matlab simulink系列教程(3-1): UAV工具包支PX----例子使用 從PX4中讀取GPS資訊

fengxuewei123發表於2020-12-20

從和飛控連線得GPS裝置上讀取GPS感測器資料

在PX4系統啟動中使能GPS模組

編輯 SD 卡中的 rc.txt, 在最後加上下面語句

gps start

如果沒有GPS 感測器,增加下面的語句

gps start -f

這個會開始一個GPS simulink 模組,該模組會複製一個真實的 GPS 資料
再重新將 SD 卡插入到飛控內部,進行下面的執行操作

初始化且執行外部模組和配置該模組

open_system(‘px4demo_readGPS’);
在這裡插入圖片描述
這個圖片內的 GPS block, 接收來自 vehicle_gps_position uORB 訊息的訊號,輸出需要的值;其中的高度值是MSL,即平均海平面(mean sea level)

雙擊該模組之後,選擇需要獲取的數值:
在這裡插入圖片描述
進入設定選項
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
設定了上面的內容之後,連線飛控到電腦上,點選 Monitor & Tune(開始訊號監控及引數調整)

《當下面的 選項沒有載入出來的時候, 進行重新進入 model setting 介面,點選apply 之後 ok 》
在這裡插入圖片描述
點選之後,等待一段時間,會出現錯誤
在這裡插入圖片描述
這個可能是因為我的飛控硬體內部沒有 GPS 感測器嗎?==》 不是,是因為我的埠被佔用,因為我開啟了QGC,導致埠被佔用,Matlab 連線不上,關閉之後的執行現象如下:
在這裡插入圖片描述

同樣,點選在這裡插入圖片描述
該按鈕,也會將生成的程式碼自動寫入到 板子上。

總結:

在每一次的 Monitor& Tune 之後,都會彈出一個視窗,點選確定,五秒內插拔飛控,繼續執行;這個應該是生成程式碼自動寫入到飛控內部,需要重新reboot,但是 5秒內的插上去的原因可能是 matlab 檢查不到埠資訊 五秒之後,就會關閉程式。

相關文章