documentation

View project on GitHub

Lancer une simulation avec Gazebo

Simuler le drône et son environnement afin de pouvoir tester le logiciel sans le matériel

Révisions

Auteurs: Pierre-Yves et Olivier
Date de création: 22 septembre 2016
Dernière révision: 12 février 2017
Idiot-proofé par : _

Initialisation et installation

  1. Aller dans le dossier de simulation de gazebo
    cd elikos_sim/src/gazebo_sim

  2. Mettre à jour les sous-modules git (le Firmware du pixhawk et les modèles gazebo)
    git submodule init
    git submodule update

  3. Initialiser les variables d’environnement pour gazebo
    Note: Assurez-vous qu’un différent package px4 n’a pas déjà été sourcé avec rospack find px4
    Le package px4 ne devrait pas exister.
    source ../../setup.bash
    Ce script est à éxécuter pour chaque nouvelle console.
    (Optionnel) Ajouter la commande à votre ~/.bashrc pour ne pas avoir
    à réexécuter le script.
    echo "source $(pwd)/../../setup.sh" >> ~/.bashrc

  4. Builder le code du Firmware
    Suivre les instructions pour installer les dépendances requises : http://dev.px4.io/starting-installing-linux.html
    Builder le firmware pour gazebo
    cd Firmware
    make posix_sitl_default gazebo
    Si tout fonctionne, Gazebo devrait se lancer en affichant le modèle iris par défaut.
    Fermer la simulation pour les étapes suivantes.

Simulation

  1. À partir du dossier elikos_quad sur l’ordi du local : Sourcer comme suit source elikos-ws/devel/setup.bash puis source elikos-ws/src/elikos_sim/setup.bash.

  2. Démarrer la simulation avec roslaunch elikos_sim gazebo_sim.launch.

Commande de position manuelle

  1. Vérifier le paramètre /mavros/setpoint_position/tf/listen avec rosparam get /mavros/setpoint_position/tf/listen.

_Si le paramètre est égal à _true

  1. Exécuter rosrun tf static_transform_publisher 0 0 2 0 0 0 1 elikos_arena_origin elikos_setpoint 100, où les 3 premiers chiffres sont la position en XYZ et les quatre suivants représentent le quaternion pour la pose.

_Si le paramètre est égal à _false

  1. Exécuter rostopic pub /mavros/setpoint_position/local geometry_msgs/PoseStamped (IL FAUT PESER TAB ET REMPLIR LE MESSAGE) -r 10. Inscrire la position voulue dans le message.

Armer le quad

  1. Exécuter rosservice call /mavros/cmd/arming 1
  2. Exécuter rosservice call /mavros/set_mode 216 OFFBOARD

À ce point-ci, le quad devrait faire du sur place à la position spécifiée. Vous pouvez alors lancer les noeuds ROS que vous voulez tester.

Le launch file offboard.launch permet de faire décoller le quadricoptère en lançant les commandes citées précédemment.

Lancer le code du quad au complet

Exécuter roslaunch elikos_sim integration_sim.launch

Ajouter des robots cibles et obstacles

Spécifier les robots cibles et obstacles voulus ainsi que leur vitesse de déplacement dans robots_sim.launch.
Exécuter roslaunch elikos_sim robots_sim.launch

Amusez-vous! :)