如果你正准备做第一台能持续迭代的人形机器人样机,这篇文章要解决的不是“做一台看起来像 humanoid 的机器”这种表面问题,而是更关键的工程问题:怎样先定义一套可复用、可替换、可验证的参考设计,让底盘、关节、手臂、感知、算力、电源和软件接口能稳定协同,而不是每换一个器件就把整机重新推倒重来。最关键的判断是:参考设计不是“先把所有配置定死”,而是先把模块边界、接口约束、测试方法和替换规则定清楚。
这篇适合谁
- 准备从零搭一台 humanoid 样机,想先把系统骨架设计对的人。
- 已经有单个子系统,但一集成就互相打架的团队。
- 需要整理 BOM、接口文档、线束、电源预算和测试流程的工程负责人。
- 希望后面能做迭代版,而不是永远停留在“一次性 demo 机”的开发者。
先纠正几个很常见的误区
误区 1:先把最强的关节、电机、算力都买来,整机自然就成了
现实里最容易拖垮项目的,不是单点性能不够,而是模块之间没有统一约束。电机扭矩、减速比、编码器精度、母线电压、散热空间、通信延迟和软件刷新率如果不是成套设计,再贵的部件也只能拼出一个脆弱系统。
误区 2:参考设计就是一版完整终局方案
不是。参考设计更像“第一套可演进的公共底座”。它要允许你替换手部、换相机、换边缘算力、重做胸腔布线,而不需要把控制栈、日志体系和测试工装全部重写。
误区 3:先把本体做出来,后面再补接口和测试
这通常会让你在第二轮集成时付出最高代价。真正影响迭代速度的,往往不是机械加工,而是接口定义是否统一、日志是否可回放、供电和急停链路是否从第一天就按系统级设计。
关键实现判断
- 先冻结接口,再冻结器件。 你可以允许供应商变化,但通信协议、安装边界、供电约束、诊断字段和故障处理语义要尽早固定。
- 优先做“可维护的模块化”,而不是追求极致轻量化。 第一代参考设计更怕无法换件、无法排障,而不是多出一点重量。
- 电源、线束、散热和急停,不是配套件,是主系统。 很多 humanoid 样机不是死在算法,而是死在掉压、过热、接插件松动和保护链路不完整。
- 参考设计必须自带验证套件。 如果没有 bring-up 清单、关节单元测试、总线压力测试、跌落或断电恢复测试,那它还不算真正可复用的参考设计。
先定义你的参考设计边界
一套真正有用的人形机器人参考设计,至少要覆盖下面 8 个层面:
- 机械层: 结构尺寸、安装孔位、负载边界、快拆策略、维护开口。
- 执行层: 关节模组规格、减速器方案、编码器、制动器、热保护、回零策略。
- 供电层: 电池电压等级、峰值电流、熔断与隔离、支路分配、充电接口。
- 通信层: CAN/CAN FD、EtherCAT、以太网、时间同步、错误码规范。
- 感知层: 相机、IMU、足底接触、力矩/电流反馈、外部定位接口。
- 计算层: 实时控制板、边缘推理机、日志机、远程运维入口。
- 软件层: 驱动抽象、状态总线、任务接口、参数管理、回放工具。
- 验证层: bring-up 流程、回归测试、故障注入、版本兼容矩阵。
如果你现在只能把其中 3 个层面说清楚,那还不适合开始整机采购,应该先把参考设计文档补完整。
分步实践指南
第 1 步,先定任务,再反推参考设计
不要先问“这台 robot 要不要 28 个自由度”,而要先问这套平台第一阶段到底要完成什么任务。比如:
- 双臂桌面抓取与放置
- 固定路线巡检与按钮交互
- 轮式移动底盘 + 上半身操作
- 静态站立、上肢操作、不过早追求动态行走
任务不同,参考设计优先级完全不同。若你的第一阶段核心目标是操作而不是动态双足,那就应该优先把上肢刚度、腕部布线、视觉视角、桌面工作空间和急停链路做稳,而不是把大量预算压在高动态下肢上。
第 2 步,把模块边界画出来
建议把整机拆成以下最小可维护模块:
- 头部感知模块
- 躯干计算与配电模块
- 单侧手臂模块
- 单侧末端执行器模块
- 腰部/骨盆模块
- 单侧腿部模块
- 底座或足部接触模块
- 电池与急停模块
每个模块都应该有自己的输入、输出、固定方式、供电范围、通信接口、热设计要求和可替换原则。最简单的判断标准是:某个模块损坏后,团队能否在半天内拆下、换件、重新校准并恢复测试。如果做不到,说明边界设计还不够好。
第 3 步,先做接口表,不要急着做总装
接口表至少要写清:
- 机械接口,孔位、定位销、安装面、公差和可接近性
- 电气接口,额定电压、峰值电流、连接器型号、反接保护
- 通信接口,总线类型、拓扑、带宽预算、节点编号规则
- 软件接口,状态字段、控制命令、错误码、时间戳语义
- 诊断接口,温度、电流、编码器状态、心跳与掉线处理
这一步看起来慢,但它会显著减少后面的返工。很多项目失败,不是因为没有好算法,而是因为不同模块团队对“这个关节 ready 的定义”都不一样。
第 4 步,建立一版能落地的 BOM 结构
BOM 不要只是一张采购清单,而应该分层管理:
- A 类,核心不可轻易替换件: 关节模组、主控板、电池系统、关键减速器。
- B 类,可控替换件: 相机、工控机、交换机、连接器、风扇、辅助传感器。
- C 类,标准耗材: 线缆、端子、护套、紧固件、导热材料。
每个器件都建议记录 5 个字段:用途、关键规格、替代件、交期风险、验证影响。这样当供应商变化时,你能很快判断它只是采购问题,还是会触发控制参数、热设计或结构件联动修改。
第 5 步,把电源和保护链路当成主线来做
一套参考设计如果没有清晰的电源拓扑,后面几乎一定会在联调时出事。你至少要画出:
- 主电池到配电板的主干路径
- 执行器支路与计算支路的隔离方式
- 急停切断哪些负载,保留哪些诊断能力
- 上电顺序、掉电顺序、异常复位顺序
- 高峰动作时的电流裕量和电压跌落边界
很多人把急停理解成“一键全断电”,但工程上更实用的做法往往是:危险执行支路可快速失能,日志与诊断通路短暂保留,方便定位事故原因和安全恢复。
第 6 步,把软件抽象层跟硬件迭代解耦
如果你的控制栈直接绑定某一款电机驱动器、某一个 IMU 驱动或者某个商用机械手 SDK,那它很难成为参考设计。建议至少抽象出三层:
- 设备驱动层: 面向具体硬件。
- 统一状态与控制接口层: 统一 joint state、fault、mode、command 语义。
- 任务与技能层: 面向抓取、移动、站立、对位、恢复等任务逻辑。
这样你在换一款关节或升级一版主控板时,影响更多停留在底层,而不是把上面整套调试工具和任务逻辑都连根拔掉。
第 7 步,给参考设计配一套 bring-up 和回归流程
推荐最少准备下面这些检查:
- 单模块上电自检
- 单关节方向、零位、限位与温升测试
- 通信链路压测与掉线恢复
- 空载姿态保持与长时间待机测试
- 双臂协同或步态前的碰撞区检查
- 急停、断网、断电、驱动故障注入
- 日志录制、回放与版本比对
没有这些流程,所谓“参考设计”就只是一个能站起来或能动几下的样机,而不是团队能复现、能复制、能扩展的平台。
分类管理建议,别把一切都混成“整机问题”
做参考设计时,建议你把问题分成四类追踪:
- 结构类: 刚度不足、共振、装配干涉、维护空间不够。
- 能源类: 掉压、过流、局部过热、充放电策略不合理。
- 控制类: 零位漂移、延迟抖动、模式切换不稳、异常恢复失败。
- 运维类: 模块更换复杂、标定流程太长、日志缺字段、现场不可定位。
你越早按这个方式归档问题,后面版本演进就越不会陷入“所有故障都看起来像算法问题”的假象。
最容易翻车的地方
- 过早追求全功能。 第一版参考设计应该优先保证模块稳定、接口统一和调试顺畅,而不是一次做完走路、抓取、语音、导航和复杂交互。
- 忽视线束与接插件。 真机问题里,线束磨损、插头松脱、EMI 干扰、接地策略混乱,比很多人想象得更常见。
- 只做标称参数,不做边界测试。 额定扭矩、额定温度、理论带宽都不等于系统级可用边界。
- 没有版本兼容矩阵。 硬件改了、固件改了、驱动改了、上位机改了,却没有记录哪些组合真正测过,后面会非常痛苦。
- 只记录成功 demo,不记录失败模式。 参考设计最值钱的部分之一,其实是失败条件和恢复方法被系统化写了下来。
下一步怎么做
- 先用一页纸写清第一阶段目标任务,不要超过 3 个。
- 把整机拆成模块,并为每个模块补齐接口表。
- 拉出一版分层 BOM,标记不可替换件与可替换件。
- 先完成配电拓扑、急停链路和 bring-up 清单,再开始总装。
- 在第一版样机完成前,就把日志字段、回放工具和故障分类建起来。
这样做的好处是,你得到的不是一台偶然能工作的 humanoid,而是一套可以继续长、可以持续换件、可以支持多人协作迭代的工程底座。
延伸阅读方向
- 关节模组热设计与连续工况验证
- 人形机器人状态估计与时间同步
- 全身控制接口抽象与任务优先级设计
- 仿真到实机的参数校核与日志回放
- 参考设计里的测试工装、回归基准和版本治理
