Master Thesis

Universal dual arm manipulation planning

Work default illustration


  • If you are interested in the proposal, please contact with the supervisors.


Service robots are designed to operate in human-friendly environments and to manipulate objects in the same way as humans do it they are often equipped with sophisticated arms (see the PR2, the Justin or the Baxter robots, for instance). However, this complex equipment comes at the cost a complex programming. One of the fundamental task of any robot is that of planning its motions, avoiding collisions with the environment. When the robot uses two arms to manipulate an object, the planning is specially challenging since the arms have to be properly coordinated to avoid releasing or crushing the object. Up to now, this problem is solved relying on the inverse kinematic functions, which are different for each robot.


The objective of this project is to develop a dual-arm planning system that can be used with any robot.


To achieve the objective of this project we will combine two different technologies: The CuikSuite (a general toolbox for motion planning developed at IRI) and ROS (the Robot Operating System). This integration will follow the next steps

  • Analysis of the existing path planning solutions in ROS (MoveIt).
  • Definition of the robot in the CuikSuite from the URDF file.
  • Implementation of a ROS node integrating the CuikSuite path planning services.
  • Implementation of a ROS node that executes the outputs of the CuikSuite.
  • Definition of the URDFs of the robots to use (Barrett, RX60, PR2, Baxter) an design of the experiments.
  • Simulated experiments.
  • Experiments with real robots.
  • Report the results on a magazine.


The objectives of the project can be adjusted according to the interest of the candidate. The project can also be developed as a "Directed Research Work" (18 credits master).

This project is ideal for master students with

  • Some notions on path planning
  • Experience in ROS
  • Good programming skills in C/C++

The work is under the scope of the following projects:

  • CUIK++: An Extension of Branch-and-Prune Techniques for Motion Analysis and Synthesis of Complex Robotic Systems (web)