开源飞控初探(一):无人机的历史

news2025/1/21 1:02:01

这章先纠正大疆带给无人机外行小白的认知。

定义无人机

无人机的正式英文名字是Unmanned Aerial Vehicle,缩写为UAV。有人无人的区分,是看飞机能否一直需要人为操控。最简单的场景是,当飞机飞出视线之外时,人已经很难实时根据环境来遥控。飞机有能力自己做判断,保持一定的飞行状态或在执行任务过程中懂得按实际环境进行调整,则是“无人驾驶”一词的核心意义。试想直升机飞行员松开手也希望直升机保持悬停状态不能坠毁,这种保持机制就是unmanned的一个例子。

简史

无人机技术起源于战争。世界上第一架在无线电控制下飞行的动力无人机,早在1917年3月21日就在英国皇家空军阿帕文空军基地被发射成功。早期的战争无人机是为了携带炸弹投放攻击或自身也是导弹的一部分。随着近代拍摄技术发展,战争无人机开始具有侦查功能。而到了八九十年代,无人机已经和有人战斗机一样可携带并发射近程导弹了。这时,由于技术发展,无人机已足够小型轻量化,开始出现在民用领域,植保(农业)、气象、救援、森林灭火都已有应用。

第一架多旋翼飞行器是1956年由M.K.Adman设计的四旋翼飞行器Convertawings Model“A”,可以实现悬停和机动,但没有实现自动控制,由人工操控各个螺旋桨来实现机体平衡,所以因不实用而停止研究。到了2005年,德国生产出MD4-200,成为了第一部能够实现自主悬停并且能够具备半自助飞行的多旋翼飞行器。而这年,欧美澳国家已经有多个UAV挑战赛事,参赛者多数是电子爱好者,自制飞行器,参与竞速、穿越障碍等项目。UAV属于机器人的一种,而机器人挑战赛的历史则更悠久了。

下图为挑战赛中的自制无人机,不会像商业机那么好看。这是2018年赛事的图片了,比2005年先进得多。

2006年,大疆无人机公司成立。2007年,(ArduPilot联合创始人之一做的)DIYDrones网站成立。2008年,Pixhawk和ArduPilot两大开源飞控的初始团队开始了自己的研究,3年内对开源项目做了非常多的贡献。

2012年大疆发布第一款用于航拍的消费级无人机“Phantom 1”,正式把无人机带入平民化市场,成为无人机产业的“收割者”,并逐渐使无人机成为大众买得起的“玩具”。

现在,国内同样有无人机比赛,爱好者可以买零件和编程进行DIY。基于或参考开源项目做无人机二次开发的公司已有很多,美团送外卖、顺丰快递送货、节日的机群表演是更贴近百姓的例子。

载人飞机是飞控的一种特殊应用。简单来说,核心部件是一样的,只是使用了高功率电机满足大载荷需求,再为了安全而加入更多冗余的或高精度的部件。

参考资料

  • 狂蜂乱舞——简谈无人机发展史

  • 无人机的发展历程

  • 百年积累铸就今日辉煌 细数无人机发展史

  • The end of the UAV Challenge – Mission Complete

  • 多旋翼无人机的发展历史与现状介绍

  • 炫酷刺激!2018年无人机技术应用职业技能竞赛圆满结束

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

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

相关文章

微服务自动化管理【docker compose】

1.什么是docker-compose Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排 通过编写docker-compose文件可对多个服务同时进行启动/停止/更新(可定义依赖,按顺序启动服务) docker-compose将所管理的容器分为3层结构&#…

Yii2下PHP远程调试PHP5.6/7.2与Xdebug2.5/2.7/3.0 在PHPSTORM下的差异化表现

学习起因:新人学YII2不知道远程调试(远程调试和控制台调试是两件事,同一个原理) 因为yii2框架,设计复杂度非常高,加上php代码的弱类型语言结构,在代码非常复杂的情况下,不采用调试的方式来看源码调用栈&am…

MPLS 虚拟专线 实验

目录 1.拓扑图 2.实验思路 3.主要配置 4.测试 5.实验总结 1.拓扑图 2.实验思路 IGP路由 MPLS Domain 配置MPLS VPN PE之间的MP-BGP邻居关系 CE端与PE端的路由交换 双向重发布,实现路由共享 3.主要配置 R6: *公网环境: [r6]ospf 1 r…

记录robosense RS-LIDAR-16使用过程2

一、安装并使用可视化工具RSView,官网提供了不同版本的安装包,根据个人环境下载解压。本人ubuntu18系统,修改权限:chmod ax run_rsview.sh;然后运行:./run_rsview.sh。该软件每次启动时都要运行./run_rsviewer.sh该软件…

Acwing 1214. 波动数列

题目链接&#xff1a;1214. 波动数列 - AcWing题库 标签&#xff1a;动态规划 &#xff08;字好丑...&#xff09; AC代码&#xff1a; #include<iostream> using namespace std;int f[1005][1005];const int MOD 100000007;//返回正余数 int get_mod(int a,int b) {…

不重复的随机数问题

前言 对于随机数的运用&#xff0c;在开发中经常会用到。有时需要生成不重复的定范围定总量的随机数&#xff0c;比如1~20&#xff0c;需要打乱的1~20中的10个数&#xff0c;那到底怎么做呢? 一、不重复的随机数 我们知道&#xff0c;直接用random会有重复的数字&#xff0…

电商物流云仓的原理是什么?

以云的速度和范围获得胜利  这是一个快速转型时期&#xff0c;封锁、就地避难订单和游览限制扰乱了美国经济的各个范畴&#xff0c;对供给链运营产生了严重影响。在如此动乱的时期&#xff0c;企业正越来越多地转向云优先战略&#xff0c;以使其供给链愈加矫捷和灵敏。  战…

【NI Multisim 14.0原理图文件管理——保存/备份文件及新建电路图页文件】

目录 序言 ⛄1.保存文件 ⛄2.备份文件 ⛄3.新建电路图页文件 序言 NI Multisim最突出的特点之一就是用户界面友好。它可以使电路设计者方便、快捷地使用虚拟元器件和仪器、仪表进行电路设计和仿真。 首先启动NI Multisim 14.0&#xff0c;打开如图所示的启动界面&#xff…

CTK Plugin Framework插件框架学习--事件监听

文章目录一、前言二、框架事件三、插件事件四、服务事件五、添加事件监听一、前言 CTK一共有三种事件可以监听&#xff1a; 框架事件插件事件服务事件 但是这些事件只有在变化时才能监听到&#xff0c;如果已经变化过后&#xff0c;进入一个稳定的状态&#xff0c;这时才去监…

归并排序详细说明及实现-python

算法思想&#xff1a; 设初始序列含有n个记录&#xff0c;则可看成n个有序的子序列&#xff0c;每个子序列长度为1 两两合并&#xff0c;得到&#xff08;n//2) 个长度为2&#xff08;n为奇数时&#xff0c;最后一个序列的长度为1&#xff09;的有序子序列 再两两合并&#xff…

【Flink系列】开发篇:1. Flink维表关联方案

数据流往往需要访问外部的数据源来丰富自己的信息&#xff0c;比如通过record中的ip地址查询ip数据库maxmind的GeoIP2 Databases得到ip对应的城市名称&#xff0c;城市经纬度&#xff0c;将这些作为新的字段添加到原来的record中。这就涉及到本篇的主题&#xff1a;维表关联。 …

分布式锁方案分析:看图说话(图+文)

1 缘起 曾经在看分布式锁的时候&#xff0c;还是处于了解阶段&#xff0c; 回头总结时&#xff0c;发现有很多细节没有探究到&#xff0c; 本文以-看图说话的方式分析不同的分布式锁方案&#xff0c; 分布式锁需要保证&#xff1a; &#xff08;1&#xff09;互斥性&#xff1…

【从零开始学习深度学习】46. 目标检测中锚框的概念、计算方法、样本锚框标注方式及如何选取预测边界框

本文主要介绍目标检测中常用到的锚框相关概念、计算方式、样本标注及如何选取预测边界框并输出的相关内容。 目录1. 锚框介绍1.1 生成多个锚框2. 交并比--Jaccard系数3. 标注训练集的锚框4. 输出预测边界框---非极大值抑制方法总结1. 锚框介绍 在目标检测算法中通常会在输入图…

Linux常用命令——xhost命令

在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand) xhost 制哪些X客户端能够在X服务器上显示 补充说明 xhost命令是X服务器的访问控制工具&#xff0c;用来控制哪些X客户端能够在X服务器上显示。该命令必须从有显示连接的机器上运行。可以通过使用-host参数&…

​Topaz Photo AI 人工智能图像降噪锐化放大

Topaz Photo AI 是一款强大的基于人工智能技术的降噪、锐化及放大的工具。它不仅可以作为独立的软件使用&#xff0c;也可作为 Photoshop 的插件&#xff0c;以及能在 Lightroom Classic、Capture One 中调用。在 Lightroom Classic 中提供了两种工作流程&#xff0c;一种是直接…

while和do while的用法区别

前言在上一篇文章中&#xff0c;壹哥给大家讲解了循环的概念&#xff0c;并重点给大家讲解了for循环的使用。但在Java中&#xff0c;除了for循环之外&#xff0c;还有while、do-while、foreach等循环形式。今天小千就再用一篇文章&#xff0c;给大家讲解while循环的使用。本文带…

webshell 一句话木马

Webshell&#xff08;大马&#xff09;&#xff1a;webshell就是以asp、aspx、php、jsp或者cgi等网页形式存在的一种命令执行环境&#xff0c;也将其称为一种网页后门。黑客入侵一个网站后&#xff0c;通常会将 asp、aspx、php 或 jsp 后门文件与网站 web 服务器目录下正常的网…

基础算法(三)——二分查找

二分查找 介绍 一种复杂度为O(logn)O(logn)O(logn)级别的查找算法&#xff0c;需要被查找的数列具有某种单调性质&#xff0c;其本质其实是搜索一个符合check条件的区间。 二分分为两种&#xff1a; 整数二分浮点数二分 核心思想&#xff1a; 首先讨论整数二分&#xff1…

Django搭建个人博客Blog-Day02

配置文件的介绍&#xff1a;dev.py&#xff08;原来的setting.py文件&#xff09;# django的配置文件中的配置项是什么意思&#xff1f; import os # 导入模块# Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR os.path.dirname(os.path.d…

测牛学堂:软件测试学习之python调试和判断嵌套

python中调试代码 在python中&#xff0c;使用debug来调试代码。 我们使用debug的目的&#xff0c;就是可以查看代码的执行过程。 步骤&#xff1a; 1 打断点。打断点是开发的术语&#xff0c;类似于打标记&#xff0c;debug会让程序在你打断点的地方停止执行。 如果要查看代码…