Alicia模仿学习系统介绍
1. 数据采集系统
1.1 相关库安装
克隆灵动Python SDK库
有线遥操作套件:
git clone https://github.com/Synria-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 04_demo_read_state.py
若成功安装及配置,在终端可看到持续输出的机械臂关节角度、夹爪角度和按钮状态。按 Ctrl+C 退出程序。
以下是示例输出:
[Alicia-D-SDK:MODULE] [session] 开始构建默认会话
[Alicia-D-SDK:INFO] [session] 初始化 AliciaFollower 模型
[Alicia-D-SDK:INFO] [session] 初始化 IK 控制器
[Alicia-D-SDK:INFO] [session] 初始化机械臂控制器 (port='/dev/ttyUSB0', baudrate=1000000)
[Alicia-D-SDK:INFO] 初始化串口通信模块: 端口=/dev/ttyUSB0, 波特率=1000000
[Alicia-D-SDK:INFO] 调试模式: 禁用
[Alicia-D-SDK:INFO] 初始化数据解析模块
[Alicia-D-SDK:INFO] 初始化机械臂控制模块
[Alicia-D-SDK:INFO] 调试模式: 禁用
[Alicia-D-SDK:INFO] [session] 初始化执行器
[Alicia-D-SDK:INFO] [session] 正在连接机械臂
[Alicia-D-SDK:INFO] 使用指定的端口: /dev/ttyUSB0
[Alicia-D-SDK:INFO] 正在连接端口: /dev/ttyUSB0
[Alicia-D-SDK:INFO] 串口连接成功
[Alicia-D-SDK:INFO] 状态更新线程开始运行
[Alicia-D-SDK:INFO] 状态更新线程已启动
[Alicia-D-SDK:INFO] [session] 会话创建成功
[Alicia-D-SDK:MODULE] [print_state] 开始打印机械臂信息
[Alicia-D-SDK:INFO] [print_state] 关节角度(单位:弧度): [-0.02, 0.557, -0.753, 0.032, -0.13, 0.08]
[Alicia-D-SDK:INFO] [print_state] 机械臂位置: [0.108, -0.002, 0.014]
[Alicia-D-SDK:INFO] [print_state] 机械臂四元角: [-0.044, 0.973, -0.017, 0.227]
[Alicia-D-SDK:INFO] [print_state] 夹爪角度(单位:弧度): 0.0
[Alicia-D-SDK:MODULE] [print_state] 开启持续状态打印,按 Enter 停止
1.3 lerobot格式数据采集
参照 https://github.com/Synria-Robotics/lerobot/tree/v5.5.0
请根据README.md说明配置相应的相机参数和机械臂端口。
2. 模仿学习算法示例
简介
Action Chunking with Transformers (ACT) 是一种模仿学习策略,它使用 Transformer 网络来处理观测序列,并预测未来动作的“块 (chunks)”。与逐帧预测动作的策略不同,ACT 一次性预测多个时间步的动作,这有助于学习时间上更连贯的行为,并可能提高推理效率。
一、准备工作
-
数据集 (为
alicia_d准备):-
确保已通过
lerobot/scripts/control_robot.py为alicia_d机器人采集了专家演示数据。 -
假设数据集信息:
-
本地仓库 ID:
local/alicia_d_act_dataset -
数据集根目录:
data/alicia_d_act_episodes/alicia_d_act_dataset
-
-
-
环境:
-
LeRobot 框架及其依赖已正确安装。
-
终端可以访问 LeRobot 的脚本。
-
alicia_d机器人的 LeRobot 接口已配置并可用。
-
二、ACT 训练 (使用 train.py 为alicia_d)
python lerobot/scripts/train.py \
--dataset.repo_id local/alicia_d_act_dataset \
--dataset.root data/alicia_d_act_episodes/alicia_d_act_dataset \
--policy.type act \
--output_dir outputs/train/act_alicia_d_model \
关键训练参数说明 (针对 alicia_d):
-
--dataset.repo_id:alicia_d数据集的本地标识符。 -
--dataset.root:alicia_d数据集文件所在的根目录。 -
--policy.type act: 必需,指定使用 ACT 策略。 -
--output_dir:alicia_dACT 模型训练输出的保存目录。
三、ACT 推理/评估 (使用 control_robot.py控制 alicia_d)
此脚本用于在 alicia_d 机器人上运行训练好的 ACT 策略。
进入训练结果
/path_to_training_result/checkpoints/last/pretrained_model/config.json
确保首行已添加训练类型
"type": "act",
参考examples/dp_inference.py修改对应参数验证训练结果
Diffusion Policy训练步骤与ACT类似,区别主要在于数据集长度,训练时间的不同,此外将policy.type 改为dp即可。