Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration
description
Transcript of Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration
![Page 1: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/1.jpg)
Model-based Reactive Programming of Cooperative Vehicles
for Mars Exploration
Brian C. Williams, Phil Kim, Michael Hofbaur, Jon How, John Kennell, Jason Loy,
Rob Ragno, John Stedl and Aisha Walcott
Artificial Intelligence and Space Systems Labs
Massachusetts Institute of Technology
![Page 2: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/2.jpg)
Cooperative Mars Exploration
How do we coordinate heterogeneous teams of orbiters, rovers and air vehicles to perform globally optimal science exploration?
Cooperative Mars Testbed:
• 1 ATRV S.• 3 ATRV Jr • monster trucks• indoor blimps• Spheres formation flying vehicles
![Page 3: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/3.jpg)
Cooperative Vehicles
High-level vehicle coordination(MERS)
Fast Agile Maneuvering(frazzoli, dahleh, feron)
Support: ONR & DARPA
![Page 4: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/4.jpg)
Model-based Cooperative AutonomyPerform distributed, planning and execution by reasoning from
models of networked vehicles, their interactions and their environment:
• Program using a rich embedded language to describe concurrent team strategies.
• Plan and schedule coordinated activities of heterogenous vehicles to achieve science goals.– Distributed optimal planning– Combine activity planning, with global/ local kino-dynamic path
planning.
• Execute and monitor coordinated plans for individual subsystems.
• Isolate and diagnose individuals that lead to team failure. • Compensate for failures within the team through
reconfiguration, repair or replanning.
![Page 5: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/5.jpg)
Outline
• The Reactive Model-based Programming Language (RMPL)
• Temporal Plan Networks (TPN)
• Activity Planning (Kirk)
• Path Planning
![Page 6: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/6.jpg)
HOMEHOME
TWO
EnrouteCOLLECTION POINTCOLLECTION POINTRENDEZVOUSRENDEZVOUS
Diverge
SCIENCE AREA 1’SCIENCE AREA 1’
SCIENCE AREA 3SCIENCE AREA 3
Landing Site: ABC
Landing Site: XYZ
Properties: Team guided by a hierarchy of complex
strategies. Maneuvers are coordinated and time constrained. Novel events occur during critical phases. Quick response draws upon a library of
contingencies.
Example ScenarioONE
SCIENCE AREA 1SCIENCE AREA 1
![Page 7: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/7.jpg)
Reactive Model-based Programming
Idea: Describe team behaviors by extending a rich reactive programming language (e.g., Esterel)
c If c next A Unless c next A A, B Always A
• Sensing/actuation activities• Conditional execution• Preemption• Full concurrency • Iteration
A [l,u] Choose {A, B}
• Timing• Contingency
Add temporal constraints and choice.
RMPL builds upon ideas fromTCC (gupta et al.)
![Page 8: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/8.jpg)
Example Enroute Activity:
RendezvousRendezvous Rescue AreaRescue Area
Corridor 2
Corridor 1
Enroute
![Page 9: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/9.jpg)
RMPL for Group-Enroute
Group-Enroute()[l,u] = { choose { do { Group-Traverse-Path(PATH1_1,PATH1_2,PATH1_3,RE_POS)
[l*90%,u*90%]; } maintaining PATH1_OK, do { Group-Traverse-Path(PATH2_1,PATH2_2,PATH2_3,RE_POS)
[l*90%,u*90%]; } maintaining PATH2_OK }; { Group-Transmit(OPS,ARRIVED)[0,2], do { Group-Wait(HOLD1,HOLD2)[0,u*10%] } watching PROCEED }}
![Page 10: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/10.jpg)
RMPL for Group-Enroute
Group-Enroute()[l,u] = { choose { do { Group-Traverse-Path(PATH1_1,PATH1_2,PATH1_3,RE_POS)
[l*90%,u*90%]; } maintaining PATH1_OK, do { Group-Traverse-Path(PATH2_1,PATH2_2,PATH2_3,RE_POS)
[l*90%,u*90%]; } maintaining PATH2_OK }; { Group-Transmit(OPS,ARRIVED)[0,2], do { Group-Wait(HOLD1,HOLD2)[0,u*10%] } watching PROCEED }}
Activities:
![Page 11: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/11.jpg)
RMPL for Group-Enroute
Group-Enroute()[l,u] = { choose { do { Group-Traverse-Path(PATH1_1,PATH1_2,PATH1_3,RE_POS)
[l*90%,u*90%]; } maintaining PATH1_OK, do { Group-Traverse-Path(PATH2_1,PATH2_2,PATH2_3,RE_POS)
[l*90%,u*90%]; } maintaining PATH2_OK }; { Group-Transmit(OPS,ARRIVED)[0,2], do { Group-Wait(HOLD1,HOLD2)[0,u*10%] } watching PROCEED }}
Conditionalityand Preemption:
![Page 12: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/12.jpg)
RMPL for Group-Enroute
Group-Enroute()[l,u] = { choose { do { Group-Traverse-Path(PATH1_1,PATH1_2,PATH1_3,RE_POS)
[l*90%,u*90%]; } maintaining PATH1_OK, do { Group-Traverse-Path(PATH2_1,PATH2_2,PATH2_3,RE_POS)
[l*90%,u*90%]; } maintaining PATH2_OK } ; { Group-Transmit(OPS,ARRIVED)[0,2], do { Group-Wait(HOLD1,HOLD2)[0,u*10%] } watching PROCEED }}
Concurrency:
![Page 13: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/13.jpg)
RMPL for Group-Enroute
Group-Enroute()[l,u] = { choose { do { Group-Fly-Path(PATH1_1,PATH1_2,PATH1_3,RE_POS)
[l*90%,u*90%]; } maintaining PATH1_OK, do { Group-Fly-Path(PATH2_1,PATH2_2,PATH2_3,RE_POS)
[l*90%,u*90%]; } maintaining PATH2_OK }; { Group-Transmit(OPS,ARRIVED)[0,2], do { Group-Wait(HOLD1,HOLD2)[0,u*10%] } watching PROCEED }}
Temporal Constraints:
![Page 14: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/14.jpg)
RMPL for Group-Enroute
Group-Enroute()[l,u] = { choose { do { Group-Traverse-Path(PATH1_1,PATH1_2,PATH1_3,RE_POS)
[l*90%,u*90%]; } maintaining PATH1_OK, do { Group-Traverse-Path(PATH2_1,PATH2_2,PATH2_3,RE_POS)
[l*90%,u*90%]; } maintaining PATH2_OK }; { Group-Transmit(OPS,ARRIVED)[0,2], do { Group-Wait(HOLD1,HOLD2)[0,u*10%] } watching PROCEED }}
Decision TheoreticChoice:
![Page 15: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/15.jpg)
RMPL Interpreter
• select proceduresselect procedures• order actionsorder actions• allocate resourcesallocate resources
dynamically selects consistent alternatives, schedules events, monitors outcomes and plans contingencies.
Reactive Temporal Planner
Plan Runner
(Hidden) States
RMPL Program
CommandsObservables
Diagnosis &Mode Estimation
Reconfiguration& Repair
Model of NetworkedEmbedded
Vehicles
• monitor activitiesmonitor activities• diagnose plan diagnose plan
failuresfailures
• select execution select execution timestimes
![Page 16: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/16.jpg)
• How do we provide fast, temporally flexible planning?
• Graph-based planners support efficient planning … but plans are totally order
How do we create temporally flexible plan graphs?
• Generalize simple temporal networks (temporal plan network TPN).
![Page 17: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/17.jpg)
Kirk: Reactive Planner
Reactive Temporal Planner
RMPL Compiler
Temporal Plan Network (TPN)
Concurrent Plan
Selects schedulable trajectories of TPN
Expands to RRT to avoid obstacles
Generalizes Simple Temporal Networksto Choice
c If c next A Unless c next A A, B Always A
A [l,u] Choose {A, A’…}
Reactive Model-based Programming Language
Concurrent execution threads related by Simple Temporal Net
RRT-based Path Planner
![Page 18: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/18.jpg)
Outline
• The Reactive Model-based Programming Language (RMPL)
• Temporal Plan Networks (TPN)
• Activity Planning (Kirk)
• Path Planning
![Page 19: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/19.jpg)
Enroute Activity:
1
4 5
8
9 10
13
2
11 12
Enroute
Group Fly Path Group Wait
Group Transmit
Activity (or sub-activity)
Science Target
• Start with flexible plan representation
![Page 20: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/20.jpg)
Enroute Activity:
1
4 5
8
2Enroute [450,540]
[405, 486]
Group Traverse Group Wait
Group Transmit
[0, 54]
[0, 2]
Activity (or sub-activity)
Duration (temporal constraint)
[0, ]
[0, 0][0, 0]
[0, 0]
[0, 0]
[0, 0] [0, 0]
Science Target
• Start with flexible plan representation
![Page 21: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/21.jpg)
Enroute Activity:
3
1
4 5
8
9 10
13
2
6 7 11 12
Enroute
Group Fly Path
Group Fly Path Group Wait
Group Transmit
Activity (or sub-activity)
Science Target
•TPN representation of Enroute activity and sub-activities
![Page 22: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/22.jpg)
Enroute Activity:
3
1
4 5
8
2Enroute [450,540]
Group Traverse
[405, 486]
[405, 486]
Group Traverse Group Wait
Group Transmit
[0, 54]
[0, 2]
Activity (or sub-activity)
Duration (temporal constraint)
[0, ]
[0, 0]
[0, 0]
[0, 0]
[0, 0]
[0, 0]
[0, 0]
[0, 0]
[0, 0] [0, 0]
Science Target
• Add conditional nodes
Conditional node
![Page 23: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/23.jpg)
Enroute Activity:
3
1
4 5
8
9 10
13
2
6 7 11 12
Enroute [450,540]
Group Traverse
[405, 486]
[405, 486]
Group Traverse Group Wait
Group Transmit
[0, 54]
[0, 2]
Activity (or sub-activity)
Duration (temporal constraint)
[0, ]
[0, 0]
[0, 0]
[0, 0]
[0, 0]
[0, 0]
[0, 0]
[0, 0]
[0, 0] [0, 0]
Ask( PATH1 = OK)
Ask( PATH2 = OK)
Ask( EXPLORE = OK)Science Target
•Add temporally extended, symbolic constraints
Symbolic constraint (Ask,Tell)
Conditional node
![Page 24: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/24.jpg)
Outline
• The Reactive Model-based Programming Language (RMPL)
• Temporal Plan Networks (TPN)
• Activity Planning (Kirk)
• Path Planning
![Page 25: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/25.jpg)
Planning Group-Enroute
3
6
4 5[405,486]
Ask(PATH1=OK)
1 2
7
Ask(PATH2=OK)
8
[405,486]
[450,540]
Ask(PROCEED)
11
9 10
[0,54]
12
13
[0,2]
[0,]
To Plan:• Instantiate Group-Enroute
Group-Enroute
Group Traverse
Group Traverse Group Wait
Group Transmit
Science Target
![Page 26: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/26.jpg)
Planning Group-Enroute
3
6
4 5[405,486]
Ask(PATH1=OK)
1 2
7
Ask(PATH2=OK)
8
[405,486]
[450,540]
Ask(PROCEED)
11
9 10
[0,54]
12
13
[0,2]
[0,]
[0,] [0,]
14 15
Tell(PATH1=OK)
[450,450]16 17
Tell(PROCEED)
[200,200]
s e[500,800]
[10,10] [0,]
To Plan:• Instantiate Group-Enroute• Add External Constraints
Group-Enroute
Group Traverse
Group Traverse Group Wait
Group Transmit
Science Target
![Page 27: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/27.jpg)
Generates Schedulable Plan
3
6
4 5[405,486]
Ask(PATH1=OK)
1 2
7
Ask(PATH2=OK)
8
[405,486]
[450,540]
Ask(PROCEED)
11
9 10[0,54]
12
13
[0,2]
[0,]
14 15
Tell(PATH1=OK)
[450,450]16 17
Tell(PROCEED)
[200,200]
s e[500,800]
[10,10] [0,]
[0,] [0,]
Group-Enroute
Group Traverse
Group Traverse Group Wait
Group Transmit
Science Target
Trace optimal consistent trajectories• Check Schedulability • Satisfy and Protect Asks
To Plan:• Instantiate Group-Enroute• Add External Constraints
![Page 28: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/28.jpg)
Planning Example
1 2
3 4 5 6
7 8 9
10 11 12
13 14
• Find paths from start-node to end-node
Start End
15 16 17 18
![Page 29: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/29.jpg)
Planning Example
1 2
3 4 5 6
7 8 9
10 11 12
13 14
• Not a decision-node: Follow all outarcs
Start End
15 16 17 18
![Page 30: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/30.jpg)
Planning Example
1 2
3 4 5 6
7 8 9
10 11 12
13 14
• Not a decision-node: Follow all outarcs
Start End
15 16 17 18
![Page 31: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/31.jpg)
Planning Example
1 2
3 4 5 6
7 8 9
10 11 12
13 14
• Not a decision-node: Follow all outarcs
Start End
15 16 17 18
![Page 32: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/32.jpg)
Planning Example
1 2
3 4 5 6
7 8 9
10 11 12
13 14
• Decision-node: Select a single outarc
Start End
15 16 17 18
![Page 33: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/33.jpg)
Planning Example
1 2
3 4 5 6
7 8 9
10 11 12
13 14
• Not a decision-node: Follow all outarcs
Start End
15 16 17 18
![Page 34: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/34.jpg)
Planning Example
1 2
3 4 5 6
7 8 9
10 11 12
13 14
• Continue
Start End
15 16 17 18
![Page 35: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/35.jpg)
Planning Example
1 2
3 4 5 6
7 8 9
10 11 12
13 14
• Not a decision-node: Follow all outarcs
Start End
15 16 17 18
![Page 36: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/36.jpg)
Planning Example
1 2
3 4 5 6
7 8 9
10 11 12
13 14
• Continue
Start End
15 16 17 18
![Page 37: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/37.jpg)
Planning Example
1 2
3 4 5 6
7 8 9
10 11 12
13 14
Start End
15 16 17 18
![Page 38: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/38.jpg)
Temporal Constraint Consistency
1 2
3 4 5 6
7 8 9
10 11 12
13 14
• When a path induces a cycle, check for negative cycle in the STN distance graph
15 16 17 18
[18,20]
[0,0]
[0,0]
[0,0] [0,0]
[0,0]
[0,0][0,0]
[0,0]
[0,0]
[0,]
[2,3]
[15,16]
[4,6]
[5,5][3,8]
![Page 39: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/39.jpg)
Temporal Constraint Consistency
1 2
3 4 5 6
7 8 9
10 11 12
13 14
• Example: Inconsistent
15 16 17 18
[18,20]
[0,0]
[0,0]
[0,0] [0,0]
[0,0]
[0,0][0,0]
[0,0]
[0,0]
[0,]
[2,3]
[15,16]
[4,6]
[5,5][3,8]
![Page 40: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/40.jpg)
Temporal Constraint Consistency
1 2
3 4 5 6
7 8 9
10 11 12
13 14
• Backtrack
15 16 17 18
[18,20]
[0,0]
[0,0]
[0,0] [0,0]
[0,0]
[0,0][0,0]
[0,0]
[0,0]
[0,]
[2,3]
[15,16]
[4,6]
[5,5][3,8]
[0,0]
[0,0] [12,13]
[0,0]
![Page 41: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/41.jpg)
Temporal Constraint Consistency
1 2
3 4 5 6
7 8 9
10 11 12
13 14
• Complete paths
15 16 17 18
[18,20]
[0,0]
[0,0]
[0,0] [0,0]
[0,0]
[0,0][0,0]
[0,0]
[0,0]
[0,]
[2,3]
[15,16]
[4,6]
[5,5][3,8]
[0,0]
[0,0] [12,13]
[0,0]
![Page 42: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/42.jpg)
Symbolic Constraint Consistency
• Link and protect asks
• Avoid inconsistent telk
5
7 8 9
10 11 12
6{4,6}
{4,6}
{4,6} {6,9}
{5,8} {7,11}
{7,10}
{8,11}
ask(c)
tell(c)
![Page 43: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/43.jpg)
Symbolic Constraint Consistency
• Example: Inconsistent
5
7 8 9
10 11 12
6{4,6}
{4,6}
{4,6} {6,9}
{5,8} {7,11}
{7,10}
{8,11}
ask(c)
tell(c)
![Page 44: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/44.jpg)
Symbolic Constraint Consistency
• Example: Impose ordering
5
7 8 9
10 11 12
6{4,6}
{4,6}
{4,6} {7,9}
{5,8} {7,9}
{7,10}
{8,11}
ask(c)
tell(c)
[0,0]
![Page 45: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/45.jpg)
Outline
• The Reactive Model-based Programming Language (RMPL)
• Temporal Plan Networks (TPN)
• Activity Planning (Kirk)
• Distributed Optimal Planning
• Path Planning
![Page 46: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/46.jpg)
3
1
4 5
8
9 10
13
2
6 7 11 12
[450,540]
•Want Distributed, Optimal Planning extend shortest path auction algorithm by Bertsekas
Enroute Activity:
![Page 47: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/47.jpg)
3
1
4 5
8
9 10
13
2
6 7 11 12
425
440
30
1
0
0
0
0 0
0
0
0
0
[450,540]
0
•Edge weights represent cost of activity execution
Enroute Activity:
![Page 48: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/48.jpg)
3
1
4 5
8
9 10
13
2
6 7 11 12
425
440
30
1
0
0
0
0 0
0
0
0
0
[450,540]
price = 0
price = 0
price = 0
price = 0
price = 0
price = 0
price = 0 price = 0
price = 0 price = 0
price = 0
price = 0
Path P = 1
0price = 0
Start Node : 1End Node: 2
•Demonstration of extended auction algorithm
Enroute Activity:
![Page 49: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/49.jpg)
3
1
4 5
8
9 10
13
2
6 7 11 12
425
440
30
1
0
0
0
0 0
0
0
0
0
[450,540]
Extend Path
price = 0
price = 0
price = 0
price = 0
price = 0
price = 0
price = 0
Path P = 1 3
price = 0
price = 0 price = 0
price = 0
price = 0
0price = 0
Enroute Activity:
•Extended auction algorithm
![Page 50: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/50.jpg)
3
1
4 5
8
9 10
13
2
6 7 11 12
425
440
30
1
0
0
0
0 0
0
0
0
0
[450,540]
price = 0
price = 0
price = 0
price = 0
price = 0
price = 0
price = 0
Path P = 1 3 6
Extend Path
price = 0
price = 0 price = 0
price = 0
price = 0
0price = 0
Enroute Activity:
•Extended auction algorithm
![Page 51: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/51.jpg)
3
1
4 5
8
9 10
13
2
6 7 11 12
425
440
30
1
0
0
0
0 0
0
0
0
0
[450,540]
price = 0
price = 0
price = 440
price = 0
price = 0
price = 0
price = 0
Path P = 1 3
Contract Path
price = 0
price = 0 price = 0
price = 0
price = 0
0price = 0
Enroute Activity:
•Extended auction algorithm
![Page 52: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/52.jpg)
3
1
4 5
8
9 10
13
2
6 7 11 12
425
440
30
1
0
0
0
0 0
0
0
0
0
[450,540]
price = 0
price = 0
price = 440
price = 0
price = 0
price = 0
price = 0
Path P = 1 3 4
Extend Pathprice = 0
price = 0 price = 0
price = 0
price = 0
0price = 0
Enroute Activity:
•Extended auction algorithm
![Page 53: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/53.jpg)
3
1
4 5
8
9 10
13
2
6 7 11 12
425
440
30
1
0
0
0
0 0
0
0
0
0
[450,540]
price = 0
price = 425
price = 440
price = 0
price = 0
price = 0
price = 0
Path P = 1 3
Contract Pathprice = 0
price = 0 price = 0
price = 0
price = 0
0price = 0
Enroute Activity:
•Extended auction algorithm
![Page 54: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/54.jpg)
3
1
4 5
8
9 10
13
2
6 7 11 12
425
440
30
1
0
0
0 0
0 0
0
0
0
0
[450,540]
Contract Path
price = 0
price = 425
price = 440
price = 0
price = 0
price = 0
price = 0
Path P = 1
price = 0
price = 0 price = 0
price = 0
price = 0price = 425
Enroute Activity:
•Extended auction algorithm
![Page 55: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/55.jpg)
3
1
4 5
8
9 10
13
2
6 7 11 12
425
440
30
1
0
0
0 0
0 0
0
0
0
0
[450,540]
price = 425
price = 425
price = 440
price = 0
price = 0
price = 0
price = 0
Path P = 1
price = 0
price = 0 price = 0
price = 0
price = 0price = 425
Enroute Activity:
•Extended auction algorithm
![Page 56: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/56.jpg)
3
1
4 5
8
9 10
13
2
6 7 11 12
425
440
30
1
0
0
0
0 0
0
0
0
0
[450,540]
Extend Path
price = 425
price = 425
price = 440
price = 0
price = 0
price = 0
price = 0
Path P = 1 3
price = 0
price = 0 price = 0
price = 0
price = 0
0price = 425
•Extended auction algorithm
Enroute Activity:
![Page 57: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/57.jpg)
3
1
4 5
8
9 10
13
2
6 7 11 12
425
440
30
1
0
0
0
0 0
0
0
0
0
[450,540]
price = 425
price = 425
price = 440
price = 0
price = 0
price = 0
price = 0
Path P = 1 3 4
price = 0
price = 0 price = 0
price = 0
price = 0
0price = 425
Extend Path
Enroute Activity:
•Extended auction algorithm
![Page 58: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/58.jpg)
3
1
4 5
8
9 10
13
2
6 7 11 12
425
440
30
1
0
0
0
0 0
0
0
0
0
[450,540]
price = 425
price = 425
price = 440
price = 0
price = 0
price = 0
price = 0
Path P = 1 3 4 5
price = 0
price = 0 price = 0
price = 0
price = 0
0price = 425
Extend Path
Enroute Activity:
•Extended auction algorithm
![Page 59: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/59.jpg)
3
1
4 5
8
9 10
13
2
6 7 11 12
425
440
30
1
0
0
0
0 0
0
0
0
0
[450,540]
price = 425
price = 425
price = 440
price = 0
price = 0
price = 0
price = 0
Path P = 1 3 4 5 8
price = 0
price = 0 price = 0
price = 0
price = 0
0price = 425
Extend Path
Enroute Activity:
•Extended auction algorithm
![Page 60: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/60.jpg)
3
1
4 5
8
9 10
13
2
6 7 11 12
425
440
30
1
0
0
0
0 0
0
0
0
0
[450,540]
price = 425
price = 425
price = 440
price = 0
price = 0
price = 0
price = 0 price = 0
price = 0 price = 0
price = 0
price = 0
0price = 425
Path P = 1 3 4 5 8 AND Node
Enroute Activity:
•Extended auction algorithm
![Page 61: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/61.jpg)
3
1
4 5
8
9 10
13
2
6 7 11 12
425
440
30
1
0
0
0
0 0
0
0
0
0
[450,540]
price = 425
price = 425
price = 440
price = 0
price = 0
price = 0
price = 0 price = 0
price = 0 price = 0
price = 0
price = 0
0price = 425
Path P = 1 3 4 5 8 AND NodeRun Auction for each branch concurrently
Enroute Activity:
•Extended auction algorithm
![Page 62: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/62.jpg)
3
1
4 5
8
9 10
13
2
6 7 11 12
425
440
30
1
0
0
0
0 0
0
0
0
0
[450,540]
price = 425
price = 425
price = 440
price = 0
price = 0
price = 0
price = 0 price = 0
price = 0 price = 0
price = 0
price = 0
0price = 425
Extend Path
Path P = 1 3 4 5 8
9
11
Extend Path
Enroute Activity:
•Extended auction algorithm
![Page 63: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/63.jpg)
3
1
4 5
8
9 10
13
2
6 7 11 12
425
440
30
1
0
0
0
0 0
0
0
0
0
[450,540]
price = 425
price = 425
price = 440
price = 0
price = 0
price = 0
price = 30 price = 0
price = 1 price = 0
price = 0
price = 0
0price = 425
Path P = 1 3 4 5 8
9
11
Enroute Activity:
•Extended auction algorithm
![Page 64: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/64.jpg)
3
1
4 5
8
9 10
13
2
6 7 11 12
425
440
30
1
0
0
0
0 0
0
0
0
0
[450,540]
price = 425
price = 425
price = 440
price = 0
price = 0
price = 0
price = 30 price = 0
price = 1 price = 0
price = 0
price = 0
0price = 425
Path P = 1 3 4 5 8
9 10
11 12
Extend Path
Extend Path
Enroute Activity:
•Extended auction algorithm
![Page 65: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/65.jpg)
3
1
4 5
8
9 10
13
2
6 7 11 12
425
440
30
1
0
0
0
0 0
0
0
0
0
[450,540]
price = 425
price = 425
price = 440
price = 0
price = 0
price = 0
price = 30 price = 0
price = 1 price = 0
price = 0
price = 0
0price = 425
Path P = 1 3 4 5 8
9 10
11 12
13
Extend Path
Extend Path
Enroute Activity:
•Extended auction algorithm
![Page 66: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/66.jpg)
3
1
4 5
8
9 10
13
2
6 7 11 12
425
440
30
1
0
0
0
0 0
0
0
0
0
[450,540]
price = 425
price = 425
price = 440
price = 0
price = 0
price = 0
price = 30 price = 0
price = 1 price = 0
price = 0
price = 0
0price = 425
Path P = 1 3 4 5 8
9 10
11 12
13 2
Extend Path
Enroute Activity:
•Extended auction algorithm
![Page 67: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/67.jpg)
3
1
4 5
8
9 10
13
2
6 7 11 12
425
440
30
1
0
0
0
0 0
0
0
0
0
[450,540]
price = 425
price = 425
price = 440
price = 0
price = 0
price = 0
price = 30 price = 0
price = 1 price = 0
price = 0
price = 0
0price = 425
Path P = 1 3 4 5 8
9 10
11 12
13 2
Extend Path
Enroute Activity:
•Path generated by extended auction algorithm
Start Node : 1End Node: 2
![Page 68: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/68.jpg)
Outline
• The Reactive Model-based Programming Language (RMPL)
• Temporal Plan Networks (TPN)
• Activity Planning (Kirk)
• Randomized, Kino-dynamic Path Planning
![Page 69: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/69.jpg)
Enroute Activity:
3
1
4 5
8
9 10
13
2
6 7 11 12
Enroute [450,540]
Group Traverse
[405, 486]
[405, 486]
Group Traverse Group Wait
Group Transmit
[0, 54]
[0, 2]
[0, ]
[0, 0]
[0, 0]
[0, 0]
[0, 0]
[0, 0]
[0, 0]
[0, 0]
[0, 0] [0, 0]
Ask( PATH1 = OK)
Ask( PATH2 = OK)
Ask( PROCEED)
Traverse to Science Target
Science Target
•Closer look at Group Traverse sub-activity
![Page 70: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/70.jpg)
Group Traverse sub-activity:
3
4
8
6 7
[0, 0][0, 0]
Ask( PATH2 = OK)
Ask( PATH2 = OK)
5
•Traverse through way points to science target
Group Traverse [405, 486]
Group Traverse [405, 486]
[0, 0] [0, 0]
![Page 71: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/71.jpg)
3
4
8
6 7
[0, 0][0, 0]
5
•Traverse to science target area (with obstacles)•One obstacle between nodes 4 and 5•Two Obstacles between nodes 6 and 7
[0, 0] [0, 0]
Group Traverse sub-activity:
ObstacleObstacleObstacleObstacle
ObstacleObstacleObstacleObstacle ObstacleObstacleObstacleObstacle
![Page 72: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/72.jpg)
How do we optimally select activities and paths?
Current Research:
• Perform global path planning using Rapidly-exploring Random Trees (RRTs) (la Valle).
• Perform local kino-dynamic path planning along path segments using hybrid maneuver automata (Frazzoli, Dahleh, Feron).
• Search for globally optimal plan by unifying TPN & RRT graphs, and by searching best first using distributed auction.
![Page 73: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/73.jpg)
RRT: Example
3
4
8
6 7
[0, 0] [0, 0]
5
[0, 0] [0, 0]
Path 1
Path 2
![Page 74: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/74.jpg)
3
4
8
6 7
[0, 0] [0, 0]
5
[0, 0] [0, 0]
xinit xgoal
Assume rovers take Path 1:
Path 1
Path 2
RRT: Example
![Page 75: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/75.jpg)
4 5
xinit
Path 1
xgoalXobs
RRT: Example
![Page 76: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/76.jpg)
4 5
xinit
Path 1
xgoalXobs
RRT: Example
![Page 77: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/77.jpg)
4 5
xinit
Path 1
xgoalXobs
RRT: Example
![Page 78: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/78.jpg)
4 5
xinit
Path 1
xgoalXobs
RRT: Example
![Page 79: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/79.jpg)
4 5
xinit
Path 1
xgoalXobs
RRT: Example
![Page 80: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/80.jpg)
4 5
xinit
Path 1
xgoalXobs
RRT: Example
![Page 81: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/81.jpg)
4 5
xinit
Path 1
xgoalXobs
Common Node
RRT: Example
![Page 82: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/82.jpg)
4 5
xinit
Path 1
xgoalXobs
RRT: Example
![Page 83: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/83.jpg)
4 5
xinit
Path 1
xgoalXobs
RRT: Example
![Page 84: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/84.jpg)
4 5
xinit
Path 1
xgoalXobs
RRT: Example
![Page 85: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/85.jpg)
Current Status
• Kirk demonstrated on cooperative scenario using UAV simulation.• Development on Multi-Rover testbed currently in progress.• Distributed hybrid activity/path planning in progress.
![Page 86: Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration](https://reader035.fdocuments.net/reader035/viewer/2022070404/56813b01550346895da39e60/html5/thumbnails/86.jpg)
Model-based Cooperative Autonomy
Perform distributed, planning and execution by reasoning from models of networked vehicles, their interactions and their environment:
• Use a rich embedded language to describe complex concurrent team strategies.
• Plan and schedule coordinated activities of heterogenous vehicles to achieve science goals.– Fast planning by search temporal plan network– Find optimal plan using distributed auction algorithms– Optimal planning combines activity planning, global and
local kino-dynamic path planning.• Execute, monitor coordinated plans for individual
subsystems.• Diagnose and Repair team behaviors.