Mon agent IA connaît les règles de la physique mieux que moi. Pour la simulation de mon robot DIY, il m’explique comment le moteur physique calcule le frottement entre la roue et le sol, et me montre à partir de quelle pente le robot resterait coincé sur une rampe fictive dans la chambre d’enfant.
Mais la simulation physique est « headless », elle n’existe donc que sous forme de chiffres et de données. J’ai donc demandé à l’agent de rendre une vidéo de la simulation : le robot traverse le salon et bouscule au passage un nounours de ma fille :
Quiconque a déjà tenu un nounours dans ses mains le sait tout de suite : un nounours ne tombe pas comme ça. Ce qui me dérange surtout, c’est qu’une légère poussée au pied suffise à le renverser complètement.
Physiquement, c’est probablement calculé correctement. Sauf que dans la simulation, le nounours est un corps rigide composé de quelques formes géométriques de base. L’agent ne sait simplement pas où et comment on peut simplifier, ni ce qui compte vraiment chez un vrai nounours. Et il ne le remarque pas non plus en regardant le résultat.
En toute honnêteté : pour la conception du robot, ce scénario précis n’a aucune conséquence. Et une simulation plus réaliste n’apporterait pas de valeur ajoutée. Mais ça aussi, ce n’est qu’une hypothèse.
Détails techniques
Pour celles et ceux qui veulent en savoir plus : voici comment cette vidéo a été réalisée.
| Domaine | Mise en œuvre |
|---|---|
| Physique | MuJoCo, robot issu des données CAO, cycle de régulation de 20 ms |
| Commande | Noyau firmware du robot, exactement le même code que sur le microcontrôleur |
| Nounours | 15 cm, 80 g (estimé), un corps rigide composé d’un ellipsoïde, d’une sphère et de deux capsules |
| Déroulé | Position de départ et moment de l’impact choisis, tout le reste simulé |
| Rendu | Blender 4.2 Cycles sur CPU, 960 × 540, 8 échantillons + débruitage |
| Temps de rendu | env. 17 s par image, calcul de nuit de 22h25 à 3h21 |
Voici à quoi ressemble le nounours pour le moteur physique :
<body name="teddy"><freejoint/>
<geom name="teddy_rumpf" type="ellipsoid" size=".038 .042 .05" mass=".045"/>
<geom name="teddy_kopf" type="sphere" size=".034" mass=".02"/>
<geom name="teddy_bein_l" type="capsule" size=".016" mass=".0075"/>
<geom name="teddy_bein_r" type="capsule" size=".016" mass=".0075"/>
</body>
Un seul corps, qui peut se déplacer librement dans son ensemble. La tête et les jambes sont rigidement reliées au tronc, rien ne fléchit, rien n’est souple. Les bras n’existent que dans l’image rendue, pour la physique ils n’existent pas.



