Download presentation
Presentation is loading. Please wait.
Published byCecil Hines Modified over 9 years ago
1
Sameer Ansari Billy Gallagher Kyel Ok William Sica
2
Autonomous navigation in forest ◦ Applications Search & rescue Stranded hikers Injured persons Forest fires Aircraft crashes Mapping Exploration Forest fires X
3
Autonomous navigation in forest ◦ Applications Search & rescue Stranded hikers Injured persons Forest fires Aircraft crashes Mapping Exploration Forest fires ◦ Dense concentration of obstacles Easily solved if map known Maps not specific enough to mark exact location of trees Need method to navigate with no prior knowledge of area X
4
SLAM ◦ Find and localize obstacles ◦ Well established ◦ Significant existing work ◦ No planning
5
SLAM ◦ Find and localize obstacles ◦ Well established ◦ Significant existing work ◦ No planning
6
SLAM ◦ Find and localize obstacles ◦ Well established ◦ Significant existing work ◦ No planning
7
SLAM ◦ Find and localize obstacles ◦ Well established ◦ Significant existing work ◦ No planning
8
SLAM ◦ Find and localize obstacles ◦ Well established ◦ Significant existing work ◦ No planning
9
SLAM ◦ Find and localize obstacles ◦ Well established ◦ Significant existing work ◦ No planning SPLAM ◦ Map obstacles while moving towards goal ◦ Doesn’t try to map whole space, only path to goal ◦ Attempt to find best path to goal given uncertainty of obstacles X
10
SLAM ◦ Find and localize obstacles ◦ Well established ◦ Significant existing work ◦ No planning SPLAM ◦ Map obstacles while moving towards goal ◦ Doesn’t try to map whole space, only path to goal ◦ Attempt to find best path to goal given uncertainty of obstacles X
11
SLAM ◦ Find and localize obstacles ◦ Well established ◦ Significant existing work ◦ No planning SPLAM ◦ Map obstacles while moving towards goal ◦ Doesn’t try to map whole space, only path to goal ◦ Attempt to find best path to goal given uncertainty of obstacles X
12
SLAM ◦ Find and localize obstacles ◦ Well established ◦ Significant existing work ◦ No planning SPLAM ◦ Map obstacles while moving towards goal ◦ Doesn’t try to map whole space, only path to goal ◦ Attempt to find best path to goal given uncertainty of obstacles X
13
SLAM ◦ Find and localize obstacles ◦ Well established ◦ Significant existing work ◦ No planning SPLAM ◦ Map obstacles while moving towards goal ◦ Doesn’t try to map whole space, only path to goal ◦ Attempt to find best path to goal given uncertainty of obstacles X
14
SLAM ◦ Find and localize obstacles ◦ Well established ◦ Significant existing work ◦ No planning SPLAM ◦ Map obstacles while moving towards goal ◦ Doesn’t try to map whole space, only path to goal ◦ Attempt to find best path to goal given uncertainty of obstacles X
15
Handling uncertainty in planning ◦ SLAM is uncertain Accuracy of obstacle location dependent on number of readings More views of obstacle, better location estimate ◦ Need planner to find path to goal Stay farther from uncertain obstacles Can get closer to well established obstacles Must adjust to changing obstacle position estimates and introduction of newly found obstacles Flexible to account for changes in global topology as well as uncertainty in local environment
16
Concept ◦ Two level system Higher level handles plan to global goal Ignores uncertainty Concerned only overall environment Returns best known path to global goal Replans when global topology changes Lower levels plan in local environment Navigate around nearby uncertain obstacles Sets local goal as short distance along global path Returns safest path to local goal Replans as obstacle uncertainty decreases ◦ High level planner runs less often than low level planner Robot Controller Local Planner Global Planner
17
Motivated by work in SPLAM ◦ Uncertainties in local data that converge over time ◦ Incomplete information about the global map ◦ Ability to update information about the world through successive iterations Previous works in planning have used Voronoi diagrams to escape local minima in potential fields [1] [1] “Robot Motion Planning: A Distributed Representation Approach” - Barraquand and Latombe
18
Robot Simulator ◦ Runs robot controller ◦ Calls planning algorithms ◦ Makes choices on how to execute plan Global Planner ◦ Evaluates entire known environment ◦ Creates Voronoi decomposition ◦ Finds optimal path through Voronoi diagram using A* ◦ Returns local goal along Voronoi diagram path Local Planner ◦ Evaluates local visible environment ◦ Determines safest path to local goal ◦ Uses potential fields to push robot away from obstacles
19
Generates potential field of local environment ◦ Linear distance to goal Drives robot towards local goal ◦ Gaussian distribution around uncertain obstacles Higher uncertainty wider Gaussian stronger push Keeps robot farther from more uncertain obstacles ◦ Linear distance from obstacles when close Keeps robot from getting to close to any obstacle
20
Generates potential field of local environment ◦ Linear distance to goal Drives robot towards local goal ◦ Gaussian distribution around uncertain obstacles Higher uncertainty wider Gaussian stronger push Keeps robot farther from more uncertain obstacles ◦ Linear distance from obstacles when close Keeps robot from getting to close to any obstacle Known Obstacle Local Goal Known Obstacle Uncertain Obstacle
21
Obstacle Uncertainty ◦ Estimated location Random Sample from distribution ◦ Normal distribution Mean Actual position Variance Inversely related to Distance & View count k – Multiplicative Factor kVariance Estimated location Probability Actual location kVariance
22
Gradient descent used to find path ◦ Follow down steepest gradient towards minimum ◦ Stops when At goal Gradient converges to zero Position converges ◦ Finds path that stays farther from more uncertain obstacles ◦ If obstacle near or at goal, will get close to goal while still avoiding obstacle
23
Gradient descent used to find path ◦ Follow down steepest gradient towards minimum ◦ Stops when At goal Gradient converges to zero Position converges ◦ Finds path that stays farther from more uncertain obstacles ◦ If obstacle near or at goal, will get close to goal while still avoiding obstacle
24
Gradient descent used to find path ◦ Follow down steepest gradient towards minimum ◦ Stops when At goal Gradient converges to zero Position converges ◦ Finds path that stays farther from more uncertain obstacles ◦ If obstacle near or at goal, will get close to goal while still avoiding obstacle
25
Gradient descent used to find path ◦ Follow down steepest gradient towards minimum ◦ Stops when At goal Gradient converges to zero Position converges ◦ Finds path that stays farther from more uncertain obstacles ◦ If obstacle near or at goal, will get close to goal while still avoiding obstacle
26
Gradient descent used to find path ◦ Follow down steepest gradient towards minimum ◦ Stops when At goal Gradient converges to zero Position converges ◦ Finds path that stays farther from more uncertain obstacles ◦ If obstacle near or at goal, will get close to goal while still avoiding obstacle
27
Incomplete due to local minima ◦ Path will end at zero gradient ◦ Will prevent reaching global minimum (in local environment) ◦ Won’t reach local goal Good because won’t force way to goal if can’t get there Bad because can get stuck behind wall of obstacles Need higher level planner to provide new local goal
28
Overcome Local Minima Problem Voronoi Decomposition ◦ Voronoi Vertices are local minima ◦ Way point for local planner ◦ A* search
29
Overcome Local Minima Problem Voronoi Decomposition ◦ Voronoi Vertices are local minima ◦ Way point for local planner ◦ A* search
30
Overcome Local Minima Problem Voronoi Decomposition ◦ Voronoi Vertices are local minima ◦ Way point for local planner ◦ A* search
31
Final System SLAM Robot Position R(x,y) Obstacle Position O(x,y) Global Planner Finds Local Goal Global Goal R(x,y) O(x,y) Local Planner Finds Path Local Goal R(x,y) O(x,y) Path (x,y) Controller Updates Robot Position Simulator
32
Final System SLAM Robot Position R(x,y) Obstacle Position O(x,y) Global Planner Finds Local Goal Local Planner Finds Path Path (x,y) Controller Updates Robot Position Simulator Significant change in O (x,y) Every iteration
33
Programming Language(s) ◦ MATLAB ◦ C++ subroutines - A* search World Model ◦ 2D Field ◦ Circular Obstacles (Tree Trunks) Minimum Collision Distance ◦ Global Goal Position (GPS) Senses for UAV ◦ 360° View ◦ Maximum view distance ◦ Uncertain Obstacle positions Gaussian Noise Planner Implementations ◦ Global - Voronoi Planner ◦ Local - Potential Field Planner Trials and Tribulations Advantages/Disadvantages Simulator – Global Planner Field Origin (0,0) UAV/Robot Range of View Position (x,y) Global Goal (x,y) Local Goal (x,y) Local Planner Field
34
Legend - What are we looking at? Global Goal Local Goal What UAV Sees Actual Obstacle Positions UAV Range of View Trail UAV Let’s see it in action!
35
What the UAV seesGlobal Voronoi Planner
36
Local Potential Field Planner
37
Virtual Nodes 4 Virtual Nodes Added Corners to a box Diagonal connects Robot to Global Goal Gives starting-ending choices Virtual Nodes 4 Virtual Nodes Added Corners to a box Diagonal connects Robot to Global Goal Gives starting-ending choices Voronoi Decomposition Based on what UAV sees Updates on global step versus local A Star search along nodes UAV to Global Goal Provides A* node as Local Goal Given to Potential Field Planner Voronoi Decomposition Based on what UAV sees Updates on global step versus local A Star search along nodes UAV to Global Goal Provides A* node as Local Goal Given to Potential Field Planner
38
Local Planner works on smaller areas of the playing field Local Goal given by Global Planner
39
Notice how Potential Field is better than Voronoi A* locally When No uncertainty – Voronoi plan does not need to update When No obstacles – No planners, head heuristically towards goal
40
1. If there is a solution, the algorithm returns it in finite time. 2. If no solution, the program terminates.
41
Potential Field ◦ Forces Uncertainty Better locally than global Voronoi planner Proximity Local Goal Gradient descent ◦ Incomplete by itself Can get stuck in local minima Can fail to find paths
42
Voronoi Diagram ◦ The start and goal points are Voronoi Vertices -putting virtual obstacles around these points ◦ All Voronoi Vertices are connected -property of Voronoi decomposition ◦ Start and goal are connected by Voronoi Edges Ignoring robot dimensions, there always is a path from start to goal (1 satisfied)
43
Taking robot dimensions into account: Voronoi Edges too close to obstacles are removed Using BFS, if the start is no longer connected to the goal, return no solution (2 satisfied)
44
No Path – Boxed In Voronoi planner complete for what it sees For all visible obstacles ◦ If a path to the goal exists, find it ◦ If no path exists, returns no path Overall planner waits for obstacle uncertainties to converge, ie. ‘Reality’ If there is no path in reality, overall planner returns no path You shall not pass!
45
Path-Finding with A*Avoid Local Minima
46
1000 Obstacles Edge Pruning
47
10,000 Obstacles Of course it went the wrong way first >:( Not real-time at all, ~1-2 hours to simulate
48
Short term possibilities ◦ Code has been designed with extension in mind ◦ Varying time-step per planner ◦ Limited field of view ◦ Dynamic motion Velocity, momentum PID control systems integration, etc. Motion planner ensembles ◦ Raises new possibilities & challenges Tasty apart, Delicious together. Defining completeness (Overall, per planner, per step…) Real-time implementation ◦ Simplified models can run real-time for (N<500) Voronoi planner is the time-sink Solution: Reduce Voronoi complexity Longer time-steps Less points ◦ Matlab is good, very good, but not that good. Do expensive work with C++ subroutines (Mex files)
49
Localization & mapping part of SPLAM Real-time implementation ◦ Reduce Voronoi complexity for faster performance ◦ MATLAB is very good, but not that good Do expensive work with C++/Mex subroutines Enhancements to robot ◦ Varying update frequency of each planner ◦ Limited field of view for UAV ◦ Dynamic motion Velocity, momentum PID control systems integration
50
For those who are interested: elucidation.github.com/UAV-Motion-Planner-Ensemble/ The momentous and historic code creation process is immortalized on GitHub. Source code is freely available for downloading/forking.
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.