11th 11th IFAC IFAC Symposium Symposium on on Robot Robot Control Control 11th Symposium on Control August 26-28, 2015. BA, Brazil 11th IFAC IFAC Symposium on Robot Robot Control August 26-28, 2015. Salvador, Salvador, BA, Brazil 11th IFAC Symposium on Robot Control August 26-28, 2015. Salvador, BA, Brazil Available online at www.sciencedirect.com August 26-28, 2015. Salvador, BA, August 26-28, 2015. Salvador, BA, Brazil Brazil
ScienceDirect IFAC-PapersOnLine 48-19 (2015) 112–117
A Polyurethane-based Compliant Element A Polyurethane-based Compliant Element A Polyurethane-based Compliant Element Afor Polyurethane-based Compliant Element for Upgrading Upgrading Conventional Conventional Servos Servos into into for Upgrading Conventional Servos into for Upgrading Conventional Servos into Series Elastic Actuators Series Elastic Actuators Series Elastic Actuators Series Elastic Actuators ∗ ∗
∗ Christopher A. Arend Tatsch ∗ Leandro Tom´ e Martins Leandro Tom´ e Martins A. Arend Tatsch ∗ ∗ ∗ Christopher ∗ ∗∗ ∗∗∗ Leandro Tom´ e Martins A. Arend Tatsch ∗ Christopher ∗ Leandro Tom´ e Martins Christopher A. Arend Tatsch ∗∗ Reinhard ∗∗∗ Eduardo Henrique Maciel Gerndt Leandro Tom´ e MartinsMaciel Christopher A. Arend Tatsch Eduardo Henrique Reinhard Gerndt ∗∗ ∗∗∗ ∗∗ Reinhard ∗∗∗ ∗ Eduardo Henrique Maciel Gerndt ∗∗ Reinhard ∗∗∗ Eduardo Henrique Henrique Maciel Gerndt ∗ Gerndt Rodrigo da Silva Guerra Eduardo Maciel Reinhard Rodrigo Rodrigo da da Silva Silva Guerra Guerra ∗∗∗ Rodrigo Rodrigo da da Silva Silva Guerra Guerra ∗ ∗ Univ. Federal de Santa Maria, RS, Brazil Univ. Federal de Santa Maria, RS, Brazil ∗ ∗ Federal de Santa Maria, RS, Brazil ∗ Univ. Univ. Federal de Santa Maria, RS, Brazil (e-mail:
[email protected]). Univ. Federal de Santa Maria, RS, Brazil (e-mail:
[email protected]). ∗∗ (e-mail:
[email protected]). ∗∗ Univ. (e-mail:
[email protected]). Federal do Rio Grande do Sul, RS, Brazil (e-mail:
[email protected]). Univ. Federal do Rio Grande do Sul, RS, ∗∗ ∗∗ Univ. Federal do Rio Grande do Sul, RS, Brazil Brazil ∗∗ Univ. Federal do Rio Grande do Sul, RS, Brazil (e-mail:
[email protected]) Univ. Federal do Rio Grande do Sul, RS, Brazil (e-mail:
[email protected]) ∗∗∗ (e-mail:
[email protected]) (e-mail:
[email protected]) ∗∗∗ Ostfalia Univ. of Applied Sciences, Wolfenbttel, Germany (e-mail:
[email protected]) Ostfalia Univ. of Applied Sciences, Wolfenbttel, ∗∗∗ ∗∗∗ Ostfalia Univ. of Applied Sciences, Wolfenbttel, Germany Germany ∗∗∗ Ostfalia Univ. of Applied Sciences, Wolfenbttel, (e-mail:
[email protected]) Ostfalia Univ. of Applied Sciences, Wolfenbttel, Germany Germany (e-mail:
[email protected]) (e-mail:
[email protected]) (e-mail:
[email protected]) (e-mail:
[email protected]) Abstract: This paper presents a compliant spring system designed to be attached to aa Abstract: This paper presents aa novel novel compliant spring system designed to be attached to Abstract: This paper presents novel compliant spring system designed to be attached to aa Abstract: This paper presents a novel compliant spring system designed to be attached to conventional robotics servo motor, turning it into a series elastic actuator (SEA). The system is Abstract: This paperservo presents a novel compliant systemactuator designed(SEA). to be The attached to is a conventional robotics motor, turning it into aa spring series elastic system conventional robotics servo motor, turning it into series elastic actuator (SEA). The system is conventional robotics servo motor, turning it into a series elastic actuator (SEA). The system is composed by only two mechanical parts: a torsional polyurethane spring and a round aluminum conventional robotics servo motor,parts: turning it into a series elastic actuator (SEA). Thealuminum system is composed by only two mechanical a torsional polyurethane spring and a round composed by only two mechanical parts: aa torsional polyurethane spring and a round composed by only two parts: polyurethane spring and aluminum support for The polyurethane spring, had its design from aaaluminum iterative composed bylink onlyattachment. two mechanical mechanical parts: a torsional torsional polyurethane springderived and aa round round aluminum support for link attachment. The polyurethane spring, had its design derived from support for link attachment. The polyurethane spring, had its design derived from aa iterative iterative support for link attachment. The polyurethane spring, had its design derived from FEM-based optimization process. A magnetometer based circuit is used to measure angular support for link attachment. The polyurethane spring, hadcircuit its design derived from a iterative iterative FEM-based optimization process. A magnetometer based is used to measure angular FEM-based optimization process. A magnetometer based circuit is used to measure angular FEM-based optimization process. A magnetometer based circuit is used to measure angular displacement and communicate it through a RS485 bus protocol. FEM-based optimization process. A magnetometer based circuit is used to measure angular displacement and communicate it through a RS485 bus protocol. displacement and and communicate communicate it it through through aa RS485 RS485 bus bus protocol. protocol. displacement displacement and communicate it through a RS485 bus protocol. © 2015, IFAC (International Federation of Automatic Control) Hosting by Elsevier Ltd. All rights reserved. Keywords: robotics, passive compliance, modular design, series elastic actuator Keywords: Keywords: robotics, robotics, passive passive compliance, compliance, modular modular design, design, series series elastic elastic actuator actuator Keywords: Keywords: robotics, robotics, passive passive compliance, compliance, modular modular design, design, series series elastic elastic actuator actuator 1. INTRODUCTION 1. INTRODUCTION 1. INTRODUCTION INTRODUCTION 1. 1. INTRODUCTION Traditional robot manipulators, such as the ones designed Traditional robot manipulators, such as the ones designed Traditional robot manipulators, manipulators, such as as typically the ones ones designed designed Traditional robot such the for use in controlled industrial settings, use very Traditional robot manipulators, such as typically the ones designed for use in controlled industrial settings, use very for use in controlled industrial settings, typically useactuvery for use in controlled industrial settings, typically use very stiff joints, heavy and andindustrial rigid structures structures and powerful for use in controlled settings,and typically useactuvery stiff joints, heavy rigid powerful stiff joints, joints, heavy andusually rigid structures structures and powerful actustiff heavy and rigid and powerful actuators. These robots operate at a low speed and stiff joints, heavy andusually rigid structures and powerful actuators. These robots operate at a low speed and ators.high These robots usually operate operate at aapower low speed speed and ators. These robots usually at low and with torque, demanding large peak output for ators.high These robots usually operate at apower low speed and with torque, demanding large peak output for with high torque, demanding large peak power output for with high torque, demanding large peak power output for short periods, accurate feedback sensing, and suitability with high torque, demanding largesensing, peak power output for short periods, accurate feedback and suitability short periods, accurate feedback2006). sensing, and suitability short periods, accurate feedback sensing, and suitability in shape, size and mass (Wyeth, With the advances Fig. 1. Series Elastic Actuator Topology (Laffranchi et al., short periods, accurate feedback2006). sensing, and suitability in shape, size and mass (Wyeth, With the advances Fig. 1. Series Elastic Actuator Topology (Laffranchi et al., in shape, shape, sizepowerful and mass mass (Wyeth, (Wyeth, 2006). 2006). With the the advances in size and With advances Fig. 1. Series Elastic Actuator Topology (Laffranchi et al., on fast and and precise sensors, the Fig. 1. Series Elastic Actuator Topology (Laffranchi et 2011) in shape, sizepowerful and masscontrollers (Wyeth, 2006). With the advances on fast and controllers and precise sensors, the Fig. 1. Series Elastic Actuator Topology (Laffranchi et al., al., 2011) on fast and powerful controllers and precise sensors, the on fast and powerful controllers and precise sensors, the 2011) demand for such decoupling between a manipulator and 2011) on fast and powerful controllers and precise sensors, and the demand for such decoupling between aa manipulator 2011) demand for such decoupling between manipulator and demand for such decoupling between aa manipulator and its load can relaxed without compromising the perfordemand for be such decoupling between manipulator and its load can be without compromising the perforits load load can can be be relaxed relaxed withoutofcompromising compromising the perforperforits without the mance. the demands the field of human-robot 1. This topology allows the load to be partially its load Moreover, can be relaxed relaxed withoutofcompromising the perfor- Figure mance. Moreover, the demands the field of human-robot Figure 1. This topology allows the load to be partially mance. Moreover, Moreover, the demands demands of the the fieldofof of human-robot human-robot Figure 1. This topology allows the load to be partially mance. the of field interaction rises concern on the safety actuation Figure 1. This topology allows the load to be partially decoupled from the motor, and the force exerted on mance. Moreover, the demands of the fieldofofthe human-robot interaction rises concern on the safety the actuation Figure 1. This topology allows the load to be partially decoupled from the motor, and the force exerted on interaction rises concern on the safety of the actuation decoupled from the motor, and the force exerted on interaction rises concern on the safety of the actuation mechanism and on its behaviour towards uncertainties in decoupled from the motor, and the force exerted on the output of the compliant element can be evaluated interaction and rises on concern on the towards safety ofuncertainties the actuation mechanism its behaviour in decoupled from the motor, and the force exerted on the output of the compliant element can be evaluated mechanism and on its behaviour towards uncertainties in the output of the compliant element can be evaluated mechanism and on its behaviour towards uncertainties in the environment. the output of the compliant element can be evaluated by simply measuring the deflection of this component. mechanism and on its behaviour towards uncertainties in the environment. the output of the compliant element can be evaluated by simply measuring the deflection of this component. the environment. environment. by simply measuring the deflection of this component. the by simply measuring the of component. Carpino et al. (2012) splits the existing SEAs design in the environment. by simply measuring the deflection deflection of this this component. Carpino et al. (2012) splits the existing SEAs design in The solutions for adding compliance into the design of The solutions for adding compliance into the design of Carpino et al. (2012) splits the existing SEAs design in Carpino et al. (2012) splits the existing SEAs design in two classes. The first class comprises compliant systems The solutions for adding compliance into the design of Carpino et al. (2012) splits the existing SEAs design in two classes. The first class comprises compliant systems The solutions for adding compliance into the design of robot joints can be divided in two groups: (1) active (or The solutions for adding compliance into the design of robot joints can be divided in two groups: (1) active (or two classes. The first class comprises compliant systems two classes. The first class comprises compliant systems adopting helicoidal compression springs arranged in such robot joints jointscompliance can be be divided divided in two two groups: (1) active (or two classes. The first class comprises compliant systems adopting helicoidal compression springs arranged in such robot can in groups: (1) active (or simulated) and (2) passive (or real) complirobot jointscompliance can be divided in two groups: (1) active (or aadopting simulated) and (2) passive (or real) complihelicoidal compression springs arranged in such helicoidal compression springs arranged in that aa centering elastic torque is produced the simulated) compliance and (2) (2) passive through (or real) real) complicompli- adopting helicoidal compression springs arrangedwhen in such such aa way way that centering elastic torque is produced when the simulated) compliance and passive (or ance. Simulated compliance is achieved simulated) compliance and (2) passive through (or real)software, compli- adopting ance. Simulated compliance is achieved software, way that a centering elastic torque is produced when the a way that a centering elastic torque is produced when the joint shaft is rotated (see Fig.2-A presented by Tsagarakis ance. Simulated compliance is achieved through software, a way that a centering elastic torque is produced when the joint shaft is rotated (see Fig.2-A presented by Tsagarakis ance. Simulated compliance is achieved through software, by continuously controlling the impedance of back-drivable ance. Simulated controlling compliancethe is achieved through software, joint by continuously impedance of back-drivable shaft is rotated (see Fig.2-A presented by Tsagarakis joint shaft is rotated (see Fig.2-A presented by Tsagarakis et al. (2009) and Fig.2-B presented by Yoon et al. (2003)). by continuously controlling the impedance of back-drivable joint shaft is rotated (see Fig.2-A presented by Tsagarakis et al. (2009) and Fig.2-B presented by Yoon et al. (2003)). by controlling the back-drivable electric motors (see (see for instance instance Jain and andof Kemp (2010)). et al. (2009) and Fig.2-B presented by Yoon et al. (2003)). by continuously continuously controlling the impedance impedance ofKemp back-drivable electric motors for Jain (2010)). et al. (2009) Fig.2-B presented by et (2003)). The class includes compliant systems employing electric motors compliance (see for for instance Jain and and Kemp (2010)). (2010)). et al. second (2009) and and Fig.2-B presented by Yoon Yoon et al. al. (2003)). The second class includes compliant systems employing electric motors (see Jain Kemp Real or passive is achieved by inserting aa elaselectric motors compliance (see for instance instance Jain and Kemp (2010)). Real or passive is achieved by inserting elasThe second class includes compliant systems employing The second class includes compliant systems employing torsional springs somehow connected to the load (see for Real or passive compliance is achieved by inserting a elasThe second class includes compliant systems employing torsional springs somehow connected to the load (see for Real or passive compliance is achieved by inserting a elastic element between the motor and load. This is typically Real or passive compliance is achieved by This inserting a elas- torsional tic element between the motor and load. is typically springs somehow connected to the load (see for torsional springs somehow connected to the load (see for instance Fig.2-C and Fig.2-D presented by Carpino et al. tic element between the motor and load. This is typically torsional springs somehow connected to the load (see for instance Fig.2-C and Fig.2-D presented by Carpino et al. tic element between the motor and load. This is typically done through the use of mechanical springs in the design of tic element between the motor and springs load. This is design typically done through the use of mechanical in the of instance Fig.2-C and Fig.2-D presented by Carpino et al. instance Fig.2-C and Fig.2-D presented by Carpino et al. (2012) and dos Santos and Siqueira (2014), respectively). done through the use of mechanical springs in the design of instance Fig.2-C and Fig.2-D presented by Carpino et al. (2012) and dos Santos and Siqueira (2014), respectively). done through the use of mechanical springs in the design of the joints (seethe for use instance Guizzo and and Ackerman (2012)). donejoints through of mechanical springs in the design of (2012) the (see for instance Guizzo Ackerman (2012)). and dos Santos and Siqueira (2014), respectively). (2012) and dos Santos and Siqueira (2014), respectively). the joints joints (see (see for for instance instance Guizzo Guizzo and and Ackerman Ackerman (2012)). (2012)). (2012) and dos Santos and Siqueira (2014), respectively). the These designs are complex and difficult to manufacture. theSeries joints Elastic (see forActuator instance Guizzo and Ackerman (2012)). These designs complex and difficult to A (Pratt and Williamson, 1995) A Series Elastic Actuator (Pratt and Williamson, 1995) Thesehelicoidal designs are are complex andusually difficult to manufacture. manufacture. These designs are complex and difficult to manufacture. The spring designs require an elevate A Series Elastic Actuator (Pratt and Williamson, 1995) These designs are complex and difficult to manufacture. The helicoidal spring designs usually require an elevate A Series Elastic Actuator (Pratt and Williamson, 1995) basically consistsActuator of traditional traditional stiff servo actuator actuator in The helicoidal spring designs usually require A Series Elastic (Pratt stiff and Williamson, 1995) basically consists of servo in an elevate The helicoidal spring designs usually require an elevate number of parts, and the torsional spring designs in the basically consists of connected traditionaltostiff stiff servo actuator in The helicoidal spring designs usually require an elevate number of parts, and the torsional spring designs in the basically consists of traditional servo actuator in series with a spring the load, as shown basically consists of connected traditionaltostiff servo actuator series with aa spring the load, as shown in number of parts, and the torsional spring designs in the number of parts, and the torsional spring designs in the literature use expensive alloys that have to be milled. series with spring connected to the load, as shown in number of parts, and the torsional spring designs in the literature use expensive alloys that have to be milled. series with a spring connected to the load, as shown in series with a spring connected to the load, as shown in literature use expensive alloys that have to be milled. This work was partially funded by Univ. Federal de Santa Maria, literature use expensive alloys that have to be milled. In both cases the resulting SEA becomes rather heavy literature use expensive alloys that have to be milled. In both cases the resulting SEA becomes rather heavy This work was partially funded by Univ. Federal de Santa Maria, This work was partially funded by Univ. Federal de Santa Maria, In both both cases the springs resultingare SEA becomes rather heavy In cases the resulting SEA rather heavy and bulky. These notbecomes suitable for the ever by Ostfalia Univ. of Sciences and the Federawork was funded by Federal de Maria, In both cases the springs resultingare SEA becomes rather heavy and These suitable the ever byThis Ostfalia of Applied Applied Sciences and by by the RoboCup RoboCup This workUniv. was partially partially funded by Univ. Univ. Federal de Santa SantaFederaMaria, and bulky. bulky. These springshumanoid are not not robots suitableor for for therobots ever by Ostfalia Univ. of Applied Sciences and by the RoboCup Federaand bulky. These springs are not suitable for the ever growing market of smaller other tion. by Ostfalia Univ. of Applied Sciences and by the RoboCup Federaand bulky. These springshumanoid are not robots suitableor for therobots ever growing market of smaller other tion. by Ostfalia Univ. of Applied Sciences and by the RoboCup Federagrowing market of smaller humanoid robots or other robots tion. growing market of smaller humanoid robots or other robots tion. growing market of smaller humanoid robots or other robots tion.
Copyright © 2015 114 2405-8963 © IFAC (International Federation of Automatic Control) Copyright © 2015, 2015 IFAC IFAC 114 Hosting by Elsevier Ltd. All rights reserved. Copyright © 2015 IFAC 114 Copyright © 2015 IFAC 114 Peer review under responsibility of International Federation of Automatic Copyright © 2015 IFAC 114Control. 10.1016/j.ifacol.2015.12.019
IFAC SYROCO 2015 August 26-28, 2015. Salvador, BA, Brazil Leandro Tomé Martins et al. / IFAC-PapersOnLine 48-19 (2015) 112–117
113
Fig. 4. Knee joint assembly with four SEA, including exploded view. The components are: (1) circuit board, (2) leg link frame, (3) attachment cover, (4) polyurethane torsional spring, (5) Dynamixel MX-106 servo actuator. Drawn by Eduardo Henrique Maciel.
Fig. 2. Examples of existing compliant elements. Laffranchi et al. (2011)
Fig. 3. Polyurethane-based spring used in our system based on traditional consumer servos such as the Robotis Dynamixel MX line of actuators. In previous work (see Martins et al. (2014)) the authors of this paper have experienced with the design of a SEA module using helicoidal springs. The observed disadvantages included insertion of extra friction and nonlinearities, backlash and assembly complexity. Thus, from this previous experience we came up the idea to design a new compliant element based on an alternative material, avoiding helicoidal springs and numerous other parts. The design consists of a two-part component, using a modular polyurethane-based spring. This is an low-cost design that can be easily manufactured using a CNC router. Our aim is toward applications on lower budget humanoid robots, 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. However the general idea could be easily adapted to fit most servo actuators of similar “RC-servostyle” design. The remainder of this work is organized as follows: Section 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. 115
Fig. 5. Finite Element Analysis showing the maximum displacement region in red. 2. METHODOLOGY 2.1 Design Requirements The elastic element presented in this paper was designed aiming the application on the knees of a humanoid robot which uses a parallel leg mechanism. This robot is being developed by the joint RoboCup team WF Wolves (Germany) & Taura Bots (Brazil) (Hannemann et al., 2014). This robot employs the Dynamixel MX-106 servo actuators manufactured by Robotis in a redundant arrangement, allowing the springs to be compressed against each other for leg rigidity modulation (see Figure 4). The SEA design was elaborated to ensure a symmetrical response in both directions, without saturation when exposed to the maximum torque supported by the motor. The spring consists on four ”s” shapes, with the width of 3mm. This dimension was decided after a CAD based Finite Element Analysis (see Figrue 5) 2.2 Manufacture 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, without the need for fixing the part in different orientations. Refrigeration fluid is not needed.
IFAC SYROCO 2015 114 Leandro Tomé Martins et al. / IFAC-PapersOnLine 48-19 (2015) 112–117 August 26-28, 2015. Salvador, BA, Brazil
2.3 System Identification and Control The open-loop SEA system shown in Figure 6 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 θm ∗ , an error signal is intrinsically compensated by a PID controller and then converted into voltage level to the motor armature generating θm . The other transfer function corresponds to the compliant element behaviour, which has, as input, an external load τL , and produces a angular deflection ∆θ. The output of the SEA system, is the final position θf , given by the sum θm + ∆θ. The external load can be seen as a disturbance to the system.
of generic model from equation (1), and its representation is in the form: y(t) + a1 y(t − 1) + ... + ana y(t − na) (1) = b1 u(t − 1) + ... + bnb u(t − nb) + e(t) where the adjustable parameters are in this case ψ = [ a1 ... ana b1 ... bnb ]T
(2)
If we introduce A(q) = 1 + a1 q −1 + ... + ana q −na
(3)
B(q) = 1 + b1 q −1 + ... + bnb q −nb
(4)
and
where the shift operator q is given by qu(t) = u(t + 1)
(5)
and the backward shift operator q −1 is given by q −1 u(t) = u(t − 1)
(6)
we see that from (1), the term e(t) corresponds to B(q) y(t) = G(q, ψ) = u(t) A(q)
(7)
Computing the one-step-ahead prediction, the predictor for (1) gives yˆ(t, ψ) = ψ T ϕ(t) = ϕT (t)ψ
Fig. 6. Typical impedance control loop.
(8)
In order to find the 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.
The predictor is a scalar product between a known data vector ϕ(t) and the parameter vector ψ. Such a model is called linear regression in statistics, and the vector is known as the regression vector, obtained through measurements and given by
2.4 Electronics
With (8), the predictor error becomes
In order to read the spring’s angular displacement a magnet/magnetometer based circuit was designed (see Figure 7). A radially polarized cylindrical 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. The firmware mimics Dynamixel’s protocol: an id is assigned to each SEA, as if these were additional torquedisabled servo-motors, answering queries about their angular positions on the same RS485 bus. 2.5 ARX model derivation and Least-squares estimator 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 (Ljung, 1987). The algorithm involved in the ARX model estimation is fast and efficient when the number of data points is very large. This model structure is a derivation 116
ϕ(t) = [ −y(t − 1) ... −y(t − na) u(t − 1) ... u(t − nb) ]T ε(t, ψ) = y(t) − ϕT (t)ψ
(9)
and the criterion function (or cost function) is given by V (ψ, Z n ) =
N 1 1 [y(t) − ϕT (t)ψ]2 N t=1 2
(10)
where Z n = [y(1), u(1), y(2), u(2), ..., y(N ), u(N )] is the collected batch of data from the system. The problem to be solved here is decide upon how to use the information contained in Z n to select a proper value ψˆN of the parameter vector. Therefore the least-squares criterion (10) for the linear regression (8) can be minimized analytically, provided the indicated inverse exists, by LS ψˆN = argminVN (ψ, Z N ) N N 1 1 =[ ϕ(t)ϕT (t)]−1 ϕ(t)y(t) N t=1 N t=1
the least-squares (LS) estimate.
(11)
IFAC SYROCO 2015 August 26-28, 2015. Salvador, BA, Brazil Leandro Tomé Martins et al. / IFAC-PapersOnLine 48-19 (2015) 112–117
115
Fig. 7. Schematic of the instrumentation electronics on the SEA. In order to assess the stiffness of the spring known mass was applied on the tip of the frame attached to the compliant element output, and measuring the resulting angle deflection ∆θ. The rotational torque derived from the known mass can be determined by τ = F l = mgl cos(∆θ)
(14)
These process was repeated for 20 different values of mass and the the results were plotted, as shown in Figure 9. 16
Fig. 8. Typical impedance control loop.
14
2.6 Controller The controller is designed in order to let the final position ∗ θf track the set-point position θm of the servo motor. The closed-loop system is shown in Figure 16. 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, and the control law is given by Ts q + 1 q−1 e(k)KD e(k) u(k) = KP e(k) + KI 2 q−1 Ts q k KI T s )e(k) + (KI Ts ) e(j) = (KP − 2 j=0 KD (12) [e(k) − e(k − 1)] + Ts k = KP (digital) e(k) + KI(digital) e(j) j=0
+KD(digital) [e(k) − e(k − 1)]
where q is the one-step advance operator, Ts is the sample time, KP , KI andKD are the gains to be determined. e(k) is the error between the output (final position) and the input (set-point position) of the system. 3. RESULTS 3.1 Obtaining the stiffness For a linear spring, the torsional stiffness k can be described by Hooke’s law, given by τ = −k.∆θ
(13) 117
Angle(deg)
12 10 8 6 4 Angle vs. torque Data fit
2 0 0
0.5
1
1.5
T orque(Nm)
Fig. 9. Linear regression of experiment data set. A line which fits the data set was estimated by a linear regression method. Thus, given that the line equation is y = p1 x + p2 , the coefficients found for this line were p1 = 10.49 and p2 = 0, as shown in Figure 9. The slope of this line represents the inverse of the stiffness, so, the value for the torsional stiffness k is 1 k= = 0.09N m/deg (15) 10.49 3.2 Obtaining the transfer function of the compliant element system In order to raise the transfer function for the compliant element behaviour, a step response experiment was performed. The step signal input was the torque applied on the compliant element output by releasing a known weight hanging on the frame and measuring the angle deflection of the compliant element. For this experiment, the motor was kept stationary, and the angle deflection was just produced by the compliant element. The step response for the real system is shown in Figure 10.
IFAC SYROCO 2015 116 Leandro Tomé Martins et al. / IFAC-PapersOnLine 48-19 (2015) 112–117 August 26-28, 2015. Salvador, BA, Brazil
function equation obtained by this identification method is 0.03044z 2 (17) G(z) = 3 z − 1.774z 2 + 0.865z − 0.06091
12.5 10
This is a discrete-time transfer function with a sample time of Ts = 24.49ms. In order to validate system transfer function, its open-loop step response was also plotted. The Figure 13 shows the step response for the transfer function of equation (17). The amplitude of the step response is 90, in order to mimic a valid angle for the motor.
7.5 5 2.5
90
Real SEA step response
0 1
1.5
2
2.5
3
3.5
time (s) Fig. 10. Step response for the real SEA system. The output behaves as a spring with a high damping constant. In order to identify the transfer function, the system identification method explained previously was used. We applied an optimization process using Matlab System Identification Toolbox to identify which ARX model better fits the data set. The transfer function that better fitted the experimental data was 8.431z G(z) = 2 (16) z − 0.743z + 0.4229 Figure 11 shows the step response for the identified transfer function.
12.5 10 7.5 5
80 70 60 50 40 30 20
Reference signal System response
10 0 0
0.5
1
1.5
2
2.5
90 80 70 60 50 40 30 20 System step response
0
0.5
1
1.5
2
2.5
time (s)
0 0.5
2
0
SEA step response
0
1.5
Fig. 12. Step response for real dynamixel motor.
10 2.5
1
time (s)
M otor angle (deg)
SEA output angle (deg)
15
M otor angle (deg)
SEA output angle (deg)
15
2.5
time (s)
Fig. 13. Step response for simulated dynamixel motor.
Fig. 11. Step response for the simulated SEA system.
3.4 Controller
3.3 Obtaining the transfer function of the servo motor
Once the transfer functions of both servo motor system and compliant element system were found, the system could be simulated. To evaluate the uncompensated system behaviour, an angle reference of 90 degrees was set and after a 3 seconds delay, an external load of 1N m was applied, resulting in a steady state error as depicted in Figure 14.
Similarly to the method described in the previous subsection, a reference signal (desired position) was applied to the servo motor, and the output signal (servo motor position) was measured in order to obtain the step response for the system, Figure 12. By the step response, an ARX identification method was performed and the transfer function for the Dynamixel servo motor was found. The transfer 118
Finally, a PID control was implemented, as seen in Figure 15, with its respective response shown in Figure 16.
SEA output angle (deg)
IFAC SYROCO 2015 August 26-28, 2015. Salvador, BA, Brazil Leandro Tomé Martins et al. / IFAC-PapersOnLine 48-19 (2015) 112–117
system identification and we have shown how robust position control can be achieved. 100
We are currently working on the final adjustments to allow experiments on real applications. 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.
75 50
ACKNOWLEDGEMENTS Acknowledgements to the RoboCup Federation, Ostfalia University of Applied Sciences and to the Centro de Tecnologia of the Universidade Federal de Santa Maria for the funding support for this project.
25 Open loop response
0 0
1
2
3
4
5
REFERENCES
time (s) Fig. 14. The uncompensated system shows an steady state error when load is applied.
Fig. 15. Compensated SEA system
SEA output angle (deg)
117
100
75
50
25 Closed loop response
0 0
1
2
3
4
5
time (s) Fig. 16. Compensated system response showing how the closed loop SEA system is now capable of rejecting the same external disturbance. 4. CONCLUSION 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 119
Carpino, G., Accoto, D., Sergi, F., Tagliamonte, N.L., and Guglielmelli, E. (2012). A novel compact torsional spring for series elastic actuators for assistive wearable robots. 134:121002, 1–10. dos Santos, W.M. and Siqueira, A.A.G. (2014). Impedance control of a rotary series elastic actuator for knee rehabilitation. In The International Federation of Automatic Control, 4801–4806. Guizzo, E. and Ackerman, E. (2012). The rise of the robot worker. IEEE Spectrum, 49(10), 34–41. Hannemann, A.K., Stiddien, F., Xia, M., Krebs, O., Gerndt, R., Krupop, S., Bolze, T., and Lorenz, T. (2014). WF Wolves – Humanoid kid size team description for RoboCup 2014. RoboCup Tournament 2014. URL http://www.wf-wolves.de. Jain, A. and Kemp, C.C. (2010). 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), 1807–1814. Laffranchi, M., Sumioka, H., Sproewitz, A., Gan, D., and Tsagarakis, N. (2011). Compliant actuators. In Adaptive Modular Architectures for Rich Motor Skills. Ljung, L. (1987). System Identification: Theory for the User. Prentice Hall, Englewood Cliffs, New Jersey. Martins, L.T., de Mendon¸ca Pretto, R., Gerndt, R., and da Silva Guerra, R. (2014). Design of a modular series elastic upgrade to a robotics actuator. In RoboCup 2014: Robot Soccer World Cup XVIII. Pratt, G. and Williamson, M. (1995). Human robot interaction and cooperative robots. In IEEE/RSJ International Conference on Intelligent Robots and Systems, volume 1, 399 – 406. Tsagarakis, N., Laffranchi, M., Vanderborght, B., and Caldwell, D. (2009). A compact soft actuator unit for small scale human friendly robots. In IEEE International Conference on Robotics and Automation, 4356– 4362. Wyeth, G. (2006). Control issues for velocity sourced series elastic actuators. In Australasian Conference on Robotics and Automation. Yoon, S., S.Kang, S.Kim, Kim, Y., M.Kim, and Lee, C. (2003). Safe arm with mr-based passive compliant joints and visco-elastic covering for service robot applications. In IEEE/RSJ International Conference on Intelligent Robots and Systems, volume 3, 2191–2196.