基于OpenVINO™在Intel Core Ultra第三代处理器上搭建ACT机械臂仿真环境

openlab_96bf3613 更新于 14小时前

作者:王祥福

前言

随着人工智能技术的发展,近几年大模型与智能体已经逐渐走进了我们的生活,圈子内的很多人都在说下一个十年是具身智能与物理 AI 的发展与崛起时代。但是,受限于现代机器人的成本与工艺问题,普通人很难接触到,所涉及到的领域更是跨越了好几个学科。同时,就连一套普通的机械臂,也要数千元人民币的制作成本。

所以,在这一背景下,机器人的仿真环境的研究与发展使得我们能够以极低的成本去搭建和使用机器人。

本文以入门为目的,聚焦双臂机器人场景,介绍具身智能领域的 “Hello World”——ACT 的双臂仿真环境搭建与模拟测试。

一、ACT 算法介绍(从单臂扩展到双臂)

ACT 是基于 Transformer 的动作分块技术(Action Chunking with Transformers)。原始论文与开源实现主要面向单臂机器人,在单臂精细操作任务中已表现出优异性能。为了满足更复杂的协作操作需求,本文在原版 ACT 基础上进行扩展,适配双臂机器人仿真环境,实现双机械臂协同控制与模仿学习。

参考链接与论文:

https://tonyzhaozh.github.io/aloha/

https://arxiv.org/pdf/2304.13705

 

ACT 的关键设计原理是预测一系列的动作(以动作块为单位)。其策略部分整体被训练为条件变分自编码器(CVAE: Conditional Variational AutoEncoders)。

它是一种生成式的模型,通过 Transformer 编码器从多个视角联合位置和风格变量 Z 提取图像特征,然后通过 Transformer 解码器预测下一步的一系列动作。其中 CVAE 的编码器将动作序列联合视频共同提取为 Z,也就是所谓的风格(也可以理解为特征),同样由 Transformer 实现。

从原理不难看出,ACT 本质是一种模仿学习,通过观察和**训练时的行为,让模型模仿专家操作,执行与专家相似的任务。ACT 的架构专为序列建模设计,以 CVAE 形式训练,能捕捉人类数据的可变性,在一系列模拟和真实世界的精细操作任务中,性能显著优于以往的模仿学习算法。

Intel 为 ACT 构建了一条模仿学习流水线,该流水线可同时支持仿真环境与真实环境,支持不同任务的训练和评估。在此示例流水线中,Intel通过修改原版ACT的代码,让其可以使用 OpenVINO™ 对推理进行加速优化,充分发挥 Intel 最新的 Panther Lake 硬件平台的强大算力。

二、OpenVINO™ 详细介绍

OpenVINO™ 全称Open Visual Inference & Neural Network Optimization,是 Intel 推出的开源 AI 推理优化工具套件,专为深度学习模型在 Intel 硬件上的高效部署而设计。

在本双臂 ACT 仿真项目中,OpenVINO™ 承担核心作用:

1. 模型转换优化:将训练好的 PyTorch 模型转为 OpenVINO™ IR 格式(.xml + .bin),做图优化、层融合、精度调整,大幅减小模型体积、提升推理速度。

2. 硬件算力调度:自动调度 Intel Core Ultra 处理器的 CPU 与 iGPU,实现异构计算加速,降低推理延迟。

3. 低延迟高实时:针对机器人控制这类强实时性场景优化,保证双臂动作指令生成流畅无卡顿。

4. 跨环境统一推理:同时支持仿真环境与真实机器人环境,做到 “仿真训完,真机直接用”。

5. 轻量化部署:无需依赖重型深度学习框架,即可运行高效推理,降低资源占用。

借助 OpenVINO™,双臂 ACT 在仿真中可实现接近真机的实时性表现,让模型推理不再成为系统瓶颈。

三、硬件依赖

请确保你的机器使用的是Intel Core Ultra 系列处理器。

四、基础软件安装(Windows)

在开始之前,请更新 iGPU 驱动到最新版本。

需要安装的软件:

安装git:

https://github.com/git-for-windows/git/releases/download/v2.54.0.windows.1/Git-2.54.0-64-bit.exe

安装git-lfs:

https://github.com/git-lfs/git-lfs/releases/download/v3.7.1/git-lfs-windows-v3.7.1.exe

安装python3.12:

https://www.python.org/ftp/python/3.12.0/python-3.12.0-amd64.exe

安装pixi:

https://github.com/prefix-dev/pixi/releases/latest/download/pixi-x86_64-pc-window***svc.msi

安装OpenSSL 1.1.1a:

https://github.com/greenpau/openssl-binarie***lob/master/Win64OpenSSL-1_1_1a.msi

安装VC运行时:

https://aka.ms/vc14/vc_redist.x64.exe

五、步骤 1:创建 Python 虚拟环境

参考资料:

https://github.com/open-edge-platform/edge-ai-suites/tree/main/robotics-ai-suite/pipelines/act-sample

https://eci.intel.com/embodied-sdk-docs/content/Intel_embodied_Intelligence_SDK.html

首先我这里创建一个项目文件夹 C:\project\act_test

然后打开PowerShell后,进入到该文件夹中

cd C:\project\act_test

创建虚拟环境

python -m venv env

使能虚拟环境

.\env\Scripts\activate

成功后,命令提示符前会有env标识:

 

注意:如果执行上面命令的时候遇到权限相关问题,可以通过下面命令设置权限:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

六、步骤 2:拉取 ACT 源码并应用补丁

拉取ACT的源码,并进入源码目录,同时切换到742c753版本

git clone https://github.com/tonyzhaozh/act.gitcd .\act\git checkout 742c753

 

然后需要手动下载6个补丁文件

https://github.com/open-edge-platform/edge-ai-suites/tree/main/robotics-ai-suite/pipelines/act-sample/patches/ov

将这6个文件**到刚刚我们的act文件夹中

然后应用补丁

git apply .\0001-enable-openvino-inference-for-eval.patchgit apply .\0002-add-model-conversion-script.patchgit apply .\0003-changes-for-real-robot.patchgit apply .\0004-Modify-the-camera-mode-to-fixed.patchgit apply .\0005-Modify-the-default-cameras-config.patchgit apply .\0006-add-ros2-node-and-use-fixed-cube-pose.patch

 

上面出现的警告可以不用理会。

七、步骤 3:安装 ROS 2

ROS 2 在双臂 ACT 中的作用

ROS 2 是第二代机器人操作系统,是双臂仿真与控制的核心通信与调度中间件:

提供双臂机器人的节点、话题、服务通信机制;

实现仿真环境、视觉模型、运动控制器之间的数据互通;

支持从仿真环境无缝迁移到真实双臂机器人;

为双机械臂协同控制提供稳定、标准的软件架构。

ROS 2 安装步骤

参考:https://docs.ros.org/en/lyrical/Installation/Windows-Install-Binary.html

首先下载编译好的二进制文件:https://github.com/ros2/ros2/releases/download/release-lyrical-20260522/ros2-lyrical-2026-05-22-windows-AMD64.zip

然后解压后,里面会有一个ros2-windows的文件夹,也把它**到之前的C:\project\act_test目录中:

 

 

**完成后,会看到上图的目录结构。

然后在PowerShell中,进入到C:\project\act_test\ros2-windows目录中

先执行pixi的依赖安装

pixi install

 

然后解压环境:

pixi run python preinstall_setup_windows.py

 

然后设置库的路径

$env:Path += ";C:\project\act_test\ros2-windows\.pixi\envs\default\Library\bin"

然后使能ROS2的环境:

.\local_setup.ps1

 

至此,ROS2就安装好了

八、步骤 4:安装 Python 依赖库

然后我们需要安装一些运行ACT的python依赖

还是继续刚刚使用的终端,我们先切换回act的目录

cd C:\project\act_test\act

然后安装

pip install torch torchvision torchaudio ipex-llm --extra-index-url https://download.pytorch.org/whl/xpu

然后继续安装

pip install openvino

继续安装:

pip install pyquaternion pyyaml rospkg pexpect mujoco==3.8.1 dm_control matplotlib einops packaging h5py ipython opencv-python transformers accelerate huggingface-hub PyYAML em lark

 

 

请注意:mujoco包的版本有着比较严格的要求,需要指定3.8.1。请不要使用3.9.0及以上。

MuJoCo 作用说明

MuJoCo(Multi-Joint dynamics with Contact)是业界主流的高精度物理仿真引擎,在本项目中:

  • 负责模拟双臂机器人的刚体动力学、碰撞、摩擦、关节运动;

  • 提供稳定可靠的仿真环境,让 ACT 策略学习到符合物理规则的动作;

  • 是双臂仿真能够稳定运行、接近真实机器人的核心依赖。

然后安装ACT目录中的DETR

cd .\detr\pip install -e .cd ..

 

九、步骤 5:下载预训练模型并转换为 OpenVINO™ 格式

然后我们需要下载预训练好的(针对仿真环境)原版的CKPT格式的模型

https://eci.intel.com/embodied-sdk-docs/_downloads/sim_insertion_scripted.zip

解压后,在这个压缩包sim_insertion_scripted\four_camera路径内,将两个文件**出来。并放到C:\project\act_test\act\ckpt 这个新建的文件夹内:

 

十、步骤 6:运行双臂 ACT 仿真推理评估

然后执行模型转换,将CKPT格式转换为OpenVINO的IR格式(.xml+.bin)

python ov_convert.py --ckpt_path .\ckpt\policy_best.ckpt --height 480 --weight 640 --camera_num 4 --chunk_size 100

 

 

转换成功后,会看到目录中会新增2个文件:

 

然后我们就可以尝试运行推理评估了:

python imitate_episodes.py --task_name sim_insertion_scripted --ckpt_dir ckpt --policy_class ACT --kl_weight 10 --chunk_size 100 --hidden_dim 512 --batch_size 8 --dim_feedforward 3200 --num_epochs 2000  --lr 1e-5 --seed 0 --device GPU --eval --onscreen_render

 

可以看到,我们成功跑起来了ACT的仿真环境。同时在任务管理器的iGPU上可以看到少量的计算负载,这说明Intel的iGPU算力强大,以至于只调用了不到1%的算力就能完成ACT的推理任务。

同时,如果我们想查看更加细节的打印,可以在命令行后面增加参数--print_time。

此时可以看到日志如下:

 

可以看到模型的推理耗时几乎为0,而大部分的时间都是花费在渲染等其他处理上。所以这足以说明,Intel的处理器非常适合机器人领域的高实时要求的应用场合。

0个评论