Alicia模仿学习系统介绍
1. 安装与环境准备
1.1 创建 Python 环境
conda create -n lerobot python=3.10
conda activate lerobot
1.2 安装依赖
git clone https://github.com/Synria-Robotics/lerobot.git -b v6.1.0-beta1
cd lerobot
pip install -e .
验证安装:
lerobot-record --help
lerobot-train --help
2. 硬件连接
- 操作臂:通过 Type-C USB 线连接到计算机
- 示教臂:默认通过硬件线直接连接操作臂(硬件直连模式)
- 摄像头:通过 USB 连接到计算机
检查端口:
lerobot-find-port
ls /dev/video*
3. 数据集录制(双臂)
3.1 基本数据采集命令
lerobot-record \
--robot.type=bi_alicia_d_follower \
--robot.left_port=/dev/ttyACM0 \
--robot.right_port=/dev/ttyACM1 \
--robot.cameras='{
camera1: {type: opencv, index_or_path: /dev/video10, width: 640, height: 480, fps: 30},
camera2: {type: opencv, index_or_path: /dev/video18, width: 640, height: 480, fps: 30},
camera3: {type: opencv, index_or_path: /dev/video4, width: 640, height: 480, fps: 30}
}' \
--robot.id=bimanual_follower \
--teleop.type=bi_alicia_d_leader \
--teleop.id=bimanual_leader \
--dataset.repo_id=ubuntu/bimanual-dataset \
--dataset.root=/home/ubuntu/Data/LerobotData/bimanual \
--dataset.num_episodes=20 \
--dataset.single_task="Grab the cloth with both arms" \
--dataset.episode_time_s=60 \
--dataset.reset_time_s=30 \
--display_data=true \
--dataset.push_to_hub=false
3.2 关键参数
--robot.left_port/--robot.right_port:左右操作臂串口--robot.cameras:摄像头配置(可配置多个)--dataset.repo_id:数据集仓库 ID(格式:用户名/数据集名)--dataset.root:本地数据集保存路径--dataset.num_episodes:录制回合数
3.3 控制模式
- 硬件直连模式(默认):示教臂直接控制操作臂,无需额外配置
- 计算机中介模式:添加参数
--teleop.directly_controls_robot=false --teleop.left_port=/dev/ttyACM2 --teleop.right_port=/dev/ttyACM3
3.4 继续录制
在已有数据集上追加录制:
--resume=true
4. 策略训练
4.1 ACT 训练
lerobot-train \
--dataset.repo_id=ubuntu/bimanual-dataset \
--dataset.root=/home/ubuntu/Data/LerobotData/bimanual \
--dataset.video_backend=pyav \
--policy.type=act \
--policy.push_to_hub=false \
--output_dir=outputs/train/act_bimanual \
--policy.device=cuda \
--steps=50000 \
--batch_size=32 \
--save_freq=5000
注意:如遇 CUDA 内存不足,减小 --batch_size。
4.2 恢复训练
lerobot-train \
--config_path=outputs/train/act_bimanual/checkpoints/050000 \
--dataset.repo_id=ubuntu/bimanual-dataset \
--dataset.root=/home/ubuntu/Data/LerobotData/bimanual \
--dataset.video_backend=pyav \
--policy.type=act \
--policy.device=cuda \
--steps=100000 \
--batch_size=32
5. 策略评估
在真实机械臂上评估训练好的策略:
python examples/alicia/eval_alicia_arms.py \
--policy.path=outputs/train/act_bimanual/checkpoints/last/pretrained_model \
--robot.type=bi_alicia_d_follower \
--robot.left_arm_port=/dev/ttyACM1 \
--robot.right_arm_port=/dev/ttyACM0 \
--robot.cameras='{
right_wrist: {type: opencv, index_or_path: /dev/video10, width: 640, height: 480, fps: 30},
left_wrist: {type: opencv, index_or_path: /dev/video18, width: 640, height: 480, fps: 30},
top: {type: opencv, index_or_path: /dev/video24, width: 640, height: 480, fps: 30},
front: {type: opencv, index_or_path: /dev/video12, width: 640, height: 480, fps: 30}
}' \
--policy.device=cuda \
--task="Grab the cloth with both arms" \
--duration=120 \
--fps=10 \
--num_episodes=5 \
--record_eval=false
6. 键盘快捷键
录制过程中的快捷键:
| 快捷键 | 操作 |
|---|---|
| ← | 重新录制当前回合 |
| → | 提前跳过当前阶段 |
| ESC | 停止录制 |
7. 常见问题
- 端口连接失败:使用
lerobot-find-port检查,确认用户在dialout组中 - 摄像头初始化失败:使用
ls /dev/video*检查设备 - 视频解码错误:训练时使用
--dataset.video_backend=pyav - CUDA 内存不足:减小
--batch_size
更多详细信息请参考 lerobot/docs/Alicia_D_Usage_CN.md。