Differences

This shows you the differences between two versions of the page.

Link to this comparison view

simulatorgazebo [2019/02/14 10:33]
mgp3212019
simulatorgazebo [2019/04/25 14:08]
Line 1: Line 1:
-======Simulateur Gazebo====== 
- 
-=====Prérequis :===== 
-  
-Environnement Linux : Ubuntu 18.04 
-  
-=====Installation du ROS Melodic :===== 
-  
-**Modification du “sources.list”:​** 
- 
-sudo sh -c 'echo "deb http://​packages.ros.org/​ros/​ubuntu $(lsb_release -sc) main" > /​etc/​apt/​sources.list.d/​ros-latest.list'​ 
-  
-**Mettre en place les clés :** 
- 
-sudo apt-key adv --keyserver hkp://​ha.pool.sks-keyservers.net:​80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116 // 
- 
-  
-**Installation :** 
- 
-sudo apt update 
- 
-sudo apt install ros-melodic-desktop-full 
-  
-  
-**Initialisation rosdep :** 
- 
-sudo rosdep init 
- 
-rosdep update 
-  
-**Configuration environnement :** 
- 
-echo "​source /​opt/​ros/​melodic/​setup.bash"​ >> ~/.bashrc 
- 
-source ~/.bashrc 
-  
-**Installation des packages dépendants :** 
- 
-sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential 
- 
-[Explication porvenant de : http://​wiki.ros.org/​melodic/​Installation/​Ubuntu] 
- 
- 
- 
- 
-=====Intégration Turtlebot3:​===== ​ 
- 
- 
-**Création des répertoires:​** 
- 
-mkdir ~/catkin_ws 
- 
-mkdir ~/​catkin_ws/​src 
- 
- 
-**Télécharger des codes sources de Turtlebot3:​** 
- 
-cd ~/​catkin_ws/​src/​ 
- 
-git clone https://​github.com/​ROBOTIS-GIT/​turtlebot3_simulations.git 
- 
-git clone https://​github.com/​ROBOTIS-GIT/​turtlebot3_msgs.git 
- 
-git clone https://​github.com/​ROBOTIS-GIT/​turtlebot3.git 
- 
- 
-**Installation:​** 
- 
-cd ~/catkin_ws && catkin_make 
- 
- 
-**Configuration environnement:​** 
- 
-Ajouter les lignes suivantes dans le fichier “~/​.bashrc”:​ 
- 
-source ~/​catkin_ws/​devel/​setup.bash 
- 
-export TURTLEBOT3_MODEL=burger 
- 
- 
-[Explication porvenant de : http://​emanual.robotis.com/​docs/​en/​platform/​turtlebot3/​simulation/​] 
- 
- 
- 
- 
-=====Utilisation des codes sources pour la partie Gazebo :===== 
- 
- 
-Les codes sources contiennent deux fichier “gazeboEntity.py” et “simGazebo.py” qui se situent dans le répertoire “program_gazebo” sur la branche “dev-Yao_ZHAO”. 
- 
- 
-====Le fichier gazeboEntity.py contient les méthodes suivantes:​==== 
- 
- 
-** _init _ :** 
-La méthode de construction,​ deux paramètes “model_name” et “relative_entity_name” sont nécessaires. 
-Exemple d’utilisation:​ 
-model = GazeboEntity("​turtlebot3_burger","​world"​) 
- 
- 
-**pre_get_model_state :** 
-Initialisation des paramètres pour utiliser le service “/​gazebo/​get_model_state”,​ ceci est appelée dans les méthodes get_position,​get_orientation,​get_linear et get_angular. 
- 
- 
-**get_position :** 
-Permet de récupérer la position d’un objet. 
-Exemple d’utilisation:​ 
-model = GazeboEntity("​turtlebot3_burger","​world"​) 
-model.get_position() 
- 
- 
-**get_orientation :**  
-Permet de récupérer l’orientation d’un objet. 
-Exemple d’utilisation:​ 
-model = GazeboEntity("​turtlebot3_burger","​world"​) 
-model.get_orientation() 
- 
- 
-**get_linear :**  
-Permet de récupérer la vitesse linéaire. 
-Exemple d’utilisation:​ 
-model = GazeboEntity("​turtlebot3_burger","​world"​) 
-model.get_linear() 
- 
- 
-**get_angular :** 
-Permet de récupérer la vitesse angulaire. 
-Exemple d’utilisation:​ 
-model = GazeboEntity("​turtlebot3_burger","​world"​) 
-model.get_angular() 
- 
- 
-**remove_entity :**  
-Permet de supprimer un objet. 
-Exemple d’utilisation:​ 
-model = GazeboEntity("​turtlebot3_burger","​world"​) 
-model.remove_entity() 
- 
- 
-**set_model_position :** 
-Permet de modifier la position d’un objet, trois paramètres les positions x,y,z sont nécessaires. 
-Exemple d’utilisation:​ 
-model = GazeboEntity("​turtlebot3_burger","​world"​) 
-model.set_model_position(2,​2,​0) 
- 
- 
-**set_model_orientation :** 
-Permet de modifier l’orientation d’un objet, trois paramètres les orientations x,y,z sont nécessaires. 
-Exemple d’utilisation:​ 
-model = GazeboEntity("​turtlebot3_burger","​world"​) 
-model.set_model_orientation(0,​0,​-1) 
- 
- 
-**move_robot :** 
-Permet de faire avancer le turtlebot, une liste contenant une vitesse linéaire et une vitesse angulaire est nécessaire. 
-Exemple d’utilisation:​ 
-<​code>​ 
-model = GazeboEntity("​turtlebot3_burger","​world"​) 
-try: 
-        model.move_robot(list) 
-except rospy.ROSInterruptException:​ 
-        pass 
-</​code>​ 
- 
-====Le fichier simGazebo.py contient les méthodes suivantes:​==== 
- 
- 
-**start :** 
-Permet de démarrer une simulation. ​ 
-Exemple d’utilisation:​ 
-simulateur = Simulator() 
-simulateur.start() 
- 
- 
-**enPause :** 
-Permet de mettre en pause la simulation. 
-Exemple d’utilisation:​ 
-simulateur = Simulator() 
-simulateur.enPause() 
- 
- 
-**resetSimulation :**  
-Permet de réinitialiser la simuation (timing, les positions des objets...) 
-Exemple d’utilisation:​ 
-simulateur = Simulator() 
-simulateur.resetSimulation() 
- 
- 
-**resetWorld :** 
-Permet de réinitialiser le world. 
-Exemple d’utilisation:​ 
-simulateur = Simulator() 
-simulateur.resetWorld() 
- 
- 
-**getListModel :** 
-Permet de récupérer la liste des objet dans le world. 
-Exemple d’utilisation:​ 
-simulateur = Simulator() 
-simulateur.getListModel() 
- 
- 
-**getSimTime :**  
-Permet de récupérer le temps de simulation. 
-Exemple d’utilisation:​ 
-simulateur = Simulator() 
-simulateur.getSimTime() 
- 
- 
-**loadWorld :** 
-Permet de charger un world, une paramètre d’une liste des ficher launcher est nécessaire. 
-Exemple d’utilisation:​ 
-simulateur = Simulator() 
-list = ['/​home/​yao/​catkin_ws/​src/​turtlebot3_simulations/​turtlebot3_gazebo/​launch/​turtlebot3_stage_1.launch'​] 
-simulateur.loadWorld(list) 
- 
- 
-**callbackAllProperties :**  
-Fonction callback appelé par la fonction getAllProperties. 
- 
- 
-**callbackListModel :** 
-Fonction callback appelé par la fonction getListModelBySuscriber. 
- 
- 
-**callbackPose :** 
-Fonction callback appelé par la fonction getAllPose. 
- 
- 
-**callbackTwist :** 
-Fonction callback appelé par la fonction getAllTwist. 
- 
- 
-**getAllProperties :** 
-Permet de récupérer tous les properties de tous les objets de type Suscriber. 
-Exemple d’utilisation:​ 
-simulateur = Simulator() 
-simulateur.getAllProperties() 
- 
- 
-**getListModelBySuscriber :** 
-Permet de récupérer une liste des objets dans le world de type Suscriber. 
-Exemple d’utilisation:​ 
-simulateur = Simulator() 
-simulateur.getListModelBySuscriber() 
- 
- 
-**getAllPose :** 
-Permet de récupérer les positions et les orientations des objets dans le world de type Suscriber. 
-Exemple d’utilisation:​ 
-simulateur = Simulator() 
-simulateur.getAllPose() 
- 
- 
-**getAllTwist :** 
-Permet de récupérer les vitesse des objets dans le world de type Suscriber. 
-Exemple d’utilisation:​ 
-simulateur = Simulator() 
-simulateur.getAllTwist() 
  
  • simulatorgazebo.txt
  • Last modified: 2019/04/25 14:08
  • (external edit)