Abstract
We design a framework about the planning of whole body motion for humanoid robots. Motion planning with various constraints is essential to success the task. In this research, we propose a motion planning method corresponding to various conditions for achieving the task. We specify some via-points to deal with the conditions for target achievement depending on various constraints. Together with certain constraints including task accomplishment, the via-point representation plays a crucial role in the optimization process of our method. Furthermore, the via-points as the optimization parameters are related to some physical conditions. We applied this method to generate the kicking motion of a humanoid robot HOAP-3. We have confirmed that the robot was able to complete the task of kicking a ball over an obstacle into a goal in addition to changing conditions of the location of a ball. These results show that the proposed motion planning method using via-point representation can increase articulation of the motion.
1. Introduction
Humanoid robots with many degrees of freedom can perform a variety of movements. If humanoid robots had the ability to adapt themselves to the human environment, the robots could play useful roles as substitutes for the humans in various areas such as working in construction and nursing care. However, in planning the motion for humanoid robots, the redundancy problem has to be solved under a great number of constraints, such as maintaining balance, range of motion, and torque limitation. Furthermore, the conditions for achieving the target also need to be considered in the motion plan.
Accomplishment of the task is an important factor in motion planning. Despite the fact that the motion has been planned by considering a set of constraints such as balance, the planned motion is not beneficial if the robot does not accomplish the task. To achieve the motion objective, it is important to represent the conditions for achieving the task. These conditions are usually represented by equality constraints in motion planning for the robots. By representing the appropriate equality constraints during the motion, the robot can achieve the goal of motion.
The equation for whole body motion for humanoid robots has strong nonlinearity, since the movements are generated by a combination of multi-joints. In previous works, humanoid robots were controlled by using simple linear models, e.g., a 2D or 3D inverted pendulum model [1-2] or a cart on table model [3]. Moreover, there are motion planning methods based on specific physical quantities, e.g., resolved momentum [4], and angular momentum [5]. The motion for humanoid robots with complex kinematics and dynamics can be calculated quickly using simplified or reduced models. However, there are many constraints that should be considered, and the motion planning method introduced by these models cannot deal with these.
To resolve the above problem, motion planning can be transformed into a constrained nonlinear optimization problem by joint angle trajectory parameterization [8]. Constraints such as balance and joint range of the motion are considered as inequality constraints, while the conditions for target achievement are represented by equality constraints in the optimization process. The problem of control for a humanoid robot is solved by Quadratic Programming (QP) [6] or Second Order Cone Programming (SOCP) [7]. Moreover, Semi Infinite Programming (SIP) is used to resolve the problem of whole body motion planning for humanoid robots by joint angle trajectory parameterization [8-9]. Motion planning as SIP is useful for a variety of constraints, such as multi-contact motion [10].
However, joint angle trajectory parameterization in the motion planning as constrained optimization problem remains a critical problem to increase articulation of the motion. In previous works, joint angle trajectories have often been parameterized using B-spline basis function [11]. In this case, the motion planning problem is solved by calculating adequate coefficients of B-spline basis function [8-10]. However, the coefficients do not explicitly represent any quantities related to the motion. Therefore, even if only specific condition is changed in the re-planning, all the parameters have to be recalculated. If we define the optimization parameters as quantities related to the trajectory, we would reduce the number of optimization parameter under the change of certain conditions.
Via-point representation, which is mathematically straightforward to calculate, is a way of representing the equality constraints during the motion. The advantage of the via-point representation is that via-points as an optimization parameter is explicitly associated with some physical conditions. A via-point is a significant component in quantitative reproduction of human exercise. Dynamic movement of a human can be expressed by assigning various via-points and calculating joint trajectories based on the principle of optimization [12-13]. Furthermore, via-point representation based on human movement is used to control the robot manipulator. By taking some via-points from measured human motion and applying them to the robot manipulators, the robot can perform the same task as a human [14].
In this research, we propose a new motion planning method using via-point representation to deal with various conditions for accomplishing tasks. Our method deals with various constraints including the conditions for achieving the target, as conditions of the via-point in the optimization process. First, we represent the joint angle trajectory of the robot by the conditions of the via-points based on a jerk cost function. Second, the motion is planned by calculating the optimal parameters of the via-points satisfied with various constraints, including the conditions for target achievement. This problem can be regarded as the SIP problem [15]. In addition, we introduce simple re-planning technique by changing some parameters. This method produces a motion corresponding to changing some conditions.
Kicking motion, which is one type of whole body motion, is performed to kick a ball into a goal. A humanoid robot needs to maintain its balance on one supporting leg, and complete the task while taking into account the changing surrounding conditions with the other flying leg. To be able to effectuate a variety of motion in robots, the motion must be planned according to the motion objective. In our proposed motion planning method, joint angle trajectories already include the conditions for target achievement as certain via-points. Therefore, the robot can deal with varying conditions for accomplishing the task. Furthermore, other constraint conditions such as maintaining balance are also integrated as the conditions of via-points. Our method is applied to generate the kicking motion of a HOAP-3 humanoid robot. We confirmed that the robot was able to success the kicking task [16], even if there is an obstacle in front of the goal. Furthermore, the robot can re-plan the motions corresponding to various conditions of kicking speed efficiently.
The paper is organized as follows. Section 2 defines the motion planning problem using via-point representation. Section 3 presents the conditions that should be considered in motion planning for humanoid robots as the parameters of the via-point. Section 4 illustrates an application of proposed method in generating the kicking motion of a HOAP-3 humanoid robot. In Section 5, we discuss our motion planning method and compare proposed method with previous works which generate kicking motions. We conclude the paper by describing the advantages and limitations of our motion planning method using the via-points, and emphasize prospective enhancements of our method.
2. Motion Planning Problem
In this section, we explain the motion planning problem using via-point representation. The motion planning problem is usually solved by calculating the set of optimal joint angle trajectories. In our motion planning framework, a via-point representation is used to deal with the various conditions for accomplishing the task. Furthermore, each joint angle trajectory is represented by the parameters of the via-points. In other words, the motion planning problem is essentially one of finding the optimal parameters of via-points. In the subsequent subsections, we detail the particulars of the motion planning process.
2.1 Joint Angle Trajectory using Via-point Representation
Minimum jerk cost is a typical criterion to generate multijoint motion of a human and the robot manipulators. In the mathematical model explaining human coordination of smooth arm movement, the minimum jerk is used as a biological indicator [12]. Additionally, the jerk cost function is sufficient for considering energy efficiency in the robot control [17-18]. A simple minimum jerk trajectory can be represented by a fifth order polynomial function
The position, velocity, and acceleration at the start time (
In motion planning, the robot can accomplish the task by specifying certain equality constraints. We make use of via-point representation to consider the conditions of the various constraints, of which target achievement is the most important. These constraints are transformed into conditions of the via-points. In this case, the specification of the via-point is an essential problem. In general whole-body motion, specifying appropriate via-points is fairly difficult problem. In this paper, we deal with the motion planning problem in which appropriate via-point to achieve the task can be obviously estimated. The constraints are represented by the positions
The joint angle trajectory
where
The motion planning problem in this paper involves finding suitable values for the via-point parameters in Eq. (4). Here, parameters
It is assumed that the number of controlled joint motors is n. There are 2
where
2.2 Motion Planning as a SIP Problem
We can determine the joint angle trajectories by optimizing parameter
Moreover, we can define the function of the inequality constraints using only the set of joint angle parameters
We consider the constraints to succeed in accomplishing the task directly using via-point representation. The conditions for target achievement represented by equality constraints need to be considered only at time
We focus on the nonlinear constrained optimization problem to determine parameter
where
2.3 Partial Re-planning as a SIP Problem
An advantage of our method is that the optimization parameters consist of the kinematic quantities related to the motion of the robot. Indeed,
where
3. Motion Planning for Humanoid Robots
In this section, we describe motion planning for humanoid robots using the problem defined in Section 2. In the following, we illustrate the conditions that must be considered in motion planning for humanoid robots.
3.1 Humanoid Robots
First, we represent the kinematics, dynamics, and balance of humanoid robots with parameter
3.1.1 Kinematics
Once the joint angle trajectories have been determined, the humanoid robot's joint positions, postures, velocities, and angular velocities can be calculated by the kinematics equations. The positions
where
In motion planning, the robot can accomplish the task by constraining the kinematics information. In particular, the kinematics information at the via-points is the most important. Therefore, the kinematics information for accomplishing the task needs to be focused on the via-points. Because parameter
These are calculated by the robot manipulator's forward kinematics [19].
3.1.2 Dynamics
We must consider each motor torque
3.1.3 Balance
The humanoid robot must maintain its balance during motion. The balance of a humanoid robot can be evaluated by the ZMP (Zero Moment Point) [20]. The ZMP is the point at which the total inertia force is equal to 0 on the supporting area. If the ZMP of the planned motion exists at the base of the support with sufficient margins, the humanoid robot can maintain its balance. The function of the ZMP is defined as
where
3.2 Motion Planning for Humanoid Robots as a SIP Problem
Motion for humanoid robots is performed by determining parameter
3.2.1 Inequality Constraints
The conditions for maintaining balance, and the limitations of the joint angle and torque must be satisfied throughout the duration of the whole motion. These constraints can be represented by inequality constraints in the SIP problem.
Here, (
Furthermore, the range of motion, such as the positions and postures of the joints, needs to be restricted. The limits of the joint positions and postures can also be represented by inequality constraints:
Here,
3.2.2 Equality Constraints
The conditions for achieving the goal during the motion are represented by equality constraints. We assume that the target information for accomplishing the task is given by the position
Finally, the conditions for accomplishing the task given in Eq. (17) are represented by the equality constraint function given in Eq. (8).
3.2.3 Cost Function
The cost function
4. Application to Kicking Motion
In this section, we describe a simple application of the proposed motion planning method. We applied our motion planning method to generate the kicking motion for a HOAP-3 humanoid robot. Kicking motion is one of the motions in which explicit via-point can be easily estimated; e.g., the moment when robot kicks the ball. Various methods based on optimization have been developed to generate kicking motion for humanoid robots [4, 8-10]. Although these methods considered the constraints of balance, and ranges of joint angles and torques, they did not address various requirements to perform the task depending on the surrounding environment.
On the other hand, Xu et al. proposed a control-based planning method for kicking motion [21]. It enables the robot to perform an online motion control with fast planning technique of kicking trajectory. In their method, the joint angle trajectories were generated by inverse kinematics. However, a redundancy problem had to be solved in the use of the inverse kinematics equations. Furthermore, singular posture problem had to be taken into account for the planning. To avoid these problems, it is desired to plan the motions in joint space.
Nevertheless, these studies set out to consider how to kick a ball, which imposed certain conditions for accomplishing the task in the motion planning. Indeed, in previous works, the robot always kicked a ball on the ground, even if the robot had the ability to respond when the location of the ball changed [9, 21]. For example, if there is an obstacle in front of the robot, the robot needs to kick the ball in the air to score a goal [16]. As such, we must consider the course of the ball, including how to kick it.
In the kicking motion, the most important point is the instant at which the robot kicks the ball. A humanoid robot can perform a variety of kicking motions depending on the surrounding conditions by considering the information when the robot kicks the ball. We improve the performance of the kicking motion by constraining the information at the instant when the robot kicks the ball by means of a via-point. Here, we use only one via-point which corresponds to the moment when the robot kicks the ball. Based on Eq. (3), the joint angle trajectory with one via-point is expressed as (see Appendix B)
Eq. (18) has eight parameters (
4.1 Planning of Kicking Motion for HOAP-3 Humanoid Robot
We use a HOAP-3 humanoid robot with 28 degrees of freedom, height 60 [
The instant when the robot kicks the ball is considered as to be time

The moment when a humanoid robot kicks a ball. (
4.1.1. Inequality Constraint Function
The inequality constraint function represents the conditions that must be satisfied during the movement. In generating a kicking motion, we must deal with the conditions of the limits of each segment's angle and torque, maintaining balance, and collision avoidance with the ground.
The lengths of (
4.1.2 Equality Constraint Function
The equality constraint function deals with the conditions for accomplishing the task. Indeed, the toe position
The size of each of the vectors
The humanoid robot can accurately kick a ball with the given conditions for
4.1.3 Cost Function
The velocity
In kicking a ball on the ground, for example, we can improve the motion performance by minimizing the time to reach the goal. To minimize the time to reach the goal, the robot has to kick the ball with maximum velocity in the horizontal direction under the various constraints such as balance. We can represent the criterion for maximizing the horizontal velocity of the flying foot when the robot kicks a ball as
Here
To kick a ball in the air, we need to consider the velocity in both the horizontal and vertical directions (
where
4.2 Experiments involving Kicking Motion for the HOAP-3
Two types of kicking motion for a HOAP-3 humanoid robot were generated using our proposed method with the target information given. The location of the ball (

Experimental environment for kicking motion. (
Table 1 shows the experimental environment for the investigation of the kicking motion.
Experimental environment and Computation time
Fig. 3 shows scenes of the kicking motion of the HOAP-3 humanoid robot corresponding to the parameter values for experiments 1 and 2 as given in Table 1. Fig. 3a shows the robot kicking a ball on the ground. In Fig. 3a, location of the ball isplaced 6.5 [

Experimental scenes showing two kinds of kicking motion by the HOAP-3 humanoid robot.
Fig. 4 illustrates the planned trajectories of the flying foot for the two types of kicking motion. We can see that the robot took reciprocatory action by setting only one via-point. When kicking a ball in the air, the velocity in the z-direction at the via-point is higher than when kicking a ball on the ground. Therefore, the peakof the vertical position when kicking a ball in the air (Fig. 4b) is higher than that when kicking a ball on the ground (Fig. 4a).

Planned trajectory of the flying foot on the x-z plane in Exp. 1-a and 2-a.
Additionally, the posture of the flying foot was horizontal and slanted in Figs. 4a and 4b. To kick a ball in the air, the robot angled the flying foot and aimed the kick at the lower point of the ball. The difference in the trajectories of the flying foot is the result of the given information only at the via-point.
The planned ZMP of the HOAP-3 humanoid robot is shown in Fig. 5. The upper and lower boundaries on the supporting area of the

Planned ZMP of an HOAP-3 humanoid robot for two kinds of kicking motion. (Vertical axis of the left and right graphs in each subfigure: ZMP of the x- and y-axes, respectively; Horizontal axis of all graphs: time; Dash-dotted lines: upper and lower limits of supporting foot; Dashed lines: upper and lower limits of optimization process.)
Furthermore, the location of the ball was varied in Exp. 1 (a: 6.5 [

Images of the kicking motion of an HOAP-3 at the via-point.
5. Discussion
In comparison with the previous works of generating kicking motions [9, 21], the advanced articulation of kicking motions was implemented in the proposed method; the robot could take into account how to kick the ball such as kicking the ball in the air. However, the proposed method only provides off-line planning because of computation time. We could confirm the specific computation time of each motion from Table 1.
In the kicking motion, it is important to control kick strength. In Exp. 1 ‘and Exp. 2’, we consider the motion planning to kick the ball weaker (about half) than velocity

Replanned trajectory of the flying foot in Exp. 1-a'.
Calculation result of re-planning for changed kicking speed
In our motion planning method based on via-point representation, the optimization parameters have a clear physical meaning related to the trajectory, specifically joint angle and angular velocity in this research. Indeed, joint angle is directly related to position and posture of the robot and joint angular velocity is connected to velocity of the robot. Therefore, we can control the trajectory focused on certain conditions with fewer optimization parameters. In this research, we consider the situation to control kick strength. Changing only some parts of optimization parameters, we can also reduce the computation time. We can confirm that specific computation time from Table 1 and 2. In the case of Exp. 1-a to Exp. 1-a‘, the computation time was reduced from 572.05 [
On the other hand, when the B-spline basis function is used for the motion planning all parameters have to be recalculated even if the situation like Exp. 1-a'. Furthermore, the joint angle trajectory is already optimized solution under a jerk cost function. Consequently, when we use proposed method, the smoothness of the trajectory is guaranteed than using B-spline basis function.
We expect that the proposed method would be applied to plan various whole-body motions reflecting surrounding conditions; sit-to-stand motion, throwing motion, walking motion and so on. In each motion, there are important points to achieve the task; the point of seat-off in sit-to-stand motion, the releasing point of the ball in throwing motion and the time of toe-off in walking motion. These points could be regarded as the via-points to accomplish the task in the motion planning for humanoid robots.
6. Conclusion
In this paper, we focused on varying conditions for accomplishing the task in motion planning for humanoid robots. In our proposed motion planning method, we represent the joint angle trajectory using via-point representation based on a cost function minimizing jerk. The various constraints including the conditions for accomplishing the task are considered by the conditions of the via-point. The robot's motion is planned by optimizing the conditions of the via-point as a SIP problem. Furthermore, we demonstrated a simple application of the proposed method to implement kicking motion of a humanoid.
In the application to the kicking motion, the moment at which the robot kicks a ball is constrained as a via-point. Briefly, the kicking motion of a HOAP-3 humanoid robot is planned by calculating the joint angle and angular velocity at the moment when the robot kicks the ball. We successfully generated two types of kicking motion, namely, kicking a ball on the ground and in the air. The HOAP-3 can accomplish the kicking task by kicking a ball in the air, even if there is an obstacle in front of the robot. As such, we improved the kicking motion performance using our proposed method. If we consider specific external impulse model of the ball [22], the trajectory of the ball could be controlled precisely. Furthermore, the situation to control kick strength was considered. We did not have to recalculate all parameters, because optimization parameteres are realted to the physical conditions.
However, the computation time for optimizing a via-point is still too expensive for application to on-line control of humanoid robots. However, the motion for robots must be planned in real-time in order to be effective in an unpredictable human environment. Online motion planning is an essential problem for improving motion performance. In the future, we intend approaching on-line motion planning using via-point representation. In our proposed method, the parameters of the joint angle trajectory denote the joint angle and angular velocity at the via-point. These parameters can be calculated by the manipulator's constrained motion planning method. Considering these observations, we will investigate an on-line motion planning framework with via-point representation for humanoid robots.
In this research, we assumed that the number of via-points and its timing is already given. For the motions where we cannot specify the via-points such as dancing motion, it is difficult to apply the proposed method. We will expand our motion planning algorithm so as to determine the number of via-point and its timing for complex whole-body motions. We are expecting that motion performance would be improved by specifying several via-points which are important for achieving the task.
Footnotes
7. Acknowledgements
The authors would like to thank Associate Prof. Kouichi Taji for his helpful suggestions. This study was supports by a Grant-in-Aid for Scientific Research (B) No.21300092 and (C) No.23560526.
