202606 Working Progress

By 2026/6/7

  • 在Go2W真机上测试PassVLN
    1. 含深度图像的VLN
      • 在测试的时候发现掺杂了动作预取(根据默认超参数设置,在动作刚执行就query VLN更新动作队列,等效于每秒都在按照上一秒的观测执行动作,永远慢一拍),所以导航效果不好。预计今天下午重新测试,排除动作预取的干扰。
      • 根据本地保留的query历史,发现保存下来的深度图和视觉图像有若干像素的偏移,还需要手动校准一下。
      • 从简单的直行穿门指令来看,加上深度信息后VLN还是会在门口停下来,这点需要排除预取干扰后再判断。
    2. 动作预取+交叠的编排模式
      • 加入了动作预取的逻辑,在执行当前动作队列时就拍摄照片query VLN,根据VLN的输出替换后续动作。预取时间是一个可以调节的超参数。
      • 目前的测试效果是,动作预取会在动作连贯性与导航效果之间产生一个trade-off。为了让动作长度覆盖VLN推理延时,需要提前较多时间(~0.5s)预取结果,但是此时的观测结果和动作要执行时(0.5s后)存在一定gap。
      • 现在的策略是,调节机器狗线速度 + 预取时间这两个超参数,让单步时间变长(之前1s执行完的动作,现在放慢到2s执行完),在动作执行前x秒(x尽量对齐至VLN推理延时)预取下一步的VLN输出。
  • 在Isaac Sim中采样数据并微调Pi-0模型
    • Pi-0微调的测试结果出来了,结论是能动。
      1. Pi-0可以生成相对稳定的控制信号,不会出现运动中突然崩掉(倒地,关节失去控制等)的情况。但是,存在以下问题:
        • 训练数据里只含有前进指令,且运动过程中没有角度微调,所以Pi-0输出的信号全是直行。从目前的结果很难判断出Pi-0有没有语义理解+导航的能力
        • Pi-0输出的直行命令不太稳定,机身在运动过程中经常上下摆动(见视频),可能是某些关节的输出结果有波动。
      2. Pi-0模型无法输出停止信号。
        • 在现在的训练数据中,轨迹终点有一段静止动作(图像不变、各关节保持固定),理论上数据是覆盖到"终点处停止"了,可能是比例上不够多(静止动作持续~40帧,占整条轨迹的5%~10%)。
        • 作为VLA的Pi-0模型的终止有三种机制:①环境终止条件,需要外部环境判断是否达成目标,来决定是否停止VLA的输出;②语言目标检测,执行完一个动作chunk后,由VLM判断是否应该结束动作;③动作趋近于零(本次实验的思路),当动作应该结束时,Pi-0输出的应该是一串接近0的动作,连续输出低于终止阈值的一段动作后,判定为停止。Pi-0模型本身没有终止token,它天然会持续输出动作chunk。(OpenPI仓库里说Pi-0-Fast会输出终止token,没有进一步评估)
    • 和缪博士对了下进展,从她那里得到一些观察:
      • 缪博士微调的Pi-0模型的输出主要是机身速度(vx vy wz),在机身姿态稳定性上会更好一些,但是无法做后续精细的步态控制。
      • 缪博士微调的Pi-0模型同样有动作停止方面的问题,她也是将输出速度为0作为终止信号,在仿真环境中Pi-0模型可以输出近0信号并正确停止,但是在真机上就不行。
      • 缪博士说真机实采数据的时候会有漂移,采一阵数据之后,传感数据就不准了。
      • 缪博士发现输入数据有冗余,她说去掉本体状态输入(仅有图像+导航命令作为输入,和普通VLN的输入一致)后,Pi-0的导航结果和包含本体状态的版本非常接近。

By 2026/6/14

  • 在Isaac Sim(VLNVerse)中跟踪轨迹并微调Pi-0模型

By 2026/6/21