人形机器人跑赢人类?解析400米竞速背后的运动控制与步态算法

📅 2026/8/26 20:41:49
人形机器人跑赢人类?解析400米竞速背后的运动控制与步态算法
今年的人形机器人赛道正在从“能走几步”的展示阶段快速切换到“能跑、能跳、能比赛”的工程验证阶段。当北京人形机器人“天工 Ultra”以 38.15s 跑完 400 米并在人形机器人运动会上拿下首金时很多人看到的是新闻热度但对做机器人、搞运动控制、关注具身智能的开发者来说这其实是一次非常典型的技术信号人形机器人的动态运动能力已经从“实验室演示”走向了“竞技场实测”。本文不打算只报喜讯而是把这场 400 米竞速当成一扇技术观察窗口拆解背后的人形机器人运动控制、软件架构、关节执行器、算力平台等关键环节。无论你是刚入门机器人学的学生还是正在做足式机器人项目的工程师都可以从这条新闻里提炼出值得借鉴的技术路线和工程方法论。1. 事件回顾38.15s 背后的技术信号1.1 一场属于人形机器人的竞速赛“天工 Ultra”出现在人形机器人运动会的 400 米竞速项目中并以 38.15s 的成绩完赛夺得该项目的首金。这则新闻之所以引起关注不只是因为“金牌”而是因为它把两个原本很难放在一起衡量的事物放在了一起人类田径规则和人形机器人的运动能力。很多人对人形机器人的认知还停留在“能稳稳走几步”的阶段。但“天工 Ultra”这次跑完 400 米说明它已经不是在做慢速静态行走而是在进行高速动态跑步并且具备连续跑完一整圈的能力。这背后涉及的不只是电机功率更是步态规划、实时平衡、状态估计、整机结构强度等多个环节的协同。从公开报道来看这类人形机器人运动会正在成为检验具身智能技术成熟度的一种方式。相比单纯展示“会翻跟头”“会跳舞”竞速项目更强调持续性、稳定性和重复性——这三个指标恰恰是工程落地最关心的。1.2 38.15s 的成绩处于什么水平要理解 38.15s 这个数字先看人类田径的参考男子 400 米世界纪录大约在 43 秒级别女子纪录约为 47 秒级别。也就是说如果只按时间对比38.15s 这个成绩已经超过了人类顶尖运动员的水平。不过这里必须冷静看待。机器人的 400 米成绩不能直接和人类成绩做简单对比因为两者在身体结构、关节自由度、能量来源、赛道规则上都不同。机器人可以做到极高的关节转速和稳定的步频但它缺乏人类那样复杂而柔性的肌肉骨骼系统。真正值得关注的是一个双足人形机器人能够在高速奔跑状态下保持不摔倒并连续完成 400 米这在工程上是很大的突破。对机器人开发者而言这个成绩意味着动态步态算法已经从理论上走到了真实硬件中。换句话说“跑起来”已经不再是能不能的问题而是稳不稳、快不快、久不久的问题。1.3 为什么要关注竞速类人形机器人有人会问人形机器人不是应该去做家务、搬运、巡检吗为什么要比赛跑步从技术角度看跑步是检验运动控制系统极限能力的高压测试。一个能高速奔跑的机器人在低速行走、上下坡、越障、抗扰动等场景下的控制能力通常会更强。因为跑步过程中机器人会经历“腾空相”和“触地相”的快速切换对执行器的带宽、传感器的刷新率、控制算法的实时性都提出了极高要求。如果一套运动控制系统能在 400 米竞速中稳定跑完全程那么把它迁移到工业巡检、物流搬运、灾害救援等场景时很多低速动平衡问题就会显得相对简单。这也是为什么头部团队愿意投入大量资源去优化奔跑能力——它不是炫技而是技术栈成熟度的试金石。2. 人形机器人跑步的核心技术栈2.1 系统整体架构一台能跑的人形机器人本质上是一个高度集成的“感知-规划-控制-执行”闭环系统。可以用下面这个简易分层来理解感知层IMU、关节编码器、足底力传感器、相机 ↓ 状态估计机身姿态、质心位置、接触力 ↓ 运动规划落脚点规划、质心轨迹生成、步态切换 ↓ 实时控制全身动力学控制、力矩分配、平衡补偿 ↓ 执行层关节电机、驱动器、减速器每一层都有各自的挑战。感知层要在剧烈振动和快速运动下仍能准确估计姿态规划层要在几十毫秒内计算出下一步的落脚点和质心轨迹控制层要以 1kHz 甚至更高频率输出关节力矩执行层则要提供足够大的瞬时功率并且能够承受反复冲击。2.2 感知与状态估计跑步时机器人身体始终处于动态不平衡状态传统机器人常用的“静态稳定”假设完全不成立。为了让控制系统知道机器人当前处于什么状态需要融合多类传感器信息IMU惯性测量单元测量机身角速度和加速度是姿态估计的核心。关节编码器提供每个关节的角度、角速度用于计算关节空间状态。足底力传感器测量地面对脚掌的接触力帮助判断支撑相和腾空相。状态估计算法通常采用卡尔曼滤波或扩展卡尔曼滤波将 IMU 和编码器数据融合起来估计出机身的横滚角、俯仰角、质心位置和速度。在 400 米竞速中每一步的着地冲击都很大传感器信号中会混入大量噪声因此滤波参数的调校非常关键。2.3 规划与控制运动规划负责生成“机器人下一步应该怎么动”。在跑步场景中规划器需要回答三个问题下一步落在哪里落脚点规划。质心轨迹如何变化保持前进速度并维持平衡。支撑腿和摆动腿如何切换步态相位。控制层则负责把规划结果转化为具体的关节力矩。目前主流方案包括基于零力矩点ZMP的平衡控制、基于模型预测控制MPC的轨迹跟踪、以及基于全身动力学Whole-Body ControlWBC的力矩分配。实际系统中往往是几种方法组合使用MPC 负责前瞻性规划WBC 负责全身协调和约束处理。2.4 执行与结构算法再强最终都要靠关节电机“出力”。人形机器人跑步时足端承受的地面反作用力会达到体重的数倍关节需要在极短时间内输出很大的峰值扭矩同时还要控制好位置和速度。这对电机的高功率密度、减速器的传动效率、驱动器的大电流响应能力都是硬性考验。此外结构件的刚度也很重要。如果小腿或大腿结构在触地瞬间发生明显形变控制模型就会失效轻则步态紊乱重则摔倒损坏。这也是为什么高性能人形机器人普遍采用碳纤维、高强度铝合金等轻质高强材料。3. 从“行走”到“奔跑”步态算法拆解3.1 行走与奔跑的动力学差异从生物力学角度看行走和奔跑最大的区别在于是否存在“腾空相”。行走时身体始终至少有一只脚与地面接触可以理解为“交替支撑”。奔跑时则会出现双脚同时离地的阶段机器人需要依靠惯性完成腾空、摆动、再着地的循环。腾空相的出现让控制问题从“连续接触”变成了“非连续接触”对控制算法的鲁棒性和切换时机的准确性要求更高。另一个重要差异是速度控制方式。行走时主要通过改变步长和步频来调节速度而奔跑时还需要考虑腾空高度、着地角度、地面反作用力方向等因素。3.2 线性倒立摆模型与质心轨迹为了简化分析双足跑步常常被抽象为“倒立摆模型”。其中最简单的是线性倒立摆模型LIPM它假设机器人的质心高度保持不变质量全部集中在质心腿部质量忽略不计。在 LIPM 中质心的水平加速度与质心相对 ZMP零力矩点的偏移成正比ddot_x (g / h) * (x - p_zmp)其中x是质心水平位置。p_zmp是 ZMP 位置。h是质心高度。g是重力加速度。这个公式的含义是当质心位于 ZMP 前方时质心会向前加速当质心位于 ZMP 后方时质心会向后减速。因此通过合理规划 ZMP 位置就可以控制质心的运动轨迹从而控制机器人的前进速度和稳定性。3.3 平衡控制从 ZMP 到全身力矩控制ZMP 理论是双足步行控制的基础之一。简单来说ZMP 是地面上反作用力合力作用点如果 ZMP 始终落在支撑多边形内机器人就不会发生翻滚。但跑步状态下机器人处于动态不稳定状态单纯依靠 ZMP 约束很难实现高速运动。因此现代系统会加入全身动力学控制在满足关节位置、速度、力矩限制的前提下同时对质心位置、机身姿态、足端力进行优化。这样可以把“谁出力、出多少力”分配到全身各个关节避免单关节过载。在工程实现上控制频率越高系统能抑制的扰动频率就越高。常见的人形机器人控制频率在 1kHz 左右也就是说每毫秒就要完成一次状态更新和力矩计算这对计算平台和通信总线都提出了很高要求。3.4 示例用 Python 观察 LIPM 轨迹为了帮助理解 LIPM 中质心轨迹的生成过程下面给出一个简化示例。这段代码不是真实机器人控制代码而是用来直观展示 LIPM 的基本动态关系适合初学者在仿真环境里观察。import numpy as np import matplotlib.pyplot as plt # 模拟参数 g 9.81 # 重力加速度 h 1.0 # 质心高度单位 m dt 0.001 # 控制周期 duration 0.3 # 模拟时长单位 s # 初始状态 x 0.0 # 质心水平位置 vx 0.0 # 质心水平速度 # ZMP 目标位置假设在质心前方 0.1m会推动质心向前加速 p_zmp 0.1 time_list [] x_list [] vx_list [] for step in range(int(duration / dt)): # LIPM 动力学公式 ax (g / h) * (x - p_zmp) vx ax * dt x vx * dt time_list.append(step * dt) x_list.append(x) vx_list.append(vx) plt.figure(figsize(8, 4)) plt.plot(time_list, x_list, labelCoM position) plt.plot(time_list, vx_list, labelCoM velocity) plt.xlabel(time (s)) plt.ylabel(state) plt.title(LIPM CoM trajectory example) plt.legend() plt.grid() plt.show()运行这段代码后可以看到质心位置和速度随时间变化的曲线。当 ZMP 位于质心前方时质心会逐渐加速这反映出 ZMP 对质心运动的“牵引”作用。真实系统中ZMP 不可能一直放在一个固定位置规划器需要根据落脚点实时调整 ZMP 序列。4. 人形机器人软件架构竞速背后的“大脑”4.1 分层软件架构人形机器人软件架构通常可以分成四层驱动层负责电机控制、编码器采集、IO 通信一般运行在 MCU 或实时内核上。实时控制层负责状态估计、步态控制、力矩分配运行周期通常在 1kHz。规划层负责路径规划、步态切换、任务调度运行周期通常在 100Hz~500Hz。应用层负责感知融合、决策、人机交互运行频率较低但逻辑较复杂。分层的好处是职责清晰、便于调试。跑步这类高性能任务主要考验实时控制层而任务导航和人机协作则更依赖应用层。4.2 实时性与通信人形机器人在高速奔跑时任何超过 2~3ms 的控制延迟都可能导致不可恢复的摔倒。因此系统必须保证控制链路的实时性。实际操作中通常采用两种方案方案一所有控制算法都在一台高实时性工控机上运行通过 EtherCAT 等实时总线与伺服驱动器通信。方案二关节控制放到嵌入式 MCU 上主控只负责规划计算好的关节轨迹下发到 MCU 执行。通信总线方面EtherCAT 因为高实时、高带宽、支持多从站同步成为足式机器人的常见选择。每个关节驱动器作为 EtherCAT 从站可以在几百微秒内完成数据交换。4.3 仿真训练与 sim-to-real现代人形机器人开发已经离不开仿真。以 MuJoCo、Isaac Gym 为代表的物理仿真器可以快速验证步态算法并通过强化学习训练策略。但在仿真里跑通的策略不意味着能在真实机器人上直接使用这就是 sim-to-real从仿真到现实问题。仿真与现实的差距主要来自动力学参数不完全一致关节摩擦、阻尼、结构柔性难以精确建模。传感器噪声不同真实 IMU 和编码器噪声更复杂。执行器延迟真实电机存在响应延迟和力矩爬升过程。解决 sim-to-real 的常见手段包括领域随机化Domain Randomization即在仿真中随机改变质量、摩擦力、延迟等参数让策略在多种环境下都能适应从而提升在真实硬件上的鲁棒性。4.4 示例ROS 2 控制节点框架ROS 2 是机器人领域常见的基础软件平台。下面用一个简化节点示例展示控制节点如何订阅关节状态并发布关节命令。这个示例只是框架演示接口需要根据你的机器人硬件调整。import rclpy from rclpy.node import Node from sensor_msgs.msg import JointState from std_msgs.msg import Float64MultiArray class LocomotionController(Node): def __init__(self): super().__init__(locomotion_controller) self.joint_state_sub self.create_subscription( JointState, /joint_states, self.state_callback, 10 ) self.command_pub self.create_publisher( Float64MultiArray, /joint_effort_commands, 10 ) self.get_logger().info(Locomotion controller started) def state_callback(self, msg: JointState): # 实际项目中这里需要调用步态规划和力矩控制算法 # 这里仅发布一条示例命令 cmd Float64MultiArray() # 以 12 个关节为例实际数量按机器人配置 cmd.data [0.0] * 12 self.command_pub.publish(cmd) def main(argsNone): rclpy.init(argsargs) node LocomotionController() try: rclpy.spin(node) except KeyboardInterrupt: pass finally: node.destroy_node() rclpy.shutdown() if __name__ __main__: main()这个节点的逻辑非常简单收到关节状态后经过控制算法计算输出关节力矩指令。真实项目里状态回调函数中会加入状态估计、落脚点生成、全身动力学求解等模块计算量和复杂度会高很多。5. 硬件挑战关节、驱动与能源5.1 高功率密度关节执行器跑步时人形机器人的髋、膝、踝关节需要同时承受体重数倍的冲击力。以 70kg 级别的全尺寸人形机器人为例奔跑瞬间膝关节峰值力矩可能超过 200Nm而且需要在几十毫秒内完成加速和减速。这就要求关节电机具备很高的功率密度。目前主流方案是“无框力矩电机 谐波减速器”或“无框力矩电机 行星减速器”。无框电机节省了外壳和轴承有利于减重谐波减速器体积小、减速比大适合机器人关节安装但需要注意长期奔跑带来的磨损和发热问题。5.2 驱动与总线电机性能再强也需要驱动器把电流精准地输送到绕组中。现在常用的关节驱动器大多基于 FOC磁场定向控制算法通过高速采集电机相电流和编码器角度实现高动态响应的力矩闭环。驱动器需要支持大峰值电流同时还要尽量减小体积和重量以适配关节结构。在奔跑过程中多个关节驱动器需要严格同步。以一个周期 1kHz 的控制循环为例如果某个关节的指令晚到了 1ms整个步态可能就会失去协调。因此EtherCAT 这类支持分布式时钟同步的总线协议非常关键它可以让所有从站驱动器在几乎同一时刻执行指令。5.3 能源、散热与结构强度高速奔跑的能量消耗远高于行走。机器人需要在几十秒内持续输出较大功率这就对电池的放电倍率和能量密度提出了要求。实际系统中还需要考虑电压跌落、剩余电量对电机输出力矩上限的影响尽量避免因电量不足导致步态失控。散热也是不可忽视的问题。电机、驱动器、减速器在持续高负载下会产生大量热量。如果温升过高电机永磁体可能退磁驱动器可能触发过温保护最终导致关节力矩下降。常见的散热手段包括被动散热片、强制风冷、甚至液冷系统。天工 Ultra 能连续跑完 400 米说明它在能耗管理和散热策略上做了大量工程优化。6. 人形机器人芯片与计算平台趋势6.1 端侧算力需求人形机器人的“大脑”分为两个层面一个是负责运动控制的实时计算通常不需要特别高的 AI 算力但对实时性和确定性要求极高另一个是负责环境感知、多模态大模型推理的 AI 计算对 GPU/NPU 算力要求很高。随着人形机器人从实验室走向开放场景“端侧 AI 算力”成为越来越重要的指标。机器人需要在本地完成目标检测、语义理解、路径规划等任务不能完全依赖云端因为网络延迟和断网风险在工业现场是不可接受的。6.2 芯片厂商的布局这一波人形机器人热潮也带动了机器人芯片产业链。除了大家熟悉的高性能 GPU 平台国内芯片厂商也在积极布局机器人方向。例如“全志科技”等厂商推出了面向智能机器人应用的芯片方案主打低功耗、高集成度和软硬件生态适配。从行业趋势看未来人形机器人可能会采用“异构计算”架构一颗高实时性的 MCU/FPGA 负责关节控制和状态估计一颗带 NPU 的 SoC 负责感知与决策再搭配通信芯片和电源管理芯片形成完整的端侧计算生态。对开发者来说选型时要优先关注算力、功耗、实时性以及开发工具链的成熟度。6.3 如何选择计算平台选择人形机器人计算平台时可以按下面几个维度评估维度说明实时性能否保证控制任务在规定周期内完成是否存在调度抖动算力密度每瓦每秒能完成多少 AI 计算是否支持模型推理加速接口丰富度是否有足够的 PCIe、EtherCAT、CAN、USB、GPIO 接口开发工具链是否支持 ROS 2、是否有长期维护的 BSP 和驱动功耗与散热整机功耗预算是否允许是否需要额外散热设计供应链稳定性是否容易采购是否有国产替代方案在原型验证阶段很多团队会选择通用工控机或高性能嵌入式平台先把算法跑通。在量产阶段则会根据成本和功耗做定制化芯片方案。这一轮人形机器人芯片热词背后的逻辑本质上是行业从“算法验证”走向“产品落地”的信号。7. 常见误区与讨论7.1 “机器人比人类跑得快”怎么理解很多人看到 38.15s 的成绩后会直接得出“机器人已经超越人类跑步能力”的结论。这个说法并不完全准确。人形机器人目前的“跑”与人类田径意义上的“跑”存在多个差异赛道条件机器人测试是在专用场地角度、地面材质固定与奥运会标准赛道不同。机器人尺寸不同机器人腿长、重量不同步幅差异很大。能耗方式机器人靠电池驱动人类靠有氧和无氧代谢供能。稳定性人类在弯道、变道、风阻等复杂条件下依然能保持高水平控制而机器人目前更多还是在受控环境中发挥极致性能。正确的理解是38.15s 证明了人形机器人在“高速持续运动控制”上取得了重要突破但它并不意味着机器人在所有跑步场景中都超过人类。7.2 轮式机器人不是更简单吗在平地上轮式机器人确实在速度和能效上更有优势。一个四轮底盘加激光雷达就能完成很多移动任务成本还远低于双足机器人。那为什么还要做双足关键在于“通过性”和“适应性”。轮式机器人只能在地面较平整的环境中使用遇到台阶、楼梯、沟壑、乱石堆就会受限。双足人形机器人可以适应人类生活和工作环境比如走进有楼梯的车间、爬上巡检平台的台阶、挤过狭窄的通道。人形的价值不在“比轮子跑得快”而在“能和人类共用空间”。所以轮式和腿式不是替代关系而是针对不同场景的互补方案。如果只在固定园区平地巡逻轮式机器人性价比更高如果任务环境充满非结构地形腿式机器人更有价值。7.3 人形形态真的有必要吗“人形”是否是最优形态在机器人领域一直有争议。四足机器人如机器狗在稳定性、负载能力方面已经有成熟产品双臂机器人配合轨道或轮式底盘也能完成部分操作任务。人形形态的优势主要体现在三点一是与人类环境高度兼容工具、门把手、座椅、楼梯都是按人类身体尺度设计的二是操作能力人形机器人可以同时使用双臂完成复杂任务而固定机械臂灵活性有限三是社会接受度人形机器人更容易被非技术人员理解和接受。当然代价也很大双足平衡难以控制、整机成本高、维护复杂、能效低。是否选择人形取决于任务需要而不是跟风。7.4 竞速成绩能代表产业成熟度吗竞速成绩只是运动控制能力的指标之一不能完全代表产业成熟度。真正的产业落地还要看可靠性机器人能否连续运转数千小时而不出现故障。可维护性关节模块是否易于更换软件是否能远程升级。经济性购买和运维成本是否能被客户接受。安全性遇到突发情况时机器人能否安全降速停机不伤害人员和设备。因此看待天工 Ultra 的成绩时一方面要肯定它背后的技术突破另一方面也要理性认识从“跑得快”到“用得起、用得稳、用得住”中间还有很长一段工程化道路。8. 给开发者的学习路线与工程建议8.1 学习路线如果你想进入人形机器人运动控制领域可以按下面路径循序渐进打好基础学习机器人学、线性代数、刚体动力学、自动控制原理。掌握仿真工具从 MuJoCo、PyBullet 或 Isaac Gym 入手先在仿真里跑通一个简单的倒立摆或双足模型。复现经典算法手写 LIPM 步态规划实现 ZMP 平衡控制再尝试 MPC 和 WBC。学习 ROS 2理解话题、服务、动作通信模型搭建完整的感知-规划-控制软件栈。接触真实硬件从单关节测试开始逐步完成整机联调积累标定和调参经验。关注强化学习学习 PPO、SAC 等算法尝试用强化学习在仿真中训练步态策略并研究 sim-to-real 迁移。8.2 工程实践建议真实机器人项目开发和纯算法研究有很大区别这里分享几条工程经验先保证稳定再追求速度。测试时可以先从慢速行走开始把状态估计和控制频率调稳再逐步提高速度。建立完善的日志系统。机器人在跑步时崩溃如果没有完整的日志回放排查问题会非常困难。做好软硬件接口抽象。控制算法不要和具体的电机型号、通信总线强耦合方便以后更换硬件。使用硬件在环仿真。在真实机器人上跑新算法前先在仿真和半实物环境中验证减少炸机概率。重视踝关节的作用。高速奔跑时踝关节对姿态调整和地面反作用力控制非常关键不要只关注髋和膝。8.3 安全优先原则人形机器人高速运动时具有较强的冲击力测试时务必注意安全首次测试必须安装机械限位和安全绳避免摔倒后造成硬件损坏。调试过程中设置关节力矩上限和速度上限防止意外输出过大导致电机损坏或伤人。在开放场地测试时划定隔离区域禁止无关人员进入。每一次高负载奔跑测试前都要检查电池电压、关节温度、紧固件状态。安全不是测试的最后一步而是贯穿整个开发流程的设计原则。尤其是当机器人进入工厂、社区等实际场景后必须有完善的急停逻辑、碰撞检测和降级保护策略。9. 结语下一站不是“更快”而是“更实用”天工 Ultra 用 38.15s 跑完 400 米确实是一个值得记录的节点。它告诉我们人形机器人已经能够以接近甚至超过人类的速度持续奔跑并且在真实场地里保持稳定完成比赛。这对运动控制、执行器设计、能源管理、实时计算平台等整个链条都是一次高强度验证。但跑步从来不是人形机器人的终点。下一站行业更关注的是机器人能不能带着这套运动能力走进工厂、走进仓储、走进家庭在真实任务中持续工作几千小时而不出问题。到那个时候“更快”就不再是唯一的追求“更稳、更聪明、更便宜、更安全”会成为比速度更重要的话题。如果你对人形机器人运动控制感兴趣建议从开源仿真项目入手先把 LIPM、ZMP、MPC 这些基础概念跑通再逐步过渡到真实硬件。技术文档看一百遍不如在仿真里亲手调一次参数。机器人运动员在赛场上每一秒的成绩提升背后都是无数个小时的算法迭代和工程打磨。希望这篇文章能帮你更清楚地看懂天工 Ultra 这次首金背后的技术含量也为你自己动手做机器人提供一条值得尝试的路径。