馬 斌 謝世博
(華北水利水電大學信息工程學院 鄭州 450046)
推移質一般指水流中沿床面滑動、跳躍、滾動以及層移方式運動的泥沙。推移質運動為泥沙運動力學研究的基礎,河床變形由它產生,懸移質運動由它引起,因而對泥沙運動和河床穩定等有著重要意義[1~2]。以科學的方法對其進行研究已逾百年,由于該領域涉及內容較為寬廣且極為復雜,取得公認的研究成果不多[3~4]。
慣性MEMS 微機電系統傳感器,由于其小體積、成本低、低功耗等優點,其應用研究已成為當今科研的熱點,MEMS 傳感器技術被廣泛應用在手勢識別、步態檢測、空間定位、無人機的姿態導航等方面[5~9]。隨著這些技術的廣泛應用,傳統的推移質石塊運動規律研究中,比較常用的技術是數字圖像處理技術[10~11],通過高速攝像機[12~13]和數字圖像處理技術來獲得推移質石塊的基本運動物理參數,進一步獲得運動軌跡;還有采用示蹤粒子記錄三維運動圖像[14]。國外有基于四元數的地球引力和磁場測量方向估計算法引入地磁計,利用四元數法對剛體運動軌跡進行研究[15]或開發SPY 方法等對推移質運動進行研究[16]。
和基于高速相機與數字圖像處理技術研究推移質石塊運動相比,基于MEMS傳感器的研究不僅局限于室內研究,本文提出用MEMS傳感器內置到石塊內部,無論石塊在什么場景下運動,內部的傳感器總是能提取到石塊運動的相關數據,并能讀取到PC端。
軌跡推算方面,用MEMS傳感器得到的加速度通過物理公式的演算得到每個時刻的速度和位置坐標(這里采用的采樣頻率為50Hz);用陀螺儀數據來判斷每一個時刻的石塊的姿態,為解算石塊下一個時刻的位置提供基礎。
傳感器采用的是JY901 姿態角度傳感器,JY901 姿態角度傳感器高度集成了加速度計、陀螺儀等傳感器,并且內部集成了姿態解算器,配合卡爾曼濾波,輸出的穩定性較好。JY901 姿態角度傳感器具體結構如圖1所示。

圖1 JY901姿態角度傳感器
加速度的測量是通過加速度計實現的,并且分為X、Y、Z三個方向。在圖1 中,右上方標出了模塊的軸向,其中右向為X軸,上向為Y軸,垂直向外為Z軸,旋轉的方向按照右手法則,即右手的大拇指指向軸向,四指握拳,此時繞著這個軸旋轉的方向就是四指彎曲的方向。在設置界面校準加速度之后,加速度計即可使用。圖2為傳感器設置界面。

圖2 傳感器設置界面
角速度的測量是通過陀螺儀傳感器實現的,并且分為X、Y、Z三個方向。因為石塊的運動是三維的,下一個時刻和當前時刻的坐標系不可能完全重合,所以每個時刻的姿態都在變化,每個時刻都有相對于上一時刻轉過的角度,陀螺儀傳感器的測量值為某時刻相對于坐標系的轉動角速度。在設置界面校準陀螺儀之后,陀螺儀即可使用。
實驗過程中材質是3D 打印的,傳感器是直接固定在載體上,因此得到的是以載體為參照物的坐標系(假設此坐標系為a 系),而真正在姿態求解過程中需要得到載體的地理坐標系(假設此坐標系為b 系),常見的姿態更新算法有歐拉角法、方向余弦法、四元數法,本文中采取四元數算法來進行姿態解算。所謂的姿態解算,就是求出當前的機體坐標系a 相對于地理坐標系b 的變化。由于a 系和b 系均為直角坐標系,各軸之間始終保持直角,所以可將坐標系理解成剛體,當只研究兩個坐標系間的角位置關系時,可理解成剛體的定點轉動。而剛體定點轉動這個變化可以通過一個變換矩陣來表示,這個矩陣包含了剛體的所有姿態信息。
歐拉角能夠表示運動的旋轉物體投影到空間坐標軸上,在慣性系統中,歐拉角描述物體的旋轉的旋轉順序:首先為偏航角(Yaw),然后為俯仰角(Pitch),最后是滾轉角(Roll),反映到坐標軸上為先繞Z軸旋轉,再繞Y軸旋轉,最后繞X軸旋轉。歐拉角表示的坐標變換矩陣見式(1)。
在平面(x,y)中的旋轉可以用復數來表示,同樣的三維中的旋轉可以用單位四元數來描述。定義四元數為
對于i、j、k本身的幾何意義可以理解為一種旋轉,其中i旋轉代表X軸與Y軸相交平面中X軸正向向Y軸正向的旋轉,j旋轉代表Z軸與X軸相交平面中Z軸正向向X軸正向的旋轉,k旋轉代表Y軸與Z軸相交平面中Y軸正向向Z軸正向的旋轉,-i、-j、-k分別代表i、j、k旋轉的反向旋轉(如圖3 所示)。

圖3 四元數概念圖
表1為四元數的幾種表達方式。

表1 四元數的表達方式
算法總體設計圖如圖4。

圖4 算法總體設計圖
1)重力加速度規范化處理
加速度計數據規范化處理,就是把加速度計的三維向量轉換為單位向量,因為是單位矢量到參考物的投影,所以要把加速度計數據單位化,其實規范化改變的只是這三個向量的長度,方向并沒有改變,也是為了與單位四元數對應。
2)算法更新
(1)將當前姿態的重力在三個軸上的分量分離出來,把四元數換算成方向余弦中的第三行的三個元素,就是地理坐標系的Z軸的重力向量。
(2)注意是地理坐標系(b 系)到載體坐標系(a系)。
(3)慣性測量器件測量的都是關于a 系的值,將a系轉換到b系進行導航參數求解。但是這里并不需要這樣做,因為這里是對陀螺儀進行補償。
(4)此處更新的三個向量就是上一次的歐拉角的坐標參考系換算出來的重力的單位向量。
3)向量差積
傳感器中測得的量為物體運動的實際重力分量,算法更新得到的是推算出來的重力分量,它們之間的誤差向量,就是陀螺積分后的姿態和加速度計測出來的姿態之間的誤差。這個叉積向量仍舊是位于機體坐標系上的,而陀螺積分誤差也是在機體坐標系,而且叉積的大小與陀螺積分誤差成正比,正好拿來糾正陀螺。由于陀螺是對機體直接積分,所以對陀螺的糾正量會直接體現在對機體坐標系的糾正。
4)四元數的微分方程
四元數的微分方程為
矩陣形式為
式中,wx,wy,wz為陀螺儀的測得量,通過此式更新四元數可以求得q0,q1,q2,q3。
5)四元數的規范化處理
由于計算中存在誤差,并且陀螺儀在測值的過程中一直在累積誤差,而用來表征旋轉的四元數應該是規范的四元數,所以在此需要對四元數規范化處理。用處理過的四元數去求重力分量。
由此,用得到的實際加速度和Δt進行積分,再用姿態矩陣求解位置,就能得到石塊在空間中的運動軌跡。
本次實場景采取室內無水水槽條件和實驗室相結合進行,傳感器數據采集間隔為0.02s,實驗測得的部分原始加速度和角速度如表2所示。

表2 傳感器采集的部分數據
其中vx,vy,vz為接收到的石塊運動過程中的部分原始加速度,加速度的單位為gm2/s;wx,wy,wz為接收到的石塊運動過程中的部分原始加速度,角速度的單位為rad/s。
部分解算軌跡如圖5~8所示。

圖5 運動軌跡

圖6 運動軌跡

圖7 運動軌跡

圖8 運動軌跡
本文提出了一種基于MEMS 傳感器的推移質中石塊運動軌跡解算方法。通過加速度和角速度計的數據采集,通過不斷地四元數更新結合物理學加速度、角速度,使石塊的運動落實到空間中的每個點上,通過規范化處理和向量叉積減小誤差,使石塊運動展現的更立體。后續可以結合機器學習和深度學習,通過大量訓練得到一定條件下石塊運動的特征,在發生與之關的地質災害時可以進行有效的預防。