楊雁冰
摘 要:虛擬現(xiàn)實是建立交互,構(gòu)建一個虛擬環(huán)境,以此為前提,設(shè)計并聯(lián)機器人的仿真系統(tǒng),是根據(jù)機器人的運動學(xué)仿真,完成仿真系統(tǒng)的設(shè)計。該系統(tǒng)設(shè)計后,可把并聯(lián)機器人放到一個三維空間內(nèi),機器人在這個空間內(nèi)根據(jù)指令做出相應(yīng)的動作。
關(guān)鍵詞:虛擬現(xiàn)實 并聯(lián)機器人 運動學(xué)仿真 仿真系統(tǒng)
中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-3791(2018)03(c)-0018-02
虛擬現(xiàn)實是VR技術(shù),以計算機為平臺,把視覺、聽覺、觸覺放到一個虛擬環(huán)境中,人們佩戴設(shè)備后,即可交互。系統(tǒng)開發(fā)中,是結(jié)合虛擬現(xiàn)實與并聯(lián)機器人的優(yōu)勢,綜合后完成系統(tǒng)設(shè)計,并給出實際應(yīng)用的實例,以為并聯(lián)機器人的進(jìn)一步開發(fā)提供輔助。
1 并聯(lián)機器人的運動學(xué)仿真
并聯(lián)機器人的運動學(xué)仿真有多個內(nèi)容,包括其正向、逆向的運動學(xué)計算、活動空間等,而進(jìn)行仿真分析的目的是,用不同功能滿足計算機需求,分析運動空間,判斷其是否滿足需求。其運動學(xué)的運算是并聯(lián)機器人的正、反解的運算,它們是機器人運動學(xué)等研究進(jìn)行的前提,而為便于仿真系統(tǒng)的設(shè)計,本文分析的正解運算。
對于運動空間求解,是系統(tǒng)建設(shè)的重要任務(wù),機器人實際展示或虛擬展示中,會受很多因素影響,即實際進(jìn)行中,受連桿工作行程的控制,6個連桿之間互相影響,對機器人關(guān)節(jié)的運動造成限制,故仿真系統(tǒng)的設(shè)計,是指導(dǎo)機器人操作,針對不同的情況,選擇相應(yīng)處理方案。也就是,仿真系統(tǒng)設(shè)計后,并聯(lián)機器人所有活動的區(qū)域都在三維空間內(nèi),可從中直觀的看到結(jié)果。
2 虛擬現(xiàn)實下并聯(lián)機器人的仿真系統(tǒng)
該系統(tǒng)是讓并聯(lián)機器人在三維立體環(huán)境內(nèi),像人一樣做出動作,包括走步、轉(zhuǎn)彎、跑步等,所有動作的展示都可從多個角度觀看,增加效果的逼真性。系統(tǒng)中,機器人站在“地板”上,“地板”是一個立體的平面,在上面粘貼了一張貼圖,結(jié)構(gòu)簡單,大小適中,它的加入,是把機器人與背景區(qū)分開,增加模擬的真實感。用這個系統(tǒng)制作機器人,可分散機器人各部分的零件,待使用時,再把所有零件放在一起,通過其他操作,制作出并聯(lián)機器人。系統(tǒng)具體的設(shè)計方案如下。
2.1 系統(tǒng)總設(shè)計
該系統(tǒng)使用的是C++程序,而該程序的核心是,進(jìn)行消息循環(huán),設(shè)定的程序開始運行后,操作者根據(jù)實際需求,向并聯(lián)機器人發(fā)出控制命令,讓命令進(jìn)入循環(huán),包括退出、運動與場景,如果是控制機器人運動的指令,命令進(jìn)入運動事件,控制并聯(lián)機器人做出相應(yīng)的動作,最后把機器人放到三維空間內(nèi)。
2.2 詳細(xì)設(shè)計
2.2.1 設(shè)定運動軌跡
并聯(lián)機器人的設(shè)計方式是用其余程序計算,然后把計算結(jié)果輸入到系統(tǒng)內(nèi),在線控制,在系統(tǒng)內(nèi)部根據(jù)計算精度,精確設(shè)計并聯(lián)機器人的運動軌跡,在杠桿的作用下,完成動作的初始路線設(shè)計,隨后,根據(jù)軌跡的變化,確定每個點的桿長,以及對應(yīng)的動作速度,把所有數(shù)字整合后,放到信息表中,虛擬環(huán)境中如果機器人需做出仿真運動,即可查閱表格,得到對應(yīng)的數(shù)值與基本信息。另通過軌跡的整體規(guī)劃,把所有運動軌跡分成了6個分支[1]。
2.2.2 控制指令
控制指令是消息控制,在主程序內(nèi)加入消息控制環(huán)節(jié),在每個對象之間建立通信,且程序內(nèi)必然有控制程度的代碼??刂浦噶畹牧鞒虉D是:程序開始后,把控制指令從中拿出,根據(jù)指令內(nèi)容決定下一步操作;包括退出信息、處理指令、翻譯指令,其中退出信息是直接結(jié)束處理,把未使用的資源釋放,處理指令是進(jìn)行初始化設(shè)計,放到三維空間內(nèi),嘗試運行;待消息處理后,向外分派消息,隨后執(zhí)行相關(guān)操作。
2.2.3 主控
對系統(tǒng)的主控,是運用面向?qū)ο蠛筒寮焦芾恚孟到y(tǒng)代碼構(gòu)建框架,而代碼運行后,建立的是虛擬環(huán)境,同時,在系統(tǒng)內(nèi)加入數(shù)控操作,基于并聯(lián)機器人的杠桿操作與運行軌跡,接入多個代碼,這些代碼即為并聯(lián)機器人運動產(chǎn)生的實體。具體包括:(1)主控代碼的計算,是把所有結(jié)果顯示,完成數(shù)據(jù)計算,隨后實體代碼與主動代碼連接后,控制主控代碼的操作;(2)CD3DMesh,它的作用是定義并聯(lián)機器人,記住并聯(lián)機器人的特征,把所有特征放到集合,如果需要添加新的內(nèi)容,可使用導(dǎo)出文件,并把新的信息輸入到確定的對象內(nèi),豐富對象的意義,如此,是把并聯(lián)機器人的所有信息都輸入到仿真系統(tǒng)內(nèi),記錄各部分的數(shù)據(jù)與特征;(3)(class Main Window,所有主控代碼動作都在這里面完成,連接多個接口,這些接口均屬于HRESULT的類別。首先,對于One Time Scenelint(),發(fā)出預(yù)編譯的命令,雖然目的是與 64位機兼容,但真正調(diào)整的其他接口;其次,Init Device Objects(),其負(fù)責(zé)的安裝驅(qū)動,在系統(tǒng)內(nèi)讀取文件,裝載網(wǎng)格,把并聯(lián)機器人放到緩沖區(qū)內(nèi),讓其按照設(shè)定的運動軌跡,做出動作,期間會產(chǎn)生3個數(shù)據(jù)流,包括初始、發(fā)生、恢復(fù),另這部分也會讀取其他文件,有特定的讀取方式;再次,Rrstore Device Objects(),對所有燈光、節(jié)點進(jìn)行初始化設(shè)計;接著,F(xiàn)rame Move(),分析共享變量,把變量反應(yīng)到物體上,且這項操作結(jié)束后,流程隨即睡眠;最后,Render(),它負(fù)責(zé)的是處理場景,根據(jù)并聯(lián)機器人實際工作的空間,設(shè)計杠桿的位置,其中需提及的是,用三維圖形現(xiàn)實繪制,選擇網(wǎng)格點,放在緩沖區(qū)內(nèi),并根據(jù)需求實際切換。
3 仿真系統(tǒng)的運用與思考
3.1 運用
該系統(tǒng)已經(jīng)完成了6-DOF并聯(lián)機器人的仿真,包括從模型分析到整體控制,從中得到大量數(shù)據(jù),并基于得到的數(shù)據(jù),完成數(shù)據(jù)分析[2]。對應(yīng)數(shù)據(jù)如下。
(1)起始位置的數(shù)據(jù):xp、yp、zp為0.000cm,α、β、γ是0.000rad。
(2)目標(biāo)位置數(shù)據(jù)是:xp是36.000cm,zp為60.000cm,yp與α、β、γ的數(shù)值不變。
(3)機械臂的運動(加速度):線是2.0000cm/s2,角是2.0000rad/s2,時長10.0000s。
(4)PID控制:Kp是4.000,Ti是 1.000,Dd是0.000。
根據(jù)這四類數(shù)據(jù),分別繪制了6個分支分別對應(yīng)的曲線,從曲線中得到結(jié)果是,最大速度下,誤差為8.016%,最大的誤差接近2.67cm/s,而從仿真模擬得到的結(jié)果是,設(shè)定的分支長度符合極限的要求,之間未有干涉,所有運動都在這個空間內(nèi)。
3.2 思考
從上述內(nèi)容的闡述中,總結(jié)出基于虛擬顯示模擬并聯(lián)機器人的仿真,是按照并聯(lián)機器人運行的環(huán)境、整體運行環(huán)境等參數(shù),用系統(tǒng)制作出三維立體空間,并在這個空間制作出并聯(lián)機器人,下發(fā)指令,讓其按照現(xiàn)場基本情況操作,檢驗機器人內(nèi)多個杠桿的操作是否會相互干擾。由此,提出這一方式是增強了并聯(lián)機器人模擬操作的直觀性,通過直觀地觀察,得到基本判斷,即借助三維模擬,把并連機器實際操作的場景模擬,輸入不同的指令與指數(shù),記錄數(shù)據(jù),嘗試畫出分支曲線,曲線繪制后,結(jié)合分析結(jié)果,給出最優(yōu)的并聯(lián)機器人操作方式,設(shè)定既定的參數(shù)與模式,避免不同杠桿之間的相互干擾,優(yōu)化機器人使用的效果。但該系統(tǒng)還有部分細(xì)節(jié)需進(jìn)一步處理,包括數(shù)據(jù)分析的優(yōu)化、主控設(shè)計環(huán)節(jié)設(shè)計的優(yōu)化等,只有如此,才可以提高仿真系統(tǒng)設(shè)計的水平,給出科學(xué)、合理的設(shè)計方案。
4 結(jié)語
用虛擬現(xiàn)實開發(fā)并聯(lián)機器人的仿真系統(tǒng),是借由虛擬現(xiàn)實互動的特點,以及并聯(lián)機器人的運動學(xué)仿真,提出系統(tǒng)設(shè)計的總思路,以及細(xì)節(jié)的設(shè)計,從這些設(shè)計中,可以優(yōu)化對并聯(lián)機器人運動狀態(tài)的分析,給出避免零件相互干擾的方案,保證其整體運行都在目標(biāo)區(qū)域內(nèi)。但該系統(tǒng)還有很多細(xì)節(jié)需進(jìn)一步處理,補充系統(tǒng)的漏洞。
參考文獻(xiàn)
[1] 方向明,方明,劉天元,等.基于虛擬現(xiàn)實技術(shù)的機器人仿真設(shè)計研究[J].長春理工大學(xué)學(xué)報:自然科學(xué)版,2016,39(1):61-65.
[2] 李剛俊,陳永.面向機器人應(yīng)用的虛擬現(xiàn)實系統(tǒng)[J].西南交通大學(xué)學(xué)報,2013(1):115-118.