design and control of a robot with one articulated leg for locomotion ...
design and control of a robot with one articulated leg for locomotion ...
design and control of a robot with one articulated leg for locomotion ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
DESIGN AND CONTROL OF A ROBOT WITH ONE<br />
ARTICULATED LEG FOR LOCOMOTION ON IRREGULAR<br />
TERRAIN<br />
H. De Man, D. Lefeber & J. Vermeulen<br />
Vrije Universiteit Brussel, Department <strong>of</strong> Mechanical Engineering, Pleinlaan 2, 1050 Brussels, Belgium<br />
Hans De Man: tel: +32-2-629.28.08, fax: +32-2-629.28.65, e-mail: hdman@vub.ac.be<br />
Internet: http://wwwtw.vub.ac.be/ond/werk/multibody.htm<br />
1. Introduction<br />
The <strong>design</strong> <strong>of</strong> an electrically actuated <strong>robot</strong> <strong>with</strong> <strong>one</strong> <strong>articulated</strong> <strong>leg</strong> is presented, as well as simulation<br />
results <strong>of</strong> its <strong>control</strong> algorithm. The algorithm enables the <strong>robot</strong>, whose name is OLIE (One Leg Is<br />
Enough), to <strong>control</strong> simultaneously its <strong>for</strong>ward velocity during flight, its hopping height, the placement<br />
<strong>of</strong> its foot on desired footholds, the orientation <strong>of</strong> its body <strong>and</strong> its angular momentum, making<br />
<strong>locomotion</strong> on irregular terrain possible.<br />
The model <strong>of</strong> the hopping <strong>robot</strong> under study is given in section 2. The <strong>design</strong> <strong>of</strong> the experimental<br />
prototype is presented in section 3, whereas the <strong>control</strong> algorithm is described in section 4.<br />
Simulation results are presented in section 5 <strong>and</strong> conclusions are drawn in section 6.<br />
2. A hopping <strong>robot</strong> <strong>with</strong> <strong>one</strong> <strong>articulated</strong> <strong>leg</strong><br />
The <strong>control</strong> <strong>of</strong> a running machine is more critical than the <strong>control</strong> <strong>of</strong> a walking machine. To be able to<br />
study all the features <strong>of</strong> a running machine, such as its underactuated <strong>and</strong> nonholonomic nature,<br />
<strong>with</strong>out unnecessarily increasing the complexity <strong>of</strong> its <strong>design</strong>, a <strong>robot</strong> having <strong>one</strong> <strong>articulated</strong> <strong>leg</strong> is
considered here. For the same reason its motion is restricted to the sagittal plane, which leads to 5<br />
DOF during flight <strong>and</strong> 3 DOF during stance.<br />
Figure 1 depicts the <strong>robot</strong> at the moment <strong>of</strong> take-<strong>of</strong>f (to), <strong>and</strong> at the moment <strong>of</strong> touch-down (td).<br />
The <strong>robot</strong> consists <strong>of</strong> three segments: a lower <strong>leg</strong>, an upper <strong>leg</strong> <strong>and</strong> a body, connected to each other<br />
by actuated rotational joints. Point F is the foot <strong>of</strong> the <strong>robot</strong>, point K its knee <strong>and</strong> point H its hip. The<br />
center <strong>of</strong> mass <strong>of</strong> the body coincides <strong>with</strong> the hip.<br />
Fig. 1: <strong>robot</strong> at take-<strong>of</strong>f <strong>and</strong> at touch-down<br />
3. Mechanical layout <strong>and</strong> <strong>control</strong> scheme<br />
OLIE (One Leg Is Enough) is the electrically actuated prototype <strong>of</strong> the <strong>robot</strong> described above, its<br />
mechanical layout being given in figure 2a. Of each link the length l, the mass m <strong>and</strong> the moment <strong>of</strong><br />
inertia I com around the center <strong>of</strong> mass are given in table 1:<br />
Table 1: prototype parameters<br />
l (m) m (kg) I com (kgm 2 )<br />
body 0.666 8.507 0.7979<br />
upper <strong>leg</strong> 0.308 1.373 0.0218<br />
lower <strong>leg</strong> 0.342 1.781 0.0138<br />
The <strong>robot</strong>’s motion is restricted to the 2D surface <strong>of</strong> a cylinder by a boom mechanism connected to<br />
the <strong>robot</strong> at its hip, as is shown in figure 2b. The boom is made <strong>of</strong> a lightweight composite tube <strong>and</strong><br />
has a length variable between 2 m <strong>and</strong> 3 m.
Fig. 2a: Mechanical layout<br />
Fig. 2b: OLIE <strong>and</strong> its boom mechanism<br />
The upper <strong>and</strong> lower <strong>leg</strong> <strong>of</strong> the <strong>robot</strong> are built up by aluminium <strong>and</strong> wooden parts in order to get a<br />
lightweight construction. The upper body is an aluminium frame, horizontally placed upon the <strong>leg</strong>. A<br />
rubber cushion located at the bottom <strong>of</strong> the lower <strong>leg</strong> is referred to as the foot.<br />
Two SEM HD55G4-44S AC brushless servomotors actuating hip <strong>and</strong> knee respectively are located<br />
at the ends <strong>of</strong> the upper body, thus assuring a high ratio <strong>of</strong> body inertia to <strong>leg</strong> inertia such that during<br />
flight body pitching is minimised. The motors are steered by IRT BR1306 AC-servo-<strong>control</strong>lers.<br />
To transfer the torques produced by the motors to the corresponding joint, <strong>and</strong> to trans<strong>for</strong>m the high<br />
speed-low torque characteristics <strong>of</strong> the motors to the low speeds <strong>and</strong> high torques necessary to<br />
drive the <strong>robot</strong>, two Synchr<strong>of</strong>lex T5 toothed belt transmission loops were introduced. Each belt loop<br />
is <strong>for</strong>med by two sub-loops resulting in a total gear ratio <strong>of</strong> 1:20 <strong>for</strong> both the hip <strong>and</strong> the knee.<br />
Combined <strong>with</strong> this gear ratio, the actuators generate a peak stall torque <strong>of</strong> 58 Nm at both the hip<br />
<strong>and</strong> the knee. Maximum power supply is approximately 1.2 kW, <strong>one</strong> motor weighing only 1.9 kg.<br />
Two carbon steel torsional springs, <strong>for</strong>ming the passive part <strong>of</strong> the <strong>robot</strong>’s actuation, are placed at<br />
the knee, exerting a torque as a function <strong>of</strong> the relative angle between upper <strong>and</strong> lower <strong>leg</strong>. Each <strong>of</strong><br />
the springs has a spring constant <strong>of</strong> 45 Nm/rad <strong>and</strong> a mass <strong>of</strong> 0.186 kg.<br />
In order to provide measurements <strong>of</strong> the absolute position <strong>of</strong> the <strong>robot</strong>, two sensors are mounted on<br />
the boom pivot. A multi-turn potentiometer is used to determine the horizontal position <strong>of</strong> the <strong>robot</strong>’s<br />
hip, while a single-turn potentiometer measuring the angle between boom <strong>and</strong> pivot, is used to<br />
determine the vertical position <strong>of</strong> the hip. Three more sensors mounted on the <strong>robot</strong> yield the<br />
orientation <strong>of</strong> the different links.
A mechanical switch located at the foot senses contact <strong>with</strong> the ground.<br />
All calculations concerning the <strong>robot</strong>’s <strong>control</strong> are per<strong>for</strong>med in LABVIEW on a Pentium-S PC. The<br />
link between the PC <strong>and</strong> the servo<strong>control</strong>ler on <strong>one</strong> h<strong>and</strong> <strong>and</strong> between the sensors on the <strong>robot</strong> <strong>and</strong><br />
the PC on the other h<strong>and</strong> is <strong>for</strong>med by a National Instruments AT-MIO-16E-10 data acquisition<br />
board.<br />
A schematic representation <strong>of</strong> the <strong>control</strong> system <strong>for</strong> <strong>one</strong> actuator, which is based on the principle <strong>of</strong><br />
cascade <strong>control</strong> [1] , is given in figure 3.<br />
Fig. 3: Cascade <strong>control</strong> structure <strong>of</strong> a joint <strong>of</strong> the <strong>robot</strong><br />
The angle θ R is the actual relative angle in a joint <strong>of</strong> the <strong>robot</strong> measured by a potentiometer <strong>and</strong> S is a<br />
Boolean variable representing the state <strong>of</strong> the contact-switch on the foot. Whenever a transition from<br />
flight to stance phase or vice versa occurs, the value <strong>of</strong> S changes <strong>and</strong> the <strong>control</strong> algorithm<br />
*<br />
described in the next paragraph calculates a nominal trajectory θ . This nominal trajectory has to be<br />
R<br />
tracked during this phase in order to attain the desired values <strong>of</strong> the objective parameters. The BR<br />
1306 servo<strong>control</strong>ler, which expects a DC voltage V between -10V <strong>and</strong> +10V as an input, PI-<br />
A<br />
<strong>control</strong>s the shaft speed<br />
*<br />
n so that only the trajectory <strong>for</strong> the angular velocity θ & <strong>of</strong> the link <strong>of</strong> the<br />
A<br />
<strong>robot</strong> is tracked. An un<strong>control</strong>led error between the desired trajectory <strong>of</strong> the angle<br />
actual trajectory<br />
θ R<br />
θ * <strong>and</strong> the<br />
R<br />
can occur. There<strong>for</strong>e, the <strong>control</strong> system is extended by a position <strong>control</strong> loop<br />
R
*<br />
superimposed on the existing speed loop, being a PI-<strong>control</strong>ler acting on the signals θ R<br />
<strong>and</strong> θ .<br />
R<br />
*<br />
Hence, a correction term ∆ θ & *<br />
R<br />
is added to the trajectory <strong>of</strong> θ & in order to remove deviations from<br />
*<br />
the desired trajectory <strong>of</strong> the angle θ .<br />
R<br />
R<br />
4. The <strong>control</strong> algorithm<br />
To allow the motion <strong>of</strong> a <strong>leg</strong>ged machine to be flexible in terms <strong>of</strong> <strong>locomotion</strong> criteria or goals to be<br />
reached, as opposed to steady-state behaviour, it is necessary to take as <strong>control</strong> variables those<br />
parameters that are linked to the desired behaviour as closely as possible, which leads to the concept<br />
<strong>of</strong> objective <strong>locomotion</strong> parameters [2] . When moving on irregular terrain <strong>for</strong> example, it makes more<br />
sense to express the <strong>locomotion</strong> pattern in terms <strong>of</strong> the coordinates <strong>of</strong> the feet than in terms <strong>of</strong> the<br />
internal angles between the different links <strong>of</strong> the machine. The <strong>control</strong> algorithm presented here is<br />
based on this objective parameters approach, thus broadening <strong>locomotion</strong> limits such as encountered<br />
in [3] .<br />
The core <strong>of</strong> the first part <strong>of</strong> the <strong>control</strong> algorithm is similar to the algorithm presented in [4] . It focuses<br />
on the flight phase <strong>and</strong> is <strong>for</strong>med by the relationships between the equations dictating the parabolic<br />
trajectory <strong>of</strong> G during flight, <strong>and</strong> a subset <strong>of</strong> the parameters to be <strong>control</strong>led, being the <strong>for</strong>ward<br />
velocity <strong>of</strong> G, the jumping height <strong>and</strong> the position <strong>of</strong> the foot at touch-down. Using these<br />
relationships, the angles θ 1 <strong>and</strong> θ 2 needed at take-<strong>of</strong>f <strong>and</strong> at touch-down, as well as their<br />
corresponding angular velocities <strong>and</strong> angular accelerations, are calculated. Next, trajectories <strong>for</strong> θ 1<br />
<strong>and</strong> θ 2<br />
are generated, <strong>for</strong> both the flight phase <strong>and</strong> the stance phase, satisfying the conditions at take<strong>of</strong>f<br />
<strong>and</strong> touch-down. The motor actuating the knee then tracks the trajectory <strong>for</strong> θ 1 , the motor<br />
actuating the hip tracks the trajectory <strong>for</strong> θ 2 .<br />
Since the angle θ 3<br />
between the body <strong>and</strong> the horizontal does not appear in the expressions giving the<br />
trajectory <strong>of</strong> G, the first part <strong>of</strong> the <strong>control</strong> algorithm is not able to <strong>control</strong> the body’s orientation. To<br />
prevent destabilization <strong>of</strong> the <strong>locomotion</strong> due to rotation <strong>of</strong> the <strong>robot</strong>’s body, a second part in the<br />
<strong>control</strong> strategy is needed. There<strong>for</strong>e the nonholonomic constraints expressing that the angular<br />
momentum around G during flight is constant <strong>and</strong> that the angular momentum around the foot during<br />
stance only depends on gravity, have to be taken into account. By integrating these constraints <strong>and</strong><br />
by expressing that the angle θ 3<br />
<strong>and</strong> the angular momentum around G have to be equal to preset<br />
values at take-<strong>of</strong>f, correction functions <strong>for</strong> the trajectories <strong>of</strong> θ 1<br />
<strong>and</strong> θ 2<br />
during stance are calculated.<br />
These functions are chosen in such a way that they respect the values <strong>for</strong> θ 1 <strong>and</strong> θ 2 , as well as the
values <strong>of</strong> their first <strong>and</strong> second derivatives, at take-<strong>of</strong>f <strong>and</strong> at touch-down. In this way, by adding the<br />
correction functions to the initial trajectories <strong>and</strong> by letting the actuators track the new trajectories,<br />
the orientation <strong>of</strong> the body <strong>of</strong> the <strong>robot</strong> is <strong>control</strong>led, <strong>with</strong>out altering the <strong>robot</strong>’s <strong>for</strong>ward velocity, its<br />
hopping height or the placement <strong>of</strong> its foot. The desired values <strong>of</strong> all these objective <strong>locomotion</strong><br />
parameters can be altered from <strong>one</strong> hop to another.<br />
5. Simulation results<br />
Figures 4 to 9 show some simulation results <strong>for</strong> two consecutive hops, <strong>with</strong> the values <strong>of</strong> the<br />
*<br />
*<br />
*<br />
desired objectives (the step length D x F<br />
, the stepping height D y F<br />
, the <strong>for</strong>ward velocity x&<br />
G<br />
, the<br />
*<br />
to,*<br />
hopping height D h , the orientation <strong>of</strong> the body at take-<strong>of</strong>f θ<br />
to ,*<br />
G at take-<strong>of</strong>f µ ) being identical <strong>for</strong> each hop <strong>and</strong> given by:<br />
G<br />
*<br />
D x F = 0.2 m;<br />
*<br />
D y F = 0.0 m;<br />
*<br />
x&<br />
G = 0.5 m/s;<br />
D h * = 0.05 m;<br />
3<br />
<strong>and</strong> the angular momentum around<br />
to,*<br />
θ<br />
3 = 0. 0 rad;<br />
to,*<br />
µ<br />
G = 0.0 kgm 2 /s<br />
x F (m)<br />
0.4<br />
dx G /dt(m/s)<br />
0.5<br />
0.2<br />
flight stance flight stance<br />
0.0<br />
0.0 0.2 0.4 0.6 0.8<br />
t(s)<br />
flight stance flight stance<br />
0.0<br />
0.0 0.2 0.4 0.6 0.8<br />
t(s)<br />
Fig. 4: horizontal position <strong>of</strong> the foot vs. time<br />
y G(m)<br />
0.5<br />
θ 3(rad)<br />
0.1<br />
0.0<br />
Fig. 5: <strong>for</strong>ward velocity vs. time<br />
<strong>control</strong>led<br />
flight stance flight stance<br />
0.0<br />
0.0 0.2 0.4 0.6 0.8<br />
t(s)<br />
un<strong>control</strong>led<br />
-0.1<br />
flight stance flight stance<br />
-0.2<br />
0.0 0.2 0.4 0.6 0.8 t(s)<br />
Fig. 6: vertical position <strong>of</strong> G vs. time<br />
Fig. 7: orientation <strong>of</strong> the body vs. time
µ G(kgm 2 /s)<br />
T(Nm)<br />
0.4<br />
50<br />
0.0<br />
<strong>control</strong>led<br />
knee<br />
hip<br />
un<strong>control</strong>led<br />
0<br />
-0.4<br />
flight stance flight stance<br />
-0.8<br />
0.0 0.2 0.4 0.6 0.8<br />
t(s)<br />
flight stance flight stance<br />
-50<br />
0.0 0.2 0.4 0.6 0.8 t(s)<br />
Fig. 8: angular momentum around G vs. time<br />
Fig. 9: actuator torques vs. time<br />
Figure 4 shows the horizontal position x F<br />
<strong>of</strong> the foot versus time. The step length is given by the<br />
distance between the two successive horizontal parts in the graph <strong>and</strong> is equal to the desired value.<br />
Figure 5 shows the <strong>for</strong>ward velocity x& <strong>of</strong> the global center <strong>of</strong> mass versus time. The velocity during<br />
G<br />
the flight phases equals the desired value. The vertical position y G<br />
<strong>of</strong> the global center <strong>of</strong> mass <strong>of</strong> the<br />
<strong>robot</strong> is given in figure 6. The horizontal line at the bottom indicates the height <strong>of</strong> G at take-<strong>of</strong>f,<br />
whereas the other horizontal line indicates the maximum height. The distance between the two lines<br />
gives the hopping height, being equal to the desired value. Figures 7 <strong>and</strong> 8 represent respectively the<br />
orientation <strong>of</strong> the body θ 3 <strong>and</strong> the angular momentum around G versus time. Without the second part<br />
<strong>of</strong> the <strong>control</strong> strategy the drift in the body’s orientation as well as in the <strong>robot</strong>’s angular momentum<br />
is clearly visible. Adding the extra <strong>control</strong> positions the body horizontally at take-<strong>of</strong>f <strong>and</strong> makes the<br />
angular momentum at take-<strong>of</strong>f equal to its desired zero value.<br />
The actuator torques needed to sustain the <strong>robot</strong>’s motion stay below the limits <strong>of</strong> 58 Nm <strong>of</strong> the<br />
motors used <strong>for</strong> the prototype, as can be seen on figure 9.<br />
To test the <strong>robot</strong>’s ability to vary the objective <strong>locomotion</strong> parameters during hopping, simulations<br />
<strong>with</strong> two different consecutive hops have been d<strong>one</strong>, using the following values:<br />
*<br />
hop 1: D x F<br />
= 0.25 m;<br />
*<br />
hop 2: D x F = 0.33 m;<br />
*<br />
x&<br />
G = 0.65 m/s<br />
*<br />
x&<br />
G = 0.70 m/s<br />
The results visualized by figures 10 <strong>and</strong> 11 show that the <strong>robot</strong> behaves in the desired way. From the<br />
first hop to the second <strong>one</strong> the step length <strong>and</strong> the <strong>for</strong>ward velocity change as they should, <strong>with</strong> the<br />
<strong>control</strong> on the orientation <strong>of</strong> the body <strong>and</strong> the <strong>robot</strong>’s angular momentum also working correctly.
x F (m)<br />
dx G /dt(m/s)<br />
0.5<br />
0.7<br />
flight stance flight<br />
0.0<br />
0.0 0.2 0.4 0.6<br />
t(s)<br />
flight stance flight<br />
0.0<br />
0.0 0.2 0.4 0.6<br />
t(s)<br />
Fig. 10: horizontal position <strong>of</strong> the foot vs. time<br />
Fig. 11: <strong>for</strong>ward velocity vs. time<br />
Figures 4 to 11 show that the <strong>control</strong> strategy presented in this paper works very efficiently, since<br />
<strong>control</strong>led periodic hopping, as well as <strong>control</strong>led aperiodic hopping can be achieved.<br />
6. Conclusion<br />
An electrically actuated prototype <strong>of</strong> a <strong>robot</strong> <strong>with</strong> <strong>one</strong> <strong>articulated</strong> <strong>leg</strong> has been built <strong>and</strong> its <strong>design</strong> is<br />
presented. The outlay is given <strong>of</strong> a <strong>control</strong> algorithm enabling the <strong>robot</strong> to <strong>control</strong> simultaneously its<br />
<strong>for</strong>ward velocity during flight, its hopping height, its step length, its stepping height, the orientation <strong>of</strong><br />
its body <strong>and</strong> its angular momentum. Simulation results show that the algorithm is efficient <strong>and</strong> that the<br />
desired objectives are attained. A <strong>robot</strong> using this algorithm should be able to jump over obstacles<br />
<strong>and</strong> to move over terrain where footholds are r<strong>and</strong>omly distributed.<br />
On the theoretical level future research will focus on the robustness <strong>of</strong> the <strong>control</strong> algorithm <strong>and</strong> on<br />
the determination <strong>of</strong> the physically admissible subspace, in terms <strong>of</strong> actuator <strong>and</strong> geometrical<br />
constraints, <strong>of</strong> the space <strong>for</strong>med by the <strong>control</strong>led parameters. On the practical level the <strong>control</strong><br />
strategy will be implemented on the mechanical prototype <strong>and</strong> the experimental results will be<br />
compared to the simulated <strong>one</strong>s.<br />
References<br />
[1] W. Leonhard, Control <strong>of</strong> Electrical Drives, 1985, Springer-Verlag, Berlin.<br />
[2] Y. Hurmuzlu , 1993, "Dynamics <strong>of</strong> Bipedal Gait Part I: Objective Functions <strong>and</strong> the Contact Event <strong>of</strong> a Planar<br />
Five-Link Biped", Journal <strong>of</strong> Applied Mechanics, 60, pp. 331-336.<br />
[3] J.K. Hodgins & M.H. Raibert, 1991, "Adjusting Step Length <strong>for</strong> Rough Terrain Locomotion", IEEE<br />
Transactions on Robotics <strong>and</strong> Automation, 7(3), pp. 289-298.<br />
[4] H. De Man, D. Lefeber, F. Daerden & E. Faignet, 1996, "Simulation <strong>of</strong> a New Control Algorithm <strong>for</strong> a One-<br />
Legged Hopping Robot (Using the Multibody Code MECHANICA Motion)", in: Proceedings International<br />
Workshop on Advanced Robotics <strong>and</strong> Intelligent Machines, Manchester, UK.