Differences

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

Link to this comparison view

simulators [2019/02/12 13:04]
mgp3212019 created
simulators [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:​ 
-model = GazeboEntity("​turtlebot3_burger","​world"​) 
-try: 
- model.move_robot(list) 
-except rospy.ROSInterruptException:​ 
- pass 
- 
- 
-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() 
  
  • simulators.txt
  • Last modified: 2019/04/25 14:08
  • (external edit)