加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

【RT-Thread作品秀】基于RT-Thread的姿態(tài)解算控制平臺設(shè)計

2020/12/16
603
服務(wù)支持:
技術(shù)交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗、收獲成長和認同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當前內(nèi)容為數(shù)字版權(quán)作品,購買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論
放大
方塊圖(3)
  • 方案介紹
  • 相關(guān)文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

RT-Thread作品秀】基于RT-Thread的姿態(tài)解算控制平臺設(shè)計

作者:黃國盛

 

概述 

是一個姿態(tài)解算算法驗證平臺以及控制算法驗證平臺

 

實現(xiàn)步驟:

使用CubeMax HAL庫開發(fā);

使用Python project_generator生成工程;

精簡 RTT Master內(nèi)核并加入C++支持;

配置調(diào)試接口;

構(gòu)建C/C++混合編程框架;

硬件IIC驅(qū)動GY-86傳感器驅(qū)動;

MATLAB設(shè)計IIR Butterworth四階低通濾波器

傳感器校準;

Mahony互補濾波算法 實現(xiàn)姿態(tài)解算;

加入mavlink/私有協(xié)議、UDP/USB上傳數(shù)據(jù)到PC;

通過MATLAB/STM32驗證和比較各種算法;

搭建單軸單槳一維角度控制平臺;

……

 

開發(fā)環(huán)境 

硬件:

碳纖管碳纖槳電機座、電機電調(diào)電源、ART_Pi、GY86、按鍵模塊、硅膠線……

RT-Thread版本:

Master 4.0.3

開發(fā)工具及版本:

STM32CubeMX 6.0.1、IARforARM8.32.1、BeyondCompare4、MATLAB R2019b、VSCode、SmartGit20.1.5、匿名飛控地面站-0512……

RT-Thread使用情況概述

Pin、serial、cplusplus、time、finsh

硬件框架

ART_Pi、GY86、按鍵模塊、電調(diào)……

 

軟件框架說明

C/C++混合編程,進程和Loop Schedule結(jié)合

 

軟件模塊說明

核心部分:關(guān)于GY86的驅(qū)動以及姿態(tài)解算的Mahony

 

演示效果

演示視頻:

比賽感悟

 4/11/2020 Will_Watson

關(guān)于AHRS,卡爾曼濾波或互補濾波理解起來 簡單但實施難度較大因為很多參數(shù)有待測定;

發(fā)現(xiàn)各開源項目用的最多的是Mahony算法,關(guān)于它的PI部分的本質(zhì)著實難以理解;

當發(fā)現(xiàn)BP神經(jīng)網(wǎng)絡(luò)逼近好像可以和卡爾曼濾波一樣,就當成濾波器,而且它還可以是一個逼近式的濾波器,免不了一番測試比較;

而后查看Madgwick原文中提到“梯度下降法”,瞬間明白了它的根源和本質(zhì);

當學(xué)習BP神經(jīng)網(wǎng)絡(luò)逼近的時候的思考流程如下:

逼近的需求來源是什么?  可能是為了預(yù)測系統(tǒng)下一個輸出,為了做前饋控制?  預(yù)測 ——> 觀測器 ——> 逼近式濾波器???

神經(jīng)逼近網(wǎng)絡(luò) 的特性有哪些? 不具有長時記憶,短時記憶即可以說只具有最近時刻 原系統(tǒng)的逼近特性;

嘗試檢測濾波特性,從這個角度理解 逼近網(wǎng)絡(luò) 也是一個不斷修正的預(yù)估觀測器 或者說 卡爾曼濾波器

從執(zhí)行流程/濾波效果上 分析一維卡爾曼濾波 和 NNI-BP逼近一維非線性系統(tǒng)的 區(qū)別:

卡爾曼濾波流程: 先驗估計值——>先驗估計方差——>依據(jù)各方差融合傳感器數(shù)據(jù)做后驗估計——>更新后驗估計方差;

NNI-BP逼近流程: 由網(wǎng)絡(luò)前狀態(tài)和新輸入直接計算輸出——>與原系統(tǒng)輸出比較修正網(wǎng)絡(luò)狀態(tài)(是為了下一次直接獲得預(yù)估輸出);

注:把原系統(tǒng)輸出當成需濾波數(shù)據(jù);把神經(jīng)網(wǎng)絡(luò)輸出當成濾波后數(shù)據(jù)

卡爾曼濾波沒有階數(shù)的概念,而NNI-BP逼近的濾波特性具有一定延遲

卡爾曼濾波器的主要 控制參數(shù)(基于現(xiàn)實過程噪聲和觀測噪聲)不可控,轉(zhuǎn)移矩陣協(xié)方差矩陣需測得;

NNI-BP逼近 的主要 控制參數(shù)(學(xué)習速率和動量因子)可控 即濾波效果可調(diào)節(jié),逼近系統(tǒng)特性;

 也有一部分 “內(nèi)閉環(huán)軟擬硬輸入輸出”思想

當然算法的表現(xiàn)依然可以看起來就是加減乘除那么簡單,雙重卡爾曼看起來和做起來 可能沒那么友好;

 

  • 代碼地址.txt
    描述:代碼地址
  • 基于RT-Thread的姿態(tài)解算控制平臺設(shè)計.docx
    描述:基于RT-Thread的姿態(tài)解算控制平臺設(shè)計.docx

相關(guān)推薦

電子產(chǎn)業(yè)圖譜