Difference between revisions of "Projets:Lab:2012:Couperobotique2013"

From Electrolab
Jump to: navigation, search
(Encodeur rotatif)
 
(48 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
= About =
 
= About =
 +
[[File:Logo_coupe_de_france_de_robotique.jpg]]
 +
 
Cette page en permet l'organisation d'une première participation à la coupe de robotique de l’Electrolab.
 
Cette page en permet l'organisation d'une première participation à la coupe de robotique de l’Electrolab.
  
Line 8: Line 10:
 
= Dates organisation=
 
= Dates organisation=
 
*26 novembre 2012 : Limite d'inscription à la coupe
 
*26 novembre 2012 : Limite d'inscription à la coupe
*TBD : Établir un dossier pour la demande de faisabilité et budget Electrolab
+
*07 janvier 2013 : Renseigner le site web de plasci.
*TBD : Renseigner le site web de plasci.
+
*21 janvier 2013 : Dossier de projet à livrer à plasci
*TBD : Dossier de projet à livrer à plasci
+
 
*TBD : Poster à livrer à plasci
 
*TBD : Poster à livrer à plasci
 
*8-11 mai 2013 : Le concours à la [http://goo.gl/maps/ksSS2 La Ferté-Bernard]
 
*8-11 mai 2013 : Le concours à la [http://goo.gl/maps/ksSS2 La Ferté-Bernard]
 
= L’équipe =
 
= L’équipe =
  
*Pilou
+
*Pilou [Coordination, Asservissement(contrôleur moteur + capteur souris)]
*Stéphane(Raoul)
+
*Stéphane(Raoul) [Balistique]
*Thomas
+
*Sébastien(3dsman) [recuperation/selection des balles]
*Sébastien(3dsman)
+
*Ellyan [Mécanique]
*Ellyan
+
*Pitrak [Mécanique/Menuiserie]
 
+
  
 
En renfort selon disponibilité des membres:
 
En renfort selon disponibilité des membres:
Line 26: Line 26:
 
*Crafty
 
*Crafty
 
*Clément(clmnt)
 
*Clément(clmnt)
*Thomas
 
 
*David Rochelet
 
*David Rochelet
  
Line 39: Line 38:
 
4)Manger du gâteau et boire du jus de fruit.
 
4)Manger du gâteau et boire du jus de fruit.
  
== Base roulante ==
+
= Les actions =
=== Asservissement ===
+
Théme : Happy Birthday !
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)
+
[[File:Logo_cdr2013.jpg|400px]]
*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.
+
==La table==
 +
[[File:Coupe2013_table_pleine.png]]
  
Ce sont des pistes a creuser...
+
Construction de la table au lab : [[Projets:Lab:2011:Couperobotique2013:Table]]
  
Duncane nous indique ce lien http://www.digikey.fr/product-detail/fr/ADNS-2080/516-2309-5-ND/2509971
+
== Action 1 : Les cadeaux (16 Points)==
 +
[[File:Coupe2013_action_cadeaux.png]]
  
Ce circuit est disponible dans plusieurs souris pour gamer mais elles sont chère (50 a 100€)
+
Il faut pousser les cadeaux pour les faire basculer. (4 points pour chacun des 4 cadeaux)
  
WJL peut nous avoir 5 a 10 souris PS/2 de marque wyse qui utilise le capteur PAW3402 ([http://www.alldatasheet.com/datasheet-pdf/pdf/333275/PIXART/PAW3402DK.html datasheet])
+
== Action 2 : Souffler les bougies (32+20 Points)==
 +
[[File:Coupe2013_action_bougies.png]]
  
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 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 chacune des 8 bougies).
 +
*Les 4 blanches sont l'action de coopération (20 points pour chaque équipe).
  
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
+
== Action 3 : La cerise sur le gâteau "Balistique" (56 Points) ==
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))
+
[[File:Coupe2013_action_cerises.png]]
  
Il existe même des modules pré-monté pour les quadcopters (http://unmannedtechshop.co.uk/Optical-Flow-Sensor)
+
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) 4 assiettes de 7 cerises.
 +
*Les rouges/bleue les mauvaises cerises (nombre de point pour cette action divisé par 2 si 1 mauvaise cerise rentre dans le gâteau).
  
=== Moteurs ===
+
== Action 4 : Pyramide de verres (120 points)==
 +
[[File:Coupe2013_action_verres.png]]
  
Utilisation de moteur DC avec réduction (plus simple que les brushless).
+
Il faut déplacer les verres vers la zone de départ et les empiler pour plus de points.
L'encodeur à quadrature sera sur déporté de l'axe de transmission des moteurs.
+
  
=== Batteries ===
+
Les rebords blanc permettent juste d'aider à positionner les verres.
 +
*4 points par verre dans la zone (12 verres)
 +
*Le nombre de points de chaque verre est multiplié par sa place en hauteur(1 verre au 3ème étage vaux 12 points)
  
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
+
Exemple de pyramide avec 10 verres (80 points)
  
=== Microcontroleur "IA"===
 
  
Pour le moment rien de precis de ce coté la...
+
o 1*4*4 16
Pilou possède 2 [http://www.friendlyarm.net/products/mini2440 mini2440]
+
Thomas 1 [http://pandaboard.org/content/resources/references Pandaboard]
+
Stéphane 1 [http://elinux.org/RPi_Hardware Raspberry Pi] (temporairement il en as besoin pour un autre projet)
+
Stéphane 1 [http://beagleboard.org/hardware BeagleBoard] (il peux peux-être en récupérer)
+
  
 +
oo 2*4*3 24
  
== Les actions ==
+
ooo 3*4*2 24
===La table===
+
[[File:Coupe2013_table_pleine.png]]
+
  
=== Action 1 : Les cadeaux ===
+
oooo 4*4 16
[[File:Coupe2013_action_cadeaux.png]]
+
  
Il faut pousser les cadeaux pour les faire basculer.
 
  
On partirait sur un système de piston ou de servomoteur simple.
+
Points maximum avec 12 verres (120 points)
  
=== Action 2 : La cerise sur le gâteau "Balistique" ===
 
[[File:Coupe2013_action_cerises.png]]
 
  
Il faut récupérer les "cerises" càd les balles de ping-pong et les envoyer en haut du gâteau.
+
ooo 3*4*4 48
*Les blanches sont les bonnes cerises.
+
 
*Les rouges/bleue les mauvaises cerises.
+
ooo 3*4*3 36
 +
 
 +
ooo 3*4*2 24
 +
 
 +
ooo 3*4 12
 +
 
 +
 
 +
 
 +
=>La il faut un super robot pour arriver à avoir tout les verres et assembler comme ça !
 +
 
 +
== Action 5 : Funny action (12 Points)==
 +
Il faut gonfler un ballon sur le haut du robot après les 90 secondes en 10 secondes.(12 points)
 +
 
 +
 
 +
= Notre solution pour les actions =
 +
== Action 1 : Les cadeaux (16 Points)==
 +
On partirait sur un système de piston ou de servomoteur simple.
 +
 
 +
== Action 2 : Souffler les bougies (32+20 Points)==
 +
~Rien n'as été prévu pour cette action~
  
 +
== Action 3 : La cerise sur le gâteau "Balistique" (56 Points)==
  
 
Cette partie est à réfléchir rapidement, elle conditionne la forme du robot.
 
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.
 
=>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 ====
+
=== Capture des balles ===
  
Deux option évoquées en discutions informelle:
+
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 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.
Line 131: Line 129:
 
- 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.
 
- 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.
  
==== Tir ====
+
-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...
  
air comprimé, ressorts, élastiques, plusieurs options ont été évoquée.
+
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 soulèverait et ferais basculer l'assiette pour envoyer les balles dans un convoyeur les remontant vers un bac de stockage.
 +
=== Tir ===
  
Idée : [http://www.youtube.com/watch?v=glvIJLeepck vidéo]
+
On part sur un tir par solénoïde. Il nous faut encore faire des tests pour voir si on peut contrôler efficacement la puissance du tir
 
+
==== Action 3 : Pyramide de verres ====
+
[[File:Coupe2013_action_verres.png]]
+
 
+
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.
+
  
 +
air comprimé, ressorts, élastiques, plusieurs options ont été évoquée.
  
 +
Idée : [http://www.youtube.com/watch?v=glvIJLeepck vidéo]
 +
== Action 4 : Pyramide de verres (120 points)==
 
A priori nous nous contenterions de tenter de déplacer les verres dans notre zone sans les empiler.
 
A priori nous nous contenterions de tenter de déplacer les verres dans notre zone sans les empiler.
 +
Si on attrape la moitié on peux avoir 24 points
  
=== Action 4 : Funny action ===  
+
== Action 5 : Funny action (12 Points)==  
Il faut gonfler un ballon sur le haut du robot après les 90 secondes en 10 secondes.
+
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:
 
Le gonflage du/des ballons peut être fait:
  
- Avec une réaction de bicarbonate et de vinaigre (a voir si le reglement le permet).
+
- Avec une réaction de bicarbonate et de vinaigre (a voir si le règlement le permet).
=>Pas de liquide selon le règlement.
+
=>Pas de liquide selon le règlement. => on oublie.
  
 
- Avec un réservoir d'air comprimé.
 
- Avec un réservoir d'air comprimé.
=>Max 4 bars
+
=>Max 4 bars => necessite un reservoir de 0.5L min capable de resister a 4kg/cm².
  
 
- Avec une bombe d'air sec.
 
- Avec une bombe d'air sec.
Line 163: Line 159:
  
 
- Avec un gonfleur électrique (pour les matelas gonflables)?
 
- Avec un gonfleur électrique (pour les matelas gonflables)?
=> Trop gros.
+
=> Trop gros. =>On oublie, j'ai testé c'est pas assez puissant.
  
- Avec une pompe sur bielle?
+
- Avec une pompe sur bielle => idée a explorer.
  
 
- Pompe à diaphragme:
 
- Pompe à diaphragme:
Line 171: Line 167:
 
=>Espace réduit mais débit que d'1L/minutes c'est un peu cour pour remplir un ballon en 10 secondes
 
=>Espace réduit mais débit que d'1L/minutes c'est un peu cour pour remplir un ballon en 10 secondes
  
= La table =
+
=Avancement=
  
Une demi table serait dispo au lab et demanderait une mise a jour.
+
==Motorisation==
 +
[[File:Roboclaw-2x5a.jpg|200px]]
 +
*Roboclaw 2*5A [[Projets:Lab:2011:Couperobotique2013:Roboclaw2x5A‎]]
 +
*50:1 Metal Gearmotor 37Dx54L mm with 64 CPR Encoder
  
Il y a aussi la problématique de trouver une place pour la table quelque-pars au lab qu'il nous faudra régler.
+
==Contrôleur principal==
 +
[http://http://www.raspberrypi.org/ www.raspberrypi.org[[File:Raspi Colour R.png|50px]]]
 +
*Raspberry pi
 +
**Utilisation d'un usb/ftdi pour la com avec la roboclaw
 +
**Communication en i2c/spi avec un arduino pour commande servo/adc/io
  
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)
+
==Contrôleur IO==
=>Le gâteau est une grosse part(sans jeu de mots) dans la construction de la table.(Va falloir faire chauffer la CNC)
+
* Plutôt sur un arduino.
==>Le gâteau ne sera pas construit en entier car aucune équipe n'envisage de s'occuper des bougies du derniers étages.
+
  
= Liens =
+
==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.
 +
**Démo canon : http://youtu.be/Dcnca71A8i8
 +
*système de gonflage de ballon en standby, il faut avancer sur la base et le tir avant.
 +
*Base roulante a faire
 +
**Une base roulante simple pour développer le soft est en place
 +
***V1: moteurs,roboclaw,mini2440
 +
***V1rev2: -mini2440 + raspberryPi
 +
***V2 (en cours):+ batteries + dc-dc 5V/2A
 +
***V2rev2 (future): + arduino mega + télèmetre us + télèmetre IR
 +
V1[[File:Cdr2k3_plateformeproto_V1.jpg|200px]]
  
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
 
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:[http://www.telecom-robotics.org/node/326 ici], [http://clubelek.insa-lyon.fr/joomla/fr/base_de_connaissances/informatique/asservissement_et_pilotage_de_robot_autonome_introduc_5.php la] et ce pdf [http://rose.eu.org/2010/wp-content/uploads/2010/03/pid.pdf ci]
+
V2[[File:Cdr2k3_plateformeproto_V2_front.jpg|200px]]
 +
[[File:Cdr2k3_plateformeproto_V2.jpg|200px]]
  
= BOM =
+
==Alimentation==
== Contrôleur moteur==
+
* 2 batterie nimh 7,2V (3000-4000mAH) en série sur les moteurs + servos
Robot Claw 2x5A
+
**1 DC-DC 6V pour servos 3-5A
 +
**(optionnel)1 DC-DC 12V pour les moteurs de 12V (les 2 batteries chargé à bloc = 16V)
 +
* 1 batterie nimh 7.2V (2000-3000mAH) sur la logique
 +
**1 DC-DC 5V 2-3A
  
[[File:Basic-micro-robo-claw-dual-regernative-motor-controller.jpg]]
+
==Software==
 +
Voir [[Projets:Lab:2012:Couperobotique2013:Software]]
  
http://www.gotronic.fr/art-commande-robot-claw-2x5a-17504.htm 66€ + 8€fdp
+
==Obligation réglement==
  
roboshop : pas de stock avant le 25 novembre 2012
+
*Support Balise Velcro crochet 80 x 80 mm 430 mm de hauteur
 +
*Deux espaces rectangulaires de 100 x 70 mm doivent être laissés libres sur 2 faces au choix du robot.
 +
*Cordon de démarrage
 +
*Arrêt d'urgence alimentation actionneurs (moteurs servos) 20 mm de diam depassement de 25mm (jusquà 375mm de hauteur en tout)
  
==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€
+
==TODO LIST==
 +
*Méca
 +
**Faire une version finale du système pour remonter les balles.
 +
**Faire une base pour tout fixer => moteur, canon, remonte de balle.
 +
*Elec
 +
**Carte charge condo et shoot canon
 +
**Carte interface raspberry/pi
 +
*Prog
 +
**Porter le code actuel vers la raspi (DONE)
 +
**Faire les réglages d'asserv (IN PROGRESS)
 +
**Coder la carte interface vers la raspi(DRAFT)
  
500 http://www.robotshop.com/eu/encodeur-incremental-cytron.html 121€
+
=Carte interface avec raspi=
  
1024 http://www.vicatronic.fr/fr/158-1024-points-taille-30-mm-axe-sortant-de-5-mm.html 48€HT
+
Liste de ce qu'il faut contrôler:
 +
*Canon
 +
**1 output pour le tir
 +
**1 output pour la charge
 +
**1 adc pour la tension de charge
 +
**1 adc pour le capteur de couleur
 +
**1 pwm pour le servomoteur
 +
* Télémètre sharp
 +
**Entre 4 et 6 adc
  
==Moteur de déplacement==
 
Motoréducteurs compacts Doga 316 *24V/38rpm
 
  
[[File:Doga_316.png]]
+
''' Solution quick'n dirty: '''
 +
Brancher un Arduino mega en I2c ou SPI sur la raspi et utiliser une proto/shield pour connecter les servos/capteur sur l'arduino
  
http://store.mdpmotor.fr/316-1632.html 67€ HT ~80€TTC
+
==Solution expander==
 +
[[Projets:Lab:2011:Couperobotique2013:RaspiExpander]]
  
==Roue et support de déplacement==
+
=CDC Carte IHM=
TBD
+
==Roue et support pour encodeur==
+
TBD
+
==MCU pour déplacement==
+
Arduino
+
  
==MCU pour capteurs==
+
OPTIONNELLE
Arduino
+
  
==Unité centrale==
+
Pour le moment écran de nokia 5110 connecté sur la rasp.
===BeagleBone===
+
http://beagleboard.org/bone
+
  
89€
+
Manque bouton pour retour utilisateur.
  
*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===
+
*Un arduino nano connecté en usb sur la raspi
25€
+
*IHM
http://elinux.org/RPi_Hardware
+
**Ecran LCD 84x48 - Nokia 5110
 +
***5 I/O
 +
**Encodeur rotatif 2 I/O
 +
**2 bouton 2 I/O
 +
**3 switch 3 I/O (sélection coté et stratégie)
 +
**Ecran matrice led
 +
***http://cgi.ebay.fr/3216-Bicolor-Red-Green-LED-5mm-Dot-Matrix-Display-Information-Display-Board-/160871008119
 +
***4 I/O
 +
***Prévoir un DC-DC 5V et sa batterie perso
  
===mini 2440===
+
=Logiciel de debug/visualisation=
Déjà en stock
+
Un client qui se connecte à l'application embarqué sur le robot qui permet de:
http://www.friendlyarm.net/products/mini2440
+
*V0
 +
**Afficher la position et l'angle du robot sur une carte vue de dessus
 +
**Une fenêtre de log
 +
**Afficher une liste de données (capteurs ...)
 +
*V1
 +
**Afficher les données télémétrique sur la carte
 +
*V2
 +
**Interface pour envoyer des commandes
  
Inconvénient => pas trop de docs pour les outils.
+
Le serveur et le client devrons être modulable pour n'importe quel équipe puisse utiliser le logiciel.
  
==Matériaux==
+
Le langage de programmation devras permettre un support multi-plateforme (Windows, Linux ou Browser(Javascript,HTML)).
*Plaque Aluminium 3 à 5 mm d'épaisseur
+
 
*Plexiglass
+
Et si possible un client Androïd par la suite.
*Barre Aluminium
+
 
 +
= 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:[http://www.telecom-robotics.org/node/326 ici], [http://clubelek.insa-lyon.fr/joomla/fr/base_de_connaissances/informatique/asservissement_et_pilotage_de_robot_autonome_introduc_5.php la] et ce pdf [http://rose.eu.org/2010/wp-content/uploads/2010/03/pid.pdf ci]

Latest revision as of 12:05, 22 March 2013

About

Logo coupe de france de robotique.jpg

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.

Les actions

Théme : Happy Birthday !

Logo cdr2013.jpg


La table

Coupe2013 table pleine.png

Construction de la table au lab : Projets:Lab:2011:Couperobotique2013:Table

Action 1 : Les cadeaux (16 Points)

Coupe2013 action cadeaux.png

Il faut pousser les cadeaux pour les faire basculer. (4 points pour chacun des 4 cadeaux)

Action 2 : Souffler les bougies (32+20 Points)

Coupe2013 action bougies.png

  • 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 chacune des 8 bougies).
  • Les 4 blanches sont l'action de coopération (20 points pour chaque équipe).

Action 3 : La cerise sur le gâteau "Balistique" (56 Points)

Coupe2013 action cerises.png

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) 4 assiettes de 7 cerises.
  • Les rouges/bleue les mauvaises cerises (nombre de point pour cette action divisé par 2 si 1 mauvaise cerise rentre dans le gâteau).

Action 4 : Pyramide de verres (120 points)

Coupe2013 action verres.png

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 (12 verres)
  • Le nombre de points de chaque verre est multiplié par sa place en hauteur(1 verre au 3ème étage vaux 12 points)


Exemple de pyramide avec 10 verres (80 points)


o 1*4*4 16

oo 2*4*3 24

ooo 3*4*2 24

oooo 4*4 16


Points maximum avec 12 verres (120 points)


ooo 3*4*4 48

ooo 3*4*3 36

ooo 3*4*2 24

ooo 3*4 12


=>La il faut un super robot pour arriver à avoir tout les verres et assembler comme ça !

Action 5 : Funny action (12 Points)

Il faut gonfler un ballon sur le haut du robot après les 90 secondes en 10 secondes.(12 points)


Notre solution pour les actions

Action 1 : Les cadeaux (16 Points)

On partirait sur un système de piston ou de servomoteur simple.

Action 2 : Souffler les bougies (32+20 Points)

~Rien n'as été prévu pour cette action~

Action 3 : La cerise sur le gâteau "Balistique" (56 Points)

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 soulèverait et ferais basculer l'assiette pour envoyer les balles dans un convoyeur les remontant vers un bac de stockage.

Tir

On part sur un tir par solénoïde. Il nous faut encore faire des tests pour voir si on peut contrôler efficacement la puissance du tir

air comprimé, ressorts, élastiques, plusieurs options ont été évoquée.

Idée : vidéo

Action 4 : Pyramide de verres (120 points)

A priori nous nous contenterions de tenter de déplacer les verres dans notre zone sans les empiler. Si on attrape la moitié on peux avoir 24 points

Action 5 : Funny action (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

Avancement

Motorisation

Roboclaw-2x5a.jpg

Contrôleur principal

www.raspberrypi.orgRaspi Colour R.png

  • Raspberry pi
    • Utilisation d'un usb/ftdi pour la com avec la roboclaw
    • Communication en i2c/spi avec un arduino pour commande servo/adc/io

Contrôleur IO

  • Plutôt sur un 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.
  • système de gonflage de ballon en standby, il faut avancer sur la base et le tir avant.
  • Base roulante a faire
    • Une base roulante simple pour développer le soft est en place
      • V1: moteurs,roboclaw,mini2440
      • V1rev2: -mini2440 + raspberryPi
      • V2 (en cours):+ batteries + dc-dc 5V/2A
      • V2rev2 (future): + arduino mega + télèmetre us + télèmetre IR

V1Cdr2k3 plateformeproto V1.jpg


V2Cdr2k3 plateformeproto V2 front.jpg Cdr2k3 plateformeproto V2.jpg

Alimentation

  • 2 batterie nimh 7,2V (3000-4000mAH) en série sur les moteurs + servos
    • 1 DC-DC 6V pour servos 3-5A
    • (optionnel)1 DC-DC 12V pour les moteurs de 12V (les 2 batteries chargé à bloc = 16V)
  • 1 batterie nimh 7.2V (2000-3000mAH) sur la logique
    • 1 DC-DC 5V 2-3A

Software

Voir Projets:Lab:2012:Couperobotique2013:Software

Obligation réglement

  • Support Balise Velcro crochet 80 x 80 mm 430 mm de hauteur
  • Deux espaces rectangulaires de 100 x 70 mm doivent être laissés libres sur 2 faces au choix du robot.
  • Cordon de démarrage
  • Arrêt d'urgence alimentation actionneurs (moteurs servos) 20 mm de diam depassement de 25mm (jusquà 375mm de hauteur en tout)


TODO LIST

  • Méca
    • Faire une version finale du système pour remonter les balles.
    • Faire une base pour tout fixer => moteur, canon, remonte de balle.
  • Elec
    • Carte charge condo et shoot canon
    • Carte interface raspberry/pi
  • Prog
    • Porter le code actuel vers la raspi (DONE)
    • Faire les réglages d'asserv (IN PROGRESS)
    • Coder la carte interface vers la raspi(DRAFT)

Carte interface avec raspi

Liste de ce qu'il faut contrôler:

  • Canon
    • 1 output pour le tir
    • 1 output pour la charge
    • 1 adc pour la tension de charge
    • 1 adc pour le capteur de couleur
    • 1 pwm pour le servomoteur
  • Télémètre sharp
    • Entre 4 et 6 adc


Solution quick'n dirty: Brancher un Arduino mega en I2c ou SPI sur la raspi et utiliser une proto/shield pour connecter les servos/capteur sur l'arduino

Solution expander

Projets:Lab:2011:Couperobotique2013:RaspiExpander

CDC Carte IHM

OPTIONNELLE

Pour le moment écran de nokia 5110 connecté sur la rasp.

Manque bouton pour retour utilisateur.


Logiciel de debug/visualisation

Un client qui se connecte à l'application embarqué sur le robot qui permet de:

  • V0
    • Afficher la position et l'angle du robot sur une carte vue de dessus
    • Une fenêtre de log
    • Afficher une liste de données (capteurs ...)
  • V1
    • Afficher les données télémétrique sur la carte
  • V2
    • Interface pour envoyer des commandes

Le serveur et le client devrons être modulable pour n'importe quel équipe puisse utiliser le logiciel.

Le langage de programmation devras permettre un support multi-plateforme (Windows, Linux ou Browser(Javascript,HTML)).

Et si possible un client Androïd par la suite.

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