Assignment on “Differential Dynamic Programming with Safety Constraints”

Supervisor: Prof. Ville Kyrki (
Advisor: Dr. Gökhan Alcan (

Keywords: differential dynamic programming, model predictive control, safety constraints, turtlebot 3 waffle pi.

Project Description

Differential Dynamic Programming (DDP) is an iterative trajectory optimization method, in which the large optimization problem is solved by decomposing it into smaller optimization sub-problems. Even though the unconstrained DDP is well-studied, employing state and/or control constraints in a DDP framework is not completely mature. However, there exist some promising works that enable us to impose state/constrol constraints and particularly safety constraints.

The goal of this assignment is to understand the constrained DDP with safety precautions and implement it on a real robot, e.g., Turtlebot 3 Waffle Pi. It is expected to perform the experiments in an engineered environment in which the positions of the robot and the obstacles will be measured by an external vision based system (motion capture system).


  • Implementation of constrained DDP with safety constraints on a real robot,
  • Integration of constrained DDP code with motion capture system,
  • Design of different experiments with obstacles and making inferences from obtained experimental data.

Practical Information

Pre-requisites: Python, Linux
Tools: OSQP, ROS
Platforms: Turtlebot 3 Waffle Pi, Optitrack Motion Capture System
Start: Available immediately