Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


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

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

2 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

3 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

4 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

5 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

6 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)

7 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()

8 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)

9 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

10 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)

11 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

12 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

13 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

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

15 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

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


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

Similar presentations


Ads by Google