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

文章目录

前言

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 图像合成编辑器(ICEMicrosoft Image Composite Editor (ICE))。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/50855.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ArcGIS API开发介绍

本来想自己总结写一下的,但是发现有个网站总结的特别好。所以直接给大家分享一下地址: 起步 - Start | ArcGis中文网 当然系统性的学习和使用还的看官网文档Quick Links | API Reference | ArcGIS Maps SDK for JavaScript 4.27 | ArcGIS Developers …

STM32CubeMX配置STM32G0 Standby模式停止IWDG(HAL库开发)

1.打开STM32CubeMX选择好对应的芯片,打开IWDG 2.打开串口1进行调试 3.配置好时钟 4.写好项目名称,选好开发环境,最后获取代码。 5.打开工程,点击魔术棒,勾选Use Micro LIB 6.修改main.c #include "main.h"…

Hive(一)

一、DDL 1、数据库操作 1)、创建数据库 语法: CREATE DATABASE [IF NOT EXISTS] database_name [COMMENT database_comment] [LOCATION hdfs_path] [WITH DBPROPERTIES (property_nameproperty_value, ...)]; 案例: (1&…

OpenGL —— 2.5、绘制第一个三角形(附源码,glfw+glad)(更新:纹理贴图)

源码效果 C源码 纹理图片 需下载stb_image.h这个解码图片的库,该库只有一个头文件。 具体代码: vertexShader.glsl #version 330 corelayout(location 0) in vec3 aPos; layout(location 1) in vec3 aColor; layout(location 2) in vec2 aUV;out ve…

【Linux】socket编程(二)

目录 前言 TCP通信流程 TCP通信的代码实现 tcp_server.hpp编写 tcp_server.cc服务端的编写 tcp_client.cc客户端的编写 整体代码 前言 上一章我们主要讲解了UDP之间的通信,本章我们将来讲述如何使用TCP来进行网络间通信,主要是使用socket API进…

【ElasticSearch】一键安装ElasticSearch与Kibana以及解决遇到的问题

目录 一、安装ES 二、安装Kibana 三、遇到的问题 一、安装ES 按顺序复制即可 docker network create es-net # 创建网络 docker pull images:7.12.1 # 拉取镜像 mkdir -p /root/es/data # 创建数据卷 mkdir -p /root/es/plugins # 创建数据卷 chmod 777 /root/es/** # 设置权…

yolo笔记

目录 输入端Mosaic数据增强数据增强Copy-paste数据增强- MixUp数据增强- Albumentations数据增强- Augment HSV (Hue, Saturation, Value)色度、饱和度、浓度数据增强- Random horizontal flip自适应锚框计算自适应图片缩放 BackboneFocus结构CSP结构CSP结构Neck 损失函数IOU_L…

GitHub的PUSH显示网络超时,小乌龟网络代理办法

前言 (1)我能够正常访问GitHub,但是每次将代码提交到GitHub常常显示网络超时。这是因为提交是走的国内的网络,对GitHub访问会被进行限速。 (2)为了让小乌龟也拥有魔法,我们可以使用代理工具。注…

[golang gin框架] 46.Gin商城项目-微服务实战之后台Rbac客户端调用微服务权限验证以及Rbac微服务数据库抽离

一. 根据用户的权限动态显示左侧菜单微服务 1.引入 后台Rbac客户端调用微服务权限验证功能主要是: 登录后显示用户名称、根据用户的权限动态显示左侧菜单,判断当前登录用户的权限 、没有权限访问则拒绝,参考[golang gin框架] 14.Gin 商城项目-RBAC管理,该微服务功能和上一节[g…

快速指南:使用Termux SFTP通过远程进行文件传输——”cpolar内网穿透“

文章目录 1. 安装openSSH2. 安装cpolar3. 远程SFTP连接配置4. 远程SFTP访问4. 配置固定远程连接地址 SFTP(SSH File Transfer Protocol)是一种基于SSH(Secure Shell)安全协议的文件传输协议。与FTP协议相比,SFTP使用了…

IDEA创建Spring,Maven项目没有resources文件夹

有时新建Spring或Maven项目时,会出现目录中main下无resources文件夹的情况,来一起解决一下: FIles|Project Structure 在Modules模块找到对应路径,在main下创建resources,右键main,选择新文件夹 输入文件…

【Spring】一次性打包学透 Spring | 阿Q送书第五期

文章目录 如何竭尽可能确保大家学透Spring1. 内容全面且细致2. 主题实用且本土化3. 案例系统且完善4. 知识有趣且深刻 关于作者丁雪丰业内专家推图书热卖留言提前获赠书 不知从何时开始,Spring 这个词开始频繁地出现在 Java 服务端开发者的日常工作中,很…

js判断用户当前网络状态和判断网速

前端判断用户当前网络状态和判断网速 一、第一种是通过 HTML5 提供的 navigator 去检测网络(1)、原理介绍:(2)、兼容性 二、监听window.ononline和window.onoffline事件:三、通过ajax进行请求判断(兼容性好-推荐)(1)、原理介绍:(2)、注意: 四、navigator.connection方法监听网络…

使用本地电脑搭建可以远程访问的SFTP服务器

文章目录 1. 搭建SFTP服务器1.1 下载 freesshd 服务器软件1.3 启动SFTP服务1.4 添加用户1.5 保存所有配置 2. 安装SFTP客户端FileZilla测试2.1 配置一个本地SFTP站点2.2 内网连接测试成功 3. 使用cpolar内网穿透3.1 创建SFTP隧道3.2 查看在线隧道列表 4. 使用SFTP客户端&#x…

小程序定位到 胶囊的三个点大概中间

话不多说,先上效果图 这个功能实现思路: 首先先拿到这一张整图(快捷,精确)然后获取整个导航栏高度(自定义导航栏,非自定义导航栏忽略这一步)获取三个点的做偏移量,把高度和偏移量给到一个定位到盒子,这个盒子里就放这个图片&…

【C语言】扫雷游戏(可展开)——超细教学

🚩纸上得来终觉浅, 绝知此事要躬行。 🌟主页:June-Frost 🚀专栏:C语言 🔥该篇将运用数组来实现 扫雷游戏。 目录: 🌟思路框架测试游戏 🌟测试部分函数实现&am…

【0824作业】C++ 拷贝赋值函数、匿名对象、友元、常成员函数和常对象、运算符重载

一、思维导图 二、作业&#xff1a;实现关系运算符的重载 关系运算符重载 概念&#xff1a; 种类&#xff1a;>、>、< 、< 、 、!表达式&#xff1a;L#R (L表示左操作数&#xff0c;R表示有操作数&#xff0c;#表示运算符)左操作数&#xff1a;既可以是左值也可以…

tcl学习之路(五)(Vivado时序约束)

1.主时钟约束 主时钟通常是FPGA器件外部的板机时钟或FPGA的高速收发器输出数据的同步恢复时钟信号等。下面这句语法大家一定不会陌生。该语句用于对主时钟的名称、周期、占空比以及对应物理引脚进行约束。 create_clock -name <clock_name> -periood <period> -wa…

学习JAVA打卡第三十八天

String 类的常用方法 ⑴public int length&#xff08;&#xff09; String 类中的length&#xff08;&#xff09;方法获取了一个String对象的字符序列的长度&#xff0c;例如&#xff1a; String china “1945年抗战胜利”&#xff1b; int n1,n2&#xff1b; n1china.leng…

python并发编程

一、程序提速的方法 二、python对并发编程的支持 多线程&#xff1a;threading&#xff0c;利用CPU和IO可以同时执行的原理&#xff0c;让CPU不会干巴巴等待IO完成&#xff1b;多进程&#xff1a;multiprocess&#xff0c;利用多核CPU的能力&#xff0c;真正的并行执行任务&am…