多旋翼无人机进阶教程
无人机是一个系统的工程,不可谓不庞大。
开源飞控盛行,重复造轮子的工作实在无需再做。
但是若决定真正的去研究飞控,必须从本质出发,熟悉并了解其实现原理。
纷繁复杂的资料,让人无法分辨。
笔者不才,现根据自己的学习经历整理出一套多旋翼无人机的系统学习教程,愿能让你少走弯路,也是对自己的一个总结。
主要针对PX4项目。
航模概念扫盲
无论你是一个纯粹的新手,或者是对无人机已经了然于心,笔者都推荐认真阅读一下Crazepony的wiki。从这里你能够对无人机的前世今生、相关术语、基本组成以及作用有一定的感性的认识。
以下是该wiki的介绍:
这里是Craze团队提供的航模维基百科。
下面的介绍航模基本概念,开源飞行控制器,多悬翼飞行器基本组成等内容。希望我们的努力能够为新手入门提供帮助和指导。
姿态
在真正开始之前,首先要真正理解飞行器的姿态是什么。你会怎么样去描述一架无人机的当前状态?
以及其表示方法:四元数、欧拉角、方向余弦矩阵的意义与原理。
参考文献:
- 捷联惯性导航技术。张天光等。24-33,捷联姿态表达式。
- 惯性导航。秦永元。5-9,常用关系式;287-304,捷联惯性导航系统。
- A Guide To using IMU (Accelerometer and Gyroscope Devices) in Embedded Applications.(译文链接) →
传感器数据处理 - DCM TUTORIAL – AN INTRODUCTION TO ORIENTATION KINEMATICS (REV 0.1) →
姿态表示方法推导 - Direction Cosine Matrix IMU: Theory(译文链接) →
DCM入门必读 - KINEMATICS OF MOVING FRAMES →
运动学 - Lecture 2: Dynamic modeling of MAVs →
动力学
姿态估计
在理解了姿态的表示方法后,就需要进行姿态估计/解算了。即怎么使用已有的传感器准确的表示出飞行器的当前姿态。可以说是一种传感器的数据融合过程。目前常用的方法有:Mahony互补滤波、Madgwick的梯度下降法、以及卡尔曼滤波及其各种变体。
参考文献:
- A complementary filter for attitude estimation of a fixed-wing UAV →
ECF - Nonlinear Complementary Filters on the Special Orthogonal Group →
NCF - An efficient orientation filter for inertial and inertial/magnetic sensor arrays →
GD - An Introduction to the Kalman Filter(译文链接) →
卡尔曼滤波器介绍 - Novel Quaternion Kalman Filter →
综述性文章 - Indirect Kalman Filter for 3D Attitude Estimation →
值得一看的文章 - A practical approach to Kalman filter and how to implement it(译文链接) →
卡尔曼滤波推导实现 - Understanding the Basis of the Kalman Filter Via a Simple and Intuitive Derivation →
卡尔曼滤波概率推导 - Keeping a Good Attitude: A Quaternion-Based Orientation Filter for IMUs and MARGs →
个人觉得很不错却没能复现 - IMU Data Fusing: Complementary, Kalman, and Mahony Filter →
IMU数据融合方法比较
姿态\位置控制
姿态控制控制姿态,控制飞行器到达目标的姿态。也就是让目标姿态与当前姿态之间的误差最小化。姿态控制作为位置控制的内环,其输出直接关系到力矩的分配。四旋翼飞行器是一种典型的欠驱动系统。目前常用的控制方法有:线性二次型最优控制 (Linear Quadratic Regulator, LQR) 、反步 (Backstepping) 控制法、 PID(Proportional – Integral – Derivative) 控制、自抗扰控制(Active Disturbance Rejection Control, ADRC)、滑模 (Sliding Mode) 控制。
- 四轴PID讲解 →
建议查看 - High Performance Full Attitude Control of a Quadrotor on SO(3) →
倾转分离控制 - Minimum Snap Trajectory Generation and Control for Quadrotors →
PX4引用 - The future of PID control
- Backstepping and sliding-mode techniques applied to an indoor micro quadrotor →
反步法 - Feedback Linearization vs. Adaptive Sliding Mode Control for a Quadrotor Helicopter
- From PID to Active Disturbance Rejection Control →
向韩老师致敬 - Active Disturbance Rejection Control for MEMS Gyroscopes
身为不搞控制的双控烟酒僧,很惭愧。
系统建模
很抱歉把这一章放在这个位置。
相信仔细学习了上面的资料并且在查阅了相关的文献后后你已经对无人机有了一定的认识了。
接下来可以更加系统的学习多旋翼飞行器的系统结构了,分析系统的模型已经整个算法的组织。
贴一张文献1的图:
参考资料:
- Multirotor Aerial Vehicles Modeling, Estimation, and Control of Quadrotor →
说这是No.1不知道谁有意见 - Trajectory Generation and Control for Quadrators →
Kumar的学生,毕业论文 - Modelling and control of a large quadrotor robot →
X-4 Flyer - Modelling, Identification and Control of a Quadrotor Helicopter →
值得一看 - Design and Control of quadrotors with application to autonomous flying →
看这个应该够了 - 多旋翼飞行器设计与控制 →
重磅!北航全权老师的课件,慕课链接 - Robotics:Areial Robotics →
宾夕法尼亚大学慕课,Kumar主讲 - 飞控漫谈 →
一字并肩王博士
读完这些,可以说飞控的基本的控制已经能够从原理到物理意义已经熟悉了。
以上只是最基本的飞行性能的实现,非常之底层。而现在的趋势是能够做一些上层应用,视觉导航、避障……
开源飞控的出现,极大的促进了无人机的发展,拿来就能用,三个研究生就敢说开公司。
Pixhawk算是其中的佼佼者,接下来介绍一些关于PX4系统的资料,官方出版物,以及个人推荐的论坛博客。
关于PX4
官方参考文献:
- PIXHAWK: A Micro Aerial Vehicle Design for Autonomous Flight using Onboard Computer Vision →
Pixhawk应该的样子 - PIXHAWK: A System for Autonomous Flight using Onboard Computer Vision →
是用CV的 - Full Autonomous Quadcopter for Indoor 3D Reconstruction Without External Sensors →
Pixhawk的整体设计 - PX4: A Node-Based Multithreaded Open Source Robotics Framework for Deeply Embedded Platforms →
PX4软件 - Onboard Object Recognition on the PIXHAWK Micro Air Vehicle →
目标识别 - An open source and open hardware embedded metric optical flow CMOS camera for indoor and outdoor applications →
PX4 Flow - Optic Flow-Based Vision System for Autonomous 3D Localization and Control of Small Aerial Vehicles
- A New Nonlinear Guidance Logic for Trajectory Tracking →
L1导航 - MAVLink Tutorial for Absolute Dummies (Part –I) →
Mavlink - SLAM
PX4的学习资料
官方资料:
- PX4开发指南(中文版链接)
- PX4用户指南
- Pixhawk官网
- PX4自驾仪固件
- Pixhawk_ETHZ
- 官方GITTERPX4/Firmware
- 官方GITTERPX4/PX4Devguide
- 官方每周讨论PX4 Discuss
- QGC用户指南
- Mavlink官网
- NuttX
网友总结:
- summer的博客
- 虾米一代的博客
- across的知乎回答
- FreeApe的博客
- 阿木社区
- Top Liu推荐的无人机必读
- 吴兴章的官方网站
- 洛神的博客
- 我不要脸了
不定期更新
无情链接:
- APM社区
- DIY Drones
- Kumar实验室
- Flying Machine Arena
- Pixhawk在Matlab
- Quad-Sim
多旋翼无人机进阶教程相关推荐
- 多旋翼无人机ROSC++开发例程(一):环境配置
文章目录 前言 1.ROS环境配置 2.串口绑定 3.添加开机启动项 4.Casadi环境配置 前言 作为一名无人机飞控方向的研究生,这几年在学习了许多大佬的开源项目和博客后进行了多旋翼无人机机载计算 ...
- QuadrotorFly-四旋翼无人机动力学仿真环境介绍
QuadrotorFly四旋翼无人机动力学模型 主要目的是开发一个用于无人机动力学仿真的简单易用.功能相对齐全的仿真环境(也许是水论文环境).这个仿真是基于python编写的,GPL开源.git的地址 ...
- 四旋翼无人机仿真之hector_quadrotor无人机(ROS + Gazebo)(三)传感器数据读取与复现(IMU、GPS)
系列文章目录 文章1:四旋翼无人机仿真之hector_quadrotor无人机(ROS + Gazebo) 文章2:四旋翼无人机仿真之hector_quadrotor(二)键盘teleop_twist ...
- 四旋翼无人机仿真之hector_quadrotor无人机(ROS + Gazebo)(一)
这里写自定义目录标题 应用环境 hector_quadrotor 功能包结构简介 hector_quadrotor 功能包安装 1. 安装所需依赖库 2. 下载.安装hector_quadrotor ...
- 【rotors】多旋翼无人机仿真(一)——搭建rotors仿真环境
[rotors]多旋翼无人机仿真(一)--搭建rotors仿真环境 [rotors]多旋翼无人机仿真(二)--设置飞行轨迹 [rotors]多旋翼无人机仿真(三)--SE3控制 [rotors]多旋翼 ...
- javascript进阶教程第一章案例实战
javascript进阶教程第一章案例实战 一.学习任务 通过几个案例练习回顾学过的知识 通过练习积累JS的使用技巧 二.实例 练习1:删除确认提示框 实例描述: 防止用户小心单击了"删除& ...
- JSP WEB开发入门基础到高手进阶教程002
JSP WEB开发入门基础到高手进阶教程 -------开发入门 JSP与微软的Active Server Pages 兼容,但它是使用类似HTML的卷标以及Java程序代码段而不是VBScript. ...
- duilib进阶教程 -- 在MFC中使用duilib (1)
由于入门教程的反响还不错,因此Alberl就以直播的形式来写<进阶教程>啦,本教程的前提: 1.请先阅读<仿迅雷播放器教程> 2.要有一定的duilib基础,如果还没,请先阅读 ...
- 爬虫进阶教程:极验(GEETEST)验证码破解教程
原文链接及原作者:爬虫进阶教程:极验(GEETEST)验证码破解教程 | Jack Cui 一.前言 爬虫最大的敌人之一是什么?没错,验证码![Geetest]作为提供验证码服务的行家,市场占有率还是 ...
最新文章
- OpenGL_Qt学习笔记之_05(纹理映射)(转)
- 控制程序仅执行一次 php,PHP流程控制(1)
- [Python]小甲鱼Python视频第002课(第一个游戏)课后题及参考解答
- Lecture 1 Analysis of Algorithms
- spring-test的简单实用方式
- ubuntu 12.04 samba 服务器搭建
- %3c故乡%3e中语言描写的作用是什么,第三单元考试题
- nodebb使用mysql_centos7.6安装nodebb v1.14.3(2020年)
- 怎么把外部参照合并到图纸_怎么对两个图纸内容进行合并操作
- 全局替换资源_BitLocker+VHD替换TrueCrypt及其后继VeraCrypt
- Android播放器基础封装库PlayerBase
- html 微信扫码登录,前端使用微信扫码登录
- 小白能读懂的 《手把手教你学DSP(TMS320X281X)》第六章 F2812的存储器映像
- 下载hibernate4的jar包
- 市场热门身份证识别性能测评对比
- 微信小程序地图图标controltap
- 域名的分类:com,cn,net的区别
- HackTheBox::Sunday
- 2021上海第34届创业连锁加盟展会
- 自然语言处理评测汇总(持续更新)
热门文章
- java毕业设计企业资产管理系统mybatis+源码+调试部署+系统+数据库+lw
- 抓取网页上的图片(一)
- TODAY'S PRATICE
- 【vue项目实战】Vue工程化项目--猫眼电影移动端
- 互联网金融基金“宝宝”战况愈演愈烈 基金宝宝形成“四国大战”格局
- 垃圾分代回收机制简单介绍
- [Solved] 升级到最新22H2版本任务栏透明失效 - TranslucentTB
- 世界杯四分之一决赛手记 - Part 2
- OSChina 周二乱弹 —— 昔人已乘地铁去,此地空余一只鞋
- 几种周期的名称概念的区分