Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.

Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.

Successfully reported this slideshow.

Like this presentation? Why not share!

709 views

Published on

Published in:
Education

No Downloads

Total views

709

On SlideShare

0

From Embeds

0

Number of Embeds

4

Shares

0

Downloads

20

Comments

4

Likes

2

No notes for slide

- 1. Robot Motion Planning GETTING WHERE YOU WANT TO BE FARZAD NOZARIAN AMIR KABIR UNIVERSITY OF TECHNOLOGY FALL 2013 DEPARTMENT OF COMPUTER ENGINEERING AND IT
- 2. References ๏ต Computational Geometry Algorithms and Applications de Berg, M., Cheong, O., van Kreveld, M., Overmars, M - 3rd ed. 2008 Chapter 13 - Robot Motion Planning
- 3. Ultimate Goals in Robotics Autonomous robots tell what to do without having to say how to do it plan its own motion robot must have some knowledge about the environment where obstacles are located where walls and machines are located can be provided by a floor plan For other information detect obstacles that are not on the floor plan people rely on its sensors 1
- 4. Motion planning problem any kind of robot wants to move in physical space autonomous robot moving around in some factory environment quite rare compared to the robot arms Consists of a number of links, connected by joints Its base is firmly connected to the ground Other end carries a hand Usually two types of joints Revolute joint Prismatic joint Perform tasks like welding or spraying 2
- 5. In this presentation introduce some of the basic notions and techniques used in motion planning general motion planning problem is quite difficult some simplifying assumptions simplification & assumptions 2-dimensional motion planning problem planar region environment polygonal obstacles polygonal robot environment is static(no people walking !) 3
- 6. Types of robot motions depend on its mechanics move in any direction constrained in their motions Car-like robots cannot move sideways certain minimum turning radius Itโs geometry is quite complicated robots that can move in arbitrary directions Can translate only Can rotate 4
- 7. Work Space and Configuration Space Let R be a robot set S={P1,...,Pt} of obstacles placement, or configuration, of the robot can be specified by a translation vector For instance (1,โ1),(1,1),(0,3),(โ1,1),and (โ1,โ1) R(6,4) (7,3),(7,5),(6,7),(5,5), and(5,3) 5
- 8. Reference point, an alternative way We can specify a placement of R by simply stating the coordinates of the reference point Thus R(x,y) specifies that the robot is placed with its reference point at (x,y) In general, the reference point does not have to be inside the robot; it can also be a point outside the robot 6
- 9. suppose the robot can change its orientation by rotation We then need an extra parameter, ฯ to specify the orientation of the robot We let R(x,y,ฯ) denote the robot with its reference point at (x,y) and rotated counterclockwise through an angle ฯ Degrees of freedom (DOF) two for planar robots that can only translate three for planar robots that can rotate + translate 2D 3D a translating robot in R3 has three degrees of freedom to translate and rotate in R3 has six degrees of freedom 7Orientation of Robots
- 10. Configuration Space The parameter space of a robot R denoted by ๐ (R) A point p in this configuration space corresponds to a certain placement R(p) of the robot in the work space example : translating and rotating robot in the plane the configuration space is 3-dimensional point (x,y,ฯ) R(x,y,ฯ) in the work space โ A translating robot in the plane is the 2-dimensional Euclidean plane configuration space identical to work space Work Space is the space where the robot actually moves around Configuration Space is the parameter space of the robot A polygonal robot in the work space is represented by a point in configuration space 8
- 11. Forbidden & free configuration space not all points in configuration space are possible robot intersects one of the obstacles in S are forbidden forbidden configuration space, or forbidden space denoted by ๐forb(โ,S) placements where the robot does not intersect any obstacle denoted by ๐free(โ,S)free configuration space or free space 9
- 12. Mapping to Conf. Space A path for the robot maps to a curve in the configuration space, and vice versa Every placement along the path simply maps to the corresponding point in configuration space Can we also map obstacles to configuration space? yes An obstacle P is mapped to the set of points p in configuration space such that R(p) intersects P configuration-space obstacle or ๐-obstacle ๐-obstacles may overlap even when the obstacles in the work space are disjoint 10
- 13. One subtle issue that we have ignored Does the robot collide with an obstacle when it touches that obstacle? Obstacles are open sets, so that the robot is allowed to touch them In practice a movement where the robot passes very close to an obstacle cannot be considered safe because of possible errors in robot control Enlarging all the obstacles before the computation of a path 11
- 14. A Point Robot Itโs always good to start with a simple case! The obstacles are polygons with disjoint interiors, whose total number of vertices is denoted by n As before Denote the obstacles by P1,...,Pt Denote the robot by R Natural assumption that its reference point is the point robot itself The work space and the configuration space are identical finding a path from a particular start position to a particular goal position ? 12
- 15. Bounding box Our Goal ? we add one infinitely large obstacle ๐๐๐๐๐ ๐ต ๐๐๐๐๐ = เต๐ต แซ ๐=1 ๐ก ๐ซ๐ Compute a representation of the free space that allows us to find a path for any start and goal position Trapezoidal map Vertical Extension O(nlogn) 13
- 16. Represent Free Space Algorithm ComputeFreeSpace(S) Input. A set S of disjoint polygons. Output. A trapezoidal map of ๐free(R,S) for a point robot R. 1. Let E be the set of edges of the polygons in S. 2. Compute the trapezoidal map T(E) with algorithm TRAPEZOIDALMAP described in Chapter 6. 3. Remove the trapezoids that lie inside one of the polygons from T(E) and return the resulting subdivision. Lemma 13.1A trapezoidal map of the free configuration space for a point robot moving among a set of disjoint polygonal obstacles with n edges in total can be computed by a randomized algorithm in O(nlogn) expected time. 14
- 17. Trapezoidal Map Compute the trapezoidal map T(E) with algorithm Trapezoidal Map Remove the trapezoids that lie inside one of the polygons from T(E) 15
- 18. How do we use T(๐ free) to find a path from a start position pstart to a goal position pgoal? If pstart and pgoal are in the same trapezoid of the map pstart pgoal If the start and goal position are in different trapezoids To guide the motion across trapezoids we construct a road map through the free space 16
- 19. Road Map The road map is a graph ๐ขroad , which is embedded in the plane What is Road map ? 17
- 20. Plan a motion We can use the road map, together with the trapezoidal map, to plan a motion from a start to a goal position Pstart Pgoal โstart โgoal 18
- 21. 1. Find the trapezoid โstart containing pstart and the trapezoid โgoal containing pgoal. 2. if โstart or โgoal does not exist 3. then Report that the start or goal position is in the forbidden space. 4. else Let ฮฝstart be the node of ๐ขroad in the center of โstart . 5. Let ฮฝgoal be the node of ๐ขroad in the center of โgoal. 6. Compute a path in ๐ขroad from ฮฝstart to ฮฝgoal using breadth-first search. 7. if there is no such path 8. then Report that there is no path from pstart to pgoal. 9. else Report the path consisting of a straight-line motion from pstart to ฮฝstart, the path found in ๐ขroad, and a straight-line motion from ฮฝgoal to pgoal. Algorithm ComputePath( T(๐free ), ๐ข road, pstart, pgoal) Input. The trapezoidal map T( ๐ free) of the free space, the road map ๐ขroad , a start position pstart, and goal position pgoal. Output. A path from pstart to pgoal if it exists. If a path does not exist, this fact is reported. Compute Path Algorithm 19
- 22. Are the paths we report always collision-free ? Do we always find a collision-free path if one exists ? Letโs think about its correctness 20
- 23. Analyze the time of algorithm Finding the trapezoids containing the start and goal can be done in O( logn ) using the point location structure of Chapter 6 Or alternatively simply check all trapezoids in linear time 1 2 The breadth-first search takes linear time in the size of the graph ๐ขroad The time to report the path is bounded by the maximum number of arcs on a path in ๐ขroad, which is O(n) 3 21
- 24. Analyze the time of algorithm Theorem 13.2 Let R be a point robot moving among a set S of polygonal obstacles with n edges in total. We can preprocess S in O(nlogn) expected time, such that between any start and goal position a collision-free path for R can be computed in O(n) time, if it exists. 22
- 25. Minkowski Sums The same approach can be used if the robot is a polygon one difference the configuration-space obstacles are no longer the same as the obstacles in work space The configuration-space obstacle, or ๐-obstacle, of an obstacle P and the robot R is defined as the set of points in configuration space such that the corresponding placement of R intersects P ๐๐ซ: = ๐ฅ, ๐ฆ : โ ๐ฅ, ๐ฆ ๐ซ โฉ โ 0 23
- 26. The Minkowski sum of two sets S1โR2 and S2โR2 , denoted by S1โS2, is defined as : S1 โ S2 โ ๐ + ๐: ๐ โ ๐1, ๐ โ ๐2 Minkowski Sums where p+q denotes the vector sum of the vectors p and q if p=(px,py) and q=(qx,qy) then we have : p+q := (px+qx, py+qy) 24
- 27. Minkowski Sums Theorem 13.3 Let R be a planar, translating robot and let P be an obstacle. Then the C-obstacle of P is P โ ( โR(0,0) ) โp := (โpx,โpy) For a set S โS := { โp: p โ S } For a point p=(px,py) more info 25
- 28. Useful properties of Minkowski sums Observation 13.4 Let P and R be two objects in the plane, and let ๐P := P โ R. An extreme point in direction ิฆ๐ on ๐P is the sum of extreme points in direction ิฆ๐ on P and R we now prove that the Minkowski sum of two convex polygons has linear complexity 26
- 29. Theorem 13.5 Let P and R be two convex polygons with n and m edges, respectively. Then the Minkowski sum P โ R is a convex polygon with at most n + m edges. Proof. e must be generated by points on P and R that are extreme in the same direction at least one of P and R must have an edge that is extreme in that direction total number of edges is at most n + m 27Useful properties of Minkowski sums
- 30. Minkowski Sum Algorithm A very simple algorithm For each pair v, w of vertices, with v โ P and w โ R, compute v + w Compute the convex hull of all these sums An alternative algorithm It only looks at pairs of vertices that are extreme in the same direction angle(pq) notation 28
- 31. Algorithm MINKOWSKISUM(P,R) Input. A convex polygon P with vertices v1,...,vn, and a convex polygon R with vertices w1, ..., wm. The lists of vertices are assumed to be in counter-clockwise order, with v1and w1 being the vertices with smallest y-coordinate Output. The Minkowski sum P โ R. 1. iโ1; jโ1 2. vn+1โv1; vn+2โv2; wm+1โw1; wm+2โw2 3. repeat 4. Add vi +wj as a vertex to PโR. 5. if angle(vivi+1) < angle(wjwj+1) 6. then iโ(i+1) 7. else if angle(vivi+1) < angle(wjwj+1) 8. then jโ(j+1) 9. else iโ(i+1); jโ(j+1) 10. until i=n+1 and j=m+1 Minkowski Sum Algorithm 29
- 32. Translational Motion Planning Lemma 13.13 The free configuration space ๐free of a convex robot of constant complexity translating among a set of polygons with n edges in total can be computed in O(nlog2n) time. Theorem 13.14 Let R be a convex robot of constant complexity translating among a set S of disjoint polygonal obstacles with n edges in total. We can preprocess S in O(nlog2n) expected time, such that between any start and goal position a collision-free path for R, if it exists, can be computed in O(n) time. 30
- 33. Thanks ! End

No public clipboards found for this slide

Login to see the comments