OAK 4 D ROS2上手指南
目前,仅支持配备RTL8811CU/RTL8812CU(RLT881CU)和MT7601U芯片组的dongles,对于此设置,我们使用了联发科MT7601 USB WiFi适配器,通过USB-A母头到USB-C公头适配器连接到OAK 4 D。然而,在本博客中,我们将重点介绍如何将自定义的ROS 2应用部署到实际机器人上。所有的感知、空间推理和控制逻辑都直接由OAK 4 D进行工作,无需笔记本电脑,

在OAK 4 D 上使用ROS2
OAK 4 D 可以直接在相机中运行完整的ROS2,无需外部计算机。
在本文中,我们将使用OAK 4 D作为车载感知与主控计算机,将ROS2 应用程序部署到iRobot Create 3机器人上。此处展示的人员跟随Demo仅用于说明如何在OAK 4 D上构建和部署ROS2 应用程序的框架。
它使用自定义的ROS workspace template构建,你可以将此模板作为开发自由应用的起点。
通过将ROS部署为一个OAK App,你可以解锁OAK Hub的功能,实现远程部署、集群部署、调试和OTA更新——无需自行构建和维护相关基础设施。
videoplayback (3)
关于ROS2的部署模式的说明
这篇Blog介绍了在OAK 4上运行ROS2的一种方法——以独立模式在设备上完全本地(STANDALONE mode.)运行。
第二种选项:外设模式(PERIPHERAL mode),在此配置中,部分工作负载在相机上运行,但仍依赖于某些主机PC资源。如果您采用的架构更适合外设模式,我们提供详细的文档,涵盖外设模式的设置与使用方法。
本Blog文章使用的是ROS2 Kilted版本,但如果您在主机电脑上运行的是Jazzy或Humble版本,配置同样适用。
现有ROS 2 Apps
在构建自己的部署之前,值得注意的是,OAK Hub中已经有一个可以运行的ROS2应用程序,您可以将其作为示例:
您可以直接将其部署到OAK 4 D,并立即开始传输ROS话题流。

在oak-examples仓库中还有其他额外的ROS应用示例。然而,在本博客中,我们将重点介绍如何将自定义的ROS 2应用部署到实际机器人上。
硬件配置
在这个Demo中,我们将OAK 4 D 锁紧在一台iRobot Create 3上。因为Create 3不能直接给OAK 4 D供电,所以我们使用了:
以太网连接Create 3和OAK 4 D,一个PoE供电模块
这保持了整个系统完全可以移动,同时允许机器人和OAK 4 D之间进行直接有线通信。
为了能够通过OAK的Hub启动新应用程序和管理设备,我们使用USB WiFi dongle 将OAK 4 D 连接到WiFi。
目前,仅支持配备RTL8811CU/RTL8812CU(RLT881CU)和MT7601U芯片组的dongles,对于此设置,我们使用了联发科MT7601 USB WiFi适配器,通过USB-A母头到USB-C公头适配器连接到OAK 4 D。

相机和网络设置
为了实现OAK 4 D和Create 3之间的通信,同时允许WiFi 接入进行管理和部署,我们配置了静态以太网和WiFi连接。
1.通过PoE+ 交换机进行初始连接
为了通过WiFi进行身份验证,我们首先使用以下方式连接了OAK 4 D:
- A PoE + 交换机
- 以太网电缆
- 通过DHCP访问互联网
这个配置与Getting Started guide 非常相似:

2.生成静态IP配置
接下来,我们使用web configurer.生成配置命令。
在配置表单中:
非常重要的是,在高级设置下选中 "Enable SSH"
在高级设置下,配置:
Static IP: 192.168.186.3
Mask: 255.255.0.0
Gateway: 0.0.0.0
然后点击 "Finish Configuration" 并按照提供的说明进行操作。

也就是说,我们设置的命令是:
oakctl self-updateoakctl start-setupoakctl setup --password SET_PASSWORD --static-ip 192.168.186.3,255.255.0.0,0.0.0.0 --app-config "{}" --agent-config "sc=HYFGQT" --dont-check-internet --time-zone Europe/Ljubljana --time "@1770886763" --enable-error-reporting --peripheral-mode
其中,SET_PASSWORD是所需的密码。
这将为OAK 4 D配置静态IP,以便与Create 3直接通信。
3. SSH进入相机并配置WiFi
当仍然连接到PoE交换机 (DHCP互联网可用),OAK4-D will have:
- One interface with the static IP
- One interface with a DHCP-assigned IP
为了找到DHCP IP:
oakctl list
然后通过SSH连接:
ssh root@CAMERA_IP
使用上一步设置中的密码。
4. 连接到WiFi
登录后,连接到WiFi:
nmcli d wifi connect <ssid> password <password>
如果您遇到此错误:
Error: Failed to add/activate new connection: failure adding connection: error writing to file '/etc/NetworkManager/system-connections/... Read-only file system
以读写方式重新装载 /etc 并重新启动 NetworkManager:
mount -o remount,rw /etc
systemctl restart NetworkManager
然后重试WiFi命令。
运行人员跟踪命令Demo
该示例是从自定义ROS workspace template开始创建的,并在其上添加了人员检测和控制逻辑。
克隆存储库:
git clone --depth 1 --branch main https://github.com/luxonis/oak-examples.git
cd oak-examples/apps/ros/ros-follow-object/
在OAK 4 D 上运行应用程序:
oakctl app run .
随后会发生什么:
启动后,OAK 4 D将:
- 使用机载AI检测人员
- 计算空间坐标
- 生成速度指令
- 发布到/cmd_vel
- 创建3个订阅并随之移动
所有的感知、空间推理和控制逻辑都直接由OAK 4 D进行工作,无需笔记本电脑,无需外部ROS计算机,完全地在边缘端完成部署!
该应用的价值
这不仅仅关于demo的本身,而是关于如何直接在OAK 4 D上部署ROS 2应用程序。
从自定义 workspace template 开始,您可以:
- 添加您自己的ROS2 软件包
- 修改启动文件
- 集成自定义节点
- 搭建特定的机器人应用程序
通过将所有内容打包为OAK App,您可以通过Hub管理和更新机器人阵列,包括远程部署、调试和OTA更新。

此Demo显示了工作流程,您可以用它来构建和扩展项目需求上您所需要的内容。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)