Skip to content

Package ros2 pour navigation autonome de l'USV Helios

Notifications You must be signed in to change notification settings

godardma/helios_ros2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Helios Ros2

Dossier présent sur l'ordi embarqué du Helios sous ros2_ws/src

Auteur :

🧑‍🎓 Maël GODARD mael.godard@ensta-bretagne.org (FISE 2023)

Git Structure :

  • 📁 /helios_ros2 : dossier contenant les sources
  • 📁 /launch : dossier contenant les launcher
  • 📁 /logs : dossier contenant les logs de mission
  • 📁 /path : dossier contenant les fichiers de path à suivre
  • 📁 /rviz2_config : dossier contenant la config rviz2 conseillée
  • 🗒️ package.xml
  • 🗒️ setup.py fichier de setup ROS2 python
  • 🗒️ README.md

Technologies :

  • Ubuntu 20.04
  • Python
  • ROS2 foxy

Building the package

  • Cloner le repo dans le dossier src d'un workspace ROS2 Foxy
  • Se placer à la racine du workspace ROS2 Foxy
  • Build le package :
colcon build --symlink-install --packages-select helios_ros2
. install/setup.bash

Le package étant en python, le paramètre --symlink-install permet de ne pas avoir à recompiler le package après un changement dans un des noeuds.

Lancement :

  • Pour la simulation:

    ros2 launch helios_ros2 helios_simu.launch.py
  • Sur le Helios :

    Pour se connecter au Helios via ssh, se connecter au reseau munu_ubnt (il sera nécessaire de se fixer une adresse IP de la forme 10.43.20.XXX), puis dans un terminal :

    ssh s100@10.43.20.223
    # mot de passe : s100

    Ouvrir le port du recepteur GNSS et envoyer les corrections RTK dans un terminal:

    narval_supply_control.py -e usbl
    send-rtk-corrections

    Dans un autre terminal sur le Helios:

    ros2 launch helios_ros2 helios.launch.py
  • Visualisation

    Dans un terminal, lancer rviz2 et ouvrir la config jointe dans le dossier /rviz2_config pour visualiser l'USV et les waypoints en temps réel

Logs

Une écriture de logs est implémentée. Le nom du fichier peut être choisi depuis le launcher et le chemin à suivre et la trajectoire se retrouvent dans le dossier logs.

Pour exploiter ces logs, se placer dans le dossier helios_ros2 (à la racine du package) et exécuter la commande :

python3 helios_ros2/create_gpx.py logs_test

Où "logs_test" est le nom du fichier de logs choisi. Les fichiers de logs associés seront convertis du format txt au format gpx et pourront être affichés sur Géoportail.

Notes

Les positions (Pose) sont données dans le repère Lambert93 à un offset près (voir point de référence dans le launch file)

Il est possible de préparer plusieurs missions à l'avance. Pour celà il suffit d'enregistrer les waypoints dans un fichier texte au format suivant:

  • Un point par ligne
  • Un point est défini par sa longitude et sa latitude (à Guerledan de l'ordre de -3° et 48°) , séparées par une virgule (et sans espace)
  • Les longitudes et latitudes sont en degrés décimaux

Les fichiers sont ensuite à stocker dans le dossier path et leur nom est à renseigner sous "pathfile_name" dans le launcher (un seul par launch)

En cas de difficulté à compiler ce repo sous ROS2 humble (pour une machine sous ubuntu 22.04 par exemple), il est conseillé d'utiliser un docker ROS Foxy comme indiqué ici

About

Package ros2 pour navigation autonome de l'USV Helios

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages