A Biped Locomotion Strategy for the Quadruped Robot Sony ERS-210 Fabio Zonfrilli, Giuseppe Oriolo, Daniele Nardi September 25, 2001 1 Introduction ment of the robot in a way to assign a desired trajectory to the ZMP. The movement of the torso and of the arms is used to correct this trajectory; the objective is to keep the ZMP within the area of contact of the foot with the ground. If this goal is achieved, then a stable biped locomotion is achieved. With this technique a fast and stable locomotion can be obtained, but the robot needs many degrees of freedom and high performance actuators and control hardware. For example the humanoid robot SONY SDR-3X, based on the ZMP principle, has a total of 24 degrees of freedom. One of the main characteristic of the robots based on the ZMP is the presence of an actuated foot, absolutely necessary for the dynamic equilibrium. There is another category of robot, sometimes referred to as the purely dynamic walkers. These robots do not have an actuated foot, so they surely do not have any configuration of static equilibrium, and cannot implement a walking control based on the ZMP. There are many example of this category [7, 8, 9, 10], and there are many control strategies also. This kind of robots usually have a simpler hardware structure, and sometimes use an external support structure for lateral balancing. The robots belonging to this class are usually cheaper than the others, and walk pretty fast, since the dynamic is fully exploited. The interest in biped robots has highly increased in the last few years. The availability of cheap and advanced actuators and electronic controllers allowed the realization of many biped systems. There are some very famous humanoid robots, like the SONY SDR3X, or the HONDA Asimo. But there are also a lot of other biped robots at university research level. Many control strategy have been proposed, in a rich and various scientific literature. The various works can be classified using different criteria, but we have found very useful the classification based on the dynamic features of the biped walking style. There are basically four great categories. The first one is that of the passive walking mechanism. These are not real robots, since they don’t have actuators or control hardware, but are simple passive mechanism that walk on a downslope. One of the work most widely known is that of McGeer [1, 2]; these mechanisms are very helpful to understand the basics of biped walking dynamic, since they are very simple and intuitive. The simplest method for biped walking is the one called static walking. This method is based on basic principle of static equilibrium: a rigid body is in static equilibrium if the projection on the ground of its center of gravity is within the area of contact with the ground. The control strategy consists in planning the robot’s movement so that the projection of the center of gravity is always within the area of contact with the ground, that in this case is represented by the foot. The main disadvantage of this kind of robot is that the locomotion is very slow, so there is not much interest in the static walking robots. In order to achieve a faster locomotion it is necessary to abandon the static equilibrium and rely on the dynamic equilibrium principle. The dynamic equilibrium has been applied on the biped locomotion for the first time by M. Vukobratovic, with the introduction of the Zero Moment Point (ZMP) principle [3]. The ZMP theory has then been widely used [4, 5, 6]. This method consists in the planning of the various move- 2 Description of the robot Sony ERS210 The robot used in our work is the SONY ERS-210 shown in figure 1 , sold in the market as AIBO. It is a quadruped robot, resembling a dog, with a total of 20 degrees of freedom. Its four legs have a similar structure, and have 3 degrees of freedom each, as it can be seen in figure 2. Note that there is not an actuated foot, and the contact with the ground is obtained by a rubber semi-sphere. The robot is fully autonomous, the CPU and the battery pack are both onboard. The robot is equipped with a local PID controller and a digital encoder on each joint. There are 3 inertial accelerometers onboard, plus a 1 Figure 3: Reference frame for a biped CMOS sensor for image acquisition. 3 Dynamic Model of the System In order to develop a theory for controlling the biped locomotion, a dynamic model of the robot has to be extracted. A biped in usually decribed in the 3D space, as it is shown in figure 3. We will refer to the y-z plane as the sagittal plane, the x-z plane as the roll plane and the x-y plane as the yaw plane. We have chosen to limit the problem in the sagittal plane, since the robot has some limitations that exclude, for the moment, the possibility of implementing a fully three-dimensional walking style: the robot has only 3 degrees of freedom per leg, and it does not posses an actuated foot. We have chosen to obtain the lateral stability by using an external support structure, that will not limit the robot mobility in the other planes. The dynamic model we are going to extract is then limited to a 2D coordinate frame, as it has already been done by other authors [7, 8]. Each leg has two links connected by a rotational joint, and attached to the main body by another rotational joint. The whole system is then represented by a five link model. The contact with the ground is modeled as pointshape, so the ground can apply forces to the robot but not any torque. The resulting model is represented in figures 4 and 5 The equations of motion are easily derived using the Eulero-Lagrange method, based on computing the kinetic and gravitational energy. The resulting system is composed of five equations: Figure 1: Robot SONY ERS-210 Figure 2: Kinematic model of a robot leg B θ̈ + h(θ, θ̇) + f (θ) = τ (1) where B is the inertia matrix, h is the vector of the coriolis and centrifugal acceleration terms, f is the vector with the gravitational terms. τ represents the 2 Figure 4: Degrees of free- Figure 5: Dynamic paramdom eters Figure 6: Take off parameters torque components acting on the lagrangian coordinates, which are grouped in the vector: θ = [q1 q2 q3 q4 q5 ]T (2) For the explicit representation of the terms cited above see appendix XX. The dynamic model explained above represents the robot in the single support phase, where the system has 5 degrees of freedom. For our strategy we also need the dynamic representation of the double support phase, where the robot has only 3 degrees of freedom. We have chosen to obtain such a representation by reducing the order of the original dynamic model using the Lagrangian multipliers. This method has been used before, for example in robotic manipulators interacting with objects [11]. 4 Figure 7: Inverse pendulum scheme a control strategy in which the double support phase is assumed to be instantaneous [4, 12, 2, 13, 14], and the actual biped locomotion is achieved by the single support phase. We have chosen to fully exploit the double support phase, for the reasons that will be explained shortly afterward. The main idea on which we rely for the control of the system is to reduce the dynamic of the system, in the single support phase, as that of a passive inverse pendulum. This has been done before, for example in [7, 15, 16, 17, 4, 5], but what we want to do is to explicitly control the boundary conditions of the pendulum, to obtain a desired dynamic evolution. The single support phase starts when the robot is about to lift off the ground one of its two feet, more specifically the rear foot. This is the take-off configuration CT O , which we have chose to assign using three parameters: dStep, dSwitch, qM in. The meaning of these parameters is shown in figure 6. In the CT O , we treat the whole robot as an inverse pendulum (figure 7); this is done by calculating the center of gravity P and the inertia momentum I of the whole system. The Locomotion strategy In this section we will explain the main ideas upon which the control theory is based, underlining the robot hardware limitations which have guided some important choices. The robot is equipped with local PID controllers at each joint. It is then possible to assign desired joint angles, but it is not possible to control neither joint velocity nor joint torque. Therefore the control system must only rely upon desired joint angles, so it is mainly a planning problem. As it has already been explained, the biped locomotion is composed by two main phases: the single support phase and the double support phase. During the double support phase the robot is controllable, while it is not in the single support phase. This is due to the lack of an actuated foot. In the double support phase there is the transition of the support leg, from right to left or viceversa. Many authors have proposed 3 length of the pendulum l is given by the distance of the COG from the front foot. The initial position of the pendulum, given by the angle β is easily calculated. The main principle of our control is to obtain a single support phase in which the inverse pendulum moves clock-wise, in order to obtain the locomotion of the whole robot along the positive x-axis. To obtain such a goal, the initial velocity of the pendulum must be greater than a minimum value calculated using the conservation of the mechanical energy principle: r 2mgl(1 − cosβ0 ) (3) β̇0 = ml2 + I Figure 8: Double support phase where β̇0 is the initial velocity of the pendulum, m and I are the mass and the inertia momentum of the pendulum, g is the gravity acceleration, l is the length of the pendulum. Using the inverse kinematics, the velocity β̇0 is translated in a set of given joint velocities in the CT O ; this configuration is now completely defined. We can know illustrate the basic principle of our control strategy: we want to use the double support phase to bring the robot from a given initial configuration C0 to the CT O ; in the CT O the robot will switch to the single support phase, where we will use the inverse pendulum approximation to control the dynamic of the swing leg. The objective is to swing this leg forward in coordination with the main body movement. Now we can explain more deeply the meaning of the various parameter used to define the CT O . The parameter dStep must be assigned accordingly to the robot legs length. A dStep too long would provoke unfavorable situations for the actuators, plus the body oscillation would be too great. A dStep too short would result in a slower locomotion and in stability problems. The parameter qM in is a security margin to avoid the singularity configuration of the knee joint, situation in which the thigh and the leg are aligned. This parameter is directly related to the maximum leg extention, which is reached by the rear leg in the CT O . The starting angle β0 is directly related to the dSwitch parameter. An higher value for dSwitch causes a longer path for the inverse pendulum, thus an higher initial velocity, resulting in an higher actuators power output needed. 4.1 various movements using polynomials, joint position function of time. In the double support phase the system has three degrees of freedom: xh and yh , cartesian coordinates of the hip of the robot, and q5 angle of the main body in the world frame. Therefore we need three 3rd grade polynomials to assign the complete movement. The initial and final conditions for (xh , yh ) are already known. For the q5 angle we chose a fixed value throughout the whole locomotion process, to reduce oscillations. The third polynomial is therefore completely assigned, with final conditions (q5f , q̇5f ) = (q5 0 , 0). An example of the resulting movement is shown in figure 8 In figure 9 we illustrate a flow chart of the double support phase control strategy. 4.2 Single support phase The single support phase starts in the CT O . The dynamic of the main body is not controllable; it is evolving following the inverse pendulum dynamic. What we have to control is the dynamic of the swing leg. It is important to remark that the inverse pendulum dynamic is an approximation: if we move the swing leg, the whole center of gravity will change as well. But the swing leg has only 6% of the whole mass, so if we keep the accelerations of the leg low, the perturbation on the whole system will be limited. What we want is to let the swing foot travel the required 2 ∗ dStep distance, as it is shown in figure 10 There are some important requirements to be met in the planning of this movement. First of all, the various joint accelerations are to be kept as low as possible, for the reason explained beforehand. When the foot touches the ground an impact event occurs: its magnitude has to be minimized, meaning that the linear velocity of the foot in respect to the ground has to be Double support phase The double support phase starts from an initial given configuration, or from the final configuration of the preceding single support phase. The objective is to reach the CT O with a given set of joint velocities. In the robot used for the experiments we can control only the joint position, so we have chosen to plan the 4 kept small, ideally zero. Last, the foot trajectory has to be clear off the ground during the swinging phase. As in the double support phase we have chosen to assign the swing foot trajectory using a set of 3rd grade polynomials. xsf (s) = axsf s3 + bxsf s2 + cxsf s + dxsf ysf (s) = aysf s3 + bysf s2 + cysf s + dysf (4) As it is shown in figure The trajectory is composed of two segments: the first one from the foot lifting point A to the highest point B , the second one from the highest point B to the foot landing point C (figure 10). We use to segments because in this way we are able to assign freely the initial and final foot velocity, and we are able to modify the position of the highest point of the trajectory. The polynomials are functions of the parameter s ≡ [0, 1]: in this way it is possible to easily obtain a coordination between the dynamic of the swing leg and that of the main body, using the algorithm that we are going to explain. 1. We assign the total distance that we want the hip to travel during the single support phase, as a fraction of dStep: xHT OT = Csingle dStep Figure 9: Flow chart of the double support phase Csingle ²[0, 1] (5) The Csingle parameter represents the fraction of the step length traveled using the single support phase. In the human locomotion it is around 0.8, we have found good results using a value around 0.35; this in mainly due to the limited torque output of the robot joint actuators. 2. During the execution of the movement, we calculate the current hip distance traveled xH, using the direct kinematics. We now know the fraction of the single support movement executed xrel = xH xHT OT (6) 3. What we want is to coordinate the leg with the body. So if the body (hip) moves a little, so has to do the leg. And when the body reaches its final position, the swing foot has to touch the ground. To easily obtain such a goal we calculate the reference point for the foot using the polynomials 4 with the parameter Figure 10: Single support phase: trajectory of the swing foot s = xrel (7) 4. Using the inverse kinematics for the swing leg, knowing the position of the hip and the reference point for the foot, we can calculate the joint position to be given to the PID controllers. 5 Figure 11: Improvement in the hip trajectory It is important to remember that we want the angle of the body in respect to the ground q5 to be kept stable around a fixed given value throughout the whole movement. This is done by varying the joint angle between the body and the support leg accordingly. The original idea was to keep the joint angle of the supporting knee fixed in the single support phase, to keep as close as possible to the initial inverted pendulum configuration. But we have found better results varying this angle also: in this way it is possible to smoothen the trajectory of the hip, as it can be seen in figure 11: the support leg is the only one represented in the figure. A is the CT O , B is a configuration in which the knee angle is fixed: as we can see the hip trajectory is an arch of a circumference. C is a configuration in which the knee is varied during the movement: the hip trajectory is a straight line parallel to the ground. The great advantage in having a straight line as a hip trajectory, is that the center of gravity of the whole system stays on a constant height, so the potential energy remains constant. This results in saving of actuation energy. In figure 12 we illustrate a flow chart of the single support phase control strategy. 4.3 Figure 12: Flow chart of the single support phase Simulation results The two phases of the walking cycle that have been illustrated can produce a stable biped locomotion on a legged robot. To prove such a statement we have implemented a dynamic simulator of a 5-link biped robot, using the MATLAB software package. We have conducted various simulations, varying the different walking parameters illustrated in the previous sections. In figure 13 the result of a simulation of 8 steps is illustrated. Note that the robot starts from a given configuration of equilibrium, then goes to its assigned walking configuration, with a fixed angle for the main Figure 13: Result of 8 steps walking cycle 6 body. Note also that after few steps a stable cycle is obtained, as it can be seen from the trace of the main body movement. 5 5.1 Implementation and experiments Modification in the control strategy The control strategy introduced in the previous sections has been modified in some parts for the implementation on the robot. This is mainly due to some hardware limits of the system we use. The original single support phase was based on a real time feedback, in which the body angle q5 was obtained and used to calculate distance xH traveled by the hip (sec. 4.2). We tried to measure this angle using the 3 inertial acceloremeters of the robot. We assumed that the various accelerations were negligible small compared to the gravity acceleration g: in this way the data from the accelerometers represent the current orientation the vector g, always perpendicular to the ground. With a simple equation in then possible to obtain q5 . Though this method can work in theory, we have found two main problems: accuracy of the calculated q5 and the feedback rate. The various accelerations in the system are not small enough to be ignored. So the assumed g vector is not always perpendicular to the ground. We have measured that a feedback cycle takes 54 msec to be completed. The single support phase lasts an average of 0.4 sec, thus we have only 7 or 8 feedback cycles during the movement. This number is obviously too small to guarantee a correct execution of this phase. We have then chose to abandon the real time feedback strategy, and to obtain an approximated value for q5 using an on-line numerical integration of a reduced order system model. We have obtained good results using the dynamic equation for the inverted pendulum used in 4: θ̈ + g cos θ = 0 l Figure 14: Starting configuration (left), beginning of the double support phase (right) Figure 15: The swing foot is being lifted off the ground (left), beginning of the single support phase (right) plemented on the robot software platform. It has produced its desired results, which we summarize in the sequence from figure 14 to 17.1 6 Conclusions 7 Dynamic equations The dynamic equations governing the system are expressed in the form: B θ̈ + h(θ, θ̇) + f (θ) = τ 1 There is a movie available at http://www.geocities.com/fabiozonfrilli (9) the web site: (8) It is important to note that we calculate the angle θ not q5 ; but the latter can be obtained from the former with the addition of a constant, assuming that the approximated inverse pendulum does not alter its configuration during the movement. 5.2 Experiments Figure 16: Execution of the single support phase (left), highest point h0 for the swing foot (right) The proposed control strategy, with the modifications explained in the previous section, has been im7 References [1] Tad McGeer, “Passive dynamic walking”, The International Journal of Robotics Research, vol. 9, no. 2, pp. 62+, 1990. [2] Tad McGeer, “Passive walking with knees”, 1990 IEEE Robotics & Automation Conference, pp. 1640+, 1990. Figure 17: Swing foot almost on the ground (left), the swing foot touches the ground (right) [3] D. Juricic M. Vukobratovic, “Contribution to the synthesis of biped gait”, IEEE Transactions on Bio-Medical Engineering, , no. 1, pp. 1–6, 1969. where B is symmetric and is 5×5, h, f and τ are 5×1. The general element of B is in the form: [4] Kazuo Tani Shuuji Kajita, “Experimental study of biped dynamic walking in the linear inverted pendulum mode”, IEEE International Conference on Robotics & Automation, pp. 2885+, 1995. bij = aij cos(θi − θj ) The terms aij a11 a12 a13 a14 a15 a22 a23 a24 a25 a33 a34 a35 a44 a45 a55 i = 1, ..., 5 j = 1, ..., 5 (10) are given by the following expressions: [5] Kazuo Tani Shuuji Kajita, “Study of dynamic biped locomotion on rugged terrain”, Proceedings of the 1991 IEEE International Conference on Robotics & Automation, pp. 1405+, 1991. = m1 (l1 − lc1 )2 + I1 + m2 l12 + m3 l12 + m4 l12 + m5 l12 = m2 l1 (l2 − lc2 ) + m3 l1 l2 + m4 l1 l2 + m5 l1 l2 = −m3 l1 lc3 − m4 l1 l3 = −m4 l1 lc4 = m5 l1 lc5 = m2 (l2 − lc2 )2 + I2 + m3 l22 + m4 l22 + m5 l22 = −m3 l2 lc3 − m4 l2 l3 = −m4 l2 lc4 = m5 l2 lc5 2 = m3 lc3 + I3 + m4 l32 = m4 l3 lc4 =0 2 + I4 = m4 lc4 =0 2 + I5 = m5 lc5 [6] Shuuji Kajita Kenjii Kaneko Hirohito Arai Noriho Koyachi Kazuo Tanie Qiang Huang, Kazuhito Yokoi, “Planning walking patterns for a biped robot”, Submitted To IEEE International Conference on Robotics & Automation. [7] M. Masubuchi J. Furusho, “A theoretically motivated reduced order model for the control of dynamic biped locomotion”, Journal of Dynamic Systems, Measurement, and Control, vol. 109, pp. 155+, 1987. [8] Gill Pratt Jerry Pratt, “Intuitive control of a planar bipedal walking robot”, Proceedings of the 1998 IEEE International Conference on Robotics & Automation, pp. 2014+, 1998. The elements of the h vector are expressed by the following: 2 Pratt Jerry Pratt, 2Peter Dilworth, “Virtual − θGill h1 (θ, θ̇) = a12 sin(θ1 − θ2 )θ̇22 + a13 sin(θ1 − θ3 )θ̇32 + a14 sin(θ1 [9] 4 )θ̇4 + a15 sin(θ1 − θ5 )θ̇5 model control of a − bipedal 2 2 a25 sin(θ θ5 )θ̇52 walking robot”, Proh2 (θ, θ̇) = −a21 sin(θ1 − θ2 )θ̇1 + a23 sin(θ2 − θ3 )θ̇3 + a24 sin(θ2 − θ4 )θ̇42 + 2 ceedings of the 1997 IEEE International Confer2 2 2 h3 (θ, θ̇) = −a31 sin(θ1 − θ3 )θ̇1 − a32 sin(θ2 − θ3 )θ̇2 + a34 sin(θ3 − θ4 )θ̇4 ence on Robotics & Automation, pp. 193+, 1997. h4 (θ, θ̇) = −a41 sin(θ1 − θ4 )θ̇12 − a42 sin(θ2 − θ4 )θ̇22 − a43 sin(θ3 − θ4 )θ̇32 h5 (θ, θ̇) = −a51 sin(θ1 − θ5 )θ̇12 − a52 sin(θ2 − θ5 )θ̇22 [10] Isao Shimoyama Hirofumi Miura, “Dynamic walk of a biped”, The International Journal of Robotics The elements of the f vector: Research, vol. 3, no. 2, pp. 60+, 1984. fi (θ) = wi sin(θi ) i = 1, . . . , 5 (11) [11] Heikki N. Koivo Raimo K. Kankaanranta, “Dynamics and simulation of compliant motion of a manipulator”, IEEE Journal of Robotics and Automation, vol. 4, no. 2, pp. 163+, 1988. where w1 w2 w3 w4 w5 = −g[m1 (l1 − lc1 ) + m2 l1 + m3 l1 + m4 l1 + m5 l1 ] = −g[m2 (l2 − lc2 ) + m3 l2 + m4 l2 + m5 l2 ] = g[m3 lc3 + m4 l3 ] = g[m4 lc4 ] = −gm5 lc5 [12] K. Aida Y. Nasu K. Mitobe, N. Mori, “Nonlinear feedback control of a biped walking robot”, IEEE International Conference on Robotics & Automation, pp. 2865+. 8 [13] Guy Bessonnet Mostafa Rostami, “Impactless sagittal gait of a biped robot during the single support phase”, Proceedings of the 1998 IEEE International Conference on Robotics & Automation, pp. 1385+, 1998. [14] D. T. Phan P. H. Channon, S. H. Hopkins, “Derivation of optimal walking motions for a biped walking robot”, Robotica, vol. 10, no. 2, pp. 165–172, 1992. [15] M. Masubuchi J. Furusho, “Control of a dynamical biped locomotion system for steady walking”, Journal of Dynamic Systems, Measurement, and Control, vol. 108, pp. 111+, 1986. [16] Kyoung D. Kim Jong H. Park, “Biped robot walking using gravity-compensated inverted pendulum mode and computed torque control”, Proceedings of the 1998 IEEE International Conference on Robotics & Automation, pp. 3526+, 1998. [17] Robert D. Howe Eric R. Dunn, “Towards smooth bipedal walking”, In Proceedings of the IEEE International Conference on Robotics and Automation, vol. 3, pp. 2489+, 1994. 9
© Copyright 2026 Paperzz