You are on page 1of 5

Path Planning in Mobile Robots Lab Task 4

Random Particle Optimization

Objective
The aim is to compute optimal trajectory of a mobile robot in a static or dynamic environment.
Methodology
A Stochastic Evolutionary technique, Random Particle Optimization (RPO) based on interaction
potentials.
Theory
The RPO method is applicable to both static and dynamic environments as it is a sensor- based approach
in which the positions of obstacles and/or target may vary with time.
Random Particle Optimization (RPO) is an online optimal local path planning of mobile robots
in dynamic environments sensor-based updates
Environment consists of barriers representing obstacles as repulsive Coulomb barriers
expressed as Gaussian potentials with specified intensity and width. Similarly, the target is
modeled as an attractive potential.
An on-line decision for the mobile robot involves evaluation of cost functions which are
strongly dependent on the potential parameters specified.

Proposed Algorithm

Figure 1: RPO Algorithm

1|Page
Path Planning in Mobile Robots Lab Task 4

Attractive Repulsive Potentials


Obstacles are represented by repulsive potentials, which must be avoided, and the target is represented
by an attractive potential.
Figure 2 shows four obstacles with = 1, = 1 in the potential

() ( ) = exp( ( )2 )
and
() ( ) = exp( ( )2 )

Figure 2: Obstacles for RPO Environment

Figure 3 shows Obstacles (4) and the target with () = 1, = 1 and () = 1, = 1

Figure 3: Obstacles and Target in RPO Environment

2|Page
Path Planning in Mobile Robots Lab Task 4

Mobile Robot (MR) Trajectory

The Glide Phase


Initially, MR will move in a straight line from start-point to End-point, unless and until the sensor
detects an obstacle
The Maneuver Phase
The MR enters the maneuver phase to go around the obstacle, as shown in Figure 4 below with the
robot (R), obstacle (O) and target(T) in a line. Artificial Particles (AP) are placed, at equal angle
intervals, on a circle of radius .

5.5

5 T

4.5

4 O

3.5
3 2

3 4 R 1

5 6
2.5

2
2 2.5 3 3.5 4 4.5 5 5.5 6

Figure 4: RPO 2D Grid

Selection Criteria for point


Points = 1,2,3,
Cost functions:
distance error ( + ) = ( + ) () < 0 for particle closer to target
potential error ( + ) = ( ( + )) ( ()) < 0 for particle in attractive zone

where
+ refers to the artificial particles
refers to the present position of the robot
( + ) the distance from the artificial particle to the target

3|Page
Path Planning in Mobile Robots Lab Task 4

Cost function is a repellant-attractive Gaussian function for the obstacle () and target ()
respectively, and = () + () .
The procedure is then to move the robot to the best point found viz one for which the distance error is
smallest and negative and the cost function is negative.

Algorithm Development and Implementation

Step 1 Grid Coordinates


Define parameters for robots starting position, obstacle and target or goal.

X coordinate Y coordinate

Robot (Xc, Yc) 4 3

Obstacle (Xo, Yo) 4.5 4

Target or Goal (Xt, Yt) or (Xg, Yg) 5 5

Step 2 Step Size


Define step size (radius for circle of artificial points).
Ct = 0.4472 i.e. (0.4*Distance between MR and Obstacle)

Step 3 Cost Function Parameters

alpha () mew ()
(height/depth of (width of repellant/attractant)
repellant/attractant)

Obstacle 1 4

Target or Goal 1 4

Step 4 Input Parameters


Define number of artificial points and step size in degrees for artificial points.
NPTS=6 and stepDeg=360/NPTS

Step 5 Potential Calculation


Calculate Potential of current point (starting point for first iteration) to obstacle and target.
= (4.0 (( (1))^2 + ( (1))^2))
= (4.0 (( )^2 + ( )^2))
= +

4|Page
Path Planning in Mobile Robots Lab Task 4

Step 6 Distance to Goal


Calculate distance to goal from current point.
= (( )^2 + ( )^2)

Step 7 Artificial Points


(a) Generate bacteria at time + i.e. generate artificial points.
(b) Calculate x and y coordinates for artificial points:
() = + ( ()/180)
() = + ( ()/180)
where ib = 1, 2, 3 . NPTS

(c) Calculate cost function J and distance to goal of each artificial point.
(d) Calculate error of cost function and distance:
error of cost function (difference between J for artificial point and present point of robot
location
error of distance (distance from artificial point distance from present point of robot
location)

Step 8 Best Point Selection


Identify the best artificial point i.e. a point for which the distance error is smallest and negative and the
cost function is negative, and update the current point to the newly identified best artificial point.
If no such point is identified, then more artificial points are required.

Step 9 Reach Target Position


Using newly selected current point from step 8, repeat steps 7 through 9 until target position is reached.

Step 10 Microcontroller Implementation


Make necessary adjustments and implement the algorithm developed in steps 1 through 9 in a
microcontroller, preferably Arduino platform.

Step 11 FPGA Implementation


Implement the algorithm developed in steps 1 through 9 in available Field Programmable Gate Array
(FPGA).

Limitations
A mobile robot has been assumed to be a point robot i.e. its size has not been considered, and
A holonomic robot has been considered i.e. one which has all degrees of freedom and can turn
to any direction, unlike a car, from its present position.

5|Page

You might also like