馬 斌 謝世博
(華北水利水電大學(xué)信息工程學(xué)院 鄭州 450046)
推移質(zhì)一般指水流中沿床面滑動、跳躍、滾動以及層移方式運(yùn)動的泥沙。推移質(zhì)運(yùn)動為泥沙運(yùn)動力學(xué)研究的基礎(chǔ),河床變形由它產(chǎn)生,懸移質(zhì)運(yùn)動由它引起,因而對泥沙運(yùn)動和河床穩(wěn)定等有著重要意義[1~2]。以科學(xué)的方法對其進(jìn)行研究已逾百年,由于該領(lǐng)域涉及內(nèi)容較為寬廣且極為復(fù)雜,取得公認(rèn)的研究成果不多[3~4]。
慣性MEMS 微機(jī)電系統(tǒng)傳感器,由于其小體積、成本低、低功耗等優(yōu)點(diǎn),其應(yīng)用研究已成為當(dāng)今科研的熱點(diǎn),MEMS 傳感器技術(shù)被廣泛應(yīng)用在手勢識別、步態(tài)檢測、空間定位、無人機(jī)的姿態(tài)導(dǎo)航等方面[5~9]。隨著這些技術(shù)的廣泛應(yīng)用,傳統(tǒng)的推移質(zhì)石塊運(yùn)動規(guī)律研究中,比較常用的技術(shù)是數(shù)字圖像處理技術(shù)[10~11],通過高速攝像機(jī)[12~13]和數(shù)字圖像處理技術(shù)來獲得推移質(zhì)石塊的基本運(yùn)動物理參數(shù),進(jìn)一步獲得運(yùn)動軌跡;還有采用示蹤粒子記錄三維運(yùn)動圖像[14]。國外有基于四元數(shù)的地球引力和磁場測量方向估計(jì)算法引入地磁計(jì),利用四元數(shù)法對剛體運(yùn)動軌跡進(jìn)行研究[15]或開發(fā)SPY 方法等對推移質(zhì)運(yùn)動進(jìn)行研究[16]。
和基于高速相機(jī)與數(shù)字圖像處理技術(shù)研究推移質(zhì)石塊運(yùn)動相比,基于MEMS傳感器的研究不僅局限于室內(nèi)研究,本文提出用MEMS傳感器內(nèi)置到石塊內(nèi)部,無論石塊在什么場景下運(yùn)動,內(nèi)部的傳感器總是能提取到石塊運(yùn)動的相關(guān)數(shù)據(jù),并能讀取到PC端。
軌跡推算方面,用MEMS傳感器得到的加速度通過物理公式的演算得到每個(gè)時(shí)刻的速度和位置坐標(biāo)(這里采用的采樣頻率為50Hz);用陀螺儀數(shù)據(jù)來判斷每一個(gè)時(shí)刻的石塊的姿態(tài),為解算石塊下一個(gè)時(shí)刻的位置提供基礎(chǔ)。
傳感器采用的是JY901 姿態(tài)角度傳感器,JY901 姿態(tài)角度傳感器高度集成了加速度計(jì)、陀螺儀等傳感器,并且內(nèi)部集成了姿態(tài)解算器,配合卡爾曼濾波,輸出的穩(wěn)定性較好。JY901 姿態(tài)角度傳感器具體結(jié)構(gòu)如圖1所示。
圖1 JY901姿態(tài)角度傳感器
加速度的測量是通過加速度計(jì)實(shí)現(xiàn)的,并且分為X、Y、Z三個(gè)方向。在圖1 中,右上方標(biāo)出了模塊的軸向,其中右向?yàn)閄軸,上向?yàn)閅軸,垂直向外為Z軸,旋轉(zhuǎn)的方向按照右手法則,即右手的大拇指指向軸向,四指握拳,此時(shí)繞著這個(gè)軸旋轉(zhuǎn)的方向就是四指彎曲的方向。在設(shè)置界面校準(zhǔn)加速度之后,加速度計(jì)即可使用。圖2為傳感器設(shè)置界面。
圖2 傳感器設(shè)置界面
角速度的測量是通過陀螺儀傳感器實(shí)現(xiàn)的,并且分為X、Y、Z三個(gè)方向。因?yàn)槭瘔K的運(yùn)動是三維的,下一個(gè)時(shí)刻和當(dāng)前時(shí)刻的坐標(biāo)系不可能完全重合,所以每個(gè)時(shí)刻的姿態(tài)都在變化,每個(gè)時(shí)刻都有相對于上一時(shí)刻轉(zhuǎn)過的角度,陀螺儀傳感器的測量值為某時(shí)刻相對于坐標(biāo)系的轉(zhuǎn)動角速度。在設(shè)置界面校準(zhǔn)陀螺儀之后,陀螺儀即可使用。
實(shí)驗(yàn)過程中材質(zhì)是3D 打印的,傳感器是直接固定在載體上,因此得到的是以載體為參照物的坐標(biāo)系(假設(shè)此坐標(biāo)系為a 系),而真正在姿態(tài)求解過程中需要得到載體的地理坐標(biāo)系(假設(shè)此坐標(biāo)系為b 系),常見的姿態(tài)更新算法有歐拉角法、方向余弦法、四元數(shù)法,本文中采取四元數(shù)算法來進(jìn)行姿態(tài)解算。所謂的姿態(tài)解算,就是求出當(dāng)前的機(jī)體坐標(biāo)系a 相對于地理坐標(biāo)系b 的變化。由于a 系和b 系均為直角坐標(biāo)系,各軸之間始終保持直角,所以可將坐標(biāo)系理解成剛體,當(dāng)只研究兩個(gè)坐標(biāo)系間的角位置關(guān)系時(shí),可理解成剛體的定點(diǎn)轉(zhuǎn)動。而剛體定點(diǎn)轉(zhuǎn)動這個(gè)變化可以通過一個(gè)變換矩陣來表示,這個(gè)矩陣包含了剛體的所有姿態(tài)信息。
歐拉角能夠表示運(yùn)動的旋轉(zhuǎn)物體投影到空間坐標(biāo)軸上,在慣性系統(tǒng)中,歐拉角描述物體的旋轉(zhuǎn)的旋轉(zhuǎn)順序:首先為偏航角(Yaw),然后為俯仰角(Pitch),最后是滾轉(zhuǎn)角(Roll),反映到坐標(biāo)軸上為先繞Z軸旋轉(zhuǎn),再繞Y軸旋轉(zhuǎn),最后繞X軸旋轉(zhuǎn)。歐拉角表示的坐標(biāo)變換矩陣見式(1)。
在平面(x,y)中的旋轉(zhuǎn)可以用復(fù)數(shù)來表示,同樣的三維中的旋轉(zhuǎn)可以用單位四元數(shù)來描述。定義四元數(shù)為
對于i、j、k本身的幾何意義可以理解為一種旋轉(zhuǎn),其中i旋轉(zhuǎn)代表X軸與Y軸相交平面中X軸正向向Y軸正向的旋轉(zhuǎn),j旋轉(zhuǎn)代表Z軸與X軸相交平面中Z軸正向向X軸正向的旋轉(zhuǎn),k旋轉(zhuǎn)代表Y軸與Z軸相交平面中Y軸正向向Z軸正向的旋轉(zhuǎn),-i、-j、-k分別代表i、j、k旋轉(zhuǎn)的反向旋轉(zhuǎn)(如圖3 所示)。
圖3 四元數(shù)概念圖
表1為四元數(shù)的幾種表達(dá)方式。
表1 四元數(shù)的表達(dá)方式
算法總體設(shè)計(jì)圖如圖4。
圖4 算法總體設(shè)計(jì)圖
1)重力加速度規(guī)范化處理
加速度計(jì)數(shù)據(jù)規(guī)范化處理,就是把加速度計(jì)的三維向量轉(zhuǎn)換為單位向量,因?yàn)槭菃挝皇噶康絽⒖嘉锏耐队?,所以要把加速度?jì)數(shù)據(jù)單位化,其實(shí)規(guī)范化改變的只是這三個(gè)向量的長度,方向并沒有改變,也是為了與單位四元數(shù)對應(yīng)。
2)算法更新
(1)將當(dāng)前姿態(tài)的重力在三個(gè)軸上的分量分離出來,把四元數(shù)換算成方向余弦中的第三行的三個(gè)元素,就是地理坐標(biāo)系的Z軸的重力向量。
(2)注意是地理坐標(biāo)系(b 系)到載體坐標(biāo)系(a系)。
(3)慣性測量器件測量的都是關(guān)于a 系的值,將a系轉(zhuǎn)換到b系進(jìn)行導(dǎo)航參數(shù)求解。但是這里并不需要這樣做,因?yàn)檫@里是對陀螺儀進(jìn)行補(bǔ)償。
(4)此處更新的三個(gè)向量就是上一次的歐拉角的坐標(biāo)參考系換算出來的重力的單位向量。
3)向量差積
傳感器中測得的量為物體運(yùn)動的實(shí)際重力分量,算法更新得到的是推算出來的重力分量,它們之間的誤差向量,就是陀螺積分后的姿態(tài)和加速度計(jì)測出來的姿態(tài)之間的誤差。這個(gè)叉積向量仍舊是位于機(jī)體坐標(biāo)系上的,而陀螺積分誤差也是在機(jī)體坐標(biāo)系,而且叉積的大小與陀螺積分誤差成正比,正好拿來糾正陀螺。由于陀螺是對機(jī)體直接積分,所以對陀螺的糾正量會直接體現(xiàn)在對機(jī)體坐標(biāo)系的糾正。
4)四元數(shù)的微分方程
四元數(shù)的微分方程為
矩陣形式為
式中,wx,wy,wz為陀螺儀的測得量,通過此式更新四元數(shù)可以求得q0,q1,q2,q3。
5)四元數(shù)的規(guī)范化處理
由于計(jì)算中存在誤差,并且陀螺儀在測值的過程中一直在累積誤差,而用來表征旋轉(zhuǎn)的四元數(shù)應(yīng)該是規(guī)范的四元數(shù),所以在此需要對四元數(shù)規(guī)范化處理。用處理過的四元數(shù)去求重力分量。
由此,用得到的實(shí)際加速度和Δt進(jìn)行積分,再用姿態(tài)矩陣求解位置,就能得到石塊在空間中的運(yùn)動軌跡。
本次實(shí)場景采取室內(nèi)無水水槽條件和實(shí)驗(yàn)室相結(jié)合進(jìn)行,傳感器數(shù)據(jù)采集間隔為0.02s,實(shí)驗(yàn)測得的部分原始加速度和角速度如表2所示。
表2 傳感器采集的部分?jǐn)?shù)據(jù)
其中vx,vy,vz為接收到的石塊運(yùn)動過程中的部分原始加速度,加速度的單位為gm2/s;wx,wy,wz為接收到的石塊運(yùn)動過程中的部分原始加速度,角速度的單位為rad/s。
部分解算軌跡如圖5~8所示。
圖5 運(yùn)動軌跡
圖6 運(yùn)動軌跡
圖7 運(yùn)動軌跡
圖8 運(yùn)動軌跡
本文提出了一種基于MEMS 傳感器的推移質(zhì)中石塊運(yùn)動軌跡解算方法。通過加速度和角速度計(jì)的數(shù)據(jù)采集,通過不斷地四元數(shù)更新結(jié)合物理學(xué)加速度、角速度,使石塊的運(yùn)動落實(shí)到空間中的每個(gè)點(diǎn)上,通過規(guī)范化處理和向量叉積減小誤差,使石塊運(yùn)動展現(xiàn)的更立體。后續(xù)可以結(jié)合機(jī)器學(xué)習(xí)和深度學(xué)習(xí),通過大量訓(xùn)練得到一定條件下石塊運(yùn)動的特征,在發(fā)生與之關(guān)的地質(zhì)災(zāi)害時(shí)可以進(jìn)行有效的預(yù)防。