Title: Model-based Programming of Cooperative Explorers
1Model-based Programming of Cooperative Explorers
- Prof. Brian C. Williams
- Dept. of Aeronautics and Astronautics
- Artificial Intelligence Labs
- And Space Systems
- MIT
2Classical Robotics
3Deep Space Explorers and Aerial Robots
Cassini Saturn Orbital Insertion Complements JPL
Self Repairing
Agile
Human-guided stunt helicopter Complements Eric
Feron, MIT and Draper Labs
4Cooperative
Exploring Mars Hetrogenous robotics test bed
5Model-based Autonomy and Programming
- How do we program explorers that reason quickly
and extensively from commonsense models? - How do we incorporate model-based autonomy into
every day, ubiquitous computing devicesthrough
model-based programming? - How do we coordinate heterogeneous teams of
robots -- in space, air and land -- to perform
complex exploration? - How do we couple reasoning, adaptivity and
learning to create robust agents?
6Model-based Programming ofSelf Repairing
Explorers
7- Leading Diagnosis
- Legs deployed during descent.
- Noise spike on leg sensors latched by software
monitors. - Laser altimeter registers 50ft.
- Begins polling leg monitors to determine touch
down. - Latched noise spike read as touchdown.
- Engine shutdown at 50ft.
- Mars 98
- Climate Orbiter
- Mars Polar Lander
8Monitors
Command Sequence
Mission Goal Scenario
9Robustness involves controlling and sensing a
complex internal network
10Managing Interactions for Self-Repair
Programmers and operators must reason through
system-wide interactions to
- monitor
- track goals
- confirm commands
- isolate faults
- diagnose faults
- reconfigure hardware
- coordinate control policies
- repair
- avoiding failures
11Robustness Requires Novel Solutions
- Quintuple fault occurs (three shorts, tank-line
and pressure jacket burst, panel flies off). - Mattingly works in ground simulator to identify
new sequence handling severe power limitations. - Mattingly identifies novel reconfiguration,
exploiting LEM batteries for power.
courtesy of NASA
12Example of a Model-based Agent
Goals
Scripts
- Goal-directed
- First time correct
- projective
- reactive
- Commonsense models
- Heavily deductive
Remote Agent
Scripted Executive
Mission Manager
Planner/ Scheduler
Diagnosis Repair
Mission-level actions resources
component models
13Started January 1996 Launch Fall 1998
courtesy JPL
14Remote Agent Experiment
See rax.arc.nasa.gov
- May 17-18th experiment
- Generate plan for course correction and thrust
- Diagnose camera as stuck on
- Power constraints violated, abort current plan
and replan - Perform optical navigation
- Perform ion propulsion thrust
- May 21th experiment.
- Diagnose faulty device and
- Repair by issuing reset.
- Diagnose switch sensor failure.
- Determine harmless, and continue plan.
- Diagnose thruster stuck closed and
- Repair by switching to alternate method of
thrusting. - Back to back planning
15Model-based Autonomy and Programming
- How do we program explorers that reason quickly
and extensively from commonsense models? - How do we incorporate model-based autonomy into
every day, ubiquitous computing devicesthrough
model-based programming? - How do we coordinate heterogeneous teams of
robots -- in space, air and land -- to perform
complex exploration? - How do we couple reasoning, adaptivity and
learning to create robust agents?
16Model-based Programs Interact Directly with State
- Embedded programs interact withplant
sensors/actuators - Read sensors
- Set actuators
- Model-based programs interact with plant state
- Read state
- Write state
Programmer must map between state and
sensors/actuators.
Model-based executive maps between sensors,
actuators to states.
17Orbital Insertion Example
EngineA
EngineB
EngineA
EngineB
Science Camera
Science Camera
18Model-based Programs Evolve Hidden State
Reactive Control Program
goals
State
Model-based Executive
Command
Observations
19Model-based Programs Evolve Hidden State
- Reactive Model-based Programming Language
- State assertion
- State query
- Conditional execution
- Preemption
- Iteration
- Concurrent execution
Programmer specifiesabstract state evolutions
Temporal planner
Programs read and set variables that are
typically hidden.
Goal state
Inferred State
Model-based Executive
Command
Observations
20RMPL Executive Reasons from Plant Model
Temporal planner
goals
State
Model-based Executive
Command
Observations
21RMPL Executive Reasons from Plant Model
Temporal planner
goals
State
Model-based Executive
mode open ? high pressure high flow
nominal pressure nominal flow . . . mode
closed ? Zero flow
Command
Observations
22RMPL Executive Reasons from Plant Model
Temporal planner
Achieve Thrust
goals
State
Model-based Executive
Command
Observations
23Model-based Programming
Automate programmers ability to reason from
commonsense models in light of mission goals.
- Model-based Reactive Programming
- Programmer guides state evolution at strategic
levels. - Commonsense Modeling
- Programmer specifies commonsense, compositional
models of spacecraft behavior. - Model-based Execution Kernel
- Reason through system interactions on the
fly,performing deduction within the reactive
control loop. - Model-based Compilation
- Reduce knowledge to a vivid form, think through
local contingencies.
24OPSAT Exploring the Improbable
- When you have eliminated the impossible,
whatever remains, however improbable, must be the
truth. - Sherlock Holmes. The Sign of the Four.
25Compare Most Likely Hypothesis to Observations
It is most likely that all components are okay,
and the valves are in the mode indicated.
26Isolate Conflicting Information
The component modes indicated in red conflict
with the model and observations.
27Leap to the Next Most Likely Hypothesisthat
Resolves the Conflict
The next consistent hypothesis must differ from
the conflict by at least one component mode.
28New Hypothesis Exposes Additional Conflicts
Next consistent hypothesis must differ from both
conflicts
29Final Hypothesis Resolves all Conflicts
Helium tank
Fuel tank
Oxidizer tank
Pressure1 nominal Flow1 zero
Pressure2 nominal Flow2 positive
Main Engines
Acceleration zero
Implementation Hypotheses generated by minimal
set covering, guided by A search.
30Model-based Autonomy and Programming
- How do we program explorers that reason quickly
and extensively from commonsense models? - How do we incorporate model-based autonomy into
every day, ubiquitous computing devicesthrough
model-based programming? - How do we coordinate heterogeneous teams of
robots -- in space, air and land -- to perform
complex exploration? - How do we couple reasoning, adaptivity and
learning to create robust agents?
31Model-based Programming of Cooperative Systems
- How do we model behaviors of cooperative robotic
networks? - How do we command cooperative networks?
- How do we monitor cooperative networks?
32Managing Interactions for Cooperation
Programmers and operators must reason through
system-wide interactions to
- select among redundant procedures
- Evaluate outcomes
- Plan contingencies
- select deadlines
- select timing constraints
- allocate resources
33Model-based Cooperative Programming
- Model-based Programs
- Specify team behaviors as concurrent programs.
- Specify alternatives using decision theoretic
choice. - Specify timing constraints between activities.
- Model-based Execution
- Looks before it leaps
- Pre-plans threads of execution that are
optimal and temporally consistent. - Responds at reactive timescales
- Perform planning as graph search
- Navigates globally
34Mission Scenario
ONE
TWO
HOME
Enroute
RENDEZVOUS
RESCUE AREA
Station ABC
Diverge
Station XYZ
RESCUE LOCATION
MEETING POINT
35Enroute Activity
Enroute
Corridor 2
Rendezvous
Rescue Area
Corridor 1
Corridor 3
36RMPL for Group-Enroute
Non-deterministic choice
- Group-Enroute()l,u
- choose
- do
- Group-Traverse-Path(PATH1_1,PATH1_2,PATH1
_3,RE_POS)l90,u90 - maintaining PATH1_OK,
- do
- Group-Traverse-Path(PATH2_1,PATH2_2,PATH2
_3,RE_POS)l90,u90 - maintaining PATH2_OK
-
-
- Group-Transmit(OPS,ARRIVED)0,2,
- do
- Group-Wait(HOLD1,HOLD2)0,u10
- watching PROCEED
-
-
37RMPL Interpreter
- Dynamically selects among alternate executions,
satisfies open conditions and checks
schedulability, - Selects execution times, monitors outcomes and
plans contingencies.
38Enroute Activity
- Least cost threads of execution generated by
extended auction algorithm
price 425
price 0
1
2
450,540
0
0
Extend Path
4
5
9
10
425
30
0
0
0
0
price 425
price 0
price 30
price 0
8
13
3
price 0
price 0
0
price 425
0
0
0
6
7
11
12
440
1
price 440
price 0
price 1
price 0
9 ? 10
?
?
13 ? 2
Path P 1 ? 3 ? 4 ? 5 ? 8
?
?
11 ? 12
Start Node 1 End Node 2
39Temporal planning is combined with randomized
path planning to find a collision free corridor
Path 1
xinit
xgoal
Xobs
4
5
40Robotic Vehicles
- ATRV Rovers
- Monster Trucks
- Blimps
- Spheres
- Simulated Air/Space Vehicles
41Scenario
Cooperative Target Site Exploration Heterogeneous
rover team and blimps explore science sites
determined by remote sensing
- Tasks
- small scout rovers (ATRV Jr) explore terrain as
described in earlier scenarios - blimps provide additional fine grain air
surveillance - scout rovers identify features for further
investigation by sample rover (ATRV) - scout rovers provide refined terrain mapping for
path planning of the larger sample rover - Scenario Research Objective
- Extend coordination to heterogeneous team
exploration region identified feature goal
position
42Summary Model-based Autonomy
- To survive decades autonomous systems must
orchestrate complex networks of devices. - In model-based autonomy, programming involves
specifying strategies as abstract state
evolutions, and specifying commonsense models. - Runtime kernels are agile, deducing and planning
from these models within the reactive loop. - Model-based programming languages and kernels are
broadening out to cooperative and hybrid systems.