Home

rapport

image

Contents

1. bouger le Bras 2 en cons quence L objectif est atteint DESTINATION Cercle de centre Pointl et de rayon la longueur du bras 2 Cercle de centre PointO et de rayon la distance entre ce point et la destination 4 RECUPERATION D UN OBJET A pr sent on est en mesure d aller r cup rer un objet Pour ce faire on d termine un angle de prise de l objet Il y a donc deux endroits o le r cup rer On choisit celui qui est le plus proche du Point 2 On d termine aussi un d calage pour faciliter la prise de l objet par la pince On a donc un nouveau point d cal qui conserve l angle de prise Ce point est la destination du Point2 Une fois le robot d plac on effectue une rotation de l angle du bras 3 pour que le point 3 soit align avec le point 2 et la destination Le point2 avance ensuite vers l objectif suivant la distance point3versObjectif IN C CALCUL SUR LE PLAN xOz 1 ROTATION Passons maintenant la rotation sur le plan xOz Elle s effectue uniquement par rapport au point 0 On commence par d finir un angle de rotation sur xOz Lorsque l angle est z ro les points ont tous la m me cote comme d finie plus haut On calcule les coordonn es des points comme suit XPoint1 xPoint1 xPointO cos angle zZPoint1 zPointO sin angle xPointO ZPoint1 xPoint1 xPointO sin angle zPoint1 zPointO sin angle xPointO Cependant lorsque l angle de rotation n e
2. sa valeur en pulsation Par d faut la connexion est d sactiv e pour pouvoir afficher les valeurs sans avoir tre connecter aurobot Il suffit de d commenter la fonction suivante ss write valeur dans la m thode on my mouse clicked2 Nous avons aussi cr e un autre fichier test py dans le document connexion voir annexe qui permet de tester le d placement de plusieurs servomoteurs simultan ment et cela gr ce une liste de position pr d finie pour chaque servomoteur 2 R cup ration des donn es de la cam ra Pour pouvoir communiquer avec le groupe s occupant de la partie d tection d image nous avons opt pour un syst me de communication Client Serveur en utilisant des Agents contenu dans le dossier Agent Une fois le serveur lanc si la cam ra d tecte le marqueur un fichier xml va tre cr e Il contient les informations suivante qui sont les coordonn es des quatre coins du marqueur lt p1 x 236 551 y 230 127 gt lt p2 x 239 44 y 176 346 gt lt p3 x 293 506 y 178 652 gt lt p4 x 290 598 y 232 49 gt Ensuite nous r cup rons les coordonn es de l objet par rapport l image gr ce la fonction xmidoc minidom parse fichier xml Une fois les donn es re ues on peut les afficher sur un plan xOy Le but tant qu partir de ces coordonn es et en connaissant la taille de la fen tre nous puissions centrer le marqueur par rapport au centre de la fen tre comme
3. Projet 4 me ann e Bras Robotique Contr le du mouvement TIAMIOU Adam BEN YOUNES Radhoane POLYTECH GRENOBLE Sommaire Pr sentation du contexte Re Re en 3 ii gt Travail effectu ETEESI 4 1 Interface de connexion avec le robot 4 2 R cup ration des donn es de la cam ra 5 3 Le simulateur l Ill Ce qu il reste faire Am liorations 13 V ANNEXES a enr ee dec oui 14 l Pr sentation du contexte Notre bras Robotique le AL5B est quip d une carte SSC32 Cette carte permet une communication bidirectionnel et dispose de 32 canaux pouvant contr ler des servomoteurs Celui ci utilise une connexion s rie de 8 bits Le robot est aussi quip e d une webcam qui lui permettra de d tecter des objets gr ce des marqueurs Ce projet est divis en deux partie La premi re consiste s occuper de la d tection du marqueur plac sur un objet La seconde qui est la notre est de s occuper de tout ce qui concerne la communication avec le robot et l intelligence de ses mouvements pour atteindre des objectifs pr cis Pour notre projet Nous avons fix les objectifs suivant 1 Le logiciel doit tre capable de communiquer avec tous robots quip d une carte SSC 32 2 Notre logiciel doit tre capable de calculer une trajectoire correct afin d attraper l objet 3 Pour conna tre tout moment les co
4. ct au Chanel n 5 la position 1600 La position est d finit comme la dur e des impulsions qui d termine l angle absolu de l axe de sortie et donc la position du bras de commande du servomoteur Le tout ex cut une vitesse d finit 752 us Pour mieux comprendre comment la vitesse est d finie on consid re qu a 1000uS il est effectu en 1 seconde une rotation de 90 Donc pour une valeur de la vitesse 100 uS signifie que le servomoteur va prendre 10 seconde pour faire une rotation 90 De plus il existe des commandes qui permettent de recevoir des informations provenant de la carte Par exemple si on l envoie la commande Q lt cr gt renvoie si le robot est en mouvement 14 Donc partir des ces informations et des poste dans le forum du cr ateur de la carte nous avons en python deux classes Autocommit Int Port Char Vitesse Int NbrMoteur Int 5 default Angle max Int F Angle min Int Commit void void Ismoving boolean Poss de Setposition int De la forme lt n gt P lt pos gt T lt time gt avec n le num ro du Servo La premi re classe SSC 32 regroupe des m thode permettant d tablir la connexion et d envoyer les diff rentes commandes la carte Socket port Celle ci poss de plusieurs objet Servo Un servomoteur est d finie par plusieurs attribut Position Vitesse angle min angle max Pour bien comprendr
5. droite Point O Point 1 Point 2 Point 3 B CALCUL SUR LE PLAN xOy 1 COORDONNEES DES POINTS Pour le moment on se limite au plan xOy et on d finit la m me z que celui du socle tous les points Cette m me valeur de z pour chaque point va trouver tout son sens plus tard Mais pour l instant cette coordonn e n apparait pas dans les calculs Pour calculer les coordonn es du point 1 Pointi XP inti xpointO cos a Longueur Longueur sin a Longueur Point 0 cos a longueur Voici comment fonctionne VPython pour cr er une boite entre deux points On doit donner la position du centre de la boite On se sert donc du calcul du milieu d un segment x x0 x1 2 Pour trouver les points 2 et 3 on cherche le point qui se situe sur le vecteur vPointiversPointO Pour le cas du point 1 en conservant la taille du bras bras 2 pour ce cas et on effectue une rotation par rapport l angle donn en partant de ce point 2 ROTATION DES BRAS Par la suite on s est int ress la modification de l angle des bras suivant un angle donn Par exemple si on modifie celui du bras 1 les points des autres bras vont aussi subir cette rotation Ainsi gr ce une simple formule math matique on calcule les coordonn es du nouveau point XPoint1 xPoint1 xPointO cos angle YPoint1 yPointO sin angle xPointO YPoint1 xPoint1 xPointO sin angle yPoint1 yPointO sin angle xPointO On
6. e nous allons prendre un exemple Tout d abord oninitialise la connexion USB g n ralement le port est dev ttyUSB1 Le 115200 repr sente le braudbit la vitesse de connexion ssc ssc32 SSC32 dev ttyUSB1 115200 vitesse 1000 Oninitialise nos objets servomoteurs gr ce la fonction _getitem__ Servo1 sscl Servol Servo2 sscl Servo2 15 Pour cette exemple les valeurs d angle min max sont par d faut celle crit dans le code On d finit une liste de chaque servomoteur avec la position en degr s voulust o position Servol 50 Servo2 130 s l def ChargerPosition listePosition for move in listePosition move 0 degree move 1 degree ssc commit 600 600 est le temps voulus While ssc IsMoving tant que le robot est en mouvement time sleep 0 3 On temporise pour ne pas ex cuter toutes les commandes en m me temps Une fois les valeurs charg es il suffit d utiliser la fonction commit qui va envoy pour chaque servo la commande suivante lt n gt P lt pos gt T lt time gt 16
7. ordonn es de la pince Un simulateur en Vpython doit tre impl ment repr sentant le bras robotique virtuellement 4 On doit tre capable de communiquer avec le deuxi me groupe afin de r cup rer les informations sur la position du marqueur et les d placement effectuer Il Travail effectu Le projet est s par en deux partie La premi re concerne le d veloppement d une interface qui permet la connexion avec le robot et la deuxi me le simulateur ainsi que la communication avec la cam ra 1 Interface de connexion avec le robot Pour la premi re partie il a fallut r fl chir sur le fonctionnement de la carte SSC 32 gr ce son manuel d utilisation Le but tant de d finir et changer pour chaque servomoteur la valeur des angles afin d tre en accord avec les mouvement du simulateur robot Nous avons donc d fini deux classes voir annexe ainsi qu une interface graphique qui va nous permettre d effectuer des tests directement sur le robot Polyss32 Selectionner port Aucune commande recu Postion en degr 90 m Commit S l ction du servomoteur 0 Vitesse en u5 ET Annuler Lorsqu un on clique sur le bouton commit on voit afficher la commande qui va tre envoy au robot qui est d finit selon les diff rentes options pr sentes Vitesse Position 0P918590 lt cr gt Par exemple si on clique sur commit on vois affich Remarque la position en degr s est automatiquement traduite en
8. pr cis dans la partie simulateur Page 7 On a donc d fini un intervalle dans lequel les coordonn es doivent tre comprise pour que le marqueur puisse tre consid r comme centr Ensuite on effectue des mouvements guid s par la cam ra Par exemple si le marqueur est sur le coin sup rieur droite le robot doit bouger plus gauche et vers le bas Jusqu ce qu il soit compris dans l intervalle d finit pr c demment Une fois l objet centrer il reste un petit d tail On sait que du moment o le marqueur appara t sur l cran il devient facile de s approcher de lui car on a juste consid rer les d placements qui gardent celui ci en vue Cependant on ne voyait pas comment un simulateur en 3D qui a besoin des coordonn es x y z pouvait attraper un objet sans cette derni re composante En effet il est impossible d obtenir la position d un objet en coordonn es x y z en se servant de l image fixe d une seule cam ra Apr s une discussion avec l autre groupe nous avons d gag une mani re intelligente de r pondre ce probl me en consid rant la taille initiale du marqueur Une fois l objet centr et droit on effectue un d placement de la cam ra vers le marqueur et en fonction de la pr c dente coordonn es et de la nouvelle du marqueur on obtenait une bonne estimation de la profondeur qui s pare la pince de l objet avec une marge d erreur qui diminue mesure qu on s approche Nous avons mis ce
9. r des objets servo avec les attributs Axe ang mix max qui doivent correspondre aux diff rentes caract ristique des servomoteurs du robot Ensuite chaque angle de chaque axe est d finit dans des variables dans le simulateur Il suffit de les r cup rer et de faire un commit classe SSC 32 toute les x seconde La variable x reste d finir mais notre avis elle se situerait entre 0 1 et 0 2 seconde Ainsi chaque mouvement du simulateur le robot re oit toutes les commandes n cessaires pour chaque servomoteur e On peut penser cr er une interface graphique compl te prenant en compte toutes les caract ristiques du robot permettant de cr er le simulateur e Une partie importante consiste recevoir les ordres de mouvement pour centrer la cam ra avec le marqueur Il faut d finir lequel des deux groupes travaillera dessus Calculer les ordres La connexion via client serveur Agents entre nous est d j tablit e Une derni re am lioration possible est d utiliser la g om trie pipolaire pour d terminer les coordonn es de l objet O O Cette technique consiste utiliser deux cam ras au lieu d une pour pouvoir d terminer la profondeur de l objet M me principe de fonctionnement des yeux ou bien des lunette 3D Si le marqueur de l objet a t vu par deux cam ras diff rentes on peut en fonction des positions des trous dans l espace et par rapport aux images reconstituer les deux d
10. roites et leur intersection qui est le point objet que l on peut donc calculer ult rieurement On a ainsi la reconstruction trois dimensions d un point objet dont on peut identifier les points en correspondance sur deux images IV Annexe 1 Les diff rentes classes utilis pour l interface de connexion Afin de mieux comprendre le fonctionnement de la communication avec la carte nous avons notre disposition le manuel SSC 32 qui regroupe toutes les instructions n cessaires pour contr ler les diff rents servomoteurs voici un rapide r sumer des instructions disponibles fi Command Types and Groups o ooo 2 Discrete Output Men 12 Servo Hexapod Gait Sequencer 3 Byte Output 3 Quem Hex5equencer ______ 6 Read Digital Inputs 12 MinisS5C I Compatibility Servo Move or Group Move lt chz P lt pw gt 5 lt spd gt lt chz P lt pwz 5 lt spd gt T lt time gt lt cr gt ech gt Channel number in decimal 0 31 lt pw gt Pulse width in microseconds 500 2500 lt spd Movement speed in u per second for one channel Optional etime gt Time in m5 for the entire move affects all channels 65535 max Optional lt cr Carriage retum character ASCII 13 Required to initiate action lt es gt Cancel the current action ASCII 27 Par exemple Si on envoie en ASCII la commande suivante 5 P1600 S100 lt cr gt Cette commande va faire bouger le servomoteur conne
11. st pas nul il faut recalculer les abscisses que l on avait d finies dans le plan xOy 10 x a cos angle Z 2 D PLACEMENT DE LA PINCE VERS UNE DESTINATION Pour que le point 2 puisse se d placer vers une destination lorsque l ange des Z n est pas nulle on a d cid de conserver les calculs de destination du plan xOy En gros on cherche l angle entre un point du robot lorsque l angle Z est nul sauf le point 0 et la destination A par rapport au point 0 On obtient ainsi en faisant une rotation inverse une destination B de m me z que les autres points du robot On calcule les angles de d placement de la m me mani re que pr c demment puis on aligne le robot avec la destination A sur le plan xOz Le fait d appliquer les angles de d placement permet d atteindre la destination A C est pour cette raison que l on a d cid de d finir des coordonn es z identique pour chaque point du robot cela permet d effectuer les calculs d angle sans prendre en compte les coordonn es z 11 Le Point 2 va suivre le trait rouge L ensemble de points n avaient pas la m me z que les axes initiaux du robot Le robot a du s aligner avec chaque point pour l atteindre Ne pas prendre en compte les deux sph res libre 12 IIl Ce qu il reste faire amp Am liorations e La premi re chose qui reste faire est d tablir le lien entre le robot et le simulateur Pour cela il faut au pr alable configure
12. tte m thode de c t en attendant que toutes les tapes pr c dentes soient accomplies aussi bien dans l autre groupe que dans le notre 3 Simulateur A INTRODUCTION Apr s avoir discut avec le groupe s occupant de la d tection de marqueur on a estim que la cam ra positionn e sur la pince du robot ou en amont devait permettre au robot de recevoir des ordres en fonction de la position du marqueur d tect sur l cran Le but tant que le marqueur soit centr sur l cran Cela est devenu concret lorsque le groupe a r ussi obtenir les coordonn es des quatre points du marqueur suivant l origine qui se trouve au coin en haut gauche On a donc une translation de la cam ra qui bouge dans l espace pour se centrer tant donn qu elle est positionn e sur la pince il est donc logique que c est celle ci qui doit effectuer ces translations On doit donc exprimer la pince du robot en coordonn es ind pendantes de la cam ra La premi re question f t de d terminer un rep re pour rendre explicite ces futures coordonn e Logiquement c est le socle du robot ou le point de d part du premier bras qui servira de rep re puisqu il ne change jamais On d cide donc de se servir de ce point pour d terminer toutes les coordonn es des points d intersection des axes robotiques en fonction de la longueur de chacun d eux et des angles de d part longeur donn e angles initiaux De gauche
13. va se servir souvent de cette formule En gros on fait une rotation de tous les points sauf le socle bien s r si on bouge le bras1 des m me points sauf le point1 si on bouge le bras 2 etc Afin d anticiper l utilisation du mode recherche de la pince on d cide de priver le point3 de rotation lorsque l on bouge les bras 1 et 2 On effectue des translations qui suivent les d placements du point 2 8 3 DEPLACEMENT DE LA PINCE VERS UNE DESTINATION Une fois que le robot est capable de bouger suivant des angles on est donc en mesure de passer au mouvement de la pince En gros nous avons une destination et l objectif est que la pince l atteigne Afin d anticiper cette fois la prise d un objet on a d cid de faire atteindre la destination par le point2 On utilise une m thode bas sur l intersection de cercles Voir dessin Apr s avoir trouv les deux points d intersection on calcule l angle entre ces points et la destination par rapport PointO point vers destination gt Le signe de l angle est tr s important Pour chacun des angles on calcule la nouvelle position du point2 et on s lectionne l intersection qui retourne le Point2 le plus proche de la destination On fait donc une rotation du bras1 suivant l angle donn la destination se retrouve ainsi sur le cercle de centre Point1 et de rayon la longueur du bras 2 Il nous reste plus qu calculer l angle qui s pare le Point2 de la destination et

Download Pdf Manuals

image

Related Search

rapport rapport rapport synonym rapport furniture rapport meaning rapporteur rapport building rapport therapeutics rapport define rapport pronunciation rapporteur meaning rapport meaning in english rapport furniture los angeles rapport covetrus rapportage rapport london rapport building questions rapport 2025 rapport de mission rapport annuel 2024 rapport axonify rapport d\u0027incident rapport mensuel rapport de stage 3eme rapport semestriel 2024

Related Contents

Panasonic BT-LT80W Camcorder Accessories User Manual  Ergoguys Califone 1776PLC  Pioneer 3D User's Manual  Fagor Electric Multi-Cooker  Respirador purificador de aire energizado serie EVA  EVAsoft User Manual - at www.ImageWorksCorporation.com.  NS-205G 5-Port Industrial 10/100/1000 Mbps Ethernet Switch      

Copyright © All rights reserved.
Failed to retrieve file