周衛(wèi)華,張德發(fā)
(臺(tái)州職業(yè)技術(shù)學(xué)院,臺(tái)州 318000)
隨著世界人口老齡化的加快以及各種事故疾病等原因?qū)е碌臍埣踩藬?shù)量的增加,老年人和殘疾人對(duì)于性能優(yōu)越輪椅的需求變得越來越大[1].國內(nèi)外對(duì)于輪椅的研究較多,包括康復(fù)輪椅、爬樓輪椅、多功能智能輪椅等[2].輪椅的使用范圍,一般都是在戶內(nèi)比較狹小的空間內(nèi)進(jìn)行的,因此設(shè)計(jì)出一款行走靈活、使用方便的輪椅變得十分必要.
本文所設(shè)計(jì)實(shí)現(xiàn)的全方位輪椅,能很好的滿足這種要求.使用四個(gè)全向輪組合而成的輪椅不僅能實(shí)現(xiàn)前后移動(dòng),還能實(shí)現(xiàn)橫移、原地打轉(zhuǎn)以及斜線移動(dòng)[3].由于使用者的性格愛好以及自身?xiàng)l件的差異,使得他們對(duì)全方位輪椅的使用要求也不盡相同.
VRML 是基于Internet 的三維虛擬場(chǎng)景描繪標(biāo)準(zhǔn),強(qiáng)調(diào)多用戶之間的相互感知,在情景創(chuàng)投、協(xié)同工作、交互性方面具有明顯的優(yōu)勢(shì)[4,5].因此,將虛擬現(xiàn)實(shí)建模語言(VRML)應(yīng)用進(jìn)來,不但實(shí)現(xiàn)了客戶對(duì)輪椅實(shí)時(shí)定制的需求,還可以使異地的設(shè)計(jì)者,通過網(wǎng)絡(luò)實(shí)現(xiàn)異地協(xié)作,并可以進(jìn)行在線仿真.
全向輪有多種形式,根據(jù)輥?zhàn)虞S線與輪子軸線所成的角度分為Mecanum 輪、連續(xù)切換輪和錐滾輪[6].Mecanum 輪又稱瑞典輪,是一種相對(duì)比較成熟的全方位輪,由輪輻和固定在外周的許多小輥?zhàn)訕?gòu)成,輪子和輥?zhàn)又g的夾角通常為45°.連續(xù)切換輪和錐滾輪本質(zhì)上來說是Mecanum 輪的一種特殊情況,即輪子軸線與輥?zhàn)虞S線夾角為90°的情況,但是為了保證輪子與地面接觸的連續(xù)性,連續(xù)切換輪有采用大小輥?zhàn)咏惶嫜b配的形式,錐滾輪采用相同圓弧錐輥的形式,如圖1所示.
文中先分析單個(gè)輪子的運(yùn)動(dòng)在一般情況下對(duì)全方位輪椅運(yùn)動(dòng)的影響,然后再根據(jù)兩種輪子的自身特點(diǎn)和組合方式,對(duì)全方位輪椅進(jìn)行運(yùn)動(dòng)分析.
如圖2所示:設(shè)o點(diǎn)是輪椅的質(zhì)心,并在此點(diǎn)出建立車體坐標(biāo)系xoy,o’點(diǎn)是輪子的中心,并在此點(diǎn)處建立輪心坐標(biāo)系x’o’y’.設(shè)輥?zhàn)拥幕瑒?dòng)速度與輪子端面的夾角為β.輪心坐標(biāo)系x’與車體坐標(biāo)系x軸的夾角為α、v1和v2是輪椅在x軸和y軸的速度分量.輪心到輪椅質(zhì)心o的距離分別為s1和s2.輪椅的轉(zhuǎn)動(dòng)角速度為φ’.則根據(jù)速度的分解與合成公式可得:
其中:
將式(2)帶入式(1)求出解:
以及:
圖1 全向輪三維圖
圖2 輪椅與萬向輪的坐標(biāo)系
平面運(yùn)動(dòng)有三個(gè)自由度,前后、左右以及原地旋轉(zhuǎn),輪椅要實(shí)現(xiàn)全方位運(yùn)動(dòng),必須要有三個(gè)獨(dú)立驅(qū)動(dòng)的全向輪.三輪機(jī)構(gòu)穩(wěn)定性差,五輪、六輪及以上機(jī)構(gòu)冗余[7],綜上所示,采用四輪的輪椅機(jī)構(gòu),如圖3所示.
圖3 輪椅在Mecanum 輪的排布形式
對(duì)于輪1 由圖可知α =0°,β =45°,帶入式(3)可得:
同理可得其他3 個(gè)輪子的角速度的取值,寫成矩陣形式為:
由式(6)可知,通過協(xié)調(diào)輪椅四個(gè)Mecanum 輪的轉(zhuǎn)動(dòng)速度,輪椅整體便能按照預(yù)期的線路進(jìn)行運(yùn)動(dòng).
當(dāng)輪椅使用連續(xù)切換輪及錐滾輪時(shí),四個(gè)輪子的排布方式如圖4所示,對(duì)于輪1 由圖可知:α=-45°,β=90°,帶入式(3)可得:
同理可得其他3 個(gè)輪子的角速度,寫成矩陣形式如下:
由式(8)可知,通過協(xié)調(diào)輪椅四個(gè)連續(xù)切換輪的轉(zhuǎn)動(dòng)速度,輪椅整體便能按照預(yù)期的線路進(jìn)行運(yùn)動(dòng).
VRML 自身具有三維造型功能,但是造型能力較差,只能創(chuàng)建比較簡(jiǎn)單的模型,對(duì)于像全方位輪椅這樣復(fù)雜的模型需要專用的三維建模軟件如Pro/E 等進(jìn)行建模.將全方位輪椅的裝配體在Pro/E 里保存為wrl 格式文件導(dǎo)出便可以得到初級(jí)VRML 文件.為了后面的定制以及運(yùn)動(dòng)仿真編程的方便,需要對(duì)初級(jí)VRML 文件進(jìn)行一定的優(yōu)化處理,這些優(yōu)化處理包括:實(shí)例重用即DEF 定義和USE 引用;刪除格式轉(zhuǎn)化過程中的不必要的面片、節(jié)點(diǎn)、視點(diǎn)等;文件的整體化以及節(jié)點(diǎn)的重命名[8].經(jīng)過這些處理后的VRML 文件體積將會(huì)大大減小.在編輯器VRMLpad 里使用各種傳感器節(jié)點(diǎn)再結(jié)合編程語言javascript,完成交互定制系統(tǒng)和運(yùn)動(dòng)仿真系統(tǒng)的編程.為了滿足客戶的網(wǎng)絡(luò)瀏覽要求,可以用網(wǎng)頁制作軟件Dreamweaver 等將VRML 文件和網(wǎng)頁進(jìn)行整合后上傳至網(wǎng)絡(luò)服務(wù)器[9].系統(tǒng)的整體實(shí)現(xiàn)過程如圖5所示.
圖4 輪椅在切換輪及錐滾輪的排布方式
本系統(tǒng)中的實(shí)時(shí)定制主要通過點(diǎn)擊相應(yīng)的按鈕實(shí)現(xiàn)座椅顏色外觀的改變以及輪椅的輪子形式的實(shí)時(shí)替換.場(chǎng)景中的節(jié)點(diǎn)由域和事件組成,其中域的取值決定了節(jié)點(diǎn)所創(chuàng)建的造型或場(chǎng)景環(huán)境的當(dāng)前狀態(tài),事件則為節(jié)點(diǎn)提供了接收外界信息或向外界發(fā)送信息的能力.節(jié)點(diǎn)通過事件入口(eventIn)接受來自其他節(jié)點(diǎn)的信息改變自己的原有域值,通過事件出口(eventOut)發(fā)送自己的信息以改變其他節(jié)點(diǎn)的域值.只用VRML 自帶的節(jié)點(diǎn)還不能順利完成實(shí)時(shí)定制的要求,必須將JavaScript語言應(yīng)用進(jìn)去,利用JavaScript 編寫一定的函數(shù),然后通過路由將VRML 自帶的各種傳感器節(jié)點(diǎn)中的出事件、入事件等將函數(shù)與傳感器節(jié)點(diǎn)聯(lián)系起來[10].以輪子形式的實(shí)時(shí)替換為例,用到的VRML 傳感器節(jié)點(diǎn)有Touchsensor 節(jié)點(diǎn)、Timesensor 節(jié)點(diǎn)以及switch 節(jié)點(diǎn)等.在建模過程中,分別建立了mecanum 輪、連續(xù)切換輪和錐滾輪三種形式的全向輪,把三種形式輪子分別設(shè)定為Switch 節(jié)點(diǎn)的場(chǎng)景造型子節(jié)點(diǎn)列表,通過改變which Choice 域的域值可以切換三個(gè)場(chǎng)景子節(jié)點(diǎn)的顯示[11].使用javascript 編寫函數(shù)通過Touchsensor 的出事件作為輸入,改變whichChoice 的值從而來改變模型中顯示的輪子形式.三種不同參數(shù)下的輪椅外觀如圖6所示.
圖5 系統(tǒng)實(shí)現(xiàn)過程
在系統(tǒng)中可以對(duì)輪椅進(jìn)行直走、橫走、斜走、原地打轉(zhuǎn)等四種運(yùn)動(dòng)形式的仿真.客戶只需要點(diǎn)擊相應(yīng)的仿真按鈕就可以實(shí)時(shí)觀看到輪椅運(yùn)動(dòng)的效果.這里用到的傳感器節(jié)點(diǎn)有Touchsencor 節(jié)點(diǎn)、Timesensor節(jié)點(diǎn)、PositionInterpolator 節(jié)點(diǎn)、以及Collision 節(jié)點(diǎn)等.由于全方位輪子的特殊性,在仿真過程中不但要分別設(shè)置輪子與輥?zhàn)拥霓D(zhuǎn)動(dòng),還要考慮二者的協(xié)調(diào)性.因?yàn)橹挥信c地面接觸的輥?zhàn)硬攀寝D(zhuǎn)動(dòng)的,而每個(gè)輥?zhàn)雍螘r(shí)與地面接觸又與輪子的轉(zhuǎn)動(dòng)相關(guān)聯(lián).因此用碰撞節(jié)點(diǎn)實(shí)時(shí)檢測(cè)輪子上的各個(gè)輥?zhàn)优c地面的接觸情況,當(dāng)檢測(cè)到輥?zhàn)拥孛娼佑|時(shí),此輥?zhàn)愚D(zhuǎn)動(dòng),否則不轉(zhuǎn)動(dòng)[12].具體的控制流程圖如圖7所示.
圖6 實(shí)時(shí)定制效果圖
圖7 仿真控制流程圖
圖8 輪椅運(yùn)動(dòng)仿真
本文介紹了基于VRML 的全方位輪椅實(shí)時(shí)定時(shí)與運(yùn)動(dòng)仿真系統(tǒng),詳細(xì)介紹了整個(gè)系統(tǒng)的實(shí)現(xiàn)過程,從三維模型的建立到最后完成實(shí)時(shí)定制及運(yùn)動(dòng)仿真功能的實(shí)現(xiàn).VRML 技術(shù)結(jié)合運(yùn)動(dòng)輪椅的應(yīng)用,對(duì)于教學(xué)研究或者是定制性應(yīng)用開發(fā)都有實(shí)際意義和技術(shù)參考價(jià)值.同時(shí),該系統(tǒng)在定制的實(shí)時(shí)性、實(shí)用性等方面的性能還需進(jìn)一步的驗(yàn)證及優(yōu)化.