Anda di halaman 1dari 7

J. Shanghai Jiaotong Univ. (Sci.

), 2011, 16(1): 71-77


DOI: 10.1007/s12204-011-1097-4

Kinematics Analysis and Experiment of a Cockroach-Like Robot

GAO Yong ( ), CHEN Wei-hai (), LU Zhen ( )


(School of Automation, Beijing University of Aeronautics and Astronautics, Beijing 100191, China)

Shanghai Jiaotong University and Springer-Verlag Berlin Heidelberg 2011

Abstract: This article describes the structure of the cockroach-like robot. Both kinematics and locomotion control
are inspired by biological observations in cockroaches. Based on cockroach-like robot kinematics analysis, screw
theory, and the production-of-exponential (POE) formula, this paper focuses on the inverse kinematics which
uses Paden-Kahan sub-problems to obtain directly the displacement of joint angles. The forward kinematics
derives the relationship between joint angles according to the natural restrictions. Then, by using the POE
formula, it can deduce the body pose and realize online trajectory control and planning. Through simulation and
experimentation, it is proved that the straight-line walking and turning gait algorithms have static stability and
the inverse kinematics analysis of cockroach-like robot is correct.
Key words: cockroach-like robot, kinematics analysis, locomotion control
CLC number: TP 242 Document code: A

0 Introduction re rescue, entertainment, and military tasks.


A cockroach robot is a redundant system with mul-
In rugged terrain, legged robots are superior to tiple movement chains. Because the active joints are
tracked or wheeled ones. Movement on legs is an an- greater than the DOF of the body, kinematics of a
cient form, but it is also the most adaptive. A cockroach cockroach robot is more complicated than that of com-
has six legs and the leg distribution grants it with this mon mobile robots[1-3] . During each step of the cock-
good feature. When a cockroach is running, the front roach robot, each leg lifts up and lays down in a cer-
leg and rear one on the same side will combine with tain sequence, which is called gait[4-5] . When some
the middle leg from the other side. This triangle-like legs are lifted up, the standing legs will form a parallel
distribution guarantees movement stability. Compared robot[6-7] . Then, considering the instantaneous state, a
with the wheeled or tracked robots, although a cock- cockroach resembles a parallel system with redundant
roach robot is characteristic of more degrees of freedom DOF and its movement can be considered as a series
(DOFs), complex conguration, and diculty in con- of movements of redundant robots. Here, kinematics
trol, it has many valuable features in its movements. analysis is necessary in the design and control of the
First of all, cockroach has a better agility, especially cockroach robot.
in the environment where the ground is not at. Be-
Based on the local product-of-exponential (POE) for-
cause the stand points are dispersed and the contact ar-
mula, this paper proposes an inverse kinematics al-
eas on the ground are relatively small, cockroach robot
gorithm for the joint angle displacement by applying
can achieve the optimal stand points of the ground and
Paden-Kahan sub-problems[8-9] . In forward kinematics,
pass across areas as with soft ground or big obstacles.
it rst deduces the relationship between joints accord-
Secondly, the decoupling of body trajectory and foot
ing to the natural restrictions and then the pose of the
trajectory can be realized by legged robots. Even on
body through the POE formula.
ground that is not horizontal, the robot can crawl on
condition the body plane parallel to the plane of the
standing legs. So, cockroach robots can be applied in
1 Characters of Cockroach Robot
Figure 1 shows the conguration of the cockroach
Received date: 2010-03-01 robot. The width of the body is b and the length is
Foundation item: the National High Technology Re- 2b. It has six legs. Each leg has 4 joints, coxa, femur,
search and Development Program (863) of China
(No. 2008AA04Z210), the National Natural Science
tibia, and tarsus[10] . Of the 4 joints, the rst 3 joints
Foundation of China (No. 60775059) and the Natural are designed to move the robot (every leg has 3 active
Science Foundation of Beijing (No. 3093021) DOFs, so it has 18 active DOFs for the whole body). As
E-mail: gaoyongts@126.com shown in Fig. 2, i3 (i = 1, 2, , 6) refers to coxa, which
72 J. Shanghai Jiaotong Univ. (Sci.), 2011, 16(1): 71-77

revolves the legs. i3 [/4, /4] and the length of the twist si (i = 1, 2, , n) can be expressed as a 6 1
the link is L1 . Let i2 [0, /2] (i = 1, 2, , 6) be the vector mapping from si .
femur, it can move up and down. The length is L2 . Let 2.1 Coordinate Systems
i1 [3/4, /4] (i = 1, 2, , 6) be the tibia, it is As following, we establish coordinate systems in
aimed at stretch. The link length is L3 . Coxa is linked Fig. 3, where Li (i = 1, 2, 3) are link lengths; PAOi (i =
with the body. The tarsus is a exible mechanism and 1, 2, , 6) are the vectors from O to points Ai ;
we consider it as a globe joint in mathematical model- PAOii3 (i = 1, 2, , 6) are the vectors from Oi3 to points
ing. The gait control algorithm provides various gaits Ai ; POOi3c (i = 1, 2, , 6) are the vectors from Oc to
which enables the robot to walk exibly under dierent points Oi3 ; sij se(3) (i = 1, 2, , 6; j = 1, 2, 3) is
requirements. the twist of the joint axis i, j in local coordinate system
Oij ; se(3) is crew space.
b
si1
i1
1 si3
6

i3 L2 Oi1
2b

Oi3
zc L1 Oi2
2 5 Body
yc
POOi3c si2 i2

L3
Oc
4
3 xc PAOi i3
Fig. 1 Configuration of body z
y Ai
i1
O PAOi
x
Fig. 3 Configuration of leg mechanism
i3 L2
(1) Inertial frame: the coordinate system xed on the
L1 L3
ground is O-xyz. The origin is at the initial center of
Body mass of the body. The positive direction of axis y is
the same with the forward direction of the body. The
i2 positive direction of axis z is downward vertically. Axis
x is determined by the right-hand rule.
Fig. 2 Configuration of a leg (2) Locomotive referenced coordinate system: the
body coordinate system is Oc -xc yc zc . Its origin Oc is at
the center of mass of the body at all times. The plane
2 Kinematics of Cockroach Robot xc Oc yc parallels that of the body. Let the positive di-
rections of the axes be the same with O-xyz. The initial
By applying screw theory and the POE formula to position and the pose of Oc -xc yc zc are respectively the
the kinematics, this paper describes the rigid body in same as O-xyz.
a geometrical way. This, to a large degree, simpli- (3) Coordinate systems on the coxa: let Oi3 -xi3 yi3 zi3
es the analysis of the mechanisms. In the follow- be the coordinate system on leg i (i = 1, 2, , 6). Its
ing part, we will present the deduction of the POE origin Oi3 is at the connection point with the body.
formula[11-13] . In the inertial frame, Oi3 and Oc are at the same
Based on the POE formula, the forward kinematics height.
of serial open chain robot can be expressed as[13] Here, every leg can be considered as a serial robot
consisting of 3 active joints and 1 passive global joint.
T0n (q1 , q2 , , qn ) = In this case, each leg works actually as a 6-DOF se-
T0,1 (q1 )T1,2 (q2 ) Tn1,n (qn ) = rial robot. Generally, the coxa is the base of the serial
T0,1 (0)es1 q1 T1,2 (0)es2 q2 Tn1,n (0)esn qn , (1) robot with an active joint on it. Figure 4 shows the
conguration of one leg.
where, Ti1,i (i = 1, 2, , n) is the initial pose of frame 2.2 Forward Kinematics
i with respect to frame i 1; qi (i = 1, 2, , n) is the Forward kinematics is focused on resolving the body
joint variable; si is the twist coordinate of joint axis i; pose of the robot by the given stand point positions and
J. Shanghai Jiaotong Univ. (Sci.), 2011, 16(1): 71-77 73

si1 T T
b
i1 xOc
O13
Oc
yO13
Oc
zO13
= b 0 ,
2
i2 T  T
si3 b
xOc
O33
Oc
yO33
Oc
zO33
= b 0 ,
Oi1 2
L2 i1
T
Oi3 i3 T 
Oi2 b
zc
Body
L1 i2 xOc
O53
Oc
yO53
Oc
zO53 = 0 0 ,
2

L3
yc
POOi3c i2
PAOi i3
Oc si2 where, Ki and Hi are the extension lengths of the leg.
Hi

xc Let i = 1, 3, 5 and we get vectors PAO1c , PAO3c , PAO5c from


PAOic Ai
z Eq. (3). With PAO1c , PAO3c , PAO5c in Eq. (2), and then we
POOc
y can get the solutions 11 , 31 , 51 .
Ki 2.2.2 Body Pose of Cockroach Robot
O PAOi
According to the coordinate systems in Section 2.1,
x
if the location of Oi3 with respect to body coordi-
Fig. 4 The natural restricts of cockroach robot
nate system Oc -xc yc zc and local coordinate system of
the coxa Oi2 (the third joint of leg i) are POOi3c =
known driving joint variables.
[xO c
Oi3 yOOc
i3
Oc T
zO i3
] and POOi2i3 = [xO i3
Oi2
Oi3
yOi2
zOOi3 T
i2
]
2.2.1 Natural Restricts of the Body respectively, the location of Oi3 art inertial coordinate
With the Eq. (1), we can get the pose of the leg. O-xyz can be given as
But due to the redundancy, we need to get the location
   
relationship between the known driving variables and Pi POOi3c
the redundant driving variables. This can be obtained Pi = = TO,Oc , (4)
through robot conguration. 1 1
   
We assume the known driving variables to be Pi si2 i2 POOi2i3
11 , 12 , 31 , 32 , 51 , 52 . The redundant driving vari- Pi = = TO,Oi2 e , (5)
1 1
ables 13 , 33 , 53 should be gured out. It is not    
Oc Oc
dicult to understand that the distance between the P15 P35 P15 P35
stand points will not vary in dierent coordinate sys- TO,Oc = = , (6)
0 0
tems. It is the same in inertial frame O-xyz and in the
coordinate system xed on the cockroach Oc -xc yc zc . Oc
where P i is the homogeneous coordinates of Pi , P15 =
The stand points are known in O-xyz, then we get the Oc Oc Oc Oc Oc
PO53 PO13 , P35 = PO53 PO33 , P15 = P5 P1 , and
following equations.
P35 = P5 P3 .
Then, from Eqs. (4) and (6), we get
A1 A3  = (PAO3 PAO1 )T (PAO3 PAO1 ) =

 

(PAO3c PAO1c )T (PAO3c PAO1c )

P1Oc P3Oc P5Oc Oc
P15 Oc
P35

TO,Oc


=
A1 A5  = (PA5 PA1 ) (PA5 PA1 ) =
O O T O O 1 1 1 0
. (2)  
(PAO5c PAO1c )T (PAO5c PAO1c )

P1 P3 P5 P15 P35

,


A3 A5  = (PA5 PA3 ) (PA5 PA3 ) =
O O T O O


1 1 1 0

Oc Oc T Oc Oc
(PA5 PA3 ) (PA5 PA3 )
where PjOc (j = 1, 3, 5) are the vectors from Oc to point
j.
From the projection on the plane of xc Oc yc , we get Because body pose TO,Oc can be given by
 
xOc
Ai xO
Oi3 Ki cos i3
c
P1 P3 P5 P15 P35
O O TO,Oc =
PAOic = c c
yAi = yOi3 + Ki sin i3 , (3) 1 1 1 0
Oc
z Ai Oc
zOi3 Hi  1
P1Oc P3Oc P5Oc Oc
P15 Oc
P35
. (7)
Ki = L1 + L2 cos i2 + L3 cos (i1 + i2 ) , 1 1 1 0

Hi = L3 sin (i1 + i2 ) L2 sin i2 , With Eqs. (1) and (5), we get the location of point
74 J. Shanghai Jiaotong Univ. (Sci.), 2011, 16(1): 71-77

Ai as we get exponential mapping


 
Pi esi3 i3 esi2 i2 esi1 i1 =
Pi = = TO,Oi1 (0)esi1 i1
1
1 T03 (i3 , i2 , i1 )T03 (0) = Ti . (11)
 
POOi2i3
TOi1 Oi2 (0)esi2 i2 , (8) In order to obtain the joint angles of leg i(i = 1, 2, 3),
1 we apply Paden-Kahan sub-problems. Details are ex-
plained as followings.
where, sij se(3)(i = 1, 2, , 6; j = 1, 2, 3) is the
2.3.1 Solution to i1 Through Sub-problem 3
twist of the joint axis i, j in local coordinate system
The formulation in sub-problem 3 is
Oij ; se(3) is crew space.
2.3 Analysis of Inverse Kinematics
si exp(si1 i1 )pi  = , i = 1, 2, , 6, (12)
Considering the body of a cockroach robot, we ob-
tain all the joint driving variables, i1 , i2 , and i3 (i = where, si R3 is the destination point, pi R3 is the
1, 2, , 6) according to the body pose TO,Oc , stand starting point.
point PAOi (i = 1, 3, 5) and the trajectory of leg PAOi (i =
In this case, if we rotate pAi R3 , the end of the
2, 4, 6). serial robot (or rather, a leg of cockroach robot) on si1
We assume the coordinate system Oc -xc yc zc be xed
by i1 with the distance from POi2 R3 as , then we
at the center of the robot body. Oi3 (i = 1, 2, , 6) is
can get i1 through sub-problem 3.
the center of the coxa which links leg i and the body.
Because i3 and L1 are known, we get the center of
Since PAOi = POOc + Rc PAOic , then,
femur POi2 by applying Chasles theory, we get
 O 
PAOic = R1
c PAi POc .
O
POOi2i3 (i1 ) = esi3 i3 POOi2i3 (0). (13)
Also,
PAOic = POOi3c + PAOii3 , where POOi2i3 is the vectors from Oi3 to points Oi2 .
T We right multiply both sides of Eq. (11) by PAOii3
where PAOii3 = xO i3
Ai y Oi3
Ai z Oi3
Ai
. 3
R , the position vector of stand point with respect to
Considering that Rc is the orthogonal matrix and the origin of Oi3 -xi3 yi3 zi3 coordinate system.
R1
c = Rc , we get
T

 O  esi3 i3 esi2 i2 esi1 i1 PAOii3 = Ti PAOii3 . (14)


PAOii3 = RT O
c PAi POc POi3 .
Oc
(9)

In coordinate system Oi3 -xi3 yi3 zi3 , project the stand- Minus esi3 i3 POi2 from both sides of Eq. (14) and we
ing leg in plane xi3 Oi3 yi3 and we get Fig. 5. get

yi3 PAOi i3(xAOii3 , yAOii3) esi3 i3 esi2 i2 esi1 i1 PAOii3 esi3 i3 POi2 =
yAOi3
i esi3 i3 esi2 i2 (esi1 i1 PAOii3 POi2 ) =
Ti PAOii3 esi3 i3 POi2 . (15)
i
K

Considering the stability of the distance between any


two points on the rigid body, we get the norms of both
sides of Eq. (14):
i3
   
Oi3 xAOi3 xi3  si1 i1 Oi3   
i e PAi POi2  = Ti PAOii3 esi3 i3 POi2  . (16)
Fig. 5 Projection in plane xi3 Oi3 yi3
Equation (16) satises the form of sub-problem 3,
where
According to the geometrical relationship, we get
Oi3
i3 = arctan(yA /xOi3
Ai ). (10) p = PAOii3 ,
i

Right multiplying the right side of q = POi2 ,


 
 
= Ti PAOii3 esi3 i3 POi2  .
T03 (i3 , i2 , i1 ) =
1
esi3 i3 esi2 i2 esi1 i1 T03 (0) by T03 (0), Using sub-problem 3, we obtain i1 .
J. Shanghai Jiaotong Univ. (Sci.), 2011, 16(1): 71-77 75

2.3.2 Solution to i2 Through Sub-problem 1 cos(/20) sin(/20) 0 0

The formulation in sub-problem 1 is Pend 140
= sin(/20) cos(/20) 0 .
exp(si2 i2 )pi = si , i = 1, 2, , 6. (17) 0 0 1 100

In this case, if pi reaches si when we rotate it on axis In the simulation, the speed of body is 40 mm/s, the
si2 by i2 , then i2 can be obtained by sub-problem 1. acceleration is 10 mm/s2 , and in total there are 141
interpolations. The body will rotate on axis Oz by
Because i1 and i3 are known, left multiplying both
/20. The result of the simulation is as follows.
sides of Eq. (17) by esi3 i3 , we get
Figure 6 shows the body trace and body pose, where
esi2 i2 (esi1 i1 PAOii3 ) = esi3 i3 Ti PAOii3 x, y, z are the displacements along axis Ox, Oy and Oz,
respectively; Rx , Ry , Rz are the rotation angles about
from Eq. (17), which satises the form of sub-problem axis Ox, Oy, Oz. Figure 7 shows the joint angles of leg
1. Here, pi = esi1 i1 PAOii3 is the starting point of move- 1, leg 3 and leg 5. Figure 8 shows the body trace and
ment and si = esi3 i3 Ti PAOii3 is the end point. body pose error. Meanwhile, in Fig. 7, it is seen that
the curves of the angles of the joints are smooth and
The method above can be applied to the inverse kine-
the angles are all in the working spaces as well.
matics of the robot body, from which we get all the
driving variables of standing legs and swaying legs.

Body trace/mm
150
2.3.3 Choice of Multiple Solutions in Inverse Kine- z
100
matics
50 y
As there may be two groups of solutions for each x
joint in sub-problem 3 and sub-problem 1, it comes to 0
4 groups of solutions for 2 active joints. That is to
Rotating angle/()

say, there are 4 dierent trajectories. The trajectory 10


of inverse kinematics is determined by the initial solu- Rz
tion, so it is required that each of the inverse solutions 5 Ry
Rx
should be of the same cluster as the initial solution for 0
the stable movements. So, it is necessary to choose an
0 50 100 150
appropriate group of solutions. Our guideline is that Interpolation
we minimize the increment to guarantee the inverse so-
Fig. 6 The body trace and body pose
lution each time is in the same cluster as the initial
one.
200
3 Simulation and Experiment 12
0
11 13
3.1 Parameters in Simulation 200
Parameters relevant to the body include: L1 =
Joint angle/()

200
50 mm, L2 = 150 mm, L3 = 200 mm, b = 80 mm. The 32
robot will take triangle gait: in a certain moment, leg 2, 0
31 33
leg 4, leg 6 are swaying legs, while others are standing 200
legs. The initial stand points are:
200 52

PAO1 = [250 80 0] , T 0
53

PAO3 = [250 80 0] , T 200 51


0 50 100 150
Interpolation
PAO5 = [250 0 0]T .
Fig. 7 The joint angles of leg 1, leg 3, and leg 5
The motion trajectory of the cockroach robot is a line
that moves along axis Oy from P0 to Pend . Here, We get the conclusion that the error between the
calculated and the expected is small. Note that the
1 0 0 0 error exists only in the mathematical calculation pro-


P0 = 0 0 cess and may vary greatly at some points between two
1 0 ,
interpolated points. Under this consideration, Fig. 8
0 0 1 100 is obtained through sampling between two interpolated
76 J. Shanghai Jiaotong Univ. (Sci.), 2011, 16(1): 71-77

Trace error/mm 1.0 leading the body to move forward. Figure 9(d) shows
y
0.5 the process that the robot reinstates its initial state
x after walking.
0
z 3.3 Fixed-Point Turning Experiment
0.5
The prototype can achieve xed-point turning. In
0.1
Rotating angle

Rz this experiment, its xed-point left-turning is shown.


error/()

Rx Some instantaneous photos of the robot in xed-point


0
left-turning gait experiment are shown in Fig. 10. The
Ry
0.1
initial standing state of the robot is shown in Fig. 10(a).
0 20 40 60 80 100 120 140 Figure 10(b) shows the process that No. 2, 4, 6 swing-
Interpolation
ing legs lift, while No. 1, 3, 5 standing legs are leading
Fig. 8 The body trace and body pose error the body to rotate left. Figure 10(c) shows the transfor-
mation process that No. 1,3,5 swinging legs are lifting,
while No. 2, 4, 6 standing legs are leading the body to
points. During the simulation, the acceleration of the rotate left. Figure 10(d) shows the process that the
robot is positive for the rst 50 interpolated points, zero robot reinstates its initial state after walking.
in the following 41 points, and negative in the last 50
points.
3.2 Straight-Line Walking Experiment
The prototype can realize forward and backward
straight-line walking. An experiment is carried out to
demonstrate forward and backward straight-line walk-
ing on the prototype. Figure 9 are some instantaneous
photos of the robot in the straight line gait experiment.
A common water-proof carpet was laid on the ground
to increase the friction between the foot end and the
ground. The initial standing state of the robot is shown
in Fig. 9 (a). Figure 9(b) shows the process that No. 2,
4, 6 swinging legs forward, while No. 1, 3, 5 standing
legs are leading the body to move forward. Figure 9(c)
shows the transformation process that No. 1, 3, 5 swing-
ing legs forward, while No. 2, 4, 6 standing legs are

Fig. 10 Fixed-point turning experiment

4 Conclusion
With the POE formula, this paper deals with the
kinematics of a rigid body in geometrical analysis. The
analysis of mechanism is greatly simplied. Consider-
ing the cockroach-like robot as a whole body, this paper
analyzes the forward and inverse kinematics. Also, this
paper applies Paden-Kahan sub-problems in the inverse
kinematics control. The precision of trajectory tracing
rises greatly because it is a kind of incremental displace-
ment control mode and diers from the velocity con-
trol. With the MATLAB program, we demonstrated
the inverse solution which tells us that the inverse so-
lution remains accurate provided the joints are all in
the given range. The experiment results show that the
Fig. 9 Straight-line walking experiment
straight-line walking and turning gait algorithms have
J. Shanghai Jiaotong Univ. (Sci.), 2011, 16(1): 71-77 77

static stability. [7] Nanua P, Waldron K J, Murthy V. Direct kine-


matic solution of a stewart platform [J]. IEEE Trans-
References actions on Robotics and Automation, 1990, 6(4): 438-
443.
[1] Espenschied K S, Quinn R D, Chiel H J, et al. [8] Chen Wei-hai, Zhou Jie, Yu Shou-qian, et al. Kine-
Leg coordination mechanisms in stick insect applied matic analysis and simulation for modular manipula-
to hexapod robot locomotion [J]. Adaptive Behavior, tors based on screw theory [J]. Journal of Beijing Uni-
1993, 1(4): 455-468. versity of Aeronautics and Astronautics, 2005, 31(7):
[2] Nelson G M, Quinn R D. A numerical solution to 814-818 (in Chinese).
inverse kinematics for swing control of a cockroach- [9] Chen Wei-hai, Gao Yong, Yang Gui-lin, et al. Kine-
like robot [C]//The Fourth International Conference matic control of 3-legged modular reconfigurable par-
on Climbing and Walking Robots: From Biology to allel manipulators [J]. Chinese Journal of Mechanical
Industrial Applications. Karlsruhe, Germany: Profes- Engineering, 2005, 41(8): 96-102 (in Chinese).
sional Engineering Publishing, 2001: 347-354. [10] Nelson G M, Quinn R D. Posture control of a
[3] Go Y, Yin Xiao-lei, Bowling A. Navigability of cockroach-like robot [C]// IEEE International Confer-
multi-legged robots [J]. IEEE / ASME Transactions ence on Robotics and Automation. Leuven, Belgium:
on Mechatronics, 2006, 11(1): 1-8. IEEE, 1998: 157-162.
[11] Brockett R W. Robotic manipulators and the prod-
[4] Weingarten J D, Lopes G A D, Buehler M,
uct of exponential formula [C]//Proceedings of the
et al. Automated gait adaptation for legged robots
International Symposium on Mathematical Theory of
[C]// 2004 IEEE International Conference on Robotics
Networks and Systems. Beer Sheba, Israel: Springer-
and Automation. New Orleans, LA, USA: IEEE, 2004:
Verlag, 1983: 120-129.
2153-2158.
[12] Park F C. Computational aspect of manipulators via
[5] Saranli U, Koditschek D E. Template based
product of exponential formula for robot kinematics
control of hexapedal running [C]// IEEE Interna-
[J]. IEEE Transactions on Automatic Control, 1994,
tional Conference on Robotics and Automation. Taipei:
39(3): 643-647.
IEEE, 2003: 1374-1379.
[13] Chen I M, Yang G L. Inverse kinematics for modular
[6] Innocenti C. Direct kinematics in analytical form reconfigurable robots [C]// IEEE International Con-
of the 6-4 fully-parallel mechanism [J]. Transactions ference on Robotics and Automation. Leuven, Belgium:
of the ASME, Journal of Mechanical Design, 1995, IEEE, 1998: 1647-1652.
117(1): 89-95.

Anda mungkin juga menyukai