Proceedings of the 14th IFAC Symposium on Information Control Problems in Manufacturing Bucharest, Romania, May 23-25, 2012
Locomotion Over Common Types of Obstacles for a Legged Mobile Robot Mănoiu – Olaru Sorin*, Mircea NiŃulescu** *Department of Automation, Electronics and Mechatronics, University of Craiova, Romania (e-mail:
[email protected]) ** Department of Automation, Electronics and Mechatronics, University of Craiova, Romania (e-mail:
[email protected]) Abstract: In this paper the authors present a simulation platform developed in Matlab for locomotion analysis of hexapod robot. Also the authors have developed the direct and inverse geometrical model for the leg and for the entire structure using Denavit – Hartenberg algorithm. The simulation platform allows static stability analysis, full control of the robot, hardware and software leg control and locomotion analysis which is the main subject of this paper. After developing the mathematical models the simulation platform is presented. Then the algorithm for leg control is presented. There are also presented the most common types of obstacles that a legged robot can encounter during locomotion. In the end some simulations are presented and discussed. Keywords: Hexapod robot, Direct kinematics, Simulation platform, Matlab
1. INTRODUCTION Most of the earth’s surface is inaccessible to regular vehicles which are mostly wheeled even if we refer to planes, cars, or trains. Today’s robots are mostly designed for travelling over relatively smooth, levelled or inclined surfaces. Multi-legged structures have significant advantages over wheeled ones when it comes to rough terrain because they don’t need continuous contact with the ground. Hexapod robots have attracted considerable attention from the scientific community in recent decades because of the benefits of this type of platform (Xilun Ding et al. 2010). Moreover, hexapod robots show robustness in case of leg faults. Legged locomotion is a very difficult robotic problem, especially when compared to wheeled locomotion. Wheeled locomotion is suitable for fast transportation and use friction to move forward in an efficient way but requires constructed terrain to minimize mobility restriction. On the other hand legged locomotion minimizes the terrain modification and legs provide the capability of manoeuvring within confined space. As it can be seen from nature, legs are not used only for walking (e.g.: manipulators, sensors). It is well known that maintaining a structure’s position in a three dimensional space requires three points of support. Machines with three or more legs that are continuously in contact with the ground are said to be statically stable if they maintain their projection of the centre of gravity within the polygon determined by the legs on the support plane. An important drawback of legged machines is the complexity of the control required to achieve walking even on completely flat and horizontal surface in which much simpler wheeled machines work perfectly well (Carbone 2005).
978-3-902661-98-2/12/$20.00 © 2012 IFAC
The difficulty is not moving the individual legs, but coordinating the movement of the legs and the body. The legged robot control system must generate a sequence of leg and body motions, a gait, which will propel it along desired trajectory. The large diversity of the existing walking animals offers innumerable examples of the possibilities of this type of locomotion. Gait generation is the formulation and selection of a sequence of coordinated leg and body motions that propel the robot along the desired path. The most studied problem for multi-legged robots concerns in how to determine the best sequence for lifting off and placing the feet. Hexapod gaits have been widely studied as a function of robot characteristics. The gait analysis and selection requires an appreciable modelling effort for the improvement of mobility with legs in structured/unstructured environments. Nowadays studies are focused primarily on using artificial neural networks, fuzzy logic or central pattern generators for both leg coordination and leg control. 2. HEXAPOD ROBOT STRUCTURE The hexapod robot platform considered is similar with the BH3 robotic platform from Lynxmotion but we have modified the length of all the segments and replaced some of the electronics. The legs were modified for better terrain adaptation. A new problem also emerges with the new legs, the original servomotors weren’t up for the job and we had to replace them. The electronics now consists of a development board (Arduino Duemilanove, www.arduino.cc) and a servo controller (SSC32 - Servo Controller www.lynxmotion.com). Each leg has 3 servomotors resulting 3 DOF per leg.
918
10.3182/20120523-3-RO-2023.00333
INCOM 2012, May 23-25, 2012 Bucharest, Romania
a tan 2( y, x ) + 180, x < 0 a tan 2( y, x ), otherwise
2.1 Hexapod robot leg
θ1 =
2 2 2 2 2 l2 + ( x ' + y ' ) − l3 θ2 = a cos + a tan 2( y ', x ') 2 l2 ( x ' 2 + y ' 2 )
q2
L1 R2
q1 d1
)
(
R1
θ3 = 180 − a cos
x1
z1 L2 R3
z2
y0
q3 x0 L3 z3
XG
( x '2 + y '2 )
2
) −l
−2l2l3
2 3
− l22
where: l1, l2, l3 – are the links lengths x,y – the coordinates of the leg tip in the leg frame x’,y’ – the coordinates of the leg tip in coxa frame.
x2
YG
(
(2)
x3 ZG
2.2 Hexapod robot model
Fig. 1. Hexapod leg model The leg structure considered is a three-revolute kinematical chain (R1, R2, and R3) (Fig. 1). A direct geometrical model for each leg mechanism is formulated between the moving frame Oi(xi,yi,zi) of the leg base, where i=1…6, and the fixed frame OG(XG,YG,ZG). The assignment of link frames follows the DenavitHartenberg direct geometrical modelling algorithm. The robot leg frame starts with link 0 which is the point on the robot where the leg is attached; link 1 is the coxa (L1), link 2 is the femur (L2) and link 3 is the tibia (L3). Legs are distributed symmetrically about an axis in the direction of motion (Y in this case).
Due to the complexity of legged locomotion on natural terrain (foot placement, obstacle avoidance, load distribution, general stability) the use of models is recommended because building a very complex mechanical structure isn’t useful for understanding certain aspects. So using models become a useful tool in understanding systems complexity and for testing and simulating different control approaches The robot structure considered (Fig. 2) has 6 identical legs (Fig. 1). All the relevant points have been put on the model as can be seen from fig. 2 (Manoiu-Olaru et al. 2011).
Using D-H algorithm the coordinates of position of the tip of the leg i are:
x i = cos θ1 i(L1 + L 2 icos θ 2 + L3 icos(θ 2 - θ 3 )) yi = sin θ1 i(L1 + L 2 icos θ 2 + L3 icos(θ 2 - θ 3 ))
(1)
zi = d1 + L 2 isinθ 2 + L3 isin(θ 2 - θ 3 ) where: Li – lengths of the segments d1 – distance from ground to coxa joint
Fig. 2. Hexapod robot model.
The limitations for each joint introduced by the mechanical configuration are: -θcoxa = [-π/4, π/4], -θfemur = [-π/4, π/2], -θtibia = [0, 3π/4]. In order to be able to move the robotic leg on a trajectory the inverse kinematical model has been obtained. The goal is to find the three joint variables θ1, θ2, and θ3 corresponding to the desired end frame position. The end frames orientation is not an issue, since we are only interested in its position. Using (1) and considering the following constraints: all joints allow rotation only about one axis, femur and tibia always rotate on parallel axes, and the physical limitation of each joint we can determine the joint angle as follows:
The overall transformation from global frame to each leg tip is obtained as follows: R TtipWi = TRW Tcoxa T coxai , i tip
i=1...6
(3)
where:
TRW is the transformation matrix between the global frame and the robot frame and defines the rotation about y,x,z (roll, pitch, yaw matrix). R Tcoxa is the transformation matrix from the robot centre to i
each leg.
919
INCOM 2012, May 23-25, 2012 Bucharest, Romania
The position of robot’s centre of mass is calculated using the following equations: 6
6
∑x XG =
gi
i =1 6
6
∑y
mLi , YG =
gi
∑z
mLi
i =1 6
, ZG =
gi
mLi
i =1 6
(4)
∑mLi
∑mLi
∑mLi
i =1
i =1
i =1
In figure 4 we noted longitudinal stability at α=0 with S0 the black bar, longitudinal stability on inclined plane with S the red bar, the height of the robot H and the angle of the robot across the plane with β. The total stability on inclined plane and the maximum height of the robot are:
3
m Li =
H max = S0 tan α
S = ( S0 − H tan α ) cos α
where:
∑m
(5)
, mli - mass of each leg
Also we can find the maximum angle of the plane that the robot can traverse:
3. TYPES OF OBSTACLES
α max = arctan
li
i =1
Earth provides an extremely large variety of terrains, but the obstacles encountered can be classified in 4 groups as can be seen from figure below (Fig. 3). The definition of the obstacles types will allow the development of better locomotion strategies for each case.
(6)
For case b mentioned in figure 4 the projection of the centre of gravity is shifted across with H * tanα . This distance can’t be greater than the half of the width of the robot:
H tg α = α
S0 H
l 2
(7)
D
a). Inclined plane
From (7) we can obtain the maximum angle of the plane without the robot becoming unstable and the static stability are:
b). Ditch L
H
αmax = arctan
H
c). Step
d). Crest
l 2H
S = S0 − H
tan α tan β
(8)
For a certain angle of the plane we can calculate the maximum height of the robot:
Fig. 3. Common types of obstacles.
H max = S 0
tan β tan α
(9)
3.1 Locomotion on inclined plane The main difference between locomotion on level ground and inclined plane is that the projection of the center of mass on to the support polygon shifts. Doing that the static stability, which is the minimum distance from the projection of the center of mass to the polygon side, becomes smaller.
3.2 Locomotion over a step A step is defined basically only by the height as can be seen from the figure 3c. Phase 1
Locomotion on inclined plane can be achieved in two ways: along the longitudinal axis of the plan (Fig. 4a) and across the plane (Fig. 4b). Direction of motion
A θ α D
β
CG
H
G C
B
H
Fig. 5a. Maximum step length for front legs. H α
S α
α
H*tanα
The maximum tilt of the robot is achieved when the rear part of the robot touches the ground:
S0 S
2 Rz L − Rx
S0
a) Locomotion along the plane
θ max = arctan b) Locomotion across the plane
Fig. 4a, b. Locomotion over inclined plane.
where: L – length of the robot body
920
(10)
INCOM 2012, May 23-25, 2012 Bucharest, Romania
Rz – height of the step on Z axis Rx – length of the step on X axis The middle legs are considered extended to the maximum and placed at a distance BC from the step. The rear legs can be position anywhere after point G. Doing the math, the height of step and BC distance as follow:
H = AC sin(α + θ ) BC = AC cos(α + θ )
Phase 2
(11) (12)
Fig. 6. Specific parameters of a stair.
O A
4. MATLAB PLATFORM INTERFACE
θ
H
The simulation interface was made using MatLab G.U.I.D.E (Graphic User Interface Design Environment) (Brian et al., 2001, Knight 2000).
α C
G
B
Fig. 5b. Maximum steps length for middle legs. In phase two of climbing (Fig. 5b) the fore legs are near the top of the step and the middle legs are on the top of the step. The projection of the center of gravity is on BC and like in the previous case the height of the step and the length of BC are the same. In order to maintain the robot stable the rear legs must position after G.
Phase 3 A H
θ C
Also, in time the interface was upgraded permitting additional features (hardware leg control, basic motion over common terrain obstacles) as can be seen from figure 7 and which will be discussed next. The new features added to the simulation platform are: - hardware and software leg control (Manoiu et al. 2011). - basic locomotion over the most common types of obstacles.
O
α
The main purpose of this simulation platform is to show how the support polygon modifies when legs lose contact with the ground and if the projection of the centre of mass is within the support polygon (Manoiu-Olaru et al. 2011).
All of these features can be selected using the appropriate controls presented on the interface.
B
Fig. 5c. Maximum step length for rear legs.
4.1 Robot leg locomotion
From figure 5c it can be seen that if we raise the height of the step, the length of BC decreases. The maximum step length of rear legs corresponds when the centre of gravity is over the step edge. The expressions for step height and BC length are the same. Also the maximum tilt of the robot happens when BC is zero.
During motion the leg moves cyclic and to facilitate analysis and control the motion of the leg is split in two: -support phase (stance) in which the robot uses the leg as support and propulsion -transfer phase (swing) represents the movement of the leg from one point to another.
x= L 1 *sin( θ 1 )
If we compare the 3 cases presented results that for a certain tilt of the robot the height of the step is the smallest in the third one and also the maximum height of the step.
y= ste p _ le ngth * cos(θ 1 ) step _ le ng th * tan( α ), z = step _ he ig th ,
3.3 Locomotion over stairs Stair represents one of the most common constructions (obstacle) in a human life. Stair in principal has two shapes: straight and spiral. For robotics point of view the most important parameters of a stair are presented in the figure 6: rise – the height of the stair step run – distance between two edges tread – the length of the stair step stair width – the width of the stair
(13)
where: θ1 – coxa angle L1 – coxa length segment α – inclined plane angle For a smooth motion of the leg the time for transfer phase must be equal with the support phase. At a certain moment of time the coordinates for leg tip are:
921
INCOM 2012, May 23-25, 2012 Bucharest, Romania
Fig. 7. Matlab interface. From figure 8c we can see that the deviation on X axis is due to the coxa angle set at 45o. If we choose a smaller angle the deviation becomes smaller but the travelled distance is smaller.
5. EXPERIMENTAL RESULTS 5.1 Locomotion on inclined plane Locomotion on inclined plane (Fig. 8 a-c) is achieved moving all legs from one side one by one. Restrictions imposed to the robot are: keeping the robot structure horizontal with respect to the ground during locomotion, maxim step length corresponding with the coxa angle of 45o, angle of the plane is 10o.
5.2 Locomotion over a step As in the previous case the legs follow the same algorithm presented above. Restrictions imposed to the robot are: keeping the robot structure horizontal with respect to the ground during locomotion, maxim step length corresponding with the coxa angle of 45o, the height of the step is 1/3 of robot height.
Fig. 8a. Robot moving leg 1, b. Final position. Fig. 9a. Robot moving leg 1, b. Final position
Fig. 8c. Trajectory of the robot during locomotion.
Fig. 9c. Trajectory of the robot during locomotion.
922
INCOM 2012, May 23-25, 2012 Bucharest, Romania
5.3 Locomotion over a stair Locomotion over a stair is similar with climbing a step but there are some differences. As in previous cases the algorithm is the same. The parameters for stair considered were: rise 3 and is 1/3 of the height of the robot, tread 8 and is 40% of the length of the robot and stair width 50. The width of the stair must be larger than twice the sum of width of the robot and twice the length of coxa. Restrictions imposed to the robot are: keeping the robot structure horizontal with respect to the ground during locomotion and using maxim step length.
Fig. 10a. Robot locomotion over straight stair.
Fig. 10b. Trajectory of the robot during locomotion. 6. CONCLUSION In this paper the authors presented a part of a simulation platform for a hexapod robot that allows full control of the robot, locomotion control and leg control. The interface was designed to be simple and intuitive and to offer the user a simple and efficient way to control every aspects of the robot (angles, masses, lengths, leg control).
Further work includes imbuing additional locomotion simulations for other types of obstacles presented here (ditch, crest, and spiral stairs). ACKNOWLEDGMENT This work was partially supported by strategic grant POSDRU/88/1.5/S/50783, Project ID 50783 (2009), cofinanced by the European Social Fund – Investing in People, within the Sectoral Operational Programme Human Resource Development 2007 – 2013. REFERENCES Brian R., Hunt R., Lipsman L., Rosenberg J. M., (2001), A guide to MATLAB for beginners and experienced users, ISBN-I3:978-0-521-00859-4, Cambridge University Press Buehler M., Playter R., Raibert M. (2005), Robots Step Outside, Int. Symp. Adaptive Motion of Animals and Machines (AMAM), Ilmenau, Germany. Clark Haynes G., Alfred Rizzi A. (2006), Gaits and Gait Transitions for Legged Robots, Proceedings of the 2006 IEEE International Conference on Robotics and Automation, Orlando, Florida - May Carbone G., Ceccarelli M. (2005), Legged robotic systems, Cutting Edge Robotics, ARS Scientific Book, pp. 553576, Wien Jun Nishii (2000), Legged insects select the optimal locomotion pattern based on the energetic cost, Biol. Cybern. 83,435-442 Springler Verlag Knight A. (2000), Basic of Matlab and Beyond, ISBN:84932039-9 CRC Press LLC Manoiu-Olaru S., Nitulescu M. (2011), Stability analysis software platform dedicated for a hexapod robot, Proceedings Conference on Control Systems and Computer Science, ISSN: 2066-4451, pp.385-390 Bucharest Romania Manoiu Olaru S., Nitulescu M. (2011), Matlab simulator for Gravitational stability of a hexapod robot, Romanian Review Precision Mechanics, Optics and Mechatronics, ISSN:1584-5982, Nr 39/2011, pp157-162, Bucharest Romania Masum B., Mohiuddin A., Soheli F. (2008), Walking Hexapod Robot in Disaster Recovery: Developing Algorithm for Terrain Negotiation and Navigation, World Academy of Science, Engineering and Technology 42 pp: 328-333. Nelson G. M., Quinn R. D., Bachmann R. J. , Flannigan W. C. (1997), Design and Simulation of a Coakroach-like Hexapod Robot, Proceedings of the 1997 IEEE International Conference on Robotics and Automantion, Albuquerque, Aprilie, New Mexico. Xilun Ding, Zhiying Wang, Rovetta A.., Zhu J. M. (2010), Locomotion analysis of hexapod robot, Climbing and Walking Robots, March, ISBN: 978-953-307-030-8 pp.291-310 India
923