(7)(7.3) 自动任务中的相机控制

news2024/10/6 20:37:30

文章目录

        前言

7.3.1 概述

7.3.2 自动任务类型

7.3.3 创建合成图像


前言

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


7.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)。

7.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)。 

7.3.3 创建合成图像

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

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

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

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

相关文章

批量爬虫采集大数据的技巧和策略分享

作为一名专业的爬虫程序员,今天主要要和大家分享一些技巧和策略,帮助你在批量爬虫采集大数据时更高效、更顺利。批量爬虫采集大数据可能会遇到一些挑战,但只要我们掌握一些技巧,制定一些有效的策略,我们就能在数据采集…

【设计模式】订单状态流传中的状态机与状态模式

文章目录 1. 前言2.状态模式2.1.订单状态流转案例2.1.1.状态枚举定义2.1.2.状态接口与实现2.1.3.状态机2.1.4.测试 2.2.退款状态的拓展2.2.1.代码拓展2.2.2.测试 2.3.小结 3.总结 1. 前言 状态模式一般是用在对象内部的状态流转场景中,用来实现状态机。 什么是状态…

Lnton羚通关于PyTorch的保存和加载模型基础知识

SAVE AND LOAD THE MODEL (保存和加载模型) PyTorch 模型存储学习到的参数在内部状态字典中,称为 state_dict, 他们的持久化通过 torch.save 方法。 model models.shufflenet_v2_x0_5(pretrainedTrue) torch.save(model, "../../data/ShuffleNetV2_X0.5.pth…

如何在前端实现WebSocket发送和接收TCP消息(多线程模式)

目录 第一步:创建WebSocket连接第二步:监听WebSocket事件第三步:发送消息第四步:后端处理函数说明 当在前端实现WebSocket发送和接收TCP消息时,可以使用以下步骤来实现多线程模式。本文将详细介绍如何在前端实现WebSoc…

DDT数据驱动+Pytest+Allure+自定义代码封装

DDT数据驱动PytestAllure自定义代码封装 CASE --判断运行--单文件去进行运行 CASE --判断 运行–单文件去进行运行 一次性运行多个case——Pytest 1.前置条件: pip install pytest 2.Pytest——脚手架——可以站在它的身上做一系列的事情 3.规则的遵守 4.test_开头…

传感网应用开发实训室建设方案

传感网应用开发实训室概述 物联网是我国战略性新兴产业的重要组成部分,《物联网“十二五”发展规划》圈定了10大领域重点示范工程,第一个关键技术创新工程提出“充分发挥企业主体作用,积极利用高校和研究所实验室的现有研究成果,在…

springBoot 配置文件引入 redis 的相关参数说明

在Spring Boot应用中使用Redis作为缓存或数据存储时,可以在应用的配置文件中配置相关参数。下面是常用的Redis配置参数及其说明: spring.redis.host: Redis服务器主机地址,默认为localhost。spring.redis.port: Redis服务器端口,…

游戏工作室如何使用代理服务器防封

嘿,各位游戏工作室的小伙伴们!作为一名专业的程序员,我今天要和大家分享一个有关代理服务器的技巧,这个技巧可以帮助你们解决封号和封禁的问题。 首先,我们得明白为什么要使用代理服务器来解决封号和封禁的问题。在我们…

酷开科技 | 酷开系统影视库,中外影片一网打尽

相信大家在日常的生活中也会遇到一些令人焦虑的事情,这个时候你们又是如何处理的呢?你可以听听音乐、出去步行或者看场电影。认真聆听音乐中的每一段旋律,感受乐器的灵魂,特别能够让人沉静下来;走在城市的街道上&#…

RabiitMq-4工作队列/消息应答/消息持久化/不公平分发

1.工作队列 工作机制类似一个生产者,多个消费者。工作队列采用轮训的机制,即工作线程一次只能处理一个消息,轮流处理 公共方法 public class MqUtiles {public static final String QUEUE_NAME"hello";public static Channel fu…

马修斯相关系数MCC简介

在评估机器学习模型的性能时,F1score都被首选指标。在本文中,我们将介绍一个值得更多关注和认可的替代度量:马修斯相关系数(MCC)。 F1score通过协调准确率和召回率来计算,旨在在两者之间取得平衡。但是假设我们有一个具有以下混淆矩阵的数据集…

亿发软件:多门店进销存商品信息管理解决方案,专业记账开单软件

物资难以有效管理:不同种类的物资繁多,难以实现一体化管理;数据更新缓慢:数据无法实时更新,难以进行成本和毛利核算,导致企业盈利状况不明晰;沟通效率低下:收发货单分配不及时&#…

应用在水土壤水分检测中的国产电容传感芯片

土壤含水量测定是指土壤中各种液态水分的定量确定。有时还包括冰和部分矿物结晶水,一般可分为采样法和原位测定法两大类。采样法是在田间采样后测定土样含水量,原位测定法是利用仪器设备直接在田间测定土壤含水量的方法。 农业是支撑国民经济建设和发展…

Docker容器:docker的资源控制及docker数据管理

文章目录 一.docker的资源控制1.CPU 资源控制1.1 资源控制工具1.2 cgroups有四大功能1.3 设置CPU使用率上限1.4 进行CPU压力测试1.5 设置50%的比例分配CPU使用时间上限1.6 设置CPU资源占用比(设置多个容器时才有效)1.6.1 两个容器测试cpu1.6.2 设置容器绑…

10个最强大的3D城市建模软件

城市设计师在塑造城市的物质环境方面发挥着至关重要的作用。 他们创建和规划公共空间、设计建筑并创造反映社区独特特征的城市景观。 为了实现这些目标,城市设计师严重依赖 3D 建模软件。 这些软件程序提供了创建、可视化和操作建筑物和景观 3D 模型的能力&#xff…

PHREEQC模型化学热力学理论和数据库.dat、各种模拟反应平衡反应模拟、化学动力模拟、反应迁移模拟

PHREEQC是一个用于计算多种低温水文地球化学反应的计算机软件,以离子缔合水模型为基础的PHREEQC能够(1)计算物质形成种类与饱和指数;(2)模拟地球化学反演过程;(3)计算批反…

Python数据分析实战-多线程并发处理列表(附源码和实现效果)

实现功能 Python数据分析实战-多线程并发处理列表 实现代码 import threading有15个列表,尝试多进程并发处理,每个列表一个进程,进程数和 CPU 核数一致def sum_list(lst):return sum(lst)if __name__ __main__:lists [[1,2,3], [4,5,6], …

实现el-table两列多选框且不可同时勾选

1、效果图如下&#xff0c;功能&#xff1a;必修和选修不可同时勾选 2、代码如下 <template><el-table :data"addTableData" style"width: 100%"><el-table-column label"必修" width"55px" align"center"…

CentOS7 上安装 Percona XtraBackup

介绍 Percona XtraBackup是一款适用于基于MySQL的服务器的开源热备份实用程序&#xff0c;在备份期间不会锁定数据库。它可以备份MySQL 5.1、5.5、5.6 和 5.7 服务器上的InnoDB、XtraDB 和MyISAM表的数据&#xff0c;以及带有 XtraDB 的 Percona Server。 下载网址 2.4文档地…

中大许少辉博士中国建筑出版传媒八一新书《乡村振兴战略下传统村落文化旅游设计》百度百科新闻

中大许少辉博士中国建筑出版传媒八一新书《乡村振兴战略下传统村落文化旅游设计》百度百科新闻&#xff1a; 乡村振兴战略下传统村落文化旅游设计 - 百度百科 https://baike.baidu.com/item/乡村振兴战略下传统村落文化旅游设计/62588677 概览 《乡村振兴战略下传统村落文化旅游…