Difference between revisions of "Projets:Lab:2012:Couperobotique2013"
(→Avancement) |
(→L’équipe) |
||
Line 16: | Line 16: | ||
*Pilou [Coordination, Asservissement(contrôleur moteur + capteur souris)] | *Pilou [Coordination, Asservissement(contrôleur moteur + capteur souris)] | ||
*Stéphane(Raoul) [Balistique] | *Stéphane(Raoul) [Balistique] | ||
− | *Sébastien(3dsman) | + | *Sébastien(3dsman) [recuperation/selection des balles] |
*Ellyan [Mécanique] | *Ellyan [Mécanique] | ||
*Pitrak [Mécanique/Menuiserie] | *Pitrak [Mécanique/Menuiserie] |
Revision as of 17:53, 31 December 2012
Contents
About
Cette page en permet l'organisation d'une première participation à la coupe de robotique de l’Electrolab.
On va essayer de mettre par écrit tout ce qui c'est dis à l'oral ou sur la ML.
Page de Planète Sciences dédié à la coupe de Robotique 2013
Dates organisation
- 26 novembre 2012 : Limite d'inscription à la coupe
- 07 janvier 2013 : Renseigner le site web de plasci.
- 21 janvier 2013 : Dossier de projet à livrer à plasci
- TBD : Poster à livrer à plasci
- 8-11 mai 2013 : Le concours à la La Ferté-Bernard
L’équipe
- Pilou [Coordination, Asservissement(contrôleur moteur + capteur souris)]
- Stéphane(Raoul) [Balistique]
- Sébastien(3dsman) [recuperation/selection des balles]
- Ellyan [Mécanique]
- Pitrak [Mécanique/Menuiserie]
En renfort selon disponibilité des membres:
- David
- Crafty
- Clément(clmnt)
- David Rochelet
Objectif
1)Mettre en place une base de robot avec asservissement et détection pour éviter le robot adverse. (Afin d’être homologué et d’exécuter correctement les actions les plus simples).
2)Sur le temps restant mise en place de mécanique(et de capteur) afin d’exécuter plus d'action.
3)Gagner la coupe (a voir, si on a le temps :))
4)Manger du gâteau et boire du jus de fruit.
Base roulante
Asservissement
Carte Robo Claw
- La carte Robot Claw 2x5A est idéale pour commander 2 moteurs CC et supporte 2 encodeurs à quadrature, procurant ainsi un contrôle inégalé de la vitesse et des déplacements. La commande des deux moteurs peut se faire à l'aide d'une tension analogique, d'un signal RC ou d'un signal série. Compatible Arduino.
- Lors de chaque ralentissement ou changement de sens de rotation du moteur, la carte Robot Claw recharge la batterie, permettant une autonomie accrue du robot. La carte Robot Claw possède des modes indépendants pour la vitesse et la direction, facilitant la commande différentielle.
- Alimentation: 6 à 30 Vcc (NiMh, Lithium, accu au plomb)
- Cette carte ne peut pas être alimentée par une alimentation secteur.
- Courant de sortie: 2 x 5 A en continu (2 x 10 A en pointe)Sortie BEC 5 Vcc
- Signal de commande:
- tension analogique 0 à 5 Vcc
- signal radio RC
- liaison série
- Supporte 2 encodeurs à quadrature
- Routine PID intégrée
- Indication de statut par Leds
- Protection thermique intégrée
- Plage de T°: -40°C à +125°C
- Dimensions: 50 x 48 x 18 mm
- Poids: 32 gr
- Fabricant: Basic Atom
Odométrie
On a évoqué les capteurs de souris optique, les capteurs directement sur les axes moteurs et la roue libre.
Ce sont des pistes a creuser...
Duncane nous indique ce lien http://www.digikey.fr/product-detail/fr/ADNS-2080/516-2309-5-ND/2509971
Ce circuit est disponible dans plusieurs souris pour gamer mais elles sont chère (50 a 100€)
WJL peut nous avoir 5 a 10 souris PS/2 de marque wyse qui utilise le capteur PAW3402 (datasheet)
ce type de capteurs est utilisé avec une modification de leur optique pour stabiliser des quadricoptere: http://www.diydrones.com/profiles/blogs/quad-position-hold-with-mouse-1
Il est possible de récupérer l'image du capteur pour verifier ce qu'il "vois", ce qui peut permettre des réglages dans le cas d'un changement d'optique (pour gagner en vitesse sans que le capteur ne se perde au prix d'une perte de précision (qui est de l'ordre de 0.04mm))
Il existe même des modules pré-monté pour les quadcopters (http://unmannedtechshop.co.uk/Optical-Flow-Sensor)
Moteurs
Utilisation de moteur DC avec réduction (plus simple que les brushless). L'encodeur à quadrature sera sur déporté de l'axe de transmission des moteurs.
Pour le dimensionnement des moteurs :
- Vmax = RPMmax / réduction * 2pi * rayon roue
- Accélération max = couple * réduction / rayon roue * 2 / poids
Unités :
- V : m/s
- RPM : tr/s (oui je sais RPM != tr/s)
- réduction : tr/tr
- rayon : m
- acc : m/s^2
- couple : N.m
- poids : kg
A l'arrache :
- rayon roue : entre 30 et 40 mm
- Vmax entre 75 et 150 cm/s
=> en sortie de réducteur : entre 3 et 8 tr/s (180/400 rpm)
- poids : entre 4 et 8kg
- accélération : vitesse max atteinte en 0,3s -> entre 2,5 et 5 m/s^2
=> en sortie de réducteur : entre 0,15 et 0,8 N.m (ps: le réducteur augmente le couple).
Certaines valeurs seront plus précises quand on aura fixé Vmax/roues/acc plus précisémment. Je vous invite à ajuster ces valeurs (et à refaire les calculs si je me suis planté).
Batteries
Loïc Geslin nous a fait remarquer a juste titre que: "les batteries LiPo ne sont autorisées que si elles sont rangées dans un sac ignifugé, et au final le gain en terme d'encombrement est souvent nul du fait du sac."
Nous partirions donc sur du nimh, d'autant plus que Pilou en aurait en stock
Microcontroleur "IA"
Pour le moment rien de precis de ce coté la... Pilou possède 2 mini2440
Thomas possède 1 Pandaboard
Stéphane possède 1 Raspberry Pi (temporairement il en as besoin pour un autre projet)
Stéphane possède 1 BeagleBoard (il peux peux-être en récupérer)
Les actions
La table
Une demi table serait dispo au lab et demanderait une mise a jour -> elle n'y est visiblement plus, une equipe a du la prendre...
Il y a aussi la problématique de trouver une place pour la table quelque-pars au lab qu'il nous faudra régler.
3dsman propose de s'en occuper avec l'aide d'autre personnes intéressées (Marie-Anne se propose de filer un coup de main) =>Le gâteau est une grosse part(sans jeu de mots) dans la construction de la table.(Va falloir faire chauffer la CNC) ==>Le gâteau ne sera pas construit en entier car aucune équipe n'envisage de s'occuper des bougies du derniers étages.
Matériaux pour la MAJ de la table:
- Verres
- Tubes en pvc/plexiglass de 80mm de diamètres 80mm de haut (6 par demi-table)=> 39€ pour 2m chez abaqueplast (on a besoin de 50cm par demi-table en comptant les decoupes)
- mdf de 5mm d'epaiseur pour le fond
- Assiettes -> c'est fait, on en a 4 entierement en MDF, il reste a les peindre (le fond etant de 6mm, il faudrait aussi peut etre les poncer si ce mm supplementaire est critique). On pourra voir a en echanger une avec une autre equipe qui aurait fait les bords en pin pour tester les differents modeles possibles.
- Balles de ping pong(32 balles) -> 36 balles ont été achetées.
- Bougies
- Tubes en pvc/plexiglass de 80mm de diamètres 40mm de haut (12 pour le premier étage complet 8 pour le deuxième)
- Élastiques -> on a tout ce qu'il faut.
- Balles de tennis(20 balles)
- Gâteau
- Du MDF => j'ai une belle planche en 10 d'epaisseur et quelques une en 3 ou 4 qui devrais se ceintrer sans trop de difficulté
- Du plexi
- Bande réfléchissante Sur Radiospares : réf 359-3151
- Bande noire pour le bac à cerise (du chatterton de 25mm de largeur) Sur Radiospares : réf 744-2369
- Cadeaux
- Du MDF de 22mm d'épaisseur
- Peintures
- Sol et texte au dessus du gâteau : Jaune trafic => RAL 1023 Mate
- Assiettes et gâteau : rose => RAL 3015 Mate => une bombe a été achetée (en brillant mais j'ait pris une bombe de vernis mat a ajouter dessus)
- Lignes suiveurs : Noir trafic => RAL 9005 Mate => acheté en bombe
- Couleur équipe A : Bleu RAL => 5017 Mate
- Couleur équipe B : Rouge RAL => 3001 Mate
- Couleur neutre : Blanc => RAL 9016 Mate
Action 1 : Les cadeaux
Il faut pousser les cadeaux pour les faire basculer. (4 points pour chaque cadeau)
On partirait sur un système de piston ou de servomoteur simple.
Action 2 : Souffler les bougies
- Il faut "souffler les bougies" càd enfoncer des balles de tennis dans les tubes pvc.(Juste retenue par des élastiques donc il n'y à pas une grande force à fournir)
- Il faut enfoncer sa couleur (4 points pour chaque bougie).
- Les blanches sont l'action de coopération (20 points pour chaque équipe).
~Rien n'as été prévu pour cette action~
Action 3 : La cerise sur le gâteau "Balistique"
Il faut récupérer les "cerises" càd les balles de ping-pong et les envoyer en haut du gâteau.
- Les blanches sont les bonnes cerises (2 points par cerise).
- Les rouges/bleue les mauvaises cerises (nombre de point pour cette action divisé par 2 si 1 mauvaise cerise rentre dans le gâteau).
Cette partie est à réfléchir rapidement, elle conditionne la forme du robot.
=>Rien ne nous empêche de faire une base temporaire pour faire les premiers réglages des déplacement et des des capteurs.
Capture des balles
Trois option évoquées en discutions informelle:
- une solution a base de plaque couverte de scotch double face qui viendrait se positionner au dessus des assiettes, assez simple a mettre en oeuvre, a voir pour le mécanisme de décrochage de de récupération des balles.
- une autre avec des tiges et des élastiques qui viendraient coincer les balles. A étudier au niveau mécanique, demande un positionnement plus précis du robot mais facilite la récupération.
-On peux pincer les assiettes et les soulever-basculer pour les vider dans un réservoir. => une solution avec un seul moteur a été proposée, a reflechir plus en detail pour assurer sa robustesse...
Apres quelques test et un proto l'option 3 a été retenue. Nous nous dirigeons donc vers une solution a base de pince "passive" (sans serrage) qui souleverait et ferais basculer l'assiette pour recuperer les balles. deux possibilitées sont a l'etude: - Soit on arrive a faire remonter la pince avec l'assiette tout en haut du robot pour vider son chargement dans un "entonoir" - soit on bosse sur un systeme ou la pince resterais basse et qui ferait remonter les balles dans le robot.
Tir
air comprimé, ressorts, élastiques, plusieurs options ont été évoquée.
Idée : vidéo
Action 4 : Pyramide de verres
Il faut déplacer les verres vers la zone de départ et les empiler pour plus de points.
Les rebords blanc () permettent juste d'aider à positionner les verres.
- 4 points par verre dans la zone
- Le nombre de points de chaque verre est multiplié par sa place en hauteur(1 verre au 3éme étage vaux 12 points)
A priori nous nous contenterions de tenter de déplacer les verres dans notre zone sans les empiler.
Action 5 : Funny action
Il faut gonfler un ballon sur le haut du robot après les 90 secondes en 10 secondes.(12 points)
Apres mesure on peut considérer que le ballon fait 2L et qu'il nessesite 0.035 bars de pression au maximum (au debut du gonflage).
Le gonflage du/des ballons peut être fait:
- Avec une réaction de bicarbonate et de vinaigre (a voir si le règlement le permet). =>Pas de liquide selon le règlement. => on oublie.
- Avec un réservoir d'air comprimé. =>Max 4 bars => necessite un reservoir de 0.5L min capable de resister a 4kg/cm².
- Avec une bombe d'air sec. =>Un peu dur de savoir si c'est interdis par le règlement.(sous forme liquide dans la bouteille, mais ne peux pas couler sur les tables de match).
- Avec un gonfleur électrique (pour les matelas gonflables)? => Trop gros. =>On oublie, j'ai testé c'est pas assez puissant.
- Avec une pompe sur bielle => idée a explorer.
- Pompe à diaphragme: http://cgi.ebay.fr/RC-Sub-Boat-Air-Gas-Liquid-Water-Micro-Pump-Type-B-DC5v-13v-Free-JST-Plus-/280999634668?pt=US_Character_Radio_Control_Toys&hash=item416ce226ec#ht_3540wt_1161 =>Espace réduit mais débit que d'1L/minutes c'est un peu cour pour remplir un ballon en 10 secondes
Liens
Un site avec pas mal de liens sur la récupération et l'utilisation de capteurs de souris pour l'odometrie des robots: http://www.pobot.org/Position-par-souris-optique.html
autres liens sur le sujet http://pickandplace.wordpress.com/2012/05/16/2d-positioning-hacking-an-optical-mouse/ http://botsnlinux.net/school_projects/mouse_paper_colloquium_22march11.pdf
Un pdf intéressant sur l'utilisation de ces capteurs pour les robots terrestres: http://students.asl.ethz.ch/upl_pdf/98-report.pdf
L'asservissement par pid, le principe:ici, la et ce pdf ci
BOM
Contrôleur moteur
Robot Claw 2x5A
http://www.gotronic.fr/art-commande-robot-claw-2x5a-17504.htm 66€ + 8€fdp
roboshop : pas de stock avant le 25 novembre 2012
Encodeur rotatif
360 http://www.gotronic.fr/art-encodeur-rotatif-3530-12123.htm 61.5€ + 8fdp
200 http://www.robotshop.com/eu/encodeur-incremental-200-p-r.html 33€
500 http://www.robotshop.com/eu/encodeur-incremental-cytron.html 121€
1024 http://www.vicatronic.fr/fr/158-1024-points-taille-30-mm-axe-sortant-de-5-mm.html 48€HT
Moteur de déplacement
- http://store.mdpmotor.fr/1-13-018-sgp67s.html
- planaire
- 250 RPM
- 0.76Nm
- 12V/3.2A nom
- 670 g
- 170€ HT
- http://store.mdpmotor.fr/111-1617.html
- angle
- 240 RPM
- 1.5Nm
- 24V/4A nom
- 1250 g
- 131€ HT
- http://www.gotronic.fr/art-motoreducteur-mfa-986d41-12417.htm
- planaire
- 1292 RPM
- 15 kg/cm = 1.47 Nm
- 12V/5.28A
- 1.02kg
- 102€ TTC
- http://www.gotronic.fr/art-motoreducteur-mfa-975d41-12161.htm
- planaire
- 1750 RPM
- 0.49 Nm
- 12V 5.5A
- 541 grammes
- 39.95€ TTC
En stock :
- G42X40
- 12V
- 3650rpm
- In 2,65A
- Ifm 24A
- Axe 8mm
- 379rpm en sortie réducteur à vide
- 316rpm en sortie réducteur en charge
- [Datasheet pdf]
Roue et support de déplacement
TBD
Roue et support pour encodeur
TBD
MCU pour déplacement
Arduino
Renvoi d'angle
TBD
MCU pour capteurs
Arduino
Unité centrale
BeagleBone
89€
- Processor
- 720MHz super-scalar ARM Cortex-A8 (armv7a)
- 3D graphics accelerator
- ARM Cortex-M3 for power management
- 2x Programmable Realtime Unit 32-bit RISC CPUs
- Connectivity
- USB client: power, debug and device
- USB host
- Ethernet
- 2x 46 pin headers
- 2x I2C, 5x UART, I2S, SPI, CAN, 66x 3.3V GPIO, 7x ADC
- Software
- 4GB microSD card with Angstrom Distribution
- Cloud9 IDE on Node.JS with Bonescript library
Raspberry Pi
25€ http://elinux.org/RPi_Hardware
mini 2440
Déjà en stock http://www.friendlyarm.net/products/mini2440
Inconvénient => pas trop de docs pour les outils.
Matériaux
- Plaque Aluminium 3 à 5 mm d'épaisseur
- Plexiglass
- Barre Aluminium
Avancement
Choix de la motorisation:
- Roboclaw 2*5A
- 50:1 Metal Gearmotor 37Dx54L mm with 64 CPR Encoder
Choix du contrôleur:
- mini2440
- mini2440 nous pose des soucis, mais le code est portable au cas ou on se trouve bloqué.
- Pas assez d'I/O (adc) ajout de adc en i2c ou d'une arduino
Mécanique:
- système de récupération de balle en cours (prototype du systeme de remontée fait, a passer en module final, pince en cours)
- système de canon en cours d'amelioration. Les premiers test de tir ont été faits, on est bons sur la puissance, reste a gagner en precision. On devrait pouvoir tirer a environ 2 balles par seconde. L'ejection des mauvaise balle fonctionne pas mal, il faut l'ameliorer un poil pour éviter des blocages dans certaines situations.
- systeme de gonflage de ballon en standby, il faut avancer sur la base et le tir avant.
- Base roulante a faire
Alimentation
- plutôt nimh