跳到主要内容

Alicia模仿学习系统介绍

1. 数据采集系统

1.1 相关库安装

克隆灵动Python SDK库

git clone https://github.com/Xuanya-Robotics/Alicia-D-SDK.git
cd Alicia-D-SDK

安装依赖

pip install pyserial
conda install -c conda-forge python-orocos-kdl
pip install -r requirements.txt

硬件连接

1.2 数据读取

连接好机械臂后,在终端运行以下代码:

cd ~/Alicia-D-SDK/examples
python3 read_angles.py

若成功安装及配置,在终端可看到持续输出的机械臂关节角度、夹爪角度和按钮状态。按 Ctrl+C 退出程序。

以下是示例输出:

=== 机械臂数据读取示例 ===
2025-05-22 19:06:42,616 - SerialComm - INFO - 初始化串口通信模块: 端口=自动, 波特率=921600
2025-05-22 19:06:42,616 - SerialComm - INFO - 调试模式: 禁用
2025-05-22 19:06:42,616 - DataParser - INFO - 初始化数据解析模块
2025-05-22 19:06:42,616 - Controller - INFO - 初始化机械臂控制模块
2025-05-22 19:06:42,616 - Controller - INFO - 调试模式: 禁用
2025-05-22 19:06:42,619 - SerialComm - INFO - 找到 2 个串口设备: /dev/ttyS0 /dev/ttyUSB0
2025-05-22 19:06:42,619 - SerialComm - INFO - 找到可用设备: /dev/ttyUSB0
2025-05-22 19:06:42,619 - SerialComm - INFO - 正在连接端口: /dev/ttyUSB0
2025-05-22 19:06:42,620 - SerialComm - INFO - 串口连接成功
2025-05-22 19:06:42,620 - Controller - INFO - 状态更新线程开始运行
2025-05-22 19:06:42,620 - Controller - INFO - 状态更新线程已启动
连接成功,开始读取数据...
按 Ctrl+C 退出
--------------------------------------------------
关节角度(): [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
夹爪角度(): 0.0
按钮状态: False False
关节角度(): [-90.79, -12.57, 22.76, -0.09, -59.5, 1.76]
夹爪角度(): 1.06
按钮状态: False False
关节角度(): [-90.79, -12.57, 22.76, -0.09, -59.5, 1.76]
夹爪角度(): 1.06
按钮状态: False False

1.3 lerobot格式数据采集

参照https://github.com/Xuanya-Robotics/lerobot

请根据READEME.md说明配置相应的相机参数和机械臂端口。

2. 模仿学习算法示例

简介

Action Chunking with Transformers (ACT) 是一种模仿学习策略,它使用 Transformer 网络来处理观测序列,并预测未来动作的“块 (chunks)”。与逐帧预测动作的策略不同,ACT 一次性预测多个时间步的动作,这有助于学习时间上更连贯的行为,并可能提高推理效率。

一、准备工作

  1. 数据集 (为 alicia_duo准备):

    • 确保已通过 lerobot/scripts/control_robot.pyalicia_duo 机器人采集了专家演示数据。

    • 假设数据集信息:

      • 本地仓库 ID: local/alicia_duo_act_dataset

      • 数据集根目录: data/alicia_duo_act_episodes/alicia_duo_act_dataset

  2. 环境:

    • LeRobot 框架及其依赖已正确安装。

    • 终端可以访问 LeRobot 的脚本。

    • alicia_duo 机器人的 LeRobot 接口已配置并可用。

二、ACT 训练 (使用 train.py 为alicia_duo)

python lerobot/scripts/train.py \
--dataset.repo_id local/alicia_duo_act_dataset \
--dataset.root data/alicia_duo_act_episodes/alicia_duo_act_dataset \
--policy.type act \
--output_dir outputs/train/act_alicia_duo_model \

关键训练参数说明 (针对 alicia_duo):

  • --dataset.repo_id: alicia_duo 数据集的本地标识符。

  • --dataset.root: alicia_duo 数据集文件所在的根目录。

  • --policy.type act: 必需,指定使用 ACT 策略。

  • --output_dir: alicia_duo ACT 模型训练输出的保存目录。

三、ACT 推理/评估 (使用 control_robot.py控制 alicia_duo)

此脚本用于在 alicia_duo 机器人上运行训练好的 ACT 策略。

进入训练结果 /path_to_training_result/checkpoints/last/pretrained_model/config.json 确保首行已添加训练类型

    "type": "act",

参考examples/dp_inference.py修改对应参数验证训练结果

Diffusion Policy训练步骤与ACT类似,区别主要在于数据集长度,训练时间的不同,此外将policy.type 改为dp即可。