vendredi, juin 16, 2006

Modélisation Solidworks

Je suis en train de faire sous Solidworks 2004 l'ensemble des pièces composant le robot. La base moteur, et une bonne partie du robot avait déjà été
modélisé en 2004, mais là je compte avoir l'ensemble des cartes électroniques, afin de pouvoir faire vraiment une conception sérieuse.
De plus, avec le recul, je compte bien séparer et mettre dans les bons répertoires avec une bonne hiérarchie chaque composant du robot, chaque assemblage
afin de ne pas avoir de problème lorsqu'on modifie des pièces (il ne faut pas modifier le nom des pièces dans un assemblage, sinon celui-ci ne retrouve
pas le fichier source).

Voici deux exemples avec le capteur infrarouge GP2D12 , l'écran LCD02, le driver de moteur MD22 :

GP2D12



LCD02



MD22

jeudi, juin 08, 2006

GP2D12

Ca y est, j'ai enfin réussit à faire fonctionner le GP2D12 (qui est très simple vu qu'il n'y a qu'une sortie analogique) avec un Javelin. J'ai utilisé un PCF8591 qui est un convertisseur Analogique -> Numérique et Numérique -> Analogique, que j'ai lui aussi encapsulé dans une classe java pour le Javelin.

Sur le GP2D12, je suis assez surpris de la faible précision que l'on obtient. En effet, il doit normalement mesurer de 10 à 80 cm et pour ma part, je ne vois de changement que de 20 à 80 cm.

Pour le programme, comme la réponse en tension n'est pas proportionnelle et qu'elle correspond à une courbe style 1/x² (mais qui n'est pas formalisée comme telle dans le datasheet), il a fallu le calibrer.

Résultat, après une calibration avec 14 points (1 point tous les 5cm) et une interpolation linéaire, j'arrive à avoir à peu près 10 cm de précision, car on se rend compte que le signal n'est pas très stable.

Ceci étant, cela reste largement suffisant pour permettre la détection de robots ennemis ou alors d'obstacles. Je n'ai pas encore regardé la directivité de la détection, je ferais un point rapidement dessus.

Dans la série des capteurs à intégrer sur la plate-forme Javelin, il ne me reste plus que le SRF08 (sonar en I2C), qui me donne beaucoup de fil à retordre. Il existe bien pleins d'exemples (y compris pour Javelin), mais j'ai l'impression qu'ils sont buggués ou souvent très mal écrit (celui pour le Javelin, c'est vraiment n'importe quoi). Je suis donc en train de réécrire un driver en Java, avec l'ensemble des fonctions. Je ne pense pas que j'arriverai à le faire fonctionner avant le 16/06/2006.

Néanmoins, toutes ces difficultés avec les périphériques I2C m'ont fait faire beaucoup de progrès dans la compréhension du bus.

mercredi, juin 07, 2006

Asservissement des moteurs (alpha / theta)

J'avais promis de faire une petite brève sur l'asservissement en alpha-théta, qui est expliqué à l'adresse suivante :

http://microb.technology.free.fr/fr/asservissement2005/index.html


Voici plusieurs extraits intéressants :

Sur le fait de devoir avoir 2 types de roues :
"En effet, les roues motorisées, pour être efficaces, doivent être plutôt larges et molles. Cela est malheureusement incompatible avec une mesure fiable de la position (diamètre de la roue et distance entre les 2 roues imprécis). De plus, ce roues peuvent avoir tendance à patiner lors de blocage contre un obstacle ou d'une forte accélération.

C'est pourquoi plusieurs équipes (dont Eirbot à partir de 2003) utilisent des roues folles non motorisées, et placées sur le même axe que les roues motorisées. Elles sont à l'inverse fines et dures, montées sur suspensions, et ne glissent quasiment pas. Pour avoir vu fonctionner des robots avec ce système (Minitech, Eirbot, Ville d'Avray 2005), je peux affirmer que la précision est redoutable, même en cas de choc."

Sur l'alpha theta en lui-même :

Elle consiste à ne pas asservir, comme habituellement sur les robots de la coupe, chacune des roues avec un PID, mais plutôt d'utiliser un PID pour asservir la différence des positions de roues (l'angle Alpha), et un autre PID pour asservir la distance parcourue (Theta)
Commentaires :

J'avais déjà eu cette idée et je l'avais intégré dans l'asservissement du robot 2006, mais sous une forme très basique et uniquement proportionnel :
En réalité, je calculais la différence entre la position des 2 roues puis je donnais un coup de pouce à celle qui était en retard. Il n'y avait aucun terme dérivé ni intégral

Mais là, en réalité, ils vont plus loin, ce n'est pas simplement une correction entre les deux roues qui est appliquée, c'est clairement un calcul de la distance parcourue par le robot et non plus par chaque roue (classiquement sous forme de trapère (accélération, vitesse constante, décéleration)). En réalité, on calcule la distance que doit parcourir le robot (qui peut être de 0 si le robot tourne sur lui-même), et la différence que doivent avoir les roues. On ne se souci plus vraiment de savoir si une roue atteint une valeur précise, parce qu'on tient compte des deux valeurs des roues en même temps pour calculer le PID pour la partie déplacement, et de la différence des deux roues pour calculer en fait l'angle de la trajectoire.

Cet asservissement a un intérêt évident, c'est qu'il rend indissociable les deux roues et prend en compte davantage la trajectoire du robot et non plus la trajectoire d'une roue ou de l'autre, avec des corrections qui sont difficiles à trouver.

Par contre, cet asservissement doit être codé manuellement et ne marche pas sur les LM629. A priori, cela donne d'excellents résultats, car on a bien vu la fluidité du robot de Ville d'Avray !!!

A suivre ...

Sur la partie asservissement de cette année, je pense vraiment avoir trouver la cause des problèmes : les calculs se font en 16 bits, et ne me permettent pas de régler correctement le PID (Ex: je n'avais le choix qu'entre la valeur 2 ou 3 pour la valeur de P alors qu'il aurait fallu avoir une valeur intermédiaire). Je vais pour cela utiliser une librairie de math en 32 bits pour le Javelin qui va me permettre de faire le travail. Reste à savoir si cela ne sera pas trop lent. A voir ...

Compte rendu de la conférence téléphonique du 06/06/2006

Voici ce qui a été dit durant la conférence téléphonique du 06/06/2006

Il a été question sur le réglement 2007 :

  • Détection de métaux avec un capteur (voir HP) ce qui permettra de différencier les bouteilles, canettes et batteries
  • la solution de l'électro-aimant a été écartée. Maintenant, je pense qu'un système avec un aimant permanent (dans le cas où la batterie est bien métallique) et avec un système pour retirer la batterie pourrait être efficace. A voir donc

Sur la mécanique du robot 2007 :

  • HP commencer à récupérer de la matière première (alu) pour la base du moteur ...
  • HP va étudier le problème du réglage précis des billes avec un pas de vis
  • YVAN a trouver des roulements pour pas se faire coincer sur le coté et disposer sur le côté

Sur l'utilisation du blog, nous nous sommes interrogés sur le fait de rendre public ou non ce blog.

Sur les travaux en cours et à faire :

YVAN

  • LM629 : Yvan réussit déjà à connaître la position, reste à gérer le reste
  • Laser distance : Yvan va acheter un des lasers soit le bosch, soit celui à 99$, reste à voir si on pourra récupérer les informations.

HP

  • Laser / tourelle : HP s'occupe de fournir un système fiable sans la partie électronique / compteur de tours ..., mais avec des explications claires sur les problèmes rencontrés, les astuces, les domaines de fonctionnement (distance, éclairage ...)
  • Récupération des plaques, plaques profilés alu
  • Mécanique de transmission / plaque de base
  • fournir les joints pour les roues
  • trouver le datasheet du toshiba tcd131D


SV

  • fournir à HP les cotes et les Datasheets des codeurs
  • Finir le GP2D12 : (Fait le soir de la réunion, donc OK)
  • Finir le SRF08 (à faire pour la fin de la semaine)
  • Faire une brève sur la reconnaissance visuelle : Canny, Sobel et sur neatvision
EZ
  • Va faire un point dans 15 jours sur ce qui est utilisable pour la reconnaissance visuelle cette année.

Le prochain rendez vous téléphonique est fixé au Mardi 20 juin à 21h

mardi, juin 06, 2006

Datasheet de pièces

Voici une liste de lien vers les datasheets des pièces utilisées ou à utiliser dans le robot :

Mécanique
Petits calculs sur les dimensions pour les associations moteurs réducteurs :
  • Portescap
    • Moteur (43,5 mm hors axe), 5400 tours / minutes
    • Réducteur (38 mm hors axe + 20,5mm pour l'axe et la collerette) : 17,4 de rapport de réductions, donc 300 tours / minutes = 5 tours / secondes
    • Total = 102 mm
    • Vitesse max (roues de 70 mm) = 1,1 mètre / seconde
  • Maxon
    • Moteur (63 mm hors axe)
    • Réducteur (36,40 mm hors axe + 21 mm)
    • Total = 120,40 !
  • Faulhaber :
    • Moteur série 2642 : (42 mm hors axe) + 9 mm axe derrière, 6400 tours / minutes
    • Réducteur série 30/1 : 35,1 mm + 20,6 mm d'axe + centrage = 55.7mm, réduction de 14:1
    • Total = 106,7 mm
    • Vitesse max (roues de 70 mm) = 1.67 mètre / seconde
Puissance :

Contrôle :
Capteurs :
Affichage :
Entrées - Sorties :

Liste de revendeurs de pièces de robotique

Cette page est destinée à afficher l'ensemble des revendeurs que chacun connaît :

http://www.robopolis.com/ Pièces de robotique, notamment BasicStamp, Javelin, Modules I2C (moteur, boussole, clavier, LCD)

http://www.lextronic.fr/ Pièces électroniques

http://www.gotronic.fr/ Pièces électroniques

http://linitx.com/ Revendeur de cartes mères embarquées (Eden Via notamment) qu'on utilise dans notre robot

http://fr.farnell.com/jsp/home/homepage.jsp Farnell (distributeurs toutes pièces par correspondance)

http://www.radiospares.fr/ (distributeurs toutes pièces par correspondance)

http://www.junun.org/MarkIII/Store.jsp Revend des pièces spécialisées et très peu cher, notamment des GP2D12 à 8,5$, des PCF8574, 8591 à 1,5$ .... (24LC256 utilisé pour stocker de la mémoire) à 2$

Achat Matériel

Comme je le disais dans mon e-mail précédent, il serait intéressant de noter le matériel que chacun a besoin, afin qu'on n'achète pas tous le matériel chacun de notre côté.

Matériel pour Stéphane

LM1084IT5.0 Régulateur faible chute 5.0V 5A GoTronic TO220 2.00€


Matériel pour Yvan


Matériel pour Henri Pierre



J'aimerai bien qu'on fasse une autre page également où il y aurait l'ensemble de notre matériel existant, afin de ne pas acheter si ce n'est pas nécessaire ou que quelqu'un en a récupéré ou en a en rab !

lundi, juin 05, 2006

Réglement 2007

C'est sorti,

le règlement 2007 est sorti en anglais pour la coupe de France de Robotique 2007 :

Le thème est le recyclage :

http://www.eurobot.org/2006/images/around-the-contest/presentation_rules_2007.pdf

Mes premières impressions sont :

- Le retour des moissonneuses batteuses : il n'y a pas beaucoup d'obstacles, pas de trous, pas de pentes, les robots vont aller très vite. Ca tombe bien, notre robot va assez vite (1 m s-1)

- Les scores seront très élevés, car une fois qu'un robot a pris une canette, il n'y a pas de raison qu'il n'arrive pas à tout prendre, contrairement à l'édition de cette année où d'autres complications intervenaient (trous, totems ...)

- Il va falloir mettre le paquets sur la reconaissance visuelle, et reconnaître l'ensemble des objets car il faut viser des gros scores.

- Il n'y a pas de trous, on ne devra pas changer nos roues et le bloc moteur.

- Le mécanisme de préemption va devoir être bien étudié pour ne pas être trop encombrant.

- Et un élément fort intéressant et qui me rassure : à priori, la taille de notre robot devrait passer, puisqu'il ne vont pas imposer des trop petites tailles avec des objets à manipuler de la taille d'une bouteille ou d'une canette, ce qui signifie qu'on n'aura pas trop à toucher à la mécanique.

L'ascension 2007 est le jeudi 17 mai 2007, ça nous donne moins de temps que l'année dernière où l'on avait presque 1 an et 1 mois pour se préparer.

vendredi, juin 02, 2006

Télémètre Laser pas cher

En parcourant un peu le web sur les lasers, je suis tombé sur l'article de wikipedia sur les
laser range finder :

http://en.wikipedia.org/wiki/Laser_rangefinder

Et il parlait des lasers pas cher tels que le tlm100 de Stanley et le DLE50 de Bosch

Pour le TLM

http://www.lasermeters.com/stanley/tlm100.html

Il ne coute que 99$, ce qui me tente bien de l'acheter, car il est possible vu la simplicité de l'afficheur, et certainement de l'électronique derrière qu'on puisse récupérer l'électronique qu'il y a dedans, afin de récupérer le signal, et de connaître la distance...

Caractéristiques :

Voir la page http://www.stanleytools.com/default.asp?TYPE=CATEGORY&CATEGORY=LASER+MEASURING

Laser: 650 nm, Classe IIIA (attention, ne convient pas à la coupe de robotique car 5mW au lieu de 1mW !!!)
2 lignes de LCD
Unité de mesure pouces, mm ...
Temps de mesure : ???

Avantages: pas cher, longue distance (30m)
Inconvénients : pas si précis que ca (6 mm en moyenne), et la mesure minimale est de 50cm ce qui est beaucoup
On n'a pas le temps de mesure, ce qui serait intéressant à voir


Pour le DLE50 qui coûte environ 170€

http://www.technikmodern.at/bosch/dle50.shtml

Avantages : disponible en union européenne => Pas de taxe éventuelles
- mesure de 5 cm à 50 mètre ce qui est super
- précis à moins de 5 mm
- plus petit que le tlm100 à mon avis : 100x58x32mm

Inconvénients : un peu plus cher, et peut être plus complexe à interfacer
Attention, ils annoncent des temps de mesure de 0.5 à 4 seconde, ce qui est beaucoup !!!

Ajout depuis la réunion du 20/06/2006 :

Un nouveau modèle de LEICA est apparu :
LEICA DISTO A2

Cela nous permettrait dans le robot de scanner le terrain et de découvrir directement où sont les obstacles

Nouveaux PICS : PIC24

Il y a du nouveau dans les PICS, et qui ne devrait pas tarder à être disponible en France, même si pour l'instant ni Farnell, ni Radiospares en ont : les PICS 16bits (Famille 24 au lieu de 16 et 18)

L'avantage est la taille mémoire qu'ils peuvent gérer (espace linéaire jusqu'à 16 Mb et non plus le système vraiment pénible des bancs mémoires avec la version 8 bits), le nombre de pattes (jusqu'à 128), la gestion de la multiplication en 17 * 17 bit, ce qui est vraiment pas mal, division 32 bits / 16 bits ...., davantage d'instructions optimisées pour le C ...

L'adresse du site est :
http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1032&mid=10〈=en&pageId=74

Cela va peut être me faire réviser ma position sur les PICS, et nous allons peut être utiliser ces modèles pour gérer l'asservissement.

A suivre ...

Mise à jour du 09/12/2006 : en fait, on peut envisager les PIC30F qui sont encore plus puissants