JournalLe cerveau

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.

Capture de l'application du fabricant : mon programme installé dans le robot, en cours d'exécution.

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 :

  1. 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.
  2. 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.
  3. 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.

Read in English