Path Planning of Mobile Robot in Unknown Environment
Path Planning of Mobile Robot in Unknown Environment
Romesh Laishram
Manipur Institute of Technology
Imphal, Manipur-795001, India
[email protected]
Abstract— In this paper, we study the online path planning for address the problem of motion planning of a mobile robot. If
khepera II mobile robot in an unknown environment. The the environment is a known static terrain and it generates a
well known heuristic A* algorithm is implemented to make path in advance it said to be off-line algorithm. It is said to be
the mobile robot navigate through static obstacles and find the on-line if it is capable of producing a new path in response to
shortest path from an initial position to a target position by environmental changes. Path planning is the art of deciding
avoiding the obstacles. The proposed path finding strategy is which route to take for navigation under dynamic
designed in a grid-map form of an unknown environment with environment. The path planning is based on the current
static unknown obstacles. When the mission is executed, it is internal representation of the terrain. It involves many
necessary to plan an optimal or feasible path for itself avoiding computations for continuous movement and sequences while
obstructions in its way and minimizing a cost such as time, moving between the start and end goal.
energy, and distance. In our study we have considered the Many studies have been carried out in path planning for
distance and time metric as the cost function. different types of mobile robots. The works in [4] and [5]
involve mapping, navigation, and planning tasks for Khepera
mobile robot. In these works, the computationally intensive
Keywords- Robotics, Navigation, Real time A* algorithm, path tasks, e.g., the planning and mapping tasks were not
planning. performed onboard Khepera.They were performed on a
separate computer. The sensor readings and the motor
commands are communicated between the robot and the
computer via serial connection. The A* algorithm [6-7] was
used in these works for planning purposes. However the
algorithm was applied only for an environment in which the
I. INTRODUCTION locations of the obstacles are known in advance. For online
path planning time metric is also an important parameter that
Motion planning is one of the important tasks in
cannot be avoided in designing the cost function. Recent
intelligent control of a mobile robot which should be
researches [8-9] have also considered the use Genetic
performed efficiently. It is often decomposed into path
Algorithm (GA) in path planning for a static environment with
planning and trajectory planning. Path planning is to generate
static obstacles and control of robot motion using GA. The
a collision free path in an environment with obstacles and
author in [10] also proposed the use of GA in the path
optimize it with respect to some criterion [1, 2]. However, this
planning of mobile robot in static environment with different
environment may be imprecise, vast, dynamical and either
fitness function. Some of the proposed techniques in [8-10]
partially or non-structured [3]. In such environment, path
suffer from many problems. They include (1) computationally
planning depends on the sensory information of the
expensive (2) requires large memory spaces when dealing with
environment, which might be associated with imprecision and
dynamic and large sized environments, (3) time consuming. In
uncertainty. Thus, to have a suitable motion planning scheme
[11-12] authors used Fuzzy Logic and Neural Network to
in a cluttered environment, the controller of such kind of
handle the path planning problem, respectively.
robots must have to be adaptive in nature. Trajectory planning
is to schedule the movement of a mobile robot along the
planned path. Several approaches have been proposed to
Special Issue of IJCCT Vol.1 Issue 2, 3, 4; 2010 for International Conference [ACCTA-2010], 3-5 August 2010
Path Planning of Mobile Robot in Unknown Environment 27
In this paper the path planning problem of mobile robot is that the robot traversal one of the neighborhood grid points in
solved using the modified A* algorithm, well known as real one iteration ,but cannot move diagonally to the nearest grid
time A* algorithm in unknown environment unlike [4-5].The points.
algorithm is executed in an online manner. The A* algorithm
is always superior to other GA based solution in terms of the
problems these algorithms suffer as mention above.
The rest of the paper is outlined as follows. Section 2
gives a brief description of Khepera II components and its Go
operation. The algorithm for the path planning is described in al
detail in section 3. Section 4 provides the result through
snapshot taken from the experiment and section 5 concludes
the paper.
II. PROBLEM FORMULATION
Consider the environment, where the map of the
environment is constructed as set of states is called a grid map
and a grid map is build for the robot to navigate. In a grid map
the mobile robot has to plan the path from its given initial
position to goal position with an optimal way. In the grid map
the robot can move in four neighbor directions vertically or
horizontally. A* algorithm is used to decide the next best
position. Each position has an associated cost function,
f(n)=g(n)+r(n)+h(n) where g(n) is the generation cost or
movement cost from the starting position to any position in
the grid, r(n) is the time taken for the robot to rotate towards Figure 1. The motion planning of a robot amidst obstacle denoted by
the direction for movement and h(n) is the estimated Polygons. A circle with a heading direction denotes the robot.
movement cost from a position to the target position. This is
referred to as Heuristic cost. There are many different ways of
defining the heuristic cost. In our implementation the Heuristic
cost is the Euclidean distance between the next possible
The real time A* algorithm is presented below
positions and the target position. The robot chooses the next
position having minimum f(n) value if there is no obstacle. If //Algorithm Real-Time-A*
there is an obstacle the robot moves to the direction with next
minimum f(n) value. When more than one neighbor has same 1. Set NODE to be the start state.
value of f(n) then the direction is chosen randomly. 2. Generate the successor of NODE. If any of the
III. REAL TIME A* ALGORITHM successors is a goal state, then quit.
3. Estimate the value of each successor by
Typical A* algorithm works on a specialized search space performing a fixed-depth search starting at that
represented by a tree or a graph. The objective of this successor. Use depth-first search. Evaluate all
algorithm is to identify a specific goal in the process of leaf nodes using the A* heuristic function f = g
generating new states(nodes ) ,ultimately terminating at the +h’, where g is the distance to the leaf node and
goal state .the path planning problem of the mobile robot can h’ is the predicted distance to the goal. Pass
be solved by modified A* algorithm ,well known as real time heuristic estimates up the search tree in such a
A* algorithm. To justify the importance of the algorithm, we way that the f value of each internal node is set to
consider the path planning of a mobile robot on a 2-D grid the minimum of the values of its children.
structure where a grid may contain one obstacle or the robot. 4. Set NODE to the successor with the lowest
Some of the grids in the workspace are empty and the robot score, and take the corresponding action in the
has to make its pathway through these empty grid points in world. Store the old NODE in a table along with
each iteration of the algorithm, so as to construct a trajectory the heuristic score of the second-best successor.
of motion towards the prescribed goal. The significance of the (With this strategy, we can never enter into a
real time A* algorithm lies in identifying the vacant until fixed loop, because we never make the same
distant grid point which has the shortest distance of the given decision at the same node twice.) If this node is
goal. This is usually evaluated by employing a heuristic ever generated again in step 2, simply look up
function that keeps track of the Euclidean distance of a given the heuristic estimate in the table instead of
neighborhood grid point from the given goal. redoing the fixed-depth search of Step 3.
Fig. 1 presents a given obstacle map and the trajectory of Go to step 2.
the planned path of the robot .it is needless to mention here
Special Issue of IJCCT Vol.1 Issue 2, 3, 4; 2010 for International Conference [ACCTA-2010], 3-5 August 2010
28 Path Planning of Mobile Robot in Unknown Environment
Path_ planning ()
{
Initialize: Place the robot in the grid map environment,
Figure 2. Khepera network and its accessories
heading towards y-axis
Specify the target or goal position (x, y) for the
robot.
heading direction =FRONT
A* is a graph search algorithm that finds a path from given
initial node to a given goal node (or one passing a given goal While (goal_not_reach)
test). The A* algorithm stands by combining the greedy search {
and uniform-cost search (Dijkstra algorithm) [14]. Greedy
search minimizes the estimated cost to the goal (that is the Calculate f(n) =g(n)+h(n)+ r(n) // cost function for all the next
heuristic, h(n)), and thereby cuts the search cost considerably; possible positions.
but it is neither optimal nor complete. In the other hand, Find the minimum of all four possible costs and select the
uniform-cost search minimizes the cost of the path so far (that
direction of minimum Dir min
is elapsed cost, g (n)); it is optimal and complete, but can be
very inefficient. These two methods can be combined by
simply summing the two evaluation functions to get
advantages of both methods.
Special Issue of IJCCT Vol.1 Issue 2, 3, 4; 2010 for International Conference [ACCTA-2010], 3-5 August 2010
Path Planning of Mobile Robot in Unknown Environment 29
V. EXPERIMENTAL RESULTS
Switch (Dirmin) // Dirmin =0 or 1 or 2 or 3 for front, right, left
and down respectively Extensive experiments were conducted to test the robot
performance in path planning between any two positions i.e.
START and GOAL position in the unknown environment with
{ various unexpected obstacles. Figure 3 shows the environment
Case 0: set up of the path planning. The environment has three static
obstacles of different shape and size. Figure 4 shows the
Turn the robot heading in FRONT direction
snapshots taken at different stages of the Khepera II mobile
of its current pose robot path planning in one such case study. Figure 5 gives the
if (obstacle (FRONT) ) grid map representation of the path planning by the mobile
Select the next Dirmin direction and allow robot for the environment shown in figure 3.
the robot to move.
Else
Move in FORWARD direction.
Case 1:
Turn the robot heading in RIGHT direction
of its current pose.
if (obstacle (RIGHT) )
Select the next Dirmin direction and allow
the robot to move
Else
Move in FORWARD direction
Case 2:
Turn the robot heading in LEFT direction of
its current pose
if (obstacle (LEFT )
Select the next Dirmin direction and allow
the robot to move
Else
Move in FORWARD direction
Figure 3. Environment setup for robot path planning
Case 3:
Turn the robot heading in selected direction
of its current pose
if (obstacle(DOWN )
Select the next Dirmin direction and allow
the robot to move
Else
Move in FORWARD direction
}
}
Else
move in left direction
}
default:
}
}
Special Issue of IJCCT Vol.1 Issue 2, 3, 4; 2010 for International Conference [ACCTA-2010], 3-5 August 2010
30 Path Planning of Mobile Robot in Unknown Environment
Goa
l
VI. CONCLUSION
Special Issue of IJCCT Vol.1 Issue 2, 3, 4; 2010 for International Conference [ACCTA-2010], 3-5 August 2010
Path Planning of Mobile Robot in Unknown Environment 31
REFERENCES
[3] Danica Janglova, "Neural Networks in Mobile Robot Motion, pp. 15-
22,Inernational Journal of Advanced Robotic Systems, Volume 1
Number 1 (2004), ISSN 1729-8806.
[4] Harlan, R. M, Levine, D. B., and McClarigan, S., “The Khepera robot
and the kRobot class: a platform for introducing robotics in the
undergraduate curriculum”, proc. 32nd SIGCSE technical symposium on
computer science education, pp. 105-109. 2001.
[6] Murphy, R., “Introduction to AI Robotics” first edition, the MIT press,
2000.
[10] I. AL. Taharwa and A. Sheta and M. AI. Weshah, "A mobile robot path
planning using genetic algorithm in static environment," Journal of
Computer Science, vol. 4, no. 4, pp. 341- 344, 2008.
[12] I.K. Jung, K.B. Hong, S.K. Hong and S.C. Hong, ”Path planning of
mobile robot using neural network,” in Proc. IEEE Int. Symp. On Ind.
Electron, Sch. Elect. Engg., 1999 ISIE Bled Slovenia, Vol. 3, 12-16 July,
1999, pp. 979-983, DOI: 10.1109/ISIE,1999.796750.
Special Issue of IJCCT Vol.1 Issue 2, 3, 4; 2010 for International Conference [ACCTA-2010], 3-5 August 2010