html5-img
1 / 47

# Robot Motion Planning

Robot Motion Planning Introduction One of the ultimate goals in robotics is to design autonomous robots: robots that you can tell what to do without having to say how to do it. Introduction

Télécharger la présentation

## Robot Motion Planning

E N D

### Presentation Transcript

1. Robot Motion Planning

2. Introduction • One of the ultimate goals in robotics is to design autonomous robots: robots that you can tell what to do without having to say how to do it.

3. Introduction • To be able to plan a motion, a robot must have some knowledge about environment in which it is moving. • This motion planning problem has to be solved whenever any kind of robot wants to move in physical space. • The type of motions a robot can execute depend on its mechanics.

4. Work Space & Configuration Space • R : robot, simple polygon • R (x, y): robot translated over a vector (x, y) • Pi : obstacles • S : S={P1,…,Pt}

5. Work Space & Configuration Space • R (x, y, Ф) • Ф: rotated clockwise through an angleФ

6. Work Space & Configuration Space • C(R) : configuration space, the parameter space of a robot R • The work space is the space where the robot actually moves around. • The configuration space is the parameter space of the robot.

7. Work Space & Configuration Space • Cforb (R,S) : forbidden configuration space • Cfree (R,S) : free configuration space

8. Work Space & Configuration Space

9. A Point Robot • For a point robot, the work space and the configuration space are identical. • To simplify the description we restrict the motion of the robot to a large bounding box B that contains the set of polygons.

10. A Point Robot • This free space is a possibly disconnected region, which may have holes. • Our goal is to compute a representation of the free space that allows us to find a path for any start and goal position. • Use trapezoidal map tocompute free space.

11. A Point Robot • trapezoidal map (chapter 6) • O (nlogn)

12. A Point Robot

13. A Point Robot

14. A Point Robot • T(Cfree) : the trapezoidal map of the free space • Use T(Cfree) to find path from a start position pstart to a goal position pgoal.

15. A Point Robot

16. A Point Robot

17. A Point Robot

18. A Point Robot • Any path we report must be collision-free, since it consists of segments inside trapezoids and all trapezoids are in free space. • We always find a collision-free path if one exists.

19. A Point Robot • Time Complexity: process S (trapezoidal map) : O(nlogn) breadth-first search : O(n)

20. Minkowski Sums • The same approach can be used if the robot is a polygon. • The configuration-space obstacles are no longer same as the obstacles in work space. • CP : configuration-space obstacles

21. Minkowski Sums • CP : configuration-space obstacles

22. Minkowski Sums • Minkowski Sums

23. Express the CP as minkowski sums • p = (px, py) • -p = (-px, -py) • -S := {-p : p S } • Let R be a planar, translating robot and let P be an obstacle. Then the C-obstacle of P is P (-R(0,0)).

24. Minkowski Sums

25. Minkowski Sums • If P and R don’t have parallel edges, then the number of edges of the Minkoswi sum is exactly n + m.

26. Compute Minkowski Sums • For each pair v, w of vertices, with v P and w R, compute v + w. Next, compute the convex hull of all these sums.

27. Compute Minkowski Sums • Java Applet

28. Compute Minkowski Sums

29. It only looks at pairs of vertices that are extreme in the same direction. • In the algorithm we use the notation angle(pq) to denote the angle that the vector pq makes with the positive x-axis.

30. c P 3 4 R 1 2 a b

31. i=1 j=1 v4=v1 w5=w1 Add (a+1) as a vertex to P R (a+1)

32. Angle(v1v2) Angle(w1w2) angle(v1v2) = angle(w1w2) i=2 j=2 a b 1 2 (a+1)

33. i=2 j=2 Add (b+2) as a vertex to P R (a+1) (b+2)

34. c Angle(v2v3) Angle(w2w3) angle(v2v3) > angle(w2w3) i=2 j=3 b 3 2 (a+1) (b+2)

35. i=2 j=3 Add (b+3) as a vertex to P R (b+3) (a+1) (b+2)

36. c Angle(v2v3) Angle(w3w4) angle(v2v3) < angle(w3w4) i=3 j=3 b 4 3 (b+3) (a+1) (b+2)

37. i=3 j=3 Add (c+3) as a vertex to P R (c+3) (b+3) (a+1) (b+2)

38. c Angle(v3v4) Angle(w3w4) angle(v3v4) > angle(w3w4) i=3 j=4 (c+3) a 4 3 (b+3) (a+1) (b+2)

39. i=3 j=4 Add (c+4) as a vertex to P R (c+3) (c+4) (b+3) (a+1) (b+2)

40. c Angle(v3v4) Angle(w4w5) angle(v3v4) < angle(w4w5) i=4 j=4 (c+3) (c+3) (c+4) a 4 (b+3) (b+3) 1 (a+1) (a+1) (b+2) (b+2)

41. i=4 j=4 Add (a+4) as a vertex to P R (c+4) (c+3) (b+3) (a+4) (a+1) (b+2)

42. (c+4) (c+3) (a+4) (b+3) (a+1) (b+2)

43. Non-convex polygons

44. Time Complexity • It is O(n+m) if both polygons are convex. • It is O(nm) if one of the polygons is convex and one is non-convex. • It is O(n m ) if both polygons are non-convex. 2 2

45. Translational Motion Planning

46. Translational Motion Planning • A polygon with m vertices can be triangulated in O(mlogm) time. • Computing CP of each of triangles takes linear time in total. • Merge step can be done in O(nlogn). T(n)=

47. Translational Motion Planning

More Related