无人机自动悬停的秘密

2023-05-16

无人机自动悬停的秘密

http://www.icpcw.com/Information/Tech/News/3244/324449_all.htm

  • 正文
  • 我来说两句(已有0人参与)
  • 2014-11-11 10:36:18
  • 类型:原创
  • 来源:电脑报
  • 报纸编辑:徐远志
  • 作者:疯狂博士

【电脑报在线】我们时常看到专业的无人机像蜻蜓一样在半空悬停进行航拍,这些中高端的无人机为什么可以做到这一点?它是如何处理气流的影响的?为什么我们自己玩的遥控飞机没办法做到自动悬停(一股微风一来就飘走了)?其中的奥秘就在于无人机上各种传感器和自动控制系统。

    我们时常看到专业的无人机像蜻蜓一样在半空悬停进行航拍,这些中高端的无人机为什么可以做到这一点?它是如何处理气流的影响的?为什么我们自己玩的遥控飞机没办法做到自动悬停(一股微风一来就飘走了)?其中的奥秘就在于无人机上各种传感器和自动控制系统。

 

要想自动悬停,首先得知道自己的位置

 

专业无人机的飞控系统中都备有IMU(右上)和GPS(下)套件

    我们知道,自动悬停的意思就是将无人机固定在预设的高度位置与水平位置上,其实也就是一组三维座标。不过,无人机是如何知道自己的位置的呢?其实说起来也很简单,高度一般来说是通过超声波传感器(测量与地面的距离,比较少见)或者是气压计(高度会影响大气压的变化)来测量的,而水平位置的座标则由GPS模块来确定。

    当然,GPS也可以提供高度信息,但对于主流的无人机来说,更倾向于使用气压计,因为低成本的GPS的数据刷新率太低,在高速运动的时候数据滞后会导致无人机高度跌落。

    除了GPS模式来定位外,无人机还有一种“姿态模式”,依靠的是内部的IMU(惯性测量单元,实际上就是一组陀螺仪+加速度计传感器)来识别自身的飞行状态和相对位移。

  

智能调节系统消除外界干扰

 

    通过各种传感器知道自己的高度与水平位置之后,无人机要如何悬停在这个预设的位置上呢?这其实就是一套负反馈自动控制系统(意思就是偏离预设值就自动调整回来)。

    以GPS模式为例,当无人机受到外界影响,高度有升高或者降低的趋势时,控制单元就调节马达的功率进行反方向运动补偿;如果无人机有被风横向吹离悬停位置的趋势,控制单元可以启动侧飞模式与之抵消——这些反应都是比较快的,只要外界影响不是大得离谱(专业多轴无人机一般抗四级风没有问题),专业的无人机都可以应付,你所看到的就是它稳稳地定在那里没有动。

    在天气不是很好,GPS搜星困难的时候,姿态模式就派上用场了。依靠无人机内部的IMU单元,系统可以识别当前的飞行姿态,进行自动平衡补偿,同样可以实现高度和水平位置的锁定。

 

无人机悬停精度如何?

 

淘宝上2000元级的无人机已经内置了GPS系统

    一般来说,万元以下的发烧玩家级无人机可以实现误差在垂直0.8米、水平2.5米精度范围内自动悬停,其他机型的悬停精度在产品参数表中都有标明。当然,这个级别的无人机也具备“专家模式”,你可以通过手动来进行高精度的微调。

   2000元级的无人机也有带GPS系统的机型,可以实现智能悬停,当然稳定性会比发烧级要差一些;800~1000元级别的机型,一般还是可以依靠IMU单元来实现悬停,精度和稳定度则更差一些;至于更入门的娱乐机型——就只能靠你灵巧的双手来稳住了。

 

你知道吗:GPS系统还能让无人机自动返航

 

    要是无人机飞出了遥控器的控制范围怎么办?具备GPS系统的无人机可以根据卫星定位自动返航,而且还能预判现有电量是否够返航,如果电量即将低于返航下限值,也会自动返航。

  
 

开天眼了

无人机图传这活儿是谁干的?

@疯狂博士

 

    玩《战地4》里面的无人攻击机时,无人机上摄像头采集的图像能够实时显示在电脑屏幕上,就好象自己在开飞机一样,无论是攻击还是操控飞机,都非常带感。那现实中无人机航拍时的实时图像,是怎么显示在操控者眼前的呢?这就不得不提到无人机的图传系统,无人机圈里称之为FPV(第一人称视角)系统。

 

专业的图传系统可实现1.7km/1080P 30fps传输

    如图所示,无人机上挂载的视频拍摄装置将采集的视频信号传输到安装在无人机上的图传信号发送器,然后由图传信号发送器的2.4GHz无线信号(市面上单卖的无人机图传套件有1.2GHz、2.4GHz、5.8GHz频段可选,抗干扰能力、带宽各有不同)传送到地面的接收系统,由接收系统再通过HDMI传输到显示设备上(显示器或平板电视),或者是通过USB传输到手机与平板电脑上。由此,操控者就能实时地监控到无人机航拍的图像。目前,专业的图传系统已经做到了在1.7km的距离下传输1080P/30fps的全高清视频图像。

 

航拍控制:同一系统的双向控制

   

    图传系统如果仅仅是实时监控无人机拍摄的画面当然是不够的。实际上,对于无人机航拍来说,要随时能够调整摄影机拍摄的角度以及焦距、光圈等拍摄参数才是最重要的。而图传系统实际上也能完成这样的任务。

    以大疆的Lightbridge图传系统为例,机载单元和地面单元通过2.4GHz无线信号连接后,地面的遥控器就能向无人机上的云台发送操作信号,从而实现拍摄角度、光圈等参数的调整,让航拍真正地无拘无束。

    另外,Lightbridge图传系统还能支持双路输出,也就是说一台无人机上可以安装两套视频拍摄设备,一套方便无人机操控手驾驶,另一套提供给云台手控制拍摄。

 

几百元可以搞定一套基本的图传收发系统

 

    淘宝上一般的5.8GHz图传收发套装(可以直接搜索“FPV收发套装”)也不过600元左右,当然摄像头和显示器要自己另配了,整个算下来也要千元左右了。要配这一套玩意,你的无人机也不能太低端,最好是载重能力在800g以上,毕竟还有一套视频设备需要搭载,而且图传信号发送器也是要靠无人机电池供电的。

 

本文出自2014-11-10出版的《电脑报》2014年第44期 A.新闻周刊
(网站编辑:ChengJY)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无人机自动悬停的秘密 的相关文章

  • 回溯算法练习题

    回溯是一个常见的算法 xff0c 类似于深搜 广搜 xff0c 会穷举每一个可能 但是会有一个恢复选择的操作 算法核心框架如下 xff1a span class token keyword for span 选择 in 选择列表 xff1a
  • ACM输入输出练习--字符串分割

    ACM输入输出练习 学会即可举一反三 xff0c 主要针对字符串类型分割处理 这里利用getline 和字符串流来分割字符串并格式化输出 xff0c 思路大概如此 span class token macro property span c
  • Spark与hive集成、Hive On Spark 、使用Spark SQL进行数据查询配置流程

    本文主要是介绍在开源hadoop上使用Spark SQL进行数据查询 有关本文的各组件版本如下 xff1a 1 hadoop版本 span class token namespace root 64 hadoop01 span span c
  • 虚拟机网络配置中的几个相关文件

    1 cd etc sysconfig network scripts 目录下的 ifcfg eno 文件 2 more etc hosts 3 more etc hostname 问题记录 Vmware有三种网络连接模式 xff1a 桥接
  • DB2实现判断字符串是否只含数字

    背景 取出客户表中客户姓名字段含数字且只含数字的数据 最开始考虑的是使用正则表达式函数 xff0c 后来发现DB2没有像Oracle一样可以直接使用的正则表达式函数 xff0c 因此考虑使用其他方法 结论 使用DB2的translate函数
  • 华为ELK的几个知识点

    1 ELK是运行在FusionInsight HD平台中的 安装ELK之前必须先安装FusionInsight HD集群 2 ELK依赖FusionInsight HD中的两个组件 xff0c 分别是HDFS和Yarn 3 ELK必须部署在
  • Python 中获取字典的key列表和value列表

    coding utf 8 定义一个字典 dic 61 39 剧情 39 11 39 犯罪 39 10 39 动作 39 8 39 爱情 39 3 39 喜剧 39 2 39 冒险 39 2 39 悬疑 39 2 39 惊悚 39 2 39
  • su oracle 和 su - oracle的区别

    最近整oracle xff0c 发现su oracle过来sqlplus一直报命令不存在 后来发现是因为用su oracle切换的 xff0c 导致还是用的root的环境变量 xff0c 所以才会导致sqlplus命令不存在 xff0c 改
  • 关于Oracle 11g的RAC和Oracle 19c 的RAC在JDBC连接时的一些区别

    19c中新增的 v services可以查询各PDB对应的服务名 xff0c 根据此服务名去写JDBC的连接参数 而非19c中常用的v database视图显示的是CDB的库名 还有 show paramerter service name
  • ORA-31626 ORA-01658 使用impdp遇到的问题

    oracle使用impdp导库时遇到的问题 xff0c span class token punctuation span oracle span class token variable 64 qsrac2 span span class
  • linux安装oracle客户端——SQL*Loader

    背景 在安装Oracle数据库的时候 xff0c 一般是默认安装客户端的 但是有些特殊情况 xff0c 需要在应用服务器上安装客户端 xff0c 用于执行一些特殊操作 xff0c 此时需要安装oracle的客户端 xff0c 如使用sqll
  • 如何获取oracle的dmp文件中的表空间名称或Schema

    场景 在给定的dmp下 xff0c 使用impdp导入时 xff0c 报了一个错 xff0c 大致就是说schema在dmp中不存在 xff08 使用impdp导入时指定了schemas 61 XXX XXX XXX xff09 当时懒得去
  • 搭建Hadoop最少需要几个节点

    可以按服务所需的最小节点数进行规划 zookeeper服务 zookeeper服务最少需要3个节点 xff0c 且扩展时需为奇数个才行 HDFS HDFS中的NameNode需要2个节点 xff0c 主备配置 因此hadoop最小需要3个节
  • “远程“操作oracle数据泵impdp、expdp导入导出

    关键词 xff1a NFS 数据泵 impdp expdp oracle客户端 本文解决的主要问题 靠考如下场景 xff0c 你作为一个DBA xff0c 管理者测试环境的Oracle集群 正常情况下测试环境恢复生产数据都是由DBA来做 x
  • 数仓拉链表的缺点

    在选定拉链表时由于对于哪些表适合做拉链表没有一个统一的规范的认识 xff0c 因此出现了以下情况 xff1a 一个表是做的全量拉链表 xff0c 但是没有注意该表数据不是每天都有供数 即 xff0c 可能某一天源系统供给了该表 xff0c
  • oracle监听、启动等命令

    记录一些常用的查看状态和重启数据库的命令 监听 单机版一般为lsnrctl xff0c 集群一般为crsctl lsnrctl Listener Control 在数据库单机环境下使用lsnrctl命令 lsnrctl status 查看状
  • 多进程的python实现

    span class token keyword import span os span class token keyword import span time span class token comment os fork 负责创建一
  • Python三目运算符(三元运算符)用法详解

    我们从一个具体的例子切入本节内容 假设现在有两个数字 xff0c 我们希望获得其中较大的一个 xff0c 那么可以使用 if else 语句 xff0c 例如 xff1a if a gt b max 61 a else max 61 b 但
  • du -sh 和ls -lh的区别

    du sh显示的是文件占用的大小 ls lh显示的文件的实际大小 这里系统层面涉及一个Block Size的概念 xff0c 具体不深究 简而言之 xff0c 假如一个Block是4K xff0c 如果文件A的大小是1K xff0c 那么用

随机推荐

  • docker镜像创建、删除等相关操作

    一 docker镜像的形式 可以为一个tar包 xff0c 如 centos tar 此处为一个现成的镜像 使用方法为 1 加载镜像 span class token punctuation span root 64 hadoop01 sp
  • shell中的数组、循环等基本用法和注意事项

    shell中数组的表示 方法 xff1a array name 61 ele1 ele2 ele3 elen 举例 xff1a span class token punctuation span root 64 hadoop01 span
  • 离线安装rpm包

    离线安装rpm包 安装 repotrack 工具下载依赖包其他常用命令 安装 repotrack 工具 找一台在线的机器 xff08 虚拟机 xff09 xff0c 配置好yum源 span class token punctuation
  • 更改yum源

    Error Failed to download metadata for repo appstream Cannot prepare internal mirrorlist No URLs in mirrorlist 参考连接
  • 在docker中使用sqlplus

    1 找个带sqlplus的镜像 从docker hub上下载https hub docker com r sflyr sqlplus docker pull sflyr sqlplus 2 在k8s中运行 由于该镜像启动后没有运行的程序 x
  • C++常用库函数

    C 43 43 常用库函数 1 常用数学函数 头文件 include lt math gt 或者 include lt math h gt 函数原型 功能 返回值 int abs int x 求整数x 的绝对值 绝对值 double aco
  • 基于GEC6818的触摸屏

    1 输入子系统 连接操作系统的输入设备 xff0c 可不止一种 xff0c 也许是一个标准PS 2键盘 xff0c 也许是一个USB鼠标 xff0c 或者是一块触摸屏 xff0c 甚至是一个游戏机摇杆 xff0c Linux在处理这些纷繁各
  • c语言实现udp广播和组播

    目录 1 UDP广播通信 2 UDP组播通信 1 UDP广播通信 单播 xff1a 数据包发送方式只有一个接受方 广播 xff1a 同时发给局域网中的所有主机 只有用户数据报套接字 xff08 使用UDP协议 xff09 才能广播 以192
  • Odoo10 中常见的 Widget 整理

    Widget是什么 是odoo中字段的显示形式 Odoo内置的widget widget 61 34 mail thread 34 xff1a 消息标签 widget 61 34 html 34 xff1a html相关标签 widget
  • C语言入门篇——介绍篇

    目录 1 什么是C语言 1 C语言的优点 3 语言标准 4 使用C语言的步骤 5 第一个C语言程序 6 关键字 1 什么是C语言 1972年 xff0c 贝尔实验室的丹尼斯 里奇和肯 汤普逊在开发UNIX操作系统时设计了C语言 xff0c
  • 力扣刷题——双数之和

    很多人去力扣刷题都是数组的第一题 xff0c 也就是双数之和 xff0c 相信这也是很多人劝退题目 xff0c 甚至对自己学过的知识产生了怀疑 xff0c 这真的是我学完C语言 xff0c Java xff0c Python或C 43 43
  • C语言入门篇——自定义数据篇

    目录 1 结构体 1 2 匿名结构体 1 3 结构体的自引用 1 4 结构体的声明和初始化 1 5 结构体的内存对齐 1 6 修改默认对齐数 1 7 结构体传参 2 枚举 3 共用体 xff08 联合体 xff09 1 结构体 设计程序时
  • C语言入门篇——文件操作篇

    目录 1 为什么使用文件 2 什么是文件 2 1程序文件 2 2数据文件 2 3文件名 3 文件的打开和关闭 3 1文件指针 3 2文件的打开和关闭 4 文件的顺序读写 5 文件的随机读写 5 1fseek 5 2ftell 5 3rewi
  • 【C】模拟实现strlen,strcpy,strcat,strcmp,strncpy,syrcat,strnact,strncmp,strstr等字符串函数

    目录 字符串函数模拟实现 1 strlen模拟实现 2 strcpy模拟实现 3 strncpy模拟实现 4 strcat模拟实现 5 strncat模拟实现 6 strcmp模拟实现 7 strncmp模拟实现 8 strstr模拟实现
  • 【C】模拟实现memcpy,memmove内存函数

    目录 内存函数模拟实现 1 memcpy模拟实现 2 memmove模拟实现 3 测试案例代码 内存函数模拟实现 C 库函数 memcpy 从存储区 str2 复制 n 个字节到存储区 str1 这个函数在遇到 39 0 39 的时候并不会
  • 【C】模拟实现atoi,atof函数

    目录 atoi函数 atof函数 模拟实现atoi xff0c atof函数 1 atoi模拟实现 2 atof模拟实现 3 测试案例代码 atoi函数 atoi函数是将字符串转换成整数 函数头文件 xff1a include lt std
  • 英伟达JETSON XAVIER NX使用小记

    1 输入法问题 安装谷歌拼音 xff08 支持ARM64位系统 xff09 系统设置 gt 语言支持 gt 键盘输入法系统 gt 选择 fcitx gt 关闭 在终端中进行安装和部分卸载工作 xff1a sudo apt get insta
  • Spark | Stage进度条展示(showConsoleProgress)

    spark version 61 2 4 4 在执行Spark任务中 xff0c 经常会看到以下类似的Stage进度日志信息 xff0c 如下 xff1a Stage 0 gt 0 43 0 1753 Stage 0 gt 0 43 65
  • Ubuntu 安装odoo10 环境搭建

    安装时 xff0c 默认用户名为 odoo ubuntu 16开始 使用 systemd 管理服务 xff0c 但是systemd 兼容 sysv init 脚本 下载 odoo源码 从 http nightly odoo com 10 0
  • 无人机自动悬停的秘密

    无人机自动悬停的秘密 http www icpcw com Information Tech News 3244 324449 all htm 正文我来说两句 已有0 人参与 2014 11 11 10 36 18类型 xff1a 原创来源