Control Engineering Practice 42 (2015) 106–117
Contents lists available at ScienceDirect
Control Engineering Practice journal homepage: www.elsevier.com/locate/conengprac
Control design for a bionic kangaroo Knut Graichen a,n, Sebastian Hentzelt a, Alexander Hildebrandt b, Nadine Kärcher c, Nina Gaißert c, Elias Knubben c a
Institute of Measurement, Control, and Microtechnology, Ulm University, Ulm, Germany Research Mechatronic Systems, Festo AG & Co. KG, Esslingen, Germany c Bionic Learning Network, Festo AG & Co. KG, Esslingen, Germany b
art ic l e i nf o
a b s t r a c t
Article history: Received 3 September 2014 Accepted 10 May 2015 Available online 20 June 2015
This contribution describes the control design for the BionicKangaroo, a bionic demonstrator developed by the Festo Bionic Learning Network to resemble the unique hopping characteristics of the kangaroo. The robot uses hip and tail actuation as well as pneumatic actuators in combination with elastic tendons in the leg kinematics. Nonlinear controllers are designed for the flight and stance phases and a switching condition is derived that initiates the next hopping cycle. The flight phase controller consists of an adaptive feedforward control based on the nonlinear flight dynamics. A state feedback part stabilizes the kangaroo along the flight trajectories. For the stance phase, a model-based pressure controller is designed for the individual legs to compensate for roll movements or disposals during the hopping cycle. Experimental results as well as energy considerations show the performance of the control design for the BionicKangaroo. & 2015 Elsevier Ltd. All rights reserved.
Keywords: Bionics Hopping robots Hybrid systems Nonlinear control Trajectory planning Pneumatic actuators
1. Introduction The movement of a kangaroo is unique among nature. Its strong back legs allow the kangaroo to move quickly and efficiently over terrain, while the Achilles tendons in the back legs store energy during landing and re-use it for the next jump. This energy recovery process makes the kangaroo the only animal that is able to increase its speed while keeping its metabolic rate constant (Dawson & Taylor, 1973). In addition, the kangaroo uses the tail for stabilization and to minimize the movement of the body during flight. The BionicKangaroo (Festo AG & Co. KG, 2014) was designed by the Festo Bionic Learning Network to resemble and learn from the kangaroos characteristic jumping behavior. Elastic tendons in connection with pneumatic actuators in the leg kinematics are used to store the energy and to provide the power for dynamic hopping. In addition, the hip and tail joints are equipped with electrical drives to balance and stabilize the hopping cycle. From a control point of view, the BionicKangaroo offers several challenges. During flight, the controller must be able to stabilize the kangaroo and to precisely position the legs for the next landing phase. In addition, the landing has to be actively controlled to attenuate roll and tilt dynamics and the time instant for initiating
n
Corresponding author. E-mail addresses:
[email protected] (K. Graichen),
[email protected] (S. Hentzelt),
[email protected] (A. Hildebrandt),
[email protected] (N. Kärcher),
[email protected] (N. Gaißert),
[email protected] (E. Knubben). http://dx.doi.org/10.1016/j.conengprac.2015.05.005 0967-0661/& 2015 Elsevier Ltd. All rights reserved.
the next hopping cycle by activating the pneumatic actuators must be accurately determined. The control task for the BionicKangaroo can be related to the context of running and hopping robots, which has been an active field of research over the last decades, in particular initialized by the pioneering work of Raibert (1984, 1986). Most of the contributions on hopping robots consider simplified setups with a single actuator at the hip and a spring leg, which shortens during landing and therefore stores the kinetic energy of the previous jump. At the lower turning point (bottom point), an additional actuation force is applied to extend the leg and to provide additional energy for the next jump. Most of these works apply variants of Raiberts original control design, which has proved successful for these kinds of setups (Ahmadi & Buehler, 1997; Carlési & Chemori, 2010). Hopping robots with more complex and biologically inspired leg kinematics can be found, e.g., in Ikeda, Iwatani, Suse, and Mita (1999), Hyon and Mita (2002), Hutter, Remy, Höpflinger, and Siegwart (2010), and Bai, Ge, Chen, and Meng (2011). Recent works on hopping robots also consider more advanced control methods such as iterative learning control (Fankhauser et al., 2013; Lüders, 1986) or model predictive control (MPC) (Carlési & Chemori, 2010; Rutschmann et al., 2012). A combination of Raiberts approach with a predictive controller is proposed in Carlési and Chemori (2010), where the distance from a ballistic trajectory is minimized over a number of hopping cycles. An alternative MPC approach (Rutschmann, Satzinger, Byl, & Byl, 2012) uses the future landing angle of the leg as optimization
K. Graichen et al. / Control Engineering Practice 42 (2015) 106–117
variable and minimizes a cost function that weights the foot position at the landing instant as well as the difference in velocity at the upper turning point (apex point) between two jumps. Most of the works on hopping robots (including those mentioned above) neglect tail actuation and consider a single actuator at the hip, although the tail plays an important role in nature for stabilization and steering during flight. The additional tail actuation usually complicates the hardware design compared to the often assumed symmetrical setup of single-actuated hopping robots and also further challenges the control design. One of the few control-oriented investigations in this context is Zeglin (1991) in connection with the “Uniroo” robot. To simplify the control design and the hardware setup, the Uniroo features one single leg to avoid synchrony issues and restricts the hopping movement to two dimensions using a rotating boom construction. Another somewhat related contribution is Briggs, Lee, Haberland, and Kim (2012), where the dynamical influence of the tail in connection with the setup of the “MIT Cheetah Robot” was investigated. In this contribution, a control design for the BionicKangaroo is developed that uses both hip and tail actuation for controlling the hopping cycle. Special emphasis is paid to the requirement of online implementation which discards computationally expensive approaches such as MPC. Instead, nonlinear model-based controllers are designed for both the flight and the stance phase. To this end, the first part of the paper is devoted to the model derivation of the BionicKangaroo in combination with CAD data and parameter identification at the experimental setup. Based on the dynamical model of the flight phase, the flight controller uses a two-degreesof-freedom control scheme consisting of a nonlinear feedforward controller with corresponding trajectory planning and an underlying stabilizing feedback part. The flight controller accounts for the configuration of the BionicKangaroo at take-off in order to compensate for angular variations from one hopping cycle to the next. In the stance phase (consisting of landing and activation), the main controller is based on exact feedback linearization for the pneumatic actuators with the goal to achieve smooth landing and to account for longitudinal roll movements of the kangaroo, which otherwise would build up and eventually lead to instability. The hopping cycle is closed by deriving a switching curve that determines the proper state conditions when the next hopping cycle starts, i.e. the time instant, when the pneumatic force for extending the leg kinematics is applied. The overall control concept is experimentally validated at the BionicKangaroo and measurement results show the robustness in stabilizing the hopping cycles. In addition, the energy ratio between stored and supplied energy is estimated based on the experimental results. The paper is organized as follows: Section 2 introduces the setup and problem description for the BionicKangaroo. Sections 3 and 4 address the controller design for the flight phase and the stance phase, respectively. Finally, experimental results for the BionicKangaroo are presented in Section 5 together with an energy consideration in order to rate the energy efficiency of the prototype.
107
PLC IMU harmonic drives for hip and tail
elastic tendon potentiometer
compressed air reservoir pneumatic actuators
Fig. 1. Hardware of the BionicKangaroo (adapted from Festo AG and Co. KG, 2014).
anatomical drawings (Biewener, McGowan, Card, & Baudinette, 2004; McGowan, Skinner, & Biewener, 2008) and video-based motion capturing of hopping kangaroos. Knee and ankle joints are connected via coupled kinematics, resulting in an interlinked movement sequence. Bidirectional pneumatic actuators (type: Festo DSNUP 20) are mounted at the lower legs and are used in connection with quick action valves and a compressed air reservoir to generate the pneumatic force that actuates the leg. The function of the natural Achilles tendon is adopted by an elastic spring element made of rubber. It is fastened at the back of the foot and parallel to the pneumatic cylinder on the knee joint. The artificial tendon cushions the jump, simultaneously absorbs the kinetic energy and releases it for the next jump. In addition, the body and tail joints are actuated with harmonic drives and additional servo controllers. A programmable logic controller (PLC, type: Festo CECC) onboard the BionicKangaroo serves as control hardware. The robot is equipped with several sensors. An onboard inertial measurement unit (type: XSENS, MTi-300 AHRS) is used to determine the global orientation of the BionicKangaroo. The relative angles at the hip and tail are measured with incremental encoders in the harmonic drives. The configuration of the leg kinematics is computed from potentiometer measurements in the knee and ankle joints. The communication between the sensors, actuators, and the PLC is based on CAN and partly on serial connections. Lithium polymer rechargeable batteries serve as electrical energy storage devices and supply the valves for the pneumatic actuators, the sensors, the PLC hardware as well as the harmonic drives. Minimizing weight was a crucial criterion for the design of the BionicKangaroo, not only to achieve effective jumps but also to minimize impact forces during landing, actuation, and take-off. To this end, the housing elements are made of foam and the kinematic system is made of laser-sintered parts reinforced with carbon. All components are networked and integrated in the smallest possible space. As a result, the BionicKangaroo weights approx. 7 kg at a height of 1 m and is able to jump up to 0.4 m of height and to cover a distance of 0.8 m.
2. Problem statement
2.2. Coordinates and leg kinematics
This section describes the hardware setup of the BionicKangaroo as well as the hopping cycle and the principal control structure consisting of flight and stance phase control schemes that are detailed in Sections 3 and 4, respectively. A summary of the mechanical parameters is given in the Appendix (Table 2).
The leg kinematics of the BionicKangaroo are considered as one virtual leg with spring–damper characteristics and variable length, cf. Fig. 2. The mathematical description of the BionicKangaroo can then be reduced to a multi-body system consisting of (virtual) leg, body, and tail with the overall coordinate vector
2.1. Hardware of the BionicKangaroo
q ¼ ½ϕ; α; θ; l; xH ; yH T :
Fig. 1 shows a schematic drawing of the hardware setup of the BionicKangaroo. The leg kinematics are designed based on
ð1Þ
The first coordinate ϕ is the absolute angle of the leg w.r.t. the vertical direction, whereas α and θ are the relative angles of body and tail, respectively, as shown in Fig. 2. The leg angle ϕ and
108
K. Graichen et al. / Control Engineering Practice 42 (2015) 106–117
Fig. 2. Coordinates and centers of mass of the BionicKangaroo.
Fig. 3. Polynomial approximations for the virtual leg.
therefore the global orientation of the kangaroo is computed from the onboard IMU measurements, whereas α and θ are measured via the incremental encoders in the harmonic drives. The variable l in (1) describes the length of the virtual leg from the hip to the foot position and is constrained by the minimum and maximum extensions of the leg kinematics, i.e. l A ½lmin ; lmax . At the BionicKangaroo, the leg length l is computed from the potentiometer measurements in the knee and ankle joints and a corresponding CAD fitting curve. In addition, the last two coordinates in (1) describe the global position xH ¼ ½xH ; yH T of the hip joint (see Fig. 2). The harmonic drives that apply the torques MH and MT at the hip and tail joints are operated in velocity control mode of the servo controllers (type: ELMO Digital Servo Drive). The velocity control leads to simplifications in the mathematical modeling and the subsequent control design for the BionicKangaroo. With respect to the model derivation, the accelerations of the actuated relative angles α and θ are used as control inputs instead of the velocities, i.e.
α€ ¼ u1 ;
θ€ ¼ u2
ð2Þ
which will be clarified in Section 3.1. Internal integration then gives the setpoints for the cascaded velocity controllers that generate the torques MH and MT for the hip and tail actuation, respectively, see Fig. 2. As mentioned before, the BionicKangaroo is modeled as a multi-body system consisting of the leg, body, and tail. The corresponding center of mass vectors sðiÞ i , i¼1,2,3 are shown in Fig. 2 w.r.t. the corresponding body-fixed coordinate systems ðH x1 y1 Þ, ðHx2 y2 Þ, and ðTx3 y3 Þ of the single body parts. Note that the orientation of the coordinate systems is linked to the geometry of the BionicKangaroo, i.e. the ðx1 ; x2 ; x3 Þaxes point towards the tips of the feet, nose, and tail, respectively. The vectors to the centers of mass can be formulated in the inertial coordinate system ð0xyÞ1 xS1 ¼ xH þ Rð32 π þ ϕÞsð1Þ 1 ðlÞ xS 2 ¼
xH þ Rð32
π þϕþα
Þs2ð2Þ
ð2Þ : xS3 ¼ xH þ Rð32 π þ ϕ þ αÞ l23 þRðπ þ θÞsð3Þ 3
ð3aÞ
" xF ¼ xH þ Rð32
π þ ϕÞl ¼ xH þ
sin ϕ
cos ϕ
# l:
ð4Þ
The vector s1 (l) of the virtual leg pointing towards its center of mass depends on the leg length l, see Fig. 2. The function sð1Þ 1 ðlÞ in the leg-fixed coordinate system ðH x1 y1 Þ is nonlinear due to the particular construction of the leg and was fitted from CAD data for various values of the leg length l. Fig. 3 shows the polynomial approximations for both components of the vector function sð1Þ 1 ðlÞ. A similar approach was taken to determine the moment of inertia J 1 ðlÞ as well as the spring characteristics of the leg kinematics by computing the length of the elastic tendon ltendon ðlÞ w.r.t. to l, see Fig. 3. The minimum and maximum tendon length due to the leg construction is 0:68 m Z ltendon ðlÞ Z0:51 m, while the default (relaxed) length of the elastic tendon is ltendon;0 ¼ 0:3 m. The pneumatic actuators in the legs can apply a total actuation force of 300 N corresponding to the pressure level of 8 bar in the compressed air supply, see Fig. 1. The piston displacement transforms approximately linearly to the leg length l, corresponding to a pneumatic force of F pneu ¼ 75 N in direction of l.
2.3. Hopping cycle The hopping cycle of the BionicKangaroo is split into flight and stance phases. In what follows, the index k signifies the k-th hopping cycle and t is the time coordinate. The single phases are illustrated as snapshots in Fig. 4 and can be described as follows:
Stance phase (actuation), t A ½t kstart ; t ktakeoff Þ: The k-th cycle is
initialized at instant t kstart , when the pneumatic actuation force is applied to support the elastic tendon in extending the legs. The kangaroo enters into the flight phase at the instant t ktakeoff that is implicitly defined by the maximum leg extension lðt ktakeoff Þ ¼ lmax :
ð5Þ
ð3bÞ ð3cÞ
Flight phase, t A ½t ktakeoff ; t klanding Þ: In the flight phase, the center
with the R rotation matrix RðÞ and the displacement vector pointing from the hip to the tail joint, also see Fig. 2. A further important vector besides the center of mass vectors xSi is the foot position xF according to
of mass of the overall setup follows a ballistic trajectory that depends on the take-off velocity and take-off angle. During flight, the legs are moved to the front by actuating the hip. In addition, the tail actuation is used to generate a counter-torque that reduces the relative movement of the body during flight. The landing instant t klanding is implicitly defined by the feet touching the ground, i.e.
1 No upper index is used for the inertial coordinate system ð0xyÞ for the sake of simplicity.
yF ðt klanding Þ ¼ 0:
2
ð2Þ l23
ð6Þ
K. Graichen et al. / Control Engineering Practice 42 (2015) 106–117
109
Fig. 4. Hopping cycle of the BionicKangaroo.
actuation (in contrast to a single hip actuator). Moreover, the control scheme must be implementable on the PLC hardware of the BionicKangaroo. In the following sections, a two-stage model-based control approach is pursued to cope with these problems, see Fig. 5. Separate controllers are designed for the flight phase and the stance phase with an additional switching condition that initiates the next hopping cycle k þ1 by activating the pneumatic actuation.
3. Flight phase control
Fig. 5. Principal control structure with flight and stance phase control stages and transitions (shaded boxes).
þ1 Stance phase (landing), t A ½t klanding ; t kstart Þ: During landing, the
legs are shortened and the kinetic energy is stored as potential energy in the elastic tendon of the leg kinematics. In addition, the body and tail angles that are used in the flight phase to bring the legs to the front are restored to their default þ1 positions. The next hopping cycle starts at time t kstart , when a switching condition between the leg angle and its velocity is satisfied (see Section 4.3). 2.4. Control structure The control design for the BionicKangaroo has to cope with several difficulties. The BionicKangaroo is an unstable and nonlinear process and the flight and stance phases have to be precisely coordinated to provide reproducible hopping cycles. Moreover, no small angle approximations can be used to simplify the control design. As mentioned in the introduction, there exist different control approaches for stabilizing hopping robots. However, the BionicKangaroo is a more complex system than considered in most of the previous works. This concerns in particular the complex nonlinear characteristics, e.g., of the leg kinematics and the pneumatic actuators as well as the simultaneous hip and tail
The flight phase plays an important role in stabilizing the hopping cycle. The control scheme has to be sufficiently accurate as the landing phase is highly sensitive w.r.t. the leg angle ϕ at the landing instant t klanding . The control scheme also has to be robust to changing conditions and angular fluctuations at the moment of take-off. A suitable control structure to achieve these goals is the two-degrees-of-freedom scheme in Fig. 6. The trajectory planning for the flight phase is based on a nonlinear flight phase model and a feedforward control (Devasia, Chen, & Paden, 1996; Graichen, 2006) for the hip and tail actuation. In addition, an optimal state feedback controller is designed to stabilize the kangaroo along the flight trajectory. 3.1. Flight phase dynamics During flight, the leg is kept constant at its maximum length, i.e. l ¼ lmax . Hence, the configuration of the BionicKangaroo during flight can be described by the subvector qflight ¼ ½ϕ; α; θ; xH ; yH T
ð7Þ
of the coordinates (1). The equations of motion are derived via the Lagrangian formalism. The kinetic (translational and rotational) energy T and the potential energy V in the flight phase is given by T ¼ 12 ðm1 ‖s_ 1 ‖2 þ m2 ‖s_ 2 ‖2 þ m3 ‖s_ 3 ‖2 Þ _ 2 þ 1 J ðϕ _ þ α_ Þ2 þ 1 J ðϕ _ þ α_ þ θ_ Þ2 þ 12 J 1 ðlmax Þϕ 2 2 2 3 V ¼ gðm1 y1 þ m2 y2 þ m3 y3 Þ:
ð8aÞ ð8bÞ
The potential energy stored in the elastic tendons is constant during flight and therefore can be neglected in (8b). The variables yi, i ¼1, 2, 3 in (8b) denote the y-components of the center of mass vectors (3).
110
K. Graichen et al. / Control Engineering Practice 42 (2015) 106–117
Fig. 7 shows a comparison between measurements during flight and simulation results with the optimized parameter values. The first interval of the measurement trajectories was discarded in the identification due to the vibrations in the mechanical structures directly after take-off. After the identification, the model accurately mirrors the flight dynamics of the BionicKangaroo and is used as the basis for the model-based flight controller design. Fig. 6. Two-degrees-of-freedom control scheme for the flight phase control.
With the Lagrangian L ¼ T V, the Euler–Lagrange equations read as d ∂L ∂L ¼ τj ; dt ∂q_ flight;j ∂qflight;j
j ¼ 1; …; 5
ð9Þ
with the generalized forces τ ¼ ½0; M H ; M T ; 0; 0T . As mentioned earlier, the harmonic drives in the hip and tail joints are operated in velocity control mode instead of assigning the torques MH and MT directly. The velocity control mode is accounted for by only considering the Euler–Lagrange equations (9) for ðϕ; xH ; yH Þ and solving them for the second derivatives € ; x€ ; y€ Þ, which leads to the form ðϕ H H 0 1 € ϕ B C B x€ H C ¼ gðq; q; _ α€ ; θ€ Þ: ð10Þ @ A €y H Using the controls (2) for the second derivatives of the actuated coordinates ðα; θÞ and adding the trivial dynamics €l ¼ 0 for the constant leg length l ¼ lmax , the dynamics in the flight phase can be written as the second-order differential equations for the overall coordinate vector (1) _ uÞ q€ ¼ f ðq; q;
ð11Þ T
with the controls u ¼ ½u1 ; u2 . The Euler–Lagrange equations (9) as well as the flight dynamics (11) are derived using MATHEMATICA and export routines for optimized C code. 3.2. Parameter identification The model-based control of the flight phase requires a very accurate identification of the relevant mechanical parameters. To this end, measurement trajectories qmeas ðtÞ are recorded for several jumps and corresponding control trajectories umeas ðtÞ, t A ½0; T meas and a nonlinear least-squares optimization problem is formulated according to Z T meas ‖qðtÞ qmeas ðtÞ‖2 dt ð12aÞ min p
s:t:
0
€ ¼ f ðqðtÞ; qðtÞ; _ qðtÞ umeas ðtÞ; pÞ qð0Þ ¼ qmeas ð0Þ;
_ qð0Þ ¼ q_ meas ð0Þ:
ð12bÞ ð12cÞ
The optimization vector p contains the mechanical parameters p ¼ ½J 2 ; J 3 ; sT2 ; sT3 T .2 The numerical solution of the optimization problem (12) was carried out with the MATLAB Optimization Toolbox using the CAD values of the corresponding mechanical parameters as initial guess for p. The optimized values of p ¼ ½J 2 ; J 3 ; sT2 ; sT3 T are included in Table 2.3 2 In (12b), the flight dynamics (11) was formally extended by the parameter vector p to show its dependence on p. 3 The CAD values as the initial guess for the optimization are J 2 ¼ 0:0465 kg m2 , ð3Þ T T J 3 ¼ 0:0256 kg m2 , sð2Þ 2 ¼ ½0:073; 0:076 m, and s3 ¼ ½0:248; 0:041 m. The CAD
3.3. Trajectory planning and feedforward control The trajectory planning has to consider several aspects to provide the means for a stable hopping cycle. A measure for the energy that is transferred to the next hopping cycle is the angle γ between the leg angle ϕ and the hip velocity vector x_ H at the landing instant t klanding , see Fig. 6. A larger value for γ corresponds to a next jump with higher speed, whereas smaller values of γ mean that a larger part of the kinetic energy is used for shortening the legs and therefore for tensioning the elastic tendon. To simplify matters, the normalized time coordinate τ ¼ t t ktakeoff with τ A ½0; T is introduced, where T ¼ t klanding t ktakeoff denotes the flight time for the k-th jump. The goal of the trajectory planning is to compute reference trajectories for the n n angles ϕ ðτÞ, αn ðτÞ, θ ðτÞ, τ A ½0; T n and a corresponding reference n flight time T such that the desired γ-value at the end of the flight is attained. This design goal can be mathematically stated as ! x_ n ðT n Þ γ ¼ arctan Hn n ϕnT ð13Þ y_ H ðT Þ with the leg angle ϕT ¼ ϕ ðT n Þ and the velocity vector n x_ H ðT n Þ ¼ ½x_ nH ðT n Þ; y_ nH ðT n ÞT at Tn. A further relation for the flight time Tn is given by the time instant when the foot point (4) touches the ground, i.e. n
n
ynF ðT n Þ ¼ ynH ðT n Þ l cos ϕT ¼ 0: n
ð14Þ
The conditions (13) and (14) represent two nonlinear equations n that involve the two variables ϕT and Tn and the (so far) unknown flight trajectory xnH ðτÞ, τ A ½0; T n of the hip point evaluated at Tn. The hip trajectory xnH ðτ Þ can be computed by taking a closer look at the overall center of mass of the kangaroo: xS ¼
1 ðm1 xS1 þ m2 xS2 þ m3 xS3 Þ: m1 þ m2 þ m3
ð15Þ
It is well known that the overall center of mass follows a parabolic trajectory of the form " # xS;0 þ x_ S;0 τ xS ðτÞ ¼ ð16Þ ; τ A ½0; T yS;0 þ y_ S;0 τ 12g τ2 with the initial conditions xS;0 ¼ ½xS;0 ; yS;0 T and x_ S;0 ¼ ½x_ S;0 ; y_ S;0 T after take-off. The connection between the hip vector xH and xS is derived via the relations (3) and (15) and differentiation w.r.t. time, leading to relations of the form xS ¼ f HS ðxH ; ϕ; α; θÞ
3
xH ¼ f SH ðxS ; ϕ; α; θÞ:
ð17Þ
Obviously, the trajectory xH ðτÞ of the hip and its time derivative n x_ H ðτÞ not only depends on the ballistic trajectory (16) but also on n n the trajectory of the angles αn ðτÞ, ϕ ðτÞ and θ ðτÞ and their time derivatives. n
(footnote continued) model mainly considered the mechanical components which is the reason for the deviation of the optimized parameters (see Table 2) from the CAD values.
K. Graichen et al. / Control Engineering Practice 42 (2015) 106–117
111
Fig. 8. Structural illustration of the body dynamics (24) for the feedforward control design of the flight phase.
leading to a dynamics of the form
α€ ¼ f α ðα; α_ ; ϕ; ϕ_ ; ϕ€ ; θ; θ_ ; θ€ ; xH ; x_ H ; x€ H Þ:
ð23Þ
Inserting the trajectories (20) and (22) for ϕ and θ and their time derivatives as well as (17) and (16) for xH and x_ H then results in the initial value problem for the body dynamics Fig. 7. Measurement and simulation results after the parameter optimization.
The trajectory ϕ ðτÞ of the leg angle is defined as a polynomial n
ϕn ðtÞ ¼
3 X
bi
τ T
i¼0
i ð18Þ
n
with the boundary conditions
ϕn ð0Þ ¼ ϕ0 ;
n
ϕ_ ð0Þ ¼ ϕ_ 0 ;
ϕn ðT n Þ ¼ ϕnT ;
n
ϕ_ ðT n Þ ¼ 0;
ð19Þ
_ are the initial conditions after take-off and ϕn where ϕ0 and ϕ 0 T denotes the desired stationary angle at the landing instant that also appears in the previous nonlinear equations (13) and (14). The boundary conditions (19) result in four equations for the polynomial coefficients bi with the solution 2 τ ϕn ðτÞ ¼ ϕ0 þ ϕ_ 0 τ þ ð3ϕnT 3ϕ0 2T n ϕ_ 0 Þ n T 3 n _ Þ τ _ ; ϕ ; T nÞ þ ð 2ϕT þ 2ϕ0 þ T n ϕ ≕ h ϕ ðτ ; ϕ0 ; ϕ ð20Þ 0 0 T Tn depending on the flight time Tn and the desired landing angle ϕT of the leg. During the flight phase the tail is used to counteract the torque applied at the hip to reduce the body movement while the legs are n moved to the front for the next landing phase. Similar to ϕ ðτÞ a n polynomial for the tail angle trajectory θ ðtÞ is constructed with the boundary conditions n
θn ð0Þ ¼ θnstance ;
n
θ_ ð0Þ ¼ 0;
θn ðTÞ ¼ θnflight ;
n
θ_ ðTÞ ¼ 0
ð21Þ
where it is assumed that the tail was moved to its stationary n default position θstance during the last stance phase. Moreover, θnflight denotes a desired stationary, predefined value. In analogy to (20) the polynomial solution is given by 2 τ θn ðτÞ ¼ θnstance þ ð3θnflight 3θnstance Þ n T 3 τ n n þ ð 2θflight þ 2θstance Þ n ≕ hθ ðτ; T n Þ: ð22Þ T The polynomial setups (20) and (22) reduce the number of unknown quantities for the flight trajectory (17) to the hip angle trajectory αn ðτÞ and its time derivative α_ n ðτÞ. To this end, the Euler–Lagrange equation (9) for the leg angle ϕ is solved for α€ ,
α€ n ðτÞ ¼ f nα ðαn ðτÞ; α_ n ðτÞ; τ; T n ; ϕnT Þ; αn ð0Þ ¼ αnstance ; α_ n ð0Þ ¼ 0;
ð24Þ
in which only the leg angle ϕT and the flight time T are unknown. Similar to the boundary conditions (21) it is assumed that the body angle was moved to its stationary default position αnstance during the last stance phase and therefore serves as initial value in (24). Fig. 8 illustrates the derivation of (24), whereby the time derivatives of the coordinates are omitted for the sake of simplicity. The initial value problem (24) can be numerically integrated n over τ A ½0; T n for given values ðϕT ; T n Þ. The additional computan tion of (17) with (20) and (22) then leads to xnH ðT n Þ and x_ H ðT n Þ and finally to the evaluation of the nonlinear equations (13) and (14). In summary, (13) and (14) can be interpreted as a nonlinear n root finding problem for ðϕT ; T n Þ in dependence of a desired γ_ Þ of the leg after take-off angle and the initial conditions ðϕ0 ; ϕ 0 from the ground. The problem is solved using MATLAB's Optimization Toolbox (fsolve). However, due to the underlying nonlinear integration and the iterative solution character, the computations are performed offline by calculating the trajectories for a number of γ-values and a two-dimensional lookup table for the initial _ Þ. In addition, the computed lookup tables are states ðϕ0 ; ϕ 0 approximated by multi-dimensional polynomials, leading to significant savings on the PLC hardware in terms of memory, while maintaining a high accuracy of the flight trajectories. Fig. 9 shows the results of the offline computations for two _ Þ. In different γ-values plotted over the initial conditions ðϕ0 ; ϕ 0 addition, Fig. 10 shows two arbitrary profiles of the flight trajectories for γ ¼01 and γ ¼101. The kangaroo snapshots clearly show the influence of the leg angle at the landing instant compared to the velocity vector x_ H (red arrows in Fig. 9). n
n
3.4. Feedback control design The trajectory planning provides the reference flight trajectories as well as the feedforward controls un1 ðτÞ ¼ α€ n ðτÞ;
n un2 ðτÞ ¼ θ€ ðτÞ
ð25Þ
for the flight phase, see Fig. 6. In addition, the feedforward control is supported by a feedback controller, in order to stabilize and robustify the BionicKangaroo during the flight. The control law is designed as linear time-varying feedback
ΔuðτÞ ¼ KðτÞΔxðτÞ;
τ A ½0; T n ;
ð26Þ
112
K. Graichen et al. / Control Engineering Practice 42 (2015) 106–117
Fig. 9. Landing angle ϕnT and flight time Tn for different γ-values plotted over _ k ϕ0 ¼ ϕðt ktakeoff Þ and ϕ_ 0 ¼ ϕðt takeoff Þ. (For interpretation of the references to color in this figure, the reader is referred to the web version of this paper.) Fig. 11. Averaged solution of the Riccati differential equation (29) and entries of the feedback matrix KðτÞ of the linear time-varying control law (26).
Theoretically, the feedback matrix KðτÞ has to be computed for every reference trajectory, i.e. for every γ-value and for all initial _ Þ. In order to simplify matters and to ensure leg conditions ðϕ0 ; ϕ 0 implementability on the PLC hardware of the BionicKangaroo, the feedback matrix trajectories are computed for several representative reference trajectories and are averaged afterwards. Fig. 11 shows the resulting feedback matrix trajectory KðτÞ, for which simulations as well as experimental results have shown very good tracking behavior.
Fig. 10. Illustration of flight trajectories for different γ-values.
where Δu is added to the feedforward part, as shown in Fig. 6. The state vector Δx ¼ xn x denotes the distance to the reference _ ; α; α_ ; θ; θ_ T consisting of the angles and trajectories with x ¼ ½ϕ; ϕ angular velocities. The time-varying ð2 6Þfeedback matrix KðτÞ is designed as to minimize the cost functional 1 1 J ¼ ΔxðT n ÞT S ΔxðT n Þ þ 2 2
Z
Tn 0
ΔxðτÞT Q ΔxðτÞ þ ΔuðτÞT RΔuðτÞ dτ; ð27Þ
following the well-known linear-quadratic regulator (LQR) design (Kwakernaak & Sivan, 1972). The LQR feedback matrix KðτÞ is given by KðτÞ ¼ R 1 BT PðτÞ
ð28Þ
with the symmetric and positive definite matrix PðτÞ as solution of the Riccati differential equation P_ ¼ PAðτÞ AT ðτÞP þPBðτÞR 1 BT ðτÞP Q ;
PðT n Þ ¼ S:
ð29Þ
The time varying matrices AðτÞ and BðτÞ are the jacobians of the system dynamics (11) in state space form evaluated along the reference trajectories xn ðτÞ, τ A ½0; T n . The weighting matrices in (27) are chosen as diagonal matrices
4. Stance phase control The control of the stance phase consists of two tasks: (a) to restore the actuated body and tail angles to their default values and (b) to stabilize the kangaroo against roll movements stemming from the previous take-off and flight phases, which otherwise would build up over the hopping cycles and lead to instability. 4.1. Position control for body and tail angles During flight, the hip and tail actuation is used to control the n leg angle ϕ to the target value ϕT in accordance with the desired γ-value, as discussed in Section 3. Both actuations lead to downward and upward movements of the body and the tail (also see Fig. 4). The stance phase is used to restore the body and tail angles α n and θ to their default relative positions ðαnstance ; θstance Þ. To this end, position controllers are designed according to u1 ¼ pα;1 α_ pα;0 ðα αnstance Þ n Þ: u ¼ p θ_ p ðθ θ 2
θ;1
θ;0
ð31Þ
stance
2
Q ¼ diagð102 ; 0; 100 ; 0; 102 ; 0Þ R ¼ diagð10 1 ; 10 1 Þ S ¼ diagð103 ; 0; 100 ; 0; 103 ; 0Þ:
ð30Þ
The choice of weights is a trade-off between good tracking performance for the reference trajectories of ϕ and θ, while allowing larger deviations in the body angle α. The reason for allowing more control freedom in α instead of θ is twofold: the body has a considerably larger moment of inertia J2 (cf. Table 2) and therefore tends towards smaller angular deviations than the tail angle θ during actuation. On the other hand, the physical restrictions for the tail angle are more severe in order to ensure landing and take-off without the tail hitting the ground.
The controller gains pα;0 ¼ pθ;0 ¼ 400 s and pα;1 ¼ pθ;1 ¼ 40 s 1 are computed via eigenvalue assignments and correspond to time constants of 0.05 s in order to be able to reach the default n setpoints ðαnstance ; θstance Þ sufficiently close in the approximate time frame of 0.2 s until the bottom point of the stance phase is reached. 4.2. Stabilization of roll dynamics A natural consequence of the separate actuation and spring– damper characteristics of both legs is the occurrence of roll dynamics during the flight phase. Although these disturbances are in general small, they nevertheless build up over the single hopping cycles and therefore require a controlled compensation.
K. Graichen et al. / Control Engineering Practice 42 (2015) 106–117
113
Fig. 13. Pneumatic flow function (34) with respect to the pressure in front (pprim ) and behind (psec ) a flow resistance.
C max and the critical pressure ratio b, i.e. (see ISO 6358): ( vi C max ρ0 ps Ψ ðpi =ps ; bÞ; vi Z 0 _i¼ m vi C max ρ0 pi Ψ ðp0 =pi ; bÞ; vi o 0; Fig. 12. Illustration of roll angle Γ during the flight phase.
The pneumatic actuation system in each leg of the BionicKangaroo consists of a pneumatic piston, quick action valves in 5=3configuration and a sensing unit for measuring the pressure pi in the upper piston chambers of both legs i A f1; 2g. At the start of a new hopping cycle, the pneumatic actuators are used to provide energy for the take-off (in addition to the potential energy stored in the elastic tendon). In general, however, possible asymmetries in the setup (kinematics, springs, pneumatics) result in different effective forces in both legs that generate a torque about the longitudinal axis of the BionicKangaroo leading to the abovementioned roll dynamics. Since the chamber pressures influence the dynamic suspension characteristics of the BionicKangaroo, the independent adjustment of the pressure levels p1 and p2 in both legs allows one to react to the asymmetric suspension behavior in order to stabilize the roll movements of the kangaroo. Fig. 12 illustrates this case. If the kangaroo is not vertically aligned about the longitudinal axis during flight (roll angle Γ a 0), a different suspension behavior can be realized in the legs. In the landing phase, this asymmetric suspension results in a counter torque in the roll direction in order to compensate for the roll angle Γ. The pressure controller developed in this section uses a modelbased design. The pressure dynamics can be modeled using the first law of thermodynamics in connection with the ideal gas law (Murrenhoff, 2014). In addition, the pressure dynamics also depend on the variation of the chamber temperature, see, e.g., Göttert (2004). To keep the modeling complexity in reasonable domains, the temperature in the piston chambers is assumed constant and the heat transfer is approximately modeled with polytropic state changes. These simplifications are reasonable in practice and lead to only minor pressure errors for servopneumatic actuators (Göttert, 2004). Using these simplifications, the pressure dynamics reads as p_ i ¼
n _ i pi V_ i Þ; ðRT m Vi
i A f1; 2g
ð32Þ
with volume Vi and pressure pi in the upper piston chamber, inlet _ i , polytropic coefficient n A ½1; 1:4, and the index mass flow m i A f1; 2g for the pneumatic actuators of the left and the right leg, respectively. The symbols T ¼293 K and R denote the (assumed constant) temperature and the specific gas constant. Note that the chamber volumes Vi vary over time as the movement of each leg changes the position of the piston inside the pneumatic cylinders. _i Under negligence of temperature effects, the inlet mass flow m can be modeled in terms of the maximum pneumatic conductance
ð33Þ
where ρ0 and p0 are the air density and ambient pressure under norm conditions, respectively, ps is the supply pressure from the compressed air reservoir (7 bar), C max denotes the pneumatic conductance at full opening of the valves, and vi A ½ 1; 1 is the normalized control variable corresponding to the pulse width modulation (PWM) of the quick action valves. Note that vi 4 0 leads to an inflation of the upper piston chamber, whereas vi o0 deflates the pneumatic actuator in the respective leg. In addition, the flow function Ψ ðÞ in (33) is generally defined as 8 sffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 2 > > < 1 q b ; q Z b ðsubcriticalÞ ð34Þ Ψ ðq; bÞ ¼ 1b > > : 1; q o b ðsupercriticalÞ as illustrated in Fig. 13. Overall, the mathematical model for the pressure dynamics is given by (13)–(14) and exhibits several characteristic nonlinearities. On the one hand, the compressibility of the air renders the dynamics (32) inherently nonlinear, in particular due to the reciprocal entry of the changing chamber volume Vi and the pressure-dependent velocity terms. On the other hand, the inlet mass flow through the valve (33) depends nonlinearly on the chamber pressure pi. To cope with these nonlinearities, the pressure controller is designed by exact feedback linearization (Isidori, 1995) following the approach presented in Hildebrandt, Sawodny, Neumann, and _ i as intermediate Hartmann (2005). Taking the inlet mass flow m control variable, the feedback law 1 Vi _i¼ νi V_ i pi ; i A f1; 2g ð35Þ m RT n with the new input (32): p_ i ¼ νi ;
νi exactly linearizes the pressure dynamics
i A f1; 2g:
ð36Þ
Hence, a nonlinear feedback law can be designed as
νi ðtÞ ¼ p_ ni ðtÞ þK p ðpni ðtÞ pi ðtÞÞ;
iA f1; 2g
ð37Þ
with the feedback gain K p 4 0 that achieves the tracking of an arbitrary (differentiable) pressure reference trajectory pni ðtÞ and asymptotically stabilizes the tracking error ei ðtÞ ¼ pi ðtÞ pni ðtÞ. _ i in (35) only acts as intermediate As mentioned before, m control variable. The actual control variable, i.e. the valve voltage vi, can be obtained by computing the inverse valve equation (33) of the form _ i ; pi Þ; vi ¼ κ i ðm
iA f1; 2g
ð38Þ
_ i inserted from (35). with the pressure measurement pi and m The reference trajectories pni ðtÞ that are required in (35)–(38) are designed to compensate the roll angle Γ a 0 during the last
114
K. Graichen et al. / Control Engineering Practice 42 (2015) 106–117
Fig. 14. Roll angle Γ for successive hopping cycles with and without stabilizing pressure controllers.
flight phase (see Fig. 12). This is done by designing a proportional feedback-like trajectory of the form pn1 ðtÞ ¼ pnstance þ K Γ Γ ðtÞ
pn2 ðtÞ ¼ pnstance K Γ Γ ðtÞ;
ð39Þ
where the proportional factor K Γ 4 0 weights the roll angle Γ and pnstance denotes the pressure level corresponding to a satisfactory suspension behavior. In the landing phase, the desired pressure trajectories pni ðtÞ are instantaneously adapted to any changes in the roll angle Γ measured by the onboard IMU of the BionicKangaroo. The resulting trajectories pni ðtÞ are additionally differentiated w.r.t. time to obtain the derivatives p_ ni ðtÞ that are required for the pressure tracking control law (37). Fig. 14 shows the measurement results for successive jumps of the BionicKangaroo with and without the nonlinear pressure controller. It is clearly visible that the pressure controller stabilizes the roll angle Γ, while significant roll movements occur in the unstabilized case. 4.3. Switching condition The control laws derived in Sections 3 and 4 consider the flight and stance phases separately. Connecting both phases to one þ1 closed hopping cycle leads to the question, at which time t kstart to apply the actuation force F pneu as the event that initiates the next hopping cycle, see Fig. 5. During the whole stance phase, the hip and tail actuation is determined by the position controllers (31). Under the assumption n that the corresponding stationary setpoints ðαnstance ; θstance Þ are sufficiently closely reached during the landing interval, the cyclic _ Þ of switching condition only involves the angular variables ðϕ; ϕ the legs. Hence, a switching condition of the form þ1 _ ðt k þ 1 ÞÞ ¼ 0: gðϕðt kstart Þ; ϕ start
ð40Þ
is sought that defines the start of the next cycle k þ1 and therefore the activation time for the pneumatic force F pneu ðtÞ, þ1 kþ1 t A ½t kstart ; t takeoff . An accurate determination of the switching curve (40) involves both the flight and stance control parts including the pressure controllers for stabilizing the roll dynamics. In order to capture these as well as further effects that are hard to model mathematically4, the switching condition (40) was experimentally deter_ Þ are mined by finding stationary hopping cycles where ðϕ; ϕ 4 For instance, the roll movement of the feet during the stance phase as well as structural impacts and dampings at the instants of landing and take-off.
_ k Þ and approximated Fig. 15. Measurement points ϕ ¼ ϕðt kstart Þ and ϕ_ ¼ ϕðt start switching curve (40) for stationary hopping cycles.
þ1 identical at the time points t kstart and t kstart . This was achieved in an iterative manner by initiating a jump in the lower compressed leg position for given ϕ-values and varying the corresponding _ at the start of actuation in order to obtain a angular velocity ϕ reproducible jump. _ Þmeasurements. Fig. 15 shows the corresponding ðϕ; ϕ Obviously, the switching function (40) can be approximated by a linear curve that is used to determine the actuation time for the pneumatic force as the start of the next hopping cycle. The _ are due to slight variations in the single jumps uncertainties in ϕ as well as measurement noise of the IMU. These variations are accounted for by the adaptive feedforward part of the flight controller.
5. Experimental results The overall control concept for the BionicKangaroo in Fig. 5 consists of the flight and stance phase control schemes introduced in Sections 3 and 4, respectively. This section presents the experimental results for the BionicKangaroo as well as an estimate of its energy efficiency in terms of the stored and supplied energy per cycle. 5.1. Measurement results The control concepts for the flight and stance phases are implemented on the PLC hardware of the BionicKangaroo with an overall sampling time of 2 ms. As mentioned earlier, the polynomial coefficients for the reference flight trajectories (20) and (22) are computed offline and stored in lookup tables, whereas the numerical integration of (23) to determine the αn trajectory is performed online. _ Þ for the flight trajectory (20) are The initial conditions ðϕ0 ; ϕ 0 computed using a filter algorithm over a short time interval after _ Þ are started take-off. The measurements for computing ðϕ0 ; ϕ 0 20 ms after the take-off instant t ktakeoff in order to wait for the decline of structural oscillations after take-off. With the additional filtering time interval of 20 ms, the overall time delay between take-off and start of the flight controller amounts to 40 ms. Figs. 16 and 17 show the measurement trajectories for three successive jumps and two different γ-values. The transitions between stance and flight phases are illustrated by the vertical lines. During the flight phase, the leg is maximally stretched (l ¼ lmax ) whereas during the landing phase the legs are shortened and the kinetic energy of the last flight phase is stored in the elastic tendon. The measurements during the single stance phases also show the controlled shortening of the legs due to the pressure
K. Graichen et al. / Control Engineering Practice 42 (2015) 106–117
115
Fig. 16. Measurements for successive hopping cycles with reference/feedforward trajectories for the flight phase (red) and switching instants between flight and stance phases (green dashed) for γ ¼ 31. (For interpretation of the references to color in this figure caption, the reader is referred to the web version of this paper.)
controllers as well as the rapid control of the body and tail angles n to their default values αnstance ¼ 1001 and θstance ¼ 51 by the position controllers (31), which confirms the basic assumption of the trajectory planning in Section 3. The time interval of 40 ms between take-off and the start of the flight control is visible in the profiles for the leg angle ϕ. It is also visible that the reference n trajectory ϕ ðtÞ starts tangentially to the actual measurements ϕðtÞ which confirms the accurate estimation of the initial conditions after take-off. The next hopping cycle is started when the switching condition (40) is satisfied. The activation of the pneumatic force F pneu supports the extension of the legs. The average stance time consisting of landing and actuation is approx. 0.5 s. A rough estimate of the natural frequency and thep corresponding (theoreffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ffi tical) stance time follows from ωn ¼ c=ðm1 þm2 þ m3 Þ and T stance ¼ π =ωn 0:34 s. The difference between the actual and theoretical stance time is due to several reasons, e.g., the interaction with the pressure controller to stabilize the roll movement, friction effects due to the pneumatic actuators as well as the pretensioning of the elastic tendons. These effects in addition to the natural frequency of the leg kinematics are implicitly taken into account by the experimentally determined switching curve that connects the landing and actuation intervals of the stance phase. A comparison of the angular trajectories during the flight phase shows that the flight controller puts more weight on the tracking performance of the leg angle ϕ at the expense of the body angle α, as intended by the LQR weights (30). A high tracking performance for the leg angle ϕ is of importance as the stability in the subsequent landing phase mainly depends on an exact adjustment of the legs. The deviations from the reference trajectories are mainly caused by model inaccuracies and asymmetries as well as deviations in the estimated initial conditions due to sensor uncertainties and the impulse forces acting on the BionicKangaroo at landing and take-off. The right-hand plots in Figs. 16 and 17 show the torques that are applied at the hip and tail joints compared to the feedforward trajectories M nH ðtÞ and M nT ðtÞ (red lines) that are obtained by solving the Euler–Lagrange equations (9) for ðα; θÞ w.r.t. ðM H ; M T Þ and inserting the respective nominal flight trajectories (Section 3.3). The actual torque profiles show a clear correspondence with the
feedforward parts which illustrates the effectiveness of the twodegrees-of-freedom control scheme in Fig. 6. The main control action during the flight phase control is performed by the feedforward part, while the feedback control corrects the deviations from the nominal flight trajectories. To demonstrate the increased traveling speed of the BionicKangaroo for γ ¼61 compared to γ ¼31, Fig. 18 shows the trajectories of the overall center of mass xS ðtÞ, the hip point xH ðtÞ, and the foot point xF ðtÞ. The trajectories are reconstructed from the measurement data shown in Figs. 16 and 17. For γ ¼61, the BionicKangaroo covers a distance of approx. 2 m compared to 1.8 m for γ ¼ 31. Using the traveled distance of the last two jumps and the corresponding time span, the traveling speed was calculated as 0.698 m/s for γ ¼ 31 and 0.779 m/s for γ ¼ 61, which confirms the basic intention behind the definition of γ (also see Fig. 6). However, a comparison of Figs. 16 and 17 also reveals that larger values of γ not only increase the overall hopping speed and jump length, but also lead to larger angular displacements and render the hopping cycle more sensitive. 5.2. Energy considerations Although optimizing the energy efficiency of the BionicKangaroo was not the first consideration during the prototype construction, an estimate of the energy stored in the elastic tendons vs. the energy supplied by the pneumatic actuators is nevertheless of interest. The energy stored during landing follows from the consideration Etendon ¼ 12 cððltendon ðlmin Þ ltendon;0 Þ2 ðltendon ðlmax Þ ltendon;0 Þ2 Þ ¼ 30:1 J
ð41Þ
with the tendon length function ltendon ðlÞ shown in Fig. 3. On the other hand, the energy supplied by the pneumatic actuators during the actuation interval of the stance phase is Epneu ¼ F pneu ðlmax lmin Þ ¼ 11:25 J:
ð42Þ
In addition, an estimate of the cycle energy can be obtained by calculating the overall (constant) energy during flight, i.e. Eflight ¼ T þ V with the kinetic and potential energy terms (8).
116
K. Graichen et al. / Control Engineering Practice 42 (2015) 106–117
Fig. 17. Measurements for successive hopping cycles with reference/feedforward trajectories for the flight phase (red) and switching instants between flight and stance phases (green dashed) for γ ¼ 61. (For interpretation of the references to color in this figure caption, the reader is referred to the web version of this paper.)
Table 1 Energy estimates for the BionicKangaroo.
Fig. 18. Comparison of the time trajectories at the foot xF ðtÞ, the hip joint xH ðtÞ, and the overall center of mass xS ðtÞ corresponding to the measurements in Figs. 16 and 17.
Evaluating the measurement results in Figs. 16 and 17 for γ ¼31 and γ ¼ 61 then leads to the estimates in Table 1 with the corresponding storage and supply ratios. The difference between Eflight and Etendon þEpneu is due to the remaining kinetic energy during the stance phase and the energetic losses, mainly caused by friction effects in the pneumatic actuators and the roll movement of the feet during stance. It can be observed from the data in Table 1 that γ ¼ 61 leads to a higher storage or recuperation ratio and a lower supply ratio. Hence, γ ¼61 can be regarded as being more energy efficient than γ ¼31.
6. Conclusions The BionicKangaroo is a bionic demonstrator designed and built by the Festo Bionic Learning Network to mirror the unique
γ [deg]
Total energy Eflight [J]
Storage ratio Etendon =Eflight Supply ratio Epneu =Eflight [%] [%]
3 6
54.6 59.8
55.1 50.0
20.6 18.8
movement characteristics of the kangaroo. From the constructional viewpoint, carbon-made leg kinematics and the combination of elastic tendons and light-weight pneumatic actuators in connection with harmonic drives for high-performance control of hip and tail result in a highly dynamical system with an overall low weight of approx. 7 kg. From the control point of view, hardly any results exist in the field of hopping robots with both hip and tail actuation that could be built upon. Moreover, a significant challenge is to stabilize the overall hopping cycle consisting of flight and stance phases in view of the characteristic nonlinearities of the BionicKangaroo and the computational restrictions due to the onboard PLC hardware. The control scheme proposed in this paper approaches these problems by designing nonlinear controllers for the flight and stance phase that are linked via a switching condition to initiate the next hopping cycle. The adaptive flight phase controller controls the kangaroo along reference flight trajectories and accounts for its configuration at take-off. Moreover, roll movements along the longitudinal axis of the kangaroo are compensated in the stance phase by using a nonlinear tracking controller for the chamber pressures of the pneumatic actuators. The overall control concept is demonstrated by experimental results of the BionicKangaroo that show the efficiency and robustness of the concept. Possible future research aims into the direction of improving the hardware design in terms of energy efficiency and optimizing the mass distribution and mechanical parameters to achieve a more robust hopping. For instance, a more even relation between the masses and inertias would allow the tail to compensate the relative movement of the body during flight more effectively.
K. Graichen et al. / Control Engineering Practice 42 (2015) 106–117
Further research in the control design concerns the improvement of robustness regarding variable terrain or other perturbations, for instance, by online adapting the cyclic switching condition or identifying stochastic maps to experimentally capture the uncertainties and variations over the hopping cycles. Moreover, first simulation results have shown that a model predictive control scheme could further improve the control performance while accounting for additional constraints. An experimental implementation, however, would require a significantly more powerful real-time hardware and a further refinement of the dynamical model of the BionicKangaroo, especially of the leg kinematics and of the transitions between flight and stance phases.
Acknowledgments The authors would like to thank Daniel Bauer, Mart Moerdijk, Merlin Morlock, and Martin Ehrle for their support with building and parametrizing the BionicKangaroo.
Appendix A. Mechanical parameters Table 2 summarizes the mechanical parameters of the BionicKangaroo that are defined and used in Section 2. The parameter values are partly collected from CAD data, measurements, and the parameter identification in Section 3.2. Table 2 Mechanical parameters of the BionicKangaroo. Symbol
Unit
Value
Symbol
Unit
Value
J1
kg m2
Fig. 3
½0:196; 0:024T
kg m2 kg m2 kg
0.092 0.034 1.77
sð3Þ 3 lmin lmax
m
J2 J3 m1
0.43 0.58 ½ 0:0605; 0:0327T
m2 m3
kg kg kg
4.6 0.97 Fig. 3
l23 ltendon ltendon;0 F pneu a
m m m m m N
Fig. 3 0.3 75
m
½0:05; 0:062T
c
N/m
600
sð1Þ 1 sð2Þ 2 a
ð2Þ
Pneumatic force acting in direction of l.
References Ahmadi, M., & Buehler, M. (1997). Stable control of a simulated one-legged running robot with hip and leg compliance. IEEE Transactions on Robotics and Automation, 13(1), 96–104. Bai, L., Ge, W., Chen, X., & Meng, X. (2011). Hopping capabilities of a bio-inspired and minimally actuated hopping robot. In Proceedings of 2011 international
117
conference on electronics, communications, and control (ICECC) (pp. 1485–1489), Zhejiang, China. Biewener, A., McGowan, C., Card, G., & Baudinette, R. (2004). Dynamics of leg muscle function in tammar wallabies (M. eugenii) during level versus incline hopping. Journal of Experimental Biology, 207(2), 211–223. Briggs, R., Lee, J., Haberland, M., & Kim, S. (2012). Tails in biomimetic design: Analysis, simulation, and experiment. In Proceedings of 2012 IEEE/RSJ international conference on intelligent robots and systems (IROS) (pp. 1473–1480), Vilamoura, Portugal. Carlési, N., & Chemori, A. (2010). Nonlinear model predictive running control of kangaroo robot: One-leg underactuated planar hopping robot. In Proceedings of 2010 IEEE/RSJ international conference on intelligent robots and systems (IROS) (pp. 3634–3639), Taipei, Taiwan. Dawson, T., & Taylor, C. (1973). Energetic cost of locomotion in kangaroos. Nature, 246, 134–313. Devasia, S., Chen, D., & Paden, B. (1996). Nonlinear inversion-based output tracking. IEEE Transaction on Automatic Control, 41(7), 930–942. Fankhauser, P., Hutter, M., Gehring, C., Bloesch, M., Höpflinger, M., & Siegwart, R. (2013). Reinforcement learning of single legged locomotion. In Proceedings of 2010 IEEE/RSJ international conference on intelligent robots and systems (IROS) (pp. 188–193), Tokyo, Japan. Festo AG & Co. KG. (2014). BionicKangaroo, Brochure, available at 〈http://www. festo.com/net/SupportPortal/Files/334102/Festo_BionicKangaroo_de.pdf〉. Göttert, M. (2004). Bahnregelung servopneumatischer Antriebe (Ph.D. thesis). RWTH Aachen, Shaker. Graichen, K. (2006). Feedforward control design for finite-time transition problems of nonlinear systems with input and output constraints. Aachen, Germany: Shaker, available at 〈http://elib.uni-stuttgart.de/opus/volltexte/2007/3004〉. Hildebrandt, A., Sawodny, O., Neumann, R., & Hartmann, A. (2005). Cascaded control concept of a robot with two degrees of freedom driven by four artificial pneumatic muscle actuators. In Proceedings of 2005 American control conference (ACC) (pp. 680–685), Portland, OR, USA. Hutter, M., Remy, C., Höpflinger, M., & Siegwart, R. (2010). SLIP running with an articulated robotic leg. In Proceedings of 2010 IEEE/RSJ international conference on intelligent robots and systems (IROS) (pp. 4934–4939), Taipei, Taiwan. Hyon, S., & Mita, T. (2002). Development of a biologically inspired hopping robot —“Kenken”. In Proceedings of 2002 IEEE international conference on robotics and automation (ICRA) (pp. 3984–3991), Washington, DC, USA. Ikeda, T., Iwatani, Y., Suse, K., & Mita, T. (1999). Analysis and design of running robots in touchdown phase. In Proceedings of 1999 IEEE international conference on control applications (CCA) (pp. 496–501), Hawaii, USA. Isidori, A. (1995). Nonlinear control systems (3rd ed.). Berlin: Springer. ISO 6358. Pneumatic fluid power components using compressible fluids—Determination of flow-rate characteristics. Kwakernaak, H., & Sivan, R. (1972). Linear optimal control systems. New York: WileyInterscience. Lüders, R. (1986). Control strategies for a multi-legged hopping robot. Pittsburgh, PA, USA: Carnegie Mellon University. McGowan, C., Skinner, J., & Biewener, A. (2008). Hind limb scaling of kangaroos and wallabies (superfamily Macropodoidea): Implications for hopping performance, safety factor and elastic savings. Journal of Anatomy, 212(2), 153–163. Murrenhoff, H. (2014). Fundamentals of Fluid Power, Part 2: Pneumatics. Shaker, Aachen, Germany. Raibert, M. (1984). Hopping in legged systems—Modeling and simulation for the two-dimensional one-legged case. IEEE Transaction on Systems, Man, and Cybernetics, 14(3), 451–463. Raibert, M. (1986). Legged robots that balance. USA: Massachusetts Institute of Technology. Rutschmann, M., Satzinger, B., Byl, M., & Byl, K. (2012). Nonlinear model predictive control for rough-terrain robot hopping. In Proceedings of 2012 IEEE/RSJ international conference on intelligent robots and systems (IROS) (pp. 1859– 1864), Vilamoura, Portugal. Zeglin, G. (1991). Uniroo: A one legged dynamic hopping robot (Bachelor thesis). Massachusetts Institute of Technology, May.