關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 雙軸微機械陀螺儀的移動機器人運動檢測系統

        雙軸微機械陀螺儀的移動機器人運動檢測系統

        作者: 時間:2010-12-08 來源:網絡 收藏

        引言
        在未知環境中,路況具有復雜性及未知性特點。移動機器人準確的路況探測及其自身的平穩運行,對機載設備與探測任務本身都非常重要。目前,對移動機器人運動控制研究多集中在前向通道的算法研究,有關狀態信息檢測、傳輸反饋環節的研究相對較少。
        雙軸微機械陀螺儀傳感器可以測量機器人的俯仰與翻轉,但微機械陀螺儀有隨機漂移性,無法直接應用,需要對輸出值作算法處理。參考文獻中的微機械陀螺儀隨機漂移的算法,可以在一定程度上解決漂移方面的問題,但仍有改進的空間,濾波性能有待進一步優化提高。在現有自適應UKF算法的基礎上,改變比例對稱采樣策略的相關參數可達到較好的濾波效果。現有的以ATmegal6為微處理器的CAN總線程序還有一些不完備之處,本文采用PeliCAN模式加入了完備的錯誤分析程序,并支持系統自身測試功能。

        1 系統硬件設計
        移動機器人運動檢測系統原理如圖1所示。采用InvenSense公司生產的IDG300型雙軸微機械陀螺儀進行移動機器人運動過程的俯仰與翻轉角度檢測;A/D采樣電路的主芯片為8位A/D轉換器ADC0809。采集的數據經改進的自適應UKF算法濾波后,經CAN節點向運動控制平臺傳輸機器人的運動狀態數據。以ATmegal6為微處理器,SJAl000為CAN協議控制器,PCA82C250為CAN收發器的CAN節點原理如圖2所示。

        本文引用地址:http://www.104case.com/article/162594.htm



        2 系統軟件設計
        2.1 改進自適應UKF濾波算法

        改進的自適應UKF算法如圖3所示。


        經典UKF濾波算法采用某種策略得到狀態估計sigma點集后,大致分兩個步驟預測與更新,具體方程見參考文獻。不同的采樣策略會影響sigma點采樣及sigma點個數計算。比例對稱采樣方法中具體的sigma點采樣方法為:

        式(1)~式(5)中需要確定3個參數α、β和κ。有一定的經驗值,但是微機械陀螺儀不同時間測量輸出差別較大,固定的值不能滿足角度測量的需要。在陀螺儀輸出值有明顯差別時,需要采用最小二乘支持向量回歸機(LSSVR)對α、β和κ值進行回歸,支持向量機對小樣本的支持,因此可以做出下一步較準確的預測。結合參考文獻中的算法原理,算法步驟如下:
        ①輸入狀態初始條件的值(;β=2,κ=O或3-n,n取1~3)。
        ②卡爾曼濾波估計的參數輸入RBF神經網絡,利用神經網絡的自適應能力和函數逼近能力對這些特征量進行訓練調整。
        ③更新方程。若輸出角度輸出較準確,則數據發往CAN總線,程序轉至第②步。
        ④若輸出角度有偏差,則LSSVR算法調整參數α、β、κ的值,程序轉至第②步。
        2.2 CAN節點程序設計
        以ATmegal6作CAN節點的微處理器需要解決端口(ALE,RD/E,/WR)的模擬問題。CAN節點部分主從機,節點ID地址決定是否接收任務以及發送的順序;幀格式采用數據幀;幀類型采用擴展幀;PB0~PB7作地址數據總線;PC3輸出片選信號;PC4控制SJAl000的復位引腳;INT0(PD2)控制終端信號。錯誤檢測分析程序包括:仲裁丟失捕捉(ALE)、錯誤代碼捕捉(ECC)、錯誤警告限制(EWLR)、RX錯誤計數(RXERR)、TX錯誤計數(TXERR)寄存器配置。
        程序流程如下:
        ①SJAl000寄存器地址配置;
        ②CAN初始化、進入復位狀態配置時鐘分頻、代碼驗收、驗收屏蔽寄存器。
        ③等待總線數據,判別報文是否有效:若有效,進入收發函數,發送完畢轉至第③步;若報文無效,則進行錯誤處理,程序轉至下一步;
        ④錯誤分析,丟掉錯誤報文。程序轉至第③步。


        上一頁 1 2 下一頁

        關鍵詞: 編解碼器

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 措美县| 紫云| 聊城市| 景谷| 井陉县| 微博| 荆门市| 图木舒克市| 克拉玛依市| 巍山| 余姚市| 肥城市| 吉木乃县| 夹江县| 威远县| 陆良县| 宜宾市| 龙山县| 缙云县| 乌兰察布市| 博客| 教育| 宝兴县| 崇阳县| 临安市| 满城县| 林州市| 阳高县| 揭阳市| 石家庄市| 疏勒县| 黑河市| 西林县| 灵武市| 通榆县| 遂昌县| 大渡口区| 北川| 镇宁| 绥棱县| 句容市|