model-based programming of cooperative explorers prof. brian c. williams dept. of aeronautics and...

42
Model-based Model-based Programming Programming of Cooperative of Cooperative Explorers Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems MIT

Upload: joseph-summers

Post on 21-Jan-2016

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

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

Page 2: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

Classical RoboticsClassical Robotics

Page 3: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

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

Page 4: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

Exploring Mars: Hetrogenous robotics test bed

Cooperative

Page 5: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

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?

Page 6: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

Model-based Programming ofSelf Repairing Explorers

Page 7: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

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

Page 8: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

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

Page 9: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

Robustness involves controlling and sensing a complex internal network

Page 10: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

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

Page 11: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

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.

Page 12: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

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

Page 13: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

courtesy JPL

Started: January 1996Launch: Fall 1998

Page 14: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

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

Page 15: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

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?

Page 16: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

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.

Page 17: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

Orbital Insertion ExampleOrbital Insertion Example

EngineA EngineB

Science Camera

EngineA EngineB

Science Camera

Page 18: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

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

Page 19: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

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.

Page 20: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

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))))

Page 21: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

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))))

Page 22: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

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

Page 23: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

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.

Page 24: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

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

Page 25: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

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.

Page 26: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

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.

Page 27: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

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.

Page 28: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

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

Page 29: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

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.

Page 30: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

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?

Page 31: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

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?

Page 32: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

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

Page 33: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

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

Page 34: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

Enroute

Mission Scenario

HOMEHOME

RENDEZVOUSRENDEZVOUS RESCUERESCUE AREAAREA

Diverge

RESCUE LOCATIONRESCUE LOCATION

MEETING POINTMEETING POINT

Station: ABC

Station: XYZ

ONETWO

Page 35: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

Enroute Activity:

RendezvousRendezvous Rescue AreaRescue Area

Corridor 2

Corridor 1

Corridor 3

Enroute

Page 36: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

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:

Page 37: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

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

Page 38: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

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

Page 39: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

Temporal planning is combined with randomized path planning to find a collision free corridor

4 5

xinit

Path 1

xgoal

Xobs

Page 40: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

Robotic VehiclesRobotic Vehicles

ATRV Rovers Monster Trucks Blimps Spheres

Simulated Air/Space Vehicles

Page 41: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

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 …

Page 42: Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems

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.