fix(pybot×actpred): 微动作录制时间轴均匀化——首行分解为重复步,delay 列权重归零

pybot run():带 delay 的首行(无前序状态)不再单步执行,分解为
N=delay//10 个重复微步(插值退化恒等),录制数据全 10ms 均匀节拍,
delay 列恒 10ms——行级时长信息已隐式编码在步数中,消除首行 200ms
造成的时间采样不均(frame_len/history_len 等间隔假设被破坏)。

actpred default_column_weights:spk.delay 权重 0.2→0.0(步级恒值列
无信号,与保留位同级);spk.F 保持 0.2。

新录制数据集(952 样本,delay 恒 10)存于 data/pybot_record_v2(不入库)。
This commit is contained in:
qing committed 2026-08-14 21:56:01 +00:00
1 parent 1cf428f384
commit 99c1bc1739
5 files changed
+27 -18

No files matched your search

+3 -2
View File
@@ -68,8 +68,9 @@ def test_run_stand_action(mock_i2c):
# s9/s10: 90° → offval = int(1.5*4096/20) = 307
assert writes[32:36] == servo_writes(8, 307)
assert writes[36:40] == servo_writes(9, 307)
# 10 舵机 × 4 寄存器
assert len(writes) == 40
# 首行 delay=200 → 分解为 20 个重复微步:10 舵机 × 4 寄存器 × 20 步
assert len(writes) == 800
assert writes[40:44] == servo_writes(0, 204) # 第 2 步与第 1 步相同
robot.deactive()