本页目录

  • 驱动程序
  • 管道生成
  • 图像传感器
  • 初始参数
  • 运行时参数
  • 立体视觉参数
  • 深度对齐
  • 立体视觉套接字顺序
  • 自定义传感器接口
  • 参数
  • 特征跟踪器
  • 参数
  • IMU
  • 参数:
  • 神经网络
  • 参数
  • 同步
  • 参数
  • ToF
  • 参数
  • 热成像
  • 参数
  • RGBD
  • 参数
  • VIO
  • 参数

参数

驱动程序可以通过大量参数进行配置。下面列出了每个节点的所有参数的说明,其中大部分与DepthAI C++/Python API对应。以r_开头的参数可以在运行期间自由修改,例如使用rqt。以i_开头的参数在相机初始化时设置,要更改它们,您需要调用stopstart服务。这可用于在运行期间热插拔NN、更改分辨率等。
RGB 参数

驱动程序

  • driver.i_publish_tf_from_calibration: true <bool> - 设置为true将启动TFPublisher
  • driver.i_tf_device_name: [NODE_NAME] <string> - 如果未设置,则默认为节点名称
  • driver.i_tf_device_model: '' <string> - 如果未设置,将自动检测。如果节点无法检测到设备的STL文件,则将其设置为OAK-D-S2。要显式地在driver.launch.py中设置,请设置override_cam_model:=true
  • driver.i_tf_base_frame: oak <string> - 用作相机帧根的帧,通常与CAM_A(OAK-D系列的中心传感器)位于同一位置
  • driver.i_tf_parent_frame: oak_parent_frame <string> - 设置为您希望连接相机的帧(例如机器人末端执行器)
  • driver.i_tf_cam_pos_x: '0.0' <string> - 基座标系相对于父坐标系的位置
  • driver.i_tf_cam_pos_y: '0.0' <string> - 基座标系相对于父坐标系的位置
  • driver.i_tf_cam_pos_z: '0.0' <string> - 基座标系相对于父坐标系的位置
  • driver.i_tf_cam_roll: '0.0' <string> - 基座标系相对于父坐标系的方向
  • driver.i_tf_cam_pitch: '0.0' <string> - 基座标系相对于父坐标系的方向
  • driver.i_tf_cam_yaw: '0.0' <string> - 基座标系相对于父坐标系的方向 除TF发布相关参数外,driver还有以下附加参数:
  • i_usb_speed: SUPER <string> - USB速度,用于设置当前接口,会自动推断但可覆盖,例如显式使用SUPER_PLUS。可用选项:
    • LOW
    • FULL
    • HIGH (USB2)
    • SUPER (USB3)
    • SUPER_PLUS - 用于连接高速接口(如Thunderbolt),在某些情况下可能不稳定
  • i_device_id: "" <string> - 用于连接指定ID的设备
  • i_ip "" <string> - 用于连接指定IP的设备
  • i_usb_port_id: "" <string> - 用于连接指定USB端口上的设备
  • i_pipeline_dump: false <bool> - 是否将创建的管道转储到JSON文件(用于调试)
  • i_calibration_dump: false <bool> - 是否将校准数据转储到JSON文件
  • i_external_calibration_path: "" <string> - 用于覆盖设备校准
  • i_pipeline_auto_calibration_mode: "" <string or bool> - 管道自动校准模式。空值保持DepthAI管道默认设置不变。设置为OFF可禁用自动校准。有效的字符串值为OFFON_STARTCONTINUOUS。为了向后兼容,也接受布尔值:true映射到ON_STARTfalse映射到OFF
  • i_enable_ir : true <bool> - 是否启用红外投影仪
  • i_restart_on_diagnostics_error: false <bool> - 如果在管道中启用了诊断发布并且报告错误,则驱动程序将重新启动
  • i_rs_compat: false <bool> - 开启Realsense兼容性。主题、帧名称和参数名称将更改为反映RS相机。
  • r_laser_dot_intensity: 0.6 <float> <0.0-1.0> - 设置激光点投影仪强度。在USB相机中可能需要通过Y型适配器提供额外电源。
  • r_floodlight_intensity: 0.6 <float> <0.0-1.0> - 设置泛光灯投影仪强度。在USB相机中可能需要通过Y型适配器提供额外电源。

管道生成

参数名称以pipeline_gen开头
  • i_pipeline_type 可以是以下之一:
    • RGB - 仅发布RGB流,可用NN
    • RGBD - 发布RGB+深度流(设置左右相机的i_publish_topic以启用它们),可用NN和空间NN
    • Stereo - 发布左右传感器的流,可分别为每个传感器设置NN
    • RGBStereo - 发布RGB+左右流,可分别为每个传感器设置NN
    • Depth - 仅发布深度流,可通过参数在立体节点上设置NN
    • CamArray - 发布所有检测到的传感器的流,可分别为每个传感器设置NN
    • Tof - 仅发布TOF流,无可用的NN
    • DepthTof - 发布深度+TOF流,专用于OAK-D-SR-POE,可通过参数在立体节点上设置NN
    • StereoToF - 发布立体+TOF流,专用于OAK-D-SR-POE,可通过参数在立体节点上设置NN
    • RGBToF - 发布RGB+TOF流,专用于OAK-D-SR-POE,可通过参数在立体节点上设置NN
    • Thermal - 针对OAK-T相机,发布RGB+热成像流。
  • i_nn_type: spatial <string> - 与管道一起创建的NN类型
  • i_enable_imu: true <bool> - 是否在某些管道中启用IMU节点
  • i_enable_diagnostics: false <bool> - 是否启用诊断节点
  • i_enable_rgbd: false <bool> - 是否在某些管道中启用RGBD节点

图像传感器

传感器参数以 sensor_name.[PARAMETER_NAME] 开头,例如 rgb.i_width

初始参数

  • i_board_socket_id <int> - 传感器的套接字 ID,主要用于对齐、标定和推断帧名称,每个传感器会自动检测,但可以覆盖
  • i_enable_feature_tracker: false <bool> - 为该传感器启用 FeatureTracker 节点
  • i_enable_nn: false <bool> - 为该传感器启用 NeuralNetwork
  • i_max_q_size: 8 <int> - 设置 DAI 队列大小
  • i_low_bandwidth: false <bool> - 设为 true 时,启用该传感器的 VideoEncoder,以改善相机到主机的延迟。默认情况下,DAI 编码帧(仅限 MJPEG 编码器;对于 H264,需启用 i_publish_compressed 参数)会在主机端解码为 ROS Image 消息。
  • i_low_bandwidth_profile: 4 <int> - 使用的编码器类型。可用类型如下:
    • H264_BASELINE,
    • H264_HIGH,
    • H264_MAIN,
    • H265_MAIN,
    • MJPEG(默认值)
  • i_low_bandwidth_frame_freq: 30 <int> - 编码器的帧频率,用于 H26X 类型
  • i_low_bandwidth_bitrate: 0 <int> - 编码器的比特率,用于 H26X 类型
  • i_low_bandwidth_quality: 50 <int> - MJPEG 编码器的质量
  • i_publish_compressed: false <bool> - 不是将 DAI 编码帧转换为 ROS Image 消息,而是以相应的压缩图像格式发布(MJPEG 为 CompressedImage,H26X 类型为 FFMPEGMsgs::FFMPPEGPacket)
  • i_get_base_device_timestamp: false <bool> - 控制获取的数据的 DAI 时间戳是否与主机同步(时间戳本身仍与 ROS 时间对齐)
  • i_calibration_file: "" <string> - 用于用 ROS 标定覆盖 DAI 标定
  • i_update_ros_base_time_on_ros_msg: false <bool> - 如果系统中出现时间偏移(例如系统时钟被外部控制),请启用此项
  • i_enable_lazy_publisher: true <bool> - 是否仅在检测到 image/camera_info 话题有订阅时才发布数据
  • i_add_exposure_offset: false <bool> - 是否将曝光偏移添加到 ROS 时间戳
  • i_exposure_offset: 0 <int> - 曝光偏移类型:
    • START
    • MIDDLE
    • END
  • i_reverse_stereo_socket_order: false <bool> - 更多信息请参见下方“立体声套接字顺序”部分
  • i_synced: :false <bool> - 是否将输出添加到同步输出组,所有同步的发布者将以相同时间戳发布图像
  • i_publish_topic: true/false <bool> - 是否在 ROS 话题上发布,默认为 true(位于 CAM_A 套接字上的传感器),否则为 false
  • i_publish_full_resolution: false <bool> - 是否发布全分辨率图像
  • i_use_max_resolution_possible: false <bool> - 是否使用可能的最大分辨率
  • i_width: 640 <int> - 图像宽度
  • i_height: 400 <int> - 图像高度
  • i_fps: 30.0 <float> - 传感器帧率
  • i_undistorted: true <bool> - 是否对图像进行去畸变
  • i_resize_mode: "CROP" <string> - 去畸变时使用的缩放类型,更多信息请参考 DAI Camera 节点,可选值:
    • CROP
    • LETTERBOX
    • STRETCH
  • i_fsync_continuous: false <bool> - 是否设置帧同步模式。如果启用,则使用 i_fsync_mode 参数设置模式
  • i_fsync_mode: "INPUT" <string> - FSync 模式类型,可选值:
    • OFF
    • OUTPUT
    • INPUT
  • i_fsync_trigger: false <bool> - 是否使用外部触发进行图像采集
  • i_num_frames_burst: 1 <int> - 触发 burst 中的帧数
  • i_num_frames_discard: 0 <int> - 初始 burst 中要丢弃的帧数(这些帧可能质量较差)

运行时参数

  • r_iso: 800 <int> <100-1600> - 设置手动曝光时的 ISO 值,需设置 r_set_man_exposure 以生效
  • r_exposure: 1000 <int> <1-33000> - 设置手动曝光时的曝光值,需设置 r_set_man_exposure 以生效
  • r_set_man_exposure: false <bool> - 是否设置手动曝光
  • r_set_autoexposure_limit: false <bool> - 是否限制自动曝光
  • r_auto_exposure_limit: 1000 <int> - 自动曝光限制值
  • r_set_man_focus: false <bool> - 是否设置手动对焦
  • r_focus: 1 <int> <1-255> - 对焦值
  • r_set_man_whitebalance: false <bool> - 是否设置手动白平衡
  • r_whitebalance: 3000 <int> <1000-12000> - 手动白平衡值
  • r_set_sharpness: false <bool> - 是否手动设置锐度
  • r_sharpness: 1 <int> <1-4> - 锐度级别
  • r_set_chroma_denoise: false <bool> - 是否手动设置色度降噪
  • r_chroma_denoise: 1 <int> <1-4> - 色度降噪级别
  • r_set_luma_denoise: false <bool> - 是否手动设置亮度降噪
  • r_luma_denoise: 1 <int> <1-4> - 亮度降噪级别
  • r_set_auto_exp_region: false <bool> - 是否使用图像的一部分来控制曝光
  • r_auto_exp_region_start_x: 0 <int> - 用于自动曝光的矩形起点 X(图像坐标,即 X 向右,Y 向下)
  • r_auto_exp_region_start_y: 0 <int> - 用于自动曝光的矩形起点 Y(图像坐标,即 X 向右,Y 向下)
  • r_auto_exp_region_width: 0 <int> - 自动曝光区域的宽度
  • r_auto_exp_region_height: 0 <int> - 自动曝光区域的高度

立体视觉参数

立体视觉参数

深度对齐

当设置 stereo.aligned: true 时,立体视觉输出会与 stereo.i_board_socket_id 参数指定的板载接口(默认为 0/CAM_A)对齐。您可以通过设置(例如在右流的情况下)i_publish_right_rect: true 来启用矫正后的立体视觉流。

立体视觉套接字顺序

默认情况下,右摄像头在使用立体计算时被视为第一个,这反映在 CameraInfo 消息中。如果您想反转该逻辑,请设置 stereo.i_reverse_stereo_socket_order: true(也可以针对单个传感器进行设置)。

自定义传感器接口

用于计算立体视觉对的传感器配置既可以通过编程方式完成(例如在构建自定义流水线时在 Stereo 节点的构造函数中指定),也可以通过参数 stereo.i_left_socket_id/stereo.i_right_socket_id 完成。请注意,目前如果您想使用 rgb/center 接口代替给定的一对接口中的某一个,您需要为此构建自定义流水线。

参数

关于滤波器的更多信息,请访问配置立体深度
  • i_max_q_size: 30 <int> - 设置DAI队列大小
  • i_fps: 30.0 <float> - 立体帧率
  • i_low_bandwidth: false <bool> - 请参考Sensor节点中的参数描述。注意 该参数与i_subpixel参数不兼容。
  • i_low_bandwidth_profile: 4 <int> - 使用的编码器类型。可用类型如下:
    • H264_BASELINE,
    • H264_HIGH,
    • H264_MAIN,
    • H265_MAIN,
    • MJPEG(默认)
  • i_low_bandwidth_frame_freq: 30 <int> - 编码器的帧频率,用于H26X类型
  • i_low_bandwidth_bitrate: 0 <int> - 编码器的比特率,用于H26X类型
  • i_low_bandwidth_quality: 50 <int> - MJPEG编码器的质量
  • i_get_base_device_timestamp: false <bool> - 控制获取的数据的DAI时间戳是否与主机同步(时间戳本身仍与ROS时间对齐)
  • i_calibration_file: "" <string> - 用于用ROS标定覆盖DAI标定
  • i_update_ros_base_time_on_ros_msg: false <bool> - 如果系统中存在时间偏移(例如系统时钟受外部控制时),请启用此选项
  • i_enable_lazy_publisher: true <bool> - 是否仅在检测到图像/camera_info话题上有订阅时才发布数据
  • i_add_exposure_offset: false <bool> - 是否将曝光偏移添加到ROS时间戳
  • i_exposure_offset: 0 <int> - 曝光偏移类型:
    • START(开始)
    • MIDDLE(中间)
    • END(结束)
  • i_reverse_stereo_socket_order: false <bool> - 更多信息请参见下方的立体插座顺序章节
  • i_synced: :false <bool> - 是否将输出添加到同步输出组,所有同步的发布者将以相同时间戳发布图像
  • i_publish_topic: true/false <bool> - 是否在ROS话题上发布,默认在CAM_A插座上的传感器为true,否则为false
  • i_output_disparity: false <bool> - 是否输出视差而非深度
  • i_enable_left_spatial_nn: false <bool> - 是否将左侧传感器作为RGB源创建空间神经网络
  • i_enable_right_spatial_nn: false <bool> - 是否将右侧传感器作为RGB源创建空间神经网络
  • i_enable_left_rgbd: false <bool> - 是否将左侧传感器作为RGB源创建RGBD节点
  • i_enable_right_rgbd: false <bool> - 是否将右侧传感器作为RGB源创建RGBD节点
  • i_aligned: true <bool> - 是否将立体节点对齐到i_board_socket_id
  • i_run_align_on_host: true <bool> - 是否在主机上运行对齐节点(仅适用于RVC4情况)
  • i_depth_preset: FAST_ACCURACY <string> - 应用的默认深度预设类型。警告 对于FAST_ACCURACY以外的类型,其他立体滤波参数可能被覆盖。此外,某些情况下会应用降采样滤波器,导致最终图像尺寸减小,并且增加的处理可能会减少与其他任务(例如RVC2设备上的神经网络)共享的可用资源。可用的设置如下:
    • FAST_ACCURACY(快速精确)
    • DEFAULT(默认)
    • FACE(人脸)
    • HIGH_DETAIL(高细节)
    • ROBOTICS(机器人)
  • i_enable_distortion_correction: true <bool> - 切换输出流上的畸变校正
  • i_set_disparity_to_depth_use_spec_translation: false <bool> - 是否使用CAD数据中的基线,而非标定数据
  • i_bilateral_sigma: 0 <int> <0-65535> - 双边滤波sigma值。该值越大,像素邻域内较远的颜色混合越充分,导致大范围半均匀色块。
  • i_lrc_threshold: 10 <int> <0-255> - 左右、右左视差图组合的阈值。
  • i_stereo_conf_threshold: 15 <int> <0-255> - 视差计算的置信度阈值。值越高,丢弃的深度值越多。
  • i_subpixel: true <bool> - 使用亚像素插值计算视差(默认3个分数位,适用于远距离。目前与扩展视差和低带宽模式不兼容。启用subpixel会输出更多深度值(点云中可见的“阶梯”更少),但会消耗更多带宽和资源。某些深度预设会自动启用。
  • i_subpixel_fractional_bits: 3 <int> <3-5> - 定义分数视差的数量:2^x
  • i_rectify_edge_fill_color: 0 <int> <-1-255> - 边缘缺失数据的填充颜色。0-255用于灰度,或-1用于复制像素
  • i_enable_alpha_scaling: false <bool> - 启用alpha缩放。
  • i_alpha_scaling: 0.0 <float> - alpha缩放参数。这是一个自由缩放参数,介于0(未失真图像中的所有像素有效)和1(未失真图像中保留所有源图像像素)之间。在一些高畸变镜头和/或由于校正(图像旋转)导致的无效区域,即使alpha=0也可能出现无效区域,在这些情况下,alpha < 0.0有助于去除无效区域。
  • i_disparity_width: DISPARITY_96 <string> - 视差搜索范围。取值:
    • DISPARITY_64
    • DISPARITY_96
  • i_extended_disp: false <bool> - 视差范围从0-95扩展到0-190,结合全分辨率和降采样图像。适用于近距离物体。目前与亚像素视差不兼容。
  • i_enable_companding: false <bool> - 使用稀疏匹配启用视差压缩。对N个视差逐像素匹配。对M个视差每隔一个像素匹配。对T个视差每隔四个像素匹配。对于96视差:N=48,M=32,T=16。通过稀疏匹配,搜索范围扩展到176个视差。注意,启用此标志时,仅深度图会受影响,视差图不会。
  • i_enable_temporal_filter: false <bool> - 启用时间滤波器。
  • i_temporal_filter_alpha: 0.4 <float> <0.0-1.0> - 指数移动平均中的alpha因子,Alpha=1表示无滤波。Alpha=0表示无限滤波。决定平均的时间历史程度。
  • i_temporal_filter_delta: 20 <int> - 步长边界。建立用于保留“边缘”的阈值。如果相邻像素之间的视差值超过此delta参数设置的视差阈值,则滤波将暂时禁用。默认值0表示自动:3个视差整数等级。在亚像素模式下,为3乘以亚像素等级数。
  • i_temporal_filter_persistency: VALID_2_IN_LAST_4 <string> - 持久性模式。如果当前视差/深度值无效,将根据持久性模式替换为较旧的值。有效值:
    • PERSISTENCY_OFF(关闭持久性)
    • VALID_8_OUT_OF_8(最近8帧中8帧有效)
    • VALID_2_IN_LAST_3(最近3帧中2帧有效)
    • VALID_2_IN_LAST_4(最近4帧中2帧有效)
    • VALID_2_OUT_OF_8(最近8帧中2帧有效)
    • VALID_1_IN_LAST_2(最近2帧中1帧有效)
    • VALID_1_IN_LAST_5(最近5帧中1帧有效)
    • VALID_1_IN_LAST_8(最近8帧中1帧有效)
    • PERSISTENCY_INDEFINITELY(无限持久性)
  • i_enable_speckle_filter: false <bool> - 启用散斑滤波器。
  • i_speckle_filter_speckle_range: 50 <int> - 散斑搜索范围。
  • i_enable_disparity_shift: false <bool> - 将输入帧偏移若干像素以增加最小深度。例如,偏移48将使有效视差搜索范围从(0,95]变为[48,143]。这是一种减小minZ的替代方法。通常仅当已知不会有比MaxZ更远的物体时推荐使用,例如深度摄像头安装在桌子上方指向桌面时。
  • i_disparity_shift: 0 <int> - 视差偏移值。
  • i_enable_spatial_filter: false <bool> - 启用空间滤波器。
  • i_spatial_filter_hole_filling_radius: 2 <int> - 一种就地启发式对称孔填充模式,在滤波过程中水平应用。旨在以最小的性能影响修正微小伪影。孔填充的搜索半径。
  • i_spatial_filter_alpha: 0.5 <float> - 指数移动平均中的 Alpha 因子,Alpha=1 表示无滤波,Alpha=0 表示无限滤波。决定平滑程度。
  • i_spatial_filter_delta: 20 <int> - 类似于时域滤波中的 delta。
  • i_spatial_filter_num_iterations: 1 <int> - 在图像的水平方向和垂直方向上的迭代次数。
  • i_enable_threshold_filter: false <bool> - 启用阈值滤波
  • i_threshold_filter_min_range: 400 <int> - 深度单位(mm)的最小范围。低于此值的深度值将被视为无效。
  • i_threshold_filter_max_range: 15000 <int> - 深度单位的最大范围。高于此值的深度值将被视为无效。
  • i_enable_brightness_filter: false <bool> - 启用亮度滤波
  • i_brightness_filter_min_brightness: 0 <int> - 最小像素亮度。如果输入像素亮度小于或等于此值,则深度值无效。
  • i_brightness_filter_max_brightness: 255 <int> - 最大像素亮度。如果输入像素亮度大于或等于此值,则深度值无效。
  • i_enable_decimation_filter: false <bool> - 启用降采样滤波。影响最终图像大小。
  • i_decimation_filter_decimation_mode: PIXEL_SKIPPING <string> - 降采样算法类型。可选值:
    • PIXEL_SKIPPING
    • NON_ZERO_MEDIAN
    • NON_ZERO_MEAN
  • i_decimation_filter_decimation_factor: 1 <int> <1-4> - 有效值为 1、2、3、4。视差/深度图的 x/y 分辨率将按此值降采样。
  • i_use_neural_depth: false <bool> - 是否使用神经深度代替常规立体视觉(仅在 RVC4 上可用)
  • i_neural_depth_model: NEURAL_DEPTH_SMALL <string> - 神经深度类型。可用类型如下:
    • NEURAL_DEPTH_LARGE
    • NEURAL_DEPTH_MEDIUM
    • NEURAL_DEPTH_SMALL
    • NEURAL_DEPTH_NANO
  • r_edge_threshold: 10 <int> - 神经深度的边缘阈值
  • r_confidence_threshold: 125 <int> - 神经深度的置信度阈值
  • 以下参数对于左右校正流相同,为简洁起见,下面仅列出左侧的参数:
    • i_publish_left_rect: false <bool> - 是否发布校正后的左流
    • i_left_rect_low_bandwidth: false <bool> - 左校正低带宽配置文件
    • i_left_rect_low_bandwidth_profile: 4 <int> - 左校正 LB 配置文件
    • i_left_rect_low_bandwidth_frame_freq: 30 <int> - 左校正 LB 帧率
    • i_left_rect_low_bandwidth_bitrate: 0 <int> - 左校正 LB 比特率
    • i_left_rect_low_bandwidth_quality: 50 <int> - 左校正 LB 质量
    • i_left_rect_publish_compressed: false <bool> - 是否为左校正发布压缩图像
    • i_left_rect_add_exposure_offset: false <bool> - 左校正添加曝光偏移
    • i_left_rect_exposure_offset: 0 <int> - 左校正曝光偏移设置
    • i_left_rect_enable_feature_tracker: false <bool> - 是否为校正后的左图添加特征跟踪器
    • i_left_rect_synced: false <bool> - 是否将左校正与其他流同步

特征跟踪器

每个传感器节点(以及来自立体节点的校正流)都可以选择添加 FeatureTracker 节点,该节点发布 depthai_ros_msgs/msg/TrackedFeatures 消息。 例如,要在 rgb 节点上启用特征,请设置 rgb: i_enable_feature_tracker: true。要在校正流上启用发布, 请设置例如 stereo: i_left_rect_enable_feature_tracker

参数

  • i_motion_estimation_type: LUKAS_KANADE_OPTICAL_FLOW <string> - 运动估计器类型,可以是:
    • LUKAS_KANADE_OPTICAL_FLOW
    • HW_MOTION_ESTIMATION
  • i_update_ros_base_time_on_ros_msg: false <bool> - 如果系统出现时间偏移(例如系统时钟由外部控制的情况),请启用此选项
  • i_get_base_device_timestamp: false <bool> - 控制获取的 DAI 时间戳是否与主机同步(时间戳本身仍对齐到 ROS 时间)

IMU

参数:

  • i_max_q_size: 8 <int> - 设置 DAI 队列大小
  • i_acc_freq: 480 <int> - 加速度计传感器频率
  • i_acc_cov: 0.0 <float> - 加速度计协方差
  • i_batch_report_threshold: 5 <int> - 批量报告大小
  • i_enable_rotation: false <bool> - 是否启用旋转向量和磁力计数据(使用 IMU_WITH_MAGN/ IMU_WITH_MAGN_SPLIT 消息类型和 BNO086 传感器时可用)
  • i_gyro_cov: 0.0 <float> - 陀螺仪协方差
  • i_gyro_freq: 400 <int> - 陀螺仪频率
  • i_mag_cov: 0.0 <float> - 磁力计协方差
  • i_mag_freq: 100 <int> - 磁力计频率
  • i_max_batch_reports: 10 <int> - 每批最大报告数
  • i_message_type: IMU <string> - ROS 发布器类型:
    • IMU - sensor_msgs/Imu
    • IMU_WITH_MAG - depthai_ros_msgs/ImuWithMagneticField
    • IMU_WITH_MAG_SPLIT - 两个发布器 - sensor_msgs/Imu 和 sensor_msgs/MagneticField
  • i_rot_cov: -1.0 <float> - 旋转协方差
  • i_rot_freq: 400 <int> - 旋转频率
  • i_sync_method: COPY <string> - 同步方法。可用选项(警告:目前 RVC4 设备仅支持 COPY):
    • COPY
    • LINEAR_INTERPOLATE_GYRO
    • LINEAR_INTERPOLATE_ACCEL
  • i_rotation_vector_type <string> - 旋转向量类型,更多信息请参考此链接。可用选项:
    • ROTATION_VECTOR
    • GAME_ROTATION_VECTOR
    • GEOMAGNETIC_ROTATION_VECTOR
    • ARVR_STABILIZED_ROTATION_VECTOR
    • ARVR_STABILIZED_GAME_ROTATION_VECTOR
  • i_update_ros_base_time_on_ros_msg: false <bool> - 如果系统出现时间偏移(例如系统时钟由外部控制的情况),请启用此选项
  • i_get_base_device_timestamp: false <bool> - 控制获取的 DAI 时间戳是否与主机同步(时间戳本身仍对齐到 ROS 时间)

神经网络

在大多数流水线类型中,都可以轻松启用神经网络。
  • camera.i_nn_type 可以是 none(无 NN)、rgbspatial。这决定了加载的 NN 是否也应接收深度信息(例如提供 3D 格式的检测结果)。默认设置为 spatial

参数

  • i_nn_family: detection <string> - 设置我们想要使用的神经网络类型。目前可用选项有:
    • detection
    • segmentation(目前仅限 RVC2)
  • i_nn_model: yolov6-nano <string> - 选择要加载的模型,驱动程序启动时会自动从网络下载模型,类似于 DepthAI C++/Python 示例。
  • i_nn_confidence_threshold: 0.5 <float> - 神经网络置信度阈值
  • i_nn_depth_lower_threshold: 100 <int> -(仅限空间检测)检测的下限深度阈值(单位:毫米)
  • i_nn_depth_upper_threshold: 10000 <int> -(仅限空间检测)检测的上限深度阈值(单位:毫米)
  • i_enable_passthrough: false <bool> - 是否发布 RGB 直通图像
  • i_enable_passthrough_depth: false <bool> - 是否发布深度直通图像
  • i_update_ros_base_time_on_ros_msg: false <bool> - 如果您的系统出现时间偏移(例如系统时钟受外部控制的情况),请启用此选项
  • i_get_base_device_timestamp: false <bool> - 控制从数据获取的 DAI 时间戳是否与主机同步(时间戳本身仍与 ROS 时间对齐)
  • i_bounding_box_scale_factor: 0.5 <float> <0.0-1.0> - 检测的边界框缩放因子
  • i_max_q_size: 8 <int> - 设置 DAI 队列大小
您也可以选择在特定传感器上运行神经网络,只需将 sensor_name.i_enable_nn 设置为 true。之后,可以类似地将 sensor_name_nn.i_nn_model 设置为配置文件的路径。您还可以为立体节点设置空间神经网络,并使用其左/右流之一作为 RGB 输入。这可以在带有 RGB 侧面传感器的相机上启用,例如 OAK-D-SR 和 OAK-D-LR。设置方式类似:
  • stereo.i_enable_left_spatial_nn - 设置为 true 以启用以左传感器作为输入的空间神经网络

同步

目前,您可以使用同步节点包装器同步任意数量的图像主题。要创建同步节点,请设置 pipeline_gen: i_enable_sync: true,并例如设置 rgb.i_synced: truestereo.i_synced: true。使用 pointcloud.enable:=true 参数运行 driver.launch.py 时,将应用此示例配置。

参数

  • i_sync_threshold: 10 <int> - 设置组内消息之间的最大间隔(单位:毫秒)。
  • i_sync_attempts: 10 <int> - 同步尝试次数

ToF

ToF 节点在 ToF、RgbTof、StereoToF 和 DepthTof 流水线中可用。其参数与常规相机节点类似。

参数

  • i_publish_topic: true <bool> - 是否发布主题
  • i_max_q_size: 8 <int> - 设置 DAI 队列大小
  • i_low_bandwidth: false <bool> - 请参考 Sensor 节点中的参数描述。注意:此参数与 i_subpixel 参数不兼容。
  • i_low_bandwidth_profile: 4 <int> - 使用的编码器类型。可用类型如下:
    • H264_BASELINE,
    • H264_HIGH,
    • H264_MAIN,
    • H265_MAIN,
    • MJPEG(默认)
  • i_low_bandwidth_frame_freq: 30 <int> - 编码器的帧频率,用于 H26X 类型
  • i_low_bandwidth_bitrate: 0 <int> - 编码器的比特率,用于 H26X 类型
  • i_low_bandwidth_quality: 50 <int> - MJPEG 编码器的质量
  • i_get_base_device_timestamp: false <bool> - 控制从数据获取的 DAI 时间戳是否与主机同步(时间戳本身仍与 ROS 时间对齐)
  • i_calibration_file: "" <string> - 用于使用 ROS 校准覆盖 DAI 校准
  • i_update_ros_base_time_on_ros_msg: false <bool> - 如果您的系统出现时间偏移(例如系统时钟受外部控制的情况),请启用此选项
  • i_enable_lazy_publisher: true <bool> - 是否仅当在图像/相机信息主题上检测到订阅时才发布数据
  • i_publish_compressed: false <bool> - 是否发布压缩图像
  • i_update_ros_base_time_on_ros_msg: false <bool> - 如果您的系统出现时间偏移(例如系统时钟受外部控制的情况),请启用此选项
  • i_get_base_device_timestamp: false <bool> - 控制从数据获取的 DAI 时间戳是否与主机同步(时间戳本身仍与 ROS 时间对齐)
  • i_add_exposure_offset: false <bool> - 是否向 ROS 时间戳添加曝光偏移
  • i_exposure_offset: 0 <int> - 曝光偏移类型:
    • START
    • MIDDLE
    • END
  • i_width: 640 <int> - 图像宽度
  • i_height: 400 <int> - 图像高度
  • i_fps: 30 <int> - 图像帧率
  • i_aligned :false <bool> - 是否将图像对齐到其他传感器
  • i_aligned_socket_id: "" <string> - 图像对齐到的套接字
  • i_run_align_on_host: true <bool> - 是否在主机上运行对齐节点(仅适用于 RVC4)
  • i_synced: :false <bool> - 是否将输出添加到同步输出组,所有同步的发布者将发布具有相同时间戳的图像
  • i_preset_mode: TOF_MID_RANGE <string> - 图像滤波的预设模式

热成像

热成像相机的工作方式与相机节点类似,并提供一些额外的运行时参数可设置。

参数

  • i_publish_topic: true <bool> - 是否发布主题
  • i_max_q_size: 8 <int> - 设置 DAI 队列大小
  • i_low_bandwidth: false <bool> - 请参考 Sensor 节点中的参数描述。注意:此参数与 i_subpixel 参数不兼容。
  • i_low_bandwidth_profile: 4 <int> - 使用的编码器类型。可选类型如下:
    • H264_BASELINE
    • H264_HIGH
    • H264_MAIN
    • H265_MAIN
    • MJPEG(默认)
  • i_low_bandwidth_frame_freq: 30 <int> - 编码器的帧频率,用于 H26X 类型
  • i_low_bandwidth_bitrate: 0 <int> - 编码器的比特率,用于 H26X 类型
  • i_low_bandwidth_quality: 50 <int> - MJPEG 编码器的质量
  • i_get_base_device_timestamp: false <bool> - 控制获取的数据的 DAI 时间戳是否同步到主机(时间戳本身仍对齐到 ROS 时间)
  • i_calibration_file: "" <string> - 用于用 ROS 标定覆盖 DAI 标定
  • i_update_ros_base_time_on_ros_msg: false <bool> - 如果系统中出现时间偏移(例如系统时钟受外部控制的情况),请启用此参数
  • i_enable_lazy_publisher: true <bool> - 是否仅在检测到图像/camera_info 主题有订阅时才发布数据
  • i_publish_compressed: false <bool> - 是否发布压缩图像
  • i_add_exposure_offset: false <bool> - 是否在 ROS 时间戳中添加曝光偏移
  • i_exposure_offset: 0 <int> - 曝光偏移类型:
    • START
    • MIDDLE
    • END
  • i_width: 640 <int> - 图像宽度
  • i_height: 400 <int> - 图像高度
  • i_fps: 30.0 <float> - 图像帧率
  • i_aligned: false <bool> - 是否将图像对齐到其他传感器
  • i_aligned_socket_id: "" <string> - 要对齐到的传感器插槽
  • i_run_align_on_host: true <bool> - 是否在主机上运行对齐节点(仅适用于 RVC4)
  • i_synced: false <bool> - 是否将输出添加到同步输出组,所有同步的发布者将发布具有相同时间戳的图像
  • i_orientation: NORMAL <string> - 图像方向。可用选项:
    • NORMAL
    • MIRROR
    • FLIP
    • MIRROR_FLIP
  • r_auto_ffc: false <bool> - 自动平场校正。控制快门是否由传感器模块自动控制。
  • r_close_manual_shutter: false <bool> - 设置为 True/False 可在禁用 autoFFC 时关闭/打开快门。
  • r_brightness_level: 0 <int> <0-255> - 图像亮度级别。
  • r_time_noise_filter_level: 0 <int> <0-3> - 时间噪声滤波级别。滤除随时间出现的噪声。

RGBD

RGBD 节点可通过启用 pipeline_gen.i_enable_rgbd 参数,或在 Stereo 节点中设置 i_enable_left/right_rgbd,在某些流水线中开启。

参数

  • i_publish_topic: true <bool> - 是否发布主题
  • i_max_q_size: 2 <int> - 设置 DAI 队列大小
  • i_update_ros_base_time_on_ros_msg: false <bool> - 如果系统中出现时间偏移(例如系统时钟受外部控制的情况),请启用此参数
  • i_get_base_device_timestamp: false <bool> - 控制获取的数据的 DAI 时间戳是否同步到主机(时间戳本身仍对齐到 ROS 时间)
  • i_num_threads: 1 <int> - RGBD 节点使用的线程数
  • i_run_sync_on_host: true <bool> - 是否在主机上同步消息
  • i_run_align_on_host: true <bool> - 是否在主机上运行对齐节点(仅适用于 RVC4)

VIO

VIO 节点可通过启用 pipeline_gen.i_enable_vio 参数,在某些流水线中开启。

参数

  • i_publish_topic: true <bool> - 是否发布主题
  • i_max_q_size: 2 <int> - 设置 DAI 队列大小
  • i_update_ros_base_time_on_ros_msg: false <bool> - 如果系统中出现时间偏移(例如系统时钟受外部控制的情况),请启用此参数
  • i_get_base_device_timestamp: false <bool> - 控制获取的数据的 DAI 时间戳是否同步到主机(时间戳本身仍对齐到 ROS 时间)
  • i_run_sync_on_host: true <bool> - 是否在主机上同步消息
  • i_imu_update_rate: 400 <int> - IMU 消息更新速率
  • i_width: 640 <int> - 图像宽度
  • i_height: 400 <int> - 图像高度
  • i_fps: 60.0 <float> - 图像帧率
  • i_config_path: 'depthai_ros_driver_default.json' <string> - 使用的 config.json 的完整路径;当使用默认值时,将使用 depthai_ros_driver/config/custom 中的配置
  • i_override_local_transform: false <bool> - 是否覆盖局部变换,启用后可以设置以下参数:
    • i_local_transform_x: 0.0 <float> - X 位置
    • i_local_transform_y: 0.0 <float> - Y 位置
    • i_local_transform_z: 0.0 <float> - Z 位置
    • i_local_transform_qx: 0.0 <float> - 四元数的 X 分量
    • i_local_transform_qy: 0.0 <float> - 四元数的 Y 分量
    • i_local_transform_qz: 0.0 <float> - 四元数的 Z 分量
    • i_local_transform_qw: 0.0 <float> - 四元数的 w 分量
  • i_override_imu_extrinsics: false <bool> - 是否用其他值覆盖 IMU 外参:
    • i_imu_extr_x: 0.0 <float> - X 位置
    • i_imu_extr_y: 0.0 <float> - Y 位置
    • i_imu_extr_z: 0.0 <float> - Z 位置
    • i_imu_extr_qx: 0.0 <float> - 四元数的 X 分量
    • i_imu_extr_qy: 0.0 <float> - 四元数的 Y 分量
    • i_imu_extr_qz: 0.0 <float> - 四元数的 Z 分量
    • i_imu_extr_qw: 0.0 <float> - 四元数的 w 分量
  • i_set_acc_bias: false <bool> - 覆盖默认加速度计偏置
  • i_accel_bias: 9x0.0 <vector<double>> - 加速度计偏置
  • i_set_acc_noise_std: false <bool> - 覆盖加速度计的标准噪声
  • i_acc_noise_std: 3x0.0 <vector<double>> - 加速度计标准噪声
  • i_set_gyro_bias: false <bool> - 覆盖默认陀螺仪偏置
  • i_gyro_bias: 9x0.0 <vector<double>> - 陀螺仪偏置
  • i_set_gyro_noise_std: false <bool> - 覆盖陀螺仪的标准噪声
  • i_gyro_noise_std: 3x0.0 <vector<double>> - 陀螺仪标准噪声
  • i_publish_tf: true <bool> - 是否也发布 TF 坐标系
  • i_frame_id: odom <string> - 消息的坐标系 ID
  • i_child_frame_id: oak_parent_frame <string> - 子坐标系 ID
  • i_covariance: 36x0.0 <vector<double>> - 消息的协方差