Distributed Autonomous Robotic Systems For Co Operative Control IJERTCONV6IS13172
Distributed Autonomous Robotic Systems For Co Operative Control IJERTCONV6IS13172
ISSN: 2278-0181
NCESC - 2018 Conference Proceedings
D. J. Ravi Rohith K.
Department of ECE Department of ECE
Vidyavardhaka College of Engineering Vidyavardhaka College of Engineering
Mysuru, Karnataka, India Mysuru, Karnataka, India
Abstract— This paper presents a substantial design of a challenges encountered, enhancing its threshold performance.
multi-robot system. The proposed system is more robust than This result can be achieved by readily adapting the
individual robots. Till date, several technologies have been configurable task assignment and distributed world
developed for multi-robot systems (MRS) focusing on path representations, based on the current state of the existing
planning, exploration and mapping techniques, task allocation,
environment.
coalition and team formation. This set-up employs three robots
similar in hardware design and is interfaced with a set of open The underlying aspects of establishing a communication
source software OpenCV and is programmed using Python. network, communication bandwidth, hardware analysis,
Positioning equations, guidance feedback laws were derived to software requirements must be shown to be scalable and
make the system work in complete co-operation. Topic of possibly adaptive. However, some changes in the scenario
interests largely incorporate image processing (IP), swarm might turn into a necessity to change the co-ordination
control algorithm and correction feedback. strategy. The primary inspirational example for our research
was the controlled swarm strategy observed in animal
colonies. This biological model has highly capable efficiency
Keywords— Multi-Robot System (MRS), Swarm robotics,
in the environment with controlled scenarios.
Graph theory, Image Processing, OpenCV, Python, MQTT
Protocol, Internet of Things II. APPROACH
I. INTRODUCTION To address the above-mentioned application domains, we
The design of a robotic system can dramatically impact its generalize the approach into two main sets. The set-I being,
work efficiency and cost. A stiff design limits the operating the complete implementation of the positioning system for
spatial distribution and increases the purpose of self- the constituent robots which is dubbed as the co-ordinate
dependency on the system overall. Incorporating the added system and is carried out by utilizing OpenCV which is an
feature of handling the allocated task with a multi-agent open source library which uses inbuilt database functions to
system increases the overall robustness. The proposed setup, aid us in the domain of Image Processing and return the
however gives an open approach on using all available open- results as co-ordinates. The set-II being the implementation
source software and implementing using available limited of the swarm algorithm and designing it based on the pre-
hardware resources. defined assumptions and the forayed ground rules.
The literature survey referred by us presented a formation While there are sometimes applications such as tracking a
control algorithm. In a given dynamic environment, co- lost target in surveillance applications, search and rescue
ordination needs to be adapted to different constraints at hand scenarios including service robots operating in indoor
(consider the example, where there is drastic loss in environments.
performance due to an unreliable communication network It also portrays a challenge of handling the changes in
influenced by external parameters). To address this issue, we environment requires a complete change in the strategy. Any
contribute our rather conventional approach for coordination
among the robots. Such an approach allows a robotic swarm
to exploit environmental knowledge and adapt to various
IV. ROBOT KINEMATICS grid locations of all the three robots and the object taken into
The Spark V has same maneuverability as of a differential consideration.
drive robot. The planar 2-D motion is described by the The entire algorithm is split into two different
vertical and horizontal movement. It provides a way to operations:
exploit the high-level formation of the surrounding Path Tracing
environment. We were given the challenge of synchronizing The Drill
our robots to overcome hardware differential factors such as Under Path Tracing operation, each robot is given a
wheel alignment, wheel direction and initial errors. specific grid location to occupy based on the orientation of
We address the set of robots as R={R1+R2+R3}. The the object. This allows the robots to manipulate the object
Movement information for our framework influences the appropriately.
regular execution of movement of the individual agents.
The swarm control algorithm responds to the overall A. Path Tracing
coordination protocol locally run by the control unit i.e. the Based on the initial locations of the robots, we divide the
laptop module. The neighboring robots evaluate the data swarm into two different teams consisting of two in one team
sources and external environmental conditions. The Control and one in another. The first team is designated with the job
System redirects the control signals for the neighboring robot of traversing the object vertically i.e. closer to one of the
agents. The entire multi-robot system will be able to edges of the arena. The second team which is the third robot
communicate with each other. At this point the whole system is given the responsibility to traverse the object side-ways i.e.
can estimate the surrounding. horizontally into one of the corners of the arena.
Noise was ignored. Real robots experience noise in both
their actuators, and detection systems. To save computational
resources we planned to ignore this. Methods for dealing with
noise in robotics applications exist - notably in the field of
Probabilistic Robotics - and may need to be considered when
building real world models.
The basic ground rules considered for the robot
kinematics:
Making assumptions of the system to achieve simple
goals
Introduction to a larger environment and adapting to it
Examination of the different behaviors for varying
parameters both globally for all robots and by
choosing random parameters for each robot
V. SWARM CONTROL ALGORITHM
This forms the integral part of our system and the
intelligence programmed is straightforward. We generally set
rules and constraints to the movement of each robot in the
arena and is expected to behave accordingly.
Considering the arena, it uses a grid-wise topology as Fig. 3. Grid-based Topology
shown in Figure 3. Using this type of segmentation
technique, the mapping and localization of each robot
becomes easier. Each grid in the arena is roughly 17cm2 in
size and can occupy only one robot at a given instance of
time. The entire arena constitutes about 7x7 grids (square
topology). Thus, it forms a graph with 49 vertices with each
vertex having a maximum of four paths connected with its
neighboring vertices.
Regarding the motion controls of the robots, there are four
basic controls:
Move Forward by one grid
Turn Left by 90 degrees (spot-rotation)
Turn Right by 90 degrees (spot-rotation)
Stop
This form of traversal of the robots offers high
accessibility and can cover the entire arena within a given Fig. 4. Path Tracing
time-frame. Maze routing techniques were initially (and still is)
Firstly, the vision system captures frames of the arena and employed in the field of VLSI and PCB design. Different
performs the necessary processing techniques to obtain the auto-router software utilizes this technique to efficiently route
copper tracks across the board. We decided to use one of the
prominent algorithms in this field called the Soukup’s pentagon and hexagon. The entire algorithm for this process
Algorithm. Although we do not base the entire maze routing has three operations:
technique based on this algorithm, but the foundation for our Shape determination using contour detection
path tracing technique is derived from this and we have made Computing the center of the contour
considerable amount of modifications to suit our design. Estimation of grid location using a reference shape
Before each robot is allocated with a specific path,
certain pre-processing is required to check whether there are
any obstacles along the way. The obstacles here for a specific
robot would be the other two robots and the object itself. We
store these grid locations in a separate list in the program.
Our algorithm follows three main operations:
Length-first
Breadth-first
Over-take (special case)
The breadth-wise (vertically) algorithm finds a path to the
destination grid by traversing breath-wise first and then
length-wise(horizontally).
Given the condition that the source grid and the
destination grid is not located in the same row or column (if
they are in the same row or column the traversal becomes Fig. 5. Shape detection using OpenCV
easier and this algorithm is not required), we traverse the
A. Shape Determination
robot in length-first operation by default. The algorithm is
We determine the shape of the contour by
programmed to check for a restricted grid in every single
using contour approximation. contour
iteration. If the program comes across a restricted grid, it
approximation is an algorithm for reducing the
immediately switches into breadth-first operation. And if
number of points in a curve with a reduced set
another restricted grid is encountered again, it switches back
of points - thus the term approximation. This algorithm is
to length-first mode. Therefore, these two operations are
commonly known as the Ramer-Douglas-Peucker algorithm,
consecutively switched until the destination grid is reached.
or simply, the split-and-merge algorithm. Contour
The whole list of generated vertices is then stored in a
approximation is predicated on the assumption that a curve
variable and the command for actuation is given by the
can be approximated by a series of short line segments. This
Command Center.
leads to a resulting approximated curve that consists of a
One special case which could be possibly encountered
subset of points that were defined by the original curve.
would be the presence of an obstacle in the same row/column
Contour approximation is already implemented in OpenCV
of that of the source and restricted grids. In this scenario, we
designed the algorithm to “Over-take” the obstacle and via the cv2.approxPolyDP method. To perform contour
continue its journey further on using the length-breadth approximation, we first compute the perimeter of the contour,
operation. Path Tracing is shown in Figure 4. followed by constructing the actual contour approximation.
It’s important to understand that a contour consists of a
B. The Drill list of vertices. We can check the number of entries in this list
Once all the robots occupy their respective destinations, to determine the shape of an object.
they must “co-operate” and manipulate the object to take it to For example, if the approximated contour has three
the desired position as shown in figure 5. This is carried out vertices, then it must be a triangle. If a contour has four
by the two teams as mentioned before. vertices, then it must be either a square or a rectangle. To
The team comprising of two robots move the object determine which, we compute the aspect ratio of the shape,
forward to one of the edges of the arena and the other team which is simply the width of the contour bounding box
with one robot move the object towards the corner along the divided by the height. If the aspect ratio is ~1.0, then we are
edges. The Drill operation is as shown in Figure 5. examining a square (since all sides have approximately equal
This operation is simultaneous and works only when length). Otherwise, the shape is a rectangle. If a contour has
the object’s alignment is same as that of the destination five vertices, we can label it as a pentagon. The detected
location’s alignment. This whole algorithm is written in shapes on the arena is shown in Figure 5.
Python.
B. Computing the center
VI. IMAGE PROCESSING USING OPENCV This part becomes fairly straight-forward once we find
the contours and their vertices. All we do is calculate the
As stated earlier, the vision system is responsible for center of the bounding box we use to depict the picture on the
locating the robots and the object in real-time for our screen.
application. This acts like a pseudo-GPS model. The function
C. Estimation of Grid Location
must return the value of the grid locations of the robots and
We have used the square as the reference shape in this
the object whenever called by the main program. procedure. We place the square marker in the corner-most
We decided to use distinct shapes as markers for our part of the arena and remain stationery all through-out the
design. The shapes used were: triangle, square, rectangle,
task. Before calculating the relative distances (in pixels), we IX. CONCLUSION AND FUTURE SCOPE
manually calculate the length of each grid in pixels by This Multi-Robot System is designed in such a way that it
placing the centers of any two shapes exactly one grid apart can be readily accessed and manipulated to design the
(in our case it’s 17 cm). necessary experiment to demonstrate the capabilities of the
Thus, we establish the relationship between the distance system. The Robot’s modular design allows users to develop
in pixels and the actual distance on the arena. Using this any custom modifications to be incorporated into the system.
information, we can calculate the relative distance and This robot’s capabilities are demonstrated with proof-of-
roughly obtain the grid location of the subject in concept experiments on object manipulation, shortest path
consideration. tracing, image processing and collective-collaborative
transportation.
VII. APPLICATION SCENARIOS In the distant future, this proof-of-concept experiment can
be increased in scale and the decision making computational
Some of the most prominent applications of multi-robot capabilities can be decentralized and it wouldn’t need any
cooperation include: central control module to do the necessary computations.
A. Factory floor emergency recall response Towards the end we will consolidate a wireless
We can readily implement the existing multi-robot communication strategy to autonomously recharge its
system that is currently used in this demonstration with batteries. In further collaborative transportation experiments,
considerable modifications for the application of warehouse we will include enough computational processing hardware
management systems considering the improvements in within the robot to exclude any external processing
parameters such as the amount of weight, each robot can requirement from the control system, therefore giving each
handle and allowable maximum freedom of movement. robot the independence to both communicate and to compute
the necessary. Necessary future work can be assimilated into
B. Outdoor industrial operations the following control strategies:
Currently, available robotic agents drive employed
production with automation. This basically includes tasks
related to movement of equipment along a recurrent
programmed route to open spaces. Therefore, multiple agents
can aid to efficient and accurate results.
C. Humanitarian assistance and disaster relief (HA/DR)
Considering the scope of information-gathering
activities required for planning, it provides the responder
tools to sense and act in dangerous environments. For
example, during an earthquake several of these small robotic
agents can creep into every crevice and check for possible
survivors.
D. Space exploration
The exploration of space presents numerous challenges, Fig. 6. Enhancement Module
including an unpredictable environment and significant Enhancements to the hardware in terms of actuation and
limitations on the mass and volume of equipment used to sophisticated sensors
study that environment. Since one set of modules can be Enhancements in the simulation model to suit varying
configured to perform many tasks, these robots can solve applications
challenges while occupy little space and weight as compared Partial communicating autonomy for self-maintenance
to multiple devices. These bots can also be packaged in a Using Machine learning for autonomous path-tracing
convenient way to meet the volume constraints of spacecraft. for improved efficiency
Once on site, modules can be used to build structures, Significant amount of further enhancements are
navigate across terrain, perform scientific studies, et cetera. necessary for improvement in system functionality and
VIII. RESULTS OBTAINED potential improvements in compromising between just
The formation control swarm algorithm is successfully allowing the robot to observe the obstacle from a distance
tested and validated in the proposed methodology. The ability through the vision-system. More precise encoder motors give
of the proposed experimental setup is demonstrated and met improved accuracy.
the expected results. The Swarm Algorithm is efficient, and It is observed that the speed for simulation increases as
the argument is supported by the co-ordinates provided by the more obstacles are added to the environment. The decrease in
outputs of Image Processing. The final set-up is shown in speed may be enhanced by using a more robust hardware
Figure 7. Although, there were a few technical glitches with design. The demonstration presented in this paper were setup
robots themselves. The robots sometimes failed to turn so that an independent robot is guided by a central control
exactly 90 degrees left or right, which had some minor effects system and the commands flow in and out the control
during “The Drill”. This issue could be solved by replacing framework. Further contradictory add-ons might enable the
higher resolution position wheel encoders for the robots. same set of frameworks to improve the efficiency by
allowing the necessary computational hardware to be [7] J. Soukup, “Fast Maze Router” 1978
[8] Ying Zou, Mao Shan, Mingyang Guan, Changyun Wen, Kwang-Yong
implemented on each robot individually.
Lim, "A Trajectory Reconstruction Approach for Leader-Following of
Multi-Robot System", 2017
REFERENCES [9] Hasan Ercan, Pinar Boyraz, "Design of a Modular Mobile Multi Robot
System: ULGEN (Universal-Generative Robot) ", 2016
[1] Francesco Riccio, "Multi-Robot Search for a Moving Target: [10] Victor Hernandez, Erik Schaffernicht and Achim J. Lilienthal,
Integrating World Modeling, Task Assignment and Context", 2016. "Bayesian Gas Source Localization and Exploration with a Multi-Robot
[2] Dylan Fyler, "Distributed Object Manipulation Using Mobile Multi- System Using Partial Differential Equation Based Modeling", 2017.
Agent System", 2015. [11] Made Widhi Surya Atman, Julian Hay, Junya Yamauchi, Takeshi
[3] Sean Wilson, Pheeno, "A Versatile Swarm Robotic Research and Hatanaka1 and Masayuki Fujita, "Two Variations of Passivity-Short-
Education Platform", IEEE Robotics and Automation Letters, 2015. Based Semi-autonomous Robotic Swarms" -Society of Instrument and
[4] Peter Sauer, "Using Internet of Things Technology to Create a Ready Control Engineers International Symposium on Control Systems(SICE
Platform Independent Robotics Framework", 2016. ISCS) Tokyo, Japan, March 9-11, 2018.
[5] Abhijit Makhal, Manish Raj, Karan Singh, P.Chakraborty and [12] Toshiyuki Yasuda , Kazuhiro Ohkura, "Collective Behavior
G.C.Nandi, "Path Planning through Maze Routing for a Mobile Robot Acquisition of Real Robotic Swarms using Deep Reinforcement
with Nonholonomic Constraints", 2012. Learning", Second IEEE International Conference on Robotic
[6] Wanrong Huang, Yanzhen Wang and Xiaodong Yi, "A Deep Computing, 2018.
Reinforcement Learning Approach to Preserve Connectivity for Multi-
robot Systems", 2017