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
simulatorvrep [2019/02/12 13:42]
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 dutilisé Vrep avec la Remote Api Python. Linterface est compatible avec le projet de simulation lems pour les algorithmes dapprentissage. Vrep est simulateur denvironnement 3D. # Interface environnement * Dans Vrep on charge des “scènes”. La classe s’appelle vrepScene. ## 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) ### loadEnvironment(path) Ouvrir un environnement déjà créer dans Vrep. Fichier de type “.ttt”. ### startSimulation() Lance la simulation. ### pauseSimulation() Met la simulation sur pause. ### stopSimulation() Arrête la simulation. ### getSimulationTime() Récupère le temps depuis lequel la simulation a été lancée (en milliseconde) ### 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”. ### testConnection() Informe de l’état de la connexion avec Vrep (connecté ou non) ### closeScene() Ferme la scene actuellement ouverte. ### endConnection() Clôture la connexion avec Vrep. ### beginConnection() Se connecter à Vrep (uniquement si l’api n’est plus connectée)+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 ​objet =+====== Interface ​environnement ======
  
-Les objets de Vrep sont convertis dans un type vrepEntity lui-même hérité du type Entity du projet lems. +Dans Vrep on charge des "​scènes"​. La classe s'​appelle vrepScene. 
-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 lobjet. kind est un chiffre qui sera associé automatiquement à un type. obectName est le nom unique de lobjet. ​### getOrientation() Obtenir lorientation dun objet suivant alpha, beta et gamma. ​### getPostion() Obtenir la position relative dun objet par rapport à lenvironnement global (le world) suivant x, y et z. ### getVelocity() Obtenir la vitesse dun objet par suivant alpha, beta, gamma et suivant x, y et z. ### setPosition(position) Redéfinir la position dun objet. Position : list[x, y, z] ### setOrientation(eulerAngles) Redéfinir lorientation dun objet. eulerAngles : list[alpha, beta, gamma] ​### setVelocity(speed) Définir la vitesse de lobjet. Speed est un float (exemple : 0.1 ou -0.1) ### removeEntity() Supprime lobjet de lenvironnement. (La liste dobjet nest pas mise à jour) ### resolveObjectType(code) 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):​ Appelle le constructeur de la class héritée ​### getImageSensorVision() renvoit la resolution et limage du capteur. ​#+ 
 +===== 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) 
 + 
 +==== loadEnvironment(path) ==== 
 + 
 +Ouvrir un environnement déjà créer dans Vrep. Fichier de type "​.ttt"​. 
 + 
 +==== startSimulation() ==== 
 + 
 +Lance la simulation. 
 + 
 +==== pauseSimulation() ==== 
 + 
 +Met la simulation sur pause. 
 + 
 +==== stopSimulation() ==== 
 + 
 +Arrête la simulation. 
 + 
 +==== getSimulationTime() ==== 
 + 
 +Récupère le temps depuis lequel la simulation a été lancée (en milliseconde) 
 + 
 +==== 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"​. 
 + 
 +==== testConnection() ==== 
 + 
 +Informe de l'​état de la connexion avec Vrep (connecté ou non) 
 + 
 +==== closeScene() ==== 
 + 
 +Ferme la scene actuellement ouverte. 
 + 
 +==== endConnection() ==== 
 + 
 +Clôture la connexion avec Vrep. 
 + 
 +==== beginConnection() ==== 
 + 
 +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. 
 +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. 
 + 
 +==== getOrientation() ​==== 
 + 
 +Obtenir l'orientation d'un objet suivant alpha, beta et gamma. 
 + 
 +==== getPostion() ​==== 
 + 
 +Obtenir la position relative d'un objet par rapport à l'environnement global (le "world") suivant x, y et z. 
 + 
 +==== getVelocity() ​==== 
 + 
 +Obtenir la vitesse d'un objet par suivant alpha, beta, gamma et suivant x, y et z. 
 + 
 +==== setPosition(position) ​==== 
 + 
 +Redéfinir la position d'un objet. Position : list[x, y, z] 
 + 
 +==== setOrientation(eulerAngles) ​==== 
 + 
 +Redéfinir l'orientation d'un objet. eulerAngles : list[alpha, beta, gamma] 
 + 
 +==== setVelocity(speed) ​==== 
 + 
 +Définir la vitesse de l'objet. Speed est un float (exemple : 0.1 ou -0.1) 
 + 
 +==== removeEntity() ​==== 
 + 
 +Supprime l'objet de l'environnement. (La liste d'objet n'est pas mise à jour) 
 + 
 +==== resolveObjectType(code) ​==== 
 + 
 +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): ​==== 
 + 
 +Appelle le constructeur de la class héritée 
 + 
 +==== getImageSensorVision() ​==== 
 + 
 +renvoit la resolution et l'image du capteur. 
 + 
 +==== displaySensorVision() ==== 
 + 
 +Affiche le rendu du capteur. 
 + 
 +====== Lien utile et utilisation ====== 
 + 
 +  * **Téléchargement VREP** : [[http://​www.coppeliarobotics.com/​downloads.html|http:​%%//​%%www.coppeliarobotics.com/​downloads.html]] 
 +  * **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|http:​%%//​%%www.coppeliarobotics.com/​helpFiles/​en/​commandLine.htm]] 
 +  * **Information concernant les commandes python** : [[http://​www.coppeliarobotics.com/​helpFiles/​en/​remoteApiFunctionsPython.htm|http:​%%//​%%www.coppeliarobotics.com/​helpFiles/​en/​remoteApiFunctionsPython.htm]] 
 +  * **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//​
  
  • simulatorvrep.1549978936.txt.gz
  • Last modified: 2019/04/25 14:08
  • (external edit)