# Smooth Path Generation in Dimension 2 or 3

Auteur : Alexis Scheuer

## General information

Encadrants | Alexis Scheuer |

Adresse | INRIA Nancy Grand Est, 615 rue du Jardin Botanique, 54600 Villers-lès-Nancy |

Phone | 03 83 59 20 84 |

Alexis.Scheuer@loria.fr | |

Bureau | C121 |

## Motivation

A path is the geometric part of a motion, without time aspect. Smooth paths (*C*^{2} or more), if they respect the motion constraints of a robot (given as a differential equation), can be followed by this robot more precisely than simpler paths (*C*^{1} or less).

Writing motion constraints as a differential equation is usually quite simple. Integrating this differential equation allows to find the motion associated to a given command starting from an initial state, as well as the end state of this motion. On the contrary, it is much harder to find out the right command corresponding to a motion connecting an initial state to an end one, as existence and uniqueness of the motion can be questioned.

## Subject

As far as paths are concerned, ISEEML library remains one of the more efficient to solve this problem. While it was initially designed for car-like robots’ paths, it can be extended to those of any kind of mobile robots , in dimension 2 (wheeled or legged robots) or 3 (planes or drones): clothoid (or Cornu Spirals, *cf* http://mathworld.wolfram.com/CornuSpiral.html) pieces just have to be replaced by pieces of any kind of other spirals, computations remaining unchanged. It is also possible to handle different motion constraints for initial or end part of the paths. At last, connecting configurations (made of a position, an orientation and a curvature) whose curvature is not zero (or extreme) should be possible.

For this last point, only resolution clues are currently available. During this internship, the student will start and get accustomed to ISEEML library by programming the two first points, which are already totally formalised. He will then try and solve last point, and implement the solution found. Finally, experiments will be carried out, either in an ad-hoc application (using Qt, http://www.qt.io) or in a control benchmark (based on ROS, http://www.ros.org) switching easily from simulation to real robot handling.

## Required skills

The only required skill is the knowledge of C++ programming. Facilities in analytic geometry would be helpful.

## References

Th. Fraichard and A. Scheuer. From Reeds and Shepp’s to continuous-curvature paths. *IEEE Trans. on Robotics*, 20(6):1025-1035, December 2004.

A. Scheuer. La conduite des robots. In *Sciences & Info. prépa Hors-Série numéro 1 : Transformations et fonctions, Représentation et Analyse* (ISSN 1291-4932, ISBN 2-7298-0446-3), pp. 148-161. POLE / Ellipses, Paris, October 2000. Partial English translation available.

A. Scheuer. Documentation of ISeeML (Introducing a Smooth, Efficient and Easy-to-use Motion Library, http://iseeml.loria.fr). Technical Report RT-0396, 134 pages, Inria, Nancy (FR), October 2010.