SlideShare uma empresa Scribd logo
1 de 23
Avant Projet (Simulateur Virtuelle du Robot Khepera II)
                       Polytech-Lille IMA 2eme Année
                         Professeur : Rochdi Merzouki

                                     Carlos Cervantes
                                    Daniel Domínguez
                                                2007
Tableau de Contenu

                                                                                                          Page

INTRODUCTION
OBJETIVES…………………………………………………………………………………2
Développement du Projet………….………………………………………………………3
Chronogramme……………………………………………………………………………..4
1. Robot Khepera II………………………………………………………………………..5
   1.1 Caractéristiques Techniques……………………………………………………...6
   1.2 Présentation du Robot.....................................................................................7
      1.2.1 Moteurs……………………………………………………………………….8
      1.2.2 Capteurs……………………………………………………………………...8
      1.2.3 Batteries………………………………………………………………………8
2. Model Mathématique du Robot Khepera II…………………………………………...9
3. Simulation de Modèle Mathématique du Robot Khepera II en Matlab……………12
   3.1 Intégration sur le logiciel Matlab………………………………………………….12
4. Matlab VRML Toolbox………………………………………………………………….14
   4.1 Propriétés principales du Matlab VRML Toolbox……………………………...14
   4.2 Association d'un monde virtuel à Simulink………………………………..……15
   4.3 V-Realm Builder……………………………………………………………………15
5. Modèle Virtuelle du Robot Khepera II en VRML……………………………….……16
   5.1 Définition d’environnant…………………………………………………………..16
   5.2 Conception virtuelle du Robot…………………………………………..……….16
   5.3 Intégration entre le robot et l’environnant……………………………………….17
   5.4 Définition des paramètres dans le monde virtuelle…………………………….17
6. Communication entre l’ordinateur et le Robot……………………………………….18
7. Visualisation du Simulateur Virtuelle et Robot Réel………………………………..19
CONCLUSIONS…………………………………………………………………………….20
BIBLIOGRAPHIE
INTRODUCTION

L'importance de visualisent le comportement d'un robot sur un environnement virtuel
est une application qui nous permet non seulement d'étudier son exécution, mais
également laissés agir sur un vrai chemin avec sa perception avec le vrai
environnement.

Cette types d’applications peuvent être développent avec différents outils, qui
peuvent changer du code de programmation, pour juste animer le comportement du
robot avec certain logiciel de 3D.

L'application de ce projet est basée sur le vrai comportement du robot de Khepera II,
où nous avons programmé le modèle cinématique, dynamique et géométrique du
robot en utilisant le code de Matlab et les blocs de Simulink, pour créer un modèle
virtuel d’eux et agit sur un ambiant virtuel développé sur VRML.

Nous prouverons que les Toolbox de Simulink et de VRML dans Matlab, sont les
outils puissants pour le développent non seulement des modèles mathématiques,
mais également d’une bonne interface à trois dimensions qui nous permettent de
commander le robot virtuel avec le vrai robot, toute se joignent sur des blocs.

Avec cette simple application, nous avons fait une intégration complète de la
simulation et de l'animation pour le robot de Khepera II qui nous ont laissés explorer
le vrai comportement du robot dans un environnement virtuel.
OBJETIVES

1. Développer un simulateur pour manipuler le robot Khepera II de la compagnie
   de K-Team.

2. Intégrer les modèles cinématiques, dynamiques et géométriques de la
   robotique mobile pour le robot Khepera II.

3. Mettre en application les modèles mathématiques du robot dans Simulink.

4. Développer une interface virtuelle pour manipuler le robot

5. Intégrer le modèle du robot virtuel avec le modèle mathématique se sont
   développés dans le Simulink pour manipuler le vrai robot avec le simulateur.
Développement du Projet

L’objectif principale du ce projet est de faire une model mathématique du robot
Khepera II pour pouvoir faire un simulateur virtuelle et comparer ce model obtenu
avec le robot physique.

La procédure a été la suivante :

       On a s’approché au robot et on l’a testé en utilisant les manuels et
   •
       programmes du fabricant pour savoir ses paramètres et modes de
       fonctionnement.
       On a trouve tout l’information du robot par rapport à sa configuration
   •
       mécanique pour pouvoir faire un modèle mathématique le plus proche a la
       réalité.
       On a teste le model mathématique sur la « Toolbox » SIMULINK de systèmes
   •
       de control du logiciel MATLAB et puis pour permettre une visualisation et
       manipulation du modèle plus facile on a programme un fichier .m sous
       MATLAB avec interface graphique.
       Finalement on a fait les premiers approches pour faire un simulateur plus
   •
       fonctionnelle et propre du robot en utilisant un autre outil de MATLAB appelle
       « Virtual Reality Toolbox » qui permet de utiliser une modèle fait en Simulink
       dans un environnement virtuel directement, ca permet gagner du temps dans
       la validation d’un modèle mathématique.
Chronogramme

Le projet a été conçu dans le cadres d’avant projet et le temps du travail a été
planifie dans le tableau suivant :


                        Assignation du projet, planification des objectifs, cahier des charges.



                        Recherche de l’information, essais sous le robot avec la
                        communication et l’ordinateur, utilisation des fichiers et support
                        données par le fabricant.

                        Recherche d’information pour le développement d’ambiant graphique
                        sous Matlab.

                        Début de la conception graphique du robot virtuelle sous code du
                        Matlab.


                        Obtention des modèles mathématiques du robot et validation sous
                        Matlab avec Simulink, programmation du fichier des équations du
                        modèle.

                        Début de la conception graphique du robot virtuelle et environnement
                        sous VRML.

                        Probes avec la communication du robot et l’ordinateur.




                        Intégration du modèle mathématique du robot dans Simulink et
                        VRML.

                        Premières probes du fonctionnement du simulateur.




                        Approche et programmation sous l’environnement virtuel du Matlab
                        et communication avec le robot en même temps de simulation,
                        probes finales.




                        Dernière détails.

                        Soutenance.
1. Robot Khepera II (K-Team Corp.)

Khepera II est un robot mobile miniature avec la fonctionnalité semblable à de plus
grands robots utilisés dans la recherche et l'éducation. Khepera II a été conçu par
l’entreprise K-TEAM à l’EPFL de Lausanne Suisse. Il permet de tester algorithmes
développés pour la simulation de planification de trajectoires, l'action d'éviter
d'obstacles, le prétraitement d'information sensorielle, entre d'autres.




                                 Fig. 1. Robot Khepera II




Le robot Khepera II a trois dégrées de liberté soit deux de translation dans le axe X
et une de rotation en el axe Z.

Il possédé deux roues qui son bouges pour deux moteur a courant continue, et huit
capteurs de proximité soit six en avance et deux en arrière.

On contrôle le robot avec un ordinateur avec interface serial RS-232 et il existe aussi
des modules sans fils pour le contrôler.

Le Khepera II est très modulaire tant au niveau matériel que logiciel et dispose d'un
ensemble de librairies performantes permettant de contrôler le robot, de piloter les
équipements et de télécharger de nouveaux programmes.
Un grand nombre de modules d'extension le rendent adaptables pour un grand
nombre d'expériences.
Pour faciliter la programmation du robot, plusieurs environnements de
développement sont supportés, depuis les cross-compilateurs C jusqu'à des outils
plus sophistiqués tels que Sysquake, LabVIEW, MATLAB ou le simulateur Webots.
Toutefois, n'importe quel outil de développement capable de gérer une
communication série peut être utilisé.
1.1 Caractéristiques Techniques
       Processeur: Motorola 68331 @25MHz.
   •
       RAM: 512 kilo-octets.
   •
       Mémoire Flash: 512 ko programmable par le port série
   •
       Motorisation: 2 moteurs DC avec codeur incrémental (12 impulsions par mm
   •
       de déplacement du robot).
       Vitesse: maximum 1m/s, minimum 0.02 m/s.
   •
       Capteurs: 8 capteurs infrarouges de luminosité et de proximité (100 mm de
   •
       portée) et un détecteur de batteries faibles.
       Entrées-Sorties: 3 entrées analogiques 0 à 4.3 V, 8 bits.
   •
       Alimentation: adaptateur secteur ou accus NiMH.
   •
       Autonomie: 1 heure en fonctionnement continu, l'ajout d'extensions diminuant
   •
       l'autonomie.
       Communication: par port série jusqu'à 115 kbauds (limitée à 9600 bauds en
   •
       liaison radio).
       Extensions: bus d'extension K-Bus permettant d'ajouter différents modules
   •
       (voir ci-dessous).
       Taille: 70 mm de diamètre pour 30 mm de hauteur.
   •
       Poids: environ 80 grammes.
   •
       Charge admissible: environ 250 grammes.
   •




                   Fig. 2. Caractéristiques Techniques du Robot Khepera II
1.2 Présentation du Robot
1.2.1 Moteurs
Chaque roue est déplacée par un moteur de C.C couplé à la roue par 25:1 vitesse de
réduction. Un encodeur par accroissement est placé sur l'axe de moteur et donne 24
impulsions par révolution du moteur. Ceci permet une résolution de 600 impulsions
par révolution de la roue qui correspond à 12 impulsions par millimètre de chemin du
robot. Le processeur principal de Khepera II a la commande directe sur l'alimentation
d'énergie de moteur et peut lire les impulsions de l'encodeur par accroissement. Une
routine d'interruption détecte chaque impulsion de l'encodeur par accroissement et
met à jour un compteur de position de roue. L'alimentation d'énergie de moteur peut
être ajustée par le processeur principal en le branchant et AU LOIN à une fréquence
donnée et pendant un temps donné. La fréquence de base de commutation est
constante et suffisamment haute pas a laissé le moteur réagir à la commutation
simple. Par de cette façon, le moteur réagissent à la moyenne de temps de
l'alimentation d'énergie, qui peut être modifiée en changeant la période où le moteur
est alimenté. Cette méthode de contrôle de puissance s'appelle « la modulation de
largeur d'impulsion » (PWM). La valeur de PWM est définie comme le temps où le
moteur est alimenté.
Les valeurs de PWM peuvent être placées directement, ou peuvent être contrôlées
par un contrôleur local de moteur. Le contrôleur de moteur peut exécuter la
commande de la vitesse ou la position du moteur, plaçant la valeur correcte de PWM
selon la vraie vitesse ou position lue sur les encodeurs par accroissement.
Les deux moteurs de C.C peuvent être commandés par un contrôleur de PID
exécuté dans une routine d'interruption du processeur principal. Chaque limite de ce
contrôleur (proportionnel, intégral, dérivé) est associée à un constant, plaçant le
poids de la limite correspondante : Kp pour le proportionnel, Ki pour l'intégrale, Kd
pour le dérivé. Le contrôleur de moteur peut être employé dans deux modes de
commande : La vitesse et la position modes. Le mode actif de commande est placé
selon le genre de commande reçu. Si le contrôleur reçoit une commande de
commande de vitesse, il commute au mode de vitesse. Si le contrôleur reçoit une
commande de commande de position, le mode de commande est automatiquement
commuté au mode de position. Différents paramètres de commande (Kp, Ki et Kd)
peuvent être placés pour chacun des deux modes de commande. Utilisé dans le
mode de vitesse, le contrôleur a comme entrée une valeur de vitesse des roues, et
commande le moteur pour garder cette vitesse de roue.
1.2.2 Capteurs
Les capteurs enfoncent un émetteur léger infrarouge et un récepteur. Ce dispositif de
sonde laisse deux mesures :
• La lumière ambiante normale. Cette mesure est faite en utilisant seulement le
récepteur pièce du dispositif, sans émettre la lumière avec l'émetteur. Une nouvelle
mesure est faite à chaque 20 ms. Pendant la, les sondes sont dedans indiqué a
manière séquentielle chaque 2.5 ms. La valeur retournée à un moment donné est le
résultat du bout la mesure a fait.
• Que la lumière s'est reflété par des obstacles. Cette mesure est faite émission
d'employer de lumière la pièce d'émetteur du dispositif. La valeur retournée est la
différence entre la mesure a fait émettre la lumière et la lumière mesurée sans
lumière émission (lumière ambiante). Une nouvelle mesure est faite à chaque 20 ms.
Pendant la, les sondes sont lues dedans une manière séquentielle chaque 2.5 ms.
La valeur retournée à un moment donné est le résultat de la dernière mesure faite.
Le rendement de chaque mesure est une valeur analogue convertie par un bit 10
ANALOGIQUE-NUMÉRIQUE convertisseur.




                  Fig. 3. Position du Capteurs du Robot Khepera II, vue supérieure



1.2.3 Batteries
Le robot est équipé de 4 batteries cadmium-nickel rechargeables d'une capacité de
180 heure-milliampère. Cette capacité permet le robot autonomie d'environ 45
minutes dans la configuration de base. La batterie peut être chargée de l'interface/du
chargeur que le module. Quand la tension de batterie est au-dessous de 4 V, le
processeur de robot cesse de fonctionner correctement et le robot n'a plus de
commande. À cette tension il reste une puissance suffisante de faire les moteurs se
déplacer, qui signifie que le robot peut se déplacer sans commande.
2. Model Mathématique du Robot Khepera II

Le Robot Khepera II est un robot mobil de configuration différentiel, ça veut dire que
                                                                         a
la vitesse du centre de mas c’est une différence entre les vitesses des roues, cette
configuration donne un commande facile mais maintenir la même direction est
difficile car les petites variations de vitesse du moteurs peuvent varier la direction en
grande quantité.

Le suivant dessin expresse les mesurés du robot et las forces que intervient lorsque
qu’il bouge :




                                  Fig. 3. Paramètres du robot



Les paramètres qu’on a pour le robot sont :

x: position dans l’axe x par en rapport au repère général
                   axe

y: position dans l’axe y par en rapport au repère général
                   axe

L: longitude entre les deux roues du robot

r: ratio d’une roue du robot

m: centre de mass

F: force qui fait la roue contra le sol

α : accélération angulaire d’une roue

ω: vitesse angulaire d’une roue

J: moment d’inertie

U: tension sur un moteur

f: forcé de frottement

M: mass du robot
À partir de ces paramètres on obtient les suivantes équations dynamiques du robot :



   1.                            accélération en l’axe x du repère du robot

   2.                           somme de moments par rapport à l’axe z

   3.                          équation des forces dans le moteur pour chaque roue



Puis on construit le système dans l’espace d’état avec les sorties et entres que l’on
veut avoir dans le système :




                 =                      *      +                    *




Les entres du système sont les deux vitesses angulaires désires pour le robot, et le
sortie est la vitesse désire, pour ce la il faut ajouter une réalimentation et un
contrôleur PID a ce représentation d’état alors le robot peut être représente avec le
diagramme de blocs suivant:




                                Fig. 4. Représentation du robot
Avec la vitesse désire on peut obtenir le modèle cinématique robot, on fait aussi le
développement pour obtenir ce modèle dans le repère général en faisant la
transformation de coordonnes, alors :




                  Fig. 5. Rapport de vitesses dans la géométrique du robot



x et y sont son les vitesses du robot en chaque axe e α est l’angle du lacet par
rapport a l’axe z.

Pour obtenir finalement les coordonnes x et y et l’angle de lacet pour pouvoir
connaître la position du robot a chaque instante de temps dans le repère général on
fait l’intégration de les équations cinématiques, alors on a :
3. Simulation de Modèle Mathématique du Robot Khepera II en Matlab

3.1 Intégration sur le logiciel Matlab

On veut valider les équations obtenues pour le robot sur le logiciel MATLAB, pour le
faire on a utilisé la méthode de résolution d’équations différentielles d’Euler puis on
peut les programmes sous MATLAB comme un fichier .m, alors on sait par Euler :

                              , T’est la période d’échantillonnage

A partir des équations dynamiques on utilisé la méthode d’Euler pour faire un
programme sous MATLAB :
%***********************************Paramètres du Robot********************************
       J=.1;        %inertie
       Iz=.00588;   %inertie
       r=.5;        %ratio de la rue
       f=.0003;     %friction
       M=.08;       %mass
       FxL=1;       %force en la direction x de la roue de gauche
       FxR=1;       %force en la direction x de la roue de droite
       L= 3;        %distance entre les deux roues du robot
       kp=1;        %constante proportionnelle du PID
       te=0.1;      %période d'échantillonnage
       alpha=0;     %angle de lacet
       WL(1)=0;     %vitesse angulaire roue gauche a l'instante k pour k=0
       WL(2)=0;     %vitesse angulaire roue gauche a l'instante k+1 pour k=0
       WR(1)=0;     %vitesse angulaire de la roue de droite a l'instante k pour k=0
       WR(2)=0;     %vitesse angulaire de la roue de droite a l'instante k+1 pour k=0
       WLd(1)=0;    %vitesse angulaire désire de la roue de gauche a l'instante k pour k=0
       WRd(1)=0;    %vitesse angulaire désire de la roue de droite a l'instante k pour k=0
       X=0;         %vecteur de coordonnées X du robot
       Y=0;         %vecteur de coordonnées Y du robot

      T= str2num(get(handles.edit4,'String'));%temps de la simulation donnée par l'usager
      ech=T/te;                               %nombre d'échantillons

      for k=1:1:ech    %k c'est le nombre de échantillon

             if(te>0)      %fait une delay égal a la période d'échantillonnage
               tiempo=timer('timerfcn','myWait(0)','StartDelay',te);
               start(tiempo);
               wait(tiempo);
             end          %fin du temporization

              WLd(k)=str2num(get(handles.edit1,'String'));%vitesse désire de la rue de gauche
              WRd(k)=str2num(get(handles.edit2,'String'));%vitesse désire de la rue de droit
              UR=1;           %tension donné au moteur de la rue de droite
              UL=1;           %tension donné au moteur de la rue de gauche
              WL(k+1)=((1-(te/J)*(f+kp*UL-kp*FxL*r))*WL(k))+(((kp*UL)-
p*FxL*r))*(te/J)*WLd(k));
              WR(k+1)= ((1-(te/J)*(f+kp*UR-kp*FxR*r))*WR(k))+(((kp*UR)-
*FxR*r))*(te/J)*WRd(k));

             %intégration pour obtenir les cordonnes
             %angle de lacet a l'instante k
             alpha(k+1) = alpha(k) + ( te*(r/L)*(WR(k+1)-WL(k+1)) );
             %coordonné x du robot a l'instante k
             X(k+1)= X(k)+ ( (te/2)*r*cos(alpha(k+1))*(WR(k+1)+WL(k+1)) );
             %coordonné y du robot a l'instante k
             Y(k+1)= Y(k)+ ( (te/2)*r*sin(alpha(k+1))*(WR(k+1)+WL(k+1)) );
             hold on;
             plot(X(k),Y(k))

      end
Pour faire une validation des équations on à simule les équations pendant un période
de temps laquelle peut être choisi en secondes, on peut modifier les vitesses
angulaires de chaque roue pendant les période de temps pour regarder la trajectoire
du robot a chaque échantillon ; les valeurs des constantes du régulateur PID sous le
robot peuvent être modifies aussi avant de démarrer la simulation, la fenêtre affiche
aussi pendant la simulation les valeurs des huit capteurs à proximité du robot réel.




                   Fig. 6. Fenêtre principal du programme fait sous Matlab
4. Matlab VRML Toolbox

VRML : Langage apparenté au HTML et destiné au dessin 3D. Pour exploiter ce
dernier, il faut un plug-in correspondant, lequel transforme en images 3D sur
l'ordinateur client les instructions envoyées par le serveur Web.

Le Toolbox VRML du Matlab est une solution pour agir l'un sur l'autre avec les
modèles de réalité virtuels du temps fini de systèmes dynamiques. Elle prolonge les
possibilités de MATLAB et de Simulink au monde des graphiques de réalité virtuelle.

4.1 Propriétés principales du Matlab VRML Toolbox

       Les mondes virtuels - créer les mondes virtuels ou les scènes
   •
       tridimensionnelles en utilisant la réalité virtuelle standard modelant la
       technologie de la langue (VRML).

       Les systèmes dynamiques - créer et définir les systèmes dynamiques avec
   •
       MATLAB et Simulink.

       Animation - regarder les scènes tridimensionnelles en mouvement conduites
   •
       par des signaux de l'environnement de Simulink.

       Manipulation - changer les positions et les propriétés des objets dans un
   •
       monde virtuel tout en courant une simulation.

Le VRML Toolbox fonctionne avec MATLAB et Simulink. Cependant, l'interface de
Simulink est la manière préférée de travailler avec le toolbox.




                      Fig. 7. Fenêtre de réalité virtuelle sous Matlab.
4.2 Association d'un monde virtuel à Simulink

Avec la Le VRML Matlab Toolbox nous pouvons connecter un schéma fonctionnel de
Simulink avec un monde virtuel.

La simulation d'un modèle de Simulink produit des données de signal pour un
système dynamique. En reliant le modèle de Simulink à un monde virtuel, nous
pouvons employer ces données pour commander et animer le monde virtuel.

Créer un monde virtuel implique de trouver ou établir un objet à trois dimensions
virtuel, créant le fond, établissant le monde virtuel en remontant les objets et le fond
virtuels, et lier le monde virtuel à MATLAB ou à Simulink pour l'analyse. Chaque
étape apporte ses propres défis.

4.3 V-Realm Builder

V-Realm Builder est un paquet écrivant de VRML 2.0 facilitant la création des objets
3D et des « mondes ». Il contient l'objet, texture, le transforme et les bibliothèques
matérielles pour stocker localement ces éléments pour la facilité de la réutilisation.

Le constructeur de V-Realm Builder permet à des réalisateurs la convenance de
l'édition directe des nœuds de VRML sans le codage de main exigé. Une interface
intuitive réduit la courbe d’étude et augmente la productivité.

Les importations ouvrent l'inventeur, le studio VRML 1.0, 3D, le front des ondes
CRU, de SGI, et les dossiers de true Space.
5. Modèle Virtuelle du Robot Khepera II en VRML

Le simulateur virtuel que nous avons développé était fondamentalement l'intégration
entre le logiciel V-Realm Builder et le Toolbox de VRML. Nous avons créé le monde
virtuel entier et le robot virtuel en utilisant le rédacteur à trois dimensions de V-Realm
Builder et alors nous avons exporté dans le VRML Toolbox de Matlab.

Les étapes que nous avons suivies pour le développement du simulateur virtuel
étaient la suite :

   5.1 Définition d’environnant (L’espace de travaille)




                             Fig. 8. Environnant virtuelle du robot




   5.2 Conception virtuelle du Robot (Géométrie du Robot)




                              Fig. 9. Robot Réel – Robot Virtuelle
5.3 Intégration entre le robot et l’environnant (Le Robot dois travailler dans cette
      espace)




                         Fig. 10. Robot dans l’environnant virtuelle




   5.4 Définition des paramètres dans le monde virtuelle (Restrictions du robot dans
      l’espace)




                          Fig. 11. Bloc de VR sink sous Simulink

VR Sink : Ecrit les données du modèle de Simulink au monde virtuel, des valeurs de
ses ports aux gisements virtuels du monde indiqués dans la zone de dialogue de
paramètres de bloc.

Un bloc de VR Sink accepte tous les types de données significatives sur l'entrée. Le
bloc convertit ces types de données en types normaux de VRML selon les besoins.
Ces types de données incluent les logiques, beaucoup de types de nombres entiers
signés et non signés, choisissent, et doublent.
6. Communication entre l’ordinateur et le Robot


Le protocole communication sériel permet la commande complète des fonctionnalités
du robot par une ligne de la publication périodique RS232. La configuration (baud
rate aussi bien que des données, le début, l'arrêt et des bits de parité) de la ligne
périodique de votre centre serveur l'ordinateur doit correspondre à l'un ensemble sur
le robot aux pullovers (modes courants 1 à 3, toujours 8 1 bits de départ de bit, bit
d'arrêt 2, aucune parité).
La communication entre l'ordinateur principal et le robot de Khepera II est faite
envoyant et recevant des messages d'ASCII.
Chaque interaction se compose par :
   •   Commande du A, envoyée par l'ordinateur principal au robot de Khepera II et
       suivie par un retour de chariot ou retour à la ligne.
   •   Une fois nécessaire, une réponse, envoyée par le Khepera II à l'ordinateur
       principal.
Dans toutes les communications l'ordinateur principal joue le rôle du maître et du
Khepera II le rôle de slave. Toutes les communications sont lancées par le maître. La
communication est basée sur deux types d'interactions : un type d'interaction pour
l'installation du robot (par exemple pour placer les modes courants, la transmission
baud rate…), et un type d'interaction pour la commande de la fonctionnalité du robot
(par exemple pour placer la vitesse des moteurs, pour obtenir les valeurs des
sondes…).
Les interactions permettant l'installation du robot sont basées sur des commandes
appelées les outils. Les interactions pour la commande du robot la fonctionnalité
emploie des commandes et des réponses de protocole.
7. Visualisation du Simulateur Virtuelle et Robot Réel
CONCLUSIONS

Ce projet nous a servi à développer un nouveau simulateur du Robot Khepera II,
lequel est utilisé pour l'éducation. Il y a divers simulateurs pour manier ce robot, mais
nous avons développé le premier simulateur fait totalement dans le toolbox de
Matlab de Simulink.

Avec cette application nous intégrerons tout le modèle mathématique du robot, et
après nous le visualisons dans une ambiant 3D et finalement le communiquer avec le
vrai robot, tout rejoint dans des blocs de Simulink.

La principale importance dans ce projet, est avoir développé tout l'interface en
Simulink, depuis les blocs pour le contrôle du robot, l'implémentation du modèle
cinématique, dynamique et géométrique jusqu'à la visualisation dans le bloc de
VRML de Simulink et la fonction que nous avons développé pour obtenir la
communication entre le simulateur et le robot.

Il reste finalement la possibilité d'améliorer le simulateur en faisant des applications
comme par exemple le maniement de plusieurs robots, l'intégration du camera web
du robot et une possible console pour commander de manière plus facile le robot
virtuel et le robot réel.
BIBLIOGRAPHIE

1. K-Team corp.
www.k-team.com

2. Khepera II Robot User Manual

3. Polycopies Cours de Robotique. Polytech-Lille IMA 2. (R. Merzouki). 2007

4. The MathWorks Matlab
http://www.mathworks.com/access/helpdesk/help/techdoc/matlab.shtml

5. Virtual Reality Toolbox
http://www.mathworks.com/access/helpdesk/help/toolbox/vr/

6. Installation instructions of Matlab scientific software package
http://shum.huji.ac.il/cc/matlvrml.html

7. Virtual Reality Toolbox Release Notes
http://www.isds.duke.edu/comp/internal/matlab/base/relnotes/virtual.html

8. Creating Standalone Virtual Environments
http://www.mathworks.fr/company/newsletters/digest/2007/mar/synthetic.html

9. Cortona VRML Client
http://www.parallelgraphics.com/products/cortona/

Mais conteúdo relacionado

Mais procurados

La spécification des besoins
La spécification des besoinsLa spécification des besoins
La spécification des besoinsIsmahen Traya
 
VIRTUAL REALITY (VR) ppt
VIRTUAL REALITY (VR) pptVIRTUAL REALITY (VR) ppt
VIRTUAL REALITY (VR) pptKhumanDewangan
 
Rapport de stage à l’IUFM de Versailles
Rapport de stage à l’IUFM de VersaillesRapport de stage à l’IUFM de Versailles
Rapport de stage à l’IUFM de VersaillesFrédéric Sagez
 
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...Anas Riahi
 
Cv ines ouaz
Cv ines ouazCv ines ouaz
Cv ines ouazInes Ouaz
 
Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...
Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...
Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...Mohammed JAITI
 
IPTECH CATALOGUE DES SUJETS PFE POUR L'ANNÉE 2018
IPTECH  CATALOGUE DES SUJETS PFE POUR L'ANNÉE 2018IPTECH  CATALOGUE DES SUJETS PFE POUR L'ANNÉE 2018
IPTECH CATALOGUE DES SUJETS PFE POUR L'ANNÉE 2018. WATCOM
 
Développement d’une application de gestion des licences des contrôleurs aériens
Développement d’une application de gestion des licences des contrôleurs aériensDéveloppement d’une application de gestion des licences des contrôleurs aériens
Développement d’une application de gestion des licences des contrôleurs aériensGhassen Chaieb
 
La Réalité Augmentée & la Réalité Virtuelle au Service de l'Education
La Réalité Augmentée & la Réalité Virtuelle au Service de l'EducationLa Réalité Augmentée & la Réalité Virtuelle au Service de l'Education
La Réalité Augmentée & la Réalité Virtuelle au Service de l'EducationOussama BEN KHIROUN
 
Virtualisation
VirtualisationVirtualisation
VirtualisationTsubichi
 
Projet de fin d étude (1)
Projet de fin d étude (1)Projet de fin d étude (1)
Projet de fin d étude (1)Sanaa Guissar
 
ROBOT à base d'Android - Présentation PFE
ROBOT à base d'Android - Présentation PFEROBOT à base d'Android - Présentation PFE
ROBOT à base d'Android - Présentation PFEHoussem Eddine LASSOUED
 
Rapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammamiRapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammamiDonia Hammami
 
Virtualisation.pptx
Virtualisation.pptxVirtualisation.pptx
Virtualisation.pptxISaf3
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Riadh K.
 

Mais procurados (20)

La spécification des besoins
La spécification des besoinsLa spécification des besoins
La spécification des besoins
 
Virtual reality
Virtual realityVirtual reality
Virtual reality
 
VIRTUAL REALITY (VR) ppt
VIRTUAL REALITY (VR) pptVIRTUAL REALITY (VR) ppt
VIRTUAL REALITY (VR) ppt
 
Rapport de stage à l’IUFM de Versailles
Rapport de stage à l’IUFM de VersaillesRapport de stage à l’IUFM de Versailles
Rapport de stage à l’IUFM de Versailles
 
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
 
Virtual reality
Virtual realityVirtual reality
Virtual reality
 
Cv ines ouaz
Cv ines ouazCv ines ouaz
Cv ines ouaz
 
Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...
Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...
Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...
 
IPTECH CATALOGUE DES SUJETS PFE POUR L'ANNÉE 2018
IPTECH  CATALOGUE DES SUJETS PFE POUR L'ANNÉE 2018IPTECH  CATALOGUE DES SUJETS PFE POUR L'ANNÉE 2018
IPTECH CATALOGUE DES SUJETS PFE POUR L'ANNÉE 2018
 
Virtual Reality
Virtual RealityVirtual Reality
Virtual Reality
 
La virtualisation
La virtualisationLa virtualisation
La virtualisation
 
Développement d’une application de gestion des licences des contrôleurs aériens
Développement d’une application de gestion des licences des contrôleurs aériensDéveloppement d’une application de gestion des licences des contrôleurs aériens
Développement d’une application de gestion des licences des contrôleurs aériens
 
La Réalité Augmentée & la Réalité Virtuelle au Service de l'Education
La Réalité Augmentée & la Réalité Virtuelle au Service de l'EducationLa Réalité Augmentée & la Réalité Virtuelle au Service de l'Education
La Réalité Augmentée & la Réalité Virtuelle au Service de l'Education
 
Virtualisation
VirtualisationVirtualisation
Virtualisation
 
Projet de fin d étude (1)
Projet de fin d étude (1)Projet de fin d étude (1)
Projet de fin d étude (1)
 
ROBOT à base d'Android - Présentation PFE
ROBOT à base d'Android - Présentation PFEROBOT à base d'Android - Présentation PFE
ROBOT à base d'Android - Présentation PFE
 
Rapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammamiRapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammami
 
Virtualisation.pptx
Virtualisation.pptxVirtualisation.pptx
Virtualisation.pptx
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
 
Rapport PFE - B.Sc IT
Rapport PFE -  B.Sc ITRapport PFE -  B.Sc IT
Rapport PFE - B.Sc IT
 

Destaque

Présentation du Projet (2006) - Français
Présentation du Projet (2006) - FrançaisPrésentation du Projet (2006) - Français
Présentation du Projet (2006) - FrançaisDaniel Dominguez
 
Mejorando Scrum, un Sprint a la vez
Mejorando Scrum, un Sprint a la vezMejorando Scrum, un Sprint a la vez
Mejorando Scrum, un Sprint a la vezDaniel Dominguez
 
Doing UX in an Agile World
Doing UX in an Agile WorldDoing UX in an Agile World
Doing UX in an Agile WorldDaniel Dominguez
 
Agile Bug Fixing (Zero Bug Policy)
Agile Bug Fixing (Zero Bug Policy) Agile Bug Fixing (Zero Bug Policy)
Agile Bug Fixing (Zero Bug Policy) Daniel Dominguez
 
Proyecto De Grado (2005) - Español
Proyecto De Grado (2005) - EspañolProyecto De Grado (2005) - Español
Proyecto De Grado (2005) - EspañolDaniel Dominguez
 
Proyecto De Grado (2005) - Español
Proyecto De Grado (2005) - EspañolProyecto De Grado (2005) - Español
Proyecto De Grado (2005) - EspañolDaniel Dominguez
 
Cómo descargar presentaciones desde SlideShare
Cómo descargar presentaciones desde SlideShareCómo descargar presentaciones desde SlideShare
Cómo descargar presentaciones desde SlideSharePedro Bermudez Talavera
 

Destaque (9)

Présentation du Projet (2006) - Français
Présentation du Projet (2006) - FrançaisPrésentation du Projet (2006) - Français
Présentation du Projet (2006) - Français
 
Mejorando Scrum, un Sprint a la vez
Mejorando Scrum, un Sprint a la vezMejorando Scrum, un Sprint a la vez
Mejorando Scrum, un Sprint a la vez
 
Paper (2007) - English
Paper (2007) - EnglishPaper (2007) - English
Paper (2007) - English
 
Doing UX in an Agile World
Doing UX in an Agile WorldDoing UX in an Agile World
Doing UX in an Agile World
 
i-azul Slide (2009)
i-azul Slide (2009)i-azul Slide (2009)
i-azul Slide (2009)
 
Agile Bug Fixing (Zero Bug Policy)
Agile Bug Fixing (Zero Bug Policy) Agile Bug Fixing (Zero Bug Policy)
Agile Bug Fixing (Zero Bug Policy)
 
Proyecto De Grado (2005) - Español
Proyecto De Grado (2005) - EspañolProyecto De Grado (2005) - Español
Proyecto De Grado (2005) - Español
 
Proyecto De Grado (2005) - Español
Proyecto De Grado (2005) - EspañolProyecto De Grado (2005) - Español
Proyecto De Grado (2005) - Español
 
Cómo descargar presentaciones desde SlideShare
Cómo descargar presentaciones desde SlideShareCómo descargar presentaciones desde SlideShare
Cómo descargar presentaciones desde SlideShare
 

Semelhante a Simulateur Robot Khepera (2007) - Français

Présentation de la robotique
Présentation de la robotiquePrésentation de la robotique
Présentation de la robotiqueLouise Roy
 
Rapport projet UniceBot
Rapport projet UniceBotRapport projet UniceBot
Rapport projet UniceBottheoopparadigm
 
Atelier aqifga 2012
Atelier aqifga 2012Atelier aqifga 2012
Atelier aqifga 2012Louise Roy
 
Réalité virtuelle Immersive pour la conception de postes de travail
Réalité virtuelle Immersive pour la conception de postes de travailRéalité virtuelle Immersive pour la conception de postes de travail
Réalité virtuelle Immersive pour la conception de postes de travailAlexandre BOUCHET
 
La robotique collaborative comme moyen de soulager l’opérateur
La robotique collaborative comme moyen de soulager l’opérateurLa robotique collaborative comme moyen de soulager l’opérateur
La robotique collaborative comme moyen de soulager l’opérateurLa Fabrique de l'industrie
 
Séance 2 robo cept.ppt
Séance 2 robo cept.pptSéance 2 robo cept.ppt
Séance 2 robo cept.pptWiem Ben Ayed
 
Cvnadirnew 110211085144-phpapp01
Cvnadirnew 110211085144-phpapp01Cvnadirnew 110211085144-phpapp01
Cvnadirnew 110211085144-phpapp01May Saghira
 
Rapport belgacem khaled
Rapport belgacem khaledRapport belgacem khaled
Rapport belgacem khaledBoughraraanis
 
Cas de la refonte de STM.info
Cas de la refonte de STM.infoCas de la refonte de STM.info
Cas de la refonte de STM.infoTP1
 
ADT SOFAVR jesnault 01-10-12 final presentation 2
ADT SOFAVR jesnault 01-10-12 final presentation 2ADT SOFAVR jesnault 01-10-12 final presentation 2
ADT SOFAVR jesnault 01-10-12 final presentation 2Jérôme Esnault
 
Concours Marocain de l\’Open Source CMOS édition 2008
Concours Marocain de l\’Open Source CMOS édition 2008Concours Marocain de l\’Open Source CMOS édition 2008
Concours Marocain de l\’Open Source CMOS édition 2008Nadir Haouari
 
Prototypage de Systèmes Embarqués
Prototypage de Systèmes EmbarquésPrototypage de Systèmes Embarqués
Prototypage de Systèmes Embarquésboisgera
 
Telnet stage pfe book_2017-2018
Telnet stage pfe book_2017-2018Telnet stage pfe book_2017-2018
Telnet stage pfe book_2017-2018. WATCOM
 
Presentation base
Presentation basePresentation base
Presentation baseLouise Roy
 
20140415200533!rapport projet deltombe_gerier
20140415200533!rapport projet deltombe_gerier20140415200533!rapport projet deltombe_gerier
20140415200533!rapport projet deltombe_gerierbessem ellili
 
Connected Developper Ep6 (25-05-2013)
Connected Developper Ep6 (25-05-2013)Connected Developper Ep6 (25-05-2013)
Connected Developper Ep6 (25-05-2013)Badr Hakkari
 

Semelhante a Simulateur Robot Khepera (2007) - Français (20)

_JCVFr
_JCVFr_JCVFr
_JCVFr
 
Présentation de la robotique
Présentation de la robotiquePrésentation de la robotique
Présentation de la robotique
 
Rapport projet UniceBot
Rapport projet UniceBotRapport projet UniceBot
Rapport projet UniceBot
 
Atelier aqifga 2012
Atelier aqifga 2012Atelier aqifga 2012
Atelier aqifga 2012
 
Réalité virtuelle Immersive pour la conception de postes de travail
Réalité virtuelle Immersive pour la conception de postes de travailRéalité virtuelle Immersive pour la conception de postes de travail
Réalité virtuelle Immersive pour la conception de postes de travail
 
La robotique collaborative comme moyen de soulager l’opérateur
La robotique collaborative comme moyen de soulager l’opérateurLa robotique collaborative comme moyen de soulager l’opérateur
La robotique collaborative comme moyen de soulager l’opérateur
 
Séance 2 robo cept.ppt
Séance 2 robo cept.pptSéance 2 robo cept.ppt
Séance 2 robo cept.ppt
 
Cvnadirnew 110211085144-phpapp01
Cvnadirnew 110211085144-phpapp01Cvnadirnew 110211085144-phpapp01
Cvnadirnew 110211085144-phpapp01
 
Rapport belgacem khaled
Rapport belgacem khaledRapport belgacem khaled
Rapport belgacem khaled
 
_JCVFr
_JCVFr_JCVFr
_JCVFr
 
Cas de la refonte de STM.info
Cas de la refonte de STM.infoCas de la refonte de STM.info
Cas de la refonte de STM.info
 
ADT SOFAVR jesnault 01-10-12 final presentation 2
ADT SOFAVR jesnault 01-10-12 final presentation 2ADT SOFAVR jesnault 01-10-12 final presentation 2
ADT SOFAVR jesnault 01-10-12 final presentation 2
 
Concours Marocain de l\’Open Source CMOS édition 2008
Concours Marocain de l\’Open Source CMOS édition 2008Concours Marocain de l\’Open Source CMOS édition 2008
Concours Marocain de l\’Open Source CMOS édition 2008
 
CV-Elhassane-NAIM-FR
CV-Elhassane-NAIM-FRCV-Elhassane-NAIM-FR
CV-Elhassane-NAIM-FR
 
Prototypage de Systèmes Embarqués
Prototypage de Systèmes EmbarquésPrototypage de Systèmes Embarqués
Prototypage de Systèmes Embarqués
 
Telnet stage pfe book_2017-2018
Telnet stage pfe book_2017-2018Telnet stage pfe book_2017-2018
Telnet stage pfe book_2017-2018
 
Presentation base
Presentation basePresentation base
Presentation base
 
20140415200533!rapport projet deltombe_gerier
20140415200533!rapport projet deltombe_gerier20140415200533!rapport projet deltombe_gerier
20140415200533!rapport projet deltombe_gerier
 
Connected Developper Ep6 (25-05-2013)
Connected Developper Ep6 (25-05-2013)Connected Developper Ep6 (25-05-2013)
Connected Developper Ep6 (25-05-2013)
 
CV_Bilel CHAOUADI
CV_Bilel CHAOUADICV_Bilel CHAOUADI
CV_Bilel CHAOUADI
 

Simulateur Robot Khepera (2007) - Français

  • 1. Avant Projet (Simulateur Virtuelle du Robot Khepera II) Polytech-Lille IMA 2eme Année Professeur : Rochdi Merzouki Carlos Cervantes Daniel Domínguez 2007
  • 2. Tableau de Contenu Page INTRODUCTION OBJETIVES…………………………………………………………………………………2 Développement du Projet………….………………………………………………………3 Chronogramme……………………………………………………………………………..4 1. Robot Khepera II………………………………………………………………………..5 1.1 Caractéristiques Techniques……………………………………………………...6 1.2 Présentation du Robot.....................................................................................7 1.2.1 Moteurs……………………………………………………………………….8 1.2.2 Capteurs……………………………………………………………………...8 1.2.3 Batteries………………………………………………………………………8 2. Model Mathématique du Robot Khepera II…………………………………………...9 3. Simulation de Modèle Mathématique du Robot Khepera II en Matlab……………12 3.1 Intégration sur le logiciel Matlab………………………………………………….12 4. Matlab VRML Toolbox………………………………………………………………….14 4.1 Propriétés principales du Matlab VRML Toolbox……………………………...14 4.2 Association d'un monde virtuel à Simulink………………………………..……15 4.3 V-Realm Builder……………………………………………………………………15 5. Modèle Virtuelle du Robot Khepera II en VRML……………………………….……16 5.1 Définition d’environnant…………………………………………………………..16 5.2 Conception virtuelle du Robot…………………………………………..……….16 5.3 Intégration entre le robot et l’environnant……………………………………….17 5.4 Définition des paramètres dans le monde virtuelle…………………………….17 6. Communication entre l’ordinateur et le Robot……………………………………….18 7. Visualisation du Simulateur Virtuelle et Robot Réel………………………………..19 CONCLUSIONS…………………………………………………………………………….20 BIBLIOGRAPHIE
  • 3. INTRODUCTION L'importance de visualisent le comportement d'un robot sur un environnement virtuel est une application qui nous permet non seulement d'étudier son exécution, mais également laissés agir sur un vrai chemin avec sa perception avec le vrai environnement. Cette types d’applications peuvent être développent avec différents outils, qui peuvent changer du code de programmation, pour juste animer le comportement du robot avec certain logiciel de 3D. L'application de ce projet est basée sur le vrai comportement du robot de Khepera II, où nous avons programmé le modèle cinématique, dynamique et géométrique du robot en utilisant le code de Matlab et les blocs de Simulink, pour créer un modèle virtuel d’eux et agit sur un ambiant virtuel développé sur VRML. Nous prouverons que les Toolbox de Simulink et de VRML dans Matlab, sont les outils puissants pour le développent non seulement des modèles mathématiques, mais également d’une bonne interface à trois dimensions qui nous permettent de commander le robot virtuel avec le vrai robot, toute se joignent sur des blocs. Avec cette simple application, nous avons fait une intégration complète de la simulation et de l'animation pour le robot de Khepera II qui nous ont laissés explorer le vrai comportement du robot dans un environnement virtuel.
  • 4. OBJETIVES 1. Développer un simulateur pour manipuler le robot Khepera II de la compagnie de K-Team. 2. Intégrer les modèles cinématiques, dynamiques et géométriques de la robotique mobile pour le robot Khepera II. 3. Mettre en application les modèles mathématiques du robot dans Simulink. 4. Développer une interface virtuelle pour manipuler le robot 5. Intégrer le modèle du robot virtuel avec le modèle mathématique se sont développés dans le Simulink pour manipuler le vrai robot avec le simulateur.
  • 5. Développement du Projet L’objectif principale du ce projet est de faire une model mathématique du robot Khepera II pour pouvoir faire un simulateur virtuelle et comparer ce model obtenu avec le robot physique. La procédure a été la suivante : On a s’approché au robot et on l’a testé en utilisant les manuels et • programmes du fabricant pour savoir ses paramètres et modes de fonctionnement. On a trouve tout l’information du robot par rapport à sa configuration • mécanique pour pouvoir faire un modèle mathématique le plus proche a la réalité. On a teste le model mathématique sur la « Toolbox » SIMULINK de systèmes • de control du logiciel MATLAB et puis pour permettre une visualisation et manipulation du modèle plus facile on a programme un fichier .m sous MATLAB avec interface graphique. Finalement on a fait les premiers approches pour faire un simulateur plus • fonctionnelle et propre du robot en utilisant un autre outil de MATLAB appelle « Virtual Reality Toolbox » qui permet de utiliser une modèle fait en Simulink dans un environnement virtuel directement, ca permet gagner du temps dans la validation d’un modèle mathématique.
  • 6. Chronogramme Le projet a été conçu dans le cadres d’avant projet et le temps du travail a été planifie dans le tableau suivant : Assignation du projet, planification des objectifs, cahier des charges. Recherche de l’information, essais sous le robot avec la communication et l’ordinateur, utilisation des fichiers et support données par le fabricant. Recherche d’information pour le développement d’ambiant graphique sous Matlab. Début de la conception graphique du robot virtuelle sous code du Matlab. Obtention des modèles mathématiques du robot et validation sous Matlab avec Simulink, programmation du fichier des équations du modèle. Début de la conception graphique du robot virtuelle et environnement sous VRML. Probes avec la communication du robot et l’ordinateur. Intégration du modèle mathématique du robot dans Simulink et VRML. Premières probes du fonctionnement du simulateur. Approche et programmation sous l’environnement virtuel du Matlab et communication avec le robot en même temps de simulation, probes finales. Dernière détails. Soutenance.
  • 7. 1. Robot Khepera II (K-Team Corp.) Khepera II est un robot mobile miniature avec la fonctionnalité semblable à de plus grands robots utilisés dans la recherche et l'éducation. Khepera II a été conçu par l’entreprise K-TEAM à l’EPFL de Lausanne Suisse. Il permet de tester algorithmes développés pour la simulation de planification de trajectoires, l'action d'éviter d'obstacles, le prétraitement d'information sensorielle, entre d'autres. Fig. 1. Robot Khepera II Le robot Khepera II a trois dégrées de liberté soit deux de translation dans le axe X et une de rotation en el axe Z. Il possédé deux roues qui son bouges pour deux moteur a courant continue, et huit capteurs de proximité soit six en avance et deux en arrière. On contrôle le robot avec un ordinateur avec interface serial RS-232 et il existe aussi des modules sans fils pour le contrôler. Le Khepera II est très modulaire tant au niveau matériel que logiciel et dispose d'un ensemble de librairies performantes permettant de contrôler le robot, de piloter les équipements et de télécharger de nouveaux programmes. Un grand nombre de modules d'extension le rendent adaptables pour un grand nombre d'expériences. Pour faciliter la programmation du robot, plusieurs environnements de développement sont supportés, depuis les cross-compilateurs C jusqu'à des outils plus sophistiqués tels que Sysquake, LabVIEW, MATLAB ou le simulateur Webots. Toutefois, n'importe quel outil de développement capable de gérer une communication série peut être utilisé.
  • 8. 1.1 Caractéristiques Techniques Processeur: Motorola 68331 @25MHz. • RAM: 512 kilo-octets. • Mémoire Flash: 512 ko programmable par le port série • Motorisation: 2 moteurs DC avec codeur incrémental (12 impulsions par mm • de déplacement du robot). Vitesse: maximum 1m/s, minimum 0.02 m/s. • Capteurs: 8 capteurs infrarouges de luminosité et de proximité (100 mm de • portée) et un détecteur de batteries faibles. Entrées-Sorties: 3 entrées analogiques 0 à 4.3 V, 8 bits. • Alimentation: adaptateur secteur ou accus NiMH. • Autonomie: 1 heure en fonctionnement continu, l'ajout d'extensions diminuant • l'autonomie. Communication: par port série jusqu'à 115 kbauds (limitée à 9600 bauds en • liaison radio). Extensions: bus d'extension K-Bus permettant d'ajouter différents modules • (voir ci-dessous). Taille: 70 mm de diamètre pour 30 mm de hauteur. • Poids: environ 80 grammes. • Charge admissible: environ 250 grammes. • Fig. 2. Caractéristiques Techniques du Robot Khepera II
  • 9. 1.2 Présentation du Robot 1.2.1 Moteurs Chaque roue est déplacée par un moteur de C.C couplé à la roue par 25:1 vitesse de réduction. Un encodeur par accroissement est placé sur l'axe de moteur et donne 24 impulsions par révolution du moteur. Ceci permet une résolution de 600 impulsions par révolution de la roue qui correspond à 12 impulsions par millimètre de chemin du robot. Le processeur principal de Khepera II a la commande directe sur l'alimentation d'énergie de moteur et peut lire les impulsions de l'encodeur par accroissement. Une routine d'interruption détecte chaque impulsion de l'encodeur par accroissement et met à jour un compteur de position de roue. L'alimentation d'énergie de moteur peut être ajustée par le processeur principal en le branchant et AU LOIN à une fréquence donnée et pendant un temps donné. La fréquence de base de commutation est constante et suffisamment haute pas a laissé le moteur réagir à la commutation simple. Par de cette façon, le moteur réagissent à la moyenne de temps de l'alimentation d'énergie, qui peut être modifiée en changeant la période où le moteur est alimenté. Cette méthode de contrôle de puissance s'appelle « la modulation de largeur d'impulsion » (PWM). La valeur de PWM est définie comme le temps où le moteur est alimenté. Les valeurs de PWM peuvent être placées directement, ou peuvent être contrôlées par un contrôleur local de moteur. Le contrôleur de moteur peut exécuter la commande de la vitesse ou la position du moteur, plaçant la valeur correcte de PWM selon la vraie vitesse ou position lue sur les encodeurs par accroissement. Les deux moteurs de C.C peuvent être commandés par un contrôleur de PID exécuté dans une routine d'interruption du processeur principal. Chaque limite de ce contrôleur (proportionnel, intégral, dérivé) est associée à un constant, plaçant le poids de la limite correspondante : Kp pour le proportionnel, Ki pour l'intégrale, Kd pour le dérivé. Le contrôleur de moteur peut être employé dans deux modes de commande : La vitesse et la position modes. Le mode actif de commande est placé selon le genre de commande reçu. Si le contrôleur reçoit une commande de commande de vitesse, il commute au mode de vitesse. Si le contrôleur reçoit une commande de commande de position, le mode de commande est automatiquement commuté au mode de position. Différents paramètres de commande (Kp, Ki et Kd) peuvent être placés pour chacun des deux modes de commande. Utilisé dans le mode de vitesse, le contrôleur a comme entrée une valeur de vitesse des roues, et commande le moteur pour garder cette vitesse de roue.
  • 10. 1.2.2 Capteurs Les capteurs enfoncent un émetteur léger infrarouge et un récepteur. Ce dispositif de sonde laisse deux mesures : • La lumière ambiante normale. Cette mesure est faite en utilisant seulement le récepteur pièce du dispositif, sans émettre la lumière avec l'émetteur. Une nouvelle mesure est faite à chaque 20 ms. Pendant la, les sondes sont dedans indiqué a manière séquentielle chaque 2.5 ms. La valeur retournée à un moment donné est le résultat du bout la mesure a fait. • Que la lumière s'est reflété par des obstacles. Cette mesure est faite émission d'employer de lumière la pièce d'émetteur du dispositif. La valeur retournée est la différence entre la mesure a fait émettre la lumière et la lumière mesurée sans lumière émission (lumière ambiante). Une nouvelle mesure est faite à chaque 20 ms. Pendant la, les sondes sont lues dedans une manière séquentielle chaque 2.5 ms. La valeur retournée à un moment donné est le résultat de la dernière mesure faite. Le rendement de chaque mesure est une valeur analogue convertie par un bit 10 ANALOGIQUE-NUMÉRIQUE convertisseur. Fig. 3. Position du Capteurs du Robot Khepera II, vue supérieure 1.2.3 Batteries Le robot est équipé de 4 batteries cadmium-nickel rechargeables d'une capacité de 180 heure-milliampère. Cette capacité permet le robot autonomie d'environ 45 minutes dans la configuration de base. La batterie peut être chargée de l'interface/du chargeur que le module. Quand la tension de batterie est au-dessous de 4 V, le processeur de robot cesse de fonctionner correctement et le robot n'a plus de commande. À cette tension il reste une puissance suffisante de faire les moteurs se déplacer, qui signifie que le robot peut se déplacer sans commande.
  • 11. 2. Model Mathématique du Robot Khepera II Le Robot Khepera II est un robot mobil de configuration différentiel, ça veut dire que a la vitesse du centre de mas c’est une différence entre les vitesses des roues, cette configuration donne un commande facile mais maintenir la même direction est difficile car les petites variations de vitesse du moteurs peuvent varier la direction en grande quantité. Le suivant dessin expresse les mesurés du robot et las forces que intervient lorsque qu’il bouge : Fig. 3. Paramètres du robot Les paramètres qu’on a pour le robot sont : x: position dans l’axe x par en rapport au repère général axe y: position dans l’axe y par en rapport au repère général axe L: longitude entre les deux roues du robot r: ratio d’une roue du robot m: centre de mass F: force qui fait la roue contra le sol α : accélération angulaire d’une roue ω: vitesse angulaire d’une roue J: moment d’inertie U: tension sur un moteur f: forcé de frottement M: mass du robot
  • 12. À partir de ces paramètres on obtient les suivantes équations dynamiques du robot : 1. accélération en l’axe x du repère du robot 2. somme de moments par rapport à l’axe z 3. équation des forces dans le moteur pour chaque roue Puis on construit le système dans l’espace d’état avec les sorties et entres que l’on veut avoir dans le système : = * + * Les entres du système sont les deux vitesses angulaires désires pour le robot, et le sortie est la vitesse désire, pour ce la il faut ajouter une réalimentation et un contrôleur PID a ce représentation d’état alors le robot peut être représente avec le diagramme de blocs suivant: Fig. 4. Représentation du robot
  • 13. Avec la vitesse désire on peut obtenir le modèle cinématique robot, on fait aussi le développement pour obtenir ce modèle dans le repère général en faisant la transformation de coordonnes, alors : Fig. 5. Rapport de vitesses dans la géométrique du robot x et y sont son les vitesses du robot en chaque axe e α est l’angle du lacet par rapport a l’axe z. Pour obtenir finalement les coordonnes x et y et l’angle de lacet pour pouvoir connaître la position du robot a chaque instante de temps dans le repère général on fait l’intégration de les équations cinématiques, alors on a :
  • 14. 3. Simulation de Modèle Mathématique du Robot Khepera II en Matlab 3.1 Intégration sur le logiciel Matlab On veut valider les équations obtenues pour le robot sur le logiciel MATLAB, pour le faire on a utilisé la méthode de résolution d’équations différentielles d’Euler puis on peut les programmes sous MATLAB comme un fichier .m, alors on sait par Euler : , T’est la période d’échantillonnage A partir des équations dynamiques on utilisé la méthode d’Euler pour faire un programme sous MATLAB : %***********************************Paramètres du Robot******************************** J=.1; %inertie Iz=.00588; %inertie r=.5; %ratio de la rue f=.0003; %friction M=.08; %mass FxL=1; %force en la direction x de la roue de gauche FxR=1; %force en la direction x de la roue de droite L= 3; %distance entre les deux roues du robot kp=1; %constante proportionnelle du PID te=0.1; %période d'échantillonnage alpha=0; %angle de lacet WL(1)=0; %vitesse angulaire roue gauche a l'instante k pour k=0 WL(2)=0; %vitesse angulaire roue gauche a l'instante k+1 pour k=0 WR(1)=0; %vitesse angulaire de la roue de droite a l'instante k pour k=0 WR(2)=0; %vitesse angulaire de la roue de droite a l'instante k+1 pour k=0 WLd(1)=0; %vitesse angulaire désire de la roue de gauche a l'instante k pour k=0 WRd(1)=0; %vitesse angulaire désire de la roue de droite a l'instante k pour k=0 X=0; %vecteur de coordonnées X du robot Y=0; %vecteur de coordonnées Y du robot T= str2num(get(handles.edit4,'String'));%temps de la simulation donnée par l'usager ech=T/te; %nombre d'échantillons for k=1:1:ech %k c'est le nombre de échantillon if(te>0) %fait une delay égal a la période d'échantillonnage tiempo=timer('timerfcn','myWait(0)','StartDelay',te); start(tiempo); wait(tiempo); end %fin du temporization WLd(k)=str2num(get(handles.edit1,'String'));%vitesse désire de la rue de gauche WRd(k)=str2num(get(handles.edit2,'String'));%vitesse désire de la rue de droit UR=1; %tension donné au moteur de la rue de droite UL=1; %tension donné au moteur de la rue de gauche WL(k+1)=((1-(te/J)*(f+kp*UL-kp*FxL*r))*WL(k))+(((kp*UL)- p*FxL*r))*(te/J)*WLd(k)); WR(k+1)= ((1-(te/J)*(f+kp*UR-kp*FxR*r))*WR(k))+(((kp*UR)- *FxR*r))*(te/J)*WRd(k)); %intégration pour obtenir les cordonnes %angle de lacet a l'instante k alpha(k+1) = alpha(k) + ( te*(r/L)*(WR(k+1)-WL(k+1)) ); %coordonné x du robot a l'instante k X(k+1)= X(k)+ ( (te/2)*r*cos(alpha(k+1))*(WR(k+1)+WL(k+1)) ); %coordonné y du robot a l'instante k Y(k+1)= Y(k)+ ( (te/2)*r*sin(alpha(k+1))*(WR(k+1)+WL(k+1)) ); hold on; plot(X(k),Y(k)) end
  • 15. Pour faire une validation des équations on à simule les équations pendant un période de temps laquelle peut être choisi en secondes, on peut modifier les vitesses angulaires de chaque roue pendant les période de temps pour regarder la trajectoire du robot a chaque échantillon ; les valeurs des constantes du régulateur PID sous le robot peuvent être modifies aussi avant de démarrer la simulation, la fenêtre affiche aussi pendant la simulation les valeurs des huit capteurs à proximité du robot réel. Fig. 6. Fenêtre principal du programme fait sous Matlab
  • 16. 4. Matlab VRML Toolbox VRML : Langage apparenté au HTML et destiné au dessin 3D. Pour exploiter ce dernier, il faut un plug-in correspondant, lequel transforme en images 3D sur l'ordinateur client les instructions envoyées par le serveur Web. Le Toolbox VRML du Matlab est une solution pour agir l'un sur l'autre avec les modèles de réalité virtuels du temps fini de systèmes dynamiques. Elle prolonge les possibilités de MATLAB et de Simulink au monde des graphiques de réalité virtuelle. 4.1 Propriétés principales du Matlab VRML Toolbox Les mondes virtuels - créer les mondes virtuels ou les scènes • tridimensionnelles en utilisant la réalité virtuelle standard modelant la technologie de la langue (VRML). Les systèmes dynamiques - créer et définir les systèmes dynamiques avec • MATLAB et Simulink. Animation - regarder les scènes tridimensionnelles en mouvement conduites • par des signaux de l'environnement de Simulink. Manipulation - changer les positions et les propriétés des objets dans un • monde virtuel tout en courant une simulation. Le VRML Toolbox fonctionne avec MATLAB et Simulink. Cependant, l'interface de Simulink est la manière préférée de travailler avec le toolbox. Fig. 7. Fenêtre de réalité virtuelle sous Matlab.
  • 17. 4.2 Association d'un monde virtuel à Simulink Avec la Le VRML Matlab Toolbox nous pouvons connecter un schéma fonctionnel de Simulink avec un monde virtuel. La simulation d'un modèle de Simulink produit des données de signal pour un système dynamique. En reliant le modèle de Simulink à un monde virtuel, nous pouvons employer ces données pour commander et animer le monde virtuel. Créer un monde virtuel implique de trouver ou établir un objet à trois dimensions virtuel, créant le fond, établissant le monde virtuel en remontant les objets et le fond virtuels, et lier le monde virtuel à MATLAB ou à Simulink pour l'analyse. Chaque étape apporte ses propres défis. 4.3 V-Realm Builder V-Realm Builder est un paquet écrivant de VRML 2.0 facilitant la création des objets 3D et des « mondes ». Il contient l'objet, texture, le transforme et les bibliothèques matérielles pour stocker localement ces éléments pour la facilité de la réutilisation. Le constructeur de V-Realm Builder permet à des réalisateurs la convenance de l'édition directe des nœuds de VRML sans le codage de main exigé. Une interface intuitive réduit la courbe d’étude et augmente la productivité. Les importations ouvrent l'inventeur, le studio VRML 1.0, 3D, le front des ondes CRU, de SGI, et les dossiers de true Space.
  • 18. 5. Modèle Virtuelle du Robot Khepera II en VRML Le simulateur virtuel que nous avons développé était fondamentalement l'intégration entre le logiciel V-Realm Builder et le Toolbox de VRML. Nous avons créé le monde virtuel entier et le robot virtuel en utilisant le rédacteur à trois dimensions de V-Realm Builder et alors nous avons exporté dans le VRML Toolbox de Matlab. Les étapes que nous avons suivies pour le développement du simulateur virtuel étaient la suite : 5.1 Définition d’environnant (L’espace de travaille) Fig. 8. Environnant virtuelle du robot 5.2 Conception virtuelle du Robot (Géométrie du Robot) Fig. 9. Robot Réel – Robot Virtuelle
  • 19. 5.3 Intégration entre le robot et l’environnant (Le Robot dois travailler dans cette espace) Fig. 10. Robot dans l’environnant virtuelle 5.4 Définition des paramètres dans le monde virtuelle (Restrictions du robot dans l’espace) Fig. 11. Bloc de VR sink sous Simulink VR Sink : Ecrit les données du modèle de Simulink au monde virtuel, des valeurs de ses ports aux gisements virtuels du monde indiqués dans la zone de dialogue de paramètres de bloc. Un bloc de VR Sink accepte tous les types de données significatives sur l'entrée. Le bloc convertit ces types de données en types normaux de VRML selon les besoins. Ces types de données incluent les logiques, beaucoup de types de nombres entiers signés et non signés, choisissent, et doublent.
  • 20. 6. Communication entre l’ordinateur et le Robot Le protocole communication sériel permet la commande complète des fonctionnalités du robot par une ligne de la publication périodique RS232. La configuration (baud rate aussi bien que des données, le début, l'arrêt et des bits de parité) de la ligne périodique de votre centre serveur l'ordinateur doit correspondre à l'un ensemble sur le robot aux pullovers (modes courants 1 à 3, toujours 8 1 bits de départ de bit, bit d'arrêt 2, aucune parité). La communication entre l'ordinateur principal et le robot de Khepera II est faite envoyant et recevant des messages d'ASCII. Chaque interaction se compose par : • Commande du A, envoyée par l'ordinateur principal au robot de Khepera II et suivie par un retour de chariot ou retour à la ligne. • Une fois nécessaire, une réponse, envoyée par le Khepera II à l'ordinateur principal. Dans toutes les communications l'ordinateur principal joue le rôle du maître et du Khepera II le rôle de slave. Toutes les communications sont lancées par le maître. La communication est basée sur deux types d'interactions : un type d'interaction pour l'installation du robot (par exemple pour placer les modes courants, la transmission baud rate…), et un type d'interaction pour la commande de la fonctionnalité du robot (par exemple pour placer la vitesse des moteurs, pour obtenir les valeurs des sondes…). Les interactions permettant l'installation du robot sont basées sur des commandes appelées les outils. Les interactions pour la commande du robot la fonctionnalité emploie des commandes et des réponses de protocole.
  • 21. 7. Visualisation du Simulateur Virtuelle et Robot Réel
  • 22. CONCLUSIONS Ce projet nous a servi à développer un nouveau simulateur du Robot Khepera II, lequel est utilisé pour l'éducation. Il y a divers simulateurs pour manier ce robot, mais nous avons développé le premier simulateur fait totalement dans le toolbox de Matlab de Simulink. Avec cette application nous intégrerons tout le modèle mathématique du robot, et après nous le visualisons dans une ambiant 3D et finalement le communiquer avec le vrai robot, tout rejoint dans des blocs de Simulink. La principale importance dans ce projet, est avoir développé tout l'interface en Simulink, depuis les blocs pour le contrôle du robot, l'implémentation du modèle cinématique, dynamique et géométrique jusqu'à la visualisation dans le bloc de VRML de Simulink et la fonction que nous avons développé pour obtenir la communication entre le simulateur et le robot. Il reste finalement la possibilité d'améliorer le simulateur en faisant des applications comme par exemple le maniement de plusieurs robots, l'intégration du camera web du robot et une possible console pour commander de manière plus facile le robot virtuel et le robot réel.
  • 23. BIBLIOGRAPHIE 1. K-Team corp. www.k-team.com 2. Khepera II Robot User Manual 3. Polycopies Cours de Robotique. Polytech-Lille IMA 2. (R. Merzouki). 2007 4. The MathWorks Matlab http://www.mathworks.com/access/helpdesk/help/techdoc/matlab.shtml 5. Virtual Reality Toolbox http://www.mathworks.com/access/helpdesk/help/toolbox/vr/ 6. Installation instructions of Matlab scientific software package http://shum.huji.ac.il/cc/matlvrml.html 7. Virtual Reality Toolbox Release Notes http://www.isds.duke.edu/comp/internal/matlab/base/relnotes/virtual.html 8. Creating Standalone Virtual Environments http://www.mathworks.fr/company/newsletters/digest/2007/mar/synthetic.html 9. Cortona VRML Client http://www.parallelgraphics.com/products/cortona/