Pepper机器人动画在Choregraphe正常,打包部署后无法运行求助
解决Pepper离线运行时自定义动画不执行的问题
核心问题根源
你遇到的问题本质是自定义动画资源未被正确打包部署到机器人,同时Python脚本中动画路径的格式不符合Pepper的资源加载规则。
解决方案1:正确打包动画资源
- 在Choregraphe中规范管理资源:
- 右键项目根目录 → 选择
Add > Folder,命名为animations - 将
vacuum.xar拖入这个新建的animations文件夹 - 右键该动画文件 → 勾选
Include in package,确保打包时资源会被同步到机器人
- 右键项目根目录 → 选择
- 重新部署项目:
- 点击Choregraphe顶部的
Package and install to robot按钮,选择覆盖原有项目 - 部署完成后,重启机器人的项目服务(或直接重启机器人)
- 点击Choregraphe顶部的
解决方案2:修正Python脚本的动画路径
Pepper加载本地动画时,需使用符合规则的路径格式,正确写法如下:
# 推荐:使用项目内相对资源路径 animation_path = "animations/vacuum.xar" # 或者使用机器人上的绝对路径(需替换为你的项目ID) # animation_path = "/home/nao/.local/share/PackageManager/apps/你的项目ID/animations/vacuum.xar" # 调用动画的示例代码 motion_service = session.service("ALMotion") motion_service.runAnimation(animation_path)
注意:项目ID可在Choregraphe项目属性中查看(右键项目 → Properties → ID),不要手动在机器人上创建文件夹,所有资源必须通过Choregraphe打包同步。
解决方案3:排查触发逻辑与日志
- 检查对话框输出与动画节点的连接:确保两者是同步触发,没有被错误的条件节点阻塞
- 查看机器人运行日志定位问题:
- 通过SSH连接机器人(
ssh nao@机器人IP,默认密码nao) - 执行命令查看项目日志:
tail -f /var/log/naoqi/servicemanager/你的项目ID.log,动画加载失败的错误会在这里明确显示
- 通过SSH连接机器人(
额外建议
优先使用Choregraphe自带的Animation Player节点,只需在节点属性中选择打包好的vacuum.xar即可,无需手动编写Python脚本,这种方式在离线运行时稳定性更高,也避免路径配置错误。
内容的提问来源于stack exchange,提问作者MerseysideMorph
相关产品推荐
相关产品推荐

