La page recueil technique n'est pas chronologique. Elle décrit les différents aspects du projet (ex: partie méca, electronique...). C'est un recueil de connaissance qui doit donc contenir toutes les informations techniques concernant le projet (planning, calculs, dimensionnement, choix...). Cette page est notamment destinée aux élèves qui vont reprendre le projet l'année suivante, les informations doivent donc être faciles à trouver sur la page.
Pour l'algorithme de reconnaissance des choux-fleurs suffisamment mûrs pour être cueillis par Intelligence Artificielle, nous avons faits différents choix de technologies.
On a choisi une carte Raspberry PI ( référence : Raspberry Pi 3 Modèle B 1GB ) compatible avec la caméra Raspberry PI ( référence : Pi Camera Module V2-Bulk ) que nous as fournie l'école. Cette carte est petite et donc facilement intégrable sur le système réel tout en étant suffisamment puissante pour effectuer un traitement de l'information compatible avec les cadences de travail et nos exigences puisqu'elle permet d'utiliser une caméra, une carte microSD 64G et de faire du machine learning. Avec notre système, cela prend moins d'une demi-seconde pour décider si un chou est mûr à partir d'une photo. Elle permet aussi un affichage sur écran, qui sera utile pour les démonstrations.
Pi Camera Module V2-Bulk
Il fallait trouver un réseau suffisamment puissant pour notre problème, tout en restant léger pour les capacités de la raspberry PI. Des tests ont été réalisés avec les différents modèles :
Les trois premiers modèles ainsi que le dernier étaient pré-entraînés sur ImagesNet pour obtenir de meilleurs résultats. Le choix d'un pré-entraînement sur ImagesNet est très répandu, mais pour l’agriculture, la confirmation de cette idée vient d’un papier chinois : "High performance vegetable classification from images based on AlexNet deep learning model » (https://www.ijabe.org/index.php/ijabe/issue/view/70). Cependant, MobileNet mis de côté, les trois autres étaient bien trop lourds pour la raspberry PI. Notre modèle était lui bien plus léger, mais le manque de ressources pour l’entraîner d’abord sur ImagesNet nous a empêché d’obtenir des résultats suffisamment bons. Nous avons donc choisi le MobileNetV2 (Mark Sandler et al.)
Pour bâtir notre jeu de données, nous avons effectué deux visites : l’une aux fermes de Gally, la seconde dans des exploitations Bonduelle à l’ouest de Lille où nous avons récolté
La cinématique de la pince doit permettre de saisir le chou par le haut. La saisie se fait grâce à des pics d’environ 5 cm qui s’enfoncent dans les fleurettes des deux cotés du chou pour le maintenir solidement lors des deux étapes qui suivront : l'effeuillage et l'étrognage.
La cinématique retenue part d’un mouvement de rotation, venant directement du motoréducteur pour décrire en sortie un mouvement de translation de deux mâchoires. En position ouverte, n’importe quel chou peut être placé entre les bras de la pince. La pince a été dimensionnée pour qu’en position fermée un chou de taille standard (20 à 25 cm) soit saisi de la manière la plus solide possible (maximum d’enfoncement des pics dans les fleurettes).
La pince est composée de deux crémaillères (en bleu et jaune) montées autour d'un pignon commun (en vert), sur un bâti (en gris) tenant lieu de glissière. Ces deux crémaillères, sous l'action d'un motoréducteur à courant continu (non représenté ici), resserrent deux mâchoires (en bleu et rouge), qui viennent encercler le chou. A l'appui sur le chou, les mâchoires s'enfoncent, laissant paraître des clous qui se plantent dans le chou pour maintenir celui-ci en place.
Sous l'action inverse du moteur, l'appui sur les mâchoires va se relâcher, et des ressorts (en jaune) à l'intérieur des mâchoires viennent libérer les clous du chou, afin de le laisser tomber.
Pour détecter la fin de course de la pince, une solution retenue est de fixer une limite de couple pour le moteur de manière à ce que la pince s’arrête de serrer lorsque le chou est bloqué. De cette manière toutes les tailles de chou sont admissibles.
Pour effeuiller et étrogner le chou, nous avons choisi de le fraiser successivement . Ceci permet d'obtenir des fleurettes telles que le demande le marché. Les deux fraises ont été choisies pour permettre d'abord un effeuillage (enlever les feuilles) puis un étrognage (enlever le tronc) de notre chou-fleur. Les fraises ont été dimensionnées pour permettre de n'affecter que le tronc ou les feuilles selon le poste.
Au delà des postes de préhension et de fraisage du robot, il faut également concevoir un robot deux axes (déplacement horizontal et déplacement vertical dans notre cas) pour déplacer les choux d'un poste à l'autre. Ce robot deux axes est lié avec le bâti. C'est également sur le bâti que sont fixés les deux fraises. Le bâti que l'on construit dans un premier temps est celui qui nous permet de faire la démonstration de notre solution. Il ne correspond pas aux dimensions finales du robot mais il tient compte des contraintes réelles (hauteur du robot par rapport au sol, distance minimale entre les fraises, possibilité de mettre des bacs de récupération en dessus).
V-Slot Linear Rail – 20x20mm :
V-Slot Gantry Plate Kit
Arduino Mega2560
Etant donné que nous utilisons des moteurs pas à pas, il est nécessaire d’utiliser une carte de commande afin de pouvoir les piloter à partir de notre carte Arduino. En effet, les moteurs pas à pas ne sont pas directement pilotables depuis une carte Arduino Mega, d’autant plus que les puissances d’alimentation des moteurs et de la carte ne sont pas les mêmes. C’est donc l’alimentation des moteurs qui fixe la carte de commande. En l’occurence, le courant nominal de nos moteurs pas à pas est de 2.8 Ampères. C’est pourquoi nous nous sommes procurés deux cartes de commande TB6560 3A STEPPER MOTOR DRIVER BOARD, qui peuvent chacune piloter un moteur et fournir jusqu’à 3 Ampères.
Référence : Snap Action Switch D2F-L
On utilise un capteur fin de course pour arrêter le mouvent de la pince en bout d’axe, on en place donc un à chaque bout de branche du bâti sur l’axe horizontal et sur l’axe vertical. De plus, nous utilisons ces capteurs pour contrôler l’arrivée de l’axe de la pince aux postes de travail, on en place donc trois sur l’axe horizontal au niveau de la découpe et des deux fraisages successifs.
Référence : RM84 miniature relays
Nous avons choisi deux moteurs 4D60GN. Nous avons testé la résistance du chou face à la fraiseuse. Sur ce test, le premier moteur qui a réussi à usiner le chou avait une puissance de 60W. Nous avons ensuite pensé que nous avions besoin d’entre 100 et 400 tours minutes, d’où notre choix de 210 tours minutes. Ce moteur est à courant continu, nous n’avions en effet pas besoin d’un moteur pas à pas pour le fraisage.
Nous avons choisi deux moteurs Nema23. Nous avions besoin de 15 watts et d’un couple de 3 Nm. Il s’agit d’un moteur pas à pas, en effet, nous avions besoin de calculer les déplacements précisément le long des axes.
Nous avons choisi le moteur 775DC. Le moteur devait pouvoir compenser la raideur du ressort et la force qu’il faut pour enfoncer les clous dans le chou. Ainsi, les tests réalisés nous ont permis d’estimer que nous avions besoin de 40 Watts mais nous n’avions pas besoin d’un nombre de tours par minute élevé. Le choix du courant continu est justifié car nous avions besoin de mesurer quand la pince est fermée ; en effet, le couple devient très intense quand les deux extrémités de la pince se touchent.