1 / 47

500 likes | 1.14k Vues

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

**An Image/Link below is provided (as is) to download presentation**
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.
Content is provided to you AS IS for your information and personal use only.
Download presentation by click this link.
While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

**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**• 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.**Work Space & Configuration Space**• R : robot, simple polygon • R (x, y): robot translated over a vector (x, y) • Pi : obstacles • S : S={P1,…,Pt}**Work Space & Configuration Space**• R (x, y, Ф) • Ф: rotated clockwise through an angleФ**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.**Work Space & Configuration Space**• Cforb (R,S) : forbidden configuration space • Cfree (R,S) : free configuration space**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.**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.**A Point Robot**• trapezoidal map (chapter 6) • O (nlogn)**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.**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.**A Point Robot**• Time Complexity: process S (trapezoidal map) : O(nlogn) breadth-first search : O(n)**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**Minkowski Sums**• CP : configuration-space obstacles**Minkowski Sums**• Minkowski Sums**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)).**Minkowski Sums**• If P and R don’t have parallel edges, then the number of edges of the Minkoswi sum is exactly n + m.**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.**Compute Minkowski Sums**• Java Applet**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.**c**P 3 4 R 1 2 a b**i=1**j=1 v4=v1 w5=w1 Add (a+1) as a vertex to P R (a+1)**Angle(v1v2)**Angle(w1w2) angle(v1v2) = angle(w1w2) i=2 j=2 a b 1 2 (a+1)**i=2**j=2 Add (b+2) as a vertex to P R (a+1) (b+2)**c**Angle(v2v3) Angle(w2w3) angle(v2v3) > angle(w2w3) i=2 j=3 b 3 2 (a+1) (b+2)**i=2**j=3 Add (b+3) as a vertex to P R (b+3) (a+1) (b+2)**c**Angle(v2v3) Angle(w3w4) angle(v2v3) < angle(w3w4) i=3 j=3 b 4 3 (b+3) (a+1) (b+2)**i=3**j=3 Add (c+3) as a vertex to P R (c+3) (b+3) (a+1) (b+2)**c**Angle(v3v4) Angle(w3w4) angle(v3v4) > angle(w3w4) i=3 j=4 (c+3) a 4 3 (b+3) (a+1) (b+2)**i=3**j=4 Add (c+4) as a vertex to P R (c+3) (c+4) (b+3) (a+1) (b+2)**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)**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)**(c+4)**(c+3) (a+4) (b+3) (a+1) (b+2)**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**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)=

More Related