崔海花
(河南科技職業(yè)大學(xué)機(jī)電工程學(xué)院,周口 466000)
近年來(lái),隨著勞動(dòng)成本的增加,在許多制造業(yè)中,機(jī)器人正在逐步替代人類去執(zhí)行相應(yīng)的工作任務(wù)。特別是人類在探索太空,海洋、核環(huán)境等[1-2]危險(xiǎn)環(huán)境中,通過(guò)遠(yuǎn)程操控機(jī)器人可以完成復(fù)雜的工作任務(wù)。但是,我國(guó)機(jī)器人技術(shù)研究起步太晚,與發(fā)達(dá)國(guó)家先進(jìn)機(jī)器人相比,還存在一定的差距。國(guó)外對(duì)機(jī)器人先進(jìn)技術(shù)也采取了保密和壟斷措施,這也導(dǎo)致了機(jī)器人研發(fā)面臨各種困難。機(jī)器人在運(yùn)動(dòng)過(guò)程中,需要各個(gè)關(guān)節(jié)相互配合完成某一特定任務(wù),除了要克服自身重力外,還要保持負(fù)載的平衡。若控制系統(tǒng)設(shè)計(jì)不當(dāng),就會(huì)造成機(jī)器人發(fā)生振動(dòng)現(xiàn)象,失去穩(wěn)定,導(dǎo)致機(jī)器人末端運(yùn)動(dòng)軌跡產(chǎn)生較大的誤差問(wèn)題,輕者損壞加工產(chǎn)品,重者造成嚴(yán)重的財(cái)產(chǎn)損失?;谏鲜鲈颍仨毤涌鞕C(jī)器人技術(shù)自主研發(fā)技術(shù),打破國(guó)外機(jī)器人先進(jìn)技術(shù)的壟斷,促進(jìn)國(guó)際社會(huì)的共同發(fā)展。
當(dāng)前,為了提高機(jī)器人控制系統(tǒng)輸出精度,國(guó)內(nèi)、外專家學(xué)者研究出了機(jī)器人多種控制系統(tǒng)。KRISHNA、段焜等[3-4]研究了機(jī)器人模糊自適應(yīng)PID控制系統(tǒng),分析了機(jī)器人控制理論,定義了模糊規(guī)則,設(shè)計(jì)了機(jī)器人模糊PID控制器,給出了機(jī)器人仿真模型圖,可以用來(lái)防止機(jī)器人產(chǎn)生超調(diào)量。XIU、葛媛媛等[5-6]研究了機(jī)器人模糊滑??刂葡到y(tǒng),創(chuàng)建了機(jī)器人運(yùn)動(dòng)軌跡示意圖,推導(dǎo)機(jī)器人不確定非線性數(shù)學(xué)模型,對(duì)傳統(tǒng)滑??刂破鬟M(jìn)行改進(jìn),設(shè)計(jì)出機(jī)器人的模糊滑??刂葡到y(tǒng),通過(guò)實(shí)驗(yàn)分析機(jī)器人跟蹤精度,降低了機(jī)器人抖動(dòng)幅度。SEVIL、尹奇輝等[7-8]研究了機(jī)器人模糊神經(jīng)網(wǎng)絡(luò)PID控制系統(tǒng),推導(dǎo)了機(jī)器人一階運(yùn)動(dòng)學(xué)方程,定義了機(jī)器人運(yùn)動(dòng)誤差方程式,設(shè)計(jì)了模糊神經(jīng)網(wǎng)絡(luò)控制器,利用神經(jīng)網(wǎng)絡(luò)逼近算法調(diào)整控制參數(shù),通過(guò)仿真對(duì)機(jī)器人輸出誤差進(jìn)行測(cè)試,控制效果較好。過(guò)去研究的機(jī)器人大多在空載條件下進(jìn)行仿真,但是,在負(fù)載條件下運(yùn)動(dòng)時(shí),容易受到負(fù)載因素干擾,導(dǎo)致機(jī)器人輸出誤差較大。對(duì)此,本文建立三關(guān)節(jié)機(jī)器人平面簡(jiǎn)圖,給出機(jī)器人動(dòng)力學(xué)方程,為了提高機(jī)器人在負(fù)載環(huán)境中抑制外界干擾,采用遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)模糊控制器,采用MATLAB軟件對(duì)機(jī)器人關(guān)節(jié)運(yùn)動(dòng)進(jìn)行仿真,對(duì)比優(yōu)化前和優(yōu)化后機(jī)器人運(yùn)動(dòng)位移跟蹤精度,比較負(fù)載條件下,誤差跟蹤效果,為改進(jìn)機(jī)器人控制精度,提供一種優(yōu)化方法。
圖1 機(jī)器人
為了控制機(jī)器人位置,必須知道操縱器的動(dòng)力學(xué)特性,以確定驅(qū)動(dòng)它所必須施加的力的大?。毫Σ蛔阋馕吨倏v器反應(yīng)太慢。過(guò)大的力會(huì)使機(jī)器人與外部物體碰撞或在所需位置附近振蕩。由于系統(tǒng)具有大量的自由度和非線性,因此,推導(dǎo)機(jī)器人的運(yùn)動(dòng)動(dòng)力學(xué)方程并非易事。機(jī)器人的動(dòng)力學(xué)模型包括產(chǎn)生扭矩的動(dòng)態(tài)執(zhí)行器控制機(jī)器人和鏈的動(dòng)力學(xué),將動(dòng)力傳輸?shù)浇o出的執(zhí)行器連桿。將采用第1、第2和第3個(gè)運(yùn)動(dòng)關(guān)節(jié)對(duì)機(jī)器人進(jìn)行建模,如圖1所示。
機(jī)器人動(dòng)力學(xué)方程式[9-10]定義為:
M(q)q′′+H(q,q′)+G(q)+F(q,q′)=τ
(1)
式中,M(q)為2×2慣性矩陣;H(q,q′)為2×1科里奧利/離心矢量;G(q)為2×1重力矢量;F(q,q′)為2×1摩擦力矩;q、q′、q′′為2×1位置、速度和加速度向量;τ為2×1廣義關(guān)節(jié)力矩矢量。
機(jī)器人動(dòng)力學(xué)要求施加可實(shí)現(xiàn)的軌跡。位置、速度和加速度的連續(xù)性使機(jī)器人能夠通過(guò)控制裝置繼續(xù)沿著軌跡運(yùn)行??梢酝ㄟ^(guò)方程給出的三階多項(xiàng)式軌跡來(lái)保證這種連續(xù)性:
qd(t)=a0+a1(t-t0)+a2(t-t0)2+ (2) (3) 遺傳算法是一種基于遺傳學(xué)和自然選擇原理的優(yōu)化和搜索技術(shù)[11]。遺傳算法允許由多個(gè)個(gè)體組成的群體在指定的選擇規(guī)則下進(jìn)化到最大化“適應(yīng)度”(即最小化成本函數(shù))的狀態(tài)。 遺傳算法中的每一個(gè)循環(huán)都會(huì)產(chǎn)生一個(gè)給定問(wèn)題的新一代可能的解決方案。在第一階段,創(chuàng)建一個(gè)初始種群,以啟動(dòng)搜索過(guò)程。種群的元素被編碼為染色體的位串。字符串的性能,通常稱為適應(yīng)度,然后在表示問(wèn)題約束的一些函數(shù)的幫助下進(jìn)行評(píng)估。根據(jù)染色體的適應(yīng)度,選擇它們進(jìn)行后續(xù)的遺傳操作過(guò)程。選擇過(guò)程主要負(fù)責(zé)確保最適合的個(gè)體存活。當(dāng)種群串的選擇結(jié)束時(shí),將執(zhí)行由兩個(gè)步驟組成的遺傳操作過(guò)程。在第一步中,執(zhí)行交叉操作,將每?jī)蓚€(gè)選定字符串(染色體)的位(基因)重組。任意兩條染色體的交叉點(diǎn)是隨機(jī)選擇的。遺傳操作過(guò)程中的第二步稱為突變,染色體上一個(gè)或多個(gè)隨機(jī)選擇的位置上的位發(fā)生改變。突變過(guò)程有助于克服局部最大值的陷阱。遺傳操作過(guò)程產(chǎn)生的后代是下一個(gè)要評(píng)估的群體。 模糊控制器的一般結(jié)構(gòu)由模糊化塊、推理機(jī)和反模糊化塊組成。此外,模糊控制器必須包含基本知識(shí)。其中一個(gè)模糊邏輯問(wèn)題是缺乏從采集的數(shù)據(jù)中提取模糊規(guī)則的系統(tǒng)工具。這個(gè)問(wèn)題有時(shí)很難解決。因此,為了避免專家問(wèn)題,研究人員嘗試用幾種方法代替專家,如神經(jīng)網(wǎng)絡(luò)。 人工神經(jīng)網(wǎng)絡(luò)(ANN)是一組形式化的神經(jīng)元,它們?cè)趯?或子組)中關(guān)聯(lián)且并行運(yùn)行。在網(wǎng)絡(luò)中,每個(gè)小組獨(dú)立于其他小組進(jìn)行運(yùn)行,并將其分析結(jié)果傳輸給下一個(gè)小組。提供給網(wǎng)絡(luò)的信息將逐層傳播,從輸入層傳播到輸出層,不經(jīng)過(guò)一個(gè)或多個(gè)過(guò)渡層(稱為隱藏層)。應(yīng)當(dāng)注意的是,根據(jù)訓(xùn)練算法,還可以具有向后傳播的信息(“反向傳播”)。通常(除了輸入層和輸出層),一層中的每個(gè)神經(jīng)元都連接到前一層和下一層的所有神經(jīng)元。采用自適應(yīng)神經(jīng)模糊推理系統(tǒng)方法,通過(guò)在線學(xué)習(xí)每個(gè)關(guān)節(jié)來(lái)調(diào)整控制器參數(shù),以獲得良好的控制性能。自適應(yīng)網(wǎng)絡(luò)形式的調(diào)節(jié)器結(jié)構(gòu)如圖2所示。它包含第2個(gè)和第3個(gè)關(guān)節(jié)的連續(xù)誤差ei和誤差變化Δei作為輸入,以及每個(gè)關(guān)節(jié)的驅(qū)動(dòng)關(guān)節(jié)τi作為輸出。神經(jīng)網(wǎng)絡(luò)控制算法[12-13]如下: (1)第1層,該層中每個(gè)節(jié)點(diǎn)的輸出為: (4) (5) (2)第2層,該層的節(jié)點(diǎn)輸出表示為: (6) (3)第3層,節(jié)點(diǎn)輸出如下所示: (7) (4)第4層,該層的節(jié)點(diǎn)具有可調(diào)參數(shù),其功能如下: (8) (5)該層僅包含一個(gè)節(jié)點(diǎn),該節(jié)點(diǎn)執(zhí)行前一層節(jié)點(diǎn)輸出的總和為: (9) (10) 圖2 神經(jīng)網(wǎng)絡(luò)調(diào)節(jié)器結(jié)構(gòu) 擴(kuò)展卡爾曼濾波器能有效地估計(jì)非線性動(dòng)力系統(tǒng)的狀態(tài)。參數(shù)估計(jì)的應(yīng)用之一是對(duì)神經(jīng)網(wǎng)絡(luò)參數(shù)進(jìn)行估計(jì)。因此,采用擴(kuò)展卡爾曼濾波作為訓(xùn)練算法。調(diào)節(jié)器的特征是參數(shù)η的向量。我們的目標(biāo)是通過(guò)最小化誤差找到向量η的值,誤差定義為: ei(k)=qdi(k)-qi(k) (11) 擴(kuò)展卡爾曼濾波器的方法將估計(jì)向量的輸出線性化[14],如下所示: (12) 式中: (13) (14) 式中,α1、α2為改變收斂速度的適應(yīng)增益。 采用神經(jīng)模糊系統(tǒng)來(lái)控制機(jī)器人的第1、第2和第3關(guān)節(jié),優(yōu)化各種輸入/輸出。它們表示輸入的不同隸屬函數(shù)的位置和形式,以及輸出的增益。在這種情況下,開始時(shí)用遺傳算法優(yōu)化了6個(gè)參數(shù),它們是模糊化的兩個(gè)輸入歸一化增益(ai,bi),(其中(-ai,ai)或(-bi,bi)表示直線隸屬度的限值)和每個(gè)分散調(diào)節(jié)器的一個(gè)解模糊輸出增益。因此,對(duì)于標(biāo)準(zhǔn)調(diào)節(jié)器神經(jīng)模糊型,將ai和bi的絕對(duì)值作為初始值。使用的編碼類型為二進(jìn)制編碼。目標(biāo)函數(shù)是整個(gè)軌跡上兩個(gè)誤差的絕對(duì)和。調(diào)節(jié)神經(jīng)模糊控制如圖3所示。 圖3 機(jī)器人神經(jīng)模糊控制優(yōu)化 以機(jī)器人第3關(guān)節(jié)設(shè)置期望運(yùn)動(dòng)角位移為研究對(duì)象,通過(guò)仿真軟件MATALAB測(cè)試遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)控制系統(tǒng)輸出誤差大小,并在仿真測(cè)試中添加負(fù)載。比較不同控制方法輸出效果,分析機(jī)器人角位移輸出誤差,仿真參數(shù)如表1所示。 表1 仿真參數(shù) 假設(shè)機(jī)器人第3關(guān)節(jié)運(yùn)動(dòng)角位移為q(t)=cosπt/2,在無(wú)負(fù)載條件下,優(yōu)化前和優(yōu)化后的機(jī)器人運(yùn)動(dòng)關(guān)節(jié)角位移跟蹤誤差分別如圖4和圖5所示。在有負(fù)載條件下,優(yōu)化前和優(yōu)化后的機(jī)器人運(yùn)動(dòng)關(guān)節(jié)角位移跟蹤誤差分別如圖6和圖7所示。 在無(wú)負(fù)載條件下,圖4和圖5分別為優(yōu)化前和優(yōu)化后神經(jīng)網(wǎng)絡(luò)模糊控制效果,無(wú)論是優(yōu)化前還是優(yōu)化后,機(jī)器人第3關(guān)節(jié)角位移跟蹤誤差都較小,都能較好的跟蹤期望角位移。在有負(fù)載條件下,圖6和圖7分別為優(yōu)化前和優(yōu)化后神經(jīng)網(wǎng)絡(luò)模糊控制效果,優(yōu)化前,機(jī)器人第3關(guān)節(jié)角位移跟蹤誤差較大,容易受到負(fù)載的影響,控制系統(tǒng)精度較低。優(yōu)化后,機(jī)器人第3關(guān)節(jié)角位移跟蹤誤差較小,能夠抑制負(fù)載的影響,控制系統(tǒng)輸出精度較高。因此,在相同條件下,對(duì)于具有不確定性的機(jī)器人軌跡控制,采用遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)模糊控制器,通過(guò)角位移誤差輸出反饋后,能夠在線優(yōu)化控制器參數(shù),從而調(diào)整機(jī)器人運(yùn)動(dòng)軌跡,提高機(jī)器人抗干擾能力。 圖4 優(yōu)化前誤差(無(wú)負(fù)載) 圖5 優(yōu)化后誤差(無(wú)負(fù)載) 圖6 優(yōu)化前誤差(有負(fù)載) 圖7 優(yōu)化后誤差(有負(fù)載) 針對(duì)機(jī)器人關(guān)節(jié)運(yùn)動(dòng)角位移跟蹤誤差較大、容易受到負(fù)載干擾問(wèn)題,設(shè)計(jì)了神經(jīng)網(wǎng)絡(luò)模糊控制器,利用遺傳算法優(yōu)化控制器參數(shù),主要結(jié)論如下: (1)在無(wú)負(fù)載條件下,無(wú)論是采用優(yōu)化前的神經(jīng)網(wǎng)絡(luò)模糊控制器,還是采用遺傳算法優(yōu)化后的神經(jīng)網(wǎng)絡(luò)模糊控制器,機(jī)器人運(yùn)動(dòng)關(guān)節(jié)角位移跟蹤誤差都較小,差別不大,都能夠較好的實(shí)現(xiàn)機(jī)器人運(yùn)動(dòng)關(guān)節(jié)角位移的跟蹤。 (2)在有負(fù)載條件下,采用優(yōu)化前的神經(jīng)網(wǎng)絡(luò)模糊控制器,機(jī)器人運(yùn)動(dòng)關(guān)節(jié)角位移跟蹤誤差較大,調(diào)節(jié)控制參數(shù)能力較差,而采用遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)模糊控制器,機(jī)器人運(yùn)動(dòng)關(guān)節(jié)角位移跟蹤誤差較小,能夠利用遺傳算法優(yōu)化控制器調(diào)整參數(shù),從而快速調(diào)節(jié)控制器參數(shù),達(dá)到降低誤差的目的。
a3(t-t0)3t02 神經(jīng)模糊控制器優(yōu)化
2.1 遺傳算法原理
2.2 神經(jīng)模糊控制器
2.3 遺傳算法優(yōu)化控制器
3 誤差仿真
4 結(jié)束語(yǔ)