Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1 Introduction
In recent years, applying the mechanism in animal’s central neural system to control
robot’s locomotion is becoming more and more popular. Central Pattern Generator
(CPG) is a biological neural network, which can produce rhythmic movement of
animals such as walking, running, chewing, respiration, heartbeat, etc. The earliest
CPG model was proposed by Cohen et al. [1] in 1980s through the research on the
dissection of a lamprey spinal cord. In Matsuoka [2], a necessary and sufficient con-
dition for the oscillator to sustain stable oscillations was shown. In Matsuoka [3], the
frequency and pattern control that could be realized by the model was described.
Kimura et al. used the Matsuoka neuron models with two neurons mutually inhibited to
generate the oscillation and to control the walking of a quadruped robot [4–6].
Manoonpong et al. [8] achieved some high level behaviors of the octopod robot such as
reflex and escape through the sensor-driven neural control. Xu et al. [9] designed a
CPGs network using six Matsuoka oscillators to control the hip joint angle of a
hexapod robot. However, the attitude of the hexapod robot body in [9] cannot be
controlled. From above researches, most of CPG-inspired control methods focused on
using CPG to generate control signal in joint space. However, many CPG units are
required to control the multi-degrees of freedom, so too many parameters need to be
modulated. Therefore, a desired trajectory generating method for a desired gait of the
end effectors of the hexapod robot and its tracking controller design method are need.
To solve the above problems, this paper proposes a locomotion control of a hex-
apod robot with four links and four rotational joints based on CPG network and
mapping functions. The CPG network model is introduced based on the Kimura’s
neural oscillators, which is used to generate trajectory of the end effector of each leg.
To do this task, the following are done. First, kinematic modeling of one leg with four
links and four rotational joints of the hexapod robot is proposed using Denavit
Hartenberg (DH) convention. Second, the walking gait of hexapod robot is generated
by central pattern generator network. Third, mapping functions are proposed to map the
output of CPG network into a desired trajectory of the end effector of the hexapod
robot. It is difficult and complex to get the angles of four rotational joints using inverse
kinematics. To solve this problem, differential kinematics algorithm is used to realize
the end effector following the trajectory obtained by the mapping functions. Finally,
simulation and experimental results for walking motion of one leg of the hexapod robot
are shown to prove the effectiveness and applicability of the proposed controller.
where Oi , hi denote of the origin of the ith joint and rotational angle around zi axis with
i ¼ 0; 1; 2; 3.
The homogeneous transformation matrix can be obtained by DH parameters are the
following matrices.
2 3 2 3
c1 0 s1 a1 c 1 c2 0 s2 a2 c 2
6s a1 s 1 7 6s c2 a2 s 2 7
6 1 0 c1 7 1 6 2 0 7
0
1T ¼6 7; 2 T ¼ 6 7
40 1 0 0 5 40 1 0 0 5
0 0 0 1 0 0 0 1
2 3 2 3
c3 0 s3 a3 c 3 c4 s4 0 a4 c 4
6s a3 s 3 7 6s a4 s 4 7
6 3 0 c3 7 3 6 4 c4 0 7
3T ¼ 6 7; 4 T ¼ 6
2
7
40 1 0 0 5 40 0 1 0 5
0 0 0 1 0 0 0 1
614 D.B. Sheng et al.
where ci ¼ cos hi ; si ¼ sin hi , and ij T is the transformation matrix from joint j coordi-
nate system to joint i coordinate system.
The end effector position vector Pe ¼ ½xe ye ze T can be calculated by forward
kinematic equation kðhÞ. The forward kinematic equation is shown as follows:
x0ei ¼ a1 c1i a4 c4i ðs1i s3i c1i c2i c3i Þ þ a2 c1i c2i
ð2Þ
þ d3 c1i s2i a3 s1i s3i þ a3 c1i c2i c3i a4 c1i s2i s4i
y0ei ¼ a1 s1i þ a4 c4i ðc1i s3i s1i c2i c3i Þ þ a2 s1i c2i
ð3Þ
þ a3 c1i s3i d3 s1i s2i þ a3 s1i c2i c3i a4 s1i s2i s4i
z0ei ¼ d3 c2i a2 s2i a3 c3i s2i a4 c2i s4i a4 s2i c3i c4i ð4Þ
where h ¼ ½h1 ; h2 ; h3 ; h4 T is angular position vector of each joint and is the solution of
(2)–(4) using the inverse kinematics.
A leg cycle is composed of two phases called swing phase and retract phase. As shown
in Fig. 3, the swing phase is the period while the leg moves from Posterior Extreme
Position (PEP) to the Anterior Extreme Position (AEP) which is the position at the end
of the swing phase. The retract phase is the period while the leg moves from AEP to the
PEP which is the position at the end of the retract phase.
A method of walking forward with legs is called a gait. There are many gaits used
by animals. A gait can be described by the concepts of cycle time (T), duty factors (δ),
and relative phase in [11]. The cycle time is the sum of swing phase time and retract
phase time.
Locomotion Control of a Hexapod Robot 615
where Tsw is the swing phase time and Trt is the retract phase time. The duty factor
d ¼ Trt =T of a leg is the time ratio of retract phase per cycle time.
where the subscripts e, f, i and j denote an extensor neuron, a flexor neuron, the ith NO
and the jth NO, respectively. ufe;f gi is uei or ufi , that is, the inner state of an extensor
neuron or a flexor neuron of the ith NO; vfe;f gi is a variable representing the degree of
the self-inhibition effect of the neuron; yei and yfi are the outputs of extensor and flexor
neurons; u0 is an external input with a constant rate; feedfe;f gi is a feedback signal from
the robot, that is, a joint angle, angular velocity and so on; and b is a constant
representing the degree of the self-inhibition influence on the inner state. The quantities
s and s0 are time constants of ufe;f gi and vfe;f gi ; wfe is a connection weight between
flexor and extensor neurons; wij is a connection weight between neurons of the ith and
jth NO. The output of a CPG is a phase signal yi as follows:
Fig. 4. CPG network of the hexapod Fig. 5. Walking cycle of the tripod gait
walking robot
Fig. 6. Each state time in one cycle time of the tripod gait
Locomotion Control of a Hexapod Robot 617
where ðx; y; zÞ is the coordinate of the end effector. ðgx ; gy ; gz Þ is the position coordinate
of the end effector. b is the orientation angle of the hexapod robot. r is the distance of
one step. Pb0i is the default standing position vector of leg i with respect to body frame.
PbAEPi is the AEP vector of leg i.
For each leg, to achieve the desired position from the default standing position,
Pbdi ðtÞ is calculated as follows:
Pbdi ðtÞ ¼ Pb0i þ Tm ðtÞ; Tm ðtÞ ¼ ½gx ðtÞ; gy ðtÞ; gz ðtÞT ð9Þ
For the trajectory of end effector in retract phase, mapping functions are given by
8
>
> gx ðtÞ ¼ r sin b½ðT tÞ=Trt
<
gy ðtÞ ¼ r cos b½ðT tÞ=Trt
ð11Þ
>
> g ðtÞ ¼ 0
: z
Tsw t T
618 D.B. Sheng et al.
where yðtÞ is the output of CPG network, kz is the amplitude gain coefficients, t is the
time that corresponds to the pointer of the mapping process.
The orientation angle is assumed to be b ¼ p=2ðradÞ. Using the mapping function,
the output of the CPG network rather than 0 (yðtÞ [ 0) is mapped to the swing phase,
and the output of the CPG network less or equal to 0 (yðtÞ 0) is mapped to the retract
phase. Because the output of CPG network is not steady at the beginning, so the
mapping process begins from the steady states of the CPG network output.
where Pbdi ¼ ½xbdi ybdi zbdi T is the desired end effector position vector with respect to
body frame of leg i.
In this paper, to keep the end effector in the desired position, the Jacobian relating
the translational velocity of the end effector with the joint angular velocity is consid-
ered. The translational velocity of the end effector can be expressed as the time
derivative of the end effector position vector of leg i with respect to body frame Pbei .
@P b
P_ bei ¼ ei h_ i ¼ JAi
b
ðhi Þh_ i ð13Þ
@hi
b
where JAi ðhi Þ is the analytical Jacobian of Pbei with respect to hi as:
@Pbei @kðhi Þ
b
JAi ðhi Þ ¼ ¼ ð14Þ
@hi @hi
e_ bi ¼ P_ bdi JAi
b
ðhi Þh_ i ð15Þ
The candidate Lyapunov function (clf) can be chosen in the following positive
definite quadratic form:
Locomotion Control of a Hexapod Robot 619
1
Vi ðebi Þ ¼ ðebi ÞT Kebi ; Vi ðebi Þ [ 0 for 8ebi 6¼ 0; Vi ð0Þ ¼ 0 ð16Þ
2
where K is a symmetric positive definite matrix.
Differentiating (16) with respect to time and substituting (15) into it, the derivative
of the clf can be derived as follows:
One leg of the hexapod robot has three degrees of freedom but it has four joints.
Therefore, this is a redundant manipulator case. The redundancy can be used for other
additional constraint of joint configuration. An objective function of the joint variables
xðhi Þ of the ith leg can be chosen as follows [7]:
1
xðhi Þ ¼ h23i ð18Þ
2
The additional vector q_ 0i for the constraint of joint configuration is defined as
T
@xðhi Þ
q_ 0i ¼ k0 ; k0 [ 0 ð19Þ
@hi
A control input vector is chosen as angular joint velocity vector of leg i as follows:
h_ i ¼ ðJAi
b T b þ b
Þ ðhi ÞKebi þ ðIn ðJAi Þ JAi Þq_ 0i ð21Þ
b þ
where ðJAi Þ is right pseudo-inverse of JAi
b
as
b þ b T b b T 1
ðJAi Þ ¼ ðJAi Þ ðJAi ðJAi Þ Þ ð22Þ
If Pbdi is constant, because the third term of (23) is zero, (17) is negative definite as
follows:
The condition V_ i \0 and Vi [ 0 implies that ebi ¼ 0 when time t ! 1, i.e., the
system is asymptotically stable.
The joint angle are used to control the servomotors. The joint angle can be cal-
culated in discrete time by the Euler integration method. With sampling time Dt, if the
joint angles and angular velocities at time tk are known, the joint angles at time
tk þ 1 ¼ tk þ Dt can be computed as follows:
the retract phase tracks the trajectory from Pd2 to Pd0 and the errors are bounded within
0:5 mm.
Figure 11 shows the simulation results and experimental results of joint angular
velocities of one leg of the hexapod for one walking cycle. From Fig. 11, the angular
velocities are smooth in swing phase after 1 s. In retract phase, the angular velocities of
joints 4 and 2 change sharply since the end effector tracks the trajectory. The desired
positions are closely in this phase.
1
L1
-1
0 1 2 3 4 5 6 7 8 9 10
1
L2
-1
0 1 2 3 4 5 6 7 8 9 10
1
L3
-1
0 1 2 3 4 5 6 7 8 9 10
1
R1
-1
0 1 2 3 4 5 6 7 8 9 10
1
R2
-1
0 1 2 3 4 5 6 7 8 9 10
1
R3
-1
0 1 2 3 4 5 6 7 8 9 10
Time (seconds)
Fig. 10. Tracking errors of the end effector of one leg for one walking cycle time
Fig. 11. Joint angular velocities of one leg for one walking cycle time
Figure 12 shows the simulation and experimental results of angle of each joint of
one leg for one walking cycle time. The angles of the joints are smooth, and the angle
of joint 3 is zero since the objective function xðqÞ is applied. From Fig. 12, the
experimental results of four joint angles are similar with simulation results.
Locomotion Control of a Hexapod Robot 623
Fig. 12. Joint angles of one leg for one walking cycle time
Fig. 13. Trajectory of the end effector of one leg for one walking cycle time
Figure 13 shows the trajectory of the end effector of one leg for one walking cycle
time. Leg movement has two states: swing phase and retract phase. In lift up state, the
end effector of the leg moves from stand position Pe0 in (a) to lift up position Pd1 in
(b) and then contacts ground position Pd2 in (c). In retract phase state, the end effector
tracks the trajectory from Pd2 to Pe0 shown as dotted line in (d).
5 Conclusion
This paper presented locomotion control of a hexapod robot with four links and four
rotational joints based on CPG network. Our CPG network model was introduced
based on the Kimura’s neural oscillators, which was known as a neural network that
generates rhythmic movements. To do this task, the following were done. First,
kinematic modeling of one leg with four links and four rotational joints of the hexapod
robot was proposed using Denavit Hartenberg (DH) convention. Second, the walking
gait of hexapod robot was generated by central pattern generator network. Third,
mapping functions were proposed to map the output of CPG network into a desired
624 D.B. Sheng et al.
trajectory of the end effector of the hexapod robot. It is difficult and complex to get the
angles of four rotational joints using inverse kinematics. To solve this problem, dif-
ferential kinematics algorithm was used to realize the end effector following the tra-
jectory obtained by the mapping functions. Finally, simulation and experimental results
for walking motion of one leg of the hexapod robot were shown to prove the effec-
tiveness and applicability of the proposed controller. The end effector position errors of
one leg are bounded within ±0.5 mm.
Acknowledgment. This study is a part of the results of the R & D project. Development of
multi-legged underwater walking-flying robot supported by Korea Government. Authors are debt
to appreciate Ministry of Oceans and Fisheries for the full support to this work.
References
1. Cohen, A.H., Holmes, P.J., Rand, R.H.: The nature of the coupling between segmental
oscillators of the lamprey spinal generator for locomotion. J. Math. Biol. 13(3), 345–369
(1982)
2. Matsuoka, K.: Sustained oscillations generated by mutually inhibiting neurons with
adaptation. Biol. Cybern. 52(6), 367–376 (1985)
3. Matsuoka, K.: Mechanisms of frequency and pattern control in the neural rhythm generators.
Biol. Cybern. 56(5), 345–353 (1987)
4. Kimura, H., Fukuoka, Y., Cohen, A.H.: Adaptive dynamic walking of a quadruped robot on
natural ground based on biological concepts. Int. J. Robot. Res. 26(5), 475–490 (2007)
5. Kimura, H., Akiyama, S., Sakurama, K.: Realization of dynamic walking and running of the
quadruped using neural osciallator. Auton. Robots 7(3), 247–258 (1999)
6. Kimura, H., Fukuoka, Y., Konaga, K., Hada, Y., Takase, K.: Towards 3D adaptive dynamic
walking of a quadruped robot on irregular terrain by using neural system model. In:
Proceedings of the 2001 IEEE/RSJ International Conference on Intelligent Robots and
Systems, vol. 4, pp. 2312–2317 (2001)
7. Sixiliano, B., Sciavicco, L., Villani, L., Oriolo, G.: Robotics: Modeling, Planning and
Control. Springer, Heidelberg (2009)
8. Manoonpong, P., Pasemann, F., Wörgötter, F.: Sensor-driven neural control for omnidirec-
tional locomotion and versatile reactive behaviors of walking machines. Robot. Auton. Syst.
56(3), 265–288 (2008)
9. Xu, L., Liu, W., Wang, Z., Xu, W.: Gait planning method of a hexapod robot based on the
central pattern generators: simulation and experiment. In: International Conference on
Robotics and Biomimetics, pp. 698–703 (2013)
10. Chen, W., Ren, G., Zhang, J., Wang, J.: Smooth transition between different gaits of a
hexapod robot via a central pattern generators algorithm. J. Intell. Robot. Syst. 67(3–4), 255–
270 (2012)
11. Frasca, M., Arena, P., Fortuna, L.: Bio-inspired Emergent Control of Locomotion Systems.
World Scientific, Singapore (2004)