SciELO - Scientific Electronic Library Online

vol.33 número4On-line estimation of communication time delay in a robotic teleoperation systemIdentification of partially known models of the Susqueda hidroelectric power plant índice de autoresíndice de materiabúsqueda de artículos
Home Pagelista alfabética de revistas  

Servicios Personalizados



  • No hay articulos citadosCitado por SciELO

Links relacionados

  • En proceso de indezaciónCitado por Google
  • No hay articulos similaresSimilares en SciELO
  • En proceso de indezaciónSimilares en Google


Latin American applied research

versión impresa ISSN 0327-0793

Lat. Am. appl. res. v.33 n.4 Bahía Blanca oct./dic. 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 or

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.


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.


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


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 e, the above kinematic equations can be re-written (Aicardi et al., 1995) as



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

  1. 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).
  2. 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.


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)



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,

xd is the desired (xd,yd,j d) position vector;
y is the rotation angle;
is the position error xd-xc; and
is the modified position error.

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


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


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


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


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


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


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


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)


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

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


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


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


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


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


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


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


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

Case I: : Here a0 is equal to a, then

which leads to the situation already analyzed.

Case II: and : Function becomes

In this case 0 < a/a0 £ 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:

  1. The system is autonomous.
  2. There exists a set .
  3. 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

xa = Z-1× F (18)

where xa 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 = xa × 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 xr as the new desired position, and xC’=[xc yc j c] the vector of Cartesian coordinates of the robot. When the fictitious force is zero, 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 atan3 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.


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

  1. Dimensions are L: 0.44m x W: 0.33m x H: 0.22m
  2. 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.
  3. 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.


In the following examples, the values umax=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(xd4), 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.


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.

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

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, Argentina (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 ]