220 likes | 395 Views
Handling Time: Constraint-based Interval Planning. Compliments: David E. Smith desmith@arc.nasa.gov. An Autonomous Spacecraft. Observation-1 priority time window target instruments duration Observation-2 Observation-3 Observation-4 …. Objective: maximize science return.
E N D
Handling Time: Constraint-based Interval Planning Compliments: David E. Smith desmith@arc.nasa.gov
An Autonomous Spacecraft Observation-1 priority time window target instruments duration Observation-2 Observation-3 Observation-4 … Objective: maximize science return
Complications Observation-1 priority time window target instruments duration Observation-2 Observation-3 Observation-4 … angle between targets turn duration linked calibration target1 target2 … consumables: fuel power data storage cryogen Objective: maximize science return
Strips Assumptions Instantaneous actions No time constraints No concurrent actions No continuous quantities
Some STRIPS Operators • TakeImage (?target, ?instr): • Pre: Status(?instr, Calibrated), Pointing(?target) • Eff: Image(?target) • Calibrate (?instrument): • Pre: Status(?instr, On), Calibration-Target(?target), Pointing(?target) • Eff: ¬Status(?inst, On), Status(?instr, Calibrated) • Turn (?target): • Pre: Pointing(?direction), ?direction ≠ ?target • Eff: ¬Pointing(?direction), Pointing(?target) no time, no resources
Needed Extensions Resources Time Uncertainty
Pointing(Earth) Status(Cam2, Calibrated) ¬ Image(A7) Pointing(A7) Status(Cam2, Calibrated) ¬ Image(A7) Turn(A7) World Description • State-centric: • for each time describe propositions that are true • Proposition-centric: • for each proposition describe times it is true Turn(A7) Pointing(Earth) Pointing(A7) Status(Cam2, Calibrated)
B A A before B B A A meets B A A overlaps B B A contains B A A = B B A starts B A B A A A ends B B B Allen’s Ordering Relationships
TakeImage Schema • TakeImage (?target, ?instr): • Pre: Status(?instr, Calibrated), Pointing(?target) • Eff: Image(?target) TakeImage(?target, ?instr)A $P {Status(?instr, Calibrated)P Contains(P, A)} $Q {Pointing(?target)Q Contains(Q, A)} $R {Image(?target)R Meets(A, R)}
Pointing(?target) contains meets Image(?target) TakeImage(?target, ?instr) contains Status(?instr, Calibrated) Shorthand TakeImage (?target, ?instr) contained-by Status(?instr, Calibrated) contained-by Pointing(?target) meets Image(?target)
meets meets Pointing(?target) Turn(?target) Pointing(?direction) Turn Turn (?target) met-by Pointing(?direction) meets Pointing(?target)
Pointing(?target) contains meets meets Status(?instr, Calibrated) Calibrate(?instr) Status(?instr, On) contains CalibrationTarget(?target) Calibrate Calibrate (?instr) met-by Status(?instr, On) contained-by CalibrationTarget(?target) contained-by Pointing(?target) meets Status(?instr, Calibrated)
Algorithm • Choose: • introduce an action & instantiate constraints • coalesce propositions • Propagate constraints
Pointing(Earth) Status(Cam1, Off) Status(Cam2, On) CalibrationTarget(T17) Initial Plan meets Past Image(?target) Future meets -∞ ∞
Pointing(Earth) Status(Cam1, Off) Past meets Status(Cam2, On) -∞ CalibrationTarget(T17) Expansion 1 before Pointing(A7) contains meets meets Image(A7) Future TakeImage(A7, ?instr) ∞ contains Status(?instr, Calibrated)
Pointing(Earth) Status(Cam1, Off) Status(Cam2, On) CalibrationTarget(T17) Expansion 2 meets meets Pointing(A7) Turn(A7) Pointing(?direction) contains before meets Image(A7) TakeImage(A7, ?instr) Pointing(?caltarget) contains contains meets meets Status(?instr, Calibrated) Calibrate(?instr) Status(?instr, On) contains CalibrationTarget(?caltarget)
meets meets Pointing(A7) Turn(A7) Pointing(?direction) contains Pointing(Earth) before before meets Image(A7) TakeImage(A7, Cam2) Pointing(T17) Status(Cam1, Off) contains contains meets meets Status(Cam2, Calibrated) Calibrate(Cam2) Status(Cam2, On) contains CalibrationTarget(T17) Coalescing
Coalescing meets Pointing(A7) Turn(A7) contains Pointing(Earth) meets before meets Image(A7) TakeImage(A7, Cam2) Pointing(T17) Status(Cam1, Off) contains contains meets meets Status(Cam2, Calibrated) Calibrate(Cam2) Status(Cam2, On) contains CalibrationTarget(T17)
Expansion 3 meets Pointing(?direction) Pointing(A7) Turn(A7) Pointing(Earth) meets contains meets meets meets Image(A7) Turn(T17) TakeImage(A7, Cam2) Pointing(T17) Status(Cam1, Off) contains contains meets meets Status(Cam2, Calibrated) Calibrate(Cam2) Status(Cam2, On) contains CalibrationTarget(T17)
Coalescing meets Pointing(A7) Turn(A7) Pointing(Earth) contains meets meets meets meets Image(A7) Turn(T17) TakeImage(A7, Cam2) Pointing(T17) Status(Cam1, Off) contains contains meets meets Status(Cam2, Calibrated) Calibrate(Cam2) Status(Cam2, On) contains CalibrationTarget(T17)
proposition action action proposition action action threatens action meets meets action proposition action action proposition mutex action proposition Causal Links & Threats POCL CBI Causal links: Threats:
CBI Planners Zeno (Penberthy) intervals, no CSP Trains (Allen) Descartes (Joslin) extreme least commitment IxTeT (Ghallab) functional rep. HSTS (Muscettola) functional rep., activities