Engineering Master on Applied Artificial Intelligence

The Robotics course (Module A04) is part of for the Engineering Master program on Applied Artificial Intelligence, in partnership with the Swiss Distance University Institute.

As part of an AI Master programme, our Robotics course provides a unique perspective by focusing on AI-centered, state-of-the-art topics such as movement primitives, optimal control and manifolds, while adopting a modern and practical view on classical approaches related to kinematics and dynamics.

Snapshots of the video lectures for the Robotics course.

Syllabus

Week 1: Introduction
  • Why is AI for robotics hard?
  • A brief history of robotics and autonomous machines
  • Learning from demonstration (observational learning, kinesthetic teaching, correspondence problems)
Week 2: Tools for AI in robotics
  • Simulators and visualizers
  • ROS middleware
  • Toolkits and softwares
Week 3: Movement primitives I
  • Movements as superposition of basis functions
  • Bézier curves and Bernstein polynomials
Week 4: Movement primitives II
  • Locally weighted regression
  • Gaussian mixture regression
  • Dynamical movement primitives
Week 5: Operational space control
  • Forward kinematics
  • Inverse kinematics
  • Task prioritization and nullspace control
Week 6: Human-robot collaboration
  • Linear dynamical systems
  • Gravity compensation
  • Impedance control
Week 7: Anticipation and planning
  • Linear quadratic regulation (LQR)
  • Linear quadratic tracking (LQT)
  • Iterative LQR (iLQR)
Week 8: Ergodic control
  • Exploration behaviors
  • Decomposition as Fourier series
  • Spatial coverage problems
Week 9: Manifolds in robotics
  • Representations of orientation data
  • Quaternions
  • Riemannian geometry

Labs

The robotics labs for this course are prepared and led by Dr João Silvério. These labs do not require any installation: only a web browser is required! This has been achieved through jupyter-ros, created by Wolf Vollprecht from QuantStack, which allows us to embed ROS interfaces in jupyter notebooks.

Example of interactive exercises from the Robotics course, run within a web browser from jupyter notebooks by using the jupyter-ros interface.