Planning
Cognition Where am I going ? How do I get there ? (global) Path Planning (local) Obstacle Avoidance
Configuration Space
Path Planning Overview Assumptions There exists a good enough map of the environment for navigation Topological map: graph-like structure (nodes/edges) Grid map Representation of environments Road map Identify a set of routes within the free space Cell decomposition Discriminate between free and occupied cells Potential field Impose a mathematical function over the space
Visibility Graph
Visibility Graph V-graph path Shortest path Simple implementation Number of nodes and edges increase with the number of obstacle polygons Take the robot as close as possible to obstacle
Voronoi Diagram Not shortest path Safe path
Voronoi Diagram
Cell-Decomposition Exact cell decomposition Number and size of cells depends on the density and complexity of objects Cell Connectivity graph
Cell-Decomposition Approximate cell decomposition Grid-based representation Low computational complexity of path planning algorithm (ex) wave-front algorithm Large memory & loss of object shape Adaptive cell decomposition
Path Planning Algorithm for Road-Map & Cell Decomposition
Path Planning: Wavefront Expansion
Path Planning: Breadth-First Search
Path Planning: Depth-First Search
Path Planning: A*
Potential Field
Potential Field
Potential Field
Path Planning: Potential Field Local minimum problem
Obstacle Avoidance Local path planning Changing robot’s trajectory as informed by its sensors during robot motion
Obstacle Avoidance: Bug 1
Obstacle Avoidance: Bug 1 Exhaustive search to find leave point
Obstacle Avoidance: Bug2
Obstacle Avoidance: Bug2 Greedy search to find leave point
Obstacle Avoidance: Tangent Bug
Obstacle Avoidance: Tangent Bug
Obstacle Avoidance: Tangent Bug
Obstacle Avoidance: Tangent Bug
Obstacle Avoidance: Tangent Bug
Obstacle Avoidance: Tangent Bug
Obstacle Avoidance: Vector field histogram(VFH) Polar histogram https://www.youtube.com/watch?v=caRj3OLA10Q
Obstacle Avoidance: VFH+ Considering kinematic limitations (ex) Turning radius of vehicle Masked polar histogram
Obstacle Avoidance: Bubble Band Concept
Obstacle Avoidance: Curvature velocity approach Basic curvature velocity method (CVM) Assumption robot only travels along arcs with curvature c = w/v Adding physical constraints from the robot and the environment to a velocity space Robot’s kinematic and dynamic constraints -vmax < v < vmax , -ωmax < ω < ωmax Constraints from obstacle blocking certain v and ω Obstacles are approximated by circular objects New velocity (v and ω) is made by an object function tv: translational velocity rv: rotational velocity
Obstacle Avoidance: Dynamic window approach Local dynamic window approach
Obstacle Avoidance: Dynamic window approach https://www.youtube.com/watch?reload=9&v=mech98HdWCI
Obstacle Avoidance: ASL approach
Obstacle Avoidance: ASL approach
Obstacle Avoidance: Overview
Obstacle Avoidance: Overview
Obstacle Avoidance: Overview