17自由度云端情绪陪伴机器人运动控制系统开发总结
17自由度云端情绪陪伴机器人运动控制系统开发总结一、项目背景本项目以17自由度人形机器人为载体基于 SmartRobot2025 上位机软件和 SmartRobot 32 路舵机控制器完成机器人从硬件组装、舵机校准、动作开发到复合动作设计的完整开发流程并为后续接入云端 Agent、情绪识别和情绪陪伴系统提供运动控制基础。项目目标不仅是让机器人“能够运动”更重要的是让机器人具备基础交互能力和情绪表达能力使其能够完成礼仪动作、舞蹈动作、交通指挥动作以及边走边招手等复合交互动作逐步形成具有表达性和互动性的情绪陪伴机器人。整个开发过程涉及机器人机械结构理解与自由度分析多舵机协同控制串口通信协议与PWM控制舵机偏差补偿与软件校准行为建模与关键帧建模多自由度轨迹规划动态平衡控制与步态规划动作镜像生成与动作复用多动作融合与分层控制设计项目最终完成多个稳定运行的动作组并逐步形成了一套完整的机器人动作开发方法论。二、硬件平台搭建1. 17自由度人形机器人组装按照安装说明书完成机器人从零部件到完整结构的搭建。机器人主要由下肢结构大脚板脚踝关节小腿结构大腿结构胯部连接机构上肢结构躯干肩部手臂手腕共同组成完整的人形机器人。17个自由度赋予机器人双腿独立运动能力双臂独立运动能力躯干姿态调整能力礼仪与情绪表达能力在组装过程中逐渐理解到机械结构决定运动能力上限。任何支架安装误差、舵盘安装角度偏差以及螺丝固定误差都会直接影响后续动作精度和稳定性。因此硬件组装不仅是零件拼接更是理解机器人运动学结构和关节布局的过程。2. 舵机安装与校准所有舵机出厂默认中位P1500安装时需要保证舵机回中金属舵盘与结构件对齐左右肢体保持对称随后建立偏差B值校准文件实际输出位置 P值 B值例如P1500 B 50 实际输出 1550通过逐个关节微调使机器人达到手臂自然下垂双腿略微后弯左右姿态对称站姿稳定最终完成17个舵机的偏差校准。这一阶段本质上完成了机械误差的软件补偿。使后续动作文件能够在不同机器人之间复用而无需重新修改全部动作数据。三、控制系统开发机器人采用 SmartRobot 32 路舵机控制器进行控制。系统连接方式USB ↓ 串口驱动 ↓ 115200波特率 ↓ SmartRobot2025上位机 ↓ 32路舵机控制器 ↓ PWM输出 ↓ 舵机执行动作单舵机控制指令#5 P1600 T500表示5号舵机在500ms内运动到1600位置。多舵机同步控制#5 P1600 #6 P1200 #7 P1800 T500控制器负责动作指令 ↓ 串口协议解析 ↓ PWM信号生成 ↓ 舵机驱动 ↓ 机器人运动控制器实际上完成了高层动作指令到底层硬件控制的转换。四、机器人动作开发流程整个动作开发过程并不是简单拖动舵机而是逐步形成了一套完整的运动控制设计流程。第一步动作需求分析首先根据机器人的应用场景结合AI建议筛选适合开发的动作。主要开发了三类动作礼仪动作挥手致谢鞠躬表演动作舞蹈交通指挥运动动作前进两步前进招手动作筛选主要考虑三个维度1语义表达能力动作能否传递明确含义。例如挥手表示问候致谢表示礼仪交通指挥表示引导。2机械可实现性17自由度是否能够完成该动作。3动作稳定性动作是否容易导致机器人失衡或摔倒。这个阶段实际上先确定做什么动作。第二步舵机功能分解在确定动作方向后首先根据17个舵机的位置布局和机械结构对舵机进行功能分工。下半身舵机#3~#12主要负责脚踝旋转脚掌翻转膝关节弯曲髋关节运动重心转移行走步态例如6号和9号舵机负责抬腿动作7号和8号舵机负责脚板左右翻转和重心调整。它们直接决定机器人能否站稳能否完成单脚支撑能否实现稳定行走。上半身舵机#21~#27主要负责肩部旋转手臂抬升肘部动作躯干姿态调整承担情绪表达礼仪动作交互展示例如挥手动作主要使用#21~#27而前进动作主要使用#3~#12这种分层思想为后续复合动作融合奠定了基础。第三步动作建模确定动作后并没有立即调舵机而是先进行动作抽象建模。核心思想将连续动作拆解为若干关键姿态。例如挥手站立 ↓ 抬手 ↓ 向左摆动 ↓ 向右摆动 ↓ 停顿 ↓ 收手 ↓ 回中前进两步站立 ↓ 重心左移 ↓ 右腿抬起 ↓ 右腿落地 ↓ 重心右移 ↓ 左腿抬起 ↓ 左腿落地 ↓ 恢复站立交通指挥站立 ↓ 抬手 ↓ 发出指令 ↓ 停顿强化 ↓ 切换方向 ↓ 收回致谢动作站稳 ↓ 身体偏转 ↓ 抬手 ↓ 致谢停顿 ↓ 回收动作 ↓ 恢复站立这一阶段实际上完成的是行为建模Behavior Modeling以及关键帧建模Keyframe Modeling机器人动作由连续运动问题转化为有限关键姿态序列问题。第四步关键帧数据构建确定关键姿态后开始在 SmartRobot2025 上位机中逐帧调试。流程如下舵机回中P1500↓调整单个舵机观察手臂姿态腿部姿态身体倾斜重心变化↓调整多个舵机协同形成目标姿态。例如鞠躬动作腿部后移 躯干前倾 手臂自然下垂并不是一次完成而是不断循环观察 ↓ 修改 ↓ 在线运行 ↓ 重新调整经过大量试错逐渐得到每个关键姿态的舵机数据。最终形成Table1ID5/IDMove#3 P1802 #4 P1477 ……/MoveTimeT750/Time/Table1每一帧本质上就是17维关节空间中的一个离散姿态点。第五步关键帧串联与轨迹生成当所有关键帧稳定后再按照动作逻辑进行串联。例如挥手12帧前进两步12帧舞蹈148帧前进招手32帧。每一帧由Move Time共同组成姿态点 时间轴控制器会自动完成上一帧↓当前帧之间的位置插值。因此机器人动作本质上已经不再是简单的位置跳变而是多自由度关节轨迹规划问题。第六步时间参数调优在开发过程中发现时间参数甚至比姿态参数更加重要。例如前进动作T400速度快容易摔倒。T550基本稳定。T700非常稳定但动作缓慢。因此需要不断调整T200T300T500T700T1000寻找动作表现与机器人稳定性之间的平衡。第七步在线调试与脱机验证每个动作均经历在线运行观察是否抖动是否卡死是否碰撞是否倾倒是否存在动作突变发现问题立即修改。随后下载至控制器Flash进行脱机运行验证确保机器人脱离电脑后仍能够稳定独立执行动作。第八步动作优化与复用随着动作数量增加逐渐形成动作库思想。礼仪动作库挥手致谢鞠躬表演动作库舞蹈交通指挥运动动作库前进前进招手同时掌握镜像生成技术例如左致谢↓参数镜像↓右致谢无需重新开发。显著提升了动作开发效率。五、复合动作开发——前进招手项目后期完成了复合动作前进招手开发流程动作拆解前进负责步态。挥手负责表达。分层控制下半身#3~#12负责动态平衡步态规划重心转移。上半身#21~#27负责招手表达情绪展示。时间轴对齐统一T1000T750T500T300使走路节奏与招手节奏保持同步。幅度衰减实验发现直接融合挥手动作容易导致机器人侧翻。因此采用新幅度 原幅度 × 衰减系数减小上半身横向扰动。最终实现前进招手动作成功率10/10实现机器人边前进边招手的复合交互效果。六、阶段性成果与技术收获本阶段共完成硬件部分17自由度机器人组装17个舵机安装与校准偏差文件建立基础控制部分SmartRobot2025环境搭建串口通信配置PWM控制理解多舵机联动控制动作开发部分挥手动作鞠躬动作致谢动作交通指挥动作前进两步动作148帧舞蹈动作编排前进招手复合动作方法论积累形成了一套完整的机器人动作开发流程动作需求分析→ 舵机功能分解→ 行为建模→ 关键帧设计→ 上位机逐帧调试→ 轨迹生成与时间规划→ 在线验证→ 脱机验证→ 动作优化与复用→ 复合动作融合七、总结通过本项目开发思维逐渐从调一个舵机让机器人动起来提升到将机器人动作视为多自由度系统的轨迹规划、动态平衡控制和行为建模问题。项目不仅完成了多个稳定运行的动作文件更形成了关键帧建模 分层控制 时间轴规划 动态平衡优化 动作复用生成的一整套机器人运动控制开发方法为后续接入云端 Agent、情绪识别以及智能情绪陪伴系统奠定了坚实的运动控制基础。