Programming Self-Recovery in the humanoid Leong Ti Xean 1 Yap Kian Tiong 2 1. INTRODUCTION 1.1 Background In October 2000, Honda announced the ASIMO humanoid robot, capable of interpreting the postures and gestures of humans and moving independently in response With intelligent real-time, flexible- I-WALK, ASIMO was able to walk continuously while changing direction, which gave it even greater stability in sudden movements compared to its predecessor. Specially designed for home use, it is also able to move through furnished rooms, besides going up and down stairs. Besides Honda, Kawada Industries developed the HRP-2P prototype for the Humanoid Robotics Project (HRP) sponsored by the Japanese 3 MITI s New Energy and Industrial Technology Development Organization (NEDO). HRP-2P is now able to raise itself from the ground to a standing position (face up or face down), and is the first anthropomorphic robot to do so. In this design, high-density electronics installation made it possible to do away with a bulky "backpack" that usually contains the computers, electronics and batteries. Figure 1.1 Honda ASIMO (left) and Kawada HRP (right) We believe that a robot must be equipped with Self-Recovery capability. Like other humanoid robots, it must be able to move around places where obstacles such as entrance, staircase, furniture and machines. In addition, it must be able to move on various terrain and to raise itself from the ground from all fallen positions. In short, a mobile robot that is able to help itself. That is the thrust of this project. 2 Review 2.1 Basic research and Design policy Using flash animation to analyze the characteristic of a walking human [12] much effort was made to design the body. Based on these calculations (not included in this report), the initial specifications of the humanoid (code-named SIMIANTU) were formed. Studies [5] revealed that no significant effect is caused to walking without toes, other than balancing. More important is the support ensured by the base section of the toes. Without the feet joints, one cannot feel contact with the surface, being vulnerable to back-and-forth stability, as well as becoming less stable when crossing diagonally through an inclined surface. Also, it is impossible to ascend and descend stairs without the knee joints. The number of leg joints (Degree Of Freedom) was reduced to the minimum required for walking. With 2 joints for the hip, 1 for the knee and 2 for the ankle it has 5 DOF in each leg. The shoulder and elbow each has 1 joint. The back or spine joint was re-designed to be able to bend over 90 0. Thus, there is a total of 5 DOF in the upper body. Like humans, the robot must incorporate some sensors for primitive decision making. Our sense of equilibrium is ensured by three sensing mechanism. A detection of acceleration is provided by statoliths. Three 1 School of MPE Undergraduate Research Program Nov 2002 2 mailto:mktyap@ntu.edu.sg Associate Professor, Mech. & Prod. Engineering, NTU 3 Ministry of Trade and Industry 1
semicircular canals detect angular velocity. Bathyesthesia provided from muscles and skins is responsible for detecting angles, angular velocity, muscular dynamism, pressures on plantae and sense of contact. Therefore we have incorporated G-force and six-axial force sensors to detect contact forces of legs/feet while walking, and an inclinometer and joint-angle sensors detects the overall posture. 2.2 Principle of Posture Control To avoid tipping, a biped must push down hard on the ground with a part of sole of the foot. When the tipping force can no longer be resisted, a change in the body position may be required to recover the correct, or balanced, posture. Figure 2.2.1 Dynamic Balance while Walking (from Ref 5) The balance of a walking robot from the viewpoint of dynamics is examined, as shown in Figure 2.2.1. The combination of the ideal walking pattern s inertia force and gravity force is called the desired total inertia force. The point on the ground at which the moment of the desired total inertia force becomes momentarily zero, is the Desired Zero Moment Point or Desired ZMP in short. As ground reaction force acts on both feet of the robot the combination of these forces is referred to as the Actual Total Ground Reaction Force or ATGRF. The point on the ground where the moment of the ATGRF becomes zero is the Center of Actual Total Ground Reaction Force or C-ATGRF. Under static (and ideal) conditions, the desired ZMP and the C-ATGRF will coincide. In reality, terrain is often irregular and motion creates dynamic forces. This means that the C-ATGRF may differ from the desired ZMP where the line of action of the ATGRF and that of the desired total inertia force separate. Hence, the tipping moment is calculated by: Tipping Moment = (Desired ZMP C-ATGRF) x Vert. element of desired total inertia force As a result, the posture of the robot will tend to be rotated. 2.2.1 Nature of Ground Reaction Forces To counteract the tipping moment, a Ground Reaction Force control is introduced to modify the desired position and posture of the feet and acts to control the C-ATGRF sensed by the force sensors. During the single support phase, the C-ATGRF is controlled with a rotation of the supporting foot posture around the desired ZMP. When the robot s body tips forward, the robot lowers the front (toe) section of the supporting foot. When the robot s body tips backward, the robot lowers the rear (heel) of the supporting foot to shift the C-ATGRF rearward. Similarly, during the double support phase, the rotation and position of both feet around the desired ZMP control the C-ATGRF. When the body tips forward, the robot lowers its front foot and lifts its rear foot, as shown in Figure 2.2.2. Thus it is able to produce a restoring moment according to the controlled angle of rotation to recover the stable posture. 2
Figure 2.2.2 Ground Reaction Force control in the two-legged support phase (from Ref 5) Even if the ground surface is inclined, force sensors in the feet detect changes in the ground reaction forces. Using these changes, the ground reaction force control controls the C-ATGRF to the appropriate position. This produces the appropriate restoring moments. 2.2.2 Model ZMP control In reality the previous shortcoming may be still acceptable if we consider dynamic stable walk. The Model ZMP is shifted to the desired ZMP to recover posture in subsequent motion of the biped. Hence by changing the ideal body trajectory, stable posture can be recovered when it is about to tip over. Consider a condition where the upper body of the actual robot is inclined forward, the robot will tip over even if the desired ZMP and the C-ATGRF are at the same point, unless the posture control is initiated. The Model ZMP control increases the magnitude of the desired inertia force, accelerating the desired upper body position forward, according to the inclination of the upper body. This changes the direction of the desired total inertia force, and as a result, the position of the desired ZMP is shifted backward from the original desired ZMP. However, ground reaction forces is modified on the original desired ZMP via the ground reaction force control. This means that the lines of action of the desired total inertia force and the ground reaction force remain apart, as shown in Figure 2.2.3. These forces generate a moment that rotates the body backward. Consequently, the posture of the robot will gradually recover. The optimal behavior of such recovery forms the basis of this project s objective. 2.3 Objectives Figure 2.2.3 Model ZMP control (Ref 5) The desired goal of this project is to develop an intelligent robot able to meet the above specifications. It must coexist and collaborate with humans, and to perform tasks that human cannot, besides being self-reliant in basic tasks. Although much research had been done in this field, we decided to build a simplest biped humanoid prototype to fully understand the basic concepts of two-legged (biped) robot. 3
2.4 Scope The electronics and the mechanical design of SIMIANTU forms the two main areas. Consequently, the electronics programming and the basic control algorithm will be analyzed. 2.5 Mechanism and System Configuration Each joint is actuated by a DC brushless motor with a reduction gear set. Within the humanoid is a control computer with an Intel Pentium III microprocessor running on Microsoft Windows 98. The Galil Digital Motion Controller card controls all leg and arm movements. Also built-in are DC servo amplifiers. Power to all electronic components and actuators are currently supplied externally, for the moment. Host Computer Galil Digital Motion Controller Servo Amplifier Hall Signals Brushless Motor Hall Sensors and Optical Encoder Velocity Feedback Figure 2.5.1 Elements of closed loop servo system 2.5.1 Galil Digital Motion Controller card The Galil DMC-18x2 series motion controller cards are installed directly into the PCI bus (see Fig. 2.5.5). This controller offers many enhanced features including high-speed communications, non-volatile program memory, faster encoder speeds, and improved cabling for EMI reduction. Designed to solve complex motion problems, the DMC-18x2 can be used for applications involving jogging, point-to-point positioning, vector positioning and etc. The controller eliminates jerk with programmable acceleration, deceleration, and profile smoothing. It also provides a powerful yet easy-to-use programming language that allows user to quickly program the controller to handle any motion application. Program can be downloaded into the DMC memory for execution without host intervention. A 2 MB Flash EEPROM provides non-volatile memory for storing application programs, parameters, arrays and firmware. The DMC provides an extensive instruction set for programming a variety of motion profiles and application. Instructions are represented by two-letter ASCII commands and are English-like for easy programming. Figure 2.5.2 Galil Digital Motion Controller 4
3 Program codes for controlling motors The codes for controlling varous modes of the motors are to be found the detailed report [12] and will not be covered here. They consist of: a) Installing the DMC-18x2 b) DMC-18x2 command c) Position Control d) Velocity Control e) Coordinated Motion f) Data Record Access g) Get digital input port value h) Downloading and executing programs using DMCCOM.H i) Pauses j) Final program Conclusions This project explores and documents the motor programming of the humanoid project started at RRC, NTU. Incorporated with the mechanical design it will form the platform from which more important experiments on humanoid development will take place. References & External Links 1) DMC-18x2 User Manual, Revision 1.0e, Galil Motion Control Inc., 2002 2) DMC-18x2 Command Reference, Revision 1.0c, Galil Motion Control Inc., 2002 3) DMC-18x2 Motion Programming, Galil Motion Control Inc., 2002 4) DMC-18x2 C-Programming Toolkit / DMCWin32, Galil Motion Control Inc., 2002 5) The Development of Honda Humanoid Robot, Kazuo Hirai, Masato Hirose, Yuji Haikawa, Toru Takenaka, Honda R&D Co. Ltd, 1998 6) Honda Humanoid Robot (http://world.honda.com/robot/) 7) Advanced Motion Control Engineering Reference (Engineering Notes and Installation Notes) 8) Engineering Reference and Application Solutions, Parker Motion & Control, 2002 9) Studies on Leg/Foot Functions of the Robot, Honda Technology, 2002. 10) Galil Motion Control (http://www.galilmc.com/) 11) Advanced Motion Control (http://www.a-m-c.com/) 12) Programming Self-Recovery in the Humanoid, Internal report NTU-RRC Jan5-2003 5