<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>Series</journal-title>
      </journal-title-group>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>On Chaotic Oscillator-based Central Pattern Generator for Motion Control of Hexapod Walking Robot</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Pavel Milicˇka</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Petr Cˇížek</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jan Faigl</string-name>
          <email>faiglj@fel.cvut.cz</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Czech Technical University in Prague</institution>
          ,
          <addr-line>Technická 2, 166 27 Prague</addr-line>
          ,
          <country country="CZ">Czech Republic</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2016</year>
      </pub-date>
      <volume>1649</volume>
      <fpage>131</fpage>
      <lpage>137</lpage>
      <abstract>
        <p>In this paper, we address a problem of motion control of a real hexapod walking robot along a trajectory of the prescribed curvature and desired motion gait. The proposed approach is based on a chaotic neural oscillator that is employed as the central pattern generator (CPG). The CPG allows to generate various motion gaits according to the specified period of the chaotic oscillator. The output signal of the oscillator is processed by the proposed trajectory generator that allows to specify a curvature of the trajectory the robot is requested to traverse. Such a signal is then considered as an input for the inverse kinematic task which provides particular trajectories of individual legs that are directly send to the robot actuators. Thus, the main benefit of the proposed approach is that only two natural parameters are necessary to control the gait type and the robot motion. The proposed approach has been verified in real experiments. The experimental results support feasibility of the proposed concept and the robot is able to crawl desired trajectories with the tripod, ripple, low gear, and wave motion gaits.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>Hexapod crawlers have a great potential in many
applications such as rescue missions or exploration of unknown
environments that are hostile or unreachable to human
beings and where motion capabilities of legged robots can be
utilized to walk over rough terrains. Regarding a
particular mission, it is desirable a robot can deal with various
locomotor skills to adapt and react to its environment. On
the other hand, a solution of such a task has already been
found in nature by the process of evolution. Hence, it is a
source of motivation for the presented approach based on
biologically inspired locomotion controller for the
hexapod walking robot showed in Figure 1.</p>
      <p>
        The considered approach builds on the idea that the
insect locomotion is generated by the so called Central
Pattern Generators (CPGs) located in central nervous
system [
        <xref ref-type="bibr" rid="ref1 ref2 ref3">1, 2, 3</xref>
        ], which generates the rhytmic motor patterns
carried out by muscles without the sensory feedback. The
feedback is; however, essential in structuring the motor
patterns when walking on uneven terrains [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. In
addition, the locomotion is also enhanced by muscle
dynamics reacting immediately to terrain irregularities and thus
creating reactions (preflexes) faster than any neural
feedback [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>
        According to [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], individual limbs can produce motor
patterns, which can be viewed as an evidence that each
leg, or even each joint has its own pattern generator. The
coordination of multiple legs is done by coupling the
individual CPGs by mutual connections and the overall
locomotion is composed of a synchronized motion of
individual legs. Two phases can be recognized in a single motion
step of each leg: the support phase and the swing phase.
In the support phase, a leg is firmly touching the ground
and moving backward relatively to the body, which results
in the body moving forward relatively to the ground. On
the other hand, in the swing phase, a leg swings forward
in the air relative to the body to reach a position enabling
another support phase.
      </p>
      <p>
        Findings from biological observations of walking
insects have been summarized by Wilson [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], who created
a simple locomotion model consisting of five rules that are
essential to the construction of motion patterns:
1. Swing phases go from rear to front and no leg swings
until the one behind is in the support phase;
2. Contralateral legs of the same segment alternate in
phase, i.e., they cannot both be in the swing phase
simultaneously;
3. The swing phase duration is constant;
4. The support phase duration varies with the frequency
of CPG oscillations, i.e., a lower frequency, which
generates a slower gait, results in a longer support
phase;
5. Intervals between steps of the hind leg and the middle
leg and between the middle leg and the front leg are
constant, while the interval between the foreleg and
the hind leg steps varies with the CPG frequency.
      </p>
      <p>
        Based on these rules following locomotion patterns
(gaits) can be identified. The most safe gait is called wave
in which each leg swings separately. Another example
is the low gear gait where an insect alternates between
swinging two legs and one. Another types are tetrapod
and ripple gaits which differ in phase lag between the left
and right legs. Legs in the tetrapod gait are synchronized,
whereas the ripple gait seems to be more fluent. Finally
the fastest motion pattern is called the tripod gait. It is
also worth mentioning that there are further variants of the
tetrapod, ripple and low gear gaits depending on the phase
lags between the left and right legs [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
      <p>
        The main motivation of this work is to design and
experimentally verify a biologically inspired locomotion
controller for a hexapod walking robot to develop a suitable
framework for further processing various sensory inputs
and produce adequate control actions. Therefore, the
design of the proposed controller is based on chaotic
oscillator [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] for which we propose to post-process the
oscillator output with a trajectory generator to generate the
position of each leg’s foot-tip and inverse kinematics module,
which transforms the signal to the actual joints’ positions.
The proposed controller is comprehensible and it allows
to control the hexapod locomotion with only two natural
parameters: the turning rate turn of the robot and the
period p influencing the gait type according to the
aforementioned locomotion patterns.
      </p>
      <p>The rest of the paper is organized as follows. Section 2
overviews the related work to give an insight in possible
approaches and CPG implementation methods. Section 3
describes the design of the proposed locomotion controller
and methods used for its development. Results of the
performed experimental evaluation with the real robot are
presented in Section 4. Concluding remarks and suggestions
for further work are dedicated to Section 5.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>Biologically inspired strategies based on the CPGs have
already been utilized in the control of legged locomotion.
The existing methods mainly differs in the way how the
CPG is implemented and how its output signal is
processed. In strictly biological approaches, the signal is
processed by neural networks with the motoneurons as
the output layer. Alternatively, the signal can be
postprocessed and utilized in a trajectory generator to compute
the desired foot-tips locations that are further transformed
to the individual joints’ positions using the inverse
kinematics.</p>
      <p>
        Regarding the CPG itself, there are many ways of
achieving a patterned output [
        <xref ref-type="bibr" rid="ref10 ref6">6, 10</xref>
        ] that can be
characterized as one of the three main types of implementation.
First, the CPG can be implemented using neuron
models mutually connected together, which produces (with a
correct set of design parameters) a dynamical system
capable of oscillations [
        <xref ref-type="bibr" rid="ref11 ref12">11, 12</xref>
        ]. The second type are CPG
implementations based on the coupled non-linear
oscillators (NLO), which are not strictly biologically based, but
share many common characteristics with biophysical
models. One of the most used models is Matsuoka
oscillator [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] implementing the half centre principle: extensor
and flexor neurons inhibiting each other with an adaptation
mechanism. The Matsuoka NLO model was successfully
simulated and implemented in hexapod [
        <xref ref-type="bibr" rid="ref14 ref15">14, 15</xref>
        ] and biped
walking [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. Finally, connectionist models are CPG
implementations which tend to use simplified neuron
models while focusing on the effect of inter-neuron
connections. An example of this approach is a cellular neural
network used in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], where the network consists of identical
cells arranged in a rectangular grid. Each cell is usually a
first order dynamical system affected only by itself and its
neighbours in the specified radius. Another example are
spiking neurons used for hexapod locomotion in [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
      </p>
      <p>
        In this paper, we consider NLO-based approach for
which we utilized chaotic neural oscillator proposed in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]
to produce rhythmic patterns of the desired CPG. The
proposed solution is presented in the following section.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Proposed Solution</title>
      <p>
        The proposed solution builds on the chaotic CPG [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and
the ideas of the adaptive locomotion controller for
hexapod robots [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], where non-neural post-processing is
suggested. However, this paper provides different method
of the post-processing resulting in more emphasis put on
the insect’s locomotion rules. Moreover, the proposed
approach utilizes the trajectory generator in the way that the
hexapod is able to follow any given trajectory consisting
of circular arcs.
The overall block scheme of the proposed modular
controller is depicted in Figure 2. Note, the dashed lines
denote the sensory feedback part of the system which has
not yet been implemented but is considered future work.
In general, the proposed controller works as follows. First
of all, data from sensors are processed by the Higher
Control module which sets the locomotion control parameters,
namely the turning radius turn and the period p.1 The
period p is used to adjust the CPG output which is then
shaped and delayed by the post-processing module to
generate a signal for each leg. Afterwards, this signal is fed
into the trajectory generator which generates foot-tip
positions using the second control parameter turn. Finally, the
foot-tips’ positions are transformed by the inverse
kinematics module into the joint angles that are directly
applied to the servo drives. The particular controller blocks
are detailed in the following subsections.
3.1
      </p>
      <sec id="sec-3-1">
        <title>Chaos CPG</title>
        <p>
          The proposed CPG implementation is based on the chaotic
neural oscillator [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. The main feature of this oscillator is
its ability to stabilize different periodic orbits by changing
only a single parameter, the period p. A diagram of the
used neural oscillator is shown in Figure 3.
        </p>
        <p>The oscillator is considered with the particular
parameters w11 = −22.0, w12 = 5.9, w21 = −6.6, w22 = 0,
θ1 = −3.4, θ2 = 3.8 for the network output computed as
2 !
xi(t + 1) = σ θi + ∑ wi jx j(t) + ci(t) , (1)
j=1
where wi j is the synaptic weight from the neuron j to the
neuron i, θi is the neuron bias and ci is the control signal
utilized for stabilizing periodic orbits. It is applied every
p + 1 step, otherwise it is set to zero. The signal is
determined from
2
ci(t) = μ(t) ∑ wi jΔ j(t),
j=1
where Δ j is the signal difference of the j-th neuron state
separated by one period</p>
        <p>Δ j(t) = x j(t) − x j(t − p),
and μ(t) is the adaptive control strength given as
λ
p
μ(t + 1) = μ(t) +
Δ1(t)2 + Δ2(t)2 .</p>
        <p>The period which is set to be stabilized is denoted as p.
The adaptation speed λ has to be set carefully as too high
1Since in this work we focus on the CPG, trajectory generation and
the experimental evaluation of the motion control of the hexapod walking
robot, the control values are set manually.
(2)
(3)
(4)
values can prevent the stabilization of the given periodic
orbit or the stabilization could take a long time. Besides,
an usable learning rate gets lower with increasing period;
so, we scale it by 1/p. The adaptation speed λ has been
empirically set to 0.05 in our implementation. The control
strength μ is reset to -1 whenever the period p is changed.</p>
        <p>Based on the real insect locomotion, periods p from the
set {2, 3, 4 ,6} would be ideal for further processing.
Unfortunately, not all periodic orbits can be stabilized or even
exist in the proposed chaotic oscillator, such as the period
p = 3. Therefore, p is selected from a set {4, 6, 8, 12}
which is then further utilized for the gait generation, where
the swing phase is always constant.</p>
        <p>Another drawback is that due to sensitivity of the
oscillator to the initial conditions together with the control
method used, the final stabilized period can differ from
the desired one. For example, the control method cannot
recognize that it actually stabilized period–2 orbit when
period–6 orbit was set. This can be addressed by resetting
the network states to zero every time the period is changed;
so, the initial condition of the oscillator will not spoil the
stabilization.
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>CPG Post-processing</title>
        <p>The output produced by the chaos CPG has to be shaped
and processed to get information about the current phase
of each leg and to obtain an input for the trajectory
generator, which can be used to position the legs’ foot-tips. For
this purpose, partially neural-based signal post-processing
is proposed, which scheme is depicted in Figure 4.</p>
        <p>The difference of the oscillator neuron output and its
delay is used to obtain the signal for the phase generation
Δx2(t) = x2(t) − x2(t − 1).
(5)</p>
        <p>This signal goes through a time window function,
which passes the signal every Δt step to the neural
postprocessing network. A suitable value Δt has been found
experimentally as Δt = 13. The neural network compares
the absolute difference of the signal with the threshold
θthresh that is selected according to the actual period p and
is listed in Table 1.</p>
        <p>The output of the neural network corresponds to the
current leg phase. If it is equal to -1, the leg is in the swing
phase; otherwise it is in the support phase. Outputs of the
individual neurons n1, n2, n3 are computed as
where
n1(t)
n2(t)
n3(t)
f (x)
=
=
=
=
max(0, Δx2(t)),
max(0, −Δx2(t)),
f (−n1(t) − n2(t) + θthresh),
(−1 if x ∈ (−∞, 0),
1 if x ∈ [0, ∞).
(6)
(7)
(8)
(9)
Note, the neurons here serve only as processing units with
no ability to learn or adapt.</p>
        <p>According to the leg phase, a constant value is added
to the previously post-processed output to achieve a
suitable input for the trajectory generator post. This signal
alternates from −1 to 1 in triangle waves after the period
stabilization, where the up slope (swing phase) is a
constant and the down slope (support phase) depends on the
period p. Figure 5 shows the results of post processing of
a CPG signal with the period p = 6.</p>
        <p>The last part of the post-processing module is signal
delaying. This is rather a simplification compared to
biological systems as only a single oscillator is used to control all
legs. By adjusting the delay τL (Table 1) and thus changing
the phase lag between the right rear and the left rear leg,
different walking patterns (i.e., tripod, ripple, low gear,
and wave gaits) observed in nature can be achieved.
3.3</p>
      </sec>
      <sec id="sec-3-3">
        <title>Trajectory Generator</title>
        <p>The trajectory generator module decides the foot-tip
coordinates xˆi(t), yˆi(t), zˆi(t) of each leg i based on the
postprocessed output of the CPG – post(t) at the time t, and a
particular parameter determining the rate of the robot
turning – turn. Foot-tips positions generation is generalized
by considering the robot is always turning. Nevertheless,
a turning radius set to a very high value results in a
seemingly straight walking.</p>
        <p>The zˆi(t) coordinate of the foot tip is computed using
zˆi(t) =
sin ((post(t) + 1) π2 ) · zmax, if swing ∧ post(t) ≤ 0,

</p>
        <p>sin ((−post(t) + 1) π2 ) · zmax, if swing ∧ post(t) &gt; 0,
0 if support,
(10)
where zmax is the maximum step height. Unlike zˆi(t), the
coordinates xˆi(t) and yˆi(t) are influenced by the turning
radius turn. In order to turn the hexapod, each leg has to
move along an arc of a circle going through the foot
default position and having center at the turn point, which is
located on a line given by the default foot-tips positions of
the middle legs. Therefore, only a single parameter, the
turning radius turn, is sufficient to parametrize the robots’
trajectory. Figure 6 shows how the turn parameter
influences the foot-tip trajectories of the middle legs.</p>
        <p>The next step of the trajectory generation is to find an
angle determining the arc used for the foot-tips locations,
because the step length is limited by the robot and leg
construction. ymax is experimentally set to 35 mm, which
means a leg can move about this distance in both forward
and backward directions, i.e., the step length is at most
70 mm. When turning, each leg has a different step length
and the longest step is always performed by the furthest
leg j from the turning center
j = argmax j={2,5}(|Px j − turn|),
(11)
where Px j is the x-coordinate of the default foot-tip with
respect to the robots’ center. The angle α is then given as
α = asin</p>
        <p>ymax
(Px j − turn)
!
.</p>
        <p>Now, the arc radius ri is computed for each leg
foottip i ∈ {1, 2, . . . , 6} and the angle offset θrad given by the
default leg position as
θradi = atan2 (Pyi , Pxi − turn) ,
ri =
q</p>
        <p>(Pxi − turn)2 + (Pyi )2.</p>
        <p>Then, the foot-tip location is computed
xˆi(t)
yˆi(t)
= ri cos(θradi + α post(t)),
= ri sin(θradi + α post(t)).</p>
      </sec>
      <sec id="sec-3-4">
        <title>3.4 Inverse Kinematics</title>
        <p>The last step of the trajectory generation is to transform the
generated foot-tip positions into the joint angles which can
be directly send to the actuators. The input of our inverse
kinematic task (IKT) module are foot coordinates in the
leg reference system. For brevity, the inputs xlfeogoiti , ylfeogoiti ,
zlfeogoiti are written as xi, yi, zi in this section, where i stands
for leg index. The coxa joint angles can be computed as
θ1i = atan2 (yi, xi) − θ1oif f .</p>
        <p>The other two joint angles are calculated using the
following formulas. Note, the provided formulas do not hold
in the whole operational space of the legs; however, they
are correct for the foot-tip positions generated by our
locomotion controller within the restricted operational space.
The joint angles are determined as follows.
where
In which</p>
        <p>q
d =</p>
        <p>q
ωi = atan2 zi, (Bxi − xi)2 + (Byi ) − yi)2 .</p>
        <p>(Bxi − xi)2 + (Byi − yi)2 + (Bzi − zi)2
and Bi is the location of the i-th leg femur joint in the leg
coordinates that can be computed as the first three values
β = acos
ki(β + ωi) − θ2oif f ,
ki(γ − π) − θ3oif f ,
−l32 + l22 + d2</p>
        <p>2l2d
γ = acos −d2 + l22 + l32
2l2l3
,
,
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
where Rz(·), Tx(·) stands for the rotation around z-axis and
translation along x-axis, respectively. Joint offsets caused
by the mechanical construction are listed in Table 2 among
with ki. The signs are influenced by the “asymmetric”
behaviour of the left and right legs along with the fact that the
x-axis of the leg coordinate system is heading right no
matter whether it is on the hexapod right or left side. Values
of θ2o f f and θ3o f f are obtained from the leg dimensions.
(24)
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Experimental Evaluation</title>
      <p>The conducted experiments focus on the evaluation of the
controller performance to follow trajectories consisting of
straight line segments and arcs of circles with various radii
and different gait types.
4.1</p>
      <sec id="sec-4-1">
        <title>Walking Platform</title>
        <p>The proposed locomotion controller is considered with an
off-the-shelf hexapod walking robot PhantomX Hexapod
Mark II (depicted in Figure 1). The robot consists of
six legs each granting three Degrees-Of-Freedom (DOF),
summing up to 18 controllable DOF for the whole robot.
That gives us great maneuverability and agility that is
useful for obstacle traversing and rough terrain walking. Each
leg has three revolute joints motorized by the Dynamixel
AX series intelligent servo motors. The servos are
connected in daisy chain and communicate using a serial
interface.
4.2</p>
      </sec>
      <sec id="sec-4-2">
        <title>Results</title>
        <p>
          The robot real trajectory is captured by a vision-based
external localization system [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ], which grants us an ability
to measure the robot forward velocity for different gaits
-20
-60
and quantify the relative radius error (RRE) given a
particular value of the turn parameter. Thus, the herein
presented empirical evaluation of the proposed
stochasticbased CPG motion controller is focused on two control
parameters: the period p and the turning radius turn.
        </p>
        <p>The tracked body position is denoted as X glob(t) =
[Oxglob(t), Oyglob(t)] with t = 0, 1, . . . N, where N is the
number of frames taken by the localization system during the
experiment. Having the robot position in time, we can
estimate the forward velocity for individual gaits defined by
the parameter p as
v = k</p>
        <p>X glob(1) − X glob(N)k
tr
[m · s−1],
(25)
where tr is the experiment runtime. The straight forward
motion is achieved by setting the parameter turn to very
high value, e.g., 109; however, too high values may cause
numerical instability. The robot does not perfectly follow
a straight line path, see Figure 7, due to the gaits and
mechanical imprecision. Therefore, the forward velocity is
established from a line fitted to the captured data. The
established forward velocities for each individual gait are
reported in Table 3.</p>
        <p>
          The value of the turn parameter equals to the radius of
the circle the hexapod body should follow and it is
denoted as rre f . Different values of turn allows to achieve
various circular motion as rotation on the spot or crawling
an arc trajectory of specified radius. Therefore, the robot
has been requested to crawl circular trajectories with the
radius 0.01 cm, i.e., rotating on the spot, and radii rre f ∈
{20, 40, 60, 80, 100} cm. A circle fitting method proposed
by Pratt [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ] is utilized to estimate the real circular
trajectory with the radius r f it and center S = [Sxglob, Syglob] in the
global coordinate system of the localization system. The
relative radius error (RRE) ηturn is used to quantify the
robot performance in crawling circular trajectories as
ηturn = |r f it − rre f | · 100 [%].
        </p>
        <p>rre f
(26)
0.01cm
20cm
40cm
60cm
80cm
100cm
0.01cm
20cm
40cm
60cm
80cm
100cm</p>
        <p>Particular trajectories for each gait type are depicted in
Figure 8, where the detected hexapod positions are marked
with crosses and reference orbits are drawn with the solid
line. The resulting trajectories are collocated to share the
same orbit point. The established ηturn are listed in Table 4
for rre f ≥ 20 cm, since for rotating on the spot ηturn would
give too large number without carrying any information
because of the division with small rre f .
The presented results indicate that the circular locomotion
can be controlled with the proposed method, i.e., the robot
is able to follow the orbit defined by the turn parameter
with the error not exceeding more than 2.5 % for the
majority of combinations of gait types and turn ratios. The
outliers, e.g., for p = 6 and turn = 20 cm, are caused by a
leg slippage on the floor and other factors like the
experiment imperfections. The results obtained for wave gait
tend to have greater relative errors which can indicate that
the “period stabilization” might have spoiled the
resulting trajectory. The stabilization is a process in which the
robot does not exactly have to be walking as desired and
its legs move in a way not resulting in locomotion
specified by the control parameters. It even may turn during
forward locomotion as it can drag wrong legs while they
should be swinging. The uncertain or even wrong foot
coordination during the stabilization is caused by the time
it takes the chaotic oscillator producing the patterned
outputs to achieve oscillations with the specified period. This
phenomenon is hardly noticeable for gaits other than wave
as it takes less than a second, but in the case of the wave
gait, it takes up to 4 seconds to achieve the desired motion,
which is caused by the period stabilization.
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>In this paper, we have proposed a locomotion controller for
a hexapod walking robot based on combination of the
biologically inspired approach with a trajectory generator and
inverse kinematics. The proposed controller is capable of
controlling the hexapod locomotion by tuning only two
parameters: the period p which modulates the chaotic CPG
in order to stabilize different periodic orbits, hence
different motion gaits, and the turning radius turn which allows
the robot to perform different movements from turning on
the spot to straight-forward walking. The designed control
method has been evaluated using the real hexapod walking
robot. The presented results of the experimental evaluation
show that the proposed controller is plausible and can be
used for walking on flat surfaces. The key concept in
development has been to keep the controller modular to be
easily usable with additional sensors. Therefore, our
future work is to consider sensor feedback in the trajectory
generator to allow the robot to negotiate rough terrains and
autonomously set-up the control parameters. Also, chaotic
state of the oscillator could be exploited for leg untrapping.</p>
      <p>Acknowledgments – This work was supported by the
Czech Science Foundation (GACˇ R) under research project
No. 15-09600Y. The support of the Grant Agency of the
CTU in Prague under grant No. SGS16/235/OHK3/3T/13
to Petr Cˇížek is also gratefully acknowledged.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>A. J.</given-names>
            <surname>Ijspeert</surname>
          </string-name>
          , “
          <article-title>Central pattern generators for locomotion control in animals and robots: a review,” Neural Networks</article-title>
          , vol.
          <volume>21</volume>
          , no.
          <issue>4</issue>
          , pp.
          <fpage>642</fpage>
          -
          <lpage>653</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>T. G</surname>
          </string-name>
          . Brown, “
          <article-title>On the nature of the fundamental activity of the nervous centres; together with an analysis of the conditioning of rhythmic activity in progression, and a theory of the evolution of function in the nervous system,”</article-title>
          <source>The Journal of Physiology</source>
          , vol.
          <volume>48</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>18</fpage>
          -
          <lpage>46</lpage>
          ,
          <year>1914</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>D. M.</given-names>
            <surname>Wilson</surname>
          </string-name>
          , “
          <article-title>The central nervous control of flight in a locust,”</article-title>
          <source>J. exp. Biol</source>
          , vol.
          <volume>38</volume>
          , no.
          <issue>47</issue>
          , pp.
          <fpage>l</fpage>
          -
          <lpage>490</lpage>
          ,
          <year>1961</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>M. H.</given-names>
            <surname>Dickinson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. T.</given-names>
            <surname>Farley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. J.</given-names>
            <surname>Full</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Koehl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Kram</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Lehman</surname>
          </string-name>
          , “
          <article-title>How animals move: an integrative view</article-title>
          ,” Science, vol.
          <volume>288</volume>
          , no.
          <issue>5463</issue>
          , pp.
          <fpage>100</fpage>
          -
          <lpage>106</lpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>J.</given-names>
            <surname>Proctor</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Holmes</surname>
          </string-name>
          , “
          <article-title>Reflexes and preflexes: on the role of sensory feedback on rhythmic patterns in insect locomotion,” Biological cybernetics</article-title>
          , vol.
          <volume>102</volume>
          , no.
          <issue>6</issue>
          , pp.
          <fpage>513</fpage>
          -
          <lpage>531</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>E.</given-names>
            <surname>Marder</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Bucher</surname>
          </string-name>
          , “
          <article-title>Central pattern generators and the control of rhythmic movements,” Current biology</article-title>
          , vol.
          <volume>11</volume>
          , no.
          <issue>23</issue>
          , pp.
          <fpage>R986</fpage>
          -
          <lpage>R996</lpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>D. M.</given-names>
            <surname>Wilson</surname>
          </string-name>
          , “Insect walking,”
          <article-title>Annual review of entomology</article-title>
          , vol.
          <volume>11</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>103</fpage>
          -
          <lpage>122</lpage>
          ,
          <year>1966</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>N.</given-names>
            <surname>Porcino</surname>
          </string-name>
          , “
          <article-title>Hexapod gait control by a neural network</article-title>
          ,” in
          <source>International Joint Conference on Neural Networks (IJCNN)</source>
          . IEEE,
          <year>1990</year>
          , pp.
          <fpage>189</fpage>
          -
          <lpage>194</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>S.</given-names>
            <surname>Steingrube</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Timme</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Wörgötter</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Manoonpong</surname>
          </string-name>
          , “
          <article-title>Self-organized adaptation of a simple neural circuit enables complex robot behaviour,” Nature physics</article-title>
          , vol.
          <volume>6</volume>
          , no.
          <issue>3</issue>
          , pp.
          <fpage>224</fpage>
          -
          <lpage>230</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>J.</given-names>
            <surname>Yu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Tan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Chen</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Zhang</surname>
          </string-name>
          , “
          <article-title>A survey on cpginspired control models and system implementation</article-title>
          ,
          <source>” IEEE Transactions on Neural Networks and Learning Systems</source>
          , vol.
          <volume>25</volume>
          , no.
          <issue>3</issue>
          , pp.
          <fpage>441</fpage>
          -
          <lpage>456</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>R.</given-names>
            <surname>Haschke</surname>
          </string-name>
          , “
          <article-title>Bifurcations in discrete-time neural networks: controlling complex network behaviour with inputs</article-title>
          ,
          <source>” Ph.D. dissertation</source>
          , Bielefield University,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>F.</given-names>
            <surname>Pasemann</surname>
          </string-name>
          , “
          <article-title>Complex dynamics and the structure of small neural networks,” Network: Computation in neural systems</article-title>
          , vol.
          <volume>13</volume>
          , no.
          <issue>2</issue>
          , pp.
          <fpage>195</fpage>
          -
          <lpage>216</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>K.</given-names>
            <surname>Matsuoka</surname>
          </string-name>
          , “
          <article-title>Sustained oscillations generated by mutually inhibiting neurons with adaptation,” Biological cybernetics</article-title>
          , vol.
          <volume>52</volume>
          , no.
          <issue>6</issue>
          , pp.
          <fpage>367</fpage>
          -
          <lpage>376</lpage>
          ,
          <year>1985</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>W.</given-names>
            <surname>Chen</surname>
          </string-name>
          , G. Ren,
          <string-name>
            <given-names>J.</given-names>
            <surname>Wang</surname>
          </string-name>
          , and D. Liu, “
          <article-title>An adaptive locomotion controller for a hexapod robot: CPG, kinematics</article-title>
          and force feedback,”
          <source>Science China Information Sciences</source>
          , vol.
          <volume>57</volume>
          , no.
          <issue>11</issue>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>18</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>L.</given-names>
            <surname>Xu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Wang</surname>
          </string-name>
          , and W. Xu, “
          <article-title>Gait planning method of a hexapod robot based on the central pattern generators: Simulation and experiment</article-title>
          ,” in ROBIO,
          <year>2013</year>
          , pp.
          <fpage>698</fpage>
          -
          <lpage>703</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>G. L.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. K.</given-names>
            <surname>Habib</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Watanabe</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Izumi</surname>
          </string-name>
          , “
          <article-title>Central pattern generators based on matsuoka oscillators for the locomotion of biped robots</article-title>
          ,
          <source>” Artificial Life and Robotics</source>
          , vol.
          <volume>12</volume>
          , no.
          <issue>1-2</issue>
          , pp.
          <fpage>264</fpage>
          -
          <lpage>269</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>M.</given-names>
            <surname>Frasca</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Arena</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L.</given-names>
            <surname>Fortuna</surname>
          </string-name>
          ,
          <article-title>Bio-inspired emergent control of locomotion systems, ser</article-title>
          .
          <source>Nonlinear Science A. World Scientific</source>
          ,
          <year>2004</year>
          , vol.
          <volume>48</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>H.</given-names>
            <surname>Rostro-Gonzalez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Cerna-Garcia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Trejo-Caballero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Garcia-Capulin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ibarra-Manzano</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. AvinaCervantes</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Torres-Huitzil</surname>
          </string-name>
          ,
          <article-title>“A CPG system based on spiking neurons for hexapod robot locomotion</article-title>
          ,
          <source>” Neurocomputing</source>
          , vol.
          <volume>170</volume>
          , pp.
          <fpage>47</fpage>
          -
          <lpage>54</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>T.</given-names>
            <surname>Krajník</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Nitsche</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Faigl</surname>
          </string-name>
          , P. Vaneˇk,
          <string-name>
            <given-names>M.</given-names>
            <surname>Saska</surname>
          </string-name>
          , L. Prˇeucˇil, T. Duckett, and
          <string-name>
            <given-names>M.</given-names>
            <surname>Mejail</surname>
          </string-name>
          , “
          <article-title>A practical multirobot localization system</article-title>
          ,
          <source>” Journal of Intelligent &amp; Robotic Systems</source>
          , vol.
          <volume>76</volume>
          , no.
          <issue>3-4</issue>
          , pp.
          <fpage>539</fpage>
          -
          <lpage>562</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>V.</given-names>
            <surname>Pratt</surname>
          </string-name>
          , “
          <article-title>Direct least-squares fitting of algebraic surfaces,” ACM SIGGRAPH computer graphics</article-title>
          , vol.
          <volume>21</volume>
          , no.
          <issue>4</issue>
          , pp.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>