郭凱瑞 王豆
(西安理工大學(xué)陜西省制造裝備重點(diǎn)實(shí)驗(yàn)室,陜西 西安 710048)
隨著工業(yè)機(jī)器人的推廣,生產(chǎn)生活對(duì)機(jī)器人各方面性能要求越來越高,包括定位準(zhǔn)確快速、末端軌跡規(guī)劃合理,雕刻機(jī)器人是工業(yè)機(jī)器人中常見的種類之一。影響雕刻機(jī)器人性能的參數(shù)眾多,比如其動(dòng)力學(xué)驅(qū)動(dòng)力與質(zhì)量、質(zhì)心位置等參數(shù)密切相關(guān)[1-3],其中冗余度機(jī)器人的軌跡規(guī)劃是非常受關(guān)注的領(lǐng)域之一。當(dāng)末端執(zhí)行器在任務(wù)空間中執(zhí)行選擇的軌跡(即避障)時(shí),可以根據(jù)給定的關(guān)鍵因素(時(shí)間、速度、力矩)對(duì)機(jī)器人進(jìn)行優(yōu)化。
本文以雕刻寫字為目標(biāo),以PUMA560 的D-H 參數(shù)表為基礎(chǔ),確定六自由度關(guān)節(jié)機(jī)器人傳動(dòng)系統(tǒng),對(duì)各關(guān)節(jié)電機(jī)進(jìn)行設(shè)計(jì)計(jì)算,在SOLIDWORKS 中對(duì)所設(shè)計(jì)機(jī)器人進(jìn)行建模。根據(jù)已建好的機(jī)器人參數(shù)模型,運(yùn)用D-H 法則完成各連桿坐標(biāo)系的建立,進(jìn)而對(duì)正向運(yùn)動(dòng)學(xué)建模,采用反變換法,得到機(jī)器人逆運(yùn)動(dòng)學(xué)的封閉解。并采用牛頓- 歐拉法和拉格朗日方法,分別利用Matlab 的符號(hào)計(jì)算功能,建立動(dòng)力學(xué)模型進(jìn)行基于機(jī)器人模型控制的仿真。接著,將所建模型進(jìn)行簡化,導(dǎo)入Simulink 中,并針對(duì)該機(jī)器人進(jìn)行運(yùn)動(dòng)控制仿真,完成控制算法的驗(yàn)證。針對(duì)特定運(yùn)動(dòng)軌跡以Matlab 為工具,采用三次多項(xiàng)式、拋物線以及B樣條等完成關(guān)節(jié)空間的插值,得到平滑軌跡完成優(yōu)化。并以實(shí)際例子完成雕刻字的軌跡提取以及仿真,驗(yàn)證該方法的正確性。
以Puma560 的DH 參數(shù)表為基礎(chǔ),設(shè)計(jì)六自由度關(guān)節(jié)機(jī)器人傳動(dòng)系統(tǒng),要求其末端可支持5kg 以上質(zhì)量的負(fù)載,對(duì)各關(guān)節(jié)電機(jī)進(jìn)行設(shè)計(jì)計(jì)算選型,確定減速器方案,在SolidWorks 中對(duì)其進(jìn)行建模(圖1)。
圖1 機(jī)器人裝配三維結(jié)構(gòu)圖
在Simulink 中建立機(jī)器人的模型,六個(gè)關(guān)節(jié),七個(gè)剛體,根據(jù)MDH 法則建立的坐標(biāo)系。在Matlab 中實(shí)現(xiàn)機(jī)器人運(yùn)動(dòng)學(xué)逆解,然在Simulink 完成動(dòng)力學(xué)方程建模。在仿真模型中輸入每個(gè)關(guān)節(jié)特定力矩,仿真過程中會(huì)讀取每個(gè)關(guān)節(jié)的當(dāng)前位置,以及生成一個(gè)使每個(gè)關(guān)節(jié)同時(shí)達(dá)到預(yù)期的結(jié)尾位置的軌跡。然后應(yīng)用PUMA560 的非線性動(dòng)力學(xué)模型中,并利用Matlab 的符號(hào)計(jì)算功能,得到其動(dòng)力學(xué)方程,基于牛頓歐拉遞推方法建模,其遞推程序在此不具體列出,利用cell 存儲(chǔ)各個(gè)變量的值。并通過工具箱證明動(dòng)力學(xué)模型正確性。至此,機(jī)器人的結(jié)構(gòu)及動(dòng)力學(xué)方程建立完畢。
圖2 A 圖像、細(xì)線化圖像以及軌跡圖像對(duì)比
如果末端執(zhí)行器的軌跡如圖2,首先提取其坐標(biāo)序列。一般常見的提取字筆畫的算法都采取提取外輪廓方法,經(jīng)過一層層的刪除滿足外層點(diǎn)特征的點(diǎn),仍要保持原來的形狀,直到得到圖像的單線組成骨架,根據(jù)這些信息可以實(shí)現(xiàn)圖像上特征點(diǎn)的檢測(cè),如端點(diǎn)、交叉點(diǎn)和拐點(diǎn),并進(jìn)一步完成軌跡細(xì)線化如圖2。細(xì)線化以后點(diǎn)與點(diǎn)之間并無順序,因此應(yīng)提取其筆畫序列,筆畫序列如圖3。
為了儲(chǔ)存字的壁畫信息,創(chuàng)建相應(yīng)的數(shù)據(jù)結(jié)構(gòu),并運(yùn)行然后將其序列輸出,其序列保存在坐標(biāo)的xlsx 文件中,第一列代表行,第二列代表列,第三列代表下一點(diǎn)的方向,并在MATLAB中恢復(fù),該部分長度取決于該軌跡輸出點(diǎn)集合的長度。因?yàn)閜lot函數(shù)的原點(diǎn)在左下角,而圖像原點(diǎn)在左上角,因此呈現(xiàn)左轉(zhuǎn)90度趨勢(shì),并且因?yàn)樗惴ㄖ袨榱藚^(qū)分一個(gè)筆畫跟一個(gè)筆畫的區(qū)別,因此在一筆筆畫開始前,都加了(0,0,0)點(diǎn),而plot 函數(shù)將所有點(diǎn)插值畫出來,因此呈現(xiàn)如圖效果。當(dāng)有了字母A 的平面坐標(biāo)信息,需要將其恢復(fù)成基礎(chǔ)坐標(biāo)系的位置和姿態(tài)信息。然后經(jīng)過機(jī)器人的逆運(yùn)動(dòng)學(xué)方程,得到關(guān)節(jié)空間的角度序列,需要根據(jù)操作空間的要求,如勻速,對(duì)其進(jìn)行軌跡規(guī)劃,輸出該軌跡的各個(gè)關(guān)節(jié)角位移,角速度,角加速度。
連續(xù)多點(diǎn)軌跡控制實(shí)現(xiàn):
設(shè)置電機(jī)為位置控制模式,利用逆運(yùn)動(dòng)學(xué)求出該軌跡序列解,然后對(duì)其進(jìn)行速度規(guī)劃,加速度規(guī)劃。其目標(biāo)運(yùn)行軌跡(主要控制其在y=0.803 平面上的A) 如圖3。建立pd 控制SIMULINK 模型,如圖4??刂破鋸?pi/2,0,pi/2,0,-pi/2,0)到(2,2,2,2,2,2),設(shè)置pd 增益參數(shù)均為(112,100),配置環(huán)境為無重力。其各關(guān)節(jié)(從1 至6,底座至末端執(zhí)行器的編號(hào)順序)響應(yīng)曲線依次如圖4。
圖3 目標(biāo)運(yùn)行軌跡
圖4 腰部關(guān)節(jié)響應(yīng)曲線
本文基于已完成的6R 機(jī)器人傳動(dòng)設(shè)計(jì),在MATLAB 環(huán)境下,建立了機(jī)器人的運(yùn)動(dòng)模型,完成動(dòng)力學(xué)仿真,在此基礎(chǔ)上提出了雕刻機(jī)器人軌跡控制算法,在OPENCV 環(huán)境下,完成文字的細(xì)線化處理,并提取了文字軌跡,生成了筆畫序列,驗(yàn)證了該控制算法。