余 景
(西安石油大學,陜西 西安 710065)
現階段隨著網絡信息以及嵌入式系統[1]技術的快速發展,嵌入式接入Internet端口服務器已經在網絡服務器中廣泛應用,因為其可以運用本身的通用性以及交互性來為嵌入式設備提供新的網絡端口,實現網絡的遠程監控。
多層級力覺交互技術[2]是指在網絡中構建一個既模擬又真實的場景,保證操作過程具有良好且真實的環境感受。在虛擬場景構建中,為了打造相對逼真的模擬物理場景,需要把該場景中的全部物體特征反饋給操作者。在交互過程中,所應用的場景信息均是肉眼可見的視覺信息,在此基礎上,借助一定的工具對模擬環境進行具體操作,由此來感受該環境帶來的反作用力。同時為了加強交互系統整體的真實感,需要結合圖顯和力覺顯示,才能夠明顯的感受出力覺交互。
力覺交互系統是一個擁有反饋能力的人機交互設備,這個系統還可以讓實際運行者對虛擬環境中的物體進行實際操作,以實現感受到物體反作用力[3]的目的。
宋達等人[4]設計一種結合虛擬現實(VR)技術的柔索牽引式力覺交互機器人。首先,根據微重力環境中物體的運動特性設計機器人構型,建立移動平臺、驅動單元、人推物體運動過程的動力學模型并進行運動學分析。然后,針對系統冗余驅動及力控制任務,提出一種復合控制策略,即以柔索長度變化為速度控制內環,力的外環控制為力/速混合控制,完成力覺交互研究。
王坤等人[5]提出采用基于位置的流體來模擬剛體工具與流體的交互。該方法在傳統光滑粒子動力學算法的基礎上進行改進,基于CUDA并行計算平臺實時模擬交互過程,并結合力覺交互設備實時輸出交互力,完整二者之間的在線交互變化研究。
但是上述兩種方法的模擬過程過于復雜,且模擬場景真實性較差?;诖?,提出支持嵌入式Web服務器的多層級力覺交互方法,在嵌入式Web服務器的基礎上添加離散LOD模型,獲取相對應的多層級力覺交互序列號。根據SCP層級映射算法,獲得模型的速度參數值以及切換速度,完成力覺交互。
通常情況下,嵌入式服務器會將Web引入到控制測試設備中,在擁有相對硬件、軟件系統支持的情況下,讓該技術變成底層通信協議,形成以Web為中心的網絡測試和控制端口設備。該設備的具體執行功能是:網絡頁面信息發布,其中包括靜態與動態信息;提供固定接口,進行有效的檢測設備連接。由于這項技術的公共開放性和本身獨有的平臺特性,在一定程度上會大幅度減少軟件系統設計以及維護工作的難度,從根本上提升對連接端口設備的管理能力。
常見的嵌入式系統有Boa、httpd等系統,其中Boa[6]是一個運行在整體系統中的單獨服務器,它的特征是小巧便捷,所以更加適合用于嵌入式環境。在Boa運行中,假設有兩個用戶同一時間內進行訪問,那么就會出現其中某一用戶必須等待的情況,該服務器會形成一個獨立的進程步驟來處理這一情況,因此便會占用少部分的資源,具體的服務器結構如下圖1所示。

圖1 Web服務器結構圖
嵌入式系統運用單片機及以太網控制器作為整個服務器的核心電路。其中采用具有16位的單片機,該單片機同時擁有16個通道、10位模擬數學轉換器,它的優點是具有較高的適用性以及更好的系統擴展性。傳統嵌入式系統開發選擇以太網的目的是完成PC機系統設計,在實際運用中這些組成器件都具有結構復雜且體積過大的缺點。嵌入式Web服務器在一般情況下采用協同式任務處理方式,可以與Microchip TCP/IP協議棧和主應用程序共存。
根據人們接觸某種物體的感覺規律,在人與虛擬環境進行力覺交互的過程中,交互速度和操作人員感覺到的物體特征之間存在必要關系。相關實驗證明,當所探測物體平面的曲率取值過高時,探測操作者便會自動降低探測LOD模型[7]的整體速度。
此外,在實際的交互過程中因為具體的交互速度具有明顯差異,因此會直接導致計算耗時和復雜程度有所不同。在碰撞檢測算法中,用HIPi表示力覺設備點的基本位置,HIPi-1則表示上一次循環時力覺設備點的位置,SCPi-1表示上一次循環時虛擬工具點的位置,那么循環軌跡線段長度就可以定義為li=|HIPi-1HIPi|。用vi描述循環時人機交互的速度,即交互運動設備的運動速度,則循環軌跡線段長度可以表示為
li=T·vi
(1)
其中,T表示循環耗時。
根據上式可得知,軌跡線段的具體長度與運動速度成正比例關系。在交互過程中,操作人員的手速越快,就會出現具體運動軌跡越長的情況,在這其中經過碰撞檢測的三角片[8]也會出現迭加,這一情況也間接的讓力覺循環耗時變長,從而直接影響交互結果的真實性。
根據上述分析可知,在滿足力覺真實性的前提下,虛擬模型可以支撐的整體交互時間與相對模型之間具有一定的關聯性,并且可以得知在運行過程中,交互過程用時越短,對應的模型復雜度就會越小,是一種整體呈遞減性的函數。在此基礎上,依據線性規律可以得知創建LOD模型的基本思想。所以依據下圖2,提出基于LOD模型的速度驅動模型,在該模型中層級越小就會越細致,而細致程度會隨著具體序列號的提升而逐漸遞減。

圖2 速度驅動模型
根據上圖2可知,圖中層級的切換精準度是由不同模型的需求決定的,其中速度參數值則需要根據不同模型的實驗來確定。因此需要針對不同層級模型進行交互計算,根據計算結果確認能否滿足模型的限制速度閾值條件,從而確定模型的速度參數值以及切換速度。
在實際交互操作中,假設三個層級中前兩個層級需要進行切換,其中L0與L1之間的切換速度V01,L1和L2之間的切換速度V12。在應用速度驅動LOD力覺渲染算法的過程中,當速度小于或等于V01時,就會采用相對精細的層級L0,當速度高于V01且小于V12時,將采用中間的層級L1,最后當速度大于等于V12時,則會采用相對較粗糙的層級L2。
在進行力覺交互的過程中,需要先計算出相對交互速度,然后得出目標多層級的序列號,設置對應交互層級從而完成LOD速度驅動模型的構建。
在對上述模型進行驗證后,發現在層級切換過程中存在明顯的振動幅度,因此在對振動原因分析后,在LOD速度切換模型的基礎上提出SCP多層級映射算法。振動是由于層級之間的結構誤差而導致的,為了解決這一問題,映射算法的整體研究過程如下:
首先如下圖所示,在交互速度減緩的時候,虛擬環境中的交互模型需要對其進行切換層級,從力覺渲染[9]的整體過程可以明顯看出之前的碰撞結果,并且目前的交互狀態也正位于某一碰撞的發生階段。根據映射來對SCPi進行求解,從而確保多層級力覺交互的連續性,并且消除振動感。

圖3 多層級映射圖
其次為了可以在實際操作中更明顯的指出某一處問題,通過映射交互算法判定映射約束線段[10]和映射約束包圍盒單元[11],具體過程分別如下所示:


(2)

(3)
2)映射約束包圍盒單元:根據上述映射線段即可將其包圍盒單元看做是一個完全相交的哈希單元,如圖4所示,在計算出Li上的某一點SCPi時,就要將p1和p2的網格交點進行計算,便可通過網格之間的聯系將三角片和p1p2進行交點計算,進一步得出SCPi。

圖4 映射約束線段、包圍盒單元
在完成上述映射交算法判定的基礎上,采用GHOST SDK計算二者的正交函數,具體計算過程如下所示:
選擇一條長度為L的約束線段;
依據SCPi和Fi-1來構建映射約束,并且對映射約束包圍盒集合進行計算;
對包圍盒單元進行探測,尋找具有關聯性的三角片,假設有對應關聯的三角片,那么將根據具體理論判斷是否與映射線段之間有交點,相交則進行記錄,不相交則判定包圍盒是否結束[12]。
在實際操作力覺交互系統時,需要確保力覺交互設備、構建的虛擬環境以及被動操作者阻抗組合后系統的整體穩定性。在一般的虛擬環境性質下,兩個端口系統絕對穩定的理論可以計算出確保系統穩定性的虛擬環境參數范圍,則系統的整體混合參數方程為:

(4)

Re(Yep·fh)≥0
(5)
其中,Re(.)表示穩定性函數,Yep表示力覺交互設備和構建的虛擬環境參數值。
在純質量虛擬環境中,系統針對虛擬環境的模擬能力是根據虛擬環境質量范圍來判定的。其中系統絕對穩定的必要條件為:
Yep≥2Ktr-mω2
(6)
其中,Ktr表示穩定參數,m表示穩定干擾系數,ω表示范圍指數。
當范圍指數ω=0時,上式的右側將會選取最大值,因此則有:
Yep≥2Ktr
(7)
根據式(7)可以完成系統穩定性的估測。
為了驗證支持嵌入式Web服務器的多層級力覺交互方法的綜合性能,進行對比實驗。在實際仿真中,將對多種不同精度的層級進行切換速度的交互實驗,經過不同的實驗場景來進一步證明復雜程度以及層級(具體是指上述中的三角片數量)、實際操作中層級之間的切換速度以及算法之間的穩定性關系。實驗參數設置如表1所示。

表1 實驗參數設置
根據表1中的實驗參數設置進行仿真驗證實驗,并將所提方法與基于虛擬現實以及基于位置的交互方法進行對比驗證。
首先構建出正方形平面,這個平面在坐標系處于xOy平面中,其中心點與坐標原點重合。根據所提出的方法,對交互過程中的穩定性影響以及場景影響的交互速度進行分析。為了得知變量對穩定性的影響因素,實驗分為以下部分:
1)在一定程度上對交互實驗中的三角片進行數量控制,并且單獨分析不同的復雜場景對穩定性的具體影響;
2)在固定三角片數量的場景下,再次研究交互的速度對穩定性的影響。
下列將詳細描述本次仿真的結果:
交互場景整體復雜度對穩定性的影響,針對場景三角片數量分別為800與5000兩種情況,進行快速(平均速度120mm/s以上)滑動交互,其輸出力信號及相對應的速度曲線分別如下圖所示。圖5(a)中曲線和圓圈分別表示x,y方向的力信號,圖5(b)中曲線表示z方向的速度信號。

圖5 三角片數量800的力覺曲線、速度曲線
根據圖5、圖6可以得知,在場景層級數量少的時候,進行相對加速與減速的估測,力覺信號都會很穩定,并且這時的效果是最真實的,但由于此步驟為平面探查實驗,所以在圖5中橫軸與縱軸的方向分力都是0,當交互工具進入自由空間時,z方向的分力也將會是0。反之,當交互層級一直疊加到5000的時候,如圖6所示,橫軸與縱軸方向變發生了變化,三個方向也同時都發生了力覺改變,這時在實驗中操作人員就可以感受到了交互設備的振動感,從而導致不滿足于必要的交互條件。

圖6 三角片數量5000的速度曲線
對力覺交互系統的受力情況進行分析,可以增加操作人員的施力準確性,從而完成精準的力覺交互,因此對比不同方法對力覺交互系統的受力分析精準性是極其重要的。將所提方法與基于虛擬現實以及基于位置的交互方法進行對比驗證。受力分析精準性對比結果如圖7所示。

圖7 受力分析精確性對比
分析圖7可知,在實驗次數不斷增加的情況下,所提方法的受力分析精準程度時鐘保持在90%以上,而兩種對比方法的受力分析精準性均小于所提方法,兩種對比方法的最低受力分析精準性均在60%以下,遠低于所提方法。
現階段隨著網絡信息的快速發展,傳統的力覺交互方法已經無法滿足現有力覺交互的基本需求,因此提出支持嵌入式Web服務器的多層級力覺交互的方法。在Web服務器的基礎上提出一種離散LOD速度驅動模型,然后通過對其模型的計算,獲取出對應的目標多層級交互序列號。根據SCP層級映射算法,判定映射約束線段、映射約束包圍盒單元,最后針對該算法,進行力覺交互的穩定性分析。仿真實驗結果表明,所提方法可以有效解決在力覺交互過程中出現的振動現象,并且具有較高的穩定性與適用性。