Exploration par curiosité: un Ergo explore un autre Ergo

Avec Pablo, stagiare de seconde, nous avons programmé Poppy Ergo pour qu’il explore par curiosité un autre Poppy Ergo, en utilisant la librairie explauto.

Voilà une vidéo :
https://youtu.be/bkCdqZnAWqc

L’Ergo qui apprend voit la position des moteurs de l’autre Ergo ainsi que la lumière produite par l’autre Ergo quand il bouge. Il commence par une petite phase d’exploration aléatoire, puis se choisit des buts comme étant des positions aléatoires de l’autre Ergo et des lumières à faire produire par l’autre Ergo, et essaye ensuite d’atteindre ses buts d’après ce qu’il sait déjà (tout est enregistré dans une base de donnée).

En une demi-heure, l’Ergo apprenant comprend comment atteindre l’autre Ergo et comment le faire changer de couleur.
On a eu des soucis pour accéder à 2 robots à distance en même temps en Python, mais si vous y arrivez, alors vous pouvez essayer ce code Python:

python_ergos.py (3.4 KB)

Une version un peu plus propre du code, il manquait le début du code, et j’ai ajouté quelques commentaires:

ErgoExploringErgo.py (8.9 KB)

Concernant le setup avec 2 robots, on avait finalement fait tourné tout ce code python sur la raspberry de l’un des Ergos, et on s’était connecté à distance à l’autre robot qui était sur le même réseau en Ethernet, grâce à l’api zmq qui avait initialement été faite par @fgolemo, car on avait des soucis avec l’api requests.

@PoppyNZ On vous a envoyé les 2 robots, avec ce notebook dans la raspberry du poppy qui est exploré (vous pouvez le lancer depuis un ordinateur connecté au même réseau, en tapant poppy.local dans un navigateur, et en allant dans jupyter notebook): ErgoExploringErgo.ipynb (12.7 KB)

Pablo et Sébastien

6 Likes