GMSL相机
方竹科技针对GMSL相机开发了标准的V4L2(Video for Linux缩写,是Linux视频采集相关设备的驱动框架),对应用层提供统一的接口方便应用开发。
F305L载板FAKRA接口与设备节点映射关系(单目RGB或红外GMSL相机)
| 物理接口 | 设备节点 |
|---|---|
| GMSL0 | /dev/video0 |
| GMSL1 | /dev/video1 |
| GMSL2 | /dev/video2 |
| GMSL3 | /dev/video3 |
| GMSL4 | /dev/video4 |
| GMSL5 | /dev/video5 |
GMSL快速验证
设备支持使用Gstreamer输出视频流,图像获取与显示使用方法如下:
#8M相机:(3840x2160)
gst-launch-1.0 v4l2src device=/dev/video0 ! "video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160" ! videoconvert ! fpsdisplaysink video-sink=xvimagesink sync=false
#5M相机:(2880x1860)
gst-launch-1.0 v4l2src device=/dev/video0 ! "video/x-raw, format=(string)UYVY, width=(int)2880, height=(int)1860" ! videoconvert ! fpsdisplaysink video-sink=xvimagesink sync=false
#2M 相机:(1920x1080)
gst-launch-1.0 v4l2src device=/dev/video0 ! "video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080" ! fpsdisplaysink video-sink=xvimagesink sync=false
#1M相机:(1280x720)
gst-launch-1.0 v4l2src device=/dev/video0 ! "video/x-raw, format=(string)UYVY, width=(int)1280, height=(int)720" ! fpsdisplaysink video-sink=xvimagesink sync=false
#其他分辨率相机根据具体相机参数进行设置即可
相机Sync IN输入
| 接口名称 | PHD2.0针脚序号 | 信号定义 | 接口说明 |
|---|---|---|---|
| Sync in1同步接口 | 17 | GPIO13 (SOM: Pin218) | MAX9296-GMSL4~5 Sync in信号 |
| Sync in2同步接口 | 19 | GPIO12 (SOM: Pin228) | MAX96712-GMSL0~3Sync in信号 |
即可以通过外部输入固定频率信号对GMSL相机进行触发,需软件配合 也可以通过软件模拟的方式让相机进行同步
#!/bin/bash
# JetPack5.x GPIO13 Sync out同步接口
cd /sys/class/pwm/pwmchip0
echo 0 > export
cd pwm0
echo 40000000 > period
echo 8000000 > duty_cycle
echo 1 > enable
#JetPack6.x
cd /sys/class/pwm/pwmchip0
echo 0 > export
cd pwm0
echo 40000000 > period
echo 8000000 > duty_cycle
echo 1 > enable
Camera应用代码参考
jetson_cam_app 包含两个C++ 应用案例如下:
camera_v4l2_cuda :CUDA SDK Demo通过CUDA运行效率高(需预装JetPack SDK)。
camera_v4l2_opencv:OpenCV SDK Demo 直接使用V4L2和OpenCV来获取摄像头图像。
F305支持搭载D457/ZED X
F305支持Intel D457系列, Stereolabs ZED X系列, 猎豹Leopard Imaging Hawk双目相机
F305支持双目与单目、红外等相机混合接入,如:4路ISX031+Intel D457x1~2,或4路ISX031+1路ZED X (ISX031可替换为其他Sensor)
Intel D457系列 仅MAX9296芯片支持,可接入一路全数据,也可接入两路Depth+RGB/Grey
Steraolabs ZED X系列 MAX9296和MAX96712 均可支持接入一路,暂不支持多路接入
Orbbec 335Lg系列 MAX9296和MAX96712 均可支持接入
Intel Realsense SDK安装
#安装Realsense-viewer
DISTRO=bionic
wget --no-check-certificate https://librealsense.intel.com/Debian/apt-repo/dists/$DISTRO/Release
wget --no-check-certificate https://librealsense.intel.com/Debian/apt-repo/dists/$DISTRO/main/binary-arm64/Packages
wget --no-check-certificate https://librealsense.intel.com/Debian/apt-repo/pool/$DISTRO/main/librealsense2-gl_2.53.1-0~realsense0.703_arm64.deb
wget --no-check-certificate https://librealsense.intel.com/Debian/apt-repo/pool/$DISTRO/main/librealsense2_2.53.1-0~realsense0.703_arm64.deb
wget --no-check-certificate https://librealsense.intel.com/Debian/apt-repo/pool/$DISTRO/main/librealsense2-udev-rules_2.53.1-0~realsense0.703_arm64.deb
wget --no-check-certificate https://librealsense.intel.com/Debian/apt-repo/pool/$DISTRO/main/librealsense2-utils_2.53.1-0~realsense0.703_arm64.deb
sudo apt install libglfw3-dev libusb-1.0-0-dev libgtk-3-dev libudev-dev at libfl2
sudo dpkg -i *.deb
#F305 + ONX/XNX 搭配2路Intel D457 相机V4L2 验证
#LinkA: Depth PipeX + RGB PipeY(MAX9295) - PipeX/Y(MAX9296) - /dev/video0~3
#LinkB: Depth PipeZ + RGB PipeU(MAX9295) - PipeZ/U(MAX9296) - /dev/video4~7
#验证LinkA - Depth
v4l2-ctl --set-fmt-video=width=1280,height=720,pixelformat=Z16\ --set-ctrl bypass_mode=0 --stream-mmap --stream-count=2 --stream-to=depth.dat -d /dev/video0
<<
#验证LinkA - RGB
v4l2-ctl --set-fmt-video=width=1280,height=720,pixelformat=YUYV --set-ctrl bypass_mode=0 --stream-mmap --stream-count=2 --stream-to=rgb.dat -d /dev/video2
<<
#验证LinkB - Depth
v4l2-ctl --set-fmt-video=width=1280,height=720,pixelformat=Z16\ --set-ctrl bypass_mode=0 --stream-mmap --stream-count=2 --stream-to=depth.dat -d /dev/video4
<<
#验证LinkA - RGB
v4l2-ctl --set-fmt-video=width=1280,height=720,pixelformat=YUYV --set-ctrl bypass_mode=0 --stream-mmap --stream-count=2 --stream-to=rgb.dat -d /dev/video6
<<
Stereolabs ZED X SDK 安装
依据本地Jetpack版本下载安装ZED SDK for Jetson.
$ cd ~/Download/
$ chmod +x ZED_SDK_Tegra_L4T35.3_v4.0.0.zstd.run
$ sudo apt-get install -y zstd
#运行ZED SDK安装
$ ./ZED_SDK_Tegra_L4T35.3_v4.0.0.zstd.run
D457/ZEDX/AR0231
GMSL物理接口特性及常见故障排查
支持最长15米同轴电缆的信号传输,采用方竹定制GMSL线实测可达33米
支持GMSL2/1不同串行器的摄像头,此载板搭配XNX/ONX等核心模块已验证约20余款不同厂商相机(详询业务人员)
相机显示无图像: 检查相机镜头盖是否打开。
相机GST显示绿屏: 检查固件与相机是否匹配,以及是否需要相机是否需要触发输出。
相机显示颜色不对: 相机图像格式不匹配如相机为YUYV格式而软件配置为UYVY,会呈现下列效果。