Polyurethane-Based Modular Series Elastic Upgrade to a Robotics Actuator

  • Leandro Tomé Martins
  • Christopher Tatsch
  • Eduardo Henrique Maciel
  • Renato Ventura Bayan Henriques
  • Reinhard Gerndt
  • Rodrigo Silva da GuerraEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9513)


This article extends previous work, presenting a novel polyurethane based compliant spring system designed to be attached to a conventional robotics servo motor, turning it into a series elastic actuator (SEA). The new system is composed by only two mechanical parts: a torsional polyurethane spring and a round aluminum support for link attachment. The polyurethane spring, had its design derived from a iterative FEM-based optimization process. We present also some system identification and practical results using a PID controller for robust position holding.


Series elastic actuator Passive compliance 

1 Introduction

Traditional robots usually operate at a low speed and with high torque, demanding large peak power output for short periods, accurate feedback sensing, and suitability in shape, size and mass [11]. With the advances on fast and powerful controllers and precise sensors, the demand for such decoupling between a manipulator and its load can be relaxed without compromising the performance. Moreover, the demands of the field of human-robot interaction rise concern on the safety of the actuation mechanism and on its behaviour towards uncertainties in the environment. A low impedance torque control scheme is usually required for stable and robust human-robot dynamic interaction [3]. Low impedance means that the actuator source force (torque) to the load, rather than commanding the load’s position.

The design of compliant robot joints can be divided in two main groups: (1) active (or simulated) compliance and (2) passive (or real) compliance. Simulated compliance is achieved through software, by continuously controlling the impedance of back-drivable electric motors (see for instance [6]). Real or passive compliance is achieved by inserting an elastic element between motor and load. This is typically done through the use of mechanical springs in the design of the joints (see for instance [4]). For a while there has been some debate on the advantages and disadvantages of choosing active versus passive compliance [10]. However, with regard to human/robot interactions, there is consensus that passive compliance ensures higher levels of safety.

A Series Elastic Actuator [8] basically consists of traditional stiff servo actuator in series with a spring connected to the load, as shown in Fig. 1. This topology allows the load to be partially decoupled from the motor, and the force exerted on the output of the compliant element can be evaluated by simply measuring the deflection of the spring.

The device that we propose in this work is an evolution on the previously design proposed by the same authors [9]. Recently, Ates et al. have also independently published a similar work [2]. The upgraded design presented here consists of a two-part component, using a modular polyurethane-based spring. More specifically, we designed this spring using a thermoplastic polyurethane (TPU) elastomer. The material is cheap, tough, easy to mill and presents rubber-like elasticity [1]. This is an extremely low-cost design since it can be easily manufactured using a 3-axis CNC router. Our aim is toward applications on lower budget humanoid robots, such as the ones seen in robot soccer competitions, specially trying to provide a better support for impact on the knees during walking and protecting shoulder joints during a fall. Our designed device consists of software, firmware, electronics and a mechanical accessory that can be easily attached to the popular Dynamixel MX series servo actuators, manufactured by Robotis, transforming it into a SEA. This servo actuator was chosen due to its wide popularity within the RoboCup community, however the general idea could be easily adapted to fit most servo actuators of similar “RC-servo-style” design (Fig. 2).
Fig. 1.

Series elastic actuator topology [8].

Fig. 2.

Polyurethane spring proposed in our system (Color figure online).

The remainder of this work is organized as follows: Sect. 2 explains the main details regarding the design as well as the modelling of the SEA. Section 3 shows some data regarding the actual construction of the device and a robot upgrade case. Section 4 presents the closing remarks and future work.

2 Methodology

This section is divided in 3 subsections: Subsection 2.1 presents the mechanical design of the SEA. Subsection 2.3 talks about the manufacturing, the electronics and the firmware. Subsection 2.2 presents the system identification and control methods.

2.1 Design Requirements

The elastic element presented in this paper was designed aiming the application on the knees of a 1.2 m tall humanoid robot which uses a parallel leg mechanism. The robot is being developed by the joint RoboCup team WF Wolves (Germany) and Taura Bots (Brazil) [5]. This robot employs the Dynamixel MX-106R servo actuators manufactured by Robotis in a redundant arrangement, allowing the springs to be compressed against each other for leg rigidity modulation. The assembly is shown in Fig. 3, and the components are: (1) circuit board, (2) leg link frame, (3) attachment cover, (4) polyurethane torsional spring, (5) Dynamixel MX-106R servo actuator.

With the humanoid robot knee application in mind and based on the choice of the servo-motor, the SEA design was elaborated so as to ensure a symmetrical response, without saturation when exposed to the maximum torque supported by the motor. The spring consists on four “s” shapes, with the width of 3 mm. This dimension was decided after a Finite Element Analysis study (see Fig. 4).
Fig. 3.

Knee joint assembly with four SEA. Rendered by Eduardo Henrique Maciel.

Fig. 4.

Finite Element Analysis showing the von Mises stress well below the maximum yield of the material (Color figure online).

2.2 System Identification and Control

The open-loop SEA system shown in Fig. 5 is composed by an input signal, an output signal, a disturbance signal and two transfer functions. One transfer function corresponds to the dynamics of the servo motor, which combines the behaviors of its internal PID controller, its DC motor driver and the DC motor inside its case. From the command of a desired position \({\theta _m}^*\), an error signal is intrinsically compensated by a PID controller and then converted into voltage level to the motor armature generating \(\theta _m\). The other transfer function corresponds to the compliant element behaviour, which has, as input, an external load \(\tau _L\), and produces a angular deflection \(\varDelta \theta \). The output of the SEA system, is the final position \(\theta _f\), given by the sum \(\theta _m+\varDelta \theta \). The external load can be seen as a disturbance to the system.

The problem we are faced with is to identify these two transfer functions. In order to find a theoretical SEA model, we present a system identification method based on Matlab System Identification Toolbox, and then a control law is presented. The controller has the goal of providing the final position to track the desired position, even under the effect of an external load.

Here we assume the system can be reasonably approximated by a general linear polynomial model. In this paper, an Auto-Regressive with External Input (ARX) model structure is chosen to represent the SEA system. The algorithm involved in the ARX model estimation is fast and efficient when the number of data points is very large.

The controller is designed in order to let the final position \(\theta _f\) track the set-point position \(\theta _m^*\) of the servo motor. The closed-loop system is shown in Fig. 6.
Fig. 5.

Opened-loop system.

Fig. 6.

Closed-loop system.

Another goal of the compensated system is to reject disturbances. A discrete PID controller was used, since this is a simple method to match the specifications of project.

2.3 Manufacture and Electronics

The manufacturing of the two mechanical parts was all done on an ordinary 3-axis CNC router, using a 2mm cutter. Both the polyurethane and the aluminum parts can be milled in a single operation each, without the need for fixing the parts in different orientations. Refrigeration fluid was not needed.

In order to read the spring’s angular displacement a magnet/magnetometer based circuit was designed (see Fig. 7). A radially polarized cilindrical rare earth magnet is placed on the center of the polyurethane part, and the circuit board is placed on top of the assembly so that the magnetometer chip is aligned with it. For educational purposes the electronics was designed to be Arduino compatible [7]. The firmware mimics Dynamixel’s protocol: an id is assigned to each SEA, as if these were additional torque-disabled servo-motors, answering queries about their angular positions on the same RS485 bus.
Fig. 7.

Schematic of the instrumentation electronics on the SEA.

The interface’s firmware was programmed to communicate using Dynamixel’s RS485 protocol. Each device can be programmed to receive a distinct id thus allowing them to communicate through the same bus as the original servo actuators, using the same protocol.

3 Results

3.1 Obtaining the Stiffness

For a linear spring, the stiffness can be described by Hook’s law, given by \(\tau =-k.\varDelta \theta \). In order to assess the stiffness of the spring an experiment was performed, applying a known mass on the tip of the frame attached to the compliant element output, and measuring the resulting angle deflection \(\varDelta \theta \). The rotational torque derived from the known mass can be determined by \(\tau =Fl=mgl\cos (\varDelta \theta )\).

The experiment was repeated for 20 different values of mass and the results were plotted, as shown in Fig. 8. The line which fits the data was found by linear regression, where its slope represents the inverse of the stiffness. The estimated stiffness was \(k=\frac{1}{11.33}=0.088\,Nm/deg\).
Fig. 8.

Linear regression of data set plot

3.2 Obtaining the Transfer Functions

In order to find the transfer function of the compliant element system, the step response to an input torque applied to the system was measured, as shown in Fig. 9. We can realize the output behaves as a spring-damper combination. In order to identify the transfer function, we applied an optimization process to identify which ARX model better fits the data set, and the transfer function found, for a sample time of \(T_s = 0.02449\) was
$$\begin{aligned} G(z)=\frac{8.431z}{z^2-0.743z+0.4229} \end{aligned}$$
Comparing the identified model with the experimental data response, we can see that the identified model fits very well, with a confidence of 88.97 %.
Similarly to the method previously described, to obtain the transfer function of the servo motor, an input signal (desired position) was applied, and the output signal (servo motor position) was measured, performing a step response. The ARX model transfer function found for the servo motor and the same sample time used before was
$$\begin{aligned} G(z)=\frac{0.03044z^2}{z^3-1.774z^2+0.865z-0.06091} \end{aligned}$$
When compared, the step responses for the identified and experimental systems, we found a confidence of 81.87 %.

3.3 Controller

A PID controller was implemented in a ROS package for real-world validation in a single joint experiment setup, the PID gains used were: \(k_p=0.8\), \(k_i=3\) and \(k_d=0.025\) and the sample time was \(T_s = 0.02449\). A MX-28R motor was fixed on a wrench and a lever arm of 88 mm was attached to the SEA module. We tested the closed loop response when a disturbance is applied to the system at a specific time and a step reference input response of the system holding a 633.58 g mass.
Fig. 9.

Open loop response releasing weight at specific time.

Fig. 10.

Closed loop response releasing weight at specific time.

Figure 10 shows the simulated and experimental results for the first case, where an external disturbance is applied at 1 s to the system. In comparison to the open loop response we can see now the external disturbance being rejected by the closed loop system, with setpoint angle of 180 deg. As we can see, it takes about 1.5 s to the system stabilize after disturbance.

In the second case The setpoint was initialized with 0 deg, and after 0.25 s the setpoint was switched to 70 deg, while the system was holding a mass. The results are shown in Fig. 11, and the curves represent the output and the PID error of the simulated and experimental results.
Fig. 11.

Step closed loop response.

4 Discussion

This work presented a SEA upgrade solution based on an affordable module to be mounted to the output of an existing servo-motor. The two-part mechanical design was shown to be simple to manufacture, and the electronics circuit was designed around the popular Arduino platform, communicating angular displacements through the bus using the same infrastructure. We have also performed system identification and we have shown how robust position control can be achieved.

For future work the authors also want to explore the use of torque mode control, available in the Dynamixel models MX-64 and MX-106.


  1. 1.
    Ashby, M., Johnson, K.: Materials and Desing: The Art and Science of Material Selection in Product Design. Elsevier Editora Ltda, Rio de Janeiro (2011)Google Scholar
  2. 2.
    Ates, S., Sluiter, V.I., Lammertse, P., Stienen, A.H.A.: Servosea concept: cheap, miniature series-elastic actuators for orthotic, prosthetic and robotic hands. In: Proceedings of 5th IEEE RAS & EMBS International Conference on Biomedical Robotics and Biomechatronics (BioRob) (2014)Google Scholar
  3. 3.
    Carpino, G., Accoto, D., Sergi, F., Tagliamonte, N.L., Guglielmelli, E.: A novel compact torsional spring for series elastic actuators for assistive wearable robots. J. Mech. Des. 134(121002), 1–10 (2012)Google Scholar
  4. 4.
    Guizzo, E., Ackerman, E.: The rise of the robot worker. IEEE Spectr. 49(10), 34–41 (2012)CrossRefGoogle Scholar
  5. 5.
    Hannemann, A.K., Stiddien, F., Xia, M., Krebs, O., Gerndt, R., Krupop, S., Bolze, T., Lorenz, T.: WF Wolves - Humanoid kid size team description for RoboCup 2014. RoboCup Tournament 2014 (2014).
  6. 6.
    Jain, A., Kemp, C.C.: Pulling open doors and drawers: coordinating an omni-directional base and a compliant arm with equilibrium point control. In: IEEE International Conference on Robotics and Automation (ICRA), pp. 1807–1814 (2010)Google Scholar
  7. 7.
    Kushner, D.: The making of arduino. IEEE Spectrum 26 (2011)Google Scholar
  8. 8.
    Laffranchi, M., Sumioka, H., Sproewitz, A., Gan, D., Tsagarakis, N.: Compliant actuators. In: Adaptive Modular Architectures for Rich Motor Skills (2011)Google Scholar
  9. 9.
    Gerndt, R., de Mendonça Pretto, R., da Silva Guerra, R., Martins, L.T.: Design of a modular series elastic upgrade to a robotics actuator. In: Bianchi, R.A.C., Akin, H.L., Ramamoorthy, S., Sugiura, K. (eds.) RoboCup 2014. LNCS, vol. 8992, pp. 701–708. Springer, Heidelberg (2015)Google Scholar
  10. 10.
    Wang, W., Loh, R.N.K., Gu, E.Y.: Passive compliance versus active compliance in robot-based automated assembly systems. Industr. Rob. 25(1), 48–57 (1998)CrossRefGoogle Scholar
  11. 11.
    Wyeth, G.: Control issues for velocity sourced series elastic actuators. In: Australasian Conference on Robotics and Automation (2006)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Open Access This chapter is licensed under the terms of the Creative Commons Attribution-NonCommercial 2.5 International License (, which permits any noncommercial use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made.

The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.

Authors and Affiliations

  • Leandro Tomé Martins
    • 1
  • Christopher Tatsch
    • 1
  • Eduardo Henrique Maciel
    • 2
  • Renato Ventura Bayan Henriques
    • 2
  • Reinhard Gerndt
    • 3
  • Rodrigo Silva da Guerra
    • 1
    Email author
  1. 1.Centro de TecnologiaUniversidade Federal de Santa MariaSanta MariaBrazil
  2. 2.Programa de Pós-Graduação em Engenharia ElétricaUniversidade Federal do Rio Grande do SulPorto AlegreBrazil
  3. 3.Department of Computer SciencesOstfalia University of Applied SciencesWolfenbüttelGermany

Personalised recommendations