周衛(wèi)華,張德發(fā)
(臺州職業(yè)技術(shù)學(xué)院,臺州 318000)
隨著世界人口老齡化的加快以及各種事故疾病等原因?qū)е碌臍埣踩藬?shù)量的增加,老年人和殘疾人對于性能優(yōu)越輪椅的需求變得越來越大[1].國內(nèi)外對于輪椅的研究較多,包括康復(fù)輪椅、爬樓輪椅、多功能智能輪椅等[2].輪椅的使用范圍,一般都是在戶內(nèi)比較狹小的空間內(nèi)進(jìn)行的,因此設(shè)計出一款行走靈活、使用方便的輪椅變得十分必要.
本文所設(shè)計實現(xiàn)的全方位輪椅,能很好的滿足這種要求.使用四個全向輪組合而成的輪椅不僅能實現(xiàn)前后移動,還能實現(xiàn)橫移、原地打轉(zhuǎn)以及斜線移動[3].由于使用者的性格愛好以及自身條件的差異,使得他們對全方位輪椅的使用要求也不盡相同.
VRML 是基于Internet 的三維虛擬場景描繪標(biāo)準(zhǔn),強(qiáng)調(diào)多用戶之間的相互感知,在情景創(chuàng)投、協(xié)同工作、交互性方面具有明顯的優(yōu)勢[4,5].因此,將虛擬現(xiàn)實建模語言(VRML)應(yīng)用進(jìn)來,不但實現(xiàn)了客戶對輪椅實時定制的需求,還可以使異地的設(shè)計者,通過網(wǎng)絡(luò)實現(xiàn)異地協(xié)作,并可以進(jìn)行在線仿真.
全向輪有多種形式,根據(jù)輥子軸線與輪子軸線所成的角度分為Mecanum 輪、連續(xù)切換輪和錐滾輪[6].Mecanum 輪又稱瑞典輪,是一種相對比較成熟的全方位輪,由輪輻和固定在外周的許多小輥子構(gòu)成,輪子和輥子之間的夾角通常為45°.連續(xù)切換輪和錐滾輪本質(zhì)上來說是Mecanum 輪的一種特殊情況,即輪子軸線與輥子軸線夾角為90°的情況,但是為了保證輪子與地面接觸的連續(xù)性,連續(xù)切換輪有采用大小輥子交替裝配的形式,錐滾輪采用相同圓弧錐輥的形式,如圖1所示.
文中先分析單個輪子的運動在一般情況下對全方位輪椅運動的影響,然后再根據(jù)兩種輪子的自身特點和組合方式,對全方位輪椅進(jìn)行運動分析.
如圖2所示:設(shè)o點是輪椅的質(zhì)心,并在此點出建立車體坐標(biāo)系xoy,o’點是輪子的中心,并在此點處建立輪心坐標(biāo)系x’o’y’.設(shè)輥子的滑動速度與輪子端面的夾角為β.輪心坐標(biāo)系x’與車體坐標(biāo)系x軸的夾角為α、v1和v2是輪椅在x軸和y軸的速度分量.輪心到輪椅質(zhì)心o的距離分別為s1和s2.輪椅的轉(zhuǎn)動角速度為φ’.則根據(jù)速度的分解與合成公式可得:

其中:

將式(2)帶入式(1)求出解:

以及:


圖1 全向輪三維圖

圖2 輪椅與萬向輪的坐標(biāo)系
平面運動有三個自由度,前后、左右以及原地旋轉(zhuǎn),輪椅要實現(xiàn)全方位運動,必須要有三個獨立驅(qū)動的全向輪.三輪機(jī)構(gòu)穩(wěn)定性差,五輪、六輪及以上機(jī)構(gòu)冗余[7],綜上所示,采用四輪的輪椅機(jī)構(gòu),如圖3所示.

圖3 輪椅在Mecanum 輪的排布形式
對于輪1 由圖可知α =0°,β =45°,帶入式(3)可得:

同理可得其他3 個輪子的角速度的取值,寫成矩陣形式為:

由式(6)可知,通過協(xié)調(diào)輪椅四個Mecanum 輪的轉(zhuǎn)動速度,輪椅整體便能按照預(yù)期的線路進(jìn)行運動.
當(dāng)輪椅使用連續(xù)切換輪及錐滾輪時,四個輪子的排布方式如圖4所示,對于輪1 由圖可知:α=-45°,β=90°,帶入式(3)可得:

同理可得其他3 個輪子的角速度,寫成矩陣形式如下:

由式(8)可知,通過協(xié)調(diào)輪椅四個連續(xù)切換輪的轉(zhuǎn)動速度,輪椅整體便能按照預(yù)期的線路進(jìn)行運動.
VRML 自身具有三維造型功能,但是造型能力較差,只能創(chuàng)建比較簡單的模型,對于像全方位輪椅這樣復(fù)雜的模型需要專用的三維建模軟件如Pro/E 等進(jìn)行建模.將全方位輪椅的裝配體在Pro/E 里保存為wrl 格式文件導(dǎo)出便可以得到初級VRML 文件.為了后面的定制以及運動仿真編程的方便,需要對初級VRML 文件進(jìn)行一定的優(yōu)化處理,這些優(yōu)化處理包括:實例重用即DEF 定義和USE 引用;刪除格式轉(zhuǎn)化過程中的不必要的面片、節(jié)點、視點等;文件的整體化以及節(jié)點的重命名[8].經(jīng)過這些處理后的VRML 文件體積將會大大減小.在編輯器VRMLpad 里使用各種傳感器節(jié)點再結(jié)合編程語言javascript,完成交互定制系統(tǒng)和運動仿真系統(tǒng)的編程.為了滿足客戶的網(wǎng)絡(luò)瀏覽要求,可以用網(wǎng)頁制作軟件Dreamweaver 等將VRML 文件和網(wǎng)頁進(jìn)行整合后上傳至網(wǎng)絡(luò)服務(wù)器[9].系統(tǒng)的整體實現(xiàn)過程如圖5所示.

圖4 輪椅在切換輪及錐滾輪的排布方式
本系統(tǒng)中的實時定制主要通過點擊相應(yīng)的按鈕實現(xiàn)座椅顏色外觀的改變以及輪椅的輪子形式的實時替換.場景中的節(jié)點由域和事件組成,其中域的取值決定了節(jié)點所創(chuàng)建的造型或場景環(huán)境的當(dāng)前狀態(tài),事件則為節(jié)點提供了接收外界信息或向外界發(fā)送信息的能力.節(jié)點通過事件入口(eventIn)接受來自其他節(jié)點的信息改變自己的原有域值,通過事件出口(eventOut)發(fā)送自己的信息以改變其他節(jié)點的域值.只用VRML 自帶的節(jié)點還不能順利完成實時定制的要求,必須將JavaScript語言應(yīng)用進(jìn)去,利用JavaScript 編寫一定的函數(shù),然后通過路由將VRML 自帶的各種傳感器節(jié)點中的出事件、入事件等將函數(shù)與傳感器節(jié)點聯(lián)系起來[10].以輪子形式的實時替換為例,用到的VRML 傳感器節(jié)點有Touchsensor 節(jié)點、Timesensor 節(jié)點以及switch 節(jié)點等.在建模過程中,分別建立了mecanum 輪、連續(xù)切換輪和錐滾輪三種形式的全向輪,把三種形式輪子分別設(shè)定為Switch 節(jié)點的場景造型子節(jié)點列表,通過改變which Choice 域的域值可以切換三個場景子節(jié)點的顯示[11].使用javascript 編寫函數(shù)通過Touchsensor 的出事件作為輸入,改變whichChoice 的值從而來改變模型中顯示的輪子形式.三種不同參數(shù)下的輪椅外觀如圖6所示.

圖5 系統(tǒng)實現(xiàn)過程
在系統(tǒng)中可以對輪椅進(jìn)行直走、橫走、斜走、原地打轉(zhuǎn)等四種運動形式的仿真.客戶只需要點擊相應(yīng)的仿真按鈕就可以實時觀看到輪椅運動的效果.這里用到的傳感器節(jié)點有Touchsencor 節(jié)點、Timesensor節(jié)點、PositionInterpolator 節(jié)點、以及Collision 節(jié)點等.由于全方位輪子的特殊性,在仿真過程中不但要分別設(shè)置輪子與輥子的轉(zhuǎn)動,還要考慮二者的協(xié)調(diào)性.因為只有與地面接觸的輥子才是轉(zhuǎn)動的,而每個輥子何時與地面接觸又與輪子的轉(zhuǎn)動相關(guān)聯(lián).因此用碰撞節(jié)點實時檢測輪子上的各個輥子與地面的接觸情況,當(dāng)檢測到輥子地面接觸時,此輥子轉(zhuǎn)動,否則不轉(zhuǎn)動[12].具體的控制流程圖如圖7所示.

圖6 實時定制效果圖

圖7 仿真控制流程圖

圖8 輪椅運動仿真
本文介紹了基于VRML 的全方位輪椅實時定時與運動仿真系統(tǒng),詳細(xì)介紹了整個系統(tǒng)的實現(xiàn)過程,從三維模型的建立到最后完成實時定制及運動仿真功能的實現(xiàn).VRML 技術(shù)結(jié)合運動輪椅的應(yīng)用,對于教學(xué)研究或者是定制性應(yīng)用開發(fā)都有實際意義和技術(shù)參考價值.同時,該系統(tǒng)在定制的實時性、實用性等方面的性能還需進(jìn)一步的驗證及優(yōu)化.