La Pierre qui roule de poche est un petit boîtier à tenir en main qui vous laisse sentir une bille virtuelle rouler et glisser dans un tube qui n’existe pas physiquement. Vous l’inclinez, et une bille synthétisée court d’un bout à l’autre, cogne la paroi, et repart en arrière. Rien ne bouge à l’intérieur. La sensation est générée entièrement dans le firmware d’un ESP32-C6, à partir de l’inclinaison mesurée par une centrale BNO085.
C’est une reproduction d’une illusion haptique décrite par Hsin-Yun Yao et Vincent Hayward dans An Experiment on Length Perception with a Virtual Rolling Stone (Eurohaptics 2006), où les gens arrivaient à estimer la longueur d’un tube virtuel uniquement à partir de la sensation de roulement, apparemment en utilisant un modèle interne de la gravité. Le projet est né au colloque tenu en mémoire de Vincent Hayward, où il est apparu qu’il ne restait pour ainsi dire qu’un seul exemplaire en état de marche de la démonstration d’origine, qui méritait d’être reconstruit sur du matériel moderne et minimal. Cela appartient à la même famille que les illusions haptiques imprimées en 3D du laboratoire et la question plus large de pourquoi le toucher n’a pas de musée des illusions.
Une boucle physique à 1 kHz simule trois modes (roulement comme une sphère pleine, glissement avec frottement de Coulomb, et une boîte 3D de trois billes de masse différente), et le mouvement de la bille est restitué sous forme de vibration en temps réel. Le même signal haptique signé pilote deux étages de sortie complètement différents, sélectionnés par un seul drapeau de compilation :
- Chemin audio I2S : une Adafruit ESP32-C6 Feather plus un amplificateur MAX98357A pilotant un actionneur TITAN Haptics, en diffusant une table d’onde indexée par position à 22050 Hz.
- Chemin pont en H : une carte Microbots CodeCell C6 Drive (centrale et pont en H intégrés) pilotant un moteur directement par PWM, sans aucun amplificateur. C’est le montage qui a réellement été assemblé en une petite unité à tenir en main ; le chemin I2S a été validé sur l’établi.
Une application compagnon en Python se connecte en USB série ou en BLE pour visualiser et régler la simulation en direct.
Une direction que je veux explorer ensuite : restituer un impact localisable le long du tube, pour qu’on sente où la bille virtuelle frappe, en s’appuyant sur Miller et coll., Sensing with tools extends somatosensory processing beyond the body, Nature 2018.
C’est un projet personnel en cours, pas un produit. L’histoire complète est documentée dans deux articles de construction :
Le firmware et l’application compagnon sont open source sur github.com/Leicas/esp32-ball.