陳佳++張燕
摘要:以LPC1768作為核心芯片,使用九軸傳感器測(cè)量數(shù)據(jù),傳感器與CPU之間通過IIC通信。通過加速度計(jì)ADXL345、電子羅盤HMC5883和陀螺儀ITG3205獲取角度信息,對(duì)其進(jìn)行對(duì)比實(shí)驗(yàn)和分析,可以發(fā)現(xiàn)它們各自的優(yōu)劣所在。并通過簡(jiǎn)單的數(shù)據(jù)融合算法對(duì)傳感器進(jìn)行信息融合來獲取比較準(zhǔn)確的物體角度信息,以得到所需的物體空間姿態(tài)信息。
關(guān)鍵詞:機(jī)器人;角度測(cè)量;對(duì)比試驗(yàn);九軸傳感器;信息修正
中圖分類號(hào):TP212 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)29-0170-02
Design of Nine-Axis Sensor Angle Correction System Based on LPC1768
CHEN Jia , ZHANG Yan
(Nanjing University Jinling College, Nanjing 210089, China)
Abstract: Using LPC1768 as the core chip and the nine-axis sensor to measure data.The sensors communicate with the CPU through the IIC. The gyroscope ITG3205,the accelerometer ADXL345 and the electronic compass HMC5883 are used to obtain angle information.By comparative experiments and analysis, their own characteristic can be found.Also,the simple sensor data fusion algorithm should be used to make the information obtained more accurate.And then,the desired attitude information from the spatial coordinate system can be obtained .
Key words: robot; angle measurement; comparative experiment; nine-axis sensor; information correction
定位技術(shù)能夠獲取移動(dòng)機(jī)器人在任何時(shí)刻的相對(duì)位置,是實(shí)現(xiàn)導(dǎo)航和保證機(jī)器人自主導(dǎo)航的關(guān)鍵[1]。在移動(dòng)機(jī)器人的應(yīng)用方面,主要通過傳感器的使用來獲取環(huán)境信息,而單傳感器的局限性令其的準(zhǔn)確性無法保證,故,需要以多傳感器的組合使用,輔以數(shù)據(jù)融合來修正數(shù)據(jù),以期得到相對(duì)準(zhǔn)確的定位信息。
對(duì)于小范圍的移動(dòng)而言,相對(duì)定位是種比較好的方法,比如通過機(jī)器人角度的偏差來獲取其方向的變化。目前常用的獲取角度信息的傳感器有加速度計(jì)、陀螺儀和電子羅盤。其中加速度計(jì)可通過各軸的加速度分量來計(jì)算與x、y或z軸的夾角,在靜止時(shí)它只受重力影響而只能判斷z軸方向;陀螺儀通過對(duì)角速度積分獲取角度,但可能出現(xiàn)零漂;使用電子羅盤可獲得比較準(zhǔn)確的角度信息,但在磁場(chǎng)的干擾下,會(huì)出現(xiàn)很大的誤差。本文針對(duì)于如何獲取比較準(zhǔn)確的角度信息進(jìn)行了研究和討論。
論文研究的平臺(tái)是由陀螺儀ITG3205、三軸MEMS加速度計(jì)ADXL345、三軸電子羅盤HMC5883 以及以LPC1768為核心的單片組成的一個(gè)嵌入式角度測(cè)量系統(tǒng)。通過上位機(jī)的超級(jí)終端觀察比較各種傳感器獲取的角度值和實(shí)際值,并對(duì)機(jī)器人姿態(tài)變化中的角度信息進(jìn)行研究。
1 系統(tǒng)組成與結(jié)構(gòu)
本系統(tǒng)由以LPC1768為核心的開發(fā)板和集成了加速度計(jì)ADXL345、陀螺儀ITG3205以及電子羅盤HMC5883的九軸傳感器GY-85兩部分組成,兩者通過IIC進(jìn)行通信。
2 各傳感器優(yōu)缺點(diǎn)分析
2.1加速度計(jì)ADXL345分析
加速度計(jì)顧名思義,是通過物體移動(dòng)產(chǎn)生的慣性力來進(jìn)行測(cè)量的傳感器,可以從各加速度矢量分量的反正切運(yùn)算來得到其運(yùn)動(dòng)方向與各參考軸的夾角。其優(yōu)點(diǎn)在于因?yàn)橹亓τ绊懚潭ú蛔兊膮⒖糧軸,而缺點(diǎn)則表現(xiàn)在機(jī)器人靜止時(shí)無法獲取其水平姿態(tài)信息且由于加速度計(jì)太過靈敏,在獲取信息時(shí)可能產(chǎn)生非常大的誤差。
2.2陀螺儀ITG3205分析
陀螺儀是用高速回轉(zhuǎn)體的動(dòng)量矩敏感殼體相對(duì)慣性空間繞正交于自轉(zhuǎn)軸的角運(yùn)動(dòng)檢測(cè)裝置,可分別獲取繞三軸的旋轉(zhuǎn)的角加速度,在積分后可獲取角度值。它的優(yōu)點(diǎn)是獲取的角度值不受機(jī)器人加速度的影響,但也有著受溫度影響很大,且會(huì)出現(xiàn)積分漂移的缺點(diǎn)。
2.3電子羅盤HMC5883分析
電子羅盤根據(jù)地磁場(chǎng)來獲取與參考軸的角度信息。一般而言,能方便地獲取所需的方位信息,但由于電子羅盤極易受磁場(chǎng)影響,不可能不受到機(jī)器人其他模塊所產(chǎn)生的磁場(chǎng)的干擾,會(huì)產(chǎn)生相當(dāng)?shù)恼`差。
3 空間坐標(biāo)系角度修正
3.1坐標(biāo)系統(tǒng)建立
通過物體與空間參考坐標(biāo)系中各軸的角度差,可得到物體的相對(duì)空間朝向。由于受重力影響,加速度計(jì)始終有著豎直方向的分量,可以此作為參考用z軸;電子羅盤則被用作水平面的坐標(biāo)參考,在讀取并處理數(shù)據(jù)后可以得到物體在水平面中和參考x軸的夾角,從而確定物體的朝向。
由于不同傳感器的參考軸其實(shí)并不能完全重合,需要對(duì)它們的坐標(biāo)軸進(jìn)行處理以確立共同的參考坐標(biāo)系,這也是進(jìn)行數(shù)據(jù)融合的前置條件之一。
在數(shù)據(jù)融合處理前,必須對(duì)數(shù)據(jù)進(jìn)行關(guān)聯(lián),以保證所融合的信息是有關(guān)同一目標(biāo)或現(xiàn)象的信息,即保證數(shù)據(jù)融合的一致性[2]。這時(shí),就可以針對(duì)加速度計(jì)在短時(shí)間運(yùn)動(dòng)所得到的角度會(huì)有很大誤差,以及電子羅盤的讀數(shù)不準(zhǔn)等問題,使用陀螺儀來對(duì)角度進(jìn)行修正。
3.2 水平面數(shù)據(jù)修正
水平面的角度獲取主要通過電子羅盤HMC5883進(jìn)行。在實(shí)際使用中,可以發(fā)現(xiàn)由于磁場(chǎng)的干擾,該傳感器獲取的數(shù)據(jù)并不準(zhǔn)確,且在傾斜角等的影響下,甚至?xí)泻艽蟮臄?shù)據(jù)誤差。
在不同地點(diǎn)、不同溫度下磁場(chǎng)對(duì)其的影響不能一概而論,考慮到這點(diǎn),再加上本文中姿態(tài)傳感器所作用的對(duì)象是移動(dòng)機(jī)器人——它對(duì)于角度的要求并不是非常高,且其運(yùn)動(dòng)時(shí)幾乎都可視為勻速運(yùn)動(dòng),故,使用陀螺儀ITG3205來對(duì)角速度進(jìn)行積分來獲取轉(zhuǎn)角大小,同時(shí),規(guī)定電子羅盤的幾個(gè)固定點(diǎn)為零漂修正點(diǎn)來解決陀螺儀使用時(shí)間過長(zhǎng)時(shí)的角度漂移問題。
angle=[t0t1T(t)dt]+angle
angle≈(t1-t0)*T(t1)+angle
angle=?t*T(t1)+angle
在上式中,T(t)是t時(shí)間點(diǎn)陀螺儀所獲取并處理得到的角速度值,因?yàn)閠1和t0的時(shí)間間隔非常短,一般在毫秒級(jí),故,可以把這個(gè)過程看作一個(gè)勻速轉(zhuǎn)動(dòng)過程,轉(zhuǎn)動(dòng)時(shí)間為t1-t0,也就是?t,角速度是T(t1),從而簡(jiǎn)單獲取大概的轉(zhuǎn)動(dòng)角度。
在實(shí)際應(yīng)用中,考慮到器件的運(yùn)轉(zhuǎn)時(shí)間和傳感器的反應(yīng)時(shí)間,?t并不是理論值,要在實(shí)驗(yàn)中加以調(diào)整。
3.3 豎直面數(shù)據(jù)修正
豎直面的角度獲取主要是使用加速度計(jì)ADXL345。物體始終受重力影響,所以加速度計(jì)z軸上恒有值,在靜止時(shí)能得到物體與地面的夾角。
但在物體運(yùn)動(dòng)時(shí)可能會(huì)因?yàn)榧铀俣扔?jì)的太過靈敏而得到偏差較大的數(shù)值,故,結(jié)合電子羅盤ITG3205,使用加權(quán)平均法來修正數(shù)據(jù)。
加權(quán)平均法是一種最簡(jiǎn)單、最直觀的信息處理的融合算法,該方法把來自不同傳感器的冗余信息進(jìn)行加權(quán),得到的加權(quán)平均值即為融合的結(jié)果。其最大的弊端就是很難獲得最優(yōu)加權(quán)平均值且確定權(quán)值需要花費(fèi)大量的時(shí)間[3]。
通過文獻(xiàn)[4]可見,無論哪種機(jī)器人,在它的移動(dòng)過程中實(shí)時(shí)獲取姿態(tài)信息十分重要,故,機(jī)器人角度信息的獲取注重效率,采用簡(jiǎn)便快速的加權(quán)平均法是個(gè)不錯(cuò)的選擇。
一階互補(bǔ)濾波也是加權(quán)平均法的一種,由于對(duì)角度的精度要求并不高,且本文所研究的姿態(tài)傳感器系統(tǒng)十分簡(jiǎn)單,可以通過對(duì)比實(shí)驗(yàn)來確定傳感器的權(quán)值。
angle1 = K1 * angle_m+ (1-K1) * (angle1 + gyro_m * dt)
上式為一階互補(bǔ)濾波基礎(chǔ)公式,通過改變K1的數(shù)值來調(diào)整加速度計(jì)和陀螺儀獲取信息所占的比重;并根據(jù)實(shí)際實(shí)驗(yàn)來調(diào)整dt,這是將陀螺儀轉(zhuǎn)動(dòng)看做勻速運(yùn)動(dòng)來進(jìn)行近似角速度積分的積分時(shí)間,考慮到實(shí)際的程序運(yùn)行和緩沖時(shí)間,理論值不一定準(zhǔn)確,需要多加實(shí)驗(yàn)不斷調(diào)整。
4 實(shí)驗(yàn)結(jié)果
本文通過一個(gè)以lpc1768為核心,九軸傳感器GY-85為主要器件的物體姿態(tài)系統(tǒng)來獲取分別物體在空間坐標(biāo)系里的水平面朝向信息和豎直面朝向信息,并通過陀螺儀ITG3205對(duì)角度信息進(jìn)行修正。
在水平面上,通過陀螺儀的修正,外加磁場(chǎng)對(duì)傳感器系統(tǒng)的影響明顯減小,圖3是數(shù)據(jù)修正前后的對(duì)比曲線圖,可見修正后連續(xù)的角度信息曲線顯得平滑,有比較好的改良效果。另外在實(shí)際實(shí)驗(yàn)中,發(fā)現(xiàn)電子羅盤HMC5883能獲取的角度中,點(diǎn)90°等幾乎是保持不變的,可以以它們?yōu)榛鶞?zhǔn)點(diǎn),對(duì)陀螺儀進(jìn)行角度漂移的修正,從而提高水平角度信息的可靠性。
在豎直面上,由于重力作用,物體靜止時(shí)其與地面的夾角可視作是準(zhǔn)確的。而在物體運(yùn)動(dòng)時(shí),可通過與陀螺儀的一階互補(bǔ)濾波對(duì)其進(jìn)行角度修正,從圖4可見通過與ITG3205的加權(quán)平均法,一些由于加速度計(jì)敏感性而產(chǎn)生的,突兀的角度信息被修正了,減少了角度獲取上的誤差。
5 結(jié)束語(yǔ)
本文研究對(duì)象是以lpc1768為核心,九軸傳感器GY-85為基礎(chǔ)的姿態(tài)傳感器系統(tǒng)。通過將空間坐標(biāo)系分解成x-y平面坐標(biāo)系與x-z平面坐標(biāo)系來獲取物體在水平面與豎直面上的朝向角度信息,并通過陀螺儀對(duì)加速度計(jì)和電子羅盤的數(shù)據(jù)修正來改良獲取的角度信息,令其更加準(zhǔn)確。
以移動(dòng)機(jī)器人創(chuàng)新項(xiàng)目為思考基準(zhǔn),機(jī)器人本身的體積令其對(duì)朝向的角度信息要求并不高,但在移動(dòng)中需要實(shí)時(shí)更新姿態(tài)信息數(shù)據(jù),故本文使用的是簡(jiǎn)單的加權(quán)平均法和近似的積分算法,注重的不在于高精準(zhǔn)度,而是運(yùn)算的速度。
參考文獻(xiàn):
[1] 張燕, 夏慶鋒, 謝鵬飛. 基于多傳感器的姿態(tài)測(cè)量系統(tǒng)設(shè)計(jì)[J]. 機(jī)器人技術(shù)與應(yīng)用,2003(3):30-33.
[2] 高青.多傳感器數(shù)據(jù)融合算法研究.[D].西安:西安電子科技大學(xué),2008.
[3] 趙小川. 傳感器數(shù)據(jù)融合MATLAB程序?qū)崿F(xiàn)[M]. 機(jī)械工業(yè)出版社,2014:5.
[4] Ling Chen, Sen Wang and Huosheng Hu.Pose-based GraphSLAM Algorithm for Robotic Fish with a Mechanical Scanning Sonar:Shenzhen, China, December 2013
[5] Inven Sense公司.ITG3205 芯片手冊(cè).
[6] ADI 公司. ADXL345 中文PDF.
[7] 霍尼韋爾公司. HMC5883 中文PDF.