張雪梅
(山西職業(yè)技術學院 電子與通信工程系,山西 太原 030006)
隨著智能技術的快速發(fā)展,人機模型和多維環(huán)境交互變得相當成熟[1],近年來也逐步被應用到了煤礦開采行業(yè)。但大多應用只是為煤礦企業(yè)等單位提供了一種全新的培訓技術手段,以現(xiàn)場真實數(shù)據(jù)驅(qū)動的三維仿真應用仍然較少。
本文基于煤礦綜采工作面特殊工況環(huán)境,設計了ZigBee無線傾角傳感器,構(gòu)建了無線交差網(wǎng)狀網(wǎng)網(wǎng)絡架構(gòu),保證了液壓支架姿態(tài)數(shù)據(jù)的穩(wěn)定采集傳輸。以現(xiàn)場無線傾角傳感器姿態(tài)數(shù)據(jù)為驅(qū)動數(shù)據(jù)源,基于Unity3D構(gòu)建液壓支架三維模型,設計了真實傳感數(shù)據(jù)驅(qū)動的液壓支架三維姿態(tài)監(jiān)測仿真系統(tǒng)。
傾角傳感器無線通信采用ZigBee無線射頻技術,選用TI公司的2.4 GHz ZigBee應用片上系統(tǒng)解決方案專用芯片CC2530作為無線通信芯片,無線傾角傳感器電路原理圖見圖1.
圖1中RFX2401C為2.4 GHz單芯片射頻前端信號放大器,CC2530 RF輸入輸出高阻抗差分信號經(jīng)巴倫芯片2450BM15A0002轉(zhuǎn)換成單端信號,連接到RFX2401C的收發(fā)器端口TXRX,天線端口ANT使用外接50Ω天線進行阻抗匹配。極少外圍器件射頻前端芯片RFX2401C和巴倫芯片2450BM15A0002的使用,簡化了無線射頻電路設計,降低了射頻電路中由于被動器件參數(shù)誤差造成的無線信號衰減[2].
圖1 無線傾角傳感器電路原理圖
CC2530提供了USART0和USART1兩個串行通信接口。設置USART0工作于SPI模式,連接三軸加速度計ADXL345;設置USART1工作于UART模式,用于傳感器與外部設備通信。USART1接口信號首先經(jīng)過兩片光電耦合器FOD053 L進行電氣隔離和電壓轉(zhuǎn)換,最后通過SN65HVD3082ED轉(zhuǎn)換為RS485總線信號。
由于對ADXL345輸出直接進行積分計算傾角,與零點偏置穩(wěn)定性有關的誤差會隨著積分周期的增加而快速累積,所以利用重力矢量及其在加速度計軸上的投影來計算靜態(tài)傾角。
根據(jù)支架與圍巖的相互作用關系,兩柱掩護式液壓支架結(jié)構(gòu)穩(wěn)定,與圍巖作用關系好,是目前礦井應用最為普遍的支架類型[3].以兩柱掩護式液壓支架為研究對象,分別在每個液壓支架的頂梁、底座及前連桿上部署ZigBee無線傾角傳感器,建立以頂梁、底座及前連桿角度為自變量的支架姿態(tài)監(jiān)測方法。
設計支架底座上ZigBee無線傾角傳感器為協(xié)調(diào)器節(jié)點,負責無線網(wǎng)絡的建立和維護。頂梁和前連桿上ZigBee無線傾角傳感器為路由器節(jié)點,負責無線網(wǎng)絡數(shù)據(jù)路由和采集。整個工作面ZigBee無線傾角傳感器組成交差網(wǎng)狀網(wǎng)拓撲結(jié)構(gòu),見圖2.
圖2 ZigBee無線傾角傳感器網(wǎng)絡拓撲圖
每個支架底座ZigBee協(xié)調(diào)器節(jié)點上電啟動后各自建立一個ZigBee無線網(wǎng)絡,對近距離頂梁和前連桿ZigBee路由器節(jié)點進行網(wǎng)絡覆蓋。頂梁和前連桿ZigBee路由器節(jié)點上電啟動或網(wǎng)絡斷開重連時,依據(jù)無線網(wǎng)絡覆蓋信號強度,加入信號最強的協(xié)調(diào)器節(jié)點發(fā)起的無線網(wǎng)絡,進行數(shù)據(jù)采集和路由轉(zhuǎn)發(fā)。
工作面所有無線傾角傳感器依據(jù)安裝支架編號及安裝位置進行唯一性編碼標識,并固化存儲到傳感器FLASH芯片內(nèi)。ZigBee無線網(wǎng)絡組建完成后,支架底座、頂梁及前連桿無線傾角傳感器各自采集對應位置姿態(tài)數(shù)據(jù),協(xié)同傳感器自身唯一編碼標識及校驗和進行數(shù)據(jù)組包。底座協(xié)調(diào)器節(jié)點數(shù)據(jù)包通過RS485總線直接發(fā)送到本架液壓支架電液控制器,頂梁和前連桿路由器節(jié)點數(shù)據(jù)包路由轉(zhuǎn)發(fā)到所加入無線網(wǎng)絡協(xié)調(diào)器節(jié)點,由協(xié)調(diào)器節(jié)點發(fā)送到相應液壓支架電液控制器[4].
基于液壓支架對稱性結(jié)構(gòu)特點,在進行運動學分析時,兩柱掩護式液壓支架可簡化為二維平面桿鉸鏈機構(gòu)模型(圖3)[5].設O為坐標原點,水平向左和垂直向上為X軸和Y軸正方向。A—K為支架結(jié)構(gòu)件間的鉸接點。L1—L24為支架制造原始結(jié)構(gòu)尺寸。M為立柱長度,N為平衡千斤頂長度,H為支架支撐高度。
圖3 支架二維平面機構(gòu)模型圖
設α、β、γ分別為頂梁、前連桿、底座與X軸正方向的夾角,由傾角傳感器測得。設θ1、θ2、θ3、θ4分別為后連桿、掩護梁、立柱、平衡千斤頂與X軸正方向的夾角,(XA,YA)~(XK,YK)分別為鉸接點A—K的坐標值。由此可求得鉸接點A、B、C及E的坐標值:
(1)
(2)
(3)
(4)
連接鉸接點BA、ED及GE,設δ1、δ2及δ5分別為LBA、LED及LGE與X軸正方向的夾角,姿態(tài)解析模型見圖4.
圖4 姿態(tài)解析模型圖
其中,LBA、LED、LGE長度和δ1、δ3、δ4角度均可依據(jù)支架二維平面機構(gòu)模型,由支架已知參數(shù)求得。由L3、L4、LBA、LED四連桿結(jié)構(gòu)可得如下等式:
L3sin(π-β)+LBAsinδ1=LEDsinδ2+L4sin(π-θ1)
(5)
L3cos(π-β)+LEDcosδ2=LBAcosδ1+L4cos(π-θ1)
(6)
在給定β的情況下,由等式(5)和(6)聯(lián)立可求得θ1及δ2.又由圖4分析可知:θ2=δ2+δ3,δ5=θ2-δ4+π/2.因此在已知E點坐標的情況下,可求得G點的坐標:
(7)
從而,由圖3進一步可求得J、K點的坐標,立柱及平衡千斤頂工作長度M、N,立柱及平衡千斤頂與X軸正方向的夾角θ3、θ4:
(8)
(9)
(10)
(11)
θ3=tan-1(YK-YC)/(XK-XC)
(12)
θ4=tan-1(YJ-YF)/(XJ-XF)
(13)
三維模型是構(gòu)成游戲場景的主要元素,Unity3D自身只提供了盒子、球體、膠囊等簡單三維模型。使用三維建模軟件3DMAX,按照液壓支架實際制造尺寸進行精確建模設計、添加模型材質(zhì)、設置模型組件坐標原點及父子關系等,最后導出為Unity軟件支持的3D模型格式FBX文件。
以支架銷軸方向為Z軸方向進行三維建模設計,支架模型組件坐標原點設置見圖5,其中鉸接點O、A、B、C、E、F、G分別為底座、后連桿、前連桿、立柱、掩護梁、平衡千斤頂及頂梁模型組件坐標原點。為了達到精確的三維姿態(tài)仿真效果,按照支架降柱到最底部的位姿進行建模設計,并且存儲初始位姿參數(shù)到基礎信息數(shù)據(jù)庫,用于初始化模型驅(qū)動腳本變量。
圖5 支架模型組件坐標原點設置圖
設置底座為根節(jié)點父模型,立柱、前連桿、后連桿為其子模型;掩護梁為前連桿的子模型,頂梁、平衡千斤頂為掩護梁的子模型。
三維姿態(tài)仿真實現(xiàn)流程見圖6,姿態(tài)數(shù)據(jù)采集服務程序負責與支架電液控制器建立連接,通過RS485總線實時讀取電液控制器轉(zhuǎn)發(fā)的傾角傳感器數(shù)據(jù),以服務接口的形式給姿態(tài)計算引擎提供支架姿態(tài)數(shù)據(jù)?;A信息數(shù)據(jù)庫用于存儲錄入的支架原始制造尺寸及支架模型初始位姿參數(shù),供姿態(tài)計算引擎及三維模型驅(qū)動腳本使用。
圖6 三維姿態(tài)仿真流程圖
姿態(tài)計算引擎首先從基礎信息數(shù)據(jù)庫加載支架原始制造尺寸數(shù)據(jù)(L1—L24)到計算機內(nèi)存,實時從姿態(tài)數(shù)據(jù)采集服務程序讀取各支架傾角傳感器數(shù)據(jù)(α、β、γ),利用姿態(tài)數(shù)學模型動態(tài)計算后連桿、掩護梁、立柱、平衡千斤頂與X軸正方向夾角θ1、θ2、θ3、θ4,立柱及平衡千斤頂工作長度M、N,采用全局變量的形式傳遞給三維模型驅(qū)動腳本。
使用C#語言作為腳本程序開發(fā)語言,掛接腳本到根節(jié)點父模型,通過Find方法獲取指定名稱模型游戲?qū)ο?,通過Transform類成員方法Rotate和Translate控制游戲?qū)ο笮D(zhuǎn)和移動。在腳本程序變量申明部分,首先為各模型組件游戲?qū)ο笊昝骱缶Y為_new和_old兩個變量,其中_new變量存儲游戲?qū)ο笞钚聽顟B(tài)值,由姿態(tài)計算引擎實時更新,_old變量存儲游戲?qū)ο笊弦粋€狀態(tài)值。
在Start方法中,通過讀取基礎信息數(shù)據(jù)庫模型初始位姿參數(shù)對各模型組件游戲?qū)ο骭new和_old變量進行初始化賦值,且初始化_new等于_old.在Update方法中,通過計算_new和_old的差值實時獲取各模型組件游戲?qū)ο竺恳粠D(zhuǎn)的角度或移動的長度。腳本程序Update方法中,支架底座及立柱模型組件游戲?qū)ο罂刂剖纠a如下:
void Update(){
private float r_dizuo;
private float r_lizhu;
private float m_ lizhu;
r_dizuo=r_dizuo_new-r_dizuo_old;
m_transform.Find(“dizuo”).Rotate(new Vector3(0, 0, r_dizuo));
r_dizuo_old=r_dizuo_new;
r_lizhu=r_ lizhu _new-r_ lizhu _old;
m_lizhu=m_lizhu_new-m_lizhu_old;
m_transform.Find(“l(fā)izhu”).Rotate(new Vector3(0, 0, r_lizhu));
m_transform.Find(“l(fā)izhu”).Translate(new Vector3(m_lizhu * Mathf.Cos(r_ lizhu _new), m_lizhu * Mathf.Sin(r_ lizhu _new), 0);
r_ lizhu _old=r_ lizhu _new;
m_lizhu_old=m_lizhu_new;
}
實踐表明,液壓支架姿態(tài)變化形式主要是頂梁的抬頭及低頭,底座的抬頭及低頭[6].借助某支架制造廠液壓支架測試臺,在被測支架的底座、頂梁及前連桿上部署無線傾角傳感器,針對頂梁和底座的抬頭、低頭對三維姿態(tài)仿真系統(tǒng)進行測試驗證。
實驗1:調(diào)整液壓支架測試臺角度調(diào)節(jié)油缸,使支架底座保持水平(γ=0°),頂梁分別處于抬頭(α=5°)、低頭(α=-5°)及水平(α=0°),三維姿態(tài)仿真界面分別見圖7a)、7b)及7c).
圖7 支架底座水平三維姿態(tài)仿真圖
實驗2:調(diào)整液壓支架測試臺角度調(diào)節(jié)油缸,使支架底座處于抬頭(γ=-5°),頂梁分別處于抬頭(α=5°)、低頭(α=-5°)及水平(α=0°),三維姿態(tài)仿真界面分別見圖8a)、8b)及8c).
圖8 支架底座抬頭三維姿態(tài)仿真圖
實驗3:調(diào)整液壓支架測試臺角度調(diào)節(jié)油缸,使支架底座處于低頭(γ=5°),頂梁分別處于抬頭(α=5°)、低頭(α=-5°)及水平(α=0°),三維姿態(tài)仿真界面分別見圖9a)、9b)及9c).
圖9 支架底座低頭三維姿態(tài)仿真圖
對比試驗1、2、3液壓支架測試臺設定值和圖7、8、9傳感器讀數(shù)可知,傾角傳感器采集數(shù)據(jù)偏差均小于0.5°,精度可滿足液壓支架姿態(tài)監(jiān)測功能需求。從圖7、8、9可以看出,支架三維姿態(tài)仿真系統(tǒng)較好地實現(xiàn)了真實數(shù)據(jù)驅(qū)動下的支架底座及頂梁的抬頭、低頭姿態(tài)仿真。
基于ZigBee無線技術設計了支架姿態(tài)監(jiān)測傾角傳感器,借助液壓支架電液控制器作為數(shù)據(jù)中轉(zhuǎn),構(gòu)建了ZigBee交差網(wǎng)狀網(wǎng)無線傳感網(wǎng)絡架構(gòu),有效保證了支架姿態(tài)數(shù)據(jù)的穩(wěn)定采集和傳輸。基于Unity3D開發(fā)平臺,借助支架二維數(shù)學模型,設計了真實傳感器數(shù)據(jù)驅(qū)動的液壓支架三維姿態(tài)監(jiān)測仿真系統(tǒng),為煤礦綜采工作面三維可視化及虛擬現(xiàn)實應用提供了技術基礎。