Concurrent Graph Exploration with Multiple Robots

Slides:



Advertisements
Similar presentations
Additional Topics ARTIFICIAL INTELLIGENCE
Advertisements

Solving problems by searching
Chapter 5: Tree Constructions
A. S. Morse Yale University University of Minnesota June 4, 2014 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A.
Depth-First Search1 Part-H2 Depth-First Search DB A C E.
 Graph Graph  Types of Graphs Types of Graphs  Data Structures to Store Graphs Data Structures to Store Graphs  Graph Definitions Graph Definitions.
Search: Representation and General Search Procedure Jim Little UBC CS 322 – Search 1 September 10, 2014 Textbook § 3.0 –
Train DEPOT PROBLEM USING PERMUTATION GRAPHS
DESIGN OF A GENERIC PATH PATH PLANNING SYSTEM AILAB Path Planning Workgroup.
1 Chapter 16 Planning Methods. 2 Chapter 16 Contents (1) l STRIPS l STRIPS Implementation l Partial Order Planning l The Principle of Least Commitment.
Lecture 8 – Collective Pattern Collectives Pattern Parallel Computing CIS 410/510 Department of Computer and Information Science.
Search: Representation and General Search Procedure CPSC 322 – Search 1 January 12, 2011 Textbook § 3.0 –
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
Clustering Vertices of 3D Animated Meshes
Domain decomposition in parallel computing Ashok Srinivasan Florida State University COT 5410 – Spring 2004.
The sequence of graph transformation (P1)-(P2)-(P4) generating an initial mesh with two finite elements GENERATION OF THE TOPOLOGY OF INITIAL MESH Graph.
Comment reconstruire le graphe de visibilité d’un polygone? (Reconstructing visibility graphs of polygons) Jérémie Chalopin, Shantanu Das LIF, Aix-Marseille.
MCS312: NP-completeness and Approximation Algorithms
Enriching primary student teachers’ conceptions about science teaching: Towards dialogic inquiry-based learning Ilkka Ratinen, Sami Lehesvuori, Otto Kulhomäki,
University of Amsterdam Search, Navigate, and Actuate - Qualitative Navigation Arnoud Visser 1 Search, Navigate, and Actuate Qualitative Navigation.
Domain decomposition in parallel computing Ashok Srinivasan Florida State University.
Introduction to Artificial Intelligence (G51IAI) Dr Rong Qu Blind Searches - Introduction.
Dominance and Indifference in Airline Planning Decisions NEXTOR Conference: INFORMS Aviation Session June 2 – 5, 2003 Amy Mainville Cohn, KoMing Liu, and.
Solving problems by searching A I C h a p t e r 3.
Chapter 20: Graphs. Objectives In this chapter, you will: – Learn about graphs – Become familiar with the basic terminology of graph theory – Discover.
1 Solving problems by searching Chapter 3. 2 Outline Problem types Example problems Assumptions in Basic Search State Implementation Tree search Example.
Pure Topological Mapping in Mobile Robotics Authors : Dimitri Marinakis Gregory Dudek Speaker :李宗明 M99G0103 IEEE TRANSACTIONS ON ROBOTICS, VOL. 26, NO.
Lecture 2: Problem Solving using State Space Representation CS 271: Fall, 2008.
Adding Concurrency to a Programming Language Peter A. Buhr and Glen Ditchfield USENIX C++ Technical Conference, Portland, Oregon, U. S. A., August 1992.
Solving problems by searching Chapter 3. Types of agents Reflex agent Consider how the world IS Choose action based on current percept Do not consider.
Graphs ORD SFO LAX DFW Graphs 1 Graphs Graphs
An Introduction to Graph Theory
Rapidly-Exploring Random Trees
Solving problems by searching
Outline Introduction State-of-the-art solutions
Auburn University COMP7330/7336 Advanced Parallel and Distributed Computing Exploratory Decomposition Dr. Xiao Qin Auburn.
Chapter 12: Theory of Computation
Modeling Adversarial Activity (MAA)
Parallel Programming By J. H. Wang May 2, 2017.
Michael Langberg: Open University of Israel
Auburn University COMP7330/7336 Advanced Parallel and Distributed Computing Data Partition Dr. Xiao Qin Auburn University.
On Multi-Arm Manipulation Planning
Abstract Major Cloud computing companies have started to integrate frameworks for parallel data processing in their product portfolio, making it easy for.
ECE 448 Lecture 4: Search Intro
Paper by David peleg Presentation by Vanessa surjadidjaja
Problem Solving by Searching
Business System Development
Lecture 05 Compound Information Conflict Strategies
Chapter 4: Threads.
ISP and Egress Path Selection for Multihomed Networks
Spare Register Aware Prefetching for Graph Algorithms on GPUs
Artificial Intelligence
Finding Heuristics Using Abstraction
Depth-First Search D B A C E Depth-First Search Depth-First Search
Concurrent Graph Exploration with Multiple Robots
Solving problems by searching
Depth-First Search D B A C E Depth-First Search Depth-First Search
Plan Introduction to multilevel heuristics Rich partitioning problems
Instructor: Shengyu Zhang
Artificial Intelligence
Concurrent Graph Exploration with Multiple Robots
4+1 View Model of Software Architecture
Multi-phase process mining
Depth-First Search D B A C E 4/13/2019 5:23 AM Depth-First Search
4+1 View Model of Software Architecture
Adaptive Data Refinement for Parallel Dynamic Programming Applications
Solving problems by searching
Solving problems by searching
COMP60611 Fundamentals of Parallel and Distributed Systems
Presentation transcript:

Concurrent Graph Exploration with Multiple Robots Hui Wang 12/1/2018

Outline Introduction Previous work (background) Concurrency concerns Skeleton of operation model 12/1/2018

Outline Introduction Previous work (background) Concurrency concerns Skeleton of operation model 12/1/2018

Introduction Address robotic exploration problem on a graph-like world Robot(s) given an unknown environment modeled as a graph Goal is to establish a graph representation of the underlying world (mapping) Exist single robot exploration algorithm Extended to multiple robot case in my Master’s studies Simple nature of synchronization and parallelism modeled 12/1/2018

Introduction (cont’) Extend the multiple robot exploration with concurrency concerns. Useful framework within which to explore fundamental issues related to concurrent data structure exploration. E.g., robot (thread) synchronization, contention, and communication Allows for in-depth investigation of real life exploration challenges, e.g., measuring real execution time. Subject to refinement in later work. 12/1/2018

Outline Introduction Previous work (background) Concurrency concerns Skeleton of operation model 12/1/2018

Previous work (background) Problem: Given an unknown environment modeled as an embedded graph Embedding: Explicit specification of the order of edges incident upon each vertex of the graph 12/1/2018

Previous work (background) Unpleasant Constraints No prior knowledge of the environment at all (except starting place) No distance and orientation metric (compass) Edges are featureless, vertices featureless except degree Cannot label real edges, vertices….. Still solvable? Generally not Unless augment robot with disambiguation capability. E.g., use marker (bread crumbs) to solve the ‘have I been here before?’ problem `Have I been here before?’ 12/1/2018

Single robot exploration Key idea: maintains currently known sub-graph S, which evolves during process Basic operation: selects an unexplored edge eunknown from currently known graph S, explores to an unknown end (vertex) vunknown of the edge Critical question: whether the end vunknown was known, i.e., vunknown in S? Deterministic solution: drops marker (bread crumbs) at vunknown, searches S for the marker. S eunknown v1 vu v2 v3 12/1/2018

Single robot exploration (cont’) drop marker at vunknown, search S for the marker. if marker is not found in S // both eunknown and vunknown are unknown add eunknown and vunknown to S else if marker is found in S // vunknown is v2 , only eunknown is unknown add eunknown to S S eunknown v1 vu v2 v3 S eunknown v1 v2 12/1/2018 v3

Multiple robots exploration Extended to multiple robots case. Same word model, Unique marker Common starting place, percept each other, and communicate (within vertex) Expectation: perform tasks faster, more robust than single one Alternating phases of independent exploration and coordinated merging of partial representations. Merge similar. common map := initial starting place while common map has unexplored part Partition the common map (Task split) Explore in parallel Meet at rendezvous place (common) after a certain time steps Merge the partial maps Merged map shared by all robots, becoming new common map End while 12/1/2018

Multiple robot exploration example 12/1/2018

12/1/2018

Multiple robot exploration on Real system 12/1/2018

Outline Introduction Previous work (background) Concurrency concerns Skeleton of operation model 12/1/2018

Concurrency concerns Pervious work assumes simple nature of parallelism and synchronization Operation not in full parallel Sufficient for specific problem solving (evaluate edge traversal) Not sufficient for other concerns (evaluate real execution time ) Concurrent modeling better reflects real life exploration Allow for investigation of more challenging problem e.g., meet in edge (hallway) e.g., resource contention, real time allocation 12/1/2018

Concurrency concerns Start with the basic algorithm -- modeling, implementing and testing Incorporating concurrency-related enhancements developed opportunistic communication parallelism in the merge phase Investigating more concurrency-related problems based on the concurrent model of the problem. encountering each other on edges evaluating by real resource consumption, e.g., execution time dealing with large groups (k ≥ 2) of robots. More new ideas acquired during the progress of the course work. 12/1/2018

Outline Introduction Previous work (background) Concurrency concerns Skeleton of operation model 12/1/2018

Skeleton of operation model We model the operation at each vertex as a sequence of action ( sense, initiate-communication, manipulate, move ). We assume the first 3 operation (sense, initiate-communication, manipulate, move) requires mutual exclusion. We distinguish two types of operation and communication at a vertex: at a rendezvous place at a non-rendezvous place 12/1/2018

Skeleton of operation model Operation at rendezvous place Challenge: synchronization 12/1/2018

Skeleton of operation model Operation at non-rendezvous place Challenge: establish communication (synchronous, asynchronous?) 12/1/2018

References [1] G. Dudek, M. Jenkin, E. Milios, and D. Wilkes. Robotic exploration as graph construction. IEEE Transactions on Robotics and Automation, 7: 859-864, 1991. (wiki) [2] G. Dudek, M. Jenkin, E. Milios, and D. Wilkes. Topological exploration with multiple robots. In 7th International Symposium on Robotics and Automation (ISORA).1998. (wiki) [3] H. Wang. Multiple Robot Graph Exploration. Master’s Thesis. York University, 2007. (webpage) Thank you 12/1/2018

Extra slide: Two robots vs. single robot 12/1/2018

Extra Slide: About isomorphic Problem (goal) : Given an unknown environment modeled as a graph, formulate an exploration strategy which enable the robot to form a representation of environment that is isomorphic to the finite world it has been assigned to explore. isomorphic: Two graphs are isomorphic if there is a one-to-one correspondence between their vertices and there is an edge between two vertices of one graph if and only if there is an edge between the two corresponding vertices in the other graph. v2 v1 v1 v2 v3 v4 v4 v3 12/1/2018