Projets:Lab:2013:Couperobotique2014
About
Après la première participation (mouvementée) de l'Electrolab à la coupe de France de robotique l'équipe 2013 a décidé de remettre le couvert en 2014.
Page de Planète Sciences dédié à la coupe de Robotique
Dates organisation
- 28 Septembre 2013 : Présentation du règlement 14H-17H à la cité des sciences et de l'industrie
- TBD (Novembre) : Date limite d'inscription
- TBD (Janvier) : Dossier technique
- TBD (Avril) : Rendre le poster
- 28 au 31 Mai 2014 : mai 2013 : Le concours à la La Ferté-Bernard
L’équipe
- Pilou [usinage, suivi de projet, administratif]
- Stéphane(Raoul) [asserv, meca, elec, dev]
- 3dsman [design/previz, elec, dev]
Nos objectifs
1)Mettre en place une base de robot avec asservissement. (encore plus que l'année dernière :p)
2)Réfléchir une architecture limitant le câblage (qui a posé de gros problème en 2013)
3)Définir une architecture modulaire pour faciliter le développement parallèle des éléments du robot, leur maintenance et permettre des upgrades localisées.
4)Communiquer plus efficacement vers l’extérieur (notamment sur la ML du lab et sur le wiki)
5)S’amuser et apprendre
Le règlement
Thème : Prehistobot
le terrain fait comme l'année dernière 2mx3m, les zones de départ sont placé dans deux coins et les couleurs des équipes seront le jaune et le rouge.
Et voici le fichier blender:
Attention ce modèle est une version temporaire basée sur le pré-règlement distribué lors de la rentrée de la robotique. Des éléments de jeu peuvent changer.
Contraintes
- La contrainte de dimension a été revue a la hausse cette année. on a maintenant droit a 120cm de circonférence non déployé et 150cm déployé.
Les actions
La fresque
Le robot doit accrocher des dessins embarqués au démarrage sur une surface verticale placée entre les 2 mammouths et recouverte de bandes de scratch
Les dessins seront fournis par les équipes et doivent mesurer entre 8x10cm et 10x16cm et 1cm d’épaisseur max
3 pts par dessin accroché en fin de partie
6 pts max
La conquête du feu
Des feux, matérialisés par des triangles avec une face rouge et l'autre jaune, sont disposés sur le terrain.
Il y en a 6 posé directement sur le sol, 4 posés verticalement sur les bords du terrain dans des "torches" fixes et 6 dans deux torches mobiles soit 16 en tout.
Ces feux doivent être posés sur des "foyers" disposés dans 2 coins du terrain et un au centre. La couleur de la face visible de chaque feu permet de compter les points en fin de partie.
1 pts par feu posé sur le sol dans le bon sens
2 pts par feu posé sur un foyer dans le bon sens
32 pts max
La cueillette
Il y a 4 arbres sur les cotés du terrain avec, suspendus au bout de ficelles, chacun 5 fruits comestibles (en violet) et un toxique (en noir).
l'objectif est de récupérer ces fruits (des bouchons de liège) et les déposer dans le panier de récolte de son équipe (situés sous les mammouths).
1 pts par fruit comestible posé dans le panier
-2 pts par fruit toxique resté dans le panier en fin de partie
20 pts max
La chasse
Deux mammouths sont placés sur les bord du terrain.
Il nous faudra tirer des balles de ping-pong préchargées dans les robots sur des zones de scratch placé au centre des mammouths.
Chaque robot peut embarquer jusqu’à 6 balles.
2 pts par balle accrochée en fin de partie
3 pts pour les deux equipes pour chaque mammouth touché par les 2 couleurs (action de cooperation)
12+6 pts max
La funny action
Il faut dans les 5 secondes qui suivent le match lancer un filet (fournis par les equipes) pour attraper un des deux mammouth.
Si le filet reste accroché au mammouth la funny action est considérée comme valide
6 pts si le filet est bien placé sur un des deux mammouth
Avancement
Motorisation
On a trouvé quelques petits moteurs que nous avons pu tester. Ils ronronnent niquel, n'ont pas de jeu perceptible et après simulation de leur comportement par Stéphane devraient nous donner toute satisfaction en permettant des accélérations théorique de 1m/ss (en restant dans des voltages/ampérages pépère pour les moteurs) pour un robot de 7kg avec des vitesses de 2m/s en pointe.
Cela devrais nous faire faire un sacré gap par rapport a l'année dernière et nous permettre de faire un asservissement digne de ce nom (enfin en tout cas cette année on a plus d'excuses de ce coté la :))
Contrôleur principal
- Carte frdmkl25z de chez freescale
- 48 MHz, 128 KB flash, 16 KB SRAM, USB OTG (FS), 80LQFP
Capteurs
Dans le but de limiter les fils et de se conformer à la recherche de modularité définie dans nos objectifs, nous travaillons actuellement à l'utilisation d'un bus rs485 pour la communication capteurs/contrôleur principal.
Après quelques tests sur des versions dip des circuits nous avons pu confirmer notre architecture de bus pour cette année et nous nous lançons donc en phase de conception des cartes sur cette base:
- chaque capteur embarquera un microcontrôleur Atmega pour faire des prétraitements en local et gérer la communication sur le bus. Un avantage important ce cette solution sera de faciliter l’amélioration des capteurs par l'ajout de fonctions logicielles dans les firmwares des microcontrôleurs sans avoir à toucher au matériel.
- Nous utiliserons le circuit SN65HVD3082EDR comme driver de bus.
- Le bus est composé de 4 fils (gnd, +5v logique et 2 fils de plus pour le différentiel du rs485)
- Les deux circuits seront utilisés en version tqfp pour réduire la taille des capteurs
- Les capteurs/actionneurs ayant besoin de plus de puissance (moteur, servos, solénoïdes,...) seront alimentés par un câble de puissance supplémentaire fournissant +5V, +12V et GND
Le choix des Atmega a été motivé par la taille et la multiplicité des configuration de cette famille qui nous permettra d'avoir des capteurs très différents dans leurs fonctionnalités et leur taille tout en conservant des librairies communes (notamment celles de communication sur le bus).
nous nous dirigeons tout particulièrement sur la série atmega48/88/168 (le brochage des 3 est le même) pour sa facilité de programmation (on peut les programmer avec un arduino en 5mn), sa taille réduite (32 broches en tqfp), son faible cout et le nombre de librairies développées sur ces modèles
Certaines pattes des Atmega sont réservées pour des fonctions génériques installées sur toutes les cartes capteur (programmation in-circuit, 2 leds d'information et les pins indispensables à la communication rs485)
Projets:Lab:2013:Couperobotique2014:Carte Generique
Projets:Lab:2013:Couperobotique2014:Carte Servos
Projets:Lab:2013:Couperobotique2014:Carte Capteurs Ultrason
Projets:Lab:2013:Couperobotique2014:Carte Capteur Couleur
Projets:Lab:2013:Couperobotique2014:Carte Alimentation Basse Puissance
Asservissement
encodeurs
Cette année, contrairement a l'année passée nous nous dirigeons vers des codeurs sur des roues indépendantes situées dans l'axe des roues moteur.
Raoul nous a trouvé des petits encodeurs capacitifs a un prix très intéressant les AMT102-V de chez cui inc.
Après de petits test rapides ils nous semblent être plutôt adapté a notre utilisation, nous referons des tests plus complets et précis afin de confirmer mais ce premier essai est plutôt encourageant.
Avec 1024 cycle/tour ils atteignent une précision qui devrais nous permettre d'avoir une finesse de mesure théorique de l'ordre du 10eme de mm.
contrôle moteur
Nous partons sur une carte commune pour les 2 capteurs, basé sur le modèle de notre carte capteur générique, qui gèrerait directement un asservissement en vitesse des deux moteurs.
Elle communiquerais avec le bus général pour renvoyer des informations de vitesse/position et recevoir ses consignes de vitesse.
La carte est gravée, elle est en cours de soudage (en attente d’approvisionnement en composants), il ne nous restera plus qu'a la tester... Étant donné que ce sera la première carte sortie elle nous servira aussi a faire des tests de communication sur notre bus rs485.
la présentation de cette carte sera mise a jour au fur et a mesure des avancées dans sa page dédiée: Projets:Lab:2013:Couperobotique2014:Carte_Asservissement
Mécanique
Nous avons bien avancé dans la construction d'un bloc moteur/encodeurs/roues qui nous permettra de tester les encodeurs en condition proche de la réalité et d'avoir de quoi se mettre sous la dent dès qu'on aura l’électronique de commande.
Après découverte des roues banebot nous avons décidé de partir dessus, il nous a fallu refaire le design du bloc ce qui a été l'occasion de le simplifier pour l'usinage (ou la fabrication pas impression 3d).
Le bloc moteur est donc au final constitué de 5 pieces en alu, 2 roues codeuses usinées en plastique, 4 pieces imprimées à la reprap et 4 roulements à bille.
Cette année nous nous concentrerons sur une base roulante réutilisable donc la priorité sera clairement donnée a la motorisation et à son contrôle.
Alimentation
Le robot de cette année devrais tourner sur 2 batteries nimh 9.6v mises en parallèle.
- Raoul est entrain de nous développer une carte d'alim maison (boost 12V,5A) pour les moteurs qui devrait être plus efficace que les dc/dc chinois de l'année dernière qui nous ont causé quelques désagréments...
DONE
- Méca
- design d'un bloc moteur/encodeurs/roues pour pouvoir tester les cartes de contrôle des qu'elles seront disponibles
- Draft fait sous Blender
- Draft refait sous Blender (modification pour utiliser les roues banebots)
- usinage du bloc moteur en alu (dufour,charlyrobot,perceuse à colonne)
- pieces prototype faites à la reprap
- design d'un bloc moteur/encodeurs/roues pour pouvoir tester les cartes de contrôle des qu'elles seront disponibles
- Elec
- Test des encodeurs
- Test de la communication sur bus rs485
- Design, routage et gravure des cartes
- Design et routage de la carte d'asserv
- Design, routage et gravure d'une carte de contrôle de servomoteurs
- Design d'une carte de capteurs ultrason
- Gravure de la carte d'alim moteurs de raoul
WIP
- Méca
- Design du mécanisme du bras ventouse Projets:Lab:2013:Couperobotique2014:bras ventouse [EN COURS par jojo & Julien]
- Elec
- Soudure des composants de la carte d'asserv[EN ATTENTE DES COMPOSANTS par Raoul & 3dsman]
- Soudure des composants de la carte d'alim moteurs[EN ATTENTE DES COMPOSANTS par Raoul & 3dsman]
- Dev
- Écriture d'un protocole de com pour le bus rs485[EN COURS par Raoul]
TODO LIST
- Méca
- Finition du bloc moteur
- Impression des pièces finales à la reprap
- Mise en place des roues sur la structure
- Ré-usinage des roues codeuses en alu?
- prototypage du bras ventouse
- Finition du bloc moteur
- Elec
- Gravure et soudure d'une carte servo pour tests
- Gravure et soudure d'une carte capteur ultrason pour tests
- Design de la carte d'alim 5/12V
- tests des cartes asserv et alim moteur
- Dev
- Écriture de la librs485 des atmega
- programmation des cartes capteurs
- programmation des fonctions de déplacement dans la carte asserv