王長元,陳玉龍,潘貞貞
(西安工業(yè)大學(xué) 陜西 西安 710000)
隨著軟件工程領(lǐng)域研究的發(fā)展,尤其是軟件體系結(jié)構(gòu)的快速發(fā)展,使利用軟件體系結(jié)構(gòu)的方法來分析和設(shè)計一些復(fù)雜的系統(tǒng)變成可能?;谇巴スδ艿念^眼運(yùn)動系統(tǒng)是一個較為復(fù)雜的仿生系統(tǒng),它包括復(fù)雜的前庭器官系統(tǒng)和眼動系統(tǒng)。以往對前庭系統(tǒng)研究的方法主要集中在醫(yī)學(xué)上的生物學(xué)方法和數(shù)學(xué)建模的方法,文中將從一個全新的角度,用軟件工程的方法來分析前庭系統(tǒng),并設(shè)計基于前庭功能的頭眼運(yùn)動系統(tǒng)的HMB體系結(jié)構(gòu)。
生理學(xué)上,前庭系統(tǒng)的主要功能可以被描述為:人體在水平方向以任何角度作直線變速運(yùn)動時,由于耳石膜的慣性,使橢圓囊斑上的毛細(xì)胞的纖毛受到牽拉,于是刺激毛細(xì)胞,毛細(xì)胞興奮后,產(chǎn)生的神經(jīng)沖動經(jīng)前庭系統(tǒng)傳入神經(jīng)中樞,從而產(chǎn)生在這個方向的變速感覺和直線變速反射。頭部的位置變化時,就會引起耳石膜與毛細(xì)胞在空間的相對位置的變化,從而拉引相應(yīng)的纖毛產(chǎn)生神經(jīng)沖動,最終由神經(jīng)中樞分析神經(jīng)沖動并提供頭部位置的變化信息。
人體繞垂直軸作旋轉(zhuǎn)變速運(yùn)動時,外半規(guī)管內(nèi)的淋巴液由于壓力作用而流動,沖擊壺腹嵴,使其終帽向一側(cè)傾斜。終帽的傾斜引起內(nèi)部毛細(xì)胞纖毛彎曲,產(chǎn)生神經(jīng)沖動。有毛細(xì)胞產(chǎn)生的神經(jīng)沖動經(jīng)前庭系統(tǒng)傳入神經(jīng)中樞,從而引起繞垂直軸的旋轉(zhuǎn)感覺和旋轉(zhuǎn)變速運(yùn)動反射。與外半規(guī)管類似,其它兩對半規(guī)管可接受和它們所處平面相一致的旋轉(zhuǎn)變速運(yùn)動刺激。最終,前庭神經(jīng)中樞產(chǎn)生的神經(jīng)沖動來支配眼動運(yùn)動子系統(tǒng)的運(yùn)動。
根據(jù)前庭系統(tǒng)的生理學(xué)描述,可以用建立模型的方法表示前庭系統(tǒng)中各個器官的功能以及它們之間的協(xié)作機(jī)理。前庭系統(tǒng)的生理學(xué)結(jié)構(gòu)如圖1所示。
圖1顯示前庭系統(tǒng)主要由6大功能模塊構(gòu)成,它們分別是:頭部相對運(yùn)動子模塊、頭部水平運(yùn)動子模塊、頭部旋轉(zhuǎn)運(yùn)動子模塊、前庭神經(jīng)中樞、眼動系統(tǒng)和神經(jīng)沖動。每一個模塊完成上述生理學(xué)中所論述的相應(yīng)功能。
圖1 頭眼運(yùn)動系統(tǒng)生理學(xué)功能結(jié)構(gòu)Fig.1 Physiological structure diagram of the head and eyes movement system
圖2 頭眼運(yùn)動系統(tǒng)模Fig.2 Model diagram of the Head eye movement system
在對前庭系統(tǒng)的物理視圖進(jìn)行分析后,可以用軟件工程的方法設(shè)計軟件體系結(jié)構(gòu)。所設(shè)計的基于前庭功能的頭眼運(yùn)動系統(tǒng)結(jié)構(gòu)模型如圖2所示。
本模型主要從層次消息總線的角度用構(gòu)件來描述基于前庭功能的頭眼運(yùn)動系統(tǒng)。
主要思想:按照“高內(nèi)聚低耦合”的設(shè)計思想,將每個具有獨(dú)立功能的模塊設(shè)計成一個單獨(dú)的功能構(gòu)件,然后用一條消息總線把各個功能模塊連接起來,每一個獨(dú)立的功能模塊完成一個功能相對獨(dú)立的功能。消息總線上傳輸著由各個功能模塊發(fā)出的不同信息,每個模塊只響應(yīng)適合自己處理的信息,然后把處理的結(jié)果發(fā)送到消息總線上,由下一個需要處理的功能模塊來響應(yīng)屬于自己模塊處理的信息并進(jìn)行處理,再將處理的結(jié)果發(fā)送到消息總線上,直到受控部件響應(yīng)并做出響應(yīng)的響應(yīng)行為。
模型中各個模塊的具體功能如下:
系統(tǒng)管理模塊:該模塊的主要功能是從全局的角度對整個系統(tǒng)進(jìn)行實(shí)時的控制和管理,以達(dá)到穩(wěn)定運(yùn)行的目的。例如,當(dāng)該模塊監(jiān)聽到總線上長時間沒有消息指令傳輸時,該模塊應(yīng)該做出相應(yīng)的調(diào)整以保證整個系統(tǒng)的穩(wěn)定。
初始化部件:主要完成整個系統(tǒng)的初始化工作。
受控系統(tǒng)信息產(chǎn)生器:響應(yīng)采集信息模塊發(fā)送的信息并產(chǎn)生對“支配部件”支配的信息。系統(tǒng)啟動后首先響應(yīng)“初始化部件”發(fā)來的初始化信息,然后,時刻監(jiān)聽總線上模塊A、B和C發(fā)出的信息,并且立即進(jìn)行處理,然后把處理的結(jié)果通過消息總線發(fā)送給“受控部件”。
受控部件:時刻監(jiān)聽總線,響應(yīng)“受控系統(tǒng)信息產(chǎn)生器”發(fā)出的信息做出相應(yīng)的行為。
A:頭部相對運(yùn)動子服務(wù):主要響應(yīng)頭部位置的變化并向消息總線上發(fā)送頭部相對位置的信息。
相對位置判斷器:給出此刻頭部位置相對于上一刻位置的變化信息。
相對方向判斷器:給出此刻頭部位置相對于上一刻方向的變化信息
B:頭部旋轉(zhuǎn)運(yùn)動子服務(wù):主要響應(yīng)頭部旋轉(zhuǎn)運(yùn)動并向消息總線上發(fā)送頭部旋轉(zhuǎn)運(yùn)動的信息(例如,加速度和速度)。
加速度計算器:計算頭部旋轉(zhuǎn)的加速度。
速度計算器:計算頭部旋轉(zhuǎn)的速度。
相對方向判斷器:給出相對于上一時刻的方向。
C:頭部水平運(yùn)動子服務(wù):主要響應(yīng)頭部水平運(yùn)動并向消息總線上發(fā)送頭部水平運(yùn)動的信息。
D:消息總線:消息總線的作用是把各個功能模塊連接在一起。各個功能模塊響應(yīng)總線上適合自己處理的消息,然后將處理的結(jié)果最終再次發(fā)到消息總線上。
對圖2中小標(biāo)號(1~13)的解釋:
0 :系統(tǒng)讀取配置文件
1 :初始化系統(tǒng)
2 :系統(tǒng)調(diào)用“頭部相對位置運(yùn)動服務(wù)”模塊
3 :“頭部相對位置運(yùn)動服務(wù)”模塊向總線發(fā)送服務(wù)
4 :“相對位置判斷器”向消息支線發(fā)送頭部的相對位置信息
5 :“相對方向判斷器”向消息支線發(fā)送頭部的相對方向信息
6 :系統(tǒng)調(diào)用“頭部旋轉(zhuǎn)運(yùn)動子服務(wù)”模塊
7 :“頭部相旋轉(zhuǎn)運(yùn)動子服務(wù)”模塊向總線發(fā)送服務(wù)信息
8 :調(diào)用“加速度計算器”計算加速度信息
9 :調(diào)用“速度計算器”計算速度信息
10:系統(tǒng)調(diào)用“頭部水平運(yùn)動子服務(wù)”模塊
11 :“頭部水平運(yùn)動子服務(wù)”模塊向總線發(fā)送服務(wù)信息
12 :“眼動系統(tǒng)控制信息產(chǎn)生器” 處理過程 ‘3’,‘7’,‘11’所發(fā)送的信息,并向總線發(fā) 送處理后的支配信息
13 :“眼動系統(tǒng)部件”響應(yīng)支配信息
基于層次消息總線的一體化頭眼運(yùn)動測量系統(tǒng)結(jié)構(gòu)主要由以下復(fù)合構(gòu)件構(gòu)成:頭盔、下位計算機(jī)系統(tǒng)、上位測控計算機(jī)系統(tǒng)3部分組成。
其中,復(fù)合構(gòu)件頭部測量系統(tǒng)(頭盔):包括構(gòu)件慣性測量單元、兩路高速相機(jī),主要完成飛行員、駕駛員的頭部運(yùn)動姿態(tài)、眼動圖像的數(shù)據(jù)采集功能;復(fù)合構(gòu)件下位計算機(jī)系統(tǒng):完成將采集到的數(shù)據(jù)重新打包,并采用無線傳輸方式將數(shù)據(jù)傳送至上位測試計算機(jī);復(fù)合構(gòu)件上位測控計算機(jī):完成數(shù)據(jù)分析處理功能;構(gòu)件初始化部件:完成系統(tǒng)的初始化功能,包括系統(tǒng)運(yùn)行時狀態(tài)的初始化。頭眼運(yùn)動測量系統(tǒng)HMB結(jié)構(gòu)如圖3所示。
圖3 頭眼運(yùn)動測量系統(tǒng)的HMB結(jié)構(gòu)Fig.3 HMB Structure designed diagram of the Head eye movement system
本部分主要由左、右兩路攝像機(jī)和姿態(tài)儀組成,完成頭部運(yùn)動原始數(shù)據(jù)的采集,包括:左攝像機(jī)和右攝像機(jī)以及姿態(tài)儀的數(shù)據(jù)采集。攝像機(jī):為系統(tǒng)的視頻信息采集部分,下位機(jī)系統(tǒng)可以通過攝像機(jī)的SN在配置文件中獲得計算機(jī)連接的方向,并當(dāng)攝像機(jī)處于正常狀態(tài)時進(jìn)行被測試人員眼部的運(yùn)動信息;姿態(tài)儀:為下位機(jī)系統(tǒng)提供被測試人員頭部運(yùn)動的三軸加速度、三向旋轉(zhuǎn)角度。通過姿態(tài)儀可以獲得本測試人員的三軸加速度和四元數(shù)。
該部分負(fù)責(zé)對采集到的原始數(shù)據(jù)進(jìn)行加工,包括:視頻數(shù)據(jù)、加速度數(shù)據(jù)、四元數(shù),然后將這些數(shù)據(jù)打包并發(fā)送至上位檢測計算機(jī)。通過這種通用連接方法,上位機(jī)可以連接至下位機(jī),獲取下位機(jī)傳來的信息。另外,本部分還負(fù)責(zé)對系統(tǒng)的狀態(tài)進(jìn)行檢測,包括:兩路攝像機(jī)的工作狀態(tài)、姿態(tài)儀的狀態(tài)、網(wǎng)絡(luò)聯(lián)通性狀態(tài)以及電池電量狀態(tài)檢測。
本部分實(shí)時同步接收人體的頭動和眼動數(shù)據(jù),實(shí)時繪制頭動速度曲線與眼動位置曲線,進(jìn)行頭動與眼動關(guān)系的分析。主要有4個模塊:1)系統(tǒng)自檢系統(tǒng):檢查上位機(jī)系統(tǒng)各模塊的功能工作狀態(tài);2)數(shù)據(jù)接收模塊:通過寬帶無線路由器接收下位計算機(jī)發(fā)送的數(shù)據(jù);3)數(shù)據(jù)分析處理模塊:根據(jù)接收到的數(shù)據(jù)幀,實(shí)時分析被測者的嚴(yán)冬曲線、頭動曲線和相關(guān)性,計算相關(guān)參數(shù);4)數(shù)據(jù)保存模塊:對已采集的原始頭動、原始眼動信號存儲、回放、凍結(jié)、打印等。
系統(tǒng)啟動時,對系統(tǒng)部件進(jìn)行初始化,包括對兩路攝像機(jī)和姿態(tài)儀的初始化,以及在系統(tǒng)工作時完成功能性的狀態(tài)定時初始化等功能。
該模塊為系統(tǒng)提供消息總線的功能,采集數(shù)據(jù)的復(fù)合構(gòu)件負(fù)責(zé)把采集的數(shù)據(jù)信息發(fā)送到該模塊上,負(fù)責(zé)分析處理數(shù)據(jù)的復(fù)合子構(gòu)件負(fù)責(zé)從該模塊獲取數(shù)據(jù)。
上面所設(shè)計的HMB結(jié)構(gòu)已經(jīng)應(yīng)用于頭眼運(yùn)動測量系統(tǒng)中?;谶@種結(jié)構(gòu)的頭眼運(yùn)動測量系統(tǒng)是該領(lǐng)域一種全新的研究方法。這種頭眼運(yùn)動測量裝置已經(jīng)廢棄了傳統(tǒng)運(yùn)動模擬平臺的束縛,采用一種新的頭眼實(shí)時測量解決方案,測試所采集到的前庭功能的數(shù)據(jù),分析頭眼運(yùn)動的刺激和反應(yīng)之間的關(guān)系。該設(shè)備具有傳播方式的多樣性,檢測設(shè)備高采樣率和調(diào)節(jié)設(shè)備的多自由度,從而提高了檢測的精度,并降低了對刺激裝置的要求,并可擴(kuò)展到其他需要的平臺。在眼球運(yùn)動的測量方面,國內(nèi)主要是進(jìn)行二維的眼動測量,但國外的研究進(jìn)展一直到三維測量,而本設(shè)備對眼球運(yùn)動數(shù)據(jù)的測量可以完成三維眼動測量。在這個領(lǐng)域里,進(jìn)一步提高了測量眼球運(yùn)動的準(zhǔn)確性,也顯示了該系統(tǒng)結(jié)構(gòu)的設(shè)計的合理性。
[1]孫久榮,黃億華,牟曉東.前庭代償:研究中樞神經(jīng)系統(tǒng)可塑性的一個理想模型[J].生理科學(xué)進(jìn)展,1998,29(3):209-213.
SUN Jiu-rong,HUANG Yi-hua,MOU Xiao-dong.Vestibular compensation:Study on plasticity of central nervous system an ideal model[J].Progress in Physiological Sciences,1998,29 (3):209-213.
[2]牛麗靜.前庭核向腦干和脊髓心血管調(diào)節(jié)區(qū)的投射[D].石家莊:河北師范大學(xué),2004.
[3]Grant J.W., Best W.A., Otolith organ mechanics:lumped parameter model and dynamic response[J].Avia Space Envoron,1987(58):970-976.
[4]Grant J.W., Best W.A., Mechanics of the otolith organ-Dynamic response, Ann.Biomed Eng.,1986(14):241-256.
[5]Grant J.W., Best W.A, Lonigro R.Governing Equations of Motion for the Otolith Organs and Their Response to a Step Change in Velocity of the Skull[J].J.Biomench.Eng,1984(106):302-308.
[6]蘇海軍,徐明瑜.耳石系統(tǒng)的動力學(xué)響應(yīng)[J].山東大學(xué)學(xué)報:自然科學(xué)版,2002(37):39-44.
SU Hai-jun,XU Ming-yu.The dynamic response of otolith organs[J].Journal of Shandong University:Natural Science Editio,2002(1):39-44.
[7]蘇海軍.前庭系統(tǒng)數(shù)學(xué)模型及分?jǐn)?shù)階微積分的應(yīng)用[D].濟(jì)南:山東大學(xué),2002.
[8]徐明瑜,譚文長.半規(guī)管內(nèi)流體動力學(xué)問題[J].中國科學(xué)(A輯),2000(30):272-280.
XU Ming-yu,TAN Wen-chang.Theproblemsoffluiddynamics in semicircular canal[J].Science in China:Series A,2000(30):272-280.
[9]張世琨,王立福,楊芙清.基于層次消息總線的軟件體系結(jié)構(gòu)風(fēng)格[J].中國科學(xué):E輯,2002(6):293-400.
ZHANG Shi-kun,WANG Li-fu,YANG Fu-qing. On hierarchical message bus based software architecture style[J].Science in China:series E,2002(6):293-400.
[10]張友生.軟件體系結(jié)構(gòu)[M].北京:清華大學(xué)出版社,2006.