PX4從放棄到精通(一):開源飛控PX4簡介+系列文章大綱
一個(gè)人可以走的更快,一群人才能走的更遠(yuǎn),交流學(xué)習(xí)加qq:2096723956
更多保姆級PX4+ROS學(xué)習(xí)視頻:https://b23.tv/ZeUDKqy
文章目錄
·?==
·?前言
·?一、PX4是什么?
·?二、PX4能做什么?
·?1.支持的載具
·?2.應(yīng)用場景
·?3.支持的飛控硬件
·?三、系列文章大綱
·?(1)開源飛控PX4簡介+系列文章大綱
·?(2)ubuntu18.04配置px4編譯環(huán)境及mavros環(huán)境
·?(3)使用qt編譯PX4
·?(4)px4架構(gòu)
·?(5)PX4中的姿態(tài)表示方法及轉(zhuǎn)換關(guān)系
·?(6)PX4姿態(tài)控制代碼解析
·?(7)四元數(shù)互補(bǔ)濾波姿態(tài)解算代碼解析
·?(8)基于卡爾曼濾波的位置解算代碼解析
·?(9)位置控制代碼解析
·?(10)導(dǎo)航算法代碼解析
·?(11)混控器代碼解析
·?(12)狀態(tài)機(jī)代碼解析
·?(13)無人車代碼解析
·?(14)硬件驅(qū)動(dòng)代碼解析
·?(15)二次開發(fā)基礎(chǔ)
·?(16)自主控制接口
·?(17)自定義MAVLINK協(xié)議
·?(18)參數(shù)
前言
設(shè)計(jì)無人機(jī)的飛控是一個(gè)非常復(fù)雜的工程,想靠一個(gè)人或者小的團(tuán)隊(duì)設(shè)計(jì)出穩(wěn)定成熟的飛控,難度是非常大的,因此對于很多做無人機(jī)的同學(xué)來說,使用開源飛控更加方便高效.筆者在讀研期間,對開源飛控PX4有過一定研究,也走了很多彎路,遇到不少問題.特此將一些相關(guān)的經(jīng)驗(yàn)記錄下來,希望能給其他同學(xué)一些幫助或參考.
一、PX4是什么?
PX4是由蘇黎世聯(lián)邦理工學(xué)院的計(jì)算機(jī)視覺與幾何實(shí)驗(yàn)室的一個(gè)軟硬件項(xiàng)目PIXHAWK演變而來,有"開源飛控之王"之稱,目的在于為學(xué)術(shù)、愛好和工業(yè)團(tuán)體提供一款低成本高性能的高端的自駕儀,PX4是專業(yè)的自動(dòng)駕駛儀。它由來自工業(yè)界和學(xué)術(shù)界的世界級開發(fā)人員開發(fā),并得到活躍的全球社區(qū)的支持,為各種載具提供支持。
PX4目前由Dronecode基金會(huì)進(jìn)行支持和運(yùn)行,遵循BSD協(xié)議,該協(xié)議允許將開源軟件二次開發(fā)后用作商業(yè)用途。目前廣泛應(yīng)用于視覺導(dǎo)航、視覺避障、多機(jī)協(xié)同、目標(biāo)跟蹤等用途.
PX4的定位是:無人機(jī)領(lǐng)域的安卓
二、PX4能做什么?
1.支持的載具
多旋翼
包括:
1.三旋翼
2.三軸六旋翼
3. 四旋翼
4. 四軸八旋翼
5.六旋翼
6. 六軸十二旋翼
7.八旋翼
直升機(jī)
包括:
1.單旋翼帶尾槳
2.共軸雙旋翼直升機(jī)
飛艇
固定翼無人機(jī)
包括:
1.飛翼
2.標(biāo)準(zhǔn)布局
3.V尾
4.A尾
無人車及無人船
包括:
1.單電機(jī)帶轉(zhuǎn)向舵
2.雙電機(jī)差速轉(zhuǎn)彎
水下機(jī)器人
六自由度BlueRov2
垂起Vtol
包括:
1.標(biāo)準(zhǔn)垂起
2.傾轉(zhuǎn)式垂起
3.尾座式垂起
旋翼機(jī)
2.應(yīng)用場景
航拍
以前的3DR公司就是做航拍無人機(jī)的,不過其產(chǎn)品solo無人機(jī)慘被大疆打敗.
現(xiàn)在比較流行的昊翔無人機(jī)也是基于PX4固件的,其是目前大疆的最有力競爭對手之一,不過其產(chǎn)品主要面向海外市場.現(xiàn)在也開始做行業(yè)無人機(jī).
行業(yè)應(yīng)用
行業(yè)應(yīng)用有許多小公司都是用的開源的這一套方案,成本低,開發(fā)方便.例如:農(nóng)林植保,測繪等
科學(xué)研究
這一塊就更多了,:比如集群,控制,路徑規(guī)劃,結(jié)合ROS做無人機(jī)SLAM建圖導(dǎo)航等
說實(shí)話,PX4的應(yīng)用汗牛充棟,只有你想不到,沒有他做不到.文中所舉不過是九牛一毛.
3.支持的飛控硬件
PIXHAWK系列
1.fmuv2版本:cortex-m4內(nèi)核,內(nèi)存1MB,有協(xié)處理器
2.fmuv3版本:cortex-m4內(nèi)核,內(nèi)存2MB,有協(xié)處理器
3.fmuv4版本:cortex-m4內(nèi)核,內(nèi)存2MB,無協(xié)處理器
4.fmuv4pro版本:cortex-m4內(nèi)核,內(nèi)存2MB,有協(xié)處理器
5.fmuv5版本:cortex-m7內(nèi)核,內(nèi)存2MB,有協(xié)處理器
6.fmuv5x版本:cortex-m7內(nèi)核,內(nèi)存2MB,有協(xié)處理器
7.fmuv6x版本:cortex-m7內(nèi)核,內(nèi)存2MB,有協(xié)處理器
aerotenna ocpoc
mindpx-v2
beaglebone blue
crazyflie
intel aerofc-v1
nxp fmuk66-e
nxp fmurt1062-v1
omnibus f4sd
三、系列文章大綱
PX4的內(nèi)容較多,能寫的東西也很多,但是由于時(shí)間有限,想寫好一篇博客又需要很長時(shí)間,所以文章的更新可能有點(diǎn)慢.在此也很懊惱當(dāng)時(shí)學(xué)習(xí)時(shí)沒有養(yǎng)成即使記錄的好習(xí)慣,導(dǎo)致多有遺忘.希望讀者引以為戒.
并且由于筆者水平有限,文中難免由疏漏或錯(cuò)誤,還請留言指出.
暫時(shí)先寫以下內(nèi)容,估計(jì)一共整理100篇左右.
(1)開源飛控PX4簡介+系列文章大綱
(2)ubuntu18.04配置px4編譯環(huán)境及mavros環(huán)境
(3)使用qt編譯PX4
(4)px4架構(gòu)
(5)PX4中的姿態(tài)表示方法及轉(zhuǎn)換關(guān)系
(6)PX4姿態(tài)控制代碼解析
(7)四元數(shù)互補(bǔ)濾波姿態(tài)解算代碼解析
(8)基于卡爾曼濾波的位置解算代碼解析
(9)位置控制代碼解析
(10)導(dǎo)航算法代碼解析
(11)混控器代碼解析
(12)狀態(tài)機(jī)代碼解析
(13)無人車代碼解析
(14)硬件驅(qū)動(dòng)代碼解析
(15)二次開發(fā)基礎(chǔ)
(16)自主控制接口
(17)自定義MAVLINK協(xié)議
(18)參數(shù)
?