Instructor-provided. You never talk to Webots directly.
The task
Somebody asks for a drink. The robot finds it — standing on a table or a
worktop, somewhere in a furnished apartment — and brings it back to
whoever asked.
Why that does not fetch a drink
How does it get across the apartment?
Which room is the kitchen?
What counts as a drink?
In what order?
What if the route is blocked?
Closing that gap
One layer at a time, and each one arrives as the answer to a question.
How does it get to the worktop?
Skills. A skill is an option:
\[ o = \langle\, \mathcal{I},\ \pi,\ \beta \,\rangle \]
\( \mathcal{I} \subseteq S \) — where it may start
\( \pi \) — what it does while it runs
\( \beta \) — when it stops, and whether it succeeded
Plus declared preconditions and effects.
Which are learned, which are given
Learned
Navigation
Base placement
Collision-free reaching
Given
Inverse kinematics
Grasping
Detection
The criterion: learn only what classical methods do badly.
Which room is the kitchen? What counts as a drink?
The world model.
Symbols the robot can ground in what it senses
A detector returns a can. It does not return a kitchen: a place has to be
named in the graph and tied to the map.
A knowledge graph and an ontology — rooms, surfaces, objects, and what holds between them
Weeks 4 and 5
In what order?
Planning. And here is the seam:
the preconditions and effects a skill declares are exactly what the
planner consumes.
What when it fails?
Execution and monitoring.
A skill terminates with a verdict: succeeded, or failed
A failed termination is what triggers replanning
The route to the kitchen is blocked. Now what?
The layers, assembled
This has a name
You have just re-derived the three-layer architecture.
The opposing position: subsumption — no world model, no plan,
behaviour from layered reactive control.
The hybrid won for tasks with a symbolic goal, because "fetch a drink"
is a sentence, and something has to hold it.
Symbol grounding
The plan says drink. The camera returns pixels.
Connecting the two has a name, a literature, and a week: 5.
Situation awareness
SA level
Course layer
L1 — perception of elements
YOLO detections, raw sensor readings
L2 — comprehension
the KG: this is a drink, on the worktop, in the kitchen
L3 — projection
planning and monitoring: what the plan will do, and whether the world still matches expectation
Endsley's model describes an operator's state of knowledge, not a
specification for architectural components. The mapping is a lens, not
an identity.
Perception is tooling, not a topic
Off-the-shelf YOLO gives the robot something to ground symbols in.
We use object detection. We do not study it.
The detection is tooling. The grounding — slide 21 — is a course topic.
The architecture as built
isfr.robot — drive, sense, arm, gripper
isfr.skills — the option contract, and the skills that implement it
The knowledge graph — the world model
The planner — over skills and meta-actions
The executive — runs the plan, and notices when it stops being true
How your Python reaches the robot
isfr_bridge is a C++ controller running inside Webots.
It publishes raw sensor readings and accepts motor setpoints. Nothing else.
Your Python talks to it over a socket — and never imports controller.
So your code runs on any machine, with no Webots install and no
WEBOTS_HOME.
Simulation time, not wall-clock
robot.sleep(1.0) waits one simulated second.
Run the world at half speed and the robot still drives the same distance.
An opt-in synchronous mode makes a command sequence reproducible run to run.
What is fixed, and what is yours
Fixed contracts — three, all term:
the Skill interface
the Atom shape for preconditions and effects
the ontology's base namespace
Yours: file formats, how a policy loads, how a plan step finds its skill.
Reconciling those choices is the final project.
The term, on the diagram
Weeks 2–3 — skills, and learning them
Weeks 4–5 — the world model
Weeks 6–7 — planning over both
Week 8 — execution and monitoring
Weeks 9–10 — your project
This week
Install: venv, requirements.txt, Webots R2025a
Run examples/01-robot-devices/
Micro-project: exercises/01-introduction/ — drive a closed square,
then ask whether you believe the robot
Reading
Brooks (1991), Intelligence without representation. Artificial Intelligence 47(1–3), 139–159.
Gat (1998), On Three-Layer Architectures. In Artificial Intelligence and Mobile Robots, AAAI Press / MIT Press, 195–210.
Harnad (1990), The symbol grounding problem. Physica D 42(1–3), 335–346.
Endsley (1995), Toward a Theory of Situation Awareness in Dynamic Systems. Human Factors 37(1), 32–64.