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:
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
Computed facts:
In the robot's model: [Agent ID] pointsAt [Object ID] [Agent ID] looksAt [Object ID]