最近,越来越多小伙伴转行到了具身智能领域。

其实自动驾驶和具身智能,在感知、Transformer、端到端学习、强化学习、仿真及数据闭环等多个技术上是可以迁移的。

但具身智能有一个蛮有意思的点,那就是机器人可以完成跳舞、下蹲、行走甚至复杂的全身动作,却很难完成夹起一个鸡蛋这种看起来简单的任务。

不是夹鸡蛋的动作更复杂,而是两类任务面对的控制问题不同。

跳舞主要考验机器人对自身身体运动的协调和控制,而夹鸡蛋要求机器人在运动之外,还要处理接触、摩擦、受力以及物体状态变化。

这其实也是具身智能与自动驾驶一个很重要的区别,汽车主要控制自己如何运动,机器人还需要学会如何通过运动去影响外部世界。

01

为什么跳舞可以很复杂

夹鸡蛋反而更难?

从运动控制的角度看,让机器人跳舞并不简单。

它需要同时控制多个关节的位置、速度和姿态,还要处理重心变化、身体平衡和执行器响应。

Figure的Helix 02就是一个例子,它能够完成行走、下蹲、用髋部关门等全身协调动作,其全身控制系统并不是简单播放固定轨迹,而是通过学习得到的控制策略完成动作。

打开网易新闻 查看精彩图片

但到了夹起一个鸡蛋这样的任务,控制对象发生了变化。

机器人手指接触鸡蛋之后,需要利用视觉、触觉和本体感知等反馈判断当前抓取状态,并持续调整手指的运动和夹持状态。

夹得太松,物体可能发生滑动;夹得太紧,又可能让脆弱物体承受过大的局部应力。

Figure公开展示的Helix 02已经包含了类似的接触操作。

例如,旋开瓶盖时需要利用触觉调节夹持力和扭矩;推动注射器时需要进行力控制并结合触觉反馈;抓取小物体时也会利用视觉和触觉完成精细定位与接触确认。

因此,两类任务的区别并不只是动作复杂程度不同。跳舞主要是在控制自己的身体,而精细抓取需要在控制自身身体的同时,根据与外部物体的交互结果继续改变动作。

02

真正难的是什么时候需要改变力

如果把夹鸡蛋理解成一个固定的力度控制问题,那就是将问题想简单了。

机器人真正需要建立的是一个连续的反馈过程,其中包括接近物体,发生接触,确认抓取状态,根据反馈建立稳定夹持,在出现滑动或姿态变化时继续调整。

机器人没有接触物体时,可以更多依赖位置、速度和轨迹控制;发生接触之后,则需要根据具体任务加入力、接触状态和柔顺性等约束。

譬如插入一个插头,如果插入方向存在偏差,继续按照原来的轨迹施加推力,可能导致侧向接触力不断增加,最终出现卡滞。

机器人需要根据接触反馈改变运动方向、速度或者姿态。

混合位置/力控制、阻抗控制、导纳控制等方法,解决的也不是让机器人提前知道一个固定的标准力度,而是让机器人在与环境发生物理交互时,根据力和运动状态改变自己的行为。

对于具身智能来说,这种闭环控制能力比单纯生成一段复杂动作更加重要。

03

为什么接触问题会更复杂?

机器人没有接触物体时,很多运动问题可以主要围绕自身状态进行规划。

一旦手指、机械臂或者身体其他部位与物体发生接触,系统就需要同时面对接触几何、摩擦、碰撞、柔顺性和物体状态变化等问题。

还是以夹鸡蛋为例。

手指与蛋壳之间的摩擦特性,会影响抓取时抵抗滑动的能力;接触位置和姿态会影响局部受力;手指和执行器自身的柔顺性,也会改变接触过程。

所以机器人需要获得的不只是手现在在哪里,还包括接触发生之后的反馈信息。

打开网易新闻 查看精彩图片

NVIDIA Research的IndustReal项目就展示了接触丰富型操作对机器人控制的要求。

研究人员让Franka Panda和UR10e机械臂完成装配类任务,并通过仿真到现实的方式进行技能迁移,在600次真实世界试验中,不同任务取得了83%到99%的成功率。

这里的数据针对的是特定机器人和装配任务,并不能代表机器人已经可以泛化解决现实世界中的各种操作。

但它至少说明了一个问题,那就是当机器人开始进行插入、装配等操作时,精准运动本身并不够,还必须处理真实世界中的接触和误差。

04

为什么机器人需要触觉?

具身智能相较于自动驾驶,最明显的一个区别就是多了触觉信息。

视觉可以帮助机器人获得外部环境和物体的形状、位置、姿态等信息;发生接触之后,触觉可以进一步提供接触区域、压力分布和局部受力变化,并帮助系统判断是否发生滑动。

但机器人使用的力觉和触觉本身也有不同层次。

末端6维力/力矩传感器可以测量末端受到的整体力和力矩;关节力矩传感或者基于电机状态的力估计,可以帮助系统判断机械臂内部的受力状态;安装在指尖的触觉传感器,则可以提供更加局部的接触信息。

打开网易新闻 查看精彩图片

Figure的Helix 02就是一个典型案例。

Figure表示,其指尖触觉传感器能够检测低至约3克的力。系统同时使用头部摄像头、手掌摄像头、指尖触觉和本体感知,并将这些信息连接到机器人控制系统。

Helix 02还采用了分层控制架构,System 1以200 Hz生成全身关节目标,System 0则以1 kHz运行学习得到的全身控制器,处理更高频的身体协调、平衡和接触控制。

这里有一个值得自动驾驶工程师注意的地方,那就是大模型或者高层策略并不需要直接控制每一个电机。

更高层系统负责理解任务、场景和动作目标,下面的控制系统则在更高频率下处理身体状态、接触和执行器响应。

这种分层思路和自动驾驶中的决策、规划、控制分层存在相似之处,但机器人对实时接触反馈的依赖更加明显。

05

为什么自动驾驶经验不能原封不动搬到机器人?

自动驾驶和具身智能确实存在大量技术交集。

正如前文所述,视觉感知、Transformer、端到端学习、强化学习、仿真和数据闭环等方法,都可以在两个领域之间迁移。

但能够迁移的是方法和经验,而不是完整的控制问题。

自动驾驶的感知、预测和规划,仅是围绕车辆、行人和道路环境的空间状态及其未来变化展开。车辆在正常驾驶过程中,还需要尽量避免与外部物体发生非预期的物理接触。

打开网易新闻 查看精彩图片

机器人却经常需要主动建立接触。

要旋开瓶盖,需要抓住瓶盖;要插入插头,需要让插头与插座发生接触;要拿起鸡蛋,则需要让手指与蛋壳建立稳定接触。

所以汽车面对的是如何避免错误的物理接触,而机器人面对的却是如何建立正确的物理接触。

这会直接改变控制问题。

机器人除了需要理解物体的位置、姿态和运动状态,还需要处理接触位置、摩擦、柔顺性、物体变形以及接触后的状态变化。

因此,自动驾驶工程师进入具身智能之后,感知、模型训练和数据闭环等经验仍然有价值,但控制问题不能直接照搬。

还有一个容易被忽略的问题,那就是机器人自己换了身体,模型可能就不一样了。

同一个模型换到不同机器人上,操作结果不一定相同。

机械臂的关节摩擦、惯量、刚度、柔顺性、执行器响应和末端负载都会影响实际运动。同一条轨迹在不同硬件上执行,最终产生的运动和接触结果可能存在差异。

Agility Robotics联合创始人、首席机器人官Jonathan Hurst在讨论Physical AI时也强调,即使机器人外形看起来接近人类,其关节摩擦、惯量和柔顺性等动力学特性仍然可能不同,而硬件动力学会直接影响控制系统与现实世界的交互方式。

此外,具身智能的工作环境不仅会改变,其身体也会变。

所以模型需要面对的不只是换一个场景还能不能工作的问题,还需要解决换一个机器人身体还能不能工作。

06

为什么从仿真到现实在机器人上尤其难?

同样是仿真,对于具身智能来说,对仿真的要求会进一步深入到接触过程。

如果机器人执行行走任务,仿真需要较好地描述身体运动、动力学以及环境碰撞。

但如果机器人要抓取、插入、装配,就需要更加准确地处理接触几何、摩擦、碰撞、材料和柔顺性,同时还要考虑执行器响应和传感器噪声。

如果进一步加入视觉触觉传感器,仿真还要面对接触形变、成像和光照等问题。

打开网易新闻 查看精彩图片

NVIDIA Research的TacSL项目就是针对这一问题开发的视觉触觉仿真系统。

研究人员表示,该系统在模拟视觉触觉图像和接触力分布时,相比此前的先进方法可以达到超过200倍的速度提升。

随后出现的VT-Refine,则进一步将真实视觉、触觉示范、高保真触觉仿真和强化学习结合起来,用于双臂接触丰富型装配任务。

这说明机器人仿真的目标正在从让机器人运动得像人进一步扩展到让机器人与物体接触时的物理反馈也尽可能接近现实。

07

机器人数据闭环也和自动驾驶不完全一样?

自动驾驶的数据闭环一般围绕感知、预测、规划、控制以及车辆状态展开。

机器人则需要把数据继续延伸到接触之后。

一段完整的机器人操作数据,可能同时包含视觉信息、机器人关节状态、动作指令、接触状态、力/触觉信息、物体状态变化以及下一步动作。

这说明机器人训练数据不仅需要记录机器人做了什么,还需要记录机器人做完之后发生了什么。

打开网易新闻 查看精彩图片

Agility Robotics公开介绍其机器人训练数据来源时提到遥操作、仿真和公开数据等方式。遥操作过程中可以采集摄像头画面、关节位置、力读数、末端执行器位置等信息。

这也是机器人数据闭环和自动驾驶数据闭环的一个重要区别。

自动驾驶的大量数据来自车辆在真实道路上的长期运行,而机器人还需要通过遥操作、仿真等方式获取大量高质量的动作与反馈数据,尤其是那些真实世界中难以大量重复采集的接触操作。

08

最后的话

所以,机器人可以跳舞,却很难夹起鸡蛋并不是说机器人连简单动作都做不好,而是两类任务对控制系统提出了不同要求。

跳舞更多展示机器人能否协调自身身体完成复杂运动,而夹鸡蛋则要求机器人在接触物体之后,根据视觉、触觉和本体状态不断修正动作。

前者解决的是身体怎么动的问题,后者进一步涉及身体动了之后,世界发生了什么。