Download - [Gp][final seminar][presentation]
Computer and Information Science | Computer Systems Department
Final Seminar 24/6/2013
Co-Swarm: Cooperative area exploration using a swarm of mobile robots June 2013 1Final Seminar
• Team – Ahmed Mohamed Emad– Abdelrahman Ehab Soliman– Muhammed Aly Huessin– Anas Awad Ismail
• Academic Supervisors – Prof. Dr. Hossam El-Din Fahem– Dr. Wael S. El-Kilany– TA. Agwad Hammad
Team Members
Co-Swarm: Cooperative area exploration using a swarm of mobile robots June 2013 2Final Seminar
• Overview :– Problem Definition – Previous Work
• Objective• Co-Swarm :
– System Architecture – Module_1 (Plan)– Module_2 (Sense)– Module_3 (Act)– Communication
• System Constraints• Experiments (Demo)• Conclusion and Future Work• References
Outline
Outline
Overview
ObjectiveCo-Swarm
System ConstraintsExperiments
Conclusion Future Work
References
Co-Swarm: Cooperative area exploration using a swarm of mobile robots June 2013 3Final Seminar
Problem Definition“In Robotics, the exploration problem deals with the use of a
robot to maximize the knowledge over a particular area.
The exploration problem arises in mapping and search and
rescue situations, where an environment might be
dangerous or inaccessible to humans ”
Overview
Outline OverviewObjective
Co-Swarm System Constraints
ExperimentsConclusion
Future WorkReferences
Co-Swarm: Cooperative area exploration using a swarm of mobile robots June 2013 4Final Seminar
Problem Overview– The exploration problems appeared when the humans think
to use robots to discover unknown areas that may be dangerous or inaccessible for humans.
– Robot needs a map to operate in a particular environment.
– Autonomous Exploration : The ability of robots to autonomously travel around an unknown environment gathering the necessary information to obtain a useful map for navigation.
– Optimization Problem: NP-Complete Problem
Overview
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
June 2013 5
Previous Work• In absence of global position information,
(SLAM) techniques are deployed to construct a map.
• State of the art:– Classic non-coordinated strategies– Classic coordinated strategies– Integrated non-coordinated strategies – Integrated coordinated strategies
Overview
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
June 2013 6
Previous Work• In absence of global position information,
(SLAM) techniques are deployed to construct a map.
• State of the art:– Classic non-coordinated strategies– Classic coordinated strategies
• Frontier-Based Exploration using Multiple Robots – Brain Yamuchi 1998
– Integrated non-coordinated strategies – Integrated coordinated strategies
Overview
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
June 2013 7
What’s Swarm ?! • New bio-inspired approach to control the coordination of
(Multi-Robot System)MRS, which consists of large numbers of mostly simple physical robots.
• This collective behavior leads to the field of Artificial Swarm Intelligence.
Overview
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-Swarm System Constraints
ExperimentsConclusion
Future WorkReferences
June 2013 8
Why Swarm ?!• Simple and Elegant.– Can be represented by State Machine.
• Scalable.• Decentralized.• Usage of local interactions.
Overview
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
June 2013 9
“Speedup the area exploration mission using swarm of Mobile Robots”
Objective
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline Overview
ObjectiveCo-Swarm
System ConstraintsExperimentsConclusion
Future WorkReferences
June 2013 10
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
• Robot Control Methodology (S-P-A)
Co-Swarm |System Architecture
June 2013 11
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
Frontier-Based Exploration – Brain Yamuchi 1998
– Central Idea:• Gain the most new information about the world.• Move to the boundary between open space and
uncharted space.
Co-Swarm | Planning
June 2013 12
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
Co-Swarm | Planning
June 2013 13
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
Evidence Grid• Our Spatial Representation for the Environment.• A Cartesian Grid containing cells and each cell
contains its state whether it is Open , Occupied or unknown.
Frontier Detection• Frontiers are regions on the boundary between open
space and unexplored space.• A process analogous to edge detection and region
extraction in computer vision is used to find the boundaries between open space and unknown space.
Co-Swarm | Planning
June 2013 14
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
Navigate to Frontiers• The robot attempts to navigate to the nearest
accessible unvisited frontier.• Motion Planning with Obstacle Avoidance.• Path Finding Algorithm A*.
Co-Swarm | Planning
June 2013 15
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
Co-Swarm | Planning
June 2013 16
Frontier-Based Exploration (Single Robot)
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
Co-Swarm | Planning
June 2013 17
Frontier-Based Exploration (Mutli-Robot)
Co-Swarm |System Architecture
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
June 2013 18
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
Co-Swarm |System Architecture
June 2013 19
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
Co-Swarm | Planning
June 2013 20
Self-Organizing Models–Mobility Sensor Models• Fully Coordinated Control Model.• Fully Random Model.• Emergent Motion Control.
– Flocking Algorithm.– Anti-Flocking Algorithm
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
Co-Swarm | Planning
June 2013 21
Self-Organizing Models–Mobility Sensor Models• Fully Coordinated Control Model.• Fully Random Model.• Emergent Motion Control.
– Flocking Algorithm.
–Anti-Flocking Algorithm
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
Co-Swarm | Planning
June 2013 22
Anti-Flocking Algorithm
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
Co-Swarm | Planning
June 2013 23
Critical Cases Handling – More than one robot navigate to the same
frontier.– Robot cuts the road of another one.
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
Co-Swarm | Planning
June 2013 24
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
Co-Swarm | Planning
June 2013 25
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
Co-Swarm | Sensing
June 2013 26
Sensing the environment– Using PSD– Using Ultrasonic
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
Co-Swarm | Sensing
June 2013 27
Sensing the environment– Using PSD– Using Ultrasonic
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
Co-Swarm | Acting| Framework Design
June 2013 28
Motion Engine
Direction
Ultra Sonic PSD
Path Executor
Command interpreter
Serial Communication (USART)
PID Controller Motor Driver
Local Grid Generator
Message
Path[0] … Path[Length -1]
Reply
L_Grid[0] … L_Grid[Length -1]
Distance I , or Angle I Angle i
Requ
est f
or D
ist.
Distance
Request for Dist.
Speed
ENA. signal
Distance
Dis
tanc
e
Request for L_Grid .
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
Co-Swarm | Acting| Framework
June 2013 29
Commands Interpreter Module–Message Splitting– Function Signature– Passing Parameters
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
Co-Swarm | Acting| Framework
June 2013 30
Commands Interpreter Module
Path Executor
Command interpreter
Serial Communication (USART)
Local Grid Generator
Message
Path[0] … Path[Length -1]
Reply
L_Grid[0] … L_Grid[Length -1]
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
Co-Swarm | Acting| Framework
June 2013 31
Path Executer Module– Fetch the next step and its direction.– Call the desired function
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
Co-Swarm | Acting| Framework
June 2013 32
Path Executer Module
Motion Engine
Path Executor
Command interpreter
Path[0] … Path[Length -1]
Distance I , or Angle I
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
Co-Swarm | Acting| Framework
June 2013 33
Local Grid Generator– Receive Request .– Uses the Motion Engine Module to move the
robot in a certain angle– Uses the PSD Sensor Adapter to explore robot
local area .– Returns the information about each cell in
robot local whether it is open or occupied.
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
Co-Swarm | Acting| Framework
June 2013 34
Local Grid Generator
Local Grid Generator
Angle i
Requ
est f
or D
ist.
Dis
tanc
e
Motion Engine
PSD
Command interpreter
L_Grid[0] … L_Grid[Length -1] Request for L_Grid .
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
Co-Swarm | Acting
June 2013 35
Motion Engine– Used for controlling robot motion in a specific
direction and for a given distance .– Or used to perform rotation operation on the
robot for a given angle– Motion Engine is responsible for obstacle
detection and avoidance by using the Ultra sonic sensor and PSD sensor .
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
Co-Swarm | Acting
June 2013 36
Motion Engine
Motion Engine
Direction
Ultra Sonic PSD
Path Executor
PID Controller Motor Driver
Local Grid Generator
Distance I , or Angle I Angle i
Requ
est f
or D
ist.
Distance
Request for Dist.
Speed
ENA. signal
Distance
Dis
tanc
e
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
Co-Swarm | Acting
June 2013 37
PID Controller– PID : It is a generic control loop feedback
mechanism (controller) widely used in industrial control systems, we used it to be able to control the wheels rotation of the robots with regular speed .
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
Co-Swarm | Acting
June 2013 38
PID Controller
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
Co-Swarm | Communication
June 2013 39
Due to use of External Brain:– Robot-To-Brain Communication (USART, Bluetooth)
– Brain-To-Brain Communication (Wireless Lan)
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
Co-Swarm | Communication
June 2013 40
Data Exchange Scheme– Timelines
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
Co-Swarm | Communication
June 2013 41
Robot BrainSTR (X,Y, Orientation)#
RDY#
GRD (Center, Size)#
LGD (X0 – Xsize-1) $
CTS#
UPD#
RQP (X,Y)#
PTH [0 … n]$
RDP #
.
.
.STP#
STP#
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
Co-Swarm | Communication
June 2013 42
Brain Brain
BLG (X0 – Xsize-1) $
UPD#
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
System Constraints
June 2013 43
• Cell Size equal to Object Size (Fixed).• 4-direction Robot motion only.• Uncertainty in Localization.
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
Experiments | Obstacle Detection/Avoidance
June 2013 44
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
Experiments |Path Executer
June 2013 45
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
Experiments
Conclusion
Future WorkReferences
Conclusion
June 2013 46
• Using swarm with applying Anti-Flocking solves restrictions of frontier-based approach instead of using complex solutions like SLAM techniques.
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
Future Work
June 2013 47
• Robot Motion Planning in Eight Directions using Voronoi diagram.
• Dynamic Path finding using D* Lite.• Monte-Carlo localization (Markov
localization).• Migration of the AI Agent to the Cloud
(Cloud Robotics).
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future WorkReferences
Tools And Technologies
June 2013 48
• Exploration Simulator – C++/CLI, C# windows Application– Microsoft Visual Studio 2010
• Embedded Software (Robot Framework):– C on AVR Studio
• ASANAA: Team Management System
• Github, Bitbucket: Source Control.
Co-Swarm: Cooperative area exploration using a swarm of mobile robotsFinal Seminar
Outline OverviewObjective
Co-SwarmSystem Constraints
ExperimentsConclusion
Future Work
References
References
June 2013 49
[1] Sebastian Thrun. Probabilistic Robotics, (1999-2000) [2] R.Murphy. An introduction to AI Robotics.MIT Press, 2000[3] Yamauchi, B. A frontier-based approach for autonomous exploration. In Proceedings of the 1997 IEEE International Symposium on Computational Intelligen ce in Robotics and Automation, (Monterey, CA, July 1997), pp. 146-151.[4] Yamauchi,B . Frontier-Based Exploration Using Multiple Robots.In the Proceedings of the Second International Conference on Autonomous Agents (Agents ‘98), Minneapolis, MN,May 1998, ACM Press.[5] Yun-Qian Miao, Alaa Khamis, Mohamed Kamel, "Applying Anti-Flocking Model in Mobile Surveillance Systems," Special Session on Distributed Surveillance Systems, International Conference on Autonomous and Intelligent Systems (AIS 2010), June 21-23, 2010, Povoa de Varzim, Portugal [Acceptance rate: 68%]. [6] Martin C. Martin Hans P. Moravec , Robot Evidence Grids,Tech. report CMU-RI-TR-96-06, Robotics Institute, Carnegie Mellon University, March, 1996.[7] Angie Shia , Survey of Swarm Robotics Techniques – A Tutorial,Special Topics Chair IEEE RAS Region 6[8] Don Miner ,Swarm Robotics Algorithms: A Survey (2007)[9] Miguel Juliá.Arturo Gil .Oscar Reinoso, A comparison of path planning strategies for autonomous exploration and mapping of unknown environments.[10] A Behavior-Based Strategy for Single and Multi-Robot Autonomous Exploration,Sensors 2012,13 July 2012.[11] Alaa Khamis , Motion Planning in robots , lectures notes at GUC.