====== 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|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//