Differences
This shows you the differences between two versions of the page.
simulatorvrep [2019/02/12 13:15] mgp3212019 |
simulatorvrep [2019/04/25 14:08] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | # 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_ |