1
play

1 MIT Cooperative Vehicle Testbed Outline Distributed Satellites: - PDF document

Outline Executing Reactive, Model-based Cooperative Vehicle Missions Programs through Graph-based Model-based Programming Temporal Planning Reactive Model-based Programming Language (RMPL) Temporal Plan Networks (TPN) Phil


  1. Outline Executing Reactive, Model-based • Cooperative Vehicle Missions Programs through Graph-based • Model-based Programming Temporal Planning • Reactive Model-based Programming Language (RMPL) • Temporal Plan Networks (TPN) Phil Kim and Brian C. Williams, Artificial Intelligence and Space Systems Labs • Activity Planning (Kirk) Massachusetts Institute of Technology • Optional: Hybrid Activity/Path Planning Mark Abramson Draper Labs MIT Cooperative Vehicle Testbed Cooperative Mars Exploration How do we coordinate heterogeneous teams of orbiters, • Distributed Satellites: Spheres, Spheres, TechSat21 rovers and air vehicles to perform globally optimal science exploration? MIT Cooperative Vehicle Testbed MIT Cooperative Vehicle Testbed • Distributed Satellites: Spheres, Spheres, TechSat21 • Distributed Satellites: Spheres, Spheres, TechSat21 • Aerobots: Indoor blimps • Aerobots: Indoor blimps • Sensing: distributed, wireless sensor net 1

  2. MIT Cooperative Vehicle Testbed Outline • Distributed Satellites: Spheres, Spheres, TechSat21 • Cooperative Vehicle Missions • Aerobots: Indoor blimps • Sensing: distributed, wireless sensor net • Model-based Programming • Rovers: 1 ATRV Sr., 3 ATRV Jr • Reactive Model-based Programming Language (RMPL) • Temporal Plan Networks (TPN) • Activity Planning (Kirk) • Optional: Hybrid Activity/Path Planning Model-based Programs Why Model-based Programming? Interact Directly with State Leading Diagnosis: Embedded programs interact with Model-based programs plant sensors/actuators: interact with plant state: •Legs deployed during descent. • Read sensors • Noise spike on leg sensors • Read state latched by monitors. • Set actuators • Write state • Laser altimeter registers 50ft. • Begins polling leg monitors to Model-based Embedded Program Embedded Program determine touch down. • Latched noise spike read as Obs Cntrl touchdown. • Engine shutdown at ~50ft. S S Mars 98: Plant Plant • Climate Orbiter • Mars Polar Lander Create Embedded Languages Programmer must map between Model-based executive maps That Reason from state and sensors/actuators. between sensors, actuators to states. Commonsense Models Reactive Model-based Programs Cooperative Model-based Programming Interact Directly with State Valve Valve X 0 X 1 X N-1 X N Model-based • How do we specify the allowed behaviors Stuck Stuck 0.01 0.01 Open Open S T open open Embedded Programs 0. 01 0. 01 of cooperative robotic networks? (RMPL) Open Open Close Close 0. 01 0. 01 Stuck Stuck S Valve fails Reactive Model-based • How do we command cooperative Closed Closed closed closed 0.01 0.01 stuck closed Programming Language: inflow = outflow = 0 networks? (this talk) � State assertion Plant Model-based � State query Model Executive � Conditional Execution • How do we monitor cooperative networks? Thrust � Preemption (next talk) � Iteration = On Obs Cntrl � Concurrent execution State estimates State goals S Fire backup s ˆ engine Plant Mode Reactive Estimation Planning X 0 X 1 X N-1 X N S T 2

  3. Example Scenario Outline TWO ONE • Cooperative Vehicle Missions HOME HOME Enroute COLLECTION POINT COLLECTION POINT RENDEZVOUS RENDEZVOUS Landing Site: ABC • Model-based Programming Diverge • Reactive Model-based Programming Landing Site: XYZ SCIENCE AREA 1 SCIENCE AREA 1’ ’ SCIENCE AREA 1 SCIENCE AREA 1 Language (RMPL) • Temporal Plan Networks (TPN) SCIENCE AREA 3 Properties: SCIENCE AREA 3 • Activity Planning (Kirk) � Teams are focused to a hierarchy complex strategies. • Optional: Hybrid Activity/Path Planning � Maneuvers are temporally coordinated. � Novel events occur during critical phases. � Quick response draws upon a library of contingencies. Create Language with planner-like capabilities Example Enroute Activity: Reactive Model-based Programming Enroute Idea: Describe team behaviors by starting with a rich concurrent, embedded programming language (RMPL,TCC, Esterel): Corridor 2 c • Sensing/actuation activities � If c next A • Conditional execution � Unless c next A • Preemption � A, B • Full concurrency � Rendezvous Rendezvous Rescue Area Rescue Area Always A • Iteration � Corridor 1 � Add temporal constraints: • Timing � A [l,u] � Add choice (non-deterministic or decision-theoretic): Choose {A, B} • Contingency � RMPL for Group-Enroute RMPL for Group-Enroute Activities: Group-Enroute()[l,u] = { Group-Enroute()[l,u] = { choose { choose { do { do { Group-Traverse- Group-Traverse- Path(PATH1_1,PATH1_2,PATH1_3,RE_POS)[l*90%,u*90%]; Path(PATH1_1,PATH1_2,PATH1_3,RE_POS) [l*90%,u*90%]; } maintaining PATH1_OK, } maintaining PATH1_OK, do { do { Group-Traverse- Group-Traverse- Path(PATH2_1,PATH2_2,PATH2_3,RE_POS)[l*90%,u*90%]; Path(PATH2_1,PATH2_2,PATH2_3,RE_POS)[ l*90%,u*90%]; } maintaining PATH2_OK } maintaining PATH2_OK }; }; { { Group-Transmit(OPS,ARRIVED)[0,2], Group-Transmit(OPS,ARRIVED) [0,2], do { do { Group-Wait(HOLD1,HOLD2)[0,u*10%] Group-Wait(HOLD1,HOLD2) [0,u*10%] } watching PROCEED } watching PROCEED } } } } 3

  4. RMPL for Group-Enroute RMPL for Group-Enroute Conditionality Sequentiality: Group-Enroute()[l,u] = { Group-Enroute()[l,u] = { and Preemption: Concurrency: choose { choose { do { do { Group-Traverse- Group-Traverse- Path(PATH1_1,PATH1_2,PATH1_3,RE_POS)[l*90%,u*90%]; Path(PATH1_1,PATH1_2,PATH1_3,RE_POS)[l*90%,u*90%]; } maintaining PATH1_OK, } maintaining PATH1_OK, do { do { Group-Traverse- Group-Traverse- Path(PATH2_1,PATH2_2,PATH2_3,RE_POS)[l*90%,u*90%]; Path(PATH2_1,PATH2_2,PATH2_3,RE_POS)[l*90%,u*90%]; } maintaining PATH2_OK } maintaining PATH2_OK }; } ; { { Group-Transmit(OPS,ARRIVED)[0,2], Group-Transmit(OPS,ARRIVED)[0,2] , do { do { Group-Wait(HOLD1,HOLD2)[0,u*10%] Group-Wait(HOLD1,HOLD2)[0,u*10%] } watching PROCEED } watching PROCEED } } } } RMPL for Group-Enroute RMPL for Group-Enroute Temporal Constraints: Non-deterministic Group-Enroute() [l,u] = { Group-Enroute()[l,u] = { choice: choose { choose { do { do { Group-Fly- Group-Traverse- Path(PATH1_1,PATH1_2,PATH1_3,RE_POS) [l*90%,u*90%] ; Path(PATH1_1,PATH1_2,PATH1_3,RE_POS)[l*90%,u*90%]; } maintaining PATH1_OK, } maintaining PATH1_OK, do { do { Group-Fly- Group-Traverse- Path(PATH2_1,PATH2_2,PATH2_3,RE_POS) [l*90%,u*90%] ; Path(PATH2_1,PATH2_2,PATH2_3,RE_POS)[l*90%,u*90%]; } maintaining PATH2_OK } maintaining PATH2_OK } ; }; { { Group-Transmit(OPS,ARRIVED) [0,2] , Group-Transmit(OPS,ARRIVED)[0,2], do { do { Group-Wait(HOLD1,HOLD2) [0,u*10%] Group-Wait(HOLD1,HOLD2)[0,u*10%] } watching PROCEED } watching PROCEED } } } } RMPL Interpreter � Dynamically selects among alternate executions, satisfies open conditions and checks schedulability, • How do we provide fast, temporally flexible � Selects execution times, monitors outcomes and plans planning? contingencies. • Graph-based planners support fast planning. RMPL Program • … but plans are totally order. • Kirk • Desire flexible plans based on simple temporal • Kirk Reactive Temporal Planner networks (e.g., HSTS, Muscetola et al.). • • Idea Idea Plan Runner (Hidden) States How do we create temporally flexible plan graphs? • • Titan Titan Model of • Generalize simple temporal networks • • monitor activities monitor activities Networked Mode Estimation Reactive Planning (temporal plan network TPN). • • diagnose plan failures diagnose plan failures Embedded Vehicles Observables Commands 4

  5. Outline Kirk: Reactive Temporal Planner Reactive Model-based Programming Language • Cooperative Vehicle Missions • Model-based Programming RMPL Compiler • Reactive Model-based Programming Represents all � Language (RMPL) Temporal Plan Network (TPN) with STN RMPL executions • Temporal Plan Networks (TPN) Reactive Temporal Planner Selects schedulable • Activity Planning (Kirk) � execution threads of TPN • Optional: Hybrid Activity/Path Planning Concurrent Plan Plan = Execution � threads related by Simple Temporal Net Enroute Activity: Enroute Activity: • Start with flexible plan representation • Start with flexible plan representation Enroute Enroute [450,540] 1 2 1 2 [0, 0] [0, 0] Group Fly Traverse Group Wait Group Traverse Group Wait [405, 486] [0, 54] [0, 0] [0, 0] [0, 0] 4 5 9 10 4 5 Science Target Science Target 8 13 8 [0, 0] Group Transmit Group Transmit [0, ] [0, 2] 11 12 Activity (or sub-activity) Activity (or sub-activity) Duration (temporal constraint) Enroute Activity: Enroute Activity: •TPN representation of Enroute activity and sub-activities • Add conditional nodes Enroute Enroute [450,540] 1 2 1 2 [0, 0] [0, 0] Group Fly Path Group Wait Group Traverse Group Wait [405, 486] [0, 54] 4 5 9 10 4 5 [0, 0] [0, 0] [0, 0] [0, 0] Science Target Science Target 3 8 13 3 8 [0, 0] Group Fly Path Group Transmit [0, 0] Group Traverse Group Transmit [0, ] [0, 0] [405, 486] [0, 2] 6 7 11 12 Activity (or sub-activity) Activity (or sub-activity) Duration (temporal constraint) Conditional node 5

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend