Isaac ROS Argus Camera#
概述#
Isaac ROS Argus Camera包含一个 ROS 2 包,用于传感器处理以输出图像。图像传感器通过 CSI 和 GMSL 硬件接口连接到 Jetson 平台。此包使用专用硬件引擎来加速图像处理。输出图像用于 AI 和 CV 感知包的节点图、事件记录器捕获到磁盘的图像压缩以及远程机器人远程操作的实时流视觉效果。
Isaac ROS Argus 相机提供多种传感器捕获和处理功能,包括 AWB(自动白平衡)、AE(自动曝光)和降噪。利用 Jetson 中的硬件引擎,Argus 提供多相机帧同步,具有非常高精度的帧采集时间戳和小于 100us 的抖动。

Argus 相机模块处理来自相机的传感器图像数据,以输入到基于视觉的感知图,包括 DNN 立体视差、AprilTag、VSLAM 和 H.264 编码。绿色节点中的每个节点都经过 GPU 加速,以实现从 Argus 相机到基于视觉的感知功能的高性能计算图。
Argus Camera 使用专用硬件引擎来访问 Jetson 中的全部内存带宽。原始相机图像通过 CSI 或 GMSL 接口直接传送到 GPU 加速内存。ISP 硬件将原始图像直接处理为 GPU 加速输出图像主题。
Argus Camera 不支持在没有 CSI 或 GMSL 接口连接相机的独立 GPU 的 x86_64 平台上。
isaac_ros_argus_camera#
运行启动文件#
ros2 launch isaac_ros_examples isaac_ros_examples.launch.py launch_fragments:=argus_stereo
可视化结果#
#获取左图
ros2 run image_view image_saver --ros-args -r image:=/left/image_raw -p filename_format:="left_image.jpg"
#获取右图
ros2 run image_view image_saver --ros-args -r image:=/right/image_raw -p filename_format:="right_image.jpg"
故障排除#
Argus是 NVIDIA Jetson 系统上的 Isaac ROS 使用的库。它在单独的进程中运行独立于 ROS 的守护进程来管理相机。如果您在使用相机时遇到任何问题,您应该尝试的第一件事就是重新启动此守护进程。在容器外部运行:
sudo systemctl restart nvargus-daemon.service
ROS参数#
单目相机#
ros2 launch isaac_ros_argus_camera isaac_ros_argus_camera_mono.launch.py
ROS 参数 |
类型 |
默认 |
描述 |
|---|---|---|---|
camera_id |
uint |
0 |
视频设备索引例如/dev/video0 |
module_id |
uint |
0 |
当连接了多个相同的摄像头模块时,设备树中的摄像头模块索引 |
mode |
uint |
0 |
摄像头传感器和驱动程序支持的分辨率模式。 |
fsync_type |
uint |
1 |
指定使用哪种帧同步,支持值为 0(内部)和 1(外部)。对于 e3653 板,选择 0;对于 p3762 板,选择 1 |
camera_link_frame_name |
string |
camera |
与相机机身原点相关的框架名称。 |
optical_frame_name |
string |
left_cam |
与相机机身内的成像仪相关的框架名称。 |
camera_info_url |
string |
.ini单目相机读取内在信息的相机信息文件的可选 URL |
ROS 主题 |
界面 |
描述 |
|---|---|---|
left/image_raw |
sensor_msgs/Image |
单目相机图像 |
left/camera_info |
sensor_msgs/CameraInfo |
相机信息 |
双目相机#
ros2 launch isaac_ros_argus_camera isaac_ros_argus_camera_stereo.launch.py
ROS 参数 |
类型 |
默认 |
描述 |
|---|---|---|---|
camera_id |
uint |
0 |
视频设备索引例如/dev/video0 |
module_id |
uint |
0 |
当连接了多个相同的摄像头模块时,设备树中的摄像头模块索引 |
mode |
uint |
0 |
摄像头传感器和驱动程序支持的分辨率模式。 |
fsync_type |
uint |
1 |
指定使用哪种帧同步,支持值为 0(内部)和 1(外部)。对于 e3653 板,选择 0;对于 p3762 板,选择 1 |
camera_link_frame_name |
string |
camera |
与相机机身原点相关的框架名称。 |
left_optical_frame_name |
string |
left_cam |
与相机机身内的左成像器关联的帧名称(用于立体相机)。 |
right_optical_frame_name |
string |
right_cam |
与相机机身内的左成像器关联的帧名称(用于立体相机)。 |
left_camera_info_url |
string |
不适用 |
.ini立体摄像机左成像器用于读取内在信息的摄像机信息文件的可选 URL 。 |
right_camera_info_url |
string |
不适用 |
.ini立体相机右成像仪用于读取内在信息的相机信息文件的可选 URL 。 |
wide_fov |
boolean |
false |
标记以输出具有宽视野的图像。 |
ROS Topic |
Interface |
Description |
|---|---|---|
left/image_raw |
sensor_msgs/Image |
左相机图像 |
left/camera_info |
sensor_msgs/CameraInfo |
左相机信息 |
right/image_raw |
sensor_msgs/Image |
右相机图像 |
right/camera_info |
sensor_msgs/CameraInfo |
右相机信息 |
输出颜色空间格式#
Isaac ROS Argus 节点支持从libargus获取YUV444和YUV420 色彩空间的图像并将其转换为RGB888 色彩空间作为输出。