Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating...
Transcript of Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating...
![Page 1: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/1.jpg)
Model-based Programming of Cooperating Explorers
Brian C. Williams CSAIL
Dept. Aeronautics and Astronautics Massachusetts Institute of Technology
![Page 2: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/2.jpg)
With Complex Autonomic Processes Programming Long-lived Embedded Systems
Large collections of devices must work in concert to achieve goals • Devices indirectly observed and controlled • Need quick, robust response to anomalies throughout life • Must manage large levels of redundancy
![Page 3: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/3.jpg)
Coordination Recapitulated At The Level of Cooperating Explorers
(Courtesy of Jonathan How. Used with permission.)
![Page 4: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/4.jpg)
Coordination Issues Increase For Dexterous Explorers
(Courtesy of Frank Kirchner. Used with permission.)
![Page 5: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/5.jpg)
Outline
• Model-based Programming • Autonomous Engineering Operations
– An Example – Model based Execution – Fast Reasoning using Conflicts
• Cooperating Mobile Vehicles – Predictive Strategy Selection – Planning Out The Strategy
![Page 6: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/6.jpg)
Approach
Elevate programming and operation to system-level coaching.
Î Model-based Programming– State Aware: Coordinates behavior at the level
of intended state. Î Model-based Execution
– Fault Aware: Uses models to achieve intended behavior under normal and faulty conditions.
![Page 7: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/7.jpg)
Why Model-based Programming?
Polar Lander Leading Diagnosis:
• Legs deployed during descent.
• Noise spike on leg sensors latched by software monitors.
• Laser altimeter registers 40m.
• Begins polling leg monitors to determine touch down.
• Read latched noise spike as touchdown.
• Engine shutdown at ~40m.
Programmers often make commonsense mistakes when reasoning about hidden state.
Objective: Support programmers with embedded languages that avoid these mistakes, by reasoning about hidden state automatically.
Reactive Model-based Programming Language (RMPL)
![Page 8: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/8.jpg)
Interact Directly with State Model-based Programs
Embedded programs interact with Model-based programs plant sensors and actuators: interact with plant state:
• Read sensors • Read state
• Set actuators • Write state
Embedded Program
S Plant
Obs Cntrl
Model-based Embedded Program
S Plant
S’ Model-based Executive
Obs Cntrl
Programmer must map between Model-based executive maps state and sensors/actuators. between state and sensors/actuators.
![Page 9: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/9.jpg)
Control Sequencer
Deductive ControllerModeEstimation
ModeReconfiguration
RMPL Model-based Program Titan Model-based Executive
System Model
CommandsObservations
Control Program
Plant
State goalsState estimates
Generates target goal states conditioned on state estimates
Tracks likely
plant states
Tracks least cost goal states
z Executes concurrently z Preempts z Queries (hidden) states z Asserts (hidden) state
ClosedClosed
ValveValveOpenOpen StuckStuck
openopen
StuckStuckclosedclosed
OpenOpen CloseClose
0. 010. 01
0. 010. 01
0.010.01
0.010.01
inflow = outflow = 0
![Page 10: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/10.jpg)
Outline
• Model-based Programming • Autonomous Engineering Operations
– An Example – Model based Execution – Fast Reasoning using Conflicts
• Cooperating Mobile Vehicles – Predictive Strategy Selection – Planning Out The Strategy
![Page 11: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/11.jpg)
Mission-critical sequences:
Motivation
images courtesy of NASA
• Launch & deployment
• Planetary fly-by
• Orbital insertion
• Entry, descent & landing
(Courtesy of Mitch Ingham. Used with permission.)
![Page 12: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/12.jpg)
Mars Entry Example
engine to standby planetary approach switch to
inertial nav rotate to entry-orient & hold attitude
separate lander
(Courtesy of Mitch Ingham. Used with permission.)
![Page 13: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/13.jpg)
Mars Entry Example
engine to standby planetary approach switch to
Descent engine to “standby”:
offheating 30-60 secstandby
separate lander
inertial nav rotate to entry-orient & hold attitude
(Courtesy of Mitch Ingham. Used with permission.)
![Page 14: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/14.jpg)
Mars Entry Example
engine to standby
Spacecraft approach: • •
observable •
of cruise trajectory
planetary approach
separate lander
switch to inertial nav rotate to entry-orient
& hold attitude
270 mins delay relative position wrt Mars not
based on ground computations
(Courtesy of Mitch Ingham. Used with permission.)
![Page 15: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/15.jpg)
Mars Entry Example
engine to standby planetary approach switch to
separate lander
inertial nav rotate to entry-orient & hold attitude
Switch navigation mode: “Earth-relative” = Star Tracker + IMU
Switch navigation mode:
“Inertial” = IMU only
(Courtesy of Mitch Ingham. Used with permission.)
![Page 16: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/16.jpg)
Mars Entry Example
engine to standby
Rotate spacecraft: •
planetary approach
separate lander
switch to inertial nav rotate to entry-orient
& hold attitude
command ACS to entry orientation
(Courtesy of Mitch Ingham. Used with permission.)
![Page 17: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/17.jpg)
Mars Entry Example
engine to standby
Rotate spacecraft: • once entry orientation achieved,
ACS holds attitude
planetary approach
separate lander
switch to inertial nav rotate to entry-orient
& hold attitude
(Courtesy of Mitch Ingham. Used with permission.)
![Page 18: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/18.jpg)
Mars Entry Example
engine to standby planetary approach switch to
separate lander
inertial nav rotate to entry-orient & hold attitude
cruise stage
lander stagepyro
latches
Separate lander from cruise stage:
(Courtesy of Mitch Ingham. Used with permission.)
![Page 19: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/19.jpg)
Mars Entry Example
engine to standbyplanetary approach
separate lander
switch to inertial nav rotate to entry-orient
& hold attitude
•
cruise stage
lander stagepyro
latches
Separate lander from cruise stage: when entry orientation achieved, fire primary pyro latch
(Courtesy of Mitch Ingham. Used with permission.)
![Page 20: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/20.jpg)
Mars Entry Example
engine to standbyplanetary approach
separate lander
switch to inertial nav rotate to entry-orient
& hold attitude
•
cruise stage
lander stage
Separate lander from cruise stage: when entry orientation achieved, fire primary pyro latch
(Courtesy of Mitch Ingham. Used with permission.)
![Page 21: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/21.jpg)
Mars Entry Example
engine to standbyplanetary approach
separate lander
switch to inertial nav rotate to entry-orient
& hold attitude
•
cruise stage
lander stage
Separate lander from cruise stage: in case of failure of primary latch, fire backup pyro latch
(Courtesy of Mitch Ingham. Used with permission.)
![Page 22: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/22.jpg)
Mars Entry Example
engine to standbyplanetary approach
separate lander
switch to inertial nav rotate to entry-orient
& hold attitude
•
cruise stage
lander stage
Separate lander from cruise stage: in case of failure of primary latch, fire backup pyro latch
(Courtesy of Mitch Ingham. Used with permission.)
![Page 23: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/23.jpg)
What is Required to Program at This Level?
engine to standbyplanetary approach switch to
inertial nav rotate to entry-orient & hold attitude
separate lander
• simple state-based control specifications
• systems engineers
• handle timed plant & control behavior
• automated reasoning through low-level plant interactions
• fault-aware (in-the-loop recoveries)
models are writable/inspectable by
(Courtesy of Mitch Ingham. Used with permission.)
![Page 24: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/24.jpg)
Descent Example
Turn camera off and engine on
EngineA EngineB EngineA EngineB
Science Camera Science Camera
![Page 25: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/25.jpg)
Model-based Program
Control program specifies state trajectories:
• fires one of two engines
• sets both engines to ‘standby’
• prior to firing engine, camera must be turned off to avoid plume contamination
• in case of primary engine failure, fire backup engine instead
Plant Model describes behavior of each component: – Nominal and Off nominal – qualitative constraints – likelihoods and costs
OrbitInsert()::
(do-watching ((EngineA = Thrusting) OR (EngineB = Thrusting))
(parallel (EngineA = Standby)(EngineB = Standby)(Camera = Off)(do-watching (EngineA = Failed)
(when-donext ( (EngineA = Standby) AND (Camera = Off) )
(EngineA = Thrusting))) (when-donext ( (EngineA = Failed) AND
(EngineB = Standby) AND (Camera = Off) )
(EngineB = Thrusting))))
![Page 26: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/26.jpg)
Plant Modelcomponent modes…
described by finite domain constraints on variables…
deterministic and probabilistic transitions
cost/reward
StandbyStandby
Engine ModelEngine Model
OffOff
FailedFailed
FiringFiring
(thrust = full) AND (power_in = nominal)
(thrust = zero) AND (power_in = zero)
(thrust = zero) AND (power_in = nominal)
offoff-cmdcmd
standbystandby-cmdcmd
0.010.01
0.010.01standbystandby-
cmdcmdfirefire-cmdcmd
0 v
0 v
2 kv
2 kv
OnOn
Camera ModelCamera Model
OffOff
turnoffturnoff-cmdcmd
turnonturnon-cmdcmd
(power_in = zero) AND (shutter = closed)
(power_in = nominal) AND (shutter = open)
0 v
20 v
0.010.01
0.010.01
0 v
one per component … operating concurrently
![Page 27: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/27.jpg)
Example: The model-based program sets engine = thrusting, and the deductive controller . . . .
Mode Estimation Mode Reconfiguration Oxidizer tankOxidizer tank Fuel tankFuel tank
Selects valve Deduces that configuration;
thrust is off, and plans actions Deduces that a valvethe engine is healthy to open failed - stuck closedsix valves
Determines valves on backup engine that will achieve thrust, and plans needed actions.
Mode Reconfiguration Mode Estimation
![Page 28: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/28.jpg)
Outline
• Model-based Programming • Autonomous Engineering Operations
– An Example – Model based Execution – Fast Reasoning using Conflicts
• Cooperating Mobile Vehicles – Predictive Strategy Selection – Planning Out The Strategy
![Page 29: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/29.jpg)
Modeling Plant Dynamics using Probabilistic Concurrent, Constraint Automata (PCCA)
Compact Encoding:
– Concurrent probabilistic transitions
– State constraints between variables
StandbyStandby
Engine ModelEngine ModelOffOff
FailedFailed
offoff-cmdcmd
standbystandby-cmdcmd
0.010.01
(thrust = full) AND (power_in = nominal)
FiringFiring
0.010.01
standbystandby-cmdcmd
firefire-cmdcmd
(thrust = zero) AND (power_in = zero)
(thrust = zero) AND (power_in = nominal)
OnOn
Camera ModelCamera ModelOffOff
turnoffturnoff-cmdcmd
turnonturnon-cmdcmd
(power_in = zero) AND
(shutter = closed)
(power_in = nominal) AND
(shutter = open)
0 v
2 kv
2 kv
0 v
0 v
20 v
0.010.01
0.010.01
0 v
Typical Example (DS1 spacecraft):
– 80 Automata, 5 modes on average
– 3000 propositional variables, 12,000 propositional clauses
![Page 30: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/30.jpg)
Possible BehaviorsVisualized by a Trellis Diagram
S T
X0 X1 XN-1 XN
•Assigns a value to each variable (e.g.,3,000 vars). •Consistent with all state constraints (e.g., 12,000).
•A set of concurrent transitions, one per automata (e.g., 80). •Previous & Next states consistent with source & target of transitions
The Plant’s BehaviorThe Plant’s Behavior
![Page 31: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/31.jpg)
Control Sequencer
Deductive Controller
Commands
Tracks least-coststate goals
RMPL Model-based Program Titan Model-based Executive
System Model
Observations
Control Program
Plant
State goalsState estimates
Control Sequencer: Generates goal states
Mode Estimation:
Tracks likely States
Mode Reconfiguration:
z
z Preempts z
z
OrbitInsert():: ( i
iring)) (parallel
) )
((
(Camera = Off) ) iring)))
() AND
(Camera = Off) ) iring))))
CO
EAS ) EAF ( ) EAR i i ) EBS ) EBF ( ) EBR i i )
(
)
EAR
( )
hierarchical constraint automata on state s
conditioned on state estimates Executes concurrently
Asserts and queries states Chooses based on reward
do-watching ((EngineA = F ring) OR (EngineB = F
(EngineA = Standby(EngineB = Standby(Camera = Off) do-watching (EngineA = Failed)
when-donext ( (EngineA = Standby) AND
(EngineA = Fwhen-donext ( (EngineA = Failed) AND
(EngineB = Standby
(EngineB = F
MAINTAIN (EAR OR EBR)
EBS
LEGEND: (EngineA = StandbyEngineA = Failed(Eng neA = F ring(EngineB = StandbyEngineB = Failed(Eng neB = F ring
CO Camera = Off)
MAINTAIN (EAF
EAS
(EAS AND CO)
EAS AND CO
EAF AND EBS AND CO
EBR EAF AND EBS
AND CO
![Page 32: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/32.jpg)
Control Sequencer
Deductive Controller
RMPL Model-based Program Titan Model-based Executive
System Model
Observations
Control Program
Plant
State goalsState estimates
Control Sequencer: Generates goal states
Mode Estimation:
Tracks likely States
Mode Reconfiguration: Tracks least-cost
state goals
z
z Preempts z
z
engine
stuck closed
S T
X0 X1 X XN
S T
X0 X1 X XN
least cost reachable goal stateFirst ActionCurrent Belief State
Commands
conditioned on state estimates Executes concurrently
Asserts and queries states Chooses based on reward
Fire backup
Valve fails
N-1 N-1
![Page 33: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/33.jpg)
Deductive Controller
Observations Plant
State goalsState estimates
Mode Estimation:
Tracks likely States
Mode Reconfiguration: Tracks least-cost
state goals
engine
stuck closed
S T
X0 X1 X XN
S T
X0 X1 X XN
least cost reachable goal stateFirst ActionCurrent Belief State
s.t. C(x) is satisfiable
D(x) is unsatisfiable
T(m’)
s.t. M(m’) ^ O(m’) is satisfiable
T*
s.t. M(m’) entails G(m’)
s.t. M(m’) is satisfiable
Commands
Fire backup
Valve fails
N-1 N-1
OpSat:
arg min f(x)
arg max P arg min R (m’)
![Page 34: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/34.jpg)
Outline
• Model-based Programming • Autonomous Engineering Operations
– An Example – Model based Execution – Fast Reasoning using Conflicts
• Cooperating Mobile Vehicles – Predictive Strategy Selection – Planning Out The Strategy
![Page 35: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/35.jpg)
Diagnosis Formulation
Consistency-based Diagnosis: Given symptoms, find diagnoses that are consistent with symptoms.
Handle Novel Failures by Suspending Constraints:Make no presumptions about faulty component behavior.
1
1
1 SymptomOr1
Or2
Or3
And1
And2
A
B C D
E
1
1 1 1
0
F
G
X
Y
Z
0
1
![Page 36: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/36.jpg)
Diagnosis Formulation
Consistency-based Diagnosis: Given symptoms, find diagnoses that are consistent with symptoms.
Handle Novel Failures by Suspending Constraints:Make no presumptions about faulty component behavior.
1
1
1 Symptom
Or2
Or3
And1
And2
A
B C D
E
1
1 1 1
0
F
G
X
Y
Z
0
1
![Page 37: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/37.jpg)
Fast Reasoning Through Conflict
When you have eliminated the impossible, whatever remains, however improbable, must be the truth.
- Sherlock Holmes. The Sign of the Four.
1. Test Hypothesis 2. If inconsistent, learn reason for inconsistency
(a Conflict). 3. Use conflicts to leap over similarly infeasible options
to next best hypothesis.
![Page 38: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/38.jpg)
Compare Most Likely Hypothesis to Observations
Helium tank
Fuel tankOxidizer tank
Main Engines
Pressure1 = nominal Pressure2= nominal
Acceleration = zero
Flow1 = zero
It is most likely that all components are okay.
![Page 39: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/39.jpg)
Isolate Conflicting Information
Helium tank
Fuel tankOxidizer tank
Main Engines
Flow 1= zero
The red component modes conflict with the model and observations.
![Page 40: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/40.jpg)
Leap to the Next Most Likely Hypothesisthat Resolves the Conflict
Helium tank
Fuel tankOxidizer tank
Main Engines
Flow 1= zero
The next hypothesis must remove the conflict
![Page 41: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/41.jpg)
New Hypothesis Exposes Additional Conflicts
Pressure1 = nominal Pressure2= nominal
Acceleration = zero
Helium tank
Fuel tankOxidizer tank
Main Engines
Another conflict, try removing both
![Page 42: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/42.jpg)
Final Hypothesis Resolves all Conflicts
Helium tank
Fuel tankOxidizer tank
Main Engines
Pressure1 = nominal Flow1 = zero
Pressure2= nominal Flow2 = positive
Acceleration = zero
Implementation: Conflict-directed A* search.
![Page 43: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/43.jpg)
A*
Increasing Cost
Feasible
Infeasible
![Page 44: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/44.jpg)
Conflict-directed A*
Increasing Cost
Feasible
Infeasible
![Page 45: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/45.jpg)
Conflict-directed A*
Increasing Cost
Feasible
Infeasible Conflict 1
![Page 46: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/46.jpg)
Conflict-directed A*
Increasing Cost
Feasible
Infeasible
Conflict 3
Conflict 2
Conflict 1
feasible regions as implicants (Kernel Assignments)
•Want kernel assignment
• Conflicts are mapped to
containing the best cost state.
![Page 47: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/47.jpg)
Outline
• Model-based Programming • Autonomous Engineering Operations
– An Example – Model based Execution – Fast Reasoning using Conflicts
• Cooperating Mobile Vehicles – Predictive Strategy Selection – Planning Out The Strategy
![Page 48: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/48.jpg)
Coordination is Recapitulated at the Level of Cooperating Explorers
(Courtesy of Jonathan How. Used with permission.)
![Page 49: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/49.jpg)
• Explicit human guidance is at the lowest levels
Traditional Robot Architectures
Planning and Scheduling
Goal-directed ExecutionGoal-directed
Programs
Goals Action descriptions
Reactive Behaviors
![Page 50: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/50.jpg)
RMPL for RoboticsReactive Model-based Model-based
Programming Executive
Goal-directed Execution
Control Programs
Plant Models
Deductive Controllers
Language (RMPL)
What types of reasoning should the programmer/operator guide?
• State/mode inference • Method selection • Machine control • Roadmap path planning • Scheduling • Optimal trajectory planning
• Generative temporal planning
![Page 51: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/51.jpg)
RMPL Model-based Program Kirk Model-based Executive
Control Sequencer Predictive Strategy Selection
Dynamic Scheduling Ensures Safe Execution
Deductive Controller Achieves State via Path Planning
Estimates using Localization
Environment Model
Control Program
location goalslocation estimates
z Executes concurrently z Preempts z non-deterministic choice z A[l,u] timing z A at l location
HOMEHOME
T W O
Enroute COLLECTION POINTCOLLECTION POINT RENDEZVOUSRENDEZVOUS
Diverge SCIENCE AREA 1’SCIENCE AREA 1’
SCIENCE AREA 3SCIENCE AREA 3
Landing Site: ABC
Landing Site: XYZ
O N E
SCIENCE AREA 1SCIENCE AREA 1
Observations Commands
Plant
![Page 52: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/52.jpg)
Properties:
Example Scenario
HOMEHOME
TWO
EnrouteCOLLECTION POINTCOLLECTION POINT RENDEZVOUSRENDEZVOUS
Diverge SCIENCE AREA 1’SCIENCE AREA 1’
SCIENCE AREA 3SCIENCE AREA 3
Landing Site: ABC
Landing Site: XYZ
ONE
SCIENCE AREA 1SCIENCE AREA 1
z Mars rover operators have been leery of generative planners.z Are more comfortable with specifying contingencies.z Want strong guarantees of safety and robust to uncertainty.z Global path planning is on the edge
Extend RMPL with planner-like capabilities ..except planning
![Page 53: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/53.jpg)
Reactive Model-based Programming
Idea: To describe group behaviors, start with concurrent language:z pz If c next Az Unless c next Az A, Bz Always A
z Add temporal constraints: z A [l,u]
• Primitive activities • Conditional execution • Preemption • Full concurrency • Iteration
• Timing
z Add choice (non-deterministic or decision-theoretic): z Choose {A, B} • Contingency
z Parameterize by location: z A at [l]
![Page 54: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/54.jpg)
Example Enroute Activity:
Enroute
RendezvousRendezvous Rescue AreaRescue Area
Corridor 2
Corridor 1
![Page 55: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/55.jpg)
RMPL for Group-Enroute
Group-Enroute()[l,u] = { Temporal Constraints:
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
} at RE_POS
}
![Page 56: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/56.jpg)
RMPL for Group-Enroute
Location Constraints: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
} at RE_POS
}
![Page 57: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/57.jpg)
RMPL for Group-Enroute
Non-deterministic Group-Enroute()[l,u] = {
choose { choice: 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
} at RE_POS
}
![Page 58: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/58.jpg)
Outline
• Model-based Programming • Autonomous Engineering Operations
– An Example – Model based Execution – Fast Reasoning using Conflicts
• Cooperating Mobile Vehicles – Predictive Strategy Selection – Planning Out The Strategy
![Page 59: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/59.jpg)
Control Sequencer
Deductive ControllerModeEstimation
ModeReconfiguration
RMPL Model-based Program Titan Model-based Executive
Environment Model
CommandsObservations
Control Program
location goalslocation estimates
Selects consistent threads of activity
from redundant methods
Tracks location
Finds least cost paths
z Executes concurrently z Preempts z non-deterministic choice z A[l,u] timing z A at l location
HOMEHOME
T W O
Enroute COLLECTION POINTCOLLECTION POINT RENDEZVOUSRENDEZVOUS
Diverge SCIENCE AREA 1’SCIENCE AREA 1’
SCIENCE AREA 3SCIENCE AREA 3
Landing Site: ABC
Landing Site: XYZ
O N E
SCIENCE AREA 1SCIENCE AREA 1
Executive • pre-plans activities • pre-plans paths • dynamically schedules [Tsmardinos et al.]
Plant
![Page 60: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/60.jpg)
Enroute Activity Encoded as a Temporal Plan Network
• Start with flexible plan representation
Enroute [450,540]1 2
[0, 0] Group Traverse Group Wait
[0, 0]
4 [405, 486] 5 [0, 0] [0, 0] [0, 54] [0, 0]
Science Target
8 [0, 0] [0, ]Group Transmit
[0, 2]
Activity (or sub-activity)
Duration (temporal constraint)
![Page 61: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/61.jpg)
Enroute Activity Encoded as a Temporal Plan Network
• Add conditional nodes
Enroute [450,540]1 2
[0, 0] Group Traverse Group Wait
[0, 0]
[0, 0] 4 [405, 486] 5 [0, 0] [0, 0] [0, 54] [0, 0]
Science Target
3 8 [0, ][0, 0] Group Traverse [0, 0]
[0, 0] Group Transmit
[405, 486] [0, 2]
Activity (or sub-activity)
Duration (temporal constraint)
Conditional node
![Page 62: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/62.jpg)
Enroute Activity Encoded as a Temporal Plan Network
•Add temporally extended, symbolic constraints
Enroute [450,540]1 2
[0, 0] Group Traverse Group Wait
[0, 0]
[0, 0] 4 [405, 486] 5 [0, 0] [0, 0] 9 [0, 54] 10 [0, 0] Ask( PATH1 = OK) Science Target Ask( EXPLORE = OK)
3 8 13 [0, ][0, 0] Group Traverse [0, 0]
[0, 0] Group Transmit
6 [405, 486] 7 11 [0, 2] 12 Ask( PATH2 = OK)
Activity (or sub-activity)
Duration (temporal constraint)
Conditional node
Symbolic constraint (Ask,Tell)
![Page 63: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/63.jpg)
Instantiated Enroute Activity
•Add environmental constraints Group-Enroute [500,800]
s e [0,∞] [0,∞]
[450,540]
1 Group Traverse Group Wait 2
Ask(PROCEED)
4 9 105 Ask(PATH1=OK)
[405,486] [0,54] Science Target
3 8 1Group Traverse Group Transmit 3
Ask(PATH2=OK) [0,∞] 6 7 11 12[405,486] [0,2]
[10,10] Tell(PATH1=OK) Tell(PROCEED)
[0,∞]14 15 16 17
[450,450] [200,200] Activity (or sub-activity)
Duration (temporal constraint)
Conditional node
Symbolic constraint (Ask,Tell) External constraints
![Page 64: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/64.jpg)
Generates Schedulable PlanGroup-Enroute
[500,800] s e
[0,∞] [0,∞] [450,540]
1 Group Traverse Group Wait 2
Ask(PROCEED)
4 9 105 Ask(PATH1=OK)
[405,486] [0,54] Science Target
133 Group Traverse 8 Group Transmit
Ask(PATH2=OK) [0,∞] 6 7 11 12
[405,486] [0,2]
[10,10] Tell(PATH1=OK) Tell(PROCEED)
[0,∞]14 15 16 17
[450,450] [200,200]
To Plan, . . . perform the following hierarchically: • Trace trajectories • Check schedulability
• Supporting and protecting goals (Asks)
![Page 65: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/65.jpg)
Supporting and Protecting Goals
Unsupported Subgoal Threatened Activities
1 2
3 43 4
Goal: any UCAV at Target
1 2 Activity: UAV1 at Base
Activity: UAV1 at Target Activity: UCAV1 at Target
Close open goals Activities can’t co-occur
Resolving Unsupported Subgoals:
• Scan plan graph,identifying activities that support open sub-goals; force to co-occur.
Resolving Threatened Subgoals:
• Search for inconsistent activities that co-occur, and impose ordering.
Key computation is bound time of occurrence:
• Used Floyd-Warshall APSP algorithm O(V3).
![Page 66: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/66.jpg)
Randomized Experiments for Assessing Scaling and Robustness
Randomized Experiments:
• Randomly generated range of scenarios with 1-50 vehicles. • Each vehicle has two scenario options, each with five actions and
2 waypoints:
1. Go to waypoint 12. Observe science 3. Go to waypoint 24. Observe science 5. Return to collection point
• Waypoints generated randomly from environment with uniform distribution.
Strategy Selection:
• TPN planner chooses one option per vehicle. • Combined choices must be consistent with timing constraints and vehicle
paths.
![Page 67: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/67.jpg)
Kirk Strategy Selection: Scaling and Robustness
Each vehicle visits 2 science sites and returns
to collection point
Kirk Oct. ’02
Kirk April ’03
Performance Improvement Through • Incremental temporal consistency • Conflict-directed Search (in progress)
![Page 68: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/68.jpg)
Control Sequencer
Deductive ControllerModeEstimation
ModeReconfiguration
RMPL Model-based Program Titan Model-based Executive
Environment Model
CommandsObservations
Control Program
location goalslocation estimates
Selects consistent threads of activity
from redundant methods
Tracks location
Finds least cost paths
z Executes concurrently z Preempts z non-deterministic choice z A[l,u] timing z A at l location
HOMEHOME
T W O
Enroute COLLECTION POINTCOLLECTION POINT RENDEZVOUSRENDEZVOUS
Diverge SCIENCE AREA 1’SCIENCE AREA 1’
SCIENCE AREA 3SCIENCE AREA 3
Landing Site: ABC
Landing Site: XYZ
O N E
SCIENCE AREA 1SCIENCE AREA 1
Executive • pre-plans activities • pre-plans paths • dynamically schedules [Tsmardinos et al.]
Plant
![Page 69: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/69.jpg)
Achieving Program States Combines Logical Decisions and Trajectory Planning
Vehicle Obstacle
Waypoint
![Page 70: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/70.jpg)
Explorers Will Need to Be Dexterous
(Courtesy of Frank Kirchner. Used with permission.)
![Page 71: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/71.jpg)
Outline
• Model-based Programming • Autonomous Engineering Operations
– An Example – Model based Execution – Fast Reasoning using Conflicts
• Cooperating Mobile Vehicles – Predictive Strategy Selection – Planning Out The Strategy
![Page 72: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/72.jpg)
OEP
Example: Coaching Heterogeneous Teams
•Search and Rescue•Ocean Exploration
A dozen vehicles is too many to micro manage
→ Act as a coach: • Specify evolution of state and location.
(Courtesy of Jonathan How. Used with permission.)
![Page 73: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/73.jpg)
Forest Fire Rescue
• Goal: retrieve family from fire.
• Rescue cannot take place until the local fire is suppressed.
• Retrofit one rescue vehicle for fire suppression
Ambulance
Rescue Point
Fire
Fire Line
Forest
![Page 74: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/74.jpg)
Kirk Model-based Execution System Overview
Strategy Selection
TPN Planner
Activity Planning
Generative Activity Planner
Visibility Graph
Mission DeveloperRMPL Strategy macrocontrol decompositionprogram
Mission Controller
• Strategy Selection
• Activity Planning figures out
within strategic framework using
determines the optimal rules / strategies to accomplish mission goals.
how to achieve mission goals
available low-level actions.
Strategy Macro Library
Operators,
Scenario Model Tactics,
state configuration goals
environment and action data
schedulable plan with rationale
Human / Computer Interface
MILP Path-Planning
![Page 75: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/75.jpg)
RMPL Control Program
• (defclass rescue-team
(execute ()(sequence
(parallel [l1,u1]
(tell-start(at family RescuePoint))
(tell-start(at uav1 Ambulance)) (tell-start(at uav2 Ambulance))Initial State
)(parallel [l2,u2]
(ask-end(suppressed Fire)) Phase 1 Intermediate
State (ask-end(rescued family)) (ask-end(at uav1 Ambulance))
) )
) )
(ask-end(at uav2 Ambulance)) Phase 2Goal State
![Page 76: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/76.jpg)
Environment Model
• Terrain Map
• Object instantiations: – UAV uav1 – UAV uav2 – RESCU-READY uav1– RESCUE-READY uav2 – IN-DISTRESS family– LOCATION Ambulance – LOCATION Fire – LOCATION RescuePoint
![Page 77: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/77.jpg)
Vehicle Specifications
• Vehicle linearized dynamics
• Vehicle primitive operators:
– Fly(V,A,B) • move UAV “V” from location “A” to location “B”
– Refit(V) • Prepare UAV “V” to drop fire retardant
– Drop(V,A) • Drop fire retardant at location “A” with UAV “V”
– Rescue(V,P,A) • Rescue people “P” in distress with UAV “V” at location “A”
![Page 78: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/78.jpg)
Kirk Model-based Execution System Overview
Strategy Selection
TPN Planner
Activity Planning
Generative Activity Planner
Visibility Graph
Mission DeveloperRMPL Strategy macrocontrol decompositionprogram
Mission Controller
• Strategy Selection
• Activity Planning figures out
within strategic framework using
determines the optimal rules / strategies to accomplish mission goals.
how to achieve mission goals
available low-level actions.
Strategy Macro Library
Operators,
Scenario Model Tactics,
state configuration goals
environment and action data
schedulable plan with rationale
Human / Computer Interface
MILP Path-Planning
![Page 79: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/79.jpg)
Kirk Constructs Vehicle Activity Plan Using a Generative Temporal Planner
Approach: • Encode Goal Plan using an LPGP-style encoding • Prototype using LPGP [Fox/Long, CP03]
Mission Goal State Plan
Generative Temporal Planner Use Atomic Generative Planner
To Generate Operators and Precedence
Extract Temporal Plan and Check Schedulability
Translate to Planning Problem with Atomic Operators
Vehicle Operator Definitions
(GraphPlan – Blum & Furst)
Vehicle Activity Plan
![Page 80: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/80.jpg)
Generated Activity Plan
Refit-Inv Fly-Inv Fly-InvRefit-End Refit-Start Fly-Start[10,+INF] [20,+INF] [20,+INF][10,20]Fly-Start [20,+INF]Fly-Inv Suppress-StartSuppress-Inv Fly-EndFire [20,+INF] [10,20] Suppress-End
CP-Inv-1 CP-Inv-1 CP-Inv-1 CP-Inv-1 CP-Inv-1 CP-Inv-1 CP-Inv-1CP-Start CP-Midpoint [0,100] [0,100] [0,100] [0,100] [0,100] [0,100] [0,100]
Kirk extracts a least commitment plan and generates a rationale
[0,100]
[20,+INF] [10,20]Fly-StartFire
Fly-Inv[20,+INF]
Fly-End Suppress-StartSuppress-Inv[10,20]
Refit-Start Refit-Inv[10,+INF] Refit-End Fly-Start
Fly-Inv[20,+INF]
Fly-Inv[20,+INF]
![Page 81: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/81.jpg)
Kirk Model-based Execution System Overview
Strategy Selection
TPN Planner
Activity Planning
Generative Activity Planner
Visibility Graph
Mission DeveloperRMPL Strategy macrocontrol decompositionprogram
Mission Controller
Human / Computer Interface
MILP Path-Planning
• Strategy Selection
• Activity Planning figures out
within strategic framework using
determines the optimal rules / strategies to accomplish mission goals.
how to achieve mission goals
available low-level actions.
Strategy Macro Library
Operators,
Scenario Model Tactics,
state configuration goals
environment and action data
schedulable plan with rationale
![Page 82: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/82.jpg)
Output: Least Commitment Plan with Rationale
Plan layered with rationale Rescue(UAV1,Troops,RSQ)
Refit(UAV1)Fly(UAV1,Base,RSQ) Fly(UAV1,RSQ,Base)
[20,+INF] [10,+INF] [20,+INF] [30,60]
[20,+INF] [10,20] [20,+INF]
[0,100] [0,100]
Control Program Phase IIControl Program Phase I
Fly(UAV2,Radar,Base)Fly(UAV2,Base,Radar) Attack(UAV2,Radar)
![Page 83: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/83.jpg)
Kirk Ensures Plan Completeness, Consistency and Minimality
Activity-A fact-L Activity-Cfact-J [l3,u3]
fact-O[l1,u1]
fact-MStart End
Activity-B Activity-D fact-Pfact-K fact-N[l2,u2] [l4,u4]
• Complete Plan • A plan is complete IFF every precondition of every activity is achieved. • An activity’s precondition is achieved IFF:
• The precondition is the effect of a preceding activity (support), and • No intervening step conflicts with the precondition (mutex).
• Consistent Plan • The plan is consistent IFF the temporal constraints of its activities are consistent (the
associated distance graph has no negative cycles), and • no conflicting (mutex) activities can co-occur.
• Minimal Plan • The plan is minimal IFF every constraint serves a purpose, i.e.,
• If we remove any temporal or symbolic constraint from a minimal plan, the new plan is not equivalent to the original plan
![Page 84: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/84.jpg)
Plan-based HCI Proof of Concept: Coaching through Coordinated Views
(Courtesy of Howard Shrobe, Principal Research Scientist, MIT CSAIL. Used with permission.)
![Page 85: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/85.jpg)
Plan & Geography View
Sequencing:
(Courtesy of Howard Shrobe, Principal Research Scientist, MIT CSAIL. Used with permission.)
![Page 86: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/86.jpg)
Causal ViewCausality
Explanation
(Courtesy of Howard Shrobe, Principal Research Scientist, MIT CSAIL. Used with permission.)
![Page 87: Model-based Programming of Cooperating Explorers · Model-based Programming of Cooperating Explorers Brian C. Williams CSAIL Dept. Aeronautics and Astronautics ... • Noise spike](https://reader033.fdocuments.us/reader033/viewer/2022042122/5e9d7aa6cb8ccb0f64799fc2/html5/thumbnails/87.jpg)
Model-based Programmingof Robust Robotic Networks
• Long-lived systems achieve robustness by coordinating a complex network of internal devices.
• Programmers make a myriad of mistakes when programming these autonomic processes.
• Model-based programming simplifies this task by elevating the programmer to the level of a coach: – Makes hidden states directly accessible to the programmer. – Automatically mapping between states, observables and control variables.
• Model-based executives reasoning quickly and extensively by exploiting conflicts.
• Mission-level executives combine activity planning, logical decision making and control into a single hybrid decision problem.