Professional Documents
Culture Documents
Kang 2016
Kang 2016
http://dx.doi.org/10.1007/s12555-015-0128-6 http://www.springer.com/12555
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.
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
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
x
is also used to control the running direction. { w o r ld }
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
1000
1.4 Released position
Desired height
500
kv2 (kgf/m)
Height (m)
1.2
0
1.0 -500
-1000
0.8 Actual trace
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)
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)
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)
Fig. 12. Snapshots of simulated single-legged robot at forward velocity of ẋd = 0.2 m/s.
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
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 }
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)
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