Robotique pédagogique & embarqué

StemBot

Un robot programmé depuis un navigateur, sans compilateur ni agent à installer

Le besoin

BotlyStudio, l'atelier de programmation du robot dessinateur Botly, est né au fablab La Machinerie à Amiens. J'en étais l'un des auteurs. Il a ensuite été laissé à l'abandon : une bibliothèque de blocs vieillissante, et surtout un agent local à installer sur chaque poste pour compiler et téléverser. Dans une salle informatique d'établissement, c'est souvent là que la séance s'arrête.

Le besoin était simple à dire : qu'un enseignant puisse faire programmer un robot à une classe avec un navigateur, rien de plus, et que le site coûte peu à héberger.

Ce que j'ai construit

StemBot Studio, un successeur libre de BotlyStudio, réécrit entièrement. Les blocs Botly sont restés, et les anciens fichiers se rouvrent tels quels.

  • Un atelier par blocs qui produit un code lisible (C++ ou MicroPython), affiché à côté des blocs.
  • Un simulateur à l'échelle réelle : un carré de 100 mm à l'écran fait 100 mm sur la feuille. Il permet de travailler sans robot.
  • Deux robots et deux liaisons : le Botly par câble USB, l'ESPbot sans fil en Bluetooth.
  • Des parcours d'exercices corrigés automatiquement, trait par trait, et un éditeur pour que les enseignants écrivent les leurs.
  • D'autres activités sur le même socle : une usine à nombres pour le calcul, un donjon en Python pour les algorithmes, des plateaux à tuiles pour un robot suiveur de ligne.
  • Des comptes, des classes enseignant / élève et le partage de projets.

Comment ça marche

Le choix central concerne l'embarqué. Plutôt que de compiler chaque programme, ce qui demande une chaîne d'outils qu'un navigateur ne peut pas porter, j'ai écrit un petit interpréteur qui tourne sur le robot. Le studio lui envoie une liste d'instructions compacte, que le robot range en mémoire et rejoue même après avoir été débranché. Les sauts sont vérifiés avant d'être rangés : c'est peu coûteux à contrôler côté navigateur, et irrattrapable une fois les moteurs lancés.

Pour l'ESPbot, le studio parle Bluetooth directement depuis l'onglet. Un appairage par signal lumineux permet à douze cartes identiques, dans une même salle, de trouver chacune son élève.

Génération de code, simulation et téléversement se font dans le navigateur. Le serveur ne gère que les comptes et les projets : il tient sur un hébergement mutualisé, et l'atelier fonctionne encore si le serveur ne répond plus.

Ce que ça change

  • Rien à installer sur les postes de la classe.
  • Un atelier possible avec quatre robots pour trente élèves : les autres travaillent sur le simulateur avec les mêmes exercices, puis on tourne.
  • Un robot ajouté par une simple description, sans toucher au reste du code.
  • La liaison avec l'ESPbot est vérifiée par des tests automatiques sans matériel, le vrai client du studio face à une carte simulée.

Technologies

Blockly, JavaScript sans framework, Web Serial et Web Bluetooth, PHP 8 et MySQL, firmware Arduino (AVR) et MicroPython (ESP32-C3) ; code libre sous licence Apache 2.0.

Réserver un appel

Trente minutes, gratuites, sans engagement. Si je ne suis pas la bonne personne, je vous le dis avant la fin de l’appel.

Réserver un appel