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 this context, there are two main approaches: path planning controllers or reactive controllers. In path planning controllers, the obstacle is to be detected and avoided by defining a new secure path. Instead of that, reactive controllers only react in response to the sensory inputs without major computational effort. In the following, a wall-following (WF) controller already designed is considered as the basis of our obstacle avoider controller. A WF task is characterized by maintaining a constant distance from the robot to a wall (or to an object) and can be properly combined with other tasks in order to obtain higher degrees of autonomy for the mobile platform, e.g. the skill Go-to-goal avoiding obstacles in (Boada et al., 2003). Typically a WF controller has to recognize the distance and orientation errors between the robot and the wall. These two control states can be measured or estimated using sonar, laser rangefinder or information extracted from a video camera. Besides, WF controllers can be easily adapted for navigation along corridors by setting a desired distance relative to the centre of the corridor. Regarding the environment surrounding the robot, a WF controller becomes useful for reactive navigation in unknown environments. In this context, it can be used as an obstacle avoider by considering the obstacle as part of a wall to be followed. Therefore, it is relevant to design controllers for walls with several kinds of contours. The inclusion of such situations leads to a new control problem: to deal with discontinuities on the wall contour. To solve this problem most of the papers in the literature use fuzzy-logic: (Braunstingl & Ezkerra, 1995), (Wang & Liu, 2004), (Ando, 1996), or switching controllers: (Fazli & Kleeman, 2005), (Borenstein & Koren, 1989), (Zhang et al., 2004). The WF problem, as an important component of current robotic research, has been widely considered. In the early work in (van Turennout & Hounderd, 1992) a WF controller was used to avoid obstacles and to follow unknown walls. Then (Ando, 1996) proposes a way to extend the capabilities of this behavior but as a path planning problem, without describing the controller. In (Braunstingl & Ezkerra, 1995) the contour following problem is treated by using a fuzzy logic controller. More recently (Bicho, 2000) has used neural networks in order to estimate the relative orientation of the robot and the wall. In (Zhang et al., 2004) a complete switching controller that allows the robot to track sharp discontinuous trajectories is presented. This last switching approach includes a stability demonstration at the switching times but the controllers need a path to be tracked and the paper does not consider obstacle avoidance while tracking the trajectory. Here, the WF problem is addressed by using a laser rangefinder and odometry in fully unknown environments. Initially, it will be assumed that the wall’s contour is smoothly varying and it is proposed an expression relating the contour variations with the saturation of control actions which is useful to design a saturation-free controller. This first part includes the simpler case of straight walls. Then, the contour-following (CF) problem is treated as an extended approach of the WF problem when considering discontinuities such as corners. For this CF controller three individual subsystems were considered, one characterizing each behavior: re-orientation, wall-following and circle-performer. The stability at the switching times is considered and discussed.
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 defines the posture of the vehicle. The kinematics of the robot can be modeled by the well known kinematics model.
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
These values are then fused together using a decentralized Kalman filter (Brawn & Hwang, 1997) which returns an improved estimation for the wall angle with respect to the world coordinate system. In Toibero et al. (2009) details and derivations of this filter can be found.
3.2 Robot-wall distance computation
The wall-distance computation to a wall at the right side of the robot is obtained by
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 with . 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 . As can be seen in Figure 3, the control errors are defined (Toibero et al., 2006b), as follows
Equation (4.a) states the distance error between the actual distance to the wall and the desired distance to the wall 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].
The time variations of the control errors are given by
where, 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
where was selected as in (Kelly & Carelli, 1996) and is a dumb variable:
The time derivative of the Lyapunov candidate function is
Then, the proposed control actions are
where is the desired linear velocity; is a positive definite design constant, and is a design constant that indicates the slope of the tanh function which can be adjusted with in order to bound the control action to its saturation values. By substituting (9) in (8) the derivative of the Lyapunov candidate function becomes
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)
By applying the Krasovskii-LaSalle theorem (Vidyasagar, 1993) in the region, with
the only invariant is . 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: and millimeters. In order to show the performance of the proposed controller, three different experiments were carried out:
The robot follows a straight wall.
The robot follows a wall with smoothly varying contour.
The robot follows an almost-circular contour.
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.
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:
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.
Abrupt variations in the contour due to an interior corner that causes the robot to crash against the object (Figure 7.b).
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 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:
The wall can be followed again using the wall-following behavior provided that (Figure 8.a and Figure 8.b); being the last value of just before switching. This way, it could be assumed that considering the value of does not change at the beginning and at the end of this behavior.
A possible collision between the robot and the wall is detected (Figure 8.c.), as considered in Section 3.2.
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 , based on the previous wall-following controller, though the distance error is not considered. Therefore, considering the following errors as in (4)
where is the heading reference to perform the desired circular path
Here, the plus/minus sign of (14) denotes that the reference 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
In order to analyze the stability of this control system, consider the following Lyapunov candidate function and its time derivative
Now, to achieve the control objective, the following control actions are proposed
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 , being the smallest distance to the obstacle measured inside the robot safety-area, which is also characterized by and angle on the laser range finder framework. Also, (defined in Section2) is selected to be equal to the actual robot wall distance and . 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 , where is the obstacle detection instant, and 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 (see Figure 9). Analogously to the behavior described in Section4.1, it could be assumed that , considering that does not change at the beginning and at the end of this behavior.
To this aim, it is proposed a controller to allow the robot to positioning itself at a desired orientation angle . The orientation error between the heading angle of the robot and the desired orientation is defined as shown in Figure 10
where is a constant value that is updated so as to attain an open area.
Then, the time derivative of (19) is,
The asymptotic stability analysis of this controller can be proved by considering again (16) along with the following control actions:
As done in the previous section, by replacing (21.b) into (20), the asymptotic stability of this control system, that is as , 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) if the controller for object-following is active, b) if the orientation controller is active and c) if the controller to perform a circular path is active.
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 , then, it is said that is a common Lyapunov function for the family of systems ,if there exists a positive definite continuous function such that
Where is some index set. Now, the following theorem can be stated
Theorem I (Liberzon, 2003)
If all systems in the family share a radially unbounded common Lyapunov function, then the switched system 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
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 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.
The controller constants were set to: =150millimeters per second, , and . 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 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 ( ), the covariance of the features’ parameters ( ) 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).
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.
In this work, the robot starts at an unknown position inside an unknown environment and by an active exploration, searches for boundary points from a local reference frame attached to the robot. From now on, these boundary points will be designated by local uncertainty points. Once a local uncertainty point is determined, a trajectory connecting this point and the robot’s current pose is generated. The trajectory is continued by one resulting from the execution of a switching adaptive controller (De la Cruz et al., 2008) articulated with an avoiding obstacle algorithm to prevent the collision with moving agents. Once a neighborhood of the local uncertainty point is reached by the robot, the vehicle searches for a new boundary point. This process is repeated until no additional local uncertainty point can be determined. Once this stage is reached - mainly due to the fact that the environment is occupied with already mapped features -, the robot searches for global destination regions. The global destination regions are represented by global uncertainty points. These points are determined by using the Gaussian distribution of each random variable involved in the EKF-SLAM system state. Thus, according to the geometrical information given by the secondary map of the environment, the entire map is circumscribed by four virtual segments that determine the limits of the known environment. Then, a set of points contained inside the limits of the virtual features is generated by a Monte Carlo experiment, and those that are not navigable are rejected. The probability attached to each one of the remaining point is estimated based on the concept of sum of Gaussians, which yields an estimate of the occupational probability of each point. Those points whose probability values do not fall near zero (free space point) or near one (non-empty point) will be considered as a global uncertainty point. This kind of points can be attached to the boundary of the map - unexplored region - or to badly mapped features. Once a global uncertainty point is determined -according to the needs of the navigation purposes - a hybrid contour-following control (Toibero et al., 2007) is implemented to drive the robot to that point. Once a neighborhood of the global uncertainty point is reached, the exploration switches to the mode of searching for local uncertainty points in a local reference frame. The entire navigation system stops when no global uncertainty points are found, what will happen when the map is complete. During the entire navigation or exploration phase, the SLAM algorithm continues been executed Additional information about this topic can be found in (Auat Cheein, 2009). Figure 16 shows the general architecture of the SLAM algorithm with the non-reactive behavior controllers (the adaptive switching controller and the hybrid contour following) implemented on the mobile robot.
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.
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.
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.