lerobot库中RTC更新逻辑

目录

  • [1 问题背景](#1 问题背景)
  • [2 具体更新过程](#2 具体更新过程)

1 问题背景

RTC的ActionQueue是怎么更新的呢?

比如现在ActionQueue中剩余20个action,我启动了推理,生成了50步action,推理的delay步数是9,execution_horizon是15。

2 具体更新过程

剩余20个action中的前15个用来约束推理生成50步action,效果是前9步为剩余action的前9步,9~15步是新旧action的加权,15~50是新action。这50个action,先丢弃掉前9步,然后直接替换ActionQueue。是这样的。

融合,

txt 复制代码
0 ~ 9    权重 = 1
9 ~ 15   指数衰减,从较大逐渐到接近 0
15 ~ 50  权重 = 0

这会让ONNX图在生成当前chunk时,

txt 复制代码
new[0:9]    强烈贴近 old[0:9]
new[9:15]   逐渐减少旧动作影响
new[15:50]  基本自由生成新动作

注意这里不是在python中直接做加权。而是把prev_chunk_left_overprefix_weights喂进onnx图,图内部在denoise过程中做RTC guidance。所以最终生成的前9步通常会接近旧动作,但不一定数学上完全等于旧动作。

所以完整的过程是:

txt 复制代码
推理开始时:
ActionQueue 剩余 old[0:20]

构造 RTC 输入:
old[0:20] 作为 prev_chunk_left_over
weights: [1...1, exp decay..., 0...]

ONNX 生成:
new[0:9]    受 old[0:9] 强约束
new[9:15]   受 old[9:15] 衰减约束
new[15:50]  基本自由生成

推理结束合并:
丢掉 new[0:9]
ActionQueue = new[9:50]
相关推荐
Tom·Ge3 小时前
【AI前沿】2026.08.17 SpaceX 600亿收购Cursor正式完成·DeepSeek V4 Pro万亿开源·人形机器人生态全面爆发
人工智能·大模型·ai前沿
郑州光合科技余经理4 小时前
本地生活服务系统:成品模块和定制接口怎么划界
java·前端·人工智能·后端·系统架构·php·ai编程
2603_965148114 小时前
家居百货蓝海:API挖掘高复购率生活小商品
大数据·服务器·人工智能·python·生活
2501_930472444 小时前
踩坑|CodeBuddy权限配置:AI误删文件、乱跑命令、.env泄露怎么防
人工智能·ai编程
小淮AI7 小时前
从“刷题”到“追问”:AI课堂正在重塑哪些学习旧习惯?
人工智能·学习
cui_ruicheng8 小时前
LangChain 应用开发(十四):Agent 上下文与记忆机制
服务器·人工智能·python·langchain
飞哥数智坊8 小时前
直播半小时,我聊了聊 Agent 最常见的 3 个疑问
人工智能
ggb喔8 小时前
AI 原生攻防时代:2026 年渗透测试与逆向开发的范式重构
人工智能·重构
宸津-代码粉碎机9 小时前
AI攻防战升级!基于Spring AI构建Java应用自动免疫安全体系
java·大数据·开发语言·人工智能·python·安全·spring
克里斯蒂亚诺更新9 小时前
机器学习库sklearn的主要任务
人工智能·机器学习·sklearn