Self-tuned trajectory control of a biped walking robot

Self-tuned trajectory control of a biped walking
robot
Micheau P.1, Bourassa P.2, Roux M.A. 1
1
Université de Sherbrooke, Mechanical Engineering Departement, Sherbrooke, QC, J1K 2R1, Canada.
Email : [email protected]
Phone: (819) 821 8000 ext. 2161
Fax: (819) 821 7163
2
Research Centre on Aging, 1036 rue Belvédère Sud, Sherbrooke (QC), J1H 4C4, Canada.
Email : [email protected]
Phone: (819) 821 1170 (2326)
Fax: (819) 821 7163
ABSTRACT
The simplest walking model is considered without inclined plane. In order to recover energy lost,
impulsive force F is generated under the feet and a torque is applied between the legs. The generation
of the in-between leg angle reference is a monotone function of the angle instead of a function of
time. The simulations shown that the controller ensures a large basin of attraction in order to reach a
dynamically stable walking mode without complex planning of the trajectory. In order to experiment
this model, a prototype of a biped walking robot was realized. Preliminary experimental results are
presented.
1 INTRODUCTION
The analysis of biped gait motion provides much insight into the dynamics and control of human
gait. The simplest model of bipedal locomotion is the ‘compass-gait’. McGeer’s (1990) described
one of them with semicircular feet and a point mass at the hip walking down an inclined plane. The
walking pattern is generated by passive interaction of gravity and inertia. It could walk in a
dynamically stable manner (Miura and Shimoyarna, 1984). But, the variation of one single parameter
drives the system into bifurcation and chaotic step motions (Garcia et al.,1998; Goswani et al.,
1998).
In previous work, the authors have studied the simplest walking model with impulsive forces
generated under the feet (Bourassa and Micheau, 2002). They also controlled it with the
physiological Lambda model (Micheau et al., 2002). The feedback loop was tuned in order to obtain
an oscillating system at the walking frequency. The impulse force and the lambda controller were
tuned in order to maintain the goal of desired step duration and step length. A symmetric gait pattern
and a stable limit cycle were simulated. But the basin of attraction needed to be enlarged.
The paper presents a controller, which ensures a large basin of attraction in order to reach a
dynamically stable walking mode. This approach is equivalent to a time-scaling control.
2 ROBOT MODELING
2.1 Dynamic modelling
In this paper, the simplest walking model is considered without inclined plane (figure 1). In order
to recover the lost energy, an impulsive force F is generated under the feet and a torque is applied
between the legs. The model has a left leg rigid body and right leg of equal length L (1m), of mass m
(2 kg), and central inertia I (1.4 Nms 2), with the leg centre of mass at mid-length, L/2. The motion is
confined in the sagittal plane. A concentrated mass, me (6.9 kg), represents the upper body mass. At
this articulation centre, an internal torque T (53 Nm max), defined as acting from swing leg to stance
leg, is inserted.
Walking direction
mE
T
θ
m
Φ
m
Swing
leg
q1
q2
Stance
leg
F
Figure 1 : Model for simulation under external forces and gravity.
The equation of motion is written in the usual form
M ( q ) &&
q + F ( q, q& ) = Bu ?
(1)
where q = [q1 q 2 ] is the vector of angular coordinates, u = [T
t
of inputs B = [ BT
M = mij 
BF ] with BT =  1
 mL2
T
−
t
T
1  and
sin( q1 − q2 )  , and the mass matrix

BT =  0
2 

mL 
mL

with m21 = m12 = − cos(q1 − q2 ) , m11 =
2
F ] ?the input vector, the matrix
I
2
m L
+
1
, and m22 = I 2 + 5 + mE .
4
m L 4 m
The vector of nonlinear inertial effects (Coriolis, centrifugal and gravitational forces) is :
 1g

 1
2
−
cos ( q1 )

 − 2 sin ( q1 − q2 ) q& 2   2 L
F ( q, q& ) = 

 +
 + 1 sin ( q − q ) q& 2   +  mE + 3  g cos ( q ) 
2
1
2
1

 2
   m 2  L
(2)
2.2 Modelling the ground impact
The ground impact is modelised as rigid inelastic one. Hence, the angular velocity of each links is
calculated after the collision by the law of conservation of momentum. The collision between the
swing foot and the ground occurs at the time t f defined by the following geometric condition :
q1 (t f ) + q2 (t f ) = π . When the swing foot hits the ground, the vertical and horizontal speeds of the
swing foot is forced to zero, p&1 (t +f ) = 0 , and the names of the two legs are permuted with the matrix
0 1  :
P=

1 0 
q (t +f ) = Pq (t −f )
(3)
The angular speeds just after the collision are computed with the transition rule :
−1
q& (t +f ) = P  q& (t −f ) − M −1J T ( JM − 1J T ) p&1 (t −f )


(4)
with p&1 =  −L sin(q2 )q&2 + Lsin(q1 )q&1  the speed of the swing foot, and the Jacobian J = ∂p&1 .
 L cos(q2 )q&2 + L cos(q1 )q&1 
∂q&
3 CONTROL
3.1 The supervisor
Figure 2 presents the global structure of the control system. The supervisor manages the six
phases of walk: (1) the impulse under left foot, (2) the swing of left leg, (3) the ground collision of left
leg, (4) the impulse under the right foot, (5) the swing of right leg, (6) the ground collision of right leg.
During the swing phases (2) and (5), the robot is underactuated. The torque input has authority on the
swing leg, but a very low authority on the stance leg angle. Hence, the problem is to control the inbetween leg angle θ with the torque input T. The main control problem is to ensure a convergence
toward cyclic trajectory.
left leg impulse
F-left
impact
right leg impulse
Supervisor
A
Virtual
time
τ
F-right
Observer
Φ
xref
G(.)
x̂
State
feedback
T
θ
Biped robot
Fig. 2. Structure of the control system
3.2 The control law of the in-between leg
According to the definition of the model, the state space form of the linearized system is :
x& (t ) = Ax (t ) + B u( t ) + Gw (t )
y (t ) = Cx( t) + Hw (t ) + v( t )
(5)
with the measured output is the measured in-between angle y (t ) = θ (t ) , the input is the torque
u (t ) = T (t ) , the process noise vector w (t ) (disturbance torque), the measurement noise, v (t ) , the
1 0
θ 
 0 0
1/ J 
state vector x =  &  , A = 
, B=
, C = [ 0 1] , G = 


 , H = [0 0 ] .
θ 
 1 0
 0 
0 1
A Kalman estimator is designed to compute the estimated state vector, xˆ (t )
x&ˆ (t ) = Axˆ (t ) + Bu (t ) + L( y( t ) − Cxˆ (t ))
:
(6)
The vector L is the estimator gain.
The state feedback is a linear control law classically used in robotics. It is used to track the state
reference x ref ( t ) :
u (t ) = −K ( x ref (t ) − xˆ (t) )
(7)
The feedback gains are calculated with the pole placement technique, which consists in specifying
the dynamics of the closed-loop system (the eigenvalues of A − BK ). More robust control of the
angle could be used as the sliding-mode control (Tzafesta et al., 1996), but this will not enlarge the
basin of attraction.
3.3 The time -scaling control
The control of walking robots can be analyzed as a problem of planning an optimal trajectory as a
function of time (Quiang et al., 2001). But it also possible to define an optimal trajectory as a function
of the geometric evolution of the robot (Chevallereau, 2003). This second option is presented in this
paper : the desired in-between leg angle trajectory is defined as a function of the angle Φ instead of a
function of time. Hence, the duration of a step is not imposed by the time but by a “virtual time”
function of the geometric evolution of the robot. This approach is equivalent to define a time-scaling
control (Dahl and Nielsen, 1990). For this purpose, a function of time called “virtual time”, is defined
as a function of the angle Φ (in radian) and the desired amplitude of oscillation, A (in radian). The
parameter A is specified by the supervisor. Hence, the “virtual time” τ (t ) varies from -1 to 1 (no
unit) when the stance leg moves from the initial desired angle (-A) to the final desired angle (+A).
 Φ (t ) 
(8)
τ (t ) = sat 

 2A 
The “virtual time” is used to generate the state reference : x ref ( t ) = G (τ ) . The state reference
could be an optimal one computed off-line (Chevallereau 2003) or based on geometrical
consideration such as a smooth transition from the initial state to the final one.
In this paper, the trajectory is defined as follow :

π 

A sin  sat (ατ + β )  

G (τ ) =
2 



0

(9)
with α : a scaling factor and β : time shift. The saturation function defined as sat( x ) = 1 if
x ≥ 1 , sat( x ) = − 1 if x ≤ −1 , else sat( x ) = x . Hence, the “virtual time” is bounded. Hence, this
construction of the reference angle will only impose the step length.
4 SIMULATIONS
To solve the equations of the kinematics and dynamics of the robot mechanisms, the equations
were implemented on Matlab/Simulink with ODE5. Table 1 presents the parameter values of the
robot.
The force impulse is considered to be of constant value: it must be sufficient to compensate the
energy loss. A typical phase diagram (left leg angular velocity versus angular co-ordinate) is
presented on figure 4. After few steps, the limit cycle is reached.
1
Swing phase
dqleft/dt [rad/s]
0.5
Convergence to
the limit cycle
0
Ground
collision
Initial
coniditons
-0.5
1.35
1.4
1.45
Stance phase
1.5
1.55
qleft [rad]
1.6
1.65
1.7
1.75
Figure 3: Phase diagram of the left leg angular velocity versus angle during 60 seconds
(impulsion 2.5 N.s).
2.5
Kinetic energy [J]
2
1.5
1
0.5
1
2
3
4
5
6
7
8
9
10
step
Figure 4: Kinetic energy versus time for different impulsion values (-*-) 3N.s, (-[]-) 2.5 N.s,
(-◊-) 2 N.s, and (-o-) 1.5 N.s (the robot falls to step 7).
1 t
q& M ( q ) q& ) is calculated after each ground impact. Figure
2
4 presents this kinetic energy versus time for different impulsion values (2.5 N.s, 2 N.s and 1.5 N.s)
and different initial energy. When the kinetic energy becomes too low (0.5 J) the robot is incapable of
raising the masses, and falls backward (as shown on figure 3 at the step 7). By increasing the impulse
value, the kinetic energy increases also. When the kinetic energy becomes too high the robot falls
forward (not shown). This upper limit is due to the dynamics of the closed loop system (the
feedback) and the maximum torque. Figure 4 clearly shows the convergence after few steps of the
kinetic energy and this implies that the robot converges to a stable walking mode.
The kinetic energy of the robot ( E =
5 EXPERIMENTAL RESULTS
5.1 Experimental set-up
A prototype of a biped walking robot was realized (figure 1). The two telescopic legs are driven
by two pneumatic pistons (3 positions). Each piston is driven by 2 digital valves. They are capable of
generating impulsive force and of avoiding collision of the swing leg with the ground. The
pneumodrive was modelled.
An electrical brushless motor is used to generate torque between the legs. For the experiments,
the torque is limited to 15 Nm. One potentiometer measures the in-between angle. Another
potentiometer measures the angle between the right leg and the vertical. The electrical signals are
filtered by second order low-pass digital filtering characterized by a cut-off frequency of 60 rad/s and
a damping of 1. The gain matrix are computed with Matlab. The controller is developed with
Simulink and implemented in a rapid prototyping system : a dSpace system with one board DS1003
(TMS320C40-60MHz), and one I/O board DS2201. The sampling frequency is 1kHz. The solver is
ODE5.
5.2 Experimental results
Figure 5 presents the phase diagram of the left leg during 10 seconds (there is no experimental
data for the stance phase). Figure 6 presents the in-between angle versus time for different step length
reference, i.e. for a time-varying A(t). The robot is able to track the reference angle and to maintain
a stable walking cycle. The speed is maintained to 0.28 m/s.
qlef t versus dq lef t/dt
3
Swing phase
2.5
2
[rad/s]
1.5
1
0.5
Impulse
Stance phase
0
-0.5
Ground collision
-1
1.2
1.3
1.4
1.5
1.6
[rad]
1.7
1.8
1.9
2
Figure 5 :experimental phase diagram of the left leg angular velocity versus angle during 10
seconds.
0.6
0.4
θ [rad]
0.2
0
-0.2
-0.4
0
2
4
6
8
10
time
Figure 6 : in-between angle versus time, for different step length reference A=0.6 rad (0s2s), A=0.5 rad (2s-5s) and A=0.4 rad (5s-10s).
6 CONCLUSION
We have presented the study of the simplest walking model including simulation and experimental
results. The choice of control for the swing leg mechanism has been focused on the “time virtual”
approach. The simulations have demonstrated the interest of this approach to ensure a large basin of
attraction in order to reach a dynamically stable walking mode. Moreover, the experimental results
have confirmed the robust properties of this control.
7 REFERENCE
Bourassa P and Micheau P (2002), Tripping impulses – gait limit cycle for biped, CLAWAR
2002, p 791-798.
Chevallereau, C. (2003), Time scaling control for an underactuted biped robot, IEEE Trans on
Robotics and Automation, 18: 362-368.
Dahl O. and L. Nielsen (1990), Torque-limited path following by online trajectory time scaling,
IEEE Trans. Robot. Automa., vol. 6, pp. 554-561.
Garcia M., Chatterjee A, Ruina A. Coleman M. (1998), The simplest walking model: stability,
complexity and scaling, J. Biomech Eng, 120:281-288.
Goswani A, Thuilot B and Espiau B. (1998), A study of the passive gait of a compass-like biped
robot: symmetry and Chaos, Int J Robotic Res, 17(12):1282-1301.
Grizzle J.W., G. Abba, F. Plestan (2001), Asymptotically stable walking for biped robots:
Analysis via systems with impluse effects, IEEE Trans. On Automatic Control, 46:51-64.
McGeer T. (1990) Passive Dynamic walking, Int. J Robot Res, 9(2):62-82.
Micheau P., P. Buaka, P. Bourassa (2002), Control of the Simplest Walking Model with Lambda
Model, T-Tu-E20, 15th World Congress of the IFAC, Barcelona, 21-26 july.
Miura and Shimoyarna, (1984), Dynamic walk of biped locomotion, Inter. Journal of Robotic
Research, 3(2), 60-74.
Qiang H., Kazuhito Y., Shuuji K., Kenji K., Hirohiko A., Noriho K., Kazuo T. (2001), Planning
walking patterns for a biped robot, IEEE Transactions on robotics and automation, 17(3), 280289.
Slotine J-J E. and Li W. (1991), Applied nonlinear control, Prentice Hall.
Tzafesta S.G., Krikochoritis A.E., Tzafestas C.S. (1996), Robust sliding-mode control applied to
5-link biped robot, Journal of Intelligent and Robotic Systems, 15, 68-133.