# Prototype d'un véhicule autonome pilotable par un poisson rouge

Danielle Nuzillard, Aurélie Nuzillard

danielle.nuzillard@univ-reims.fr

Université de Reims Champagne-Ardenne, CReSTIC EA 3804, 51097 Reims, France

**RESUME** : Ce projet s'inspire de travaux publiés sur la cognition animale dans lesquels un véhicule autonome est piloté par un poisson rouge. La conception et la réalisation du véhicule requièrent des connaissances et compétences pluridisciplinaires en électronique, informatique et mécanique qui font partie du socle des acquis de futurs ingénieurs dans le domaine de l'Électronique Énergie Électrique et Automatique, EEEA. Le projet a été proposé à des étudiants de niveau bac+5, inscrits dans la branche Automatique et Informatique Industrielle, A2I de l'UTT opérée à l'URCA en convention avec l'UTT et en 2ᵉ année de Master EEEA, parcours Mécatronique de l'EiSINe, composante de l'URCA.

Les étudiants ont abordé la conception complète du robot : le dimensionnement, le choix des matériaux et des équipements, le traitement du flux de données, la commande des parties opératives en temps réel... L'avis des étudiants est que le projet leur a plu de par sa polyvalence et sa diversité. Il allie concrètement des parties mécanique, électronique et logicielle. Il prend en compte des aspects de sécurité des robots et s'inscrit dans le cadre plus général d'une application.

**Mots clés** : Véhicule omnidirectionnel, mécatronique, électronique embarquée, informatique industrielle, capteurs ultra-sons, vision, cognition, impression 3-D, motorisation, dispositif pédagogique, transfert de savoir-faire, retour d'expérience.

# 1 INTRODUCTION

## 1.1 Genèse du projet

Les travaux développés par Shachar Givon et al [1] relatifs à la cognition animale ont attiré notre attention. Ils sont fortement pluridisciplinaires, nécessitent des compétences au niveau de la connaissance du comportement animal et au niveau technique en robotique mobile et mécatronique.

Dans cette présente contribution, l'une des auteures est impliquée dans plusieurs projets éducatifs et à caractère cognitif autour de l'animal tandis que l'autre auteure est impliquée dans des thématiques relevant des domaines de l'EEEA.

Les éléments sont réunis pour proposer la conception, réalisation et mise en œuvre d'un système autonome piloté par un poisson rouge dans le cadre d'un projet transversal en ingénierie système s'adressant à des étudiants de niveau+5. Bien sûr, le poisson ne sera pas manipulé, deux vidéos : l'une synthétique, et la seconde enregistrée dans son habitat habituel ont été utilisées.

## 1.2 Description du projet

Le robot mobile est autonome et omnidirectionnel. L'objectif final est que le poisson guide son propre aquarium à travers le laboratoire et/ou les extérieurs. Il cherche une cible, tel qu'un lieu de nourrissage [1] dont il a appris à reconnaitre la signalétique. Cette étude comportementale des poissons rouges montre leur capacité d'apprentissage. Elle peut se transposer dans d'autres contextes pour d'autres animaux, bien sûr en respectant le bien-être animal [2].

Le dispositif développé comprend un système mécanique articulé doté d'un châssis et de roues omnidirectionnelles motorisées.

Il est équipé de capteurs : une caméra web pour l'enregistrement de la trajectoire du poisson et des capteurs à ultra-sons HC-SR04, 5 V 15 mA pour détecter d'éventuels obstacles et garantir la sécurité.

L'unité de contrôle est un micro-ordinateur embaqué qui traite le flux vidéo en temps réel ainsi que les signaux des capteurs ultra-sons pour en extraire les informations utiles et générer une commande sous la forme d'un jeu de coordonnées et la transmettre à un microcontrôleur via une liaison série bidirectionnelle.

Le microcontrôleur Arduino® Mega 2560, 5 V, 200 mA gère les informations à transmettre aux actionneurs et moteurs pour transmettre le mouvement aux roues.

## 1.3 Contraintes et Risques

Les contraintes sont de plusieurs ordres et liées entre elles. Les contraintes liées à la charge à déplacer dépendent du poids de l'aquarium, de l'eau et de l'ensemble des équipements embarqués. Elles ont des conséquences sur le dimensionnement de la structure, le choix des matériaux et l'alimentation en énergie. La structure doit être résistante, rigide, ne pas être sensible à l'humidité et la plus légère possible.

Les contraintes énergétiques imposent d'embarquer une source d'énergie suffisante délivrant une puissance suffisante.

La contrainte du coût qui impose de rester dans un budget raisonnable.

This is an Open Access article distributed under the terms of the Creative Commons Attribution License (https://creativecommons.org/licenses/by/4.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
Les Risques concernent le bien-être et la santé du poisson. Les vibrations sont amorties par un tapis de mousse. Les accélérations et décélérations sont gérées en douceur. Pour éviter le dépaysement du poisson, pour ce premier prototype des vidéos de ses déplacements sont enregistrées dans son habitat habituel.

Comme pour tout véhicule autonome, les collisions ont été prévenues en équipant le robot mobile de capteurs ultra-sons pour détecteur les obstacles et pouvoir gérer les évitements.

## 1.4 Aspects de gestion de projet

La planification et la structuration des diverses tâches du projet ont été pensées à l'aide d'une carte mentale. L'ordonnancement des diverses tâches et leur suivi ont été effectués au moyen d'un diagramme de Gantt. Concernant l'étude fonctionnelle, un diagramme « pieuvre » et un diagramme « bête à cornes » ont été réalisés.

# 2 CONCEPTION MATERIELLE

## 2.1 Conception du châssis et disposition des composants

Le châssis doit supporter l'aquarium avec son poids d'eau ainsi que tous les composants électroniques, caméra, capteurs, moteurs, contrôleurs, calculateurs et alimentation. Il doit être léger et résistant à l'humidité. Le contre-plaqué marin est exclu en raison du temps de travail de précision qu'il requiert et de son prix. Le PMMA, polyméthacrylate de méthyle, pratique car thermo-pliable, est exclu en raison du poids à supporter. Les profilés et cornières en aluminium alliant légèreté, rigidité, précision et modularité sont retenus.

Le châssis est conçu dans notre atelier et salles de Travaux Pratiques, il présente deux niveaux : l'électronique embarquée est rassemblée sur un premier niveau, tandis que le second est réservé à l'accueil de l'aquarium.

Les moteurs et leurs contrôleurs sont disposés de part et d'autre sur les bord du premier niveau du châssis au plus près des roues.

Un microcontrôleur placé plus au centre gère les signaux envoyés aux actionneurs.

Un mini-ordinateur de contrôle doté d'un mini-écran est embarqué pour assurer le traitement des données issues des capteurs et générée la commande. Il est placé sur le bord de la structure.

Le châssis est conçu et assemblé progressivement en alternance avec la pose et les tests des équipements électroniques, visible sur la figure 1.

<figure><img src="image_1.png" /><figcaption>fig 1 : Premier étage du châssis</figcaption></figure>

La liaison avec le sol est assurée au moyen de roues omnidirectionnelles indépendantes. Celles-ci sont composées d'un axe de rotation fixe reliant deux disques parallèles, ainsi que de petites roulettes orientées à 45 degrés et fixées entre les deux disques. Les roues sont imprimées sur place, puis assemblées : les axes des roulettes sont réalisés à l'aide de pointes métalliques coupées, puis ils sont collés à la colle chaude sur les deux disques externes.

L'aquarium est posé sur une plaque de mousse isolante de type Armaflex placée sur le second niveau.

Le dispositif d'enregistrement de la trajectoire du poisson comprend une caméra de type webcam fixée au-dessus de l'aquarium sur un arceau en bois, lui-même fixé de chaque côté du châssis.

Le dispositif anti-collision se compose de capteurs ultra-sons montés sur des servomoteurs et fixés directement sur le châssis à l'avant et à l'arrière.

## 2.2 Actionneurs

Le déplacement omnidirectionnel permet des mouvements d'avant, d'arrière, de rotation et latéraux pour une meilleure réactivité et efficacité. Quatre moteurs pas à pas indépendants sont coordonnés deux à deux pour assurer la trajectoire. La puissance requise est calculée comme suit.

Soient $R$, le rayon des roues omnidirectionnelles, $v$ la vitesse du robot et $a$ son accélération, $\omega$ la vitesse angulaire.

$$ \omega = \frac{v}{R} = \frac{0.2}{0.03} = 6.67 \text{ rad/s} = 6.67 \frac{60}{2\pi} = 63 \text{ tr/mn} $$

$$ \text{avec } R = 3 \text{ cm}, v = 20 \text{ cm.s}^{-1}\text{s}, a = 0.1 \text{ m.s}^{-2} $$

Soit $M$, la masse du robot comprenant : le châssis, les moteurs, les contrôleurs, l'électronique et l'aquarium avec l'eau, $M$ estimée au minimum à 15 kg.
Comme deux roues au moins fonctionnent simultanément, chaque moteur doit pouvoir fournir la moitié de la puissance.

En tenant compte du rendement des moteurs pas à pas, des défauts du sol, du fait que les roues sont imprimées et ne sont pas parfaites, et en prenant une bonne marge de sécurité pour pouvoir augmenter la charge, on retient un couple de 1 N.m.

Les moteurs choisis sont des moteurs pas à pas de type Nema 23, ils sont associés aux contrôleurs TB6600 4A 9-42 V. Chaque moteur pèse 1.8 kg et chaque contrôleur 200 g.

## 3 SYSTEME DE COMMANDE

Les moteurs et leurs contrôleurs sont fixés sur l'étage inférieur du châssis au plus près des roues omnidirectionnelles. Ils sont commandés par la carte électronique Arduino Mega 2560 qui communique par une liaison série bidirectionnelle avec l'ordinateur embarqué connecté à une prise USB.

Dix fonctions ont été développées pour déplacer le robot dans toutes les directions. Les moteurs sont en action soit tous les quatre simultanément, soit deux à deux, soit seuls en fonction de la direction. Voici quelques exemples de fonctionnement.

- En avant : tous les moteurs fonctionnent dans le sens horaire,

- En arrière : tous les moteurs tournent dans le sens anti-horaire,

- Vers la droite :

- le moteur avant droit tourne dans le sens anti-horaire,

- le moteur arrière droit tourne dans le sens horaire,

- le moteur avant gauche tourne dans le sens horaire

- le moteur arrière gauche tourne dans le sens anti-horaire.

- Vers la gauche :

- le moteur avant droit tourne dans le sens horaire,

- le moteur arrière droit tourne dans le sens anti-horaire,

- le moteur avant gauche tourne dans le sens anti-horaire

- le moteur arrière gauche tourne dans le sens horaire.

- Demi-tour droit

- Demi-tour gauche

- en Diagonale, les 4 directions des diagonales, deux directions par diagonale.

Les directions ont été testées en envoyant les commandes depuis le terminal d'un ordinateur. Puis une communication bidirectionnelle par liaison série a été établie entre le MPU qui traite le flux vidéo et le MCU qui contrôle les moteurs en temps réel.

# 4 CAPTEURS ET TRAITEMENTS ASSOCIES

## 4.1 Système de vision

Le poisson est éduqué pour piloter le robot mobile vers une source de nourriture. Une caméra web fixée au-dessus de l'aquarium à l'aide d'un arceau en bois lui-même fixé de chaque côté du bâti permet d'enregistrer ses déplacements dans l'aquarium. L'objectif final est de traiter le flux vidéo en temps réel par le micro-ordinateur embarqué sur le châssis.

Dans le cadre du projet pédagogique, les flux vidéos sont pré-enregistrés, ils sont importés et traités en langage Python par l'ordinateur ou le micro-ordinateur embarqué.

Le traitement consiste à calculer en permanence, donc en temps réel les coordonnées du centre de gravité du poisson ou de sa tête, puis à les transmettre à l'Arduino pour que ce dernier puisse commander les moteurs. Des fonctions de la librairie python openCV, des jeux de masques, et des informations de colorimétrie sont utilisés pour extraire les contours du poisson et en déduire ses coordonnées. Cette approche fournit de très bons résultats aussi bien sur une vidéo synthétique comme le montre les figures 2 et 3, que sur une vidéo réelle en l'absence d'artefact comme le montre la figure 4.

<figure><img src="image_2.png" /><figcaption>fig 2 : Vidéo synthétique</figcaption></figure>

<figure><img src="image_3.png" /><figcaption>fig 3 : Extraction de la forme du poisson</figcaption></figure>
<figure><img src="image_4.png" /><figcaption>fig 4 : Extraction de la forme du poisson</figcaption></figure>

Dans le cas d'une vidéo réelle, le signal est un peu bruité. Lorsque le poisson s'approche des parois vitrées, il est parfois confondu avec son reflet comme le montre la figure 5. Une approche a été effectuée avec un filtre de Kalman pour améliorer la précision et supprimer les reflets du poisson sur les vitres de l'aquarium. Le résultat est perfectible.

<figure><img src="image_5.png" /><figcaption>fig 5 : Poisson et son reflet dans la paroi de verre.</figcaption></figure>

## 4.2 Système anti-collision

Un système anticollision est envisagé au moyen de deux capteurs ultrasons HC-SR04. Ces capteurs ont une portée de 2 cm à 4 m, les impulsions de déclenchement étant espacées de 10 µs, D étant la distance entre l'obstacle et le robot, v étant la vitesse du son dans l'air, n étant le nombre d'impulsions entre l'émission et la réception,

$$D = \frac{1}{2} v \cdot n \cdot 10^{-6} = 170 \cdot 10^{-6} n = \frac{n}{0.00588} 10^{-6} \\ = \frac{n}{58} 10^{-2}$$

la distance robot-obstacle exprimée en centimètres se calcule par : $D = \frac{n}{58}$.

Les capteurs seront montés sur des servomoteurs pouvant pivoter de ±45 degrés. Afin d'éviter que l'onde sonore émise par l'un des dispositifs ne perturbe la réception d'un

autre, seulement deux capteurs seront utilisés simultanément, ils seront montés l'un à l'avant et l'autre à l'arrière du robot et pivoteront en fonction de la direction du robot. Si le mouvement est dirigé vers l'avant, seul le capteur avant fonctionnera et de façon analogue pour un mouvement arrière. L'idéal est d'implanter les capteurs dans l'axe d'une diagonale du robot pour gérer les mouvements latéraux. Cette partie est à développer.

La décélération est calculée de manière à arrêter le robot au plus près de l'obstacle, de l'ordre de 1 mm de distance. Comme la vitesse maximale est de 20 cm/s, et que la portée du capteur est de 4 m, la sécurité est assurée.

# 5 RETOURS

## 5.1 Retour d'expérience

Les tests ont été réalisés sur le prototype de robot de la figure 6 à toutes les étapes de la conception : au niveau de l'électronique, de la transmission des signaux du PC ou MCU par la liaison bidirectionnelle, de la génération des signaux de commande des contrôleurs de moteurs, du traitement des images du flux vidéo.

Les vidéos utilisées étaient soit synthétiques, soit des enregistrements réels de la trajectoire du poisson dans son milieu de vie habituel.

Les limitations observées ont permis d'esquisser quelques pistes d'améliorations.

L'adhérence des roues dépend de la nature du sol, elle est moins bonne sur un sol en linoléum et meilleure sur un sol caoutchouteux. Expérimentalement, les premiers déplacements du robot ont été testés sur la surface de linoléum des salles de TP. La marche avant et la marche arrière sont correctes, mais les déplacements latéraux et les mouvements de rotation sont plus difficiles. Ceci est dû au revêtement trop dur des roulettes des roues pour un sol en linoléum. Le déplacement a ensuite été testé sur un revêtement caoutchouteux qui n'était autre que l'envers du paillasson de l'entrée du bâtiment. Le comportement du robot correspondait aux attendus sur tous les mouvements.

Le diamètre des roues imprimées est de 6 cm. Pour la suite du projet, des roues d'un facteur d'homoétie de 2.6 ont été conçues et seront montées pour améliorer l'adhérence. Bien sûr, un revêtement plus souple conviendrait mieux. L'idéal serait d'utiliser des roues dont la surface présente une meilleure adhérence ou d'utiliser des roues commerciales.

La source d'énergie utilisée est une alimentation stabilitée de laboratoire délivrant 2 A sous 24 V. Elle peut être remplacée par une batterie au lithium. La charge pesante sera alors augmentée dans les proportions suivantes : 1 kWh de stockage d'énergie nécessite 13 g de Lithium, soit 600 g de carbonate de Lithium. Avec le conditionnement, les batteries Li-ion disponibles dans le commerce pèsent de l'ordre de 1,2 Kg.
<figure><img src="image_6.png" /><figcaption>fig 6 : Véhicule avec les deux étages</figcaption></figure>

Concernant le traitement de la vidéo du poisson dans son milieu habituel, dans la plupart des situations le reflet dans la vitre est filtré. Mais il arrive que celui-ci persiste, alors la trajectoire réelle du poisson est momentanément confondue avec celle de son reflet. Il arrive parfois que le nombre de pixels du reflet soit plus important que le nombre de pixels du poisson. Le traitement de la vidéo est améliorable pour supprimer complètement le reflet.

Le système anticollision est à poursuivre comme décrit dans le paragraphe 4.2. Les signaux des capteurs ultra-sons doivent être pris en compte dans les algorithmes de traitement. Actuellement il existe un arrêt d'urgence au clavier.

Le microcontrôleur reçoit la position du poisson grâce à une liaison série bidirectionnelle pour générer les signaux à envoyer aux contrôleurs de moteurs. Le calcul de ces signaux prend en compte la découpe virtuelle de la surface de l'aquarium en plusieurs sous-espaces. Le traitement peut être optimisé avec une découpe plus fine ou avec un traitement complètement revu.

## 5.2 Articulation du projet avec les autres matières

Les trois étudiants participant ont suivi un enseignement de gestion de projet et l'ont mis en œuvre, dans leur rapport.

Le châssis du robot aurait pu être conçu et dimensionné par CAO avec un logiciel de type Solid Woks. Les étudiants maitrisent de type de logiciel soit grâce à l'enseignement suivi, soit parce qu'ils s'y sont intéressé au cours de leurs études, mais ils l'ont réalisé directement. La découpe des profilés et cornières en aluminium a été supervisée par un ingénieur du département.

Concernant les roues, les étudiants ont récupéré des fichiers Excel et ont ajusté les dimensions avec un facteur d'homothétie. Ils ont été aidé par des personnels du département pour l'impression 3D. La première roue montée étant un succès, les autres roues ont été fabriquées.

Les enseignements de programmation embarquée sur microcontrôleur/microprocesseur sont certainement ceux qui ont servi le plus.

La vision par ordinateur n'est pas abordée dans le cursus des étudiants, par compte ils ont un enseignement de traitement du signal.

Globalement, il y a beaucoup d'apport et d'investissement personnel de leur part. Les enseignements suivis font partie de leur culture générale, leur permettent de construire, de réfléchir, d'être capables d'innover et d'aller chercher les connaissances lorsque celles-ci leur font défaut. En somme leur formation leur permet de s'adapter.

## 5.3 Retour des étudiants

« Les connaissances utiles pour réaliser ce projet ont été tirées de mon DUT GEII et notamment des nombreux projets que j'ai pu y réaliser. Pour la partie mécanique, c'est davantage des connaissances que j'ai acquises sur mon temps personnel du fait que j'aime beaucoup bricoler en règle générale. Enfin et surtout l'aide des professeurs et personnels sur place m'a / nous a été précieuses, je pense notamment à Monsieur Brasseur. Et également des recherches internet pour des points plus spécifiques notamment vis-à-vis de la programmation. »

« Ce projet nous a plu car nous l'avons trouvé assez diversifié, alliant une partie de recherche de solutions techniques et de réflexion, une partie plus axée sur la mécanique, puis une autre partie sur l'électronique et enfin une dernière partie de programmation. »

« Ce projet est innovant, il combine plusieurs domaines de l'informatique et de l'ingénierie, tels que la vision par ordinateur, le contrôle de moteurs, et la détection d'obstacles. Le résultat final sera un robot capable de
suivre un poisson en temps réel, tout en évitant les obs-
tacles sur son chemin. Ce projet peut avoir de nombreuses
applications dans des domaines tels que l'aquariophilie, la
surveillance de la vie marine, et la robotique autonome »

6 CONCLUSION

L'objectif du projet était de construire un prototype d'un
véhicule autonome pilotable par un poisson rouge dans le
cadre d'un projet longue durée proposé à des étudiants de
niveau bac+5 dans le domaine de l'EEEA.

Le prototype a été conçu, construit progressivement, testé
à chaque étape, et mis en œuvre. Il reste beaucoup à amé-
liorer pour rendre le robot utilisable, néanmoins cette pre-
mière esquisse était fonctionnelle à l'issu de la période de
projet.

Les étudiants en filière A2I disposaient de l'ordre de
120 heures réparties d'octobre à janvier. L'étudiant de
master disposait de 8 semaines réparties entre octobre et
février. Leur efficacité et leur volonté de construire un
prototype fonctionnel montrent leur adhésion à ce projet
pluridisciplinaire.

Ce projet sera proposé à une nouvelle promotion d'étu-
diants l'an prochain.

Remerciements

Les étudiants Brendan SIGNARBIEUX, Anthony PA-
CITTO et Rodel-Foutou-Ivy DZIKAS-MACKANGAS
ont choisi et contribué à ce projet. Ils ont reçu le soutien
technique et logistique de plusieurs collègues ensei-
gnants et ingénieurs du département EEA de l'EiSINe et
plus particulièrement la supervision de Nicolas BRAS-
SEUR, ingénieur d'études, pour l'usage des outils de dé-
coupage des pièces métalliques, de soudage et d'impression.

Les travaux présentés ont été réalisés dans le cadre du projet DeMETeRE (Déploiement de Micro-Environnements Territoriaux pour la Réussite Etudiante), lauréat du PIA4 DemoES (Démonstrateur de l'Enseignement Supérieur) et financé au titre du plan France 2030 (ANR-21-DMES-0011).

DeMETeRE est un projet expérimental de l'URCA qui
repose sur la création de véritables écosystèmes de for-
mation sur le territoire champardennais, appelés les mi-
cro-environnements territoriaux (MET). Le projet s'ap-
puie sur trois livrables : la virtualisation du poste de tra-
vail, l'utilisation de la simulation et de la réalité virtuelle
et la mise en place d'un portail mobile.

Bibliographie

[1] Shachar Givon, Matan Samina, Ohad Ben-Shahar, Ronen Segev, "From fish out of water to new insights on navigation mechanisms in animals", *Behavioural Brain Research*, Volume 419, 15 February 2022, 11371.

[2] Organisation mondiale de la santé animale,
https://www.woah.org/fr/accueil/