随着自动驾驶技术的快速发展,高性能的相机模块成为了自动驾驶车辆中不可或缺的一部分。GMSL(GigE Vision and Machine Vision Link)相机是一种广泛用于机器视觉领域的相机模块,具有高分辨率、高帧率和低延迟等优点。在NVIDIA Jetson AGX Orin上部署GMSL相机,可以为自动驾驶车辆提供更强大的视觉感知能力。
本文将介绍GMSL相机在Jetson AGX Orin上的部署步骤,包括硬件连接、驱动程序安装、相机配置和应用程序开发等方面。
硬件清单:
1、NVIDIA Jetson Agx Orin 开发套件
2、Leetop GMSL相机转接板 1715
3、GMSL相机
一、硬件连接
首先,需要将1715、GMSL相机与Jetson AGX Orin进行连接。由于AGX Orin套件的接口板上并未将GMSL相机接口引出,所以需要需要Leetop-1715将接口转接出来,同时还需要为相机提供稳定的电源供应。
二、驱动程序安装及配置
安装完驱动程序后,需要对相机进行配置,以便使其能够满足特定应用的需求。这包括设置相机的工作模式、分辨率、帧率等参数。可以通过修改配置文件或使用制造商提供的工具进行配置。在配置过程中,需要注意确保相机的参数设置与应用程序的需求相匹配。
下载gmsl_camera.ko到Jetson AGX Orin,并使用脚本进行驱动的加载和相机的配置,进入
Jetson AGX Orin的Ubuntu环境,并打开控制台(假设把驱动程序和配置脚本安装在HOME目录下),运行配置脚本:
GMSL可以同时连接8路相机,yt-ox08b40-h.sh是8MP-YUV422相机的配置脚本(不同的相机可能对应不同的配置脚本),配置脚本检测并加载GMSL相机驱动,并完成GMSL参数的配置。
脚本的运行参数说明如下:
yt-ox08b40-h.sh 30 # 配置相机挂载控制总线30,配置第1、2路相机,默认为30
yt-ox08b40-h.sh 31 # 配置相机挂载控制总线31,配置第3、4路相机
yt-ox08b40-h.sh 32 # 配置相机挂载控制总线32,配置第5、6路相机
yt-ox08b40-h.sh 33 # 配置相机挂载控制总线30,配置第7、8路相机
第1~8路相机对应的设备节点为/dev/video0~/dev/video7,如果检测到第1,和第5路相机,那么就对应操作/dev/video0和/dev/video4。
在上图中,检测30-0地址的相机失败,说明该相机没有正常连接,而30-1成功,说明正常检测到第2路相机(对应设备节点为/dev/video1),其它相机的检测以此类推。
可以使用以下命令来检测相机驱动的加载情况:
如果硬件连接和设备没有问题,那么就可以正常的输出图像。
GMSL相机一般输出YUV422图像,分辨率和帧频都由相机来确定,不可设置。例如对于该测试的相机,分辨率为3860x2160,帧频为30帧/秒,输出的图像格式是UYVY。
四、应用程序开发
完成相机配置后,可以开始开发应用程序来获取和处理相机的图像数据。在开发过程中,需要使用相应的软件开发包(SDK)和编程语言(如C++或Python)。SDK通常会提供一系列函数和工具,以便让开发者能够方便地访问和控制相机。可以使用SDK提供的函数来读取相机的图像数据,并在处理后将其传输到自动驾驶车辆的控制系统或其他模块中。
对应相机的开发,使用Linux的V4L2标准调用即可,关键的问题是找到对应的设备节点,并根据相机的分辨率,图像格式来进行图像的操作。
六、总结
本文介绍了GMSL相机在Jetson AGX Orin上的部署步骤,包括硬件连接、驱动程序安装、相机配置等方面。通过按照这些步骤进行操作,可以成功地将GMSL相机集成到Jetson AGX Orin系统中,并使其为自动驾驶车辆提供强大的视觉感知能力。需要注意的是,在部署过程中需要仔细检查每个步骤的正确性,并根据实际应用需求进行相应的调整和优化。