turtlebot3-burger_150.png
turtlebot3-waffle-pi_150.png
turtlebot3-arm_150.png
walking-y2_150.png
turbot3-multi_150.png
turbot3-dl-ros1_150.png
turbot3-ai.png
turbot3-dl-ros2_150.png
turbot3-slam_150.png
turbot3-arm_150.png
turtlebot4-lite_150.png
turtlebot4-pro_150.png
turbot4-dl_150.png
turbot4-ai_150.png
aidriving-racebot_150.png
aidriving-autodrive_150.png
turtlebot-arm_150.png
openmanipulator-x_150.png
Home » 智能台灯LeLampX快速入门教程 » 智能台灯LeLampX快速入门教程-动作编排

智能台灯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_rolwrist_roll);播完自动插值回 idle,无需自己补"回正帧"
  • 播放器会按每帧最大步进自动插值分解,动作再大也顺滑;超出安全范围自动 clamp 保护

想让动作更自然:大动作拆成小步(鞠躬分两帧做)、对称动作成对出现(摆过去 +140 就要摆回来 -140)、活泼动作用小幅度快节奏。

三、录制自定义动画(CSV)

预设动作和语音编排之外,还可以录制自己的动画文件(CSV 帧序列),存在 lelamp/recordings/ 目录下(如 idle.csvhome.csvdance_normal.csv)。

方式一:把当前姿势录为 home(最简单)

  1. 手动把灯摆成你想要的姿势
  2. 在 Pi 上执行:
cd ~/lelampv2
uv run scripts/go_home.py --save
  1. 验证:对 LeLamp 说"回家" → 你应看到它回到你刚录的那个姿势

方式二:WebUI 校准自动生成

在 Web 界面完成舵机校准后,系统会自动把校准姿势写入 home.csv,无需手动操作。

方式三:程序生成舞蹈动画

uv run scripts/gen_dance.py

会生成 dance_normal.csvdance_excited.csv 等舞蹈帧序列(音乐联动跳舞模式会自动按音量切换播放它们)。

四、播放与设为默认

播放自定义动画

  • 语音:说"回家"播放 home.csv 姿势;说录音动画的中文名(如"睡觉")播放对应 CSV(文件名 → 中文名的映射在 name_mapping.json,改名无需改代码)
  • WebUI:动画页面会自动列出 recordings 目录下的所有 CSV 动画,点选即播

设为默认(开机动画): LeLamp 开机顺序是:回 home 姿势(播放 home.csv)→ 停留 3.5 秒 → 播放 idle.csv 待机动画。想把你的动画设为默认待机动画:

  1. 把你的 CSV 命名为 idle.csv先备份原文件
  2. 放到 lelamp/recordings/ 覆盖
  3. 重启服务 → 你应看到开机后播放的是你的新动画

五、常见问题

问题 处理
"先左摆再点头"没反应 该表达依赖 v2 AI 理解(延迟 1-3 秒),确认当前是 v2 LLM 模式;v1 关键词只能直触发"跳个舞"等固定词
动作幅度总是不够大 安全范围 clamp 保护所致,属正常;把大动作拆成多帧小步进效果更好
关节名说错/写错 AI 会自动纠正近似名(difflib),完全未知的关节会被忽略并警告
自定义 CSV 不生效 检查文件是否在 lelamp/recordings/、文件名是否正确(含扩展名)、改后是否重启服务
动画播完停在不自然的位置 正常会自动插值回 idle,稍等片刻;若长时间不回位,说"回家"或重启服务
待机姿势是"后仰"的 旧 idle.csv 符号错误,重新录制标准 idle 姿势覆盖

纠错,疑问,交流: 请进入讨论区请点击进入页面,扫码加入微信群或Q群进行交流

获取最新文章: 扫一扫加入“创客智造”公众号


标签: LeLampX, LeLamp2