Simulation of a Humanoid Soccer Robot Team Description Proposal for RoboCup 2008 Sama3D
Ali Tavasoli, Roya Hematpour, Hojjat Nikan Meghrazeh, Amir Khermandar, Seyed Ahmad Adeli
Robotic Research Laboratory Islamic Azad University Karaj Branch, Sama college
Abstract In this paper motion control of an intelligent humanoid robot is considered. For each kind of movement initial trajectories are created by an offline method. After applying these trajectories to the robot and imposing the stability tests on them, the necessary modifications and corrections is done to these trajectories and it is guaranteed that the robot can do movement without falling down or tip over. For reducing the huge mathematical computation and increasing the speed, an artificial neural network is trained for creating the modified trajectories. For preserving stability of robot in all of its motions two method, one the PID control and the other fuzzy logic algorithm, are developed. In the first method the conventional PID control equation is considered. To utilize fuzzy algorithm, employing the developed idea in [11] and modifying it based on human behaviors in real world, the fuzzy rules are derived and simulated via ADAMS and MATLAB softwares. To control the robot stability first the ZMP interval, in which the robot stability is guaranteed, is obtained and then the PID control gains and fuzzy rules are derived so that ZMP will be in the proposed interval.
Introduction
Biped robots have better mobility than conventional wheeled robots, especially for moving on rough and uneven terrain. Study of these robots and their stability has been the main focus of too many researchers in the last decades.
The main challenge in biped robot is the stability. Two measurements for stability are considered, static and dynamic. For static stability it is just required that the center of gravity (COG) is inside the support area. In this case we assume that the robot movement is so slowly that we can neglect its movement. But if the robot moves faster we can't rely on COG and it can't be used as a stability criterion anymore.
For achieving dynamic stability, more movement parameters should take into account.
Because of nature of the robot, when it moves there are angular velocities and angular accelerations for each link that should be considered when we want to evaluate the dynamic movement and stability. In dynamic movement, trajectory planning for each kind of movement plays an important rule. If no stable movement trajectory consider for these robots, they can easily fall down or tip over. In trajectory planning the smoothness of the trajectories should be realized so that the first and second derivative of the trajectories is continues. The first order derivative continuity guarantees the smoothness of the angular velocity and the second order derivative continuity guarantees the smoothness of the angular acceleration. Because all the trajectories are planned in Cartesian space they should be converted to joint space using inverse kinematics and it can be proved that if the first and second order derivative of the planned trajectories are continues in Cartesian space, they will be continues in joint space[1,2].
One of the most effective methods that has been used as a stability criteria in the dynamic movement is called Zero Moment Point (ZMP).The ZMP is defined as the point on the ground about which the sum of all the moments of active forces is equal to zero. The convex hull of the contact points between the feet and ground are called stable region, if the ZMP is inside the stable region ,the robot is stable.
To achieve this goal, two methods has been suggested. In the first method a desired ZMP trajectory is planned and the torso movement is considered in away the desired ZMP trajectory is realized .Based on the limitations that exist in this method; it is not possible for all the desired ZMP trajectories to be realized. In addition to, because there is no foot trajectory, this method will not work in rough and step terrains.
The other method that has been investigated, utilizes both foot and hip trajectories. In this method first, both foot and hip trajectories are implemented using a third-order Spline function. These Spline functions guarantee that first and second order derivative of trajectories in all the break points that have been used for implementing the functions are continues.
After planning trajectories, they should be applied to the robot. Now it's time to evaluate the trajectories using the ZMP stability criteria. If the ZMP requirement is met (ZMP is inside the stable region) no changes should be applied to the trajectories, otherwise we should modify the trajectories.
Because it is a time consuming procedure to change all the trajectories two parameters from the hip trajectory is chosen. By changing the value of these parameters through an iteration procedure and applying the ZMP stability criteria we can reach to the desired parameter values. Aforementioned methods need heavy computational effort that impose a huge load on CPU and also reduces the walking speed. To decrease the computational load from CPU and increasing the movement speed, while marinating the stability we have considered the following idea. The modified and corrected offline trajectories that guarantee the stability are fed to an RBF artificial neural network as a training set. Then the network can be used as source of creating new modified trajectories for each movement.
Implementation
In this section the algorithm that has been implemented and simulated is described in more details. Figure 1 illustrates the system block diagram.
Off-line trajectories
In humanoid, for each kind of movement a predefined trajectory is needed. If both foot and hip trajectories are known, all joint trajectories of humanoid robot will be determined by the kinematics con-straint[1,2]. To achieve the best stability, it's necessary to have smooth trajectories. Also it's required that at the start of walking cycle (one of the legs leaves the ground) and end of the cycle ,speed of the movement to be zero or near to zero, otherwise it severely causes the robot to tip over.
So considering a Spline function as it has been used in some other works sounds to be logical [1, 2, 3, 4]. As a trade-off, a third order Spline function can be used. This function can be implemented by defining some break points in the trajectory and take into account that the first and second derivative of trajectory should be continues at break points. Figure 2 shows foot trajectory and its first and second order derivative in z-axis. The trajectory has been implemented using cubic periodic Spline function in MATLAB®. As it can be seen from the figure, the first and second order derivative are continues.
Inverse Kinematics
Next step is applying the inverse kinematics. The attained trajectories should be converted from Cartesian space to joint space. By these equations the Cartesian values in the trajectories are changed to the motor angles and can be applied to the motors.
Stability Criteria
After issuing commands to the motors, now it's time to evaluate the predefined trajectory. For this means the ZMP point is calculated by the following equations.
$$X_{zmp} = \frac{\sum_{i=0}^{n} m_{i}(\ddot{z}{i} + g)x{i} - \sum_{i=0}^{n} m_{i}\ddot{x}{i}z{i} - \sum_{i=0}^{n} I_{iy}\ddot{\Omega}{iy}}{\sum{i=0}^{n} m_{i}(\ddot{z} + g)}$$
$$Y_{zmp} = \frac{\sum_{i=0}^{n} m_{i}(\ddot{z}{i} + g)y{i} - \sum_{i=0}^{n} m_{i}y_{i}z_{i} - \sum_{i=0}^{n} I_{ix}\ddot{\Omega}{ix}}{\sum{i=0}^{n} m_{i}(\ddot{z} + g)}$$
In the above formula, $m_i$ is the mass of link i, $I_{ix}$, $I_{iy}$ are the inertia of component, $\Omega_{ix}$, $\Omega_{iy}$ are the absolute angular components around x and y axis and n is the number of link. For stability this point should be inside the stable region. If this point located outside the stable region we should do some correction in the joint space (trajectories) to prevent this instability.
Because in our robot there is 21 DOF, it is a required to decide what kind of modification in which joint motor can result in best stability. For feasibility one of the hip parameters is considered as a variable. Here after we do all our trajectory modification just on this parameter to achieve the best stability.
Reducing the CPU load and increasing the speed
The problem that exists in the previous algorithm is the amount of the calculations that is done by the CPU. For each movement a separate trajectory should be planned for the hip and foot. These trajectories have to go through a stability criteria check and the necessary modifications should be applied. These procedures are time-consuming and impose heavy calculation load on CPU. Because most of the movements that we need in our work are repeated, once they have been designed and planned carefully, they could be used later through a learning process. This learning process is done by an artificial neural network. The type of the neural network that we have used in our work is a Radial Basis Function (RBF). Because this kind of networks has the capability of interpolating the polynomial functions, they can be used for estimating and characterizing the trajectories that we have implemented by Spline functions. After extracting the modified trajectories we can use these data as a training set for RBF neural network. Once the network trained using the training set, it is ready to be as a source of generating the modified trajectories with the minimum amount of calculations.
We can use this trained network for the next trajectory generation whenever needed. As it can be seen from figure 3 for each movement we set the input parameters for the RBF networks and the networks generates the trajectory for this kind of movement.
Current and future Works: Humanoid Soccer Robot Control
Stability in humanoid robot is the main objective for each kind of movement. Also for soccer player robots it is compulsory that robot maintain its stability when it moves forward or backward or kicks. To assure a satisfactory stability a well designed trajectory in each of the movement is required so that it guarantees that the robot will be stable when it wants to do a movement. While much progress has been made in robot locomotion and free-space motion behaviors, the physical interaction ability has remained very limited. Over the past ten years, our effort in humanoid robotics was aimed at addressing the various aspects of humanoid robot control.
Several research groups in academic and private institutions have developed and implemented whole-body control methods for humanoid systems, with leading research by Honda Motor Corporation [10] and the National Institute of Advanced Industrial Science and Technology in Japan [11]. Their platforms, based on inverse kinematic control techniques, are designed for position actuated robots.
Current commercially available humanoid robots are designed to perform motions using open-loop control providing the users a simple paradigm to create preorchestrate multi-DOF walking gaits. In the case of soccer humanoid robots, these robots are usually not able to move correctly when collision with other players or obstacles or when kicking and it is difficult or impossible to get them to perform movements that require instantaneous reaction to momentary instability. A popular way to compensate for these predicaments is to over-capacitate servo torques and to incorporate large foot soles, low center-of-mass and better shock absorption, resulting in humanoid robots with little resemblance to the human physique. Our long term objectives are to allow affordable humanoid robots to run, skateboard, kick and in general to react in a human-like physical way in dynamically unstable situations and collision conditions. We would like to achieve these goals by applying closed-loop control techniques to the humanoid robot servos.
Control Objective
For a humanoid robot to do a task the whole motions of the robot should be controlled. Specifically in a soccer humanoid robot we must have control on robot stability, walking, trajectory tracking, kicking and etc. because the whole motion control of a humanoid soccer robot is complex and need much work and knowledge that is time consuming and because the main problem in all of the robot motions is maintaining its stability we have implemented the proposed control algorithm only for robot stability.
Many approaches are developed to control humanoid robot stability specially PID controllers, fuzzy and neural network methods, robust and adaptive algorithms and etc [12]. Of the approaches mentioned above, the two methods PID controllers and fuzzy logic are the most common devices used to control humanoid robots stability and trajectory tracking because of their simplicity and robustness.
Our main idea is to improve the ZMP. For this propose we have make use of the presented algorithm in [12] where fuzzy logic is used to increase the ZMP performance by intelligent control of the trunk of a humanoid robot.
Our goal is to apply these two methods to control our soccer robot. To do this we have employed the following steps
- Firstly, to simulate the dynamical behavior of the robot, we have built our soccer robot model in ADAMS-2005 (MSC Software-2005) mechanical (Dynamics and Control) software.
- After developing our model in ADAMS, to apply the control algorithms (PID and Fuzzy) we have exported the proposed model to MATLAB environment defining the robot joints applied torques as input and joint angles, robot centre mass position and orientation as output of the control plant.
- Now, after simulating and examining the planned control scheme in ADAMS and MATLAB environments, we are going to utilize the algorithm in our agent.
In PID scheme, for each joint, we have exploited the well-known equation in control theory as follow
$$T = K_p e + K_v \dot{e} + K_I \int e , dt$$
Where T is the applied torque at robot joint and, respectively, e is the error between actual joints angles or robot position or etc (depending on control objective) q and its corresponding desired value ݍௗ, ie, ݁ ൌ ݍ െ ݍௗ and ݁ሶ is derivative derivative of e. In (4) ܭ, ܭ௩ and ܭூ are control gains which can be designed through Ziegler-Nichols table.
Our designed fuzzy control scheme in MATLAB is shown in Fig.4 Where we have used over 100 rules, obtained based on [12] and modified for our agent, in fuzzy block to control the humanoid robot.
Because not completed yet, our simulation results are not shown here and we are going to do this in our future works.
References
- Q.Huang, S.Kajita, N.Koyachi,k.Kaneko, K.Yokoi, H.akira,K.Komoriya, K.Tanie, "A High Stability ,Smooth Walking Pattern for a Biped Robot", Proceeding of the 1999 IEEE, International Conference on Robotic & automation,Detroit,Michigan,May 1999
- Z.Tang, Ch.Zhou, Z.Sun, "Trajectory Planning for Smooth Transition of a Biped Robot", Proceeding of 2003 IEEE, International Conference on Robotic & Automation, Taiwan, September 14-19, 2003
- Z.Peng, Q.Huang, X.Zhao, T.Xiao, K.Li, "Online Trajectory Generation Based on Off-line trajectory for Biped Humanoid", Proceeding of 2004 IEEE, International Conference on Robotic &Biomimetics, August22-6, 2004, Shenyang, China
- ErikCuevas, DanielZaldivar, Raul Roajas, "Walking Trajectroy for a biped robot", Technical report B-04-018, University of Berlin, Information Institue, November 16, 2004
- B.D. Bojanov, H.A. Hakopian and A.A. Sahakian, "Spline Function and Multivariate Interpolation", Kluwer Acadmedic Publishers, 1993
- Ch.Zhou, P.Kong Yue, Jun Ni,Sh. Chan, "Dynamically Stable gait Planning for a Humanoid Robot to Climb Sloping Surface", Proceeding of the 2004 IEEE Conference on Robotic , Automation and Mechatronics, Singapore, December 2004
- Kuffner, J., Nishiwaki, K., Kagami, S., Inaba, M., & Inoue, H. (2003) , "Motion planning for humanoid robots", Procedding of 11'th international symposium of Robotic Researchs.(ISRR 2003)
- T.Sugihara, Y.Nakamura, H.Inoue, "Realtime humanoid motion generation through ZMP manipulation based on inverted pendulum control" , Proceedings of the 2002 IEEE International Conference on Robotics & Automation Washington, DC . May 2002
- S.Kajita, F.Kanehiro, K.Kaneko, K.Kujiwara, K.Har ada, K.Yokoi, H.Hiukawa, "Biped walking pattern generation by using pereviw control of Zero-Moment Point", Proceedings of the 2003 IEEE International Conference on Robotics & Automation Taipei, Taiwan, September 14-19, 2003
- K. Hirai, M. Hirose, Y. Haikawa, and T. Takenaka. The development of Honda humanoid robot. In Proceedings of the IEEE International Conference on Robotics and Automation, volume 2, pages 1321–1326, Leuven, Belgium, 1998.
- S. Kajita, F. Kanehiro, K. Kaneko, K. Fujiwara, K. Harada, K. Yokoi, and H. Hirukawa. Resolved momentum control: Humanoid motion planning based on the linear and angular momentum. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 1644–1650, Las Vegas, USA,October 2003
- Dynamic Fuzzy Q-Learning Control of Uncertain Systems with Applications to Humanoids "IEEE Conference on Control Applications Toronto, Canada, August 28-31, 2005"