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 一次性预测多个时间步的动作,这有助于学习时间上更连贯的行为,并可能提高推理效率。
一、准备工作
-
数据集 (为
alicia_duo
准备):-
确保已通过
lerobot/scripts/control_robot.py
为alicia_duo
机器人采集了专家演示数据。 -
假设数据集信息:
-
本地仓库 ID:
local/alicia_duo_act_dataset
-
数据集根目录:
data/alicia_duo_act_episodes/alicia_duo_act_dataset
-
-
-
环境:
-
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
即可。