Walking machines have been
investigated during the last forty years and some basic techniques of this
field are already well known. However, some aspects still need to be optimized.
For instance, speed seems to be one of the major shortcomings of legged robots;
thus, improving leg speed has been chosen as the main aim of this work.
Although some algorithms for optimizing trajectory control of robot
manipulators already exist, we propose a more computationally efficient method
that employs fuzzy set theory to involve real dynamic effects over leg motion
instead of an inaccurate mathematical model. In this work, we improve leg speed
by automatically tuning the acceleration of legs. For this purpose, we define
fuzzy rules based on experiments and we find the optimal acceleration for every
given trajectory. A simple fuzzy inference system is used to compute the
required acceleration. It is based on five rules using three linguistic
variables. Final results show that foot acceleration tuning for straight
trajectory generation is a suitable method for achieving accurate, smooth and
fast foot movements. Also it is shown that under some conditions average leg
speed can be increased up to 100 percent using the control methods herein
proposed.
One
important feature dealing with kinematic chains of articulated joints appears
when attempting to describe a straight-line trajectory of the end-effector.
Every measured magnitude of a particular trajectory (i. e. traveled distance,
average speed, end-effector acceleration) belongs to the Cartesian coordinate
frame, while it must be mapped into the articulated joint space to accomplish
the movement. This means that angular joint speeds must be synchronized to
obtain a given linear end-effector speed. However, the joint speed value
required for a desired end-effector task might be unreachable due to
limitations of the joint drive 19. This problem arises specially in
legged locomotion. Legs must be light and agile and must produce accurate
movements. However, some leg configurations need to confine joint
actuators. Thus, joint drives in such
walking machines cannot be heavy, and this stricture directly affects their
power. The problem of improving end-effector trajectories and the results
presented in this article for trajectory speed optimization can be applied to
any articulated manipulator; this article, however, will focus on legged
locomotion, where speed optimization is a clear need.
|
Figure 1.
Foot trajectory and plane of motion. |
In order to
focus better on the problem of improving foot trajectories, let us define a
plane formed by the straight trajectory of the foot and the origin of the leg
reference frame. Let us label it plane IOF (see Figure 1). The straight
movement of the foot inside the plane IOF
is characterized by the following parameters: The initial position, (I);
the final position, (F); the trajectory distance, s(t); the foot speed,
; the angular displacement, q(t), and its first derivate,
, which is the foot angular speed; and a variable radius, R(t), which depends on the leg’s
kinematic configuration (see Figure 3). Evident relationships exist among these
parameters, but the relationship of interest here is the one that restricts the
linear foot speed, vfoot.
Obviously, the foot angular speed,
, and the radius, R(t),
will limit the maximum foot speed value for a given straight-line trajectory,
that is:
(
1 )
Let us assume
that the foot angular speed,
, in the plane IOF is limited by the maximum driving speed of
one of the three joints of the leg. Then, according to (1), the linear foot
speed will be limited by the angular speed of this joint for trajectories where
R(t) is small at any instant of time,
t. Thus, the linear foot speed is
drive-limited at a given instant of time during trajectory execution, and
consequently average foot speed, (vm),
will also be restricted. However, average foot speed would not be drive-limited
for trajectories with higher values of R(t).
Increasing average trajectory speed is the main goal of the work presented in
this article.
After this observation, let us consider two types of trajectories inside the leg workspace. The first type will be trajectories of small R(t), whose maximum average foot speed will depend largely on motor speed. There is no other possibility for increasing average foot speed for such trajectories than incorporating more powerful drives, despite the increase in leg weight if the leg encloses the joint drives. The second type of trajectory will be trajectories of high R(t), which could reach very high foot speeds. If the straight line is generated using a trapezoidal velocity profile with a given foot acceleration 20 (see Figure 2), then the only magnitude that can limit foot speed for the second type of trajectory is the acceleration of the velocity profile. Hence, increasing the average foot speed in that type of trajectory can be achieved by increasing foot acceleration. However, increasing the acceleration of the velocity profile is not always an admissible solution. Leg dynamics could prevent the desired trajectory for a step velocity profile with infinite acceleration from being followed. In this article we will try to find the appropriate velocity profile for each particular type of trajectory, taking into account the effects of leg dynamics without using complex techniques of dynamic control. It is worthwhile to use this procedure to improve leg performance in view of some of the current walking machine drawbacks.
|
Figure 2. Trapezoidal foot velocity
profile for straight-line generation. |
To illustrate this explanation, Figures 3 and 5
show how angular joint speeds affect the average foot speed in an articulated
leg such as the SILO4 leg example. Figure 5a shows angular speed profiles of
the first joint of the SILO4 leg for trajectories that are parallel to the
leg’s x-y plane, for different values of R(t). In this particular case
the value
of (1) corresponds to
the first joint speed, the plane IOF is parallel to the leg’s x-y plane, and
the value of R(t) increases with y
component in the leg's Cartesian reference frame. Figure 3a shows that joint
speed reaches its maximum driving speed for short values of R(t), while it decreases for trajectories
with higher values of R(t). As stated
in (1) (see Figure 3b), foot speed evolution for the same trajectories is
limited by the first joint speed for small values of R(t). On the other hand, foot speed for higher values of R(t) could be increased until it reaches
a triangular foot velocity profile or could even better this value by
increasing foot acceleration (see Figure 4). Speed profiles of the second and
third joints of the leg do not affect foot velocity profiles in this example
and are not depicted in Figure 3.
|
Figure 3. Foot
trajectories parallel to the leg x-y plane. (a) First angular joint speed
profile evolution. (b) Foot velocity profile evolution. |
Using foot
velocity profiles with higher acceleration might help achieve higher foot speed
in another situation. Foot velocity profile becomes triangular for short
trajectories (small s(t)), and hence,
only small average foot speeds can be achieved. Increasing foot acceleration
would allow short trajectories to be performed at high speeds. Figure 4 shows
two foot velocity profiles for the same distance traveled. Profile (1) has
lower foot acceleration than profile (2), and as a result it will never reach
the average speed value
that the second
profile does.
|
Figure 4. Two
foot velocity profiles for the same distance traveled during straight line
generation. |
However,
there are some cases where the effect of leg dynamics critically limits foot
acceleration. Earlier work14 analyzing the SILO4 leg dynamics
shows that the relevant dynamics affecting the motion of such 3-dof articulated
leg are inertial effects over the first joint of the leg due to its own
acceleration, and gravitational effects over the second and third joints
respectively. These dynamic effects over the leg motion correspond to the
following practical observations: When the foot trajectory has a big
z-component increment, the plane IOF is nearly vertical and the angle q in
Figure 1 is mostly defined by the second and third joints of the leg,
especially by the third joint, which reaches its maximum absolute angular speed
during acceleration time in the foot velocity profile (the maximum drive torque
of joint 3 is smaller than the second one, see Figure 5). This means that
raising the foot at high speeds amplifies the requested internal acceleration
for the third axis, and thus, leg dynamics could prevent such a reference from
being followed (due to its own weight, note that joints 2 and 3 are mainly
affected by gravity). The same effect could affect the downward movement of the
leg if it is bearing the robot’s weight. Also notice that the second and third
joints of the SILO4
leg have skew-axis gears (see Section 2), which present nonlinearities due to
frictional forces and backlash. The constant perturbation of gravity added to
non-linear frictional and backlash effects could produce oscillations at the
beginning of the upward movement if the requested speed is high. Finding an
accurate mathematical model of such dynamic effects over the leg motion is unavoidable.
Fuzzy theory 21 is an adequate tool for solving nonlinear system
problems where a mathematical model is absent. We employed this soft computing
technique to introduce the dynamics affecting the leg motion into a foot
acceleration tuning algorithm that provided the best acceleration value of the
foot for each trajectory.
|
Figure 5. SILO4
leg angular joint speeds when lifting the foot from leg position (x, y,
z)=(0, 350, -400) to (x, y, z)=(0, 350, -200) at 100 mm/s. |
Following this reflection we may conclude that fuzzy foot acceleration tuning as a function of the trajectory parameters and leg dynamics could be an adequate technique for improving performance in legged locomotion. Thus, the main goal of this article is to study how acceleration variations on the foot velocity profile modify leg performance. This study will start by examining certain prior considerations, summarized as follows:
1. It is necessary to increase foot acceleration for short trajectories to obtain higher foot speeds.
2. Foot acceleration could be moderate when trajectories are large enough. A very high foot acceleration value is not needed in order to achieve a high average foot speed in the case of long trajectories. An oscillatory influence in the foot response will be avoided with moderate acceleration values.
3. Foot acceleration should be decreased for vertical movements of the foot to avoid undesired dynamic effects.
These considerations are vague rules that relate trajectory parameters with one another, although with some degree of uncertainty. In the next section the above conditions are translated into fuzzy rules that manage the relationships between short and long distance trajectories, required average speed and whether or not the foot is moving upwards or downwards as input variables to infer an appropriate foot acceleration.
|
Figure 6. Block
diagram of the foot trajectory
control system |
Figure 6 shows a block diagram of the foot trajectory control system. The foot positioning system fits into the classical scheme; further details are beyond the scope of this article. Blocks inside the dotted rectangle correspond to the foot acceleration tuning method that will be described in the next section.
The problem
of finding the best value of foot acceleration for a given foot trajectory is
overcome by using a very simple Mamdani fuzzy inference system 22.
Three input linguistic variables define foot trajectory, which are: desired
average foot speed (
), distance from initial to final position (s), and relative z-increment (
), which is the ratio between z increment and distance
traveled for a given trajectory, that is:
( 2 )
The output variable of the fuzzy inference system is the foot acceleration, which is needed for foot velocity profile determination and thus foot trajectory generation.
Input and
output fuzzy variables are represented by fuzzy sets (for example, distance is BIG, or foot speed is SMALL), and the degree of membership of
each variable (m(x) for the
variable x) to the fuzzy sets is
given by membership functions. The shape of these membership functions is
chosen for each linguistic variable to adjust the relationship between speed,
distance and acceleration in a triangular or trapezoidal velocity profile,
which makes acceleration inversely proportional to distance and directly
proportional to the square of the speed, which is expressed thus in analytical
form:
( 3
)
where K is a constant value for each profile:
for a triangular velocity profile,
for a trapezoidal
velocity profile. In this work guidelines on fuzzy controller design have been
followed 23. They state that the inference map shape matches the
shape of membership functions of the input variables, provided that membership
functions are normal, symmetrical and overlapped by pairs, and the membership
functions defined over the output variables have the same area. Taking this into consideration, the
following assumptions have been made in order to design the fuzzy system:
1.
Let us
assume that the relative z increment in a trajectory,
, is represented by two fuzzy sets {SMALL, BIG}. Membership
functions of this input variable are trapezoidal and are shown in Figure 7a
where the abscissa is the value of the relative z increment and the ordinate
is the degree of
membership. The relationship between
and afoot in
(3) requires a negative inclination of the resulting inference map along
this variable edge, what will be expressed by means of fuzzy rules.
2.
Trajectory distance (s) is also represented by the same fuzzy sets {SMALL, BIG}. Two
trapezoidal distance membership functions are shown in Figure 7b, where the
abscissa is the value of the trajectory distance and the ordinate m(s) is the degree of membership. Their
limit values were obtained experimentally for the SILO4 leg workspace, where
the maximum linear distance for a trajectory is 700 mm.
3.
Average
foot speed (
) is represented by the same fuzzy sets as the first two
variables. However, membership functions are parabolic rather than trapezoidal
(see Figure 7c) just to adjust to the relationship in (3). Their limit values
were found experimentally for the SILO4 leg example. The average foot speed is
limited to 400 mm/s due to maximum motor speed. A foot speed of 200 mm/s seems
to be an intermediate value appropriate for straight-line motion (see Figure 7c).
4.
The
output of this fuzzy inference system is the foot acceleration (
), which is represented by four fuzzy sets {SMALL, MEDIUM-SMALL, MEDIUM-BIG,
BIG}, and membership functions are
shown in Figure 7d. These membership functions are triangular, representing SMALL foot accelerations for long
trajectories without any z increment, MEDIUM-SMALL
acceleration values for trajectories having a big z increment, MEDIUM-BIG accelerations for long
trajectories with high speed, and BIG
accelerations for short trajectories with high speed values. The limit values
of membership functions are obtained experimentally for the SILO4 leg example.
|
Figure 7. Membership functions of the fuzzy inference system input and output
variables. a) Relative z increment; b) Trajectory distance; c) Average foot
speed; d) Foot acceleration. |
Hence, the inference mechanism is based on the following five rules, which represent the fuzzy dependence of foot acceleration on foot speed, trajectory distance and relative z increment:
1. If
is SMALL and s is SMALL
and
is SMALL then
is MEDIUM-BIG
2. If
is SMALL and s is BIG and
is SMALL then
is SMALL
3. If
is BIG and s is SMALL and
is SMALL then
is BIG
4. If
is BIG and s is BIG and
is SMALL then
is MEDIUM-BIG
5. If
is BIG then
is MEDIUM-SMALL
|
Figure 8. Foot acceleration function
of trajectory distance and average foot speed for |
|
(a)
(b) Figure 9. Relative z-increment
effect versus (a) distance traveled and (b) foot speed, in the foot
acceleration tuning |
MATLAB and its Fuzzy Toolbox were used to solve the
fuzzy problem, where min represents
the and
method and implication, max represents
aggregation, and centroid is
used for defuzzification. The inference map for the foot acceleration problem,
is a hypersurface which we have represented by three bidimensional inference
maps for the sake of clarity. Figure 8 shows foot acceleration as a function of
the distance traveled and the average foot speed for any trajectory with almost
no z increment in the foot trajectory, that is, when the relative z increment is
very close to zero. Figure 9 shows the limiting effect of any z increment in
foot acceleration. Figure 9a shows the foot acceleration output as a function
of the relative z increment and distance traveled, when fixing the average foot
velocity at a value of 200 mm/s, and Figure 9b shows acceleration versus
relative z increment and average foot speed, for a distance traveled of 350 mm.
Once the foot acceleration function has been
obtained, optimization methods for real-time implementation of the fuzzy
reasoning process can be used 24.
As it was
mentioned throughout this article, the acceleration tuning method has been
tailored to the SILO4 leg. In order to provide a general algorithm valid for
any articulated manipulator, the following steps summarize the general
procedure:
1.
Workspace partitioning taking limitation of
drives into account. Only non-drive-limited trajectories will be subject to
end-effector acceleration tuning.
2.
Experimental
determination of the range of values for the trajectory parameters. That is,
trajectory distance, average speed, and acceleration ranges must be identified.
3.
Trajectory
parameter transfer to fuzzy linguistic variables, and finding of fuzzy sets by
partitioning the universe of discourse of each variable.
4.
Direct
application of the fuzzy inference system to the linguistic variables.
The
solution will be a relationship between the acceleration of the end-effector
and the trajectory parameters.
Different
experiments have been conducted to show the improvement on straight-line
trajectory execution by foot acceleration tuning. For this purpose the SILO4
leg has been used. The specifications of this leg are listed in section 2. The
first experiment shows the effect of foot acceleration tuning when executing
straight-line trajectories of several lengths. Figure 10 illustrates this
experiment, depicting the maximum achievable average foot speed for different
trajectory distances. Every trajectory was parallel to the leg’s x axis and for
and
. Each thin curve in this graph represents maximum average
foot speeds that could be reached with a foot velocity profile of constant
acceleration provided that no dynamics perturb the motion, and the thick curve
represents the maximum achievable foot speed during the same trajectories using
foot acceleration tuning. If the maximum constant acceleration curves were
used, the dynamics affecting the leg motion would prevent the leg from
following the specified path and oscillations and non-desired effects will
appear as shows the Figure 11. To ensure that leg dynamics will not perturb the
motion, a conservative acceleration value should be chosen (i. e. 600 mm/s2),
and low speed trajectories would be performed for distances where leg dynamics
does not prevent from achieving higher speeds. Figure 11 clearly shows the
improvement of foot acceleration tuning on this problem. One important feature
of every curve
is observable in this
figure. The increasing rate of the curves is different before and after a foot
speed of 220 mm/s. Every curve increases more slowly when trespassing this
line. This is clearly due to limitation of drives. Up to this point every foot
velocity profile is triangular, and the maximum speed in the profile is double
the average speed value of the trajectory. For that instant of time when the
foot speed is double the average value, the joint speed will reach the maximum
motor speed if:
( 4 )
where
is the average speed
value in that trajectory,
is the end of the
acceleration time instant, N is the
gear ratio and
is the maximum motor
speed in rpm. In the case of the first joint of the SILO4 leg,
, and for
and
, (4) gives a speed
limit of 220 mm/s for a triangular speed profile. To increase the foot speed
above this value a trapezoidal foot speed must be selected, and that makes the
change in the curve tendency.
Another
important feature can be observed from Figure 10. The maximum average speed
curve that is achieved using acceleration tuning (thick line in the figure) is
nearly constant for BIG distance trajectories (s > 350 mm). If this walking robot control system manages to
walk always over these BIG step trajectories, the maximum robot speed will be always
achieved, independently of the trajectory distance, s. This is not possible using a velocity profile with constant
acceleration, where maximum average speed changes with trajectory distance as
Figure 10 shows.
However,
the maximum average speed curve using acceleration tuning is not constant at
all for SMALL trajectories (s <
350 mm). A very high acceleration would have to be used to obtain a constant
curve for these short trajectories, and more powerful drives would be required
for this purpose, increasing the weight of the leg, and therefore the need for
more power to support the increase of weight, in a never-ending cycle.
The
conclusion of this first experiment is that foot acceleration tuning finds the
acceleration values that provide higher foot speeds, avoiding the use of very
high acceleration values that could impose oscillatory behavior. It also helps
maintain the maximum average foot speed as a constant specification for the
control system.
|
Figure 10. Curves of maximum
average foot speed versus trajectory distance with constant foot acceleration
profile and with foot acceleration tuning. |
A second
experiment was run lifting the foot at high speeds. Foot acceleration tuning
limits the acceleration value to 600
when lifting the foot, as a result of applying the fifth
fuzzy rule to
. Thus, oscillations due to leg’s dynamic effects were
avoided by using a moderate acceleration value. Without acceleration tuning, a
foot acceleration value higher than 600
produces oscillations
during foot lifting, due to leg weight and nonlinearities of the second and third
joints of the leg. Figure 11a shows velocity profiles of the three joints, and
Figure 11b shows the foot velocity profile, while the foot tried to lift its
own weight at a speed of 90 mm/s with a foot acceleration of 1000
. The angular speed of the third joint of the leg reaches its
maximum achievable value (limitation of the drive) during acceleration time,
which makes the leg oscillate. However, as this figure shows, there is a
settling time for the leg response, when the joint speed required for the third
axis decreases smoothly.
|
Figure 11. Leg
oscillations during lifting experiments with foot acceleration = 1000 |
The last
experiment showing the acceptability of this method studied the behavior of acceleration
tuning through a variety of trajectories covering the leg workspace. Figure 12
illustrates this experiment, where trajectories of different length, s(t),
and different radius, R(t),
were executed by the leg with and without acceleration tuning at its maximum
achievable foot speed (thick and thin lines respectively). Every trajectory is
confined to the plane
. Behavior was the same within different z-component planes,
and was only worse for those foot heights where the two last links of the leg
are aligned (singularity) due to the excessive increase in internal speed
during acceleration time of the second and third joints. However, this
situation always appears, whether automatically tuning the acceleration or not,
and it implies a reduction of foot acceleration to 600
, and thus every maximum foot speed value inside this plane
of the leg workspace becomes very limited. Average foot speed values as well as
distance traveled and minimum radius R(t) values are listed in Table II for
each trajectory of the experiment in Figure 12. The improvement offered by the
acceleration tuning algorithm is relevant for short trajectories (s < 350 mm) and acceptable for long
ones, as shown in Table II. Improvement reaches higher values for trajectories
of the same length (s(t)) with higher R(t), as stated in (1). As
can be observed from Figure 12, leg behavior with acceleration tuning is less
oscillatory for every trajectory because high average speed values can be
achieved without reaching the drive limits. Also, higher average foot speeds
can be achieved. Table II reveals that the acceleration tuning method increases
the average foot speed by 27 to 100 percent over the maximum achievable speed
when acceleration tuning is not used.
It may be concluded that the foot acceleration tuning approach for straight-line trajectory generation is a very suitable method for achieving precise, smooth, and fast foot movements, which is highly important for legged locomotion. All the experiments in this article show on-line-generated straight-line trajectories of the foot. The on-line path planning computation was realized at a sampling period of 4 milliseconds on a 486 processor at 50 MHz, while the fuzzy foot acceleration tuning calculation required 0.5 milliseconds before trajectory tracking. Guidelines 24 on optimal implementation of fuzzy controllers have been followed. This ensures the real-time application of the proposed acceleration tuning algorithm in the locomotion system of a walking robot. The number of fuzzy rules imposed on the foot behavior to solve the speed optimization problem can be modified in terms of dynamic complexity, however, it is independent on the number of degrees of freedom of the robot leg.
|
Figure 14. Comparison
between foot velocity profiles with acceleration tuning (thick line) and with
constant acceleration of 600 |
Table II. Comparison of
maximum achievable average foot speeds
|
|
s (mm) |
(mm/s) |
Improvement (%) |
|
|
Acceleration Tuning |
Acceleration = 600 |
|||
|
120 |
330 |
230 |
180 |
27.7 |
|
150 |
500 |
290 |
220 |
31.8 |
|
200 |
580 |
310 |
250 |
24.0 |
|
300 |
510 |
340 |
270 |
25.9 |
|
350 |
400 |
340 |
240 |
41.6 |
|
400 |
200 |
320 |
160 |
100.0 |