地瓜机器人RDK X5开发板是一款高性能的嵌入式开发平台,以其高性能、低功耗和模块化设计,广泛应用于机器人、自动驾驶、智能监控和工业自动化等领域。基于其强大的处理能力和丰富的接口,支持多种传感器集成,为创新项目提供了可靠的硬件基础。

GMSL(Gigabit Multimedia Serial Link)技术以单线集成供电与数据的同步传输,具备低延迟、高带宽、长距离与强抗干扰等优势,成为自动驾驶、机器视觉等领域的优选方案。

为了满足日益增长的视觉需求,艾利光科技针对地瓜机器人RDK X5开发板的GMSL相机集成需要,全新推出专用的GMSL相机接入套件,提供多路GMSL摄像头接入能力,帮助用户快速构建视觉系统,适用于机器人视觉、自动驾驶感知和智能监控等场景。

图片

艾利光RDK X5 GMSL相机接入套件包括转接板连接线缆配套驱动支持搭配艾利光GMSL系列摄像头,可轻松与地瓜机器人 RDK X5 开发板集成。本文旨在介绍艾利光GMSL相机接入套件的硬件及软件使用方法,帮助您顺利完成安装与配置,从而开启创新开发之旅。

一、硬件连接指南

1.连接转接板

地瓜 RDK X5 开发板支持2路4 Lane MiPi信号输入,通过艾利光定制的FPC线束,可实现转接板与开发板连接,连接示意如下图:

图片

注意:图中标识的CAM1 与 CAM2 接口涉及软件定义信息,与软件参数有关,请参考示意图指示方式连接。如使用其他方式连接,将导致软件无法正常运行。

2.摄像头连接

准备好需连接的摄像头模组、Fakra线束。Fakra 线束一端连接摄像头模组,另一端连接艾利光转接板,连接示意如下图:

图片

图片

3.电源连接

连接艾利光转接板电源适配器、地瓜RDK X5开发板电源适配器,即可启动设备。连接完成最终效果参考如图:

图片

二、软件配置指南

1.驱动安装

艾利光提供配套驱动支持,您购买了艾利光GMSL相机接入套件后,可通过官方渠道获取驱动安装包下载信息。

下载驱动安装包后,需将驱动安装包内的 aili_max9296.ko 文件添加至 :/lib/modules/6.1.83/kernel/drivers/media/i2c

之后执行如下命令:

sudo depmod -a

2.dtbo 修改

这一步骤是通过修改设备树覆盖文件(.dtbo),配置RDK X5的硬件设备,以支持新硬件接入。

您仅需将驱动安装包内的 overlays.7z 文件夹 中的 dtbo 和 dts 文件添加至:/boot/overlays

3.开启V4L2应用

此操作是将摄像头作为标准V4L2设备挂载到系统。完成后,所有支持V4L2的通用程序(如OpenCV、GStreamer)都能直接识别并捕获视频流。

您需要在开发板端执行以下命令,启动配置工具:

sudo srpi-config

按照如下指示选择:

图片

图片

图片

完成此步骤后,系统将提示您选择相机型号,此时可任意选择一个,后续我们仍需手动调整配置。选择后直接结束该设置环节。

接下来,请修改 /boot/config.txt 文件:

sudo vim /boot/config.txt

在文件中加入以下配置内容:

v4l2_enable
v4l2_scene=22
dtoverlay=dtoverlay_cam0_max9296_isx031
dtoverlay=dtoverlay_cam1_max9296_isx031

注意:此处主要添加的是 dtoverlay 相关配置。

4.安装GStreamer

此步骤是安装GStreamer开发与运行环境。该框架提供了处理多媒体数据所需的全部工具、库和插件,是我们后续直接调用摄像头并进行视频流处理的基础。

您仅需输入执行以下命令:

sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio

完成上述操作后重新启动设备。

5.功能验证

此步骤是确认系统内核是否已正确加载GMSL摄像头驱动,并验证能否正常输出视频流。

首先查看驱动加载,执行以下命令:

lsmod 

如输出日志中出现以下图示红色框内的内容,则证明驱动加载正确。

图片

接下来,需要使用GStreamer管道命令,分别对两个相机通道进行测试。您需要观察测试窗口是否能稳定显示实时视频画面与帧率计数,以确保每个通道功能正常。

#通道 1 测试 (/dev/video0)

gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,format=NV12,width=1920,height=1536,framerate=30/1' ! videoconvert ! fpsdisplaysink video-sink=glimagesink sync=false

#通道 2 测试 (/dev/video2)

gst-launch-1.0 v4l2src device=/dev/video2 ! 'video/x-raw,format=NV12,width=1920,height=1536,framerate=30/1' ! videoconvert ! fpsdisplaysink video-sink=glimagesink sync=false

出图效果参考如下:

图片

三、运行FCOS(适配艾利光相机)

如果您选购了艾利光GMSL相机,本步骤将指导您如何修改地瓜机器人提供的FCOS参考代码,使其能正确处理艾利光相机输出的NV12格式数据。

1.确认相机参数

在修改代码前,首先通过v4l2指令确认艾利光相机支持的数据格式和分辨率。

通过如下命令查看相机支持的格式:

v4l2-ctl -d /dev/video0 --list-formats-ext

预期输出: 确认相机支持 NV12 格式,且包含分辨率 1920x1536。​​​​​​​

ioctl: VIDIOC_ENUM_FMT
        Type: Video Capture
        [0]: 'NV12' (Y/UV 4:2:0)
        Size: Discrete 1920x1536

通过如下命令验证出图帧率:

v4l2-ctl --device /dev/video0 --set-fmt-video=width=1920,height=1536,pixelformat=NV12 --stream-mmap 

预期输出: 观察到稳定的帧率(例如 30.00 fps)。​​​​​​​

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.00 fps

2.代码修改与解析

为适配艾利光相机的NV12数据格式,我们将使用驱动安装包中提供的专用脚本 alg_camera_fcos.py 来运行FCOS模型。

参考脚本路径:

/app/pydev_demo/02_usb_camera_sample/alg_camera_fcos.py

3.运行脚本

通过如下命令运行脚本:​​​​​​​

$ cd /app/pydev_demo/02_usb_camera_sample
$ sudo ./alg_camera_fcos.py /dev/video0

执行出图效果参考如下:

图片

至此,您已成功将艾利光GMSL相机接入地瓜机器人RDK X5平台,并完成了从驱动、框架到AI模型的全栈功能验证。基于稳定的视频流,可以开发更复杂的视觉AI应用,并可以将这套视觉系统集成到您的机器人、自动驾驶或智能安防项目中,解锁无限可能。

如您在部署或使用过程中遇到任何问题,欢迎随时通过艾利光科技官方渠道获取技术文档与支持。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐