14
FULL PAPER Optimal design of nonlinear springs in robot mechanism: simultaneous design of trajectory and spring force proles Nicolas Schmit* and Masafumi Okada Department of Mechanical Sciences and Engineering, Tokyo Institute of Technology, 2-12-1 Ookayama, Meguro-ku, Tokyo 152-8550, Japan (Received 3 April 2012; accepted 8 May 2012) In this paper, we aim at minimizing the actuator torques of robots working on production lines by adding to the mecha- nism dynamic equilibrators based on nonlinear springs, that work in parallel with the joints. We propose a method to simultaneously optimize the trajectory of the robot and the force proles of the nonlinear springs to minimize the actua- tor torques. First, we express the trajectory and force proles of the springs as a Hermite interpolation of a nite number of nodes, and then we show that the cost function of the optimization problem is a quadratic function of the springs design parameters. We derive a closed-form solution of the optimal spring parameters as a function of the trajectory parameters. As a consequence, the initial optimization problem is reduced to a trajectory optimization problem, solved with a sequential quadratic programming algorithm. We explain how the cost function can be modied to tune the non- linearity of the springs and impose constraints on the stiffness. We show an example of optimal design of a three- degrees-of-freedom serial manipulator. Finally, we show that the nonlinear springs calculated for this manipulator can be technically realized by a noncircular cable spool mechanism. Keywords: nonlinear spring; nonlinear stiffness; optimal design; robot; manipulator 1. Introduction Robotic devices used for industrial processes are gener- ally designed with stiff links and joints to ensure an accurate positioning of the end-effector. In such robots, the actuators have to counteract not only the gravity forces but also the inertial forces of the links which mag- nitudes increase when the operating speed increases. The actuators are used to change the mechanical energy of the system by providing positive or negative work. How- ever, if the actuators are not back-drivable (like when used with gears with high reduction ratios), negative work is achieved by dissipating the mechanical energy, and the amount of energy to dissipate increases with the operating speed. This results in a poor energy efciency, especially in high-speed motions. In a robot undergoing a periodic motion, the intro- duction of springs in the mechanism can lead to a signif- icant reduction of the energy consumption [13]. The elastic elements act as storage for energy which can be fed by the kinetic energy or the gravitational potential energy of the system. This energy then can be returned back to the system, the springs behaving as passive actu- ators. A common application of springs in machines or robots is the static compensation of gravity forces (spring equilibrators) [48]. Springs can also be designed to compensate for dynamic loads in periodic motions such as legged locomotion [2,911]. Compensation of dynamic loads using springs, though, work efciently only if the frequency of the motion is close to the resonance frequency of the system [12]. Therefore, it is necessary to adapt the stiffness of the springs depending on the frequency of the motion. A simple solution is to use programmable springs [13]. A programmable spring consists in a series elastic actuator (SEA) [14] and a con- trol loop programmed to make the actuator behave like a spring with the desired stiffness. The drawback of pro- grammable springs is that the actuator of the SEA con- tinuously consumes energy except in the case of a harmonic motion in which frequency matches the reso- nance frequency of the SEA s spring. Another solution is to use variable stiffness actuators (VSAs). VSAs are compliant actuators using two motors to control indepen- dently the force and the stiffness. A VSA can be realized by the antagonistic action of two SEAs [1523] or use an actuator to provide the force and the other one to change the stiffness [1,2430]. Similar to the case of constant springs, the stiffness of the VSA must be tuned so that the resonance frequency of the mechanism matches the frequency of the motion. This means that if the motion does not have a constant frequency, the *Corresponding author. Email: [email protected] Advanced Robotics, 2013 Vol. 27, No. 1, 3346, http://dx.doi.org/10.1080/01691864.2013.751162 Ó 2012 Taylor & Francis and The Robotics Society of Japan Downloaded by [Tokyo Institute of Technology] at 19:57 25 April 2013

Optimal design of nonlinear springs in robot mechanism ... · simultaneously optimize the trajectory of the robot and the force profiles of the nonlinear springs to minimize the

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

  • FULL PAPER

    Optimal design of nonlinear springs in robot mechanism: simultaneous design of trajectoryand spring force profiles

    Nicolas Schmit* and Masafumi Okada

    Department of Mechanical Sciences and Engineering, Tokyo Institute of Technology, 2-12-1 Ookayama, Meguro-ku, Tokyo 152-8550,Japan

    (Received 3 April 2012; accepted 8 May 2012)

    In this paper, we aim at minimizing the actuator torques of robots working on production lines by adding to the mecha-nism dynamic equilibrators based on nonlinear springs, that work in parallel with the joints. We propose a method tosimultaneously optimize the trajectory of the robot and the force profiles of the nonlinear springs to minimize the actua-tor torques. First, we express the trajectory and force profiles of the springs as a Hermite interpolation of a finite numberof nodes, and then we show that the cost function of the optimization problem is a quadratic function of the springsdesign parameters. We derive a closed-form solution of the optimal spring parameters as a function of the trajectoryparameters. As a consequence, the initial optimization problem is reduced to a trajectory optimization problem, solvedwith a sequential quadratic programming algorithm. We explain how the cost function can be modified to tune the non-linearity of the springs and impose constraints on the stiffness. We show an example of optimal design of a three-degrees-of-freedom serial manipulator. Finally, we show that the nonlinear springs calculated for this manipulator can betechnically realized by a noncircular cable spool mechanism.

    Keywords: nonlinear spring; nonlinear stiffness; optimal design; robot; manipulator

    1. Introduction

    Robotic devices used for industrial processes are gener-ally designed with stiff links and joints to ensure anaccurate positioning of the end-effector. In such robots,the actuators have to counteract not only the gravityforces but also the inertial forces of the links which mag-nitudes increase when the operating speed increases. Theactuators are used to change the mechanical energy ofthe system by providing positive or negative work. How-ever, if the actuators are not back-drivable (like whenused with gears with high reduction ratios), negativework is achieved by dissipating the mechanical energy,and the amount of energy to dissipate increases with theoperating speed. This results in a poor energy efficiency,especially in high-speed motions.

    In a robot undergoing a periodic motion, the intro-duction of springs in the mechanism can lead to a signif-icant reduction of the energy consumption [1–3]. Theelastic elements act as storage for energy which can befed by the kinetic energy or the gravitational potentialenergy of the system. This energy then can be returnedback to the system, the springs behaving as passive actu-ators. A common application of springs in machines orrobots is the static compensation of gravity forces (springequilibrators) [4–8]. Springs can also be designed to

    compensate for dynamic loads in periodic motions suchas legged locomotion [2,9–11]. Compensation ofdynamic loads using springs, though, work efficientlyonly if the frequency of the motion is close to theresonance frequency of the system [12]. Therefore, it isnecessary to adapt the stiffness of the springs dependingon the frequency of the motion. A simple solution is touse programmable springs [13]. A programmable springconsists in a series elastic actuator (SEA) [14] and a con-trol loop programmed to make the actuator behave like aspring with the desired stiffness. The drawback of pro-grammable springs is that the actuator of the SEA con-tinuously consumes energy except in the case of aharmonic motion in which frequency matches the reso-nance frequency of the SEA’s spring. Another solution isto use variable stiffness actuators (VSAs). VSAs arecompliant actuators using two motors to control indepen-dently the force and the stiffness. A VSA can be realizedby the antagonistic action of two SEAs [15–23] or usean actuator to provide the force and the other one tochange the stiffness [1,24–30]. Similar to the case ofconstant springs, the stiffness of the VSA must be tunedso that the resonance frequency of the mechanismmatches the frequency of the motion. This means that ifthe motion does not have a constant frequency, the

    *Corresponding author. Email: [email protected]

    Advanced Robotics, 2013Vol. 27, No. 1, 33–46, http://dx.doi.org/10.1080/01691864.2013.751162

    � 2012 Taylor & Francis and The Robotics Society of Japan

    Dow

    nloa

    ded

    by [

    Tok

    yo I

    nstit

    ute

    of T

    echn

    olog

    y] a

    t 19:

    57 2

    5 A

    pril

    2013

  • stiffness must be tuned during the motion. However, inthis case, most VSAs will become inefficient from anenergetic point of view. This is due to the mechanismused to regulate the stiffness. In most of these actuators,compliance is controlled through adjusting the pretensionof elastic elements. In other words, the stiffness is chan-ged by adding or subtracting potential energy to springs.Since the motors are working against the restoring forcesof the springs, changing the stiffness of the mechanismdemands considerably high energy [30], except if theVSA is designed with the motors working perpendicu-larly to the force of the springs [1].

    In this paper, we propose a different design strategybased on nonlinear springs placed in parallel with theactuators. Since the springs are nonlinear, the stiffness isa function of the displacement of the spring, thus afunction of the joint coordinates. Since the joint coordi-nates change when the robot moves, the stiffnessbecomes a time-varying function. Consequently, thenonlinear springs behave like VSAs but do not consumeenergy to change the stiffness. In order to minimize theenergy consumption, we want to determine the optimalspring force profiles and the optimal trajectory. On theone hand, if we know the spring force profiles, we candetermine the optimal trajectory using the theory ofoptimal control. One the other hand, if we know thetrajectory, we can determine the optimal spring forceprofiles using inverse dynamics. Optimizing both thespring force profiles and the trajectory is a trickyproblem because the optimal spring force profiles dependon the trajectory and vice versa. In [2,10,12,31–34],several methods were proposed to simultaneouslyoptimize the trajectory and the stiffness of the springs,but they are limited to linear springs. In [35], a methodwas developed to simultaneously optimize the trajectoryand the time-varying stiffness of VSAs. However, thismethod is not suitable to solve our problem since in[35], the stiffness is an arbitrary function of timewhereas in the case of nonlinear springs, the stiffness isa function of the joint coordinates.

    We propose an optimal design method to simulta-neously design the trajectory of a robot and the torqueprofiles of nonlinear springs located at each joint andacting in parallel with the actuators. The optimizationprocess aims at minimizing the actuator torque1. First,we discretize the trajectory and the nonlinear torqueprofiles of the springs with a finite number of parameters(thereafter referred as ‘trajectory parameters’ and ‘springparameters,’ respectively). Then, we show that the costfunction of the optimization problem, defined as theintegral of the actuator torques, is a quadratic function ofthe spring parameters. We express the optimal springparameters as a function of the trajectory parameters,and rewrite the optimization problem so that it dependsonly on the trajectory parameters. We explain how the

    cost function can be modified to tune the nonlinearity ofthe springs and impose local conditions on the stiffness.We use an sequential quadratic programming (SQP)algorithm to optimize the trajectory. We show an exam-ple of optimal design of a three-DOF serial manipulator.Finally, we show that the optimal nonlinear springscalculated for this manipulator can be realized by anoncircular cable spool mechanism [36].

    Since the nonlinear spring equilibrators are optimizedfor a given trajectory, this method is suitable for robotsworking on production lines and achieving repetitivetasks such as picking or assembling.

    2. Problem statement

    2.1. Equations of motion and design constraints

    We consider a robot with n degrees of freedom (DOFs).Each joint is driven by an actuator and a nonlinearspring which act in parallel (the joint torque is the sumof the actuator torque and spring torque). Assuming thatthe mass–inertia parameters of the nonlinear springs arenegligible compared with those of the system elements,the equations of motion of the robot can be written as:

    A(q)€qþ B(q; _q) ¼ u(t)þ w(q) (1)

    where, t is the time, q ¼ (q1(t); q2(t); . . . ; qn(t))T is the col-umn vector of joint variables, u ¼ (u1(t); u2(t); . . . ; un(t))Tis the column vector of actuator torques,w ¼ (w1(q1);w2(q2); . . . ;wn(qn))T is the column vector ofnonlinear spring torques, A(q) is the mass matrix, andB(q; _q) is a matrix which contains the Coriolis, centrifuge,and gravity terms. Note that the torque of each nonlinearspring wi depends only on the joint variable qi of the jointwhere the spring is located. All wi are continuously differ-entiable functions.

    Different constraints are imposed on the trajectory,actuator torques, and spring torques. These constraintshave the form:

    G(q(0); _q(0); q(T ); _q(T )) ¼ 0 (2)

    fq(t); _q(t)g 2 Q; t 2 ½0; T � (3)

    w(q) 2 W ; q 2 ½qmin; qmax� (4)

    u(t) 2 U ; t 2 ½0; T � (5)

    F i(q(t); _q(t); t) � 0 (6)

    where, G are the boundary conditions, Q is a givendomain of the phase space of the system under consider-ation (joint angular range and maximum velocity) and W

    34 N. Schmit and M. Okada

    Dow

    nloa

    ded

    by [

    Tok

    yo I

    nstit

    ute

    of T

    echn

    olog

    y] a

    t 19:

    57 2

    5 A

    pril

    2013

  • and U are the set of permissible nonlinear spring torquesand actuator torques, respectively. F i are constraintsimposed to the trajectory depending on the robot task.For example, if the robot has to stop to the coordinates �qfrom t1 to t2, we use the constraints:

    F 1 ¼ (q1(t)� �q1)2 (H(t � t1)� H(t � t2)) (7)

    � � � ¼ � � �

    F n ¼ (qn(t)� �qn)2 (H(t � t1)� H(t � t2)) (8)

    F nþ1 ¼ ( _q1(t))2 (H(t � t1)� H(t � t2)) (9)

    � � � ¼ � � �

    F 2n ¼ ( _qn(t))2 (H(t � t1)� H(t � t2)) (10)

    where, H is the Heaviside step function.

    2.2. Cost function

    We define the cost function of the optimization problemas the time integral of the actuator torques:

    C ¼ 12

    Z T0

    jju(t)jj2dt (11)

    where, t= 0 and t= T are the start and finish time of themotion. We define u0(t) as the required actuator torquevector to achieve a given trajectory q(t) when the jointsare driven only by the actuators (no springs). u0(t) is cal-culated by inverse dynamics as:

    u0(t) ¼ A(q(t))€q(t)þ B(q(t); _q(t)) (12)

    When the joints are driven by both the actuators andnonlinear springs, the required actuator torque vector u(t)to achieve a trajectory q(t) is calculated as:

    u(t) ¼ u0(t)� w(q(t)) (13)

    Substituting (13) in (11), we rewrite the cost function as:

    C ¼ 12

    Z T0

    jju0(t)jj2dt �Z T0

    wT (q(t))u0(t) dt

    þ 12

    Z T0

    jjw(q(t))jj2dt (14)

    The optimization problem consists in finding the tra-jectory q(t) and torque profiles of the nonlinear springsw(q) which minimize C while satisfying the boundaryconditions (2) and constraints (3,4,5,6).

    3. Parameterization of the trajectory and springtorque profiles

    For each joint i, the range of the joint variable½qi;min; qi;max� is divided into N equal subintervals oflength Dqi. These intervals define N + 1 nodes:

    qi j ¼ (j� 1)Dqi þ qi;min; j 2 f1::N þ 1g;with qi;Nþ1 ¼ qi;max ð15Þ

    A third-order polynomial is used to represent the tor-que wi of the ith nonlinear spring on each subinterval. Thevalue of wi and its derivative at the nodes qi;j are used asdesign parameters. For each subinterval, the unique third-order polynomial is defined that has values ( fi; j; fi; jþ1) andderivatives (si; j; si; jþ1) at the end points of ½qi; j; qi; jþ1).This definition allows the spring torque at any pointqi ¼ qi; j þ qiDqi in ½qi; j; qi; jþ1) to be written as:

    wi(qi 2 ½qi;j; qi;jþ1))¼ ai fi;jþ1 þ bi fi;j þ (ci si;jþ1 þ di si;j)Dqi (16)

    where, ai, bi, ci, di are calculated as:

    ai ¼ q2i (3� 2qi) (17)

    bi ¼ 2q3i � 3q2i þ 1 (18)

    ci ¼ q2i (qi � 1) (19)

    di ¼ qi(qi � 1)2 (20)

    qi(qi 2 ½qi;min; qi;max)) ¼qi � qi;min

    Dqimod 1;

    qi(qi;max) ¼ 1(21)

    This scheme, called Hermite interpolation, automati-cally gives continuity of the torque and its derivative at thenodes. An example of torque profile is shown in Figure 1.

    From (16), the spring torque wi at any point of½qi;min; qi;max� is calculated as:

    wi(qi) ¼XNj¼1

    (ai fi jþ1 þ bi fi j þ (ci si jþ1 þ di si j)Dqi) vi j(qi)� �

    (22)

    Advanced Robotics 35

    Dow

    nloa

    ded

    by [

    Tok

    yo I

    nstit

    ute

    of T

    echn

    olog

    y] a

    t 19:

    57 2

    5 A

    pril

    2013

  • vi j (qi) ¼ 1 if qi 2 ½qi j; qi jþ1�); 0 if qi R ½qi j; qi;jþ1�)(23)

    vi; N (qi;max) ¼ 1

    where, the functions vi; j are the indicator functions of thesubintervals ½qi; j; qi; jþ1). We gather all the design parame-ters (fi; j; si; jDqi) in a vector yi, and rewrite (22) as

    2:

    wi(qi) ¼ wTi (qi)yi (24)

    yi ¼ ½fi;1; (si;1Dqi); . . . ; fi; j; (si; jDqi); . . . ;fi;Nþ1; (si;Nþ1Dqi)�T ð25Þ

    wi(qi) ¼ ½bivi;1; divi;1; . . . ; (aivi; j�1 þ bivi;j);(civi; j�1 þ divi; j); . . . ; aivi;N ; civi;N �T ð26Þ

    Finally, the vector of all spring torques is expressed as:

    w(q) ¼ WT (q)Y (27)

    Y ¼ ½ yT1 ; . . . ; yTn �T (28)

    W(q) ¼ blockdiag(w1(q1); . . . ;wn(qn)) (29)

    where the operator blockdiag stands for ‘block diagonalmatrix’,W(q) is a matrix function of the joint variables,and Y is a vector which contains the interpolation datapoints of all torque profiles of the nonlinear springs.

    The elements of Y are thereafter referred as ‘springparameters’.

    The trajectory is parameterized in a similar way, theonly difference being that the interpolation nodes are thesame for all DOFs (because the time variable is the samefor all DOFs). The total time interval ½0; T � is dividedinto Nt equal subintervals of length Dt. These intervalsdefine Nt þ 1 nodes:

    tk ¼ (k � 1)Dt; k 2 f1 . . .Nt þ 1g; with tNtþ1 ¼ T (30)

    A third-order polynomial is used to represent thejoint variable qi on each subinterval. The value of theposition xi;k and velocity vi;k at the nodes tk are used asdesign parameters. Using a similar methodology as forthe parameterization of the torque profiles of the nonlin-ear springs, we express the ith joint variable as:

    qi(t) ¼ uTi (t) xi (31)

    xi ¼ ½xi;1; (vi;1Dt); . . . ; xi; k; (vi; kDt); . . . ;xi;Ntþ1; (vi;Ntþ1Dt)�T ð32Þ

    ui(t) ¼ ½bs1; ds1; . . . ; (ask�1 þ bsk); (csk�1 þ dsk);. . . ; asNt ; csNt �T ð33Þ

    where the functions sk are the indicator functions of thesubintervals ½tk ; tkþ1). Finally, the vector of all joint vari-ables is expressed as:

    q(t) ¼ UT (t)X (34)

    X ¼ ½xT1 ; . . . ; xTn �T

    (35)

    U(t) ¼ blockdiag (u1(t); . . . ; un(t)) (36)

    where U(t) is a time dependent matrix. X contains theinterpolation data points of all DOFs of the trajectory.The elements of X are thereafter referred as ‘trajectoryparameters.’

    Thereafter, the optimization problem consists in find-ing the trajectory parameters X and spring parameters Ywhich minimize C while satisfying (2)–(6).

    4. Optimization of spring and trajectory parameters

    4.1. Cost function at optimal spring design

    Substituting (27) and (34) in (14), we rewrite the costfunction as:

    Figure 1. Interpolation of a spring torque profile. The valuesof the torque fi,j and its derivative si,uj at each node are used asdesign parameters. On each subinterval, the torque is expressedby a third-order polynomial uniquely defined by its values andderivatives at the endpoints of the subinterval.

    36 N. Schmit and M. Okada

    Dow

    nloa

    ded

    by [

    Tok

    yo I

    nstit

    ute

    of T

    echn

    olog

    y] a

    t 19:

    57 2

    5 A

    pril

    2013

  • C(X ; Y ) ¼ 12

    Z T0

    jju0(t)jj2dt

    �Z T0

    YTW(UT (t)X )u0(t)dt

    þ 12

    Z T0

    YTW(UT (t)X )WT (UT (t)X )Ydt (37)

    Since Y is not time-dependent, we can rewrite C as:

    C(X ; Y ) ¼ C0(X )� ZT (X )Y þ 12YTK(X )Y (38)

    C0(X ) ¼ 12Z T0

    jju0(t)jj2dt (39)

    Z(X ) ¼Z T0

    W(UT (t)X )u0(t)dt (40)

    K(X ) ¼Z T0

    W(UT (t)X )WT (UT (t)X )dt (41)

    where K is a symmetric matrix. K, Z and C0 are func-tions of the trajectory parameters X but independentfrom the spring parameters Y .

    Formally, the optimal parameters (X⁄,Y⁄) are obtainedby minimizing C with respect to X and Y simultaneously:

    @C(X ; Y )

    @X

    ����X¼X �

    ¼ 0 (42)

    @C(X ; Y )

    @Y

    ����Y¼Y �

    ¼ 0 (43)

    However, since (38) is a quadratic function of Y , wecan solve (43) and express the optimal spring parametersas a function of the trajectory parameters3.

    Y �(X ) ¼ K�1(X ) Z(X ) (44)

    Substituting (44) in (38), we obtain the cost functionat optimal spring design C� as:

    C�(X ) ¼ C(X ; Y �(X ))

    ¼ C0(X )� 12ZT (X )K�1(X )Z(X ) (45)

    Since the optimization of the nonlinear springs is‘embedded’ in C�, this function depends only on the tra-jectory parameters X . The first term of C� evaluates thetrajectory when the robot is driven only by the actuators,and the second term evaluates the improvement due tothe contribution of the nonlinear springs.

    4.2. Adjusting the nonlinearity of the springs

    Depending on the trajectory parameters, the optimalspring parameters may result in highly nonlinear torqueprofiles which would not be realizable technically. Thus,in order to control the nonlinearity of the springs, weadd to (38) a term which weights the nonlinearity of theprofiles. A geometrical way to measure the nonlinearityis to use the mean value of the square of the curvature jof the torque profile:

    1

    NDqi

    Z qi;maxqi;min

    j2 dqi with j ¼d2wdq2

    1þ dwdq� �2� �32 (46)

    Since j � jd2wdq2 j, we can simplify (46) by dropping theterm dwdq. This provides a more tractable expression to

    weight the curvature.

    1

    NDqi

    Z qi;maxqi;min

    d2w

    dq2

    � �2dqi (47)

    Using (47) to weight the nonlinearity of the torqueprofiles, the cost function (38) becomes:

    C(X ; Y ) ¼ C0(X )� ZT (X )Y þ 12YTK(X )Y

    þ 12

    Xni¼1

    kiNDqi

    Z qi;maxqi;min

    d2wi(qi)

    dq2i

    � �2dqi

    " #(48)

    ki are weighting coefficients that the designer can mod-ify to adjust the nonlinearity of each torque profile. Thehigher the values of ki, the more linear the springs. If allki are set to zero, (48) is equivalent to (38).

    Substituting, (24) in (48), we rewrite the new term as:

    1

    2

    Xni¼1

    kiNDqi

    Z qi;maxqi;min

    d2wi(qi)

    dq2i

    � �2dqi

    " #

    ¼ 12

    Xni¼1

    kiNDqi

    yTi

    Z qi;maxqi;min

    d2widq2i

    d2wTidq2i

    dqi yi

    " #(49)

    We decompose wi as follows:

    Advanced Robotics 37

    Dow

    nloa

    ded

    by [

    Tok

    yo I

    nstit

    ute

    of T

    echn

    olog

    y] a

    t 19:

    57 2

    5 A

    pril

    2013

  • wi ¼XNj¼1ew i;j vi;j (50)

    ewi;j ¼ ½ 0::0|{z}2(j�1) zeros

    ; bi; di; ai; ci; 0::0|{z}2(N�j) zeros

    �T (51)

    where ai, bi, ci, di, and vi;j, were defined in (17)–(20),(23), respectively. Substituting (50) in (49), we obtain:

    1

    2

    Xni¼1

    kiNDqi

    yTi

    Z qi;maxqi;min

    d2widq2i

    d2wTidq2i

    dqi yi

    " #

    ¼ 12

    Xni¼1

    kiN (Dqi)

    4 yTi

    XNj¼1

    Z 10

    d2ewi;jdq2i

    d2ewTi;jdq2i

    dqi

    !yi

    " #(52)

    where qi was defined in (21). Since ai, bi, ci, and di arethird-order polynomials of qi, the integral term in (52)can be calculated by integration by parts as:

    Z 10

    d2ewi; jdq2i

    d2ewTi; jdq2i

    dqi ¼dewi; jdqi

    d2ewTi; jdq2i

    " #qi¼1qi¼0

    � ewi;jd3ewTi; jdq3i" #qi¼1

    qi¼0(53)

    Calculating (53) from the equations of ai, bi, ci, di,we obtain

    1

    2

    Xni¼1

    kiN (Dqi)

    4 yTi

    XNj¼1

    Z 10

    d2ewi;jdq2i

    d2ewTi;jdq2i

    dqi

    0@ 1A yi24 35

    ¼ 12

    Xni¼1

    kiN (Dqi)

    4 yTi Q yi

    (54)

    where, the matrix Q is calculated as:

    Q ¼

    Q0 Q2

    QT2 Q3. ..

    . .. . .

    . . ..

    . ..

    Q3 Q2

    QT2 Q1

    26666666664

    37777777775(55)

    Q0 ¼ 12 66 4

    (56)

    Q1 ¼ 12 �6�6 4

    (57)

    Q2 ¼ �12 6�6 4

    (58)

    Q3 ¼ 24 00 8

    (59)

    Finally, (48) is equivalent to

    C(X ; Y ) ¼ C0(X )� ZT (X )Y þ 12YTK(X )Y

    þ 12YTGY (60)

    where, the matrix G is defined as:

    G ¼ blockdiag k1N (Dq1)

    4 Q; . . . ;kn

    N (Dqn)4 Q

    � �(61)

    We see that we can control the nonlinearity of thespring torque profiles by adding to the cost function aterm 12Y

    TGY , where the matrix G is symmetric. From(60), we derive the modified cost function at optimalspring design:

    C�(X ) ¼ C0(X )� 12 ZT (X )(K(X )þ G)�1Z(X ) (62)

    If all weighting coefficients ki are set to zero, (62) isequivalent to (45). Note that since the matrix Q is con-stant, it can be calculated before the optimization processin order to reduce the total calculation cost.

    4.3. Adding constraints to impose positive stiffness

    So far, the only constraint that we have imposed to theload–displacement functions of the spring is to be C1

    piecewise third-order polynomial functions (this con-straint is imposed implicitly by the choice of the interpo-lation method). Consequently, the load-displacementfunctions defined by the optimal spring parameters in(44) may exhibit negative stiffness. If the robot has tokeep a static position for a long time, a design with neg-ative stiffness may not be energetically optimal becausethe control loop will consume energy to artificiallystabilize the system. Therefore, in this section, wepropose a methodology to impose the stiffness to bepositive at given joint coordinates (chosen by thedesigner).

    We consider the ith DOF of the robot. For a givenjoint variable qi, the stiffness of the spring is given by

    �dwi(qi)dqi (since wi(qi) is defined as the force applied bythe spring to the joint, the restoring force of the spring is�wi(qi)). We note qi; j as the joint variables where we

    38 N. Schmit and M. Okada

    Dow

    nloa

    ded

    by [

    Tok

    yo I

    nstit

    ute

    of T

    echn

    olog

    y] a

    t 19:

    57 2

    5 A

    pril

    2013

  • constrain the stiffness, and nqi as the number of con-straints applied to the ith DOF. For each joint variableqi; j, we impose the spring stiffness to be at least equal todi; j[0. The set of constraints can be written as:

    8j 2 f1 . . . nqig;�dwi(qi)

    dqi

    ����qi¼ qi; j

    � di; j (63)

    From (24), dwi(qi)dqi is calculated as:

    dwi(qi)

    dqi¼ w0Ti (qi)yi (64)

    where w0i is calculated as:

    w0i(qi) ¼1

    Dqi½b0ivi;1; d0ivi;1; . . . ; (a0ivi; j�1 þ b0ivi; j);

    (c0ivi; j�1 þ d0ivi;j); . . . ; a0ivi;N ; c0ivi;N �T ð65Þ

    a0i ¼ 6qi(1� qi) (66)

    b0i ¼ 6qi(qi � 1) (67)

    c0i ¼ 3q2i � 2qi (68)

    d0i ¼ 3q2i � 4qi þ 1 (69)

    qi is calculated using (21). We rewrite (63) as

    HTi yi þDi � 0 (70)

    where

    Hi ¼ ½w0i(qi;1); . . . ;w0i(qi;nqi )� (71)

    Di ¼ ½di;1; . . . ; di;nqi �T

    (72)

    The notation � 0 in (70) means that each element ofthe vector HTi yi þDi must be negative. Gathering theconstraint relationships of all DOFs, we rewrite (70) as

    HTY þD � 0 (73)

    where,

    H ¼ blockdiag(H1; . . . ;Hn) (74)

    D ¼ ½DT1 ; :::;DTn �T (75)

    The cost function C defined in (38) is continuouslydifferentiable in Y (because it is a quadratic function)and the inequality constraints (73) are linear in Y . Con-sequently, if Y � is the vector of optimal spring parame-ters (i.e. which minimizes C) under (73), then thereexists a vector of constants g called Karush-Kuhn-Tucker(KKT) multipliers such that

    rY ½C(X ; Y �)þ gT (HTY � þD)� ¼ 0, KY � � Z þHg ¼ 0 (76)

    HTY � þD � 0 (77)

    g � 0 (78)

    gT (HTY � þD) ¼ 0 (79)

    (76) is the stationary condition, (77) is the primaryfeasibility condition, (78) is the dual feasibility condition,and (79) is the complementary slackness condition. TheKKT approach generalizes the method of Lagrange mul-tipliers, which allows only equality constraints. See [37]for the derivation of the KKT conditions. One of themain issue in solving optimization problems withinequality constraints is to determine which constraintsare active and which constraints are not. In this paper,we proceed the following way: we consider all the possi-ble combinations of active/inactive constraints, and solveeach optimization problem successively. For each prob-lem, we verify that the solution (Y �; g) satisfies all theKKT feasibility conditions. If several solutions verify allthe feasibility conditions, we choose the solution withthe Y � which minimizes C.

    For a given combination of active/inactive con-straints, the optimization problem is solved as follows:we note (Hact;Dact) and (Hinact;Dinact) as the couple(H;D) built by considering the active and inactive con-straints, respectively. The vector of KKT multipliersrelated to the active constraints is gact. Note that as aconsequence of (79), ginact ¼ 0. Rewriting the KKT con-ditions with these new variables, the vector of optimalspring parameters is solution of the problem:

    KY � � Z þHactgact ¼ 0 (80)

    HTactY� þDact ¼ 0 (81)

    HTinactY� þDinact\0 (82)

    gact[0 (83)

    Advanced Robotics 39

    Dow

    nloa

    ded

    by [

    Tok

    yo I

    nstit

    ute

    of T

    echn

    olog

    y] a

    t 19:

    57 2

    5 A

    pril

    2013

  • Assuming that (HTactK�1Hact) is invertible, we solve

    the system (80), (81) with respect to Y � and g. Weobtain:

    Y � ¼ K�1(Z �HactK�1Z) (84)

    gact ¼ K�1Z (85)

    where,

    K ¼ HTactK�1Hact (86)

    Z ¼ HTactK�1Z þDact (87)

    Note that K is a symmetric matrix. If Y � satisfies theconditions (82) and (83), we calculate the cost functionat optimal spring design C�(X ) ¼ C(X ; Y �(X )) with theY � calculated in (84):

    C�(X ) ¼ C0(X )� 12 ZT (X )K�1(X )Z(X )

    þ 12ZT (X )K�1(X )Z(X ) (88)

    The cost function defined in (88) evaluates the trajec-tory parameters for the optimal springs design satisfyingthe constraints (63). Note that if we also want to adjustthe nonlinearity of the springs, we just have to replace Kby (K þ G) in all formulae, where the matrix G wasdefined in Section 4.2.

    4.4. Optimization of trajectory parameters

    In Section 4.1, we defined the cost function at optimalspring design C� (45) which depends only on the trajec-tory parameters. The next step consists in finding theoptimal trajectory parameters, which means finding thevector X which minimizes C�. However, since this func-tion is nonlinear, it is not possible to derive a closedform expression of the optimal trajectory parameters,except for a few simple cases. Thus, we use a SQP algo-rithm to find an approximate solution of the optimal tra-jectory. SQP methods solve a sequence of optimizationsubproblems, each which optimizes a quadratic model ofthe objective subject to a linearization of the constraints.We used the SQP method implemented in Matlab tooptimize the trajectory parameters. Details on SQP meth-ods can be found in [38].

    5. Example of optimal design

    We consider the 3-DOF serial manipulator shown inFigure 2. ‘i is the length of link i, hi is the distance from

    the origin of the coordinate frame attached to link i tothe link’s center of mass, hi is the angular displacementof coordinate frame i with respect to coordinate frame(i� 1) (coordinate frame 0 is the reference frame), and gis the acceleration of gravity. As design constraints, weimpose the end effector to stop at prescribed positionsduring chosen time intervals. These constraints are sum-marized in Table 1. From time 0 to 1 s, the end effectormust stop to coordinates (30, 10, 20), from time 5 to 6 s,the end effector must stop to coordinates (60, 80, 40),etc. Note that we imposed a same constraint at t ¼ 0 sand t ¼ 20 s in order to synthesize a periodic motion.

    The initial and optimal trajectories are shown inFigure 3. The labels p1–p5 indicate the constrained partsof the trajectory. The initial and optimal paths are shownin Figure 4. The manipulator (in blue) is drawn at timet ¼ 8 s. The label p5 is not displayed because it wouldappear exactly above the label p1.

    In the left column of Figure 5, we show the restoringtorques of the nonlinear springs. The vertical dashedlines show the location of the interpolation nodes of thetorque profiles. An increasing restoring torque corre-sponds to positive stiffness while a decreasing restoringtorque corresponds to negative stiffness. In the right col-umn of Figure 5, we show the torques applied to eachjoint by their nonlinear spring, actuator, and the total tor-que. We can see on Figure 5(d) and (f) that a significantpart of the total torque is provided by the nonlinearsprings, thus reducing the average actuator torque. InTable 2, we show the average absolute actuator torquesfor a design with no springs, a design with optimal linearsprings and a design with optimal nonlinear springs. Thefirst row shows the value of the actuator torques for theinitial trajectory and the second row shows the values ofthe actuator torques for the optimal trajectory. We precise

    Figure 2. 3-DOF serial manipulator.

    40 N. Schmit and M. Okada

    Dow

    nloa

    ded

    by [

    Tok

    yo I

    nstit

    ute

    of T

    echn

    olog

    y] a

    t 19:

    57 2

    5 A

    pril

    2013

  • that the optimal trajectories are different for the threedesigns: no springs/linear springs/nonlinear springs. Theresults for the design with linear springs were obtainedby setting the coefficients ki (see Section 4.2) bigenough so that the torque profiles of the springs arealmost linear. From this table, we understand that thedesign with the best performances is obtained by asimultaneous optimization of the trajectory and thenonlinear spring torque profiles.

    As explained in Section 4.2, we can control thenonlinearity of the springs by tuning the design parame-ters ki. In Figure 6, we show how the torque profile ofthe first nonlinear spring (Figure 5(a)) is modified whenwe change the parameter k1. The greater the value of k1,the more linear the torque profile. The coefficients kishould be tuned so that the torque profiles are smoothenough for the springs to be realizable technically. In

    Figure 7, we show a spring torque profile designed withlocal stiffness constraints. We imposed the stiffness ofthe torque profile shown in Figure 5(a) to be strictlypositive (superior to 0.05Nm/rad) at the positions p1–p4(see Table 1). The red dash-dotted tangents show theactive constraints and the blue dotted tangents show theinactive constraints. With this method, we ensure that thestiffness of the spring is positive where the manipulatorhas to keep a static position for a while.

    6. Technical realization of the nonlinear springs

    The spring synthesized in Section 5 are nonlinear andexhibit negative stiffness on a part of their displacementrange. Since these springs do not correspond to any off-the-shelf spring, we propose to realize them with themechanism presented in [36]. This mechanism consistsin a linear spring connected to a cable wound around anoncircular spool whose shape is calculated so that themechanism behaves as a nonlinear rotational spring withthe prescribed torque profile. The spring mechanism isattached to each joint as shown in Figure 8.

    Since this mechanism can only handle positive tor-ques, the nonlinear springs are realized by the antagonisticaction of two cable-spool mechanisms. The first one real-izes the torque profiles of Figures 9(a), 10(a), and 11(a)

    Table 1. Time constraints on the position of the end effector.

    t (s) x (cm) y (cm) z (cm)

    p1 [0,1] 30 10 20p2 [5,6] 60 80 40p3 [10,11] �50 �40 70p4 [15,16] �50 100 120p5 20 30 10 20

    Figure 3. Trajectory of the manipulator (joint variables).

    Figure 4. Path of end effector.

    Advanced Robotics 41

    Dow

    nloa

    ded

    by [

    Tok

    yo I

    nstit

    ute

    of T

    echn

    olog

    y] a

    t 19:

    57 2

    5 A

    pril

    2013

  • calculated by shifting the torque profiles of Section 5vertically so that the torque is strictly positive. A reduc-tion ratio is introduced between the joint and the spool toadjust the rotation range of the spool. The second mecha-nism realizes a constant spring, so that the antagonistic

    action of the two mechanisms achieves the torque profilesof Section 5. The shape of the spool synthesizing theshifted torque profiles are shown in Figures 9(b), 10(b),and 11(b). See [36] for the design and realization of theconstant springs.

    Table 2. Comparison of average absolute actuator torque for each joint.

    1T

    R T0 ju(t)j dt (Nm)

    No spring Optimal linear spring Optimal nonlinear spring

    u1 u2 u3 u1 u2 u3 u1 u2 u3

    Initial trajectory 0.139 5.16 1.58 0.159 0.647 0.642 0.153 0.254 0.467Optimal trajectory 0.0152 2.12 0.748 0.127 0.316 0.271 0.0907 0.102 0.109

    Figure 5. Spring torque profiles and joint torques.

    42 N. Schmit and M. Okada

    Dow

    nloa

    ded

    by [

    Tok

    yo I

    nstit

    ute

    of T

    echn

    olog

    y] a

    t 19:

    57 2

    5 A

    pril

    2013

  • As explained in [36], the size of the spool mecha-nism can be scaled up or down by changing severaldesign parameters such as the stiffness of the linearspring. Therefore, we can freely adjust the size of thespool mechanism to adapt it to the size of the robot. Asan example, in Figure 6 of [36], we showed that a same

    nonlinear spring can be synthesized by several noncircu-lar spools which maximal radius range from 93mmdown to 19mm.

    7. Discussion

    An important point of the methodology proposed in thispaper is the use of an Hermite interpolation to parameter-ize the torque profiles of the nonlinear springs. As aresult, the cost function is a quadratic in the springparameters, which makes it possible to express the opti-mal spring parameters as a function of the trajectoryparameters. Furthermore, as mentioned in Section 3, thismethod automatically gives continuity of the torque andits derivative at the nodes.

    The continuity of the torque and its derivative,though, are not mandatory from a physical point of viewsince it is possible to build springs mechanisms whichexhibit (discontinuous) piecewise C1 functions. Theoreti-cally, piecewise C1 functions might lead to better perfor-mances since the set of C1 functions is included in theset of piecewise C1 functions. However, the technicalrealization of springs with discontinuous force profilesrequires specific mechanisms, so the trade-off betweenperformances and simplicity of realization of the springsshould be considered. What is more, the heavier themechanism used to realize a nonlinear spring, the moreit is likely to impact the dynamics of the robot and pos-sibly degrade the performances.

    In Section 4.2, we showed that the springs can bedesigned more or less linear by adding to the cost func-tion a term quadratic in the spring parameters. As shownin Table 2, nonlinear springs lead to better performances,but they have the drawback of being more complicated torealize than linear springs. There is a trade-off betweenperformances and simplicity of realization of the springs.

    The results of this research aim at improving theenergy efficiency of robots working on production lines.Therefore, we consider a robot that always repeats asame trajectory to achieve a task such as picking orassembling. If we want to change the task of the robot,we first calculate the optimal trajectory and optimal non-linear springs related to this new task, then replace thenonlinear spring mechanisms of each joint with the newones. Since the spring mechanisms work in parallel withthe actuators of the joints, they can be easily replacedwithout changing the structure of the robot itself.

    8. Conclusions

    In this paper, we proposed a method to simultaneouslydesign the trajectory of a robot and the torque profiles ofnonlinear springs acting in parallel with the actuators inorder to minimize the average actuator torque. We firstexpressed the trajectory and the torque profiles of the

    Figure 6. Torque profile of the first nonlinear spring (Figure 5(a))for different values of k1. By changing the parameter k1, wecan adjust the nonlinearity of the spring. The solid line,corresponding to k1 ¼ 0:2, is the same torque profile as inFigure 5(a).

    Figure 7. Imposing local constraints on the stiffness of the firstnonlinear spring (Figure 5(a)). Red dash-dotted tangents showthe active constraints and blue dotted tangents show theinactive constraints.

    Figure 8. Nonlinear spring mechanism. The spool is rigidlyattached to the upper link in O and the tip of the linear springis attached to the lower link in A.

    Advanced Robotics 43

    Dow

    nloa

    ded

    by [

    Tok

    yo I

    nstit

    ute

    of T

    echn

    olog

    y] a

    t 19:

    57 2

    5 A

    pril

    2013

  • springs using a third-order Hermite interpolation, andused the interpolation points as the design parameters.We showed that the cost function is a quadratic functionof the spring parameters, and expressed the optimalspring parameters as a function of the trajectory parame-ters. We defined a cost function at optimal spring designwhich depends only on the trajectory parameters. Weused an SQP algorithm to find an approximate solution of

    the optimal trajectory. We showed that the nonlinearity ofthe springs can be adjusted by adding to the cost functiona weighting matrix G, and that it is possible to add localconstraints on the stiffness of the springs. As an example,we proposed the optimal design of a three-DOF serialmanipulator. Several constraints were set on the positionof the manipulator for given time domains, while thealgorithm was let free to optimize the unconstrained parts

    Figure 9. Realization of spring 1 with a noncircular spool mechanism.

    Figure 11. Realization of spring 3 with a noncircular spool mechanism.

    Figure 10. Realization of spring 2 with a noncircular spool mechanism.

    44 N. Schmit and M. Okada

    Dow

    nloa

    ded

    by [

    Tok

    yo I

    nstit

    ute

    of T

    echn

    olog

    y] a

    t 19:

    57 2

    5 A

    pril

    2013

  • of the trajectory. The results showed that a significant partof the overall joint torque was provided by the nonlinearsprings resulting in a decrease in the average actuator tor-que required to drive the robot. We showed that the non-linear springs calculated in this paper were technicallyrealizable using a noncircular cable spool mechanism.

    AcknowledgmentsThis research is supported by the Research on Macro/MicroModeling of Human Behavior in the Swarm and its Controlunder the Core Research for Evolutional Science andTechnology (CREST) Program (research area: AdvancedIntegrated Sensing Technologies), Japan Science andTechnology Agency (JST).

    Notes1. In this paper, we consider rotational springs and actuators.

    However, the design methodology is the same for prismaticsprings and actuators.

    2. We use si,jDqi instead of si,j so that all elements of yi havethe same dimension.

    3. K can become ill-conditioned if N is large (i.e. when tryingto optimize spring torque profiles with many interpolationnodes). However, since we want to design springs whichcan be realized technically, we usually use a small N (smal-ler than 8) in order to obtain smooth torque profiles.

    Notes on contributors

    Nicolas Schmit was born in Reims, France,in 1985. He was graduated from the EcolePolytechnique, Paris, and from the InstitutSuperieur de l’Aeronautique et de l’Espace(Supaero), Toulouse (France), in 2009. Heis currently pursuing the PhD degree inmechanical engineering at Tokyo Instituteof Technology, Tokyo. His dissertationresearch is on the optimal design of

    nonlinear stiffness of robotic mechanisms. He did hisgraduation internship at Thales Alenia Space’s ResearchDepartment, Cannes (France), from April 2009 to September2009. His research was on the robust control of telecomsatellites subject to unstable fuel sloshing phenomena. Hecurrently holds a fellowship from the Japanese Government(MONBUKAGAKUSHO: MEXT).

    Masafumi Okada received his ME degreeand PhD in Applied System Science fromKyoto University in 1994 and 1996,respectively. In 1997, he joined theDepartment of Mechano-Informatics in theUniversity of Tokyo, and he is currently anassociate professor in the Department ofMechanical Sciences and Engineering,Tokyo Institute of Technology. His interests

    include an attractor-based robot control, the mechanical designwith nonlinear stiffness, and the amenity design for humanenvironments.

    References

    [1] Jafari A, Tsagarakis NG, Vanderborght B, Caldwell DG.A novel actuator with adjustable stiffness (AwAS). In:Proceedings of the IEEE/RSJ International Conference onIntelligent Robots and Systems; 2010; Taipei. Taiwan. p.4201–4206.

    [2] Schauss T, Scheint M, Sobotka M, Seiberl W, Buss M.Effects of compliant ankles on bipedal locomotion. In: Pro-ceedings of the IEEE International Conference on Roboticsand Automation; 2009; Kobe, Japan. p. 2761–2766.

    [3] Yamaguchi Y, Nishino D, Takanishi A. Realization ofdynamic biped walking varying joint stiffness using antag-onistic driven joints. In: Proceedings of the IEEE Interna-tional Conference on Robotics and Automation. Vol. 3;1998; Leuven, Belgium. p. 2022–2029.

    [4] Walsh GJ, Streit DA, Gilmore BJ. Spatial spring equili-brator theory. Mech. Mach. Theory. 1991;26(2):155–170.

    [5] Jo DY, Haug EJ, Beck RR. Optimization of force balancingmechanisms. Tech. Rep. A101421. Iowa City, IA 52242.USA: College of Engineering, The University of Iowa; 1982.

    [6] Streit DA, Gilmore BJ. Perfect spring equilibrators forrotatable bodies. J. Mech. Transm. Autom. Des. 1989;111:451–458.

    [7] Ulrich N, Kumar V. Passive mechanical gravity compen-sation for robot manipulators. In: Proceedings of the IEEEInternational Conference on Robotics and Automation.Vol. 2; 1991; Sacramento, CA. p. 1536–1541.

    [8] Endo G, Yamada H, Yajima A, Ogata M, Hirose S. Apassive weight compensation mechanism with a non-cir-cular pulley and a spring. In: Proceedings of the IEEEInternational Conference on Robotics and Automation;2010; Anchorage, Alaska. p. 3843–3848.

    [9] McN R, Alexander. Three uses for springs in legged loco-motion. Int. J. Robot. Res. 1990;9(2):53–61.

    [10] Farrell KD, Chevallereau C, Westervelt ER. Energeticeffects of adding springs at the passive ankles of a walk-ing biped robot. In: Proceedings of the IEEE InternationalConference on Robotics and Automation; 2007; Roma,Italy. p. 3591–3596.

    [11] Ackerman J, Seipel J. Energetics of bio-inspired leggedrobot locomotion with elastically-suspended loads. In:Proceedings of the IEEE/RSJ International Conference onIntelligent Robots and Systems. Vol. 11; 2011; SanFrancisco, CA. p. 203–208.

    [12] Uemura M, Kawamura S. Resonance-based motioncontrol method for mmulti-joint robot through combiningstiffness adaptation and iterative learning control. In:Proceedings of the IEEE International Conference onRobotics and Automation; 2009; Kobe, Japan. p. 1543–1548.

    [13] Bigge B, Harvey IR. Programmable springs: developingactuators with programmable compliance for autonomousrobots. Robot. Autonom. Syst. 2007;55(9):728–734.

    Advanced Robotics 45

    Dow

    nloa

    ded

    by [

    Tok

    yo I

    nstit

    ute

    of T

    echn

    olog

    y] a

    t 19:

    57 2

    5 A

    pril

    2013

  • [14] Pratt GA, Williamson MM. Series elastic actuators. In:Proceedings of the IEEE International Conference onIntelligent Robots and Systems. Vol. 1; 1995; Washington,DC. p. 399–406.

    [15] Laurin-Kovitz KF, Colgate JE, Carnes SDR. Design ofcomponents for programmable passive impedance. In:Proceedings of the IEEE International Conference onRobotics and Automation. Vol. 2; 1991; Sacramento, CA.p. 1476–1481.

    [16] Migliore SA, Brown EA, DeWeerth SP. Biologicallyinspired joint stiffness control. In: Proceedings of theIEEE International Conference on Robotics and Automa-tion; 2005; Barcelona, Spain. p. 4508–4513.

    [17] English C, Russell D. Implementation of variable jointstiffness through antagonistic actuation using rolamitesprings. Mech. Mach. Theory. 1999;34(1):27–40.

    [18] Bicchi A, Tonietti G. Design, realization and control ofsoft robot arms for intrinsically safe interaction withhumans. Tech. Rep. Centro Interdipartimentale di Ricerca‘E. Piaggio’, Universita di Pisa, Italia; 2002.

    [19] Koganezawa K, Watanabe Y, Shimizu N. Antagonisticmuscle-like actuator and its application to multi-d.o.f.forearm prosthesis. Adv. Robot. 1997;12:771–789.

    [20] Koganezawa K. Mechanical stiffness control for antagonis-tically driven joints. In: Proceedings of the IEEE/RSJ Inter-national Conference on Intelligent Robots and Systems;2005; Edmonton, Alberta, Canada. p. 1544–1551.

    [21] Tonietti G, Schiavi R, Bicchi A. Design and control of avariable stiffness actuator for safe and fast physicalhuman/robot interaction. In: Proceedings of the IEEEInternational Conference on Robotics and Automation;2005; Barcelona, Spain. p. 526–531.

    [22] Huang TH, Kuan JY, Huang HP. Design of a new variablestiffness actuator and application for assistive exercisecontrol. In: Proceedings of the IEEE/RSJ InternationalConference on Intelligent Robots and Systems. Vol. 11;2011; San Francisco, CA. p. 372–377.

    [23] Schiavi R, Grioli G, Sen S, Bicchi A. VSA-II: a novel pro-totype of variable stiffness actuator for safe and performingrobots interacting with humans. In: Proceedings of theIEEE International Conference on Robotics and Automa-tion; 2008; Pasadena, CA. p. 2171–2176.

    [24] Hurst JW, Chestnutt J, Rizzi A. An actuator withmechanically adjustable series compliance. Tech. Rep.CMU-RI-TR-04–24. Pittsburgh (PA): Robotics Institute,Carnegie Mellon University; 2004.

    [25] Hurst JW, Chestnutt JE, Rizzi AA. An actuator with phys-ically variable stiffness for highly dynamic legged loco-motion. In: Proceedings of the IEEE InternationalConference on Robotics and Automation. Vol. 5; 2004;New Orleans, LA. p. 4662–4667.

    [26] Wolf S, Hirzinger G. A new variable stiffness design:matching requirements of the next robot generation. In: Pro-ceedings of the IEEE International Conference on Roboticsand Automation; 2008; Pasadena, CA. p. 1741–1746.

    [27] Van Ham R, Vanderborght B, Van Damme M, Verrelst B,Lefeber D. MACCEPA, the mechanically adjustable com-pliance and controllable equilibrium position actuator:design and implementation in a biped robot. Robot. Auto-nom. Syst. 2007;55(10):761–768.

    [28] Morita T, Sugano S. Design and development of a newrobot joint using a mechanical impedance adjuster. In:Proceedings of the IEEE International Conference onRobotics and Automation. Vol. 3; 1995; Nagoya, Aichi,Japan. p. 2469–2475.

    [29] Tsagarakis NG, Sardellitti I, Caldwell DG. A new variastiffness actuator (CompAct-VSA): design and modelling.In: Proceedings of the IEEE/RSJ International Conferenceon Intelligent Robots and Systems. Vol. 11; 2011; SanFrancisco, CA. p. 378–383.

    [30] Jafari A, Tsagarakis NG, Caldwell DG. Exploiting naturaldynamics for energy minimization using an Actuator withAdjustable Stiffness (AwAS). In: Proceedings of the IEEEInternational Conference on Robotics and Automation;2011; Shanghai, China. p. 4632–4637.

    [31] Mombaur KD, Longman RW, Bock HG, Schloder JP. Sta-ble one-legged hopping without feedback and with a pointfoot. In: Proceedings of the IEEE International Conferenceon Robotics and Automation. Vol. 4; 2002; Washington,DC. p. 3978–3983.

    [32] Mombaur KD, Longman RW, Bock HG, Schloder JP.Open-loop stable running. Robotica. 2005;23:21–33.

    [33] Mombaur KD, Bock HG, Schloder JP, Longman RW.Open-loop stable solutions of periodic optimal controlproblems in robotics. J. Appl. Mech./Zeitschrift fr Ange-wandte Mathematik und Mechanik. 2005;85.7:499–515.

    [34] Duindam V, Stramigioli S. Optimization of mass and stiff-ness distribution for efficient bipedal walking. In:Proceedings of the International Symposium on NonlinearTheory and Its Applications. Electronic proceedings;2005.

    [35] Nakanishi J, Rawlik K, Vijayakumar S. Stiffness andtemporal optimization in periodic movements: an optimalcontrol approach. In: Proc. IEEE/RSJ InternationalConference on Intelligent Robots and Systems. Vol. 11;2011 Sep; San Francisco, CA. p. 718–724.

    [36] Schmit N, Okada M. Design and realization of a non-cir-cular cable spool to synthesize a nonlinear rotationalspring. J. Adv. Robotic. 2012;26:235–252.

    [37] Kuhn HW, Tucker AW. Nonlinear programming. In: Proc.Second Berkeley Symp. on Math. Statist. and Prob. Univ.of Calif. Press; 1951; Berkeley, CA. p. 481–492.

    [38] Barclay A, Gill PE, Rosen JB. SQP methods and their appli-cation to numerical optimal control. In: Werner H, BittnerSL, Kltzler R, editors. Variational calculus, optimal control,and applications. Vol. 124. International Series of NumericalMathematics. Trassenheide, Germany: Birkhuser; 1998. p.207–222.

    46 N. Schmit and M. Okada

    Dow

    nloa

    ded

    by [

    Tok

    yo I

    nstit

    ute

    of T

    echn

    olog

    y] a

    t 19:

    57 2

    5 A

    pril

    2013