相机触发器

相机触发驱动器允许使用 AUX 端口发送脉冲以触发相机。这可用于多种应用,包括为航测和重建照片添加时间戳、同步多摄像头系统或视觉惯性导航。

除了发出脉冲外,还会发布一条 MAVLink 消息,其中包含一个序列号(即当前会话的图像序列号)和相应的时间戳。

触发器配置

摄像机触发通常通过 QGroundControl 载具设置 > 摄像头 节。

触发器引脚

不同的 触发模式, 后端接口硬件设置 如下所述(也可直接从 参数).

基于 FMUv2 的飞行控制器(如 3DR Pixhawk)默认不提供相机设置部分,因为固件中不会自动包含相机模块。更多信息请参阅 查找/更新参数> 固件中没有的参数.

触发模式

支持四种不同的模式,由 TRIG_MODE 参数:

模式 说明
0 摄像机触发已禁用。
1 工作原理与基本间隔计类似,可通过 MAVLink 命令启用或禁用 mav_cmd_doo_trigger_control.湖泊 命令接口 了解更多详情。
2 持续打开间隔计。
3 根据距离触发。每当超过设定的水平距离,就会进行一次拍摄。不过,两次拍摄之间的最小时间间隔受限于设定的触发间隔。
4 在任务模式下飞行勘测时自动触发。

如果您是第一次启用相机触发器应用程序,请记住在更改 TRIG_MODE 参数。

触发器硬件配置

您可以使用 触发引脚 参数。默认值为 56,表示在下列情况下启用触发功能 FMU 引脚 5 和 6。

在配有 FMU 和 I/O 板的 Pixhawk 飞行控制器上,这些 FMU 引脚映射到 AUX5AUX6 (例如 Pixhawk 4、CUAV v5+)。在只有 FMU 的控制器上,引脚映射到 MAIN5MAIN6 (例如 Pixhawk 4 mini、CUAV v5 nano)。在撰写本文时,触发功能仅适用于 FMU 引脚 - 您无法使用 I/O 板上的引脚触发相机。

触发引脚 设置为其 默认 值为 56 时,您可以将 AUX 引脚 1、2、3 和 4 用作执行器输出(用于伺服/ESC)。由于硬件定时器的处理方式(1234 和 56 是由 2 个定时器处理的 2 个不同组),这是唯一可以同时使用摄像机触发器和 FMU 执行器输出的组合。 的默认值。 触发引脚 如果需要执行器输出。

触发器接口后端

摄像机触发器驱动程序支持多个后端,每个后端用于特定的应用,由 TRIG_INTERFACE 参数:

数量 说明
1 启用 GPIO 接口。AUX 输出脉冲为高电平或低电平(取决于 GPIO 接口。 TRIG_POLARITY 参数)每 TRIG_INTERVAL 持续时间这可用于直接触发大多数标准机器视觉相机。请注意,在 PX4FMU 系列硬件(Pixhawk、Pixracer 等)上,AUX 引脚上的信号电平为 3.3v。
2 启用 Seagull MAP2 接口。这样就可以使用 海鸥地图2 以连接多种支持的摄像头。MAP2 的 1 号针脚应连接到 MAP2 的下 AUX 针脚。 触发引脚 (因此,默认情况下针脚 1 连接 AUX 5,针脚 2 连接 AUX 6)。在这种模式下,PX4 还支持索尼多端口摄像机(如 QX-1)的自动电源控制和保持连接功能。
3 启用 MAVLink 接口。在该模式下,不使用实际硬件输出。只有 摄像机触发器 自动驾驶仪会发送 MAVLink 信息(默认情况下,如果 MAVLink 应用程序处于 机载 模式。否则,需要启用自定义流)。
4 启用通用 PWM 接口。这样就可以使用 红外线触发器 或伺服系统来触发相机。

其他参数

参数 说明
TRIG_POLARITY 仅与使用 GPIO 接口时相关。设置触发引脚的极性。高电平有效表示引脚在正常情况下为低电平,触发事件时为高电平。低电平有效则反之。
TRIG_INTERVAL 以毫秒为单位定义两个连续触发事件之间的时间。
TRIG_ACT_TIME 以毫秒为单位定义触发引脚在返回中性之前保持激活状态的时间。在 PWM 模式中,最小时间限制为 40 毫秒,以确保在 50Hz PWM 信号中始终保持激活脉冲。

有关摄像机触发器模块参数的完整列表可在 参数参考 page.

命令界面

TODO : 需要更新 更新

相机触发器驱动程序支持多种命令:

mav_cmd_doo_trigger_control - 在命令控制模式下接受 (TRIG_MODE 1).

命令参数 说明
参数 1 触发器启用/禁用(设置为 0 表示禁用,1 表示启动)
参数 #2 以毫秒为单位的触发周期时间(设置 TRIG_INTERVAL 参数)。
参数 #3 序列重置(设为 1 时重置图像序列号,设为 0 时保持当前序列号)

mav_cmd_doo_digicam_control - 在所有模式下均可接受。GCS 使用它从用户界面对摄像机进行试拍。触发器驱动程序尚不支持 MAVLink 规范定义的所有摄像机控制参数。

命令参数 说明
参数 #5 触发单帧命令(设为 1 时触发单帧图像)。

mav_cmd_doo_set_cam_trigg_dist - 在 "任务受控 "模式下接受 (TRIG_MODE 4)

该命令在执行任务期间自动生成,以根据全球卫星定位系统的勘测任务触发照相机。

测试触发器功能

  1. 在 PX4 控制台上:
    摄像机触发器测试
    
  2. 来自 QGroundControl:

    点击 触发相机 在主仪表板上。这些镜头不会被记录或计入地理标记。

    QGC 测试相机

索尼 QX-1 示例(摄影测量)

摄影测量

在本示例中,我们将使用海鸥 MAP2 触发器电缆连接索尼 QX-1,并在执行完全自主的勘测任务后使用该设置创建正射影像图。

触发器设置

建议的相机设置为

  • trig_interfac=2 (海鸥 MAP2)。
  • TRIG_MODE=4 (任务受控)。
  • 其余参数保持默认值。

您需要将 Seagull MAP2 连接到自动驾驶仪上的辅助/FMU 引脚。针脚 1 连接到 辅助 5针脚 2 至 辅助 6.MAP2 电缆的另一端将接入 QX-1 的多端口。

摄像机配置

在这个例子中,我们使用的是配备 16-50mm f3.5-5.6 镜头的索尼 QX-1。

为避免触发相机时出现自动对焦和测光延迟,应遵循以下指导原则:

  • 手动对焦至无限远
  • 将相机设置为连拍模式
  • 手动设置曝光和光圈
  • ISO 设置应尽可能低
  • 适合场景的手动白平衡

任务规划

QGC 勘测多边形

QGC 调查参数

地理标记

下载/复制飞行日志文件和图像,并将 QGroundControl 指向它们。然后点击 "开始标记"。

QGC 地理标记

您可以使用免费在线服务(如 Pic2Map.请注意,Pic2Map 仅限于 40 幅图像。

重建

我们使用 Pix4D 进行三轴重建。

地理标签

摄像机-IMU 同步示例(VIO)

在本示例中,我们将介绍将 IMU 测量与视觉数据同步,以建立立体视觉惯性导航系统 (VINS) 的基本原理。需要明确的是,这里的想法并不是要在我们拍照的同时进行 IMU 测量,而是要对我们的图像进行正确的时间标记,以便为我们的 VIO 算法提供准确的数据。

自动驾驶仪和飞行伴侣的时钟基准不同(自动驾驶仪为启动时间,飞行伴侣为 UNIX 时间),因此我们不对任一时钟进行倾斜,而是直接观察时钟之间的时间偏移。这个偏移量会从 MAVLink 信息中的时间戳(例如 HIGHRES_IMU)中的跨中间件翻译组件(如 MAVROS 的配套组件和 接收器 在 PX4 中)。实际的同步算法是网络时间协议(NTP)算法的改进版,使用指数移动平均来平滑跟踪的时间偏移。如果 MAVROS 使用高带宽机载链路(MAVLink 模式),则会自动进行同步。 机载).

为了获取同步图像帧和惯性测量值,我们将两台相机的触发输入连接到自动驾驶仪的 GPIO 引脚上。从曝光开始的惯性测量时间戳和图像序列号会被记录下来,并发送到配套的计算机上("GPIO")。摄像机触发器 消息),它将缓冲这些数据包和从摄像机获取的图像帧。匹配的依据是序列号(第一个图像帧为序列 0)、图像的时间戳(时间戳来自于 摄像机触发器 信息),然后发布。

下图说明了为正确给图像加上时间戳而必须发生的一系列事件。

序列图

步骤 1

首先,将 TRIG_MODE 设置为 1,使驱动程序等待启动命令,然后重启 FCU 以获取其余参数。

步骤 2

在本示例中,我们将配置触发器与以 30 FPS 运行的 Point Grey Firefly MV 摄像机配合使用。

  • TRIG_INTERVAL:33.33 毫秒
  • TRIG_POLARITY:0(低电平有效)
  • TRIG_ACT_TIME:0.5 毫秒。手册中规定至少为 1 微秒。
  • TRIG_MODE:1,因为我们希望相机驱动程序在开始触发前就做好接收图像的准备。这对于正确处理序列号至关重要。
  • 触发引脚:56,保持默认值。

步骤 3

通过将接地和信号引脚连接到适当位置,将摄像头连接到 AUX 端口。

步骤 4

您必须按照上述序列图修改驱动程序。的公共参考实现 IDS 成像 UEye 照相机和 符合 IEEE1394 标准 可提供照相机。

© PX4 开发团队。许可证 CC BY 4.0            已更新:2024-02-13 22:49:01

与" "匹配的结果"

    没有与""匹配的结果"