Project type 2017

Object-Throwing with a Robot Arm ()

Dynamic motions such as catching, juggling, hitting and throwing require accurate motion planning and motor control. In this work, we consider the problem of precisely throwing an object (namely a ball) to a predefined target. Throwing an object precisely is a challenging problem and requires the solution of three challenging problems. First, the release point needs to be determined with respect to the workspace of the robot and the target position. To address this challenge, a potential direction is estimating a set of trajectories that pass through the desired target position. Then one of these trajectories is chosen to provide a release point (position and velocity) which satisfies the kinematic constraints of the robot. The second challenge is coordinating hand and arm motions. A throwing motion needs to coordinate the arm motion with the hand opening such that the fingers open at a desired point. This motion is modeled through a reverse coupling of the arm and finger motions, where the fingers are closed at the beginning of the motion and then will open at the desired release point. The third challenge is generating a throwing motion. To address this problem, a DS (Dynamical System) needs to be devised to generate a throwing motion from the initial point to the release point with respect to the robot constraints. The throwing motion will be implemented and tested on a 7DOF KUKA LWR robot arm.
Project: Master Project at EPFL
Period: 15.02.2017 – 15.06.2017
Section(s): EL IN MA ME
Type: 10% theory, 70% software, 20% experiments,
Knowledge(s): C++, Linux, Robotics
Subject(s): Fast Adaptive control. Machine learning
Responsible(s): Seyed Sina Mirrazavi Salehian, Nadia Figueroa

Coordinated motion planning between a robotic arm and a conveyer belt using coupled dynamical systems
Karim Zeid (MT)

In classical industrial settings, conveyer belts are often used as feeders for the next component of a production line; by moving only in one direction at a constant speed, they move objects from the workspace of one robot to the workspace of another. However, by intelligently controlling the movements of a conveyer belt, robotic technology can provide new possibilities for industrial applications. For instance, by considering the conveyer belt as an additional degree of freedom to the robot, we can expand the workspace of our robotic manipulators. For example, by moving a large object (i.e., larger than the robotic arm’s workspace) on the conveyer, the robotic arm can operate at any region-of-interest on the object. However, this approach requires a precise coordination between the robotic arm and the conveyer belt. For this project, the student will start by implementing two motion generators using DS (dynamical systems) in Matlab. The first motion generator will be used for the robotic arm’s end-effector to reach an object in its workspace, and the second motion generator will be used for the conveyer belt to move an object to a target position. In the second step of the project, in order to achieve a desired coordinated behavior between the robotic arm and the conveyer belt, the student will design a coupling mechanism between the two dynamical systems. Implementations will be tested using Matlab simulations. If there is time and interest, we will have the opportunity to apply the work on a real robot and a conveyer belt.
Project: Semester Project
Period: 15.02.2017 – 09.06.2017
Section(s): EL IN MA ME MT MX
Type: 25% theory, 25% software, 50% testing
Knowledge(s): Control systems, Robotics, Matlab, C++
Subject(s): Collaborative robotics, dynamical systems
Responsible(s): Mahdi Khoramshahi
Task-adaptation for assistive robotics using switching dynamical systems
Thomas Triquet (MT)

Robots are mainly here to assist us with tasks that are repetitive and burdensome. Machine learning and control theory provided us with a variety of techniques to teach our robots to perform such tasks. However, the ability of robots to adapt their tasks to their environment or to the intention of their human-user is limited. Providing robots with such adaptive abilities will unlock new possibilities for assistive robotics. Consider polishing as a task for a robotic arm. The robot learns how to polish from human demonstrations. However, during polishing, the human-user can safely grab the robot and change the polishing direction by applying few repetitions of movements in a new desirable direction. This means that the robots quickly adapts its motions to the intention of the human, thus, assisting him/her in performing the new task. In the first step of this project, the student will implement a simple polishing task for a given surface and a given polishing direction. For this purpose, a dynamical system will be used to generate the desired trajectories for the robotic arm’s end-effector. An impedance controller will be used to control the end-effector which allows the human to safely interact with the robot. In the second part of this project, we will design an adaptive control controller for the polishing direction; i.e., by using the interactional forces, the polishing direction will be adapted to the intention of the human user. Implementations will be tested using Matlab simulations. If there is time and interest, we will have the opportunity to apply the work on a real robot and test it in interaction with humans.
Project: Semester Project
Period: 15.02.2017 – 09.06.2017
Section(s): EL IN MA ME MT MX
Type: 25% theory, 25% software, 50% testing
Knowledge(s): Control systems, Robotics, Matlab, C++
Subject(s): Human-robot interaction, dynamical systems
Responsible(s): Mahdi Khoramshahi
Learning from noisy demonstrations: the role of compliance in exploration-exploitation trade-off
Nicolas Talabot (MT), Louis Faury ()


Learning by demonstration provides us with a powerful framework to enable a robot to perform desirable tasks. However, real-world demonstrations are prone to noise and other uncertainties; especially, when a teacher (i.e., the person who provides the demonstrations) can only provide sub-optimal solutions. While these noisy demonstrations can speed up the learning process at the beginning, it is favorable if our robot can go beyond this sub-optimality and reach the optimal solution to perform the task. This requires a delicate balance between the exploitation of the noisy demonstrations and the exploration for the optimal solution. As human, one key element that enables us to exhibit this behavior naturally is our physical compliance. When we start to learn a new task (e.g., learning to dance from a teacher), we stay compliant. This allows the teacher to easily provide us with new demonstrations (or in another words, we exploit the teacher). Reaching a satisfactory confidence in performance, we start to reduce our compliance (i.e., neglecting the demonstration) and search for small improvements. This project aims to study this approach from a machine learning point-of-view.
The student will start by formulating the problem as a RL problem where given an initial condition, the learning agent tries to reach a goal state. However, at each trial, there exists a noisy demonstration which with a low probability provide a sub-optimal solution. As a part of the learning process, the agent learns either to reject or to comply to this solution. We are interested in investigating the hypothesis that the agent prefers to comply to such noisy demonstrations at the beginning of the learning, and starts to reject them as the agent learns to reach the goal on its own. Understanding the underlying principles of this task, we can move on to more realistic scenarios involving physical human-robot interaction.

Project: Master Project at EPFL
Period: 20.02.2017 – 23.06.2017
Section(s): EL IN MA ME MT MX
Type: 35% theory, 15% software, 50% testing
Knowledge(s): Reinforcement learning, Matlab
Subject(s): Machine learning
Responsible(s): Mahdi Khoramshahi, Laura Cohen