張 靜,2, 徐 亮, 劉理想, 劉滿祿,2, 張 華
(1.西南科技大學(xué) 信息工程學(xué)院,四川 綿陽(yáng) 621010; 2.中國(guó)科學(xué)技術(shù)大學(xué) 信息科學(xué)技術(shù)學(xué)院,安徽 合肥 230026)
目前,交互系統(tǒng)在工業(yè)設(shè)計(jì)與生產(chǎn)、建筑景觀模擬及遠(yuǎn)程醫(yī)療等多個(gè)領(lǐng)域得到了廣泛應(yīng)用,其控制技術(shù)既是交互系統(tǒng)的核心,也是當(dāng)前研究熱點(diǎn)之一[1-2]。在現(xiàn)有的交互系統(tǒng)中,多以周期采樣方式對(duì)系統(tǒng)的交互過(guò)程進(jìn)行采樣[3]。在多目標(biāo)交互情況下,需要占用大量的節(jié)點(diǎn)資源,也增加了系統(tǒng)的計(jì)算量。針對(duì)此問(wèn)題,李模剛提出了基于傳統(tǒng)PID算法交互控制系統(tǒng),雖然在一定程度上能夠?qū)崿F(xiàn)對(duì)多目標(biāo)交互控制,但系統(tǒng)僅限于仿真且控制器參數(shù)難以整定[4]。李婷婷等人提出了 Unity3D模型交互系統(tǒng),但系統(tǒng)的控制方式為交互查詢控制[5],在非交互狀態(tài)處理器始終處于查詢操作,浪費(fèi)運(yùn)算效率。于寧波等人提出了基于數(shù)據(jù)共享的交互控制系統(tǒng),雖然在一定程度上解決了系統(tǒng)資源占用問(wèn)題,但交互端采用降低采樣頻率的方式完成系統(tǒng)交互[6]。李宏策等人提出了基于RS232交互控制系統(tǒng),雖然開(kāi)發(fā)簡(jiǎn)便,但主要針對(duì)單目標(biāo),并沒(méi)有考慮多目標(biāo)交互情況[7]。
基于此,本文提出了基于事件觸發(fā)的分布式控制方案,當(dāng)系統(tǒng)有交互發(fā)生時(shí),視為一次事件觸發(fā),交互對(duì)象依據(jù)自身節(jié)點(diǎn)的信息向控制系統(tǒng)發(fā)送交互過(guò)程中的采樣值,每次的觸發(fā)事件采用分布式處理,以此節(jié)約系統(tǒng)的節(jié)點(diǎn)資源。
虛擬交互系統(tǒng)設(shè)計(jì)主要包括3個(gè)部分:交互接口管理單元、 交互控制單元、渲染與可視化單元。其中,交互接口管理單元負(fù)責(zé)接收操作者在操作交互設(shè)備過(guò)程中通過(guò)設(shè)備發(fā)送的指令信息;交互控制單元分為運(yùn)動(dòng)控制子塊和碰撞檢測(cè)子塊。運(yùn)動(dòng)控制子塊對(duì)交互接口管理單元的指令進(jìn)行解析,并對(duì)虛擬空間中虛擬從端的運(yùn)動(dòng)位置進(jìn)行控制;碰撞檢測(cè)子塊會(huì)實(shí)時(shí)檢測(cè)代理點(diǎn)與物體干涉情況,從而實(shí)現(xiàn)對(duì)虛擬交互過(guò)程的判斷。渲染與可視化單元負(fù)責(zé)將交互狀況進(jìn)行顯示。
交互系統(tǒng)的交互過(guò)程如下:交互系統(tǒng)啟動(dòng)后,操作者通過(guò)操作交互Phantom Omni設(shè)備控制虛擬系統(tǒng)中的代理點(diǎn)與目標(biāo)物體產(chǎn)生交互作用。根據(jù)交互作用過(guò)程的位置關(guān)系,采集交互對(duì)象的位置姿態(tài)確定是否發(fā)生碰撞。若產(chǎn)生碰撞,則觸發(fā)對(duì)應(yīng)交互子系統(tǒng),并根據(jù)碰撞數(shù)據(jù)計(jì)算碰撞的力覺(jué),一方面依據(jù)節(jié)點(diǎn)信息形成約束數(shù)據(jù)并發(fā)送至交互接口管理單元,再形成實(shí)時(shí)約束力覺(jué)并在Phantom Omni設(shè)備完成再現(xiàn),操作者經(jīng)由交互設(shè)備感知虛擬力覺(jué);另一方面,對(duì)交互過(guò)代理點(diǎn)位置和交互狀態(tài)進(jìn)行可視化顯示,具體交互過(guò)程如圖1所示。
圖1 虛擬系統(tǒng)交互過(guò)程
主端設(shè)備是操作者獲取從端交互信息的重要設(shè)備。根據(jù)虛擬系統(tǒng)的交互參數(shù),通過(guò)其動(dòng)力學(xué)數(shù)學(xué)模型,可獲取在虛擬系統(tǒng)中的力覺(jué)感知。對(duì)于n自由度的機(jī)械臂忽略設(shè)備關(guān)節(jié)摩擦力,動(dòng)力模型為[8]
(1)
由于感知力覺(jué)是靠電機(jī)力矩完成,對(duì)式(1)化簡(jiǎn):
(2)
(3)
此時(shí),操作主端有交互力覺(jué)反饋情況下為
(4)
末端加速度與雅克比矩陣的二階微分方程滿足:
(5)
在笛卡爾空間取末端的位置交互期望位置與代理點(diǎn)實(shí)際位置的誤差為ed,則有
ed=xd-x
(6)
(7)
(8)
(9)
在交互狀態(tài)穩(wěn)定時(shí),僅考慮虛擬代理點(diǎn)的位置速度與作用力關(guān)系,得位置與末端力覺(jué)的控制率為
泉州屬于亞熱帶海洋性季風(fēng)氣候,多年平均水資源總量達(dá)96.78億m3。但泉州的水資源形勢(shì)卻不容樂(lè)觀:一是多年人均水資源量?jī)H為1 158 m3,是全國(guó)、全省平均水平的1/2和1/3。沿海片區(qū)更是嚴(yán)重缺水,石獅、晉江、惠安的人均水資源量?jī)H有102~389 m3,屬于絕對(duì)貧水區(qū)。二是時(shí)空降雨分布不均,雨季集中在4—9月份,且70%的水資源量分布在人口較少、經(jīng)濟(jì)水平較低的山區(qū)。三是蓄水工程偏少,攔蓄調(diào)節(jié)能力低,出境外流量大,多年平均外流水資源量達(dá)34.32億m3,占全市水資源總量的35.5%。泉州實(shí)際可利用的水資源量十分有限,用水緊缺形勢(shì)日趨明顯。
(10)
基于事件觸發(fā)的分布式觸發(fā)結(jié)構(gòu)如圖2所示。分布式子系統(tǒng)的信號(hào)均由操作者給出,每個(gè)子系統(tǒng)交互狀況由節(jié)點(diǎn)采樣器進(jìn)行信息采集,判斷是否滿足事件觸發(fā)器的觸發(fā)條件。若滿足條件則啟動(dòng)觸發(fā)器,子系統(tǒng)的控制器受到觸發(fā)器控制,子系統(tǒng)交互狀態(tài)值將送至控制器;否則,事件觸發(fā)器不觸發(fā),舍棄狀態(tài)的采樣值。控制結(jié)構(gòu)圖中觸發(fā)器向控制器傳送狀態(tài)值的虛線箭頭表示為非周期傳送。
圖2 分布式觸發(fā)結(jié)構(gòu)
忽略該系統(tǒng)信息傳遞的時(shí)延和帶寬等因素的影響,交互子系統(tǒng)的控制器受到事件發(fā)生器的控制。設(shè)系采樣節(jié)點(diǎn)的采樣時(shí)間ΔT,設(shè)系統(tǒng)狀態(tài)采樣時(shí)間序列為SS,滿足
(11)
第i子系統(tǒng)有事件發(fā)生時(shí)刻為tk時(shí),向執(zhí)行器發(fā)送控制信息時(shí),事件器觸發(fā)時(shí)間序列為Et,則有
Et={t1t2t3…tk…}
(12)
對(duì)于單個(gè)子系統(tǒng)而言,取tk和tk+1時(shí)的狀態(tài)分別為x(tk)和x(tk+1),狀態(tài)偏差元為ei(t),滿足
ei(t)=x(tk+1)-x(tk),t∈(tk,tk+1]
(13)
設(shè)整個(gè)系統(tǒng)在tk時(shí)的狀態(tài)陣為x(t)對(duì)稱正定陣Λ,調(diào)整因子為δ,由多個(gè)單狀態(tài)偏差元ei(t)組成的狀態(tài)偏差陣為e(t),為保證整個(gè)交互系統(tǒng)的穩(wěn)定[9],則滿足
eT(t)Λe(t)>δxT(t)Λx(t),t∈(tk,tk+1]
(14)
取Λ為單位陣,采用歐式范數(shù)對(duì)式(14)進(jìn)行處理,則有
(15)
(16)
系統(tǒng)每次觸發(fā)器占用的時(shí)間為常數(shù)ci,分布式事件觸發(fā)條件滿足[10]
|ei(t)|>|xi(t)|+ci
(17)
第i個(gè)系統(tǒng)的觸發(fā)事件間隔滿足
(18)
因此,每個(gè)交互子系統(tǒng)只有在自己的事件時(shí)刻tk和鄰居節(jié)點(diǎn)的觸發(fā)時(shí)刻同時(shí)發(fā)生時(shí)才能被觸發(fā)。然后再根據(jù)自己和鄰居的測(cè)量狀態(tài)來(lái)共同更新控制器,即在時(shí)間(tk,tk+1]的間隔內(nèi),只有下一個(gè)觸發(fā)時(shí)刻tk+1到來(lái)或是至少有一個(gè)鄰居被觸發(fā)才會(huì)被更新。因此,控制器的更新速率可以大幅度減少,隨之子系統(tǒng)交互的節(jié)點(diǎn)量也將減少。
實(shí)驗(yàn)平臺(tái)使用的是 SensAble科技公司的Phantom Omni多自由度桌面機(jī)械臂設(shè)備[11-12]。計(jì)算機(jī)硬件環(huán)境為CPU酷睿i5-4590,3.30 GHz,顯卡為GTX960-4 GB。將力反饋設(shè)備Phantom Omni與計(jì)算機(jī)相連接,采用Visual Studio 2010與OpenGL圖形庫(kù)構(gòu)建虛擬仿真環(huán)境,整個(gè)實(shí)體交互系統(tǒng)如圖3所示。
圖3 實(shí)體交互系統(tǒng)
虛擬交互目標(biāo)為3ds MAX繪制,包括水壺、球體和環(huán)柱體,交互界面如圖4所示。圖4中左上角小球體為虛擬代理點(diǎn)A,圖中的每個(gè)待交互模型均為一個(gè)子交互節(jié)點(diǎn),并視為不同的交互子系統(tǒng)。
圖4 交互界面
實(shí)驗(yàn)過(guò)程中,Phantom Omni設(shè)備交互作用最大閾值力設(shè)置為Fl=3.3 N,交互控制器選取M=1。由于力覺(jué)是由Phantom Omni設(shè)備通過(guò)電機(jī)堵轉(zhuǎn)形成,交互接口管理單元通信頻率有限,因此節(jié)點(diǎn)取采樣節(jié)點(diǎn)的時(shí)間ΔT=2 ms,為區(qū)別3個(gè)子系統(tǒng)交互效果,虛擬模型“水壺”、“球體”和“環(huán)柱體”的剛性系數(shù)K1,K2,K3分別取100 N/m、180 N/m和250 N/m,力覺(jué)等效計(jì)算刷新頻率為1 kHz。當(dāng)虛擬代理點(diǎn)每次與目標(biāo)物發(fā)生作用時(shí),滿足事件觸發(fā)條件情況予以觸發(fā),實(shí)現(xiàn)系統(tǒng)的交互,并將交互力反饋至Phantom Omni設(shè)備。實(shí)驗(yàn)由一名受過(guò)該虛擬交互系統(tǒng)操作培訓(xùn)的人員完成。實(shí)驗(yàn)過(guò)程中,交互對(duì)象由操作者隨機(jī)選取,完成交互操作后,交互的力覺(jué)數(shù)據(jù)從有交互數(shù)據(jù)時(shí)刻為0開(kāi)始繪制,再現(xiàn)力覺(jué)的大小由設(shè)備自帶轉(zhuǎn)換函數(shù)進(jìn)行轉(zhuǎn)換,并在設(shè)備上實(shí)現(xiàn)再現(xiàn),由操作者感知,交互實(shí)驗(yàn)結(jié)果如圖5所示。
圖5 交互作用力
由圖5可以看出,在有交互力覺(jué)的3800 ms內(nèi),均有力覺(jué)反饋至交互設(shè)備,表明交互系統(tǒng)得到了觸發(fā),交互系統(tǒng)是能夠?qū)崿F(xiàn)力覺(jué)交互功能的。在圖5中的在第0~1100 ms內(nèi),代理點(diǎn)主要與球體交互,與球體交互力在1 N左右;在第1100~2700 ms內(nèi),主要與水壺交互,交互力大小維持在0.5 N左右;在此后2700~3800 ms內(nèi),主要與環(huán)柱體交互,交互力在1.5 N左右,在整個(gè)交互過(guò)程中,操作者需要保持較為平穩(wěn)的操作。
在圖5交互過(guò)程中,會(huì)出現(xiàn)大于較大的力覺(jué)峰值,需要說(shuō)明的是,交互對(duì)象的剛性系數(shù)不一樣,主導(dǎo)交互力覺(jué)是不同的。最主要的原因是由操作者控制代理點(diǎn)與目標(biāo)物體交互時(shí)的操作不穩(wěn)定所致。就交互狀態(tài)而言,在事件觸發(fā)機(jī)制的情況下,盡管每次選擇的交互對(duì)象較為隨機(jī),但子系統(tǒng)均能夠有效觸發(fā),系統(tǒng)每次有交互發(fā)生時(shí),交互對(duì)象能夠依據(jù)自身節(jié)點(diǎn)信息向控制系統(tǒng)發(fā)送交互過(guò)程中的采樣值,實(shí)現(xiàn)力覺(jué)交互,減少系統(tǒng)的節(jié)點(diǎn)資源占用情況,滿足交互控制需求。
本文重點(diǎn)研究了在多目標(biāo)交互系統(tǒng)中交互節(jié)點(diǎn)資源受限的問(wèn)題,提出了基于事件觸發(fā)的分布式控制方案。設(shè)計(jì)了多目標(biāo)交互系統(tǒng),并進(jìn)行了實(shí)驗(yàn)。在事件觸發(fā)機(jī)制的情況下,系統(tǒng)每次有交互發(fā)生時(shí),交互對(duì)象依據(jù)自身節(jié)點(diǎn)信息向控制系統(tǒng)發(fā)送交互過(guò)程中的采樣值,實(shí)現(xiàn)事件觸發(fā)與目標(biāo)交互,并將交互的力反饋至Phantom Omni設(shè)備,由操作者進(jìn)行感知。
實(shí)驗(yàn)結(jié)果表明,該控制方案所設(shè)計(jì)的系統(tǒng)能夠分布式事件出發(fā)的形式滿足交互需求,符合多目標(biāo)交互控制需求,達(dá)到節(jié)約系統(tǒng)的節(jié)點(diǎn)資源的目的。設(shè)計(jì)的控制系統(tǒng)可行、有效。另外該系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,為同類(lèi)工程實(shí)現(xiàn)提供了參考。下一步的研究工作應(yīng)提高系統(tǒng)在交互過(guò)程的抗干擾能力,減少人為擾動(dòng),提高系統(tǒng)的交互逼真能力。