1、课程导论与预备知识:ACT算法简介、仿真环境搭建、真机硬件选型、开发环境配置
大家好,欢迎来到这门课。
我是你们的讲师,一个在机器人行业摸爬滚打多年的老兵。今天咱们聊聊ACT部署这件事。说实话,从仿真到真机,这条路我走了不少弯路。你想想看,仿真里跑得飞起的策略,一上真机就原地抽搐——这种经历,我太熟了。
所以这门课,就是要把这些坑一个个填平。咱们从最基础的预备知识开始。
1.1 ACT算法简介——它到底在解决什么问题?
ACT,全称是Action Chunking with Transformers。名字挺长,但核心思想很简单:让机器人学会“看一眼,做一串动作”。
传统方法是一步一动:感知→规划→执行,循环往复。但ACT不一样。它把一段连续的动作序列(比如“抓杯子”这个动作的20个时间步)打包成一个“动作块”。然后让Transformer一次性预测出整个块。
为什么这么做?因为真实世界的延迟太要命了。我曾经在部署时发现,每步推理多花10毫秒,整个抓取动作就变得磕磕巴巴。ACT通过预测动作块,大大降低了对实时性的要求。
核心要点:
- 输入:当前图像 + 机器人状态
- 输出:未来N步的动作序列(位置、速度、夹爪开合)
- 训练方式:模仿学习,从人类示教数据中学习
我个人习惯把ACT看作“机器人界的视频预测”。你给它一帧画面,它预测接下来几秒的“动作视频”。嗯,这个比喻虽然不严谨,但很好理解。
1.2 仿真环境搭建——MuJoCo vs Isaac Gym
仿真,是算法的避风港。但选哪个仿真器?我建议你根据场景来。
MuJoCo:轻量级、物理准、适合快速验证
MuJoCo是我个人最常用的仿真器。它物理引擎很扎实,尤其适合做精细操作任务。比如抓取、插拔、装配这些。
安装很简单:
pip install mujoco
然后加载一个XML模型文件就行。我记得第一次用MuJoCo跑Franka Panda机械臂,从下载模型到看到它动起来,只花了10分钟。
小技巧:MuJoCo的XML文件里,关节限位和摩擦系数是调参重点。我曾经因为摩擦系数设得太小,仿真里的夹爪像抹了油一样,怎么都抓不住东西。
Isaac Gym:大规模并行、适合强化学习
如果你要做强化学习,Isaac Gym是首选。它支持GPU并行,一次能跑几千个环境。我有个项目,用MuJoCo训练一个策略要3天,换到Isaac Gym后,8小时就搞定了。
不过Isaac Gym的安装稍微麻烦点:
# 需要先安装NVIDIA驱动和CUDA
pip install isaacgym
注意:Isaac Gym对显卡要求高。我建议至少RTX 3060起步。如果你只有笔记本,还是老老实实用MuJoCo吧。
下面这张图,是我总结的仿真器选型逻辑:
1.3 真机硬件选型——机械臂、相机、夹爪
仿真跑通了,下一步就是真机。硬件选型是个大坑,我踩过不少。
机械臂:UR5e vs Franka Emika Panda
| 特性 | UR5e | Franka Panda |
|---|---|---|
| 负载 | 5kg | 3kg |
| 重复定位精度 | ±0.03mm | ±0.1mm |
| 价格 | 约3万 | 约1.5万 |
| ROS2支持 | 原生支持 | 需第三方驱动 |
我个人建议:预算充足选UR5e,ROS2生态好,省心。预算有限选Franka,性价比高,但驱动要自己折腾一下。
相机:RealSense D435 vs Azure Kinect
视觉是ACT的“眼睛”。D435是入门首选,便宜、轻便、RGB-D都有。Kinect视野更广,但重一些。我一般用D435做桌面操作,Kinect做移动抓取。
避坑指南:我曾经用D435在强光下做实验,深度图全是噪点。后来加了遮光罩才解决。记住,RGB-D相机怕强光。
夹爪:Robotiq 2F-85 vs 自制定制
夹爪的选择取决于你抓什么。Robotiq是通用型,两指平行开合,适合大多数物体。如果你要抓特殊形状的东西(比如鸡蛋、螺丝),建议自己3D打印一个定制夹爪。
1.4 开发环境配置——Python、CUDA、ROS2
环境配置是劝退很多人的第一步。别急,我一步步说。
Python环境
我推荐用Miniconda管理环境。别用系统自带的Python,会乱。
conda create -n act_env python=3.9
conda activate act_env
pip install torch torchvision torchaudio
pip install mujoco
pip install ros2-humble # 根据系统选择版本
CUDA安装
CUDA是GPU加速的关键。先查你的显卡:
nvidia-smi
然后去NVIDIA官网下载对应版本的CUDA Toolkit。我建议用CUDA 11.8,兼容性最好。
注意:CUDA版本和PyTorch版本要匹配。我曾经装了CUDA 12.0,结果PyTorch 1.13不支持,折腾了一下午。嗯,血的教训。
ROS2 Humble
ROS2是机器人通信的“高速公路”。安装命令:
sudo apt install ros-humble-desktop
source /opt/ros/humble/setup.bash
然后测试一下:
ros2 run demo_nodes_cpp talker
如果看到“Hello World”不断输出,说明安装成功。
环境配置检查清单:
- Python 3.9 + PyTorch 2.0
- CUDA 11.8 + cuDNN 8.6
- MuJoCo 2.3.0
- ROS2 Humble
- RealSense SDK 2.0(如果使用D435)
好了,这一章的内容就到这里。记住,环境配置是基础,基础不牢,地动山摇。我建议你花一天时间,把上面所有东西装好、跑通。后面咱们才能愉快地玩ACT。