page 1
play

Page 1 Model-based Programming Control Program Hidden State - PowerPoint PPT Presentation

Motivation for Highly Outline Autonomous Systems Motivation, Objective & Approach DS-1 Example Scenario A Reactive Model-based Programming Language for Robotic Space Explorers Introduction to Model-based Programming


  1. Motivation for Highly Outline Autonomous Systems • Motivation, Objective & Approach DS-1 • Example Scenario A Reactive Model-based Programming Language for Robotic Space Explorers • Introduction to Model-based Programming • Reactive Model-based Programming Language Michel Ingham, Robert Ragno, Brian Williams (RMPL) Overview MIT Space Systems Lab MIT Artificial Intelligence Lab • Compilation and Execution of Model-based Programs Cambridge, MA • Future work i-SAIRAS June 21, 2001 Chart: 1 Chart: 2 Chart: 3 State-of-the-art Research Goal Approach Autonomy S/W Goals Scripts Barrier to wide deployment of autonomy s/w: To reach this goal, we introduce: numerous tasks use variety of Model-based Programming Mission Scripted modeling & programming languages Manager Executive (a novel approach to designing embedded s/w systems) Reactive Model-based Programming Language Planner/ Diagnosis Our goal: Scheduler & Repair (a language for encoding model-based programs) � head toward unified representation of spacecraft Planning models Component models � accommodate complexities of spacecraft domain Today’s objective: • key challenge: complexity of s/w interfaces � maintain capacity for knowledge abstraction show how M-B Programming & RMPL • different modules require distinct knowledge representation provide a framework for robust sequencing – benefit: ability to reason at different levels of abstraction – drawbacks: potential divergent models, knowledge duplication Chart: 4 Chart: 5 Chart: 6 Page 1

  2. Model-based Programming Control Program Hidden State Example Scenario • Note that states like (EngineA = Standby) are not Orbital Insertion Scenario: Control program specifies DIRECTLY observable or controllable… OrbitInsert():: Consider a simplified spacecraft, consisting of two identical redundant state trajectories: Given observations… (thrust = zero) AND (power_in = nominal) engines and a science camera ( do-watching ((EngineA = Firing) OR • must fire one of the two engines (EngineB = Firing)) and command history… last command issued = “ last command issued = “standby standby- -cmd cmd” ” ( parallel • set both engines to ‘standby’ (EngineA = Standby) can infer “hidden state”! ⇒ (EngineA = Standby) (EngineB = Standby) • prior to firing engine, camera must be (Camera = Off) turned off to avoid plume contamination ( do-watching (EngineA = Failed) Similarly, can use system knowledge to “figure out” • in case of primary engine failure, fire ( when-donext ( (EngineA = Standby) AND how to achieve this state. [Turn on DriverA]; [Open ValveA] (Camera = Off) ) backup engine instead (EngineA = Firing))) EngineA EngineB EngineA EngineB • Thinking in terms of such “hidden states” makes the ( when-donext ( (EngineA = Failed) AND (EngineB = Standby) AND task of writing the control program much easier (Camera = Off) ) (EngineB = Firing)))) • Model-based Programming provides a way to infer and control these hidden states Science Camera Science Camera Chart: 7 Chart: 8 Chart: 9 Simplified S/C System Model Simplified S/C System Model Simplified S/C System Model component modes… component modes… component modes… described by constraints on variables… described by constraints on variables… deterministic and probabilistic transitions Engine Model Engine Model Camera Model Camera Model Engine Model Engine Model Camera Model Camera Model Engine Model Engine Model Camera Model Camera Model (thrust = zero) AND (thrust = zero) AND Off Off Off Off Off (power_in = zero) AND Off (power_in = zero) AND Off Off (power_in = zero) Off Off (power_in = zero) Off Off (shutter = closed) (shutter = closed) off off- - standby standby- - cmd cmd Failed Failed (thrust = zero) AND Failed Failed (thrust = zero) AND cmd cmd Failed Failed (power_in = nominal) (power_in = nominal) 0.01 turnoff- - 0.01 turnoff turnon- turnon - Standby Standby Standby Standby Standby Standby cmd cmd cmd cmd fire fire- - standby standby- - cmd cmd cmd cmd 0.01 0.01 (thrust = full) AND (thrust = full) AND (power_in = nominal) (power_in = nominal) (power_in = nominal) AND (power_in = nominal) AND On On On On On On (shutter = open) (shutter = open) Firing Firing Firing Firing Firing Firing Chart: 10 Chart: 11 Chart: 12 Page 2

  3. Model-based Programming Model-based Programming Model-based Programming Fundamental principle: Such a control program is input to a sequencing engine , for onboard execution. An underlying mode estimation and reactive planning layer uses a model of Control programs can be written by asserting and checking STATES which may the system to deduce the system state from the observations, and to figure out be “hidden”, rather than operating directly on observable or control variables… how to achieve a specified goal state. Control Control Control Control Onboard Sequencer Onboard Sequencer Onboard Sequencer Onboard Sequencer Program Program Program Program State Configuration State Configuration State Configuration estimates goals estimates goals estimates goals System System System System Model Model Model Model Deductive Deductive Deductive Deductive Mode Estimator & Mode Estimator & Mode Estimator & Mode Estimator & Reactive Planner Reactive Planner Reactive Planner Reactive Planner Flight System Control Flight System Control Flight System Control Observations Commands Observations Commands Observations Observations Commands Commands RT Control Layer RT Control Layer RT Control Layer Chart: 13 Chart: 14 Chart: 15 Model-based Programming RMPL Constructs RMPL Model of Computation • To support efficient execution, RMPL code is compiled An underlying mode estimation and reactive planning layer uses a model of the into Hierarchical Constraint Automata (HCA): • constraint c system to deduce the system state from the observations, and to figure out how to achieve a specified goal state . c (always A ) • concurrency (parallel exp1 exp2 … ) A c Control Onboard Sequencer • sequential ordering (sequence exp1 exp2 … ) Program State State Configuration Configuration (parallel A B ) (if-thennext-elsenext c then-exp else-exp ) • conditional branching (when-donext c A ) estimates estimates goals goals _ A B c System A c (unless-thennext c exp ) Model • guarded transition Deductive (if-thennext-elsenext c A B ) Mode Estimator & (always exp ) • iteration (whenever-donext c A ) c Reactive Planner A _ A c c • extended guarded transition (when-donext c exp ) B • iterated guarded transition (whenever-donext c exp ) (do-watching c A ) (unless-thennext c A ) _ Flight System Control MAINTAIN( c ) _ c A Observations (do-watching c exp ) A Commands • preemption RT Control Layer Chart: 16 Chart: 17 Chart: 18 Page 3

Recommend


More recommend