無(wú)名創(chuàng)新飛控開(kāi)源地面站——NGroundStation
一、地面站開(kāi)源初衷與下載鏈接:
無(wú)名創(chuàng)新飛控開(kāi)源飛控地面站是無(wú)名小哥為廣大自研飛控開(kāi)發(fā)者、電子發(fā)燒友們專門(mén)開(kāi)發(fā)的一款多功能上位機(jī)軟件,地面站功能涵蓋:飛控狀態(tài)顯示、數(shù)據(jù)波形、參數(shù)調(diào)試、虛擬遙控器、飛控傳感器校準(zhǔn)串口助手常用等,開(kāi)發(fā)此款地面站的初衷是方便大家高效學(xué)習(xí)與調(diào)試。
初學(xué)者在學(xué)習(xí)無(wú)人機(jī)飛控相關(guān)算法選擇地面站時(shí),個(gè)人小眾開(kāi)發(fā)者設(shè)計(jì)的地面站,在功能和性能上各有優(yōu)缺點(diǎn),無(wú)法兼容常用功能,而針對(duì)APM/PX4的開(kāi)源地面站MP與QGC功能復(fù)雜,很多冗余的功能用不上,開(kāi)發(fā)者需要自行移植并裁剪Mavlink協(xié)議來(lái)適配自己的飛控,導(dǎo)致開(kāi)發(fā)者往往為選擇一款合適的地面站而發(fā)愁,為兼容不同家地面站需要花一定功夫。
考慮到目前國(guó)內(nèi)沒(méi)有一家開(kāi)源飛控地面站軟件代碼開(kāi)源出來(lái)給大家學(xué)習(xí),為了做到初學(xué)者也能簡(jiǎn)單高效的開(kāi)發(fā)出滿足自己需要的地面站軟件,無(wú)名小哥選擇采用QT開(kāi)發(fā)平臺(tái),基于C++圖形用戶界面開(kāi)發(fā)了此地面站軟件,整個(gè)工程代碼框架清晰,每個(gè)功能模塊單獨(dú)封裝,注釋詳盡,使得有一定編程經(jīng)驗(yàn)的初學(xué)者能對(duì)整個(gè)地面站軟件運(yùn)行邏輯一目了然,并能基于我們開(kāi)源的地面站軟件進(jìn)行二次開(kāi)發(fā),后續(xù)會(huì)上線更多功能,地面站軟件持續(xù)更新,歡迎大家公測(cè),只要您是為了整個(gè)開(kāi)源生態(tài)的建設(shè),批評(píng)指正,拍磚打臉沒(méi)關(guān)系。下面來(lái)依次介紹本地面站功能。
無(wú)名地面站下載:http://www.nameless.tech/download.html
https://download.csdn.net/download/u011992534/12263480
開(kāi)源地面站NGroundStation使用教程:https://www.bilibili.com/video/BV1JE411c7vU?from=search&seid=4801164549946953127
無(wú)名創(chuàng)新開(kāi)源地面站交流QQ群:465082224、540707961
無(wú)名地面站開(kāi)源代碼下載鏈接在文末
二、開(kāi)源地面站的使用
2.1、主界面介紹與串口配置
無(wú)名創(chuàng)新地面站發(fā)布采用免安裝的方式,用戶在官方下載地面站后,直接解壓后點(diǎn)擊NGroundStation.exe運(yùn)行即可,同路徑文件夾下后綴為.dll依賴庫(kù)文件不得隨意刪除,否則點(diǎn)擊運(yùn)行時(shí),會(huì)報(bào)缺少xxx.dll文件。
用戶打開(kāi)地面站后進(jìn)入如下主界面,導(dǎo)航欄有無(wú)名創(chuàng)新團(tuán)隊(duì)介紹與軟件使用幫助,主界面有各個(gè)功能模塊。首先第一步先點(diǎn)擊配置串口:
點(diǎn)擊后軟件會(huì)自動(dòng)搜索當(dāng)前電腦可用的串口設(shè)備(USB轉(zhuǎn)TTL設(shè)備、USB虛擬串口VCP、RS232/485等),若系統(tǒng)上沒(méi)有可用設(shè)備時(shí),軟件會(huì)提示界面如下,此時(shí)請(qǐng)檢查您的電腦有相關(guān)串口外設(shè)設(shè)備或者查看設(shè)備管理器是否有對(duì)應(yīng)外設(shè)驅(qū)動(dòng)。
軟件會(huì)自動(dòng)搜索當(dāng)前可用串口設(shè)備,搜索出的串口號(hào)為對(duì)應(yīng)外設(shè)的設(shè)備號(hào),當(dāng)存在多個(gè)串口設(shè)備時(shí),需要自行勾選需要連接的串口。常用波特率可以通過(guò)波特率設(shè)置行下拉選擇,同時(shí)若需要調(diào)試其它非常規(guī)設(shè)備,也支持手動(dòng)輸入任意波特率,手動(dòng)輸入時(shí)輸入完畢后請(qǐng)點(diǎn)擊電腦回車鍵進(jìn)行輸入確認(rèn),不點(diǎn)擊回車鍵直接退出為無(wú)效輸入。設(shè)置好串口設(shè)備后,退出設(shè)置界面。在主界面點(diǎn)擊打開(kāi)串口后地面站解析數(shù)據(jù)即開(kāi)始工作。
飛控狀態(tài)、數(shù)據(jù)波形、參數(shù)調(diào)試、虛擬遙控、飛控校準(zhǔn)功能都是建立在地面站正常解析飛控?cái)?shù)據(jù)的前提下,故當(dāng)上述功能界面不能正常使用時(shí),請(qǐng)回頭檢查串口配置和串口是否已經(jīng)打開(kāi)/占用。
2.2、飛控狀態(tài)顯示
飛控狀態(tài)顯示界面分飛控基本狀態(tài)、羅盤(pán)與速度、航姿儀表、IMU數(shù)據(jù)、遙控器數(shù)據(jù)、觀測(cè)傳感器數(shù)據(jù)、姿態(tài)角度曲線等模塊。用戶可以通過(guò)地面站實(shí)時(shí)可視化觀察無(wú)人機(jī)的常用狀態(tài)。用戶可以根據(jù)狀態(tài)提示來(lái)了解無(wú)人機(jī)的各個(gè)參數(shù)。
2.3、數(shù)據(jù)波形顯示
數(shù)據(jù)波形顯示界面可以動(dòng)態(tài)觀察無(wú)人機(jī)關(guān)鍵狀態(tài)的數(shù)據(jù)波形曲線,如分析各個(gè)傳感器數(shù)據(jù)、姿態(tài)數(shù)據(jù)、慣導(dǎo)數(shù)據(jù)、控制指令等數(shù)據(jù),在自己研究對(duì)比飛控算法性能、濾波器參數(shù)整定、突發(fā)故障異常分析過(guò)程中非常實(shí)用。無(wú)名創(chuàng)新地面站預(yù)留了6組用戶數(shù)據(jù)通道可以供客戶自行發(fā)送數(shù)據(jù)。數(shù)據(jù)波形支持導(dǎo)入導(dǎo)出,文件名為電腦系統(tǒng)時(shí)間精確到S,導(dǎo)出的csv格式數(shù)據(jù)可以很方便的用數(shù)值處理軟件如Matlab、Origin等做后續(xù)數(shù)據(jù)處理分析。
2.4、參數(shù)調(diào)試
自研飛控開(kāi)發(fā)者在學(xué)習(xí)過(guò)程中需要對(duì)結(jié)合不同的動(dòng)力裝對(duì)飛控PID參數(shù)進(jìn)行調(diào)整,來(lái)確保無(wú)人機(jī)擁有穩(wěn)定的飛行性能,關(guān)鍵參數(shù)為姿態(tài)內(nèi)環(huán)—角速度環(huán)參數(shù),主要工作是對(duì)角速度環(huán)PID參數(shù)進(jìn)行整定,主PD,輔積分參數(shù)I。參數(shù)調(diào)試界面后,各個(gè)參數(shù)框中均為0,先點(diǎn)擊讀取參數(shù),地面站會(huì)發(fā)送獲取參數(shù)指令給飛控,地面站獲取到飛控發(fā)上來(lái)的參數(shù)后會(huì)刷新UI界面顯示當(dāng)前飛控內(nèi)部參數(shù),需要調(diào)整參數(shù)時(shí),手動(dòng)在對(duì)應(yīng)參數(shù)框中輸入設(shè)定參數(shù),點(diǎn)擊寫(xiě)入?yún)?shù)后,飛控即保存參數(shù)于FLASH/EEPROM中,下次上電飛控會(huì)自動(dòng)從FLASH/EEPROM中讀取參數(shù)值。同理對(duì)飛控其它參數(shù)的設(shè)置過(guò)程也一樣,先讀取,更改后點(diǎn)擊寫(xiě)入。當(dāng)用戶想要恢復(fù)默認(rèn)初始參數(shù)時(shí),點(diǎn)擊恢復(fù)默認(rèn)參數(shù)即可。用戶在設(shè)置參數(shù)寫(xiě)入、恢復(fù)過(guò)程中,飛控會(huì)返回操作是否成功的應(yīng)答給地面站顯示寫(xiě)入狀態(tài)。
2.5、虛擬遙控
虛擬遙控器界面模擬了8通道雙回中式遙控器數(shù)據(jù),默認(rèn)以左手油門(mén)的形式發(fā)送1-8通道數(shù)據(jù),本功能可以在在無(wú)遙控器操作下,解鎖上鎖電機(jī)、測(cè)試無(wú)人機(jī)電調(diào)行程,若要在實(shí)際飛行中運(yùn)用該功能,需要保障所有數(shù)傳模塊在當(dāng)前實(shí)用條件下通訊可靠。地面站在發(fā)送數(shù)據(jù)的同時(shí),接收了飛控解析數(shù)據(jù)正常的回傳數(shù)據(jù),并計(jì)算通訊的成功率,地面站每20ms發(fā)送一次遙控器數(shù)據(jù),飛控端在20ms內(nèi)返回應(yīng)答一次算一次通訊正常,若飛控端回傳應(yīng)答頻率小于50HZ,實(shí)際又可能造成通訊沒(méi)有異常,但地面站獲取的成功率小于100%的情況。同時(shí)設(shè)計(jì)了飛行指令控制功能,即通過(guò)指令控制無(wú)人機(jī)空間的位移方向與距離。
2.6、飛控校準(zhǔn)
入手飛控第一步就是傳感器校準(zhǔn),打開(kāi)飛控校準(zhǔn)界面,有四種和傳感器相關(guān)的校準(zhǔn)操作,其中陀螺儀校準(zhǔn)和機(jī)架水平校準(zhǔn)不需要人為操作飛行器,保持無(wú)人機(jī)靜置與水平面,點(diǎn)擊校準(zhǔn)按鍵即自動(dòng)進(jìn)行。飛行器對(duì)陀螺儀的校準(zhǔn)是每次飛控上電工作均會(huì)自動(dòng)進(jìn)行一次,即飛控IMU溫度升溫到50℃后,若此時(shí)飛行器保持靜止,陀螺儀會(huì)自動(dòng)校準(zhǔn)偏移,地面站也加入了人為校準(zhǔn)陀螺儀偏移,點(diǎn)擊開(kāi)始校準(zhǔn)陀螺儀后,飛控會(huì)自動(dòng)再次校準(zhǔn)陀螺儀零偏。
飛控加速度校準(zhǔn)采用和APM/PX4一致的6面校準(zhǔn)法,首先點(diǎn)擊加速度校準(zhǔn)進(jìn)入,隨后點(diǎn)擊對(duì)應(yīng)面按鈕,每一面會(huì)提示如何放置飛行器。6面數(shù)據(jù)都采集完畢后,飛控會(huì)計(jì)算校準(zhǔn)參數(shù)并發(fā)送到地面站。
磁力計(jì)校準(zhǔn)采用橢球擬合的方式,實(shí)際需要采集3個(gè)面內(nèi)36角點(diǎn)數(shù)據(jù),飛控自帶顯示屏會(huì)提示每一面如何放置并旋轉(zhuǎn),顯示屏上有顯示每個(gè)角點(diǎn)數(shù)據(jù)采集狀態(tài),三個(gè)面所有角點(diǎn)采集完畢后,會(huì)計(jì)算校準(zhǔn)參數(shù)并發(fā)送到地面站。
機(jī)架水平校準(zhǔn)主要目的是針對(duì)飛控安裝在機(jī)架上與水平面之間的夾角誤差,因此需要結(jié)合水平儀來(lái)進(jìn)行操作,實(shí)用中將飛控安裝在機(jī)架上后,首先校準(zhǔn)加速度計(jì),然后將水平儀放置在機(jī)架所在平面,調(diào)整機(jī)架腳架使得水平儀氣泡居中,再進(jìn)行機(jī)架水平校準(zhǔn)操作。
其它按鍵獲取校準(zhǔn)參數(shù)、退出當(dāng)前校準(zhǔn)等不贅述,上述所有校準(zhǔn)中,除磁力計(jì)驕傲,其它均需要溫控系統(tǒng)穩(wěn)定工作后,因此最好等溫度達(dá)到50°并且穩(wěn)定后,再開(kāi)始進(jìn)行陀螺儀、加速度、機(jī)架水平的校準(zhǔn)操作。無(wú)名飛控對(duì)飛控校準(zhǔn)均保留遙控器直接校準(zhǔn)的方式,因此用戶可以結(jié)合實(shí)際場(chǎng)景,靈活確定,遙控器校準(zhǔn)傳感器視頻教程如下。
*1、加速度校準(zhǔn)教程:https://www.bilibili.com/video/BV1it411k7CJ?from=search&seid=255111440291059640
2、磁力計(jì)校準(zhǔn):https://www.bilibili.com/video/BV1it411k7CC?from=search&seid=15429067159432134560
3、機(jī)架水平校準(zhǔn):https://www.bilibili.com/video/BV1L4411E7j2?from=search&seid=14438186151189674967
2.7、基本收發(fā)
地面站保留了普通串口調(diào)試助手的功能,這一項(xiàng)是和上述功能區(qū)分開(kāi)的,可以作為普通串口調(diào)試助手實(shí)用,數(shù)據(jù)以文本/16進(jìn)制收發(fā),定時(shí)自動(dòng)發(fā)送、多項(xiàng)指令發(fā)送等。
三、地面站軟件代碼開(kāi)源
3.1 QT開(kāi)發(fā)環(huán)境
鏈接:https://pan.baidu.com/s/1R__jn921zaPGsYB2VQV3mQ 提取碼:hgo7
3.2 第三方支持包,自行網(wǎng)上搜索教程安裝
QWT6.1.3:https://qwt.sourceforge.io/
鏈接:https://pan.baidu.com/s/1W2UUki_e73pQ7X-7qgs5Fw 提取碼:x1aj
QUC自定義控件:http://www.qtcontrol.cn/
鏈接:https://pan.baidu.com/s/1s9gpVaawuqrKXAXMFsIvWQ 提取碼:dyxq
3.3 無(wú)名創(chuàng)新地面站源碼下載
Github下載鏈接:https://github.com/wustyuyi/NGroundStation
歡迎mark加star,小伙伴們趕快加入我們吧?。。?/p>
感謝您的支持,地面站開(kāi)發(fā)教程與更多功能敬請(qǐng)期待!!!
為廣大開(kāi)發(fā)者提供地面站二次開(kāi)發(fā)交流平臺(tái),微信掃描加入知識(shí)星球: