Using Soft Computing Techniques for Improving Foot Trajectories in Walking Machines

 

Abstract

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.  is the average foot velocity and  and  are acceleration and deceleration times respectively.


 

 

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.

 

Fuzzy Sets and Fuzzy Rules

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


 

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

 

Experimental Results

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 . (a) Articular joint velocity profiles. (b) Foot velocity profile.


 

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  (thin line).


 

 

 

 

 

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

 

 

 

 


 

Back to Home Page