The course opens not with a machine but with a wish-list. Before asking how to build a robot, Prof. Roli asks what we would actually want one to be able to do. Four requirements are put on the table, each illustrated by a real system:
| Requirement | Illustration used in the lectures |
|---|---|
| Be programmable by learning | Brenna D. Argall (Northwestern University) with the iCub robot |
| Be able to predict failure states in the operating environment and in their own bodies | Starfish, by Hod Lipson, Cornell University |
| Plan complex tasks | The NASA Perseverance rover |
| Be able to deal with novelty, uncertainty and change | — |
The fourth requirement is the one that gives the course its shape. Dealing with novelty, uncertainty and change is restated by the professor in two words that will return in every single chapter from here on: robots should be both robust and adaptive. Robust, so that they keep working when the world is not exactly as we assumed; adaptive, so that they change when the world changes more than robustness can absorb.
Notice that the second requirement — predicting failure states of their own bodies — already breaks the classic software mindset. A robot program is not a program that runs on an abstract machine: it runs on a body that wears out, gets damaged and behaves differently at different battery levels. The body is part of the problem statement.
The lectures split the current situation into advancements and open issues. It is worth learning both lists, because the "current issues" column is essentially the table of contents of the rest of the course.
The integration of AI and control theory methods into robotics has produced effective robotic systems — yet, as the slides put it plainly, there is much room for improvement.
Artificial intelligence is presented as a viable approach to robot design — one among several, not the only one. The AI toolbox that the course draws from includes reasoning, planning, learning, problem solving and behaviour design. The reference here is Pfeifer & Scheier, Understanding Intelligence (The MIT Press, 1999), one of the two course textbooks.
Robotics, however, is a genuinely interdisciplinary field. The introductory lecture lists the cultural background a roboticist draws on:
The term robotics has several different meanings depending on the cultural and application viewpoint: industrial devices, teleoperation, autonomous vehicles, home robotics (vacuum cleaners), robotics for entertainment (Lego Mindstorms), humanoid robotics. This course is about autonomous robots — the teleoperated end of that list is explicitly out of scope.
The stated learning outcome of IRS is to "provide knowledge and competencies for designing a system composed of one or more robots, able to autonomously achieve their tasks" — through models, methods, architectures and tools for programming robots. The emphasis on methodology is not decoration: the evaluation criteria for the oral exam explicitly include "the methodology used in the project or in lab activities and the scientific method used".
Here is the definition to memorise, verbatim from the slides:
A robot is an autonomous system which exists in the physical world, can sense its environment, and can act on it to achieve some goals.
Four constituents follow directly from that definition, and each one answers a "so that" clause:
| Constituent | So that… |
|---|---|
| A physical body | …it can do work in the physical world |
| Sensors | …it can sense and perceive its environment |
| Effectors and actuators | …it can take actions |
| A controller | …it can be autonomous |
Two alternative definitions are offered, depending on the viewpoint. A robot is:
The ability to survive in complex environments is a given for all biological systems: no one is impressed by a cockroach. Achieving that same ability in artificial agents is an extremely hard problem. Systems that can resolve these issues are called complete autonomous agents, where complete means that the system is capable of behaving autonomously in an environment without human intervention.
In this course the expressions complete autonomous agents and robots are used interchangeably. For agents living in a digital world the qualifier software is added ("software agents").
The thought experiment used to make the notion concrete is Toda's fungus eaters: creatures sent to a distant planet to collect uranium. The more uranium they collect, the more they are rewarded. They eat a special fungus that grows on the planet, and they are equipped with a fungus store, means of locomotion, means for decision making and means for collecting uranium.
The point of the story is the list of properties a fungus eater must have — a list that is exactly the specification of a complete autonomous agent:
| Property | Meaning in the fungus-eater story |
|---|---|
| Autonomous | No remote control: the planet is too far away |
| Situated | They must have a view of the world from their own perspective; the only information available is acquired through their sensors in interaction with the environment |
| Self-sufficient | Energy (the fungus), maintenance, etc. |
| Embodied | Immersed in an environment |
| Adaptive | The planet is not known in advance and changes |
The fungus eater is a beautiful design constraint because collecting uranium and eating fungus compete. An agent that only optimises uranium collection starves; an agent that only eats never earns anything. A complete agent must trade off several tasks over time — which is precisely why behaviour control becomes a problem in the first place.
Choose how the agent splits its time between collecting uranium and eating. Watch what the two essential variables do. There is no controller here: you are the controller.
Self-sufficiency means an agent's ability to sustain itself over extended periods of time. The canonical example: a robot has to maintain its battery level. To be considered self-sufficient, the robot should be able to maintain its energy supply without external human intervention.
From this, the slides draw a chain of consequences that is worth writing out because it is the seed of the whole "behaviour" idea:
The lecture ends this slide with a question that is asked back to the students: how would you define a "behaviour" or an "action"? This is not rhetorical. Chapter 6 gives the course answer (behaviours achieve or maintain goals, are time-extended, can take inputs from sensors and from other behaviours, and are more complex than actions) — but the fact that the question needs asking at all is part of the lesson.
Autonomy generally means freedom from external control. The lectures immediately qualify it with four statements:
The third point is subtle and often missed. Autonomy is not a property you can read off the robot alone: it is relational. A robot whose internal state is fully transparent to an observer can be steered by that observer almost at will; the same robot facing an observer who knows nothing about its internals is, in practice, far more autonomous.
Toggle the properties on and off and read the resulting characterisation. The scale is a matter of degree, exactly as the slides insist.
An agent is situated if it acquires information about its environment only through its sensors, in interaction with the environment. A situated agent interacts with the world on its own, without an intervening human (or another agent).
Situatedness is what makes robot programming genuinely different from writing a simulation of a robot. In a simulation you can always cheat: read the true position of the target from the world model, query the exact geometry of the obstacle. A situated agent has only its readings, with their noise, their blind spots and their ambiguities. This is why the lab activities insist on removing every sensor that the task does not need, and on testing with noise levels in the range [0.02, 0.1].
In the lab, the ARGoS positioning sensor gives the robot its ground-truth pose. The assignments allow it only for testing and evaluation purposes — never inside the controller. Using it to drive behaviour destroys situatedness and the resulting controller proves nothing.
Since robots are real physical agents, they are embodied. The slides call embodiment an essential characteristic, and spell out what it implies:
The second point is the constructive one, and it is a thread that runs to the end of the course. Exploiting the body is not a workaround for a weak controller; it is a design strategy. Chapter 16 returns to it under the name of morphological computation, and Chapter 3 gives its most famous illustration in the Swiss robot.
The chapter closes with the statement that everything else in the course rests on:
The robot's behaviour emerges from the interplay among robot controller, robot body and environment. It is a circular causal loop: the percepts captured by the sensors are used by the controller to compute and send signals to the actuators; the robot's actions, in turn, produce new inputs to the sensors.
Because the loop passes through the environment, you cannot predict a behaviour by reading the controller alone — a claim Chapter 3 turns into a formal warning (the frame-of-reference problem) and Chapter 15 turns into an experimental methodology (behaviour must be measured statistically, not asserted).
Click a link of the sensory-motor loop to sever it and see what kind of system you are left with. Nothing here is a metaphor: every one of these cases has a name in robotics.
A robot is an autonomous system which exists in the physical world, can sense its environment, and can act on it to achieve some goals. Its constituents are: a physical body (so it can do work in the physical world), sensors (so it can sense and perceive its environment), effectors and actuators (so it can take actions), and a controller (so it can be autonomous). Two alternative characterisations: an embodied artificial intelligence, or a machine that can autonomously carry out useful work.
Autonomous (no remote control), situated (it has a view of the world from its own perspective; the only information available is acquired through its sensors in interaction with the environment), self-sufficient (energy, maintenance), embodied (immersed in an environment) and adaptive. "Complete" means the system can behave autonomously in an environment without human intervention.
Because to be self-sufficient a complete agent must perform multiple tasks — it cannot only collect uranium, it must also eat; it cannot only clean, it must also recharge. As soon as there is more than one task, the agent must decide what to do next and for how long. That decision problem is behaviour control, and the architectures of Part II (subsumption, motor schemas, fuzzy systems, behaviour trees) are the alternative answers to it.
No. Autonomy generally means "freedom from external control" but it is a matter of degree, not an all-or-nothing issue. Self-sufficiency increases it; the capacity to learn increases it. It is also relational: the extent to which an agent can control another depends on the controlling agent's knowledge of the state and internal mechanisms of the controlled agent. The same robot is more or less autonomous depending on who is watching and how much they know.
It forbids acquiring information about the environment by any route other than the agent's own sensors, in interaction with the environment. A situated agent interacts with the world on its own, without an intervening human or another agent. Practically, in the lab it forbids using ground-truth information (such as the ARGoS positioning sensor) inside the controller — that data may only be used for testing and evaluation.
(1) Robots must interact with the environment and depend on physical forces, energy dissipation, damage and so on — a real, noisy environment rather than an abstract one. (2) Through the concept of embodiment we can design effective robots which exploit their physical properties and those of the environment they live in. The first is a constraint, the second is an opportunity.
The robot's behaviour emerges from the interplay among controller, body and environment, in a circular causal loop: percepts captured by the sensors are used by the controller to compute signals for the actuators; the robot's actions in turn produce new inputs to the sensors. Because the causal chain passes through the environment, the same program in a different arena produces a different behaviour. The program is only one arc of the circle.
Rather limited autonomy and self-sufficiency; difficulty in integrating different capabilities; adaptiveness and robustness still difficult to bring together; and promising areas still to be fully explored — swarm robotics, automatic design and soft robotics. Note that these four issues are, respectively, the subject of Chapters 5-8, 4, 12-16 and 9-11 of this course.
Be programmable by learning; be able to predict failure states in their operating environment and in their own bodies; plan complex tasks; and be able to deal with novelty, uncertainty and change. The last one is restated as: robots should be both robust and adaptive.
For the Ingegneria e Scienze Informatiche and Intelligent Embedded Systems curricula, two parts of 15/30 each: practical work (either active participation in at least 4 of the 6 lab sessions plus a submitted report on all 6 activities, or presentation and discussion of a project agreed in advance) and an oral exam discussing the topics of the course. Evaluation criteria: knowledge acquired (context, precision and depth), methodology used in the project or lab activities, and the scientific method used. For the EIT Digital curriculum, a project is presented and discussed; lab participation is not mandatory but highly recommended.