Robot Control (RoCo)

Course content

Controlling a robot, e.g. a robot arm or a humanoid, is witnessing a paradigm shift by combining physical simulation with machine learning, typically reinforcement learning to solve a large repertoire of challenges that previously have been impossible to solve. In such a scenario the simulator provides a model or prior for the robot to interact and learn before its deployment to the real world. This field of simulation-based reinforcement learning (SiRL) addresses many interesting issues such as motion control, motion imitation, and system identification in advanced autonomous robotics manipulation and navigation, prediction, detection or mimicking of human motion, that may benefit sectors like health-care, industrial manufacturing and entertainment. Many more examples exist. This course will prepare students for working with this world-changing technology.

This course is ideal for students who wish to work with robotics, simulation and practical reinforcement learning in their master's thesis. It is also helpful  for students who want to work with character animation or content creation for XR.

Students are expected to solve weekly practical exercises mostly programming with python, but some C++ could be involved if preferred, as well as some lab-space work as well. Students are expected to be self-driven in getting the software to work on their own devices, like installing an auto differentiation framework and making it run. Students could be exposed to working with vision or motion capture data.

Learning outcome

Knowledge of

  • Formulation and elements of reinforcement learning problems.
  • Reinforcement learning software frameworks such as Gymnasium and Stable Baselines3.
  • Fundamentals of articulated body kinematics and dynamics.
  • Using robot arms such as UR5 and motion capture data.
  • Concepts in optimal control such as open and closed loop control, PD controllers, trajectory optimization and model-predictive control (MPC) etc.
  • Computational Graphs, forward- and reverse-mode automatic differentiation, the adjoint method, adjoint state equation, and sensitivity analysis.
  • Auto-differentiation tools & differentiable simulator frameworks such as DiffTaiChi, PyTorch, Warp, JAX, MuJoCo, and more.
  • Simulation-based reinforcement learning, sim-to-real gap and mitigation.
  • Augmenting differentiable simulators with trajectory optimization and policy optimization.

 

Skills in

  • Using a differentiable simulator to model robot control and compute gradients.
  • Deriving the models for trajectory optimization and policy optimization and explaining their differences.


Competences to

  • Formulate and solve reinforcement learning problems for control
  • Solve motion control problems such as grasping, manipulation, locomotion, or navigation.
  • Solve system identification problems such as parameter estimation from vision data.

A mixture of lectures and exercise classes on project group work with written hand-ins.

See Absalon when the course is set up.

We recommend academic qualifications equivalent to a BSc degree.

We recommend students to have passed courses that involve python programming, linear algebra, calculus (analytical computing derivatives of functions), and solving minimization problems with gradient descent methods.

This is the rebranded version of the course "Simulation-based Reinforcement Learning (SiRL)". Students that have taken the old version will not be able to sign up this one.

Written
Oral
Continuous feedback during the course of the semester
ECTS
7,5 ECTS
Type of assessment
Oral examination, 30 minutes (no preparation time)
Type of assessment details
The exam takes an outset in theory taught over the course. Students should be able to derive theory/math on the blackboard during the examination.
Examination prerequisites

To qualify for the exam, the student must complete at least 5 reports. There will be 7 short reports during the course. The reports can be made as a group or as individual reports. Each report should be a maximum of 5 pages. 

Aid
No aids allowed
Marking scale
7-point grading scale
Censorship form
No external censorship
Several internal examiners
Re-exam

Same as the ordinary exam. 

The exam prerequisite must be met (submitted or approved according to the exam prerequisites field) no later than three weeks before the re-exam. The course responsible will inform the student/s, about when they will be notified, whether they can take the exam or not.

Criteria for exam assessment

In order to obtain the grade 12 the student should convincingly and accurately demonstrate the knowledge, skills and competences described under Learning Outcome.

Single subject courses (day)

  • Category
  • Hours
  • Lectures
  • 28
  • Preparation
  • 52
  • Exercises
  • 28
  • Project work
  • 70
  • Exam Preparation
  • 27
  • Exam
  • 1
  • English
  • 206

Kursusinformation

Language
English
Course number
NDAK26004U
ECTS
7,5 ECTS
Programme level
Full Degree Master
Duration

1 block

Placement
Block 4
Schedulegroup
A
Capacity
30
The number of places might be reduced if you register in the late-registration period (BSc and MSc) or as a credit or single subject student.
Studyboard
Study Board of Mathematics and Computer Science
Contracting department
  • Department of Computer Science
Contracting faculty
  • Faculty of Science
Course Coordinator
  • Hang Yin   (4-6b647c6c43676c316e7831676e)
Saved on the 23-02-2026

Er du BA- eller KA-studerende?

Er du bachelor- eller kandidat-studerende, så find dette kursus i kursusbasen for studerende:

Kursusinformation for indskrevne studerende