Skip to main content
Version: 6.1.0 (Latest)

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