= Geometric reasoning and symbol grounding in SPARK = All the properties are send to the ontology server ONLY when they change. == Scene status == {{{ In the robot's model: [Object ID] isMoving true|false }}} == Spatial relationships == At each SPARK iteration, all the following relationships are tested: {{{ for R in [isIn, isOn, isNextTo] for obj1, obj2 in Objects: check(obj1 R obj2) }}} {{{ for R in [relativePosition]: for obj in Objects, agent in Agents: check(obj1 R agent) }}} ``relativePosition`` are summarized in this figure: {{attachment:relative_position.jpg|SPARK relative positions|width="300"}} Updates to the spatial relationships are only sent to the robot's model. == Visibility/Reachability == {{{ In EACH agents' model: [Object ID] isVisible true|false [Object ID] isReachable true|false }}} == Agent focus tracking == {{attachment:looksat_pointsat.png|Explaning looksAt, pointsAt, focusesOn|width="300"}} Computed facts: {{{ In the robot's model: [Agent ID] pointsAt [Object ID] [Agent ID] looksAt [Object ID] }}}