無(wú)名創(chuàng)新飛控開源地面站——NGroundStation
一、地面站開源初衷與下載鏈接:
? ? ? ? 無(wú)名創(chuàng)新飛控開源飛控地面站是無(wú)名小哥為廣大自研飛控開發(fā)者茂蚓、電子發(fā)燒友們專門開發(fā)的一款多功能上位機(jī)軟件,地面站功能涵蓋:飛控狀態(tài)顯示、數(shù)據(jù)波形聋涨、參數(shù)調(diào)試晾浴、虛擬遙控器、飛控傳感器校準(zhǔn)串口助手常用等牍白,開發(fā)此款地面站的初衷是方便大家高效學(xué)習(xí)與調(diào)試脊凰。
? ? ? ? 初學(xué)者在學(xué)習(xí)無(wú)人機(jī)飛控相關(guān)算法選擇地面站時(shí),個(gè)人小眾開發(fā)者設(shè)計(jì)的地面站茂腥,在功能和性能上各有優(yōu)缺點(diǎn)狸涌,無(wú)法兼容常用功能,而針對(duì)APM/PX4的開源地面站MP與QGC功能復(fù)雜最岗,很多冗余的功能用不上帕胆,開發(fā)者需要自行移植并裁剪Mavlink協(xié)議來(lái)適配自己的飛控,導(dǎo)致開發(fā)者往往為選擇一款合適的地面站而發(fā)愁般渡,為兼容不同家地面站需要花一定功夫懒豹。
? ? ? ? 考慮到目前國(guó)內(nèi)沒(méi)有一家開源飛控地面站軟件代碼開源出來(lái)給大家學(xué)習(xí),為了做到初學(xué)者也能簡(jiǎn)單高效的開發(fā)出滿足自己需要的地面站軟件诊杆,無(wú)名小哥選擇采用QT開發(fā)平臺(tái)歼捐,基于C++圖形用戶界面開發(fā)了此地面站軟件何陆,整個(gè)工程代碼框架清晰晨汹,每個(gè)功能模塊單獨(dú)封裝,注釋詳盡贷盲,使得有一定編程經(jīng)驗(yàn)的初學(xué)者能對(duì)整個(gè)地面站軟件運(yùn)行邏輯一目了然淘这,并能基于我們開源的地面站軟件進(jìn)行二次開發(fā),后續(xù)會(huì)上線更多功能巩剖,地面站軟件持續(xù)更新铝穷,歡迎大家公測(cè),只要您是為了整個(gè)開源生態(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
開源地面站NGroundStation使用教程:https://www.bilibili.com/video/BV1JE411c7vU?from=search&seid=4801164549946953127
無(wú)名創(chuàng)新開源地面站交流QQ群:465082224宁脊、540707961
無(wú)名地面站開源代碼下載鏈接在文末
二、開源地面站的使用
2.1贤姆、主界面介紹與串口配置
? ? ? ? 無(wú)名創(chuàng)新地面站發(fā)布采用免安裝的方式榆苞,用戶在官方下載地面站后,直接解壓后點(diǎn)擊NGroundStation.exe運(yùn)行即可霞捡,同路徑文件夾下后綴為.dll依賴庫(kù)文件不得隨意刪除坐漏,否則點(diǎn)擊運(yùn)行時(shí),會(huì)報(bào)缺少xxx.dll文件。
? ? ? ? 用戶打開地面站后進(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)擊打開串口后地面站解析數(shù)據(jù)即開始工作传睹。
? ? ? ? 飛控狀態(tài)、數(shù)據(jù)波形岸晦、參數(shù)調(diào)試欧啤、虛擬遙控、飛控校準(zhǔn)功能都是建立在地面站正常解析飛控?cái)?shù)據(jù)的前提下启上,故當(dāng)上述功能界面不能正常使用時(shí)邢隧,請(qǐng)回頭檢查串口配置和串口是否已經(jīng)打開/占用。
2.2冈在、飛控狀態(tài)顯示
? ? ? ? 飛控狀態(tài)顯示界面分飛控基本狀態(tài)倒慧、羅盤與速度、航姿儀表包券、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)試
? ? ? ? 自研飛控開發(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)擊寫入?yún)?shù)后,飛控即保存參數(shù)于FLASH/EEPROM中阁将,下次上電飛控會(huì)自動(dòng)從FLASH/EEPROM中讀取參數(shù)值膏秫。同理對(duì)飛控其它參數(shù)的設(shè)置過(guò)程也一樣,先讀取做盅,更改后點(diǎn)擊寫入缤削。當(dāng)用戶想要恢復(fù)默認(rèn)初始參數(shù)時(shí),點(diǎn)擊恢復(fù)默認(rèn)參數(shù)即可吹榴。用戶在設(shè)置參數(shù)寫入亭敢、恢復(fù)過(guò)程中,飛控會(huì)返回操作是否成功的應(yīng)答給地面站顯示寫入狀態(tài)图筹。
2.5帅刀、虛擬遙控
? ? ? ? 虛擬遙控器界面模擬了8通道雙回中式遙控器數(shù)據(jù)让腹,默認(rè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)周伦,打開飛控校準(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)擊開始校準(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ù),飛控自帶顯示屏?xí)崾久恳幻嫒绾畏胖貌⑿D(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)定后糊余,再開始進(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ū)分開的孵构,可以作為普通串口調(diào)試助手實(shí)用,數(shù)據(jù)以文本/16進(jìn)制收發(fā)句柠,定時(shí)自動(dòng)發(fā)送浦译、多項(xiàng)指令發(fā)送等。
三溯职、地面站軟件代碼開源
3.1 QT開發(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帽哑,小伙伴們趕快加入我們吧C站啤!妻枕!
感謝您的支持僻族,地面站開發(fā)教程與更多功能敬請(qǐng)期待U吵邸!述么!
為廣大開發(fā)者提供地面站二次開發(fā)交流平臺(tái)蝌数,微信掃描加入知識(shí)星球: