1 IMPLEMENTATION AND ANALYSIS OF FUZZY-ZMP-WALKING CONTROL IN THE GIMBIPED FERDI PERDANA-KUSUMAH, JOSÉ-LUIS PERALTA-CABEZAS, TOMI YLIKORPI and AARNE HALME Department of Automation and Systems Technology, School of Electrical Engineering, Aalto University, Otaniementie 17, 00076 Aalto, Espoo, Finland E-mail: ferdi.kusumah@aalto.fi, joseluis.peralta@aalto.fi This paper presents the results of a Fuzzy-ZMP-Walking control implementation on Aalto University s GIMBiped robot. The robot was restricted to move only on sagittal plane, avoiding in this way any control for sideways balancing. The GIMBiped robot was originally designed to perform controlled Limit Cycle Walking (LCW) and the results of these experiments are oriented for future comparison with the realization of 2D LCW-based controllers in the same robot. The membership functions for the Fuzzy-ZMP-controller were implemented such to control the ZMP to be in a region of stability based on adjustments done in the walking speed. Results show relatively poor performance for several 2D generated trajectories with different fuzzy calculation rate, ZMP stability region size and placement. The previous issue indicates that ZMP strategy is not suitable for the current design of GIMBiped and if a dual (ZMP and controlled LCW) approach wants to be applied, redesign is needed. Some main points for the new design are also presented in this paper. 1. Motivation & Problem Statement In Aalto s Automation Technology Laboratory (ATL) and in the Center of Excellence (CoE) in Generic Intelligent Machines (GIM), where this study was conducted, one of the main research topics are Field and Service Robotics (FSR) [1]. Field Robotics target the study of intelligent mobile machines in unstructured and dynamic environments (e.g. construction, forestry, agriculture, mining, military, and space applications) [2], and Service Robots are aimed to provide services to humans instead of manufacturing purposes [3]. These intelligent mobile machines shall autonomously carry out monotonous, dangerous or tedious tasks; therefore crucial prerequisites for FSR are mobility and autonomy. On flat surfaces, wheels are most efficient however for rough terrain or in human-like environments leg locomotion is more advantageous [4]. Within legged locomotion, humanoids-
2 bipeds are the most attractive platform for the FSR potential applications, given that the ultimate goal in bipedal robotic research for FSR is to serve as locomotion platform for a complete humanoid robot, which could replace, if desired, the human presence in the future work-site [5]. Researchers have been studying biped robots for more than forty years [6] and, while many advances in the field have been accomplished and successfully ported to real applications, specially in the area of human prosthetics, there still remain the challenge to transfer the existing solutions into real applications for FSR [7]. The foremost issue is related to what was mention above as the main requirement for FSR, mobility and autonomy. In mobility, biped robots have evolved greatly since its beginning, in the late 60s, nevertheless they are still far from what a human can do in the work-site. Similarly, autonomy of biped platforms has been tackled on several different grounds, but its core problem remains, and it is associated to energy issues [8]. Because of this energy issues, lately the main attention has been redirected to the long time autonomy of these robots. For that, much effort has been made to develop new more efficient biped robots. The motivation of being part of this not yet conquered investigation field and, the need to evolve into the next generation of work-site partners, gave birth to the GIMBiped project [7,9,10]. The objective of this project is to study and develop dynamic and energy efficient bipedal robotic waking. 1.1. Energy Issues in Biped Service Robots State-of-the-art humanoid robots, such as Honda ASIMO [11], have not taken the benefit of the fluent gait inherent for humans and animals. Instead, the traditional approach has been to control each joint angle to achieve desired posture in terms of Center of Mass or Zero Moment Point (ZMP). These paradigms require plenty of energy to perform and a better result in terms of energy efficiency can be achieved by the Limit Cycle Walking (LCW) [8]. The idea of LCW is to correctly adjust the size and mass of the limbs such that with the proper initial joint angles and angular speeds the legs will eventually cycle back to the same initial conditions. The cycle can then start again from the beginning resulting in a smooth human-like gait. The next generation of LCW robots includes actuators in one or more joints enabling locomotion on a level terrain and up-hill [8]. However, so far the few LCW bipeds that have actually been implemented in hardware can only perform simple control maneuvers with limitations in mobility and robustness [8], making those poor in versatility. Because of that in [7] we proposed to separate the main operational
3 Fig. 1. Main states in bipedal robots operation and their respective efficient sub-states. states of bipedal robots as Walking and Standing. Both of these states have an energy efficient sub-state, called Limit Cycle Walking and Idle State Stability (ISS) (Fig. 1). But there are also other sub-states, which in the case of Walking, does not involve just walking, but also to overcome disturbances and perform other tasks (turning, starting and stopping movement, squatting, etc.). One possibility for the implementation of the sub-state Robust Walking is to apply some kind of ZMP approach, which has proven to be highly robust and versatile [11]. Here we propose then the use of Fuzzy-ZMP-walking for the robust walking state of our GIMBiped robot, which at the same time can serve for comparison and evaluation of energy consumption with the future development of LCW-based controllers. 2. Methodology 2.1. The GIMBiped Until now mainly rotational motors have been used to drive the robot s joints; however, their gearbox reduction, needed in this case to reach the desired torque in the active phase, does not allow the free natural movement of the swinging leg in the passive stage of walking. Because of that much energy is wasted in the continuous position control of the leg in both phases. On [9] we purposed the use of permanent magnet synchronous linear motors to efficiently address LCW. They do not have gear boxes and for that reason nothing breaks the natural movement in the swinging phase of the leg s trajectory. Also, they can be easily controlled by torque because of its direct force/current relation thus avoiding the overuse of position control. However, the previous compliance is a disadvantage when ZMP approach wants to be applied, and that is the motivation to study our robot s performance under ZMP control in this paper. The main processing units are two PC104 embedded computers. One,
4 Fig. 2. GIMBiped platform. Left: kinematic layout; Center: front view; Right: left view named Motor Hub, is in charge of sending positioning commands to the linear motor s controller using CAN protocol, and the other PC104, named Sensor Hub, is responsible to collect force sensor data from both feet. Both computers are connected to a network for remote access. A specially design network architecture called GIMNet [12] is used to control the robot. The robot is connected to a frame which allows only sagittal move, the mechanical parameters are presented in Table 1 and ilustrated in Fig. 2. 2.2. Trajectory Planning, Sensor System & Controller 2.2.1. Trajectory planning In the trajectory planning, smooth cubic polynomial interpolations are used to generate the desired position of the feet and hip, based on some walking parameters like step length, step height, and others shown in Table 1. Inverse kinematic using damped least square method is then applied to obtain the needed joint angles. These angles were converted to strokes in order to be used by the linear motors. The embedded linear motor controller s PID was then used to reach the desired position [9]. The trajectories were generated off-line and also used to compute the reference area for fuzzy control calculations, these technique is explained in Section 2.2.3 below. 2.2.2. Sensor System Four one-dimensional force sensors, based on strain gages, were used in each foot to calculate the ZMP position [13]. The force signals from the sensors were amplified 1000 times by a differential amplifiers. The signals were then converted to a digital form by a 16 bit ADC and transferred to the Sensor
5 Table 1. Fixed Parameters for all the Setups in Experiments with the GIMBiped. Max. 1 Robot s Mechanical Param. Walking Traj. Param. command Hip Thigh Shin Foot Foot Foot Number Step Step Double 2 skipped width length length height width length of steps length height Support % 18 12.1 44 44.8 12.5 16 31 10 10 8 10 1 The maximum number of commands skipped to influence the transfer rate of predefined trajectory positions. By changing the transfer rate, the walking speed of the robot can be made faster or slower Note: All values apart from 1 and 2 in cm. Table 2. Parameters for the positioning controller in the Linear Motors. Modulus Modulus PID parameters Max. Vel. Max. Acc. P [A/mm] I [A/(mm/s)] D [A/(mm s)] [m/s] [m/s 2 ] Ankle Knee Thigh Ankle Knee Thigh Ankle Knee Thigh 0.2 10 4 2 6 2 0 3 4 2 6 Hub through serial communication. The client software then obtain the data through the network and calculate the corresponding ZMP position and perform Fuzzy control. The linear motor has built in sensors which are capable of measuring motor s slider position and velocity, temperature, motor voltage and current. The linear motors controller have their own PID positioning control, its parameters are presented in Table 2 and they remain constant during the experiments. These controllers receive control commands and send motors variables data through CAN interface that can be accessed from the Motor Hub. 2.2.3. Controller Fuzzy control was the approach taken here to maintain robot s walking stability. The control is performed in a client program using data obtained from the Sensor Hub through the GIMNet. The controller uses two inputs, which are: the difference between the current ZMP and reference area position (ZMP error), and its derivative (ZMP error rate). The reference area is defined as a specific area inside the foot boundary in which the robot is consider to be stable if the ZMP is within it, that means the ZMP position error is zero and no action is required by the controller. The reference area rate, is the velocity of the movement of the reference area. The controller was applied based on the initial assumption that the feet always remain flat to the ground. The controller changes the walking speed online based on a stability index calculated from the ZMP error and ZMP error rate. The fuzzy rules map every possible combination of input/output which drive changes in the number of command skipped to maintain the ZMP inside the boundary
6 Fig. 3. Membership functions of the Fuzzy-ZMP. Left Up: input error MF; Right Up: input erro rate MF; Left Down: output MF; Right Down: Fuzzy Rule Table of the foot. The controller changes the position commands resolution by including or skipping some trajectory commands to change the walking speed. The membership functions of the controller are shown in Fig. 3. The universe of the fuzzy error input is from a to a, with a is the half dimension of the foot length. For the error rate input, the universe contains the value from a/ t to a/ t, with t the time span between each data sample. The b value is half of a. The output membership function produce crisp outputs in percentage format. The linguistic variable consists of N for Negative, Z for Zero, P for P ositive, P M for P ositivemedium and P B for P ositivebig. The inference method was root sum square and the weighted average approach was used in defuzzyfication process. One issue to notice is that the configuration of the robot s feet are different than in humans, since the ankle joint s position is located almost at the center of the foot. This creates a critical case where the ZMP is located almost at the center of the foot when the robot is in the standing position. This affects the responsiveness of the controller when the robot is performing its steps since the ZMP just starts to move when the robot is about to fall forward. To sense the instability faster, the reference area in the stance phase is shifted to the heel to produce the error and error rate required to slow down the step speed. Also, a delay is applied in the fuzzy calculation to reduce the controller reaction when needed. The movement rate of the reference area is calculated offline by the trajectory planning.
7 Table 3. Variable Parameters for different Setups in experiments with the GIMBiped. Setup Reference Area Fuzzy Size 1 Initial mov. Final mov. calculation [mm] rate [mm/s] rate [mm/s] delay [µs] Set 1 2 Set 2 20-200 200 5000 Set 3 10-200 200 5000 Set 4 50-200 200 5000 Set 5 20 0 0 5000 Set 6 20-100 100 5000 Set 7 20-200 200 0 Set 8 20-200 200 10000 1 Actual size of reference area is twice the value (+ and from the center of the foot) 2 Without control, following trajectory on open loop 3. Experiments, Conclusions and Future Work The experiments were conducted with eight different sets of control parameters. Each experiment was performed 10 times and the final values of the results were averaged. The different set of parameters are shown in Table 3. An overview of the numerical results for all the different sets, showing total walking time, power consumption and the motors temperature difference between the beginning and the end of the walking, are shown in Table 4 Without applying any control (Set 1), the robot consumed plenty of power. The robot foot did not slow down when it touches the ground and created more loads at the moment of impact, specially for the motors with large PID values (hip and ankle motors). The PID controller tries to keep all motors in their desired positions all the times during sequence of the walking. By not applying control, both feet usually lift or bend the toes during the walking, therefore they did not always land parallel to the ground. In this situation, the walking can only be analyzed visually since the information of the pressure sensor is not useful. The foot mostly landed on its toe specially the right foot because the motor s speed and acceleration could not keep up with the given position commands. The previous also affects the total walking time which was 21.23 s, and ideally it should be 16.67 s. In the subsequent experiments the controller tried to stabilize the robot by changing the resolution of the trajectory points generated by the trajectory planner, thus the step speed became variable. The shortest step time that the controller can produce is 1.667 s and the longest is 30 s. In terms of power consumption, it can be seen from the table that the fuzzy controlled robot used less power than the previous experiment
8 Table 4. Walking Analysis Overview. Setup Total Power [W att] Temperature[ C] time [s] LA 1 LK 2 LT 3 RA 4 RK 5 RT 6 Tot 7 LA LK LT RA RK RT Set 1 21.23 338.1 297.6 159.1 386.2 361.3 176.4 1710.7 1.27 7.56 0.18 2.24 9.53 0.49 Set 2 29.59 263.3 301.6 127.8 302.1 362.2 104.2 1461.2 1.28 9.71 0.4 2.73 13.2 0.1 Set 3 30.12 259.4 283.9 128.5 295.4 367.6 106.1 1440.9 1.37 10.1 0.4 2.84 13.3 0.3 Set 4 25.11 267.8 229.7 133.9 358.6 354.9 143.9 1488.8 1.89 7.17 0.48 2.66 11.9 0.3 Set 5 28.43 283.3 293.2 119.1 304.5 371.3 106.7 1478.1 1.17 9.49 0.39 2.76 13.4 0 Set 6 28.93 290.1 295.2 123.3 305.3 371.2 103.6 1488.7 1.55 10.1 0.6 2.37 13.6 0 Set 7 27.57 291.9 278.1 131.8 370.9 384.4 110.8 1567.9 1.47 8.82 0.4 2.72 14.6 0.5 Set 8 29.75 265.6 298.1 120.6 270.3 338.7 97.51 139081 1.07 10.1 0.3 2.44 12.5 0.3 1 =Left Ankle; 2 =Left Knee; 3 =Left Thigh 4 =Right Ankle; 5 =Right Knee; 6 =Right Thigh; 7 =Total Power Consumption (without control). The effect of slowing down the movement of the robot is the reduction of its moment, therefore with a suitable control, it is less likely that the foot will hit the ground with high speed and create a huge load for the corresponding leg motors. In the current control scheme, reducing the step speed means increasing the resolution of the trajectory points. The position commands sent will be closer to each other so the motor speed and acceleration can keep up with the commands. In the fuzzy control experiments, the foot still landed on the toe with small inclination angle. The problem was most probably resulted from PID accumulation error on each motor and inaccuracy of robot s dimension parameters in the angle to stroke conversion equations. It can be seen from Table 4 that the total energy consumption of Set 3 is smaller than the two previous experiments. In Set 3 the size of the reference area was changed and, by reducing its size, the calculated error will grow and the fuzzy control will increase the command resolution to reduce the walking speed. On the contrary, increasing the reference area too much can lead to smaller error calculation and this can make the controller less responsive to the ZMP movement. The result will be worse if the ZMP mostly stay in the reference area, and no error is produced leading the controller to move the robot at full speed abandoning robot s stability. From Sets 2, 5 and 6, the lowest power consumption was achieved by the Set 2. Set 2 has the largest gradient values for the reference area rate (± 200 mm/s). This affects the area movement speed by quickly moving it to the heel. The error rate produced is increased and the controller acts faster in slowing down the walking speed. The experiment with the lowest power consumption was achieved by Set 8. The fuzzy controller used 10000 ms delay in its computation. By
9 reducing the data taking and calculation rates, the controller becomes less sensitive to noise and rapid changes, allowing the controller to better follow the general movement of the ZMP. In the case with 0 ms delay (Set 7), the fuzzy control will take and calculate the data as fast as possible while the time scale of the ZMP movement is much larger, so the fuzzy will not only account the noise in its calculations but also see the slow ZMP movement as a series of temporary stops. This can be seen from the Table 4 where the power intake in Set 7 is the largest of the experiments with control because the control system failed to reduce the impact on the robot feet. The outcome has shown us important guidelines for future improvement in our mechanical design and control techniques for dual approach (ZMP+LCW). Is seems slower walking speeds helps maintain stability, however slow speed makes the robot spend more time and energy to reach its destination. Unfortunately, the current robot mechanical design does not allow the knee to work intensely. As Table 4 shows, the temperature changes on both knees are higher than in the hip or ankle motors. This indicates that they worked outside the area of their nominal operation. Since our main problem is the knee motor overload, changes in the prototype should consider a lighter motors in the shank to ease the load of the knee, more powerful knee actuators and better cooling mechanism. Also more proficient ankles with springs and dampers are needed, together with different type of feet. Furthermore the controller should be perfected based on additional sensor feedback (inclinometers, accelerometers and IMU). References 1. J. Saarinen et al., Proc. World Congress, The Concept of Future Worksite-Towards Teamwork-centered Field Robotic Systems, (2011). 2. A. Kelly et al., Field and Service Robotics: Results of the 7th Int. Conf., 62, (2010). 3. S. Lee et al., Recent Progress in Robotics: Viable Robotic Service to Human (2009). 4. D.J. Todd, Walking Machines: An introduction to Legged Robots, (1985). 5. K. Yokoi et al., Robotics Research A Tele-operated Humanoid Operator, 25 (2006). 6. M. Vukobratović et al., Biomedical Eng. On the Stability of Biped Locomotion, 1 (1970). 7. J.-L. Peralta et al., Proc. CLAWAR2010, Idle State Stability, Limit Cycle Walking & Regenerative Walking: Towards Long Time Autonomy in Bipeds, (2010).
10 8. S. Collins et al., Science, Efficient Bipedal Robots Based on Passivedynamic Walkers, (2005) 9. J.-L. Peralta et al., Proc. Int. Conf. on Humanoid Robots, Novel Design of Biped Robot Based on Linear Induction Motors, (2009). 10. J.-L. Peralta et al., Proc. Int. Conf. on Robotics and Aut., Assessment of Limit-cycle-based Control on 2D Kneed Biped, (2011). 11. Y. Sakagami et al., Proc. Int. Conf. Intelligent Robots and Systems, The Intelligent ASIMO: System Overview and Integration, (2002). 12. J. Saarinen et al., Proc. 2nd Wrorshop in Generic Intelligent Machines, Philosophy of GIMnet, (2009). 13. F. Kusumah, M.Sc. thesis, Foot force sensor implementation and analysis of ZMP walking on 2D bipedal robot with linear actuators, (2011).