搭一套具身智能软件栈的 5 个核心层级
📖 摘要:2026 年"具身智能"从论文走向产线,但很多团队卡在"买了一台机械臂却跑不起智能"------缺的不是模型,而是把感知、仿真、控制、学习串起来的软件栈。本文按"硬件→中间件→仿真→策略→数据闭环"拆成 5 个可落地的核心层级,每层给出主流开源选型(ROS 2、Isaac Lab、LeRobot、OpenVLA 等)、做什么、为什么、怎么接,并附一段 ROS 2 节点和训练脚本示例。读完你能画出自己项目的栈图。
🏷️ 关键词:具身智能,ROS 2,LeRobot,仿真,VLA
目录
- 一、为什么需要"栈"而不是"模型"
- 二、层级一:硬件与传感层
- [2.1 这一层解决什么](#2.1 这一层解决什么)
- [2.2 典型选型](#2.2 典型选型)
- [三、层级二:通信中间件层(ROS 2)](#三、层级二:通信中间件层(ROS 2))
- [3.1 为什么是 ROS 2](#3.1 为什么是 ROS 2)
- [3.2 一个最小节点示例](#3.2 一个最小节点示例)
- 四、层级三:仿真与训练层
- [4.1 Isaac Lab 与 MuJoCo 怎么分工](#4.1 Isaac Lab 与 MuJoCo 怎么分工)
- 五、层级四:策略与基础模型层
- [5.1 主流 VLA / 模仿学习策略](#5.1 主流 VLA / 模仿学习策略)
- [5.2 一段 LeRobot 训练脚本](#5.2 一段 LeRobot 训练脚本)
- 六、层级五:数据闭环层
- 七、一张图串起五层
- 八、总结
一、为什么需要"栈"而不是"模型"
很多团队一上手就调最大的视觉-语言-动作(VLA)模型,结果卡在现实部署:相机驱动没有、关节控制对不上、仿真里能跑真机上不了。具身智能的本质是一个连续工程工作流------感知、推理、仿真、学习、真实控制必须被一条软件栈串起来,而不是某一个"最强模型"单点突破。
下面这 5 层,是 2026 年开源社区里被反复验证、彼此能拼起来的最小可行栈。
二、层级一:硬件与传感层
2.1 这一层解决什么
负责把"物理世界"变成"数字信号":相机(RGB / 深度)、关节编码器、力矩传感器、激光雷达、触觉传感器。没有干净、同步、带时间戳的传感流,上层的任何智能都是空中楼阁。
2.2 典型选型
- 入门机械臂:SO-100(六自由度,公开图纸,千元级)。
- 移动操作:LeKiwi(开源移动 manipulator,整机数百美元级)。
- 四足 / 人形研究:Unitree Go2 / G1(SDK 完善、ROS 2 兼容)。
- 算力:一台带 RTX 4090 级显卡的工作站即可跑通 VLA 训练与推理。
⚠️ 注意:实体部署务必设置安全区域与急停开关、做充分风险评估。涉及人身安全的环节,当前技术可靠性和验证仍不充分,不要省掉物理安全边界。
三、层级二:通信中间件层(ROS 2)
3.1 为什么是 ROS 2
ROS 2 是连接相机、导航、操作、硬件驱动的"神经系统"。2026 年它已是研究级机器人的默认运行时:启动系统更成熟、DDS 实现稳定、Python 与 C++ 一等公民,多机/多机器人协同也比 ROS 1 好得多。如果某个厂商只支持 ROS 1,应视为黄灯信号(ROS 1 已于 2025-05 EOL)。
3.2 一个最小节点示例
用 Python 发布关节状态、订阅目标角度,是控制层最常见的骨架:
python
import rclpy
from rclpy.node import Node
from std_msgs.msg import Float64MultiArray
class ArmBridge(Node):
def __init__(self):
super().__init__('arm_bridge')
# 发布实际关节角,订阅目标关节角
self.pub = self.create_publisher(Float64MultiArray, '/joint_states', 10)
self.sub = self.create_subscription(
Float64MultiArray, '/target_angles', self.on_target, 10)
def on_target(self, msg):
# 这里接你的控制/策略输出,真实场景会再下发给驱动器
self.get_logger().info(f'收到目标关节角: {msg.data}')
self.pub.publish(msg)
if __name__ == '__main__':
rclpy.init()
rclpy.spin(ArmBridge())
四、层级三:仿真与训练层
4.1 Isaac Lab 与 MuJoCo 怎么分工
- MuJoCo(Google DeepMind,免费):CPU 物理仿真,接触丰富的操作任务迭代快,笔记本就能跑,适合先验证策略想法。
- Isaac Lab / Isaac Sim(NVIDIA,免费):GPU 加速,支持上千环境并行,做大规模强化学习、域随机化、sim-to-real 转移的首选。代价是需要 24GB+ 显存。
💡 实战节奏:先用 MuJoCo 快速试错,再用 Isaac Lab 做最终训练和 sim-to-real 桥接。大多数团队两者都装。
五、层级四:策略与基础模型层
5.1 主流 VLA / 模仿学习策略
| 方案 | 定位 | 适用 |
|---|---|---|
| OpenVLA | 大体量、预训练覆盖广、原生支持语言条件 | 演示 >500 条、需语言指令的任务 |
| Octo | 小、微调快、对小数据集友好 | 单人/小团队、异构本体 |
| Diffusion Policy | 接触丰富操作的默认选择 | 几百条演示的接触型任务 |
| ACT | 动作分块 Transformer | 双臂操作主力 |
选型的判断标准很简单:数据少、本体多 → Octo;数据多、要语言理解 → OpenVLA;接触丰富 + 少量演示 → Diffusion Policy。
5.2 一段 LeRobot 训练脚本
LeRobot 把数据集格式、训练循环、ACT/Diffusion/Octo 架构都标准化了,是 2026 年事实上的数据+策略默认层:
python
from lerobot.common.datasets.lerobot_dataset import LeRobotDataset
from lerobot.common.policies.act.modeling_act import ACTPolicy
from lerobot.configs import TrainConfig
cfg = TrainConfig(
dataset_path="your_org/so100_pick_place",
policy_type="act",
batch_size=64,
num_epochs=50,
)
dataset = LeRobotDataset(cfg.dataset_path)
policy = ACTPolicy.from_pretrained("lerobot/act_so100")
# 一条命令即可启动训练,checkpoint 与配置自动留存
policy.train(dataset, cfg)
六、层级五:数据闭环层
模型再强也要喂数据。这一层负责采集 → 统一格式 → 训练 → 上线 → 回收失败案例再训练的循环:
- 数据格式:用 LeRobot 的规范(能从 ALOHA、DROID、OpenArm 等常见格式转换),并遵循 DROID / Open X-Embodiment 这类跨数据集约定,才能做跨本体的预训练。
- 遥操作:ALOHA 式、手套式、OpenArm 等开源方案采集演示。
- 失败回收:把真实部署中失败的片段回填数据集,是闭环质量的关键,比一次性堆数据有效得多。
七、一张图串起五层
┌──────────────────────────────────────────────┐
│ 层级五 数据闭环:采集→统一格式→训练→回收失败 │
├──────────────────────────────────────────────┤
│ 层级四 策略/基础模型:OpenVLA·Octo·Diffusion │
├──────────────────────────────────────────────┤
│ 层级三 仿真与训练:Isaac Lab(并行RL)·MuJoCo │
├──────────────────────────────────────────────┤
│ 层级二 通信中间件:ROS 2(话题/服务/生命周期) │
├──────────────────────────────────────────────┤
│ 层级一 硬件与传感:相机·编码器·雷达·触觉 │
└──────────────────────────────────────────────┘
真实机器人 ⇄ 数字孪生(仿真) 双向迭代
八、总结
具身智能落地的难点从来不是"模型够不够大",而是五层能不能被同一条工程流串起来:硬件把世界数字化、ROS 2 把模块连起来、仿真把策略先跑对、基础模型把智能衬进去、数据闭环把质量滚起来。
给你三个落地建议:① 先仿真后真机,用 MuJoCo 快速验证、Isaac Lab 做规模化训练;② 数据闭环比一次性堆量重要,失败回收是质量分水岭;③ 本体多、数据少就从小模型(Octo)起步,别一上来追最大 VLA。把这张栈图贴在项目 wiki 上,每一层都有人负责,比追单个 SOTA 模型靠谱得多。
觉得有用就点个赞/收藏,评论区说说你卡在五层里的哪一层。