model-based programming of cooperative explorers prof. brian c. williams dept. of aeronautics and...
TRANSCRIPT
Model-based Programming Model-based Programming of Cooperative Explorersof Cooperative Explorers
Prof. Brian C. Williams
Dept. of Aeronautics and Astronautics
Artificial Intelligence Labs
And Space Systems
MIT
Classical RoboticsClassical Robotics
Deep Space Explorers Deep Space Explorers and Aerial Robotsand Aerial Robots
Cassini Saturn Orbital Insertion
Complements JPL
Human-guided stunt helicopterComplements Eric Feron, MIT
and Draper Labs
Self Repairing
Agile
Exploring Mars: Hetrogenous robotics test bed
Cooperative
Model-based Autonomy and ProgrammingModel-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?
Model-based Programming ofSelf Repairing Explorers
Would like to support programmers with Embedded Languages that
Reason from Commonsense Models
(Model-based Programming)
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
Must diagnose symptoms that are manifest through complex
Software and Hardware Interactions
Command dispatchFault protectionAttitude controlCommand
Sequence
Mission Goal Scenario
GS,SITURN,490UA,BOTH,96-355/03:42:00.000; CMD,7GYON, 490UA412A4A,BOTH, 96-355/03:47:00:000, ON; CMD,7MODE, 490UA412A4B,BOTH, 96-355/03:47:02:000, INT; CMD,6SVPM, 490UA412A6A,BOTH, 96-355/03:48:30:000, 2; CMD,7ALRT, 490UA412A4C,BOTH, 96-355/03:50:32:000, 6; CMD,7SAFE, 490UA412A4D,BOTH, 96-355/03:52:00:000, UNSTOW; CMD,6ASSAN,490UA412A6B,BOTH, 96-355/03:56:08:000, GV,153,IMM,231,
GV,153; CMD,7VECT, 490UA412A4E,BOTH, 96-355/03:56:10.000, 0,191.5,6.5,
0.0,0.0,0.0,96-350/00:00:00.000,MVR;
SEB,SCTEST,490UA412A23A,BOTH, 96-355/03:56:12.000, SYS1,NPERR; CMD,7TURN, 490UA412A4F,BOTH, 96-355/03:56:14.000, 1,MVR; MISC,NOTE, 490UA412A99A,, 96-355/04:00:00.000, ,START OF TURN;, CMD,7STAR, 490UA412A406A4A,BOTH 96-355/04:00:02.000, 7,1701,
278.813999,38.74; CMD,7STAR, 490UA412A406A4B,BOTH,96-355/04:00:04.000, 8,350,120.455999,
-39.8612; CMD,7STAR, 490UA412A406A4C,BOTH,96-355/04:00:06.000, 9,875,114.162,
5.341; CMD,7STAR, 490UA412A406A4D,BOTH,96-355/04:00:08.000, 10,159,27.239,
89.028999; CMD,7STAR, 490UA412A406A4E,BOTH,96-355/04:00:10.000, 11,0,0.0,0.0; CMD,7STAR, 490UA412A406A4F,BOTH,96-355/04:00:12.000, 21,0,0.0,0.0;
Monitors
Robustness involves controlling and sensing a complex internal network
Programmers and operators must reason through system-wide interactions to :
• monitormonitor• track goalstrack goals• confirm commandsconfirm commands• isolate faultsisolate faults• diagnose faults diagnose faults
• reconfigure reconfigure hardwarehardware
• coordinate control coordinate control policies policies
• repairrepair• avoiding failuresavoiding failures
Managing Interactions for Self-RepairManaging Interactions for Self-Repair
Robustness Requires Novel SolutionsRobustness Requires Novel Solutions
courtesy of NASA
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.
Example of a Model-based Agent:
• Goal-directed
• First time correct
• projective• reactive
• Commonsense models
• Heavily deductive
Scripts
component models
GoalsGoals
Diagnosis Diagnosis & Repair& Repair
Mission Mission ManagerManager
ScriptedScriptedExecutiveExecutive
Planner/Planner/SchedulerScheduler
Remote AgentRemote Agent
Mission-levelactions &resources
courtesy JPL
Started: January 1996Launch: Fall 1998
Remote Agent ExperimentRemote Agent ExperimentMay 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
See rax.arc.nasa.gov
Model-based Autonomy and ProgrammingModel-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?
Model-based Programs Model-based Programs Interact Directly with StateInteract Directly with State
Embedded programs interact withplant sensors/actuators:
• Read sensors
• Set actuators
Model-based programs interact with plant state:
• Read state
• Write state
Embedded Program
SPlant
Obs Cntrl
Model-basedEmbedded Program
SPlant
Programmer must map between state and sensors/actuators.
Model-based executive maps between sensors, actuators to states.
Orbital Insertion ExampleOrbital Insertion Example
EngineA EngineB
Science Camera
EngineA EngineB
Science Camera
Model-based Programs Evolve Hidden State
Model-based ExecutiveModel-based Executive
Command
goals
Observations Flight System Control
RT Control Layer
State
Reactive ControlProgram
Reactive ControlProgram
Temporal plannerTemporal planner
Model-based ExecutiveModel-based Executive
Command
Goal state
Observations Flight System Control
RT Control Layer
Inferred State
Thrust Goals
Attitude Point(a)
Engine OffOff
Delta_V(direction=b, magnitude=200)
Power
Model-based Programs Model-based Programs Evolve Hidden StateEvolve Hidden State
Programmer specifiesabstract state evolutions
OrbitInsert()::
(do-watching ((EngineA = Firing) OR (EngineB = Firing))
(parallel
(EngineA = Standby)
(EngineB = Standby)
(Camera = Off)
(do-watching (EngineA = Failed)
(when-donext ( (EngineA = Standby) AND (Camera = Off) )
(EngineA = Firing)))
(when-donext ( (EngineA = Failed) AND (EngineB = Standby) AND (Camera = Off) )
(EngineB = Firing))))
Reactive Model-based Programming Language: State assertion State query Conditional execution Preemption Iteration Concurrent execution
Programs “read” and “set” variables thatare typically hidden.
Model
Temporal plannerTemporal planner
Model-based ExecutiveModel-based Executive
Command
goals
Observations Flight System Control
RT Control Layer
State
Thrust Goals
Attitude Point(a)
Engine OffOff
Delta_V(direction=b, magnitude=200)
Power
RMPL Executive Reasons RMPL Executive Reasons from Plant Modelfrom Plant Model
ClosedClosed
ValveValve
OpenOpen StuckStuckopenopen
StuckStuckclosedclosed
OpenOpen CloseClose
0. 010. 01
0. 010. 01
0.010.01
0.010.01
inflow = outflow = 0
OrbitInsert()::
(do-watching ((EngineA = Firing) OR (EngineB = Firing))
(parallel
(EngineA = Standby)
(EngineB = Standby)
(Camera = Off)
(do-watching (EngineA = Failed)
(when-donext ( (EngineA = Standby) AND (Camera = Off) )
(EngineA = Firing)))
(when-donext ( (EngineA = Failed) AND (EngineB = Standby) AND (Camera = Off) )
(EngineB = Firing))))
Model
Temporal plannerTemporal planner
Model-based ExecutiveModel-based Executive
Command
goals
Observations Flight System Control
RT Control Layer
State
Thrust Goals
Attitude Point(a)
Engine OffOff
Delta_V(direction=b, magnitude=200)
Power
RMPL Executive Reasons RMPL Executive Reasons from Plant Modelfrom Plant Model
mode = open
high pressure = high flow;
nominal pressure = nominal flow;
. . .
mode = closed
Zero flow
OrbitInsert()::
(do-watching ((EngineA = Firing) OR (EngineB = Firing))
(parallel
(EngineA = Standby)
(EngineB = Standby)
(Camera = Off)
(do-watching (EngineA = Failed)
(when-donext ( (EngineA = Standby) AND (Camera = Off) )
(EngineA = Firing)))
(when-donext ( (EngineA = Failed) AND (EngineB = Standby) AND (Camera = Off) )
(EngineB = Firing))))
Model
Temporal plannerTemporal planner
Model-based ExecutiveModel-based Executive
Command
goals
Observations Flight System Control
RT Control Layer
State
Thrust Goals
Attitude Point(a)
Engine OffOff
Delta_V(direction=b, magnitude=200)
Power
RMPL Executive Reasons from Plant Model
State estimates
Commanding & Repair
Estimation & Diagnosis
State Goals
s
Open fourvalves
Engine Off
Achieve Thrust
Valve failsstuck closed
Fire backupengine
Automate programmers ability to reason from commonsense models in light of mission goals.
Model-based ProgrammingModel-based Programming
• 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.
When you have eliminated the impossible, whatever remains, however improbable, must be the truth. - Sherlock Holmes. The Sign of the Four.
OPSAT: Exploring the Improbable
Generate Best Options: • Generalize test results to leap over infeasible options
Test Against Model: • Incrementally deduce how truth changes
GenerateGenerate
BestBestFeasibleFeasibleOptionsOptions
ConflictingConflictingElementsElements
CheckedCheckedoptionoption
TestTest
Compare Most Likely Hypothesis to ObservationsCompare Most Likely Hypothesis to Observations
Helium tank
Fuel tankOxidizer tank
MainEngines
Flow1 = zeroPressure1 = nominal
Pressure2= nominal
Acceleration = zero
It is most likely that all components are okay, and the valves are in the mode indicated.
Isolate Conflicting InformationIsolate Conflicting Information
Helium tank
Fuel tankOxidizer tank
MainEngines
Flow 1= zero
The component modes indicated in red conflict with the model and observations.
Helium tank
Fuel tankOxidizer tank
MainEngines
Flow 1= zero
Leap to the Next Most Likely HypothesisLeap to the Next Most Likely Hypothesisthat Resolves the Conflictthat Resolves the Conflict
The next consistent hypothesis must differ from the conflict by at least one component mode.
New Hypothesis Exposes Additional ConflictsNew Hypothesis Exposes Additional Conflicts
Pressure1 = nominal Pressure2= nominal
Acceleration = zero
Helium tank
Fuel tankOxidizer tank
MainEngines
Next consistent hypothesis must differ from both conflicts
Final Hypothesis Resolves all Conflicts Final Hypothesis Resolves all Conflicts
Helium tank
Fuel tankOxidizer tank
MainEngines
Pressure1 = nominalFlow1 = zero
Pressure2= nominalFlow2 = positive
Acceleration = zero
Implementation: Hypotheses generated by minimal set covering, guided by A* search.
Model-based Autonomy and ProgrammingModel-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?
Model-based Programming of Cooperative SystemsModel-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?
Programmers and operators must reason through system-wide interactions to :
• select deadlinesselect deadlines• select timing select timing
constraintsconstraints• allocate resourcesallocate resources
Managing Interactions for CooperationManaging Interactions for Cooperation
• select among select among redundant redundant proceduresprocedures
• Evaluate outcomesEvaluate outcomes• Plan contingenciesPlan contingencies
Model-based Cooperative ProgrammingModel-based Cooperative Programming c If c next A Unless c next A A, B Always A
Choose reward
A in time [t-,t+]
Decision-theoreticTemporal Planner
• 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
Enroute
Mission Scenario
HOMEHOME
RENDEZVOUSRENDEZVOUS RESCUERESCUE AREAAREA
Diverge
RESCUE LOCATIONRESCUE LOCATION
MEETING POINTMEETING POINT
Station: ABC
Station: XYZ
ONETWO
Enroute Activity:
RendezvousRendezvous Rescue AreaRescue Area
Corridor 2
Corridor 1
Corridor 3
Enroute
RMPL for Group-EnrouteRMPL 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
}
}
Non-deterministicchoice:
RMPL InterpreterRMPL Interpreter
• KirkKirk
• IdeaIdea
• TitanTitan
Dynamically selects among alternate executions, satisfies open conditions and checks schedulability,
Selects execution times, monitors outcomes and plans contingencies.
Reactive Temporal Planner
Plan Executive
(Hidden) States
RMPL Program
CommandsObservables
Mode Estimation Reactive Planning
Model of NetworkedEmbedded
Vehicles
• monitor activitiesmonitor activities• diagnose plan diagnose plan
failuresfailures
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:
• Least cost threads of execution generated by extended auction algorithm
Start Node : 1End Node: 2
Temporal planning is combined with randomized path planning to find a collision free corridor
4 5
xinit
Path 1
xgoal
Xobs
Robotic VehiclesRobotic Vehicles
ATRV Rovers Monster Trucks Blimps Spheres
Simulated Air/Space Vehicles
ScenarioScenarioCooperative Target Site Exploration:
Heterogeneous rover team and blimps explore science sites determined by remote sensing
exploration featurepath planned/takenway point
exploration regionidentified featuregoal position
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 …
Summary: Model-based AutonomySummary: 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.