解决机械臂在现实世界执行中的小概率跳变问题,通过对比仿真(sim)和现实(real)环境中的执行轨迹,学习一个校正模型来补偿偏差。
- 问题:电机执行存在小概率跳变,导致实际角度 ≠ 理想角度
- 目标:学习映射
delta(dx, dy, dz),预测两个轨迹之间的偏差
数据格式: MP4视频 + Parquet位姿文件
# 1. 准备数据(只需按规范组织文件)
your_data/
├── mp4/
│ ├── sample_000_video1.mp4
│ ├── sample_000_video2.mp4
│ └── ...
└── episode/
├── sample_000_data1.parquet
├── sample_000_data2.parquet
└── ...
# 2. 训练
python train_video.py --data-root your_data
# 3. 完成!数据格式: 完整LeRobot目录结构(包含episodes、metadata等)
python train.py --config configs/default.yamldata/
├── real/ # 现实场景数据
│ ├── data/
│ ├── meta/
│ └── videos/
│ ├── observation.images.above/
│ └── observation.images.front/
└── sim/ # 仿真场景数据
├── data/
├── meta/
└── videos/
- 机械臂位姿:
(x, y, z)或末端位姿四元数
- Input: sim视频流 + real视频流(初始状态相同)
- Output:
delta(dx, dy, dz)
pip install -r requirements.txt将数据按照上述结构放置在 data/ 目录下
python train.py --config configs/default.yamlpython evaluate.py --checkpoint checkpoints/best_model.pt- 视觉编码器:提取双视角视频特征(顶部+腕部相机)
- 时序编码器:捕获轨迹的时序依赖
- 校准头:预测位姿偏差 delta(dx, dy, dz)
.
├── src/
│ ├── data/ # 数据加载和预处理
│ ├── models/ # 模型定义
│ ├── training/ # 训练逻辑
│ └── utils/ # 工具函数
├── configs/ # 配置文件
├── scripts/ # 辅助脚本
├── train.py # 训练入口
├── evaluate.py # 评估入口
└── requirements.txt # 依赖项