无人机基础知识点总结

一.基本概念

  • 飞控:飞机的控制系统,其中硬件包含传感器部分IMU和控制部分的MCU,软件部分包含控制算法。
  • 俯仰:pitch,绕坐标系y轴旋转,想象一下平时的飞机
  • 航向:yaw,绕坐标系z轴旋转,想象一下平时的飞机
  • 横滚:roll,绕坐标系x轴旋转,想象一下平时的飞机
  • 陀螺仪:感测角速度,具有高动态特性, 但是它是一个间接测量角度的器件, 它测量的是角度的导数, 角速度, 要将角速度对时间积分才能得到角度。一般不受外界影响干扰,不过会出现积分误差的问题。
  • 加速度计:感测加速度,包括重力加速度,重力加速度和地理坐标系是固连的,因此可以通过这种关系得到加速度计和地面的角度关系,但是如果绕着Z轴旋转是不会改变的,也就是无法感知水平旋转。生活中的手机自动旋转屏幕就用到这个。
  • 磁力计HMC5883L,是利用地磁场来定北极的一种方法,由地球的磁场来感测方向类似与指南针的功能。
  • MPU6050:六轴传感器,集成了3轴陀螺仪和3轴加速度计,还有预留的IIC接口可以接磁力计,同时含有DMP可以进行硬件解算四元数,而输出的是通过IIC输出AD值。
  • 惯性导航模块:IMU,包括陀螺仪,加速度计和磁力计。
  • MEMS:微机电系统(Micro-Electro-Mechanical System),微电子微机械加工出来的、 用敏感元件如电容、压电、压阻、热电耦、谐振、 隧道电流等来感受转换电信号的器件和系统。
  • 气压计:MS5611气压计主要通过气压的变化来感测物体的相对和绝对高度,可以用来定高,尤其是在室内GPS不起作用的情况下。
  • 姿态解算:指把陀螺仪、加速度计、磁罗盘等数据融合在一起,得出飞行器的空中姿态。
  • 深度解算:也叫长期融合,可以比较准确得解算出姿态。
  • 快速解算:也叫快速融合,比较粗糙地得到姿态。
  • 四元数:在无人机里面四元数是姿态的一种数学表示方式,也是用的最多的,因为四元数比较适合组合旋转。在姿态解算中,一般用四元数来保存姿态,也就是用来保存从MPU6050得到的AD值。
  • 欧拉角:姿态的另外一种数学表示方式,在姿态解算中主要用于讲四元数转换成欧拉角,然后用于姿态解算,姿态解算的输入只能是欧拉角。
  • 刚体:指在运动中和受力作用后,形状和大小不变,而且内部各点的相对位置不变的物体。
  • 地理坐标系:地球所在的坐标系, 这个坐标系是固定不变的, 正北, 正东, 正上方分别表示X, Y, Z轴。
  • 无头模式:四轴的方向是从两个电机中间的方向飞
  • 有头模式:四轴的方向是从其中某个电机的方向飞

二.基本结构

1) 动力部分

1.机架:DJI的F450

2.电机:有刷电机和无刷电机,有刷电机是指电机内有换相电刷,而无刷电机是指电机内没有换相电刷。有刷的定子是永磁体,无刷的定子是线圈,直观来看是无刷电机有三个线并配合电调使用。大四轴一般都是用的无刷,小四轴用的是有刷的空心杯电机。

3.桨叶:碳纤桨,木桨,注塑桨,相同的电机和电池, 大KV值用小的螺旋桨, 小KV值用大的螺旋桨

4.电调:电子调速器,也叫电机驱动模块,主要是用来控制电机的启停和转速,通过改变固定线圈内部电流的方向, 保证它跟永磁体之间的作用力是相互排斥, 持续转动得以延续。

5.电池:航模的锂电池需要的放电能力强,一般用C来做单位,这是与普通锂电池的区别。

2)控制部分

1.飞控:主要是PIXHAWK,其采用的STM32做主控芯片,其中硬件包含传感器部分IMU和控制部分的MCU,软件部分包含控制算法。

2.通信方式:NRF24L01,蓝牙4.0或者WIFI

3.遥控器:美国手和日本手,美国手是指油门在左边的摇杆,日本手则相反。注:左手是理智,右手是感情,剑是危险的事物,要用理智来操控。

三.算法分析

1)姿态解算算法

  姿态解算是指把陀螺仪、加速度计、磁罗盘等数据融合在一起,得出飞行器的空中姿态,也叫姿态融合。姿态解算涉及到传感器数据的读取和滤波、四元数与旋转、姿态解算框架和长期融合。飞行器通过四元数法从陀螺仪的三轴角速度得到俯仰、偏航和滚转角,这是快速解算,然后结合三轴磁力计和三轴加速度计得到漂移补偿深度解算

我们用坐标系R来表示地球的坐标系(地理坐标系),这个坐标系是固定不变的,有X、Y、Z三个轴,同时用坐标系r来表示四轴飞行器的坐标系。所谓的姿态解算就是测量坐标系r与坐标系R的角位置关系,通过传感器采集数据以及分析测量,最终得到这个关系。这当中用到的数学表示方法有欧拉角、四元数、矩阵和轴角。

  姿态解算可以通过软件解算硬件解算来实现。姿态控制算法的输入参数必须要是欧拉角。 AD值是指MPU6050的陀螺仪和加速度值, 3个维度的陀螺仪值和3个维度的加速度值, 每个值为16位精度。AD值必须先转化为四元数,然后通过四元数转化为欧拉角。这个四元数可能是软解,主控芯片(STM2)读取到AD值,用软件从AD值算得,也可能是通过MPU6050中的DMP硬解,主控芯片(STM32)直接读取到四元数。

四.一点思考

1)无人机的续航问题

  小四轴最多十几分钟,消费级大四轴最多也只有30分钟。

2)无人机的起飞和下降的滞粘性

  无人机用遥控器起飞的时候会出现不小心油门加大了会突然冲上去,下降的时候也可能松油门过多而一下子下降。因此我们希望能够飞机上升的时候,不会因为油门突然加大而突然猛升,也不会因为油门不小心拉低过快导致飞机快速跌落到地面。

  解决方法:

  1.数据曲线化

  将遥控器的值给飞机后,飞机不是一下子就输出,先把这个数据曲线再输出,这可以起到一定的缓冲作用。将数据变成向下凹的抛物线,遥控器的油门摇杆取值范围跟飞机的油门量有一一映射的关系。因为抛物线是下凹的,最大值跟最小值是一样的,而这变化的过程不是线性的,因此可以在一定程度上解决猛升的问题。

  2.负反馈控制

将无人机的当前的加速度值减去当地的重力加速度等到一个加速度的差值,然后用当前的油门量减去这个差值就可以在一定程度上起到缓冲的作用,但这个方法需要我们知道当地的重力加速度,这个可以通过串口助手进行查看,但比较麻烦,我们可以通过机器学习来学习这个最优的值,从而实现缓冲的作用。(为什么油门量减去差值?为什么是150*这个差值?)

原文地址:https://www.cnblogs.com/lyx-blackpearl/p/9821534.html

时间: 2024-10-09 09:37:51

无人机基础知识点总结的相关文章

黑马程序员——Java I/O流基础知识点(File类)

File工具 File类就是用俩将文件或者文件夹封装对象,弥补流对象的不足--流只能操作数据,不能操作文件夹的 封装的是路径!!! 构造方法演示 1.可以将已有的未出现的文件或者文件夹封装成对象. File f1=new File("c:\\abc\\a.txt"): File f2=new File("d:\\abc","ab.txt"打印,会打印路径.:目录分隔符,为了更好地跨平台File. File类常见功能 1,创建 createNewF

HTML5基础知识点

今天了解html,下面是我分享的有关html的基础知识点: ①什么是html? html是一种超文本标记语言(超文本标记标签) ②html标签是html中的最基本单位 也是最重要的部分,html标签分为单标签和双标签. 单标签</>   双标签<></> html中的一些常见标签 1,<br/>换行标签    2,<hr/>水平分割线标签   3,<p></p>段落标签     4,<pre></pre&

C# .Net基础知识点解答

C# .Net基础知识点解答 1. 什么是.NET?什么是CLI?什么是CLR?IL是什么?JIT是什么,它是如何工作的?GC是什么,简述一下GC的工作方式? 通俗的讲,.Net是微软开发应用程序的一个平台: CLI是Common Language Infrastructure,是公共语言架构: CLR是Common Language Runtime,即公共语言运行时: IL是.Net编译器产生的中间代码,称为通用中间语言CIL(Common Intermediate Language),CIL

js基础知识点收集

js基础知识点收集 js常用基本类型 function show(x) { console.log(typeof(x)); // undefined console.log(typeof(10)); // number console.log(typeof('abc')); // string console.log(typeof(true)); // boolean console.log(typeof([])); // object console.log(typeof(function (

js基础知识点总结

js基础知识点总结 如何在一个网站或者一个页面,去书写你的js代码:1.js的分层(功能):jquery(tool) 组件(ui) 应用(app),mvc(backboneJs)2.js的规划():避免全局变量和方法(命名空间,闭包,面向对象),模块化(seaJs,requireJs) 常用内部类:Data Array Math String HTML属性,CSS属性HTML:属性.HTML属性="值":CSS:对象.style.CSS属性="值"; class和f

JavaScript语言基础知识点图示

原文:JavaScript语言基础知识点图示 一位牛人归纳的JavaScript 语言基础知识点图示. 1.JavaScript 数据类型 2.JavaScript 变量 3.Javascript 运算符 4.JavaScript 数组 5.JavaScript 流程控制 6.JavaScript 函数基础 7.DOM 基本操作 8.Window 对象 9.JavaScript 字符串函数 10.正则表达式 JavaScript语言基础知识点图示,布布扣,bubuko.com

Spring4.x 基础知识点

# Spring4.x 基础知识点## 第二章 快速入门- 一般情况下,需要在业务模块包下进一步按分层模块划分子包,如user\dao.user\service.viewspace\dao.viewspace\service等.对于由若干独立子系统组成的大型应用,在业务分层包前还需要加上子系统的前缀.包的规划对于大型应用非常重要,它直接关系到应用部署和分发的便利性.- 在配置文件的定义上,一般也是按模块进行划分,一定程度上降低争用.- 在拼接SQL语句的句前和句后都加一个空格,这样避免分行SQL

fastclick 源码注解及一些基础知识点

在移动端,网页上的点击穿透问题导致了非常糟糕的用户体验.那么该如何解决这个问题呢? 问题产生的原因 移动端浏览器的点击事件存在300ms的延迟执行,这个延迟是由于移动端需要通过在这个时间段用户是否两次触摸屏幕而触发放大屏幕的功能.那么由于click事件将延迟300ms的存在,开发者在页面上做一些交互的时候往往会导致点击穿透问题(可以能是层之间的,也可以是页面之间的). 解决问题 之前遇到这个问题的时候,有在网上看了一些关于解决移动端点击穿透的问题,也跟着网上提出的方式进行了各项测试,最终还是觉得

jQuery基础知识点(下)

在实际开发中,jQuery的实践性非常强大.上一篇本人已经整理出了一部分基础知识点,该文即是对以上的补充和扩展. 1.表单值的操作 1 //获取文本框的值 2 //txt.value 3 var val = $("#txt").val(); //没有参数表示获取值 4 //设置文本框的值 5 //txt.value = "123123"; 6 $("#txt").val("这是val设置的值"); // 有参数表示设置值 2.