拓冰建站拓冰建站
首页 / 资讯中心 / 正文

基于多智能体强化学习的人形机器人与人协同搬运系统设计与实践

1. 项目概述从认知到控制的协同搬运最近在实验室里折腾一个挺有意思的课题我们称之为“从认知到控制”——基于多智能体学习的人形机器人与人协同搬运。简单来说就是让一个人形机器人比如波士顿动力的Atlas或者我们实验室自己搭的双足机器人和一个真人能够像两个人类伙伴一样默契地配合一起搬动一张桌子、一个箱子或者任何形状不规则、重量不轻的物体。这听起来像是科幻电影里的场景但背后涉及的核心技术正是当前机器人学和人工智能交叉领域最前沿的多智能体强化学习。为什么这个课题如此吸引人因为纯粹的机器人自主搬运或者纯粹由人类主导的搬运方案都相对成熟。但“人机协同”这个场景充满了动态的不确定性和高度的实时交互需求。机器人不仅要理解自身的状态和任务目标更要实时“读懂”人类伙伴的意图、预测其动作、并调整自己的出力策略确保搬运过程平稳、高效且对人类绝对安全。这不再是简单的“感知-规划-执行”单循环而是一个需要持续进行意图推断、策略协调和动态控制的复杂认知控制闭环。我们希望通过多智能体学习的框架让机器人在这个闭环中从一个笨拙的执行者进化成一个真正拥有“协作认知”能力的伙伴。2. 核心思路与系统架构设计2.1 问题定义与挑战拆解人-人形机器人协同搬运本质上是一个异构多智能体协作问题。两个智能体人和机器人共享一个共同的目标如将物体从A点平稳移动到B点但他们的感知能力、行动能力、决策模型和通信方式截然不同。核心挑战集中在几个方面意图理解与预测的不对称性人类可以通过语言、手势甚至眼神传递意图但机器人主要依赖传感器力/力矩传感器、视觉来推断。这种推断存在噪声和延迟且人类意图可能随时改变。动力学模型的异构性人形机器人通常由高维、非线性的动力学方程描述控制精度高但灵活性受限人类则拥有极其精妙的运动控制能力和丰富的本体感知但出力模型难以精确量化。安全与舒适的权衡协作中机器人任何突兀或过大的力都可能让人感到不适甚至危险。因此机器人的控制策略必须在追求任务效率快速搬运和保证人机交互的柔顺性、安全性之间找到平衡。部分可观测性每个智能体都只能获得全局状态的一部分信息。机器人不知道人类肌肉的紧张程度人类也无法直接读取机器人的电机电流和目标轨迹。他们需要在信息不完整的情况下做出协同决策。我们的思路是将这个问题建模为一个部分可观测马尔可夫决策过程下的协同多智能体强化学习问题。我们不预设复杂的物理交互模型或固定的协作协议而是让智能体在与环境包括对方的交互中通过试错学习出最优的协同策略。2.2 整体系统架构我们设计的系统架构包含感知、认知、控制三个核心层形成一个从“认知”到“控制”的流水线。[环境物体人机器人] | v [感知层]多模态传感器融合 (RGB-D相机 IMU 六维力/力矩传感器) |-- 状态估计 (物体位姿、人类抓握点估计、机器人本体状态) | v [认知层]多智能体策略网络 (基于Actor-Attention-Critic的变体) |-- 意图编码器 (编码人类动作序列为潜在意图) |-- 注意力机制 (机器人关注人类动作的关键时空特征) |-- 协同价值函数 (评估联合动作的长期收益) | v [控制层]分层控制器 |-- 高层基于学习的协同策略输出期望的机器人末端导纳/阻抗参数 |-- 底层基于模型的全身控制 (WBC) 或 力位混合控制 跟踪高层指令架构设计的核心考量感知层我们强调力觉感知的优先性。在紧密物理交互中视觉信息可能被遮挡且存在延迟。安装在机器人手腕或躯干的六维力/力矩传感器能提供最直接、最快速的交互力反馈这是实现柔顺、安全控制的基础。视觉RGB-D则用于初始的目标物体定位、人类姿态估计和全局场景理解。认知层这是项目的灵魂。我们放弃了让两个智能体学习完全独立的策略因为那极易导致不协调。我们采用了一种集中式训练、分布式执行的范式。在训练时一个“评论家”网络可以访问所有智能体的观测信息从而学习一个更准确的协同价值函数用于指导各个“演员”网络的更新。而在执行时每个智能体这里特指机器人只依赖自身的局部观测来做出决策。为了处理人类意图的时序特性我们在策略网络中引入了循环神经网络单元为了聚焦关键信息我们加入了注意力机制让机器人学会在人类动作序列中“关注”那些对预测其施力方向和大小最重要的时刻。控制层学习到的策略输出通常是抽象的如期望的交互力、或期望的协同运动方向。我们需要一个鲁棒的底层控制器将其转化为机器人的关节扭矩指令。这里我们采用了分层方案高层策略输出期望的机器人末端导纳模型参数即期望的惯性、阻尼和刚度底层则使用全身控制来跟踪这个时变的导纳模型所生成的期望轨迹。这样当人类用力拉或推时机器人会根据学习到的策略动态调整自身的“柔顺度”实现自然的跟随或主动施力。3. 多智能体强化学习算法核心解析3.1 算法选型为什么是Actor-Attention-Critic在多智能体强化学习领域MADDPG是一个经典起点但其简单的集中式评论家可能无法有效处理智能体间复杂的动态依赖关系。在我们的场景中人类和机器人的相互影响是随时间变化的且强度不同。例如在启动阶段人类的主导作用更强在匀速搬运阶段双方需要均衡出力在转向时某一方可能需要承担更多的引导责任。因此我们借鉴了Actor-Attention-Critic的思想并针对人机协同物理交互进行了定制。其核心改进在于评论家网络。我们的协同评论家网络结构如下个体观测编码分别将机器人的观测向量o_robot和估计的人类动作/意图编码h_human通过独立的全连接层进行编码。注意力层将编码后的人类特征作为“键”和“值”机器人的特征作为“查询”。通过缩放点积注意力机制计算机器人应该对人类特征的关注权重。这允许机器人动态地决定在当前状态下人类行为的哪些方面对自己的决策最有价值。例如当传感器检测到侧向力突然增大时注意力机制可能会更关注人类最近几帧的横向移动趋势。协同特征融合将加权后的人类特征与机器人自身的特征进行拼接形成一个融合的协同特征表示。联合动作评估将融合特征与机器人的动作a_robot再次拼接通过后续的全连接网络输出一个Q值表示在当前状态融合认知下执行该动作的长期期望回报。演员网络则相对标准它以机器人的局部观测为输入输出其动作如期望的末端导纳参数或力矢量。但在训练时它受到那个“更聪明”的、带注意力的评论家网络的指导。注意训练这个网络需要在仿真环境中进行大量的人-机交互模拟。我们使用PyBullet或MuJoCo构建物理仿真环境并设计一个基于策略的人类行为模型来替代真人用于生成交互数据。这个人类模型本身也可以是一个简单的控制器或者从真人演示数据中学习得到。3.2 回报函数设计引导智能体学会“好”的协作回报函数是指引智能体学习的“指挥棒”。一个糟糕的回报函数会让学习过程南辕北辙。我们设计的回报函数是多项子奖励的加权和R_total w1 * R_task w2 * R_effort w3 * R_safety w4 * R_comfort w5 * R_communication任务奖励 R_task这是最基本的一项。我们定义物体重心到目标点的距离负值作为奖励。为了鼓励平稳还会加入物体姿态角速度的惩罚防止摇晃。努力度奖励 R_effort惩罚机器人关节扭矩的平方和。这鼓励机器人用“巧劲”而非“蛮力”找到高效的施力方式也间接节省能耗。安全奖励 R_safety这是重中之重。我们设置了几重安全约束交互力约束当机器人与人类之间的交互力超过某个安全阈值时施加大的负奖励。运动学约束惩罚机器人关节位置、速度接近极限的情况。距离约束惩罚机器人末端与人体关键部位由视觉估计距离过近。舒适度奖励 R_comfort这部分更微妙旨在提升人的主观体验。我们尝试用交互力的平滑度加速度来度量。机器人施加力的变化越剧烈人可能感觉越“突兀”和“不适”。因此我们会惩罚交互力导数的范数。隐式通信奖励 R_communication我们希望通过奖励来鼓励一种“可预测性”。例如当机器人检测到人类意图改变如力方向变化时如果它能快速、平滑地调整自身施力以适应这种变化就给予正奖励。这相当于鼓励机器人主动“理解”并“响应”人类形成一种隐式的沟通。权重调参心得初期训练应赋予R_task和R_safety较高的权重确保智能体至少能以一种安全的方式向目标移动。待基本策略成型后再逐步引入R_comfort和R_communication的权重对策略进行“精修”。这个过程需要反复在仿真中调试观察。4. 仿真到实物的迁移与实操部署4.1 高保真仿真环境搭建在真实机器人上直接进行强化学习试错成本极高且危险。因此一个高保真的仿真环境至关重要。我们的仿真栈基于PyBullet和ROS机器人模型导入精确的URDF文件包含质量、惯性、关节摩擦和阻尼等参数。务必校准仿真与实物的关节零位和力传感器零点。交互物体与人类模型物体模型需设置合理的质量、质心和摩擦系数。人类模型我们采用一个简化的“骨架”模型其“手部”由一个可控制的运动学节点模拟并可以施加作用力。人类的行为由另一个策略网络或预设的脚本控制用于和机器人智能体进行对抗训练或协作训练。传感器模拟在仿真中完美模拟力传感器是难点。PyBullet允许直接读取链接间的接触力。我们通过添加一个虚拟的“力传感器”链接并计算其与物体或环境之间的约束力来模拟六维力/力矩。需要加入高斯白噪声来模拟真实传感器的特性。控制接口在仿真中我们通常直接给关节施加扭矩控制指令。但在部署到实物时可能需要转换为位置或速度指令。因此在仿真训练后期我们引入了与实物相同的底层控制器如WBC让策略网络学习输出高层指令如期望力再由这个控制器生成关节指令从而减少动力学差异。4.2 域随机化与系统辨识仿真和现实之间的差距Sim2Real Gap是拦路虎。我们采用域随机化来提升策略的鲁棒性。物理参数随机化在每一轮训练开始前随机化物体质量±20%、摩擦系数、机器人关节的阻尼和驱动增益等。视觉外观随机化如果策略用到视觉则随机化纹理、光照、背景。延迟与噪声随机化在观测输入中随机加入时变延迟和不同强度的噪声。此外在实物机器人上电后我们会进行一个快速的系统辨识流程主要辨识关节的摩擦参数和力传感器的零偏并在将策略部署前用这些更新后的参数微调仿真模型或直接对策略网络进行少量步骤的在线适应学习。4.3 实物部署与安全监控回路将训练好的策略部署到真实人形机器人上必须慎之又慎。我们的部署流程策略蒸馏与简化将复杂的策略网络特别是带注意力机制的评论家进行蒸馏得到一个更轻量、运行频率更高如500Hz的演员网络用于实时控制。中间件封装将策略封装为ROS节点。输入订阅关节状态、IMU数据、力传感器数据、视觉处理节点发布的人体关键点/物体位姿。输出发布期望的末端导纳参数或期望力。安全监控节点这是一个独立于学习策略的、基于规则的高优先级守护进程。它持续监控交互力是否超过绝对安全阈值。机器人自碰撞或与人的距离。系统状态是否异常如状态估计发散。 一旦触发任何一条安全规则该节点会立即向底层控制器发送“零力矩”或“松驰”指令使机器人进入重力补偿模式确保立即停止。分阶段测试阶段一空载让机器人独自运行策略观察其运动是否自然底层控制是否稳定。阶段二与静态负载交互让人握住一个固定物体机器人尝试协作搬运但人保持静止。测试机器人在不同方向上的施力和柔顺性。阶段三与动态人类模型交互由一位经验丰富的操作员按照预设的简单轨迹如直线移动与机器人协作。操作员需随时准备接管。阶段四自由协作在严密监护下进行小范围、低速度的自由协作测试。5. 典型问题排查与性能优化实录在实际开发和实验过程中我们遇到了无数坑。这里记录几个最典型的问题和解决思路。5.1 策略学习不稳定或发散现象训练曲线剧烈震荡回报值无法收敛甚至越来越差。排查与解决检查回报函数这是最常见的原因。某个奖励项的权重过大可能导致奇怪的局部最优。例如如果R_effort权重过高机器人可能学会完全不出力依赖人类搬运。解决方法可视化每个子奖励项在训练过程中的变化调整权重并尝试使用奖励塑形提供更密集的中间奖励。探索不足在协同问题中如果初始策略很差双方都无法完成任务导致没有正奖励学习停滞。解决方法采用课程学习。先从简单的任务开始例如物体质量很轻、目标距离很近。随着策略进步逐步增加任务难度。也可以为人类模型引入随机探索噪声。评论家过拟合集中式评论家网络过于复杂记住了特定的状态-动作对但泛化能力差。解决方法使用更深的网络时务必配合Dropout、LayerNorm等正则化技术。同时可以定期用旧的策略网络生成的数据来更新评论家类似于DQN中的经验回放。5.2 仿真策略在实物上表现“僵硬”或振荡现象仿真中搬运流畅但在实物上机器人动作抽搐或与人交互时感觉非常“生硬”。排查与解决动力学差异仿真的电机模型太理想而实物电机有响应延迟、扭矩饱和和纹波。解决方法在仿真中引入更真实的电机模型如一阶或二阶延迟模型并进行域随机化。控制频率不匹配策略网络在仿真中以固定频率如50Hz运行但实物上由于传感器数据同步、网络通信等原因控制频率不稳定或更低。解决方法在仿真中就以实物预期的或更低的控制频率进行训练。确保策略网络能处理非均匀的时间间隔使用RNN或对观测做差分处理。状态估计误差实物上的物体位姿、人体姿态估计存在噪声和延迟直接输入给策略导致决策错误。解决方法在策略网络的输入层之前添加一个状态滤波器如卡尔曼滤波器或简单的低通滤波器。更优的方案是让策略网络在训练时就接受带噪声的观测提升其鲁棒性。5.3 人机交互力存在持续低频振荡现象在平稳搬运阶段通过力传感器能观察到人与机器人之间的交互力存在频率较低1-3Hz的持续振荡虽然物体仍在移动但人会觉得“一直在较劲”。排查与解决底层控制器刚度太高即使高层策略输出了较小的期望刚度底层阻抗/导纳控制的实际刚度可能仍然过高导致系统闭环带宽高容易激发共振。解决方法仔细调试底层控制器的阻抗参数在保证稳定性的前提下尽可能降低刚度和惯性提高阻尼。策略延迟从传感器读数到策略计算再到扭矩输出整个回路延迟过大导致控制指令“滞后”于实际状态形成正反馈振荡。解决方法优化代码使用更轻量网络并尝试让策略网络预测未来状态。即输入当前观测但输出是针对未来某个时刻如50ms后的动作以补偿系统延迟。双智能体间的“博弈”在训练中如果奖励函数设计不当可能导致人和机器人陷入一种微妙的对抗性平衡双方都在不断调整以优化自己的回报从而产生振荡。解决方法检查回报函数确保它强烈鼓励力的一致性。例如增加对交互力变化率即力微分的惩罚项或者增加对双方施力方向对齐程度的正奖励。这个项目就像在教机器人跳一场精密的双人舞每一步都需要对伙伴的意图心领神会。从构建一个能理解“协作”为何物的智能大脑到让这个大脑通过虚拟世界的大量练习最终安全地控制复杂的机械身躯与真人携手共事每一步都充满了挑战。目前我们的系统在简单的直线搬运任务上已能实现相当自然的协作但面对更复杂的物体、更灵活动作的人类伙伴仍有很长的路要走。未来的方向一个是引入更强大的多模态感知如语音指令的直接理解另一个是探索元学习让机器人能快速适应一个新的人类伙伴的协作风格。这条路很难但每当看到机器人终于和人一起稳稳当当地搬起东西时那种感觉确实很棒。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门