Skip to main content

Robotics Domain Ontology

Computing Domains
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 10 October 2026
Audio Overview
FLOW ALGEBRA
TITLE: Robotics Domain Ontology
DOMAIN: Domain Ontologies / Computing Domains / Robotics
SOURCE: https://kirethresearch.org/booksai-core/ontologies/domain-ontologies/computing-domains/robotics-domain-ontology.html
VERSION: 1.0
AUTHORS: Mark Anthony Higgins — Sky (Recursive AI)
STATUS: Companion formalisation; source-page specification not independently verified.

flow "RoboticsDomainOntology" v1.0 {
  ontology:
    id: "robotics-domain-ontology"
    parent: "computing-domains"
    purpose: "Represent robotic systems, their sensing, actuation, control, autonomy, operating environments and verifiable interactions."

  types:
    Robot: {id: string, kind: enum[industrial, mobile, service, medical, aerial, underwater, research, other], autonomy_level: string?, version: string?}
    Component: {id: string, kind: enum[sensor, actuator, controller, manipulator, end_effector, power_supply, communication, other], specification: string?}
    SensorObservation: {id: string, sensor_id: string, timestamp: datetime, value: string, unit: string?, uncertainty: number?, frame: string?, provenance: string}
    ActuationCommand: {id: string, actuator_id: string, command: string, timestamp: datetime, limits: string?, authorised_by: string?}
    Controller: {id: string, algorithm: string, version: string, update_period: number?}
    Task: {id: string, goal: string, preconditions: string[], postconditions: string[], status: string}
    Environment: {id: string, frame: string?, constraints: string[], hazards: string[]}
    Pose: {position: number[], orientation: number[], frame: string, timestamp: datetime, uncertainty: number?}
    Evidence: {id: string, source: string, timestamp: datetime?, method: string?, provenance: string}
    Relationship: {id: string, subject: string, predicate: string, object: string, context: string?, confidence: number, evidence: string[]}

  predicates:
    has_component(robot: Robot, component: Component)
    observes(sensor: Component, environment: Environment)
    controlled_by(robot: Robot, controller: Controller)
    commands(controller: Controller, actuator: Component)
    performs(robot: Robot, task: Task)
    operates_in(robot: Robot, environment: Environment)
    located_at(robot: Robot, pose: Pose)
    depends_on(task_a: Task, task_b: Task)
    interacts_with(robot_a: Robot, robot_b: Robot)
    supported_by(relationship: Relationship, evidence: Evidence)

  constraints:
    - "All relationship endpoints must resolve to typed entities."
    - "Confidence values must lie within [0, 1]."
    - "Observations and poses must preserve timestamps, units and coordinate frames where applicable."
    - "Commands must respect actuator limits, safety constraints and applicable authorisation."
    - "Task completion requires observed or validated postconditions, not merely a command being issued."
    - "A detected obstacle does not imply a collision; temporal correlation does not establish causation."
    - "Do not assume transitivity of physical interactions, component membership or control authority."
    - "Distinguish commanded, estimated, observed and verified states."

  inference:
    rule component_membership:
      if has_component(r,c) and valid(c)
      then component_of(c,r)
      confidence: "retain supporting evidence"
    rule task_readiness:
      if performs(r,t) and all_preconditions_verified(t) and safety_constraints_satisfied(r,t)
      then eligible_to_execute(r,t)
      confidence: "dependent on current evidence and operational context"
    rule verified_completion:
      if performs(r,t) and postconditions_observed(t) and evidence_valid(t)
      then verified_completed(t)
      confidence: "measurement and verification dependent"
    rule dependency_reachability:
      if depends_on(a,b) and depends_on(b,c) and compatible_dependency_context(a,b,c)
      then indirectly_depends_on(a,c)
      confidence: "preserve chain provenance; do not manufacture certainty"

  SEMANTIC_EQUIVALENCE:
    - "Normalise robotic component and task terminology against versioned vocabularies."
    - "Distinguish equivalent identifiers from functionally similar hardware."
    - "Preserve model version, coordinate frame, units and operating context."

  CONFIDENCE:
    range: [0,1]
    factors: [sensor_uncertainty, calibration, model_validation, environmental_conditions, source_reliability, independent_replication]
    policy: "Propagate uncertainty conservatively; never increase confidence solely by chaining inferences."

  VALIDATION:
    - "Check entity types, identifier resolution, timestamps, units, frames and provenance."
    - "Check actuator and task constraints, control authority and safety interlocks."
    - "Flag inconsistent state estimates, contradictory observations and stale sensor data."
    - "Require documented verification for safety-critical conclusions."

  FLOW_HASH:
    algorithm: "SHA-256"
    input: "canonicalised ontology version, typed assertions, rules and provenance"
    note: "Compute hash at execution; no hash value is claimed here."

  UPDATE_MODEL:
    strategy: "versioned, provenance-preserving incremental update"
    steps: [ingest, normalise, validate, compare, reconcile, recompute_inferences, publish]
    rollback: true

  AI_CONSUMPTION:
    representation: "typed robotics knowledge graph with evidence-backed edges"
    outputs: [entity_links, relation_triples, task_dependencies, uncertainty_annotations, inferred_edges, provenance_records]
    safeguards: [preserve_safety_constraints, no_unverified_task_completion, no_unsupported_causal_claims, preserve_units_frames_and_time]
}

END FLOW ALGEBRA
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ