文章目录

前言

6.3.1 概述

6.3.2 自动任务类型

6.3.3 创建合成图像


前言

本文介绍 ArduPilot 的相机和云台命令,并说明如何在 Mission Planner 中使用这些命令来定义相机勘测任务。这些说明假定已经连接并配置了相机触发器和云台(camera trigger and gimbal have already been connected and configured)。


6.3.1 概述

规划摄像任务与规划其他任何带有航点和事件(planning any other mission with waypoints and events)的任务几乎完全相同。唯一不同的是,在摄像任务中,你可以指定在航点或飞行器移动过程中的固定时间间隔触发相机快门的命令。如果摄像机安装在云台上,你还可以设置云台方向,或让它跟踪某个特定的兴趣点。

对于简单的任务,你可以手动指定所需的航点和相机指令。对于更复杂的路径和网格勘测,Mission Planner 提供的工具可为任意区域自动生成所需的任务,从而简化了操作。

相机命令

  • DO_SET_CAM_TRIGG_DIST — 定时触发相机快门。这最常用于辅助区域勘测;
  • DO_DIGICAM_CONTROL — 每次调用此命令时触发一次相机快门;
  • DO_AUX_FUNCTION —它允许在任务中执行任何辅助功能(auxiliary function),而无需设置辅助开关。这包括摄像机开始录制、摄像机变焦、摄像机手动对焦和摄像机自动对焦。

相机云台命令

如果使用的是相机云台,则可以设置相机位置(偏航、倾斜、横滚)或将其对准特定的感兴趣区域(ROI):

  • DO_SET_ROI — 将摄像机瞄准指定的感兴趣区域(位置,包括高度);
  • DO_GIMBAL_MANAGER_PITCHYAW — 将云台移动到所需的俯仰角和偏航角(单位:度)。正俯仰角为向上,负俯仰角为向下。正偏航角为顺时针,负偏航角为逆时针。如果"Flags"字段为"0",则偏航角度为"机身框架"角度(例如 0 表示向前)。如果"Flags"字段为"16",则偏航角为"地球框架"(例如 0 为正北);
  • DO_MOUNT_CONTROL — 以指定的横滚、俯仰和偏航定位云台。

伺服和继电器命令

舵机和继电器输出可连接到硬件,并在执行任务时分别使用 DO_SET_SERVO 或 DO_SET_RELAY 命令激活。

这些输出的一个可能用途是控制快门以外的相机功能(例如,设置变焦级别或将拍摄从静态切换到视频)。

Note

将舵机或继电器连接到摄像机的方法以及可访问的功能取决于摄像机及其支持的遥控装置(请参阅摄像机和云台 wiki 页面的摄像机控制和地理标记部分)(Camera Control and GeoTagging section of the Cameras and Gimbals wiki page)。

6.3.2 自动任务类型

Mission Planner 支持以下自动航点选项。要访问这些选项,请打开"飞行计划"屏幕,右键单击地图,然后从"自动航点"菜单下选择选项:

  • Create WP Circle — 创建一个航点圈;
  • Area — 显示当前多边形的面积(如果已定义);
  • Create Spline Circle — 一个圆圈,其中航点的高度遵循一条上升斜线(与飞行器有关);
  • Survey (Grid) — 自动创建航点和相机控制指令,勘测指定的多边形;
  • Survey (Gridv2) — 正在建设中!这是一个更简单的网格控件,用于创建矩形测量区域;
  • SimpleGrid — 一个简单的自动创建的测量网格。未定义相机控制,因此必须单独添加。

以下部分包括社区提供的自动勘测任务示例。

Survey (Grid) Example

Mission Planner 的勘测(网格)选项可自动定义覆盖任意多边形所需的航点,并在相关航点上设置 DO_SET_CAM_TRIGG_DIST,以确保在飞行器路径上以固定间隔捕获图片。

  • 打开"飞行计划"选项卡;
  • 右键点击地图,选择绘制多边形 | 添加多边形点。在要拍摄的区域周围创建点;
  • 右键点击地图,选择自动 WP | 勘测(网格):

  • 然后,Mission Planner 将显示一个配置屏幕,你可以在此定义摄像机的品牌/型号和其他参数,包括你想要的图片重叠度、镜头尺寸等。DO_SET_CAM_TRIGG_DIST 会根据这些信息自动计算!

点击"接受"后,Mission Planner 将生成一份航点列表,其中包括指定区域内的起飞和着陆航点。调用 DO_SET_CAM_TRIGG_DIST 命令可设置任务期间两次相机触发之间的距离(以米为单位)。任务结束时,DO_SET_CAM_TRIGG_DIST 会被再次调用,将参数设置回零(停止捕捉图像)。

带有航点和摄像机触发器的最终任务看起来是这样的:

运行了上图所示的测试任务。它生成了 15 幅图像,并将其拼接在一起。下面是合成图像的缩略图(因为全尺寸图像太大,约 107MB)。

6.3.3 创建合成图像

有许多制作合成图像的免费和付费工具:

  • Pix4Dmapper — 免费的"探索"版本支持图像合并;
  • Microsoft 图像合成编辑器(ICE)(Microsoft Image Composite Editor (ICE))。

(6)(6.3) 自动任务中的相机控制相关推荐

  1. 详解 | 自动泊车中鱼眼相机实现车位线感知

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达文章导读 本文是一篇介绍鱼眼相机做车位线检测的文章,放眼当下泊车功能 ...

  2. SIGGRAPH 2020 | 基于样例的虚拟摄影和相机控制

    编者按 生命在于运"动",场景在于"动"态,摄影在于相机移"动"."动"是常态,也是图形生成.理解与呈现的核心研究对象. ...

  3. 【LCC系列】自动驾驶中激光雷达和相机的自动在线标定(2013)

    文章目录 1 动机 2 方法 2.1 提取图像边缘 2.2 提取点云深度不连续 2.3 目标函数 2.4 检测标定误差 2.5 自动在线标定 3 实验 3.1 在线检测标定误差 3.2 在线纠正标定误 ...

  4. 自动驾驶中实时车道检测和警报

    作者 | 小白 来源 | 小白学视觉 未来十年,自动驾驶将彻底改变人们的出行方式. 目前,自动驾驶应用程序目前正在测试各种案例,包括客车.机器人出租车自.动商业运输卡车.智能叉车以及用于农业的自动拖拉 ...

  5. 自动驾驶中的车道线跟踪技术

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:AI算法与图像处理 本文讨论的重点跟踪算法如何应用在车道 ...

  6. 计算机视觉方向简介 | 自动驾驶中的车道线跟踪技术

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|人工智能与算法学习 本文讨论的重点跟踪算法如何应用在车道线 ...

  7. 综述|寻找自动驾驶中的关键场景

    作者丨黄浴@知乎 来源丨https://zhuanlan.zhihu.com/p/426572273 编辑丨3D视觉工坊 arXiv在2021年10月16日上传论文"Finding Crit ...

  8. 自动驾驶中可解释AI综述和未来研究方向

    作者丨黄浴@知乎 来源丨https://zhuanlan.zhihu.com/p/453146210 编辑丨3D视觉工坊 arXiv上2021年12月21日上传的自动驾驶可解释AI的综述:" ...

  9. 自动驾驶中的9种传感器融合算法

    来源丨AI 修炼之路 在自动驾驶汽车中,传感器融合是融合来自多个传感器数据的过程.该步骤在机器人技术中是强制性的,因为它提供了更高的可靠性.冗余性以及最终的安全性. 为了更好地理解,让我们考虑一个简单 ...

  10. 自动驾驶中,激光雷达点云如何做特征表达

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 激光雷达在自动驾驶系统中起着关键作用.利用它,可以准确地对车辆所处环境做3D建模,如高精度地图:也可以 ...

最新文章

  1. PPT讲解机器人产业发展现状与未来展望,重磅资料
  2. 字符指针+结构体排序(后缀子串排序)
  3. [scrum]2011/9/24-----第四天
  4. tableau linux无网络安装_四十二、Linux网络管理,软件安装,进程管理总结
  5. 【APIO2010】巡逻
  6. http://jingyan.baidu.com/article/2009576193ee38cb0721b416.html
  7. 基于16QAM调制的OFDM系统仿真实现(MATLAB)
  8. We7CMS内容管理系统助阵政府完善信息公开制度
  9. win10安装序列号
  10. 设置局域网内共享磁盘
  11. 1.4树莓派SSH远程登录
  12. python模拟鼠标和键盘
  13. ps2017 cc 打印排版一寸照片
  14. 启动VMware虚拟机显示:物理内存不足无法使用
  15. c语言程序考试试题,C语言程序设计期末考试试题(含答案)
  16. java之枚举类型enum
  17. ZooKeeper命令行
  18. CAD版本转换知识大全
  19. 使用自然语言处工具HanLP获取人名
  20. Python实现超简单【抖音】无水印视频批量下载

热门文章

  1. 环球80天启程 见证美丽享受生活
  2. @Transactional注解在类上还是接口上使用,哪种方式更好?
  3. 使用 sizeof()返回时出现警告warning:format ‘%d‘ expects argument of type ‘int‘ . but argument 2 has type long
  4. js 查找数组重复元素方法
  5. php laravel javascript表单验证,Laravel 验证表单数组
  6. LSF0108PWR设备信息
  7. 【机器学习百问】12.自助验证中,当n趋于无穷大时,验证集最大能到多少?
  8. 清华大学操作系统公开课(十一)文件系统
  9. JAVA字符串简单处理--substring,replace,split
  10. 哪个学校计算机每年招不满,211院校有每年考研招不满的情况吗?