Optimization of a Humanoid Robot gait: multilocal optimization approach

Similar documents
Interactive Educational Software for Dynamic Systems Control

CONTROLO th Portuguese Conference on Automatic Control

Mithras3D Team Description Paper 2014 Soccer Simulation 3D League

SIMULATION ENVIRONMENT PROPOSAL, ANALYSIS AND CONTROL OF A STEWART PLATFORM MANIPULATOR

Simplified Walking: A New Way to Generate Flexible Biped Patterns

Modeling of Humanoid Systems Using Deductive Approach

Modeling and kinematics simulation of freestyle skiing robot

Cecilia Laschi The BioRobotics Institute Scuola Superiore Sant Anna, Pisa

PSO based Adaptive Force Controller for 6 DOF Robot Manipulators

Nao Devils Dortmund. Team Description Paper for RoboCup Matthias Hofmann, Ingmar Schwarz, and Oliver Urbann

Matlab Simulator of a 6 DOF Stanford Manipulator and its Validation Using Analytical Method and Roboanalyzer

Particle swarm algorithms for multi-local optimization A. Ismael F. Vaz 1, Edite M.G.P. Fernandes 1

Computer Kit for Development, Modeling, Simulation and Animation of Mechatronic Systems

Multi-Robot Planning for Perception of Multiple Regions of Interest

COPYRIGHTED MATERIAL INTRODUCTION CHAPTER 1

Research on time optimal trajectory planning of 7-DOF manipulator based on genetic algorithm

The Mathematical Model and Computer Simulation of a Quadruped Robot

A Cost Oriented Humanoid Robot Motion Control System

Neuro-adaptive Formation Maintenance and Control of Nonholonomic Mobile Robots

Inverse Kinematics for Humanoid Robots using Artificial Neural Networks

Evolutionary approach for developing fast and stable offline humanoid walk

Simulation and Modeling of 6-DOF Robot Manipulator Using Matlab Software

Design and Development of Cartesian Robot for Machining with Error Compensation and Chatter Reduction

Fuzzy Control for Bipedal Robot Considering Energy Balance

Introduction to Multi-body Dynamics

Table of Contents. Chapter 1. Modeling and Identification of Serial Robots... 1 Wisama KHALIL and Etienne DOMBRE

Enhancing structural dynamics of a V10 crankshaft using multi-criterial numerical optimisation

Using Artificial Neural Networks for Prediction Of Dynamic Human Motion

Tailored Real-Time Simulation for Teams of Humanoid Robots

A Derivative-Free Filter Driven Multistart Technique for Global Optimization

Design and Optimization of the Thigh for an Exoskeleton based on Parallel Mechanism

INSTITUTE OF AERONAUTICAL ENGINEERING

Proposal of a Low cost Mobile Robot Prototype with On-Board Laser Scanner: Competition Case Study

Design of a Three-Axis Rotary Platform

A NOUVELLE MOTION STATE-FEEDBACK CONTROL SCHEME FOR RIGID ROBOTIC MANIPULATORS

ROBOTICS 01PEEQW. Basilio Bona DAUIN Politecnico di Torino

Lecture VI: Constraints and Controllers. Parts Based on Erin Catto s Box2D Tutorial

Inverse Kinematics for Humanoid Robots Using Artificial Neural Networks

A CONTROL ARCHITECTURE FOR DYNAMICALLY STABLE GAITS OF SMALL SIZE HUMANOID ROBOTS. Andrea Manni,1, Angelo di Noi and Giovanni Indiveri

Dynamic Analysis of Manipulator Arm for 6-legged Robot

Inverse Kinematics. Given a desired position (p) & orientation (R) of the end-effector

Simulation. x i. x i+1. degrees of freedom equations of motion. Newtonian laws gravity. ground contact forces

Human Machine Interaction

Developing a Robot Model using System-Level Design

Robust Control of Bipedal Humanoid (TPinokio)

INTRODUCTION CHAPTER 1

Inverse KKT Motion Optimization: A Newton Method to Efficiently Extract Task Spaces and Cost Parameters from Demonstrations

Lesson 1: Introduction to Pro/MECHANICA Motion

Falling forward of humanoid robot based on similarity with parametric optimum

Open Access The Kinematics Analysis and Configuration Optimize of Quadruped Robot. Jinrong Zhang *, Chenxi Wang and Jianhua Zhang

Key-Words: - seven-link human biped model, Lagrange s Equation, computed torque control

Simulation-Based Design of Robotic Systems

A sliding walk method for humanoid robots using ZMP feedback control

Model Library Mechanics

Mobile Robot Path Planning in Static Environments using Particle Swarm Optimization

MSMS (02PCYQW)

WORKSPACE AGILITY FOR ROBOTIC ARM Karna Patel

CONSIDERATIONS REGARDING LINKAGES USED FOR SHAFTS COUPLING

An Improved Dynamic Modeling of a 3-RPS Parallel Manipulator using the concept of DeNOC Matrices

Inverse Kinematics Analysis for Manipulator Robot With Wrist Offset Based On the Closed-Form Algorithm

Lecture VI: Constraints and Controllers

Controlling Humanoid Robots with Human Motion Data: Experimental Validation

Research Subject. Dynamics Computation and Behavior Capture of Human Figures (Nakamura Group)

Recent developments in simulation, optimization and control of flexible multibody systems

Mechanical System and SimMechanics Simulation

COMPARISON OF TWO FINITE ELEMENT MODELS OF BRISTLES OF GUTTER BRUSHES FOR STREET SWEEPING

Optimization of Six Bar Knee Linkage for Stability of Knee Prosthesis

Design and Simulation for Bionic Mechanical Arm in Jujube Transplanter *

John Hsu Nate Koenig ROSCon 2012

Mobile Robotics. Marcello Restelli. Dipartimento di Elettronica e Informazione Politecnico di Milano tel:

User Activity Recognition Based on Kalman Filtering Approach

10/25/2018. Robotics and automation. Dr. Ibrahim Al-Naimi. Chapter two. Introduction To Robot Manipulators

An Interactive Software Environment for Gait Generation and Control Design of Sony Legged Robots

Lecture «Robot Dynamics»: Kinematic Control

SEMI-ACTIVE CONTROL OF BUILDING STRUCTURES USING A NEURO-FUZZY CONTROLLER WITH ACCELERATION FEEDBACK

Thomas Bräunl EMBEDDED ROBOTICS. Mobile Robot Design and Applications with Embedded Systems. Second Edition. With 233 Figures and 24 Tables.

Embedded Real-Time Systems

Polar and Polygon Path Traversal of a Ball and Plate System

Hybrid Optimization Coupling Electromagnetism and Descent Search for Engineering Problems

Trajectory planning of 2 DOF planar space robot without attitude controller

Written exams of Robotics 2

Motion Capture & Simulation

Torque-Position Transformer for Task Control of Position Controlled Robots

Implementation Of Stair Climbing Robo using Microcontroller

VIBRATION-ISOLATION SYSTEM WITH GYROSCOPIC STABILIZER

Dynamic Simulation of a KUKA KR5 Industrial Robot using MATLAB SimMechanics

Learning to Kick the Ball Using Back to Reality

Operation Trajectory Control of Industrial Robots Based on Motion Simulation

AUTONOMOUS PLANETARY ROVER CONTROL USING INVERSE SIMULATION

Optimization of Watt s Six-bar Linkage to Generate Straight and Parallel Leg Motion

CSE 481C Imitation Learning in Humanoid Robots Motion capture, inverse kinematics, and dimensionality reduction

Mobile Robots Locomotion

MCE/EEC 647/747: Robot Dynamics and Control. Lecture 1: Introduction

Robust Controller Design for an Autonomous Underwater Vehicle

MECHATRONICS SYSTEM ENGINEERING FOR CAE/CAD, MOTION CONTROL AND DESIGN OF VANE ACTUATORS FOR WATER ROBOT APPLICATIONS

Particle Swarm Optimization

A MECHATRONIC APPROACH OF THE WINDSHIELD WIPER MECHANISMS

Automatic Control Industrial robotics

Teaching a robot to perform a basketball shot using EM-based reinforcement learning methods

Keeping features in the camera s field of view: a visual servoing strategy

Transcription:

194 IO 2013 XVI Congresso da Associação Portuguesa de Investigação Operacional Optimization of a Humanoid Robot gait: multilocal optimization approach José Lima, Ana I. Pereira, Paulo Costa, José Gonçalves INESC TEC (formerly INESC Porto) and Polytechnic Institute of Bragança, Portugal E-mail:{ jllima,goncalves}@ ipb. pt Polytechnic Institute of Bragança, Portugal & Algoritmi, University of Minho, Portugal. E-mail:apereira@ ipb. pt INESC TEC (formerly INESC Porto) and Faculty of Engineering, University of Porto, Portugal E-mail:paco@ fe. up. pt Abstract The humanoid robot gait planning presents a large number of unknown parameters that should be found to make the humanoid robot to walk. There are several approaches to achieve the gait but an accurate simulation can be used to compute it. A stable joint model of a humanoid robot is used in simulation to optimize the gait parameters. The optimization is based on the stretched simulated annealing with the multilocal algorithm approach. Final results prove the benefits of the presented optimization algorithm. Keywords: Humanoid robot. Optimization. Simulation. 1 Introduction Recently, humanoid robots have been enjoying great popularity and are now used as a research tool in many groups worldwide. They are a challenging task due to its hard control. Moreover, gait generation and optimization still remain a challenge for such a high-order highly-coupled nonlinear dynamical system [Hu et al., 2006]. The humanoid robot gait planning presents a large number of unknown parameters that should be found to make the humanoid robot to walk. It can be approached in two ways: the online (done in real-time that requires high computational effort) and the offline gait generation methods. This offline approach, brings some advantages such as the ability to use complex algorithms to find an optimal solution. This is the main topic of this paper. The optimization of the humanoid robot gait is a good area to apply optimization methods over the simulated robot. It is prudent to avoid time-consuming optimization runs that wear out the robot hardware. Several approaches have been presented that aim at optimizing properties such as speed [Faber and Behnke, 2007, Hemker et al, 2007, Niehaus et al., 2007] or torso stability [Chalodhorn et al., 2007, Huang et al., 2008, Zhe et al, 2005] of a humanoid s walk. In order to generate walking patterns for different locomotion kinematics, the common way of most existing approaches is to precompute reference trajectories [Sakka and Yokoi, 2005]. Similarly and based on previous authors works, using precomputed reference trajectory, this paper presents an overview to optimize the gait planning methods for humanoid robots [Lima et al., 2010]. For that purpose, the Stretched Simulated Annealing method was used for the optimization technique. It is a generic probabilistic method for the global optimization problem. It tries to find the global minimum of a given function in a large search space (as it happens in humanoid gait planning) and can escape from local minima. Besides, there must be used an optimizing method because it is unthinkable to perform a complete search once the search space is huge (i.e. dimension 100). Before the optimization on the real robot, several iterations were evaluated using a simulated model of the humanoid robot. The simulations were conducted in SimT wo [SimTwo, 2009], a physical robot simulator that is capable to simulate user-defined robots in three-dimensional space since it includes a physical model based on rigid body dynamics (the ODE - Open Dynamics Engine [Smith, 2000]). The paper is organized as follows: Section 2, shortly point out the developed Simulator (SimT wo) and the humanoid robot modeling with its parameters. Then, in Section 3, it is addressed the optimization technique based on the stretched simulated annealing well known algorithm where the gait optimization is applied. Section 4 presents a discussion of results and finally, Section 5 concludes this work and gives a future work on this topic.

IO 2013 XVI Congresso da Associação Portuguesa de Investigação Operacional 195 2 Simulation Environment Studying the robot s behaviour without real hardware is possible due to a physics based simulator implementation. The physics engine is the key to making simulations useful in terms of high performance robot control [Browning and Tryzelaar, 2003]. The dynamic behaviour of the robot (or multiple robots) is computed by the ODE (Open Dynamics Engine [Smith, 2000]), which is a free library for simulating rigid body dynamics. There are several simulators with humanoid simulation capability. SimTwo, as a developed simulator, is a generic simulator that allows the access to the low level behaviour, such as dynamical model, friction model, servomotor model and sensors model in a way that can be mapped to the real robot, with a minimal overhead. The developed simulator, based on ODE, allows to build several robots. SimTwo was developed having in mind the full access to all control levels and the possibility of adding several sensors and its modeling. Besides, it owns a new precise and stable joint model that allows to simulate a robot with a high number of joints in a chain architecture without instability and noise (previously presented in [Lima et al., 2013]). SimTwo also allows to run simulations faster than real time: a very useful property to accelerate the research task. A snapshot of the developed simulator is presented in Figure 1. Figure 1: SimTwo simulator environment. The dynamics realism in SimTwo is obtained by decomposing a robot in rigid bodies and electric motors (joints). Each body behaviour is numerically simulated using its physical characteristics such as shape, mass and moments of inertia, surface friction and elasticity. It is also possible to define standard joints such as socket, hinge and slider which can be coupled with an actuator or a sensor. Previous works validates the realism of the SimTwo simulator [Costa et al., 2011]. 2.1 Servomotor Model The servomotor can be based on a DC motor model with its main characteristics with an embedded state space feedback closed-loop controller. The block diagram of the servomotor model can be seen in Figure 2 where θ i Rev is the reference of the angle, ωi Ref is the reference of angular speed, Ua is the Supply voltage of DC motor (with nonlinearities) and T S is the available torque that will be applied to the gearbox (Electrical torque). The motor model parameter estimation has already been presented in previous work [Lima et al., 2005], as well as the friction constants that were computed based on an optimization method with validation of real hardware. The low level controller models the closed loop controller, in the real robot, which is implemented by the servomotor manufacturer (AX12 from Dynamixel). 2.2 Gearbox Model A standard model would present some instability because an inertia moment of the motor shaft should appear multiplied by the square of gearbox ratio (in a chain of joints as it happens in a humanoid robot). The implemented model allows to increase the stability of the simulation with a spring damper

196 IO 2013 XVI Congresso da Associação Portuguesa de Investigação Operacional Figure 2: Motor model. transmission approach. Moreover, the backlash of the gearbox can be approximated by this model. The improved model is implemented over the physic model presented in Figure 2, thus keeping the servo motor model and the controller unchanged. Figure 3: Gearbox model. The motor inertia plus a spring damper gearbox model, M IP SD is detailed in [Lima et al., 2013] and presented in Figure 3 where the Taxis is the available torque at the gearbox output and TRotor is the available torque seen by the rotor. 2.3 Gait parameters The gait-planning is one of the fundamental problems in humanoid mobile robots. The problem of gait planning for humanoid robots is fundamentally different from the path planning for wheeled robots due to the inherent characteristics of legged locomotion. The main challenge of gait planning is to find constraint functions and their associated gait parameters. However, finding repeatable gait when the constraint equations involve higher order differential equations still remained unsolved [Zhou et al., 2004]. There are the online and the offline generation methods [Zhou et al., 2004]. The first one, should be done in real time and requires a high computational effort. On the other hand, a popular way to solve this problem is to resort to offline optimization techniques. In this paper it is used the model parameters and actuator inputs that lead to fully open-loop stable walking motions (Figure 4). Figure 4: SimTwo Humanoid Simplified model walking Having in mind the most basic locomotion of a humanoid robot (a simple step) it is desired to obtain the gait planning that allow joints to move the robot. It should be optimized according to the criteria:

IO 2013 XVI Congresso da Associação Portuguesa de Investigação Operacional 197 maximizing the step distance. For the optimization technique, it was used the stretched simulated annealing. The search space in the present problem is composed by 10 degrees of freedom (each joint axis) and for 10 time instants: the optimization should be applied to a dimension (D) of 100. The optimization algorithm is implemented in Matlab that connects the simulator through network UDP packets and xml file. The simulator computes the walk distance and sends it to the Matlab so that to analyze the objective function, f(x). Matlab optimization algorithm generates a new solution to be tested in simulator and shares it by a xml file and a start event of simulation by network, as presented in Figure 5. Figure 5: SimTwo and Matlab interface. 3 Stretched simulated annealing The stretched simulated annealing (SSA) method belong to the class of the multilocal optimization methods. The SSA method solves, in each iteration, a global optimization problem using the simulated annealing (SA) algorithm. The SA is a point-to-point stochastic algorithm that does not require derivative information and is able to guarantee convergence to a global solution with probability one. In each iteration of the SSA method, the global problem is transformed using a function stretching technique [Pereira and Fernandes, 2009]. The function stretching technique aims to prevent the convergence of the SA algorithm to a previously computed global solution. Let x j be that particular solution. Thus, the function stretching technique is applied only locally, in order to transform the objective function f(x) in a neighbourhood of x j, say V ε (x j ), ε > 0. So, f(x) is reduced only on the region V ε (x j ) leaving all the other maxima unchanged. The mathematical formulation of the stretching function is given as follows. max f f(x) δ 2[sign(f(x j ) f(x)) + 1] j(x) 2 tanh(κ( l x u f(x j ) f(x)) if x V ε l(x j ), l {1,..., M} (1) f(x) otherwise where f(x) is defined as f(x) = f(x) δ 1 2 x xj [sign(f(x j ) f(x)) + 1] (2) with δ 1, δ 2 and κ positive constants and M is the number of solutions founded. The value of these parameters depend on the problem to solve. Transformations on the original objective function stretch the neighbourhood of x j, with ray ε j, downwards assigning smaller function values to those points to prevent the convergence of the global optimization method to that previously computed solution [Parsopoulos and Vrahatis, 2004, Pereira and Fernandes, 2009]. Each global optimization problem is solved using SA algorithm, see [Pereira and Fernandes, 2009] for details. The multilocal procedure terminates when for a predefined set of consecutive iterations no other solution is encountered [Pereira and Fernandes, 2008, Pereira and Fernandes, 2009]. The main steps of the SSA algorithm can be defined as follows.

198 IO 2013 XVI Congresso da Associação Portuguesa de Investigação Operacional Algorithm 1: (SSA algorithm) Given: x 0 and the initial control parameter values for SA algorithm. Set j = 1. While the stopping condition is not verified do 1. Find the solution of problem, x j, using SA method. 2. Apply the stretching function in the point x j. 3. Set j = j + 1 End while End Algorithm In the optimization of the humanoid robot gait problem the objective function f : IR n n IR gives the distance, in meters, of the humanoid robot. The variable x IR n n represents the gait for the humanoid robot to walk. 4 Numerical Results The numerical results were obtained using a Inter Core i7-2600 CPU 3.4 GHz with 8.0 GB of RAM. For the optimization procedure it was considered n = 10 and the initial approximation is defined as x 0 = 26 15 0 25 15 0 10 0 10 0 26 15 10 55 25 10 10 10 35 10 26 15 10 30 10 10 10 10 45 10 26 25 10 30 0 10 10 10 45 10 40 40 10 15 5 10 15 10 25 10 55 25 10 15 5 10 45 10 25 10 30 10 10 15 5 10 45 10 15 10 30 10 10 40 30 10 45 10 15 10 30 5 10 40 30 10 40 10 15 10 30 0 10 45 33 10 35 10 20 10 30 0 10 55 10 10 35 10 50 10 that was obtained through empirical analysis. The matrix (3) presents the initial gait for 10 joints (lines) and for 10 time instants (columns). The upper and lower limits are defined using x 0, and are defined as l = x 0 α1 10 and u = x 0 + α1 10, where 1 10 IR 10 10 is a matrix with coefficient one in all positions. The walking distance of the humanoid robot when considered the input variable x 0 is f(x 0 ) = 0.089202 m. The parameters δ 1, δ 2, κ and α were fixed as 10 2, 1, 10 3 and 2, respectively. The SSA method was capable to identify only one solution for the proposed problem. The following figure presents optimization results. The solution was obtained after 2942 iterations, where it was identified the optimum value as 0.174153. This solution was obtained after 3030 seconds. (3) Figure 6: Optimization results It is possible to observe that was possible to have 95% of improvement when it compared with the initial value.

IO 2013 XVI Congresso da Associação Portuguesa de Investigação Operacional 199 5 Conclusions and future work In this paper an optimization method based on the stretched simulated annealing method for the gait planning of humanoid robots was presented. For that purpose, tests were conducted on the personalized simulator SimTwo, a robot simulator that is capable to simulate user-defined robots in three-dimensional space with physical model based on rigid body dynamics (ODE). The new model of joints (motor inertia plus a spring damper gearbox model, MIP SD) was used since it allows to obtain more stable results. Using approximately 3000 iterations it was possible to find the optimum solution of the problem (maximize the walking distance), the stretched simulated annealing method was capable of increase 95%. These results validate the optimizations method even in a noisily system. As future work, the implementation of different optimization techniques could be tested and evaluated and the humanoid get up movements could be determined and optimized through this approach. Acknowledgment This work is financed by the ERDF - European Regional Development Fund through the COMPETE Programme (operational programme for competitiveness) and by National Funds through the FCT - Fundação para a Ciência e a Tecnologia (Portuguese Foundation for Science and Technology) within projects FCOMP - 01-0124-FEDER-022701 and FCOMP-01-0124-FEDER-022674. References [Browning and Tryzelaar, 2003] Browning, B., Tryzelaar, E. (2003) Ubersim: A realistic simulation engine for robotsoccer. In Proceedings of Autonomous Agents and Multi-Agent Systems, Australia. [Chalodhorn et al., 2007] Chalodhorn, R., Grimes, D., Grochow, K. and Rao, R. (2007) Learning to walk through imitation. Proc. of the Int. Conf. on Artificial Intelligence (IJCAI), India. [Costa et al., 2011] Costa, P., Gonçalves, J., Lima, J. Malheiros, P. (2011) SimTwo Realistic Simulator: A tool for the development and validation of robot software. Theory and Applications of Mathematics and Computer Science, 1 (1): 17-33. [Faber and Behnke, 2007] Faber, F. and Behnke, S. (2007) Stochastic optimization of bipedal walking using gyro feedback and phase resetting. Proc. of the IEEE-RAS Int. Conf. on Humanoid Robots (Humanoids), Estados Unidos. [Hemker et al, 2007] Hemker, T., Stelzer, M., Stryk, O. and Sakamoto, H. (2009) Efficient walking speed optimization of a humanoid robot. Int. Journal of Robotics Research, 28 (2): 303-314. [Hu et al., 2006] Hu, L., Zhou, C., Sun, Z. (2006) Biped Gait Optimization Using Spline Function Based Probability Model. Proceedings of the 2006 IEEE International Conference on Robotics and Automation, Estados Unidos. [Huang et al., 2008] Huang, Q., Yu, Z., Zhang, W., Duan, X., Huang, Y. and Li, K. (2008) Generation of humanoid walking pattern based on human walking measurement. Proc. of the IEEE-RAS Int. Conf. on Humanoid Robots (Humanoids), Coreia do Sul. [Lima et al., 2013] Lima, J., Gonçalves, J., Costa P., Moreira, A. (2013) Humanoid Gait Optimization Resorting to an Improved Simulation Model. International Journal of Advanced Robotic Systems,10 (67): 1-7. [Lima et al., 2010] Lima, J., Gonçalves, J., Costa, P., Moreira, A. (2010) Humanoid Robot Gait Planning Resorting to an Adaptive Simulated Annealing Algorithm. Proceedings of 10th Conference on Autonomous Robot Systems and Competitions, Portugal. [Lima et al., 2005] Lima, J., Gonçalves, J., Costa, P., Moreira, A. (2005) Humanoid Realistic Simulator: The servomotor joint modeling. Proceedings of 6th International Conference on Informatics in Control, Automation and Robotics, Italia. [Niehaus et al., 2007] Niehaus, C. and Röfer, T. and Laue, T. (2007) Gait optimization on a humanoid robot using particle swarm optimization. Proceedings of the Second Workshop on Humanoid Soccer Robots, Estados Unidos.

200 IO 2013 XVI Congresso da Associação Portuguesa de Investigação Operacional [Parsopoulos and Vrahatis, 2004] Parsopoulos, K., Vrahatis, M. (2004) On the computation of all global minimizers through particle swarm optimization,ieee Transaction on Evolutiona y Computation, 8(3): 211 224. [Pereira and Fernandes, 2009] Pereira, A., Fernandes, E.M.G.P. (2009) A reduction method for semiinfinite programming by means of a global stochastic approach. Optimization, 58: 713 726. [Pereira and Fernandes, 2008] Pereira, A., Fernandes, E.M.G.P. (2008) On a reduction line search filter method for nonlinear semi-infinite programming problems. Euro Mini Conference "Continuous Optimization and Knowledge-Based Technologies", L. Sakalauskas, G.W. Weber, E.K. Zavadskas (eds.), 174 179. [Sakka and Yokoi, 2005] Sakka, S., Yokoi, K. (2005) Humanoid Vertical Jumping based on Force Feedback and Inertial Forces Optimization. Proceedings of the 2005 IEEE International Conference on Robotics and Automation, Spain. [SimTwo, 2009] "SimTwo" (2009) http://www.fe.up.pt/ paco/wiki. [Smith, 2000] Smith, R. (2000) Open Dynamics Engine, http://www.ode.org. [Zhe et al, 2005] Zhe, T., Changjiu, Z. and Zengqititle, S. (2005) Humanoid walking gait optimization using GA-based neural network. Advances in Natural Computation, 3611: 252 261. [Zhou et al., 2004] Zhou, C., Yue, P. K., Ni, J., Chan, S. (2004) Dynamically Stable Gait Planning for a Humanoid Robot to Climb Sloping Surface. Proceedings of the 2004 IEEE Conference on Robotics, Automation and Mechatronics, Singapore.