李 奎,徐孝彬,王婷婷,劉 波
(河海大學(xué) 機(jī)電工程學(xué)院,江蘇 常州 213000)
因其具有高強(qiáng)度、輕量化、耐疲勞等諸多優(yōu)點(diǎn),復(fù)合材料構(gòu)件已經(jīng)被越來越多地被應(yīng)用在航空航天、軍工等領(lǐng)域[1-2],因此,行業(yè)對復(fù)合材料鋪放成型裝備的要求也越來越高。
冗余鋪放機(jī)器人逐漸成為復(fù)合材料鋪放的主流設(shè)備。由于逆解的無窮性,冗余機(jī)器人在路徑規(guī)劃及避障等方面具有更大的靈活性[3-6],但冗余特性也為機(jī)器人的運(yùn)動學(xué)求解及優(yōu)化增加了難度。
冗余機(jī)器人逆運(yùn)動學(xué)求解的方法主要有代數(shù)法[7-8]、迭代法[9-10]、幾何法[11-12]和自運(yùn)動流形法。自運(yùn)動流形法反映了冗余機(jī)器人的運(yùn)動學(xué)本質(zhì),給出了逆解的全部構(gòu)型,因此受到了眾多研究者的青睞。
基于自運(yùn)動流形的性能優(yōu)化可以得到全局最優(yōu)解。為此,國內(nèi)外很多學(xué)者針對冗余機(jī)器人系統(tǒng)的自運(yùn)動流形求解及優(yōu)化進(jìn)行了大量研究。
MAHMOUD T等人[13]對七自由度擬人手臂的構(gòu)型和相應(yīng)位姿進(jìn)行了大量數(shù)據(jù)采樣,從而獲得了多個參數(shù)化表示的分類流形;但其采樣過程較為復(fù)雜。MOORE B等人[14]利用旋量四元數(shù)獲得了七自由度PA10機(jī)械手的參數(shù)化的自運(yùn)動流形;但該方法的計(jì)算量較大。PIERRE D等人[15]從末端姿態(tài)局部小范圍調(diào)整和參數(shù)化自動流形兩方面,對七自由度冗余鋪放機(jī)器人的控制進(jìn)行了優(yōu)化,提高了其鋪放的效率;但該方法不具有通用性,并不適合其他構(gòu)型的鋪絲機(jī)器人。JIUCHUN G等人[16]在鋪放路徑節(jié)點(diǎn)對應(yīng)的流形中動態(tài)尋找最短路徑,即為相應(yīng)離散位姿點(diǎn)對應(yīng)的最優(yōu)逆解;每個節(jié)點(diǎn)的解都要依賴于前面所有節(jié)點(diǎn)的解,因此很容易出現(xiàn)錯誤解,而且求解過程較為復(fù)雜。徐朋等人[17-18]利用Paden-Kahan子問題和旋量方法,求解了八自由度鋪絲機(jī)器人自運(yùn)動流形,并分別以關(guān)節(jié)速度變化量最小、關(guān)節(jié)變化最小以及關(guān)節(jié)動能最小化為指標(biāo),建立了多目標(biāo)優(yōu)化函數(shù);但文中并沒有給出機(jī)械臂各關(guān)節(jié)優(yōu)化曲線的仿真結(jié)果。趙建文等人[19]采用幾何法和矢量代數(shù),對位姿解耦的七自由度冗余手臂的位置子流形和姿態(tài)子流形進(jìn)行了分析;但其沒有進(jìn)行流形方面的優(yōu)化研究。葛新鋒等人[20]采用點(diǎn)的自然坐標(biāo)作為獨(dú)立的運(yùn)動參數(shù),對七自由度鋪放機(jī)器人的自運(yùn)動流形進(jìn)行了參數(shù)表達(dá);但其沒有對流形進(jìn)行仿真和驗(yàn)證。栗偉周等人[21]引入了體積元函數(shù),對七自由度鋪絲機(jī)器人進(jìn)行了運(yùn)動學(xué)性能分析。郭娟等人[22]采用位置和姿態(tài)變換矩陣相結(jié)合的算法,對自動鋪絲機(jī)器人進(jìn)行了逆運(yùn)動學(xué)求解;但其均未涉及到較深入的優(yōu)化研究。
上述方法有的計(jì)算量大、效率低,有的方法不具有通用性,只適合特定構(gòu)型的冗余機(jī)器人求解。
基于上述分析,筆者結(jié)合幾何法和自運(yùn)動流形法,首先,利用運(yùn)算效率較高的幾何法求解其自運(yùn)動流形;其次基于自運(yùn)動流形進(jìn)行全局逆解優(yōu)化(由于鋪放質(zhì)量與機(jī)器人的關(guān)節(jié)運(yùn)動幅度和加速度變化具有很大關(guān)系,為滿足鋪放質(zhì)量,建立一種基于自運(yùn)動流形的全局優(yōu)化目標(biāo)函數(shù),將鋪放路徑變量引入目標(biāo)優(yōu)化函數(shù),使得機(jī)器人在整條鋪放路徑上關(guān)節(jié)運(yùn)動變化量和加速度變化量之和最小);最后,對飛機(jī)尾椎模型的一條鋪放路徑進(jìn)行運(yùn)動學(xué)逆解全局優(yōu)化,以驗(yàn)證優(yōu)化算法的可行性。
該冗余鋪放機(jī)器人系統(tǒng)由六自由度庫卡機(jī)器人KUKA KR 120 R2900 extra、移動導(dǎo)軌和旋轉(zhuǎn)芯模組成,其系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 八自由度鋪放機(jī)器人系統(tǒng)
機(jī)器人可沿導(dǎo)軌進(jìn)行直線運(yùn)動,對旋轉(zhuǎn)的芯模完成復(fù)合材料的鋪放工作。因此,該鋪放系統(tǒng)可等效為一個八自由度的冗余機(jī)器人來進(jìn)行研究。
根據(jù)D-H法建立系統(tǒng)坐標(biāo)系如圖2所示。
圖2 八自由度鋪放機(jī)器人D-H坐標(biāo)系
圖2中,xmymzm-Om是芯模固定坐標(biāo)系(fixed mold coordinate system,FMCS),xm′ym′zm′-Om′是芯模旋轉(zhuǎn)坐標(biāo)系(rotating mold coordinate system,RMCS),x0y0z0-O0為移動導(dǎo)軌零位坐標(biāo)系,x1y1z1-O1為移動導(dǎo)軌坐標(biāo)系。x2y2z2-O2至x7y7z7-O7為機(jī)械臂關(guān)節(jié)坐標(biāo)系。
對冗余系統(tǒng)而言,令r為相對冗余自由度個數(shù),則每個自運(yùn)動流形都是構(gòu)型空間的r維子流形。
定義r維向量s={s1,s2…sr},則每個子流形可表示為Mi(s),對于末端給定位姿,其對應(yīng)的自運(yùn)動流形可表示為:
(1)
式中:n為自運(yùn)動的總個數(shù);Mi(s)為第i個自運(yùn)動子流形。
對于八自由度鋪放機(jī)器人系統(tǒng),其相對冗余自由度個數(shù)為2。筆者選取芯模旋轉(zhuǎn)角度θ1和機(jī)械臂直線位移d定義為冗余變量。因此,該鋪放系統(tǒng)所對應(yīng)的自運(yùn)動流形為二維子流形的集合。
對于該冗余系統(tǒng)的自運(yùn)動流形求解,筆者采用位姿分離和關(guān)節(jié)依次運(yùn)動的思想,對于給定的末端位姿,通過計(jì)算可以得到機(jī)械臂腕點(diǎn)的位置坐標(biāo),通過芯模旋轉(zhuǎn)關(guān)節(jié)、移動關(guān)節(jié)和機(jī)械臂前3關(guān)節(jié)的運(yùn)動,使機(jī)械臂的腕點(diǎn)達(dá)到預(yù)定位置;此時,再通過依次調(diào)節(jié)機(jī)械臂后3個關(guān)節(jié)的運(yùn)動,使得末端達(dá)到預(yù)定姿態(tài)。因?yàn)殇伔蓬^與機(jī)械臂最后一個關(guān)節(jié)固連,所以根據(jù)鋪放頭的長度和位姿矩陣,可以得到腕點(diǎn)的位置坐標(biāo),腕部三個轉(zhuǎn)動關(guān)節(jié)的軸線交于腕點(diǎn)。因?yàn)樽藨B(tài)調(diào)整時不影響腕部的位置,所以鋪放頭末端位姿解耦。
機(jī)械臂轉(zhuǎn)動關(guān)節(jié)空間可表示為C2~C7,芯模旋轉(zhuǎn)關(guān)節(jié)空間為Cm,移動關(guān)節(jié)空間為C1,定義位置關(guān)節(jié)構(gòu)型空間為CP=Cm×C1×C2×C3×C4。末端壓輥對應(yīng)的位姿相對于芯模旋轉(zhuǎn)坐標(biāo)系是保持不變的。
機(jī)器人鋪放頭末端壓輥的位姿由規(guī)劃的鋪放路徑?jīng)Q定。定義鋪放路徑時,設(shè)定RMCS與FMCS兩個坐標(biāo)系。鋪放起始時刻,兩個坐標(biāo)系重合,隨著鋪放過程的進(jìn)行,FMCS在世界坐標(biāo)系里始終保持不變,RMCS跟隨芯模的旋轉(zhuǎn)在世界坐標(biāo)系里是一直變化的;但相對于芯模自身不發(fā)生改變,所以定義的鋪放路徑和末端壓輥位姿在RMCS中保持不變,但相對于FMCS已經(jīng)發(fā)生了位姿變化。RMCS與FMCS的變換矩陣可通過芯模轉(zhuǎn)角θ1獲得。
對于RMCS中的末端壓輥位姿矩陣m′TE,根據(jù)定義的位置子流形,則有:
(2)
令壓輥到機(jī)械臂腕點(diǎn)W的長度為l,由于鋪放頭與機(jī)械臂關(guān)節(jié)7固連,則腕點(diǎn)在末端位姿坐標(biāo)系中的齊次坐標(biāo)表示為ElW=[0 0 -l]T,則:
(3)
式中:m′TE為鋪放末端RMCS坐標(biāo)系中的位姿矩陣。
再由式(2)和式(3)相等,可以得到m′pW對應(yīng)的位置子流形構(gòu)型表達(dá)式。但由于冗余性,無法得出各關(guān)節(jié)的解析解。為此,需要對式(2)、式(3)做相應(yīng)變換,即:
(4)
式(4)等號左邊包含位置子流形關(guān)節(jié)變量θ2~θ4,等號右邊包含θ1,d兩個自運(yùn)動變量。因此,可以將θ2,θ3,θ4用θ1,d表示;對于θ2,θ3,θ4的求解可采用幾何法進(jìn)行獲取。
令腕點(diǎn)在機(jī)械臂基座坐標(biāo)系x1y1z1下的坐標(biāo)為1pW=[1pWx1pWy1pWz],則有:
(5)
通過上式可得,1pWx,1pWy,1pWz均為θ1和d的表達(dá)式。
機(jī)器人的肩肘腕關(guān)節(jié)運(yùn)動示意圖如圖3所示。
圖3 關(guān)節(jié)2旋轉(zhuǎn)示意圖
機(jī)器人肩肘腕關(guān)節(jié)共面,即O1SEW共面,將腕點(diǎn)W投影到x2y2平面交于W′,則O1W′與y2軸重合,θ2即為y2與x1軸的夾角:
θ2=arctan(1pWz/1pWx)
(6)
機(jī)器人基座旋轉(zhuǎn)示意圖如圖4所示。
圖4 機(jī)械臂基座旋轉(zhuǎn)示意圖
初始狀態(tài)下,向量lO1S0=[a2h0]T,a2,h均為機(jī)械臂已知的結(jié)構(gòu)參數(shù),當(dāng)關(guān)節(jié)2旋轉(zhuǎn)θ2角度后,向量lO1S=[a2cosθ2ha2sinθ2]T。圖3中向量lO1W=[1pWx1pWy1pWz]T,lSW=lO1W-lO1S,可得:
θ3=arccos(0z2·lSW/|lSW|)-∠ESW
(7)
其中:0z2=[0 1 0]T,∠ESW=arccos((|SE|2+|SW|2-|EW|2)/(2|SE||SW|)。
根據(jù)圖3所示,同樣可求得θ4如下:
θ4=π-∠SEW
(8)
其中:∠SEW=arccos((|SE|2+|EW|2-|SW|2)/(2|SE||EW|)。
由上述求解可知,θ2,θ3,θ4均可以用θ1和d表示,從而得θP=[θ1dθ2θ3θ4]T的參數(shù)方程,可抽象表示為H(θP,θ1,d)=0,即為位置子流形的參數(shù)方程形式。
理論上,根據(jù)機(jī)械臂是否翻肩和左右手臂形,可以得到位置子流形的四個曲面。考慮實(shí)際鋪放過程中機(jī)械臂工作的連續(xù)性,其構(gòu)型不可能在不同的位置子流形中跳轉(zhuǎn)。因此,上述求解的位置子流形只代表機(jī)械臂正常工作時的構(gòu)型,而對其他三種構(gòu)型對應(yīng)的位置子流形,筆者不再詳細(xì)論述。
經(jīng)過位置關(guān)節(jié)的運(yùn)動,其末端姿態(tài)已經(jīng)改變,末端姿態(tài)和關(guān)節(jié)7姿態(tài)一致。因此,通過θ5,θ6,θ7三個關(guān)節(jié)的依次運(yùn)動將關(guān)節(jié)7恢復(fù)到給定目標(biāo)姿態(tài)即可完成末端壓輥?zhàn)藨B(tài)調(diào)整。
末端姿態(tài)調(diào)整過程如圖5所示。
圖5 末端姿態(tài)關(guān)節(jié)依次運(yùn)動過程
圖5(a)圖是經(jīng)過位置關(guān)節(jié)運(yùn)動后的關(guān)節(jié)5至7姿態(tài)示意圖,依次運(yùn)動過程為關(guān)節(jié)5旋轉(zhuǎn)θ5和關(guān)節(jié)6旋轉(zhuǎn)θ6后,使得z7軸恢復(fù)到目標(biāo)值;再通過關(guān)節(jié)7運(yùn)動旋轉(zhuǎn)θ7后,使得末端坐標(biāo)系y軸恢復(fù)到目標(biāo)值。因?yàn)樵谶M(jìn)行姿態(tài)調(diào)節(jié)時,腕點(diǎn)位置保持不變,所以保證了最終末端位置的正確性。
根據(jù)上述姿態(tài)變換過程,可得如下矢量代數(shù)表達(dá)式:
(9)
(10)
θ7=arccos(y?7·y7)
(11)
在關(guān)節(jié)依次運(yùn)動過程中,可得下式:
(12)
在實(shí)際鋪放應(yīng)用中,機(jī)械臂不可翻腕,因此,筆者不再討論翻腕對應(yīng)的姿態(tài)子流形。
此處,筆者以末端壓輥位姿為例,給出其對應(yīng)的自運(yùn)動流形仿真。
該位姿矩陣是根據(jù)系統(tǒng)正解獲得的齊次變換矩陣,其中,θ1=0°,d=1 500 mm,θ2=90°,θ3=80°,θ4=-15°,θ5=18°,θ6=20°,θ7=20°。
齊次變換矩陣為:
m′TE=
該位姿為仿真系統(tǒng)中機(jī)器人鋪放時某一時刻對應(yīng)的姿態(tài)。其中,左上角3×3矩陣表示末端壓輥在芯模旋轉(zhuǎn)坐標(biāo)系xm′ym′zm′-Om′中的姿態(tài),右上角3×1矩陣表示壓輥在芯模旋轉(zhuǎn)坐標(biāo)系的位置坐標(biāo)。
其他參數(shù)分別為h=675 mm,a2=350 mm,Xf=2 500 mm,Yf=1 000 mm,∣SE∣=2 500 mm,∣EW∣=1 200 mm;并假定芯模和機(jī)械臂的移動方向均保持不變,即芯模保持逆時針旋轉(zhuǎn),機(jī)械臂遠(yuǎn)離零位移動,這與實(shí)際鋪放過程相符。
θ1和d作為自運(yùn)動變量,根據(jù)上述求解過程可得到其位置子流形仿真結(jié)果,如圖6所示。
圖6 位置子流形仿真
姿態(tài)子流形仿真結(jié)果如圖7所示。
圖7 姿態(tài)子流形仿真
由于該冗余系統(tǒng)的自運(yùn)動流形存在于八維關(guān)節(jié)構(gòu)型中,無法直觀表示。因此,需要將其分別映射為θ2,θ3,θ4張成的空間位置子流形和θ5,θ6,θ7張成的空間姿態(tài)子流形來表示。
從仿真結(jié)果可以看出:該八自由度鋪放機(jī)器人對應(yīng)的自運(yùn)動流形為空間中的部分曲面,而非完整的封閉曲面,這是因?yàn)镵UKA機(jī)器人各關(guān)節(jié)角都有一定的變化范圍,并非理想的(π,π]取值范圍。
這也和假定的芯模單一旋轉(zhuǎn)方向以及機(jī)械臂單一移動方向因素相關(guān)。
筆者任取若干組自運(yùn)動變量值,得到機(jī)械臂的關(guān)節(jié)角度值,并通過正向運(yùn)動學(xué)得到末端位姿矩陣均與給定位姿相符,從而驗(yàn)證了自運(yùn)動流形的正確性。
具體驗(yàn)證過程此處不再詳述。
自運(yùn)動流形給出了鋪放路徑上每個離散路徑點(diǎn)對應(yīng)的無窮多個逆解,逆解全局優(yōu)化旨在建立某種優(yōu)化準(zhǔn)則,從自運(yùn)動流形無數(shù)逆解中尋找最佳的逆解,從而用于控制機(jī)械臂完成鋪放工作。
筆者從鋪放路徑全局出發(fā),建立目標(biāo)優(yōu)化函數(shù)如下式所示:
H(θ1,d)=
(13)
該優(yōu)化準(zhǔn)則針對機(jī)械臂每個旋轉(zhuǎn)關(guān)節(jié),均包含兩項(xiàng)之和。其中,第一項(xiàng)是在全局鋪放路徑上求每個關(guān)節(jié)變化的兩次連續(xù)可微曲線,從而使每個關(guān)節(jié)曲線的曲率變化之和最小,保證機(jī)械臂整體運(yùn)動的平滑性。第二項(xiàng)使得在鋪放全局過程中各個關(guān)節(jié)變化量之和最小,從而降低機(jī)械臂整體運(yùn)動的幅度[23]。
此處以長度約2 450 mm的飛機(jī)尾椎模型為鋪放實(shí)驗(yàn)對象,如圖8所示。
圖8 飛機(jī)尾椎模型及鋪放路徑
筆者以測地線規(guī)劃一條鋪放路徑,長度約3 500 mm,初始位姿點(diǎn)為T0,終點(diǎn)位姿為Tn,Ti為鋪放路徑上第i個離散位姿點(diǎn),對整條鋪放路徑采用上述自運(yùn)動流形求解和優(yōu)化準(zhǔn)則進(jìn)行優(yōu)化。
芯模轉(zhuǎn)角隨鋪放路徑優(yōu)化曲線如圖9所示。
圖9 芯模轉(zhuǎn)角隨鋪放路徑優(yōu)化曲線
機(jī)械臂位移隨鋪放路徑優(yōu)化曲線如圖10所示。
圖10 機(jī)械臂位移隨鋪放路徑優(yōu)化曲線
機(jī)械臂關(guān)節(jié)角隨鋪放路徑優(yōu)化曲線如圖11所示。
圖11 機(jī)械臂關(guān)節(jié)角隨鋪放路徑優(yōu)化曲線
從仿真圖9可得:芯模初始旋轉(zhuǎn)角度約為-40°,說明芯模初始順時針旋轉(zhuǎn)了約40°,使機(jī)械臂具有一個合理的初始構(gòu)型。在后續(xù)鋪放過程中,芯模一直保持逆時針旋轉(zhuǎn)。
同時,圖10中機(jī)械臂的移動位移量也是一直增大,說明其移動方向不變。θ2基本保持0°不變,表示機(jī)械臂基座關(guān)節(jié)不發(fā)生旋轉(zhuǎn),通過直線移動來滿足芯模坐標(biāo)系下鋪放位姿點(diǎn)的Z方向坐標(biāo)值。
圖11中,關(guān)節(jié)2變化量很小,說明機(jī)械臂基座關(guān)節(jié)基本不發(fā)生旋轉(zhuǎn),這與圖9和圖10的結(jié)果相符。
優(yōu)化目標(biāo)函數(shù)中,各關(guān)節(jié)平衡系數(shù)取值根據(jù)其運(yùn)動學(xué)和動力學(xué)特性選取,如表1所示。
表1 優(yōu)化平衡系數(shù)取值
由于機(jī)械臂前面3關(guān)節(jié)的轉(zhuǎn)動會導(dǎo)致鋪放末端大幅移動,對鋪放質(zhì)量影響很大。因此,前面三個關(guān)節(jié)角應(yīng)作為重點(diǎn)優(yōu)化項(xiàng),其優(yōu)化系數(shù)取值較大。后面三個腕關(guān)節(jié)用于姿態(tài)調(diào)整,對鋪放末端的影響較小,尤其關(guān)節(jié)7甚至允許在規(guī)劃的角度上進(jìn)行小范圍調(diào)整,均不會影響鋪放質(zhì)量。因此,優(yōu)化系數(shù)取值較小。
針對圖8中的同一鋪放路徑,其鋪放路徑離散點(diǎn)和末端位姿設(shè)置均相同,不同優(yōu)化算法將導(dǎo)致關(guān)節(jié)角的變化過程也不同。
筆者將自運(yùn)動流行及逆解優(yōu)化算法,和文獻(xiàn)[17]的多目標(biāo)優(yōu)化算法進(jìn)行對比。機(jī)械臂各關(guān)節(jié)角變化之和與所有關(guān)節(jié)角變化總和的對比結(jié)果,如圖12所示。
圖12 機(jī)械臂關(guān)節(jié)角變化對比圖
由圖12可得:筆者建立的目標(biāo)優(yōu)化函數(shù)使得機(jī)械臂(在鋪放過程中)各關(guān)節(jié)運(yùn)動變化量以及所有關(guān)節(jié)運(yùn)動總變化量都是更小的,從而可以得到更好的鋪放質(zhì)量。其中,該方法對應(yīng)的關(guān)節(jié)角變化總量為100.542°,而多目標(biāo)優(yōu)化方法對應(yīng)的關(guān)節(jié)角變化總量為113.282°,因此,關(guān)節(jié)運(yùn)動總量減少的百分比為(113.282-100.542)/113.282=11.25%。
筆者采用幾何法求解了八自由度鋪絲機(jī)器人的位置子流形和姿態(tài)子流形,對給定的末端位姿進(jìn)行了流形仿真,并驗(yàn)證了其正確性;提出了一種全局優(yōu)化目標(biāo)函數(shù),對飛機(jī)尾椎模型的一條鋪放路徑進(jìn)行了仿真優(yōu)化,得到了自運(yùn)動變量和機(jī)器人各關(guān)節(jié)角在鋪放路徑上的優(yōu)化曲線,從而可為機(jī)器人運(yùn)動控制提供理論基礎(chǔ)。
研究結(jié)果表明:
1)采用基于自運(yùn)動流形的全局優(yōu)化目標(biāo)函數(shù)算法,能夠有效求解八自由度冗余鋪放機(jī)器人的自運(yùn)動流形;全局目標(biāo)優(yōu)化函數(shù)能夠基于自運(yùn)動流形尋找最優(yōu)解;
2)相較于文獻(xiàn)[17]的多目標(biāo)優(yōu)化算法,針對相同的鋪放路徑,逆解全局優(yōu)化算法對應(yīng)的關(guān)節(jié)運(yùn)動總量可減少11.25%,從而可實(shí)現(xiàn)更好的鋪放質(zhì)量;
3)全局優(yōu)化目標(biāo)函數(shù)算法同樣可適用于其他位姿解耦的冗余機(jī)器人的逆運(yùn)動學(xué)問題求解。
在下一階段,筆者將基于仿真優(yōu)化的結(jié)果,將自運(yùn)動變量和各關(guān)節(jié)優(yōu)化曲線進(jìn)行離散化,并發(fā)送給機(jī)器人執(zhí)行,從而進(jìn)行機(jī)器人鋪放效率方面的對比和研究。