A Bionic gait programming algorithm for Hexapod Robot
finalreport
1. Swing Leg Placement Strategies for Robust Running with Body Reorientation
Chengqian(Bruce) Che
Department of Biomedical Engineering, Carnegie Mellon University
cche@andrew.cmu.edu
Abstract
Spring massmodelhasbeenusedto studyrunning models
in a planer version. It can be used to predict human’s
normal behaviors such as standing, walking and running.
It is significant to send the two-dimensional model to a
three-dimensional model to understand how animals or
robots behave eventually achieve a stabilized state in the
world. In this paper, one major problemwill be majorly
discussed: how animals and robots would reorient their
body when making a ridged turning while high-speed
running. As Swing Leg placement strategies which are
mainly trying find different ways of placing legs while
running in order to achieve a robust running state, can be
extended to solve this particular problem. Afterscanning
the model for different combinationsof two angles, angle
of attack α and leg of splay β, four Poincare maps can be
generated to redirect the model and achieve a stabilized
condition.
Introduction
Researcheshave focusedon studying spring mass
model over the past fewdecadesto understand walking or
running models in a two-dimensional plane. Spring mass
model, especially a spring inverted pendulum (SLIP) has
become the most popular model that researchers use to
study animal’s behaviors not only because of its
simplicity but more importantly of its availability of step-
by-step control of the model. However,most studies have
been focused on two-dimensional models which cannot
represent the real world situation. In the real world, it is
significant to understand how animals and robots perform
during walking and running and try to achieve a stabilized
situation in a three dimensional world. For example, when
a football player is trying to escape from a defender, he
needs to quickly change his direction of moving to stay
away from the defender. Then the player needs to reorient
his body to the direction of motion so that he can speed
up and escape from the defender. How does he reorient
his body during the high speed running? What techniques
he usesto keep the balance and speed up at the same time?
There are a lot of related questions that need to be
answered and these answers can help researchers to
understand the stability of a rigid turn for a high-speed
running model in a three-dimensional space and to
redirect robots to any direction while running in a stable
way.
To answer the related questions, researchers have
spent a decent amount of time on building and studying a
three-dimensional running model. Dr. Geyer has studied
3D-SLIP steering and discovered time-based deadbeat
control laws that provide terrain robustness to the
template in 2013[1]. Carver studied a different types of
3D-SLIP steering problems for a single-leg model in his
PhD thesis at Cornell University 2003[2]. However, he
did not focus on trajectories so that the model can be
redirected or retargeted. In 2013, Miura started to look
into dynamic turns for humanoid robots by controlling an
in-space turn wherein the feet slip rotationally with
respect to the ground[3]. The centripetal force is required
for this model to run because it has a non-zero radius.
More recently, Mordatch used online optimization
method generate and study turns for walking model[4].
The goal of this project is to understand how to achieve
stabilization for a running model in three-dimensional
space and especially how to stabilize a model in a way
that reorienting the body to the direction of motion when
it is performing rigid turns while high-speed running. One
method canbe used here which is the swing leg placement
strategy using angle of attack α and leg of splay β.
Model
The approach that is used in this project is Swing
Leg Placement strategy. First of all, a three-dimensional
spring model needs to be created,shown in figure 2.
Figure 2 Spring mass model in 3D
This is a disk-shaped model in the three-
dimensional space and the center of mass is located at the
center of the disk. The model has an initial velocity on x-
axis and an initial height y0. H represents hip joint on the
center of mass with a distance vector hb (assumed to be
[0,1,0]). Since this vector is in body frame, it needs to be
converted to a global frame with the planar rotation matrix
on an angle ψ using equation (1).
2. ℎ = 𝑅( 𝜓) × ℎ𝑏 (1)
With the hip joint vector, the center of mass and
the foot position can be represented in the global frame
with vectors. The model enters in its first flight phase and
touches the ground with an angle of attack α and a leg of
splay β. Two variables are used as inputs in this projects
and will be discussed in the following sections. After the
model touches the ground, it would enter in stance phase.
There will be a force acted on the leg and to simplify the
situation, only the Yaw component of the Leg force will
be considered, which means the model would only rotate
along vertical axis. The total leg force can be obtained by
equation 2.
𝐹𝑙𝑒𝑔 = 𝑘 ∗ (𝑙0 − ∆𝑙) (2)
where k is the spring coefficient, ∆𝑙 is the current
length of leg between hip joint and the foot point and l0 is
the original length of leg. The total force acted on the leg
would be
𝐹𝑡𝑜𝑡𝑎𝑙 = 𝑚𝑔 + 𝐹𝑙𝑒𝑔 (3)
Next the double integrator can be applied to the force in
order to get the center of mass vector “r”. Thus the
position of footpoint ftp can be obtained from equation 4.
𝑓𝑡𝑝 = 𝑟 + ℎ − 𝑙0 ∗ (
cos( 𝛼)sin(𝛽)
− cos( 𝛼) cos(𝛽)
sin(𝛼)
) (4)
After the stance phase, the model would reenter into the
next flight phase with an angle between its original and
new direction of motion ∆θ. The model would stop at the
next apex event when the vertical velocity becomes zero.
A representation of the model is shown in figure 3.
Figure 3 3-D running model(initial height=1.3m, initial velocity =
5m/s, α = 68 degrees, β = -30 degrees)
With an SLIP model, there are a lot of parametersthat can
be analyzed atthe apex to understand the model but in this
project only four outputs are needed to tackle the
reorientation problem: Yaw orientation relative to the
current body direction ∆ψ, the relative body angular
velocity ∆ω, the height differences between apexes ∆z
and as mentioned before the angle between its original
and new direction of motion ∆θ. Two angles will be used
as input variables to find the situation when the four
outputs satisfy specific requirements. In this project, the
goal is to reorient body to the direction of motion in a
stable way when the object is making rigid turns.
Therefore,to achieve this goal, ∆ψ and ∆ωneed to be zero,
∆z needs to be zero as well because no height changes in
center of mass would give the model a more stable
running condition. ∆θ could be any angle that the model
wants to turn or redirect.
To find the best combination of α and β, a large
ranges of angles will be scanned with a fine step
resolution. Four Poincare maps will be generated so that
the model can be easily and clearly analyzed. After the
Poincare maps are generated, a mask will be created to
representthe locations where the map value equals to zero.
If a location represents value zero, it will be assigned
value 1 and other locations will be assigned 0 value. Then
three maps (∆z, ∆ψ and ∆ω) will be added up. Ifa location
has a value of 3, that means this location of combination
with α and β can generate outputs that satisfy the desired
requirements. The results are discussed in the following
section.
Results
As discussed, a large amount of combinations of
angle of attack α and leg of splay β will be used to create
four Poincare maps. I scanned α from 45 degrees to 85
degrees and β from -45 degrees to 45 degrees with a step
resolution of 0.5 degree. The Poincare maps are shown
below and a reference plane is also plotted. The
intersections between the resulting plane and reference
are where the combination of angles output zeros.
3. Figure 4 (a) ∆z vs Angles (b) ∆ψ vs Angles (c) ∆ω vs Angles (d) ∆θ
vs Angles
In figure 4, the x and y axis are α and β and z axis is the
corresponding output values. With four Poincare maps,
the satisfying outputs can be found with desired angles
combination. The combination of angels that can satisfy
that ∆z, ∆ψ and ∆ωequal to zero are the following and the
∆θ means it can redirect the model to these angles with a
stable turning.
α(degrees) β(degrees) ∆θ(degrees)
Combo 1 48 26.5 91.5
Combo 2 58.5 27.5 40.3
Combo 3 59.5 26.5 36.6
Table 1 combination of α and β with redirected angles
As shown, in order to get all three outputs equal to zero,
the satisfying combinations are only three. Surprisingly,
if output ∆z requirement is given up, satisfying
combination angles do not increases and stay the same.
Discussion
According to the results, the combinations of α
and β that satisfy all three outputs equal to zero can be
found but not as much. This is based on an assumption of
when finding where the outputs are zero, if it is off by +/-
0.4, they are still considered as zero. To improve the
results, the system needs to have larger range of angles
and finer stepping resolutions so that they system can find
the combinations that give exactly zero value outputs.
Moreover, the stable re-directional angles are 91.5, 40.3
and 36.6 degrees. There are not a lot of angles found but
it does show that this method can redirect a model stably
up to 91.5 with body reorientation during high-speed
running. Compared to Carver’s work[2] in 2003, this
model can be used to redirect a robot for stable running.
Compared to Mordatch’s work[4], this model can handle
a high-speed running and steering instead of walking
models. Thus, this model successfully reorient the model
to the direction of motion in a stable way when making a
rigid turn while high speed running. Based on the results,
researchers understand and redirect the 3-D running
models.
In the future, the plan is to first find more and
more accurate angles that satisfy the requirements and see
if the model can handle more rigid turns. Secondly, it is
planned to use this model to use the initial velocity as an
input and find out how fastthis model canrun and making
rigid turns. The current running speed in this report is
5m/s. Finally, the goal is to achieve the stabilization in a
way of reorient body when making rigid turns while high-
speed running on a uncertain terrain,
Reference
[1] A. Wu and H. Geyer, “The 3-D spring–mass model reveals a time-
based deadbeat control for highly robust running and steering in
uncertain environments,” IEEE Transactions on Robotics, vol. 29, no.
5, pp. 1114–1124, 2013
[2] S. Carver, Control of a Spring Mass Hopper. PhD thesis, Cornell
University, Ithaca, NY, 2003.
[3] K. Miura, F. Kanehiro, K. Kaneko, S. Kajita, and K. Yokoi, “Slip-
turn for biped robots,” IEEE Transactions on Robotics, vol. 29, pp.
875– 887, Aug 2013.
[4] I. Mordatch, M. deLasa, and A. Hertzmann, “Robust physics-based
locomotion using low-dimensional planning,” in Proc. of ACM
SIGGRAPH, vol. 29, (New York, NY, USA), pp. 71:1–71:8, July 2010.