You are on page 1of 9

International Journal of Control, Automation and Systems 14(5) (2016) 1-9 ISSN:1598-6446 eISSN:2005-4092

http://dx.doi.org/10.1007/s12555-015-0128-6 http://www.springer.com/12555

Three-dimensional Locomotion Control of Single-legged Robot: Reso-


nance Hopping and Running Direction
Tae Hun Kang and Jeon Il Moon*

Abstract: This study proposes a locomotion controller for a single-legged robot. The locomotion controller com-
prises five parts: virtual spring, height control, forward velocity control, body attitude control, and angular momen-
tum control. First, we propose an effective method called a virtual spring to generate a springy force using a linear
actuator. Two virtual springs are adopted to compute the energy exchange and to compensate the energy loss during
hopping. A simple and intuitive method is proposed to implement resonance oscillation in terms of energy loss. A
height controller is proposed based on the resonance oscillation using a virtual spring. In addition, a running direc-
tion controller, which has never been resolved in previous studies, is proposed. This novel controller can remove
the unexpected angular momentum about the yaw direction during running. All of the proposed algorithms and
methods are validated through dynamic simulations.

Keywords: Locomotion control, resonance oscillation hopping, running direction, single-legged robot.

1. INTRODUCTION specific magnitude and natural frequency. In other words,


a single-legged robot repeatedly reaches a desired height
Legged systems show obvious advantages over other at which the energy injected during the stance equals the
forms of terrestrial locomotion. For example, they can be energy loss due to friction, air resistance, and unknown
adapted to unstructured surfaces, and they can overcome factors. In addition, researchers should consider the ki-
obstacles that wheeled systems cannot. In light of their netic energy and the potential energy to compute the en-
excellent mobility and ability to adapt to various environ- ergy loss during hopping. Although the proposed algo-
mental conditions, legged systems have found wide rang- rithm is very intuitive and effective for height control to
ing applications. In particular, dynamically stable legged generate resonance oscillation, it is very difficult to ensure
systems have been shown to be superior to statically sta- the generality of the resonance oscillation because precise
ble legged systems. Several researchers have addressed physical information about the robot system and environ-
control algorithms in relation to the running motion of ment is required. Another difficulty with single-legged
animals, which is dynamically stable. This running mo- robot is occurred by unexpected rotation motion about the
tion resembles the bouncing of a ball in that it comprises yaw axis (facing direction). The orientation about the yaw
two phases: ballistic height and elastic collision [1, 2]. To axis during running is the third degree of freedom (DOF)
understand running of legged systems, many researchers in the body’s attitude. Although the pitch and roll are rel-
have focused upon single-legged robots, which are often atively easy to control, the yaw is more difficult to con-
used to explore the basic principles of legged locomotion, trol because a single-legged robot does not have enough
in order to understand running in legged systems [3–8]. In DOFs for yaw motion. As a result, no studies have fo-
particular, Raibert et al. built and studied hopping robots cused on controlling the yaw motion. Even Raibert et al.
to understand dynamic legged locomotion. They intro- mentioned, but ignored, this problem, and they permitted
duced simple control laws that successfully regulated the the robot to rotate freely about its yaw axis [3].
vertical hopping height, forward velocity, and body atti- In this study, several algorithms are introduced to de-
tude [3,4]. Among the three controllers they proposed, the velop the locomotion controller. First, a height controller
height controller is most important for achieving dynam- is proposed to adjust the body height to the desired hop-
ically stable running. The key idea of height controller is ping height. This controller comprises two parts: virtual
based on the concept of resonance oscillation, which has a spring and resonance oscillation. The virtual spring con-

Manuscript received March 23, 2015; revised August 24, 2015; accepted October 5, 2015. Recommended by Associate Editor Sooyeong Yi
under the direction of Editor Hyouk Ryeol Choi. This work was supported by the DGIST R&D Program of the Ministry of Science, ICT and
Future Planning of Korea (14-RS-02).

Tae Hun Kang and Jeon Il Moon are with Robotics Research Division, Daegu Gyeonbuk Institute of Science & Technology, 333, Techno
Jungang Daero, Hyeonpung-Myeon, Dalseong-Gun, Daegu 711-873, Korea (e-mails: {bigxinh, jimoon}@dgist.ac.kr).
* Corresponding author.

⃝ICROS,
c KIEE and Springer 2016
2 Tae Hun Kang and Jeon Il Moon

cept is simple and intuitive, and it can be used to easily and


accurately measure the energy exchange in terms of a few z 0
B O D Y ( m 1)
y A R S s e n s o r
physical parameters during hopping. Its computational 0

complexity is lower than that of previously proposed algo- x 0


H IP ( m 2 )
R o ta ry A c tu a to r
rithms [3–8]. We calculate spring constants for two virtual z 2 a 0

z
springs. The virtual springs are applied to the resonance 1

L in e a r A c tu a to r ( m )
z 3 3

oscillation algorithm, and they are also used to compen- a 2

sate the energy loss. And, we propose a novel algorithm L E G

to control the yaw motion during running. The angular k V 1 k V 2

momentum controller is used to remove unexpected angu- z


a 3
T O E ( m 4 )
z T o u c h s e n s o r
lar motions caused by the ground reaction force (GRF). It y E

x
is also used to control the running direction. { w o r ld }

The remainder of this paper is organized as follows.


Section 2 presents a brief summary of the dynamic simu- Fig. 1. Three-dimensional single-legged robot.
lation environment. In Section 3, a virtual spring concept
and a hopping height controller are proposed to generate a F L IG H T P H A S E S T A N C E P H A S E F L IG H T P H A S E
resonance oscillation hopping using the linear actuator in T O P P O S IT IO N
the robot’s leg. And, a forward velocity controller is re-
viewed briefly. Furthermore, a novel angular momentum T O U C H D O W N B O T T O M P O S IT IO N T A K E O F F

control algorithm, which is used to control the directional


change during a running turn, is also described in Section
4. In addition, several examples are presented to validate
the proposed algorithms. Finally, Section 5 summarizes
the proposed algorithms and results.
S T A T E -A S T A T E -B S T A T E -C S T A T E -D S T A T E -E

2. DYNAMIC SIMULATION ENVIRONMENT Fig. 2. Locomotion states during one cycle.


To simulate the dynamics of a single-legged robot, we
employed a simulation library called Open Dynamics En- actuator generates a thrust force to push the body from the
gine (ODE) [9]. In recent researches, this environment ground. This actuator has a stroke of 0.2 m. The robot
has been successfully used to design and control sev- is equipped with three different sensors to implement the
eral robots [10–12]. It provides accurate approximations proposed algorithms. A touch sensor is mounted on the
of three-dimensional (3D) rigid body motion, collision toe to check the state of contact between the toe and the
detection, and motorized joints. ODE allows for only ground. An Attitude Reference System (ARS) provides
slightly different algorithms to be used to control both the angular position of the body with respect to the robot
simulated robots and their real versions, thus enabling body frame {0} (where {•} means the coordinate frame).
quite realistic simulations. Normally, we adopt 1 ms time An encoder (rotary and linear) is mounted on each actua-
step for dynamic simulation. In addition, we developed tor to measure the displacement of the actuator.
specific toolboxes (sensor tool, actuator tool, mathematics
tool, robotics tool) for a legged robot to implement various 3. RESONANCE OSCILLATION CONTROL
control algorithms. Fig. 1 shows a model of the single-
legged robot. The mechanical model of the single-legged As shown in Fig. 2, the locomotion of a single-legged
robot used in the simulator consists of four rigid bodies robot comprises five steps depending on the toe-ground
coupled by four joints (two rotational joints, one prismatic contact. STATE-A and STATE-E represent the highest po-
joint, and one fixed joint). The robot has a total mass of 14 sition during one hopping cycle. STATE-A is the moment
kg, total height of 1.275 m, and leg length l = a2 + a3 . The at which the vertical velocity of a robot changes from pos-
four rigid bodies have masses denoted by m1 , m2 , m3 , and itive to negative, whereas STATE-E is the opposite case.
m4 , respectively (where, a0 = a2 = 0.28m, a1 = 0.0m, a3 = STATE-B is the moment at which the robot’s toe touches
0.5m, m1 = 10kg, m2 = 2kg, m3 = m4 = 1kg). Their coordi- down on the ground for the first time, whereas STATE-D is
nate frames are attached to their respective centers of mass the moment at which the robot takes off from the ground.
(COMs). The body and leg are connected by a 2 DOF uni- STATE-C is the moment at which the compression length
versal joint actuated by two rotary actuators. Each rotary of the linear actuator is the shortest. These five steps are
actuator has a joint range of ±90◦ , and they are denoted also classified into the FLIGHT PHASE and the STANCE
by q1 and q2 , respectively. The leg consists of a linear ac- PHASE. In this section, we suggest a novel control algo-
tuator and toe connected by a massless link. The linear rithm for hopping height. First, the virtual spring concept
Three-dimensional Locomotion Control of Single-legged Robot: Resonance Hopping and Running Direction 3

is introduced to generate a propulsive force using the lin- E A 1


.
z = 0
ear actuator in the robot’s leg. Second, a method to com-
pute the energy loss during hopping is introduced. Pre- k
h d
v 1 c 1
vious researches, considered the total energy of a system,
i.e., kinetic energy and potential energy, to measure the h 0 . E C 1
z = 0
energy loss [3–5]. However, doing so is very complex
and difficult because all the physical parameters need to
S T A T E -A S T A T E -B S T A T E -C S T A T E -D S T A T E -E
be considered. We focus on the potential energy in the
vertical direction as the total energy of the system dur- Fig. 3. Hopping under ideal condition.
ing the hopping cycle. The total energies in STATE-A and
STATE-C under ideal conditions are compared with those
STATE-A and STATE-C have only potential energy without
under nonideal conditions, respectively.
kinetic energy. Thus, the maximum potential energies in
3.1. Virtual spring constant STATE-A and State-C can be regarded as the total energy
of the robot system, respectively. In STATE-A, in which
If we assume that no external forces, including gravity,
the robot reaches the highest position, the maximum grav-
are acting on a spring, we can consider a spring with one
itational potential energy is stored by m1 , m2 , m3 , and m4 .
end fixed on the ground (or fixed body). Basically, when
Furthermore, in STATE-C, the maximum potential energy,
the spring constant and compressed length are given, the
including gravitational potential energy and elastic poten-
force exerted on the spring is proportional to the change
tial energy, is stored by m1 , m2 , m3 , and kv1 .
in its length. In other words, the force is equal to the
work done to compress the spring, which depends upon EA1 = m1 ghd + m2 g(hd − a0 ) + m3 g(hd − a0 − a2 )
the spring constant as well as the compression length. This
+ m4 g(hd − a0 − a2 − a3 ), (2)
is called as Hook’s Law, as shown in (1). In other words, if
the compressed length and force are given, we can easily EC1 = m1 g(h0 − c1 ) + m2 g(h0 − c1 − a0 )
determine the spring constant required to maintain force 1
+ m3 g(h0 − a0 − a2 ) + kv1 c21 , (3)
equilibrium. 2
F where g is acceleration due to gravity, EA1 and EC1 are
kv = . (1) maximum potential energies at STATE-A and STATE-C
c
under ideal condition, respectively, hd is desired hopping
Accordingly, we suggest the virtual spring concept to
height, h0 is a neutral position along z-direction (no spring
generate a propulsive force by using a linear actuator like a
compression), ż is linear velocity along z-direction, and c1
spring. First, we choose the expected compression length
is expected maximum compression length of spring under
of the linear actuator, c. Then, a desired thrust force, F, is
ideal condition.
computed using the energy loss obtained from a compar-
According to the law of conservation of energy, we can
ison of potential energies under ideal and nonideal condi-
express the energy exchange as follows:
tions, respectively. Then, we can obtain a spring constant,
kv , to adopt the desired propulsive force in order to com- EA1 = EC1 . (4)
pensate the energy loss during hopping. If the robot is re-
leased at the initial position, it will bounce and lose energy If an expected compression length c1 is given, then the
at each step. To maintain hopping, called as resonance os- spring constant kv1 of the virtual spring can be easily com-
cillation, the linear actuator in the robot’s leg needs to sup- puted using (4)
ply energy to the system. In this study, two virtual springs
having spring constants kv1 and kv2 are used to regulate the 2g
kv1 = {(m1 + m2 )(hd − h0 + c1 ) + (m3 + m4 )(hd − h0 )} .
resonance oscillation. The first virtual spring is introduced c21
to regulate the resonance oscillation under ideal condition. (5)
The second virtual spring is selected to compensate the en-
ergy loss under nonideal condition. Under nonideal condition, as shown in Fig. 4, the to-
To understand ideal hopping, the robot body is con- tal energies of STATE-A and STATE-C, respectively, are
strained in the one-dimensional vertical direction. The computed by the same strategy as that described in ideal
universal joint on the hip is also constrained with q1 = condition.
q2 = 0, but the linear actuator in the robot’s leg is not con- The maximum potential energies in STATE-A and
strained. In addition, no energy loss occurs during toe- STATE-C are expressed as follows:
ground contact, and no external forces other than gravity
act on the system. Fig. 3 shows a sequence of the hopping EA2 = m1 gha + m2 g(ha − a0 ) + m3 g(ha − a0 − a2 )
cycle under ideal condition. We can easily understand that + m4 g(ha − a0 − a2 − a3 ), (6)
4 Tae Hun Kang and Jeon Il Moon

k v 1
h d Id e a l C o n d itio n P r o p u ls iv e F R o b o t
E A 2 c 1 H o p p in g M o d e l E A 1 E C 1 F o rc e
c 2 E n e rg y L o s s
E C 2 E A 2 E C 2 k v 2

h d h a c
k v 1
N o n id e a l c 2
h 0 C o n d itio n
H o p p in g M o d e l
h a

Fig. 5. Block diagram of proposed height controller.


S ta te -A S ta te -C

Fig. 4. Hopping under nonideal condition.

EC2 = m1 g(h0 − c2 ) + m2 g(h0 − c2 − a0 )


1
+ m3 g(h0 − a0 − a2 ) + kv1 c22 , (7)
2
where EA2 and EC2 are maximum potential energies at Fig. 6. Snapshots of simulated single-legged robot.
STATE-A and STATE-C under nonideal condition, respec-
tively, c2 is expected maximum compression length of where c is measured compression length of linear actuator.
spring under nonideal condition, ha is actual maximum [!t]
height computed using equation for a falling body (ha =
To validate the height control, a dynamic simulation
gt 2f /8), and t f is duration of flight phase calculated from
is conducted as shown in Fig. 6. As mentioned in this
state of touch sensor mounted on toe.
section, we constrain the universal joint on the hip with
By a comparison of the total energies for each state, the
q1 = q2 = 0 and constrain the body in the vertical direc-
energy loss during hopping is computed using (2), (3), (6),
tion. However, these constraints are removed for other
and (7).
cases such as 3D locomotion in the next section. For
Eloss =(EA1 − EA2 ) + (EC1 − EC2 ) example, we decide the release position of the robot as
(8) z = 1.5 m. Note that the robot will be released like a free-
+ g(m3 + m4 )(ha − h0 ).
falling object, and the expected compression length is de-
Based on the virtual spring concept described in the pre- noted by c1 = 0.15 m. The desired hopping height is de-
vious subsection, the energy loss given by (8) can be ex- noted by hd = 1.2 m. From (5), the virtual spring constant
pressed in terms of an equilibrium potential energy as under ideal condition is calculated as kv1 = 3, 278kg f /m.
Fig. 7 shows the response of the actual trace to the de-
1 sired height. Over a large range of experiments, the robot
Eloss = kv2 c22 . (9)
2 stabilized to the desired hopping heights within the first
Finally, the virtual spring kv2 to compensate the energy few hops. Fig. 7 also shows the energy loss during every
loss can be easily represented as follows: hop. While the sign of the energy loss is positive from sec-
ond (or third) hop, that at the first hop is obviously nega-
2Eloss tive. This means that robot has more than enough gravita-
kv2 = . (10)
c22 tional potential energy to compensate its motion, because
the release position is higher than the desired height. As
3.2. Height Control Fig. 7 indicates, an average energy loss is about 5 J which
Fig. 5 shows the block diagram of the height controller. occurs owing to toe-ground contact and unknown physi-
To regulate the resonance oscillation, the linear actuator cal factors. As shown in Fig. 8, the energy loss is com-
in the robot’s leg exerts a thrust force as a springy mech- puted during the FLIGHT PHASE, and then, energy com-
anism. The inputs as desired values are the desired height pensation is performed from the BOTTOM POSITION to
and expected compression length of the virtual spring. TAKEOFF. In addition, we easily understand that a sudden
First, we compute the maximum potential energy as the energy loss occurs at TOUCHDOWN because the friction and
total energy of the robot system under ideal conditions. damping factors between the toe and the ground are larger
Then, the energy loss during hopping is computed by a than those in the air. Furthermore, even though the virtual
comparison with the total energy under nonideal condi- spring constant kv2 for the compensation of energy loss has
tion. Finally, the propulsive force can be easily obtained various values, as shown in Fig. 9, it is about 500 kgf/m
using (1), (5), and (10) as follows: after stabilizing to the desired height. Based on (11), a
propulsive force is generated, as shown in Fig. 9, by the
F = (kv1 + kv2 )c (11) linear actuator. In the second example, shown in Fig. 10,
Three-dimensional Locomotion Control of Single-legged Robot: Resonance Hopping and Running Direction 5

1000
1.4 Released position
Desired height
500

kv2 (kgf/m)
Height (m)

1.2
0

1.0 -500

-1000
0.8 Actual trace

Propulsive force (kgf) Compression length (m)


0.25
10
0.20 c2 c1
Energy loss (J)

0 0.15

0.10
-10

0.05
-20
0.00

0 1 2 3 4 5 6 7 8
Time (s) 700
600
Fig. 7. Hopping height and energy loss during hopping. 500
400
300
FLIGHT STANCE
1.4 200
TOP POSITION
100
Height (m)

1.2 0
0 1 2 3 4 5 6 7
Time (s)
1.0
TAKEOFF
TOUCHDOWN
Fig. 9. Virtual spring kv2 and propulsive force.
0.8 BOTTOM POSITION
Energy loss (J)

10
Desired height
2.0
0
Actual trace
1.8
-10
Height (m)

6.0 6.5 7.0 7.5


1.6
Time (s)

Fig. 8. Energy is compensated in STANCE PHASE. 1.4

1.2
we increase the desired hopping height from 1.2 to 2.0 m
in steps of 0.2 m. In the first few hops, the response to the 1.0
desired height has an overshoot because the desired height
is given as a step input. However, as the robot hops repeat- 0.8
0 10 20 30 40 50
edly, the height error rapidly decreases. This result indi- Time (s)
cates that the proposed height controller can be adopted to
control any desired height without any modification of the Fig. 10. Height tracking of single-legged robot.
physical parameters.
where x f and y f are desired foot placements with respect
4. RUNNING DIRECTION CONTROL to {0}, ts is duration of stance phase, ẋ0 and ẏ0 are hor-
izontal linear velocities of body in x0 - and y0 -directions,
4.1. Forward velocity and body attitude control respectively, ẋd and ẏd are desired linear velocities of body
In this study, Raibert’s foot placement algorithm [3, 4] in x0 - and y0 -directions, respectively, ϕ and θ are roll and
is adopted to decide the forward velocity as: pitch angles of body pose with respect to {world}, qid is
the ith desired joint angle of the hip joint, and kẋ and kẏ are
ẋ0ts cos θ
xf = − kẋ (ẋd − ẋ0 cos θ ), (12a) feedback gains for each joint.
2 To generate a motor torque command, a simple PD con-
ẏ0ts cos ϕ
yf = − kẏ (ẏd − ẏ0 cos ϕ ), (12b) troller is adopted to servo the hip joint to a desired angle
2 based on the following control law:
{
q1d = θ + sin−1 (x f /l) (13a) k p_ f oot (q1d − q1 ) − kv_ f oot (q˙1 ) FLIGHT PHASE
−1 τ1 =
q2d = ϕ + sin (y f /l) (13b) k p_body (θd − θ ) − kv_body (θ̇ ) STANCE PHASE
6 Tae Hun Kang and Jeon Il Moon
Forward Velocity (m/s)

Desired velocity STANCE-PHASE.


0.1

4.2. Running direction control


Actual velocity The orientation about the yaw axis during running is
the third DOF in the body’s attitude. Although the pitch
and roll are relatively easy to control, it is more difficult to
0.0
control the yaw motion because a single-legged robot does
40 not have enough DOFs to control all orientations. Further-
Actual pitch angle more, control of the yaw motion has not been performed
Pitch angle (deg)

thus far. Even Raibert mentioned, but ignored, the prob-


20
lem of yaw motion, and he permitted the robot to rotate
Desired pitch angle
freely about its yaw axis [3]. In particular, the yaw motion
is caused by unexpected angular momentum caused by the
0
GRF during toe-ground contact. Previous researches, as-
-10
0 5 10 15
sume the COM at the same position as the hip joint to
Time (s) remove unexpected angular momentum. If the position of
(a) the hip joint differs from that of the COM, the robot is con-
strained by two-dimensional hopping [4–8]. As shown in
Forward Velocity (m/s)

0.2 Fig. 13 (a), if the contact point between the ground and the
toe is exactly on the axis (x- or y-axes) that is a projection
0.1
of the body frame onto {world}, no angular momentum is
0.0 produced about the z-direction. In other words, the entire
-0.1
propulsive force is used to generate resonance oscillation
as well as forward velocity. However, if the contact does
-0.2
not occur on the axis, as shown in Fig. 13 (b), yaw motion
40 occurs owing to unexpected angular momentum.
Let us define x0 as the forward direction in {0} and the
Pitch angle (deg)

20
desired running angle in terms of the yaw angle ψd . Based
0 on these definitions, we can represent the yaw motion dur-
ing hopping as a function of ẏd . If no force is exerted on
-20
the robot system during the FLIGHT PHASE, the angular
-40
momentum of the toe with respect to the body frame {0}
0 10 20 30 40 50 60 70 80 is given by
Time (s)
(b) La = I ψ̇ , (14)

where ψ and ψ̇ are yaw angle and rate of yaw angle of


Fig. 11. Desired linear velocity and pitch angle. body with respect to {world}, respectively.
{ Furthermore, the linear momentum of the toe due to the
k p_ f oot (q2d − q2 ) − kv_ f oot (q˙2 ) FLIGHT PHASE GRF during the SUPPORT PHASE is expressed as
τ2 =
k p_body (ϕd − ϕ ) − kv_body (ϕ̇ ) STANCE PHASE Ll = m4 ẏd . (15)
where τ1 and τ2 are desired joint torques at hip joint (uni-
In terms of momentum conservation, we have
versal joint), k p_ f oot and kv_ f oot are position and velocity
feedback gains for foot placement control, respectively, La = Ll . (16)
k p_body and kv_body are position and velocity feedback gains
for body attitude control, respectively. Suppose that the toe has point mass. We can rewrite
A dynamic simulation of the response of the running (16) together with (14) and (15) as follows:
velocity to a given velocity is conducted, as shown in ψ
Fig. 12. The robot is constrained on the xz plane with m4 (x2f + y2f ) = m4 ẏd ,
tf
respect to {world}. The universal joint on the hip is con-
strained by q1 = 0 and q2 ̸= 0. As shown in Fig. 11 (a), the where the mean angular velocity can be described as ψ̇ =
desired forward velocity ẋd is suddenly changed from 0 to ψ /t f .
0.1 m/s. We can determine that the actual forward velocity Then, we can obtain the desired velocity ẏd as follows:
is stabilized in 2 or 3 hops. Furthermore, the pitch angle ψ
of the body exactly follows the desired pitch angle in the ẏd = (x2f + y2f ) . (17)
tf
Three-dimensional Locomotion Control of Single-legged Robot: Resonance Hopping and Running Direction 7

Fig. 12. Snapshots of simulated single-legged robot at forward velocity of ẋd = 0.2 m/s.

For a control system, we use a linear function of the y 0 y 0


x 0

error in the yaw angle. x


x 0 y 0
0

∆ψ = k p_dir (ψd − ψ ) − kv_dir ψ̇ (18) y


R u n n in g tr a c e

U n e x p e c te d y a w m o tio n
where k p_dir and kv_dir are position and velocity feedback { w o r ld }
x

gains, respectively. (a)


Combining equations (17) and (18) yields the following
equation for the desired velocity: x 0
x
y 0

x2f + y2f z 0
y 0
y
{ψ + k pdir (ψd − ψ ) − kvdir ψ̇ } .
0

ẏd = (19) x 0
x
z 0

tf y 0 { 0 }
x f
0
x f
y 0 { 0 }

In the block diagram shown in Fig. 14, the inputs as T o p V ie w


y f
T o p V ie w
desired values are the forward velocity and body attitude.
The roll and pitch angles are applied for body balance to
control the hopping height and forward velocity. In partic-
ular, the yaw angle is regarded as the running direction for R u n n in g
d ir e c tio n
R u n n in g
d ir e c tio n
locomotion. First, we decide the running direction using
the yaw angle. Then, the velocity ẏd is obtained using the x f
x f
y f

angular momentum controller. Finally, the desired joint (b) (c)


angles for the universal joint are computed using the body
attitude and desired forward velocity. A simple PD con-
Fig. 13. Unexpected angular momentum.
troller is applied to servo the hip joint. The thrust force F
is obtained using the height controller, as shown in Fig. 5. F
x
.
d F o o t P la c e m e n t q q R o b o t
f & B o d y A ttitu d e
1 d , 2 d
P D C o n tr o lle r
t 1 ,t 2
A fully 3D dynamic simulation is conducted as shown d ,q d
C o n tr o lle r

in Fig. 15. In this simulation, no joint constraints are ap- y d


A n g u la r
M o m e n tu m y
. . . q 1 , q 2
d x ,y
plied. The desired yaw angle and desired forward velocity C o n tr o lle r
q ,f
are given as ψd = 20◦ and ẋd = 0.2 m/s, respectively. We y
validate the proposed controller for a single-legged robot x f, y f F o rw a rd q 1 , q 2 , c
K in e m a tic s
to change its running direction. First, the robot hops sev-
eral times for 5 s, as shown in Fig. 16. Then, we increase
Fig. 14. Block diagram for running direction control.
the forward velocity to 0.2 m/s. After 15 s, the desired yaw
angle is suddenly changed from 0◦ to 20◦ like a step input.
Consequently, the actual yaw angle follows the desired ve- tional change is smoother with a smaller forward veloc-
locity profile. From this result, we can determine that the ity, because the forward velocity is a function of the foot
proposed controller can easily change the running direc- stride, as given by (12). This can be easily explained
tion without unexpected yaw motion. This means that the by an animals running motion, and it is well known as
single-legged robot, even it has a 3DOF single leg, can a running turn [13]. When performing a running turn with
travel in a 3D environment in a manner similar to a biped high speed, a large foot stride is required to prevent high
or quadruped robot. acceleration or deceleration forces. If the foot stride is
Another simulation is conducted to understand the re- not large during a running turn, the body balance cannot
lation between the forward velocity and the directional be maintained, because the body and leg cannot gener-
change of running. As shown in Fig. 17, the robot can ate enough acceleration or deceleration force in a walking
rapidly change the running direction with a larger for- turn. This result is closely related to an animals maneu-
ward velocity than a smaller one. However, the direc- verability [13].
8 Tae Hun Kang and Jeon Il Moon

(a) ψ = 0◦ (b) ψ = 20◦ (c) ψ = 30◦ (d) ψ = 60◦ (e) ψ = 40◦

(f) ψ = 20◦ (g) ψ = 0◦ (h) ψ = −20◦ (i) ψ = −40◦ (j) ψ = −60◦

Fig. 15. Snapshots of simulated single-legged robot.

1.4
Desired height Actual height 60
Height (m)

1.3
Desired yaw angle
1.2
1.1
40
Actual yaw angle
1.0
Yaw Angle (deg)
0.9
25 20
Angle (deg)

20
15
10 Desired yaw angle Actual yaw angle 0

5
0 -20
0.4
xd
Velocity (m/s)

0.2
-40
0.0

-0.2 yd
-60
-0.4
0 5 10 15 20 25 30 35
Time ( s)
0 20 40 60 80 100
Time (s)
Fig. 16. Step change in desired direction generates a de-
(a) Actual yaw angle to desired yaw angle
sired velocity ẏd to follow the desired yaw angle.

6
25
Actual yaw angle
xd =0.1 m/s -20
4 0
-40
20
20
-60
Yaw Angle (deg )

y (m)

Actual yaw angle 2 40


15
xd =0.2 m/s
Actual trace
60
0
10
40
20 (Desired yaw angle)
-2
5
0 2 4 6 8 10 12 14 16
x (m)
0
0 20 40 60 80 100
(b) Actual trace of robot with respect to {world}.
Time (s)
Fig. 18. Running angle control during running.
Fig. 17. Relation between forward velocity and running
direction.

Next, we let ẋd = 0.2 m/s, θd = 0◦ , and ϕd = 0◦ . The From this simulation, we can determine the single-legged
robot runs with running angle ψd = 0◦ until simulation robots responses to various running angles with the de-
time t=15 s. After 15 s, ψd is increased by 20◦ every 10 s. sired yaw angle, as shown in Fig. 18.
Three-dimensional Locomotion Control of Single-legged Robot: Resonance Hopping and Running Direction 9

5. CONCLUSIONS [7] W. J. Schwind and D. E. Koditschek, “Control of forward


velocity for a simplified planar hopping robot,” IEEE In-
In this study, we introduced several control methods ternational Conference on Robotics and Automation, pp.
for performing stable locomotion. First, we proposed a 691-696, 1995.
virtual spring concept to generate a propulsive force us- [8] N. Cherouvim and E. Papadopoulos, “Control of hopping
ing a linear actuator such as a spring. Second, we pro- speed and height over unknown rough terrain using a single
posed a height control algorithm for reaching a desired actuator,” IEEE International Conference on Robotics and
height in every hopping cycle using a novel resonance os- Automation, pp. 2743-2748, 2009. [click]
cillation. Although previous researchers had considered [9] R. Smith, Open Dynamics Engine (ODE), http://www.ode.
both the kinetic and the potential energy, we only con- org
sidered the maximum potential energy as the total energy [10] Gazebo, Open Source Robotics Foundation, http://
of the system. By comparing the total energies under gazebosim.org
ideal and nonideal conditions, we could compute the en- [11] V-REP, Virtual Robot Experimentation Platform, http://
ergy loss. The proposed method is very simple and in- www.coppeliarobotics.com
tuitive, and it is very effective and powerful for measur-
[12] Webots, Cyberbotics, http://www.cyberbotics.com
ing the energy exchange during hopping. This method
was validated through several examples using dynamic [13] D. L. Jindrich and M. Qia, “Maneuvers during legged loco-
motion,” Chaos: An Interdisciplinary Journal of Nonlinear
simulations. Third, we proposed an angular momentum
Science, 026105-19, 2009
controller to remove unexpected angular motions about
the yaw axis. Several studies have recognized this un- Tae Hun Kang received his B.S., M.S.,
expected motion, but none have suggested a solution to and Ph.D. degrees from the Department
control the yaw motion of the single-legged robot. In this of Mechanical Engineering, Sung Kyun
study, we proposed locomotion control for a single-legged Kwan University, Korea, in 2000, 2002,
robot, and we validated all of the proposed methods and and 2006, respectively. From 2006 to
results through dynamic simulations of a single-legged 2011, he was team leader in PIRO (Po-
robot. Furthermore, we combined all of the introduced hang Institute of Intelligent Robotics), Po-
controllers, such as the height controller, forward speed hang, Korea. He was Adjunct Professor
with Yeung Nam University, Yeung Nam,
controller, body attitude controller, and angular momen-
Korea, from 2010 to 2012. Since 2013, he has been with DGIST
tum controller, to configure the locomotion, and we found (Daegu Gyeongbuk Institute of Science & Technology), Daegu,
that the proposed algorithms could be applied to biped and Korea. He is a Senior Research Scientist in DGIST. His inter-
quadruped robots. est includes Robot Design, Smart Factory, Rehabilitation Robot,
Legged Robot, Field Application of Robot.
REFERENCES
Jeon Il Moon received his B.S. degree
[1] C. T. Farley, J. Glasheen, and T. A. McMahon, “Running in Mechanical Engineering, Seoul Na-
spring: speed and animal size,” The Journal of Experimen- tional University, Korea, in 1984, and re-
tal Biology, vol. 185, pp. 71-86, 1992. ceived the M.S. degree in the major of
Robot Control in Mechanical Engineering,
[2] G. A. Cavagna, N. C. Heglund, and C. R. Taylor, “Mechan-
KAIST(Korea Advanced Institute of Sci-
ical work in terrestrial locomotion: two basic mechanisms
ence and Technology) in 1986, and re-
for minimizing energy expenditure,” American Journal of
ceived the Ph.D. degree in Mechanical
Physiology, vol. 233, pp. 243-261, 1977.
and Aerospace Engineering from Syracuse
[3] M. H. Raibert, Legged Robots That Balance, The MIT University, New York, U.S.A. in 1998. He was a team leader in
Press, 1986. R&D center of LG Industrial Systems from 1986 to 1993, and
[4] M. H. Raibert, “Hopping in legged systems-modeling was the Director of R&D center of LG Industrial Systems until
and simulation for the two-dimensional one-legged case,” 2006. He was an associate professor and the dean of the depart-
IEEE Transactions on Systems, Man, and Cybernetics, vol. ment of Robotics Engineering, Hoseo University from 2007 to
SMC-14, no. 3, pp. 451-461, 1984. 2010. He is currently the Director of DGIST Convergence Re-
search Institute and vice president of Research, DGIST. His cur-
[5] M. Ahmadi and M. Buehler, “Controlled passive dynamic rent research interests include Health & Rehabilitation Robotics,
running experiments with the ARL-monopod II,” IEEE Embedded Control & Intelligence Control, Robot Technology
Transactions on Robotics, vol. 22, no. 5, pp. 974-986, based Smart Factory.
2006. [click]
[6] K. Harbick and G. S. Sukhatme, “Controlling hopping
height of a pneumatic monopod,” IEEE International Con-
ference on Robotics & Automation, pp. 3998-4003, 2002.
[click]

You might also like