differential drive robotsmobile robots •there are many kinds of wheeled mobile robots. •in this...
TRANSCRIPT
![Page 1: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/1.jpg)
CS 3630
Differential Drive Robots
![Page 2: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/2.jpg)
Mobile Robots• There are many kinds of wheeled mobile robots.• In this class, we primarily study differential drive robots.• The Duckiebot is a differential drive robot.
Mobile Robot Kinematics• Relationship between input commands (e.g., wheel velocity) and pose of
the robot, not considering forces. If the wheels turn at a certain rate, what is the resulting robot motion?
• No direct way to measure pose (unless we sensorize the environment), but we can integrate velocity (odometry) to obtain a good estimate.
![Page 3: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/3.jpg)
1968 1951
1952
![Page 4: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/4.jpg)
More Modern AGVs
![Page 5: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/5.jpg)
Differential Drive Robots
Two wheels with a common axis, and that can spin independently
![Page 6: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/6.jpg)
Differential Drive Robots
yI
xI
s(t)T
v(t)
𝐿
Wheel radius is 𝑟
Baseline distance between wheels is 𝐿
𝑟
The configuration of the robot can be specified by𝑞 = (𝑥, 𝑦, 𝜃)
At any moment in time, the instantaneous velocity of the robot is given by
𝑣 𝑡 =𝑣𝑥𝑣𝑦 , ሶ𝜃 = 𝜔
This robot cannot move instantaneously in the direction perpendicular to the forward velocity: 𝑣𝑦 = 0
NOTE: These velocities are specified w.r.t. the robot’s coordinate frame.
![Page 7: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/7.jpg)
Differential Drive Robots
yI
xI
s(t)T
v(t)
𝐿𝑟
When both wheels turn with the same velocity and same direction, we have pure forward motion:
ሶ𝜙𝑅 =𝑣𝑥𝑟
, ሶ𝜙𝐿 =𝑣𝑥𝑟
When the wheels turn in opposite directions with the same velocity, we have pure rotation:
ሶ𝜙𝑅 =𝜔𝐿2𝑟
, ሶ𝜙𝐿 = −𝜔𝐿2𝑟
Combining the two (velocities are linear, so superposition applies) we obtain:
ሶ𝜙𝑅 =𝜔𝐿2𝑟
+𝑣𝑥𝑟, ሶ𝜙𝐿 = −
𝜔𝐿2𝑟
+𝑣𝑥𝑟
ሶ𝜙 = speed of wheel rotation
![Page 8: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/8.jpg)
Differential Drive RobotsyI
xI
s(t)T
v(t)
𝐿𝑟
We have equations that define wheel angular velocity in terms of linear and angular velocity of the robot:
ሶ𝜙𝑅 =𝜔𝐿2𝑟
+𝑣𝑥𝑟, ሶ𝜙𝐿 = −
𝜔𝐿2𝑟
+𝑣𝑥𝑟
A bit of algebra gives the desired relationship between input (wheel velocity) and output (linear and angular velocity of the robot):
𝑟2( ሶ𝜙𝑅 + ሶ𝜙𝐿) = 𝑣𝑥,
𝑟𝐿( ሶ𝜙𝑅 − ሶ𝜙𝐿) = 𝜔 = ሶ𝜃
Differential Drive Robots
𝑣𝑥𝑣𝑦𝜔
=
𝑟2 (
ሶ𝜙𝑅 + ሶ𝜙𝐿)0
𝑟𝐿 (
ሶ𝜙𝑅 − ሶ𝜙𝐿)
![Page 9: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/9.jpg)
Motion relative to the world frame
ሶ𝑥ሶ𝑦ሶ𝜃=
𝑣𝑥 cos 𝜃𝑣𝑥 sin 𝜃
𝜔or as
ሶ𝑥ሶ𝑦ሶ𝜃=
cos 𝜃 0sin 𝜃 00 1
𝑣𝜔
𝑣0 = cos 𝜃sin 𝜃
−sin 𝜃cos 𝜃
𝑣𝑥0 = 𝑣𝑥 cos 𝜃
𝑣𝑥 sin 𝜃
ሶ𝜃 = 𝜔
We transform the robot velocity to world coordinates using our usual coordinate transformation:
We typically write the equations of motion as:
𝑣𝑥𝑣𝑦𝜔
=
𝑟2 (
ሶ𝜙𝑅 + ሶ𝜙𝐿)
0𝑟𝐿 (
ሶ𝜙𝑅 − ሶ𝜙𝐿)
We typically think of the robot as a device with linear and angular velocity input, rather than think about wheel RMPs.
![Page 10: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/10.jpg)
CS 3630Motion Planning
in the Plane
With lots of slides and ideas from:
Howie ChosetGreg Hager Zack DoddsNancy Amato
![Page 11: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/11.jpg)
Mobile Robots◼ In general, motion planning is intractable.◼ For certain special cases, efficient algorithms exist.◼ Mobile robots that move in the plane are much
simpler than robot arms, mobile manipulators, humanoid robots, etc.
◼ The main simplifying property is that we can often treat path planning as a two-dimensional problem for a point moving in the plane, 𝑥 ∈ ℜ2.
◼ Today --- path planning algorithms for such robots.
![Page 12: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/12.jpg)
Roadmap methodsCapture the connectivity of the free space by a graph or network of paths.
![Page 13: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/13.jpg)
RoadmapsA roadmap, 𝑅𝑀, is the union of one-dimensional curves such that for all 𝑥𝑠𝑡𝑎𝑟𝑡 and 𝑥𝑔𝑜𝑎𝑙 that can be connected by a collision- free path:◼ Accessibility: There is a collision-free path connecting 𝑥𝑠𝑡𝑎𝑟𝑡 to
some point 𝑥1 ∈ 𝑅𝑀.◼ Departability: There is a collision-free path connecting 𝑥𝑔𝑜𝑎𝑙 to
some point 𝑥2 ∈ 𝑅𝑀.◼ Connectivity: There is a path in 𝑅𝑀 connecting 𝑥1 and 𝑥2.
If such a roadmap exists, then a free path from 𝑥𝑠𝑡𝑎𝑟𝑡 to 𝑥𝑔𝑜𝑎𝑙can be constructed from these three sub-paths, and the path planning problem can be reduced to finding the three sub-paths.
![Page 14: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/14.jpg)
RoadMap Path Planning1. Build the roadmap
a) nodes are points in the free space or its boundaryb) two nodes are connected by an edge if there is a free path
between them
2. Connect start end goal points to the road mapat point 𝑥1 and 𝑥2 , respectively
3. Find a path on the roadmap between 𝑥1 and 𝑥2
The result is a path from start to goal
![Page 15: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/15.jpg)
Shortest, But Possibly Dangerous Paths
The Visibility Graph
![Page 16: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/16.jpg)
Visibility Graph methods
• If there is there a path, then the shortest path is in the visibility graph• If we include the start and goal nodes, they are automatically connected• Algorithms for constructing them can be efficient
➢𝑂 𝑛3 brute force (i.e., naïve)➢𝑂 𝑛2 log 𝑛 if clever
◼ Defined for polygonal obstacles◼ Nodes correspond to vertices
of obstacles◼ Nodes are connected if
◼ they are connected by an edge on an obstacle
OR◼ the line segment joining
them is in free space
![Page 17: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/17.jpg)
The Visibility Graph in Action (Part 1)◼ First, draw lines of sight from the start and goal to all “visible”
vertices and corners of the world.
start
goal
![Page 18: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/18.jpg)
The Visibility Graph in Action (Part 2)◼ Second, draw lines of sight from every vertex of every obstacle like
before. Remember lines along edges are also lines of sight.
start
goal
![Page 19: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/19.jpg)
The Visibility Graph in Action (Part 3)◼ Second, draw lines of sight from every vertex of every obstacle like
before. Remember lines along edges are also lines of sight.
start
goal
![Page 20: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/20.jpg)
The Visibility Graph in Action (Part 4)◼ Second, draw lines of sight from every vertex of every obstacle like
before. Remember lines along edges are also lines of sight.
start
goal
![Page 21: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/21.jpg)
The Visibility Graph (Done)◼ Repeat until you’re done.◼ If there are 𝑛 vertices, then there are 𝑂 𝑛2 edges in the
visibility graph – this is a bound, not the exact number of edges.
start
goal
![Page 22: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/22.jpg)
Reduced Visibility Graphs◼ The current graph as too many edges
◼ lines to concave vertices◼ lines that “head into” the object
◼ A reduced visibility graph consists of◼ Vertices that are convex◼ Edges that are “tangent” (i.e. do not head into the object at either
endpoint)
interestingly, this all only works in 2
![Page 23: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/23.jpg)
Carnegie Mellon
http://motionplanning.com [email protected]
Carnegie Mellon
A Sweepline Algorithm:Initially:
calculate the angle ai of segment v-vi and sort vertices by this creating list Ecreate a list of edges that intersect the horizontal from v sorted by intersection distance
For each aiif vi is visible to v then add v-vi to graph if vi is the “beginning” of an edge E, insert E in Sif vi is the “end” of and edge E, remove E from S
![Page 24: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/24.jpg)
Carnegie Mellon
http://motionplanning.com [email protected]
Carnegie Mellon
The Sweepline Algorithm
Analysis: For a vertex, n log n to create initial list, log n for each aiOverall: n log (n) (or n2 log (n) for all n vertices
![Page 25: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/25.jpg)
Carnegie Mellon
http://motionplanning.com [email protected]
Carnegie Mellon
Algorithm:Initially:
calculate the angle ai of segment v-vi and sort vertices by this creating list Ecreate a list of edges that intersect the horizontal from v sorted by intersection distance
For each aiif vi is visible to v then add v-vi to graph if vi is the “beginning” of an edge E, insert E in Sif vi is the “end” of and edge E, remove E from S
![Page 26: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/26.jpg)
Safe Paths that Have Large Clearance to Obstacles
The Generalized Voronoi Diagram
![Page 27: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/27.jpg)
Voronoi Diagrams
![Page 28: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/28.jpg)
Generalized Voronoi Diagrams
![Page 29: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/29.jpg)
Beyond Points: Basic Definitions
iC
𝑑𝑖 𝑥 is the distance from the point 𝑥 to the nearest point that belongs to an obstacle.
𝛻di x = 𝑥−𝑐| 𝑥 −𝑐 |
we’ll use this later…di x = min
c∈𝜕𝐶𝑖d(x, c)
𝒙
![Page 30: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/30.jpg)
Two-EquidistantA Two-equidistant surface is the set of points equally distant to two obstacles.
𝑺𝒊𝒋 = 𝒙 𝒅𝒊 𝒙 − 𝒅𝒋 𝒙 = 𝟎|𝑪𝒊
𝑪𝒋
![Page 31: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/31.jpg)
More Frugal Definition
Two-Equidistant Face
𝐹𝑖𝑗 = x ∈ 𝑆𝑖𝑗 𝑑𝑖 𝑥 = 𝑑𝑗 𝑥 < 𝑑𝑘 𝑥 , for all ℎ ≠ 𝑖, 𝑗
𝑆𝑖𝑗𝑪𝒌
𝑪𝒊
𝑪𝒋
𝒙 𝒙′
𝒅𝒊 𝒙 = 𝒅𝒋 𝒙 < 𝒅𝒌(𝒙)
𝒅𝒌 𝒙′ < 𝒅𝒊 𝒙′ = 𝒅𝒋 𝒙′
![Page 32: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/32.jpg)
General Voronoi Diagram
� �1
1 1
GVD−
= +=
=n
i
n
ijijF
![Page 33: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/33.jpg)
What about concave obstacles?
vs
![Page 34: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/34.jpg)
What about concave obstacles?
vsid
jd
id
jd
![Page 35: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/35.jpg)
What about concave obstacles?
vsid
jd
id
jd
idjd
jd
id
![Page 36: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/36.jpg)
Two-Equidistant
◼ Two-equidistant surface
◼ Two-equidistant surjective surface
}0)()(:{ free =−= xdxdQxS jiij
jCiC
ijS
id
jd)}()(:{ xdxdSxSS jiijij =
}),()(:{ ihxdxdSSxF hiijij =
� �1
1 1
GVD−
= +=
=n
i
n
ijijF
![Page 37: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/37.jpg)
Accessibility (in the Plane)
Follow the gradient of the distance function until another obstacle is equally close.
![Page 38: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/38.jpg)
A Discrete Version of the Generalized Voronoi Diagram
• use a discrete version of space and work from there
– The Brushfire algorithm is one way to do this• need to define a grid on space • need to define connectivity (4/8)• obstacles start with a 1 in grid; free space is zero
4 8
![Page 39: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/39.jpg)
Brushfire Algorithm
• Initially: create a queue 𝐿 of pixels on the boundary of all obstacles, set 𝑑 𝑡 = 0 for each non-boundary grid cell 𝑡
• While 𝐿 ≠ ∅– pop the top element 𝑡 of 𝐿– if 𝑑(𝑡) = 0
• 𝑑 𝑡 ← 1 + min𝑡′∈𝑁 𝑡 ,𝑑 𝑡′ ≠0
𝑑(𝑡′)
• 𝐿 ← 𝐿 ∪ 𝑡′ ∈ 𝑁 𝑡 𝑑 𝑡 = 0} /* add unvisited neighbors to 𝐿
The result is a distance map 𝑑 where each cell holds the minimum distance to an obstacle.
Local maxima of 𝑑 define the cells at which “wave fronts” cross, and these lie on the discrete Generalized Voronoi Diagram.
![Page 40: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/40.jpg)
Brushfire example
Note that the curves here are not at all perfect…
![Page 41: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/41.jpg)
Path Planning for Large Empty Spaces
Cell Decomposition
![Page 42: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/42.jpg)
Cell Decomposition◼ Don’t explicitly build a 1-D Roadmap. ◼ The “Roadmap” corresponds to the adjacency
graph of the cellular decomposition.◼ Nodes in the adjacency graph correspond to free
cells.◼ Arcs in the adjacency graph connect nodes that
correspond to adjacent cells.
![Page 43: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/43.jpg)
Definition
Qfree
Qfree
![Page 44: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/44.jpg)
Adjacency Graph◼ Node correspond to a cell◼ Edge connects nodes of adjacent cells
◼ Two cells are adjacent if they share a common boundary
c11c1
c2
c4
c3c6
c5 c8
c7
c10
c9c12
c13
c14
c15
c1 c10
c2
c3
c4 c5
c6
c7
c8
c9
c11
c12
c13
c14
c15
![Page 45: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/45.jpg)
Path Planning◼ Path Planning in two steps:
◼ Planner determines cells that contain the start and goal◼ Planner searches for a path within adjacency graph
![Page 46: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/46.jpg)
Trapezoidal Decomposition
![Page 47: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/47.jpg)
Trapezoidal Decomposition
![Page 48: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/48.jpg)
Trapezoidal Decomposition
![Page 49: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/49.jpg)
Trapezoidal Decomposition
![Page 50: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/50.jpg)
Trapezoidal Decomposition
![Page 51: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/51.jpg)
Trapezoidal Decomposition
![Page 52: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/52.jpg)
Trapezoidal Decomposition Path
![Page 53: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/53.jpg)
Implementation◼ Input is vertices and edges◼ Sort n vertices O(n logn)◼ Determine vertical extensions
◼ For each vertex, intersect vertical line with each edge –O(n) time
◼ Total O(n2) time
![Page 54: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/54.jpg)
Sweep line approach
Sweep a line through the space stopping at vertices which are oftencalled events
Maintain a list L of the current edges the slice intersects
Determining the intersection of slice with L requires O(n) time but withan efficient data structure like a balanced tree, perhaps O(log n)
Really, determine between which two edges the vertex or event liesThese edges are
So, really maintaining L takes O(n log n) – log n for insertions, n for vertices
![Page 55: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/55.jpg)
Events
In
Out Middle
![Page 56: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/56.jpg)
Example
![Page 57: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/57.jpg)
ExampleEach insertion or deletion requires 𝑂(log 𝑛) time
![Page 58: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/58.jpg)
Example
![Page 59: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/59.jpg)
Example
![Page 60: Differential Drive RobotsMobile Robots •There are many kinds of wheeled mobile robots. •In this class, we primarily study differential drive robots. •The Duckiebot is a differential](https://reader035.vdocument.in/reader035/viewer/2022070220/613280c2dfd10f4dd73a7df5/html5/thumbnails/60.jpg)
Trapezoidal Decomposition