0% found this document useful (0 votes)
51 views16 pages

Mobile Robot Navigation Using A Behavioural Strategy

This document summarizes a paper about mobile robot navigation using a behavioral strategy. It discusses using a hybrid architecture that combines deliberative path planning and reactive obstacle avoidance. For path planning, it uses a wavefront algorithm to plan a global path from waypoints. For local navigation, it uses a potential field method for real-time obstacle avoidance. The robot is able to safely and effectively navigate its environment by combining these deliberative and reactive systems through a behavioral hybrid architecture.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
51 views16 pages

Mobile Robot Navigation Using A Behavioural Strategy

This document summarizes a paper about mobile robot navigation using a behavioral strategy. It discusses using a hybrid architecture that combines deliberative path planning and reactive obstacle avoidance. For path planning, it uses a wavefront algorithm to plan a global path from waypoints. For local navigation, it uses a potential field method for real-time obstacle avoidance. The robot is able to safely and effectively navigate its environment by combining these deliberative and reactive systems through a behavioral hybrid architecture.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

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 robots 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 robots
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 robots
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 goaldirected 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 robots 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 robots 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 robots
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 Arkins 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 robots 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 robots 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 plugin 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 robots 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 robots 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 ( Ft ). The robots visitation at each waypoint ends
when it gets within the so called distance tolerance ( d t ), e.g. 1 m of the waypoint.
However, this condition is not used for the final waypoint, i.e. the goal, where the robots

task is completed when the distance tolerance is reduced to 0.5 m of the goal. The
attractive force is given by [1];

Ft =

xt x0 y t y 0
x+
y
d (t )
d (t )

(1)

where d (t ) = distance between robot and its goal.


xt , y t = goal coordinates.
x0 , y 0 = robots current coordinates.
avoid_obstacle - this behaviour uses the robots 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 ( Fr ) is a
unit vector directed to the sum of the repulsive forces generated by each obstacle point
( x i , y j ). Each repulsive force ( F ) is inversely proportional to the square of the distance
between the obstacle and the robot such that;
1 xi x 0 y j y 0
x+

F (i, j ) = d 2 (i, j ) d (i, j )


d (i, j )
0

if d (i, j ) d 0

(2)

if d (i, j ) > d 0

where d (i, j ) = distance between robot and obstacle point (i, j ) .


d0
= distance of influence of the object.
x i , y j = obstacle point coordinates.
x0 , y 0 = robots current coordinates.
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, ( Fr ), which is the vector sum of the individual forces from
all obstacle points, is given by;
Fr = F (i, j )

(3)

i, j

Then, the unit vector ( Fr ) is defined as;

Fr =

Fr
Fr

(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];

R=

i Fi

i =1

(5)

i =1

where i

Fi

= behaviour coefficients corresponding to individual schemas.


= 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 ( v ), and the steering rate
command ( ) where [12];

= k [ () ]
where k

(6)

= proportional constant for steering (in sec-1).


= robots current direction (in degree).
= resultant vectors 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
180 < c < 180 .
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 robots 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 robots 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

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

No. of
waypoints

Waypoints

2
4
3
2
6
5
4
5
6
3
4
6

(2.6, 0.8), (3, 5)


(12,0), (12.7, 1.3), (12.4, 3.7), (12, 5)
(4.8, -1.1), (5.1, -3.1), (6, -6)
(2, 0.7), (0, 0)
(3, 0.7), (3.4, 0.2), (12.2, 0.2), (12.7, 1.3), (12.4, 3.7), (12, 5)
(3, 0.7), (3.4, 0.2), (4.8, -1.5), (5.1, -3.1), (6, -6)
(12.7, 3.5), (12.5, 1), (9.6, 0.2), (0,0)
(12.7, 3.5), (12.5, 1), (9.6, 0.2), (2.8, 0.2), (3, 5)
(12.7, 3.5), (12.5, 1), (9.6, 0.2), (4.8, -1.1), (5.1, -3.1), (6, -6)
(4.5, -3.1), (4.2, -1.3), (2.6, 0.3), (3, 5)
(4.5, -3.1), (4.2, -1.3), (2.6, 0.3), (3, 5)
(4.5, -3.1), (4.2, -1.3), (11.6, -0.8), (12.7, 1.2), (12.5, 3.7), (12, 5)

Table 1. Outputs of the path planning algorithm from the different start positions to the
different goal positions.
Start

Dock
Dock

Goal

Area A
Area B

No. of
waypoints

Waypoints

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
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

Descriptions
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 robots 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 systems 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 robots 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 robots 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 Interbehaviour 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.
13. Mataric, M.J., The Robotics Primer. 2007.

61

60

59

58

57

56

55

54

53

52

51

50

49

48

47

46

45

44

43

42

41

40

39

38

37

36

37

38

39

40

41

62

61

60

59

58

57

56

55

54

53

52

48

47

46

45

44

43

42

41

37

36

35

36

37

38

39

40

63

62

61

60

59

58

57

56

55

54

53

49

48

47

46

45

44

43

42

36

35

34

35

36

37

38

39

64

63

62

61

60

59

58

57

56

55

54

50

49

48

47

46

45

44

43

35

34

33

34

35

36

37

38

65

64

63

62

61

60

59

58

57

56

55

51

50

49

48

47

46

45

44

34

33

32

33
0

34

35

36

37

66

65

64

63

62

61

60

59

58

57

56

52

51

50

49

48

47

46

45

33

32

31

32
0

33

34

35

36

67

66

65

64

63

53

52

51

50

49

48

47

46

32

31

30

31
0

32

33

34

35

36

37

38

39

40

41

68

54

53

52

51

50

49

48

47

31

30

29

30
0

31

32

33

34

35

36

37

38

39

41

69

64

63

62

61

60

59

58

57

56

55

64

55

54

53

52

51

50

49

48

30

29

28

29
0

30

31

32

33

34

35

36

37

38

39

70

63

62

61

60

59

58

57

56

55

54

63

56

55

54

53

29

28

27

28
0

29

30

31

32

33

34

35

36

37

38

71

62

61

60

59

58

57

56

55

54

53

62

57

56

55

54

28

27

26

27
0

28

29

30

31

32

33

34

35

36

37

72

61

60

59

58

57

56

55

54

53

52

61

58

57

56

55

27

26

25

26
0

27

28

29

30

31

32

33

34

35

36

73

60

59

58

57

56

55

54

53

52

51

60

59

58

57

56

26

25

24

25
0

26

27

28

29

30

31

32

33

34

35

74

59

58

57

56

55

54

53

52

51

50

28

27

26

25

24

23

24
0

25

26

27

28

29

30

31

32

33

34

75

58

57

56

55

54

53

52

51

50

49

27

26

25

24

23

22

76

57

56

55

54

53

52

51

50

49

48

26

25

24

23

22

21

19

18

17

16

15

14

13

12

11

12

77

56

55

54

53

52

51

50

49

48

47

25

24

23

22

21

20

18

17

16

15

14

13

12

11

10

11

78

55

54

53

52

51

50

49

48

47

46

24

23

22

21

20

19

17

16

15

14

13

12

11

10

10

79

54

53

52

51

50

49

48

47

46

45

44

43

42

41

40

39

38

23

22

21

20

19

18

16

15

14

13

12

11

10

80

53

52

51

50

49

48

47

46

45

44

43

42

41

40

39

38

37

22

21

20

19

18

17

16

15

14

13

12

11

10

81

52

51

50

49

48

47

46

45

44

43

42

41

40

39

38

37

36

23

22

21

20

19

18

17

16

15

10

82

41

40

39

38

37

36

35

24

23

22

21

20

19

18

17

16

83

50

49

48

47

46

45

44

43

42

40

39

38

37

36

35

34

25

24

23

22

21

20

84

49

48

47

46

45

44

43

42

41

39

38

37

36

35

34

33

26

25

24

23

22

21

11

10

85

48

47

46

45

44

43

42

41

40

38

37

36

35

34

33

32

31

30

27

26

25

24

23

22

10

86

47

46

45

44

43

42

41

40

39

38

37

36

35

34

33

32

31

30

29

28

27

26

25

24

23

12

11

10

Start Cell

Robot Path

Figure 1. Wavefront Values.

Goal Cell

Figure 2. Potential field concept.

a) A diagram of a deliberative architecture.

b) A diagram of a reactive architecture.

c) A diagram of a hybrid architecture.


Figure 3. Three fundamental classes of mobile robot architectures [13].

a) Subsumption-based robot control architecture.

b) Motor schema-based robot control architecture.


Figure 4. Examples of the behaviour based architecture [8].

Deliberative Module
Target (x, y, )

Planner

Map

a series of waypoints

status

Intermediate Layer
next waypoint

signal that waypoint is reached

Odometry

go_to_waypoint

Sonar

avoid_obstacle
Reactive Module

output
vector

vector
vector

[]

Translator

Behaviour Coordination Module

Figure 5. The behaviour based hybrid architecture.

speed,turnrate

Figure 6. The outputs of the developed path planning algorithm.

Room 2

Room11
Room

Room
Room22

Room
Room11

Goal
Goal

DockingArea
Area
Docking

DockingArea
Area
Docking
waypoint 3

waypoint
waypoint22

waypoint 1

Robot
Robot

Room 33
Room

a) Robot and a series of waypoints.

Room 33
Room

b) Robot reaches its goal.

Figure 7. The mobile robot navigates from Room 3 to Room 1.

Figure 8. The mobile robot navigates from Docking area to Room 3.

Figure 9. The mobile robot navigates from Docking area to Room 2.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy