Puissance 4 Challenge (Raspberry Pi, Node.js)

L’idée, trouvée le vendredi midi juste avant de squatter 24h chez Eric De Sa c’est de construire un robot “puissance 4” avec les moyens du bord. Il doit reproduire les parties d’IA qui s’affrontent sur un serveur.

La team “soft” avance très vite avec Node.js et Socket.io: en quelques heures ils ont un serveur qui affiche les coups des joueurs, franchement pour un truc from scratch, c’est pas mal du tout ;)

Le code n’est pas lisible, mais on s’en fout ça n’était pas le but du truc https://github.com/Frianbiz/connectfour-server

Et un exemple de client (intelligence artificielle si on veut se la raconter un peu) https://github.com/Frianbiz/connectfour-ai-gro (Celle qui a gagnée le plus de partie)

Niveau bricolage, enfin “robotique”, c’était vraiment très expérimental… le mieux c’est de mettre quelques photos pour comprendre…

https://twitter.com/vincentLg/status/777114263018205184
On pourrait croire qu’on sait ce qu’on fait…
Des idées qui finiront à la poubelle :(

Au départ nous voulions utiliser notre Arduino, mais le déploiement de scripts et la config avec le serveur étaient trop problématique. Pour nous focaliser sur les parties intéressantes du projet, nous avons préféré passer sur raspberry pi 2 : installation d’Apache, php, quelques config pour fonctionner en wifi, passage au script python pour faire tourner nos servomoteurs, et enfin ça commence à bouger!

Construction du distributeur v2

Après 24h, le code fonctionne bien, le robot arrive enfin à lâcher une pièce dans une colonne, mais rien de plus! Je pense qu’en quelques heures on aurait réussi à tout assembler mais aucune frustration, avec 4h de sommeil c’est déjà pas mal je trouve ;)

Après 2353 tentatives…

Le bilan des ces 24h est très positif, on apprend beaucoup en faisant des machines inutiles https://fr.wikipedia.org/wiki/Machine_inutile

Pour finir quelques photos (et quelques secrets de construction) en vrac pour le plaisir de partager cette belle expérience. (gg la team @lucas_colomer @JoeBoureslan @EricDeSa Frédéric Salley @benjaminpayoux @Chewayil )