余 景
(西安石油大學,陜西 西安 710065)
現(xiàn)階段隨著網(wǎng)絡(luò)信息以及嵌入式系統(tǒng)[1]技術(shù)的快速發(fā)展,嵌入式接入Internet端口服務器已經(jīng)在網(wǎng)絡(luò)服務器中廣泛應用,因為其可以運用本身的通用性以及交互性來為嵌入式設(shè)備提供新的網(wǎng)絡(luò)端口,實現(xiàn)網(wǎng)絡(luò)的遠程監(jiān)控。
多層級力覺交互技術(shù)[2]是指在網(wǎng)絡(luò)中構(gòu)建一個既模擬又真實的場景,保證操作過程具有良好且真實的環(huán)境感受。在虛擬場景構(gòu)建中,為了打造相對逼真的模擬物理場景,需要把該場景中的全部物體特征反饋給操作者。在交互過程中,所應用的場景信息均是肉眼可見的視覺信息,在此基礎(chǔ)上,借助一定的工具對模擬環(huán)境進行具體操作,由此來感受該環(huán)境帶來的反作用力。同時為了加強交互系統(tǒng)整體的真實感,需要結(jié)合圖顯和力覺顯示,才能夠明顯的感受出力覺交互。
力覺交互系統(tǒng)是一個擁有反饋能力的人機交互設(shè)備,這個系統(tǒng)還可以讓實際運行者對虛擬環(huán)境中的物體進行實際操作,以實現(xiàn)感受到物體反作用力[3]的目的。
宋達等人[4]設(shè)計一種結(jié)合虛擬現(xiàn)實(VR)技術(shù)的柔索牽引式力覺交互機器人。首先,根據(jù)微重力環(huán)境中物體的運動特性設(shè)計機器人構(gòu)型,建立移動平臺、驅(qū)動單元、人推物體運動過程的動力學模型并進行運動學分析。然后,針對系統(tǒng)冗余驅(qū)動及力控制任務,提出一種復合控制策略,即以柔索長度變化為速度控制內(nèi)環(huán),力的外環(huán)控制為力/速混合控制,完成力覺交互研究。
王坤等人[5]提出采用基于位置的流體來模擬剛體工具與流體的交互。該方法在傳統(tǒng)光滑粒子動力學算法的基礎(chǔ)上進行改進,基于CUDA并行計算平臺實時模擬交互過程,并結(jié)合力覺交互設(shè)備實時輸出交互力,完整二者之間的在線交互變化研究。
但是上述兩種方法的模擬過程過于復雜,且模擬場景真實性較差?;诖?,提出支持嵌入式Web服務器的多層級力覺交互方法,在嵌入式Web服務器的基礎(chǔ)上添加離散LOD模型,獲取相對應的多層級力覺交互序列號。根據(jù)SCP層級映射算法,獲得模型的速度參數(shù)值以及切換速度,完成力覺交互。
通常情況下,嵌入式服務器會將Web引入到控制測試設(shè)備中,在擁有相對硬件、軟件系統(tǒng)支持的情況下,讓該技術(shù)變成底層通信協(xié)議,形成以Web為中心的網(wǎng)絡(luò)測試和控制端口設(shè)備。該設(shè)備的具體執(zhí)行功能是:網(wǎng)絡(luò)頁面信息發(fā)布,其中包括靜態(tài)與動態(tài)信息;提供固定接口,進行有效的檢測設(shè)備連接。由于這項技術(shù)的公共開放性和本身獨有的平臺特性,在一定程度上會大幅度減少軟件系統(tǒng)設(shè)計以及維護工作的難度,從根本上提升對連接端口設(shè)備的管理能力。
常見的嵌入式系統(tǒng)有Boa、httpd等系統(tǒng),其中Boa[6]是一個運行在整體系統(tǒng)中的單獨服務器,它的特征是小巧便捷,所以更加適合用于嵌入式環(huán)境。在Boa運行中,假設(shè)有兩個用戶同一時間內(nèi)進行訪問,那么就會出現(xiàn)其中某一用戶必須等待的情況,該服務器會形成一個獨立的進程步驟來處理這一情況,因此便會占用少部分的資源,具體的服務器結(jié)構(gòu)如下圖1所示。
圖1 Web服務器結(jié)構(gòu)圖
嵌入式系統(tǒng)運用單片機及以太網(wǎng)控制器作為整個服務器的核心電路。其中采用具有16位的單片機,該單片機同時擁有16個通道、10位模擬數(shù)學轉(zhuǎn)換器,它的優(yōu)點是具有較高的適用性以及更好的系統(tǒng)擴展性。傳統(tǒng)嵌入式系統(tǒng)開發(fā)選擇以太網(wǎng)的目的是完成PC機系統(tǒng)設(shè)計,在實際運用中這些組成器件都具有結(jié)構(gòu)復雜且體積過大的缺點。嵌入式Web服務器在一般情況下采用協(xié)同式任務處理方式,可以與Microchip TCP/IP協(xié)議棧和主應用程序共存。
根據(jù)人們接觸某種物體的感覺規(guī)律,在人與虛擬環(huán)境進行力覺交互的過程中,交互速度和操作人員感覺到的物體特征之間存在必要關(guān)系。相關(guān)實驗證明,當所探測物體平面的曲率取值過高時,探測操作者便會自動降低探測LOD模型[7]的整體速度。
此外,在實際的交互過程中因為具體的交互速度具有明顯差異,因此會直接導致計算耗時和復雜程度有所不同。在碰撞檢測算法中,用HIPi表示力覺設(shè)備點的基本位置,HIPi-1則表示上一次循環(huán)時力覺設(shè)備點的位置,SCPi-1表示上一次循環(huán)時虛擬工具點的位置,那么循環(huán)軌跡線段長度就可以定義為li=|HIPi-1HIPi|。用vi描述循環(huán)時人機交互的速度,即交互運動設(shè)備的運動速度,則循環(huán)軌跡線段長度可以表示為
li=T·vi
(1)
其中,T表示循環(huán)耗時。
根據(jù)上式可得知,軌跡線段的具體長度與運動速度成正比例關(guān)系。在交互過程中,操作人員的手速越快,就會出現(xiàn)具體運動軌跡越長的情況,在這其中經(jīng)過碰撞檢測的三角片[8]也會出現(xiàn)迭加,這一情況也間接的讓力覺循環(huán)耗時變長,從而直接影響交互結(jié)果的真實性。
根據(jù)上述分析可知,在滿足力覺真實性的前提下,虛擬模型可以支撐的整體交互時間與相對模型之間具有一定的關(guān)聯(lián)性,并且可以得知在運行過程中,交互過程用時越短,對應的模型復雜度就會越小,是一種整體呈遞減性的函數(shù)。在此基礎(chǔ)上,依據(jù)線性規(guī)律可以得知創(chuàng)建LOD模型的基本思想。所以依據(jù)下圖2,提出基于LOD模型的速度驅(qū)動模型,在該模型中層級越小就會越細致,而細致程度會隨著具體序列號的提升而逐漸遞減。
圖2 速度驅(qū)動模型
根據(jù)上圖2可知,圖中層級的切換精準度是由不同模型的需求決定的,其中速度參數(shù)值則需要根據(jù)不同模型的實驗來確定。因此需要針對不同層級模型進行交互計算,根據(jù)計算結(jié)果確認能否滿足模型的限制速度閾值條件,從而確定模型的速度參數(shù)值以及切換速度。
在實際交互操作中,假設(shè)三個層級中前兩個層級需要進行切換,其中L0與L1之間的切換速度V01,L1和L2之間的切換速度V12。在應用速度驅(qū)動LOD力覺渲染算法的過程中,當速度小于或等于V01時,就會采用相對精細的層級L0,當速度高于V01且小于V12時,將采用中間的層級L1,最后當速度大于等于V12時,則會采用相對較粗糙的層級L2。
在進行力覺交互的過程中,需要先計算出相對交互速度,然后得出目標多層級的序列號,設(shè)置對應交互層級從而完成LOD速度驅(qū)動模型的構(gòu)建。
在對上述模型進行驗證后,發(fā)現(xiàn)在層級切換過程中存在明顯的振動幅度,因此在對振動原因分析后,在LOD速度切換模型的基礎(chǔ)上提出SCP多層級映射算法。振動是由于層級之間的結(jié)構(gòu)誤差而導致的,為了解決這一問題,映射算法的整體研究過程如下:
首先如下圖所示,在交互速度減緩的時候,虛擬環(huán)境中的交互模型需要對其進行切換層級,從力覺渲染[9]的整體過程可以明顯看出之前的碰撞結(jié)果,并且目前的交互狀態(tài)也正位于某一碰撞的發(fā)生階段。根據(jù)映射來對SCPi進行求解,從而確保多層級力覺交互的連續(xù)性,并且消除振動感。
圖3 多層級映射圖
其次為了可以在實際操作中更明顯的指出某一處問題,通過映射交互算法判定映射約束線段[10]和映射約束包圍盒單元[11],具體過程分別如下所示:
(2)
(3)
2)映射約束包圍盒單元:根據(jù)上述映射線段即可將其包圍盒單元看做是一個完全相交的哈希單元,如圖4所示,在計算出Li上的某一點SCPi時,就要將p1和p2的網(wǎng)格交點進行計算,便可通過網(wǎng)格之間的聯(lián)系將三角片和p1p2進行交點計算,進一步得出SCPi。
圖4 映射約束線段、包圍盒單元
在完成上述映射交算法判定的基礎(chǔ)上,采用GHOST SDK計算二者的正交函數(shù),具體計算過程如下所示:
選擇一條長度為L的約束線段;
依據(jù)SCPi和Fi-1來構(gòu)建映射約束,并且對映射約束包圍盒集合進行計算;
對包圍盒單元進行探測,尋找具有關(guān)聯(lián)性的三角片,假設(shè)有對應關(guān)聯(lián)的三角片,那么將根據(jù)具體理論判斷是否與映射線段之間有交點,相交則進行記錄,不相交則判定包圍盒是否結(jié)束[12]。
在實際操作力覺交互系統(tǒng)時,需要確保力覺交互設(shè)備、構(gòu)建的虛擬環(huán)境以及被動操作者阻抗組合后系統(tǒng)的整體穩(wěn)定性。在一般的虛擬環(huán)境性質(zhì)下,兩個端口系統(tǒng)絕對穩(wěn)定的理論可以計算出確保系統(tǒng)穩(wěn)定性的虛擬環(huán)境參數(shù)范圍,則系統(tǒng)的整體混合參數(shù)方程為:
(4)
Re(Yep·fh)≥0
(5)
其中,Re(.)表示穩(wěn)定性函數(shù),Yep表示力覺交互設(shè)備和構(gòu)建的虛擬環(huán)境參數(shù)值。
在純質(zhì)量虛擬環(huán)境中,系統(tǒng)針對虛擬環(huán)境的模擬能力是根據(jù)虛擬環(huán)境質(zhì)量范圍來判定的。其中系統(tǒng)絕對穩(wěn)定的必要條件為:
Yep≥2Ktr-mω2
(6)
其中,Ktr表示穩(wěn)定參數(shù),m表示穩(wěn)定干擾系數(shù),ω表示范圍指數(shù)。
當范圍指數(shù)ω=0時,上式的右側(cè)將會選取最大值,因此則有:
Yep≥2Ktr
(7)
根據(jù)式(7)可以完成系統(tǒng)穩(wěn)定性的估測。
為了驗證支持嵌入式Web服務器的多層級力覺交互方法的綜合性能,進行對比實驗。在實際仿真中,將對多種不同精度的層級進行切換速度的交互實驗,經(jīng)過不同的實驗場景來進一步證明復雜程度以及層級(具體是指上述中的三角片數(shù)量)、實際操作中層級之間的切換速度以及算法之間的穩(wěn)定性關(guān)系。實驗參數(shù)設(shè)置如表1所示。
表1 實驗參數(shù)設(shè)置
根據(jù)表1中的實驗參數(shù)設(shè)置進行仿真驗證實驗,并將所提方法與基于虛擬現(xiàn)實以及基于位置的交互方法進行對比驗證。
首先構(gòu)建出正方形平面,這個平面在坐標系處于xOy平面中,其中心點與坐標原點重合。根據(jù)所提出的方法,對交互過程中的穩(wěn)定性影響以及場景影響的交互速度進行分析。為了得知變量對穩(wěn)定性的影響因素,實驗分為以下部分:
1)在一定程度上對交互實驗中的三角片進行數(shù)量控制,并且單獨分析不同的復雜場景對穩(wěn)定性的具體影響;
2)在固定三角片數(shù)量的場景下,再次研究交互的速度對穩(wěn)定性的影響。
下列將詳細描述本次仿真的結(jié)果:
交互場景整體復雜度對穩(wěn)定性的影響,針對場景三角片數(shù)量分別為800與5000兩種情況,進行快速(平均速度120mm/s以上)滑動交互,其輸出力信號及相對應的速度曲線分別如下圖所示。圖5(a)中曲線和圓圈分別表示x,y方向的力信號,圖5(b)中曲線表示z方向的速度信號。
圖5 三角片數(shù)量800的力覺曲線、速度曲線
根據(jù)圖5、圖6可以得知,在場景層級數(shù)量少的時候,進行相對加速與減速的估測,力覺信號都會很穩(wěn)定,并且這時的效果是最真實的,但由于此步驟為平面探查實驗,所以在圖5中橫軸與縱軸的方向分力都是0,當交互工具進入自由空間時,z方向的分力也將會是0。反之,當交互層級一直疊加到5000的時候,如圖6所示,橫軸與縱軸方向變發(fā)生了變化,三個方向也同時都發(fā)生了力覺改變,這時在實驗中操作人員就可以感受到了交互設(shè)備的振動感,從而導致不滿足于必要的交互條件。
圖6 三角片數(shù)量5000的速度曲線
對力覺交互系統(tǒng)的受力情況進行分析,可以增加操作人員的施力準確性,從而完成精準的力覺交互,因此對比不同方法對力覺交互系統(tǒng)的受力分析精準性是極其重要的。將所提方法與基于虛擬現(xiàn)實以及基于位置的交互方法進行對比驗證。受力分析精準性對比結(jié)果如圖7所示。
圖7 受力分析精確性對比
分析圖7可知,在實驗次數(shù)不斷增加的情況下,所提方法的受力分析精準程度時鐘保持在90%以上,而兩種對比方法的受力分析精準性均小于所提方法,兩種對比方法的最低受力分析精準性均在60%以下,遠低于所提方法。
現(xiàn)階段隨著網(wǎng)絡(luò)信息的快速發(fā)展,傳統(tǒng)的力覺交互方法已經(jīng)無法滿足現(xiàn)有力覺交互的基本需求,因此提出支持嵌入式Web服務器的多層級力覺交互的方法。在Web服務器的基礎(chǔ)上提出一種離散LOD速度驅(qū)動模型,然后通過對其模型的計算,獲取出對應的目標多層級交互序列號。根據(jù)SCP層級映射算法,判定映射約束線段、映射約束包圍盒單元,最后針對該算法,進行力覺交互的穩(wěn)定性分析。仿真實驗結(jié)果表明,所提方法可以有效解決在力覺交互過程中出現(xiàn)的振動現(xiàn)象,并且具有較高的穩(wěn)定性與適用性。