V-REP - Une plateforme de Robomodelling flexible et évolutive
Je suis récemment tombé sur un article divertissant sur une plateforme de robomodeling en anglais. Et comme je représente le parc technologique de robotique du campus Navigator et que nos activités sont largement liées à la modélisation, à la robotique et à l'électronique, j'ai pensé qu'il serait très cool de traduire cet article et de le diffuser au grand public. J'espère que la traduction vous sera utile.À propos, il y avait déjà une publication sur le sujet du robot-simulateur V-REP , donc je vous recommande de le lire.Aujourd'hui, les possibilités d'utilisation de la robotique sont énormes, les robots sont utilisés partout, de l'exploration des planètes au nettoyage des maisons. La combinaison de trois sous-systèmes dans les robots: l'actionneur, le capteur et la commande les rend efficaces dans le monde réel, mais complique la simulation virtuelle. Dans cet article, nous voulons vous présenter le cadre de simulation des systèmes robotiques - V-REP.introductionLa croissance exponentielle de la puissance de calcul des ordinateurs (sans parler du matériel pour les graphiques en trois dimensions), ainsi que l'avènement d'un grand nombre de logiciels et d'électronique open source, ont considérablement changé les systèmes de simulation virtuelle 3D des robots. L'occasion était non seulement de compliquer l'environnement de travail, mais aussi d'assurer le lancement de systèmes robotiques physiques en temps réel, ainsi que d'inclure dans la simulation des systèmes mobiles / embarqués contrôlés directement depuis l'environnement.En principe, l'auto-assemblage du simulateur à partir de diverses bibliothèques cinématiques, physiques et graphiques est possible, et l'architecture et la méthodologie utilisées seront d'une importance décisive en termes de performances et de précision de la simulation. Une approche systématique robuste nécessite l'utilisation de stratégies de modélisation universelles et évolutives.En fait, l'objectif principal du simulateur est de fournir un grand nombre d'outils et de capacités de simulation. Il y a des difficultés avec cela, car la variété des systèmes robotiques ne nous permet pas de prévoir les spécificités du simulateur. De plus, certains utilisateurs ont besoin d'une approche flexible qui permettra de travailler avec un langage de programmation simple, ainsi que de rendre le simulateur portable, adapté à tous les types de modèles de robots, et surtout évolutif.Il existe actuellement plusieurs plates-formes de modélisation disponibles, telles que Open HRP , Gazebo ou Webots. Malgré le fait que ces plateformes offrent des fonctionnalités suffisantes, elles ne peuvent pas offrir une grande variété de capacités et de techniques de programmation complémentaires. Leurs modèles de simulation et leurs contrôleurs ne sont que partiellement portables, ils ont divers problèmes et nécessitent donc un traitement séparé. Par exemple, il est très souvent nécessaire de recompiler le code sur diverses plates-formes matérielles, ou il peut être nécessaire d'ajuster soigneusement le modèle simulé et le contrôleur pris à partir de deux fichiers différents, ou vous avez besoin d'une prise en charge de l'évolutivité, et cela se fait à l'aide d'algorithmes codés en dur peu connus.Le simulateur V-REP est le résultat de tentatives pour répondre à toutes les exigences de polyvalence et d'évolutivité de l'environnement de modélisation. En plus des approches de modélisation traditionnelles des autres simulateurs, V-REP ajoute quelques approches supplémentaires. Dans cette partie de l'article, nous examinerons également l'architecture de contrôle V-REP, la technologie des scripts intégrés qui remplacent divers types de contrôleurs dans le modèle de simulation, ce qui rend ces modèles extrêmement portables et évolutifs.Dans la deuxième partie de l'article, nous considérerons, dans l'ensemble, la fonctionnalité du système de modélisation et son intégration dans des modèles de simulation. De plus, à titre d'exemple, trois modèles de simulation pratiques créés dans V-REP et leur mise en œuvre seront considérés.Lorsqu'il est nécessaire de créer des scènes complexes, il n'y a pas de meilleure option que d'utiliser un système de contrôle distribué. Cette approche simplifie la tâche en séparant la gestion des sujets, accélère la simulation, répartit la charge du processeur sur plusieurs cœurs ou plusieurs machines, ce qui vous permet de contrôler l'exécution des algorithmes. Cependant, il existe des exigences de modélisation qui ne doivent pas être oubliées pour atteindre cet objectif.Aperçu des techniques de gestion de simulation.Le code de simulation de contrôle est exécuté à l'aide des trois méthodes suivantes:1. Le code de contrôle est exécuté sur une autre machine.Le code peut être exécuté sur une machine distincte ou un robot connecté à un simulateur de machine via un bus spécifique (par exemple, un connecteur, un port série, etc.). Le principal avantage de cette approche est l'originalité du contrôleur (le code de contrôle est natif et fonctionnera sur l'équipement d'origine). Un autre avantage est la charge de calcul réduite sur la simulation de la machine. Cependant, cette approche impose de sérieuses limitations à la synchronisation avec le cycle de simulation.2. Le code de contrôle est exécuté sur la même machine, mais dans un processus (ou un autre thread) différent du cycle de simulation.Avec cette méthode, nous pouvons également utiliser une charge réduite et équilibrée sur les cœurs du processeur, mais cela s'accompagnera d'un manque de synchronisation avec le cycle de simulation. La plupart du temps, ce processus sera associé à un retard de communication ou à des retards de commutation. Cette méthode est souvent implémentée via des programmes exécutables externes ou des plugins chargés dans le simulateur.3. Le code de contrôle est exécuté sur la même machine et dans le même thread que le cycle de simulation.Le principal avantage de cette approche est la synchronisation avec le cycle de simulation, l'absence de tout retard. Cependant, une telle méthode ne devient possible qu'avec une augmentation de la charge de calcul sur le processeur. Cette méthode est souvent implémentée via des plugins chargés dans le simulateur.Les inconvénients les plus courants des méthodes ci-dessus sont une mauvaise portabilité et une mauvaise mise à l'échelle des modèles de simulation: le code de contrôle n'étant pas lié au modèle de simulation correspondant, il doit être distribué, compilé et installé séparément. Cela augmente le nombre de problèmes de compatibilité sur différentes plates-formes, ainsi que le nombre de conflits avec d'autres bibliothèques. La flexibilité est également réduite car vous devez recompiler et recharger l'exécutable pour chaque petit code de modification. Une copie du modèle, comme dans le cas de la modélisation multi-robots, sera prise en charge par des mécanismes filaires qui lanceront de nouveaux contrôles pour chaque instance du modèle de simulation.Implémentation de V-REP .V-REP permet à l'utilisateur d'utiliser plusieurs possibilités de modélisation: (Tableau 1 et Fig.2)

Scripts intégrés Il
s'agit de la caractéristique distinctive la plus puissante de V-REP. Le script lua de boucle de simulation principale ( “ ”) — . , . . , , . , . : , , , , . . 3 II.
, , V-rep lua. ( /), ( ).
V-REP . lua, . . /, . API , ROS (. . ) .
API
API V-REP V-REP . API API . (C/C++, Python, Java, Matlab & Urbi) , , , . , : API , . ( ), ( , / ). API, , , ROS .
ROS
V-REP ROS , ROS V-REP ROS , ROD /. / , .
: marc@coppeliarobotics.com
, ,
, ,
, Coppelia Robotics, .
: , , . .
Source: https://habr.com/ru/post/fr383009/
All Articles