Nonholonomic Multibody Mobile Robots: Controllability and Motion Planning in the Presence of Obstacles (1991) Jerome Barraquand Jean-Claude Latombe.

Slides:



Advertisements
Similar presentations
Solving problems by searching Chapter 3. Outline Problem-solving agents Problem types Problem formulation Example problems Basic search algorithms.
Advertisements

Additional Topics ARTIFICIAL INTELLIGENCE
Review: Search problem formulation
NUS CS5247 Motion Planning for Car- like Robots using a Probabilistic Learning Approach --P. Svestka, M.H. Overmars. Int. J. Robotics Research, 16: ,
Announcements Course TA: Danny Kumar
Artificial Intelligence Presentation
Traveling Salesperson Problem
Branch and Bound Optimization In an exhaustive search, all possible trees in a search space are generated for comparison At each node, if the tree is optimal.
By Lydia E. Kavraki, Petr Svestka, Jean-Claude Latombe, Mark H. Overmars Emre Dirican
Artificial Intelligence Adversarial search Fall 2008 professor: Luigi Ceccaroni.
Solving Problems by Searching Currently at Chapter 3 in the book Will finish today/Monday, Chapter 4 next.
Blind Search1 Solving problems by searching Chapter 3.
Search Techniques MSc AI module. Search In order to build a system to solve a problem we need to: Define and analyse the problem Acquire the knowledge.
Search Strategies Reading: Russell’s Chapter 3 1.
May 12, 2013Problem Solving - Search Symbolic AI: Problem Solving E. Trentin, DIISM.
CSE 380 – Computer Game Programming Pathfinding AI
AI – Week 5 Implementing your own AI Planner in Prolog – part II : HEURISTICS Lee McCluskey, room 2/09
Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.
UNINFORMED SEARCH Problem - solving agents Example : Romania  On holiday in Romania ; currently in Arad.  Flight leaves tomorrow from Bucharest.
14 Jan 2004CS Blind Search1 Solving problems by searching Chapter 3.
Slide 1 Search: Advanced Topics Jim Little UBC CS 322 – Search 5 September 22, 2014 Textbook § 3.6.
Algorithm Strategies Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Kinodynamic Path Planning Aisha Walcott, Nathan Ickes, Stanislav Funiak October 31, 2001.
Randomized Kinodynamics Motion Planning with Moving Obstacles David Hsu, Robert Kindel, Jean-Claude Latombe, Stephen Rock.
Randomized Motion Planning for Car-like Robots with C-PRM Guang Song and Nancy M. Amato Department of Computer Science Texas A&M University College Station,
CPSC 322, Lecture 9Slide 1 Search: Advanced Topics Computer Science cpsc322, Lecture 9 (Textbook Chpt 3.6) January, 23, 2009.
CPSC 322, Lecture 9Slide 1 Search: Advanced Topics Computer Science cpsc322, Lecture 9 (Textbook Chpt 3.6) January, 22, 2010.
David Hsu, Robert Kindel, Jean- Claude Latombe, Stephen Rock Presented by: Haomiao Huang Vijay Pradeep Randomized Kinodynamic Motion Planning with Moving.
Paper by Kevin M.Lynch, Naoji Shiroma, Hirohiko Arai, and Kazuo Tanie
UnInformed Search What to do when you don’t know anything.
Game Playing CSC361 AI CSC361: Game Playing.
CS 326A: Motion Planning Non-Holonomic Motion Planning.
Randomized Motion Planning for Car-like Robots with C-PRM Guang Song, Nancy M. Amato Department of Computer Science Texas A&M University College Station,
Nonholonomic Multibody Mobile Robots: Controllability and Motion Planning in the Presence of Obstacles By Jerome Barraquand and Jean-Claude Latombe Presenter:
Solving problems by searching
Backtracking.
Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces Kavraki, Svestka, Latombe, Overmars 1996 Presented by Chris Allocco.
A Randomized Approach to Robot Path Planning Based on Lazy Evaluation Robert Bohlin, Lydia E. Kavraki (2001) Presented by: Robbie Paolini.
Game Trees: MiniMax strategy, Tree Evaluation, Pruning, Utility evaluation Adapted from slides of Yoonsuck Choe.
Minimax Trees: Utility Evaluation, Tree Evaluation, Pruning CPSC 315 – Programming Studio Spring 2008 Project 2, Lecture 2 Adapted from slides of Yoonsuck.
Game Playing Chapter 5. Game playing §Search applied to a problem against an adversary l some actions are not under the control of the problem-solver.
© Manfred Huber Autonomous Robots Robot Path Planning.
1 CO Games Development 1 Week 6 Introduction To Pathfinding + Crash and Turn + Breadth-first Search Gareth Bellaby.
Game Playing Chapter 5. Game playing §Search applied to a problem against an adversary l some actions are not under the control of the problem-solver.
1 Solving problems by searching This Lecture Chapters 3.1 to 3.4 Next Lecture Chapter 3.5 to 3.7 (Please read lecture topic material before and after each.
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.
Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces (1996) L. Kavraki, P. Švestka, J.-C. Latombe, M. Overmars.
Games. Adversaries Consider the process of reasoning when an adversary is trying to defeat our efforts In game playing situations one searches down the.
For Friday Finish reading chapter 4 Homework: –Lisp handout 4.
For Monday Read chapter 4, section 1 No homework..
Lecture 3: Uninformed Search
yG7s#t=15 yG7s#t=15.
Search CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
Problem Reduction So far we have considered search strategies for OR graph. In OR graph, several arcs indicate a variety of ways in which the original.
Non-Holonomic Motion Planning. Probabilistic Roadmaps What if omnidirectional motion in C-space is not permitted?
ARTIFICIAL INTELLIGENCE (CS 461D) Princess Nora University Faculty of Computer & Information Systems.
Fahiem Bacchus © 2005 University of Toronto 1 CSC384: Intro to Artificial Intelligence Search II ● Announcements.
Adversarial Search 2 (Game Playing)
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 1 Chapter 12 Path Planning.
For Monday Read chapter 4 exercise 1 No homework.
Lecture 3: Uninformed Search
Rapidly-Exploring Random Trees
Control Design and Analysis of Chained Systems
ECE 448 Lecture 4: Search Intro
HW #1 Due 29/9/2008 Write Java Applet to solve Goats and Cabbage “Missionaries and cannibals” problem with the following search algorithms: Breadth first.
What to do when you don’t know anything know nothing
Searching for Solutions
Problem Spaces & Search
Problem Spaces & Search
Minimax Trees: Utility Evaluation, Tree Evaluation, Pruning
Presentation transcript:

Nonholonomic Multibody Mobile Robots: Controllability and Motion Planning in the Presence of Obstacles (1991) Jerome Barraquand Jean-Claude Latombe

Controllability A robot is controllable if for any q 1 and q 2:  a free path between from q 1 to q 2   a feasible free path from q 1 to q 2 A multi-body robot is controllable if it can take on at least 2 different steering angles,  1 and  2, on the interval [-), and can move both forward and backward

Motivation How do we actually generate a feasible path? Other algorithms first generate a free path ignoring nonholonomic constraints, then convert to a topologically equivalent feasible path. We would like to take our constraints into account as we plan our path

Algorithm Overview Series of hinged bodies with wheels on flat ground, no slipping Front wheels have 2 different steering angles,  min and  max, in the range of [-) Arbitrary obstacles Searches for a path from q init to any configuration within a neighborhood of q goal Asymptotically complete Optimal in number of reversals Exponential in number of bodies of the robot

Summary of How It Works Searches a tree where each node is a feasible configuration At each step, considers only the option of setting the steering angle to  min or  max, backing up or going forward Successors of a node represent configurations where the car can be  t 0 time later

Summary of How It Works Expand the tree in an order that minimizes reversals Tricks to prune the tree  Limit your search depth (H)  Avoid visiting identical configurations (R)

Generating Successors Consider only a set of discrete values for v and  specifically v=-1 or 1,  = min or  max. Integrate velocity equations defined by nonholonomic systems over  t 0 to compute each new position  x /  t = v cos() cos(  )  y /  t = v cos() sin(  ) L  /  t = v sin()

Growing the Tree Maintain fringe nodes in heap Select the fringe node along a path with the least number of reversals, tie goes to shortest path Terminate this node if it collides with an obstacle or is in a previously visited configuration Mark node’s configuration as visited Test if node’s configuration is in the neighborhood of the goal Add node’s successors to fringe Bound maximum search depth (H)

Node Deletion A node is deleted (i.e. we don’t need to expand it) if:  The path between this node and this node’s parent collides with an obstacle  use a bitmap to represent workspace  Current configuration is in the neighborhood of a previously visited configuration Store an array A composed of 2 R(p+2) parallelepipeds which maps entire configuration space R is user provided tuning parameter, p is the number of bodies in the robot Need two separate arrays for going forward and in reverse

Completeness and Optimality Algorithm achieves controllability if t  is set small enough, and R and H are set large enough Since nodes along paths with minimum number of reversals are expanded first, algorithm is optimal in number of reversals (if t , R, and H are fine enough)

Picking Tuning Parameters Three tuning parameters  t , R, and H If algorithm returns failure, you don’t know if there is no solution or if  t , R, and H were not set properly Small  t  might be necessary; results in much larger tree Values of  t , R, and H are dependent on each other; setting the parameters in the order  t , H, and R works well Guess  t  using prior knowledge of the workspace Can use faster algorithm ignoring nonholonomic constraints to test if solution is possible, then keep refining  t  until solution is found

Performance Exponential in the size of the configuration space (number of bodies of the robot) Exponential in R, so in practice should be exponential in 1/ t  Not very practical for robots with more than 2 bodies, but can solve some difficult problems in reasonable amounts of time

Performance (in 1991)  max = 45 o, R=9, 2 min.  max = 45 o,  min = 22.5 o, R=9, 20 sec. Car That Can Only Turn LeftRandom Obstacles

Performance (in 1991)  max = 45 o, R=7, 20 min.

Algorithm Evaluation General/Extendable: With modest changes, could work for other types of robots with different nonholonomic constraints or in a 3D environment; room for speed optimizations dealing with the tree search Complete and Optimal: In the asymptotic case will always find a path (if one exists) with the minimum number of reversals Approximate: Final configuration is in the neighborhood of goal Discrete Steering Angles: Does not take advantage of possibility of steering angles on continuous interval  Use more discrete steering angles than 2 (increases branching factor)  Use some kind of smoothing algorithm

Algorithm Evaluation (Cont) Minimizes Reversals: Better than most algorithms but still not necessarily what you want; perhaps could try a different evaluation metric