10.11.2014 Views

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 ...

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!