2、人形机器人总体架构:硬件系统、软件系统、感知-决策-执行闭环的层次划分
人形机器人的总体架构设计是系统工程的起点,它决定了机器人的功能边界、性能上限、开发效率与可维护性。与工业机械臂或AGV不同,人形机器人需要在非结构化环境中实现双足稳定行走、双臂灵巧操作、全身运动协调以及多模态人机交互,这对架构提出了极高的耦合度与实时性要求。本章从硬件系统、软件系统以及感知-决策-执行闭环三个维度展开,帮助学员建立从物理层到认知层的完整架构视图,并理解各层次之间的接口约束与设计权衡。
上图展示了人形机器人三大子系统之间的核心关系:硬件系统提供物理载体与算力底座,软件系统承载智能算法与调度逻辑,而感知-决策-执行闭环则是连接两者的“神经回路”。在实际工程中,这三个层次并非严格串行,而是存在大量跨层交互,例如视觉感知结果直接触发全身运动控制器的步态切换,或者关节力矩反馈反向修正决策层的路径规划。理解这种耦合关系,是进行系统架构设计的前提。
2.1 硬件系统:从关节模组到异构计算平台
核心原理:硬件分层与资源约束
人形机器人的硬件系统可划分为四个子系统:执行机构子系统(电机、减速器、驱动器、传动机构)、感知子系统(视觉、激光、IMU、力/触觉传感器)、计算子系统(主控SoC、实时MCU、FPGA)以及能源与通信子系统(电池、电源管理、总线网络)。每个子系统都有其独特的性能指标与设计约束。例如,执行机构需要高扭矩密度(通常要求>10Nm/kg)和低齿槽转矩,以保证关节控制的平滑性;感知子系统则要求低延迟(<10ms)和高带宽(视觉数据>1Gbps);计算子系统必须在功耗预算(通常整机<500W)内平衡算力与实时性。
硬件架构设计的核心矛盾在于“通用性”与“实时性”的权衡。主控SoC(如NVIDIA Jetson Orin或Intel Core系列)擅长运行复杂的深度学习模型,但其调度延迟不可控;而实时MCU(如STM32H7或TMS320F28379D)能提供微秒级的中断响应,但算力有限。因此,现代人形机器人普遍采用异构计算架构:将感知融合、语义理解等非实时任务放在SoC上,将关节伺服、力控制等硬实时任务放在MCU上,中间通过EtherCAT或PCIe总线进行高速数据交换。
硬件选型与接口设计方法
硬件系统设计遵循“需求分解→接口定义→器件选型→集成验证”的流程。首先,根据机器人的运动性能指标(如最大行走速度、负载能力)反推关节电机的峰值扭矩与转速;然后,根据传感器数量与数据率确定总线带宽需求;最后,根据整机功耗与散热约束选择电池容量与冷却方案。关键接口设计包括:
- 关节通信接口:通常采用EtherCAT(周期1ms)或CAN-FD(周期2ms),支持多主站冗余。
- 视觉传感器接口:MIPI CSI-2用于相机直连SoC,GMSL2用于长距离传输(>15m)。
- 力传感器接口:SPI或并行接口,采样率需≥2kHz,且需硬件滤波电路。
- 电源分配:采用48V主电源+12V/5V/3.3V二次电源域,各电源域需隔离与缓启动。
工程经验:在关节模组设计中,建议将电机驱动器(如TI DRV8353)与编码器解码电路(如AS5047P)集成在关节内部,通过单根屏蔽双绞线(包含电源+通信)与主控连接。这样可显著减少线束数量,降低装配复杂度。但需注意,驱动器靠近电机热源,必须设计有效的散热路径(如铝合金外壳导热)。
案例拆解:某双足机器人下肢硬件架构
以某实验室开发的液压驱动双足机器人为例,其硬件架构具有典型参考价值。该机器人下肢共12个主动自由度(髋3+膝1+踝2,每条腿),采用液压伺服阀驱动,峰值扭矩达300Nm。硬件系统配置如下:
| 子系统 | 关键器件 | 参数/接口 | 设计要点 |
|---|---|---|---|
| 主控计算 | Intel i7-12700H + RTX A2000 | PCIe Gen4 / 64GB DDR5 | 运行感知与规划算法,功耗120W |
| 实时控制 | 2× TMS320F28379D | EtherCAT从站 / 1kHz | 每个MCU控制6个关节,执行WBC |
| 关节驱动 | Moog E024液压伺服阀 | ±10V模拟指令 / 2kHz | 阀芯位移闭环,响应时间<1ms |
| 感知 | 2× FLIR BFS-U3-16S2C + 1× Livox MID-360 | USB3.0 / 千兆以太网 | 视觉帧率30Hz,激光10Hz |
| 电源 | 6S LiPo 22.2V 10Ah + DC-DC | 持续放电20C | 整机功耗峰值800W,续航约20分钟 |
该架构的初始设计目标是实现不平整地形的动态行走。在调试过程中发现,液压系统存在明显的油液谐振(约15Hz),导致关节力矩波动。通过分析EtherCAT总线上的力矩指令与编码器反馈,团队在MCU中增加了二阶低通滤波器(截止频率8Hz),并调整了伺服阀的PID参数,最终将力矩波动从±8%降低至±2%。这一案例说明,硬件架构设计必须预留调试接口(如总线监控端口、模拟量测试点),否则后期排障将极为困难。
常见误区:许多团队在硬件设计初期过度追求“高规格”,例如选用超大算力的GPU或超高精度的传感器,却忽略了电源完整性与信号完整性设计。实际上,人形机器人硬件故障中,超过60%源于电源噪声和地弹问题,而非器件本身失效。建议在PCB设计阶段就进行电源仿真,并在关键电源轨上预留足够的去耦电容(如10μF+100nF组合)。
2.2 软件系统:分层架构与实时调度
核心原理:软件层次划分与数据流
人形机器人的软件系统通常分为三层:系统软件层(操作系统、中间件、驱动)、功能软件层(感知、决策、控制算法模块)、开发工具层(仿真、调试、数据管理)。系统软件层提供硬件抽象与通信机制,功能软件层实现具体算法,开发工具层支撑迭代开发。这种分层设计的核心优势在于模块解耦:算法工程师无需关心底层硬件细节,硬件工程师可以独立测试驱动,而系统集成人员通过标准接口(如ROS2的Topic/Service)进行组装。
实时调度是软件架构的关键挑战。人形机器人的控制回路要求严格的时序确定性:关节伺服控制周期通常为1kHz(1ms),全身运动控制(WBC)为500Hz(2ms),步态规划为100Hz(10ms),而感知融合为30-60Hz。这些任务具有不同的优先级与截止时间,必须采用优先级抢占式调度或时间触发调度。在Linux系统中,通常使用PREEMPT_RT补丁或Xenomai双内核方案;在MCU上,则直接使用裸机中断或FreeRTOS。
软件架构设计流程
软件架构设计遵循“接口先行→模块实现→集成测试→性能优化”的路径。首先,定义各模块之间的数据接口(消息类型、频率、延迟预算);然后,基于ROS2或自研中间件实现模块通信;最后,通过系统级测试验证端到端延迟。一个典型的软件模块划分如下:
- 感知模块:接收相机/激光数据,输出障碍物列表、地形分类、自身位姿(频率30Hz,延迟<50ms)。
- 状态估计模块:融合IMU、关节编码器、视觉里程计,输出全身关节角度与速度(频率500Hz,延迟<2ms)。
- 决策规划模块:接收任务指令与感知结果,输出全局路径与步态序列(频率10Hz,延迟<100ms)。
- 运动控制模块:接收步态序列与状态估计,计算关节力矩指令(频率500Hz,延迟<1ms)。
- 执行器接口模块:将力矩指令写入EtherCAT总线,并读取编码器反馈(频率1kHz,延迟<0.5ms)。
经验提示:在软件架构中,建议将“状态估计”作为独立模块,而不是嵌入感知或控制模块中。因为状态估计(如扩展卡尔曼滤波EKF)需要同时访问传感器数据和控制指令,独立成模块可以避免循环依赖,也便于在不同机器人平台上复用。
案例拆解:基于ROS2的软件系统集成
某轮式人形机器人(上半身+轮式底盘)采用ROS2 Humble作为中间件,运行在Ubuntu 22.04 + PREEMPT_RT内核上。系统包含以下节点:相机节点(发布Image)、激光节点(发布PointCloud2)、SLAM节点(发布Map)、路径规划节点(发布Path)、底盘控制节点(订阅CmdVel)、机械臂控制节点(订阅JointTrajectory)。在集成测试中发现,当SLAM节点与路径规划节点同时运行时,底盘控制节点的周期抖动从±0.2ms增大到±1.5ms,导致轮子出现可见的抖动。
通过ros2 doctor和ros2 topic hz检查,发现SLAM节点占用了大量CPU时间(约80%),且其发布的消息队列长度达到100,导致DDS通信线程阻塞。解决方案是:①将SLAM节点设置为SCHED_FIFO实时优先级,但限制其CPU亲和性(绑定到2个核心);②将底盘控制节点绑定到独立核心,并设置更高的实时优先级;③将SLAM的QoS策略从RELIABLE改为BEST_EFFORT,降低通信开销。调整后,底盘控制节点的周期抖动恢复至±0.3ms以内。
常见误区:不要将所有节点都设置为实时优先级。实时调度需要精确的CPU预算计算,如果多个高优先级任务同时就绪,系统可能发生优先级反转或死锁。建议使用rqt_graph和perf工具进行CPU占用分析,确保实时任务的总CPU占用率不超过70%。
2.3 感知-决策-执行闭环:层次划分与实时性设计
核心原理:闭环的层次化分解
感知-决策-执行闭环是人形机器人智能行为的核心机制。根据时间尺度与控制带宽,该闭环可进一步细分为三个嵌套回路:
- 任务级回路(低频,0.1-1Hz):感知环境语义信息(如“前方有楼梯”),决策层进行任务规划(如“选择爬楼梯”),执行层切换步态模式。该回路对延迟不敏感,但需要全局一致性。
- 行为级回路(中频,10-100Hz):感知局部地形与障碍物,决策层规划局部路径与落脚点,执行层调整步幅与身体姿态。该回路需要亚秒级响应。
- 反射级回路(高频,500Hz-2kHz):感知关节力矩与IMU角速度,决策层(通常为固定控制律)计算关节补偿力矩,执行层驱动电机。该回路要求微秒级确定性。
这种层次化分解的核心价值在于隔离复杂度:高频回路使用简单的线性控制律保证稳定性,中频回路使用优化算法(如MPC)处理约束,低频回路使用AI模型进行语义推理。各层之间通过明确的接口传递信息,避免“感知-决策-执行”全链路串行导致的累积延迟。
闭环设计的关键参数与调试方法
设计闭环系统时,需要明确以下关键参数:端到端延迟(从传感器采样到执行器响应的总时间)、控制频率(各层级的更新速率)、数据新鲜度(传感器数据的时间戳有效性)。调试方法通常采用“由内向外”策略:先单独验证反射级回路(如关节力矩闭环),再逐步加入行为级回路(如步态规划),最后集成任务级回路(如语义导航)。
| 层级 | 典型延迟预算 | 控制频率 | 主要算法 | 失效模式 |
|---|---|---|---|---|
| 反射级 | <1ms | 1-2kHz | PID、ADRC、力/位混合控制 | 关节振荡、电机过流 |
| 行为级 | 10-50ms | 100-500Hz | MPC、WBC、ZMP步态 | 步态失稳、身体倾斜 |
| 任务级 | 100-500ms | 1-10Hz | RRT*、LLM任务分解、状态机 | 路径冲突、任务死锁 |
案例拆解:双足机器人抗扰动闭环设计
以某双足机器人在受到侧向推力时的恢复控制为例,完整展示闭环设计过程。该机器人身高1.7m,重65kg,采用平面双足构型(共10个主动自由度)。初始现象:当受到50N·s的侧向冲量时,机器人会在0.5秒内失去平衡摔倒。
分析过程:通过IMU数据(采样率1kHz)发现,在受到冲击后,身体侧倾角速度峰值达到2.5rad/s,远超稳定阈值(1.2rad/s)。进一步分析关节力矩指令,发现踝关节的力矩响应延迟约15ms,且力矩上升速率受限(最大速率50Nm/s),无法在短时间内产生足够的恢复力矩。
解决方案:①在反射级回路中,增加基于IMU角速度的前馈补偿项,将踝关节力矩响应延迟从15ms降低至3ms;②在行为级回路中,引入“捕获点”(Capture Point)动态调整步态,当检测到侧倾角速度超过阈值时,立即触发跨步策略(步幅增加20%,步态周期缩短30%);③在任务级回路中,通过强化学习预训练一个“扰动恢复策略”,在受到冲击时直接输出全身关节位置修正量。
结果对比:优化后,机器人能够抵抗80N·s的侧向冲量,恢复时间从1.2s缩短至0.6s。但代价是跨步策略增加了足底与地面的冲击力(峰值从1.2倍体重增至1.5倍体重),对膝关节减速器寿命有一定影响。复盘经验:闭环设计必须考虑“稳定性”与“机械应力”的权衡,不能一味追求快速恢复。
总结复盘:感知-决策-执行闭环的设计不是简单的“传感器→算法→电机”串联,而是一个多时间尺度、多反馈路径的复杂系统。优秀的架构设计应具备以下特征:①各层级有明确的接口与延迟预算;②高频回路不依赖低频回路的计算结果(除非必要);③具备降级模式(如感知失效时切换到纯反射控制);④通过仿真平台(如MuJoCo+ROS2)进行充分的闭环测试后再部署到实物。
风险提示:在实物调试中,务必在机器人上安装急停开关和机械限位。闭环算法的参数(如MPC的权重矩阵)在仿真中调优后,移植到实物时需进行“软启动”验证——先以50%的增益运行,逐步增加至目标值,避免因模型误差导致剧烈振荡。