Based on the 6D constraints of momentum change rate (CMCR), this paper puts forward a realtime and full balance maintenance method for the humanoid robot during highspeed movement of its 7DOF arm. First, the total momentum formula for the robot’s two arms is given and the momentum change rate is defined by the time derivative of the total momentum. The author also illustrates the idea of full balance maintenance and analyzes the physical meaning of 6D CMCR and its fundamental relation to full balance maintenance. Moreover, discretization and optimization solution of CMCR has been provided with the motion constraint of the auxiliary arm’s joint, and the solving algorithm is optimized. The simulation results have shown the validity and generality of the proposed method on the full balance maintenance in the 6 DOFs of the robot body under 6D CMCR. This method ensures 6D dynamics balance performance and increases abundant ZMP stability margin. The resulting motion of the auxiliary arm has large abundance in joint space, and the angular velocity and the angular acceleration of these joints lie within the predefined limits. The proposed algorithm also has good realtime performance.
Humanoid robot is characterized as a highorder, nonlinear, and multiple DOF unstable system. Research topics such as motion planning and balance maintenance for humanoids remain a great challenge. After years of development, there have already been several humanoid robot systems with outstanding performance, such as WABIAN of Waseda University [
Balance maintenance is the key to successful humanoid robot, which is fundamentally unstable. Instinct makes us believe that balance comes along with low velocity; in other words, low momentum can guarantee balance. However, we also notice that highspeed trains, airplanes, and rockets can operate steadily while their momentum is large. Why do we have the illusion that balance comes along with lower momentum? As a matter of fact, objects with lower momentum usually need a lower momentum change rate when they switch from a moving state into stationary within a unit period of time or vice versa. Put in other words, the momentum change rate is smaller. In fact, the momentum change rate of highspeed trains, airplanes, and rockets in their moving process is either quite low or is rigorously controlled within certain safe limits, even though their momentum is extremely large. For instance, the highspeed trains will cover a long distance to accelerate or decelerate when it is starting or braking, which actually is to decrease the acceleration or the deceleration; in other words, the momentum change rate of the train in the whole process of its drive is controlled within a small range. Moreover, planes and rockets are often equipped with accelerometers, which are used to monitor their acceleration and deceleration and thus help control them within a certain safe range. Serious accidents caused by full braking are in fact resulted by the overly great deceleration; in other words, the momentum change rate is too big. Therefore, the key to perform balanced and steady motion lies in acceleration control or the momentum change rate control more strictly. For humanoid robots, the essence of balance maintenance also depends on the regulation of the momentum change rate. Equally speaking, the key is the control of the ground reaction force and moment to the robot.
Based on the constraints of momentum change rate, this paper sets out to study the realtime balance maintenance utilizing the auxiliary arm of the robot during highspeed arm motions. Different from the industrial robot, which is located fixed on the ground, the humanoid robot is “pressed” to the ground by gravity. Thus, the 6D timevarying inertia impact generated by the highspeed motion of the robot arm might cause the robot tilt, slide, or even jump, which leads to the shifting of the end point of the operating arm and failure of the manipulator task. The force and moment which the robot exerts to the ground should be controlled within a safe range by properly designed motion of the auxiliary arm and the resultant force and moment impact due to the fact that highspeed motion of the operating arm should be eliminated or reduced, so as to guarantee the accurate and stable operation of the humanoid robot.
A balance maintenance method based on resolved momentum control has been adopted in prior studies [
The balance maintenance method in the early years was centered on static balance maintenance, which keeps the projection of center of gravity within the support area. In the year of 1972, the Yugoslav scholar Dr. Vukobratovic put forward the ZMP (ZeroMoment Point) theory [
In recent years, researchers from different fields have undertaken deep studies on motion planning and balance maintenance from various perspectives as humanoid robot become more and more popular. In particular, balance maintenance of humanoid robot based on momentum control has caught great attention. As for linear momentum control, balance maintenance generally requires that the projection of the center of gravity falls within the support area by controlling the linear momentum [
To achieve better balance maintenance performance, Professor Shuuji Kajita at AIST (National Institute of Advanced Industrial Science and Technology) of Japan put forward in 2003 the resolved momentum control scheme considering both the linear momentum and angular momentum based on his longtime research results and technological accumulations [
However, it has been found in practice that (1) when the resolved momentum control is applied to highspeed 6D full balance maintenance, the angular velocity of the auxiliary arm may exceed its limit; and the overrun is so great that it further leads to the overrun of angular acceleration of the joints immediately; (2) when the resolved momentum control is applied to highspeed and lowdimensional balance maintenance problem, the effect of the balance maintenance is excellent in the specified dimensions, but has no positive result on the other dimensions. For instance, when ZMP is regarded as the performance index of the balance maintenance problem, in other words the forward and backward tilt and left and right tilt dimensions are considered, the best ZMP balance can be achieved using the resolved momentum control and the tilting of the robot in these dimensions is well controlled. Nevertheless, the balance of other dimensions not considered in the scheme is totally lost, which leads the robot to slip and jump. The close relation between humanoid robot’s balance and its momentum change rate is clearly illustrated by Newton’s second law. The authors propose an optimal, realtime, alldimensional balance maintenance method, based on CMCR, to meet the needs of the 7DOF arm of the robot to perform highspeed dynamic operation safely.
This paper assumes that the humanoid robot moves only its two arms to perform certain tasks while the other parts of the body are fixed with no movement. Therefore, the total momentum of the robot equals the total momentum of its two arms. As shown in Figure
Humanoid robot model.
Specifically,
The humanoid robot has six degrees of freedom; and, thus, the robot can achieve full balance only if it is well balanced and stable at every DOF. In other words, the robot is not expected to tilt or slide backward and forward or left and right, to jump vertically, or to rotate around the vertical axis.
The 6D CMCR is exactly corresponded to the 6 DOF balance maintenance of the humanoid robot. In the following part, the authors will illustrate the relation between the 6D CMCR and the 6 DOF balance maintenance, as well as how the full balance maintenance is achieved. It is straightforward that according to Newton’s second law the momentum change rate equals the external force exerted by system. Since Newton’s second law can also be applied to the generalized 6D form of force and moment, as discussed in this case, the momentum change rate of the humanoid robot has 6 dimensions of which the number equals the ground reactive force and moment acts on the robot feet. Specially, the robot will lose its balance and fails at its task, when the planned momentum change rate exceeds the maximum force and moment that can be exerted by the ground. The total momentum change rate of the robot can be formulated by time derivative of total momentum by using
Specifically,
The authors will discuss and analyze the importance of momentum change rate at every dimension on balance, so as to find out the fundamental links between balance and momentum change rate.
(1)
If
Therefore, the vertical component of momentum change rate is constrained within the range as
(2)
The influence of tilting component of the momentum change rate on the robot’s stability can be demonstrated by the disturbance on the ZMP point of the robot and defined as follows:
Assume that initially the ground projection of the robot’s center of gravity is at the center of the support area and the length of the feet’s support area in leftright plane and the forwardbackward plane are defined as
The constraint range of the tilting component of the momentum change rate is shown in (
(3)
The rigorous conditions on which the robot will not slide transitionally are defined as follows:
Specifically,
According to the equation, (
Linearization of transitional friction constraint.
Therefore, (
(4)
The accurate calculation of the maximum friction moment the ground can provide is fairly complex. As an engineering practice, the distributed pressing force the robot’s two feet exert to the ground is assumed to be equal to the concentrated force exerted through the two feet’s center point acts to the ground. Thus, the maximum friction force allowed is defined as
Specifically,
Based on the analyses above, the inequalities of the 6D momentum change rate to realize full balance maintenance of the humanoid robot are defined as
It can be concluded from the inequalities of full balance conditions above that (1) either the tilting stableness represented by traditional ZMP or the jumping and sliding stableness is related to the momentum change rate of the corresponding dimension and (2) balance in any dimension is confined to a zone instead of a point. In other words, instability will occur when the momentum change rate is out of the zone. With smaller zone locating at the center of the support area, the bigger balance margin will bring stronger stability in practice. When the zone is narrowed down to a point, it falls into the traditional stability maintenance concept. For instance, in the direction of titling, when the zone is narrowed down to a point, it becomes the classical ZMP control. Most interestingly, though jumping in one direction, tiling in two directions, and sliding in three directions look like different phenomena, they can be defined in the same mathematical and physical constraint inequality.
By observing inequalities (
Obviously, if inequalities in (
The inequalities in (
The formula of the CMCR needs to be discretized for convenient processing on the computer.
Firstly, the derivative of momentum in inequalities (
Then, the robot’s total momentum at the
Lastly, the auxiliary arm’s momentum formula at the
The angular velocity vector of the joints in the auxiliary arm that fits with the constraint inequality (
Specifically,
In practice, it is necessary to take into account the output angular velocity and acceleration of the motor and reducer of the joints in the auxiliary arm. If not, the motor will overspeed and be overheated for the large current, and the reducer will overload. Since the constraint conditions of the defined convex quadratic programming are open, more reasonable constraints can be added. In the following part, the motion constraint of the joints in the auxiliary arm will be formulated.
Assume that the angular velocity constraint of the joints in the auxiliary arm is
The constraint on the angular acceleration of the joints will be
Above all, the motion constraint of the joints in the auxiliary arm is
Specifically,
The convex quadratic programming falls into the category of classical mathematic programming with mature algorithms. Since the problem scale is small, the following steps have been taken to improve the speed of algorithm.
The kinematic chain of calculation is shortened. The desired motion and balance maintenance of the robot is and can only be performed by the two arms with other joints in the body remaining fixed. Thus, only the motion of the two arms needs to be calculated.
Array structure, instead of tree structure, is used in the algorithm data structure. The traverse calculation can be completed by one simple linear loop.
Recursive algorithm is replaced by nonrecursive algorithm, in order to save the calculation overhead and increase the speed.
Based on the steps above, the effectiveness and realtime performance of the algorithm have been tested on a computer platform with the configuration of Intel Core 2 Duo 2.93 GHz CPU, 2 GB RAM, Windows Xp. The computational time for each sample cycle on Matlab R2008b is 5.6 ms on average and 8.6 ms at most. Thus, the computation speed of the algorithm basically meets the requirement of realtime applications.
We have simulated the highspeed motion of the humanoid robot’s right arm for further experiments and analyses. The robot model we used in the experiment is shown in Figure
Detailed parameters of the arms.
Arms  Length (m)  Mass (kg)  Equivalent crosssection size (m * m) 

Upper arm  0.25  3.5 

Forearm  0.25  2.5 

Hand  0.20  0.5 

Motion parameters of the arm joints.
Motion range of the joint angle (deg)  Maximum angular velocity (deg/s)  Maximum angular acceleration (deg/s^{2})  

Minimum  Maximum  
Pitch of shoulder  −120  40  430  5730 
Roll of shoulder  −130  10  430  5730 
Yaw of shoulder  −170  90  573  5730 
Roll of elbow  −20  110  573  5730 
Yaw of wrist  −130  130  573  2865 
Roll of wrist  −90  90  487  2865 
Pitch of wrist  −60  60  487  2865 
Model structures of the robot arms.
The constraint parameters are set as follows. Based on previous experience, the weight loss coefficient is
According to test results, though the dynamic balance constraint index can guarantee basic balance and stableness, the constraint is still too loose. To achieve better balance and stability, the constraint is further tightened as
For uniformity and writing convenience, the force and moment are unified into 6D column vector with their units removed.
The angular velocity constraint and angular acceleration constraint of the joints in the auxiliary arm are the maximum angular velocity and maximum angular acceleration in Table
In the simulation experiment, the task of the humanoid robot’s operating arm (the right arm) performs the motion as follows: at first, the operating arm returns to the initial posture shown in Figure
Operation and balance maintenance processing of the humanoid robot.
Relatively great continuous inertia impact is exerted to the robot body when the robot’s arm accelerated from static to the synthesized linear velocity up to 1.8 m/s in a short time of 0.3 s. However, the greatest impact does not occur when the maximum synthesized linear velocity is reached; instead, it happens after the arm reaches the maximum synthesized linear velocity and when it is ready to withdraw its arm. At this moment, the main joints of the operating arm switch the maximum angular acceleration to the opposite maximum angular acceleration in an instant. Large jerk value is required bringing instantaneous impact to the humanoid robot body, and therefore the balance maintenance of the robot will play a vital role. As a result, it can be concluded that balance maintenance of the auxiliary arm is needed only when the operating arm performs and withdraws. From initial posture to preparatory posture, the time interval is long enough and the motion is mild, so this time interval is not the focus of this paper. Therefore, at this interval, the auxiliary arm is not used for balance maintenance but for moving to an advantageous initial posture.
From Figures
Figure
Momentum change rate curve of the robot.
Angular velocity curve of the robot’s arms.
Joint angular curve of the robot’s arms.
Figure
Figure
Figure
ZMP curve of the robot.
The ZMP curve after balance maintenance has been executed can be observed from the other aspect. In Figure
We have selected ten groups of typical motion programming data of the operating arm. The expected effect has been achieved in these tests by means of the full balance maintenance method, employed with the constraints of momentum change rate and joint motion of the auxiliary arm. The test involves 12 dynamic balance constraint indexes, angular acceleration constraints, and angular velocity constraints of the seven joints in the robot’s auxiliary arm, as well as the optimal diagonal weight matrix parameters. As a result, we can conclude the following.
Firstly, balance maintenance during highspeed motion of the robot under the constraint of the momentum change rate is feasible; and the framework of full balance maintenance is open and extensive. For instance, angular velocity and angular acceleration constraints on the joints of the auxiliary arm have been added in this paper. In other words, other reasonable requirements can be added to the solution, as long as they can be written in the form of constraint inequalities. For example, collision and interference constraints of the auxiliary arm can be added if necessary.
Secondly, the multiple parameters in the convex quadratic programming constrained by the inequalities on the one hand stand in the way of full balance maintenance; but, on the other hand, they bring great flexibility to the realization of the convex quadratic programming. For instance, these parameters can be organically linked by means of neural network or even learned by iterative evolution algorithm, since these parameters can be adjusted online at real time.
Lastly, full balance maintenance is a concept and constraint of momentum change rate is an idea. The convex quadratic programming under the constraint of the inequalities is one of the mathematic methods under this concept and this idea. It is possible that a better and more advanced mathematical tool can be sought to achieve better balance between balance maintenance and the motion constraint of the auxiliary arm’s joints.
All in all, the concept of full balance and the idea of constraint of momentum change rate is a new solution to achieve dynamic balance at the six degrees of freedom when the humanoid robot is performing highspeed motion. The solution has been specifically illustrated and briefly experimented in the paper and shows a good generality. In addition, this solution is highly open, extensive, and flexible in the parameter adjustments and realization methods. Thus, the authors have created a new framework for the balance and stability of the robot, with great value for future studies.
To test the balance performance when the robot operating arm’s end is at a higher speed, we gradually increase the linear speed at the end of the operating arm within the range of the robot’s actual capabilities. It has been found that, when the linear speed is as high as 3.2 m/s, the robot can still remain balanced. Moreover, the bottleneck that occurs first is the overrunning of the angular velocity of the joints to their limits in the operating arm, rather than those in the auxiliary arm. As a matter of fact, the auxiliary arm modifies its angular acceleration to adjust robot momentum change rate for balance only when the momentum change rate tries to exceed the dynamic balance constraint index, and this process will not last long. Thus, the angular velocity of the auxiliary arm basically will not overrun. However, the angular acceleration of the joints in the auxiliary arm should not be too large or last with a high speed for too long. The robot’s arm end can perform with balance at a higher speed, if the actual performance capacities of the robot arm are further improved.
This paper puts forward the concept of full balance maintenance, as well as the idea of constraint of momentum change rate for the first time, and the concept and idea have been employed to achieve balance maintenance of the highspeed motion of the humanoid robot. Firstly, the total momentum formula of the robot’s two arms is provided. Then momentum change rate is defined by the time derivative of the total momentum. In addition, the authors illustrate the concept of full balance, so as to find out the physical meaning of the constraint of the momentum change rate at the six dimensions, as well as the relation between full balance and 6D CMCR. Lastly, for the convenience of computer processing, CMCR is discretized and the convex quadratic programming is employed to solve motion constraint of the joints in the auxiliary arm. Besides, the actual algorithm is optimized to get realtime performance. The simulation results show the validity to achieve balance maintenance at the six degrees of freedom of the robot body by means of 6D CMCR. The resulted balance motion of the auxiliary arm has large angular margin, maintains angular velocity and angular acceleration within the range, and archives a comprehensive dynamic balance performance and good ZMP stability margin. The actual tests have a good realtime performance. For future research, the realtime full balance maintenance utilizing the motion of the humanoid’s waist and legs’ joints will be studied.
The authors declare that there is no conflict of interests regarding the publication of this paper.
This work is supported by the National 863 Plan (Grant no. 2008AA042602), the National Nature Science Foundation of China (Grant no. 61075078), and the project of Key Science and Technology Innovation Team of Zhejiang Province (2011R09014).