Implementation of RRT based Path planner and conversion into Temporal Plan Network By: Aisha Walcott...
-
date post
20-Dec-2015 -
Category
Documents
-
view
215 -
download
3
Transcript of Implementation of RRT based Path planner and conversion into Temporal Plan Network By: Aisha Walcott...
Implementation of RRT Implementation of RRT based Path planner and based Path planner and conversion into Temporal conversion into Temporal Plan NetworkPlan Network
By: Aisha WalcottBy: Aisha WalcottFinal Project PresentationFinal Project PresentationDec. 10, 2001Dec. 10, 200116.412J16.412J
MotivationMotivationScenario: ”Send Aid”•Displaced refugees are without food, shelter, and medical supplies•Need to send relief aid from another country to their location•Problem: Refugees located in a hostile and dangerous region
Solution: Send an autonomous air vehicle (UAV) to deliver aid
OutlineOutline
Motivation (“Send Aid” scenario)Motivation (“Send Aid” scenario) ObjectivesObjectives Path Planning: RRT Connect Path Path Planning: RRT Connect Path
PlannerPlanner DemoDemo Temporal Plan Network (TPN)Temporal Plan Network (TPN) Conversion from RRT to TPNConversion from RRT to TPN ConclusionsConclusions
OutlineOutline
Motivation (“Send Aid” scenario)Motivation (“Send Aid” scenario) ObjectivesObjectives Path Planning: bRRT Connect Path Path Planning: bRRT Connect Path
PlannerPlanner DemoDemo Temporal Plan Network (TPN)Temporal Plan Network (TPN) Conversion from RRT to TPNConversion from RRT to TPN ConclusionsConclusions
Ideally…Ideally…
Design a path planner that Design a path planner that adheres to the UAVs dynamic adheres to the UAVs dynamic constraints and avoids obstaclesconstraints and avoids obstacles
Describe a temporal plan that Describe a temporal plan that encodes the “encodes the “Send Aid”Send Aid” scenario scenario
Project ObjectivesProject Objectives
Implement a RRT-based path Implement a RRT-based path plannerplanner
Perform analysis based on a set of Perform analysis based on a set of parametersparameters
Develop a simulationDevelop a simulation Develop an algorithm to transform Develop an algorithm to transform
RRT to a Temporal Plan NetworkRRT to a Temporal Plan Network
OutlineOutline
Motivation (“Send Aid” scenario)Motivation (“Send Aid” scenario) ObjectivesObjectives Path Planning:RRT Connect Path Path Planning:RRT Connect Path
PlannerPlanner DemoDemo Temporal Plan Network (TPN)Temporal Plan Network (TPN) Conversion from RRT to TPNConversion from RRT to TPN ConclusionsConclusions
Path Planning:Path Planning:RRT Connect Path RRT Connect Path PlannerPlanner Grow 2 RRTs into each otherGrow 2 RRTs into each other Use a greedy strategy to extend Use a greedy strategy to extend
treestrees
A
Common Node
Initial StateRRTA
BXobs
Goal StateRRTB
RRT Connect Path RRT Connect Path PlannerPlanner
For i = 1 to max_iterations DoFor i = 1 to max_iterations Do
1. q1. qrandrand = random_config() = random_config()
2. if ( Extend(T2. if ( Extend(Taa, q, qrandrand) NOT = ) NOT = TrappedTrapped ) then ) then
3. if (Connect( T3. if (Connect( Tbb, q, qnewnew) = ) = Reached Reached ) then) then
4.4. Return PATH (TReturn PATH (Taa, T, Tbb))
5. Swap(T5. Swap(Taa, T, Tbb))
Return Return FailedFailed
TTaa
TTbb
qqrandrand
Extend: •Finds the nearest node in the current tree to qrand
•Extends a distance from the nearest neighbor node towards the random node•Generates a new node qnew if no collision (trapped)
Extend(Ta, qrand)
Connect:•Calls Extend(Tb,qnew) until either
•Extend returns trapped or•Ta’s new node was Reached
Connect(Tb, qnew)
qnew
trappedqnear
RRT Connect AnalysisRRT Connect Analysis
Input Variables: Input Variables: max_iterations – number of iterationsmax_iterations – number of iterations
epsilon – extension distanceepsilon – extension distance obstacles – arrangement in worldobstacles – arrangement in world
close_enough – distance of when the 2 RRTs close_enough – distance of when the 2 RRTs are close enough to be connectedare close enough to be connected
Output:Output:path_found = if a path was found or notpath_found = if a path was found or notnodes – total number of nodes generatednodes – total number of nodes generated
path nodes – number of nodes along the path nodes – number of nodes along the pathpath
––
RRT Connect AnalysisRRT Connect Analysis
Sample Test Case:Sample Test Case:– Vary max_iterations, analyze epsilon Vary max_iterations, analyze epsilon
valuesvalues– Output: path found?, total nodesOutput: path found?, total nodes
100,500,1000 iterations:•Epsilon = 3,4 no path found•Otherwise found path
50 iterations:•Found path epsilon> 17
OutlineOutline
Motivation (“Send Aid” scenario)Motivation (“Send Aid” scenario) ObjectivesObjectives Path Planning: RRT Connect Path Path Planning: RRT Connect Path
PlannerPlanner DemoDemo Temporal Plan Network (TPN)Temporal Plan Network (TPN) Conversion from RRT to TPNConversion from RRT to TPN ConclusionsConclusions
DemoDemo
DemoDemo
DemoDemo
OutlineOutline
Motivation (“Send Aid” scenario)Motivation (“Send Aid” scenario) ObjectivesObjectives Path Planning: RRT Connect Path Path Planning: RRT Connect Path
PlannerPlanner DemoDemo Temporal Plan Network (TPN)Temporal Plan Network (TPN) Conversion from RRT to TPNConversion from RRT to TPN ConclusionsConclusions
Temporal Plan Network Temporal Plan Network (TPN)(TPN)
Represents activitiesRepresents activities Represents concurrent activities Represents concurrent activities
and decisions between activitiesand decisions between activities Encodes temporal and symbolic Encodes temporal and symbolic
constraints (state of agent or world)constraints (state of agent or world)– Lower bounds, upper boundsLower bounds, upper bounds– Ask(C) - requires that condition C is Ask(C) - requires that condition C is
truetrue– Tell(C) – asserts the condition C Tell(C) – asserts the condition C
TPNTPN
““Send Aid”Send Aid” Scenario: (activities) Scenario: (activities)– Start UAV engine and load UAV with Start UAV engine and load UAV with
supplies supplies <concurrent activities><concurrent activities>– Take offTake off– Communicate take off status with baseCommunicate take off status with base– Fly to refugee region by choosing Path A or Fly to refugee region by choosing Path A or
Path B Path B <decision between two activities><decision between two activities>– Fly to specific location and drop supplies Fly to specific location and drop supplies
<concurrent activities><concurrent activities>– Return to baseReturn to base
Temporal Plan NetworkTemporal Plan Network
Drop_Off_Supplies:Drop_Off_Supplies:•Fly to refugee region by choosing Fly to refugee region by choosing Path A or Path B Path A or Path B •Fly to specific location and drop Fly to specific location and drop suppliessupplies
3
1
4 5
8
9 10
13
2
6 7 11 12
Drop_Off_Supplies [450,540]
Path B
[405, 486]
[405, 486]
Path APath to Specific Location
Drop Supplies
[0, 54]
[0, 2]
[0,0 ]
[0, 0]
[0, 0]
[0, 0]
[0, 0]
[0, 0]
[0, 0]
[0, 0]
[0, 0] [0, 0]
Decision Node
Temporal Constraints[ lower_bound, upper_bound ]
Activity Start Activity End
OutlineOutline
Motivation (“Send Aid” scenario)Motivation (“Send Aid” scenario) ObjectivesObjectives Path Planning:RRT Connect Path PlannerPath Planning:RRT Connect Path Planner DemoDemo Temporal Plan Network (TPN)Temporal Plan Network (TPN) Conversion from RRT to TPNConversion from RRT to TPN ConclusionsConclusions
Conversion of RRT to Conversion of RRT to TPNTPN
Goal: encode the RRT in the TPNGoal: encode the RRT in the TPN Reason: Reason:
– A TPN planner exists that outputs a plan for A TPN planner exists that outputs a plan for activities that do not involve physical activities that do not involve physical movementmovement
– Use TPN planner to plan activities that involve Use TPN planner to plan activities that involve both non-physical and physical movementboth non-physical and physical movement
83
4 5
6 7
Path B
[405, 486]
[405, 486]
[0, 0]
[0, 0]
[0, 0]
[0, 0]
Path A
83
4 5
6 7
Path B
[405, 486]
[405, 486][0, 0]
[0, 0]
[0, 0]
[0, 0]
Path A
RRT to TPNRRT to TPN
RRT After RRT-Connect Planner
A
E
B
C
D
1. Create two TPN nodes to denote the start and end of the RRT activity2. If an RRT node n has exactly one child then create a n.start and n.end TPN
node3. Else if RRT node n has more than one
child then -go to step 2.
-create a TPN decision node -for each child of n
go to step 2.
C.start
C.end
E.start
E.end
A.start
A.end
B.start
B.end
D.start
D.endResult: RRT becomes a TPN with
“dead end” branches
OutlineOutline
Motivation (“Send Aid” scenario)Motivation (“Send Aid” scenario) ObjectivesObjectives Path Planning:RRT Connect Path PlannerPath Planning:RRT Connect Path Planner DemoDemo Temporal Plan Network (TPN)Temporal Plan Network (TPN) Conversion from RRT to TPNConversion from RRT to TPN ConclusionsConclusions
ConclusionsConclusions
RRT Connect Path PlannerRRT Connect Path Planner– Adapts well to problems in non-cluttered Adapts well to problems in non-cluttered
environmentsenvironments– Greedy heuristic enables rapid convergence Greedy heuristic enables rapid convergence
to solutionto solution– Max_iterations and extension distance epsilon Max_iterations and extension distance epsilon
RRT to TPN RRT to TPN – exploits the backtracking of the plannerexploits the backtracking of the planner– TPN size >= 2* size(RRT) = O(RRT)TPN size >= 2* size(RRT) = O(RRT)– Can express both RRTs and activities in TPNCan express both RRTs and activities in TPN
Future WorkFuture Work
Current research enables multiple Current research enables multiple agent representation in TPNagent representation in TPN– Rewrite the scenario to include Rewrite the scenario to include
multiple vehiclesmultiple vehicles– Cooperative vehiclesCooperative vehicles
Associate a cost with each edge Associate a cost with each edge to find optimal planto find optimal plan
RRT Connect Drawback RRT Connect Drawback DemoDemo