Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
62
CHAPTER 3
DYNAMIC PATH PLANNING AGENT (DPPA) BASED
APPROACH FOR MOBILE ROBOT NAVIGATION IN
DYNAMIC ENVIRONMENT
3.1 INTRODUCTON
Mobile robot applications often require repeated traversal in a
changing environment between predefined start and goal points. For example,
a mobile robot could be used to transport details and sub-assemblies between a
store and production lines. This task implies repeated traversal between the
store and the production cells. Jan Willemson and Maarja (2006) presents a
mobile robot that can be used for surveillance. This task implies visiting
certain checkpoints on a closed territory in a predefined order. Real
environments where these kind of mobile robots have to operate are dynamic
by nature. From the point of view of mobile robot navigation, it means that
unexpected obstacles can appear and disappear.
Robots that operate in the real world need to respond rapidly to
changes in the environment. A path to the robot’s goal, generated with
available data, quickly becomes invalid as the environment changes or the
robot receives new information. A challenge in mobile robots, results in
re-planning the path as quickly as possible. Of all the most challenging, are
environments that contain dynamic obstacles and obstacles with associated
costs, such as personal space around people, buffer zones around dangerous
63
vehicles, or rough terrain. As sensors are imperfect, robots navigating in
dynamic environments must re-plan whenever they receive new sensory data
in order to ensure a safe, low-cost path.
Researchers are now trying to operate in the real world. Examples
of such robotic systems can be found indoors and outdoors doing their best to
carry out autonomously tasks as diversified as sweeping floors (eg. Probotics
Cye-SR, Gecko Carebot, iRobot Roomba), mowing lawns (eg. Friendly
Robotics RoboMower, Husqvarna Automower), moving goods in warehouses,
factories and port terminals (eg. Seegrid SmartTruck, BT Industries Autopilot,
Frog Container Carriers), tour-guiding people in museums or shows
(eg. Rhino, Minerva, Robox, Rackham), helping people with disabilities
(eg. GuideCane, MAid), driving people around (eg. Frog ParkShuttle and
CyberCab), and even taking part in races (eg. Darpa Grand Challenge).
Designing an autonomous robotic system requires the solving of a number of
challenging problems in domains such as perception, localisation, environment
modelling, reasoning and decision-making, control, etc. Aydin et al (2008)
proposed whatever may be the kind of tasks that is expected to be carried out,
at some point or the other, it is required to move. Motion is therefore a
fundamental issue in Robotics.
Real time collision-free motion planning of mobile robots is one of
the most important issues in robotics. Mobile Robot Navigation in dynamic
environments with moving obstacles is a real challenge in path planning.
Several approaches like the classical Edge Detection by Kuc and Barshan
(1989), the Certainty Grid by Elfes (1987), the Potential Field by Khatib
(1986), the Virtual Force Field (VFF) by Borenstein and Koren (1989),the
Vector Field Histogram (VFH) by Borenstein and Koren (1991), the Dynamic
Window Approach by Burgard et al (1997), the Configuration Space
Approach by Lozano-Perez (1983) and the Dynamic Programming (DP) by
64
Willms and Yang (2006) have been proposed for mobile robot path planning
in dynamic environment. However mobile robot navigation in dynamic
environments is still a challenge for real world applications. The robot should
be able to reach its goal position, navigating safely among moving people or
vehicles, facing the implicit uncertainty of the surrounding world and the
limits of its perception system.
Motion planning in dynamic or uncertain environments is an
important problem in the field of mobile robots. In motion planning, the
navigation of the mobile robot is characterised by two main aspects, obstacle-
avoidance and goal-seeking.
Gaudiano et al (1996) proposed a neural-network model for a
mobile robot navigation, which generates dynamic collision-free trajectories
through unsupervised learning. This model is computationally complicated
since it incorporates the vector-associative-map model and the direction-to-
rotation effectors control transform model. The generated trajectories using
learning-based approaches are not optimal, particularly during the initial
learning phase. Glasius et al (1995) proposed to avoid the time-consuming
learning process, a Hopfield-type neural-network model for real time
trajectory generation with obstacle avoidance in a non stationary environment.
Jarvis and Sardjono (2003) proposed unknown dynamic
environments, a linear combination of vectors which is used to obtain the path
that is a compromise between the safest and the shortest path. Heuristic search
algorithms, A* can find optimal paths, but typically do not run fast enough to
replan in real time, as the robot receives new sensory data. Genetic Algorithm
also supports optimal path selection during navigation. Learning algorithms
such as reinforcement algorithms makes the robot predict the environment and
guides it for path selection in a dynamic environment.
65
Willms and Yang (2006) motivate this research for movingobstacles. The proposed DPPA (Dynamic Path Planning Agent) uses distance
prediction dynamically, at every time step. DPPA analyses the various paths toreach the target without collision of the static and dynamic obstacles in the
path by calculating their location in the grid structure and decides the shortestpath to reach the target in minimum time.
3.2 DPPA ENVIRONMENT
In the proposed (10×10) grid indoor environment, the ordereddistance propagation module calculates the current status of mobile robot, theneighboring grid current values and decides the incremental movement. Robotenvironment is discretized into a grid of M points, labeled by an index i, each
point being a free space or a barrier location, the targets and the robot mayoccupy any free space. dmin and dmax to be the minimum and maximumdistances between any two adjacent neighbors in the grid. Bi to be the set offree spaces that are adjacent neighbors to point i. The distance dij between any
two free spaces i and j is defined to be the minimum Euclidean length of allpaths joining i and j through non barrier adjacent neighbors. Each grid pointhas an associated variable xi(n), a real value that records the distance to thenearest target at time step n. The system is initialized by setting the variables
xi(0) to 0 for all target locations and all other locations to large maximaldistance D. D > (M 1) dmax is sufficiently large. The dynamic system thenevolves by updating the grid points in an order depending on the distance tothe target.
0, if i=target
xi (n+1) = D,if i=barrier (3.1)
Min(D,f(i,n)), Otherwise
where f(i,n) = min (dij+xj(n)) j € Bi
66
The robot navigation in the dynamic environment is shown in
Figure 3.1.
Figure 3.1 Dynamic Path Selection
Initially the robot is assumed at position (1, 1). During the first step
movement the neighbouring grid cell values are (0,0), (0,1),
(1,0),(0,2),(1,2),(2,1) and (2,2). Updating neighbours values using the
Eqn. (3.1), the corresponding values of the above grid position are (4.2, 3.6,
3.6, 3.1, 3.1, 2.3, 2.3, and 100). So the next position movement (2,1) is the
minimum value. Similarly robot selects the time step movement in the gird
environment by calculating the distance propagation values each time, until it
reaches the target.
3.3 PROPOSED METHODOLOGY
The DPPA methodology includes checking the presence of both
static and dynamic obstacles in the path to reach the goal, and dynamically
calculates the distance between the current position of the mobile robot and
the target through the free adjacent grid cells, deciding the shortest path and
moving likewise throughout the distance to reach the goal.
67
Figure 3.2 shows flowchart for the dynamic path selection in the
proposed environment. The starting point is marked as the source and the goal
is also marked. Now the source scans all its adjacent 8 grid points for the
presence of the goal. If it is found then it moves to that point and stops. If no
goal is found then the adjacent points are scanned for obstacles. If any obstacle
is found then the corresponding grid point is dropped. Now for the remaining
adjacent points, the one which has the minimum Euclidean distance to the goal
is identified and marked as the “temp”. Now the source is shifted to the
“temp” and then the same process iterates till the goal position is reached.
The following assumptions are made in the work flow of the Robot
Agent movement:
1. The entire Indoor Environment is divided into a group of Grid
cells of size (10×10)
2. The shapes of dynamic obstacle agents are captured by various
simple shapes like triangle, rectangle, etc.,
3. The speed with which the robot Agent moves is assumed to be
higher than the speed of the obstacles.
68
Figure 3.2 Flow chart for DPPA Navigation
From Figure 3.2, it can be seen that the current position of the
Robot Agent is marked as the source point during every step in its movement.
From the current cell, the robot agent checks the adjacent cells and calculates
the Euclidean distance from each of the free adjacent cell to the goal. Then,
the robot checks for the minimum Euclidean distance to reach the goal and
Start
Select the Current Position of the Robot as the Source Point
Input the starting location of theRobot, Goal and the Obstacles
For each of the adjacent points to the source
Compute the Euclidean distance between all the freeadjacent points to the source, and the goal point
Amongst this find the free adjacent cell which hasthe minimum Euclidean distance to the goal and
store it as temp
Move the robot to thepoint saved as temp
Stop
Whether thatpoint is the
Goal
Yes
No
69
stores the position of that cell value. Now, the robot having marked its
location for the next step moves to the value stored in the cell.
From the current location which is now defined as the source point,
the Robot agent checks the present adjacent cells for obstacles, identifies the
free cell that has the minimum distance to the goal, saves in “temp” and moves
further. The same procedure is repeated by the robot agent till it reaches the
goal. Assuming all the adjacent positions are identified to be having obstacles
at any stage, then, the DPPA displays the non-availability of a free path to
reach the goal and stops the navigation.
3.3.1 Obstacle Visualized as Point and Triangle
In the first case, the obstacle agents are depicted as two “single”
grid points. Two numbers of single grid points are considered. The movements
of these obstacles agent are random and so, their locations cannot be predicted
precisely. Hence, the robot checks for the presence of these obstacle agents in
its path to reach the goal using the DPPA in its every step, avoids collusion
and moves through the minimum distance to reach its goal.
In the next instance, the obstacle agent is considered to be of twin
triangular shapes. The triangle is considered to have three single points as
obstacle agent. Hence, using DPPA, the robot agent checks the three
consecutive grid points forming the base of the triangle in its adjacent cells
and having obstacles agent and to avoid collision, moves through free adjacent
cells to reach the goal. Figure 3.3 shows the path selection with DPPA for the
grid and triangle obstacle agent.
70
Figure 3.3 Moving Obstacles - Grid and Triangle Shape Obstacles
(Notation: The blue line depicts the path traversed by the source, avoiding the
obstacle at each instant of time. The red line indicates the random path
traversed by the obstacle)
71
3.3.2 Obstacle Visualized as Rectangle and V Shape
Similar to the triangle, the rectangular obstacles and “V” shaped
obstacles are presumed to have three single points. In the proposed research
work, two rectangles and two V shaped obstacles are considered wherein the
Robot agent has to maneuver six single points in each instance to avoid
collusion using DPPA, and moving through the minimum distance thereby
with minimum path cost to reach the goal. The advantage the Robot agent
selects its movement in these cases is that the Robot agent has the freedom to
pass in between the twin obstacles agents. Figure 3.4 shows the path selection
with DPPA for rectangle and V shaped obstacle agents.
72
Figure 3.4 Moving Obstacles - Rectangle and V Shaped Obstacles
73
3.3.3 Robot in the middle of twin obstacles moving in opposite
directions around it
Figure 3.5 shows the dynamic path selection in between the twin
obstacle agent moving in opposite directions.
Contrary to the assumptions made so far wherein the movement of
the obstacle agent was random and unpredictable, now, the paths of the
obstacle agent are defined in this context. Not a single obstacle agent but two
are assumed to move in opposite directions and the robot agent is placed
inside the two obstacle agents moving in opposite directions.
The movements of the inner and outer obstacle agents are known
and defined and this concept is made use of in DPPA. Using the defined
DPPA, the Robot agent first moves out of the first inner obstacle agent without
collision and safely crosses the second outer obstacle agent to reach the goal.
A situation where the outer obstacle agent cannot be traversed without
collision is simulated and in that context, the Robot Agent traverses back to
the inner path, waits for the free path and then proceeds.
74
Figure 3.5 Twin obstacles moving in opposite direction
75
Figure 3.5 (Continued)
Results inferred from the simulation of mobile robot using DPPA are,
1. The robot agent is able to reach the goal without collusion in
an Indoor environment amidst obstacle agents.
2. Be the dynamically moving obstacle agents is grid shaped or
triangles or twin rectangles or V Shaped, the robot agent is
capable of finding its path to the goal.
3. With the obstacle agent moving around the Robot agent with
the inner layer obstacle in one direction and the outer layer in
the opposite direction, the Robot agent finds its way to reach
the goal without collision.
4. Every step of the robot agent is taken after ensuring the free
path without obstacle agent.
5. It is ensured that the shortest path is chosen thereby resulting
in minimum cost and minimum time.
76
6. It forms the base for utilizing this concept in day-to-day
applications where context sensitive dynamic movements are
required.
7. DPPA plans each task as a discrete control in which optimal
solutions are obtained, using efficient dynamic path planning.
3.4 PERFORMANCE ANALYSIS AND DISCUSSIONS
Table 3.1 shows the results of the mobile robot agent source
position 1 where the robot starts the navigation, the target position assuming
the default 95 for convex shaped obstacles. The execution time for rectangle,
triangle, and grid obstacles is very less. For the complex nature of obstacles
like inward C and outward C the movement of obstacles agent simultaneously,
DPPA calculation time was twice compared to other obstacles listed in the
table.
Table 3.1 Simulation Results
S. No InitialPosition
GoalPosition
ObstacleShape
Executiontime
(milliseconds)
Path Cost
1 1 95 Grid point 29 574.262 1 95 Triangle 40 603.553 1 95 Rectangle 69 874.20
4 45 100
Twin obstaclesmoving inoppositedirections
139 1324.26
The simulation result shows the execution time increases as the
complexity of the environment is increased with respect to change in obstacle
size and shape. Path cost is defined as the total grid cell values the robot
77
traverse in the environment to reach the goal. As the twin obstacles need two
times calculations performed for each step movement of the robot, the time
taken as well as path cost is doubled.
3.4.1 Comparison of Simulation Results
Simulation results were compared with Willms and Yang (2006) the
work of the inclusion in the complex nature of obstacles. The Dynamic
Programming strategy with Agents observes the environment and makes the
robot perform efficient path selection. The execution time is 63.1 seconds
compared to the conventional algorithm which is a little higher 84.9 seconds.
The reduction time is due to the agent being coordinated with every step
movement of the mobile robot during its navigation in the dynamic
environment. Since the dynamic obstacle movement is only considered the
comparison was made for the inward and outward movements of the obstacle
movement. The work of Willms and yang (2006) considers the target, moving
along with obstacles, and comparison was made for the common objective
where target movement is not performed in the environment.
3.5 DPPA IMPLEMENTATION IN REAL TIME MOBILE
ROBOT
Robots that operate in the real world need to respond rapidly to
changes in the environment. A plan of available data to the robot’s goal
quickly becomes invalidated as and for the environment changes or the robot
receives new information. Then the challenge to mobile robots is the
replanning of paths as quickly as possible, especially for the challenging
environments with dynamic obstacles and obstacles with associated costs,
such as personal space around people, buffer zones around dangerous vehicles
and rough terrain. As sensors are imperfect, robots navigating in real time
78
dynamic environments must replan whenever they receive new sensory data in
order to ensure a safe, low-cost path.
3.5.1 Description of Fire Bird V Mobile Robot
A real time environment is created with a rectangular area of
80 cm 75 cm. This constitutes a dynamic work space in which the obstacles
are moving while the boundary is fixed. Fire Bird V robot has 2
microcontrollers: An ATMEGA2560 - master microcontroller and ATMEGA8
- slave microcontroller. Position encoder discs are mounted on both the
motor’s axle of the Robot to give the position feedback to the microcontroller.
Figure 3.6 Fire Bird V Mobile Robot
Figure 3.6 shows the robot has two DC geared motors for the
locomotion. It is marked with 8 IR sensors to identify the presence of the
obstacle in all the directions around the Robot. The robot has a top speed of
24cm / second. The Front castor wheel provides support at the front of the
robot. Using this configuration, the robot can turn with zero turning radius by
rotating one wheel in the clockwise direction and the other in the counter
clockwise, direction. Position encoder discs are mounted on both the motor’s
79
axles to give a clockwise position feedback to the microcontroller. White line
sensors are used for detecting the white line on the ground surface. White lines
are used to give the robot a sense of localizations. A white line sensor consists
of a highly directional phototransistor for line sensing and a red LED for
illumination.
For Microcontroller programming, the AVR (Alf Vegard RISC)
Harvard modified architecture is used to program Atmel Microcontrollers. The
AVR integrated development environment supports faster error tracking in the
real time environment. IR Proximity sensors (to identify the obstacles) and IR
Range sensor (to measure the exact distance) are used. The concept that the
sensor values remain high when there are no obstacles around it and it starts
decreasing on approaching an obstacle is used here. Robots usually have
different kinds of sensors distributed in various nodes. Sensory information is
used to calculate the actions that the robot will execute.
3.5.1.1 IR Range Sensors
IR sensors are used to identify the presence of the obstacle in all the
directions around the Robot. IR proximity sensor consists of an IR LED and
an IR photo diode. IR LED is used to illuminate the object and the IR photo
diode is used to identify the presence of the obstacle based on the reflected
light of the LED from the object. The data values of all the 8 sensors in
different contexts with / without obstacles in various directions are calculated
in the proposed environment and listed below in Table 3.2.
80
Table 3.2 Mapping Sensor Values in the Environment
Obstacle Position IR1 IR2 IR3 IR4 IR5 IR6 IR7 IR8No obstacle along any side 33 235 242 242 245 252 252 253Obstacle at front 233 233 229 241 244 251 252 253Obstacle at front and left 228 232 229 240 244 249 250 252Obstacle at front and right 231 232 229 241 242 249 250 251Obstacle at left only 229 235 240 241 245 251 252 253Obstacle at right only 232 232 236 240 239 249 251 250Obstacle at front, left andright
225 233 231 240 239 249 251 250
Obstacle at back 232 232 236 242 245 250 246 252
Fire Bird V is attached with very sensitive IR range sensors. Though
8 IR range sensors are attached with the Robot, only 5 sensors are used for the
forward movements. The IR range sensors have 2 parts – the IR beam for
generating light and the CCD array for measuring the distance. The light
generated by the IR beam illuminates the object. The light hits the obstacle
and is reflected back. The angle of the reflected light varies corresponding to
the distance of the obstacle. The CCD array measures this angle and calculates
the exact distance of the obstacle.
IR Sensor mapping values makes the robot avoid dynamic obstacles
along the path. A white line position is drawn in the environment as a target. A
white line sensor in the mobile robot consists of a highly directional
phototransistor for line sensing and a red LED for illumination. On moving on
a white surface, the sensor values are <=10. The robot is programmed in such
a way that once it detects the while line it stops it navigation and makes a beep
sound before it reaches the target.
81
3.6 PERFORMANCE ANALYSIS AND DISCUSSIONS
Figure 3.7 shows the various experiment results for grid, rectangle,
and V shaped obstacles moving in the environment. The Time taken for the
Fire Bird V Robot to reach the target increases with the obstacle shapes in the
environment. Sensor mapping supports the real time execution for dynamic
navigation in the indoor environment.
Each sensor mapping point on the map has only local connections to
its neighbouring mapping from which it receives information in real time. The
information stored at each point is a current estimate of the distance to the
nearest target and the neighbour from which this distance was determined.
Updating the distance estimate at each grid point is done using only the
information gathered from the point’s neighbours, that is, each point can be
considered an independent processor, and the order in which grid points are
updated is not determined based on the global knowledge of the current
distances at each point or the previous history of each point.
The robot path is determined in real time completely from the
information at the robot’s current sensor mapping value. The computational
effort to update each point is minimal, allowing for the rapid propagation of
the distance information outward along the grid from the target locations.
82
Figure 3.7 Real time Results
. Table 3.3 shows the real time Firebird V implementation. The
average time to reach the goal with DPAA in real time is 67.67 seconds.
83
Table 3.3 Real Time Implementation Results
Obstacle ShapeTime to reach the goal
with DPPA in realtime (Seconds)
Point Obstacle 53Rectangle shapedObstacle 67
V Shaped Obstacle 83
Overall Average ShapeObstacle 67.67
3.7 STATISTICAL ANALYSIS
For the various dynamic obstacles in the environment, DPPA
(Dynamic Path Planning Agent) takes less time to reach the goal without
collision when compared with DP (Dynamic Programming). While testing the
(DP) with moving obstacles of various shapes in the environment it takes
longer time to reach the goal comparing with the DPPA. The DPPA takes
lesser time over DP in various tests of dynamic obstacles in the environment.
Similarly in the overall dynamic obstacles the average time taken by DPPA
(69.25 milliseconds) is lesser than the DP (78.00 milliseconds) in reaching the
goal as shown in Table 3.4. SPSS tool is used for statistical analysis.
84
Table 3.4 Paired Sample Statistics
Obstacle Shape Time to reach the goal withDPPA (milliseconds)
Time to reach the goal withDP(milliseconds)
Point Obstacle 29 35Triangle shapedObstacle 40 46
Rectangle shapedObstacle 69 78
Twin Obstaclesmoving in oppositedirection
139 153
Mean 69.25 78.00Std. Deviation 49.47 53.22Std. Error Mean 24.73 26.61
Table 3.5 shows the inferential statistical data that is obtained using
Eqn. (2.2),(2.3) and (2.4) given in chapter 2.Here, the “t” value is -4.64. The
column labelled "d.f" gives the degrees of freedom associated with the “t” test.
In this example, there are 3 degrees of freedom. The two-tailed probability
value is 0.02, which is certainly significant and lesser than 0.05. The result
value proves the proposed DPPA method is significant compared to DP.
Table 3.5 Inferential Statistics
Paired Samples Test
Type Comparison
Paired Differences
t value d.fMean Std.
Deviation
Std.ErrorMean
95% ConfidenceInterval of the
Difference
Lower Upper
Pair 1
Time to reachthe goal withDPPA and Timeto reach the goalwith DP
-8.75 3.77 0.89 14.76 -2.74 -4.64 3.00
85
3.8 SUMMARY OF THE CHAPTER
In real time mobile robot navigation it is possible for a Robot to
move ahead amidst the dynamically moving obstacles and reach the goal
without collision. This concept is proved to be limited to an Indoor
Environment in real time using Fire Bird V Mobile Robot. The splitting of the
environment into grid points facilitates the Robot to move with the limited
local environment knowledge without the need for any global knowledge. The
obstacles of different shapes like grid size, rectangle, V shaped are used for
the Fire Bird to wade through and reach the goal without collision. It is also
confirmed that the complexity of the obstacle increases the time taken to pass
through it. It is also proved that the Robot selects the optimal path, passes
through the shortest path thereby minimizing the path cost as well as the time.
The domain of DPPA will be expanded from Indoor to Outdoor
Environment amidst obstacles. DPPA also can be thought of extending it to
real life e.g. for the old age and sick people to move about in DPPA powered
wheel chair both in Indoor and Outdoor environments with ease.
Including the Learning Agent in the environment will force the
robot to perform the task autonomously using relevant feature values taken
from the environment, giving reward values all the while taking into account
the robot’s behaviour. Based on the above values, the necessary action is taken
by the mobile robot to reach the goal by breaking the path planning to
subtasks, learn each and every environmental value and reaching the goal by
optimal path selection. The research work in the next chapter is inspired from
the learning concept added to the environment for optimal path selection.