ICRA 2025叉车顶会论文拆解:不用真实数据,如何实现AGV视觉零样本Sim2Real?

张开发
2026/4/8 16:37:28 15 分钟阅读

分享文章

ICRA 2025叉车顶会论文拆解:不用真实数据,如何实现AGV视觉零样本Sim2Real?
ICRA 2025叉车顶会论文拆解不用真实数据如何让AGV实现视觉零样本Sim2Real装载这次换一篇和之前完全不同风格的论文。如果说系统级自动叉车论文强调的是“感知、规划、控制全链路打通”那么这篇论文更强调另一条路线只靠高保真仿真环境训练不使用真实训练数据能不能让叉车学会视觉控制并直接迁移到真实世界一、为什么这篇论文值得分析近几年 AGV / 自动叉车方向的论文大多集中在这些模块上托盘检测路径规划定位建图对接控制系统级集成但这篇论文走的是另一条思路不先堆传统模块而是尝试直接让叉车通过视觉学会“接近托盘并完成装载”这件事。更关键的是作者给自己设定了一个非常硬核的前提训练阶段完全不使用真实世界数据。这件事为什么难因为叉车任务本身就有很高风险失败代价高真实试错成本高采集失败数据不安全强化学习又通常很依赖大量交互所以这篇论文真正回答的问题是如果只依靠高保真仿真、域随机化和视觉强化学习叉车能不能实现 zero-shot sim2real二、这篇论文到底在解决什么问题论文聚焦的是平衡重式叉车counterbalance forklift的托盘装载任务。这类叉车在工业中非常常见但自动化难度并不低因为它在接近托盘时并不是简单的“直线前进”而是一个需要不断修正姿态、控制速度、判断装载时机的复杂过程。论文把任务拆成了两步1接近托盘叉车从随机初始位置出发仅根据视觉与速度信息控制油门和转向逐步靠近托盘。2决定是否起叉当叉车停止后再由一个单独的模型判断当前是否已经接近成功是否应该执行抬叉装载。这个拆分其实非常工程化因为它没有强行把整件事做成一个完全黑盒的大策略而是保留了关键动作节点上的“安全判断”。一句话总结就是接近过程交给强化学习是否起叉交给监督学习决策。三、整篇论文的核心构思先在数字环境里学再迁移到真实小比例叉车这篇论文的整体技术路线可以概括为高保真仿真训练 → 视觉策略学习 → zero-shot sim2real → 真实小比例叉车验证作者并没有一开始就上真实全尺寸工业叉车而是先设计了一个1/14 比例的真实验证平台。这种做法很聪明因为它在保留叉车关键结构和运动特性的同时大幅降低了真实试验的风险和成本。这个思路特别适合工程项目借鉴对于高风险 AGV / 叉车任务不是“能学就直接上真机”而是“先在安全尺度上验证路线可不可行”。四、这篇论文最有意思的一点输入设计很像人类驾驶员作者在设计视觉输入时并不是随便装相机而是参考了人类叉车操作员的观察方式。人类在装载托盘时往往会重点观察货叉和托盘孔位之间的相对位置左右是否对齐当前速度是否合适因此论文在叉车左右两侧各装了一台相机用于观察货叉与托盘之间的相对关系。除此之外策略还输入了速度信息偏航角速度历史动作信息这说明作者虽然做的是端到端学习但并不是“为了端到端而端到端”而是有很强的任务建模意识。五、接近策略是怎么做的5.1 输入是什么两路相机图像原始分辨率为352×288 RGB先缩放到224×224再通过ImageNet 预训练 ResNet提取视觉特征。然后再把这些视觉特征和以下信息拼接速度偏航角速度历史动作最终形成一个高维状态向量送入控制策略网络。这个设计背后的逻辑很清楚视觉负责看清托盘与货叉关系运动信息负责补足动态状态。5.2 输出是什么策略网络直接输出两个连续控制量油门转向也就是说论文研究的是一个比较典型的端到端控制问题atπθ(ot) a_t \pi_\theta(o_t)at​πθ​(ot​)其中oto_tot​表示当前观测πθ\pi_\thetaπθ​表示参数化策略网络ata_tat​表示当前输出动作这里的动作并不是高层导航指令而是真正接近底层控制的连续控制量。六、为什么选 PPO论文在接近策略训练中使用的是PPOProximal Policy Optimization。PPO 在机器人控制里很常见主要原因是训练相对稳定对连续动作控制比较友好不像某些方法那样容易更新过猛导致策略崩掉论文的总损失可以抽象写成LLppoλvLv−λeHλbLb L L_{\text{ppo}} \lambda_v L_v - \lambda_e H \lambda_b L_bLLppo​λv​Lv​−λe​Hλb​Lb​其中LppoL_{\text{ppo}}Lppo​是 PPO 策略损失LvL_vLv​是状态值损失HHH是熵正则项LbL_bLb​是边界损失这里最值得注意的是边界损失。它的作用不是追求更激进的动作而是抑制动作过大避免叉车控制过于突兀。这一点非常符合叉车任务本身的特点自动叉车不是竞速小车动作平稳性和安全性比“冲得快”更重要。七、这篇论文真正值得学的是奖励函数怎么设计强化学习论文很多但真正决定任务能不能学出来的往往不是网络结构而是奖励函数。这篇论文的奖励设计非常有针对性。它没有简单地只奖励“到达目标”而是围绕叉车装载任务本身设计了更细致的约束。正奖励部分主要鼓励更接近托盘更接近参考轨迹朝向更贴合装载方向成功到达装载位置可以抽象表示为rw1(−dpallet)w2(−dcurve)w3(−∣Δθ∣)rgoal r_{} w_1(-d_{\text{pallet}}) w_2(-d_{\text{curve}}) w_3(-|\Delta \theta|) r_{\text{goal}}r​w1​(−dpallet​)w2​(−dcurve​)w3​(−∣Δθ∣)rgoal​其中dpalletd_{\text{pallet}}dpallet​表示货叉到托盘的距离dcurved_{\text{curve}}dcurve​表示与参考曲线的偏差Δθ\Delta \thetaΔθ表示朝向误差与此同时论文还加入了多个惩罚项用来避免一些在真实叉车任务中特别危险或低效的行为撞动托盘速度过大动作抖动明显长时间原地不动整体奖励可以概括为rr−rcontact−rspeed−rjerk−rfreeze r r_{} - r_{\text{contact}} - r_{\text{speed}} - r_{\text{jerk}} - r_{\text{freeze}}rr​−rcontact​−rspeed​−rjerk​−rfreeze​这套设计说明作者非常清楚一点叉车任务不是普通导航任务目标不是“开过去”而是“安全、平稳、准确地插进去”。八、为什么它能做到“不用真实训练数据”这是这篇论文最大的亮点之一。作者使用了NVIDIA Omniverse Isaac Sim来搭建高保真数字环境并基于CAD 模型和几何参数构建托盘、载荷和叉车环境。也就是说它不依赖真实拍摄图片来训练视觉策略而是直接在数字世界里生成训练环境。为了缩小 sim2real gap作者还做了大量domain randomization域随机化包括地面颜色变化托盘颜色变化载荷颜色变化光照强度变化光照色温变化控制输入扰动速度观测扰动作者甚至考虑到了现实场景中的荧光灯反射问题。这背后的核心逻辑是既然不能依赖真实数据补 gap那就尽量把仿真环境做得更真实同时把不确定因素尽量打散。九、为什么还要单独做一个“是否起叉”的决策模型因为“看起来差不多对齐了”和“真的可以起叉”不是一回事。所以作者在接近策略之后又单独设计了一个二分类决策模型用于判断当前是否已经成功接近托盘是否应该执行抬叉动作这个决策模块不是强化学习而是一个监督学习分类器。我们可以把它写成yfϕ(ot),y∈{0,1} y f_\phi(o_t), \quad y \in \{0,1\}yfϕ​(ot​),y∈{0,1}其中oto_tot​表示当前观测fϕf_\phifϕ​表示决策模型y1y1y1表示允许起叉y0y0y0表示还不应该起叉这个设计非常实用因为它让系统在最关键的一步多了一层安全判断。简单理解就是强化学习负责“怎么靠近”监督学习负责“现在能不能装”。十、真实验证平台长什么样论文没有直接上全尺寸工业叉车而是改造了一台1/14 比例 LESU 叉车模型。它依然保留了真实叉车的很多关键特征前轮驱动后轮转向货叉升降货叉倾斜液压结构真实平台上使用了两个侧向 USB 相机Raspberry Pi 4 运行 ROSmotion capture 提供速度信息控制频率约15 Hz这一点很值得注意。它说明这篇论文的重点不是“堆很贵的硬件”而是验证方法路线本身。十一、实验结果怎么样这是最关键的一部分。论文把仿真中训练好的策略直接 zero-shot迁移到真实世界中间没有用真实数据再微调。11.1 接近任务成功率真实实验中总共做了 10 次任务结果如下方法本身成功率60%人类操作者 A50%人类操作者 B40%人类操作者 C90%这个结果很有意思。它说明任务本身并不简单不是“人来操作一定满分”。而且作者特别指出成功率最高的那位人类操作者采取了非常谨慎的驾驶风格经常停下来反复观察画面。这说明系统学到的是一种效率优先、较果断的接近策略而不是特别保守的操作方式。11.2 时间表现平均成功时间方面论文方法6.5 s人类 A7.7 s人类 B17.2 s人类 C24.5 s也就是说虽然系统整体成功率还不算特别高但一旦成功它完成任务的速度其实并不慢甚至比大多数人类操作者更快。这说明策略已经学会了比较明确的接近动作而不是慢吞吞地试探。11.3 起叉决策模块表现起叉决策模块的成功率达到90%唯一一次错误发生在货叉只插进托盘一侧的情况下。这说明真正的主要瓶颈不是“要不要起叉”而是前面视觉接近过程本身。十二、这篇论文的创新点到底在哪如果只看表面很容易觉得它只是“Isaac Sim PPO ResNet 小车验证”。但真正的创新并不在单个组件而在于这几个部分的组合方式和问题设定。创新点 1完全不用真实训练数据作者明确把“no real-world training data”作为研究前提这对于高风险叉车任务非常有意义。创新点 2把视觉输入设计得更贴近人类驾驶逻辑两侧相机观察货叉与托盘关系这不是随便装的而是从真实人工操作中抽象出来的。创新点 3真正做了 zero-shot sim2real不是先在仿真里训练再拿少量真实数据修修补补而是直接迁移到真机做装载验证。创新点 4用了小比例真实叉车做中间过渡验证这不是纯仿真也不是直接硬上工业大叉车而是一个非常现实的中间层方案。十三、这篇论文的问题也很明显它有价值但还远没到工业可直接落地的程度。160% 成功率还不够高对于论文来说60% 可以证明路线可行。但对于工业 AGV / 自动叉车来说这个成功率显然还不够。2验证平台仍然只是 1/14 比例小比例平台能验证方向但并不代表已经解决了全尺寸车辆动力学、安全性和执行器差异问题。3任务范围还比较窄当前聚焦的是托盘接近起叉决策还没有扩展到更完整的搬运任务链比如多托盘搬运长距离导航动态障碍绕行系统级调度4部分状态信息来自 motion capture真实实验中的速度信息来源于外部捕捉系统这说明距离真正完全车载部署还有一步。十四、如果我们做 AGV 项目这篇论文最值得借鉴什么我觉得最值得借鉴的不是具体网络而是这四个思路。1危险设备别直接在真机上“学”对于 AGV、叉车这类设备仿真训练 中间尺度真机验证是非常合理的一条路线。2端到端不等于完全黑盒这篇论文虽然用端到端强化学习控制接近过程但依然把“是否起叉”独立做成一个监督学习模块这很工程化。3视觉输入一定要贴近任务不是相机越多越好而是要看清真正决定任务成败的那部分信息。4sim2real 不只是随机化更要有任务约束奖励函数里把“不能撞托盘”“动作不要太抖”“不要僵在原地”都写进去这比单纯追求到达目标更接近真实工业任务。十五、我的理解这篇论文代表的是另一条 AGV 路线如果把这篇论文和传统系统级自动叉车论文放在一起看会发现它们代表了两条很不一样的路线。传统系统级路线更像感知模块化规划模块化控制模块化强调全链路集成这篇论文更像学习驱动视觉直接服务控制依赖高保真仿真与 sim2real尝试减少真实数据依赖这两条路线没有谁绝对更高级但它们确实代表了 AGV / 自动叉车研究的两个方向一条是系统工程路线一条是学习控制路线。而这篇论文最有价值的地方就在于它让“学习控制”在叉车这类高风险设备上的应用看起来第一次没那么遥远了。十六、总结这篇 ICRA 2025 论文最值得看的地方不是它把自动叉车彻底做成熟了而是它证明了一件事只靠高保真仿真、域随机化和视觉强化学习叉车也有机会实现 zero-shot sim2real。它的核心贡献可以概括为三点用高保真数字环境替代真实训练数据用视觉和运动信息学习托盘接近策略在真实小比例叉车上完成 zero-shot 装载验证虽然目前 60% 的成功率还远没到工业落地标准但这篇论文已经很清楚地告诉我们AGV / 自动叉车的未来不一定只能靠传统模块堆起来也可能逐步走向学习驱动的控制系统。

更多文章