全部流程为:硬件配置 -> 环境安装 -> 遥操作数据采集 -> 数据集可视化 -> 策略训练 -> 策略评估
在之前的笔记中已经完成了绝大部分,最后再记录一下最后的训练部署,算是最简单的部分了
目录
1 ACT 训练
lerobot 目前支持算法在 lerobot/common/policies 中可以查看
之前数据采集完成了,修改相应参数,运行如下指令开始训练:
python lerobot/scripts/train.py
--dataset.repo_id=lerobot/collection_coil \
--dataset.root=/home/robot/Documents/lerobotnew/collections/collection_coil/ \
--policy.type=act \
--output_dir=/home/robot/Documents/lerobotnew/outputs/train/act_collection_coil \
--job_name=act_collection_coil \
--policy.device=cuda \
--wandb.enable=true
训练完成后,在 outputs 中生成权重参数:
2 ALOHA 部署
连上机器人和相机,运行如下脚本测试:
python lerobot/scripts/control_robot.py
--robot.type=aloha \
--control.type=record \
--control.fps=30 \
--control.single_task="collection_coil." \
--control.repo_id=lerobot/eval_collection_coil \
--control.tags='["collection_coil"]' \
--control.warmup_time_s=3 \
--control.episode_time_s=50 \
--control.reset_time_s=5 \
--control.num_episodes=1 \
--control.policy.path=/home/robot/Documents/lerobotnew/outputs/train/act_collection_coil/checkpoints/last/pretrained_model \
--control.num_image_writer_processes=1
PS: --control.repo_id 必须是 eval_
可以看到简单任务的效果还行:
部分复杂任务也还行,成功率也还可以:
3 更多细节
1. 数据量我们目前简单动作用的是50组,成功率在90%左右,但是这种成功率在于机器人相机要固定住的前提上,所以如果想泛化能力强,还是需要更多的 diverse 数据;
2. 采集数据和部署可以时间不一致,采集可以短一点20s动作,部署建议时间长一点,可以100s剥削机器人不停地干;
3. lerobot 架构功能很多,但是说明很简单,比如删除数据、采集时候可视化、数据继续采集等功能都有,需要自己修改参数;
4. ACT 对于简单功能够用了,但是复杂功能,首先是相机位置和精度很重要,合理布局可以完成部分复杂功能,但是更建议直接上 GR00T 或者 π0 这种 VLM+ACT/DP 的双系统架构,大脑+小脑确实效果好很多