韓志平,李燊,梁亮
(沈陽新松機(jī)器人自動(dòng)化股份有限公司,遼寧 沈陽 110169)
復(fù)合機(jī)器人是最近幾年研發(fā)出的一款新型機(jī)器人?,F(xiàn)在市場(chǎng)上普遍的應(yīng)用場(chǎng)景,是由調(diào)度系統(tǒng)直接向復(fù)合機(jī)器人發(fā)送調(diào)度任務(wù),來完成調(diào)度流程,并且在調(diào)度任務(wù)之前,還需要示教人員親自到達(dá)現(xiàn)場(chǎng)進(jìn)行示教作業(yè),從而導(dǎo)致了大量人力和物力的浪費(fèi),并且在復(fù)雜的現(xiàn)場(chǎng)示教環(huán)境中,很容易發(fā)生安全事故。所以,虛擬仿真現(xiàn)場(chǎng)環(huán)境和離線示教就變得尤為重要。本文基于OSG開源框架,構(gòu)建了復(fù)合機(jī)器人在虛擬應(yīng)用場(chǎng)景的仿真和應(yīng)用,并且創(chuàng)新性地支持擁有二維激光導(dǎo)航的復(fù)合機(jī)器人在三維仿真空間內(nèi)進(jìn)行虛擬仿真示教,并提供完整的解決方案。
復(fù)合機(jī)器人是由機(jī)械手臂和移動(dòng)底盤兩大機(jī)械結(jié)構(gòu)組成,兩個(gè)機(jī)械結(jié)構(gòu)控制需要相互配合,共同完成指定調(diào)度任務(wù)。通過移動(dòng)底盤可以將復(fù)合機(jī)器人整體移動(dòng)到工藝要求的指定站點(diǎn),實(shí)現(xiàn)貨物在應(yīng)用場(chǎng)景中的水平移動(dòng);通過機(jī)械手臂可以搬運(yùn)、抓放貨物,實(shí)現(xiàn)貨物空間轉(zhuǎn)移。
復(fù)合機(jī)器人手臂模型是整個(gè)車體模型中最復(fù)雜的部分,它不僅需要配置各個(gè)關(guān)節(jié)的連桿關(guān)系,還需要確定復(fù)合機(jī)器人手臂的原點(diǎn)坐標(biāo)和手臂的位置。
手臂模型的機(jī)械結(jié)構(gòu)。本文使用七軸協(xié)作機(jī)器人手臂進(jìn)行模擬仿真,此機(jī)械手臂有七個(gè)自由度,所以使用手臂模型之前,需要先配置七個(gè)關(guān)節(jié)的連桿關(guān)系和復(fù)合機(jī)器人初始位置,實(shí)現(xiàn)控制各個(gè)關(guān)節(jié)控制的目的。
運(yùn)動(dòng)學(xué)模型。手臂基本的運(yùn)動(dòng)模式除了關(guān)節(jié)運(yùn)動(dòng),還需要提供直線運(yùn)動(dòng),本文采用DH算法求出末端端點(diǎn),求末端位置算法如下方法。
An+1是DH算法中的變換矩陣,RTH是機(jī)器人的基座與手臂之間的總變換。
本文的車體模型采用的是雙輪差速運(yùn)動(dòng)模型,在復(fù)合機(jī)器人底盤運(yùn)動(dòng)仿真中,一方面根據(jù)底盤當(dāng)前位置和目標(biāo)點(diǎn)位置及設(shè)定的速度參數(shù)規(guī)劃出線速度v和角速度w,利用雙輪差動(dòng)運(yùn)動(dòng)模型可得左輪和右輪輪速;另一方面,利用給定的速度進(jìn)行航跡推算,可以計(jì)算出下一控制周期時(shí)底盤的位姿。
設(shè)底盤當(dāng)前位姿為(xk,yk,qk),t為控制周期,下一控制周期底盤的位姿為:
仿真系統(tǒng)由復(fù)合機(jī)器人、柵格地圖和工件及場(chǎng)景裝飾模型實(shí)物組成。柵格地圖是由復(fù)合機(jī)器人使用激光掃描實(shí)際場(chǎng)景而創(chuàng)建的,機(jī)器人及用戶可以用它進(jìn)行空間位置的定位,減小模型的位置誤差,本文地圖采用0.05m大小的柵格。
柵格地圖轉(zhuǎn)換:柵格地圖是二維空間地圖,但是,在二維空間無法對(duì)機(jī)械手臂進(jìn)行離線示教,所以,需要柵格地圖坐標(biāo)向三維空間的世界坐標(biāo)進(jìn)行轉(zhuǎn)化,地圖轉(zhuǎn)換如下方法。
Dx是左下角x軸方向的柵格數(shù),Dy是左下角y軸方向的柵格數(shù),LeftX是左下角x軸方向位置值,LeftY是左下角y軸方向位置值,PerDot是每個(gè)柵格大小。
Lx是世界坐標(biāo)中x軸方向數(shù)值,Lx是世界坐標(biāo)中y軸方向數(shù)值,Column是柵格所在地圖的列數(shù),Row是柵格所在地圖的行數(shù),Scale是世界坐標(biāo)與地圖坐標(biāo)比例系數(shù)。
柵格地圖中的每個(gè)柵格在世界坐標(biāo)系的x、y軸數(shù)值獲取后,將每個(gè)柵格放置到z軸數(shù)值為0的平面上。
三維仿真系統(tǒng)是以開源三維圖形渲染引擎OSG作為開發(fā)平臺(tái),結(jié)合運(yùn)用機(jī)器人動(dòng)力學(xué)模型、移動(dòng)機(jī)器人車體模型等相關(guān)知識(shí),自主設(shè)計(jì)、基于復(fù)合機(jī)器人的仿真系統(tǒng)。其主要實(shí)現(xiàn)對(duì)遠(yuǎn)程機(jī)器人模擬示教,以完成遠(yuǎn)程示教工作,并可完成整個(gè)應(yīng)用場(chǎng)景的構(gòu)建,包括復(fù)合機(jī)器人、柵格地圖、工件及場(chǎng)景裝飾模型構(gòu)建。
仿真系統(tǒng)位于調(diào)度系統(tǒng)與復(fù)合機(jī)器人的中間層。調(diào)度系統(tǒng)用作工藝任務(wù)的生成和調(diào)度,并對(duì)拓?fù)潼c(diǎn)設(shè)置。包括仿真示教模塊、模型設(shè)計(jì)模塊、三維仿真模擬器和運(yùn)動(dòng)控制四大塊功能模塊。運(yùn)動(dòng)控制模塊接收到調(diào)度系統(tǒng)任務(wù),根據(jù)系統(tǒng)任務(wù),移動(dòng)底盤進(jìn)行速度規(guī)劃和位置規(guī)劃,機(jī)械手臂進(jìn)行軌跡規(guī)劃。模型設(shè)計(jì)模塊包括復(fù)合機(jī)器人算法設(shè)計(jì)模塊及信息中轉(zhuǎn)模塊,算法設(shè)計(jì)模塊包括機(jī)械臂運(yùn)動(dòng)學(xué)模型、車體模型等,信息中轉(zhuǎn)功能包括模型設(shè)計(jì)模塊與運(yùn)動(dòng)控制模塊、實(shí)物復(fù)合機(jī)器人、仿真模擬器、仿真示教模塊的進(jìn)行信息交互。三維仿真模擬器包括地圖轉(zhuǎn)換、三維場(chǎng)景顯示、模型構(gòu)建等功能模塊,在三維空間的所有操作都在此模塊上進(jìn)行。
仿真示教是仿真系統(tǒng)中最重要的功能,所以,必須保證仿真示教功能的數(shù)據(jù)準(zhǔn)確,做實(shí)驗(yàn)分析驗(yàn)證連續(xù)多組關(guān)節(jié)數(shù)據(jù)通過機(jī)器人正解算法計(jì)算出的機(jī)械手臂末端位置值在笛卡兒空間內(nèi)在合理區(qū)間,形成的軌跡平滑。
虛擬場(chǎng)景是仿真系統(tǒng)中另一個(gè)主要功能實(shí)現(xiàn),它替代了多臺(tái)復(fù)合機(jī)器人、工件及現(xiàn)場(chǎng)裝飾實(shí)物,并與調(diào)度系統(tǒng)完成了整個(gè)場(chǎng)景模擬。如圖1所示,其中一臺(tái)復(fù)合機(jī)器人到達(dá)桌子前,將桌子上的一個(gè)柱形工件抓起,完整地仿真了整個(gè)貨物抓取過程。
圖1 手臂抓取工件
隨著復(fù)合機(jī)器人的廣泛應(yīng)用,如何提高機(jī)器人的使用效率,減少人工的投入,越來越受重視。逼真的復(fù)合機(jī)器人仿真模型不僅可以免除現(xiàn)場(chǎng)示教的麻煩,而且可以用來驗(yàn)證機(jī)器人控制器算法及調(diào)度算法。一個(gè)整體的仿真場(chǎng)景可以模擬整個(gè)現(xiàn)場(chǎng)的工作場(chǎng)景,代替實(shí)物設(shè)備,以免在設(shè)備實(shí)驗(yàn)中產(chǎn)生損壞,并為遠(yuǎn)程監(jiān)控提供立體的展示效果。