Position et détection d'obstacle : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
(Compter le numero d'encouche et determination de sense)
Ligne 66 : Ligne 66 :
 
Il faut que tu explique le montage et jusqu'à la signal obtenu
 
Il faut que tu explique le montage et jusqu'à la signal obtenu
  
== Compter le numero d'encouche et determination de sense ==
+
== Compter le numéro d’encoche et détermination de sens ==
  
A fin de pouvoir compter le numéro d'encouche et determiner la la sense de rotation il faut faire un programme qui ,
+
il faut faire un programme qui, à partir des signaux obtenu dans la partie montage électronique compte le numéro d’encoches tout en tenant compte de sens de rotation !
 +
Il faut tout d'abord initialisé un sens comme le sens direct qui , à chaque encoche parcouru incrementra le compteur d'un et diminuer à chaque encoche parcouru dans le sens inverse .
 +
Pour détecter dans quelle sens la rue tourne on compart les 2 signaux de l'optocupleur , en effet il y a 4 cas de figures possibles
 +
# Si la signal A =1 et B=0
  
 
=Annexes=
 
=Annexes=

Version du 23 novembre 2014 à 01:21


Présentation

Exemple de Robot

Notre projet à pour but de concevoir un robot pour participer à La coupe de France des IUT GEII à Cachan

Dans cette partie nous allons nous concentrer sur la position du robot sa navigation et sa faculté a éviter les obstacles décrit dans le règlement.

Navigation

Codeur rotatif

Afin de connaitre la position des roues, de savoir de combien elles ont tournés nous utiliserons un codeur rotatif. Les codeurs rotatifs sont un type de capteurs permettant de délivrer une information d'angle, en mesurant la rotation effectuée autour d'un axe. L'information de vitesse peut alors être déduite de la variation de la position par rapport au temps. Plus le codeur rotatif tourne lentement, plus la déduction de vitesse perd en précision.

Il existe 2 principaux types :

  • Le codeur rotatif incrémental qui ajoute ou soustrait (selon le sens de rotation) une unité à un compteur à chaque rotation supérieure à la résolution du capteur. Le compteur est généralement remis à zéro lorsque l'appareil est allumé. C'est le cas de la souris d'ordinateur à boule.
  • Le codeur rotatif absolu qui intègre son propre compteur. Ce genre de capteur est généralement calibré et initialisé une seule fois, et il conserve normalement sa valeur lors de l'arrêt de l'appareil. C'est le cas des compteurs kilométriques des automobiles à la différence du "compteur journalier" qui peut être remis a zéro par l'utilisateur.


Nous utiliseront des codeurs incrémentaux fixé sur les axes des deux moteur ce qui nous permettra d'asservir la rotation des robot c'est à dire que nous pourrons avoir un retour sur les commande du moteur de plus on connaîtra l'angle pris par le robot par rapport a sa position de départ. En effet ce genre des capteur a plus de précision par rapport à l'autre car en réinitialisant il va supprimé les erreurs accumulé .

Fonctionnement d'un codeur


équation de positionnement

Le positionnement du robot en intégration les information reçu des codeur incrémentaux qui constituera des petits déplacements avec les quelle on pourra nous positionner.

Il y a en fait deux manières d'approximer la trajectoire parcourue par le robot pendant un temps  :


  • En utilisant des segments de droites. On considère alors que le robot va en ligne droite pendant le temps . Ceci revient à supposer que les deux roues ont une vitesse constante et identique sur cet élément de trajectoire. A la fin de cet élément de trajectoire, on corrige l'orientation du robot en fonction de la différence de distance parcourue par les deux roues


  • En utilisant des arcs de cercles(permet de tourner) . On considère alors que le robot se déplace et change d'orientation en suivant un arc de cercle pendant le temps . Ceci revient à considérer que chacune des roues a une vitesse constante sur la période mais que les vitesses des 2 roues ne sont pas identiques.
positionnement par segement


et on peux cacluler les positionement en calculant la distance parcouru et le temps fonctionnement des 2 roues :


positionnement par segement


et donc on peut accéder à position (coordonnées x,y)


positionnement par segement

Réalisation de la roue codeuse

Nous avons pris les mesures du moteur et du châssis imposé pour la compétition afin de fabriquer notre roue codeuse puis nous l'avons représenter sur le logiciel de création de Charly robot. Nous avons choisit des fentes ouvertes sur l’extérieur, c'est a dire pas de contour la taille de la fente est limité par les outils que nous avons une fraise de 2 mm donc la taille de nos fente est de 2 mm une taille minimal permet une précision maximal lors de la rotation. La première roue que l'on a usiner était trop fine et donc pas assez rigide :

Fichier:Roue1mm
premiére roue usiner

nous avons donc choisit de mettre deux épaisseurs l'une plus fine (1 mm) pour la partie extérieur et l'autre plus épaisse pour la partie intérieure de la roue (2 mm). :

Fichier:Roue2mm
deuxiéme roue usiner

Réalisation du montage electronique

Il faut que tu explique le montage et jusqu'à la signal obtenu

Compter le numéro d’encoche et détermination de sens

il faut faire un programme qui, à partir des signaux obtenu dans la partie montage électronique compte le numéro d’encoches tout en tenant compte de sens de rotation ! Il faut tout d'abord initialisé un sens comme le sens direct qui , à chaque encoche parcouru incrementra le compteur d'un et diminuer à chaque encoche parcouru dans le sens inverse . Pour détecter dans quelle sens la rue tourne on compart les 2 signaux de l'optocupleur , en effet il y a 4 cas de figures possibles

  1. Si la signal A =1 et B=0

Annexes

Pages en relation avec le positionnement

http://www.telecom-robotics.org/wiki/Tutoriels/AsservissementParPidEtPositionnementParRouesCodeuses/CalibrationDuPositionnement

http://manubatbat.free.fr/doc/positionning/node5.html

http://www.pobot.org/Asservissement-d-un-moteur-a.html