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
-
Aller dans le dossier de simulation de gazebo
cd elikos_sim/src/gazebo_sim -
Mettre à jour les sous-modules git (le Firmware du pixhawk et les modèles gazebo)
git submodule init
git submodule update -
Initialiser les variables d’environnement pour gazebo
Note: Assurez-vous qu’un différent package px4 n’a pas déjà été sourcé avecrospack 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 -
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
-
À partir du dossier elikos_quad sur l’ordi du local : Sourcer comme suit
source elikos-ws/devel/setup.bashpuissource elikos-ws/src/elikos_sim/setup.bash. -
Démarrer la simulation avec
roslaunch elikos_sim gazebo_sim.launch.
Commande de position manuelle
- Vérifier le paramètre
/mavros/setpoint_position/tf/listenavecrosparam get /mavros/setpoint_position/tf/listen.
_Si le paramètre est égal à _true
- 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
- 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
- Exécuter
rosservice call /mavros/cmd/arming 1 - 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! :)
