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