让开发板飞——四轴飞控原理
来源:互联网 发布:摇号软件下载 编辑:程序博客网 时间:2024/06/05 03:53
四轴飞行器的控制软件通常由几部分组成。为便于后续研究,整理如下:
传感器驱动层
这一层的主要任务是读取各传感器的数据。四轴上用的通常是MEMS传感器,与传统认知有很多不同
- 陀螺仪:传统机械陀螺仪输出的是角度,而MEMS陀螺仪输出的是角速度。通常是通过积分计算出角度。积分会导致随机噪声不断积累,这也是陀螺仪漂移的原因。
- 加速度计:加速度计输出的不是运动加速度,而是运动加速度与重力加速度之和。特别是当平台有倾斜时,很可能得不出真实的加速度。
- 磁罗盘:磁罗盘输出的不是地磁方向,而是地磁场与周围磁场共同作用的结果。各种铁磁性物体都会导致磁场畸变。
数据滤波层
这一层主要负责传感器融合于滤波。通常简单办法是互补滤波,复杂办法是扩展卡曼滤波。最后输出的是飞行器姿态
PID控制层
这一层负责根据PID算法控制电机,调整飞行器姿态。PID的功能是将飞行器稳定在一个特定的姿态(对应特定的传感器读数),至于速度、方向这些不是这里管的。PID目前通常用外环角速度、内环角度的串联方式。
玩具级的四轴一般到这一层为止,其余全靠人工遥控控制
AHRS层
这一层将传感器的数据转换成飞行器的速度、高速、方向等数值。只有到这一层才算得上惯导装置。如果有GPS、超声等数据,也是在这一层融合。
导航层
这一层根据任务数据计算当前期望的速度、高度等,并根据理想值与实际值的差距向控制层发送信号。最终的结果就是按照导航点飞行。
1 0
- 让开发板飞——四轴飞控原理
- 让开发板飞——四轴飞控开发项目
- Mobile Widget——让开发移动应用就像做网页
- 超快的Android模拟器——Genymotion,让开发更爽快
- “你让开!”,“凭什么我先让,你让开!”
- 让开发自动化: 持续反馈
- 让开发自动化: 持续测试
- 让开发自动化:文档化一键通
- CIO让开源项目获得成功
- 让开发自动化: 文档化一键通
- 让开发团队走向卓有成效
- kotlin让开发更简洁
- ClipDrawable让开发更简单
- 让开发自动化: 持续测试 (form developerworks)
- 让开发自动化: 持续集成反模式
- 让开发自动化: 持续集成反模式
- Java让开发自动化:自动负载测试
- 让开发自动化:持续重构
- 代码如人生——关于面向对象
- 【特种兵PPT教程】如何在PPT中快速插入一条绝对水平的直线?
- 仅在当前目录编译的通用Makefile
- Java中IO流文件读取、写入和复制
- Vijos1118 统计单词个数
- 让开发板飞——四轴飞控原理
- OceanBase简介
- android中图片的三级cache策略(内存、文件、网络)之三:文件缓存策略 .
- R语言的一个加法函数
- linux下C编程(六)之 void用法大总结
- android ListView出了错怎么找问题
- 二叉树中遇到的问题
- 创建git私有仓库
- 不用算术运算符实现两个数的加法(按位异或)