APEX ORIN NX II GMSL ROS2节点使用#
使用前准备#
请先完成 ROS2 Humble 的安装,并确认相机实际对应的设备节点(/dev/videoN)及输入分辨率。下文中的 videoN、/miivii_gmsl/imageN 必须与实际使用的相机接口对应。
以下操作均以
为编译和运行工作目录。
### 下载代码
mkdir -p ~/catkin_ws/src && cd ~/catkin_ws/src git clone –no-checkout https://github.com/MiiViiDynamics/miivii_gmsl_camera && cd miivii_gmsl_camera && git checkout 3bc9f9b
### 编译
sudo apt install python3-colcon-common-extensions source /opt/ros/humble/setup.bash sudo apt install ros-humble-camera-info-manager cd ~/catkin_ws/src/miivii_gmsl_camera colcon build –packages-select miivii_gmsl_camera source install/setup.bash
### 运行:video0,1280×720
相机接入 video0、输入分辨率为 1280×720,且 single.launch 与 single.rviz 保持对应的默认配置时,可执行以下命令启动:
cd ~/catkin_ws/src/miivii_gmsl_camera source /opt/ros/humble/setup.bash source install/setup.bash ros2 launch miivii_gmsl_camera single.launch
如果此前修改过相机接口、分辨率或 RViz 话题,请先按下一节的方法调整为当前相机的配置,重新编译后再启动。
### 运行:其他接口或分辨率
下方LC009D1示例使用1920×1536相机模式/固件配置;试用支持清单列出的是1920×1080配置。两种分辨率对应不同相机模式或固件,配置输入分辨率时应与相机当前实际配置保持一致。
下面以 **LC009D1 相机接入 video5,输入分辨率 1920×1536,输出分辨率 640×360** 为例。
#### 1. 修改相机配置
cd ~/catkin_ws/src/miivii_gmsl_camera vim miivii_gmsl_ros/launch/single.launch
将 single.launch 替换为以下内容:
使用其他相机接口或分辨率时,按实际情况调整以下参数:
-
:本示例不使用 video0,因此关闭默认接口。#
:启用本示例使用的 video5。改用 videoN 时,将对应的
设为
,并关闭不使用的接口;如果实际使用 video0,应启用 video0。
-
:相机输入分辨率,格式为
;本例为
。#
:图像输出分辨率,本例为
。参数前缀应与启用的 videoN 一致。
2. 修改 RViz 图像话题#
保持在上述工作目录,将 RViz 中的图像话题由 /miivii_gmsl/image0 改为 /miivii_gmsl/image5:
sed -i 's|/miivii_gmsl/image0|/miivii_gmsl/image5|g' \
miivii_gmsl_ros/config/single.rviz
**注意:**image0 表示配置文件中上次使用的相机话题,默认是 image0;image5 表示本次需要使用的相机话题。若之前已修改过接口,应将替换命令中的 image0 改为配置文件内当前的话题编号,将 image5 改为目标接口编号。不能始终按 image0 替换。
3. 重新编译并启动#
修改 single.launch 或 single.rviz 后,需要重新编译,并加载本次编译生成的环境:
cd ~/catkin_ws/src/miivii_gmsl_camera
source /opt/ros/humble/setup.bash
colcon build --packages-select miivii_gmsl_camera
source install/setup.bash
ros2 launch miivii_gmsl_camera single.launch
4. 检查显示结果#
启动后,在 RViz 中确认相机图像正常显示。本示例的图像话题应为 /miivii_gmsl/image5。若未出图,请依次核对实际设备节点、videoN.active、camera_res、RViz 图像话题,以及是否在修改后重新编译并执行 source install/setup.bash。