崔靖凱,周宇飛,賀順鋒,徐振邦,朱明超*
(1.中國科學院 長春光學精密機械與物理研究所,吉林 長春 130033;2.中國科學院大學,北京 100049)
機械臂在工業(yè)自動化的進程中具有不可替代的作用,由于其靈活性高、穩(wěn)定性強、成本低等優(yōu)勢,已被廣泛應用于各個領域[1-2]。在工業(yè)生產(chǎn)中,機械臂常用于搬運、組裝、焊接等任務。若機械臂的自由度數(shù)大于完成任務所需的最小自由度數(shù),則稱其為冗余機械臂[3]。冗余的自由度有助于實現(xiàn)避障等次要的任務目標。但同時,冗余也帶來了諸多挑戰(zhàn),這體現(xiàn)在運動規(guī)劃的計算量增大,以及逆運動學的多解性和奇異性等方面。使冗余機械臂在跟蹤目標軌跡的同時避開障礙物,是精密制造的重要需求,而將軌跡跟蹤和避障規(guī)劃統(tǒng)一到同一框架,設計一種計算簡單且通用的解決方法,是一項具有實際意義和挑戰(zhàn)性的工作[4]。
機械臂的軌跡跟蹤問題是指設計控制指令使機械臂的末端執(zhí)行器沿指定的目標軌跡運動。若目標軌跡在笛卡爾工作空間給定,需要通過逆運動學將其映射到關節(jié)空間。對于冗余機械臂,逆運動學映射不是唯一的,即同一條笛卡爾軌跡將被反解為無限多條關節(jié)軌跡。傳統(tǒng)方法使用雅可比矩陣偽逆(Jacobian-Matrix-PseudoInverse,JMPI)來解決冗余問題[5]。然而,JMPI 方法具有很多局限性。首先,它只適用于求解等式約束,因此無法考慮關節(jié)角的限制;其次,它無法解決避障問題,因為避障常被建模為不等式約束;此外,JMPI 方法的計算量很大,難以應對冗余機械臂的多解性和奇異性等挑戰(zhàn)。
近年來,諸如遺傳算法、粒子群算法等元啟發(fā)式優(yōu)化算法被廣泛應用于軌跡跟蹤。這些以優(yōu)化為核心的方法能夠在滿足軌跡跟蹤需求的前提下解決額外的不等式約束,且不依賴于機械臂的構(gòu)型和關節(jié)數(shù)量,計算量小、通用性強。LOPEZ-FRANCO C[6]等提出了一種元啟發(fā)式框架,通過最小化末端執(zhí)行器的位置和方向誤差完成冗余機械臂的軌跡跟蹤任務;ROKBANI N[7]等基于β-SSA 算法設計了逆運動學求解器,并將其應用于冗余機械臂的圓形軌跡跟蹤。然而,這些方法沒有考慮到機械臂與周圍環(huán)境可能存在的碰撞問題。
避障是冗余機械臂在工業(yè)應用中應該滿足的重要需求,它能夠保證生產(chǎn)的安全和穩(wěn)定。傳統(tǒng)的避障方法使用“人工勢場”的概念,例如姜力[8]等利用虛擬排斥力實現(xiàn)了七自由度冗余機械臂的避障任務。元啟發(fā)式優(yōu)化算法憑借其靈活簡單的優(yōu)勢,成為解決避障問題的新趨勢。AGARWAL D[9]等使用改進的黏菌算法規(guī)劃了自主移動機器人的無碰撞路徑;ZHANG J X[10]等將障礙物視為圓,將機械臂連桿簡化為直線,基于改進的粒子群算法實現(xiàn)了冗余機械臂的避障規(guī)劃;常寧東[11]等基于改進的遺傳算法,設計了野外環(huán)境下車輛的無碰撞路徑。傳統(tǒng)的優(yōu)化方法通常將避障作為一系列不等式約束,這些約束不會鼓勵優(yōu)化器主動避障,而是被動地將解決方案標記為不可行的解。
本文提出了一種避障跟蹤優(yōu)化器,通過制定適應度函數(shù)來實現(xiàn)冗余機械臂的軌跡跟蹤和避障規(guī)劃。適應度函數(shù)有兩個目標:首先是軌跡跟蹤,即最小化機械臂末端執(zhí)行器與目標軌跡點之間的位置誤差;其次是避障規(guī)劃,即最大化機械臂連桿與障礙物之間的距離。不同于傳統(tǒng)方法,本文將避障設計為獎勵項,而不是作為不等式約束。避障獎勵項可以實時評估解決方案的優(yōu)劣,以主動獎勵優(yōu)化器避開障礙物。因此,跟蹤和避障的本質(zhì)被簡化為求解同一個優(yōu)化問題。
GJK(Gilbert-Johnson-Keerthi)算法[12]是一種高效的碰撞檢測算法,它可以計算任意形狀的三維凸多邊形之間的最小距離。在避障空間建模時,本文采用GJK 算法進行碰撞檢測。該方法考慮了障礙物與機械臂連桿的幾何形狀,而不是將其簡化為點或直線。因此,避障空間更切合實際情況,碰撞檢測的準確度得以保證。
為了求解優(yōu)化問題,本文采用了一種元啟發(fā)式算法——灰狼算法[13]?;依撬惴M了自然界中灰狼的社會階級和狩獵行為,結(jié)構(gòu)簡單、收斂性強。然而,經(jīng)典灰狼算法存在過早收斂和種群多樣性低的缺點[14]。本文通過引入隨機分散策略提出了一種改進的灰狼算法,以增強算法的全局搜索能力。九自由度冗余機械臂被用于驗證所提出方法的有效性和優(yōu)越性。
本節(jié)提出了一種避障跟蹤優(yōu)化器,將冗余機械臂的軌跡跟蹤和避障規(guī)劃統(tǒng)一到一個優(yōu)化框架中。首先,基于GJK 算法和包圍盒法對避障空間進行了建模;然后,設計了適應度函數(shù),闡述了優(yōu)化器的基本框架。
在傳統(tǒng)方法中,機械臂連桿通常被簡化為直線,障礙物被簡化為圓或球,通過判斷兩者的位置關系實現(xiàn)碰撞檢測[14]。這些方法沒有考慮機械臂與障礙物的三維幾何形狀。本文使用GJK算法進行碰撞檢測,它的基本原理是計算任意形狀的三維凸多邊形之間的最小距離。
考慮三維空間中的兩個凸多邊形A和B,它們的頂點由矩陣VA∈RnA×3和VB∈RnB×3定義,其中R表示實數(shù)集,nA和nB是A和B的頂點數(shù)量。VA和VB的每一行表示對應多邊形頂點的位置坐標。GJK 算法利用這些矩陣計算兩個多邊形頂點之間的最小距離:
其中:Vi:表示矩陣V的第i行;‖ · ‖2表示2-范數(shù)。
本文的研究對象是九自由度冗余機械臂,其構(gòu)型和坐標系如圖1 所示。坐標系使用MDH(Modified Denavit-Hartenberg)參數(shù)法構(gòu)造,其中,基坐標系被描述為坐標系{b}或{0},關節(jié)i(i=1-9)的坐標系被描述為坐標系{i},末端執(zhí)行器的坐標系被描述為坐標系{e}。xi,yi,zi分別是坐標系{i}的x軸、y軸和z軸。dij是從坐標系{i}的原點到坐標系{j}的原點的距離。機械臂由9 個轉(zhuǎn)動關節(jié)和8 個連桿組成。關節(jié)1,3,5,7,9繞質(zhì)心軸旋轉(zhuǎn),不影響避障。由于機械臂連桿不是凸多邊形,本文使用包圍盒法將其建模為立方體,以滿足GJK 算法的使用條件。
圖1 九自由度冗余機械臂構(gòu)型圖Fig.1 Configuration diagram of a 9-DOF redundant robotic manipulator
圖2 展示了包圍盒的建立過程。由圖2(a)所示,連桿2-3,4-5,6-7 以及連桿8 被最小的圓柱體包圍,得到4 個虛擬連桿L1-L4,其中,每個圓柱體的底面半徑為Ri(i=1-4),虛擬連桿兩端的圓心坐標J2,J4,J6,J8和Je分別對應關節(jié)2,4,6,8 和末端執(zhí)行器的質(zhì)心坐標。由圖2(b)所示,使用最小的長方體將虛擬連桿包圍,根據(jù)連桿的圓心坐標J以及半徑R,可以得到初始構(gòu)型下,長方體包圍盒的8 個頂點坐標。同樣地,將障礙物O用最小的長方體包圍,使用式(1)可以求得機械臂與障礙物之間的最小距離dg,如圖2(c)所示。
圖2 避障空間的建模Fig.2 Model of obstacle avoidance space
需要注意的是,隨著機械臂的運動,頂點的坐標會發(fā)生變化,即它是關節(jié)角θ的函數(shù)。設計如下的計算方法來實時獲得頂點坐標:
其中:Vi(θ)∈表示第i個虛擬連桿的頂點矩陣,Vi(0) 是初始時刻的頂點信息;θ={θ1,θ2,…,θ9}是當前時刻的關節(jié)角向量,θ1-θ9是關節(jié)1-9 的角度;Ri(θ)和Ti(θ)表示第i個虛擬連桿的旋轉(zhuǎn)和平移矩陣。
為了將軌跡跟蹤和避障規(guī)劃統(tǒng)一到一個優(yōu)化框架中,本文設計了如下所示的適應度函數(shù):
其中:O∈代表障礙物的頂點矩陣,no是障礙物的頂點數(shù)量;xt代表目標軌跡點的位置坐標;θ代表關節(jié)角向量;ferr(xt,θ)是跟蹤誤差項,表示機械臂末端執(zhí)行器與目標軌跡之間的位置誤差,由式(4)計算,其中FK(·)是機械臂的正運動學方程;foa(O,θ)是避障獎勵項,取機械臂與障礙物之間最小GJK 距離的倒數(shù),如式(5)所示,其中μ是常參數(shù),一般取μ=1;Λ是避障開關,用于控制避障任務在軌跡跟蹤中所占的比例,如Λ=0 即關閉避障功能,僅進行軌跡跟蹤。
式(3)的設計基于這樣的動機:最小化末端執(zhí)行器與目標軌跡的位置誤差,同時最大化機械臂與障礙物的距離。因此,本文提出的優(yōu)化框架可以描述為:
其中:θc,,分別代表關節(jié)位置、速度和加速度約束,t代表時間;dmin是機械臂與障礙物之間最小距離的約束。對于違反約束的解,采用文獻[15]提出的約束處理方法,其原理是賦予這些解更差的適應度值。
通過求解式(6)~式(8)所述的優(yōu)化問題,即可在不違反關節(jié)約束的前提下,獲得同時滿足機械臂軌跡跟蹤和避障需求的最優(yōu)關節(jié)角配置θ。值得注意的是,本文提出的優(yōu)化框架可以將笛卡爾空間的目標軌跡映射到關節(jié)空間,而不需要計算雅可比矩陣的偽逆。這是由于式(4)所示的跟蹤誤差項只需要機械臂的正運動學方程。對于冗余機械臂,這減小了軌跡跟蹤的計算量,同時避免了傳統(tǒng)方法可能存在的奇異性問題。此外,本文引入的式(5)所示的避障獎勵項能鼓勵優(yōu)化器主動避開障礙物,因為避障性能更好的解被額外賦予了更好的適應度。
為了求解第2 節(jié)構(gòu)造的優(yōu)化問題,本節(jié)提出了一種改進的灰狼算法。首先介紹了經(jīng)典灰狼算 法(Grey Wolf Optimizer,GWO)[13]的基本 結(jié)構(gòu),包括社會階級、包圍獵物以及攻擊獵物;然后,提出了隨機分散策略,以改進GWO 的性能。
灰狼社會由四個階級組成:阿爾法(α)、貝塔(β)、德爾塔(δ)和歐米伽(ω)。α,β和δ分別是當前種群中最優(yōu)、第二優(yōu)和第三優(yōu)的解。它們代表狼群的首領,距離獵物(全局最優(yōu)解)最近。剩余的狼用ω表示,它們的位置在每次迭代中根據(jù)α,β和δ而改變。
狩獵的第一步是包圍獵物,這一行為由以下方程描述:
其中:Xp和X分別表示獵物和灰狼的位置;D代表灰狼和獵物之間的距離;t是當前的迭代次數(shù);A和C為系數(shù)變量,計算公式如下:
其中:r1和r2是[0,1]中的隨機數(shù);在整個迭代過程中,a由2 線性減小到0,即:
其中,MaxIter表示最大迭代次數(shù)。
第二步是攻擊獵物,即狼群ω跟隨首領α、β和δ向獵物移動。ω的位置更新方程如下:
其中:Xα,Xβ和Xδ分別表示α,β和δ的位置;X1,X2和X3分別表示由α,β和δ引起的位移;A1,A2和A3分別表 示α,β和δ對應的 決定灰 狼移動 距離的隨機變量,由式(11)計算;C1,C2和C3分別表示α,β和δ對應的決定獵物位置在灰狼運動中所占比例的隨機變量,由式(12)計算。
在經(jīng)典GWO 中,由式(17)可以看出,狼群的位置完全由首領α,β和δ決定,這導致了種群多樣性的缺失,容易使算法過早收斂而陷入局部最優(yōu)。本文提出了一種隨機分散策略,引入隨機個體來影響種群更新,描述如下:
其中:Xm和Xn是種群中隨機挑選的兩個不同的個體;ρ是[0,1]中的隨機數(shù),它用于決定隨機分散的距離。
由式(18)引起的位置更新是隨機的,這給個體逃離局部最優(yōu)提供了可能。此外,Xm和Xn的引入增加了種群多樣性,這對克服過早收斂具有重要作用。隨機分散策略模擬了灰狼在自然界中為了應對食物短缺而分散覓食的行為。如果首領找到的食物不足以供應整個狼群,部分灰狼可能會遷移到食物更加豐富的新地區(qū)。
將隨機分散策略引入到經(jīng)典GWO,得到如下所示的種群更新方程:
其中:Xi(t+1)表示第i個灰狼個體的新位置;=(X1(t)+X2(t)+X3(t)和 式(17)一致,表示由領導者引起的運動;的計算如式(18),表示由隨機個體引起的運動;ρ1,ρ2∈[0,1]是隨機數(shù),用于決定運動的距離;B1和B2是權重因子,用于自適應地平衡算法的局部搜索能力和全局搜索能力,計算如下:
其中,B1和B2是迭代次數(shù)t的線性變量。在搜索的初期,通過設置較大的B2使個體隨機分散到整個搜索空間,有利于全局搜索;在搜索的末期,較大的B1可以使個體快速收斂到最優(yōu)解,強調(diào)局部搜索。改進GWO 的流程圖如圖3 所示。
圖3 改進灰狼算法的流程圖Fig.3 Flowchart of improved grey wolf optimizer
本節(jié)將評估經(jīng)典GWO 與提出的改進GWO 的計算復雜度。首先,在種群初始化階段,經(jīng)典GWO 與改進GWO 的計算復雜度均為O(N),N是種群大??;對于迭代的主循環(huán),兩個算法都要更新每個個體的位置向量,其計算復雜度為O(N·D),D是位置向量的維度;更新種群后,在O(N)的時間內(nèi)評估所有個體的適應度值。
因為種群更新和適應度計算都在迭代次數(shù)達到最大次數(shù)T時停止,所以上述計算復雜度需乘以T。截至此操作步驟,經(jīng)典GWO 與改進GWO 的計算復雜度均為O(T·N·D)。在改進GWO 中,隨機分散策略將部分個體分散到搜索空間中的新區(qū)域,其計算復雜度為O(N)。因此,改進GWO 的計算復雜度依然是O(T·N·D),與經(jīng)典GWO 相同。
本節(jié)使用九自由度冗余機械臂對提出的優(yōu)化器進行了仿真和實驗研究。對于經(jīng)典GWO 和改進的GWO,種群大小被設置為30,最大迭代次數(shù)被設置為100,搜索的停止條件是當前迭代次數(shù)達到最大值。目標軌跡是由6 325 個點組成的半徑為0.1 m 的圓,障礙物是邊長為0.1 m 的立方體。
為了驗證式(5)所示的避障獎勵項的有效性,首先設置式(3)中的Λ=0,即關閉優(yōu)化器的避障功能。使用改進的GWO 對優(yōu)化器進行求解。圖4 展示了Λ=0 時,機械臂跟蹤圓形軌跡的構(gòu)型變化及其三視圖。從圖4 可以看出,機械臂與障礙物發(fā)生了明顯的碰撞。這是因為優(yōu)化器計算的關節(jié)運動軌跡僅致力于降低末端執(zhí)行器的跟蹤誤差,而沒有考慮機械臂與障礙物之間的距離。
圖4 關閉避障功能時的構(gòu)型變化Fig.4 Configuration changes when obstacle avoidance function is turned off
在仿真2 中,設置式(3)中的Λ=0.02,即開啟避障功能。另外,設置式(8)中的dmin=0.02 m,以約束機械臂與障礙物之間的最小距離。使用改進的GWO 對優(yōu)化器進行求解,機械臂的構(gòu)型變化如圖5 所示。由圖5 可以看出,開啟避障功能后,機械臂在完成軌跡跟蹤的同時成功避開了障礙物。這是由于在避障獎勵項的鼓勵下,優(yōu)化器選擇了無碰撞的運動軌跡。
圖5 開啟避障功能時的構(gòu)型變化Fig.5 Configuration changes when obstacle avoidance function is turned on
圖6 展示了Λ=0.02 時,關節(jié)和末端執(zhí)行器的運動軌跡。圖6(a)展示了軌跡跟蹤過程中,機械臂九個關節(jié)的位置變化。關節(jié)的運動軌跡存在一些輕微的抖動,這是由元啟發(fā)式算法的隨機性造成的。然而,這些抖動并不會影響末端執(zhí)行器的跟蹤精度,且幅度沒有超出機械臂安全運行的限制。此外,考慮到元啟發(fā)式算法對計算效率和尋優(yōu)精度帶來的顯著提升,這些輕微的抖動是可以接受的。末端執(zhí)行器在三個方向上位置分量的變化如圖6(b)所示,該軌跡與目標圓完全重合。
圖6 Λ=0.02 時的運動軌跡Fig.6 Motion trajectory for Λ=0.02
Λ=0.02 時,機械臂末端的軌跡跟蹤誤差以及機械臂連桿與障礙物之間的最小距離分別如圖7 和圖8 所示。由圖7 可以看出,跟蹤誤差集中在[10-7m,10-3m],這證明了算法的全局收斂性,即隨迭代次數(shù)的增加,跟蹤誤差收斂到0。誤差在0 附近的波動是由元啟發(fā)式算法固有的隨機性造成的。經(jīng)計算,平均跟蹤誤差為0.21 mm,滿足毫米級的跟蹤要求。由圖8 可知,軌跡跟蹤過程中,機械臂與障礙物的最小距離不小于70 mm,且沒有低于設定的最小限制dmin。較高的距離值降低了在障礙物位置不準確或機械臂模型有誤差的情況下,發(fā)生碰撞的風險,這提高了避障的魯棒性。
圖7 Λ=0.02 時的軌跡跟蹤誤差Fig.7 Trajectory tracking error for Λ=0.02
圖8 機械臂連桿與障礙物之間的最小距離Fig.8 Minimum distance between the links and the obstacle
圖9 展示了Λ=0.02 時,優(yōu)化器在目標軌跡的第3 000 個點處的收斂曲線。需要注意的是,本文研究的優(yōu)化問題是最小化問題,即適應度值越小,解決方案越好。從圖9 可以看出,優(yōu)化器以很快的速度收斂到了很小的適應度值。在迭代次數(shù)為20 左右時,優(yōu)化器陷入了局部最優(yōu);然而,隨著迭代次數(shù)的增加,優(yōu)化器突破局部最優(yōu)停滯,繼續(xù)向縮小適應度值的方向收斂。這說明改進GWO 中的隨機分散策略能有效地克服過早收斂,增強算法的全局搜索能力。優(yōu)化器在目標軌跡的其他點處的收斂過程與該點類似,由于篇幅限制,本文不再展示。
圖9 優(yōu)化器的收斂曲線Fig.9 Convergence curve of optimizer
需要注意的是,式(3)所示的適應度函數(shù)是由跟蹤誤差項和避障獎勵項的和構(gòu)成的,避障開關Λ的取值會影響優(yōu)化器的跟蹤性能和避障性能。即增大Λ的值,將獲得更好的避障性能,但跟蹤性能會變差,這體現(xiàn)在機械臂與障礙物之間的距離增加,但跟蹤誤差變大。本文中,Λ=0.02 是通過多次實驗獲得的能夠平衡跟蹤和避障性能的最佳值。在實際應用中,應綜合考慮跟蹤和避障的需求,選取合適的Λ。
為了驗證改進GWO 的優(yōu)越性,在相同的仿真條件下,使用經(jīng)典GWO 對優(yōu)化器進行求解。軌跡跟蹤誤差的對比結(jié)果如表1 所示。由表1 可以看出,相比于經(jīng)典GWO,改進的GWO 使軌跡跟蹤誤差的平均值降低了13%,這證明了改進GWO 具有更優(yōu)越的性能。
表1 跟蹤誤差的對比結(jié)果Tab.1 Comparison results of tracking errors (mm)
最后,本節(jié)定性分析了基于改進灰狼算法的避障跟蹤優(yōu)化器相比于傳統(tǒng)方法的區(qū)別和優(yōu)勢,如表2 所示。由表2 可以看出,本文提出的方法計算量小、通用性強,具有一定的應用價值。
表2 本文方法與傳統(tǒng)方法的比較Tab.2 Comparison between the proposed method and traditional methods
為了進一步證明提出的避障跟蹤優(yōu)化器的可行性,使用9 自由度冗余機械臂,對仿真2 的結(jié)果進行實驗驗證。實驗平臺如圖10 所示,采樣時間設置為5 ms。
圖10 9 自由度冗余機械臂的實驗平臺Fig.10 Experimental platform for the 9-DOF redundant robotic manipulator
將仿真2 獲得的關節(jié)運動軌跡輸入給上位機執(zhí)行,以驅(qū)動機械臂進行軌跡跟蹤和避障。障礙物由邊長為0.1 m 的泡沫立方體模擬,使用塑膠桿固定。實驗前,障礙物的位置使用激光跟蹤儀進行了標定。將靶標固定在障礙物上,由激光跟蹤儀發(fā)射激光,經(jīng)靶標反射后,獲得障礙物在跟蹤儀坐標系中的球面極坐標。經(jīng)過坐標變換,即可確定障礙物在機械臂坐標系中的三維坐標,以保證實驗場景的設置與仿真場景一致。實驗結(jié)果如圖11 所示,圖中1 到4 表示機械臂的運動順序。由上位機測量的關節(jié)運動軌跡如圖12(a)所示,該軌跡與圖6(a)的仿真結(jié)果完全吻合。圖12(b)展示了由圖12(a)的關節(jié)軌跡,經(jīng)機械臂的正運動學方程,求解的末端執(zhí)行器的運動軌跡,該軌跡與圖6(b)的仿真結(jié)果一致。由此可見,避障跟蹤優(yōu)化器生成的關節(jié)軌跡安全可行,機械臂能夠準確地完成軌跡跟蹤和避障任務。
圖11 軌跡跟蹤與避障的實驗結(jié)果Fig.11 Photos of experimental results of trajectory tracking and obstacle avoidance
圖12 實驗測量的運動軌跡Fig.12 Motion trajectories obtained from the experiment
本文提出了一種基于改進灰狼算法的避障跟蹤優(yōu)化器,以解決冗余機械臂的軌跡跟蹤和避障問題。首先,使用包圍盒法對避障空間進行了建模,基于GJK 算法獲得機械臂連桿與障礙物的最小距離,該方法考慮了機械臂連桿與障礙物的三維幾何形狀,而不是將其簡化為直線或點。其次,設計了適應度函數(shù),將軌跡跟蹤和避障任務統(tǒng)一到同一個優(yōu)化問題。其中,跟蹤誤差項只基于正運動學實現(xiàn)笛卡爾空間的軌跡向關節(jié)空間的映射,而不需要雅可比逆矩陣;避障獎勵項能積極地鼓勵優(yōu)化器避開障礙物,而不是將避障問題簡化為不等式約束。然后,基于隨機分散策略提出了改進的灰狼算法,該算法具有更強的全局搜索能力。最后,使用九自由度冗余機械臂對提出的避障跟蹤優(yōu)化器進行了仿真和實驗驗證。
結(jié)果表明,軌跡跟蹤的平均誤差為0.21 mm,機械臂與障礙物的最小距離不小于70 mm;相比于經(jīng)典灰狼算法,改進灰狼算法使跟蹤誤差降低了13%。基于改進灰狼算法的避障跟蹤優(yōu)化器能安全、準確地實現(xiàn)9 自由度冗余機械臂的軌跡跟蹤和避障任務,隨機分散策略能有效提高經(jīng)典灰狼算法的性能。