文章介绍了人形机器人发展的最新进展,特别是智元机器人发布的灵犀X2机器人的特点和其运动原理。文章详细解释了机器人如何通过学习人类的运动模式来实现行走、跑步等动作,以及机器人在理解人类动作背后的深层逻辑方面的尝试。文章还介绍了智元机器人在模仿学习、数据收集、知识共享等方面的创新,以及大模型在机器人领域的应用前景。
灵犀X2机器人展示了生动的行为,如行走、小跑、骑自行车等,表明人形机器人的发展速度很快。
机器人通过强化学习、模仿学习等技术来理解和模仿人类的运动模式,从而实现各种动作。
机器人通过学习人类的运动模式,尝试理解动作的深层逻辑,从而更好地模仿人类的行为。
智元机器人通过AgiBot World和AgiBot Digital World两个项目,收集了大量的机器人实操数据,并尝试通过模仿学习和知识共享来训练机器人。
大模型有助于机器人理解现实世界的复杂性,通过知识共享和迁移,有望推动人形机器人的突破。
宇树机器人在春晚跳了一场秧歌之后,人们对人形机器人的关注度开始空前高涨。
而就在前天( 3 月 11 日 ),“ 华为天才少年 ” 稚晖君所创立的创业企业智元机器人发布了基于 GO-1 具身智能大模型的智元机器人灵犀 X2 。
灵犀 X2 给我们展现了它行走、小跑、骑自行车、溜滑板、缝线、语音聊天、俏皮的小动作等等生动的行为。
你可能会发现,最近两年人形机器人的发展速度变得很快,机器人越来越像一个有灵魂的 “ 人 ”。
那么,一个有趣的问题来了:人类是如何给机器人 “ 注入灵魂 ” 的呢?
首先,我们要先明白 “ 机器人为什么不会摔倒 ”,明白了这一点,你就知道了机器人是如何运动的。
秘诀在于:大扭矩和平衡术。
机器人的运动,最简单的方式,可以分解为本体运动和肢体运动。
肢体运动包括身体各个关节的旋转、肢体的伸缩等,这就相当于将肢体运动分解为了旋转运动和直线运动。
![]()
而直线运动,是可以通过旋转运动来表达的,比如拧螺丝,就是通过旋转运动达成了直线运动。
![]()
所以,你可以把机器人一切的运动都看作是一系列旋转运动组成的,而达成这些旋转运动,通过电机就可以实现。
![]()
而这之中,又有一个比较关键的点:在机械臂的工作使用中,通常需要有足够大的扭矩,尤其对人形机器人来说,大扭矩的意义特别广泛。
有了大扭矩,机械臂可以施加更强的力,用于举起重物,也能在承载重物时保持稳定,抗干扰能力加强,比如搬运机器人。
由于转速降低( 功率=扭矩*转速,功率相同时扭矩越大转速越低 ),可以精准控制旋转角,从而进行精密操作,同时能够克服组织阻力,比如精密手术机器人。
而最重要的一点是,对于行走、爬坡或跨越障碍,大扭矩意味着机器人能够克服地面摩擦、重力和其他阻力,确保稳定的运动。本体运动可以理解为是机器人通过肢体运动与环境交互( 比如摩擦、推力等 )实现的质心的平移、旋转运动,从而达到包括行走、跑动甚至后空翻等目的。想简单理解这个概念,你可以现在站起来走几步,并且只关注自己的其中一只脚,比如右脚,会发现过程是这样的:- 直到身体被 “ 甩 ” 的快失去平衡了,左脚突然出现,帮你撑住身体。
这个过程,其实很像一个倒立的钟摆向前方一 “ 甩 ” 一 “ 甩 ” 地摆动。没错,在机器人动力学中,确实也会将人形机器人简化为一个线性倒立摆模型,即著名的 LIPM 模型,它能很好地抓住人形机器人运动的基本规律。在这个模型中,假设机器人所有重量集中在一个质心点上,用无质量的杆撑在地面上,在行走时保持质心高度不变。这时,在地面上存在一个点,围绕这个点可以计算出所有水平方向的力矩之和为零,称之为零力矩点,即 ZMP ( Zero Moment Point )。零力矩点说明机器人不会围绕这个点上的平行于这个平面的轴旋转。( 可以理解为不会旋转着摔倒在地 )如果你觉得这样理解太抽象,你可以看看花滑运动员,他们的身体如果围绕身体竖直方向的力矩之和是不为零的,那么其就会开始旋转。大概理解了什么是 ZMP 之后,我可以告诉你一个公式,这个公式就是机器人行走时的 “ 倒立摆 ” 公式:你不需要理解这个东西,你只需要知道我们把 “ 行走 ” 这件事转化成了一个方程,想要走好路,我们要做的就是解方程。
不过,LIPM 模型很简单,他是一个比较理想的模型,生活中很难有完全近似于这个简单模型的运动。比如机器人的速度变化过大,质心变化过大( 比如乱蹦乱跳或跳舞 ),或质心不稳定( 比如抓握物品或身上挂着不稳定的器件 ),都会让实际情况脱离模型,带来很大的平衡难题。所以,你会看到早期的机器人都用小碎步行走,这样可以保持更加平稳的速度以及更小的加速度,从而偏移程度小,更容易保持平衡。而机器人用弯曲的膝盖行走,可以让质心保持在相同高度,更加适配这个极简的模型,也就避免了更多复杂因素的引入。从以上讨论中,我们也可以对运动有一个新的认识角度。行走并不是时刻保持着平衡状态,而是不断处于一只脚制造失衡而另一只脚消除失衡的动态平衡过程,从而推动机器人前进。LIPM 模型讨论的是对机器人运动的限制因素,但在实际运动中,机器人当然并不是按照方程完全被动地行走的,而是先规划一个参考 ZMP 的路线,再按照计算的质心位置和加速度实际去行走,确保在这过程中,实际的 ZMP 与参考 ZMP 尽可能重合,从而保持平衡。![]()
而机器人要在任意时刻保持平衡,就需要保持 ZMP 点( 上图机器人身体下方标记的一个点 )位于支撑多边形内。支撑多边形可以简单理解为上图机器人的接触地面的脚围成的多边形。这太复杂了,看到这里你可能快要晕了,不过没关系,机器自己也不理解,所以,注入灵魂的步骤开始了:我们试图让机器自己学会理解如何去走路、做动作。行走、奔跑等基本的运动行为一般是通过经典 AI 算法强化学习训练得到的,早年一直不用 AI 技术、成本降不下来的波士顿动力现在也在用强化学习来训练 Spot 机器人和 Atlas 机器人。强化学习的原理大致是,比如机器人在行走时,如果采用了正确的步伐或者没有摔倒,就提供奖励,如果采用了错误的步伐或者摔倒了,就进行惩罚。这在游戏的语境中很容易理解,吃豆人吃到豆子了就有奖励,被幽灵抓住了就有惩罚。同样,机器人接收到奖励信号,就会强化当前的行为,接收到惩罚信号,就会弱化当前行为。强化学习基本是机器人学习的底层配置了,但它也有非常大的缺点。机器人又有太多的方式或动作来完成同一个任务,也就是动作空间太大。这就像是在一个非常庞大地图的开放式游戏中,没有特定的任务指引,只能靠一点一点的摸索来获取反馈,这样固然有非常大的创新自由度,比如AlphaGo能够采用人类意想不到的方式来走棋。他的弊端是资源消耗特别大,而且也有可能让机器人用意想不到的方式获取奖励。比如灵犀 X2 机器人训练时会有 “ 抽象 ” 的行走方式,这些方式能够满足 “ 前进 ” 这一目标,但显然不是我们想要的行为,这种现象通常被称为 “ reward hacking ”。![]()
如今,人形机器人有一个发展趋势就是自由度越来越大,比如手指数量和关节数量越来越多,对于具有越来越多自由度的人形机器人,每个状态下可以采取的动作数量呈指数级增长。下图所示的很古早的本田机器人有 30 个自由度 ( DOF ),每个自由度都需要在每个时刻发出命令。即使每个 DOF 的命令只有三个可能的值( 例如前进、后退和无 ),但在每个状态下都可以采取 3^30 种不同动作的组合。这就让机器人采用错误行为的概率( 即便能够达到相同目标 )极大。于是,人们提出了 “ 模仿学习 ” 这一概念来弥补不足,它让机器人通过观察其它机器人或人类的动作来学习,这样就把动作到任务目标的路径都规划好了,甚至不需要设置奖励。![]()
图源:https://human2robot.github.io/这相当于把原来开放性极大的强化学习,改造成了一个类似图像识别的监督学习算法。甚至跳舞、打乒乓球等更加具备人类特性的行为也是通过模仿学习实现的。Agent 在学习时直接模仿了专家提供的动作,而不管交互的最终结果,就好像一个学徒只按照师傅提供的简单场景来开车,一般只需要按部就班地操作就行,一旦在现实中实操,就容易出错。人们也尝试了不同的解决方法,比如,交互式模仿学习。Agent在测试时如果出错了或遇到了学习范围以外的场景,会向人类专家询问,然后人类专家使用准确的动作重新标记 Agent 收集的数据。从过去一年的进展看来,智元机器人可能就是希望用模仿学习结合超大规模数据把 “ 通用 ” 一路走到黑。首先是做了 AgiBot World,一个百万级的机器人真机实操数据集,主打专业性。它包含的基础动作多,比如抓取、放置、推、拉等基础操作,以及搅拌、折叠、熨烫等复杂动作;场景又多样,覆盖家居、餐饮、工业、商超、办公;数据模态丰富,360 度无死角视觉感知,以及六维力传感器和高精度触觉传感器的数据,后者对于精准操控的训练必不可少。在可视化视图下,可以看到机器人所感知的数据形态,其中包含了每时每刻的 360 度 RGB 图像、深度图、以及此时的动作状态。![]()
然后他们还做了 AgiBot Digital World,更大规模的机器人虚拟仿真框架和开源数据集,主打随机性。首先是保持了接近真机数据的模态丰富性,然后又能在同样的任务下,生成大量的随机因素。![]()
生成不相关的因素,目的是为了让神经网络知道,在一个任务下,哪些是相关的,哪些是不相关的,毕竟神经网络过于脆弱敏感,几个意料之外的像素就能让它大吃一惊,忘了自己是谁、来自哪里、要去哪儿。机器人如果没有接触到这些随机因素,也就缺少了 “ 否定 ” 的能力,加入随机因素能很好解决这个问题。只是再多的随机化也不能弥合虚拟和现实的差距( sim2real gap ),现实的复杂性远超我们想象。神经网络的中间层能学习到一个表征空间,表征空间隐含了观察现象背后的底层知识,虽然还不能完全理解它,但将这一层进行共享,就可以将其中的知识技能进行迁移,这一点是在深度学习奠基者Yoshua Bengio很早期的论文 “ Representation Learning: A Review and New Perspectives ” 中就提出来的深刻洞察。比如在这项研究中,机器人就学习了一种知识共享的方式。图源:https://www.science.org/doi/10.1126/scirobotics.aay4663在开药瓶任务中,机器人从人类演示中学习怎么拧瓶盖。人类动作的触觉数据,通过神经网络转化为表征 A,A 再转化为如何拧瓶盖的高级决策。对于不同类型的机器人动作的触觉数据,则通过另一个神经网络,映射到 A,这相当于是一个低级动作识别模型。这样就将机器人的低级动作识别连接到了人类的高级决策,让机器人可以想象自己是人类来学习怎么拧瓶盖。在实验中,机器人无需训练就能使用这些如何拧瓶盖的高级决策。人们对这种知识共享的根本理解还处于初步阶段,神经网络还是很神秘,目前其实是从宏观到微观的方式逐步被结构化的,怎么结构化取决于专业领域的特点和你的需求。它表明在表征空间内,任意模态的数据都是可以连接的,这就为不同领域的知识迁移和融合提供了桥梁,很自然地也包括不同类型的机器人的技能迁移、通用大语言模型与专用机器人模型的知识融合等。特别是,一个不成熟的领域的 AI 模型,可以通过成熟的领域的 AI 模型通过很小的训练量就能够得到。有研究就表明,在大语言模型的表征空间内,相似的虚拟和现实的机器人操作图像在表征空间中更加靠近( 下图中的绿框和紫框图像 ),而不同的虚拟和现实的机器人操作图像在表征空间中就会离得更加远( 下图中的蓝框和红框图像 )。图源:https://arxiv.org/pdf/2405.10020所以,通用大模型更广泛的现实世界知识有望弥合机器人领域依赖虚拟数据造成的虚拟和现实的差距。比如在智元机器人 GO-1 具身智能大模型中,视觉大语言模型识别视觉输入,然后调用行动规划专家和动作专家来生成下一步动作。图源:https://agibot-world.com/blog/agibot_go1.pdf在模型设计中,其核心仍然是知识共享和复用,视觉大语言模型将知识共享给了行动规划专家和动作专家,行动规划专家也将知识共享给了动作专家。模仿学习结合超大数据集是一条极简而有效的道路,不能证明是最优的,但确实潜力极大,或许有望复刻机器人领域的 ChatGPT 时刻。总之,简单来说,大模型的突破,大概率会带来人形机器人的突破,做 AI,就是在做机器人的灵魂。
参考资料:
https://www.science.org/doi/10.1126/scirobotics.abd9461
https://human2robot.github.io/
https://arxiv.org/pdf/2309.02473
https://arxiv.org/pdf/1206.5538
https://arxiv.org/pdf/2405.10020
https://agibot-world.com/blog/agibot_go1.pdf
https://mp.weixin.qq.com/s/vG_VQcDYPojg-1DZ9DXoGQ
https://mp.weixin.qq.com/s/wj0Pb5g20fvILOxJz95LBg
https://mp.weixin.qq.com/s/WGIBdd5zdsjXyU02YSSCYA
https://zhuanlan.zhihu.com/p/452704228
https://www.wired.com/story/boston-dynamics-led-a-robot-revolution-now-its-machines-are-teaching-themselves-new-tricks/?utm_source=chatgpt.com