mercredi 7 décembre 2011

Obtention des Coefficients de Localisation

Bon, c'est bien beau tout ces calculs, ces conseils et ces théories mais je suppose que vous voulez voir que ça marche et quelle précision on obtient non ? Vous allez être servi !

Si vous le souhaitez, je peux vous envoyer mon bloc Calcul_XrYrAlphar mais je vous conseille d'essayer vous même la programmation, vous gagnerez du temps par la suite dans le cas où vous récupèreriez des valeurs étranges.

Mesures et calculs des Coeff :

Rappellez vous, pour déterminer AlphaR, Xr et Yr les coordonnées du Robot, je vous conseillai d'obtenir les coefficients CoeffDAngl et CoeffGAngl pour calculer AlphaR & CoeffDLong et CoeffGLong pour calculer Xr et Yr, le tout afin d'éviter le calcul du diamètre des roues et de l'entre roue qui vous amenerait à perdre du temps de calcul et gagner de l'imprécision sur vos résultats.

Ces coefficients sont les rapports :
1/     (Distance parcourue par chaque roue par incrément du codeur) : CoeffLong
2/     (Influence de chaque incrément du codeur sur le cap du robot) : CoeffAngl

1/      Pour obtenir les deux CoeffLong il faut faire parcourir une distance en ligne droite à votre robot et relever les valeurs des codeurs. Le calcul Distance/Incréments vous donne le CoeffLong de la roue correspondante.
2/      Pour obtenir les deux CoeffAngl il faut faire tourner votre robot dans un sens sur X tours et relever les valeurs des codeurs ainsi que l'angle total parcouru (2 tours de 360° = 720°). Ensuite il faut faire tourner le robot dans l'autre sens et faire les mêmes relevés. Le calcul est ici plus compliqué, je l'avais rédigé à partir de la méthode de la team AMARE, mais aujourd'hui j'utilise un fichier dans lequel je rentre mes mesures et cela me donne directement les coeff. Donc soit vous faites votre propre résolution du système soit je vous envoie mon fichier !

Dans les deux cas, pour relever les valeurs et pour éviter de faire avancer puis tourner votre robot manuellement, il vous faudra un programme. Encore une fois pour vous faire gagner du temps, je peux vous envoyer le mien ainsi que le fichier qui va avec ! Ci-dessous trois videos présentant ma méthode complète d'obtention des Coeff.
Présentation et CoeffLong
CoeffAngl en manuel
CoeffAngl en auto

Résultats obtenus :

A l'heure actuelle, j'observe un écart pouvant aller jusqu'à 2 mm sur une longueur d'un mètre (ma table de salon n'est pas plus grande !) et une erreur de 6° sur 3600° soit environ 0,5° par tour.
Ce n'est véritablement qu'une fois sur table, après plusieurs mètres de déplacements et de rotations que je pourrais juger de l'efficacité de la localisation d'Oleg mais en tout cas c'est pour le moment très intéressant !


Robot Oleg pour ces essais

Dimensionnement des roues motrices et roues codeuses

2 commentaires:

  1. Une question sur la précision angulaire.

    La précision que tu as trouvée en angle semble très bonne, mais es-tu sur que l'erreur angulaire est proportionnelle à l'angle effectué ? Ce serait gênant de découvrir sur le tard que l'erreur de 6° est une constante, qu'importe l'angle de rotation.

    RépondreSupprimer
  2. Pour répondre directement à ta question : Oui c'est une constante puisque j'ai fais plusieurs fois l'essai et je suis toujours un peu en dessous de 3600° à 4 ou 6° près mais c'est à vu de nez !
    Maintenant à l'heure actuelle je tiens à faire le 'gros' du développement. Les affinages de ces coefficients viendront par la suite et cet écart me convient tout à fait pour le moment.

    RépondreSupprimer