Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
simulatorvrep [2019/02/12 13:38] mgp3212019 |
simulatorvrep [2019/04/25 14:08] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | Documentation VREP Remote API python | + | ====== Documentation VREP Remote API python ====== |
- | Auteur : Flavien Steffen FIP3A | + | **Auteur** : Flavien Steffen FIP3A |
- | Vrep Remote API | + | ===== Vrep Remote API ===== |
Le but de ce document est d'utilisé Vrep avec la Remote Api Python. L'interface est compatible avec le projet de simulation lems pour les algorithmes d'apprentissage. Vrep est simulateur d'environnement 3D. | Le but de ce document est d'utilisé Vrep avec la Remote Api Python. L'interface est compatible avec le projet de simulation lems pour les algorithmes d'apprentissage. Vrep est simulateur d'environnement 3D. | ||
- | Interface environnement | ||
- | Dans Vrep on charge des "scènes". La classe s'appelle vrepScene. | + | ====== Interface environnement ====== |
- | Méthodes et Attributs de la classe vrepScene | + | Dans Vrep on charge des "scènes". La classe s'appelle vrepScene. |
- | init(connectionPort) | + | |
+ | ===== Méthodes et Attributs de la classe vrepScene ===== | ||
+ | |||
+ | ==== init(connectionPort) ==== | ||
Le constructeur de la classe ouvre une connection avec Vrep si celui-ci est déjà lancé. Le port par défaut est 19997 (port par défaut de connexion avec Vrep) | Le constructeur de la classe ouvre une connection avec Vrep si celui-ci est déjà lancé. Le port par défaut est 19997 (port par défaut de connexion avec Vrep) | ||
- | loadEnvironment(path) | + | |
+ | ==== loadEnvironment(path) ==== | ||
Ouvrir un environnement déjà créer dans Vrep. Fichier de type ".ttt". | Ouvrir un environnement déjà créer dans Vrep. Fichier de type ".ttt". | ||
- | startSimulation() | + | |
+ | ==== startSimulation() ==== | ||
Lance la simulation. | Lance la simulation. | ||
- | pauseSimulation() | + | |
+ | ==== pauseSimulation() ==== | ||
Met la simulation sur pause. | Met la simulation sur pause. | ||
- | stopSimulation() | + | |
+ | ==== stopSimulation() ==== | ||
Arrête la simulation. | Arrête la simulation. | ||
- | getSimulationTime() | + | |
+ | ==== getSimulationTime() ==== | ||
Récupère le temps depuis lequel la simulation a été lancée (en milliseconde) | Récupère le temps depuis lequel la simulation a été lancée (en milliseconde) | ||
- | getListObject() | + | |
+ | ==== getListObject() ==== | ||
Récupère tous les objets de l'environnement actuel dans Vrep. Les objets sont convertis en vrepEntity ou autre class héritée de vrepEntity. La liste est accessible via la variable dictionnaire "listObject". | Récupère tous les objets de l'environnement actuel dans Vrep. Les objets sont convertis en vrepEntity ou autre class héritée de vrepEntity. La liste est accessible via la variable dictionnaire "listObject". | ||
- | testConnection() | + | |
+ | ==== testConnection() ==== | ||
Informe de l'état de la connexion avec Vrep (connecté ou non) | Informe de l'état de la connexion avec Vrep (connecté ou non) | ||
- | closeScene() | + | |
+ | ==== closeScene() ==== | ||
Ferme la scene actuellement ouverte. | Ferme la scene actuellement ouverte. | ||
- | endConnection() | + | |
+ | ==== endConnection() ==== | ||
Clôture la connexion avec Vrep. | Clôture la connexion avec Vrep. | ||
- | beginConnection() | + | |
+ | ==== beginConnection() ==== | ||
Se connecter à Vrep (uniquement si l'api n'est plus connectée) | Se connecter à Vrep (uniquement si l'api n'est plus connectée) | ||
- | Interface objet | ||
- | Les objets de Vrep sont convertis dans un type vrepEntity lui-même hérité du type Entity du projet lems. | + | ====== Interface objet ====== |
- | Tous les types de vrep non pas été traité. Seul le type "SensorVision" est traité les autres sont tous des vrepEntity | + | |
- | Méthodes et Attributs de la classe vrepEntity | + | Les objets de Vrep sont convertis dans un type vrepEntity lui-même hérité du type Entity du projet lems. |
- | init(kind, objectName): | + | Tous les types de vrep non pas été traité. Seul le type "SensorVision" est traité les autres sont tous des vrepEntity |
+ | |||
+ | ===== Méthodes et Attributs de la classe vrepEntity ===== | ||
+ | |||
+ | ==== init(kind, objectName): ==== | ||
Fonction pour le constructeur de classe. kind est le type "vrep" de l'objet. kind est un chiffre qui sera associé automatiquement à un type. obectName est le nom unique de l'objet. | Fonction pour le constructeur de classe. kind est le type "vrep" de l'objet. kind est un chiffre qui sera associé automatiquement à un type. obectName est le nom unique de l'objet. | ||
- | getOrientation() | + | |
+ | ==== getOrientation() ==== | ||
Obtenir l'orientation d'un objet suivant alpha, beta et gamma. | Obtenir l'orientation d'un objet suivant alpha, beta et gamma. | ||
- | getPostion() | + | |
+ | ==== getPostion() ==== | ||
Obtenir la position relative d'un objet par rapport à l'environnement global (le "world") suivant x, y et z. | Obtenir la position relative d'un objet par rapport à l'environnement global (le "world") suivant x, y et z. | ||
- | getVelocity() | + | |
+ | ==== getVelocity() ==== | ||
Obtenir la vitesse d'un objet par suivant alpha, beta, gamma et suivant x, y et z. | Obtenir la vitesse d'un objet par suivant alpha, beta, gamma et suivant x, y et z. | ||
- | setPosition(position) | + | |
+ | ==== setPosition(position) ==== | ||
Redéfinir la position d'un objet. Position : list[x, y, z] | Redéfinir la position d'un objet. Position : list[x, y, z] | ||
- | setOrientation(eulerAngles) | + | |
+ | ==== setOrientation(eulerAngles) ==== | ||
Redéfinir l'orientation d'un objet. eulerAngles : list[alpha, beta, gamma] | Redéfinir l'orientation d'un objet. eulerAngles : list[alpha, beta, gamma] | ||
- | setVelocity(speed) | + | |
+ | ==== setVelocity(speed) ==== | ||
Définir la vitesse de l'objet. Speed est un float (exemple : 0.1 ou -0.1) | Définir la vitesse de l'objet. Speed est un float (exemple : 0.1 ou -0.1) | ||
- | removeEntity() | + | |
+ | ==== removeEntity() ==== | ||
Supprime l'objet de l'environnement. (La liste d'objet n'est pas mise à jour) | Supprime l'objet de l'environnement. (La liste d'objet n'est pas mise à jour) | ||
- | resolveObjectType(code) | + | |
+ | ==== resolveObjectType(code) ==== | ||
Dans Vrep les types retournés sont des chiffres. Cette fonction renvoit le nom du type donné en paramètre. | Dans Vrep les types retournés sont des chiffres. Cette fonction renvoit le nom du type donné en paramètre. | ||
- | Méthodes de la class vrepSensorVision() | + | |
- | init(kind, objectName): | + | ===== Méthodes de la class vrepSensorVision() ===== |
+ | |||
+ | ==== init(kind, objectName): ==== | ||
Appelle le constructeur de la class héritée | Appelle le constructeur de la class héritée | ||
- | getImageSensorVision() | + | |
+ | ==== getImageSensorVision() ==== | ||
renvoit la resolution et l'image du capteur. | renvoit la resolution et l'image du capteur. | ||
- | displaySensorVision() | + | |
+ | ==== displaySensorVision() ==== | ||
Affiche le rendu du capteur. | Affiche le rendu du capteur. | ||
- | Lien utile et utilisation | ||
- | Téléchargement VREP : http://www.coppeliarobotics.com/downloads.html | + | ====== Lien utile et utilisation ====== |
- | Ouvrir une console dans le dossier et exécuter ./vrep.sh | + | |
- | Pour plus d'information sur les commandes en ligne VREP : http://www.coppeliarobotics.com/helpFiles/en/commandLine.htm | + | * **Téléchargement VREP** : [[http://www.coppeliarobotics.com/downloads.html|http:%%//%%www.coppeliarobotics.com/downloads.html]] |
- | Information concernant les commandes python : http://www.coppeliarobotics.com/helpFiles/en/remoteApiFunctionsPython.htm | + | * **Ouvrir une console dans le dossier et exécuter** //./vrep.sh// |
- | L’exemple de Remote api est basé sur cette environnement : /tutorials/BubbleRob/bubbleRob.ttt | + | * **Pour plus d'information sur les commandes en ligne VREP** : [[http://www.coppeliarobotics.com/helpFiles/en/commandLine.htm|http:%%//%%www.coppeliarobotics.com/helpFiles/en/commandLine.htm]] |
- | Exemple d'utilisation du module vrep pour contrôler ce simulateur : http://fid.cl/courses/ai-robotics/vrep-tut/pythonBubbleRob.pdf | + | * **Information concernant les commandes python** : [[http://www.coppeliarobotics.com/helpFiles/en/remoteApiFunctionsPython.htm|http:%%//%%www.coppeliarobotics.com/helpFiles/en/remoteApiFunctionsPython.htm]] |
- | Example d'utilisation de l'interface compatible: programmeVrep/exempleVrep.ipynb | + | * **L’exemple de Remote api est basé sur cette environnement** : ///tutorials/BubbleRob/bubbleRob.ttt// |
+ | * **Exemple d'utilisation du module vrep pour contrôler ce simulateur** : [[http://fid.cl/courses/ai-robotics/vrep-tut/pythonBubbleRob.pdf|http:%%//%%fid.cl/courses/ai-robotics/vrep-tut/pythonBubbleRob.pdf]] | ||
+ | * **Example d'utilisation de l'interface compatible**: //programmeVrep/exempleVrep.ipynb// | ||