☰
大模型管不住机器人双腿?双层控制架构才是关键
2026/10/28 22:19:22 网站建设 项目流程

前阵子在机器人展会现场,一大群人围着一台人形机器人看它表演。前面摆了一排螺丝钉,机器人弯腰、伸手、捏起螺丝、放到指定位置,动作一气呵成。旁边一位观众说了句特别扎心的话:“这机器人脑子这么灵,怎么刚才走过来的时候还晃了两下?”

这句话其实点到了一个行业里绕不开的核心矛盾:大模型的“聪明”和人形机器人的“腿脚”压根不在一个频道上。大模型会规划任务、理解自然语言、拆解复杂指令,但让它去管人形机器人的双腿平衡,那是真管不过来。人形机器人站不站得稳,靠的不是“聪明”,而是毫秒级、高频、实时反馈的底层控制,也就是行内常说的“小脑”能力。而大模型扮演的是“大脑”——负责想、负责规划、负责理解,两层各管各的,合在一起才是一个能干活又不会摔的机器人。

这篇文章我想用相对接地气的方式,把这个“双层控制”讲透。你在做机器人控制、做大模型应用,或者只是个好奇的爱好者,看完应该都能明白:为什么大模型会规划却管不住两条腿,以及真正让人形机器人站稳的底层功臣究竟是谁。

1. 先搞清楚一件事:大模型会规划,靠的不是物理直觉

很多刚入行的朋友会下意识觉得,大模型既然能写诗、能解题、能规划旅行路线,那它应该天生就懂物理。比如你问它“机器人怎么走路”,它能给你列出一二三四五,还引用一堆动力学公式。但“会说出走路的方法”和“真的能控制身体走路”之间,隔着一道巨大的鸿沟。

1.1 大模型的“语言理解”和物理世界的“运动执行”是两种能力

大模型本质上是一个基于海量文本训练出来的概率模型。它擅长的是在符号层面做推理:你给它一句“从桌子后面绕过去拿杯子”,它能基于常识告诉你应该先走到桌角、再转向、再伸手。这些能力来自语言中隐含的知识,而不是来自对真实物理环境的实时感知。

机器人要在真实世界站稳,需要的恰恰是后者。它需要知道此刻重心在哪、地面摩擦系数多少、髋关节力矩还剩多少、左脚足底有没有完全贴合地面。这些东西不会写在任何一篇训练文本里,它们是每一毫秒实时变化的物理状态,只能通过传感器反馈获得。

所以这里有个很关键的区别:大模型解决的是“做什么、什么顺序做”,底层控制器解决的是“具体怎么用力、关节转多少度、力矩怎么分配”。前者是语义空间里的规划,后者是物理空间里的执行。你让一个只会做语义规划的模型直接去生成关节角度指令,就好比让一个熟读兵法的人亲自上阵挥刀——他脑子里有策略,但肌肉反应跟不上。

1.2 语言生成速度和控制响应速度差了三到四个数量级

再直观一点,从时间尺度来看问题。

我实测过主流开源大模型在普通GPU上的推理表现:生成一个token大致需要10到30毫秒,生成一句完整的动作描述或者一段任务规划,通常要几百毫秒到数秒。放到边缘侧、量化部署之后能快不少,但一个完整的“感知-推理-决策”流程走下来,至少也要一两百毫秒起步。

而人形机器人的关节控制回路是什么节奏?现代伺服电机内部的位置环、电流环通常跑在1kHz到2kHz,也就是每0.5毫秒到1毫秒就要输出一次控制指令。哪怕不算最内环,只算步态规划和状态估计那层,也普遍要跑到100Hz到500Hz。换句话说,底层控制器在1秒钟内要刷新几百上千次,而大模型半秒钟能想出一个结果就算很快了。

这么一比,大模型根本没法实时插进控制闭环里。你这边大模型还在“思考”怎么迈腿,机器人那边身体已经歪出去10厘米了。所以大模型只能放在任务规划层,离实时控制越远越安全。

1.3 “站不稳”的本质:双足本来就是个欠驱动不稳定系统

还有一层得说明白:人形机器人站不稳,不是因为它笨,而是因为它天生就处于一种“动态不稳定”的状态。

想想看,一个人形机器人站在地面上,双脚支撑面积很小,重心很高,全身可能有十几个甚至几十个自由度。它不像四足机器人那样四条腿撑开形成一个大支撑底盘,也不像轮式机器人那样有天然的结构稳定性。人形双足站立本质上就是在玩“倒立摆”——重心永远在支撑多边形边缘试跳,靠不断微调脚踝和髋关节来维持动态平衡。

这种系统对时延极其敏感。从感知到控制再到肌肉发力,任何一个环节多延迟几毫秒,都会导致平衡恶化。大模型动辄上百毫秒的推理延迟,在这个系统面前根本没法用。

所以从原理上你就理解了:大模型确实会规划,但它规划的是一种“叙事逻辑”,不是“物理平衡逻辑”。想把大模型直接接进控制环,方向就错了。

2. 站不稳的真相:毫秒级战场里根本没有大模型的位置

聊完原理,咱们进到更具体的层面。人形机器人的“稳”,不是玄学,是实实在在的实时计算和闭环反馈。我拆开给你看,它在每个毫秒里都在干什么。

2.1 一次站稳需要经历多少个环节

假设机器人正处于站立状态,突然有人推了它肩膀一下。从被推到恢复平衡,底层要处理的事情大致是这样:

首先,状态估计单元要以1kHz的频率读取IMU(惯性测量单元)的加速度和角速度、每个关节的编码器角度、足底压力传感器或六维力传感器的读数。把这些数据放在一起,用扩展卡尔曼滤波(EKF)或者更现代的滤波方法,估算出机器人当前躯干的姿态角、角速度、质心位置和速度。

接着,平衡控制器要回答一个问题:当前状态距离期望状态偏差了多少?这个偏差值会被送入一个控制策略中,计算出髋关节、膝关节、踝关节各自应该产生多大的力矩或加速度修正。

最后,关节伺服层要把计算出的期望力矩或位置转换成电机电流指令,驱动电机出力。整个链路要在几个毫秒内完成一次迭代,下一次迭代马上接着来。

这个流程,就是典型的反馈控制闭环。注意它有一个特点:必须“感知-计算-执行-再感知”循环往复,绝不允许中间断层。一旦某一帧掉了,机器人就可能在下一毫秒开始倾倒。

2.2 控制周期:从1kHz到500Hz,每一步都等不起

我用具体数字帮你建立感性认识。目前业界的惯用做法是这样分层的:

关节伺服环通常在1kHz到2kHz运行,每个控制周期都直接输出电流/力矩指令。状态估计和平衡控制外环通常在500Hz到1kHz左右,负责生成期望力矩或关节位置增量。更上层的步态规划,也就是决定下一步落脚点、迈步高度、步幅大小的模块,运行频率可以降到50Hz到200Hz,但也远非大模型的节奏能比。

你可以把这三层理解成:步态规划是“队长”在喊口令,平衡控制是“士兵”在响应口令调整身体姿态,关节伺服是“肌肉”严格执行各部位动作。口令可以每秒喊几十次,但肌肉的微调动作要快上百倍才行。

那么问题来了,大模型在这个架构里能顶哪个位置?哪个都顶不了。连最慢的步态规划层,50Hz也就是20毫秒刷新一次,大模型的推理延迟依然跟不上。唯一能让它进来的地方,是比步态规划更高一层、频率更低的“任务规划层”——比如决定“下一步去桌子那边”,这种决策一秒钟几次都算多。

2.3 不只看快慢,还得看它算的是什么

有人可能会说:“大模型推理慢,那我让它离线预生成一套关节角度轨迹,再回放出来不就行了?”

理论上可以,但现实世界不陪你按剧本走。离线生成的轨迹基于的是理想动力学模型和理想环境假设,一旦地面稍微有个坡、有人推了一把、负载变了,离线轨迹就全部失效。机器人最核心的能力,恰恰是在偏离预期时,通过实时反馈重新收敛到稳定状态。这一步,只有闭环控制器做得到。

而且,就算不考虑外部扰动,机器人自身的动力学模型也很难建模准确。关节摩擦、柔性形变、电机力矩饱和、结构间隙,这些非线性因素叠加在一起,让离线计算出的轨迹在实际执行中误差不断累积。反馈控制器存在的意义,就是随时随地修正这些误差。

所以在“站得稳”这件事上,比“聪明”更重要的,是“快”和“准”。大模型再聪明,也只能当远程参谋,真刀真枪的战场还得靠高频反馈控制来打。

3. 双层控制架构:大脑做规划,小脑保稳定

明白了大模型不参与底层控制,那么问题就变成了:大模型和人形机器人到底怎么配合?答案就是标题里的那四个字:双层控制。

3.1 大脑和小脑的分工,比你想的更清晰

双层控制这个概念的模型,直接对标人的神经系统。

你走路时,额叶皮层负责规划“我要去厨房倒杯水”,这是大脑层面的高层决策。但你每一步迈出去时肌肉怎么协调、重心怎么转移、遇到小石子怎么自动调整落脚位置,几乎不需要大脑刻意思考——这一切由小脑、脑干和脊髓层面的反射回路负责。人能在走路时聊天、看手机、想事情,正是因为底层运动控制被“自动化”而且不占用高层认知资源。

人形机器人的双层控制就是这个思路的工程映射。上层是“任务规划层”,部署大模型,负责理解自然语言指令、拆分子任务、感知环境语义、规划动作序列。下层是“运动控制层”,部署传统的状态估计器、步态规划器、模型预测控制(MPC)、全身控制(WBC)或强化学习步态策略,负责把上层的意图翻译成具体的关节运动,并用高频反馈保证物理稳定。

我在实际项目里的体会是,上层越“慢”越安全,下层越“快”越可靠。两者各自独立运行,通过一个清晰约定的接口通信,而不是把所有逻辑搅在一起。

3.2 大模型输出的是“任务描述”,不是“运动指令”

这里有一个新手特别容易踩的坑:觉得大模型既然能生成文本,那就直接让它生成一组机器人关节角度序列,扔给执行器跑,不就完了?

我用一句话回答你:千万别这么干。

正确的做法,是大模型输出“任务描述”或者“高层指令序列”,比如:“先走到工具台前,然后俯身捡起扳手,再放到检修箱里”。这些指令要进入一个“技能库”模块,由它去匹配机器人已经训练好的运动原语。

什么是运动原语?就是一组高度封装、经过验证、可安全执行的基本动作,比如“站立”、“原地踏步”、“左移”、“弯腰伸手”、“跨过15cm障碍”等等。这些原语往往由底层控制器或者强化学习策略实现,每个原语内部有完整的平衡控制逻辑。大模型的任务,是从技能库里选择合适的原语并编排它们的执行顺序,而不是发明新动作。

这个设计的好处太多了。第一,安全性有保障——大模型只做选择,不做低层动作创作,出错的概率大幅降低。第二,泛化性更好——大模型可以组合不同的原语来完成新任务,而不需要重新训练运动控制。第三,可调试性高——出问题时你能清楚地看到是“选错了原语”还是“原语执行出了问题”,不需要从头查起。

3.3 MPC、WBC这些“老技术”才是站稳的真正功臣

聊到这里,很多人可能会问:那底层控制具体是什么?听起来很玄乎,其实核心就几个名字。

模型预测控制(MPC)在腿足机器人领域里应用非常广。它的原理是,用一个相对简化的动力学模型(比如线性倒立摆模型)预测未来0.5到1.5秒的质心运动,然后在这个预测窗口内求解一个优化问题,找到能让质心轨迹稳定跟踪期望路径的最优地面反作用力,再把这些力映射到各关节的力矩指令上。它最大的优势是具备“预见性”——不用等摔了才纠正,而是提前算出趋势并反向修正。

全身控制(WBC)则是解决“多个目标同时要求”的问题。机器人要同时满足质心跟踪、脚踝姿态、末端位置、接触力约束、关节限位约束,这堆目标之间有冲突怎么办?WBC按照优先级分层处理,优先级高的任务先满足,比如“足底不能滑动”永远高于“躯干姿态要笔直”。有优先级就有取舍,这是全身控制的智慧。

最近几年,强化学习跑通了很多传统控制器叶难调的场景。人们用RL在仿真环境里训练“小脑策略”,输入是关节位置、速度、姿态、接触力,输出是关节力矩或位置增量,运行频率与底层控制器对齐。训练完成后,配合域随机化、真机微调等技巧,机器人在真实世界也能走得又稳又快。

注意一个关键词:这些策略的输出频率依然是1kHz级别的实时控制,和大模型的推理节奏完全不在一个量级。它们更像是“训练得很好的小脑”,而不是“聪明的大脑”。在双层架构里,这个层级依然牢牢由高频控制器说了算。

为了更直观,我做了个对比表:

层级对应模块运行频率输入输出典型工具
顶层任务规划0.1~2 Hz自然语言、视觉语义任务序列、技能原语选择大模型(LLM/VLM)
中间层运动规划50~200 Hz局部环境、目标位置落脚点、足端轨迹、躯干轨迹步态规划器、优化求解器
底层平衡/伺服控制500~2k HzIMU、关节编码器、足底力传感器关节力矩/位置指令MPC、WBC、RL小脑策略、PID伺服

这张表基本就是双层控制架构的骨架。上层负责“做什么”,底层负责“怎么稳”,各司其职,谁也替代不了谁。

4. 从Atlas到Optimus,看业内真实的分层控制方案

光讲理论容易虚。咱们看看行业内那些能做后空翻、能巡场的机器人,它们实际是怎么组合大模型和控制器的。

4.1 波士顿动力Atlas:传统控制的巅峰,大模型只做“总导演”

波士顿动力的Atlas是绕不开的经典案例。早期Atlas跑酷、后空翻、甚至做体操,这些能力绝大多数来自MPC、WBC、线性反馈控制这些“传统手艺”。Atlas的出色之处在于底层控制器的极限性能——能在一小时内走出无数步,每一步都在毫秒级刷新平衡策略,数百个关节力矩指令精确到牛米级别。

前几年波士顿动力发布了面向Atlas的Task API,配合大语言模型做了一个演示:研究者给Atlas下达一个自然语言指令“把木板递给左边的工人”,系统会自动分解成“走向木板”、“弯腰抓取”、“转身”、“递出”等几个子任务,再调用对应运动库里的动作原语。这一步正是双层控制的完美展示——大模型在顶层做任务分解,底层执行仍然是早已打磨多年的运动控制器。

很多人看到这种视频会觉得“机器人自己理解了指令”,其实严格来说,是大模型完成了语义理解,底层控制器保证每一步动作“不摔倒地完成”。前者是头脑,后者是身体,Atlas的价值在于两者都做到了极致。

4.2 特斯拉Optimus:端到端神经网络的边界感

再看特斯拉Optimus。特斯拉在AI Day上展示过一个很有意思的技术细节:纯视觉+神经网络直接输出关节目标角度,看起来特别“端到端”。

但如果你细看它的系统架构,会发现端到端并没有吃掉一切。特斯拉采用的是“视觉语言模型做人机交互和任务决策”+“运动神经网络生成轨迹”+“关节伺服控制器执行”的三层结构。神经网络“发号施令”的频率其实不高,它生成的是目标层级的轨迹点,真正的关节电流闭环仍然由底层高频伺服负责。

就算最激进的端到端方案,也没有让一个巨模型去以1kHz的频率直接生成电机电流。倒不是说完全做不到,而是没必要、不稳、不好调试。行业里更主流的共识是:用神经网络替代“传统步态规划器”,但保留底层的“力控闭环安全网”。这个安全网保证神经网络哪怕偶尔出现一个错误输出,机器人也不会当场摔倒。

4.3 开源人形机器人与强化学步:更多人看得见摸得着的双控

在科研和开源社区里,双层控制更是家常便饭。现在有像Hunter这类面向研究与教育的开源人形机器人平台,把底层控制接口、上层决策系统的整个架构开放出来。做算法的人可以根据自己的需要,改上层规划策略,或者替换底层的步态控制器。

与此同时,过去这几年强化学习步态策略在人形机器人上发展非常快。很多研究组训练一个神经网络小脑,输入ISR(惯性测量)数据、关节状态,输出关节位置增量或者力矩,在真实机器人上走得像模像样。虽然策略跑得又快又稳,但人们很快意识到,它依然回答不了“接下来应该往哪走、干什么活”这种高层问题。要让一个机器人完成“从A到B拿东西再放回去”的任务,还是得在它头顶加一个任务规划层,用大模型或者传统任务规划器来调度。

从这些案例能得出一个规律:所有能稳定落地的机器人系统,几乎无一例外地采用了分层架构。区别只在于中间层和底层的实现方式——用传统MPC还是RL策略,但“大模型只做规划,不做高频控制”这个边界,业内已经达成了共识。

5. 落地避坑手册:大模型控制人形机器人的五种错误姿势

纸上谈兵之后,聊点实战。我在做相关项目的时候踩过不少坑,也见过很多团队走了弯路。下面这些经验,也许能帮你少花几个月的冤枉时间。

5.1 别让大模型直接输出关节角度序列

这是新手最容易犯的错,也是后果最“惨烈”的错。让大模型生成一段关节角度序列,然后直接发给执行器,听起来很“端到端”,但实际一跑就露馅。

首先,大模型生成的序列大概率不满足关节限位约束,角度突然跳变会让电机扭矩瞬间爆表。其次,即使角度看起来合理,机器人在实际落地时因为模型误差、地面特性变化,很快就会与预设轨迹产生偏差,而系统根本没有修正能力。最后,大模型的token生成是自回归过程,天然带有随机性,同一个指令跑两次可能生成完全不同的轨迹。上周我们测试过让大模型生成一组步态轨迹,第一次走三步就摔,第二次走了一半卡住,根本没法用。

正确思路是:大模型只选择“动作类型”和“目标参数”,比如“向右横移0.3米”,具体执行交给运动原语库里的横移策略。

5.2 把延迟预算当成架构的第一设计原则

很多人在设计系统时,习惯先把功能摆上去,出了问题再优化性能,这在机器人领域是大忌。机器人系统的实时性必须从架构第一天就规划清楚。

我习惯的做法是:先画延迟预算表。感知模块给50毫秒,任务规划给500毫秒,步态规划给20毫秒,底层控制给1毫秒。然后明确大模型运行的线程与控制器彻底隔离,通常用异步消息队列或共享内存通信。控制器绝不会等待大模型回复——它自己按1kHz刷新,收到新指令就更新目标,收不到就继续执行当前目标。

这个设计带来一个巨大的好处:即使大模型偶然“卡住”了,机器人也只是继续按最后一帧高层指令执行,而不会失去平衡控制。机器人可能停下来“发呆”,但绝不会突然摔倒。

5.3 技能库是大脑和小脑之间最好的“接口协议”

我在前文反复提运动原语和技能库,这里再强调一下为什么它值得你认真设计。

技能库本质上是一个“封装好的行为清单”,每个原语对应一组经过安全验证的运动策略。大模型不需要知道某个动作底层是用MPC还是RL实现的,它只需要在清单里选择并传参数。这就把一个开放的、无限的动作空间,压缩成了一个有限的、可验证的动作空间,安全性直接高了一个量级。

而且技能库本身是可以持续扩展的。每训练出一个新技能,比如“跨跳过障碍物”、“爬上台阶”,就往库里加一条,大模型编排能力会跟着变强。我见过一些团队,一开始就追求大模型能“即兴发挥”动作,结果项目拖了大半年还在调试稳定性。而另一些团队老老实实建了二三十个运动原语,一个月就能组合出十几种新任务。

5.4 记住:大模型会“幻觉”,而控制器不能“掉线”

大模型天然存在幻觉问题,这在任务规划层会有实际影响。比如它可能规划出一个在物理上不可能完成的动作序列,或者漏掉一个关键步骤。好的架构应该容许这种错误存在,因为底层控制器和安全监测模块会兜底。

具体来说,任务规划层输出的每个指令,进入执行器之前都应该过一遍“可行性校验”。校验内容包括:目标位置是否可达、动作原语是否存在、参数是否在安全范围内。异常就直接停止处理并请求重新规划。

我在最终部署时还会额外加一条“安全死线”:无论顶层下发任何指令,底层控制器的力矩输出、关节角度、接触力都有硬性上限。一旦触发,再“聪明”的指令也立即失效。这条死线以下层控制器的优先级最高,任何AI都无权越过。

这样一个闭环下来,大模型负责聪明,但绝不允许它“用聪明再闯祸”。每次让技术新人看到机器人稳稳站在那儿,我都会跟他们说:它能站稳,原因是小脑忠诚地守住了安全底线,大脑想得再多再远,也得在小脑允许的范围内行动。

如果你也正在做类似的项目,我最后分享一个建议:遇到机器人控制问题,先从底层开始排查,确认“小脑”稳了,再回头优化“大脑”的规划逻辑。顺序反了,你会一直被各种飘忽不定的问题折磨。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询