Sans l'ordinateur : installer le programme dans le robot
- Log
- 5 sur 28
- Date
- Lecture
- 3 min de lecture
Compétences de ce log
Jusqu’au 20 octobre, les yeux du robot étaient à lui, mais son cerveau, c’était mon Mac. Ce matin-là, j’ai posé une règle nouvelle : pouvoir m’en servir sans le Mac. Le prendre, le poser sur un autre bureau, et qu’il me reconnaisse encore.

Dans la machine
La version Wireless a un petit ordinateur dans le corps : un Raspberry Pi Compute Module 4, quatre cœurs, environ 4 Go de mémoire. Il fait déjà tourner le logiciel du fabricant, qui pilote les moteurs et sert la caméra. Mon programme devait tenir à côté.
Avant de déplacer quoi que ce soit, j’ai mesuré. Les deux mêmes modèles que sur le Mac, image par image :
| Étape | Mac | Robot |
|---|---|---|
| Trouver les visages, image de 1 280 px de large | 9 ms | 404 ms |
| Trouver les visages, 640 px | 4 ms | 104 ms |
| Trouver les visages, 320 px | 2 ms | 22 ms |
| Calculer une empreinte | 6 ms | 121 ms |
Le robot est dix à quarante-cinq fois plus lent. Le programme embarqué cherche donc les visages dans une image réduite, et ne calcule une empreinte que sur la petite zone où un visage a été trouvé.
Le logiciel du fabricant a un mécanisme d’applications : une application s’installe sur le robot et peut se lancer au démarrage. La mienne en est devenue une.
Premier lancement à bord
Au premier lancement, Mac fermé, il m’a reconnu en 6 secondes et rendait 3,3 verdicts par seconde. Sans personne devant lui, il utilisait un cœur et demi sur quatre, 183 Mo de mémoire, et la puce était à 51,6 °C.
Puis les problèmes, un par essai :
- Mon visage était coupé par le bord haut de l’image pendant quarante secondes : à mon bureau, je suis plus haut que le regard du robot. Corrigé en laissant la tête me suivre dès le départ.
- De loin, il ne me reconnaissait pas. De près, je faisais 0,70 ; plus loin, avec un visage de 40 à 60 pixels seulement, 0,30 à 0,45, sous le seuil. Redétecter le visage à pleine résolution, dans la boîte trouvée sur l’image réduite, a fait gagner 0,10 au score.
- Après chaque son, la tête ne revenait pas. Un mouvement enregistré déplace la tête, et elle ne refaisait que 60 % du chemin. Avec un retour plus long et une courte période de grâce, le sixième essai s’est terminé avec la tête revenue à 4 degrés près et un score stable de 0,68 à 0,72.
L’antenne qui démarre tout
Dernière étape : le programme démarre tout seul. Après un démarrage à froid, le robot dort. On pousse une antenne, il se réveille, et mon programme se lance avec lui. Mesuré après un redémarrage à froid : le logiciel du fabricant était prêt en 27 secondes, et le robot m’a reconnu 21 secondes après la poussée sur l’antenne.
Une limite que je ne peux pas corriger : la batterie n’a pas de jauge. Une diode passe du vert à l’orange puis au rouge, et la charge ne se lit pas par logiciel.
La suite
Il marchait sans le Mac. Il marchait même trop : quelques heures plus tard, il réagissait à tous les bruits de la pièce.

