86
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

Model-based Reactive Programming of Cooperative Vehicles for Mars Exploration

  • Upload
    elysia

  • View
    25

  • Download
    4

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: Model-based Reactive Programming of Cooperative Vehicles  for Mars Exploration

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

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

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

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

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

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

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

Example Enroute Activity:

RendezvousRendezvous Rescue AreaRescue Area

Corridor 2

Corridor 1

Enroute

Page 9: Model-based Reactive Programming of Cooperative Vehicles  for Mars Exploration

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

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

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

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

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

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

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

• 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

4 5

xinit

Path 1

xgoalXobs

RRT: Example

Page 76: Model-based Reactive Programming of Cooperative Vehicles  for Mars Exploration

4 5

xinit

Path 1

xgoalXobs

RRT: Example

Page 77: Model-based Reactive Programming of Cooperative Vehicles  for Mars Exploration

4 5

xinit

Path 1

xgoalXobs

RRT: Example

Page 78: Model-based Reactive Programming of Cooperative Vehicles  for Mars Exploration

4 5

xinit

Path 1

xgoalXobs

RRT: Example

Page 79: Model-based Reactive Programming of Cooperative Vehicles  for Mars Exploration

4 5

xinit

Path 1

xgoalXobs

RRT: Example

Page 80: Model-based Reactive Programming of Cooperative Vehicles  for Mars Exploration

4 5

xinit

Path 1

xgoalXobs

RRT: Example

Page 81: Model-based Reactive Programming of Cooperative Vehicles  for Mars Exploration

4 5

xinit

Path 1

xgoalXobs

Common Node

RRT: Example

Page 82: Model-based Reactive Programming of Cooperative Vehicles  for Mars Exploration

4 5

xinit

Path 1

xgoalXobs

RRT: Example

Page 83: Model-based Reactive Programming of Cooperative Vehicles  for Mars Exploration

4 5

xinit

Path 1

xgoalXobs

RRT: Example

Page 84: Model-based Reactive Programming of Cooperative Vehicles  for Mars Exploration

4 5

xinit

Path 1

xgoalXobs

RRT: Example

Page 85: Model-based Reactive Programming of Cooperative Vehicles  for Mars Exploration

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

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.