Sommaire du manuel
Les robots humanoïdes
DreamShow pilote des robots humanoïdes Booster K1 depuis la timeline : se lever, parler (avec un fichier son), danser, saluer, marcher, tourner la tête… Chaque action est un bloc Robot… placé au bon moment de la scène, synchronisé avec la lumière, le son et, si vous voulez, la bouche d'un masque LED. Par sécurité, un robot ne bouge que si la régie l'a armé.
Le robot doit faire tourner le service DreamShow (programme dreamshow_robot.py installé sur le robot, lancé au démarrage). DreamShow lui envoie des ordres simples par le réseau ; le robot doit donc être sur le même réseau que le PC de régie.
Le service s'installe une fois sur le robot. Il est fourni par Polux : demandez-le au support, qui vous indiquera comment l'installer.
Pour l'ouvrir : menu Salle > Robots… (infobulle : « Robots humanoïdes (Booster K1) pilotés par le service DreamShow installé sur le robot. Les blocs « Robot… » de la timeline les pilotent. »).
La fenêtre Robots

Le titre rappelle la salle : « Robots : <salle> ». Une étoile * signale des modifications non enregistrées.
- La liste des robots déclarés dans la salle.
- + Robot : ajoute un robot nommé « K1 » (puis « K1 2 »…) et le sélectionne.
- − Supprimer : retire le robot sélectionné.
- Nom (celui des blocs de la timeline) : le nom que les blocs Robot… utilisent pour viser ce robot.
- Adresse IP — vide = trouvée automatiquement (le robot s'annonce toutes les 2 s) : laissez vide dans le cas courant. Le service du robot s'annonce sur le réseau ; DreamShow retient l'adresse de l'annonce qui porte le même nom, ou, si la salle n'a qu'un seul robot, celle de n'importe quel robot qui s'annonce. Une adresse saisie ici désactive la recherche automatique.
- port (infobulle « Port TCP du service (5210 par défaut) ») : à ne changer que si le service du robot a été réglé autrement.
État
Le cadre État se met à jour en continu (pour le robot sélectionné) :
- « Robot non déclaré dans la salle enregistrée : enregistrez d'abord. » : cliquez sur Enregistrer.
- « En attente de l'annonce du robot sur le réseau (UDP 5211)… Le service dreamshow_robot.py tourne-t-il ? Même réseau que la régie ? » : DreamShow n'a encore reçu aucune annonce.
- « Injoignable : adresse:port » suivi de l'erreur, en rouge : l'adresse est connue mais le robot ne répond pas.
- « Connecté adresse:port », en vert, puis :
- « (SIMULATION, sans SDK) » si le service tourne sans piloter de vrai robot ;
- Mode (par exemple Damping pour amorti, Prepare pour debout) et Batterie en % ;
- « ⚠ AU SOL » en rouge si le robot est tombé ;
- « En cours : … » (action en cours) ou « Inactif » ;
- « ARMÉ » ou « désarmé » ;
- la veille : « veille arrêtée », « veille : tête » ou « veille : tête + bras », avec « (en attente du mode marche) » si elle attend le mode marche ;
- « Dernière erreur : … » le cas échéant.
Les boutons d'essai
- Tester la liaison : envoie un simple appel au robot (il passe même désarmé).
- STAND — mettre debout (infobulle « Passe le robot en mode debout (PREP). Demande confirmation. ») : une fenêtre d'avertissement rappelle que le robot va se RAIDIR et prendre la position debout, qu'il faut le poser au sol pieds à plat ou le tenir par la poignée du dos, dégager 2 m, garder la manette en main (LT + BACK le remet en amorti), qu'il tient sa posture mais ne rattrape pas un déséquilibre (c'est le mode marche, LT + RT + A, qui le fait), et qu'il doit être ARMÉ pour que l'ordre parte. OK envoie l'ordre, Annuler (choix par défaut) n'envoie rien.
- Couper le son : arrête le son que joue le robot (passe même désarmé).
- STOP (en rouge) : arrêt immédiat du mouvement et du son, même désarmé.
Le texte du bas rappelle que le service tourne sur le robot sous systemd (journaux : journalctl -u dreamshow-robot -f), que les fichiers audio des blocs « Dire » sont envoyés automatiquement, et que le décalage entre la voix du robot et la bouche d'un masque se règle dans Salle > Masques LED….
- Enregistrer : enregistre les robots dans la salle (les robots sans nom sont retirés) et relance la liaison.
- Fermer : s'il reste des modifications, DreamShow demande « Modifications non enregistrées. Enregistrer ? ».
En bas de la fenêtre : « Les blocs « Robot… » de la timeline visent ces noms. Rien ne part vers un robot tant qu'il n'est pas ARMÉ. »
Le mode test
Avant de mettre un mouvement dans un show, essayez-le ici pour voir s'il déplace le robot. Un coup de pied, une danse ou une prise en main peuvent le faire glisser ou tourner, et la suite du spectacle se joue alors au mauvais endroit.
- Posez le robot sur sa marque, puis cliquez 📍 Marquer sa position. Il retient l'endroit où il se tient, sans bouger.
- Choisissez un mouvement dans la liste (coups de pied, danses, gestes, se lever, se préparer), puis cliquez ▶ Essayer. Une fenêtre décrit le mouvement et rappelle les précautions avant que l'ordre parte.
- Lisez sous les boutons de combien il s'est déplacé, par exemple « Depuis sa marque : 23 cm en avant, 8 cm à gauche, tourné de 15° à gauche ». Au-delà de 10 cm ou de 10°, l'indication passe en orange.
- ↩ Revenir à sa marque le fait marcher droit vers sa marque, sans se retourner, puis reprendre l'orientation qu'il avait ; il corrige en deux ou trois petites passes au plus. Un seul retour à la fois : le bouton reste grisé pendant le trajet. Il doit être en mode marche, et la marque à 1,5 m au plus ; plus loin, replacez-le à la main.
Si un mouvement déplace le robot, ajoutez dans la timeline deux blocs Robot… : Marquer sa position au début du show, et Revenir à sa marque après ce mouvement.
La position vient de l'odométrie du robot : comptez quelques centimètres d'écart, un peu plus après un mouvement brusque. Le robot doit être armé pour que les mouvements partent ; marquer sa position passe même désarmé, puisque cela ne le fait pas bouger.
Le mode test demande une version récente du service du robot ; avec un service plus ancien, la fenêtre le signale : demandez sa mise à jour au support.
L'armement 🤖
Dès que la salle déclare un robot, un bouton apparaît en haut à droite de l'écran principal, à côté de LIVE :
- 🤖 désarmé (aspect normal) : les blocs Robot de la timeline sont ignorés. Vous répétez la lumière et le son sans que le robot bouge. Le journal note chaque ordre écarté : « … DÉSARMÉ — commande ignorée : … ».
- 🤖 ARMÉ (fond rouge) : les blocs Robot sont exécutés.
Un clic bascule de l'un à l'autre. Le bouton affiche aussi l'état du premier robot : « · non trouvé », « · hors ligne », ou le mode et la batterie (par exemple « · Prepare 82 % »), « ⚠ AU SOL », « (simu) ».
Le journal note « Robots ARMÉS — les blocs Robot sont exécutés » ou « Robots désarmés — les blocs Robot sont ignorés ».
DreamShow démarre toujours désarmé : il faut armer volontairement à chaque séance.
Dans la fenêtre de conduite (mode show)
La fenêtre de conduite montre aussi :
- le bouton 🤖 Robot désarmé / 🤖 Robot ARMÉ (rouge quand armé), avec l'état du robot ; un clic arme ou désarme ;
- un bouton rouge ⛔ URGENCE — <nom> par robot (et ⛔ URGENCE — TOUS s'il y en a plusieurs) : « stop immédiat puis moteurs coupés (le robot s'affaisse). Passe même désarmé. ».
Les blocs Robot…
Dans le panneau Bibliothèques, la liste Autres contient Robot…. Faites-le glisser sur une piste de la timeline : la fenêtre Bloc Robot s'ouvre aussitôt (si vous l'annulez, aucun bloc n'est créé). Pour modifier un bloc : double-clic, ou clic droit > Propriétés….
Sur la timeline, le bloc affiche 🤖, le nom du robot et l'action, par exemple « 🤖 K1 : Danse : Michael Jackson (partie 1) », avec « + 🎭 <masque> » et « + sono » pour une réplique accompagnée.

Les réglages communs
- Robot : le robot visé. Si la salle n'en déclare aucun, la fenêtre l'indique.
- Action : l'action (liste ci-dessous). Changer d'action reconstruit les réglages propres à l'action.
- Départ (s) : l'instant, depuis le début de la scène, où l'ordre part.
- Durée (s) : la longueur du bloc sur la timeline. Elle est remplie automatiquement selon l'action (et la durée du fichier pour « Dire ») tant que vous ne la modifiez pas vous-même. Elle sert à placer les blocs suivants ; le robot, lui, exécute son action à son rythme.
- OK / Annuler.
Les actions
| Action | Réglages | Durée proposée |
|---|---|---|
| Préparer (prêt à bouger) | — | 5 s |
| Se lever | — | 8 s |
| Se coucher ⚠ pas sur K1 | — | 6 s |
| Dire (fichier audio) | Fichier audio, Bouche du masque, Aussi sur la sono (sortie audio de la régie) | durée du fichier |
| Danser | Danse | selon la danse |
| Boxe / coup de pied | Mouvement | 6 s |
| Geste | Geste | selon le geste |
| Tête (inclinaison, rotation) | Inclinaison (°), Rotation (°) | 1 s |
| Avancer / reculer (m) | Distance (m) | distance ÷ 0,2 m/s + 1 s |
| Tourner (°) | Angle (°) | angle ÷ 25 °/s + 1 s |
| Mode (debout, marche, amorti) | Mode | 1 à 3 s |
| Veille (petits mouvements) | Veille | 0 s |
| Stop (mouvement et son) | — | 0 s |
| Couper le son du robot | — | 0 s |
Détail des actions :
- Préparer (prêt à bouger) : met le robot dans la posture prête à bouger. C'est indispensable avant une danse, un coup, un geste ou une marche.
- Se lever : relève le robot assis ou couché, sur le dos comme sur le ventre.
- Se coucher ⚠ pas sur K1 : la fenêtre prévient en rouge que le K1 ne sait pas se coucher (la commande est vide chez le fabricant et le robot debout risquerait de tomber) : le service la refuse. Couchez le robot à la main, en mode amorti.
- Dire (fichier audio) :
- Fichier audio : un des fichiers son du dossier de médias du show (« Aucun fichier audio dans le dossier medias du show. » s'il n'y en a pas). Le robot le joue par son propre haut-parleur.
- Bouche du masque : « (aucun) » ou un masque LED de la salle, dont la bouche bougera sur ce même fichier. La bouche exige un fichier WAV.
- Aussi sur la sono (sortie audio de la régie) : joue en plus le fichier sur la sortie son du PC, au même moment, comme un bloc son.
- Le rappel : « Le fichier est envoyé au robot à l'ouverture du show ; un WAV est nécessaire pour la bouche du masque. »
- Danser — Danse : Michael Jackson (parties 1 et 2) 57,6 s, Michael Jackson (partie 1) 21,5 s, Michael Jackson (partie 2) 30,3 s, Michael Jackson (partie 3), Danse arabe, Shan He Gu Ren, Gai Ge Chun Feng (30 s environ chacune). « Robot debout et stable, 2 m dégagés. « ~ » = durée à mesurer. » : les durées marquées ~ sont des estimations.
- Boxe / coup de pied — Mouvement : Coup de pied boxe, Coup de pied circulaire. « Robot debout et stable, 2 m dégagés : un coup de pied déplace le centre de gravité. »
- Geste — Geste : Saluer de la main, Poignée de main (4 s), Danse du nouvel an, Danse Nezha, Danse Towards Future (20 s environ), Dab, Ultraman, Salut respectueux, Encouragement, Chat porte-bonheur (3 s).
- Tête (inclinaison, rotation) : « Inclinaison positive = tête baissée ; rotation positive = vers la gauche. »
- Avancer / reculer (m) : « Négatif = en arrière. Marche à 0,2 m/s, arrêt sur l'odométrie (± 5 cm). » Valeur proposée : 0,5 m.
- Tourner (°) : « Positif = vers la gauche. » Valeur proposée : 90°.
- Mode (debout, marche, amorti) : Debout (PREP), Marche (WALK), Amorti (DAMP) — le robot s'affaisse.
- Veille (petits mouvements) — Veille : Tête seule, Tête et bras, Tête, bras et jambes, Arrêtée. En veille, le robot regarde lentement autour de lui quand il n'a rien d'autre à faire (la tête tourne jusqu'à 18°), pour paraître vivant ; avec les bras, une respiration de 3,5° sur les épaules et un lent balancement de 7° s'y ajoutent, en fondu sur 6 secondes ; avec les jambes (ce choix inclut les bras), le robot ne pilote aucune articulation des jambes — c'est impossible sur le K1 — mais toutes les 15 à 35 secondes il rend un instant les bras à son propre contrôleur puis les reprend, ce qui fait se réajuster son équilibre : les hanches et le bas du corps bougent vraiment, sans qu'il quitte sa marque. La veille se met en pause pendant chaque action, exige le mode marche, et s'arrête sur un STOP.
- Stop (mouvement et son) : « Arrêt immédiat du mouvement et du son (envoyé même désarmé). »
- Couper le son du robot : arrête seulement le son.
Les fichiers son et la bouche des masques
- À l'ouverture du show (et après chaque modification), DreamShow envoie au robot, en arrière-plan, les fichiers des blocs « Dire » qu'il n'a pas encore, dès que le robot est trouvé sur le réseau. Le journal note « « … » envoyé à K1 ».
- Pour une réplique accompagnée d'une bouche de masque, MaskCtl calcule la séquence de la bouche à partir du fichier WAV (voir Les masques LED). Si le fichier n'est pas un WAV, le journal le signale : « la bouche du masque exige un fichier WAV (MaskCtl ne lit pas les MP3) ».
- Le Décalage voix du robot → bouche (ms), réglé dans Salle > Masques LED…, cale la bouche sur la voix réelle du robot : positif, la bouche part plus tard ; négatif, l'ordre au robot part plus tôt.
Pas à pas
Faire saluer et parler le robot au lever de rideau
- Allumez le robot, vérifiez qu'il est sur le même réseau que le PC.
- Ouvrez Salle > Robots…, cliquez sur + Robot, puis Enregistrer. Attendez « Connecté … » dans État ; cliquez sur Tester la liaison.
- Copiez la réplique (de préférence en WAV) dans le dossier de médias du show.
- Dans la scène, glissez Robot… sur une piste à 0 s : action Se lever, OK.
- Ajoutez à 8 s un bloc Préparer (prêt à bouger).
- À 13 s, un bloc Geste > Saluer de la main.
- À 17 s, un bloc Dire (fichier audio) avec la réplique ; cochez Aussi sur la sono si le public doit l'entendre par la sonorisation.
- Répétez désarmé : la lumière et le son se déroulent, le robot ne bouge pas.
- Robot posé au sol, 2 m dégagés, manette en main : cliquez sur 🤖 désarmé pour passer en 🤖 ARMÉ, et rejouez la scène.
Bon à savoir
- Sécurité : désarmé, aucun ordre de mouvement ne part ; seuls l'appel de test, Couper le son et STOP passent toujours. L'arrêt d'urgence de la fenêtre de conduite passe aussi toujours.
- Un ordre envoyé à un robot injoignable est perdu : « … injoignable — commande perdue : … » dans le journal.
- Les durées marquées « ~ » sont des estimations : mesurez-les sur votre robot et ajustez la durée des blocs.
- Le show peut être préparé et simulé sans robot.
- Au premier démarrage, le pare-feu Windows peut demander d'autoriser DreamShow sur le réseau : acceptez (ports utilisés : TCP 5210 vers le robot, UDP 5211 pour ses annonces).