What this course is
A robot is a computer with the physical ability to interact with the world — a goal-oriented
machine that can sense, plan, and act. It senses its environment through sensors, fuses
that information with a goal to plan an action, then drives actuators to carry it out, and
repeats the loop continuously. This course covers every concept needed to make a robot do exactly
that in simulated environments. Theory-based lectures are complemented by simulation exercises in
ROS (Robot Operating System), the de facto standard software for robotics research. It pairs
with the experimental Robotics & Automation LAB
(OACT.M.A_C1_448152), where the same concepts are put into practice on real-robot hardware.
The structure mirrors that sense → plan → act loop. After a Linux and ROS foundation, the spine of the term walks the full robot software stack: describe the robot (URDF), place it in space (TF and kinematics), act on the world (control), move through it (navigation), and sense it (vision). A mid-term checkpoint then gives way to a research-frontiers seminar series and a capstone paper analysis — moving students from operators to critical readers of robotics research.
B.Sc. (Hons.) in intelligent systems (University of Portsmouth, 2007); M.Eng. and Ph.D. in robotics engineering (Osaka University, 2011 & 2016). His interests span robotics, cryptography, and complex systems. A former Marie Curie Fellow at the MIT Media Lab — where he pioneered combining distributed robotic systems with blockchain — he is now an assistant professor at IE and a research fellow with the MIT Connection Science group, working on security, behavior, and business models for robotics via novel cryptographic methods.
By the end of the course you can…
- Understand the basic concepts behind a modern robotics system: sensing, planning, and actuation — the full sense→plan→act loop, and how each stage maps onto a concrete ROS component.
- Program and simulate custom controllers for robotic arms, humanoids, rovers, and drones — from a tuned PID loop on a manipulator to a full navigation stack on a mobile base.
- Get acquainted with the latest robotics research and gain the ability to critically analyze a robotics research paper — reading a paper for its strengths, weaknesses, opportunities, and threats (SWOT).
How learning and grading work
IE University's method is collaborative, active, and applied: students build knowledge and sharpen skills through lectures, discussions, in-class and asynchronous exercises, field work, group work, and individual study — roughly 150 hours total. The professor's role is to lead and guide students toward the learning objectives rather than simply transmit content. Grades come from intermediate tests, the final group presentation, and class participation.
Intermediate tests
Deliverable: a session-19 mid-term, run as an individual ROS programming exercise, plus lab exercises completed individually with results presented.
Evaluated on: demonstrated proficiency with the ROS framework — correct use of nodes, topics/services/actions, and the ability to make a simulated robot sense, plan, and act.
Group presentation
Deliverable: in groups of ~5, a deep scientific SWOT analysis of a robotics research paper chosen from candidates surfaced across sessions 20–29; presented in sessions 29–30.
Evaluated on: depth of analysis — clearly arguing the paper's strengths, weaknesses, opportunities, and threats. GenAI may not be used for the presentation.
Class participation
Deliverable: presence in class plus contributions to discussion throughout the term.
Evaluated on: quality, not quantity — frequent speakers are not automatically rated higher. Students are encouraged to contribute from the very first sessions.
- Attendance: 80% attendance is required. Students who fall below it fail both the ordinary and extraordinary calls for the year and must re-enroll and re-take the course the following year.
- Calls: each student has four chances to pass a course across two consecutive academic years — ordinary plus extraordinary (June/July re-sit) calls.
- Re-sit: the June/July re-sit is a single comprehensive exam (continuous evaluation is not carried over). It requires physical presence at your campus (Segovia or Madrid); maximum grade is 8.0 ("notable"), minimum passing grade is 5.
- Reviews & appeals: a grade review session follows grading; attending it is a prerequisite for any grade appeal.
- AI policy: GenAI may assist with assignments and code writing with acknowledgement, but may not be used for presentations, group submissions, or exams; misuse counts as academic misconduct and can mean failing the assignment or the course.
All 30 sessions, by module
The course runs as five arcs: setup & foundations, a long core ROS spine (description → kinematics → control → navigation → vision), a mid-term checkpoint, a research-frontiers seminar series, and a keynote & capstone finale. Each module opens with a short overview and a set of learning outcomes; each session lists its objective, the concepts it covers, the core technical idea where one applies, a key idea or concrete example, and annotated readings. Where a session maps onto an interactive demo, follow the blue tag to poke at it.
Setup & Foundations
Sessions 1–2Orientation and the Linux groundwork everything else stands on. Before a robot can sense, plan, or act, you need to be at home on the operating system and command line it actually runs on.
- Explain what robotics is and place the course's topics within the sense–plan–act framing.
- Navigate a Linux filesystem, manage file permissions, and read/write simple bash scripts.
- Connect to a robot's onboard computer remotely over
ssh.
Course kick-off & the robotics field
Objective: Frame the field and set expectations for the term.
- What robotics is — the history (Karel Čapek's 1920 play R.U.R. coined "robot") and the modern definition of a goal-oriented machine that senses, plans, and acts.
- Instructor's background — robotics, cryptography, and complex systems, framing the research flavour of the course.
- Admin — class schedule, software installation, and opening the online accounts needed for the simulation work.
- Roadmap — an overview of every topic the course will cover.
GNU/Linux essentials
Objective: Be fluent on the Linux command line a robot runs on.
- Filesystem — navigating and interacting with the Linux directory tree (ROS itself is built on Linux conventions).
- Permissions — the read/write/execute model that governs which processes may touch which files and devices.
- Bash scripting — writing simple programs to automate setup and launch steps.
- Remote access — connecting to a robot's onboard computer over
ssh, since real robots are rarely controlled at a keyboard. - A wrap-up programming example tying the concepts together.
ssh and drive it with scripts, not a mouse. Command-line fluency is a robotics skill.Core ROS — Sense, Plan, Act
Sessions 3–18The spine of the course: from ROS plumbing and robot description through kinematics, control, navigation, and vision — then a review. Each block adds one layer to a robot that can ultimately perceive its world and move purposefully through it.
- Build ROS systems using nodes communicating over topics, services, and actions.
- Describe a robot's links and joints in URDF and reason about its degrees of freedom.
- Use the TF tree to track coordinate frames over time and solve forward/inverse kinematics for an arm.
- Design and tune PID control loops and apply them on the Tiago / Pepper platforms.
- Build a map, localize, and plan a path for a mobile base (Robotnik SUMMIT-XL).
- Apply OpenCV for color, edge, object, and face detection in a robotics context.
Introduction to ROS
Objective: Understand what ROS is, why we use it, and its core mechanics.
- What is ROS — a middleware framework that connects many small programs (nodes) into one robot, so teams can reuse drivers and algorithms instead of rewriting them.
- Topics — named asynchronous message streams (publish/subscribe) for continuous data like sensor readings.
- Services — synchronous request/response calls for one-off queries.
- Actions — long-running, preemptible goals with continuous feedback (e.g. "navigate to X").
- A closing programming example summarizing the concepts.
nodes exchanging typed messages.
Choose the right channel: topics for streams, services for quick queries,
actions for goals that take time and may be cancelled.Reading: Quigley et al. — chapters on the ROS graph, rostopic, and writing publisher/subscriber nodes map directly onto these two sessions.
URDF — describing a robot
Objective: Define a robot's structure and physical properties in an XML-like format.
- Visual model — building the robot's geometry from
links(rigid bodies) andjoints(the connections between them). - Physical properties — adding collision geometry, inertia, and friction so the model behaves correctly in simulation.
- URDF in ROS — feeding the description to the rest of the ecosystem; a simulated wrap-up example.
Reading: Siciliano & Khatib — the kinematics/modeling chapters underpin how a link-and-joint description translates into a movable mechanism.
TF (Transforms & Frames) + kinematics
Objective: Track multiple coordinate frames over time and reason about arm kinematics.
- Coordinate frames — expressing where things are relative to each other (e.g. an object in the camera frame vs. the base frame).
- Robot & joint states — reading the configuration of every joint to know the robot's current pose.
- Kinematic models — the math linking joint angles to end-effector pose; a simulated arm manipulation example.
Reading: Lynch & Park — the forward- and inverse-kinematics chapters are the canonical reference for the FK/IK math demonstrated here.
ROS control — making robots act
Objective: Build control loops and apply them to a simulated manipulation task.
- Control loops — continuously comparing a desired setpoint with a measured state and correcting the error.
- PID dynamics — how the proportional, integral, and derivative terms shape response speed, steady-state error, and overshoot.
- Custom controllers — applied on the Tiago / Pepper platforms in a simulated manipulation task.
e(t) to zero with
u = Kp·e + Ki·∫e dt + Kd·de/dt: P reacts to present error, I
cancels accumulated steady-state error, D damps overshoot by anticipating change.
Tuning the three gains is the central skill.Reading: Lynch & Park — the robot-control chapters cover feedback control and the PID gains tuned in the demo.
ROS navigation — mapping & planning (I)
Objective: Make a robot explore and navigate an environment.
- Mapping — building a map of a controlled environment from sensor data.
- Localization — estimating where the robot is within that map.
- Path planning — computing a route from a start to a desired destination; applied on the Robotnik SUMMIT-XL in simulation.
A*, Dijkstra) then searches that map for a
collision-free route, balancing path cost against search effort.Reading: Siegwart et al. — the localization, mapping, and planning chapters are the primary reference for this navigation block.
ROS navigation — mapping & planning (II)
Objective: Deepen the navigation stack and consolidate planning skills.
- Further map building, localization, and path planning, hardening the stack against harder environments.
- Extended simulated navigation on the Robotnik SUMMIT-XL, including re-planning when the world changes.
Reading: Siegwart et al. — continue with the planning and obstacle-avoidance chapters to support the deeper navigation exercises.
ROS + OpenCV — robot vision
Objective: Let a robot see and recognize its environment.
- Low-level vision — recognizing patterns, colors, and borders (edges) in an image.
- Detection — finding objects, people, and faces in a robotics context.
- A simulated wrap-up example connecting a camera feed to a robot's behavior.
Reading: Siciliano & Khatib — the sensing and machine-vision chapters cover the perception pipeline behind these OpenCV exercises.
ROS review & consolidation
Objective: Revisit all 15 theory sessions and prep for the mid-term.
- Concept review — a pass over every key concept from ROS plumbing through vision.
- Practical exercises — focused on control and data acquisition across the different robot platforms.
- A simulated wrap-up example integrating the full stack.
Mid-Term Checkpoint
Session 19A practical demonstration of ROS proficiency — the half-way gate between the hands-on core and the research-oriented second half of the term.
- Independently write a ROS program that makes a simulated robot sense, plan, and act.
- Demonstrate command of nodes, topics/services/actions, and at least one of kinematics, control, navigation, or vision under exam conditions.
Mid-term exam
Objective: Demonstrate proficiency with the ROS framework via an individual programming exercise. Counts toward the 50% intermediate-tests weighting.
Format: an individual, hands-on programming exercise — not a written test. You build and run code rather than describe it.
Research Frontiers
Sessions 20–25A seminar series on state-of-the-art robotics research. Each session surveys one emergent field; paper candidates for the final group presentation are surfaced throughout, so students start reading critically while the topics are fresh.
- Survey the state of the art across several emergent robotics research fields.
- Read a robotics paper critically and identify a candidate for the capstone SWOT analysis.
- Connect frontier research back to the sense–plan–act fundamentals of the core module.
New directions in robotics research
Objective: Survey emergent research fields and the latest advances opening up the discipline.
- An entry point to the seminar series: a map of where active robotics research is heading.
- How to read a research paper — and what makes one a good candidate for the capstone analysis.
Industry 4.0 & the future of work
Objective: Explore how AI, IoT, and automation reshape work-related processes.
- Industry 4.0 — the convergence of AI, the Internet of Things, and automation in connected factories.
- Research where robots improve work-related processes, and what that means for the future of work.
Human augmentation & biomechanics
Objective: Study where the human body meets the artificial to enhance its capabilities.
- Biomechanics — modeling the body's movement to design devices that work with it.
- Research where exoskeletons, prosthetics, and wearables augment human capability.
Bio-inspired robotics
Objective: Examine robot design and function inspired by biological systems.
- How animal morphology and behavior inform locomotion, grasping, and sensing.
- Research where biology is a design template — from insect gaits to soft, compliant bodies.
Cognitive robotics
Objective: Look at robots that achieve intelligent behavior, learning, and reasoning in complex environments.
- How learning and reasoning let a robot handle situations its programmers did not foresee.
- Research where perception, memory, and decision-making combine into adaptive behavior.
Human–robot interaction & collaborative robotics
Objective: Study robots that share space with humans and interact with them directly.
- HRI — designing communication, safety, and trust for robots that work near or with people.
- Cobots — collaborative robots built to share a workspace safely with human co-workers.
Keynotes & Capstone
Sessions 26–30Industry perspectives, then the final group research-paper analysis that ties the term together.
- Relate course concepts to real-world industry practice through expert keynotes.
- Deliver a structured SWOT analysis of a robotics research paper as a team.
- Defend the analysis clearly to an audience — the 40% capstone deliverable.
Industry keynote I
Objective: Hear an industry expert connect course concepts to robotics practice in the field.
Industry keynote II
Objective: A second industry keynote, broadening the view of where robotics is applied commercially.
Industry keynote III
Objective: A third industry keynote, closing out the guest-speaker series before the capstone.
Final group presentation
Objective: In groups of ~5, deliver a deep scientific SWOT analysis (strengths, weaknesses, opportunities, threats) of a chosen robotics research paper. Worth 40% of the final grade.
- Paper choice — selected from candidates provided across sessions 20–29.
- Analysis — a structured argument about the paper's contribution and limitations, not a summary.
- Constraint — GenAI may not be used for the presentation or group submission.
Glossary
A quick reference for the technical vocabulary used across the program — the terms a robotics paper, a ROS tutorial, or a lab demo will assume you already know.
- Sense–plan–act loop
- The core robotics cycle: perceive the world with sensors, fuse that with a goal to plan an action, execute it with actuators, repeat. The whole course elaborates this loop.
- ROS middleware
- The Robot Operating System — a framework that wires many small programs (
nodes) into one robot via standard messaging, enabling code reuse across projects. - Node
- A single ROS process responsible for one job (a driver, a planner, a controller). A robot is a graph of cooperating nodes.
- Topic
- A named, asynchronous message stream using publish/subscribe — ideal for continuous data such as sensor readings or velocity commands.
- Service
- A synchronous request/response call between nodes — used for one-off queries that return immediately.
- Action
- A long-running, preemptible goal with continuous feedback (e.g. "navigate to a pose"), which can be monitored and cancelled mid-execution.
- URDF
- Unified Robot Description Format — an XML-like language describing a robot as
links(rigid bodies) connected byjoints, plus collision and inertial properties. - Degrees of freedom DoF
- The number of independent parameters needed to specify a robot's configuration — typically one per movable joint.
- TF tree
- ROS's transform system: a time-stamped tree of coordinate frames that lets any pose be re-expressed in any other frame as the robot moves.
- Forward kinematics FK
- Computing the end-effector's pose from known joint angles — a direct, single-valued mapping.
- Inverse kinematics IK
- The reverse problem: finding joint angles that place the end-effector at a target pose. May have multiple, one, or no solutions.
- Workspace
- The set of all poses a robot's end-effector can physically reach given its links and joint limits.
- Control loop
- A feedback process that repeatedly compares a desired setpoint with the measured state and issues corrections to drive the error to zero.
- PID controller
- A controller combining Proportional, Integral, and Derivative terms:
u = Kp·e + Ki·∫e + Kd·de/dt— tuned to balance speed, steady-state error, and overshoot. - SLAM
- Simultaneous Localization And Mapping — building a map of an unknown environment while tracking the robot's pose within it.
- Localization
- Estimating the robot's pose (position and orientation) within a known map from sensor data.
- Path planning
- Searching a map for a collision-free route from a start to a goal;
A*and Dijkstra are classic graph-search planners. - Global vs. local planner
- The global planner finds a route over the known map; the local planner handles short-horizon obstacle avoidance and dynamic obstacles, triggering re-planning when needed.
- Differential drive
- A mobile-base design steered by varying the speeds of two independently driven wheels — turning by making one wheel spin faster than the other.
- OpenCV
- The open-source computer-vision library used in ROS for color, edge, object, and face detection.
- HSV color space
- Hue–Saturation–Value — separates color identity (hue) from brightness, making color-based detection more robust than in RGB.
- Edge detection
- Finding boundaries in an image where intensity changes sharply — a building block for shape and object recognition.
- Cobot
- A collaborative robot designed to share a workspace safely with humans, using force-limited motion and sensing to react to contact.
- HRI
- Human–Robot Interaction — the study of how robots communicate, cooperate, and build trust with people.
- Industry 4.0
- The fourth industrial revolution: networked cyber-physical systems combining AI, IoT, and automation across connected production.
- SWOT analysis
- A four-axis critique — Strengths, Weaknesses, Opportunities, Threats — applied to a research paper in the capstone presentation.
Recommended reading — annotated
Four recommended texts, each anchoring a different stretch of the course. The note on each entry says what it covers and which sessions it supports.
- Bruno Siciliano, Oussama Khatib (2016). Springer Handbook of Robotics. Springer. ISBN 9783319325 · digital A comprehensive reference spanning modeling, sensing, and machine vision — the broad backstop for URDF and the perception material. → sessions 5–6 (URDF), 15–16 (vision)
- Roland Siegwart, Illah R. Nourbakhsh, Davide Scaramuzza. Introduction to Autonomous Mobile Robots. MIT Press. ISBN 978026201535 · digital The mobile-robotics text: locomotion, localization, mapping (SLAM), and path planning — the core reference for the navigation block. → sessions 11–14 (navigation)
- Kevin M. Lynch, Frank C. Park (2017). Modern Robotics: Mechanics, Planning, and Control. Cambridge University Press. ISBN 978110715630 · digital The rigorous account of kinematics (FK/IK) and feedback control — the math behind the arm and PID sessions. → sessions 7–8 (TF/kinematics), 9–10 (control)
- Morgan Quigley, Brian Gerkey, William Smart (2016). Programming Robots with ROS: A Practical Introduction to the Robot Operating System. O'Reilly Media. ISBN 978144932389 · digital The hands-on ROS primer: nodes, topics, services, and actions with worked code — the everyday companion for the whole core module and the mid-term. → sessions 3–4 (ROS) & throughout module B, session 19