You are on page 1of 5

Priority Scheduling based Dynamic Path Planning

System with Motion Feedback


Vignesh Ravikumar Sriram Shreedharan M. Senthil Kumaran
Department of EEE Department of EEE Department of EEE
SSN College of Engineering SSN College of Engineering SSN College of Engineering
Chennai, India Chennai, India Chennai, India
vigneshr2306@gmail.com sriramshreedharan1905@gmail.com senthilkumaranm@ssn.edu.in

Abstract—Mobile Robots have become an integral part of avoid the collision of multiple robots in a junction, a priority-
the environment and one of the main focus is on multiple robot based scheduling algorithm is added. When the robot leaves
coordination systems. This research article proposes a modified the configuration space, encoder based feedback is used to
grid-based A* path planning algorithm that can be used for
the simultaneous planning and motion of mobile robots in a trace the drift and bring the robot back to its old position.
dynamic environment. The algorithm includes priority-based Image processing techniques have been applied to get
scheduling of robots for practical applications. It also takes into the position of the robot in the configuration space in a
account, the re-planning of the path of the robot using motion grid-based approach. The robot position and orientation are
feedback from encoders, in the case where the robot leaves the determined by using a specific two-colour pattern on the
configuration space due to dynamic obstacles. A multi-robot
system is set up to verify the proposed method of path planning. top of the robot. The FPGA (Nexys 2 Spartan 500 E)
is used to drive the two motors present in the robot and
Keywords— Path-planning, Image processing, A* algorithm, wireless serial communication is established with the image
Dynamic environment, Priority-based scheduling, Encoder-based processing laptop which sends commands to the actuator.
motion feedback The static obstacles have been assigned a specific colour and
I. I NTRODUCTION similarly, image processing is used to determine the location
of the obstacles.
Path planning is a term used to evaluate a set of valid
configurations that moves the mobile robot from source to II. R ELATED WORK
destination. The usual implementation of these path plan- In the last few decades, several prototypes were designed
ning is in autonomous vehicles, search and rescue robots, for path planning using various sensors and computer vision-
humanoid robots and are usually vision-based. These fields based techniques.
require the perfect accuracy of the path to ensure safety and Adiyabaatar Janchiv et al. [2] worked on Complete Cov-
functioning. These algorithms perform complex calculations erage Path Planning algorithm, which divides the whole
to determine the optimum path in the dynamic environment configuration space into cells and traverses every part of the
for the traversal of the robot to the destination smoothly. In cell, mostly used in cleaning applications. In our research, we
a dynamic environment, the obstacles are mobile and can have used a similar grid-based approach, but their algorithm
make the planned path opaque. In this condition, a new is time-consuming and does not give the shortest path to
path has to be planned from the point where the obstacle move to the destination, which we have improved.
occurs. In other words, the path is re-planned. According Peter E. Hart et al. [3] worked on the A* based approach of
to a reputed US-based website Forbes, the United States path planning which has a better efficiency as it takes heuris-
has recorded approximately 37,000 deaths per year due to tics into account and in our research, we have implemented
car accidents [1]. To mollify the scenario, it is safer to a modified version of this algorithm.
implement autonomous systems for cars to reduce fatality. Heramb Nandkishor Joshi et al. [4] worked on grid-
The autonomous robot path planning system is essential in based A* path planning for autonomous robots using image
robotics to explore and learn dynamic environments. Also, in processing for a single robot with static obstacles. In our
real-world applications, the robot has to coordinate with other research, a multi-robot approach with dynamic obstacles was
robots in the system for efficient and collision-free traversal done.
and the algorithm needs to be versatile. But there is the issue J. P. van den Berg et al. [5] proposed a priority-based
of which car needs to move first for hassle-free traversal. method of motion planning for any degree-of-freedom robot
For example, multiple autonomous cars moving in a junction which shows better results than usual coordination-based
need to communicate with each other to avoid a collision. planning. Due to the motion conflicts in the formation
This paper proposes a modified A* based search for a forming, deadlocks often occurred when the priority based on
mobile robot to plan a path in given configuration space. To traversing distance was applied, so that more time was wasted

978-1-7281-3069-9/20/$31.00 2020
c IEEE
for planning new paths. A dynamic priority strategy in [5] f value = estimated minimum cost of the cell between all
could improve the performance but still not solve the motion the paths from start node to the goal node forced to go
conflicts in the formation forming. Liu et al. [6] proposed through the node n.
a dynamic priority-based path-planning approach by setting g value = the actual cost function from start node to the
priority constants to multiple robots and the rate of movement current expanding node n.
of robots is based on these constants which has been adopted h value = the actual cost function from any given node to
in our research. the end node.
Abhijeet Ravankar et al. [7] explains about multiple robot-
based obstacle mapping technique, which helps other robots The path is then planned by moving on the grids with the
to update their maps and consider the obstacle while other least f value as shown in the Fig. 1.
robots plan their paths. But the proposed method has not
been tested in real environments, where the different scale
and orientation of the robots matter.
Multi-robot collision avoidance system is discussed in
[8] and this system has various real-time applications like
explored in [9].

III. P ROBLEM S TATEMENT


The robot is a 2D shape (when viewed from overhead cam-
era) that can translate and rotate,maintaining the workspace
2-dimensional. However, C is the special Euclidean group
SE(2) = R2 × SO(2) (where SO(2) is the special orthogonal
group of 2D rotations), and a configuration can be repre-
sented using 3 parameters (x, y, θ).
Given an initial state x(0) = xstart and a desired final
state xgoal , find a time T and a set of controls u : [0,T] →

Fig. 1. Path planning in a grid
U such that the motion satisfies x(T) = xgoal and q(x(t)) ∈
C free for all t ∈ [0,T]. (where ‘q’ takes into account the
admissible constraints which are functions of the state of the B. Image Processing
robot). An overhead camera is used for getting images of the
configuration space. These images are read using OpenCV in
IV. M ETHODOLOGY
Python. An initial image is taken to determine the position
A feasible path needs to be planned between the start point and orientation of the robots. There are two colours present
and the endpoint for the robots to traverse. The start point is on top of the robots, one of rectangular shape (red) and the
the current location of the robot and the endpoint is given by other is of circular shape (yellow). The position is found
the user. Here, the points refer to the number of grids that out by using colour thresholding technique. The image is
the configuration space has been divided. There are various converted from RGB to HSV colour space and the threshold
path planning algorithms and, in this research, A* algorithm values for red and yellow were determined using the colour
is used to plan the path. test. Bit-wise operations are performed to mask the position
of the robots alone and by determining the number and
A. A* Algorithm: position of non-zero pixels in the mask, the position of the
A grid-based search algorithm is used to find the shortest robots is found.
path between the current position of the robot and the end- Once the position of the robots is determined, it is
point indicated by the user. The algorithm has been modified necessary to know about their orientation for giving
for dynamic obstacle avoidance as well. The algorithm uses corresponding actuator signals. To determine the orientation
cost to determine the shortest path and the cost is based on or the direction of the robot, corner detection is used. Two
two values: g value and h value. The cost to move from distant corners are detected in the red rectangle and one
any one square of the grid to the start point is the g value, corner is detected in the yellow circle. The row and column
whereas the cost to move from any one square of the grid value of these pixels are compared to find the direction
to the endpoint is the h value. The total cost i.e.,f value, is and angle of the robot. Filtering technique like blurring
calculated by the addition of these two values. Therefore, the and averaging is used to remove the noises in the image
f value is calculated for all the squares in the grids, as shown for better corner detection and eventually orientation of the
in Eqn. (1). robot. The blurring technique uses a kernel K, as shown in
the matrix of size 3x3 in Eqn. (2). The average of all the
f value = gvalue + hvalue (1) pixels in this kernel area is taken and the central pixel is
replaced with this average value. D. Priority-based scheduling
When there are multiple robots in the same configuration
 
1/9 1/9 1/9
K = 1/9 1/9 1/9 (2) space, there are higher chances that the path of the robots
1/9 1/9 1/9 might intersect. To avoid mutual collision between these
robots and to efficiently mobilise the robots, each of the
Morphological operations such as erosion and dilation are
robots present in the configuration space are given a priority
also performed on the binary image to remove the noises
constant [6].
and determine the robot position precisely. Erosion requires
a kernel that slides over the image and the pixel value will In case the paths of the robots are intersecting in a cross
be a 1, if all the pixels under this kernel is 1, else it is a 0. junction, based on priority, the robot with the higher priority
Dilation is opposite to erosion. constant is made to travel faster than the one with lower
priority. Once the intersection point is crossed, both the
C. Microcontroller Interface robots travel faster.
After the path from the start point to the endpoint for both
the robots has been found, the actuator signals need to be sent E. Encoder-based motion feedback
from Python to the microcontroller in the robot, in this case,
FPGA. Wireless serial communication is established using There are situations where a dynamic obstacle can make
Bluetooth [10] between the computer and the FPGA in the the robot to move out of the configuration space. Usually, it
robots. The block diagram of the microcontroller interface is is impossible to bring the robot back into the configuration
as shown in Fig.2. space and move it to the destination as the observability of
the system is zero. In this research, we use encoder-based
feedback which continuously maps the motor revolutions and
gives it as feedback to FPGA. When the robot is not visible
in the configuration space, these encoder values are used
to traverse back into the configuration space from where it
drifted, and the path is re-planned from this point.
The complete working is as shown in Fig. 3.

Fig. 2. Block diagram of microcontroller interface

The FPGA is interfaced with a motor driver circuit which


controls the speed and direction of the motor and acts as
a microcontrolling unit. Python, after determining the path,
position and orientation of the robots, infers the motion
of both the robots and sends corresponding data to the
FPGA present in the robots. This data is interpreted by
the FPGA and the speed and direction of the motors are
controlled such that both the robots move from start point
to the endpoint.The position and orientation of the robot are
continuously monitored and updated by the overhead camera.
If both the robots require to move to the same grid location,
then one of the robots stops and moves only after the other
robot crosses the path. This action is controlled by Python
by sending corresponding actuator signal data. An ultrasonic
sensor is also interfaced with the microcontroller. This is used
to avoid dynamic obstacles in the path. If the robot encounters
an obstacle suddenly, it waits for the obstacle to move. If the
obstacle remains stationary, a new path is planned from the
current position to the endpoint and the robot follows the
new path. Fig. 3. Flowchart
V. E XPERIMENTS AND R ESULTS
The image from the camera is split into grids, as shown in
Fig. 4. These grids are utilized for tracking the position of the
robot, obstacles, start point and endpoint in the configuration
space. The path is shown on both the image as well as on
the grid. These grids aid us by giving a defined co-ordinate
of reference to where the mobile robot is located. The path
planning for both the robots from the start point to endpoint
is shown in Fig. 5. The red coloured circle indicates the start
point; the green coloured circle indicates the endpoint; the
blue coloured circle indicates obstacles and the yellow lines
indicate the planned path.
Fig. 6. Colour thresholding and masking

can be found from the velocity-time graph as shown in Fig.


7. These values can be found in Table I. It can be seen that
the two robots move at the same velocity until the point of
intersection, where the robot-1 with higher value of priority
constant moves faster than the robot-2.

Fig. 4. Image split into grids

Fig. 7. Velocity-time graph of robots

TABLE I
T IME TAKEN ( IN SECONDS ) FOR BOTH ROBOTS ALONG WITH THEIR
PRIORITY CONSTANT

Robot Priority constant Time taken to traverse destination


Robot-1 1.7 14
Robot-2 0.9 16

Fig. 5. Path Planning Encoder-based motion feedback involves the mapping of


encoder pulses to find out the magnitude of drifting from the
The colour thresholding and masking to determine the
configuration space. Table II consists of the data of distance
position of the robot and the obstacles are as shown in Fig.
drifted from configuration space and time taken for getting
6. The position of the robot is updated continuously based
back to the drifting point by the mobile robot.
on camera feedback.
The practical implementation of a priority-based schedul-
TABLE II
ing algorithm involves setting a priority constant for the T OTAL DISTANCE DRIFTED FROM CONFIGURATION SPACE AND TIME
robots well in advance. The value of priority constant varies TAKEN TO RETURN TO DRIFTED POINT
directly to the velocity of the robot and inversely to the Encoder value (pulse per revolution) Distance (cm) Time (secs)
traversal time of the robot. For robot-1, the priority constant 4000 15 6.60
is set as 1.7, while the priority constant is set as 0.9 for robot- 8000 30 11.20
2. The time taken by the robot for traversal to the destination 12000 45 19.10
After conducting the above experiment, another approach The novel approach of encoder-based motion feedback has
to reducing the drift was established. The error value gets given satisfactory results when the robot has drifted from the
accumulated as the robot drifts out of the configuration space. configuration space. Using the error accumulation to reduce
This error value is then multiplied to the voltage of the motor the drifting from the configuration space has reduced the
with the opposite sign for the motors to rotate in the opposite overall time taken for the traversal. By this process, traversal
direction to the deviation, which results in minimum value of of trajectory without losing the observability of the robot is
drift from the configuration space. This error accumulating achieved.
approach has drastically reduced the drift and it can be
ACKNOWLEDGEMENT
inferred from Table III.
The authors would like to acknowledge Students4Students
TABLE III (S4S) club, Department of Electrical and Electronics Engi-
T OTAL DISTANCE DRIFTED FROM CONFIGURATION SPACE AND TIME neering, SSN college of engineering and SSN management
TAKEN TO RETURN TO DRIFTED POINT CONSIDERING ERROR
ACCUMULATION
for their laboratory and financial support provided for this
research. Vignesh Ravikumar and Sriram Shreedharan con-
Encoder value (pulse per revolution) Distance (cm) Time (secs) tributed equally to this research.
1333 5 3.42
1866 7 4.8 R EFERENCES
2133 8 5.2
[1] Essential Stats For Justifying And Comparing Self-Driving Cars To
Humans At The Wheel [Online]
The complete prototype of the mobile robots developed is Available: https://www.forbes.com/sites/lanceeliot/2019/05/30/essential-
as shown in Fig. 8. Different coloured strips are present on stats-for-justifying-and-comparing-self-driving-cars-to-humans-at-the-
wheel
the mobile robots to determine the orientation. The results
of this multiple robot system give us an idea about dynamic [2] A. Janchiv, D. Batsaikhan, G. h. Kim and S. Lee, “Complete coverage
path planning for multi-robots based on,” 2011 11th International
path-planning with ease. Conference on Control, Automation and Systems, Gyeonggi-do, 2011,
pp. 824-827.
[3] P. E. Hart, N. J. Nilsson and B. Raphael, “A Formal Basis for the
Heuristic Determination of Minimum Cost Paths,” in IEEE Transactions
on Systems Science and Cybernetics, vol. 4, no. 2, pp. 100-107, July
1968, doi: 10.1109/TSSC.1968.300136
[4] Joshi, Heramb Nandkishore, and J. P. Shinde. “An Image Based Path
Planning And Motion Planning for Autonomous Robot.” International
Journal of Computer Science and Information Technologies 5, no. 4
(2014).
[5] J. P. van den Berg and M. H. Overmars, “Prioritized motion planning
for multiple robots,” 2005 IEEE/RSJ International Conference on Intel-
ligent Robots and Systems, Edmonton, Alta., 2005, pp. 430-435, doi:
10.1109/IROS.2005.1545306.
[6] Liu, Shuang, Dong Sun, and Changan Zhu. “A dynamic priority based
path planning for cooperation of multiple mobile robots in forma-
tion forming.” Robotics and Computer-Integrated Manufacturing 30.6
(2014): 589-596.
[7] A. Ravankar, A. A. Ravankar, Y. Kobayashi and T. Emaru, “Can
Fig. 8. Prototype of the mobile robots robots help each other to plan optimal paths in dynamic maps?,”
2017 56th Annual Conference of the Society of Instrument and Con-
trol Engineers of Japan (SICE), Kanazawa, 2017, pp. 317-320, doi:
VI. C ONCLUSION 10.23919/SICE.2017.8105701.

In this paper, we describe an efficient dynamic path- [8] J. Stenzel and D. Luensch, “Concept of decentralized cooper-
ative path conflict resolution for heterogeneous mobile robots,”
planning approach for multi-robot system. We used an 2016 IEEE International Conference on Automation Science and
improved A* based path planning algorithm to plan the Engineering (CASE), Fort Worth, TX, 2016, pp. 715-720, doi:
trajectory for each individual robot. When we consider the 10.1109/COASE.2016.7743472.
real-world applications of robots, practicability in dynamic [9] N. Pinkam, F. Bonnet and N. Y. Chong, “Robot collaboration in ware-
environments where unknown and moving obstacles exist house,” 2016 16th International Conference on Control, Automation
and Systems (ICCAS), Gyeongju, 2016, pp. 269-272, doi: 10.1109/IC-
is also a critical issue. To generate more efficient motion, CAS.2016.7832331.
the robot’s velocity is altered with respect to the priority
[10] G. Tatar and S. Bayar, “FPGA Based Bluetooth Controlled Land
constants for hassle-free traversal in intersections. This re- Vehicle,” 2018 International Symposium on Advanced Electrical and
duces the motion conflicts among the robots. Simulations and Communication Technologies (ISAECT), Rabat, Morocco, 2018, pp. 1-
experiments are performed to demonstrate that the proposed 6, doi: 10.1109/ISAECT.2018.8618830.
path planner is effective to drive multiple mobile robots to
the destination efficiently.

You might also like