A Distributed Algorithm for Gathering Many Fat Mobile Robots in the Plane Chrysovalandis Agathangelou Chryssis Georgiou Marios Mavronicolas Department.

Slides:



Advertisements
Similar presentations
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Local Strategies for Building Geometric Formations.
Advertisements

Routing Complexity of Faulty Networks Omer Angel Itai Benjamini Eran Ofek Udi Wieder The Weizmann Institute of Science.
Reactive and Potential Field Planners
Impossibility of Distributed Consensus with One Faulty Process
CS 542: Topics in Distributed Systems Diganta Goswami.
Chapter 6 - Convergence in the Presence of Faults1-1 Chapter 6 Self-Stabilization Self-Stabilization Shlomi Dolev MIT Press, 2000 Shlomi Dolev, All Rights.
Probabilistic Roadmaps. The complexity of the robot’s free space is overwhelming.
Lecture 3: Parallel Algorithm Design
Stéphane Devismes VERIMAG UMR 5104 Univ. Joseph Fourier Grenoble, France Optimal Exploration of Small Rings Talk by Franck Petit, Univ. Pierre et Marie.
Byzantine Generals Problem: Solution using signed messages.
A Randomized Gathering Algorithm for Multiple Robots with Limited Sensing Capabilities Noam Gordon Israel A. Wagner Alfred M. Bruckstein Technion – Israel.
Fail-Safe Mobility Management and Collision Prevention Platform for Cooperative Mobile Robots with Asynchronous Communications Rami Yared School of Information.
Graph Drawing and Information Visualization Laboratory Department of Computer Science and Engineering Bangladesh University of Engineering and Technology.
 Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 7: Failure Detectors.
Tracking a moving object with real-time obstacle avoidance Chung-Hao Chen, Chang Cheng, David Page, Andreas Koschan and Mongi Abidi Imaging, Robotics and.
Providing Haptic ‘Hints’ to Automatic Motion Planners Providing Haptic ‘Hints’ to Automatic Motion Planners Burchan Bayazit Joint Work With Nancy Amato.
What Can Be Implemented Anonymously ? Paper by Rachid Guerraui and Eric Ruppert Presentation by Amir Anter 1.
Distributed systems Module 2 -Distributed algorithms Teaching unit 1 – Basic techniques Ernesto Damiani University of Bozen Lesson 4 – Consensus and reliable.
Dynamic Medial Axis Based Motion Planning in Sensor Networks Lan Lin and Hyunyoung Lee Department of Computer Science University of Denver
CS 603 Dining Philosopher’s Problem February 15, 2002.
CS 603 Communication and Distributed Systems April 15, 2002.
Distributed Systems Tutorial 4 – Solving Consensus using Chandra-Toueg’s unreliable failure detector: A general Quorum-Based Approach.
Providing Haptic ‘Hints’ to Automatic Motion Planners Providing Haptic ‘Hints’ to Automatic Motion Planners Burchan Bayazit Joint Work With Nancy Amato.
Providing Haptic ‘Hints’ to Automatic Motion Planners Providing Haptic ‘Hints’ to Automatic Motion Planners by Burchan Bayazit Department of Computer Science.
Lab 3 How’d it go?.
Selected topics in distributed computing Shmuel Zaks
Andreas Larsson, Philippas Tsigas SIROCCO Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems.
CS4231 Parallel and Distributed Algorithms AY 2006/2007 Semester 2 Lecture 10 Instructor: Haifeng YU.
Franck Petit INRIA, LIP Lab. Univ. / ENS of Lyon France Optimal Probabilistic Ring Exploration by Semi-Synchronous Oblivious Robots Joint work with Stéphane.
How are things going? Core AI Problem Mobile robot path planning: identifying a trajectory that, when executed, will enable the robot to reach the goal.
1 © R. Guerraoui Regular register algorithms R. Guerraoui Distributed Programming Laboratory lpdwww.epfl.ch.
Computer Science and Engineering Parallelizing Defect Detection and Categorization Using FREERIDE Leonid Glimcher P. 1 ipdps’05 Scaling and Parallelizing.
A new Ad Hoc Positioning System 컴퓨터 공학과 오영준.
Hwajung Lee. One of the selling points of a distributed system is that the system will continue to perform even if some components / processes fail.
Behavior Control of Virtual Vehicle
Chap 15. Agreement. Problem Processes need to agree on a single bit No link failures A process can fail by crashing (no malicious behavior) Messages take.
Agreement in Distributed Systems n definition of agreement problems n impossibility of consensus with a single crash n solvable problems u consensus with.
Global Clock Synchronization in Sensor Networks Qun Li, Member, IEEE, and Daniela Rus, Member, IEEE IEEE Transactions on Computers 2006 Chien-Ku Lai.
1 Fault tolerance in distributed systems n Motivation n robust and stabilizing algorithms n failure models n robust algorithms u decision problems u impossibility.
Failure Detectors n motivation n failure detector properties n failure detector classes u detector reduction u equivalence between classes n consensus.
Replication predicates for dependent-failure algorithms Flavio Junqueira and Keith Marzullo University of California, San Diego Euro-Par Conference, Lisbon,
1 Dynamic Speed and Sensor Rate Adjustment for Mobile Robotic Systems Ala’ Qadi, Steve Goddard University of Nebraska-Lincoln Computer Science and Engineering.
System Model: Physical Module Constraints: 1)A module must have a minimum of two adjacent free sides in order to move. 2) A module must have an adjacent.
Relying on Safe Distance to Achieve Strong Partitionable Group Membership in Ad Hoc Networks Authors: Q. Huang, C. Julien, G. Roman Presented By: Jeff.
Distributed Error- Confinement Shay Kutten (Technion) with Boaz Patt-Shamir (Tel Aviv U.) Yossi Azar (Tel Aviv U.)
FTOP: A library for fault tolerance in a cluster R. Badrinath Rakesh Gupta Nisheeth Shrivastava.
June 23, Variational tetrahedral meshing of mechanical models for FEA Matthijs Sypkens Smit Willem F. Bronsvoort CAD ’08 Conference, Orlando, Florida.
Fundamentals of Fault-Tolerant Distributed Computing In Asynchronous Environments Paper by Felix C. Gartner Graeme Coakley COEN 317 November 23, 2003.
Distributed Leader Election Krishnendu Mukhopadhyaya Indian Statistical Institute, Kolkata.
COGNITIVE APPROACH TO ROBOT SPATIAL MAPPING
Faults and fault-tolerance
Operating systems Deadlocks.
Vineet Mittal Should more be added here Committee Members:
Department of Computer Science
Location Cloaking for Location Safety Protection of Ad Hoc Networks
Paper by David peleg Presentation by Vanessa surjadidjaja
Privacy and Fault-Tolerance in Distributed Optimization Nitin Vaidya University of Illinois at Urbana-Champaign.
Outline Distributed Mutual Exclusion Distributed Deadlock Detection
Craig Schroeder October 26, 2004
Parallel and Distributed Algorithms
“Enter Group Name” Tyler Atkinson and Dylan Menchetti
Faults and fault-tolerance
Fault-tolerant Consensus in Directed Networks Lewis Tseng Boston College Oct. 13, 2017 (joint work with Nitin H. Vaidya)
Introduction to locality sensitive approach to distributed systems
Operating Systems Chapter 5: Input/Output Management
EEC 688/788 Secure and Dependable Computing
Process Description and Control
Operating systems Deadlocks.
Boltzmann Machine (BM) (§6.4)
Kinetic Collision Detection for Convex Fat Objects
Presentation transcript:

A Distributed Algorithm for Gathering Many Fat Mobile Robots in the Plane Chrysovalandis Agathangelou Chryssis Georgiou Marios Mavronicolas Department of Computer Science University of Cyprus Tuesday, July 23 rd, 2013

Gathering Mobile Robots

Gathering Mobile FAT Robots

[ Czyzowicz, Gąsieniec, Pelc 2009 ]

Gathering Mobile FAT Robots [ Czyzowicz, Gąsieniec, Pelc 2009 ]

Gathering Mobile FAT Robots [ Czyzowicz, Gąsieniec, Pelc 2009 ]

Gathering Mobile FAT Robots [ Czyzowicz, Gąsieniec, Pelc 2009 ]

Dangerous Environments Space Underwater Military Nanotechnology Scientific Computation Motivation

Anonymous, Identical, Oblivious, Fault Free No Global Coordination System/Communication Fat Robots- Unit Discs Non Transparent Unlimited range of vision/Snapshots C amera Asynchronous [Czyzowicz, Gąsieniec, Pelc 2009] Chirality Model

Model Look-Compute-Move Cycles Adversary  Controls speed of robots  Determines wait time  Can stop robots while moving  Liveness conditions

Distributed Algorithm that solves the gathering problem for n fat robots State Machine Representation ◦ Model, problem and algorithm Contribution

Form a Convex Hull No three robots on the same line  Full Visibility  All Robots are aware of it Conceptual Phase 1

Goal:  Form a Connected Configuration  All are aware of the Connected Configuration High Level Idea:  Converge  Do not Lose Convex Hull  Do not Lose Full Visibility Conceptual Phase 2

Conceptual Phase 2 Example

Conceptual Phase 2 Example Conceptual Phase 2 Example

Distributed Algorithm Local algorithm run independently and asynchronously by each robot when in state Compute

The Algorithm-Diagram Start OnConvexHull IsTouching NotChangeToChange Connected NotOnStraightLine SpaceForMoreSeeOneRobotSeeTwoRobots NotOnConvexHull NotTouching AllOnConvexHullNotAllOnConvexHull NotConnected OnStraightLine NoSpaceForMore Not On Convex Hull Not Touching Another Robot Must Change Convex HullNo Need To Change Convex Hull Touching Another Robot

Procedure IsTouching Problem:  r i is touching with another robot/s  They block each other from moving Solution:  Priority to the closest robot to Convex Hull  Priority to the rightmost robot with the same distance from Convex Hull Using Chirality

Procedure IsTouching Example 1 r1r1 r2r2 r3r3 r4r4 r5r5 r6r6

Procedure IsTouching Example 2 r1r1 r2r2 r3r3 r4r4 r5r5 r6r6

The Algorithm-Diagram Start OnConvexHull IsTouching NotChangeToChange Connected NotOnStraightLine SpaceForMoreSeeOneRobotSeeTwoRobots NotOnConvexHull NotTouching AllOnConvexHullNotAllOnConvexHull NotConnected OnStraightLine NoSpaceForMore On Convex Hull Not All on Convex Hull or Not fully Visible Not on Straight Line

Procedure SpaceForMore If r i is tangent with a robot that they are not adjacent on the convex hull it moves outside of the convex hull at distance Else it stays at its current position

Procedure SpaceForMore Example riri r1r1 r2r2 r3r3

Procedure NoSpaceForMore r i moves with direction outside of the convex hull at distance rlrl r riri m

The Algorithm-Diagram Start OnConvexHull IsTouching NotChangeToChange Connected NotOnStraightLine SpaceForMoreSeeOneRobotSeeTwoRobots NotOnConvexHull NotTouching AllOnConvexHullNotAllOnConvexHull NotConnected OnStraightLine NoSpaceForMore On Convex Hull Not All on Convex Hull or Not Fully Visible On Straight Line Not In The Middle Of Two Other Robots

Procedure SeeTwoRobots r i moves with direction outside of the convex hull at distance rlrl r riri

The Algorithm-Diagram Start OnConvexHull IsTouching NotChangeToChange Connected NotOnStraightLine SpaceForMoreSeeOneRobotSeeTwoRobots NotOnConvexHull NotTouching AllOnConvexHullNotAllOnConvexHull NotConnected OnStraightLine NoSpaceForMore On Convex Hull All on Convex Hull and Fully Visible All Robots Form One Connected Configuration Not One Connected Configuration

Procedure NotConnected Priority to the smallest components to move to larger components Priority to the components with the less distance from their right component to move If all components have equal priority (symmetrical) they start to converge Using Chirality

Procedure NotConnected Example

Procedure NotConnected Example

Procedure NotConnected Example

Bad Configuration type 1 Fully Visible Configuration All robots are on the convex hull A robot r m has a view of a previous configuration (due to asynchrony) No Space for More Robots on the Convex Hull

Bad Configuration type 1 Example rlrl rmrm r r r+1

Bad Configuration type 2 Fully Visible Configuration All robots are on the convex hull A robot r m2 has a view of a previous configuration Four robots are on the same line

Bad Configuration Type 2 Example rlrlr r m1 r m2

Safe Configuration All robots are on the convex hull All robots have full visibility All robots are aware of it

Correctness Outline Good Configurations  Safety Properties If not all robots are on the convex hull or not full visibility, the convex hull can only expand If all robots are on the convex hull and fully visible, the convex hull can only shrink  Liveness Properties Eventually all robots will be on the convex hull and fully visible If all on the convex hull and fully visible eventually they form a connected configuration All Configurations  If there exists a bad execution fragment, eventually a safe configuration is reached and bad configurations can no longer happen

Algorithm Simulation In C language Used GP142 library Used Pthread library

Algorithm Simulation

Conclusion Chirality Solved for n robots Is knowledge of n necessary? Is Chirality necessary? Is it possible to solve the problem with faulty robots?

Thank you!

Appendix

Proof-Lemma

Function On-Convex-Hull Uses Graham Algorithm

Function Move-to-Point Called if a robot wants to touch another robot

Function Find-Points Returns the points on convex hull that a robot can move.

Function Connected- Components Returns the set of the components

The Algorithm-Diagram Start OnConvexHull IsTouching NotChangeToChange Connected NotOnStraightLine SpaceForMoreSeeOneRobotSeeTwoRobots NotOnConvexHull NotTouching AllOnConvexHullNotAllOnConvexHull NotConnected OnStraightLine NoSpaceForMore

Procedure Start If current robot r_i is on the convex hull move to state OnConvexHull. Else move to state NotOnConvexHull Uses function On-Convex-Hull

Procedure NotOnConvexHull Robot r_i is not on the convex hull If r_is touching another robot move to state IsTouching else move to state NotTouching

Procedure NotTouching Call Function Find-Points If it returns at least 1 point go to state NotChange Else go to state ToChange

Procedure ToChange Choose the closest point on the convex hull with space at least a diameter of a robot and move to it

Procedure NotChange Choose the closest point returned by Function Find Points and move to it

Related Work-Models ASYNC, SSYNC, FSYNC Unlimited vs Limited visual range Transparent vs Non Transparent robots Fault Tolerance (Crash, Byzantine, None) Memory vs Oblivious Anonymous vs with IDs Point vs Fat robots

Related Work-Models Agrement on Coordination system (compass) Accuracy of Measurements Non Context Environments (maps/obstacles) Multiplicity Detection Dimensions 2d-3d

Procedure OnConvexHull Robot r_i is on the convex hull boundary If all robots are on the convex hull boundary and no 3 robots are on the same line move to state AllOnConvexHull else move to state NotAllOnConvexHull

Procedure NotAllOnConvexHull If robot r_i is on straight line with any other 2 robots move to state OnStraightLine else it moves to state NotOnStraightLine

Procedure NotOnStraightLine If there exists a space of at least a robot diameter on the convex hull boundary move to state SpaceForMore Else move to state NoSpaceForMore

Procedure OnStraightLine If r i is in the middle and in straight line with any 2 other robots it moves to state SeeTwoRobots Else it moves to state SeeOneRobot

Procedure SeeOneRobot r i stays in its current position

Procedure AllOnConvexHull If all robots are connected r_i moves to state Connected Else it moves to state NotConnected

Correctness Proof Phase 1 Convex hull expands or stay the same Eventually all robots will be on the convex hull Eventually no three robots will be on the same line

Correctness Proof phase 2 All robots stay on the convex hull All robots have full visibility Robots start to converge carefully Eventually all robots will gather

Bad Configuration Overcome Proof Convex hull expands Robots must reach 1/n in order to start converge (Procedure NotConnected) Robots reach "safe distance" Adversary cannot continue to do the same Robots stop and take a snapshot