智能台灯LeLampX快速入门教程-动作编排
纠错,疑问,交流: 请进入讨论区或 请点击进入页面,扫码加入微信群或Q群进行交流
获取最新文章: 扫一扫加入“创客智造”公众号
动作编排
目标:学会用一句话让 LeLamp 连续做出多个动作(如"先左摆再点头"),理解关键帧编排(compose_motion),并掌握录制自定义动画 CSV、播放与设为默认的方法
一、语音编排:一句话编一段动作
单动作不过瘾?直接说一句连贯的话,AI 会把它拆解成连续动作序列:
| 你说 | 你应看到什么 |
|---|---|
| "先左摆再点头" | 先向左摆,再向前点头,最后自动回正 |
| "点头两下" | 连续点头两次 |
| "先左摆再点头两次" | 左摆 → 点头 ×2 → 回正 |
| "跳个舞" / "来段舞" / "即兴表演" | 播放内置默认舞蹈(约 4 秒,摆头→点头→挥手→耸肩) |
编排语言小技巧:
- 顺序词:先 / 再 / 然后 / 接着 / 之后 / 随后 / 最后
- 次数词:一~十 + "下 / 遍 / 次"(如"点头两下")
验证步骤:对 LeLamp 说"先左摆再点头" → 你应看到它先向左摆、再点头、自动回正(v2 AI 路径有 1-3 秒理解延迟,属正常)。
二、关键帧编排原理(compose_motion)
语音编排的背后是 compose_motion 工具——把动作拆成一串"关键帧"逐帧播放。你不用手写 JSON,但理解原理能让你的指令更精准:
{
"frames": [
{"base_yaw": -25},
{"base_yaw": 25, "base_pitch": 15},
{"base_pitch": -15}
],
"hold": 0.6
}
规则(系统已自动保障,无需你操心):
- 每帧是相对上一姿势的偏移,可同时动多个关节(如第二帧"右摆+点头"是并行动作)
hold是每帧停留秒数,建议 0.30.8 秒;帧数建议 ≤ 8 帧(总时长 38 秒为宜)- 关节名写错会自动纠正(如
wrist_rol→wrist_roll);播完自动插值回 idle,无需自己补"回正帧" - 播放器会按每帧最大步进自动插值分解,动作再大也顺滑;超出安全范围自动 clamp 保护
想让动作更自然:大动作拆成小步(鞠躬分两帧做)、对称动作成对出现(摆过去 +140 就要摆回来 -140)、活泼动作用小幅度快节奏。
三、录制自定义动画(CSV)
预设动作和语音编排之外,还可以录制自己的动画文件(CSV 帧序列),存在 lelamp/recordings/ 目录下(如 idle.csv、home.csv、dance_normal.csv)。
方式一:把当前姿势录为 home(最简单)
- 手动把灯摆成你想要的姿势
- 在 Pi 上执行:
cd ~/lelampv2
uv run scripts/go_home.py --save
- 验证:对 LeLamp 说"回家" → 你应看到它回到你刚录的那个姿势
方式二:WebUI 校准自动生成
在 Web 界面完成舵机校准后,系统会自动把校准姿势写入 home.csv,无需手动操作。
方式三:程序生成舞蹈动画
uv run scripts/gen_dance.py
会生成 dance_normal.csv、dance_excited.csv 等舞蹈帧序列(音乐联动跳舞模式会自动按音量切换播放它们)。
四、播放与设为默认
播放自定义动画:
- 语音:说"回家"播放 home.csv 姿势;说录音动画的中文名(如"睡觉")播放对应 CSV(文件名 → 中文名的映射在
name_mapping.json,改名无需改代码) - WebUI:动画页面会自动列出 recordings 目录下的所有 CSV 动画,点选即播
设为默认(开机动画): LeLamp 开机顺序是:回 home 姿势(播放 home.csv)→ 停留 3.5 秒 → 播放 idle.csv 待机动画。想把你的动画设为默认待机动画:
- 把你的 CSV 命名为
idle.csv(先备份原文件) - 放到
lelamp/recordings/覆盖 - 重启服务 → 你应看到开机后播放的是你的新动画
五、常见问题
| 问题 | 处理 |
|---|---|
| "先左摆再点头"没反应 | 该表达依赖 v2 AI 理解(延迟 1-3 秒),确认当前是 v2 LLM 模式;v1 关键词只能直触发"跳个舞"等固定词 |
| 动作幅度总是不够大 | 安全范围 clamp 保护所致,属正常;把大动作拆成多帧小步进效果更好 |
| 关节名说错/写错 | AI 会自动纠正近似名(difflib),完全未知的关节会被忽略并警告 |
| 自定义 CSV 不生效 | 检查文件是否在 lelamp/recordings/、文件名是否正确(含扩展名)、改后是否重启服务 |
| 动画播完停在不自然的位置 | 正常会自动插值回 idle,稍等片刻;若长时间不回位,说"回家"或重启服务 |
| 待机姿势是"后仰"的 | 旧 idle.csv 符号错误,重新录制标准 idle 姿势覆盖 |
纠错,疑问,交流: 请进入讨论区或 请点击进入页面,扫码加入微信群或Q群进行交流
获取最新文章: 扫一扫加入“创客智造”公众号


















