Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
simulatorgazebo [2019/02/14 10:32] 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> | <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> | </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 234: | 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> | ||