Motion Planning for Bipedal Robot to Perform Jump Maneuver

The remarkable ability of humans to perform jump maneuvers greatly contributes to the improvements of the obstacle negotiation ability of humans. The paper proposes a jumping control scheme for a bipedal robot to perform a high jump. The half-body of the robot is modeled as three planar links and the motion during the launching phase is taken into account. A geometrically simple motion was first conducted through which the gear reduction ratio that matches the maximum motor output for high jumping was selected. Then, the following strategies to further exploit the motor output performance was examined: (1) to set the maximum torque of each joint as the baseline that is explicitly modeled as a piecewise linear function dependent on the joint angular velocity; (2) to exert it with a correction of the joint angular accelerations in order to satisfy some balancing criteria during the motion. The criteria include the location of ZMP (zero moment point) and the torque limit. Using the technique described above, the jumping pattern is pre-calculated to maximize the jump height. Finally, the effectiveness of the proposed method is evaluated through simulations. In the simulation, the bipedal robot model achieved a 0.477-m high jump.


Introduction
Recently, the number of disasters, such as earthquakes and tsunamis, is increasing, and humanoid robots have commonly been expected to work in place of humans in such dangerous environments, in which the terrain can be uneven and unpredictable.Improvement of their locomotion abilities by addition of walking, crawling, climbing, fall protection, and jumping capabilities [1][2][3][4][5][6][7][8][9][10][11][12][13] is important to allow these robots to navigate across such adverse terrain.Unfortunately, most contemporary humanoid robots only have segmental functions.Some robots are designed simply for walking or crawling [2,4,7], while others are designed for jumping alone [9,10].The purpose of this paper is to add a jumping pattern to a versatile BHR6 robot, which is actuated using electric motors, and that already has walking, rolling, and fall protection capabilities [11][12][13].
Quick and harmonized coordination of the jumper's body segments is essential for jumping tasks.Humans take advantage of the elasticity of their tendons to store and use kinetic energy during jumping motions.Jumping using elastic elements has been studied intensively.Raibert and colleagues studied hopping robots [14] that were driven by pneumatic and hydraulic actuators to perform various actions, including somersaults [15].Other researchers successfully demonstrated jumping motions using robots with artificial muscles [16,17].Curran [9] and Ugurlu [18] proposed jumping mechanisms that use the potential energy of a spring.These research efforts are focused on development of a jumping mechanism and its control.All of these robots have elastic mechanisms that are used to retrieve kinetic energy during dynamic movement cycles.Use of elastic elements has obvious advantages for storage and use of kinetic energy, but they may also affect the performance of the fundamental functions of the robots, e.g., walking, crawling, climbing, and carrying objects.Because our intention is to add jumping functionality to an already versatile robot BHR6 without any elastic mechanism, the robot is modeled as three rigid planer links.
A jumping robot not only requires a high torque output to accelerate its COM (center of mass) at the beginning of the motion but also must realize a high velocity at the end of the motion.As the joints become increasingly extended, the transfer of the joint angular motion to produce the desired translation of the COM becomes less effective.When the joint is fully extended, the effect of this joint on the COM's translational motion in a specific direction is equal to zero.When these factors are taken into consideration, an appropriate reduction gear is required for the motor [19].
The prime criterion for the robot's obstacle negotiation ability is the required height of the jump, which is dependent on the vertical velocity of the robot's COM at the moment when its feet leave the ground.During the push-off phase, when the mechanical limitations are considered, a high-torque output is required to generate high angular acceleration.Sakka et al. proposed an adaptation of human jumping motion based on the ground force [8].Using a similar algorithm, Okada et al. designed a nonlinear gear ratio profile to maximize the ground force [19].Ugurlu et al. used the base resonance frequency to realize high acceleration [18].By addition of elastic devices, Hondo et al. realized jumping motion in the low-power humanoid robot Nao [20] that would not originally have had sufficient power to jump.All these methods planned jump patterns based on the trajectory of the leg length or the force of the ground.It leads to the lack of consideration of each joint state, e.g., the torque, velocity and acceleration.Consequently, the relevant motors could not work in the ultimate states required to supply higher kinetic energy and thus achieve a higher jump.To produce as much energy as possible, an optimal motion pattern is generated by commanding every joint torque as much as possible to match the profile of the motor torque speed curve.
During the push-off phase of the jump, the robot must keep stable.Okada kept the trunk upright while the shank and thigh have the same length [19].Urata and his colleagues at the University of Tokyo Jouhou System Kougaku Laboratory, used the same method [21].Nunez planned COM above the ankle to prevent it from falling [22].Ugurlu proposed a ZMP-based jumping controller design method [23,24].The ZMP is defined as the point on the ground about which the sum of all the moments of the active forces equals zero.The ZMP always exists inside the support polygon form by all contact points.The distance from the ZMP to the boundary of the support polygon directly influence the stability of the robot.A larger distance leads to a more stable state.Our strategy is based on fine-tuning of the joint torque on the basis of the maximum torque being limited by the motor characteristics while minimizing the cost function via ZMP constraints.
In this paper, we introduce a motion planning method to allow a bipedal robot to perform a jump maneuver without the use of elastic elements.Using the premise of dynamic balance, we command each joint torque as much as possible to match the motor torque speed curve to ensure that the robot can jump to the greatest possible height.In Section 2, we present the robot model that is used in this paper.The method used to generate the jumping pattern is described in detail in Section 3. In Section 4, using playback of an offline pattern that was generated in the previous section, we present experimental results for a bipedal robot model of jumping about 0.477-m-high.We draw conclusions and address our future plans in Section 5.

Robot Model
In this section, we present the physical model to be used in this study, along with the assumptions that are made in our analysis.Throughout the complete jumping pattern, by keeping the robot symmetrical with respect to the sagittal plane [18,22], the movements, torques and forces acting on each leg will be identical.This restriction helps us to study jumping using a simplified model that contains only half of the robot.

Mechanical Model
The BHR6 robot and its simplified physical model are shown in Figure 1.Referring to the physical properties of BHR6, we built a model of four links (foot, shank, thigh and trunk) and three articulations (ankle, knee and hip).The foot length is d 0 , and d 1 , d 2 represent the distances from the projection of ankle joint on the ground to the heel and tiptoe, respectively.We therefore find that The parameter l 0 represents the vertical distance from the ankle joint to the ground and m 0 is the mass of foot.Additionally, m i (i = 1, 2, 3) and l i (i = 1, 2, 3) are the masses and lengths of the shank, the thigh and the trunk, respectively, and the mass center of each link is located at its center.Note also that m 3 is only half of the mass of the robot trunk.The model information is listed in detail in Table 1.The total mass and height of the robot are 51 (kg) and 1.53 (m), respectively.
x y z q 1 q 2 q 3 m 3

Mathematical Model
During the push-off phase, assuming that the friction between the robot foot and the ground is sufficient, the robot will not slide on the ground.Additionally, if the robot foot remain flat on the ground, the model can be represented as a three-part linkage that is fixed to the ground [18,22].The dynamic equation is given by where the inertia matrix M ∈ R 3×3 , the coriolis and centripetal coupling vector V ∈ R 3×1 , and the gravity vector G ∈ R 3×1 are not dependent on the state of the foot.These matrices can be calculated using physical parameters from Table 1 and the instantaneous leg configuration.In this work, we represent all vectors of position, velocity, acceleration, angle, angular velocity and angular acceleration within the world frame ∑ w .We define the angle, the angular velocity and the angular acceleration of each joint as q i , qi , and qi (i = 1, 2, 3), respectively.q = (q 1 , q 2 , q 3 ) T represents the generalized coordinates and F = (τ 1 , τ 2 , τ 3 ) T represents the joint torque.

Method
A jumping robot not only requires a high torque output to accelerate its COM at the beginning of the motion but also must realize a high velocity at the end of the motion [19].From this viewpoint, (1) we selected the appropriate reduction ratio for a specific motor by using a simplified control system; and (2) using the appropriate reduction ratio, a jumping pattern was generated by commanding each motor produces as much kinetic energy as possible within the limitations of the motor properties and dynamic balance throughout the complete push-off phase.

Selection of an Appropriate Reduction Ratio
Okada et al. designed a nonlinear gear ratio profile with the aim of performing a high jump using direct current motors [19].However, this profile led to major difficulties in mechanical design, processing and assembly.Our purpose in this work is to determine an appropriate reduction ratio for a specific motor without consideration of the energy transfer efficiency of the gear reducer.
Because of the nonlinearity of the dynamic equation, i.e., Equation ( 1), it is difficult to determine three appropriate reduction ratios for three motors simultaneously.With reference to the work of Okada and Urata [19,21], we designed a simple jumping pattern in which the trunk remains upright and above the ankle joint during the push-off phase, as shown in Figure 2. In this simple pattern, we can then estimate that of the three joints, and the knee joint will output the maximum torque and speed.
The BHR6 is equipped with the same motor K044100-6Y-4.98Ams(Parker Hannifin Corp, Clifford, OH, USA) on the ankle, knee and hip joint.In Figure 3, according to the instructions from Parker Hannifin, we showed the torque speed curve and properties of motor K044100-6Y-4.98Amswhen the voltage supplied to this motor is 120 V.The blue line is the peak output torque of the motor and the red line is the continue output torque of the motor.Because jumping is a fast and dynamic motion, the peak output torque is used in the push-off phase.By the using of the motor driver, the motor can work at an arbitrary point in the right trapezoid formed by the blue line and axis.q 1t q 2t q 3t x y z w (xt,yt,zt) From Figure 3, the peak torque speed curve of this motor can be modeled as a segmented function.When the motor speed ω motor ≤ ω break (ω break = 10634 (rpm)), the peak motor torque τ motor is τ peak = 1.17 (Nm).When ω motor ∈ [ω break , ω max ] (ω max = 18835 (rpm)), τ motor decreases linearly with increasing ω motor .Given these parameters, we can then obtain the relationship between ω motor and τ motor , as shown below: (2) Figure 3. Torque speed curve of the motor K044100-6Y-4.98Amswhen the voltage supplied to the motor is 120 V.
We used the harmonic reducer to deliver the motor torque.If the reduction ratio applied to the motor is i r , then the joint speed ω joint will be 1 i r of the ω motor .If the transfer efficiency of reducer is assumed as 100%, the output power of motor and joint are identical, ω joint τ joint = ω motor τ motor .In addition, the peak joint torque τ joint will be i r times as τ motor : It is assumed that the model state at time t is X t (q t , qt ).q t = (q 1t , q 2t , q 3t ) (rad) and qt = ( q1t , q2t , q3t ) (rad/s).Parameter C t = (x t , y t , z t ) (m) represents the coordinate of the COM.The translational velocity of the COM Ċt can then be calculated using the COM Jacobian matrix J(q t ): Using the parameters given in Table 1, where l 1 = l 2 , and the simple jumping pattern, we can obtain the joint constraint equations as shown below: We can estimate that, of the three joints, the knee joint will output the maximum torque and speed.Using the basic idea of maintaining the knee joint torque's compliance with the motor torque speed curve, we substitute q2t into Equations ( 2)-(4) to calculate the peak knee joint torque τ 2t (Nm) at time t: With the joint constraint of Equation ( 6), the second row of Equation ( 1) then becomes where V 2 , G 2 represent the second rows of V, G in state X t , respectively.M ij (i = 2, j = 1, 2, 3) is the i-th row and j-th column element of M. Therefore, the maximum angular acceleration q2t of the knee joint at time t is Using the joint constraint Equation ( 6), we can get the q t , qt and qt at time t.Thus, the torque of each joint τ t = (τ 1t , τ 2t , τ 3t ) then becomes Obviously, the knee joint torque τ 2t is equal to the peak torque limited by motor characteristics.By taking the derivative of Equation ( 5) with respect to t, we can calculate the translational acceleration of COM Ct at time t: Integration of qt with respect to t allows the next moment state X t+1 (q t+1 , qt+1 ) to be obtained.Therefore, by providing the initial state X 0 (q 0 , q0 ), we can then calculate iteratively the X t , qt , τ t , C t , Ċt , and Ct throughout the entire push-off phase, which guarantees that the COM maintains maximum acceleration.The control system is shown in Figure 4. Since our objective is to jump, we have to detect the take-off time to make the robot foot free when the robot is going to take off.At the beginning of the motion, the zt is positive and the COM is accelerated.When the leg is going to full extension, the zt will decrease rapidly.Since the computation is iterative and has a certain computation period, the take-off time most likely exists within one of the computation periods.The vertical acceleration of COM calculated is ≤−g before the take-off time, and ≤−g after the take-off time.In addition, zt+1 ≤ −g is a condition that only happens in mathematical calculations not in the real jump motion.If we get a vertical acceleration of COM, which is ≤−g during the push-off phase, it means that the robot has left the ground.The jump height h is then estimated as where żtake o f f is the vertical velocity of the COM at the take-off time and g is the acceleration due to gravity.
To select the appropriate reduction ratio, we define the same initial state X 0 = (−75 • , 150 • , −75 • , 0, 0, 0) for different values of the reduction ratio i r .The results of the relationship between h and i r can then be presented graphically.Referring to Figure 5, it shows that when i r = 97, the maximum jump height is approximately h max = 0.343 (m).However, the gear reduction ratio has only certain specific values, e.g., 30, 50, 80, 100, and 120.Finally, therefore, we choose the most appropriate reduction ratio of i r = 100.
(m) Most of the robots are equipped with the same or similar motor and reduction ratio on these three joints, e.g., NAO [20], HRP3L [21], DARwin [25] and Honda E2-DR [26] .We equip these three joints with the same K044100-6Y-4.98Amsmotor and the same reduction ratio of i r = 100.Using the control system shown in Figure 4, we obtain the torques of the three joints over the entire push-off phase, as shown in Figure 6.In Figure 6b, the purple circle τ peak is the peak output torque of the motor.The other three lines are composed by the working points of three joints when the robot jumps.All the working points are always in the right trapezoid form by τ peak and axis.Furthermore, as expected, the knee joint torque coincides with the maximum torque permitted by the motor's characteristics.However, the ankle and hip motors are ineffective as suppliers of kinetic energy.The hip joint doesn't work and its torque is a constant 0 (Nm), while the ankle joint works at a low efficiency and its torque is much less than the maximal torque allowed.To address this problem, we removed the joint constraint of Equation ( 6) and take the ZMP constraint into consideration.The details are described in the Section 3.2.

Motion Planning for Jumping Maneuver
In the original control system in Figure 4, under the joint constraint of Equation ( 6), we could only ensure that the knee joint torque matched the ultimate torque.To ensure that all three joint torques yield the torque speed curve profile simultaneously as much as possible, we removed the joint constraint and commanded each motor output torque to the torque speed curve.Driven by these torques, the robot will turn over.Thus, we added the ZMP constraint to help the robot to be stable in the push-off phase.If the ZMP constraint is violated, we will fine-tune these torques through optimization.If the ZMP constraint is satisfied, we will directly apply these torques to the joints.We substitute q1t , q2t , q3t into Equations ( 2)-( 4) to calculate the peak ankle, knee and hip joint torques τ 1t , τ 2t , τ 3t , respectively, at time t.The maximum angular accelerations of the three joints can then be obtained as follows: qt = M(q t ) −1 (τ t − V(q t , qt ) − G(q t )), (13) where τ t = (τ 1t , τ 2t , τ 3t ) represents the peak torques of the three joints within the limitations of the motor characteristics and M, C, G can be calculated with state X t (q t , qt ).Using Equations ( 5) and ( 11), the ZMP of the robot at time t can be given as below [24]: where (x t , y t , z t ) is the coordinate of the COM that can be calculated with q t .Generally, if the joints move with maximum angular acceleration calculated by Equation ( 13), the p yt may move out of the supporting polygon formed by the feet and the ZMP constraint will be violate.Assuming that the limitation to p yt is p ylim ∈ (−0.05, 0.15) (m), which is smaller than the distances from the projection of ankle joint on the ground to the heel d 1 (0.10 (m)) and to the tiptoe d 2 (0.20 (m)) as Figure 7 shows.At time t, according to the state of the robot X t (q t , qt ) and Equation ( 5), ( 11) and ( 14), the ZMP can be expressed as a function of qt = ( q1t , q2t , q3t ).By taking the total derivative, we can get the ∆p yt as below: If p yt is located beside p ylim , then the ∆ qt added to qt should satisfy the following equation: The same method can also be applied to the joint torque constraint.Due to the dynamic equation and X t (q t , qt ), the joint torque τ t can be expressed as a function of qt = ( q1t , q2t , q3t ).By taking the total derivative, we can get the ∆τ it (i = 1, 2, 3) as below: To maintain the torque constraint, the ∆ qt added to qt must satisfy the following equation: where τ it (i = 1, 2, 3) is the maximal torque allowed by torque speed curve at speed qit (i = 1, 2, 3).
To get the optimal solution for the set of inequalities composed by Equations ( 16) and ( 18), we built a cost function Since |∆τ it | is the decrease of each joint torque, then |∆τ it qit | will be the decrease of each joint power.The sum decreases of the three joint output power can be expressed as the Equation (19).A smaller value of Equation ( 19) leads to a more output energy that affects the jump height directly.Using the linear programming, we obtain the optimum ∆ qt required to minimize the cost function of Equation ( 19) while simultaneously satisfying the the set of inequalities composed by Equation (16) and Equation (18).
Figure 8 shows the control system.In this program process, there is no joint constraint any more.The torque constraint is used to ensure that all three joint torques yield the torque speed curve profile.In addition, the ZMP constraint is used to keep the dynamic balance throughout the entire puss-off phase.From the control system, we can see that the initial state X 0 plays an important role in the jump height.We used the traversal method to obtain the jump height for different X 0 (q 10 ∈ [−65 • , −30 • ], , q10 = 0, q20 = 0, q30 = 0).For various initial values of ankle angle q 10 ∈ [−65 • , −30 • ], we got the optimal q 20 , q 30 and the jump height as shown in Figure 9a-c.With the increasing q 10 , the jump height h increases while q 10 < −57 • and subsequently decreases.When compared with the original control method, the height h obtained using the proposed method is obviously greater.In particular, at X 0 = (−57 • , 158 • , −126 • , 0, 0, 0), we obtained a maximum jump height of 0.61 (m).The jumping height is increased by nearly 70%.Additionally, we calculated the jumping direction θ with θ = atan2( żtake o f f , ẏtake o f f ). Figure 9d shows that the jumping direction θ and the initial ankle angle q 10 have an almost linear relationship.Therefore, we can almost control the jumping direction θ via the initial ankle angle q 10 .
Assuming that X 0 = (−57 • , 158 • , −126 • , 0, 0, 0), Figures 10 and 11 show the torques of the three joints τ i and the ZMP p y , respectively, during the entire push-off phase.For most of the motion time, the ankle, knee, and hip joint torques are all equal to the maximal torques allowed by motors, which greatly increases the kinetic energy.At the beginning of the jump motion, we can see the effectiveness of the control system, which reduces the ankle joint torque slightly to satisfy the ZMP constraint.Similar effectiveness can also be observed when the robot is about to take off.During the whole push-off phase, the working points of three joints are always in the right trapezoid form by τ peak and axis.
The effectiveness of ZMP constraint.

Simulation Results
To verify our control method, we built a simplified model with the parameters in Table 1 in V-rep, a virtual robot experimentation platform.In the simulator, the model is controlled in position mode.In Figure 8, when the robot is going to take off, the jumping controller will not generate data any more, and the angles will be the same as the angles at the take-off time, and each joint will brake suddenly.Since the values of joint angular velocity and angular acceleration are large at the take-off time.If we don't smooth the joint trajectory after take-off, the motor will violate the torque constraint.Thus, we use the cubic interpolation in a joint trajectory to help the joint brake smoothly.The cubic interpolation is also used to smooth the joint trajectory at the beginning of the jump, and the initial state changes from X 0 = (−57 • , 158 • , −126 • , 0, 0, 0) to X 0 = (−61.5• , 155.2 • , −123.8 • , 0, 0, 0). Figure 12 shows the joint trajectory during simulation.By using playback of this offline pattern, we get the velocity of COM as shown in Figure 13.At t = 0.40 (s), the translational velocity of COM in vertical direction reaches a maximum 3.42 (m/s).Without consideration of the influence of the added trajectory near the taking off time, the jump height is about 0.596 (m), which can be calculated by Equation (12).The added trajectory leads to the slight decrease in vertical velocity at the take-off time, which is a little delayed.From the simulation, we got the position of the foot and COM in vertical direction and the torque of each joint as shown in Figures 14 and 15.If we take the distance between foot and ground as the jump height, then the maximal jump height is about 0.477 (m) and the COM is increased by 0.83 (m).During the entire motion, the joint torque profiles are within the profile of the motor torque speed curve.Finally, the jumping motion sequence is shown in Figure 16.

Conclusions
This paper proposes a motion planning method to allow a bipedal robot to perform a jumping maneuver.It proves the possibility for bipedal robot driven by electric motors to perform a high jump.Using a simplified model without any elastic elements, we greatly increased the jumping height by commanding every motor as much as possible to yield the profile of the torque speed curve, which reflects the obstacle negotiation capability.During the push-off phase, linear programming is used to fine-tune the joint torques to ensure that the torque and ZMP constraints are satisfied.Finally, in simulations, the robot successfully jumped 0.477 (m) high, and the COM is increased by 0.83 (m).However, some limitations should be noted.

•
In this paper, the efficiency of harmonic reducer is not considered.Thus, we have to calibrate the torque speed curve of the motor on a professional motor test platform, with and without reducer.

•
While we can obtain an increased jump height based on the premise of the torque and ZMP constraints, how to reduce the impact force and maintain landing equilibrium during the landing phase remains a significant problem.

•
We only found that the jump direction θ and the initial ankle angle q 10 have an almost linear relationship.However, this relationship alone is not sufficiently reliable to specify jumping direction.
In the future, we will take the efficiency of harmonic reducer, flying and landing phase of jump into consideration.Future work should include development of a sequential jumping motion and a running motion to provide further improvements in the obstacle negotiation abilities of the bipedal robot.It is also necessary to design experiments to validate the theory in the future.

Figure 1 .
Figure 1.(a) BHR6 humanoid robot; (b) the simplified model with the similar physical properties of BHR6.

Figure 2 .
Figure 2. The joint constraint for appropriate reduction ratio selection.

Figure 4 .
Figure 4.The control system for choosing an appropriate reduction radio for motor K044100-6Y-4.98Ams.

Figure 5 .
Figure 5.With the same motor and model, different reduction ratio leads to different jump height.When the same initial state X 0 = (−75 • , 150 • , −75• , 0, 0, 0) is determined, the relationship between h and i r can be presented.

Figure 6 .
Figure 6.All three joints are equipped with the same K044100-6Y-4.98Amsmotor and the same reduction ratio of i r = 100.(a) shows the torque of each joint; and (b) represents relationships between the motor torque and speed.

Figure 8 .Figure 9 .
Figure 8.The joint constraint is removed.The torque constraint is used to ensure that all three joint torques yield the torque speed curve profile.Furthermore, the ZMP constraint is used to keep the dynamic balance throughout the entire puss-off phase.

Figure 10 .Figure 11 .
Figure 10.Assuming that X 0 = (−57• , 158• , −126 • , 0, 0, 0), (a) shows the torque of each joint; and (b) represents relationships between the motor torque and speed.At the beginning of the jump motion, the ankle joint torque is slightly reduced to satisfy the ZMP constraint.Similar effectiveness can also be observed when the robot is about to take off.

Table 1 .
Parameters of the simplified model.