倪 奕,俞建峰,蔣 毅,化春鍵,錢陳豪
(1.江南大學(xué)機(jī)械工程學(xué)院,江蘇 無錫 214122;2.江蘇省食品先進(jìn)制造裝備技術(shù)重點實驗室,江蘇 無錫 214122)
隨著城市化發(fā)展,高層建筑的數(shù)量不斷增加,電梯的需求量急劇上升。在電梯導(dǎo)軌的安裝過程中,頻繁的鉆孔操作極大地影響著施工人員的身體健康[1]。為解決該問題,使用鉆孔機(jī)器人代替施工人員進(jìn)行鉆孔作業(yè)。
在機(jī)器人應(yīng)用中,軌跡規(guī)劃問題一直是機(jī)器人的研究熱點。在軌跡研究方面,研究人員針對不同的軌跡插值函數(shù)進(jìn)行研究,如多項式、樣條、Bezier和NURBS等[2-3]。為提高機(jī)器人的工作性能,研究人員在軌跡插值函數(shù)的基礎(chǔ)上,從最短運行時間、最小能量和最小沖擊等方面進(jìn)行機(jī)器人的軌跡規(guī)劃研究[4-6]。機(jī)器人作業(yè)過程中,機(jī)器人的運行時間長會導(dǎo)致機(jī)器人零部件磨損率增加、機(jī)器人的壽命減少等,機(jī)器人的沖擊過大又會導(dǎo)致控制器應(yīng)力激勵增加、機(jī)器人準(zhǔn)確度和精度降低等問題,因此,研究機(jī)器人的多目標(biāo)性能優(yōu)化具有重要意義。
針對上述2個方面,本文提出一種使用帶約束處理的NSGA-II遺傳算法對鉆孔機(jī)器人的運行軌跡進(jìn)行時間和沖擊性能優(yōu)化的方法。
由于鉆孔機(jī)器人的工作環(huán)境處于建筑中,為避免鉆孔位置處存在鋼筋或障礙物等,鉆孔機(jī)器人在鉆孔前需要提前進(jìn)行井道壁的掃描以確定最終的鉆孔布局。導(dǎo)軌孔的預(yù)設(shè)布局如圖1所示。為提高鉆孔機(jī)器人的作業(yè)效率,對鉆孔機(jī)器人確定鉆孔布局的軌跡進(jìn)行時間性能的優(yōu)化。考慮到減少運行時間會給鉆孔機(jī)器人帶來沖擊振動增加等影響,因此,將沖擊性能列入優(yōu)化目標(biāo)。
由于鉆孔機(jī)器人確定鉆孔布局流程的運行軌跡具有固定和重復(fù)的特性,且沒有實時性要求,因此,對于鉆孔機(jī)器人的軌跡規(guī)劃及優(yōu)化只需離線進(jìn)行即可。通過對鉆孔機(jī)器人進(jìn)行工作分析可知,鉆孔機(jī)器人軌跡的優(yōu)化目標(biāo)為時間和沖擊。通過減少鉆孔機(jī)器人的運行時間來提高鉆孔機(jī)器人的運行效率,同時通過減少沖擊來減少機(jī)械手關(guān)節(jié)的振動,以增加機(jī)械手的使用壽命以及防止鉆孔位置的偏移過大。
定義時間的優(yōu)化目標(biāo)為
(1)
j為路徑點的序號;tj為鉆孔機(jī)器人到達(dá)路徑點j所用的時間;S1為鉆孔機(jī)器人從運行開始到結(jié)束的時間值。
定義沖擊的優(yōu)化目標(biāo)為
(2)
P為機(jī)器人的關(guān)節(jié)值,P的三次導(dǎo)數(shù)表示t時刻鉆孔機(jī)器人的加加速度;M為關(guān)節(jié)數(shù)量;S2為所有關(guān)節(jié)的平均沖擊之和。
本文對鉆孔機(jī)器人進(jìn)行關(guān)節(jié)空間的軌跡規(guī)劃,避免了因奇異點的存在而增加機(jī)器人規(guī)劃的復(fù)雜度[7]。
根據(jù)標(biāo)準(zhǔn)D-H參數(shù)法,建立鉆孔機(jī)器人連桿坐標(biāo)系,如圖2所示。鉆孔機(jī)器人的每個連桿坐標(biāo)都以4個參數(shù)進(jìn)行描述,如表1所示,4個參數(shù)分別為:θi、αi、ai、di。其中,i表示關(guān)節(jié)序號,θi表示連桿角度,αi表示連桿轉(zhuǎn)角,ai表示連桿長度,di表示連桿偏距。
表1 5R鉆孔機(jī)器人D-H參數(shù)表
圖2 鉆孔機(jī)器人連桿坐標(biāo)系
以鉆孔機(jī)器人坐標(biāo)系0建立井道的空間坐標(biāo)系,如圖3所示,其中未標(biāo)出的z軸方向為垂直紙面向外,圖中單位為mm。為防止鉆孔位置出現(xiàn)鋼筋或障礙物,鉆孔機(jī)器人需對預(yù)設(shè)鉆孔位置進(jìn)行掃描以確定實際鉆孔位置。表2為鉆孔機(jī)器人在某一層進(jìn)行工作時預(yù)設(shè)的鉆孔位置。
表2 預(yù)設(shè)的某一層的鉆孔位置
圖3 井道工作環(huán)境
使用B樣條曲線進(jìn)行鉆孔機(jī)器人的軌跡規(guī)劃具有連續(xù)性好、靈活性強(qiáng)和軌跡平滑等優(yōu)點。與多項式曲線相比,B樣條曲線經(jīng)過連接點時的振蕩更小;與貝塞爾曲線相比,其控制點的影響更小,如使用B樣條曲線時,修改其中1個控制點,只影響其周圍的一小段區(qū)域,使用貝塞爾曲線時會影響整條曲線。
在確定鉆孔機(jī)器人的關(guān)節(jié)路徑點后,采用高次的非均勻B樣條曲線對鉆孔機(jī)器人進(jìn)行關(guān)節(jié)空間的軌跡插值,B樣條曲線的方程為:
(3)
(4)
P(u)為鉆孔機(jī)器人的關(guān)節(jié)位置;dj為鉆孔機(jī)器人路徑的控制頂點;Nj,k為B樣條曲線的基函數(shù);k為B樣條曲線的最高次冪;u為B樣條曲線的時間節(jié)點。
為了使得鉆孔機(jī)器人能夠經(jīng)過給定的路徑點Pi(i=0,…,n),根據(jù)路徑點和邊界條件反算軌跡的控制頂點。同時,為了使得B樣條曲線經(jīng)過首末路徑點,定義鉆孔機(jī)器人關(guān)節(jié)軌跡由n+k個控制頂點dj(j=0,1,…,n+k-1)和n+2k+1個節(jié)點ui(i=0,1,…,n+2k)構(gòu)成。節(jié)點矢量U中,設(shè)置首末的節(jié)點值u0=u1=…=uk=0,un+k=un+k+1=…=un+2k=1,中間節(jié)點值使用累計弦長參數(shù)化法對時間點ti進(jìn)行歸一化處理,即
(5)
i∈[k+1,n+k-1]
根據(jù)式(4)和式(5)可以列出n-1個插值方程,即
(6)
B樣條曲線的各階導(dǎo)數(shù)通過德布爾遞推公式求出,即:
(7)
u∈(uk,un+k),i=0,1,…,n
(8)
j=i-k+l,…,i
最后將上述n+k個方程寫成矩陣形式,即
P=N·D
(9)
矩陣P由路徑點P(u)和邊界條件P(l)(u)組成;D由控制點dj組成;N由各控制點前的系數(shù)組成。等式兩邊同時左乘N的逆矩陣,便可反算出控制點矩陣D。
由于B樣條曲線具有強(qiáng)凸包性質(zhì),隨著B樣條曲線階數(shù)的增加,雖然曲線的光滑性得到提高,但是逼近控制點相連軌跡的程度降低,因此需要對運動學(xué)約束進(jìn)行適當(dāng)?shù)姆糯?即
(10)
Vi,max、Ai,max、Ji,max分別為鉆孔機(jī)器人第i個關(guān)節(jié)最大的角運行速度、角加速度和角加加速度;cv、ca、cj分別為角速度、角加速度和角加加速度的放大因子??山?jīng)過多次數(shù)值模擬來精確地獲取該值。
為達(dá)到提高機(jī)器人的工作效率以及減少機(jī)器人振動沖擊的最終目標(biāo),定義多目標(biāo)優(yōu)化的數(shù)學(xué)模型為
(11)
F(x)為問題所要達(dá)成的最終目標(biāo);[f1(x),f2(x),…,fm(x)]為子目標(biāo)所在的目標(biāo)空間;m為目標(biāo)空間中包含子目標(biāo)的個數(shù);gj(x)為不等式約束;hk(x)為等式約束。
多目標(biāo)優(yōu)化算法的結(jié)果往往是一個解集。在解集中,這些解有各自的優(yōu)勢,它們無法在所有的子目標(biāo)結(jié)果上優(yōu)于另一個解,這種解被稱為非支配解,該解集被稱為Pareto解集。
NSGA-II多目標(biāo)優(yōu)化算法的核心在于對種群的非支配快速排序,隱含著精英保留的機(jī)制,很大程度上增強(qiáng)了算法的收斂性[8]。大致流程為:先將總種群按等級劃分為多個子種群,對于每一個子種群內(nèi)部按擁擠度大小進(jìn)行排序,如圖4所示。等級高的種群支配等級低的種群,每個子種群中擁擠度高的個體排在擁擠度低的個體之前。擁擠度的計算式為
圖4 非支配快速排序
(12)
dcd為個體的擁擠度;i為個體的序號;j為目標(biāo)函數(shù)的序號;fj為第j個目標(biāo)函數(shù)。處于邊界的個體擁擠度設(shè)置為無窮值。
NSGA-II優(yōu)化算法的整體流程如圖5所示。
圖5 NSGA-II優(yōu)化算法整體流程
直接使用隨機(jī)函數(shù)產(chǎn)生初始群體的方案易導(dǎo)致種群初始化時分布不均,并且可能會伴隨出現(xiàn)收斂速度慢、陷入局部最優(yōu)等問題。為了克服這些缺陷,使用基于tent混沌映射的種群初始化方案[9],通過混沌的遍歷性來提高初始種群的多樣性,以及有效地提升NSGA-II算法的全局搜索能力。
采用tent混沌映射產(chǎn)生混沌時間點序列的過程為
(13)
k為變量的維數(shù);I為種群的規(guī)模;為了保持初始總?cè)旱碾S機(jī)性,u隨機(jī)產(chǎn)生(u∈[0,1])。
將tent混沌序列映射到搜索空間,即
(14)
i為種群中個體的序號;min(ti)為變量ti的最小值;max(ti)為變量ti的最大值。
將時間序列作為優(yōu)化算法的種群進(jìn)行初始化時,必然會出現(xiàn)某些個體的運動學(xué)特性超出約束的現(xiàn)象。為了解決這個問題,定義了第3個決策變量“不可行值”。不可行值φ定義為所有不等式約束的平方和加上等式約束的平方和,即
(15)
gj()為不等式約束;hk()為等式約束;j為不等式約束的序號;k為等式約束的序號。
在種群進(jìn)化的過程中,為保證種群的收斂性,在父代種群的生成過程中處理不可行值。非支配快速排序過程中,將種群分為2大類,分別為可行種群和不可行種群,可行種群按照常規(guī)流程進(jìn)行非支配快速排序和擁擠度距離的排序,不可行種群僅僅根據(jù)不可行值進(jìn)行排序。父代種群優(yōu)先從可行種群進(jìn)行選擇,當(dāng)可行種群的數(shù)量不滿足所定義種群規(guī)模的大小時,再從不可行種群進(jìn)行剩余種群的篩選。
為測試NSGA-II算法的性能,使用Iss指標(biāo)來評價Pareto解集的分布[10],Iss的值越小,則說明算法的分布性能越好,當(dāng)Iss值為0,則表示Pareto解集中的每個解都是等距離分布。
Iss的計算式為
(16)
為清晰地表達(dá)出所有相鄰個體之間歐氏距離間的變化,用Der(i)來表示歐氏距離的誤差比率,Der(i)值越小則表示第i個個體和第i+1個個體之間的歐氏距離與平均值越接近,表示2個解之間的相對分布性較好。
Der(i)的計算式為
(17)
由于使用多目標(biāo)優(yōu)化算法所得的結(jié)果是1組Pareto解集,決策者難以從解集中確定1個綜合性能最優(yōu)解。為此提出一種解的評估標(biāo)準(zhǔn)“綜合比較算子”,通過使用模糊隸屬度函數(shù)來計算每個個體在所有目標(biāo)上的隸屬度[11],通過歸一化隸屬度之和來求解“綜合比較算子”,即:
(18)
(19)
max(Si)和min(Si)分別為種群中第i個目標(biāo)函數(shù)上適應(yīng)度值最大和最小的個體;uall為某一個體所有目標(biāo)的隸屬度之和;min(uall)為最小的隸屬度之和;max(uall)為最大的隸屬度之和;fsyn(j)為第j個個體的綜合比較算子。綜合比較算子fsyn(j)的范圍為[0,1],當(dāng)fsyn取1時,表示當(dāng)前個體在整個種群中對所有多目標(biāo)的綜合完成程度最高。
決策者最終可以根據(jù)單目標(biāo)的綜合比較算子或者多目標(biāo)的綜合比較算子選擇出最合適的軌跡方案。
本文使用帶約束處理的NSGA-II算法對五自由度鉆孔機(jī)器人軌跡進(jìn)行優(yōu)化,旨在減少運行時間和減少運行過程中的沖擊??紤]到使用五次B樣條曲線進(jìn)行鉆孔機(jī)器人軌跡規(guī)劃時,在啟停時刻角加加速度不為0[12],會導(dǎo)致啟停時刻機(jī)械臂出現(xiàn)振動,為解決該問題,使用七次B樣條曲線代替五次B樣條曲線進(jìn)行機(jī)器人的軌跡規(guī)劃。鉆孔機(jī)器人在各路徑點時的關(guān)節(jié)角位移值如表3所示。
表3 鉆孔機(jī)器人關(guān)節(jié)角位移值
各關(guān)節(jié)的運動學(xué)約束如表4所示。在構(gòu)建鉆孔機(jī)器人運行軌跡時,設(shè)定初末時刻的角速度、角加速度和角加加速度皆為0??紤]到B樣條曲線的強(qiáng)凸包性,將角速度、角加速度和脈動的約束放大系數(shù)設(shè)置為1.8。
表4 鉆孔機(jī)器人各關(guān)節(jié)運動學(xué)約束
使用NSGA-II算法進(jìn)行鉆孔機(jī)器人軌跡優(yōu)化時,設(shè)置的種群規(guī)模、父代選擇個數(shù)和迭代次數(shù)等參數(shù)如表5所示。在遺傳算法中交叉和變異操作直接影響算法的收斂和尋優(yōu)能力,為了使得算法擴(kuò)大搜索范圍和增加局部多樣性,設(shè)置較高的交叉概率和較低的變異概率,經(jīng)過多次試驗,交叉概率設(shè)置為0.9,變異概率設(shè)置為0.14(0.14≈1/7,7為變量個數(shù))[7]。對于分布指數(shù),分布指數(shù)越小,新個體會向局部收斂,分布指數(shù)越大,個體間的差異增大。由于設(shè)置了高交叉概率,因此設(shè)置低交叉分布指數(shù)以增強(qiáng)算法收斂性,同時設(shè)置高變異分布指數(shù)使得種群經(jīng)過變異后個體間存在更多的差異,以增大算法的多樣性。經(jīng)過多次數(shù)值測試,交叉和變異分布指數(shù)分別設(shè)置為10和20。
表5 NSGA-II算法各參數(shù)
圖6為使用優(yōu)化算法對鉆孔機(jī)器人軌跡優(yōu)化后的Pareto解集,該解集為決策者提供了多種不同的運行方案。圖6a和圖6b分別為算法使用隨機(jī)函數(shù)和tent混沌映射的種群初始化策略時所獲得的Pareto解集,圖6a中Pareto解集在時間性能上處于36~43 s之間,圖6b中Pareto解集在時間性能上處于35~55 s之間。由此可以看出,使用tent混沌映射的種群初始化策略可靠地增加了算法的全局搜索能力。
圖6 不同策略下的Pareto解集
圖7 相鄰個體的Der值
為評價Pareto解集的收斂性,使用單目標(biāo)遺傳算法對比本文所用的多目標(biāo)優(yōu)化算法,所得結(jié)果如表6所示。表6中帶有(time)的方案表示時間性能最優(yōu)的方案,帶有(jerk)的方案表示沖擊性能最優(yōu)的方案,方案1和方案2為使用單目標(biāo)遺傳算法所得結(jié)果,方案3和方案4為使用多目標(biāo)遺傳算法所得結(jié)果,方案3和方案4分別對應(yīng)圖6b中的方案A和方案B。對方案1和方案3進(jìn)行比較,方案3為Pareto解集中時間性能最佳的解,2個方案在時間性能上相當(dāng)。對方案2和方案4進(jìn)行比較,方案4為Pareto解集中沖擊性能最佳的解,2個方案在沖擊性能上相當(dāng)。由上述2對方案的比較可知,Pareto解集的收斂性較好。
表6 各種方案的時間和沖擊值
考慮到機(jī)器人的時間性能和沖擊性能兩者存在沖突,即運行時間短的情況下沖擊過大,而沖擊小的情況下運行時間過長。對鉆孔機(jī)器人來說,方案3和方案4都不適用。為使鉆孔機(jī)器人的時間性能和沖擊性能綜合較好,選用綜合比較算子最大的解進(jìn)行鉆孔機(jī)器人的規(guī)劃,Pareto解集中各解的綜合比較算子fsyn如圖8所示。序號為58的解的綜合比較算子為1,即該解為綜合最優(yōu)解,該解的時間值為41.27 s,沖擊值為12.80(°)/s3,其時間序列如表7所示。綜合最優(yōu)解相比沖擊性能最優(yōu)解,在運行時間上降低了11.82 s,即時間性能提升了22.26%,相比時間性能最優(yōu)解,在沖擊值上減少了25.6 (°)/s3,即沖擊性能提升了66.67%。
表7 綜合最優(yōu)解的時間序列
圖8 所有個體的綜合比較算子
使用綜合最優(yōu)解對鉆孔機(jī)器人進(jìn)行軌跡規(guī)劃后的結(jié)果如圖9和圖10所示。圖9為鉆孔機(jī)器人5個關(guān)節(jié)各時刻的角位移曲線總圖,經(jīng)過的路徑點在曲線上標(biāo)出,角位移曲線光滑且不存在突變。圖10a~圖10e分別為5個關(guān)節(jié)各時刻的角速度vi、角加速度ai、角加加速度ji(i=1,2,…,5)曲線。由圖10可以看出,使用七階B樣條曲線對鉆孔機(jī)器人軌跡進(jìn)行插值,鉆孔機(jī)器人的角速度、角加速度和角加加速度曲線連續(xù)且光滑。在啟動和停止的時刻角速度、角加速度、角加加速度都為0,表明使用該插值曲線進(jìn)行軌跡規(guī)劃時鉆孔機(jī)器人具有良好的啟停性能。當(dāng)鉆孔機(jī)器人的初始角加速度或角加加速度不為0時,會使得機(jī)器人驅(qū)動器的初始期望力矩不為0,可能導(dǎo)致跟蹤誤差變大的同時引起機(jī)器人的振動。使用綜合最優(yōu)解對鉆孔機(jī)器人進(jìn)行軌跡規(guī)劃不僅能夠提高鉆孔機(jī)器人的運行效率,而且減少了鉆孔機(jī)器人的振動從而保護(hù)了機(jī)械臂中的減速器、電機(jī)等部件。
圖9 鉆孔機(jī)器人關(guān)節(jié)角位移曲線
圖10 鉆孔機(jī)器人各關(guān)節(jié)角速度、角加速度及角加加速度
為提高鉆孔機(jī)器人的時間性能和沖擊性能,本文提出了一種基于帶約束處理的NSGA-II的多目標(biāo)遺傳算法對鉆孔機(jī)器人的運行軌跡進(jìn)行優(yōu)化的方法。
a.使用七次B樣條曲線規(guī)劃鉆孔機(jī)器人的軌跡,有效地解決了三次B樣條曲線規(guī)劃時的加加速度不連續(xù)、五次B樣條曲線啟停性能差等問題。
b.使用改進(jìn)的NSGA-II算法解決了鉆孔機(jī)器人時間和沖擊性能的優(yōu)化問題,并給出了多個位于Pareto前沿的軌跡方案。
c.設(shè)計了一種用來選擇綜合最優(yōu)解的方案選擇標(biāo)準(zhǔn)“綜合比較算子”,選出的綜合最優(yōu)解具有良好的時間和沖擊性能,相比單時間或單沖擊的最優(yōu)解,分別提升了66.67%的沖擊性能和22.26%的時間性能。