Vous êtes sur la page 1sur 7

Modélisation et animation de systèmes robotisés dans l'environnement Delphi

Aurel Fratu1, Mariana Fratu1, Jean-François Brethé2, Olga Cachard2


1 - Université Transilvania de Brasov, Roumanie,
E-mail : fratu@unitbv.ro; mariana.fratu@unitbv.ro
URL : http://www.unitbv.ro

2 – GREAH - Université du Havre, France,


E-mail : jean-francois.brethe@univ-lehavre.fr; olga.cachard@univ-lehavre.fr
URL : http://www.univ-lehavre.fr

Résumé. Les environnements informatiques sont les moyens idéaux pour créer/modéliser les
architectures de robots virtuels. L’animation ou la simulation comportementale, dans les
environnements informatiques, devient un outil important de recherche. La simulation est une
approche stratégique pour la visualisation, la planification et a un rôle très important en robotique.
Différents outils sont utilisés pour l'analyse du comportement des robots manipulateurs, pour la
programmation off-line, pour la conception des différents algorithmes de commande, pour la
conception de la structure mécanique des robots, pour la conception des cellules et des lignes de
production robotisées, etc. En particulier, nous présentons dans cet article une technique
innovante pour créer les prototypes virtuels. Nous donnons une vue d’ensemble de
l’environnement Delphi permettant de créer et animer/simuler des robots virtuels. Les avantages
de la simulation et des environnements virtuels et réels, utilisés en robotique, sont précisés. Cet
article est le résultat de nos efforts pour modéliser/ créer et animer/ simuler des systèmes -robots
virtuels.

Mots-clés : Modélisation/Création, Animation/Simulation, Systèmes virtuels, Visualisation

Introduction de nouvelles stratégies et algorithmes de commande.


Auparavant, la simulation n’était qu'un outil pour
La simulation est maintenant un outil puissant pour l'analyse d'un système robotisé et pour la planification
la conception, la planification, l'analyse et la prise de de la tâche robotique. Maintenant c’est une
décision dans différents domaines de recherche et de plateforme ouverte pour développer/créer de
développement. En particulier, elle est devenue un nouveaux systèmes robotisés. Non seulement les
outil stratégique en robotique. outils modernes de simulation permettent de simuler
Dans le domaine de la robotique, la simulation joue et visualiser le monde réel d'une manière très
un rôle très important, peut-être plus important encore plausible, mais aussi ils permettent d’aller au delà de
que dans beaucoup d'autres domaines. Nous la réalité. En particulier, les chercheurs peuvent créer
abordons ici la robotique du point de vue de la les environnements virtuels expérimentaux selon leur
simulation des comportements et de l’animation. propre imagination, les robots et les technologies qui
Nous allons présenter quelques exemples typiques ne sont pas encore disponibles.
d’animation/simulation dans différents domaines de
la robotique concernant la simulation du
comportement des robots manipulateurs et les 1. Le rôle de la
environnements intégrés pour la simulation simulation/animation
dynamique des systèmes robotisés.
Les outils avancés de simulation sont la base pour la La simulation comprend la conception d'un modèle
conception des systèmes sophistiqués comme le sont d'un système physique réel ou théorique, l’étude
les robots, pour l'utilisation des robots dans les expérimentale du modèle, et l’analyse des résultats
environnements complexes et pour le développement obtenus à partir de ce modèle. En fait, la simulation
est très utile pour appréhender la réalité dans toute sa mobile de robot, peut être animé au ralenti pour
complexité. Nous essayons de construire les objets observer tous les détails de ce mouvement. Ainsi, les
artificiels et de les animer dynamiquement. choses deviennent plus faciles.
Le concept d’apprentissage est essentiel dans la À mesure que la complexité du système augmente,
simulation. En utilisant la simulation nous pouvons l’importance du rôle de la simulation augmente
apporter des améliorations au modèle et tout en également. C'est pourquoi les outils de simulation
modifiant « la règle de fonctionnement » nous peuvent certainement augmenter les performances de
pouvons observer les résultats des modifications la conception, du développement et même de
apportées. Comme nous vivons selon le principe « je l'exploitation des systèmes robotisées. En améliorant
ne crois que ce que je vois », la visualisation est un la simulation avec des outils et des interfaces de
autre aspect important de la simulation. visualisation, on peut simuler le fonctionnement des
La simulation est un champ fortement systèmes robotisés d'une manière très réaliste. Ainsi,
interdisciplinaire puisqu'elle est employée on peut diminuer le coût de développement.
couramment dans tous les domaines de la recherche, Selon l’utilisation particulière, les différents attributs
de la recherche universitaire à la fabrication. structuraux et les paramètres fonctionnels doivent être
La possibilité de simuler un phénomène ouvre un modélisés. Par conséquent, une grande variété d'outils
éventail d'options pour résoudre beaucoup de de simulation a été développée pour la conception
problèmes de manière créative. Nous pouvons mécanique des robots manipulateurs, des systèmes de
concevoir, visualiser et étudier un objet/système commande, des systèmes de programmation off - line,
même s’il n'existe pas. Nous pouvons tester les pour la conception et l’étude des cellules flexibles de
performances d'un système qui n’est pas encore fabrication, etc.
construit. Il est possible que nos solutions mènent à Pour surmonter les problèmes qui apparaissent quand
l’échec ou même provoquent la destruction de l’objet le système est très complexe (comme les robots le
de la simulation, mais ce n’est que virtuellement. sont habituellement) plusieurs approches existent
Ainsi, à l'aide des outils de simulation on peut éviter pour obtenir automatiquement les modèles
les collisions ou des modifications de la conception dynamiques et/ou cinématique des robots.
après le début de la production des pièces en
constatant que le processus de fabrication contient des
cycles de durée trop longue. 2. Simulation des systèmes robotisés
Les outils de simulation permettent d’aborder la
géométrie exacte, de considérer les caractéristiques Une grande quantité de logiciels de simulation est
dynamiques d'un système, d’inclure les interfaces maintenant disponible pour des systèmes robotisés, et
homme - machine, et de visualiser les détails d’un est déjà intensivement employée. Dans la plupart des
objet en 2D ou 3D. cas, la simulation de robots est centrée sur les
En sachant bien que tout ce que l’on peut simuler mouvements du robot manipulateur dans différents
n’est pas réalisable, à l’aide des outils avancés pour environnements. Comme la simulation de mouvement
simuler la réalité virtuelle on repousse loin les joue le rôle central dans tous les systèmes robotisés,
frontières de la connaissance. on y tient compte de la cinématique ou des modèles
En utilisant des simulateurs, les chercheurs peuvent dynamiques des robots manipulateurs. Le choix de
établir les environnements expérimentaux selon leur type de modèle à employer dépend de l'objectif du
propre imagination. Ce qu'ils ont imaginé pendant la système de simulation. Par exemple, les algorithmes
nuit, peut être transcrit en images le jour suivant. La de planification de trajectoire dépendent des modèles
complexité et la spécificité des objets de simulation cinématiques. De même, la construction d'une cellule
peuvent être graduellement augmentées jusqu'à un robotisée peut être simulée efficacement en
niveau où les systèmes virtuels peuvent représenter employant seulement des modèles cinématiques des
un véritable défi pour le monde physique. robots manipulateurs, sans considérer leur
La simulation a été identifiée comme outil important dynamique ou les modèles de commande.
en robotique dans le domaine de la conception des Par contre, pour concevoir les actionneurs, les
nouveaux robots, l’étude de leurs performances et modèles dynamiques sont nécessaires. Les systèmes
dans la réalisation de tâches par ces robots. La de commande modernes pour les robots
simulation nous permet d'étudier la structure, les manipulateurs utilisent différents modèles
caractéristiques et le fonctionnement d'un système dynamiques internes pour améliorer l'exécution de la
robotisé, à différents niveaux de détails, en fixant tache robotique.
pour chaque niveau différentes conditions pour les Il est possible de modéliser et simuler/animer le
outils de simulation. Par exemple un processus comportement d'un système robotisé de différentes
rapide, comme le mouvement d’une articulation manières. Tout dépend de l’approche utilisée pour
établir le modèle. Le logiciel de simulation basé sur Dans la formation des ingénieurs en robotique, il est
des diagrammes exige que l'utilisateur décrive le fondamental de donner une définition exacte et
système en combinant des blocs et des diagrammes, structurée de ce qu'est exactement un robot. Le
mais il existe des logiciels différents nécessitant le modèle générique de robot donne cette définition. La
codage manuel, c’est à dire l’écriture de code source. simulation fondée sur ce modèle est un outil valable
Les outils de simulation pour les systèmes robotisés pour définir les propriétés d'un robot.
peuvent être divisés en deux groupes principaux : les Le système Delphi incite les utilisateurs à faire leurs
outils basés sur les systèmes usuels de simulation et propres extensions de programmes et à les exécuter.
les outils spéciaux pour des systèmes robotisés. En faisant ceci, de nouvelles idées peuvent être
Les outils basés sur les systèmes de simulation testées sur les systèmes de production robotisés.
ordinaires contiennent habituellement les modules de En général, la simulation peut être employée pour
simulation, les bibliothèques et les interfaces effectuer l'analyse et l’étude de tout projet de création
utilisateur spéciales permettant de simplifier la d’un système robotisé pouvant être modélisé comme
conception des systèmes et des espaces de travail un ensemble des corps rigides reliés par des
pour robots (Corke, 1996). articulations, pouvant subir l’action des forces,
L’un des avantages de telles boîtes à outils intégrées pouvant être guidé par les mouvements prédéfinis et
est une possibilité d’avoir accès aux autres outils en tenant compte des limites posées par des
disponibles dans le système de simulation pour contraintes.
l’exécution de différentes fonctions : par exemple, Dans la simulation qualitative on considère le
pour concevoir un système de commande, pour mouvement pur, sans faire la référence aux masses ou
analyser des résultats de simulation, pour visualiser aux forces impliquées dans ce mouvement. C'est le
des résultats, etc. Ils existent plusieurs outils de cas du modèle cinématique qui étudie le mouvement
simulation de ce type qui peuvent être utilisés pour la d'un corps ou d’un système de corps, sans prendre en
simulation des systèmes robotisés comme par considération la masse ou les forces qui agissent
exemple, la boîte à outils pour la robotique de dessus. Ce modèle met en évidence les
MATLAB, le Dymola/Modelica, le Sim 20, etc. caractéristiques du mouvement, en négligeant les
Les outils spéciaux de simulation pour des robots effets dynamiques.
couvrent un ou plusieurs domaines d’application dans
la robotique comme la programmation off-line, la
conception des cellules de travail pour robots, la 3. Moteurs pour simuler la
conception mécanique, l'analyse cinématique et
dynamique. Ils peuvent être spécialement développés dynamique de multi-corps
pour les types particuliers de robots comme les robots
mobiles, les robots industrielles, les mécanismes Dernièrement sont apparus des nouveaux outils
parallèles, ou ils sont désignes à une famille donnée pour la simulation de la dynamique des
de robots comme par exemple, le KUKAsim, le environnements physiques basés sur les
simulateur Fanuc etc. moteurs usuels. Ces moteurs fournissent des
Dans cet article les auteurs proposent d’utiliser bibliothèques pour pouvoir simuler la dynamique de
l'environnement informatique Delphi, pour la système multi corps, c.-à-d. le modèle numérique du
simulation qualitative des systèmes robotisés, en mouvement d'un ensemble de plusieurs corps avec
utilisant la programmation visuelle. contraintes. Ces outils permettent aussi l’étude de
Delphi est un outil de programmation visuelle qui comportement des robots manipulateurs. Ils
permet de réaliser l'interface des applications disposent d’un moteur de simulation de la dynamique
Windows de manière pratiquement instantanée. des corps et également d’un moteur de simulation
L’utilisation de cet outil est très intuitive et aisée car pour la détection des collisions. Dans ce dernier cas,
on arrive à gérer sans effort un environnement aussi on fournit au moteur de simulation des informations
sophistiqué que Windows. concernant la forme de chaque corps, en supposant
Le langage Delphi vient du Pascal, et est orienté objet que les corps en question rentrent en contact suite à
exactement comme langage C++. Il est très simple à une collision. Le moteur délivre au programmateur
apprendre, très évolutif et très intuitif. Le simulateur les informations résultantes concernant les points de
créé dans l'environnement Delphi a été utilisé pour contact. Le programmateur peut alors prendre les
contrôler l’exécution des tâches des systèmes mesures appropriées.
robotisés. Le simulateur est créé avec le code Comme exemples des bibliothèques servant à simuler
DELPHI, dont l’objet est de créer des prototypes la dynamique de multi corps, nous avons choisi Open
virtuels. Dynamics Engine (ODE) et Open Graphics Library
(OpenGL).
Open Dynamics Engine (ODE) est une bibliothèque Les structures virtuelles présentées dans cet article
logicielle libre qui se place dans la catégorie des peuvent se comporter différemment des robots
moteurs physiques. Elle sert à simuler l'interaction actuellement utilisés dans l'industrie, ce qui permet
physique de corps rigides. ODE est disponible pour des changements de conduite des systèmes robotisés
plusieurs plates-formes et utilise une interface de actuels.
programmation en C pour une plus grande Une tendance courante en robotique consiste à
compatibilité (bien qu'en interne le code source est concevoir un robot dont les performances sont
écrit en C++). Elle possède plusieurs types optimales pour une application donnée, tout en
d’articulations et intègre un détecteur de collision préservant la possibilité de l'employer pour des autres
avec friction. Le moteur utilise plusieurs intégrateurs tâches ; c'est-à-dire de le spécialiser au maximum
en fonction de la précision et de la robustesse de la pour une application donnée et de l‘homologuer pour
simulation désirée. d’autres applications, afin d’amortir son coût et
L'ODE est une source ouverte, une bibliothèque très d’augmenter sa sûreté opérationnelle.
efficace pour simuler la dynamique des corps rigides
ou articulés. L'ODE est utile pour simuler des objets
dans les environnements virtuels inspirés de la réalité. 4. Exemples des systèmes multi-
Avec son aide, il est assez simple d’établir le modèle
d'un robot. corps simulés dans l’environnement
Open Graphics Library(OpenGL) est une Delphi
spécification qui définit une API (Application
Programming Interface ou l’interface de Sous sa forme plus générale, un système robot se
programmation des applications) multi-plateforme compose d'un certain nombre de corps rigides reliés
pour la conception des applications générant des par des articulations. Souvent, par souci de simplicité
images 3D ou 2D. Elle utilise en interne les dans la fabrication et dans la commande on considère
représentations de la géométrie projective. L'interface les robots uniquement avec les articulations de
regroupe environ 250 fonctions différentes qui rotation ou de translation et aussi avec les axes
peuvent être utilisées pour afficher des scènes d'intersection des articulations orthogonales et/ou
tridimensionnelles complexes à partir de simples parallèles (au lieu d’axes placés arbitrairement). La
primitives géométriques. Du fait de sa souplesse position et l'orientation du préhenseur du robot sont
d'utilisation et de sa compatibilité avec toutes les déterminées à partir des positions et orientations des
plates-formes, elle est utilisée par la majorité des articulations du bras de robot.
applications scientifiques, industrielles ou artistiques Dans le premier exemple nous utilisons un robot
3D et certaines applications 2D vectorielles. virtuel de type sériel. Nous devons créer tous les
Comme exemple de l’environnement d’étude du corps et les relier aux articulations appropriées. Par
comportement des systèmes multi corps nous avons exemple, le modèle 3DOF (degrees of
choisi BehaviorSim. BehaviorSim est un freedom=degrés de liberté) comme montré ci-dessous
environnement d’étude basé sur le comportement de est intégré dans une cellule de travail. Ici, la
l'agent robot. Cet environnement permet de réaliser bibliothèque de multi-corps fournit les composants
l'étude de la commande adaptive du robot dont le mécaniques tridimensionnels pour construire des
comportement s’adapte en fonction d’un systèmes multi-corps, comme les robots. Le système
environnement dynamique (Wooldridge et Al., 2002). robotisé est établi en reliant des blocs représentant
La simulation se fait d'une façon intuitive suivant le des pièces comme des corps, des articulations, des
paradigme de « comportement-basé ». BehaviorSim actionneurs, etc.
permet à des étudiants de développer et de tester leurs La méthodologie de simulation emploie de nombreux
propres applications basées sur le comportement des scénarii possibles avec quelques séquences
robots. d'animation, que l’on peut voir dans les figures
Cependant, la diversité des tâches à réaliser nécessite suivantes.
l'étude d'autres types de robots, dont les paramètres La figure 1 montre comment une main (préhenseur)
de la conception diffèrent de ce qui est connu de robot peut saisir un récipient. Dans cet exemple, la
habituellement. Les nouveaux types de robots synchronisation entre le bras du robot et le convoyeur
peuvent avoir de nouvelles propriétés, comme la est étudiée et tous les contacts entre les doigts et le
haute stabilité ou l'existence de nouveaux types de récipient sont analysés.
trajectoires. Afin d'agrandir les possibilités de tels
systèmes, il est intéressant d’assouplir quelques
contraintes sur les paramètres des systèmes robotisés
actuels.
mettent devant les autres. Pour réaliser cela,
Delphi lit le code dans l’ordre, c'est-à-dire que si
l’on demande de tracer deux objets superposés,
on verra uniquement le deuxième, car Delphi,
après avoir interprété le premier, le trace, mais
ensuite lit le deuxième et le trace par-dessus le
premier, ainsi on ne voit donc que le deuxième
dessin.
• La deuxième étape a été d’animer le dessin
selon les séquences suivantes :
- avancement de la voiture sur le tapis 1 ;
- prise de la voiture par le pont roulant ;
- trempage de la voiture dans le bac de
cataphorèse (la cataphorèse est une
technique de peinture qui consiste à
immerger la pièce dans un bain de peinture
hydrosoluble) ;
- le pont roulant dépose la voiture sur le
tapis 2 ;
- la voiture avance jusqu’au prochain poste ;
- le premier robot prend la porte arrière dans
Figure 1 : Séquences d'animation d’après scénarii le bac et la maintient à sa future position
représentant le processus de saisie d’un récipient sur la voiture ;
- le deuxième robot soude la porte puis
La simulation dynamique des systèmes multi-corps revient à sa position initiale ;
devient nécessaire quand il existe une interaction - le premier robot relâche la première porte
entre le robot manipulateur et les objets mobiles. et va chercher la porte avant dans le
Dans ce cas, le résultat final dépend non seulement deuxième bac, puis il la positionne ;
des performances des robots mais également de la - le deuxième robot soude la porte et revient
simulation de l’interaction de tels systèmes. Dans à sa position initiale ;
notre exemple, on simule la situation où la main du - le premier robot revient à sa position
robot et le système de transport agissent l'un sur initiale ;
l'autre. Ceci nous permet d’étudier chaque sous- - la voiture avance avec ses portes et descend
système, de comprendre entièrement le comportement au deuxième étage ;
du système robotisé, d’examiner des algorithmes de - la voiture avance jusqu'à la cabine de mise
commande. en peinture où elle est peinte ;
Pour la deuxième application, les images suivantes - la voiture avance jusqu’au prochain poste
montrent des séquences d'animation d’après des où elle reçoit ses roues ;
scénarii créés pour usiner la carrosserie de la voiture - la voiture avance jusqu’au vérin ;
DACIA. L’environnement Delphi nous permet de - le vérin descend avec la voiture et attend ;
créer une chaîne de production automobile. - la deuxième voiture commence son cycle ;
La méthodologie est interactive parce que l'humain - quand la deuxième voiture atteint la cabine
participe en définissant le volume d'espace de travail peinture, la première voiture avance et
et le nombre de voitures embarquées dans le camion. rentre dans le garage puis le vérin
Les configurations des système sont présentées ci- remonte ;
dessous pour deux couleurs différentes de la voiture: - la deuxième voiture sort de la cabine
verte et rouge. peinture et va recevoir ses roues ;
• La première étape a été de réaliser - elle avance jusqu’au vérin et descend ;
graphiquement l’installation robotisée à l’aide - elle entre dans le garage ;
des fonctions forme (rectangle, ellipse, - le vérin remonte ;
polygone…). Nous avons commencé par créer le - les deux voitures sortent du garage et
premier tapis roulant, puis le pont roulant, le montent dans le camion pour être
deuxième tapis et ainsi de suite en suivant évacuées.
l’ordre logique de la chaîne, jusqu'à obtenir
toute l’interface graphique. Mais pendant le
déroulement du processus, certains objets se
Présentation des séquences principales pour les 5. Conclusions
différents scénarii
Dans le langage Delphi - au niveau de code source - L’objectif de cet article est de souligner le rôle de la
on utilise la programmation textuelle avec des simulation dans différents domaines de la robotique.
symboles numériques et littéraux. Ainsi nous recommandons aux chercheurs d'employer
Nous avons imaginé des scenarii dont nous avons les moteurs dynamiques généraux et les langages de
retenu le premier Fig.(2) et le dernier Fig.(3) : programmation visuels pour la simulation et la
• Au début, le pont roulant va attraper la voiture visualisation des systèmes robotisés.
pour l’emmener dans le bain de cataphorèse, Les systèmes robotisés avancés exigent des outils
pour cela, il faut ajouter la variable qui sophistiqués de simulation qui peuvent simuler assez
s’incrémente automatiquement et qui est placée précisément le monde physique, à une vitesse
à la fois dans les coordonnées de la voiture et suffisante et permettent l'interaction avec l’utilisateur.
dans celles du pont roulant. La simulation des systèmes multi corps, sous
l'influence des forces extérieures, la détection de la
collision et la détermination de la force d’impact, la
visualisation réaliste de la scène de travail et
l'interaction avec l’environnement sont les nouveaux
défis dans la simulation des systèmes robotisés.
Cet article propose d’utiliser l'environnement de
programmation visuel Delphi, pour faciliter la
programmation intuitive des robots et présente
quelques exemples d’applications de systèmes
robotisés virtuels. Le premier exemple concerne des
robots qui travaillent dans des environnements avec
contraintes. L’étude de la tâche robotique avec des
contraintes nous permet d'établir les règles de base
pour contrôler le processus de préhension, utilisé pour
les robots réels. Le deuxième exemple nous montre
Figure 2 : Première séquence d'animation simulée. comment mettre au point une chaîne de fabrication
robotisée.
• Pour passer à la dernière séquence il suffit Ainsi on peut analyser les structures virtuelles créées
d’utiliser la même variable dans les coordonnées de point de vue de la robotique et obtenir une
des deux voitures et du camion afin de les faire meilleure description du comportement de telles
avancer en même temps. On obtient cette structures réelles robotisées.
dernière image : Les simulations réalisées pour cette application ont
été également utilisées pour l'élaboration des
méthodes systématiques pour créer les nouveaux
systèmes robotisés.
Nous avons prouvé que ces méthodes créatrices
peuvent maintenant être utilisées pour créer de
nouvelles structures de robots, pour tester les
paramètres des systèmes et pour résoudre des
problèmes spécifiques de cette façon.
Enfin, la simulation en robotique maintenant joue un
rôle très important. En employant ces différents
logiciels de simulation, les performances - présentes
et futures - des systèmes robotisés complexes peuvent
être sensiblement améliorées.
6. Remerciements
Figure 3 : Dernière séquence d'animation simulée. Ce travail a été soutenu dans le Département
d'Automatique de l’Université Transilvania de Brasov
Roumanie. Les auteurs remercient vivement cet
établissement pour son accueil.
7. Références
Bruzzone L.E., Molfino R.M., Zoppi M and Zurlo
G., “The PRIDE prototype: control layout of a
parallel robot for assembly tasks,” Proceedings. of the
International Conference on Modelling, Identification
and Control (MIC), 2003, pp. 606-611.

Corke P.I., "A robotics toolbox for MATLAB", IEEE


Robot Automation. Mag. 3(1), p. 24–32, 1996.

Fernandez-Madrigal J-A. et al., "A software


engineering approach for the development of
heterogeneous robotic applications.", Proceeding of
Robotics and Computer-Integrated Manufacturing,
N°.24 (2008) p.150–166.

Fleury G., Lacomme Ph., Tanguy A., "Simulation a


eveniments discrets.", Editeur EYROLLES, 2006.

Fratu A., Fratu M., "Programarea vizuala in mediul


Delphi cu Aplicatii in Robotica (Programmation
visuelle en environnement Delphi avec des
Applications in Robotique)." Editeur : l'Université
Transilvania de Brasov, ISBN 978-973-598-315-4,
2008.
Wooldridge M. et al., "Model checking multi-agent
systems with MABLE.", Proceedings of the first
international joint conference on Autonomous agents
and multiagent systems: part 2, ISBN:1-58113-480-0,
p. 952 – 959, 2002.
http://www.20sim.com/
http://ode.org/ode.html

Vous aimerez peut-être aussi