Print version ISSN 0103-1759
Sba Controle & Automação vol.19 no.4 Natal Dec. 2008
An approach to avoid obstacles in mobile robot navigation: the tangential escape
André Ferreira; Flávio Garcia Pereira; Raquel Frizera Vassallo; Teodiano Freire Bastos Filho; Mário Sarcinelli Filho
Programa de Pós-Graduação em Engenharia Elétrica - Universidade Federal do Espírito Santo - Av. Fernando Ferrari, 514 - 29.075-910 Vitória, ES, Brazil - firstname.lastname@example.org, email@example.com, firstname.lastname@example.org, email@example.com, firstname.lastname@example.org
An approach to guide a mobile robot from an initial position to a goal position avoiding any obstacle in its path, when navigating in a semi-structured environment, is proposed in this paper. Such an approach, hereinafter referred to as tangential escape, consists in changing the current robot orientation through a suitable combination of the values of the angular and linear velocities (the control actions) whenever an obstacle is detected close to it. Then, the robot starts navigating in parallel to the tangent to the obstacle, regarding the point of the obstacle boundary the robot sensing system identifies as the closest one. The stability of the control system designed according this approach is proven, showing that the robot reaches any reachable goal, with or without a prescribed final orientation. Such a control system is programmed onboard a mobile platform whose sensing system is a laser scanner which provides 181 range measurements, for experimental validation. The results obtained are presented and discussed, allowing concluding that the tangential escape approach is able to guide the robot along trajectories that result in a reduction of the traveling time, thus saving batteries and reducing the motor wearing.
Keywords: Tangential escape, obstacle avoidance, mobile robot navigation, impedance-based control.
Whenever a mobile robot is seeking for a goal in a weakly structured environment (about which one knows simply that it is an indoor environment with a plain surface that ensures non-sliding navigation, for example), it is quite important to prevent any robot-obstacle collision, besides guaranteeing that the robot reaches the goal. Thus, the goal should be reachable and the robot should know its coordinates (relatively to the frame of coordinates onboard it). Several approaches, like the classical Edge Detection (Kuc and Barshan, 1989), Certainty Grid (Elfes, 1987), Potential Field (Khatib, 1986), Virtual Force Field (VFF) (Borenstein and Koren, 1989), and Vector Field Histogram (VFH) (Borenstein and Koren, 1991), or the more recent Nearness Diagram (ND) (Minguez and Montano, 2004a; Minguez and Montano, 2004b), Reactive Path Deformation (RPD) (Lamiraux et al., 2004), Curvature Velocity Method (CVM) (Belkhous et al., 2005), Polar Diagram (PD) (Belkhouche and Belkhouche, 2005), Repulsive Vector (VR) (Yagi et al., 2001), Dynamic Programming (DP) (Willms and Yang, 2006), Neural Network-based approach (Yang and Meng, 2001), and Steering Paradigm (SP) (Qu et al., 2004), have been proposed to guide the robot to accomplish such a task.
Some of such approaches are based on the deliberative paradigm, because they include a path-planning step performed over a previously known map of the robot working environment (global trajectory planning). The VFH, the VFF, the Certainty Grid, the CVM, the RPD, the SP, and the Dynamic Programming are examples of deliberative approaches. They use a previously known detailed map of the environment surrounding the robot to plan the entire trajectory it should follow to reach the goal. These approaches, however, loose effectiveness if an unpredicted obstacle appears in the robot path: as it was not included in the environmental map, it is not possible to guarantee that a collision will not occur. To deal with unpredicted obstacles, some deliberative approaches, like those in (Lamiraux et al., 2004), (Qu et al., 2004), (Belkhouche and Belkhouche, 2005), (Minguez and Montano, 2004b) and (Belkhous et al., 2005), have proposed different ways to temporarily change the planned trajectory. Anyway, such strategies demand an initial path planning step, thus being not strictly deliberative approaches, but hybrid approaches.
Other approaches to avoid obstacles are based on the reactive paradigm, whose basic assumption is that the robot has no a priori knowledge about the environment surrounding it. Then, no global trajectory is planned, since a map of the robot working environment is not available. The result is a control system entirely based on the statement " perceptions are tightly related to actions" , meaning that the robot simply reacts according to its perception of the environment surrounding it. As a consequence, reactive navigation is closely related to control architectures demanding low computational effort. Changes in the environment are not a problem as well: the robot is able to perceive any environmental change and to react to it. Therefore, reactive navigation is more suitable to weakly structured environments, while deliberative navigation is more suitable to strongly structured environments. Edge Detection (Kuc and Barshan, 1989) and Potential Field (Khatib, 1986), among the classical approaches, as well as the approaches proposed in (Yang and Meng, 2001), (Minguez and Montano, 2004a) and (Yagi et al., 2001) are strictly reactive approaches.
This paper revisits the problem of obstacle avoidance in mobile robot navigation, and proposes a strictly reactive approach, the tangential escape, to make the robot to reach a pre-defined goal avoiding any obstacle in its path. In the essence, the approach here proposed is different from other approaches recently proposed to guide the robot to accomplish the same task. For example, it differs from the one proposed in (Yagi et al., 2001) for demanding a much simpler feature extraction, regarding the sensorial data collected. In comparison with the approach proposed in (Minguez and Montano, 2004a), an advantage of the approach here proposed is that it does not demand to identify and analyze a set (may be a big one) of possibilities before choosing one, thus allowing a faster reaction to the presence of an obstacle. In comparison with the approach proposed in (Yang and Meng, 2001), the computational complexity is much lower, while in comparison with the proposal presented in (Belkhouche and Belkhouche, 2005), it is not necessary to know the dimensions of the obstacles, since they are not modeled in any way.
To describe, implement and experimentally validate the tangential escape approach for obstacle avoidance during goal-seeking, this paper is hereinafter split in six sections. The kinematic model of the mobile robot and a control system to guide the robot to the goal in the absence of obstacles are presented in Section 2. Following, an impedance-based control system (Hogan, 1985; Secchi et al., 2001; Carelli and Freire, 2003) is discussed in Section 3, because it is the base for understanding the approach here proposed. In the sequence, Section 4 describes the essence of the tangential escape approach. Next, Section 5 describes the implementation of the control system based on the tangential escape approach, using range measurements provided by a laser scanner as sensorial data. Experiments run using such implementation are presented and discussed in Section 6, for validating the proposed approach. Finally, Section 7 highlights the main conclusions of the work.
2 SEEKING FOR THE GOAL
The task the robot should accomplish, to seek for a goal avoiding any obstacle suddenly appearing in its path, can be split in a two-steps task. The first step is to get closer to the goal (whenever there is no obstacle in the vicinity of the robot), and the second step is to change the current robot heading angle to avoid the nearest obstacle (when obstacles are detected in the vicinity of the robot). After the robot leaves an obstacle behind, the first step is resumed, and the distance between the robot and its goal is continuously reduced, until it reaches such goal (after having avoided all the obstacles in its path).
According to the above reasoning, the proposal here presented to guide the robot to accomplish its task is a control system composed of two nested loops. The inner one is responsible for reducing the distance robot-goal in the absence of obstacles, while the outer one is responsible for deviating the robot of the obstacle closest to it. In this section, the inner control loop is discussed, as a first step in the design of the control system implementing the tangential escape.
2.1 The Kinematic Model of the Robot
The kinematic model of the mobile robot used in the experiments here reported is now discussed. The mobile robot is an unicycle-like differential drive platform whose control signals are the linear and angular velocities (u and ω). A sketch of the robot navigating towards its goal in a free space is given in Figure 1. The mathematical model describing this navigation, in polar coordinates, is given by (Secchi et al., 2001)
where ρ is the distance robot-goal, which is the origin of the inertial frame of coordinates < g >, u is the linear velocity of the robot (in the direction normal to the axis linking its driven wheels), ω is the angular velocity of the robot, α is the orientation error (regarding the goal position), θ is the angle between the line linking the origins of the onboard and the inertial frames of coordinates and the horizontal axis, and Ψ is the angle between the direction of movement and the horizontal axis.
Notice that ρ should be a nonzero value. Otherwise, it would cause the values of α and θ to be undefined. This way, it is considered that the robot reached the goal when ρ < δ, where δ > 0 is a user-defined small value. In other words, the robot never reaches the goal itself, but gets as close of it as one wants. Hence, whenever mentioning that the robot reaches the goal, hereinafter, one should understand that the robot is inside a circle of radius δ centered in the goal.
2.2 Controlling the Position Error
From the model presented in Figure 1, one can see that the robot can be fully controlled through the values of u and ω. Despite this, this work just deals with the problem of controlling the robot in such a way that ρ → 0 and α → 0 (for a control law that includes the condition θ → θd the reader can see (Secchi et al., 2001)). The reason for considering such control law is that it is enough to allow understanding the approach here proposed to avoid obstacles.
Thus, the objective of the control system is to make the state variables ρ and α to asymptotically go to zero. For checking such a condition, one can consider the Lyapunov function candidate
whose temporal derivative
should be non-positive.
Regarding the robot kinematic model in (1), the value of (ρ, α) becomes
and is negative definite if the control variables u and ω are defined as
thus demonstrating the asymptotic convergence of [ ρ α ] to [ 0 0 ]. This means that the robot always reaches its goal (supposed to be a reachable one) in the absence of obstacles.
In order to complete this stability analysis, it is important to check the behavior of θ. Although not being controlled, it is possible to verify that → 0 when t → ∞. In order to do that, one should first take the value of from (1) and consider the values of ω and u. This would result in the equation + kωα = 0, whose solution α = α0ekωt shows that α(t) is a bounded function and that α → 0 when t → ∞. Now, regarding the value of in (1) and the equation that defines the value of u, one gets = umax sin α cos α. From such equation, and regarding that ≃ 1 when ρ is close to zero, it is straightforward to check that → 0 when t → ∞, which shows that the robot reaches the goal without oscillations in any of the variables of interest, although the arriving angle θ is not defined (although being a constant one).
Regarding the equation defining u, one can notice the use of the function tanh, whose objective is to saturate the value of u to the maximum value umax, a value obtained from the data sheet of the robot. Regarding the equation that defines the value of the angular velocity w, by its turn, one can notice that such a value is also saturated. This maximum value corresponds to = 0, considering that ≃ 1 when ρ → 0. This results in the value |ωmax| = + 0.5umax, which can also be obtained from the data sheet of the robot. Notice that from such value of |ωmax| the value of kω is straightforwardly obtained, thus concluding the synthesis of the controller.
The control system proposed to guide the robot to reach the goal in the absence of obstacles is given by the inner control loop in Figure 3 and in Figure 8, where the vector d = [ xd yd ] defines the coordinates of the goal position and the vector c = [ xc yc ], obtained through odometry (as well as the angle Ψ), defines the coordinates of the current robot position.
3 THE IMPEDANCE-BASED CONTROL
Impedance-based control is a popular technique to avoid obstacles. It adopts a quite simple strategy, thus resulting in fast reaction to the presence of obstacles, what makes it a very interesting approach. It makes use of the concept of generalized or extended impedance to characterize the relationship between a mobile robot moving towards an obstacle and a fictitious repulsion force (Hogan, 1985; Secchi et al., 2001) proportional to the distance between the robot and the obstacle. Thus, the objective of avoiding the robot-obstacle contact is accomplished if the repulsion force increases when the robot gets closer to the obstacle.
Figure 2 shows a situation in which an obstacle is detected by the robot sensors. The repulsion force is then generated, which causes the temporary displacement of the goal point Xd, as illustrated. As a result of seeking for the new goal, a change is imposed to the heading angle of the robot, thus allowing it to deviate from the obstacle. The components of the force (t, aligned to the axis of movement of the robot, and r, perpendicular to it) are also represented.
The magnitude F of the repulsion force the obstacle exerts on the robot is calculated as (Secchi et al., 2001)
where a and b are positive constants satisfying the condition a = b(dmax dmin)2, dmin is the minimum measurable distance (characteristic of the sensing system), dmax is the maximum distance that causes a nonzero repulsion force (specified by the user), and d is the smallest distance between the robot and the obstacle delivered by the set of sensors (notice that dmin < d < dmax). The bound dmax characterizes the repulsion zone, which is the region inside which the fictitious repulsion force has a non-zero value. An impedance
is then defined, where B and K are positive constants emulating the damping and the spring effects, respectively, involved in the robot-obstacle interaction inside the repulsion zone. Then, an impedance error xa caused by the force t of magnitude Ft (see Figure 2) is calculated as the solution of the equation
while the angle φ that causes the rotation of the goal position d is given by
The constants B and K are calculated in such a way that the control system is critically damped.
Finally, the goal position d is rotated to the temporary position
which becomes the new reference to the position error controller (see Subsection 2.2). This control loop is then responsible for taking the robot to the new goal, as shown in Figure 3. The control signals u and ω in such a figure are the robot linear and angular velocities, respectively, while c = [ xc yc ] is the current robot position, in cartesian coordinates, which is obtained through the robot odometry, as well as the angle Ψc (self-localization).
Therefore, whenever an obstacle is detected inside the repulsion zone a fictitious force is generated, which causes a non-zero rotation angle φ, thus making the robot to avoid the obstacle (the external loop of Figure 3). Otherwise, the angle φ becomes zero, thus allowing the robot to continue to seek for the effective goal d.
Finally, it is worthy to emphasize that this control system is stable in the Lyapunov sense, as demonstrated in (Secchi et al., 2001), thus meaning that the robot will always reach the goal (supposed to be reachable) after escaping of all obstacles.
Following, a simulation of an impedance-based control system designed to guide the robot to a goal avoiding any obstacles in its path is presented, which was performed using the simulator of the ActivMedia Pioneer® 2-DX mobile robot, with the goal positioned in (9000 mm, 5000 mm). Figure 4 shows the path followed by the robot from the starting point (0 mm, 0 mm) (in which the angle Ψ = 0 degrees) to the destination point (the orientation of the robot when reaching the goal is not taken into account), as well as the environment configuration (the darker lines). The environment is a set of three corridors, whose walls are the obstacles the robot should avoid. When an obstacle is detected, a fictitious repulsion force is generated and the robot makes a turn. The value of dmax was chosen to be 70 cm. Figure 5 shows the control signal u generated by the position error controller. From such figure one can notice meaningful variations in the robot linear velocity, which mean great accelerations and decelerations of the robot motors. Besides such a variation in the linear velocity, one should notice that the angular velocity ω exhibits oscillations, as shown in Figure 6. Actually, such oscillations are quite common in systems based on the concept of potential fields approach (Koren and Borenstein, 1991), as it is the case of the impedance-based control.
4 THE PROPOSED APPROACH
A new approach to guide the robot when avoiding obstacles is now proposed, whose essence is to choose a escape path that is tangent to the obstacle boundary. The control system based on this approach uses the same position error controller as the impedance-based control system, which corresponds to the inner loop in Figure 3 (see Figure 8). The difference is that the rotation angle φ in (8) is 0not calculated using the repulsion force anymore. Instead, it is calculated by using the angular position of the obstacle relative to the robot, which is determined by the position of the sensor that gives the least range measurement, regarding a set of sensors able to perform range measurement, as a laser scanner, for example. The rotation angle is now determined so that after maneuvering the vehicle takes the direction of the tangent to the boundary of the obstacle in that point. The advantage is that the robot performs smoother movements when navigating, as it is shown in the sequence.
Therefore, whenever an obstacle is detected inside the repulsion zone defined by the distance dobs (see Figure 7), the angle β is determined, from the range measurements provided by the onboard sensing system. Such an angle is defined by the direction in which it was gotten the minimum range measurement, and is related to the characteristics of the sensing system. For example, if the sensing system is a ring of ultrasonic sensors, such an angle is obtained from the disposition of the sensors in the ring, in relation to the axis of movement of the robot. Knowing the robot orientation relative to the real target (the angle α) and estimating the angle β, the angle φ that allows the tangential escape is obtained as
where α > 0 when the obstacle is at the right of the axis of movement of the robot and β > 0 when the obstacle is detected at the right side of the robot. In this configuration, which is depicted in Figure 7, the angle φ is positive, meaning that the real goal is rotated to the left side, regarding the axis of movement of the robot.
The angle φ is then used in the rotation matrix in (9), and the real goal is rotated to a new position (the virtual goal). The position error controller starts using the coordinates of the virtual target, causing the robot to take the tangent to the obstacle boundary. Notice that in the absence of obstacles there is no change in the position of the real goal, and the robot continues seeking for it. A control system implementing the tangential escape approach is sketched in Figure 8, where u, ω and the vector c have the same meaning as in Section 3. This way, regarding the asymptotic stability of the position error controller, it is straightforward to conclude that the control system implementing the tangential escape is also asymptotically stable, which guarantees that after escaping of all obstacles the robot always reaches its goal (supposed to be reachable).
In order to evaluate how the control system based on the tangential escape approach performs, a simulated example is now presented. The objective is to take the robot from the starting point (0 mm, 0 mm) (with orientation Ψ = 0 degrees) to the goal point (9000 mm, 5000 mm) once more, avoiding any obstacle in its path. Notice that this is the same example simulated using the impedance-based control in Section 3, and the walls of the three corridors are the obstacles to be avoided. Figure 9 shows the path the robot traveled over to reach the goal. Whenever an obstacle (a wall of a corridor the robot entered in) is detected, the robot turns around in order to follow a line parallel to it. The distance dobs that defines the repulsion zone was defined as 70 cm once more. Complementing the simulated example, Figure 10 shows the linear velocity developed by the robot along its path, while Figure 11 shows its angular velocity.
By analyzing the results of the simulated example using the impedance-based control (Figures 4, 5) and 6) and the tangential escape approach (Figures 9, 10 and 11), one can figure out some meaningful differences between both approaches. The first one is that while avoiding obstacles (approximately between 4s and 17s in Figure 10) the tangential escape approach here proposed keeps the robot navigating with constant linear velocity, thus avoiding unnecessary acceleration and deceleration, which certainly reduces the energy consumption and the motor wearing. Moreover, the tangential escape approach allows reaching the goal in less time than the impedance-based control. This is a consequence of the fact that the average linear velocity the robot develops is greater, because of the absence of the frequent decelerations associated to the oscillations present in Figure 4. Therefore, the tangential escape approach is very attractive, as one can see from the simulations presented. In addition, the simulated example itself shows that the tangential escape approach for obstacle avoidance gives the robot the capability of navigating in environments somewhat complex using a single controller, differently of the work reported in (Carelli and Freire, 2003), for example.
5 IMPLEMENTING THE TANGENTIAL ESCAPE APPROACH
The key point of the tangential escape approach is the estimation of the angles α and β. The first one is recovered from the robot odometry, as the robot knows its current position and the position of the goal it is seeking for (see Figure 7). By its turn, the angle β is obtained from the distances robot-obstacle delivered by the sensorial apparatus onboard the robot in a certain instant.
In this section, an implementation of the control system based on the tangential escape approach is programmed in the computer onboard a Pioneer® 2-DX, which is fully controlled through the angular and linear velocities, for experimental validation. The sensing system adopted is a laser scanner installed in the center of the robot, which delivers 181 range measurements at a sample rate of 10 Hz, covering a semi-circle in front of the robot. The experimental setup and an illustration of the angular distribution of the range measurements are given in Figure 12. From the figure one can realize that such a laser scanner is equivalent to 181 range sensors distributed around a semi-circle over the front of the robot platform, in intervals of 1 degree. Thus, the angle β stays in the interval [0 degrees, 180 degrees], which is here transformed to the interval [90 degrees, +90 degrees], for regarding obstacles in the right side (β > 0) or in the left side (β < 0) of the robot. With the sensing system used, however, no obstacles can be detected in the rear of the robot.
6 EXPERIMENTAL RESULTS
Two experiments were run using the control system designed to implement the tangential escape approach, which was programmed onboard the Pioneer® 2-DX robot. Both experiments correspond to the same example simulated in Section 4, with the difference that in the second one two circular obstacles were put in the middle of the first and second corridors the robot should enter in before reaching the goal. For the first experiment, the path the robot traveled over and its angular and linear velocities along the navigation time are shown in Figure 13. For the second one, the navigation in a set of corridors containing additional obstacles, just the path the robot traveled over is presented (see Figure 14).
When analyzing the results of these experiments, one can see that those corresponding to the first experiment are very close to the results of the simulation, as expected (see the traveled paths presented in Figures 9 and 13(a)). Other meaningful feature is the absence of oscillations in the robot trajectory when it approaches an obstacle, when adopting the tangential escape approach, differently of what occurs in connection to the impedance-based control system (see Figures 4 and 13(a)). It can also be observed that the robot can get closer to an obstacle than the distance dobs defining the repulsion zone, as it is clear in Figure 14. Actually, the repulsion zone defines the limiting distance above which the obstacle does not cause any reaction, not the minimum distance the robot should keep between it and any obstacle. Indeed, if this were the case, the robot would not pass between the wall and the obstacles present in the corridors of Figure 14. Besides, the experiments also confirm the advantage of the tangential escape approach in terms of the higher average linear velocity developed by the robot and the absence of unnecessary maneuvers (absence of oscillations). Last, but not least, it is important to mention that the control system implementing the tangential escape is able to guide the robot when following a wall, as it can be observed in the experiments reported. However, it should be emphasized that this is completely different from other wall-following proposals, like the one in (Carelli and Freire, 2003), for example. There, two distinct controllers are used, one for wall-following and other for obstacle avoidance, while in this work just one controller is responsible for both behaviors, thus making it much simpler to design and faster to compute. Other wall-following approaches, like the one reported in (Bemporad et al., 2000), however, are not even related to the tangential escape approach, for they did not include neither goal-seeking nor obstacle avoidance.
For the sake of comparison, the same experiments two were run using the impedance-based control system programmed in the same Pioneer® 2-DX robot. In the first one the robot reached the goal without major problems, but in the second one it did not manage to go beyond the obstacle in the first corridor, as shown in Figure 15. Then, one gets the conclusion that the proposed approach is effectively much better than the impedance-based control, in terms of avoiding obstacles, energy consumption, time to get the goal and motor wearing.
Finally, it is worthy to mention that the figures showing the path the robot traveled over in the experiments are built with data recovered through the robot odometry. Then, as it is well known from the literature, the real final position reached by the robot is somewhat different from the ideal one, due to odometric errors. Indeed, those errors are present in Figures 13(a) and 14.
To close the experimentation, an experiment similar to the second one above analyzed was run, using the same Pioneer® 2-DX robot having the same laser scanner onboard and running a controller based in the tangential escape approach in its onboard computer. The results are shown in Figure 16, with the characteristic that the environment surrounding the robot was built using the range measurements collected during the navigation. In addition to the path the robot traveled over (Figure 16(a)), the position and orientation errors (Figure 16(b)) and the linear and angular velocities sent to the robot by the controller and effectively developed by the robot (Figure 16(c)) are also presented. From such figures one can see that the control system effectively drives the robot till reaching the goal and stopping there, as ρ → 0, α → 0, u → 0 and ω → 0.
An important aspect to be emphasized, after analyzing Figure 16(c), is that there is a difference between the angular and linear velocities the controller sends to the robot and the linear and angular velocities it effectively develops, mainly during the maneuvers to avoid obstacles. This means that for high velocities (one should remember the limitation correspondent to the maximum linear and angular velocities the robot can develop), the decelerations correspondent to the evasive maneuvers and the accelerations after leaving the obstacle behind, excite the robot dynamics, thus meaning that for allowing the robot to develop higher velocities it would be recommendable to consider the robot dynamics, which is not done here (only the robot kinematics is considered here). However, there is no difference, in terms of the strategy here proposed for obstacle avoidance, if the maximum velocities the robot is allowed to develop are higher or lower.
A novel approach is here proposed to avoid obstacles when a mobile robot is seeking for a goal, which is referred to as the tangential escape. The essence of the method is to make the robot to follow the direction of the tangent to the obstacle boundary in the point that is closest to it, whenever an obstacle is detected closer to the robot than a specified distance.
The control system thus implemented is shown to be stable in the Lyapunov sense, which means that a reachable goal is always reached. Two experiments using an implementation of the tangential escape approach based on the range measurement provided by a laser scanner have shown that it is effectively able to guide the robot to the goal without colliding to any obstacle, thus validating the proposed method. Moreover, such experiments have also shown that the control system based on the tangential escape approach can reduce the traveling time, the energy consumption and the motor wearing, for avoiding unnecessary acceleration and deceleration associated to unnecessary maneuvers. This way, the tangential escape approach is a very attractive one to deal with goal-seeking and obstacle avoidance, as it is shown in the paper.
Finally, besides its simplicity and effectiveness, it should be emphasized that just one control system based on the tangential escape approach allows guiding the robot to navigate in environments somewhat complex, as the experiments reported in the paper have shown. Thus, it is not necessary to adopt distinct controllers to perform wall following and obstacle avoidance, for example.
The authors thank CNPq, an agency of the Brazilian Ministry of Science and Technology, for the financial support given to this work.
Belkhouche, F. and Belkhouche, B. (2005). A method for robot navigation toward a moving goal with unknown maneuvers, Robotica 23(6): 709720. [ Links ]
Belkhous, S., Azzouz, A., Saad, M., Nerguizian, C. and Nerguizian, V. (2005). A novel approach for mobile robot navigation with dynamic obstacles avoidance, Journal of Inteligent Robotic Systems 44(3): 187201. [ Links ]
Bemporad, A., di Marco, M. and Tesi, A. (2000). Sonar-based wall-following control of mobile robots, ASME Journal of Dynamic Systems, Measurement and Control 122(1): 226230. [ Links ]
Borenstein, J. and Koren, Y. (1989). Real-time obstacle avoidance for fast mobile robots, IEEE Transactions on Systems, Man, and Cybernetics 19(5): 11791187. [ Links ]
Borenstein, J. and Koren, Y. (1991). The vector field histogram -fast obstacle avoidance for mobile robots, IEEE Transactions on Robotics and Automation 7(3): 278288. [ Links ]
Carelli, R. and Freire, E. O. (2003). Corridor navigation and wall-following stable control for sonar-based mobile robots, Robotics and Autonomous Systems 45(3-4): 235247. [ Links ]
Elfes, A. (1987). Sonar-based real-world mapping and navigation, IEEE Journal of Robotics and Automation RA-3(3): 249265. [ Links ]
Hogan, N. (1985). Impedance control: An approach to manipulation, ASME Journal of Dynamic Systems, Measurement, and Control 107: 123. [ Links ]
Khatib, O. (1986). Real time obstacle avoidance for manipulators and mobile robots, The International Journal of Robotics Research 5(1): 9098. [ Links ]
Koren, Y. and Borenstein, J. (1991). Potential field methods and their inherent limitations for mobile robot navigation, Proceedings of the IEEE Conference on Robotics and Automation, Sacramento, California, pp. 1398 1404. [ Links ]
Kuc, R. and Barshan, B. (1989). Navigating vehicles through an unstructured environment with sonar, Proc. of the 1989 IEEE International Conference on Robotics and Automation, Vol. 3, Scottsdale, AZ, pp. 14221426. [ Links ]
Lamiraux, F., Bonnafous, D. and Lefebvre, O. (2004). Reactive path deformation for nonholonomic mobile robots, IEEE Transactions on Robotics 20(6): 967977. [ Links ]
Minguez, J. and Montano, L. (2004a). Nearness diagram (nd) navigation: collision avoidance in troublesome scenarios, IEEE Transactions on Robotics and Automation 20(1): 4559. [ Links ]
Minguez, J. and Montano, L. (2004b). Sensor-based robot motion generation in unknown, dynamic and troublesome scenarios, Robotics and Autonomous Systems 52(4): 290311. [ Links ]
Qu, Z., Wang, J. and Plaisted, C. E. (2004). A new analytical solution to mobile robot trajectory generation in the presence of moving obstacles, IEEE Transactions on Robotics 20(6): 978993. [ Links ]
Secchi, H., Carelli, R. and Mut, V. (2001). Discrete stable control of mobile robots with obstacles avoidance, Proc. of the 11th International Conference on Advanced Robotics, ICAR'01, Budapest, Hungary, pp. 405411. [ Links ]
Willms, A. R. and Yang, S. X. (2006). An efficient dynamic system for real-time robot-path planning, IEEE Transactions on Systems, Man and Cybernetics -Part B: Cybernetics 36(4): 755766. [ Links ]
Yagi, Y., Nagai, H., Yamazawa, K. and Yachida, M. (2001). Reactive visual navigation based on omnidirectional sensing -path following and collision avoidance, Journal of Intelligent and Robotic Systems 31(4): 379395. [ Links ]
Yang, S. X. and Meng, M. (2001). Neural network approaches to dynamic collision-free trajectory generation, IEEE Transactions on Systems, Man and Cybernetics -Part B: Cybernetics 31(3): 302318. [ Links ]
Artigo submetido em 15/05/2007
1a. Revisão em 01/05/2008
2a. Revisão em 29/09/2008
Aceito sob recomendação do Editor Associado Prof. José Reinaldo Silva