Mini-projet ROS

Mini-projet ROS

ros

Objectif

Nous voulons nous assurer que vous

  • êtes à l'aise avec Linux, ROS1 et git
  • avez des compétences de base en programmation
  • savez documenter du code et suivre des guides de style

Tâches préliminaires

  • Suivez les tutoriels Niveau débutant 1 à 17 de http://wiki.ros.org/ROS/Tutorials
  • Suivez les étapes d'installation nécessaires pour démarrer le simulateur husky sous ROS noetic
$ sudo apt install ros-noetic-gazebo-ros-* ros-noetic-lms1xx
$ cd ~/catkin_ws/src
$ git clone https://github.com/husky/husky.git
$ cd ..
$ rosdep install --from-path src --ignore-src
$ catkin build
$ source devel/setup.bash

Lancer la simulation

Démarrez le fichier de lancement principal du robot husky en utilisant :

roslaunch husky_gazebo husky_empty_world.launch

La position estimée du robot est fournie par la sortie du filtre de Kalman étendu : elle est publiée sur /odometry/filtered.

$ rostopic echo /odometry/filtered

La vitesse du robot peut être définie en publiant un message Twist sur /twist_marker_server/cmd_vel en :

  • écrivant rostopic pub /twist_marker_server/cmd_vel geometry_msgs/Twist
  • appuyant deux fois sur tab
  • définissant une fréquence de 10 hz

Vous pouvez définir une vitesse de déplacement vers l'avant, par exemple :

$ rostopic pub /twist_marker_server/cmd_vel geometry_msgs/Twist "linear:
  x: 0.2
  y: 0.0
  z: 0.0
angular:
  x: 0.0
  y: 0.0
  z: 0.0" -r 10

Tâche

Écrivez un nœud C++ qui fait conduire le robot jusqu'au point à la position x = 10.0 et y = 1.0 dans le repère odom.

Votre nœud doit

  • s'abonner à /odometry/filtered
  • publier sur /twist_marker_server/cmd_vel

L'emplacement correct est atteint lorsque le robot se trouve à moins de 0,5 m de la position cible, par exemple

$ rosrun tf tf_echo odom base_link
- Translation: [10.254, 1.324, 0.000]
- Rotation: ...

N'écrivez pas quelque chose de trop complexe : restez simple.

Et veuillez suivre les styles de code décrits dans http://wiki.ros.org/StyleGuide, http://wiki.ros.org/CppStyleGuide et http://wiki.ros.org/PyStyleGuide.

Ajouter un README.md

Ajoutez un fichier README.md décrivant :

  • comment installer les dépendances requises
  • ce que fait votre nœud
  • comment l'utiliser

Téléverser sur gitlab.com

  • Créez un dépôt privé
  • Poussez votre code (vous devriez avoir plus d'un commit pour ce mini-projet)
  • Ajoutez maug (Maurice Gohlke) et ddimarco (Daniel Di Marco) comme collaborateurs

Envoyez-nous le lien vers le dépôt par e-mail à maurice.gohlke@farming-revolution.com.

Farming Revolution
Copyright © farming revolution GmbH - 2026