InTech uses cookies to offer you the best online experience. By continuing to use our site, you agree to our Privacy Policy.

Robotics » Mobile Robotics » "Mobile Robots Navigation", book edited by Alejandra Barrera, ISBN 978-953-307-076-6, Published: March 1, 2010 under CC BY-NC-SA 3.0 license. © The Author(s).

# Stable Switching Control of Wheeled Mobile Robots

By Juan Marcos Toibero, Flavio Roberti, Fernando Auat Cheein, Carlos Soria and Ricardo Carelli
DOI: 10.5772/9005

Article top

## Overview

Figure 2. Wall angle computation. Resulting in the value θ w a l l 010 of the wall-angle related to robot posture x , y and θ in the world coordinate system for the beam at 10º

Figure 3. Wall-following controller scheme. Distance error calculation. Note that the value for the distance error could be negative.

Figure 4. a) Trajectory described by the robot following a wall with straight contour. The contour of the wall was reconstructed by using laser information. b) Distance between the robot and the straight wall. The linear velocity for this experiment was set to 200millimetres per second.

Figure 5. a) Trajectory described by the robot following a wall of variable contour. As can be seen, the wall presents variations on its contour and on its texture. b) Robot wall distance in the variable contour experiment. The error is less than 25millimetres – a small value when compared to the size of the robot.

Figure 6. a) Robot following an almost-circular contour. The linear velocity for this experiment was set to 200millimetres per second. b) Robot wall distance in the circular path experiment. The error is less than 25millimetres.

Figure 7. Main problems when following contours: a) the presence of an open corner and b) the presence of an interior corner.

Figure 8. Handling “loss of wall” situations.

Figure 9. Handling possible collision situations, a) obstacle detected at instant k , and b) free-path condition achieved with d ̃ k + T ≤ d ̃ k at instant k + T

Figure 10. Angular position controller description

Figure 11. Block diagram of the Contour-Following controller.

Figure 12. Supervisor logic.

Figure 13. Robot following a rectangular contour

Figure 14. Robot moving along a corridor avoiding obstacles

Figure 15. Robot moving along a corridor avoiding obstacles

Figure 16. General SLAM - Control system architecture where the control uses SLAM system state information for planning purposes

Figure 17. Map reconstruction of the Institute of Automatics

# Stable Switching Control of Wheeled Mobile Robots

Juan Marcos Toibero1, Flavio Roberti1, Fernando Auat Cheein1, Carlos Soria1 and Ricardo Carelli1

## 1. Introduction

This Chapter addresses the wheeled autonomous mobile robots navigation problem starting from very simple solutions which are used to solve more complex tasks. This way, it is considered a hybrid (discrete-time/continuous-time) approach, composed by several individual continuous controllers, each of them solving a particular navigation problem, but when are considered as a whole constitute a new approach for more demanding navigation challenges. The discrete part of this system is compound by a high order supervisor, which gives the logic switching. In particular, this Chapter deals with Switching Systems, which are hybrid system characterized by the fact that only a unique controller could be active at any time. This kind of control architecture presents some benefits as for example the modularity and the possibility to analyze the whole system behavior, allowing the designer to conclude stability. It also allows, conversely, decomposing a given task in simpler subtasks which could be treated separately in order to facilitate the design process.

The interest on asymptotic stability is due to our interest on the control system analysis. For this reason, several well-known concepts such as Lyapunov stability and common Lyapunov functions (Liberzon, 2003) will be treated along this Chapter, in order to prove stability for the individual controllers as well as for the switching controller. So, it will be shown under a control point of view the design and analysis of stable switching controllers and two applications examples to wheeled robots navigation: firstly, developing a switching controller for reactive obstacle avoidance (Toibero et al., 2009); and secondly, its applications at the local navigation level in a simultaneous localization and map building (SLAM) task (Auat Cheeín, 2009).

Robotic autonomy is directly related to the capability the robots have to perform given task without continuous human guidance. Arkin (1998) proposed a way to deal with this autonomy, by decomposing a task into individual behaviors such as e.g. move-to-goal, find-next-point, return-to-start, wander and halt. Next, these behaviors may be selected or fused according to a desired performance. Within the several available behaviours, the interest is on a key feature for robot autonomy: obstacle detection, identification and avoidance.

In addition to the use of WF in move-to-goal and obstacle avoidance behaviors considered by several authors, other complementary applications of a CF controller are the mapping of interior environments (Auat Cheein, 2009), (Edlinger & von Puttkamer, 1994), (Fazli & Kleeman, 2005) in surveillance tasks and within teleoperation contexts (Wang & Liu, 2004) using a similar behavior for telecommanding a mobile robot.

The remaining of this Chapter is organized as follows. Section 2 presents the mobile robot kinematcis. Section 3 proposes a WF controller to maintain this desired distance for straight and smooth varying walls based on laser and odometric information only. Next, in Section 4 some limitations of this approach are shown; and a switching scheme that allows the fully contour-following of the object is presented, including several experimental results in Section 5. As a final example application, in Section 6 it is shown the incorporation of this controller to a SLAM task showing also additional experimental results.

## 2. Mobile Robot

The unicycle-type wheeled mobile robot is to be considered in this Chapter. Let us set the specific notation, with reference to Figure 1, the global or task coordinate system is denoted by [W] and the coordinate system attached to the robot by [R]. The robot states variables are x, y and; where denotes the heading of the vehicle relative to the WX-axis of the world coordinate system. Vector [xyθ]T defines the posture of the vehicle. The kinematics of the robot can be modeled by the well known kinematics model.

 χ˙=[x˙y˙θ˙]=f(χ,u)=[cos(θ)0sin(θ)001][υω] (1)

The robot is equipped with a laser radar sensor. As it can be seen in Figure 1, some lateral beams are used to estimate the object contour angle, whereas all beams are used to define a safety-zone, which purpose is to detect possible collisions between the robot and the object. The selection of the side of the object to follow is based on the initial conditions. Firstly the robot computes the object orientation and the distance to the object for its right side and also for its left side, then, the robot will take the nearest side to follow and will keep following this side. Each beam is identified by its angle, e.g. for the beam at 0º, the notation d000 is used to denote the distance measured by this beam. From here on, to simplify the notation, it will be assumed that the robot follows only the wall at the right side of the robot.

## 3. Standard Wall-Following Control

A WF controller will be referred as standard in this Chapter, when do not allow to follow discontinuous walls. It could be said that allows the robot to follow continuous (straight) and smooth varying contours. This appreciation is based on its stability proof. Two control states must be defined: the robot-to-wall angle in Section3.1; and the robot-to-wall distance in Section3.2.

## 3.1 Wall Angle Computation

The wall angle estimation is performed by using only two beams: one perpendicular to the heading of the robot, and the other may be selected depending on the desired robot-wall distance. In order to obtain a more reliable value, it is considered a group of beams at each side of the robot, thus resulting ten different angle values. Each value is obtained according to

 θwall10=atanatan(−Δy−Δx)=atanatan(y010−y000x010−x000) (2)

These values are then fused together using a decentralized Kalman filter (Brawn & Hwang, 1997) which returns an improved estimation for the wall angle θwall with respect to the world coordinate system. In Toibero et al. (2009) details and derivations of this filter can be found.

### Figure 2.

Wall angle computation. Resulting in the value θwall010 of the wall-angle related to robot posture x,y and θ in the world coordinate system for the beam at 10º

## 3.2 Robot-wall distance computation

The wall-distance computation to a wall at the right side of the robot is obtained by

 dwall=d000coscos(θ̃) (3)

where θ̃ is the difference between the heading angle of the robot and the wall angle. This angle is properly defined in the next paragraphs. It can be obtained a similar expression for the distance to a wall at the left side of the robot by replacing d000 with d180 . Note that according with (3) it is assumed that the distance from the robot to the wall is considered for null orientation error.

### 3.2.1 Controller description and analysis

This controller renders a control law for wall-following based on the laser sensorial information and the odometry of the robot. The reference for this controller is the desired distance from the robot to the wall ddes . As can be seen in Figure 3, the control errors are defined (Toibero et al., 2006b), as follows

 d̃=ddes−dwall (4)
 θ̃=θwall−θ (5)

Equation (4.a) states the distance error between the actual distance to the wall and the desired distance to the wall ddes while equation (4.b) states the orientation error between the estimated wall angle and the heading angle of the robot in the world coordinate system [W].

### Figure 3.

Wall-following controller scheme. Distance error calculation. Note that the value for the distance error could be negative.

The time variations of the control errors are given by

 d̃̇=−νsinsin(θ̃) (6)
 θ̃̇=θ˙wall−ω (7)

where, θ˙wall is the derivative of the reference for the wall orientation. This derivative is null for a straight wall. Now, taking into consideration the control system analysis, the following - globally positive definite and radially unbounded - Lyapunov candidate function is proposed

 V=12θ̃2+∫0d̃kd̃(ξ)ξ dξ (8)

where kd̃(d̃) was selected as in (Kelly & Carelli, 1996) and ξ is a dumb variable:

 kd̃=k11+|d̃|≥0 (9)

The time derivative of the Lyapunov candidate function is

 V˙=θ̃θ̃̇+kd̃d̃d̃̇ (10)

Then, the proposed control actions are

 ν=νmax≥0 (11)
 ω=θ˙wall+Kθ̃tanhtanh(kθ̃θ̃)+kd̃d̃νsinsin(θ̃)θ̃ (12)

where νmax is the desired linear velocity; Kθ̃0 is a positive definite design constant, and kθ̃ is a design constant that indicates the slope of the tanh function which can be adjusted with Kθ̃ in order to bound the control action to its saturation values. By substituting (9) in (8) the derivative of the Lyapunov candidate function becomes

 V˙=−Kθ̃θ̃tanhtanh(kθ̃θ̃) (13)

Equation (10) states that the control system is Lyapunov stable but not asymptotically stable. To prove the asymptotic stability the autonomous nature of the closed-loop system is considered. The closed-loop equations can be obtained by replacing the control actions in (5)

 d̃̇=−νmaxsin(θ̃) (14)
 θ̃̇=−Kθ̃θ̃tanhtanh(kθ̃θ̃)−kd̃d̃νmaxsinsin(θ̃)θ̃ (15)

By applying the Krasovskii-LaSalle theorem (Vidyasagar, 1993) in the Ω region, with

 Ω={[d̃θ̃]:V˙(d̃,θ̃)=0}⇒{[d̃θ̃]=[d̃0]} (16)

the only invariant is d̃=0 . Therefore, by invoking LaSalle theorem, it can be concluded that the origin of the state space is globally uniformly asymptotically stable.

### 3.2.2 Experimental results

This controller was proved in a real office environment with a Pioneer3-DX mobile robot. The robot length is about 330millimeters. The values of the design parameters were set to: k1=0.025 Kθ̃=11.5 kθ̃=0.3 and ddes=500 millimeters. In order to show the performance of the proposed controller, three different experiments were carried out:

1. The robot follows a straight wall.

2. The robot follows a wall with smoothly varying contour.

3. The robot follows an almost-circular contour.

### Figure 4.

a) Trajectory described by the robot following a wall with straight contour. The contour of the wall was reconstructed by using laser information. b) Distance between the robot and the straight wall. The linear velocity for this experiment was set to 200millimetres per second.

### Figure 5.

a) Trajectory described by the robot following a wall of variable contour. As can be seen, the wall presents variations on its contour and on its texture. b) Robot wall distance in the variable contour experiment. The error is less than 25millimetres – a small value when compared to the size of the robot.

From Figures 4 to 6, a good performance of the proposed controller can be concluded. For all the experimental situations the errors are not significant. But it can be noted the impossibility of the controller to follow discontinuous walls‘ contours. These results inspire the development of the Contour-following controller of the next Section.

### Figure 6.

a) Robot following an almost-circular contour. The linear velocity for this experiment was set to 200millimetres per second. b) Robot wall distance in the circular path experiment. The error is less than 25millimetres.

## 4. Contour-Following Controller

A stable switching between several controllers is a proper way to improve performance or to achieve control objectives that are difficult or impossible to consider under continuous nonlinear control. The proposed switching controller is designed to follow the contour of objects which have at least a size comparable with that of the robot (Toibero et al., 2006a). The basic idea is to use the wall-following controller described in Section 2. The controller is designed within the context of stability theory for switching systems. The WF controller acting alone shows a good performance when following a wall, but there are two cases which it cannot deal with:

1. Abrupt variations in the contour of the object which makes it difficult to estimate the actual object’s angle. In this case (Figure 7.a) the distance measured by the laser beams varies suddenly.

2. Abrupt variations in the contour due to an interior corner that causes the robot to crash against the object (Figure 7.b).

#### Figure 7.

Main problems when following contours: a) the presence of an open corner and b) the presence of an interior corner.

The first step is given by the proper detection of these situations, and fortunatelly, both can be detected by using the laser radar. For example, the first case can be detected by computing the variance of the length of the lateral beams (note that these lateral beams estimates the wall angle). So, this variance would have a value close to zero when the robot is following a wall, but it will become larger when this contour is lost. Therefore, a threshold value can be defined in order to generate a loss of wall event. On the other hand, for the second case, collisions can be detected as an invasion of the robot safety-zone. If the length of any beam lies within this predefined safety-zone, then a possible collision event is generated.

At this point, we aggregate two new individual subsystems, one to deal with each situation, thus building a switching system.

### 4.1-. Handling the case of missing the wall to follow

In this case, the robot has lost the wall to follow. This behavior is activated when non-consistent measurements of the control states θ̃ and d̃ are obtained. The proposed solution is to describe a circular path of radius R on the floor (Figure 8) until one of the following conditions is fulfilled:

1. The wall can be followed again using the wall-following behavior provided that d̃=d̃lost (Figure 8.a and Figure 8.b); being d̃lost the last value of d̃ just before switching. This way, it could be assumed that d̃̇=0 considering the value of d̃ does not change at the beginning and at the end of this behavior.

2. A possible collision between the robot and the wall is detected (Figure 8.c.), as considered in Section 3.2.

### Figure 8.

Handling “loss of wall” situations.

In order to be able to guarantee stability, a controller must be included, and this controller should share the same control states which the standart WF controller had. For this reason,we included a simple controller to describe a circular path of radius R0 , based on the previous wall-following controller, though the distance error is not considered. Therefore, considering the following errors as in (4)

 θ̃=θcirc−θ (17)

where θcirc is the heading reference to perform the desired circular path

 θcirc=±νmaxRt (18)

Here, the plus/minus sign of (14) denotes that the reference θcirc will generate a left or right turn. That is, the robot will turn left (right) if it is following an object at its left (right) side. Then, replacing (14) into (13) and considering its time derivative, we obtain

 θ̃̇=θ˙circ−ω=±νmaxR−ω (19)

In order to analyze the stability of this control system, consider the following Lyapunov candidate function and its time derivative

 Vθ̃=θ̃22 (20)
 V˙θ̃=θ̃θ̃̇=θ̃(±νmaxR−ω) (21)

Now, to achieve the control objective, the following control actions are proposed

 ν=νmax (22)
 ω=±νmaxR+Kθ̃tanhtanh(kθ̃θ̃)Kθ̃0,kθ̃0 (23)

Finally, by replacing (18) in (17), the asymptotic stability of the control system can immediately be proved. That is, this controller guarantees that the robot will perform a circular path by acting only on the robot angular velocity.

## 4.2 Handling possible collisions

This behavior is activated when an obstacle appears in front of the robot at a distance dimpactdfront , being dimpact the smallest distance to the obstacle measured inside the robot safety-area, which is also characterized by and angle dimpact on the laser range finder framework. Also, dfront (defined in Section2) is selected to be equal to the actual robot wall distance dwall and dlatdfront . The objective of this behavior is to avoid possible collisions by rotating the robot until a free-path condition (characterized by an empty safety-area) is again achieved, and d̃k+T=d̃k , where k is the obstacle detection instant, and T is the time during this behavior was active until switching to the wall-following behavior. Under the above mentioned conditions, this behavior will always achieve a free- path condition satisfying d̃k+T=d̃k (see Figure 9). Analogously to the behavior described in Section4.1, it could be assumed that d̃̇=0 , considering that d̃ does not change at the beginning and at the end of this behavior.

#### Figure 9.

Handling possible collision situations, a) obstacle detected at instant k , and b) free-path condition achieved with d̃k+Td̃k at instant k+T

To this aim, it is proposed a controller to allow the robot to positioning itself at a desired orientation angle θd . The orientation error between the heading angle of the robot and the desired orientation is defined as shown in Figure 10

 θ̃=θd−θ (24)

where θd=θimpact±90º is a constant value that is updated so as to attain an open area.

#### Figure 10.

Angular position controller description

Then, the time derivative of (19) is,

 θ̃̇=−ω (25)

The asymptotic stability analysis of this controller can be proved by considering again (16) along with the following control actions:

 ν=0 (26)
 ω=Kθ̃tanhtanh(kθθ̃),Kθ̃0 (27)

As done in the previous section, by replacing (21.b) into (20), the asymptotic stability of this control system, that is θ̃(t)0 as t , can easily be proved.

## 5. Switching System

Once each part was designed it is necessary to desing the supervisor logics. Figure 11 presets the final block diagram, which includes three behaviors: wall-following, orientation and rotation (circular path performer). The switching signal generated by the supervisor, takes one of three possible values: a) σ=0 if the controller for object-following is active, b) σ=1 if the orientation controller is active and c) σ=2 if the controller to perform a circular path is active.

#### Figure 11.

Block diagram of the Contour-Following controller.

#### Figure 12.

Supervisor logic.

Transitions between these discrete states are ruled by the logic described in Figure 12 (Toibero et al., 2006a). Where, as mentioned before, the “Possible crash” condition is detected as an invasion to the guard-zone shown in Figure 1.c and the “Loss of wall” condition depends on the variance of the length of the laser beams on the side of the robot. It is easy to see that these transitions do not depends on the control states values, but on data provided by the laser range finder. This a priori unpredictable data will define the value for the switching signal σ

### 5.1. Stability Analysis

Given a family of systems, it is desired that the switched system be stable for every switching signal σ . This is known as stability under arbitrarily switching and has been the subject of several studies (Vu & Liberzon, 2005), (Liberzon, 2003) and (Mancilla-Aguilar, 2000). In fact, common Lyapunov functions are considered in order to prove stability for arbitrary switching. Finding a common Lyapunov function could be a difficult task, but if such function is found, the restrictions over the switching signal disappear, allowing the stable switching between the involved controllers. So, a basic fact that is used in this Section is that the existence of a Common Lyapunov Function with suitable properties guarantees uniform stability, as stated in (Liberzon & Morse, 1999). Let us define a Common Lyapunov Function

Definition I (Liberzon, 2003)

Given a positive definite continuously differentiable function V:n , then, it is said that V is a common Lyapunov function for the family of systems χ˙=fp(χ),pP ,if there exists a positive definite continuous function W:n such that

 ∂V∂χfp(χ)≤−W(χ)∀χ,∀p∈P (28)

Where p is some index set. Now, the following theorem can be stated

Theorem I (Liberzon, 2003)

If all systems in the family χ˙=fp(χ),pP share a radially unbounded common Lyapunov function, then the switched system x˙=fσ(x) is globally uniformely asymptoticaly stable (GUAS).

The main point in this well-known theorem is that the rate of decrease of V along solutions, given by (22), is not affected by switching, hence asymptotic stability is uniform with respect to σ . Now, the purpose is to find a Common Lyapunov Function for the three continuous controllers. Then, it is first necessary to show that the closed-loop systems corresponding to each controller share a common equilibrium point at the origin. From Sections 3, 4.1 and 4.2, the closed-loop equations are

 χ˙=f0(x)=[θ̃̇d̃̇]=[−Kθ̃(θ̃)tanhtanh(kθ̃θ̃)−kd̃(d̃)d̃νmaxsinsin(θ̃)θ̃−νmaxsinsin(θ̃)] (29)
 χ˙=f1(x)=[θ̃̇d̃̇]=[−Kθ̃(θ̃)tanhtanh(kθ̃θ̃)0] (30)
 χ˙=f2(x)=[θ̃̇d̃̇]=[−Kθ̃(θ̃)tanhtanh(kθ̃θ̃)0] (31)

It is clear that the origin is a common equilibrium point for the involved controllers. Then, from (6) and (16), a common Lyapunov function for the switching among these controllers is given by (6). Therefore, it can be concluded that the switching control system composed by the three subsystems described in the previous sections is stable for any switching signal σ , because every behavior is at least stable considering the common Lyapunov function (6). However, the proposed application is composed by an asymptotically stable main behavior (wall-following) and two complementary stable behaviors (orientation and circular-path performer). As it was shown along this paper, the complementary behaviors are active only during special situations and the system always returns to the main behavior. Therefore, the GUAS property for the overall switched system can be concluded, provided that the wall following behavior is asymptoticaly stable (AS).

## 6. Experimental results

The switching contour-follower controller described in this Chapter has been implemented in a Pioneer III mobile robot navigating through a typical office environment at 150millimetres per second. In the following figures it can be seen the trajectory described by the robot when following the interior contour of the Institute of Automatics (INAUT). As mentioned before, the office contour was reconstructed by using the laser sensorial information.

The first experiment (Figure 13) shows a typical situation when following discontinuous contours. The robot follows the outline of a rectangular box at 400millimetres. From this picture it can be appreciated the good performance of the controller when switching between the wall-following and the circular path controller, in this specially discontinuous contour.

#### Figure 13.

Robot following a rectangular contour

Figure 14 depicts the performance of the control system when unknown obstacles appear in front of the robot: in this case first avoiding a human being and finally due to a block in the corridor, the robot returns to keep following the corridor the opposite side.

#### Figure 14.

Robot moving along a corridor avoiding obstacles

#### Figure 15.

Robot moving along a corridor avoiding obstacles

The controller constants were set to: νmax =150millimeters per second, k1=0.02 , Kθ̃=0.25 and kθ̃=5 . The sample time was of 100milliseconds. The desired distance to the object was selected as 0.38meters, the selection of this value was based on the size of the doors, and larger values for dwall do not allow the robot to pass across them.

## 7. Mobile robot SLAM algorithm combined with a stable switching controller

Once treated the obstacle avoidance problem, its inclusion to a new system is considered in this Section. In the introductory section, some paragraph dedicated to possible applications to this algorithm mentioned mapping of unknown environments. In fact, simultaneous localization and map building (SLAM) is a challenging problem in mobile robotics that has attracted the interest of an increasing number of researchers in the last decade (Thrun et al., 2005), (Briechle & Hanebeck, 2004). Self-localization of mobile robots is obviously a fundamental issue in autonomous navigation: a mobile robot must be able to estimate its position and orientation (pose) within a map of the environment it is navigating within (Pfister et al., 2003), (Garulli et al., 2005). However, in many applications of practical relevance (like exploration tasks or operations in hostile environments), a map is not available or it is highly uncertain. Therefore, in such cases the robot must use the measurements provided by its sensory equipment to estimate a map of the environment and, at the same time, to localize itself within the map. Several techniques have been proposed to solve the SLAM problem (Thrun et al., 2005), (Durrant-Whyte & Bailey, 2006 a), (Durrant-Whyte & Bailey, 2006 b).

The SLAM algorithm implemented in this final Section consists on a sequential Extended Kalman Filter (EKF) feature-based SLAM. Prior to the experimental results, it is necessary to devote some paragraphs to its functioning algorithms for completness. This algorithm fuses corners (convex and concave) and lines of the environment in the SLAM system state. Corners are defined in a Cartesian coordinate system whereas lines are defined in the polar system. In addition to the SLAM system state, a secondary map is maintained. This secondary map stores the information on the endpoints of each segment associated with a line of the environment (representing walls). The secondary map and the SLAM system state are updated simultaneously. Once a new feature is added to the SLAM system state, it is also added to the secondary map. The feature extraction method allows the rejection of moving agents of the environment. Equations (26) and (27) show the SLAM system state and its covariance. As it can be seen, the SLAM system state has the robot’s pose estimation ( χ) and the parameters that define the features of the environment. The covariance matrix has covariance of the robot’s pose estimation ( Pvv ), the covariance of the features’ parameters ( Pmm ) and the corresponding cross correlations. The elements of the SLAM system state are attached to a global coordinate system determine at the SLAM’s first execution (Durrant-Whyte & Bailey, 2006a).

 ς(k)=[χ(k)ς1(k)⋮ςn(k)]G (32)
 P(k)=[Pvv(k)Pvm(k)PvmT(k)Pmm(k)] (33)

The combination of the SLAM algorithm with a strategy for exploration or navigation inside the environment is known as Active SLAM and has been a key poblem in the implementation of autonomous mobile robots. The integration of SLAM algorithms with control strategies to govern the motion of a mobile robot and the ability of selecting feasible destinations on its own will endow the vehicle with full autonomy (Liu et al., 2008), (Liu et al., 2007).

The combination of control strategies with the SLAM algorithm has been addressed from two significantly different points of view. Whereas the first one considers how the control is used to reduce errors during the estimation process (Durrant-Whyte & Bailey, 2006 a), (Durrant-Whyte & Bailey, 2006 b) the second one concerns exploration techniques providing the best map from the reconstruction perspective (Andrade-Cetto & Sanfeliu, 2006). Despite the duality between regulation and estimation, whatever the control strategy is implemented, it will not be guaranteed that, in general, the mobile robot will follow a specific trajectory inside the environment. In many applications, the control signal is not considered as an input of the SLAM algorithm, and, instead, odometry measurements of the robot are used (Guivant & Nebot, 2001), (Durrant-Whyte & Bailey, 2006a), (Durrant-Whyte & Bailey, 2006b). Thus, most of the associated implementations focus on the low-level, basic control-reactive behavior, leaving the motion planning and control as a secondary algorithm. Thus, albeit restricted to a local reference frame attached to the robot, active exploration strategies for indoor environments are proposed in (Andrade-Cetto & Sanfeliu, 2006), (Liu et al., 2008). As an example, a boundary exploration problem is proposed in (Xi, 2008). In this case, the robot has to reach the best point determined in the boundary of its local point of view. From a global reference perspective, these implementations have a random behavior inside the environment. To solve the lack of global planning, some implementations have included algorithms for searching optimal path based on the information acquired of the environment. These algorithms usually require the map to be gridded and, accordingly, they compute a feasible path to a possible destination (closure of the loop or global boundary points) without specifying the control law implemented on the mobile robot. Despite of the advances made so far, the integration of control strategies based on the SLAM system state (map and vehicle) to guide the robot inside an unknown environment from a local and a global reference frame following a pre-established plan is not quite studied or implemented in real time.

#### Figure 16.

General SLAM - Control system architecture where the control uses SLAM system state information for planning purposes

Figure 17 shows the real time experimentation of the SLAM algorithm combined with the two control strategies. The experimentation was carried out at the facilities of the Instituto de Automatica. As it can be seen, the map obtained by the SLAM was built consistently. The local controller (adaptive switching control) and the global controller (hybrid contour following) have allowed the entire navigation of the mobile robot within the Instituto de Automatica.

#### Figure 17.

Map reconstruction of the Institute of Automatics

In Figure 17, the green circles are the corners detected in the environment, the solid dark lines are the segments associated with walls whereas red crosses are the beginning and ending points of such segments; the red points are the path travelled by the mobile robot and the yellow points are raw laser data.

## 8. Conclusions

In this Chapter it has been presented a switched countour-following controller, which allows a wheeled mobile robot to follow discontinuous walls‘ contours. This controller has been developed by considering a standard (stable) wall-following controller and aggregating two complementary (also stable) controllers. One risponsible for avoid collisions between the robot and the object which is being followed, and the other responsible for find a lost contour of this same object. This new swiching controller proved to be stable with respect to its swiching signal, guaranteing that the robot will be able to stay at a desired robot-to-object distance, and with the same object orientation.

Next, this controllers was included into a SLAM algorithm, in order to deal with the exploration and map construction of unknown environments, exposing the modularity capability of this kind of control architecture.

In designing the control system, the asymptotic stability of the individual controllers as well the asymptotic stability at the switching times (for the switching controller) were considered and proved.

Several experimental results in a Pioneer III mobile robot with odometry and laser radar sensor have been included; showing the good performance of the proposed control strategy in a laboratory setting, in the first attemps, and later, in a large scale setting for the SLAM experiment.

## 9. Acknowledgements

Authors thank to the National Council of Scientific and Technical Research of Argentina (CONICET) for partially supporting this research.

## References

1 - Y. Ando, S. Yuta, 1996 A reactive wall-following algorithm and its behaviors of an autonomous mobile robot with sonar ring.. Journal of Robotics and Mechatronics, 8 1), 33 39 .
2 - J. Andrade-Cetto, A. Sanfeliu, 2006 Environment Learning for Indoors Mobile Robots, 978-3-54032-795-0 Series: Springer Tracts in Advanced Robotics, 23 Springer
3 - R. C. Arkin, 1998 Behavior-based Robotics, MIT Press: Cambridge, M A.
4 - Cheein. F. A. Auat, 2009 Simultaneous Localization and Mapping of a Mobile Robot based on Uncertainty Zones Navigation, PhD Thesis, 978-9-87056-727-1 INAUT: National University of San Juan
5 - T. Bailey, J. Nieto, J. Guivant, M. Stevens, E. Nebot, 2006 Consistency of the EKF-SLAM algorithm, in IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 3562 3568 , 142440259 Beijing, China
6 - E. Bicho, 2000 Detecting, representing and following walls based on low-level distance sensors, Proc. of the 2nd Int. Symposium on Neural Computation.
7 - M. J. L. Boada, F. J. Rodriguez, R. Barber, M. A. Salichs, 2003 A control system based on reactive skills for autonomous mobile robots, IEEE Int. Conf. on Advanced Robotics.
8 - J. Borenstein, Y. Koren, 1989 Real-time obstacle avoidance for fast mobile robots, IEEE Trans. on Systems, Man and Cybernetics. 19 5), 1179 1187
9 - R. Braunstingl, J. M. Ezkerra, 1995 Fuzzy logic wall following of a mobile robot based on the concept of general perception, Int. Conf. on Advanced Robotics, 367 376
10 - R. Brawn, P. Hwang, 1997 Introduction to Random Signals and Applied Kalman Filtering 3rd ed., John Wiley & Sons: New York, 371 375
11 - K. Briechle, U. D. Hanebeck, 2004 Localization of mobile robot using relative bearing measurements, IEEE Transactions on Robotics and Automation, 20 1 36 44 , 0104-296X
12 - C. De la Cruz, R. Carelli, T. F. Bastos, 2008 Switching Adaptive Control of Mobile Robots, in: International Symposium on Industrial Electronics, 835 840 , 978-1-42441-665-3 June 30 2008-July 2, Cambridge, UK
13 - H. Durrant-Whyte, T. Bailey, 2006a Simultaneous localization and mapping (SLAM): part I essential algorithms. IEEE Robotics and Automation Magazine, 13 99 108 , 1070-9932
14 - H. Durrant-Whyte, T. Bailey, 2006b Simultaneous localization and mapping (SLAM): part II state of the art, IEEE Robotics and Automation Magazine. 13 3 108 117 , Sept., 1070-9932
15 - T. Edlinger, Puttkamer. E. von, 1994 Exploration of an indoor-environment by an autonomous mobile robot, IEEE/RSJ/GI Int. Conf. on Intelligent Robots and Systems 2, 1278 1284
16 - S. Fazli, L. Kleeman, 2005 Wall following and obstacle avoidance results from a multi-dsp sonar ring on a mobile robot, In Proc. of the IEEE Int. Conf. on Mechatronics & Automation, 5, 432 437
17 - A. Garulli, A. Giannitrapani, A. Rosi, A. Vicino, 2005 Mobile robot SLAM for line-based environment representation, Proceedings of the 44th IEEE Conference on Decision and Control, 2041 2046 , 0-78039-567-0 2005
18 - J. E. Guivant, E. M. Nebot, 2001 Optimization of the simultaneous localization and map-building algorithm for real-time implementation, IEEE Transactions on Robotics and Automation, 17 242 257 , 0104-2296X
19 - R. Kelly, R. Carelli, 1996 A class of nonlinear PD-type for robot manipulator, Journal of Robotic Systems, 13(12), 793 802
20 - D. Liberzon, A. S. Morse, 1999 Basic problems in stability and design of switched systems, IEEE Control Systems Magazine, 19(5):59 70
21 - D. Liberzon, 2003 Switching in Systems and Control, Birkhauser
22 - Y. Liu, F. Sun, 2007 A solution to active simultaneous localization and mapping problem based on optimal control, in: Proceedings of IEEE International Conference on Mechatronics and Automation, 314 319 , 978-1-42440-828-3 5-8 August, Harbin, China, 2007
23 - Y. Liu, J. Dong, F. Sun, 2008 An Efficient Navigation Strategy for Mobile Robots with Uncertainty Estimation, in: Proc. of the World Congress on Intelligent Control and Automation, 5174 5179 , 978-1-42442-113-8 25-27 June, Chongquing, China
24 - J. L. Mancilla-Aguilar, 2000 A condition for the stability of Switched Nonlinear Systems, IEEE Trans. on Automatic Control, 45, 2077 2079
25 - A. T. Pfister, S. I. Roumeliotis, J. W. Burdick, 2003 Weighted line fitting algorithms for mobile robot map building and efficient data representation, in Proceedings of the 2003 IEEE International Conference on Robotics and Automation, 1304 1311 , 0-78037-736-2 September 2003
26 - S. Thrun, W. Burgard, D. Fox, 2005 Probabilistic Robotics, 978-0-26220-162-9 MIT Press, Cambridge.
27 - J. M. Toibero, R. Carelli, B. Kuchen, 2006a Stable Switching Contour-Following Controller for Wheeled Mobile Robots, IEEE Int. Conf. on Robotics and Automation
28 - J. M. Toibero, R. Carelli, B. Kuchen, 2006b Wall-following stable control for wheeled mobile robots, Proc. of the 8th Int. IFAC Symposium on Robot Control
29 - J. M. Toibero, R. Carelli, B. Kuchen, 2007 Switching control of mobile robots for autonomous navigation in unknown environments, in: IEEE International Conference on Robotics and Automation, 1974 1979 , 14244060131014 April, Rome, Italy
30 - J. M. Toibero, F. Roberti, R. Carelli, 2009 Stable Switching Contour-Following Control of Wheeled Mobile Robots. ROBOTICA, 27 1 12
31 - P. van Turennout, G. Hounderd, 1992 Following a wall with a mobile robot using ultrasonic sensors, In Proc. of the 1992 IEEE/RSJ Int. Conf. on Intelligent Robots and Systems 2, 1451 1456
32 - M. Vidyasagar, 1993 Nonlinear Systems Analysis 2nd edition, Prentice Hall, New Jersey
33 - L. Vu, D. Liberzon, 2005 Common Lyapunov Functions for families of commuting nonlinear systems, Systems & control letters, 54: 405 416
34 - M. Wang, J. Liu, 2004 Autonomous robot navigation using fuzzy logic controller. Proc. of the Int. Conf. on Machine Learning and Cybernetics, 26 29 , 2004
35 - B. Xi, R. Guo, F. Sun, Y. Huang, 2008 Simulation Research for ActiveSimultaneous Localization and Mapping Based on Extended Kalman Filter, in: Proc. of the IEEE International Conference on Automation and Logistics, 2443 2448 , 978-1-42442-502-0 1-3 Sept, Quingdao, China.
36 - Z. Zhang, N. Sarkar, X. Yun, 2004 Supervisory control of a mobile robot for agile motion coordination, IEEE Int. Conf. on Robotics and Automation, 3 2196 2203