39
1

0 Pete Bonasso Mark Boddy (Adventium) Dave Kortenkamp Scott Bell 1

Embed Size (px)

Citation preview

  • Slide 1
  • 0
  • Slide 2
  • Pete Bonasso Mark Boddy (Adventium) Dave Kortenkamp Scott Bell 1
  • Slide 3
  • procedure We have PRIDE & PRL for procedure authoring, display and execution planning We have augmented PRIDE & PRL to author & display planning information associated with procedures that can be used by automated planners capturing and maintaining the domain models The major stumbling block to realizing the widespread use of automation techniques for operations is capturing and maintaining the domain models needed to support such techniques This project seeks to develop a framework for consistent ontological modeling across domains, that can be exploited by planners and executives currently being developed for NASA 2
  • Slide 4
  • 3 Ontological Development Environment PRIDE Plan Actions TranslateTranslate PRL Procedure info to executives Procedures & Planning Actions Planning Aid Planning Algorithms Ontology Editor OWL Database Design Docs * Telemetry (ISS Configuration) Goals Planning Actions Configuration snapshots http * CAMMP & IMS (ORU locations) XML,RDF Procedures Plan Actions Models Plans
  • Slide 5
  • Develop an authoring system for domain models (PRONTOE PRIDE ONTOlogy Editor) Develop the ORU location kernel for EVA/ROBO (use core kernels from Phase 1) Develop interfaces to online model data Develop the ORU LOCation (ORLOC) application Identify methods to integrate data with the models Test PRONTOE and ORLOC 4
  • Slide 6
  • Classes, subclasses and relations among them truss-segment, ORU-bag, ceta-light can-hold (medium-ORU-bag, ceta-light) Class instances LAB-ceta-light1, S1 located (LAB-ceta-light1) = S1 Directives Preconditions and effects, e.g., crew must possess a PGT before unbolting a CETA light Axioms for bookkeeping and physics, e.g., if a container is located at A, so are its contents Constraints (includes flight rules), e.g., if a ceta-light heater is not on then its lamp must be on Data - facts that represent a specific configuration of all the instances, e.g., switch settings, modes, locations 5
  • Slide 7
  • The base Floor of the ontology = classes and relations based on modeling choices, e.g., Includes axioms Not editable by users We have an all domains base & an ISS-base The kernel extensions Per flight discipline, e.g., EPS, C&DH, EVA A starting set of classes and instances of the ISS to be edited and expanded by users The ontological data Collection of facts that represent a specific configuration of all the instances Can be updated both manually and electronically 6
  • Slide 8
  • User doesnt need to know about ontologies Add/delete/modify data to support procedure authoring Navigate graphically through the ontological hierarchy Invoke ontological reasoners to speed relation entries Author and save what-if snapshots to use for planning future activities Integrate with PRIDE Planning Wizard Classes, instances and relations Axioms for bookkeeping and constraint management Output to OWL files To be read and updated by planning systems To be read and updated by procedure execution systems 7
  • Slide 9
  • Ontology Editor
  • Slide 10
  • DC Switching Unit DCSUs Main bus switching unit MBSUs DC-to-DC Converter Unit DDCUs Remote power controller module RPCMs Multiplexer/Demultiplexer MDMs Flex hose rotary coupler FHRCs InterFace Heat Exchanger IFHXs Battery Charge Discharge Unit BCDUs Control Moment Gyro CMGs Cargo Transport Container CTCs Nitrogen tank assembly NTAs Ammomia tank assembly ATAs Trailing Umbilical System Reel Assembly TUS-RAs Pump Module Assemblies PMAs Utility Transfer assembly UTAs YAW Joints YAW-Jts Solar Array Wings SAWs 9 Big 12 ORUs
  • Slide 11
  • OTSD ORU Temporary Stowage Device MUT-EE multi-use tether end effector FGB/AGB fixed/adjustable grapple bar Ballstack LDTDT Long Duration Tie-Down Tether RET/adjustable Retractable Equipment Tether, also adjustable CETA-swing arm configuration WIF worksite interface ORU tethers SPDM OTP (ORU and tool platform) APFR articulating portable foot restraint SPD Spool Positioning Device Safety tether Thermal booties/FPP (floating potential probe) QD (quick disconnect)/Vent tools (bags) Toolbox MLI (multilayer insulation) shrouds Tool bag Truss stowage bin capacity, contents, launch locks GAP spanner Fluid jumper OIH On-orbiter Installable Handrail Tether shuttle OIWIF On orbiter installable WIF Rail stop (MT mobile transporter, ETR ( EXPRESS Transportation Rack), tether shuttle Scoop D-handle 10 Not in 1074 Not in ExCATT Needs work
  • Slide 12
  • Quick graphical/textual search for items by class/subclass User editing of item state, e.g., location, settings, anomalies Include URI to Mission Integration Database Applications System (MIDAS) (https://iss- www.jsc.nasa.gov/midasagnt/plsql/midas_home_oas/) Include on-orbit media links (io.jsc.nasa.gov/app) Single locus of ORU data Flight controllers prepare EVA activities and associated equipment location changes (EVA Xfer Cue Card) Flight controllers update models via completed EVA tasks Changes auto-generated and sent to external databases (IMS, EXCATT) and others (ROBO, Pointing, etc.) Auto-generation of reports by equipment type or location Author and save what-if snapshots to use for planning future ROBO/EVA activities 11
  • Slide 13
  • 12 Ontological Data Connections PRL (XML) OWL Database (XML, RDF) Design Docs * Telemetry Configuration snapshots http * CAMMP & IMS DBs (ORU locations) ORLOC Tool PRONTOE Planning Wizard PRIDE Procedure Authoring instances classes/subclasses instances relations resources Procedures Actions -Preconditions -Effects classes/subclasses instances relations resources axioms constraints instances Planning Actions TranslateTranslate to planners display processing Reports updated properties changes classes/subclasses instances relations axioms constraints
  • Slide 14
  • 13 ExCATT OWL Database Query for differences JSON Event Files JSON Event File Post after validating Changes from EVAs IMS API Query for differences Change Form Post after validating ORLOC Changes from EVAs
  • Slide 15
  • 14 Base - Abstract Entity - Commands - PRIDE:CDRSarmCmd - PRIDE:MDMrtEnable - Telemetry - PRIDE:smokeDetActiveBitStatus - PRIDE:MDMframeCount Derived from PRIDE sysref
  • Slide 16
  • ISP 15 Telemetry Updates OWL Database (XML, RDF) Design Docs * Telemetry http * display processing updated properties Config Plugin Config Snapshots ISPresso REStful Data Tele metry Captured ISP Actions Create Configuration Snapshot Merge Configuration Snapshot Create dynamic configuration (telemetry) Update from ExCATT ExCATT Files
  • Slide 17
  • 16 TASKS Quarters Principal STAFF 123456 Bonasso,Boddy, All 78 Year 1* Task 1: Refine Phase 1 base ontology Task 2: Develop editor with Phase 1 Models Task 3: Design and develop data interfaces Task 4: Extend editor to support data editing Task 5: Iterate editor development with SMEs Task 6: Build AP interface with OWL models Task 7: Test models using Phase 1 scenario Year 2 Task 1: Use editor to complete ORU models Task 2: Work with SMEs to select a new scenario Task 3: Demonstrate plan generation for new scenario Task 4: Develop ORLOC tool with SMEs Task 5: Demonstrate ORLOC in new scenario Task 6: Document results and deliver software Demo Test Final Report All Bonasso Bonasso, Boddy, SMEs Bonasso All Bonasso, SMEs All Rpt All Editor1 Editor2 ORLOC- alpha ORLOC-beta All Bonasso, SMEs *Overrunning resources
  • Slide 18
  • Ontologies Phase 1 ontology for core systems verified Redesign of location modeling for Big 12 ORUs complete Phase 2 initial modeling complete PRONTOE 0.5 complete Completed first round of PRONTOE demos to interested parties IWPSS paper accepted/presented* Modeling changes made based on user feedback ExCATT Phase 2 ontology used ExCATT part catalog and event files Can compare ontology with ExCATT files IMS waiting on API (Russell Knights work?) ISP have a preliminary design *Jeremy wants to meet 17
  • Slide 19
  • Develop PRIDE interfaces to Phase 2 ontology 1) Commands and telemetry 2) Procedure editing 3) DOUG develop 1 st cut interface (todays show and tell) Integrate with planner Develop I/O API for Phase 2 ontology Initial OWL->PDDL completed and translation plans achieved Working on axioms next PPW integration deferred to next year ExCATT, IMS attend stakeholders meetings Paper to AI in Space workshop 18
  • Slide 20
  • Limit one user read/write at a time User uses PRONTOE to edit kernel and run reasoner Launching PRONTOE will trigger reasoner Inferences to other kernels are posted User corrects problems to achieve a consistent ontology Other users use svn status to check for changes to their kernels Review the changes in PRONTOE If accepted commit to repository If rejected => meet with other users to resolve differences 19
  • Slide 21
  • Updates affect all kernels Reasoners must reach a fix point => no more inferences can be made Updates from planners can expect to be logically ordered Asynchronous updates (e.g., ISP) will be problematic Define a logical endpoint to an update (e.g., some quiescent state of the ISS) Run reasoner to a fix point and check for consistency Accept inconsistencies from soft constraints Run hard constraint violations to ground Is this an SBIR topic? 20
  • Slide 22
  • Direct subclasses => types/subtypes Class assertions => instances Object properties => predicate definitions Object property assertions => predicate assertions 21 * PDDL-e = PDDL 2.1 + axioms + hierarchical actions
  • Slide 23
  • 22 (define (domain ISS-BASE) (:comment "ISS-base Ontology") (:extends base) (:types station-object stowage-structures orbital-replacement-unit - physical-entity iss-computer - station-object oru-role - role sarj-mode us_gnc-mode device-mode - mode iss-schematic-location - schematic-location iss-computer - computer oru-location iss-location - physical-location truss-location module-location external-stowage-platform-location ex-press-logistics-carrier-location airway - iss-location ) (:constants esp0306-aft-stb-nad esp0206-aft-prt-zen esp0206-fwd-prt-nad esp0204-aft-stb-zen - external-stowage- platform-location active non-active stand-by - device-mode auto-track blind directed-position - sarj-mode Z1B00F03ZS Z1B00F03NS Z1B00F03NP Z1B00F03ZP P3B02F01NP P1B06F04MS S1B05F04MP P1B06F01MP S1B05F01MS S5B26F04MM S5B29F01MM S6B53F04PB S6B53F01PB S1B07F03MP S0B04F01MS S1B11F01MS P1B12F01MP P1B08F01MS S1B07F01MP P1B16F01NS S1B15F01ZP S0B00F06ZP S0B00F06ZS S0B01F01NS S0B01F01ZS S1B13F01ZP S0B00F06MP S0B02F02MS S0B02F02MP S0B00F06MS S0B02F01MP S0B01F01MS S0B01F01MP - truss-location elc0307-aft-prt-nad elc0109-aft-stb-zen elc0109-fwd-prt-zen elc0102-fwd-prt-zen elc0201-aft-prt-nad elc0205-aft-stb-nad elc0106-fwd-stb-zen elc0206-aft-stb-zen elc0107-fwd-stb-nad - ex-press-logistics-carrier- location CMG cmg_ta drift gnc-standby udg wait - us_gnc-mode intra-vehicle - iss-location airlock ulab-aec-stb nod2aec-zen nod2aec-nad nod2fec-nad nod2fec-zen ulab-aec-prt - module-location spare-oru used - oru-role ) (:predicates (has-oru-role ?oru - orbital-replacement-unit ?or - oru-role) (fills-oru-role ?or - oru-role ?oru - orbital-replacement-unit) (is-attached-to ?so - station-object ?so - station-object) (has-iss-location ?so - station-object ?il - iss-location) (has-oru-location ?oru - orbital-replacement-unit ?ol - oru-location) ) ISS-base.pddl
  • Slide 24
  • 23 Container(?x), PhysicalEntity(?y), ISSlocation(?z), contains(?x, ?y), hasISSlocation(?x, ?z) -> hasISSlocation(?y, ?z) (:axiom :vars (?x - container ?y - physical-entity ?z - iss-location) :context (and (contains ?x ?y) (has-iss-location ?x ?z)) :implies (has-iss-location ?y ?z) )
  • Slide 25
  • 24 (define (domain nasa-domain) (:requirements :domain-axioms :multi-agent :durative-actions) (:extends nasa2i) (:types body-size - abstract-entity crew flight-controller - Agent cato phalcon adco odin thor - flight-controller safety-tether-pack - container) (:constants sally joe bob - crew small medium large - body-size) (:predicates (body-size - fact ?c - crew ?s - body-size) (ingressed ?c - crew ?o - (or spdm_arm crew_&_equipment_translation_aid_[ceta] articulating-portable-foot-restraint)) (too-far ?l1 ?l2 - location) (extracted-item-to ?ev - crew ?item - station-object ?container - container) (retrieve-item_a ?ev - crew ?item - station-object) (tether-swapped ?ev - crew ?st1 - safety-tether) (tethered_to ?st - safety-tether ?ev - crew) ) (:axiom :vars (?a - agent ?o - physical-entity) :context (and (possesses ?a ?o) (not (= ?o nothing))) :implies (possessed_by ?o ?a) :comment "possessed_by inverseOf possesses") (:axiom :vars (?a Agent ?t1 ?t2 - physical-entity) :context (and (contains ?t1 ?t2); put least-used first (possesses ?a ?t1) (not (= ?t2 Nothing)) (not (= ?t1 ?t2))) :implies (possesses ?a ?t2) :comment "possesses is transitive over contains") (:axiom :vars (?o1 ?o2 - physical-entity) :context (and (contains ?o1 ?o2) (not (= ?o2 Nothing))) :implies (contained_by ?o2 ?o1) :documentation "contained_by inverseOf contains") (:axiom :vars (?a Agent ?h - (or spdm_arm crew_&_equipment_translation_aid_[ceta]) ?l - iss-location) :context (and (ingressed ?a ?h) (has-iss-location ?h ?l)) :implies (has-iss-location ?a ?l) :documentation "you are located wherever the thing you're ingressed to is located.") (:axiom :vars (?o1 ?o2 - physical-entity) :context (not (contains ?o1 ?o2)) :implies (not (contained_by ?o2 ?o1)) :documentation "when one is negated, the other must be as well") ) (owl:Restriction 'possesses 'owl:cardinality :multi-value) (owl:Restriction 'possessed_by 'owl:cardinality 1) ; predicate default is :multi-value (owl:Restriction 'contained_by 'owl:cardinality 1) (owl:Restriction 'contains 'owl:cardinality agents&axioms.pddl
  • Slide 26
  • 25 base.pddl (+ axioms) ISS-base.pddl (+ axioms) nasa2i.pddl nasa-domain eva.pddl base.owl ISS-base.owl nasa2i.owl agents&actions. pddl = extends actions from PPW Instances & assertions initial situation
  • Slide 27
  • 26
  • Slide 28
  • 27 actions & a problem (define (durative-action Translate-by-handrail) :parameters (?ev - crew ?end-loc - iss-location) :vars (?start-loc - iss-location) :condition (at start (has-iss-location ?ev ?start-loc)) :effect (at end (has-iss-location ?ev ?end-loc)) :duration time-from-path :comment "?ev travels by handrail from ?start-loc to ?end-loc") (define (durative-action Extract-item-to-bag) :parameters (?ev - crew ?item - (or luminaire__ceta_light control-panel-assembly) ?container - oru-bag) :vars (?pgt - pgt-with-turn-setting ?l - (has-iss-location ?item)) :duration 12.0 :condition (and (at start (has-iss-location ?ev ?l)) (at start (possesses ?ev ?container)) (at start (= (possessed_by ?pgt) ?ev)) (at start (bag-size-for ?item ?container))) :effect (and (at end (extracted-item-to ?ev ?item ?container)) (at end (contains ?container ?item)) ) :comment "crew removes ?item at ?l and stows in bag." ) (define (durative-action Retrieve-item) :parameters (?ev - crew ?item - (or luminaire__ceta_light control-panel-assembly power-cable space-positioning-device)) :vars (?container - (or oru-bag fish-stringer) ?loc - (has-iss-location ?item)) :expansion (sequential (possesses ?ev ?container) (has-iss-location ?ev ?loc) (extracted-item-to ?ev ?item ?container) ) :effect (at end (retrieve-item_a ?ev ?item)) :comment "?ev picks up ?container, travels to ?item's loc, unmounts and stores ?item in ?container and returns.") (define (problem bob-get-light) (:domain nasa-domain) (:situation phalcon-eva) (:deadline 100.0) (:init (has-iss-location bob airlock) (possesses bob oru-bag_1) (possesses bob pgt_1)) (:goal (retrieve-item_a bob LUMINAIRE_3)) )
  • Slide 29
  • 28 plan achieved purpose-established RETRIEVE-ITEM0: RETRIEVE-ITEM_A(BOB,LUMINAIRE_3) Thus ends the plan-generation phase of BOB-GET-LIGHT... -------- plan: RETRIEVE-ITEM0 -------- RETRIEVE-ITEM0: RETRIEVE-ITEM_A(BOB,LUMINAIRE_3) sequential BOB-GET-LIGHT_IS: POSSESSES(BOB,ORU-BAG_1) TRANSLATE-BY-HANDRAIL13: HAS-ISS-LOCATION(BOB,S1B07F03MP) EXTRACT-ITEM-TO-BAG56: EXTRACTED-ITEM-TO(BOB,LUMINAIRE_3,ORU-BAG_1) probability-of-success = 0.902 duration = 27.00 +nodes-examined+ = 4 +constraints-tested+ = 0 +axioms-applied+ = 3 0.05 CPU seconds [0.012 CPU sec/node] RETRIEVE-ITEM0
  • Slide 30
  • 29
  • Slide 31
  • 30 more actions & a 2 nd problem (define (durative-action install-tether&swap) :parameters (?ev - crew ?st1 ?st2 - safety-tether) :vars (?l - (has-iss-location ?ev) ?stp - safety-tether-pack) :condition (and (at start (not (= ?st1 ?st2))) (at start (tethered_to ?st1 ?ev)) (at start (contains ?stp ?st2)) (at start (has-iss-location ?stp ?l)) ) :effect (and (at end (not (contains ?stp ?st2))) (at end (tethered_to ?st2 ?ev)) (at end (has-iss-location ?st2 ?l)) (at end (tether-swapped ?ev ?st1))) :duration 5 :comment "?ev installs a second tether and then swaps his current tether for the new one.") (define (durative-action Translate-by-hr&swap) :parameters (?ev - crew ?end-loc - location) :vars (?start-loc - (has-iss-location ?ev) ?mloc - (intermediate-loc-for ?start-loc ?end-loc) ?st - safety-tether) :condition (and (at start (too-far ?start-loc ?end-loc)) (at start (not (= ?start-loc ?end-loc))) (at start (tethered_to ?st ?ev)) ) :expansion (sequential (has-iss-location ?ev ?mloc) (tether-swapped ?ev ?st) (has-iss-location ?ev ?end-loc) ) :effect (at end (has-iss-location ?ev ?end-loc)) :duration time-from-path :comment "?ev travels by handrail to ?end-loc via ?mloc") (define (problem bob-get-light2) (:domain nasa-domain) (:situation phalcon-eva) (:deadline 100.0) (:init (has-iss-location bob airlock) (possesses bob oru-bag_1) (possesses bob pgt_1) (tethered_to 85-ft_tether_3 bob) (possesses bob stp_1)) (:goal (retrieve-item_a bob LUMINAIRE_2)) )
  • Slide 32
  • 31 2 nd plan achieved purpose-established RETRIEVE-ITEM0: RETRIEVE-ITEM_A(BOB,LUMINAIRE_2) Thus ends the plan-generation phase of BOB-GET-LIGHT2... -------- plan: RETRIEVE-ITEM0 -------- RETRIEVE-ITEM0: RETRIEVE-ITEM_A(BOB,LUMINAIRE_2) sequential BOB-GET-LIGHT2_IS: POSSESSES(BOB,ORU-BAG_1) TRANSLATE-BY-HR&SWAP3: HAS-ISS-LOCATION(BOB,P3B02F01NP) sequential TRANSLATE-BY-HANDRAIL78: HAS-ISS-LOCATION(BOB,P1B10F01MM) INSTALL-TETHER&SWAP135: TETHER-SWAPPED(BOB,85-FT_TETHER_3) TRANSLATE-BY-HANDRAIL182: HAS-ISS-LOCATION(BOB,P3B02F01NP) EXTRACT-ITEM-TO-BAG213: EXTRACTED-ITEM-TO(BOB,LUMINAIRE_2,ORU-BAG_1) probability-of-success = 0.815 duration = 32.00 +nodes-examined+ = 8 +constraints-tested+ = 0 +axioms-applied+ = 20 0.19 CPU seconds [0.024 CPU sec/node] RETRIEVE-ITEM0
  • Slide 33
  • 32 MBSU at S0B02F02MP DDCU at S4B23F04ZM
  • Slide 34
  • 33 FHRC at ESP0207aftPrtNadPMA at ELC0107FwdStbNad DCSU at ESP0102aftPrtMid
  • Slide 35
  • 34 IFHX at "COLEprtFwd" View for items on any forward face for nod2 cole jemp jmlm pma2 pmml
  • Slide 36
  • 35 View for items on any nadir face for pma2 nod2 nod3 cole ulab jemp pmml alck PDGF at UlabFwdNad"
  • Slide 37
  • 36 Aft end cones have special views Port side of Aft end cone of Node 1
  • Slide 38
  • 37 Specific views for specific locations, e.g., Node 2 aft end cone IFHX at Nod2AecNad"
  • Slide 39
  • Discussion 38