Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
simulatorgazebo [2019/02/14 10:23] mgp3212019 |
simulatorgazebo [2019/02/14 10:33] mgp3212019 |
||
---|---|---|---|
Line 13: | Line 13: | ||
**Mettre en place les clés :** | **Mettre en place les clés :** | ||
- | sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116 | + | sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116 // |
Line 47: | Line 47: | ||
- | Création des répertoires: | + | **Création des répertoires:** |
mkdir ~/catkin_ws | mkdir ~/catkin_ws | ||
+ | |||
mkdir ~/catkin_ws/src | mkdir ~/catkin_ws/src | ||
- | Télécharger des codes sources de Turtlebot3: | + | **Télécharger des codes sources de Turtlebot3:** |
cd ~/catkin_ws/src/ | cd ~/catkin_ws/src/ | ||
+ | |||
git clone https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git | 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_msgs.git | ||
+ | |||
git clone https://github.com/ROBOTIS-GIT/turtlebot3.git | git clone https://github.com/ROBOTIS-GIT/turtlebot3.git | ||
- | Installation: | + | **Installation:** |
cd ~/catkin_ws && catkin_make | cd ~/catkin_ws && catkin_make | ||
- | Configuration environnement: | + | **Configuration environnement:** |
Ajouter les lignes suivantes dans le fichier “~/.bashrc”: | Ajouter les lignes suivantes dans le fichier “~/.bashrc”: | ||
+ | |||
source ~/catkin_ws/devel/setup.bash | source ~/catkin_ws/devel/setup.bash | ||
+ | |||
export TURTLEBOT3_MODEL=burger | export TURTLEBOT3_MODEL=burger | ||
Line 74: | Line 84: | ||
- | Utilisation des codes sources pour la partie Gazebo : | + | =====Utilisation des codes sources pour la partie Gazebo :===== |
Line 80: | Line 90: | ||
- | 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: | ||
Line 89: | Line 99: | ||
- | * pre_get_model_state : | + | **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. | 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 : | + | **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: | ||
Line 100: | Line 110: | ||
- | * 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: | ||
Line 107: | Line 117: | ||
- | * 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: | ||
Line 114: | Line 124: | ||
- | * 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: | ||
Line 121: | Line 131: | ||
- | * remove_entity : | + | **remove_entity :** |
Permet de supprimer un objet. | Permet de supprimer un objet. | ||
Exemple d’utilisation: | Exemple d’utilisation: | ||
Line 128: | Line 138: | ||
- | * 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: | ||
Line 135: | Line 145: | ||
- | * 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: | ||
Line 142: | Line 152: | ||
- | * 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 est nécessaire. | ||
Exemple d’utilisation: | Exemple d’utilisation: | ||
+ | <code> | ||
model = GazeboEntity("turtlebot3_burger","world") | model = GazeboEntity("turtlebot3_burger","world") | ||
try: | try: | ||
Line 150: | Line 161: | ||
except rospy.ROSInterruptException: | except rospy.ROSInterruptException: | ||
pass | pass | ||
+ | </code> | ||
+ | ====Le fichier simGazebo.py contient les méthodes suivantes:==== | ||
- | + | **start :** | |
- | Le fichier simGazebo.py contient les méthodes suivantes: | + | |
- | + | ||
- | + | ||
- | * start : | + | |
Permet de démarrer une simulation. | Permet de démarrer une simulation. | ||
Exemple d’utilisation: | Exemple d’utilisation: | ||
Line 164: | Line 173: | ||
- | * enPause : | + | **enPause :** |
Permet de mettre en pause la simulation. | Permet de mettre en pause la simulation. | ||
Exemple d’utilisation: | Exemple d’utilisation: | ||
Line 171: | Line 180: | ||
- | * 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: | ||
Line 178: | Line 187: | ||
- | * resetWorld : | + | **resetWorld :** |
Permet de réinitialiser le world. | Permet de réinitialiser le world. | ||
Exemple d’utilisation: | Exemple d’utilisation: | ||
Line 185: | Line 194: | ||
- | * 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: | ||
Line 192: | Line 201: | ||
- | * 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: | ||
Line 199: | Line 208: | ||
- | * 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: | ||
Line 207: | Line 216: | ||
- | * callbackAllProperties : | + | **callbackAllProperties :** |
Fonction callback appelé par la fonction getAllProperties. | Fonction callback appelé par la fonction getAllProperties. | ||
- | * callbackListModel : | + | **callbackListModel :** |
Fonction callback appelé par la fonction getListModelBySuscriber. | Fonction callback appelé par la fonction getListModelBySuscriber. | ||
- | * callbackPose : | + | **callbackPose :** |
Fonction callback appelé par la fonction getAllPose. | Fonction callback appelé par la fonction getAllPose. | ||
- | * callbackTwist : | + | **callbackTwist :** |
Fonction callback appelé par la fonction getAllTwist. | Fonction callback appelé par la fonction getAllTwist. | ||
- | * 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: | ||
Line 230: | Line 239: | ||
- | * 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: | ||
Line 237: | Line 246: | ||
- | * 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: | ||
Line 244: | Line 253: | ||
- | * 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: | ||
simulateur = Simulator() | simulateur = Simulator() | ||
simulateur.getAllTwist() | simulateur.getAllTwist() | ||
+ |