Mobile Robot Navigation using a Behavioural Strategy P. Nattharith School of Mechanical and Systems Engineering Newcastle University Abstract This paper addresses the issue of mobile robot navigation in an indoor environment. In the system, an obstacle is defined as any object which prevents the mobile robot from achieving its goal. The robot needs to detect and avoid these objects and make its way to the desired location. Hence the robot’s behavioural ability in avoiding obstacles becomes a major issue, along with its ability to plan a path to its goal. The collision avoidance behaviour is a strategy which the mobile robot will adopt to prevent it from hitting obstacles as well as maintaining its track to its goal. In the proposed work, a hybrid architecture is adopted. It combines two components: a deliberative architecture and a reactive architecture which is based upon the motor schema. Several perceptual and motor schemas are employed in order to facilitate both the aspects of global and local navigation. The deliberative planning creates the safe path using a wavefront algorithm. It is then passed to the reactive module in terms of a series of waypoints. These are treated as immediate subgoals and are used to form behaviours leading the mobile robot to achieve its goal without experiencing any collision within an optimum travel distance and reasonable amount of time. High level processing of the data will be undertaken as part of the overall behavioural and path planning strategies, which will require significant consideration and design in order to implement them as part of a Player/Stage architecture. Key words: Mobile robot navigation, Mobile robot architectures, Player/Stage architecture, Wavefront algorithm, Motor schema. 1. Introduction Autonomous navigation requires an intelligent control system including a deliberative architecture for global path planning and a reactive architecture for local real-time obstacle avoidance. Global techniques require a complete model of the robot’s environment in order to create a safe path from its starting point to its goal. However it is not appropriate for a dynamically varying environment. On the other hand, local methods place more emphasize on real-time obstacle avoidance than creating an optimal solution. A combination of these two systems has been able to improve the overall robot’s performance and results in a type of hybrid architecture, which includes high level path planning, combined with low level obstacle avoidance.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Mobile Robot Navigation using a Behavioural Strategy
P. Nattharith School of Mechanical and Systems Engineering
Newcastle University
Abstract This paper addresses the issue of mobile robot navigation in an indoor environment. In the system, an obstacle is defined as any object which prevents the mobile robot from achieving its goal. The robot needs to detect and avoid these objects and make its way to the desired location. Hence the robot’s behavioural ability in avoiding obstacles becomes a major issue, along with its ability to plan a path to its goal. The collision avoidance behaviour is a strategy which the mobile robot will adopt to prevent it from hitting obstacles as well as maintaining its track to its goal. In the proposed work, a hybrid architecture is adopted. It combines two components: a deliberative architecture and a reactive architecture which is based upon the motor schema. Several perceptual and motor schemas are employed in order to facilitate both the aspects of global and local navigation. The deliberative planning creates the safe path using a wavefront algorithm. It is then passed to the reactive module in terms of a series of waypoints. These are treated as immediate subgoals and are used to form behaviours leading the mobile robot to achieve its goal without experiencing any collision within an optimum travel distance and reasonable amount of time. High level processing of the data will be undertaken as part of the overall behavioural and path planning strategies, which will require significant consideration and design in order to implement them as part of a Player/Stage architecture. Key words: Mobile robot navigation, Mobile robot architectures, Player/Stage architecture, Wavefront algorithm, Motor schema.
1. Introduction Autonomous navigation requires an intelligent control system including a deliberative architecture for global path planning and a reactive architecture for local real-time obstacle avoidance. Global techniques require a complete model of the robot’s environment in order to create a safe path from its starting point to its goal. However it is not appropriate for a dynamically varying environment. On the other hand, local methods place more emphasize on real-time obstacle avoidance than creating an optimal solution. A combination of these two systems has been able to improve the overall robot’s performance and results in a type of hybrid architecture, which includes high level path planning, combined with low level obstacle avoidance.
In this paper, path planning and navigation of a mobile robot moving around a simulated environment are described. The following sections provide a brief description of the path planning and navigation issues for mobile robots, and detail the mobile robot architectures and Player/Stage architecture. The further sections describe the design of a behaviour based hybrid architecture that is adopted, followed by some results of how a simulated mobile robot plans the path and navigates around its environment. The system utilizes a path planner containing a wavefront algorithm combined with the potential field method [1, 2] for the obstacle avoidance, as well as odometry system which is used to maintain all possible robot positions. The path planner ensures that the robot maintains a safe distance from the obstacles, while finding an optimal path from each position to the next. Simulated experiments reveal that this system can safely and effectively navigate the mobile robot around a designated environment. 2. Mobile Robot Navigation Path planning and navigation are the key research issues in mobile robotics. Path planning and navigation algorithms comprise two categories, namely global navigation and local navigation. The global navigation problem deals with the navigation on a larger scale in which the robot can not observe its goal from its initial position. In most cases, the robot uses a pre-specified map to plan its path as well as to determine its location in the environment. This solution allows the robot to achieve its distant goals which are specified according to the global map. The local navigation problem, on the other hand, deals with the navigation over short distances or from point to point, where the main focus is one of obstacle avoidance. Local navigation allows the robot to move in its environment and to reach local goals without collisions. 2.1 Global Path Planning using Wavefront Algorithm The wavefront algorithm involves the breadth first search technique, searching along the horizontal plane of the graph, beginning at the start point propagating out until it reaches the goal point. A grid of squares is created from the map using an appropriate size of square. Each square is initialized to a numerical value of 0. Squares known to contain a physical object or part of an object are assigned a numerical value of 1. The goal point is then identified and allocated a value of 2. To create the wavefront values, any squares which surround the goal point are given a higher number depending on how close they are to the goal point. A value of 3 is assigned to the squares adjacent to the goal point, with the value of 4 assigned to the squares adjacent to those squares having a value of 3, and so on. Once the start point is assigned a numerical value, the algorithm then proceeds to select the lowest value square nearest the start point. It is marked as a waypoint. Then the algorithm moves to the selected square and selects the nearest square having the lowest value. It is also marked as the waypoint. The sequence is repeated until the goal point is reached. This creates the safe path, in terms of a series of waypoints, from the start point to the goal point. However, some waypoints can be eliminated if the path from the previous waypoint to the next waypoint does not cross through the obstacle. Therefore, the algorithm can iteratively eliminate some waypoints and it is repeated until
no other waypoint can be eliminated. Figure 1 displays an example of the wavefront values. 2.2 Local Obstacle Avoidance using Potential Field Method This section describes an obstacle avoidance technique, namely a potential field method [1, 2]. In this method, obstacles exert a repulsive force, while the target applies an attractive force to the robot. A resultant force vector, comprising the sum of a goal-directed attractive force and repulsive forces from obstacles, as shown in Figure 2, is calculated for a given robot position [3]. With the resultant vector, as the accelerating force acting on the robot, the robot’s new position for a given time interval is calculated, and the algorithm is repeated until the robot reaches its goal. 3. Mobile Robot Architecture The mobile robot architecture is the process of taking information about the environment through the robot’s sensors, processing it as necessary in order to make decisions about how to act, and executing action in the environment. The complexity of the environment has a direct impact on the complexity of control, which is directly related to the robot’s task. Although there are many ways to program a robot, there are fundamentally three classes of the mobile robot architectures. The first one is a deliberative architecture, also called the sense-plan-act approach, which emphasizes on planning. The mobile robot senses the world, plans its next action, and then acts. All sensor data are gathered into a global world model and at each step the robot explicitly plans the next move. The second type is a reactive architecture or the sense-act approach. The mobile robot has multiple instances of sense-act couplings. Each tightly couples between sensory input and effector outputs. This architecture typically involves no intervening reasoning to allow the mobile robot to respond very quickly to the dynamically varying and unstructured environment to achieve its task. The third type is a so called hybrid architecture which integrates the previous two architectures. The mobile robot first plans how to best decompose a task into subtasks and what suitable behaviours to accomplish each subtask. Sensor data are passed to each reactive module and are also available to the planner module for construction of a global world model. Figure 3 displays three classes of mobile robot architectures. A recent trend in robotic architecture has been a focus on the behaviour based architecture, where the system contains various behaviours, some of which are emergent. This system is characterized by tight coupling between sensors and actuators. These couplings are simultaneous processes, called behaviours, which acquire the sensor data and compute the best action to perform independently of what the other behaviours are doing. The mobile robot will either select only one output behaviour from several active behaviours, or combine these behaviours to produce a result. These two approaches are called arbitration and fusion, respectively. Command arbitration is a process of selecting one behaviour from multiple candidates while command fusion is a process of combining multiple candidate behaviours into single output behaviour.
Subsumption architecture, introduced by Brooks [4], is the best known system for behaviour based architecture. It is built up from layers of interacting finite-state machines, connecting sensors to actuators directly. These layers are called behaviours. Subsumption has an arbitration mechanism that enables higher level behaviours to override signals from lower level behaviours. Another popular example of behaviour base architectures is Arkin’s motor schema [5]. It generates response vectors based on the outputs of the perceptual schemas. Motor schema has a fusion mechanism which is used to combine the generated response vectors in a manner similar to a potential field method [1, 2]. Figure 4 displays two popular examples of behaviour based architecture. 4. Player/Stage Architecture Play is an open-source software tool for robot and sensor applications. It is a network oriented device server [6]. The Player server is a distributed device server that provides clients with network-oriented programming interfaces to access the robot’s actuators and sensors, and includes a collection of device drivers for many popular robot hardware devices. Client programs use proxy objects, defined in a Player client library, to write and read data to and from the desired devices. Player employs a one-to-many client/server style architecture where one server serves all clients of a robot’s devices. Accompanying Player is the robot simulator Stage, which allows programmers to control virtual robots navigating inside a virtual environment. Stage simulates a population of mobile robots, sensors and objects in a two-dimensional bitmapped environment. It is designed to support research in autonomous systems. Stage is most commonly used as a Player plug-in module, providing populations of virtual devices for Player. Users write robot controllers and sensor algorithms as clients to the Player server. Player clients which are developed using Stage will work with little or no modification with the real robots and vice versa. Thus Stage allows rapid prototyping of controllers destined for real robots. It also allows experiments with realistic robot devices. Various sensors and actuators are provided, including sonar, scanning laser rangefinders, vision, and odometry. Player/Stage was developed primarily under Linux; however, it also runs on other UNIX variants such as Solaris and FreeBSD that support TCP socket mechanisms and under Windows with Cygwin [7]. The client programs can be implemented in any language such as C, C++, TCL, Java and Python. 5. Behaviour Based Hybrid Architecture The majority of behaviour based architectures reported in the past can be generally categorized into two main groups depending on their behaviour action-selection mechanism. The behaviour arbitration mechanism [4] handles one behaviour at a time, while the command fusion mechanism [2, 3] handles multiple behaviours at a time. The arbitration mechanisms are suitable for competitive behaviours, while the command fusion techniques are appropriate for cooperative behaviours [8]. Two main problems observed with the behaviour arbitration are instability [9] and starvation [10]. Instability arises when the control of the robot alternates between two behaviours and starvation occurs when the behaviour does not gain control of the robot for a long time. The
command fusion mechanism partially removes these problems by activating all behaviours at the same time. Motor schema [3, 5] is a popular command fusion technique in the mobile robot navigation, where the robot’s task is decomposed into specific motor schemas, also called behaviours. The vector summation of those motor schemas is treated as the coordinated action for the robot to achieve its task. A block diagram of behaviour based hybrid architecture is shown in Figure 5. It is the combination of two components: deliberative planning and reactive control. Deliberative planning that generates an optimized path based on the model of the working environment is at the top level. The behaviour based controller executes the plan in a reactive manner. All modules of the system are designed, tuned and evaluated independently, and are joined by a set of intermediate module. A short description of each module is given below. Planner module processes the two-dimensional world map of a given environment to generate a safe path through the modelled obstacles. In the laboratory the physical dimension of the environment is 15 x 25 m. In image plane, it is 600 x 1000 pixel, where each pixel is mapped to a physical dimension of 25 x 25 mm. For global path planning, the navigation is assumed in configuration space, i.e. obstacles are grown by an amount equal to the width of the robot. The wavefront algorithm was adopted to generate a collision free path between the start position and the desired position of the robot. The output of the wavefront algorithm is a series of waypoints which are then passed down to an intermediate module. After the intermediate module returns a successful flag for the final waypoint indicating that all waypoints have been reached, the planner module will declare the mission a success and the robot control algorithm will stand by to await the next instructions. If there is no further mission, the algorithm will stop. Intermediate module accepts a series of waypoints from the planner module and passes them, one at a time, to a reactive module for execution. The intermediate module also regularly checks to see if the robot has reached its current waypoint destination. If it has, the reactive module then returns a successful flag for the current waypoint indicating that it has been reached, and the intermediate module then sends down the next waypoint. Reactive module creates two motor schemas using the robot’s sensory data and a series of waypoints from the upper module. The schemas are defined as follows; go_to_waypoint – this behaviour uses the information from the odometry system for localization. The perceptual schema for this behaviour is a series of waypoints received from the intermediate module while the motor schema generates an output vector that directs the robot towards the current waypoint (see Figure 2). This output vector is a unit
vector, also called the attractive force ( ). The robot’s visitation at each waypoint ends when it gets within the so called distance tolerance ( ), e.g. 1 m of the waypoint. However, this condition is not used for the final waypoint, i.e. the goal, where the robot’s
∧
tF
td
task is completed when the distance tolerance is reduced to 0.5 m of the goal. The attractive force is given by [1];
∧∧∧ −+
−= y
tdyy
xtdxx
F ttt )()(
00 (1)
where = distance between robot and its goal. )(td = goal coordinates. tt yx , = robot’s current coordinates. 00 , yx avoid_obstacle - this behaviour uses the robot’s sonar sensor array to avoid obstacles. The perceptual schema for this behaviour is the detection of the nearby obstacles in the direction of the motion of the robot. The motor schema for this behaviour is the generation of an output vector giving the direction and magnitude of motion that directs
the robot away from any detected obstacles (see Figure 2). This output vector ( ) is a unit vector directed to the sum of the repulsive forces generated by each obstacle point ( ). Each repulsive force ( ) is inversely proportional to the square of the distance between the obstacle and the robot such that;
∧
rF
ji yx , F
⎪⎩
⎪⎨
⎧
>
≤⎥⎦
⎤⎢⎣
⎡ −+
−=
∧∧
0
000
2
),(0
),(),(),(),(
1),(
djidif
djidifyjidyy
xjidxx
jidjiFji
(2)
where = distance between robot and obstacle point . ),( jid ),( ji = distance of influence of the object. 0d = obstacle point coordinates. ji yx , = robot’s current coordinates. 00 , yx In Equation 2 [1], the obstacle exerts a strong repulsive force when it is in the immediate vicinity of the robot, and a weak repulsive force when it is further away from the robot. The resultant repulsive force, ( ), which is the vector sum of the individual forces from all obstacle points, is given by;
rF
∑=
jir jiFF
,),( (3)
Then, the unit vector ( ) is defined as; ∧
rF
r
rr F
FF =∧
(4)
Behaviour coordination module receives control vectors from individual behaviours and fuses them into a single control behaviour ( R ). The output of the behaviour coordination module is given by [11];
i
n
i
ii
n
iF
Rβ
β
1
1
=
∧
=
∑
⋅∑= (5)
where iβ = behaviour coefficients corresponding to individual schemas.
∧
iF = unit vector of individual schema which is active at the time. The objective of the behaviour coordination module is also to generate the appropriate values for a set of behaviour coefficients, [ ]iβ , to satisfy each motor schema. Translator module receives the resultant vector from the behaviour coordination module and produces the actual control commands. Two control variables completely define the output behaviour of the robot; the translation velocity command ( ), and the steering rate command (Ω ) where [12];
v
[ ]δθ )(−=Ω k (6)
where = proportional constant for steering (in seck -1). θ = robot’s current direction (in degree).
δ = resultant vector’s direction (in degree) The is a specially defined operator for two operands [12] which provides the shortest rotational difference between
)(−θ and δ . Therefore, Ω is always in the range of
. °<<°− 180180 c 6. Modelling and Simulation using Player/Stage Architecture In order to estimate the capability of the proposed work for expressing useful tasks, several algorithms have been evaluated. The Player/Stage simulator [6] was used to conduct the experiments to confirm that the robot can successfully plan the path, wander around its environment, visit each waypoint and finally reach its goal without collisions. 6.1. Experimental Results of Path Planning Algorithm Although the Player/Stage simulator includes a planner proxy, called a wavefront driver, it can not be executed on a physical mobile robot unless the robot’s localization system is established in the laboratory. At this time the mobile robot currently only uses its odometry system for localization which is not accepted as an input by the planner proxy. All experiments, using the planner proxy, were conducted with the ideal localization on
the Player/Stage simulator. Therefore, the planning algorithm was developed for that reason for using on the Player/Stage simulator as well as for further implementation on the physical mobile robot. The purpose of the experiment is to create the safe path from the robot’s current position to its goal. The experiment revealed that the path planning algorithm works for any given reachable goal location. If the algorithm is given an unreachable goal location, it will state this fact and be able to recognize this unreachable goal. The goal could be unreachable because it is inside the obstacles or it is behind the wall, with no access. The algorithm was tested for a range of different goal positions and that it could plan the path to each reachable goal in the laboratory. Table 1 shows the outputs of the path planning algorithm, in terms of a series of waypoints, from the different start positions to the different goal positions. The x,y coordinates of the Docking area, Room1, Room2, and Room 3, as shown in Figure 6, are (0, 0), (3, 5), (12, 5), and (6, -6), respectively. The prohibited areas are also shown in Figure 6, where and represent the prohibited area A and B. The results also revealed that the waypoints did not occur in any prohibited areas on the map as shown in Table 2. Figure 6 displays the outputs of the path planning algorithm, with a series of waypoints from the different start positions to the different goal positions.
Start Goal No. of waypoints Waypoints
Dock Dock Dock Room 1 Room 1 Room 1 Room 2 Room 2 Room 2 Room 3 Room 3 Room 3
Room 1 Room 2 Room 3 Dock Room 2 Room 3 Dock Room 1 Room 3 Dock Room 1 Room 2
Table 1. Outputs of the path planning algorithm from the different start positions to the
different goal positions.
Start Goal No. of waypoints Waypoints
Dock Dock
Area A Area B
0 0
Path is unreachable. Path is unreachable.
Table 2. Outputs of the path planning algorithm in cases of the unreachable goals.
No claims about the optimality of the wavefront algorithm are made at this point, however, the experiments have shown that the algorithm plans acceptable path plans for the particular environment.
6.2. Experimental Results of Behaviour Based Hybrid Architecture In this section, the Player/Stage simulator was used to conduct the experiments. The purpose of the experiment is to navigate the robot to each position in the laboratory without experiencing any collision and to successfully get to within a short distance of its goal and a reasonable amount of time. All experiments, however, were conducted with the odometry system on the simulator. In the experiment, the following parameters are defined: start position, goal position, initial heading, behaviour coefficients, minimum and maximum speed, and distance tolerance for reaching waypoints and the goal (see Table 3). The initial parameters, however, might not be used in a real scenario because they are dependent on the physical dynamics of a real mobile robot.
Parameters Descriptions Start position (x, y) Goal position (x, y) Initial heading angle Attractive behaviour coefficient Repulsive behaviour coefficient Minimum speed Maximum speed Distance of influence of the object Distance tolerance
Docking Area: (0,0) Room 1: (3, 5) for Figure 7 Room 2: (12, 5) for Figure 9 Room 3: (6, -6) for Figure 8 θ = 0.0˚ βt = 1.0 βr = 2.5 v = 0.0 m/s v = 0.5 m/s d0 = 2.0 m dt = 1.0 m for reaching waypoint dt = 0.5 m for reaching goal
Table 3. Initialization of the robot control algorithm.
By using the developed behaviour based hybrid system, initialized with the parameters given in Table 3, the desired path and a series of waypoints are obtained, as shown in Figures 7 to 9, in which a series of waypoints are represented by dots on the Stage simulator. Figure 7 displays the robot’s trajectory with no obstacle along the robot desired path, while Figures 8 and 9 show the modified trajectory when the unexpected objects are placed along the desired path. As shown in Figures 8 and 9, the robot efficiently avoids the unexpected object using the avoid_obstacle behaviour, before resuming its desired path and continued moving to its goal. Figures 7 to 9 also demonstrate that the algorithm ensures the mobile robot tracks the desired path on the Stage simulator. The experiments demonstrated that the path planning algorithm safely navigated the simulated robot to each location in the laboratory. Figures 7 to 9 show that the robot did not collide into any wall or obstacle and did no harm itself or to the other objects when it moved throughout its environment. The results also show that the robot can effectively wander around the laboratory. It did not attempt to enter any prohibited area on the map and did not get lost or confused in any area.
7. Conclusion and Future Work Although the simulated robot was able to effectively navigate in the simulated experiments under the odometry system provided by the Player/Stage simulator, these experiments do not guarantee that the real robot will perform in the same way when the same experiments are conducted under real conditions, primarily because the simulated robot model does not include any of the robot dynamics, and the sensors are modelled as being ideal. Furthermore, the simulated environment was relatively uncluttered and did not contain other moving obstacles, such as humans or other robots that could have obstructed its performance. However, since the simulated environment was similar to the actual conditions in the laboratory, it is postulated that the robot will achieve an acceptable level of performance under real conditions. Future work consists of further developing the system’s components, designing a series of experiments to facilitate rigorous testing, and evaluation of the mobile robot so that it can undertake a number of specific tasks. Additional behaviours including laser_ovoid_obstacle, follow_wall, random_turn, wander, cross_door, escape_loop, and emergency_stop, will be designed, tuned and evaluated independently. They will be then added to the reactive module as part of the overall behavioural strategies. After that, the behaviour coordination module will be developed for automatically computing a set of behaviour coefficients, [ ]iβ , corresponding to the individual robot’s behaviours and its current environment state. Control techniques, especially fuzzy logic control, will be adopted at this stage as the possible means to develop such a module and optimize the robot behaviour. All behaviours will be multiplied by their behaviour coefficients and then combined to produce a single robot’s behaviour which will be evaluated and tested on the physical mobile robot under real conditions.
References 1. Siegwart, R. and I.R. Nourbakhsh, Introduction to Autonomous Mobile Robots. 2004. 2. Khatib, O., Real-Time Obstacle Avoidance for Manipulators and Mobile Robots. The
International Journal of Robotics Research, 1986. 5(1): p. 90-98. 3. Arkin, R.C., Motor Schema-Based Mobile Robot Navigation. The International
Journal of Robotics Research, 1989: p. 92-112. 4. Brooks, R.A., A Robust Layered Control System for a Mobile Robot. IEEE Journal of
Robotics and Automation, 1986. RA-2(1): p. 14-23. 5. Arkin, R.C., Motor schema based navigation for a mobile: An approach to
programming by behavior. Proceedings IEEE International Conference on Robotics and Automation, 1987. 4: p. 246-271.
6. Gerkey, B.P., et al., Most Valuable Player: A Robot Device Server for Distributed Control. Proceedings of the IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems (IROS), 2001: p. 1226-1231.
7. Collett, T.H.J., B.A. MacDonald, and B. Gerkey, Player 2.0: Toward a Practical Robot Programming Framework. Proceedings of the Australasian Conference on Robotics and Automation (ACRA 2005), 2005.
8. Arkin, R.C., Behavior-Based Robotics. 1 ed. Bradford Book. 1998: MIT Press. 491. 9. Egerstedt, M., Behavior Based Robotics using Hybrid Automata. Proceedings of the
Third International Workshop on Hybrid systems: Computation and Control, 2000: p. 103-116.
10. Sahota, M.K., Action Selection for Robots in Dynamic Environments through Inter-behaviour Bidding. Proceedings of the Third International Conference on Simulation of Adaptive Behavior, 1994: p. 138-142.
11. Taliansky, A. and N. Shimkin, Behavior-Based Navigation for an indoor Mobile Robot. 21st IEEE Convention of the Electrical and Electronic Engineers in Israel, 2000: p. 281-284.
12. Borenstein, J. and Y. Koren, Real-time Obstacle Avoidance for Fast Mobile Robots. 1989 IEEE. Reprinted, with permission, from IEEE Transactions on Systems, Man, and Cybernetics, 1989. 19(5): p. 1179-1187.