视觉动作策略把图像或多模态历史映射为机器人动作。它可以绕过显式的物体位姿估计,但仍依赖相机、动作坐标、底层控制器和闭环时序。一个模型能输出向量,不代表这个向量可以直接由任意机器人执行。
三类方法分别改变了什么
Diffusion Policy通过条件去噪生成动作分布,常预测一段未来动作,再滚动执行其中一部分。它能表达多峰动作,推理需要考虑去噪计算的延迟与动作时效。原论文项目给出代码、数据与实验设置。它是策略表示与学习方法,不是替代物理控制接口的协议。
ACT使用Transformer与条件变分自编码器学习动作块,把一个长任务的决策组织成动作序列。训练时利用演示动作构造潜变量,推理时按其设定使用先验;重叠预测的时间聚合会影响平滑与响应。ACT原始项目说明其模型与实验,论文中特定平台的结果不能当作另一台机械臂的预期性能。
VLA把视觉、语言和动作联系起来。不同方法可能使用离散动作token、连续动作解码或其他生成方式。原始OpenVLA使用视觉编码器、语言模型与动作token,再将输出转换为连续动作,见作者项目。语言条件有助于指定目标,但动作尺度、控制频率和本体差异仍需要数据与接口适配;不能从“理解指令”推断“能完成任意物理任务”。
三类方法可以在表示与训练上相互借鉴,分类并非互斥。高层语言模型选取现成技能,与直接预测低层动作,也应分开评估。
先核对动作契约
至少确认:输入图像尺寸与视角、观测历史长度、状态归一化、动作维度、绝对量/增量、位置/速度/力矩、坐标系、角度约定、夹爪范围、训练频率与实际执行频率。跨本体数据的不同动作含义,不能只靠拼接数据解决。
例如归一化到[-1,1]的动作z,若训练统计下界l、上界h,则反变换可写成a=l+(z+1)(h-l)/2。但应先核对该模型究竟使用分位数、均值方差还是其他处理。没有恢复单位就把0.5作为“0.5米”,可能造成大幅错误。
推理输出应先检查维度、非有限数、范围与有效期,再交给已有控制器与约束检查。限制输出并不等于证明任务安全,也不能掩盖训练/部署约定错误。
动作块的限定实验
action_chunk_lab.py只用Python标准库。它不加载神经网络,而在理想一维积分器中比较每步重新反馈和连续执行8步动作块,在第25步加入未预测位移;同时测试动作反归一化和异常向量拒绝:
python action_chunk_lab.py
这个实验用于隔离动作执行时序与接口问题,不能代表Diffusion Policy、ACT或VLA的模型效果。它的数值执行记录与解释见随附检查结果。动作块更长可能减少推理次数,但也延后对新扰动的响应;异步推理、只执行一小段和重新规划可改变这种取舍。
怎样开展现成模型实验
选定单个已发布checkpoint、匹配的数据和官方环境,记录commit、权重与数据校验、许可、归一化统计和算力要求。先做离线形状/单位与延迟检查,再在对应仿真任务做闭环评测,最后才讨论特定硬件迁移。对比方法必须使用相同任务、测试划分和成功判据。
本页没有下载或运行Diffusion Policy、ACT、VLA权重,也没有执行其训练或真机实验。它们在首版中的范围是方法原理、动作接口、时序实验和可复查的复现步骤,不要求从头预训练。练习:为一个公开checkpoint写出完整动作契约,找出其中三个不能从“输出是7维”这一描述推断出的条件。