Documentation VREP Remote API python
Auteur : Flavien Steffen FIP3A
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.
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)
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
- 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
- Information concernant les commandes python : 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
- Example d'utilisation de l'interface compatible: programmeVrep/exempleVrep.ipynb