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
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
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
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
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/()
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
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
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