feat(pybot×actpred): R2 多 MPU6050 支持——8×N 姿态向量拼接与归一化平铺
- robot:_find_imus/_read_imus 按脚本块行序收集拼接 ≤4 个 MPU6050,_pad_imu 对齐 predictor.imu_dim - recorder/imu_norm/dataset/config:imu.npy 宽度 8×N,归一化除数按传感器数平铺 - 测试:双传感器闭环拼接/pad/truncate、宽布局录制、16 维归一化加载
This commit is contained in:
1 parent
b289e7d17c
commit
cd4d512ecd
10 files changed
+234
-56
No files matched your search
+6
-4
@@ -32,7 +32,8 @@ cat scripts/std.mt | ./_run.sh # 与 bot4cj 相同的管道用法
|
||||
```
|
||||
|
||||
`--record` 时若脚本含 `@MPU6050_BIND` 块,逐帧同步落盘 `imu.npy`
|
||||
(T×8:roll,pitch,ax,ay,az,gx,gy,gz,与图像/动作按帧时刻天然对齐);
|
||||
(每传感器 8 槽 roll,pitch,ax,ay,az,gx,gy,gz;多个传感器(≤4)按块行顺序
|
||||
拼接,shape (T, 8×N),与图像/动作按帧时刻天然对齐);
|
||||
无 IMU 硬件则保持旧格式(仅 images + actions.npy)。
|
||||
|
||||
`-i` / `-o` 参数位保留(reserved),未来对接跨进程 FIFO。
|
||||
@@ -55,8 +56,9 @@ cat scripts/std.mt | ./_run.sh # 与 bot4cj 相同的管道用法
|
||||
部署时若日志出现 `loop overrun` 告警,说明 `hz` 超过推理+执行能力,应降低 `hz`
|
||||
- **姿态回流(R2)**:脚本含 `@MPU6050_BIND` 且模型带 imu 输入
|
||||
(`predictor.imu_dim` 非 None)时,每步读取 MPU6050 最新姿态随帧/历史
|
||||
一同传给推理器(原始量纲,归一化在推理端完成);模型无 imu 输入时
|
||||
不接入推理(若带 `--record` 仍会读取落盘 imu.npy)
|
||||
一同传给推理器(原始量纲,归一化在推理端完成);多个传感器(≤4)按
|
||||
块行顺序拼接为 8×N 向量,再 pad/truncate 到 `predictor.imu_dim`;
|
||||
模型无 imu 输入时不接入推理(若带 `--record` 仍会读取落盘 imu.npy)
|
||||
|
||||
## 目录
|
||||
|
||||
@@ -68,7 +70,7 @@ scripts -> ../bot4cj/scripts # .mt 脚本与仓颉版共享
|
||||
tests/ # pytest 单元测试(Mock 总线,无需硬件)
|
||||
```
|
||||
|
||||
插件查找顺序:`$PYBOT_MODULES_PATH`(冒号分隔)→ 包内置 `modules/` → `./modules/`。
|
||||
插件查找顺序:`$PYBOT_MODULES_PATH`(`os.pathsep` 分隔:Linux `:` / Windows `;`)→ 包内置 `modules/` → `./modules/`。
|
||||
|
||||
## 开发
|
||||
|
||||
|
||||
Reference in new issue
Block a user