劉金銘,劉梅,鐘佩思,梁中源,張超,王曉
(山東科技大學(xué)機(jī)械電子工程學(xué)院,山東青島 266590)
為避免激發(fā)機(jī)械臂的高頻特性、減少噪聲干擾對(duì)參數(shù)辨識(shí)的不良影響,提高動(dòng)力學(xué)參數(shù)的辨識(shí)精度,應(yīng)選取合適的算法優(yōu)化激勵(lì)軌跡。優(yōu)化后的激勵(lì)軌跡必須滿足關(guān)節(jié)角度、速度和加速度限制等約束條件,保持機(jī)械手運(yùn)行的平穩(wěn)性,這是一個(gè)單目標(biāo)多約束問題。
GEE在2001年首次提出和聲搜索算法,之后該算法被廣泛應(yīng)用于分布式發(fā)電系統(tǒng)的許多領(lǐng)域,如參數(shù)優(yōu)化、全局?jǐn)?shù)值優(yōu)化和最優(yōu)無線脈沖響應(yīng)系統(tǒng)辨識(shí)等。NADI等提出了使用和聲搜索的自適應(yīng)參數(shù)控制方案,實(shí)現(xiàn)了勘探狀態(tài)和開發(fā)狀態(tài)之間的平衡過渡。HE等提出了和聲-遺傳算法,其中和聲算法用來生成遺傳算法的初始種群,使遺傳算法在搜索能力上得到了提升。
HOLLAND于1975年首次提出遺傳算法,遺傳算法的性能優(yōu)于其他元啟發(fā)式算法,例如模擬退火和粒子群優(yōu)化等,尤其是在大規(guī)模問題中。劉磊等人引進(jìn)S形函數(shù)優(yōu)化收斂因子,提出了改進(jìn)的基于S形函數(shù)的灰狼算法,避免了算法的“早熟”。蘇二虎結(jié)合懲罰函數(shù)和遺傳算法的優(yōu)點(diǎn),雖然提高了算法的迭代速度,但導(dǎo)致算法容易“早熟”。楊從銳等通過種群平均適應(yīng)與最大適應(yīng)度的大小關(guān)系來判斷種群的離散程度,進(jìn)而調(diào)整種群的交叉和變異概率,加快了算法的收斂速度。閆春等人在前人基礎(chǔ)上引入反正弦函數(shù),計(jì)算種群平均適應(yīng)度與最大適應(yīng)度的比值,更好更快地反映了種群離散度的變化,并且引入了交叉和變異順序的自適應(yīng)機(jī)制,增強(qiáng)了算法的搜索能力和搜索速度,但未考慮個(gè)體適應(yīng)度不佳時(shí),交叉和變異概率的調(diào)整問題。
在上述研究的基礎(chǔ)上,本文作者改進(jìn)遺傳算法的順序自適應(yīng)和概率自適應(yīng)機(jī)制,結(jié)合和聲算法的優(yōu)點(diǎn),提出改進(jìn)的和聲-遺傳算法。為驗(yàn)證該算法的性能,使用和聲-遺傳算法得到SCARA型機(jī)械臂優(yōu)化后的激勵(lì)軌跡。
SCARA型機(jī)械臂的空間定位精度由連桿1、2、3共同決定,將連桿4視為連桿3的負(fù)載,如圖1所示。因此,僅對(duì)前3個(gè)工作臂進(jìn)行動(dòng)力學(xué)建模。
圖1 SCARA機(jī)器人D-H坐標(biāo)系
因?yàn)殛P(guān)節(jié)1、2為旋轉(zhuǎn)關(guān)節(jié),關(guān)節(jié)3為移動(dòng)關(guān)節(jié),得到各關(guān)節(jié)的驅(qū)動(dòng)力矩/力為
(1)
式中:
式中:c表示cos;s表示sin。
將機(jī)械臂的動(dòng)力學(xué)模型表示為其慣性參數(shù)與關(guān)節(jié)力矩的線形表達(dá)式:
(2)
式中:為×10的觀測(cè)矩陣,為連桿數(shù)量;為待辨識(shí)慣性參數(shù)集,表達(dá)式為
=
[]
采用數(shù)學(xué)推導(dǎo)的方法,依次確定連桿3至連桿1的最小慣性參數(shù)和觀測(cè)矩陣為
(3)
式中:
2+1
=+
=
為減少噪聲干擾對(duì)參數(shù)精度的影響,應(yīng)在進(jìn)行激勵(lì)軌跡優(yōu)化之前選擇合適的激勵(lì)軌跡模型,避免激發(fā)機(jī)器人的高頻特性。
傅里葉級(jí)數(shù)公式為
(4)
式中:為連桿編號(hào);為正弦和余弦項(xiàng)的數(shù)目,=5;,和,為傅里葉級(jí)數(shù)的系數(shù);=2π,為基角頻率。
激勵(lì)軌跡需要滿足連續(xù)性、周期性和運(yùn)行的平穩(wěn)性,即在軌跡起始和停止的位置,關(guān)節(jié)的速度和加速度為0。滿足上述要求的條件為
(5)
式中:和分別為軌跡起始和終止的時(shí)間。
在進(jìn)行動(dòng)力學(xué)參數(shù)辨識(shí)的過程中,階動(dòng)力學(xué)參數(shù)辨識(shí)方程=由組觀測(cè)數(shù)據(jù)組成的回歸矩陣和關(guān)節(jié)驅(qū)動(dòng)力矩矩陣組成。當(dāng)和存在擾動(dòng)δ和δ時(shí),待辨識(shí)參數(shù)集的相對(duì)誤差為
(6)
根據(jù)定義可知,回歸矩陣的條件數(shù)為
(7)
將公式(7)代入公式(6)可將待辨識(shí)參數(shù)集的相對(duì)誤差進(jìn)一步表示為
(8)
軌跡優(yōu)化問題的關(guān)鍵是如何在滿足約束的條件下,快速、準(zhǔn)確地得到回歸矩陣的最小條件數(shù)。傳統(tǒng)的遺傳算法在一定程度上實(shí)現(xiàn)了這一功能,然而在搜索效率和穩(wěn)定性方面仍存在一些缺陷。
算法的參數(shù)有和聲記憶庫(kù)的大小、音調(diào)調(diào)整率、隨機(jī)選擇率、和聲搜索算法迭代次數(shù)、交叉概率、變異概率和遺傳算法的迭代次數(shù)?;诮?jīng)驗(yàn),將和聲記憶的大小設(shè)置為50。音調(diào)調(diào)整率和隨機(jī)選擇率將直接影響算法的運(yùn)行效果,根據(jù)經(jīng)驗(yàn)將音調(diào)調(diào)整率和隨機(jī)選擇率的數(shù)值均設(shè)定為0.3。
采用和聲算法選擇初始種群個(gè)體,在確定了和聲記憶庫(kù)的大小之后,隨機(jī)生成初始和聲,并儲(chǔ)存在和聲記憶庫(kù)HM中。以設(shè)定的隨機(jī)選擇概率生成新解,并以1-的概率在原搜索庫(kù)中選擇新解。根據(jù)音調(diào)調(diào)整率確定是否對(duì)新解進(jìn)行局部擾動(dòng),新的解是否優(yōu)于和聲記憶庫(kù)中的最差解。如果新的解比和聲記憶庫(kù)中的最差解更好,就將最差解替換為新解;反之,重復(fù)上述操作。
和聲記憶庫(kù)的初始化過程為
(9)
根據(jù)概率產(chǎn)生一個(gè)新的解決方案,公式如下:
(10)
式中:為隨機(jī)選擇概率;為和聲庫(kù)之外的變量可行域。
需要進(jìn)一步檢查每個(gè)選定的矢量,以確定它需要在哪里進(jìn)行音調(diào)調(diào)整。
(11)
式中:為任意帶寬;為音調(diào)調(diào)整概率。
因?yàn)?)≥1,所以直接選擇()作為適應(yīng)度函數(shù)。為避免算法陷入局部最優(yōu),將排序法和輪盤賭法相結(jié)合,提出輪排選擇法。每次計(jì)算適應(yīng)度值后首先進(jìn)行排序,從排名靠前的10個(gè)個(gè)體中隨機(jī)選擇2個(gè)個(gè)體保留下來;對(duì)剩余的個(gè)體進(jìn)行輪盤賭選擇,從而保證基因的多樣性。
傳統(tǒng)的遺傳算法,遵循選擇、交叉和變異的順序,但在種群相對(duì)集中的情況下,交叉的意義不大,種群依然有可能陷入局部最優(yōu)解。因此,本文作者提出順序自適應(yīng)機(jī)制,通過判斷種群的集散程度,確定交叉和變異的順序。當(dāng)種群較為集中時(shí),先變異;當(dāng)種群較為發(fā)散時(shí),先交叉。
(12)
反正弦函數(shù)可以增大算法對(duì)種群離散度變化的敏感程度,通過調(diào)節(jié)離散度擴(kuò)大系數(shù)可以進(jìn)一步調(diào)整算法對(duì)種群離散度變化的敏感程度。如圖2所示,可知取值越大,算法對(duì)種群離散度變化越敏感。
圖2 種群離散敏感度曲線
Sigmoid函數(shù)是最常用的神經(jīng)元激活函數(shù),它在線性和非線性之間表現(xiàn)出良好的平衡性,如圖3所示??芍寒?dāng)≤-6時(shí),()接近于0;當(dāng)≥6時(shí),()接近于1。
圖3 Sigmoid函數(shù)
(13)
本文作者提出了一種基于S形函數(shù)的概率自適應(yīng)調(diào)整機(jī)制,如公式(14)(15)所示,使得交叉和變異概率可以根據(jù)每一個(gè)個(gè)體的適應(yīng)度自適應(yīng)地進(jìn)行調(diào)整。如果某個(gè)個(gè)體的適應(yīng)度大于或等于種群的平均適應(yīng)度,在交叉或變異概率的最小值的基礎(chǔ)上對(duì)其進(jìn)行自適應(yīng)調(diào)整;反之,則采用最大的交叉或變異概率。改進(jìn)自適應(yīng)遺傳算法流程如圖4所示。
圖4 改進(jìn)自適應(yīng)遺傳算法流程
(14)
(15)
式中:、分別為交叉概率的上限和下限;、分別為變異概率的上限和下限;′為當(dāng)前種群中個(gè)體的適應(yīng)度。
SCARA機(jī)器人各關(guān)節(jié)角度、角速度和角加速度的限制范圍如表1、表2所示。
表1 關(guān)節(jié)1、2運(yùn)動(dòng)限制范圍
表2 關(guān)節(jié)3運(yùn)動(dòng)限制范圍
在簡(jiǎn)化后的SCARA機(jī)器人中,連桿1、2的轉(zhuǎn)動(dòng)和連桿3的移動(dòng)是解耦的。因此,分別求取關(guān)節(jié)1、2和關(guān)節(jié)3的激勵(lì)軌跡。
根據(jù)公式(3)可知,前3個(gè)關(guān)節(jié)的回歸矩陣。關(guān)節(jié)1、2的激勵(lì)軌跡為傅里葉級(jí)數(shù),5階共有22個(gè)待優(yōu)化參數(shù)。設(shè)置基頻=0.2π,迭代次數(shù)為400代,種群大小為60,交叉概率上下限、分別為0.9和0.1,變異概率上下限、同上。分別使用所提出的和聲-遺傳算法與文獻(xiàn)[14]和文獻(xiàn)[15]中提出的自適應(yīng)遺傳算法求解,結(jié)果如表3所示,進(jìn)而可得到前2個(gè)關(guān)節(jié)和關(guān)節(jié)3的觀測(cè)矩陣條件數(shù)分別為1.003 9和1.000 0。
表3 最優(yōu)化傅里葉級(jí)數(shù)系數(shù)
3種算法的迭代結(jié)果對(duì)比如圖5所示??芍?文中提出的和聲-遺傳算法收斂速度明顯優(yōu)于文獻(xiàn)[14]、文獻(xiàn)[15]中的自適應(yīng)遺傳算法。
圖5 回歸矩陣迭代情況
關(guān)節(jié)1、關(guān)節(jié)2和關(guān)節(jié)3的角度、角速度和角加速度變化分別如圖6和圖7所示??芍簝?yōu)化后的軌跡滿足公式(5)中的約束,可以保證機(jī)器人運(yùn)行的平穩(wěn)性。
圖6 關(guān)節(jié)1、2的激勵(lì)曲線
圖7 關(guān)節(jié)3激勵(lì)軌跡
關(guān)節(jié)3激勵(lì)軌跡對(duì)應(yīng)的觀測(cè)矩陣條件數(shù)為1,為最優(yōu)軌跡。這是因?yàn)殛P(guān)節(jié)1、2和關(guān)節(jié)3是解耦的,優(yōu)化關(guān)節(jié)3的激勵(lì)軌跡等同于求解單關(guān)節(jié)的激勵(lì)軌跡。
(1)利用牛頓-歐拉法得到SCARA型機(jī)械手的動(dòng)力學(xué)模型,并使用數(shù)學(xué)推導(dǎo)的方法對(duì)模型進(jìn)行線性化和參數(shù)分離,得到了SCARA型機(jī)械手前3個(gè)關(guān)節(jié)的觀測(cè)矩陣和待辨識(shí)的最小參數(shù)集。選擇5階傅里葉級(jí)數(shù)作為激勵(lì)軌跡,確定了優(yōu)化約束和目標(biāo)。
(2)使用和聲搜索算法生成遺傳算法的初始種群,使用反正弦函數(shù)判斷種群分布的程度,改進(jìn)了順序自適應(yīng)機(jī)制,提高了算法的收斂速度。根據(jù)種群平均適應(yīng)度、最大個(gè)體適應(yīng)度和個(gè)體適應(yīng)度′,非線性調(diào)整交叉概率和變異概率;改進(jìn)了概率自適應(yīng)機(jī)制,考慮了個(gè)體適應(yīng)度在每一代中的影響。
結(jié)果表明:與文獻(xiàn)[14]、文獻(xiàn)[15]中的自適應(yīng)遺傳算法相比,和聲-遺傳算法具有顯著的優(yōu)越性。