2008 dossier technique

Upload: yassine123

Post on 09-Jul-2015

76 views

Category:

Documents


0 download

TRANSCRIPT

Robot Concept Ville D'Avray- Dossier projet -

QuestionnaireNom de l'quipe : RCVA N de pr-inscription : 150

1.Autorisez-vous la diffusion de ce projet, avant la comptition, des partenaires du concours? Oui. Lquipe 2.Y'a-t-il eu des changements dans la constitution de l'quipe ? (dparts, arrives) Oui, 3 membres ont abandonn le projet par manque de temps ou changement d'tablissement. Le planning 3.Mentionnez dans le tableau ci-dessous lavancement du projet ce jour. Avancement 10% 25% 50% 75% 90% 100% Conception Mcanique Ralisation Tests unitaires Conception lectronique Ralisation Tests unitaires Conception Informatique Intgration Tests finaux Ralisation Tests unitaires X X X X ??? Mi-avril X X X X X X X Fin mars Date prvisionnelle defin de tache Commentaire

4.Date laquelle votre robot se dplacera (indiquez sil se dplace dj !) : Il se dplace dj. 5.Date laquelle le robot sera homologable (indiquez sil lest dj !) : Il l'est dj. 6.Avez-vous prvu de faire des matchs d'entranement avant la coupe (dmos, pr-coupes, coupes trangres) ? Non Le Budget 7.Budget prvisionnel du projet (hors dplacements): 5 000 8.Budget prvisionnel pour le voyage la Fert : 1 000 9.Partenaires (prciser sils vous aident avec du financement, matriel, composants,) : Socit Gnrale, CSE parisX , mairie de Ville dAvray, IUT Ville dAvray pour le financement et

Equipe: RCVA N150 Page N1

Robot Concept Ville D'Avray- Dossier projet Baumer pour le matriel. 10.Matriel disposition, fourni par la structure ou personnel: L'IUT nous fournit une salle avec du matriel (oscilloscope, gnrateur, terrain de jeux ...).

Descriptif du projetI - DESCRIPTION GENERALE (*) Vue d'ensemble : dcrivez en quelques lignes ce que va faire votre robot au cours d'un match et comment il va le faire. Notre robot va ramasser les 1ere balles fixes sur le terrain et les dposer dans le conteneur standard. Aprs il utilisera les distributeurs verticaux afin de raliser des molcules et dposer ou tirer les balles dans les conteneurs selon l'ordre de ramassage dans le barillet. Enfin quand les tubes seront vides il cherchera les balles sur le terrain, grce au laser. (*) Schma simplifi de votre robot. (noubliez pas de prciser les dimensions de celui-ci (dploy et non dploy))

Non dploy

Dploy

(*) Explicitez les diffrentes stratgies que vous avez prvues pour le marquage des points. - Algorithme de prise de dcision de la meilleure dpose des balles a raliser afin de cre des molcules dans le conteneur standard. - Tir de balles dans le conteneur rfrigr si excde de balle de couleur dans le barillet ou pour assurer des points. - Possibilit de pousser les balles du conteneur standard dans notre camp grce au bras mcanique.(Nous tudions la possibilit de sortir les balles de couleurs adverses du conteneur). (*) Y'a t-il eu des changements majeurs par rapport ce qui tait prvu dans votre avant-projet ? Si oui, pourquoi ? Non, uniquement quelques petites amliorations mcaniques afin de fiabiliser les diffrents systmes.

Equipe: RCVA N150 Page N2

Robot Concept Ville D'Avray- Dossier projet II - DESCRIPTION TECHNIQUE (*)Dplacement du robot : moteurs (type, puissance et vitesse prvue du robot), mthode d'asservissement pour le dplacement. - 2 moteurs continus de 20w / vitesse moyenne prvue du robot 0,8m/s. - Asservissement de position polaire. -Asservissement du robot sur roues folles. (*)Sources d'nergie : type, autonomie et temps de recharge escompt. Cette anne nous utilisons 2 jeux de batteries LI-PO : - 11,1V 5300mAh (temps de charge: 1h30) pour les turbines. - 2 * 14,8V 4300mAh (temps de charge: 1h20) pour le robot. Nous disposons d'un jeu de batterie de secours. (*)Gestion des balles : localisation de celles-ci, systme de prhension, de dpose des balles dans les conteneurs standard et rfrigrs. - Pour vider les distributeurs verticaux, nous utilisons 2 bras qui attrapent la balle et la sortent du distributeur . Une turbine vient aspirer la balle dans le barillet. - Pour dclencher le distributeur horizontal, nous utilisons 2 autres bras (1 pour chaque ct) qui viennent dclencher l'actionneur. - Pour dposer, nous utilisons une trappe de dpose sur le ct du barillet (cette trappe permet galement d'jecter les balles adverses). (*)Description du stockage des balles : combien en stockez-vous et comment sont-elles stockes ? Nous stockons 5 balles dans un barillet. (limite physique 5 balles) (*)Description du systme dvitement du robot adverse. Nous localisons l'adversaire distance grce une tourelle et proximit grce des capteurs US: - 2 capteurs l'arrir. - 3 capteurs a l'avant du robot. Un algorithme d'vitement permet d'viter puis de contourner le robot adverse. Si par erreur le robot adverse n'est pas dtect pas les US, une dtection de blocage du robot est galement prvue. (*)Capteurs : type de capteurs, prcision escompte, frquence laquelle ils fourniront leurs informations, ventuels algorithmes utiliss pour le traitement des informations des capteurs. Tous nos capteurs sont de types TOR (mis a par le laser) : - 5 Capteurs US : Baumer (UNDK 20P6703/S35A PNP) porte:1 10cm ;frquence sonique 240 kHz. - 11 Capteurs distance IR : Baumer (FHDK 10P5101 PNP) porte :2,5m configuration Teach-in. - 1 Capteur couleur : Baumer (FKDM 22P1901/S14F PNP) 4 canaux programmables, 5 plages de tolrances, porte de dtection 40mm. - 1 Capteur barrire IR : Baumer (FEDK 07P6901 PNP). - 2 Capteurs reflex : Baumer (FHCK 07P6901) limination de l'arrire-plan, porte ajustable 10

Equipe: RCVA N150 Page N3

Robot Concept Ville D'Avray- Dossier projet 60mm. (*)Utilisation dun laser ; prciser sa classe et ses caractristiques. Comment lutilisez-vous ? Comment mettez-vous en application les contraintes relatives la scurit dtailles dans le rglement ? Nous utilisons un laser BANNER LT3NU de classe 2 et de puissance 0,5mW. Il nous permet d'effectuer des recalages sur les bordures et de reprer les balles sur le terrain. Le spot laser sera en permanence 3 cm du plancher de la table. (Il ne sort pas du terrain). De plus, le laser peut tre teint lorsqu'il n'est pas utilis. Voir Datasheet du laser BANNER LT3NU (*) Positionnement du robot sur le terrain : comment votre robot saura-t-il o il se trouve sur le terrain ? Sil utilise les balises, de quel type sont-elles et quel est leur protocole d'change ? Comment saura-t-il o trouver ses objectifs ? Le robot se repre grce a des roues codeuses. Le robot connat les coordonnes des objectifs (distributeurs, conteneurs ...) avec prcision, par consquent il n'utilise pas de balise. (*)Intelligence de votre robot : systme de contrle utilis (automate programmable, microcontrleur, carte mre PC...), langage de programmation. Dcrivez succinctement les algorithmes que vous comptez implmenter. Nous utilisons une carte mre avec 3 micro contrleurs et 2 CPLD organise de la manire suivante :

Nous programmons en langage C et en VHDL. Nous utilisons galement une carte de puissance qui se charge d'alimenter la carte mre, les capteurs, les moteurs et les servos. --> Ci-joint les algorithmes de gestion du barillet, de la trompe et des servos. (Auteurs : Tej casmi, Nicolas Bergont, Olivier Tourde, Jean-Ronan Bourdonnay)

Equipe: RCVA N150 Page N4

Robot Concept Ville D'Avray- Dossier projet Quelques photos du robot :

Robot dploy Face avant du robot

Robot dmont

Face arrire du robot

Equipe: RCVA N150 Page N5

RCVA

LA GESTION DE LA TROMPE

KASMI Tej-Eddine

SOMMAIREI Gestion de la trompe II Pillage de la goulotte

I Gestion de la trompe- Asservissement - Fonctions suprieurs

Asservissement de la trompecalcul_position_trompe

Si !BO Tempo.c

asserv_position_trompe

Trompe.commmande

commande_trompe Saisie_trompe

Asservissement de la trompeTempo.c Programme dinterruption qui sexcute toutes les 5 ms

Saisie_trompe Met jour ltat de la position de la trompe et de delta

asserv_position_trompe Si on veut asservir la trompe, on entre de cette fonction

Asservissement de la trompecalcul_position_trompe

asserv_position_trompeTempo.c

Trompe.commmande

commande_trompe Saisie_trompe

Asservissement de la trompecalcul_position_trompe

Trompe.seuil Trompe.consigne Trompe.commande Correction PD crtage de la commande

Gp x cart + Gd x Trompe.delta TROMPE Trompe.position

Asservissement de la trompecommande_trompe

Rappel :Signe LM 18200 PWM MCC

Algorithme :Trompe.commande

Signe_trompe Fabrication Du Signe

CCAP3H Fabrication Du PWM

Fonctions suprieursRotation Trompe

Commande lasservissement

Algorithme :ANGLE Trompe.consigne Trompe.seuil VITESSE MAX FIN Trompe.consigne = Trompe.position Retour diagnostic Calcul De Lcart

Si oscillations Break; Si blocage Break; While(1)

calcul_consigne_trompeHauteur calcul_consigne_trompeRobot.y Fonction linaire de type ax + b Trompe Hauteur souhait vraie consigne Balle

Trompe.consigne (Angle en codeur )

init_mecanique_trompeBoucle ouvert Robot Trompe Trompe.commande = Petite valeur

Commande.trompe();

Tempo

Asservissement

II Pillage de la goulotte- vavers_trompe_sortie_jusque_fin_balle_adverse - poussee_balles_adverses - cherche_puis_ejecte_balles_adverses

Squence pillageAu dpart le robot est positionn le long de la goulotte dans notre camp Vavers trompe sortie jusque fin balles adverses

Poussee balles adverses

Cherche puis ejecte balles adverses

Retour diagnostic FIN

vavers_trompe_sortie_jusque_fin_balle_adverseAu dpart, on est dans notre camp contre la bordure, on avance vers le camp adverse

While(1) Vitesse Calcul Du sens et de Lorientation Suivre pente Goulotte Vrifier quil y a Toujours des balles sinon Break; Si fin de la table Break; FIN Sauvegarde De y

Notre couleur

Calcul Du sens et de Lorientation

AV

AV

Pour que la trompe soit sur la goulotte :Si on est bleu - sens = AR - orientation = 0 Sinon - sens = AV - orientation = 180

180

0

0

180

Vrifier quil y a Toujours des balles sinon Break; Couleur 1 (Rouge) Distance 2

Pas de balle pendant 9 cm

AR

AVDistance 1 Couleur 1 (Bleu)

Prsence balle dans la trompe

poussee_balles_adversesAu dpart on est contre la bordure dans le camp adverse derrire la dernire balle

Mme principe que vavers jusque fin de balle adverse sauf inversion du sens

Calcul de la distance parcourir :Robot.y

150 cm

Distance a parcourir = robot.y - 150

cherche_puis_ejecte_balles_adverses

Cherche balles adverse Prise balle adverse Ejection par rotation While(1)

cherche_balle_adverseAvant dappeler cette fonction, on a pouss les balle de ladversaire dans notre camp Si on est bleu On se dplace vers l avant On utilise donc les capteurs avant Sinon On se dplace vers l arrire On utilise donc les capteurs arrire Si on a vu une balle adverse N fois - Freinage - Retour = 0;

On place la trompe au dessus du tas

Si on est plus au dessus du tas adverse - Freinage - Retour = 0;

prise_balle_adverseAvant dappeler cette fonction, il faut que la trompe soit au dessus dune balle adverse et la turbine trompe est lance

While(1)

On place la trompe au dessus de la balle adverse

Si la balle est dans la trompe - break; Si la tempo sest coul - break;

FIN

ejection_par_rotation

Cette fonction est appeler aprs la fonction prcdente (la balle adverse est dans la trompe)

Elle reprend la fonction rotation gnrique La diffrence est que lon donne en mme temps un consigne a la trompe et la turbine trompe

Conclusion

Algorithme de gestion du barilletFonctions de dpose des balles dans la rigole Depose.c Tri_couleur.c Fonctions de recherche des balles dans le barillet

Fonctions de positionnement des cases du barillet + initialisation

Barillet.c Asservissement de 5 ms

Plan Fonctions de calcul de position du barillet + commande du barillet Asserv_barillet.c Tempo.c

Moteur + barillet

Quitter

Asservissement du barilletcalcul_position_barillet : ecart = BARILLET.consigne -BARILLET.position commande = ecart commande = commande - GAIN_DERIVE_BARILLET*BARILLET.delta // terme driv BARILLET.commande = ecret_commande_barillet(commande,BARILLET.seuil) Barillet.c

commande_barillet : Si (BARILLET.commande >=0) alors {signe_barillet=0; com_barillet=BARILLET.commande } sinon { signe_barillet=1; com_barillet=(-BARILLET.commande) } Envoyer la commande com_barillet en PWM

ecret_commande_barillet(commande en entier,seuil en entier) : Si (commande>seuil) alors return seuil Si (commande