手册目录
人形机器人
DreamShow 可以通过时间线控制 Booster K1 人形机器人:站起、说话(配合一个声音文件)、跳舞、挥手致意、行走、转头… 每个动作都是一个 机器人… 块,放在场景中恰当的时刻,与灯光、声音同步,如果您愿意,还可以与 LED 面具的口型同步。出于安全考虑,机器人只有在演出控制端已将其启用后才会动作。
机器人上必须运行 DreamShow 服务(安装在机器人上的 dreamshow_robot.py 程序,开机启动)。DreamShow 通过网络向它发送简单的指令;因此机器人必须与演出控制电脑处于同一网络。
该服务只需在机器人上安装一次。它由 Polux 提供:请向技术支持索取,他们会告诉您如何安装。
打开方式: 菜单 场地 > 机器人…(提示气泡:“由安装在机器人上的 DreamShow 服务驱动的人形机器人(Booster K1)。时间线上的「机器人…」块负责控制。”)。
机器人窗口

标题会提示场地:“机器人:<场地>”。星号 * 表示有未保存的修改。
- 场地中已声明的机器人 列表。
- + 机器人:添加一个名为“K1”的机器人(随后是“K1 2”…)并将其选中。
- − 删除:移除所选的机器人。
- 名称(时间线块使用的名称):机器人…块用来指向该机器人的名称。
- IP 地址 — 留空 = 自动查找(机器人每 2 秒广播一次):通常情况下请留空。机器人的服务会在网络上广播自己;DreamShow 会记住同名广播的地址,或者,如果场地中只有一台机器人,则记住任何一台正在广播的机器人的地址。在此处填写地址会关闭自动查找。
- 端口(提示气泡“服务的 TCP 端口(默认 5210)”):只有当机器人的服务被另行设置时才需要更改。
状态
状态 框会(针对所选的机器人)持续更新:
- “已保存的场地中未声明该机器人:请先保存。”:请单击 保存。
- “正在等待机器人在网络上广播(UDP 5211)… dreamshow_robot.py 服务是否在运行?是否与演出控制端在同一网络?”:DreamShow 还没有收到任何广播。
- “无法连接:地址:端口”后跟错误信息,红色:地址已知,但机器人没有响应。
- “已连接 地址:端口”,绿色,随后是:
- 如果服务在运行但没有控制真实机器人,则显示“(模拟,无 SDK)”;
- 模式(例如 Damping 表示阻尼,Prepare 表示站立)和以 % 表示的 “Batterie”(电池);
- 如果机器人摔倒,红色的“⚠ 在地上”(原文“⚠ AU SOL”);
- “进行中:…”(正在执行的动作)或“空闲”;
- “已启用”或“已停用”;
- 待机:“待机已停止”、“待机:头部”或“待机:头部 + 手臂”,如果它在等待运行模式,则带有“(等待运行模式)”;
- 如有,“最后一次错误:…”。
测试按钮
- 测试连接:向机器人发送一次简单的呼叫(即使停用也会发出)。
- STAND — 让机器人站起(提示气泡“让机器人进入站立模式(PREP)。会请求确认。”):一个警告窗口会提醒:机器人将会 绷紧 并进入站立姿势,必须把它双脚平放在地上或用背部把手提住,留出 2 米空间,手柄始终拿在手中(LT + BACK 可让它回到阻尼状态),它能保持姿势但不会纠正失衡(这是运行模式 LT + RT + A 的功能),并且它必须已被启用,指令才会发出。OK 发送指令,取消(默认选项)则不发送任何内容。
- 静音:停止机器人正在播放的声音(即使停用也会生效)。
- 停止(红色):立即停止动作和声音,即使停用也生效。
底部的文字提醒:该服务在机器人上通过 systemd 运行(日志:journalctl -u dreamshow-robot -f),“说话”块的音频文件会自动发送,机器人声音与面具口型之间的偏移在 场地 > LED 面具… 中设置。
- 保存:把机器人保存到场地中(没有名称的机器人会被移除)并重新建立连接。
- 关闭:如果还有未保存的修改,DreamShow 会询问“修改尚未保存。是否保存?”。
窗口底部:“时间线上的「机器人…」块指向这些名称。机器人未「已启用」前不会收到任何指令。”
测试模式
在把某个动作放进演出之前,先在这里试一试,看看它是否会让机器人移位。踢腿、跳舞或被人抱起都可能让它滑动或转向,演出后面的部分就会在错误的位置进行。
- 把机器人放在它的标记位置,然后点击 📍 标记位置。它会记住所站的位置,不会移动。
- 在列表中选一个动作(踢腿、舞蹈、手势、起身、准备),然后点击 ▶ 试一下。在命令发出之前,会有一个窗口描述该动作并提醒注意事项。
- 在按钮下方查看它移动了多少,例如“相对标记位置:向前 23 厘米,向左 8 厘米,向左转了 15°”。超过 10 厘米或 10° 时,提示会变成橙色。
- ↩ 回到标记位置 让它直接走向标记位置,不转身,然后恢复原来的朝向;最多分两三次小幅修正。一次只能返回一次:途中按钮保持灰色。它必须处于行走模式,且标记位置最多在 1.5 米以内;更远时请手动复位。
如果某个动作让机器人移位,请在时间线上加两个 机器人… 块:演出开头放 标记位置,该动作之后放 回到标记位置。
位置来自机器人的里程计:误差为几厘米,剧烈动作之后会稍大。机器人必须处于启用状态动作才会发出;标记位置即使未启用也可以,因为它不会让机器人移动。
测试模式需要较新版本的机器人服务;如果服务版本较旧,窗口会提示:请联系技术支持进行更新。
启用 🤖
场地一旦声明了机器人,主界面右上角、实时 旁边就会出现一个按钮:
- 🤖 已停用(正常外观):时间线上的机器人块会被 忽略。您可以排练灯光和声音,而机器人不动。日志会记录每个被丢弃的指令:“… 已停用 — 命令被忽略:…”。
- 🤖 已启用(红色底):机器人块会被执行。
单击即可在两者之间切换。该按钮还会显示第一台机器人的状态:“· 未找到”、“· 离线”,或者模式和电量(例如“· Prepare 82 %”)、“⚠ 在地上”、“(模拟)”。
日志会记录“机器人已启用 — 机器人块将被执行”或“机器人已停用 — 机器人块将被忽略”。
DreamShow 启动时总是 停用 的:每次使用都必须主动启用。
在提示窗口中(演出模式)
提示窗口同样显示:
- 🤖 机器人已停用 / 🤖 机器人已启用 按钮(启用时为红色),并带有机器人的状态;单击即可启用或停用;
- 每台机器人一个红色的 ⛔ 紧急停止 — <名称> 按钮(如果有多台,还有 ⛔ 紧急 — 全部):“立即停止后切断电机(机器人会瘫下)。即使停用也生效。”。
机器人…块
在 资源库 面板中,其他 列表里有 机器人…。把它拖到时间线的某条轨道上:随即会打开 机器人块 窗口(如果取消,则不会创建任何块)。要修改某个块:双击,或右键单击 > 属性…。
在时间线上,该块显示 🤖、机器人名称和动作,例如“🤖 K1:舞蹈:迈克尔·杰克逊(第 1 部分)”,对于配有台词的块还会带有“+ 🎭 <面具>”和“+ 扩声”。

通用设置
- 机器人:所指向的机器人。如果场地中没有声明任何机器人,窗口会提示。
- 动作(Action):动作(见下面的列表)。更改动作会重建该动作特有的设置。
- 起始(秒):指令发出的时刻,从场景开始算起。
- 时长(秒):块在时间线上的长度。只要您没有自己修改,它就会根据动作(以及“说话”的文件时长)自动填写。它用来安排后面的块;机器人则按自己的节奏执行动作。
- OK / 取消。
动作
| 动作 | 设置 | 建议时长 |
|---|---|---|
| 准备(可以动作) | — | 5 秒 |
| “Se lever”(站起) | — | 8 秒 |
| 躺下 ⚠ K1 不支持 | — | 6 秒 |
| 说话(音频文件) | 音频文件、面具口型、同时送往扩声(控台音频输出) | 文件时长 |
| “Danser”(跳舞) | “Danse”(舞蹈) | 视舞蹈而定 |
| 拳击/踢腿 | “Mouvement”(动作) | 6 秒 |
| “Geste”(手势) | “Geste”(手势) | 视手势而定 |
| 头部(俯仰、旋转) | 俯仰角(°)、旋转(°) | 1 秒 |
| “Avancer / reculer (m)”(前进/后退(米)) | “Distance (m)”(距离(米)) | 距离 ÷ 0.2 米/秒 + 1 秒 |
| 转身(°) | 角度(°) | 角度 ÷ 25 °/秒 + 1 秒 |
| “Mode (debout, marche, amorti)”(模式(站立、行走、阻尼)) | 模式 | 1 至 3 秒 |
| “Veille (petits mouvements)”(待机(小幅动作)) | “Veille”(待机) | 0 秒 |
| 停止(动作与声音) | — | 0 秒 |
| 机器人静音 | — | 0 秒 |
各动作详解:
- 准备(可以动作):让机器人进入准备动作的姿势。在跳舞、出拳踢腿、做手势或行走之前,这是必不可少的。
- “Se lever”(站起):让坐着或躺着的机器人起身,无论是仰卧还是俯卧。
- 躺下 ⚠ K1 不支持:窗口会用红色提示 K1 不会躺下(制造商那里该命令是空的,站立的机器人有摔倒的风险):服务会拒绝该命令。请在阻尼模式下用手让机器人躺下。
- 说话(音频文件):
- 音频文件:演出媒体文件夹中的某个声音文件(如果没有,则显示“演出媒体文件夹中没有音频文件。”)。机器人通过自己的扬声器播放它。
- 面具口型:“(无)”或场地中的某个 LED 面具,其口型会随同一个文件动作。口型需要 WAV 文件。
- 同时送往扩声(控台音频输出):同时在电脑的声音输出上同一时刻播放该文件,就像声音块一样。
- 提示:“演出打开时该文件会发送到机器人;面具口型需要 WAV 文件。”
- “Danser”(跳舞) — “Danse”(舞蹈):迈克尔·杰克逊(第 1 和第 2 部分)57.6 秒,迈克尔·杰克逊(第 1 部分)21.5 秒,迈克尔·杰克逊(第 2 部分)30.3 秒,迈克尔·杰克逊(第 3 部分),阿拉伯舞,Shan He Gu Ren,Gai Ge Chun Feng(各约 30 秒)。“机器人站稳,周围留出 2 米。「~」= 时长待实测。”:标有 ~ 的时长为估计值。
- 拳击/踢腿 — “Mouvement”(动作):拳击踢、回旋踢。“机器人站稳,周围留出 2 米:一次踢腿会移动重心。”
- “Geste”(手势) — “Geste”(手势):挥手、握手(4 秒)、新年舞、哪吒舞、Towards Future 舞(约 20 秒)、Dab、奥特曼、恭敬行礼、加油鼓劲、招财猫(3 秒)。
- 头部(俯仰、旋转):“俯仰为正 = 低头;旋转为正 = 向左。”
- “Avancer / reculer (m)”(前进/后退(米)):“负值 = 后退。以 0.2 米/秒行走,按里程计停止(± 5 厘米)。”建议值:0.5 米。
- 转身(°):“正值 = 向左。”建议值:90°。
- “Mode (debout, marche, amorti)”(模式(站立、行走、阻尼)):“Debout (PREP)”(站立(PREP))、“Marche (WALK)”(行走(WALK))、阻尼(DAMP)— 机器人会瘫下。
- “Veille (petits mouvements)”(待机(小幅动作)) — “Veille”(待机):仅头部、头部与手臂、“Tête, bras et jambes”(头部、手臂与腿部)、已停止。待机时,机器人无事可做便会缓慢地四处张望(头部转动最多 18°),显得像有生命一样;加上手臂时,肩部会增加 3.5° 的呼吸起伏和 7° 的缓慢摇摆,在 6 秒内渐入;加上腿部时(此选项包含手臂),机器人并不控制任何腿部关节——这在 K1 上无法实现——而是每隔 15 至 35 秒把手臂短暂交还给自身的控制器再接管回来,这会让它重新调整平衡:髋部和下半身会真正动起来,而它不会离开原来的位置标记。待机会在每个动作期间暂停,要求处于运行模式,并在 STOP 时停止。
- 停止(动作与声音):“立即停止动作与声音(即使停用也会发送)。”
- 机器人静音:只停止声音。
声音文件与面具口型
- 在打开演出时(以及每次修改之后),一旦在网络上找到机器人,DreamShow 就会在后台把机器人还没有的“说话”块的文件发送给它。日志会记录“「…」已发送至 K1”。
- 对于配有面具口型的台词,MaskCtl 会根据 WAV 文件计算口型序列(参见 LED 面具)。如果文件不是 WAV,日志会提示:“面具口型需要 WAV 文件(MaskCtl 不读取 MP3)”。
- 在 场地 > LED 面具… 中设置的 机器人语音 → 口型偏移(毫秒),用来使口型与机器人的实际声音对齐:为正时,口型更晚开始;为负时,发给机器人的指令更早发出。
分步操作
让机器人在开幕时致意并说话
- 打开机器人,检查它与电脑处于同一网络。
- 打开 场地 > 机器人…,单击 + 机器人,然后 保存。在 状态 中等待出现“已连接 …”;单击 测试连接。
- 把台词(最好是 WAV 格式)复制到演出的媒体文件夹中。
- 在场景中,把 机器人… 拖到某条轨道的 0 秒处:动作选择 “Se lever”(站起),OK。
- 在 8 秒处添加一个 准备(可以动作) 块。
- 在 13 秒处,添加一个 “Geste”(手势) > 挥手 块。
- 在 17 秒处,添加一个带有台词的 说话(音频文件) 块;如果观众需要通过扩声系统听到它,请勾选 同时送往扩声。
- 在停用状态下排练:灯光和声音正常进行,机器人不动。
- 机器人放在地上,留出 2 米空间,手柄拿在手中:单击 🤖 已停用 切换到 🤖 已启用,然后重新播放场景。
须知
- 安全:停用时,不会发出任何动作指令;只有测试呼叫、静音 和 停止 始终有效。提示窗口的急停同样始终有效。
- 发给无法连接的机器人的指令会丢失:日志中显示“… 无法连接 — 命令丢失:…”。
- 标有“~”的时长是估计值:请在您的机器人上实测,并调整块的时长。
- 演出可以在没有机器人的情况下准备和模拟。
- 首次启动时,Windows 防火墙可能会询问是否允许 DreamShow 访问网络:请允许(使用的端口:发往机器人的 TCP 5210,以及用于其广播的 UDP 5211)。