WorldSkills2012 : Différence entre versions

De Wiki de Projets IMA
(Semaine 7)
(Semaine 7)
Ligne 89 : Ligne 89 :
  
 
Voici comment nous avons connecté les capteurs sur les entrées sorties du robot:
 
Voici comment nous avons connecté les capteurs sur les entrées sorties du robot:
[[Fichier:CablageCateurs.jpg|left|thumb|câblage des capteurs]]
+
[[Fichier:CablageCateurs.jpg|upright=3|center|thumb|câblage des capteurs]]
  
 +
[[Fichier:Odometre.jpg|upright=2|right|thumb|L'odomètre sous RobotinoView]]
 +
Nous avons également fait des essais d'asservissement en position du lève-palette.
  
Nous avons également fait des essais d'asservissement en position du lève-palette.
 
  
[[Fichier:Odometre.jpg|upright=3|center|thumb|l'odomètre sous RobotinoView]]
 
 
De plus, à cause des problèmes rencontrés avec la NorthStar nous avons décidé de ne pas l'utiliser et d'utiliser l'odomètre déjà présent sur le robot pour les déplacements et nous ne disposerons pas de la NorthStar pour la compétition.
 
De plus, à cause des problèmes rencontrés avec la NorthStar nous avons décidé de ne pas l'utiliser et d'utiliser l'odomètre déjà présent sur le robot pour les déplacements et nous ne disposerons pas de la NorthStar pour la compétition.
  
L'odomètre nous permet de connaitre le position du robot. En fait, le robot est doté de roues codeuses qui lui permettent à l'aide de l'odomètre toujours savoir où il est.
+
L'odomètre nous permet de connaitre le position du robot. En fait, le robot est doté de roues codeuses qui lui permettent à l'aide de l'odomètre toujours savoir où il est.
 +
 
 +
Cependant, pour l'utiliser il faut être très précis lors de son initialisation, surtout au niveau de l'angle, une petite erreur au départ entraîne de gros écart en bout de piste.
  
 
===Semaine 9===
 
===Semaine 9===

Version du 26 avril 2013 à 20:49

Présentation

Logo des WorldSkills 2013

Le but de ce projet est de se préparer pour les WorldSkills 2013 dans le métier de Robotique Mobile.

WorldSkills

WorldSkills une compétition qui à lieu à Leipzig en Allemagne du 2 au 7 Juillet 2013. Cette compétition est connue en France sous le nom d'Olympiades des Métiers, la final nationale de la 42ème édition ayant eu lieu du 22 au 24 Novembre 2012 à Clermont-Ferrand. Cette année, un millier de jeunes concurrants du monde entiers vont s'affronter dans plus de 50 métiers à Leipzig en Allemagne. Pour plus d'information voici les liens vers les pages de WorldSkills France et WorldSkills International.

Robotique Mobile

Le compétition dans le métier de robotique mobile consiste à l'utilisation d'un robot nommé Robotino et fabriqué par l'entreprise FESTO. Elle se déroule en plusieurs épreuves.

En effet, nous devons programmer le robot pour qu'il effectue un parcours précis, aller chercher des pièces en évitant les obstacles et les poser ailleurs avec des parcours différents pour chaque épreuve. Pour les Worldskills, il faut généralement pour l'une des épreuves réaliser une extension au robot qui permet de manipuler les pièces.

Objectif: WorldSkills 2013

La compétition se déroule en deux épreuves:

  • Lost in the black forest

Le principe de cette épreuve est d'aller chercher les enfants dans les arbres pour les emmener à l'école.

Les enfants seront représenter par des figurines de types Fisher Prices. Les arbres sont représentés par des plots de différentes hauteurs et l'école par une zone de couleur sur la piste. Les enfants seront mis sur une palette dans certains arbres. Il faudra aller chercher toutes les palettes et les emmener à l'école sans faire tomber les enfants qui sont dessus. L'école est également le point de départ du robot.

Voici le sujet complet de l'épreuve: Média:LostInTheBlackForest.pdf


  • Made in Germany

Le principe de cette épreuve est d'assembler un bonhomme.

Des pièces de différentes forme (main, pied, tête) seront disposées sur la piste, sur un présentoir. Il faudra aller chercher ces pièces et les assembler entre elles à un endroit précis sur la piste.

Voici le sujet complet de l'épreuve: Média:MadeInGermany.pdf

Préparation du projet

Matériel prêter par FESTO pour la compétition

  • Un Robotino
  • Une extension lève-palette
  • Un hub usb pour pouvoir connecter plusieurs périphériques usb sur le Robotino

Matériel à acheter ou fabriquer

  • Plots et palette pour Lost in the black forest (fabriqués avec des matériaux de récupération)
  • Pièces de l'épreuve Made in Germany (frabriquées avec des matériaux de récupération)
  • Extension au Robotino pour prendre les pièces de l'épreuves Made in Germany
  • 2 fois 2*4m de lino blanc pour réaliser les pistes des épreuves

Avancement du projet

Semaine 6

Séance 1: 04/02/2013

Durant cette séance nous avons identifier le matériel nécessaire et les réalisations à effectuer pour la réalisations du projet. Nous avons identifier les besoins suivants:

Lost in the black forest

  • Utilisation du lève-palette pour aller chercher les enfants.
  • Pour s'entraîner: fabrication des plots et lève-palette.

Made in Germany

  • Fabrication d'une extension pour manipuler les pièces et les assembler.
  • Fabrication des pièces pour tester la réalisation finale.


Séance 2: 07/02/2013

Durant cette séance, nous sommes allez voir les professeurs du département mécanique pour avoir des conseils sur les matériaux à utiliser pour réaliser les pièces manquantes et sur la manière de les faire.

Semaine 7

Séance 3: 11/02/2013

Lors de cette séance nous avons testé l’extension du Robotino NorthStar. Nous avons eu quelques problèmes d'initialisation et de précision. En effet, pour un déplacement de 3m, la NorthStar indique un déplacement de 1m.

A faire lors de la prochaine séance:

Rechercher sur internet plus informations sur la NorthStar. Il est indiqué dans la doc technique une précision de 5cm pour un déplacement de 1m.

Continuer la réflexion sur les solutions techniques pour réaliser l'extension.


Séance 4: 14/02/2013

Depuis la dernière séance, nous avons reçu du matériel venant de FESTO. Nous avons reçu un lève-palette et un hub usb pour le robotino. Nous avons donc passé la séance à monter et câbler ce matériel sur le robot.

Voici comment nous avons connecté les capteurs sur les entrées sorties du robot:

câblage des capteurs
L'odomètre sous RobotinoView

Nous avons également fait des essais d'asservissement en position du lève-palette.


De plus, à cause des problèmes rencontrés avec la NorthStar nous avons décidé de ne pas l'utiliser et d'utiliser l'odomètre déjà présent sur le robot pour les déplacements et nous ne disposerons pas de la NorthStar pour la compétition.

L'odomètre nous permet de connaitre le position du robot. En fait, le robot est doté de roues codeuses qui lui permettent à l'aide de l'odomètre toujours savoir où il est.

Cependant, pour l'utiliser il faut être très précis lors de son initialisation, surtout au niveau de l'angle, une petite erreur au départ entraîne de gros écart en bout de piste.

Semaine 9

Séance 5: 25/02/2013

Depuis la dernière séance l'asservissement du lève-palette en hauteur à été fait avec un correcteur PD.

Durant cette séance nous avons réfléchi aux solutions techniques pour réaliser le bras permettant de prendre les pièces. Pour prendre les pièces le bras doit avoir un mouvement verticale, pour se positionner à la hauteur de la pièce et un mouvement horizontale avec une pince pour la prendre par l'avant. Les autres mouvements pour se placer en face de la pièce seront fait par le Robotino.

Nous avons également pris rendez-vous avec un professeur de Mécanique M. Dienne pour le Mercredi 27/02 à 14h.


Séance 6: 27/02/2013

Nous avons vu M. Dienne pour discuter des solutions techniques pour la réalisation de l'extension. Nous pensons utiliser l'axe vertical du lève-palette pour faire le mouvement verticale nécessaire et adapter une pince dessus pour prendre les pièces par l'avant.

Cependant, en effectuant les mesures pour le cahier des charges, nous avons réaliser que la course de l'axe verticale est trop courte pour aller chercher certaines pièces. Il manque 5cm. Nous avons chercher d'autres solutions sans l'axe verticale. Nous avons pensez utiliser ressemblant à une grue avec un axe verticale beaucoup plus grand et prendre les pièces par le haut dans le sens de l'épaisseur (la taille la plus petite). En prenant les pièces par le haut il est nécessaire d'avoir un axe beaucoup plus grand que prévu car nous ne pourrons pas empiler les pièces pour les déplacer. Nous sommes donc à la recherche de pince déjà faite.


Séance 7: 28/02/2013

Nous avons chercher des systèmes de pince pouvant prendre des pièces de 15 à 150 mm.

De plus, n'ayant pas trouver de solutions à moindre coût pour réaliser les pièces de Made in Germany nous avons commencez a réaliser ces pièces en cartons en dehors des séances de projet.

Semaine 10

Séance 8: 04/03/2013

Nous avons à nouveau rencontré le professeur de mécanique afin de réfléchir à une solution sans l'axe verticale disponible sur le robot. Finalement le système de pince restera celui prévu avec un système de vis à bille. L'axe verticale sera également réalisé avec un système de vis à bille.


Séance 9: 06/03/2013

Durant cette séance, nous avons mesuré et fait le schéma de l'espace disponible sur le robot pour placer l'extension, cette partie est nécessaire à la réalisation mécanique.


Nous avons également essayer d'asservir le lève palette à l'aide de la caméra. En effet, pour l'épreuve Lost in the black forest les palettes seront disposées à des hauteurs différentes, il faut donc pouvoir s'adapter à la hauteur. La palette étant de couleur rouge ou bleu et les supports de couleur noir, il est possible de détecter les palettes à l'aide de la caméra. En mettant la caméra sur le lève-palette, la distance entre la caméra et la palette est identique quelque soit la hauteur lorsque le lève-palette est prêt à prendre la palette.


Séance 10: 07/03/2013

Nous avons effectué une recherche bibliographique des systèmes de vis à bille durant cette séance, pour la réalisation de la partie mécanique.

Nous avons realisé une piste d'entrainement pour le premier parcourt

Semaine 11

Séance 11: 11/03/2013

Nous avons réalisé la piste pour l'épreuve Lost in the Black Forest durant cette séance. Chaque petit carré de scotch noir est en réalité un plot. Nous en disposons seulement de 5 pour le moment un par taille possible. Les lignes noir devant les plots sont là pour guider le robot à bien se positionner devant (elle seront également là le jour de la compétition).


Séance 12: 13/03/2013

Capteurs de distance présent sur le Robotino

Dans le cadre de la préparation à la compétition, nous devions participer à la finale national des Pays-Bas durant cette semaine. Les Master Skills de Rotterdam se déroulant du 15 au 17 Mars 2013. Cependant, à cause de la tempête de neige qui a sévit sur le nord de l'europe, nous n'avons pas pu partir. Cela ne remet pas en cause notre participation aux Worldskills.


Durant cette séance nous avons travaillé sur l'initialisation du Robotino. En effet, pour diriger le robot dans l'espace nous dispons d'un Odomètre. Cependant, la position du robot à l'initialisation doit être précise et surtout toujours la même. Pour faire cette initialisation, nous avons choisi d'utiliser les capteurs afin de se positionner dans un angle de la piste.

Nous avons donc choisi d'utiliser les capteurs 5 et 6 afin de se positionner perpandiculèrement au mur arrière et le capteur 3 pour se mettre à une distance connu du mur gauche. En effet, lorsque la valeur des deux capteurs 5 et 6 est identique le robot est bien perpandiculaire au mur. De plus, nous avons utilisé un correcteur PI afin d'être plus précis.

Semaine 12

Séance 13: 18/03/2013

Nous avons travaillé sur le correcteur PI que nous avions réaliser la semaine précedentes. De plus, nous avons remarqué qu'il est possible de créer nos propre blocs en C++ pour RobotinoView. Nous pourrions ainsi faire un correcteur plus simplement.


Séance 14: 20/03/2013

Nous avons travaillé à la réalisation de blocs de fonction pour RobotinoView. Nous avons rencontrer beaucoup de difficultés à installer les API OpenRobotino sur Windows et les compiler. Après un problème sur la session windows d'un ordi personnel, nous avons également essayé sur Linux. Cela s'est averré sans succès.

De plus, nous avons réfléchi au moyen de parcours toute la piste pour récupérer les palettes, sachant qu'il y a seulement 9 palettes sr les 48 plots de la piste et que la position de ces palettes peut varier. Pour cela, nous avons choisi d'établir un parcours que fera le robot pour passer devant tous les plots un par un. L'objectif étant que lorsque le robot repère une palette, il l'a prenne et l'emmène dans la zone de départ puis retourne au parcours des plots sans passer par ceux qu'il a déjà vu. Ainsi le robot passera une seul fois devant chaque plot. Un deuxième parcours de la piste en fin d'épreuve pourra être prévu si toutes les palettes non pas été trouvée.


Séance 15: 21/03/2013

Nous avons continué à travailler sur les blocs de fonction.

Semaine 13

Durant cette semaine, l'organisation française des Olympiades des métiers organise une semaine de préparation physique et mentale à l'INSEP de Vincennes. Elle se déroule du 25 au 29 Mars 2013.

Semaine 14

Séance 16: 03/04/2013

Nous continuons nos recherche sur la création de bloc pour RobotinoView. Il semblerait que nous devrions disposer avec l'API RobotinoView d'un logiciel permettant de créer des blocs appelé Function Block Manager , mais nous ne l'avons pas. L'API dont nous disposons serait-elle incomplète?

En plus des recherches sur les blocs de fonctions nous travaillons l'algorithme à mettre en place pour réaliser l'épreuve Lost In The Black Forest. Pour cela, nous décidé qu'il serait mieux que le robot parcours toute la piste et en observant les plots. De plus, en passant devant les plots il faudra repérer les palettes et les prendre et les emmener dans le zone de départ.

A faire lors des prochaines séances:

Définir et mettre en place les solutions techniques pour réaliser cet algorithme.


Séance 17: 04/04/2013

Nous travaillons a vérifier les méthodes d'asservissement utilisé avec les corresteurs P, PI, PD et PID. Certains ne fonctionnent pas correctement.

Semaine 15

Séance 18: 08/04/2013

En plus, de ne pas avoir l'application Function Block Manager , il nous manque des librairies pour pouvoir compiler correctement les fichiers de test fourni.

Les tests des fonctions utilisées pour asservir le robot ont montré que la manière dont est calculé l'intégrale est fausse. Il a fallut durant cette séance trouver une autre méthode de calcul d'une intégrale de façon discrète.

A faire lors des prochaines séances:

Trouver la version complète de l'API RobotinoView


Séance 19: 10/04/2013

Après plusieurs semaines de recherche sur la possibilité de créer des blocs pour le logiciel RobotinoView, nous avons enfin trouver la version complète de l'API RobotinoView nécessaire. Ce n'est pas celle proposé sur le RobotinoWiki. Le lien correct est ici.

Nous avons mis en place la nouvelle méthode de calcul d'intégrale pour le correcteur PI, tout n'est pas optimale. Il faut encore cahnger quelques paramètre au niveau du dérivateur.


Séance 20: 11/04/2013

Nous avons continué les tests d'asservissement du robot. Il semble fonctionner. Cependant, la création d'un bloc fesant le fonction de régulateur nous permettrait d'avoir un calcul d'intégrale plus précis.

Semaine 17

Nous avons profité de cette deuxième semaine de vacances pour travailler sur le projet.

Nous avons:

  • réalisé une partie du parcours pour l'épreuve Lost In The Black Forest
    • passage devant chaque plot
    • détection des palettes
    • récupération et acheminement de la palette dans la zone de départ
    • retour au passage devant les plots restant pour détecter les autres palettes
  • filmé les séquences nécessaire au montage de la vidéo.
  • travaillé sur le rapport et la présentation oral du projet.

De plus, nous avons appris que lors de la compétition certes nous disposerons de nos ordinateurs personnels pour éviter les problèmes de langue et de clavier mais devrons les formater juste avant la compétition et avoir dessus seulement RobotinoView. Il sera donc imposible d'utiliser des blocs de fonctions écrit par nous même en C++.

La préparation de l'épreuve Made In Germany n'avance pas beaucoup. En effet, nous travaillons en collaboration avec les professeurs du département mécanique et depuis un mois nous ne sommes jamais disponible en même temps.

Semaine 18

Durant cette semaine, l'organisation française des Olympiades des métiers organise une deuxième semaine de préparation physique et mentale à l'INSEP de Vincennes. Elle se déroule du 29 Avril au 5 Mai 2013.

Semaine 19

Présentation oral du projet le 07/05/2013

Reste à faire

  • Finir les pièces de Made in Germany
  • Réaliser un blocs de fonction pour RobotinoView
  • Trouver la solution finale pour l'extension.
  • Réaliser la piste pour l'épreuve Made In Germany.
  • Programmer le robots pour faire les déplacements requis.
  • Réaliser l'extension
  • Tester l'extension

Problèmes rencontrés

  • La réalisation d'un prototype des pièces à déplacer, nous a posé problème. En effet, certaines sont trop grandes pour faite en impression 3D. Elles sont longues et cher à réaliser en aluminium. Nous avons finalement décidé de les faire en cartons.
  • La création de l'extension nous a également posé problème car nous pensions utiliser l'axe vertical du lève-palette mais ça course est trop petite. Il faut donc fabriquer aussi cette partie.
  • Trouver la bonne API RobotinoView complète permettant de créer nos propres blocs de fonctions sur RobotinoView nous a pris beaucoup de temps.
  • Le calcul d'intégrale que nous faisions sur RobotinoView n'était pas précis et engendrait des erreurs sur l'asservissement.

Rapport

A venir