## Services on Demand

## Article

## Indicators

- Cited by SciELO

## Related links

- Similars in SciELO

## Share

## Latin American applied research

##
*Print version* ISSN 0327-0793

### Lat. Am. appl. res. vol.33 no.4 Bahía Blanca Oct./Dec. 2003

**An experience on stable control of mobile robots**

**H. Secchi, R. Carelli and V. Mut**

*Instituto de Automática - INAUT - Universidad Nacional de San Juan Av. San Martín Oeste 1109 - San Juan(5400) - Argentina Fax: +54-264-4213672 hsecchi@inaut.unsj.edu.ar or hsecchi@ieee.org*

** Abstract** ¾

**This paper is based on a previous work (Carelli**

*et al.*, 1999). In this paper, mobile robot control laws, including obstacle avoidance based on distance sensorial information are developed. The mobile robot is assumed to evolve in a semi-structured environment. The control systems are based on the use of the extended impedance concept, in which the relationship between fictitious forces and motion error is regulated. The fictitious forces are generated with the information provided by sensors on the distance from the obstacle to the robot. The control algorithms also avoid the potential problem of control command saturation. The paper includes the stability analysis of the developed control systems, using positive definite potential functions. ** Keywords** ¾

**Mobile Robots. Robot Control. Obstacle Avoidance. Stability Analysis.**

**I. INTRODUCTION**

Mobile robots are mechanical devices capable of moving in an environment with a certain degree of autonomy. The environment can be classified as structured when it is well known and the motion can be planned in advance, or as partially structured when there are uncertainties which imply some on-line planning of the motions.

During the movement in partially structured environments, an obstacle can suddenly appear on the robot trajectory. Then, a sensorial system should detect the obstacle, measure its distance and orientation to calculate a control action to change the robot trajectory, thus avoiding the obstacle.

In this article, the concept of generalized impedance is used which relates fictitious forces to vehicle motion. Fictitious forces are calculated as a function of the measured distances. A similar concept for a generalized spring effect in robot manipulators is presented in (Sagués *et al.*, 1990). An application of the impedance concept to avoid obstacles with robot manipulators has been presented in (Mut *et al*., 1992).

The control architecture here presented combines two feedback loops: a motion control loop (Secchi, 1998) and a second external impedance control loop (Hogan, 1985). This last loop provides a modification on target position when an obstacle appears on the trajectory of the mobile robot (Secchi *et al.*, 1994).

Most works in this area consider the motion control of the mobile robot avoiding obstacles (Khatib, 1985), (Newman and Hogan, 1987), (Borenstein, 1989), (Koren and Borenstein, 1991) and (Borenstein and Koren, 1991), but few of them (Aicardi *et al.*, 1995) study the stability of the control system problem. Main contributions of this paper are the design of stable motion control laws that include the actuators saturation problem; the design of a motion control structure for obstacle avoidance and its corresponding stability analysis; and the performance test of control algorithms through experiences on a mobile robot.

The paper is organized as follows. After this introductory section, Section 2 describes the kinematic equations of an experimental robot; Section 3 presents the control problem formulation; Section 4 defines the fictitious force for distance feedback; Section 5 presents the proposed control algorithms including their stability analysis; Section 6 is a brief survey of the mechanical characteristics and sensor capabilities of the experimental robot used; Section 7 describes the experimental results; and finally, Section 8 contains the main conclusions of the work.

**II. KINEMATICS EQUATIONS**

Consider the unicycle-like robot positioned at a non-zero distance from a goal frame <g>. Its motion towards <g> is governed by the combined action of both the angular velocity w and the linear velocity vector ** u**, which is

**always on the same direction as one of the axes of the frame <a> attached to the robot, as depicted in Fig. 1.**

Figure 1. Position and orientation of the vehicle.

Then, the usual set of kinematic equations, which involves the Cartesian position (x,y) of the vehicle and its orientation angle j , is

(1) |

where *u* is the magnitude of ** u**, and

*x*,

*y*and j are measured with respect to the origin of target frame <g> and to the orientation of the

*x*-axis.

Now, by representing the vehicle position in polar coordinates, and by considering the error vector ** e** with orientation q respecting the

*x*-axis of frame <g>, as well as by letting a = q -j be the angle measured between the main vehicle axis and the distance vector

**, the above kinematic equations can be re-written (Aicardi**

*e**et al.*, 1995) as

(2) |

**III. PROBLEM FORMULATION**

Let us consider the kinematic model of the mobile robot given as Eqn. (2). The main characteristics of the control problem are:

- The objective to be reached by the mobile robot (the target frame <g>). The problem of reaching the target frame can be formulated in two different ways: the first one in terms of a desired motion trajectory and the second one is terms of the target position (in this second situation, we can additionally consider a desired final orientation q
*=0*). - The dynamic relationship (mechanical impedance) between the position error and the interaction force
*F**(t)*acting on the mobile robot. In this paper,*F**(t)*is a fictitious force generated from the distance information coming from the exteroceptive sensors (ultrasonic sensors).

Then, the problem of motion control corresponds to the design of a controller that drives the mobile robot (the unicycle-like vehicle) to the point of coordinates *e=0* and a *=0 *(and additionally considering q *=0*) starting from any non zero distance from the target frame <g>. In addition the problem of impedance control corresponds to the design of a controller that, after detecting obstacles in the working environment of the robot, it momentarily modifies the target position in order to avoid these obstacles.

**IV. SENSORIAL DISTANCE FEEDBACK**

The regulation of the mechanical impedance needs some feedback of the interaction force between the robot and the environment. Interaction forces imply a physical contact with the environment, which, in the case of mobile robots, generally represents a collision. In order to avoid obstacles, it is necessary to interact with the obstacles without causing any collision. Thus, the interaction force *F**(t)* is represented by a fictitious force generated as a function of the robot - obstacle distance, as shown in Fig. 2.

The trajectory change associated to the obstacle avoidance is performed by using the impedance concept, for which the mechanical interaction has been substituted by a distance and a non-contact interaction by taking into account the distance from the robot to the detected obstacle (Mut *et al.*, 1992).

The magnitude of force *F**(t)* is computed as (Borenstein and Koren, 1991)

(3)

where

*a, b* are positive constants, such that ;

*dmax * is the maximum robot-obstacle distance measured by the sensorial system;

*dmin * is the minimum robot-obstacle distance measured by the sensorial system; and

*d(t) * is the robot-obstacle distance (*dmin* < *d(t) _{ }*<

*dmax*).

Figure 2. Action of the fictitious force F(t) on the mobile robot.

Figure 3 represents the block diagram of the proposed control system, where, in Cartesian coordinates,

** x _{d} ** is the desired (xd,yd,j d) position vector;

y is the rotation angle;

is the position error

**x**; and

_{d}-x_{c}is the modified position error.

Figure 3. The block diagram of the proposed control system.

**V. CONTROL ALGORITHMS**

One typical problem when implementing a controller is that of the practical range of control actions. If it is not considered in the theoretical design, possible saturation of actuators will occur and, in such a case, the design performance of the control system can not be guaranteed to be attained. In this section controller saturation is taken into account without much computing effort. Out of the three variables *e, a *and q , the former is considered critical in terms of saturation because it directly affects the linear velocity *u*. Thus, in the theoretical development of the controllers, *u* will be guaranteed to be bounded within prescribed limits.

**A. Motion Control I: Positioning without prescribing orientation**

Let the unicycle-like vehicle be initially positioned at any non-zero distance from the target frame <g> and let the state variables be *e* and a , assumed as directly measurable for any *e>0*. Let consider the Lyapunov candidate function

(4) |

Its time-derivative along the trajectory described in (2) is given by

(5) |

The first term in (5), corresponding to , can be non-positive by letting the linear velocity *u* have the smooth form

(6)

It is clear that . According to the velocity *u* in (6), in (5) becomes

(7) |

which can also be made non-positive, by letting the angular velocity w have the smooth form

(8) |

with *k *> 0 and , thus leading to the following expression for the time derivative of the original Lyapunov function *V*

which results in a negative definite function. This mean that state variables asymptotically converge to zero, thus verifying the control objective.

An important point is to analyze q in order to know about the orientation of the mobile robot while reaching the target position.

**Remark 1: **Considering in Eqn. (2) and Eqns. (6) and (8) we have

The solution is

(9)

which is bounded for all *t* and tends to zero as *t* tends to infinite. Now, by referring to Eqn. (8), it becomes clear that w(*t*) ® 0 *when t* ® ¥.

**Remark 2: **From (2) and (6)

(10) |

As a(*t*) ® 0 when *t* ® ¥ then when *t* ® ¥.

**Remark 3: **Considering that , the time integrative of (10) is bounded by

(11) |

The integrative is bounded for all *t*. This implies that q *(t)* is bounded.

From remark 2 and remark 3 it can be noted that q *(t)* ® constant when *t*® ¥. Then, the final value of the robot orientation when approaching the target position is constant, which means that the robot does not keep rotating about its own center.

**Remark 4:** Since a = q - j and a and q are bounded as shown in remarks 1 and 3, then j is also bounded.

**B. Motion Control II: Positioning with prescribed orientation**

Let again the unicycle-like vehicle be initially positioned at any non-zero distance from the target frame <g> and let the state variables be *e*, q and a , which are directly measurable for any *e>0*. Let us consider the Lyapunov candidate function

(12) |

with l , k > 0. Its time derivative along the trajectory described in (2) is given as

(13) |

The first term in (13), corresponding to , can be non-positive by letting the linear velocity *u* have the smooth form

(14)

where . According to velocity *u* in (14), in (13) becomes

(15) |

which can also be made non-positive by letting the angular velocity w have the smooth form

(16) |

with *k, r* > 0.

Where ; and thus leading to the following expression for the time derivative of the original global Lyapunov function

which results in a negative definite form. This means that the state variables asymptotically converge to zero when accomplishing of the control objective.

The control action of Eqn. (16) cannot be implemented for a =0 . To avoid this problem, we propose the use of a lower bound for this variable in the first term of (16). Now, it is necessary to verify that the stability conditions are kept.

By adding and subtracting the term , where , d > 0, Eqn. (16) can be rewritten as

where w _{0} is the Eqn. (16) with a _{0} in the first term, and

(17) |

From Eqn. (17), three cases can be analyzed:

**Case I:** : Here a_{0} is equal to a, then

which leads to the situation already analyzed.

**Case II:** and : Function becomes

In this case 0 < a/a_{0} £ 1, thus implying that is negative definite and asymptotic convergence of control errors to zero is again verified.

**Case III**: Evolution of q *(t)* when a =0 and . In this case

thus, it is not evident the convergence to zero of signal q*(t)*. We can now recall the Theorem of LaSalle for autonomous systems (Vidyasagar, 1993) by noting that:

- The system is autonomous.
- There exists a set .
- If , it means that a = 0 and
*e*(*t*) = 0. From Eqn. (2) in closed loop

when a(*t*) = 0, which means q *(t) =constant.*

Now constant value of q *(t) *in the set **S** can be obtained. From Eqn. (2) in closed loop, when a(*t*) = 0 and *e*(*t*) and consequently

It is immediately concluded that q can be zero or in **S**. If the constants are chosen correctly, the second equilibrium is outside the natural work interval [-p ;p ].

According to La Salle theorem, this means that control error signals converge asymptotically to zero.

As a general conclusion and, since for the three cases the error signals converge asymptotically to zero, the control objective is guaranteed for the controller with bounded w control action.

**C. Impedance Control**

In order to make the robot avoid obstacles, we use the concept of generalized impedance (Mut *et al.*, 1992). The impedance function is defined by the relationship

*x _{a} = Z*

^{-1}×

*F*(18)

where *x _{a}* is an error term that will define the orientation correction and

*F*is the magnitude of the fictitious force

**F**.

The desired impedance function is considered as

*Z = Bs + K*

where B, K are positive constants. Constant B represents a damping effect and K a spring effect in the interaction between the mobile robot and the obstacle.

By referring to Fig. 3, it is considered

Y = *x _{a}* ×

*sign*(

*Fr*)

where *Fr* is the component of **F** (fictitious force), which perpendicular to the direction of robot movement. Then, the transformation

is applied, where the position error is and the new position error is with **x _{r}** as the new desired position, and

**x**[

_{C}=*x*] the vector of Cartesian coordinates of the robot. When the fictitious force is zero,

_{c}y_{c}j_{c}**xr=xd**, and the objective of the motion control loop is achieved, meaning that as and the position error is calculated as .

The Cartesian-to-polar coordinate transformation is performed through

where *atan*3 is the arc tangent function that covers a 2p range angle in positive and negative directions.

For some object configurations, methods like the one described, which are based on repulsion forces, can drive the robot to a local minimum, thus confining it into an area far from the target position. A possible solution is to combine the controller with a Global Path Planning, which is beyond the aims of the present work.

**VI. PIONEER 2 MOBILE ROBOT**

The proposed controllers were tested on the Pioneer 2 mobile robot (see Fig. 4). Its main features are:

- Dimensions are L: 0.44m x W: 0.33m x H: 0.22m
- It supports both, front and rear sonar arrays, each with eight transducers for object detection and range information for feature recognition, as well as navigation around obstacles. The sonar positions are fixed in both arrays: one on each side, and six facing outward at 20 degree intervals, thus providing all-around sensing when using both arrays.
- The drive system of Pioneer 2 uses high-speed, high torque, reversible DC motors. This model is a differential-drive mobile robot with a linear and rotational speed maximum of 1.6m/sec and 5.2 rad/sec, respectively.

Figure 4. Mobile robot Pioneer 2.

**VII. EXPERIENCES**

In the following examples, the values *u*max=0.3m/sec and w max=2.0rad/sec have been chosen in order to select design parameters and to avoid saturation of control actions. The parameters were set at: g =0.3, *k*=0.4, *r*=10^{-5}, k =0.6. The parameters value of the impedance controller are *K*=10 Nt/rad and *B*=1.2 Nt.sec/rad. The tests were made in a partially structured environment, where the obstacles (columns and walls) have definite geometric forms but their positions are assumed to be unknown. The controllers guide the mobile robot from an initial position to a target position while avoiding the obstacles on its way. The obstacles are detected by the ultrasonic sensor system.

Figures 5 and 7 show the trajectory described by the mobile robot, for a case in which an obstacle arises on its free trajectory towards the target. In these figures, the dashed line describes the free space trajectory of the mobile robot. For these examples, the impedance control loop is active when the mobile robot finds an obstacle at less than 1m (point A).

Figures 6 and 8 show the linear and angular velocities of the mobile robot when avoiding obstacles.

**A. Motion Control I: Positioning without prescribed orientation (xd=4.8, yd=2.5)**

In this case, the motion control objective does not include the final orientation of the mobile robot. This can be seen in Fig. 5, where the mobile robot reaches the target position with different final orientation (free space and obstacle avoidance path).

Fig. 6 shows the corresponding linear and angular velocities along the trajectory and the action of the controller that avoids saturation of the actuators. The same figure shows the velocities when the mobile robot is avoiding obstacles.

Figure 5. Trajectory described by the mobile robot to avoid an obstacle on its path.

Figure 6. Linear and angular velocities of the mobile robot when avoiding obstacles.

**B. Motion Control II: Positioning with prescribed orientation (xd=4.8, yd=2.5, j d=–pi/4 )**

Contrary to Fig. 5, in this case the motion objective includes the final orientation of mobile robot. This situation is seen in the Fig. 7 where the mobile robot reaches the target position with same final orientation (free space and obstacle avoidance path).

Figure 8 shows the corresponding linear and angular velocities along the above trajectory in the constrained space with anti-saturation controller.

Figure 7. Trajectory described by the mobile robot to avoid an obstacle on its path.

Figure 8. Linear and angular velocities of the mobile robot when avoiding obstacles.

**C. Motion Control II Special Case: Following a path.**

This is a particular case of "positioning with prescribed orientation". Under this control objective we follow a strategy similar to that presented in (Aicardi *et al*., 1995). The <g> goal frame defining (xd,yd,j d) is moved along the desired trajectory. The velocity *dr* of <g> on the path is given by

with e >0, and D>0 representing the maximum velocity of goal frame on the path. Under this strategy, the robot follows the moving goal <g> on the path.

Figure 9 shows the trajectory described by the mobile robot when it follow a path. The reference path, selected as** ***yd=atan(xd ^{4}*

**),**is represented by a solid line. Fig. 10 shows the corresponding linear and angular velocities when the robot navigates along the path.

Figure 9. Trajectory of the robot following a path.

Figure 10. Linear and angular velocities of the mobile robot when following a path.

**VIII. CONCLUSIONS**

This paper presents a simple and effective closed loop control law for a unicycle-like vehicle, combined with an effective control law for obstacle avoidance. First, two control objectives are considered: positioning with and without final orientation of the vehicle. The control system is structured based on two loops, the position control loop and the impedance control loop. Impedance is defined as referred to a fictitious force, as a function of the sensed distance to any obstacle in the vicinity of the robot. Finally, the control objective of path following was considered. The controllers keep the position error *e* within admissible bounds in order to avoid saturation of control actions. The control system is proven to globally and asymptotically drive the control errors towards zero. Experiences have been carried out on a Pioneer mobile robot in order to show the good performance properties of the proposed control system.

**ACKNOWLEDGMENTS**

The work was partially funded by CONICET, ANPCyT and U.N.S.J.

**REFERENCES**

1. Aicardi, M., G. Casalino, A. Bicchi and A. Balestrino. "Closed loop steering of unicycle-like vehicles via Lyapunov techniques". *IEEE Robotics & Automation Magazine.* **2, No. 1**, 27-35 (1995). [ Links ]

2. Borenstein J. "Real-time obstacle avoidance for fast mobile robots" *IEEE Trans. System, Man & Cybern*., **19**, **No. 5**, 1179-1187 (1989) [ Links ]

3. Borenstein, J. and Y. Koren. "The vector field histogram - Fast obstacle avoidance for mobile robots". *IEEE Transactions on Robotics and Automation*, ** 7, No 3**, 278-288 (1991). [ Links ]

4. Carelli, R., H. Secchi and V. Mut, (1999). "Algorithms for Stable Control of Mobile Robots with Obstacle Avoidance". *Latin American Applied Research*. **29**, **No**.2/3, 191-196 (1999). [ Links ]

5. Hogan, N. "Impedance control an approach to manipulators" Parts I and II. *ASME Journal of Dynamics Systems, Measurement and Control*, **107**, 1-16** **(1985). [ Links ]

6. Khatib, O. "Real-time obstacle avoidance for manipulators and mobile robots*" Proceedings IEEE-ICRA*, St. Louis MO, 500-505 (1985). [ Links ]

7. Koren Y. and J. Borenstein, "Potential field methods their inherent limitations for mobile robots navigation" *Proceedings IEEE-ICRA*, Sacramento CA, 1398-1404 (1991). [ Links ]

8. Mut, V., R. Carelli and B. Kuchen. "Adaptive impedance control for robots with sensorial feedback". *XIII National Symposium of Automatic Control - AADECA, A*rgentina (in Spanish). **1**, 345-349 (1992). [ Links ]

9. Newman, W. S. and N. Hogan, "High speed robot control and obstacle avoidance using dynamic potential functions" *Proceedings IEEE-ICRA*, Raleigh NC, 14-24 (1987). [ Links ]

10. Sagués, C., L. Montano and J. Neira. "Guarded and compliant motions using force and proximity sensors". *Internal report, *Department of Electrical and Computing Engineering, University of Zaragoza, Spain (1990). [ Links ]

11. Secchi, H., V. Mut and R. Carelli. "Impedance control for mobile robots with sensorial feedback". *XIV National Symposium of Automatic Control – AADECA*, Argentina (in Spanish) 19-24 (1994). [ Links ]

12. Secchi, H. "Autoguided vehicles control with sensorial feedback". *Master Thesis* (in Spanish). San Juan National University Foundation. (Argentina) (1998). [ Links ]

13. Vidyasagar M. *Nonlinear Systems Analysis*, second edition. Prentice-Hall Int. (1993). [ Links ]