Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
simulatorgazebo [2019/02/14 10:30]
mgp3212019
simulatorgazebo [2019/04/25 14:08] (current)
Line 1: Line 1:
 ======Simulateur Gazebo====== ======Simulateur Gazebo======
 +
 +**Auteur :** Yao ZHAO
  
 =====Prérequis :===== =====Prérequis :=====
Line 87: Line 89:
  
  
-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”.+Les codes sources contiennent deux fichier “gazeboEntity.py” et “simGazebo.py” qui se situent dans le répertoire “programmeGazebo”.
  
  
-Le fichier gazeboEntity.py contient les méthodes suivantes:+====Le fichier gazeboEntity.py contient les méthodes suivantes:====
  
  
-** __init__ ​:**+** _init _ :**
 La méthode de construction,​ deux paramètes “model_name” et “relative_entity_name” sont nécessaires. La méthode de construction,​ deux paramètes “model_name” et “relative_entity_name” sont nécessaires.
 +
 Exemple d’utilisation:​ Exemple d’utilisation:​
 +<​code>​
 model = GazeboEntity("​turtlebot3_burger","​world"​) model = GazeboEntity("​turtlebot3_burger","​world"​)
 +</​code>​
  
  
Line 105: Line 110:
 **get_position :** **get_position :**
 Permet de récupérer la position d’un objet. Permet de récupérer la position d’un objet.
 +
 Exemple d’utilisation:​ Exemple d’utilisation:​
 +<​code>​
 model = GazeboEntity("​turtlebot3_burger","​world"​) model = GazeboEntity("​turtlebot3_burger","​world"​)
 model.get_position() model.get_position()
 +</​code>​
  
  
 **get_orientation :**  **get_orientation :** 
 Permet de récupérer l’orientation d’un objet. Permet de récupérer l’orientation d’un objet.
 +
 Exemple d’utilisation:​ Exemple d’utilisation:​
 +<​code>​
 model = GazeboEntity("​turtlebot3_burger","​world"​) model = GazeboEntity("​turtlebot3_burger","​world"​)
 model.get_orientation() model.get_orientation()
 +</​code>​
  
  
 **get_linear :**  **get_linear :** 
 Permet de récupérer la vitesse linéaire. Permet de récupérer la vitesse linéaire.
 +
 Exemple d’utilisation:​ Exemple d’utilisation:​
 +<​code>​
 model = GazeboEntity("​turtlebot3_burger","​world"​) model = GazeboEntity("​turtlebot3_burger","​world"​)
 model.get_linear() model.get_linear()
 +</​code>​
  
  
 **get_angular :** **get_angular :**
 Permet de récupérer la vitesse angulaire. Permet de récupérer la vitesse angulaire.
 +
 Exemple d’utilisation:​ Exemple d’utilisation:​
 +<​code>​
 model = GazeboEntity("​turtlebot3_burger","​world"​) model = GazeboEntity("​turtlebot3_burger","​world"​)
 model.get_angular() model.get_angular()
 +</​code>​
  
  
 **remove_entity :**  **remove_entity :** 
 Permet de supprimer un objet. Permet de supprimer un objet.
 +
 Exemple d’utilisation:​ Exemple d’utilisation:​
 +<​code>​
 model = GazeboEntity("​turtlebot3_burger","​world"​) model = GazeboEntity("​turtlebot3_burger","​world"​)
 model.remove_entity() model.remove_entity()
 +</​code>​
  
  
 **set_model_position :** **set_model_position :**
 Permet de modifier la position d’un objet, trois paramètres les positions x,y,z sont nécessaires. Permet de modifier la position d’un objet, trois paramètres les positions x,y,z sont nécessaires.
 +
 Exemple d’utilisation:​ Exemple d’utilisation:​
 +<​code>​
 model = GazeboEntity("​turtlebot3_burger","​world"​) model = GazeboEntity("​turtlebot3_burger","​world"​)
 model.set_model_position(2,​2,​0) model.set_model_position(2,​2,​0)
 +</​code>​
  
  
 **set_model_orientation :** **set_model_orientation :**
 Permet de modifier l’orientation d’un objet, trois paramètres les orientations x,y,z sont nécessaires. Permet de modifier l’orientation d’un objet, trois paramètres les orientations x,y,z sont nécessaires.
 +
 Exemple d’utilisation:​ Exemple d’utilisation:​
 +<​code>​
 model = GazeboEntity("​turtlebot3_burger","​world"​) model = GazeboEntity("​turtlebot3_burger","​world"​)
 model.set_model_orientation(0,​0,​-1) model.set_model_orientation(0,​0,​-1)
 +</​code>​
  
 **move_robot :** **move_robot :**
-Permet de faire avancer le turtlebot, une liste contenant une vitesse linéaire et une vitesse angulaire ​est nécessaire.+Permet de faire avancer le turtlebot, une liste contenant une vitesse linéaire et une vitesse angulaire ​et un temps de simulation sont nécessaire. 
 Exemple d’utilisation:​ Exemple d’utilisation:​
 +<​code>​
 model = GazeboEntity("​turtlebot3_burger","​world"​) model = GazeboEntity("​turtlebot3_burger","​world"​)
 +# list contient les vitesses
 +list = [0.3,0]
 +# t est le temps de simulation
 +t=4
 try: try:
-        model.move_robot(list)+        model.move_robot(list,t)
 except rospy.ROSInterruptException:​ except rospy.ROSInterruptException:​
         pass         pass
-        ​+</​code>​
  
-Le fichier simGazebo.py contient les méthodes suivantes:+====Le fichier simGazebo.py contient les méthodes suivantes:====
  
  
 **start :** **start :**
 Permet de démarrer une simulation. ​ Permet de démarrer une simulation. ​
 +<​code>​
 Exemple d’utilisation:​ Exemple d’utilisation:​
 simulateur = Simulator() simulateur = Simulator()
 simulateur.start() simulateur.start()
 +</​code>​
  
  
 **enPause :** **enPause :**
 Permet de mettre en pause la simulation. Permet de mettre en pause la simulation.
 +
 Exemple d’utilisation:​ Exemple d’utilisation:​
 +<​code>​
 simulateur = Simulator() simulateur = Simulator()
 simulateur.enPause() simulateur.enPause()
 +</​code>​
  
  
 **resetSimulation :**  **resetSimulation :** 
 Permet de réinitialiser la simuation (timing, les positions des objets...) Permet de réinitialiser la simuation (timing, les positions des objets...)
 +
 Exemple d’utilisation:​ Exemple d’utilisation:​
 +<​code>​
 simulateur = Simulator() simulateur = Simulator()
 simulateur.resetSimulation() simulateur.resetSimulation()
 +</​code>​
  
  
 **resetWorld :** **resetWorld :**
 Permet de réinitialiser le world. Permet de réinitialiser le world.
 +
 Exemple d’utilisation:​ Exemple d’utilisation:​
 +<​code>​
 simulateur = Simulator() simulateur = Simulator()
 simulateur.resetWorld() simulateur.resetWorld()
 +</​code>​
  
  
 **getListModel :** **getListModel :**
 Permet de récupérer la liste des objet dans le world. Permet de récupérer la liste des objet dans le world.
 +
 Exemple d’utilisation:​ Exemple d’utilisation:​
 +<​code>​
 simulateur = Simulator() simulateur = Simulator()
 simulateur.getListModel() simulateur.getListModel()
 +</​code>​
  
  
 **getSimTime :**  **getSimTime :** 
 Permet de récupérer le temps de simulation. Permet de récupérer le temps de simulation.
 +
 Exemple d’utilisation:​ Exemple d’utilisation:​
 +<​code>​
 simulateur = Simulator() simulateur = Simulator()
 simulateur.getSimTime() simulateur.getSimTime()
 +</​code>​
  
 **loadWorld :** **loadWorld :**
 Permet de charger un world, une paramètre d’une liste des ficher launcher est nécessaire. Permet de charger un world, une paramètre d’une liste des ficher launcher est nécessaire.
 +
 Exemple d’utilisation:​ Exemple d’utilisation:​
 +<​code>​
 simulateur = Simulator() simulateur = Simulator()
 list = ['/​home/​yao/​catkin_ws/​src/​turtlebot3_simulations/​turtlebot3_gazebo/​launch/​turtlebot3_stage_1.launch'​] list = ['/​home/​yao/​catkin_ws/​src/​turtlebot3_simulations/​turtlebot3_gazebo/​launch/​turtlebot3_stage_1.launch'​]
 simulateur.loadWorld(list) simulateur.loadWorld(list)
 +</​code>​
  
  
Line 233: Line 283:
 **getAllProperties :** **getAllProperties :**
 Permet de récupérer tous les properties de tous les objets de type Suscriber. Permet de récupérer tous les properties de tous les objets de type Suscriber.
 +
 Exemple d’utilisation:​ Exemple d’utilisation:​
 +<​code>​
 simulateur = Simulator() simulateur = Simulator()
 simulateur.getAllProperties() simulateur.getAllProperties()
 +</​code>​
  
  
 **getListModelBySuscriber :** **getListModelBySuscriber :**
 Permet de récupérer une liste des objets dans le world de type Suscriber. Permet de récupérer une liste des objets dans le world de type Suscriber.
 +
 Exemple d’utilisation:​ Exemple d’utilisation:​
 +<​code>​
 simulateur = Simulator() simulateur = Simulator()
 simulateur.getListModelBySuscriber() simulateur.getListModelBySuscriber()
 +</​code>​
  
  
 **getAllPose :** **getAllPose :**
 Permet de récupérer les positions et les orientations des objets dans le world de type Suscriber. Permet de récupérer les positions et les orientations des objets dans le world de type Suscriber.
 +
 Exemple d’utilisation:​ Exemple d’utilisation:​
 +<​code>​
 simulateur = Simulator() simulateur = Simulator()
 simulateur.getAllPose() simulateur.getAllPose()
 +</​code>​
  
  
 **getAllTwist :** **getAllTwist :**
 Permet de récupérer les vitesse des objets dans le world de type Suscriber. Permet de récupérer les vitesse des objets dans le world de type Suscriber.
 +
 Exemple d’utilisation:​ Exemple d’utilisation:​
 +<​code>​
 simulateur = Simulator() simulateur = Simulator()
 simulateur.getAllTwist() simulateur.getAllTwist()
 +</​code>​
  
  • simulatorgazebo.1550140225.txt.gz
  • Last modified: 2019/04/25 14:08
  • (external edit)