### EPFL Students Projects Proposals

The projects below are available for either Bachelor/Master semester projects or Master thesis projects (the content will be adjusted accordingly). Suggestions of other projects (or variants of existing projects) are also welcome, as long as they fit within the group's research interests.

**Contact:** sylvain.calinonepfl.ch

**Wavelets as basis functions for applications in robotics**

Basis functions can be used to encode signals in a compact manner through a weighted superposition of basis functions, acting as a dictionary of simpler signals that are superposed to form more complex signals. The dictionary can be any set of basis functions, including radial basis functions (RBFs), Fourier basis functions, or Bernstein basis functions (used for Bézier curves), see first reference below for more details. Basis functions can for example be used to encode trajectories, whose input is a 1D time variable and whose output can be multidimensional. Basis functions can also be used to encode signals generated by multivariate inputs. For example, a Bézier surface uses two input variables to cover a spatial range and generates an output variable describing the height of the surface within this rectangular domain. This surface (represented as a colormap in the figure) can be constructed from a 1D input signal by leveraging the Kronecker product operation.

The figure in the above shows examples using various input dimensions to encode signed distance functions (SDFs). On the central plot, several equidistant contours are displayed as closed paths, with the one corresponding to the object contour (distance zero) represented in blue. On the right plot, several isosurfaces are displayed as 3D shapes, with the one corresponding to the object surface (distance zero) represented in blue. The analytic expression provided by the proposed encoding can be used to express the derivatives as analytic expressions, which is useful for control and planning problem, such as moving closer or away from objects, or orienting the robot gripper to be locally aligned with the surface of an object.

**Goals of the project:**

The project proposes to extend the above approach to the use of wavelet basis functions and to study the property of wavelets in the context of robot manipulation skills. Wavelets encompass both spatial and spectral properties, which makes it a good candidate to encode functions at different resolutions. The approach will be tested in the context of signed distance functions (see second reference).

**Prerequisites:** Signal processing, programming in Python, C++ or Matlab/Octave

**References:**

**Level:** Bachelor/Master (semester project or PDM)

**Contact:** sylvain.calinonepfl.ch

**A robot manipulator writing texts using a pen**

This project proposes to develop a robot that can take any text as input and write the corresponding sequence of letters on a piece of paper. In order to look natural, the use of a typeface vector font such as Hershey (https://pypi.org/project/Hershey-Fonts/, https://en.wikipedia.org/wiki/Hershey_fonts) will be investiagted as first starting point. Such a vector font format can be employed to represent alphabet characters by a set of strokes forming the skeleton of the letters instead of their outlines (as in the conventional font formats).

**Goals of the project:**

Several aspects will have to be considered in the project, such as placement and segmentation of the text on the page, the planning and control approach using inverse kinematics, as well as estimation of the writing result through the camera embedded within the robot arm. The project will be implemented with a 6-axis UFactory Lite-6 robot (https://www.ufactory.cc/lite-6-collaborative-robot) available at Idiap.

**Prerequisites:** Linear algebra, programming in Python or C++

**References:**

Calinon, S. (2023). Learning and Optimization in Robotics - Lecture notes.

Robotics codes from scratch (RCFS)

**Level:** Bachelor/Master (semester project or PDM)

**Contact:** sylvain.calinonepfl.ch

**Tensor trains for human-guided optimization in robotics applications**

The project proposes to extend the Tensor Train for Global Optimization (TTGO) approach (see reference below) to a human-guided learning strategy. The approach will be tested with control and planning problems using robot manipulators. The formulation transforms the minimization of a cost function into the maximization of a probability density function. Hence, the problem of finding the minima of a cost function is transformed into the problem of sampling the maxima of the density function. The approach does not require gradients to be computed and can find multiple optima, which can be used for global optimization problems.

Learning and optimization problems in robotics are characterized by two types of variables: 1) task parameters representing the situation that the robot encounters, typically related to environment variables such as locations of objects, users or obstacles; and 2) decision variables related to actions that the robot takes, typically related to a controller acting within a given time window, or the use of basis functions to describe trajectories in control or state spaces. For each change of task parameters, decision variables need to be recomputed as fast as possible, so that the robot can fluently collaborate with users and can swiftly react to changes in its environment. In TTGO, the density function is modeled in the offline phase using a tensor train (TT) that learns the structure between the task parameters and the decision variables. It then allows conditional sampling over the task parameters with priority for higher-density regions. This property is used for fast online decision-making, with local Gauss-Newton optimization to refine the results, see the above figure for an overview. TTGO allows the distribution of computation into offline and online phases. It can cope with a mix of continuous and discrete variables for optimization thus providing an alternative to mixed-integer programming.

**Goals of the project:**

An important advantage of TTGO is that the underlying TT-cross method used to approximate the distribution in TT format can easily be extended to various forms of human-guided learning, which will be investigated in this project. The goal will be to test whether the original autonomous learning strategy of TT-Cross can be extended to a human-guided learning strategy, by letting the user sporadically specify task parameters or decision variables within the iterative process. The first case can be used to provide a scaffolding mechanism for robot skill acquisition. The second case can be used for the robot to ask for help in specific situations.

**Prerequisites:** Linear algebra, optimization, programming in Python

**Reference:**

**Level:** Bachelor/Master (semester project or PDM)

**Contact:** sylvain.calinonepfl.ch

**Ergodic control for robot exploration**

A conventional tracking problem in robotics is characterized by a target to reach, requiring a controller to be computed to reach this target. In ergodic control, instead of providing a single target point, a probability distribution is given to the robot, which must cover the distribution in an efficient way. Ergodic control thus consists of moving within a spatial distribution by spending time in each part of the distribution in proportion to its density (namely, ``tracking a distribution'' instead of ``tracking a point''). The resulting controller generates natural exploration behaviors, which can be exploited for active sensing, localization, surveillance, insertion tasks, etc.

In robotics, ergodic control can be exploited in a wide range of problems requiring the automatic exploration of regions of interest. This is particularly helpful when the available sensing information is not accurate enough to fulfill the task with a standard controller, but where this information can still guide the robot towards promising areas. In a collaborative task, it can also be used when the operator's input is not accurate enough to fully reproduce the task, which then requires the robot to explore around the requested input (e.g., a point of interest selected by the operator). For picking and insertion problems, ergodic control can be applied to move around the picking/insertion point, thereby facilitating the prehension/insertion. It can also be employed for active sensing and localization (either detected autonomously, or with help by the operator). Here, the robot can plan movements based on the current information density, and can recompute the commands when new measurements are available (i.e., updating the spatial distribution used as target).

**Goals of the project:**

Ergodic control has originally been formulated as a Spectral Multiscale Coverage (SMC) objective. Later, another ergodic control formulation has been proposed, formulated as a Heat Equation Driven Area Coverage (HEDAC) problem. This project proposes to study the pros and cons for these techniques to solve robot manipulation problems.

**Prerequisites:** Control theory, signal processing, programming in Python, C++ or Matlab/Octave

**References:**

**Level:** Bachelor/Master (semester project or PDM)

**Contact:** sylvain.calinonepfl.ch

**Manipulation with a torque-controlled quadruped robot**

The project proposes to study the use of a SOLO-12 qudruped robot for manipulation tasks. SOLO-12 is part of the open dynamic robot initiative (https://open-dynamic-robot-initiative.github.io/), an open torque-controlled modular robot architecture for legged locomotion research. The robot is provided with a control toolbox and a simulator, see https://github.com/open-dynamic-robot-initiative.

**Goals of the project:**

This quadruped robot has been designed for a symmetrical usage, allowing the robot base to touch the ground while the four legs are in the air. This configuration allows the robot to use the four legs as end effectors to manipulate objects. It is proposed to study the problem of grasping a box with two legs, placing it on the base of the robot, possibly re-configuring the position and orientation of the box using the four legs, and then moving back the robot to a standing posture with the box on its back. This will be achieved with considering a planning problem formulted as an iterative linear quadratic regulator (iLQR).

**Prerequisites:** Robotics, programming in Python

**References:**

Calinon, S. (2023). Learning and Optimization in Robotics - Lecture notes.

Robotics codes from scratch (RCFS)

**Level:** Bachelor/Master (semester project or PDM)

**Contact:** sylvain.calinonepfl.ch