Abstract
This paper proposes an impedance control scheme used on humanoid robots for stability maintenance when the robot is expected to carry out fast manipulatory tasks. We take table tennis playing as an example to study this issue. The fast acceleration required by table tennis rallying will result in an unknown large reaction force on the robot, causing the body to swing back and forth in an oscillating motion and the foot to lose complete contact with the ground. To improve the stability during fast manipulation and in order to resist disturbances due to the reaction force, we introduce impedance control to absorb the impact and decrease the amplitude of body swinging. The system's adjusting time is also reduced and the oscillations are eliminated according to the experimental results, which show the effectiveness of our scheme.
1. Introduction
Humanoid robots are biped robots which feature very high DOFs (degree of freedom) and human-like DOF configuration. They are capable of performing locomotive and manipulatory tasks in cluttered space, and are expected to step out of the laboratory and replace the human labour force in dangerous working conditions and other fields of low productivity in the near future. The ongoing research on humanoids has stepped out of the field of reliable biped walking and moved towards complex task performing in different environments, such as providing domestic service in a home environment, collaborating with human beings to move heavy objects[1], etc.
The human-like DOF configuration and dynamic characteristics distinguish the humanoid robot from traditional industrial manufacturing robots and wheel-driven mobile robots, making the balance maintenance one of the most fundamental issues for humanoid robot research. For service-oriented humanoid robots collaborating with humans and working in a dynamic environment, the problem becomes more complicated due to unexpected external force disturbances caused by uncertainties of the environment information, such as uneven ground and unexpected obstacles or humans and the reaction force resulting from large acceleration and deceleration of a limb movement, for example, swinging the arms in a very short time frame or kicking a ball with full strength.
Research on balance motion generation during complicated body movement will also help advance research on both the design and realization of realistic virtual human motion in software simulations and human-machine interfaces. The traditional motion generation method uses only kinematics information of the model and does not take the characteristics of the dynamics into consideration, which leads to a solid motion pattern and unconvincing physical responses, such as unbalanced postures or a fault physical reaction force. By applying dynamics analysis to the motion generation process, the robot or the virtual human can demonstrate more plausible movements with improved authenticity and realness, thus bringing about better interaction experience for human users. The method discussed in this paper is a basic scheme to generate balance motion during fast manipulatory tasks and can be extended to other conditions in which a dynamic interaction between the robot and the environment is expected.
This paper introduces an impedance control scheme used to improve stability of the robot against the reaction force resulting from high speed arm movement. We take table tennis playing as an entry point to study the motion planning and balance maintenance required in fast manipulatory tasks. Table tennis playing requires accurate visual recognition, quick system response and precise manipulation, which are all fundamental factors for future service robots. These characteristics make table tennis playing an ideal demonstrative platform in which various studies in the fields of robotics can be carried out and control strategies verified. Table tennis playing also provides an interesting point of view for research on autonomous cooperative or competitive interaction for robots or virtual humans. The robot's play strategy shall vary depending on whether the robot is required to help the opponent to practice or to win the match, which is an interesting research issue for study in artificial intelligence and virtual human action resolution.
In our experiments, we discovered that to achieve a continuous rally, large acceleration and deceleration in arm joints are required, which will result in a high unknown reaction force on the robot body, leading to shaking of the robot posture and instability. An impedance control scheme is proposed to resist these disturbances while the stiffness of the robot is not completely lost. Analysis indicates that after the adoption of the proposed online impedance control scheme, the dynamic interaction between the ground and the robot's foot can be modulated, thus absorbing the reaction force and improving stability.
This paper is organized as follows. Section 2 introduces related work on humanoid robot balance maintenance and robot table tennis playing. In Section 3, we investigate the table tennis playing scenario and the effect of reaction force during table tennis playing. An impedance control scheme to regulate the dynamic interaction between the robot foot and the ground is proposed in Section 4. Experimental results are given in Section 5. Section 6 concludes the paper.
2. Related work
2.1 Humanoid robot balance maintenance
As with the advancement in the development of humanoid robots, many new prototypes with extended capabilities have been successfully released. The new Honda ASIMO[2][3] can run at a top speed of 9km/h, the AIST HRP-4C[4] can do a professional catwalk and act in a one man show on the stage. The KAIST HUBO2[5] has a capability of running at a speed of 3.24 km/h.
Different control algorithms for balance maintenance are proposed to enhance robot stability while the robot is executing complex tasks. The dynamic filter proposed in [6] provides a way to transform a physically inconsistent motion into a consistent one, thus compensating for the error between the ideal model and the real one. The AutoBalancer[7] generates the stable motion of a standing humanoid robot on-line from the given motion pattern and constraints, but it is not very applicable for fast dynamic motions due to the complexity of the algorithm. Sugihara[8] proposed a balancing scheme by combining both short-term and long-term absorption of disturbance using the COG Jacobian. Kajita[9] proposed resolved momentum control as a unified framework to deal with the whole body balance motion generation of humanoid robots, which optimizes the overall linear and angular momentum using redundant DOFs, but the optimization may result in unexpected motions in these joints. Lim[10] proposed a position-based impedance control for bipedal walking of humanoid robots and reduced the impact force between the contacting foot and the ground.
2.2 Robot for table tennis playing
Table tennis is a typical continuous interacting sport, which can never be realized by a robot without fast and accurate perception and control. As a classical real-time ‘eye-hand’ platform, it has been attracting more and more interest from researchers all over the world. The first robot to realize table tennis playing was introduced by John Billingsley[11] in 1983. Several robot systems for table tennis playing have been developed since. Many prototype systems[12][13] were developed using industrial robotic arms. Generally it is difficult to design a multi-DOF arm that satisfies all the speed and torque requirements for fast table tennis playing. M. Matsushima[14], Y. Zhang[15] and Z. Zhang[16] have proposed different Cartesian mechanisms which locate on the table to adjust the paddle position and orientation.
TOSY Inc. exhibited the first humanoid table tennis robot TOPIO[17] in 2007. TOPIO is 1.88m in height and 120 kg in weight, and can demonstrate a human-robot rally for about 2–3 turns. We have been working on the development and related research topics of autonomous table tennis humanoid robots since 2008, and have successfully developed two humanoid robots that can rally against each other or with human players. This paper concentrates on the stability maintenance during such a fast manipulatory task.
3. Reaction force during table tennis playing and its impact
3.1 Table tennis playing scenario
We set up a table tennis playing scenario that involves two standalone autonomous humanoid robots playing against each other. Both of the robots are of identical DOF configuration, and each one is equipped with a vision system that can recognize the ball and predict its trajectory, which is then processed by a motion planning processor to generate arm motion to hit the ball back to the desired location in the opponent's court. To achieve a continuous rally between two humanoid robots, there are several key factors that must be taken care of in the process of design and implementation of the robots, including accurate vision perception, which is responsible for the fast and precise localization of the ball, and prediction of its trajectory; real-time response and a flexible mechanism, which is necessary for manipulatory tasks that are intolerable to time delay and execution error; and robust stability maintenance, which is indispensable for biped robots with no physical constraints to the ground.
3.2 Reaction force and its impact
The humanoid robot has long been known as an unstable dynamic system due to its poor support condition and high centre of mass. It is common in biped walking planning to model the humanoid robot as an inverted pendulum with a point mass, with which the zero momentum point can be controlled through the position of the COM (Centre of Mass). To achieve stable walking, much research has been carried out to study the control strategy of the robot, for example, using feedforward schemes to compensate for modelling error and feedback schemes to adjust the trajectory of COM or the landing foot position according to data from sensors.
Most studies on robot manipulation focus on the trajectory planning and end-point stability, such as [18][19], because their purpose is to help industrial robotic arms or wheeled-robots with arms to achieve better performance in specified working conditions. In these conditions, the reaction force that the robotic arm exerts on the robot body is usually negligible because the mass and inertia tensor of the arm is comparatively small with respect to the heavy base or chassis. For an unstable dynamic system, such as a humanoid robot, the reaction force generated by acceleration and deceleration of the arms can easily cause shaking of the robot body, leading to deviation of pose and position in end-point from its setting value, resulting in failure of the manipulation task or even causing the robot to tip over.
Before further analysing the effect and influence of the reaction force, we first define the reference frame in which we describe the robot and the world as shown in Fig. 1.

The world coordinate system for the robot model. The positive x axis is normal to the frontal plane of the robot and points to the opposite court. The positive y axis is normal to the lateral plane and points toward the left of the robot. The z axis is normal to the ground.
As have been mentioned, the robot playing table tennis has to respond quickly when it receives commands from the vision system. In a typical experiment, there is only 400ms for the 7-DOF arm to move from its initial pose to the desired hitting position with the expected velocity, and 700ms for the arm to stop and return to its initial pose before the next strike command comes in. Fig. 2 shows the curve of force and torque exerted by the arm on the robot's body during a typical stroke, which is measured by a force/torque sensor mounted between the robotic arm and the robot body. As shown in the figure, the force reached up to 100 N in the x- and y- axis respectively, and the torque reached up to 200 Nm in the z-axis. Oscillations after the strike were also significant.

Force and torque measured by force/torque sensors mounted between the arm and the robot body. (a) Force in three axes. (b) Torque in three axes.
From experiments, there are two kinds of disturbances that are caused by the reaction force, which are illustrated in Fig. 3 respectively. The output power and speed of the actuators and gears that drive each joint in both arms have physical limitations meaning that the robot cannot realize human-like agile arm movements. Given the expected hit position, velocity and moving time of the paddle, the trajectory of arm end-point is determined by the upper-level motion planner, the trajectory in each joint is calculated using inverse kinematics and interpolation algorithms in joint space with predefined speed and acceleration constraints. Although we have proposed a joint space trajectory planning method under multiple constraints to optimize the angular acceleration[20], the reaction force is still strong enough to cause obvious disturbance in the robot pose.

Two kinds of disturbances during table tennis playing: (a) the body swing in the x-z plane; (b) rotation along the z-axis.
(1) Body swing back and forth in the x-z plane
We discovered that during table tennis playing the arm motion would cause the robot to swing back and forth if the lower body remained still. This is mainly caused by two factors: the change in COM position due to a different configuration of arms and the reaction force resulting from large acceleration in the arms. The large acceleration in the arms may cause some part of the foot to lose contact with the ground which contributes to a larger amplitude in body shaking. The robot will act like an inverted pendulum, oscillating around the ankles, and the oscillations will continue even after the arm motion is completed and the arm is returned to the initial position. It is also possible that the ZMP falls out of the support polygon if the robot is to swing its arm repeatedly with short time intervals, leading to loss of stability.
(2) Rotation along the z-axis
To imitate human motion during table tennis playing we programmed the robot to hit the ball using its right arm. In experiments we found that accompanying the body swinging in the lateral plane of the robot, the robot was likely to rotate in z-axis when the foot losing perfect contact with the ground. The rotation will not cause instability of the robot, but will lead to an error in arm end-point position, resulting in an unexpected return ball trajectory. We have proposed an angular momentum-based optimization method[21] using multi-DOF of the robot body to minimize the overall angular momentum during arm motion to prevent the rotation, but restrictions in joint position and joint velocity limited the effect of the proposed method. We notice that the rotation movement is most likely to take place when the robot moves its arm while the foot is not in firm contact with the ground, meaning that changes in the contact condition due to the swinging of the body will result in further rotation of the robot along the z-axis. So the best solution to this rotation is to reduce the body swing and keep the feet in good contact with the ground.
The description presented above shows the importance of modulating the dynamic interaction between the robot's foot and the ground, from which the body swing and pose displacement are resulting. Real physical systems can be categorized into two types: admittances, which accept force inputs and yield motion, and impedances, which accept motion and yield force. If one physical system is to interact physically with another and it is impedance, the other must be admittance, or vice versa. In the field of robotics, the environment is usually considered as admittance according to the assumption that the environment is kinematically static, which means the robot should assume the behaviour of impedance.
The disturbance from the reaction force is an inevitable factor when a system with an unstable support condition needs to fulfil fast manipulation tasks such as table tennis playing. For humanoid robots there are extra restrictions that limit possible solutions to compensate for the disturbances resulting from reaction force.
(1) Pose limits
The magnitude of body swing and rotation impacts significantly on the success rate of the table tennis playing. Displacements of the robot pose from its reference value will result in further tracking error of the end-point due to the multilink mechanism of the arm. This error can cause the racket to hit the ball in unexpected directions or even miss the ball.
Most humanoid robots developed nowadays are capable of realizing biped walking in indoor and outdoor environments, some can even climb stairs and jump on their own, but to achieve human-like agile stepping during table tennis playing remains an unsolved problem. From simple calculations, we believe that to realize stepping during table tennis rallying, at least a side-walking speed of 3.0 km/h must be achieved with delicate control over the rapidly-varying COM. In addition, the short time window during rallying requires even larger acceleration and deceleration, making the control issue more difficult. Taken as the first step, we try to propose a solution to the problem under an assumption that the robot stands at a fixed place with no step movement.
(2) Standing position limits
An obvious but straightforward solution to the problem of small support polygon is to adjust the standing pose of the robot and to set each foot to stay as far away from the other as possible to acquire an extremely large support polygon. Similar tricks include enlarging the foot size or introducing extra facilities, such as acetabula, to the foot to acquire better support. However, the purpose of this research is to develop possible control strategies that enable the robot to acquire stability utilizing its joint movement without specifically designed physical facilities that help balance. We also expect that one day the robot can walk directly by itself toward the table without human interference, which means extreme standing poses with two feet staying far away from each other is impossible because it cannot be accomplished by the robot itself. In our current scheme, the robot stands with feet together and there are no other physical restraints between the ground and the foot. The robot can only control its joint motors to adjust its body pose so that a stable standing pose can be maintained.
4. Impedance control
In this section, we present an impedance control scheme to reduce the impact force between the ground and the robot's foot resulting from the reaction force exerted by arm motions. Impedance control has been widely used in arm manipulation and other applications as a natural way to deal with contact forces. In these conditions, control strategies directed toward a vector quantity, such as position, velocity or force, will be insufficient to regulate the mechanical work exchanged between the robot and the environment[22]. Impedance control provides a unified solution under these conditions where the dynamic interaction is expected to be modulated.
4.1 Problem definition
As argued above, the reaction force during table tennis playing makes the robot unstable and liable to easily tipping over. To study in detail the impact of the reaction force on the robot, we investigated the force/torque between the robot foot and the ground in a table tennis playing test. The contact force and torque during a repeat arm strike is shown in Fig. 4. From the figure, it is clear that the torque and force between the robot foot and the ground varied a lot as the arm moved, which caused the robot to become unstable. It can be observed that there were oscillations in torque and force when the arm had finished its movement and remained still, indicating that the robot body was waving back and forth after the arm returned to its original position. This oscillation would exert further influence on the robot's stability if another strike command was sent to the robot shortly after the last command was fully executed. The figure also demonstrated typical characteristics of a second-order damping system which intrigued us to introduce impedance control to reduce the amplitude and adjusting time of the oscillation, thus, we can guarantee higher stability during fast arm motions. It is also worth pointing out that, according to the force curve along the z-axis, the force exerted on the left foot became larger than that on the right foot in the first stage of arm motion, and the force on the right foot outmeasured that on the left in the following stage, which can be explained by the movement of ZMP.

The force and torque acquired by the force/torque sensor mounted on each foot during repeated arm strike motion when no control strategy is deployed. The sample period is 10 milliseconds. In this test we programmed the robot to swing its arm every 1600 milliseconds. During each cycle, the arm moves to the expected point of strike in the first 400 milliseconds, which is marked in red, and slows down and returns to the initial position in the next 700 milliseconds, which is marked in blue. Then it keeps still while waiting for the next command, which is marked in grey.
4.2 Proposed method
The basic idea of impedance control is to introduce a virtual spring-mass-damper model, with which the robot foot is connected to the ground, into the target control system. A simple illustration of the impedance model between the robot foot and the ground is shown in Fig. 5. The spring-mass-damper model is used to modulate the dynamic interaction between the foot and the ground so that a large impact force can be absorbed without totally losing stiffness. The parameters of the spring-mass-damper system need to be carefully tuned so that the desired dynamic behaviour can be realized.

The impedance model between the robot's foot and the ground.
The impedance model can be given by:
where
The position vector and force vector can be written in a more detailed form as:
where
The control law can be solved according to (1):
Converting (3) to discrete and recursive form we can get:
where k denotes the k-th cycle and Ts is the sample time of the discrete system. The actual joint velocity command can be obtained as follows:
where θe is the commanded joints position vector,
To reduce the calculation complexity, a selection matrix can be applied to both sides of (3)(4)(5):
where:
As discussed above, in our experiments the disturbance that causes the robot swing in the lateral plane is of first priority if the stability is expected to be improved. So we set a selection matrix as follows:
Traditional impedance control might cause the robot to demonstrate large viscosity and small stiffness if an improved dynamic response is expected. But for the fast manipulation of a humanoid robot, both the absorption of impact force and stiffness are crucial. According to Fig. 2, the z-axis force on the left foot outgrew that on the right foot, which means the left foot played a more important part in supporting the robot than the other during the strike phase of arm motion. To improve the robot's performance in resisting the reaction force while not losing stiff support from the ground, we tuned the parameters of our impedance scheme so that the left foot of the robot demonstrates larger viscosity and flexibility to absorb the impact due to the reaction force, and the right foot demonstrates larger stiffness to provide better support.
5. Experimental results
5.1 System description
We built two humanoid robots as shown in Fig. 6. Each robot is 165 cm in height and 58 kg in weight with a total DOF of 30. The DOF configuration of the robot is shown in Fig. 7. Two 7-DOF arms are equipped on each robot so that the robot can achieve flexible table tennis playing and serving. 6-DOF in each leg enable the robot to walk at a top speed of 1.09 km/h. There are also 2-DOF in the head, as well as in the waist, so that the robot can look toward different directions and adjust its body if necessary.

The humanoid robots developed by Zhejiang University that can play table tennis.

The DOF configuration of the humanoid robot developed by Zhejiang University.
To implement table tennis playing between two robots, each robot is equipped with two vision systems. One is an onboard vision system consisting of two Point Grey Grasshopper GRAS-03K2M/C cameras mounted in the head with a base line of 10 cm and an industrial PC installed in the robot's back, the other is an external vision system consisting of two Point Grey Grasshopper GRAS-03K2M/C cameras which are located right behind the robot and hung upside down from the roof with a base line of 110 cm with a PC as the vision processor.
We demonstrate the two robots rallying against each other in order to verify our control scheme. The experiment environment is shown in Fig. 6. The humanoid robot stands at one side of a standard table tennis table which is 2.74m long, 1.525m wide and 76cm high, with a 15.25cm high net in the middle of the table. During table tennis playing the ball could be successfully recognized by the vision system and hit back by the robot. The speed of the ball varied from 3 m/s to 10 m/s, and the robot struck the ball back using different arm motions so that the ball could be returned to a fixed area located in the opponent's court. The longest robot-robot rally achieved by our system lasted 88 turns, of which the video is uploaded on the Internet (www.youtube.com/watch?v=t_qN3dgYGqE). The robot can also play table tennis with human players, of which the best record reaches 145 hits.
5.2 Impedance control and its results
Fig. 8 shows the force and torque measured by the force/torque sensor mounted between the robot's ankle and its feet when the arm is trying to strike a ball back with and without impedance control. From the figure, it can be observed that the amplitude of both the forces and the torques decreased, and the oscillations after the arm stopped moving were eliminated. The adjusting time was also reduced so that the force and torque converged to their steady-state value faster. The smaller amplitude of torque and force means a decrease in the amplitude of body swing. The elimination of oscillation and the reduction in adjusting time indicate faster recovery from the reaction force resulting from one strike motion.

The force and torque between the robot's feet and the ground during an arm swing test with and without impedance control. The amplitude of the curve decreased, the oscillations were eliminated and the adjusting time was reduced. The sample period is 10 milliseconds. The red bar indicates the strike phase of an arm swing, the blue indicates the retrieve phase, and the grey indicates the arm had returned to its initial position and kept still.
The pose deviation of the robot is illustrated in Fig. 9 using data collected by a gyrometer installed at the centre of the hip. These curves show that the amplitude in pose variation decreased after the introduction of the impedance control scheme. The adjusting time was also reduced with elimination of oscillation after the arm returned to its initial position. This result leads to the same conclusion that our scheme improves the robot's stability during arm swing.

The attitude angle of the body collected by the gyrometer mounted at the hip centre of the robot. The sample time is 10 milliseconds. The curve of the attitude with impedance control has a smaller amplitude and a shorter adjusting time. The red bar indicates the strike phase of an arm swing, the blue indicates the retrieve phase, and the grey indicates the arm had returned to its initial position and kept still.
The ZMP trajectory of the robot during table tennis playing is illustrated in Fig. 10, which was measured by the force/torque sensor located between the ankle and the foot of the robot. The ZMP trajectory of the robot with impedance control enabled was closer to the center of the support polygon, giving a larger stability margin. An improved dynamic response can also be found if the ZMP is drawn in respect to time, proving the effectiveness of our scheme.

The ZMP trajectory calculated using the force/torque data acquired during a stroke. (a) Shows that the ZMP trajectory after impedance control was used stayed closer to its original position with a larger stability margin. (b) and (c) show that the ZMP dynamic response to a stroke was improved.
6. Conclusions
We introduced the challenge of reaction force during fast manipulation by humanoid robots in this paper. A table tennis scenario was proposed as a platform to study how humanoid robots should react to the reaction force resulting from its arm motion. We proposed an impedance control scheme to absorb the impact between the robot and the ground, which is a result of the reaction force, and maintain stability of the robot during table tennis playing. Experimental results from different points of view showed the effectiveness of our scheme.
Our next step is to improve the robot's skill as a table tennis player and enable the robot to move its feet during rally. The problem of stability maintenance becomes even more complicated when the robot is no longer standing at a fixed position. We will also research the balance maintenance strategy using the auxiliary arm by learning the motions of a real human player.
Footnotes
7. Acknowledgements
This work is supported by the National 863 plan (grant no. 2008AA042602), the National Nature Science Foundation of China (grant no. NSFC: 61075078) and the Natural Science Foundation of Zhejiang Province (Grant No.LQ12F03009).
