Implementation of RRT based Path planner and conversion into Temporal Plan Network By: Aisha Walcott...

Post on 20-Dec-2015

215 views 3 download

Tags:

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