張于軍 操長茂 柯宇 史悅博
摘? 要:六足機(jī)器人的控制相對來說更為復(fù)雜,需要的算法和技術(shù)也更加多元化。基于傳統(tǒng)PID控制的六足機(jī)器人速度變化不穩(wěn)定且速度提升緩慢,實(shí)際應(yīng)用中六足機(jī)器人的非線性影響過大,結(jié)構(gòu)之間不可避免的摩擦過多,研究采用優(yōu)化的模糊自適應(yīng)PID控制,將誤差E及誤差E的變化率模糊化處理,并根據(jù)PID控制器特性設(shè)計(jì)模糊化規(guī)則,經(jīng)模糊推理得到PID參數(shù)的模糊輸出值,利用加權(quán)平均法解模糊化得到實(shí)時(shí)更新的Kp、Ki、Kd的增量值。旨在保證機(jī)器人行駛穩(wěn)定的前提下,對復(fù)雜地形能夠做到自適應(yīng)調(diào)整PID參數(shù),提升PID控制的精度和機(jī)器人行走速度,達(dá)到理想的控制行走效果。
關(guān)鍵詞:六足機(jī)器人;模糊PID控制;模糊推理;MATLAB仿真
中圖分類號(hào):TP273+.4;TP242 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2023)19-0075-04
Optimization of Control Algorithm for Hexapod Robot
ZHANG Yujun, CAO Changmao, KE Yu, SHI Yuebo
(School of Artificial Intelligence, Jianghan University, Wuhan? 430056, China)
Abstract: The control of hexapod robots is relatively more complex, and the algorithms and technologies needed are more diversified. The speed change of hexapod robot based on traditional PID control is unstable and the speed increasing is slow. In practical application, the nonlinear influence of hexapod robot is too large, and there is too much inevitable friction among structures. The optimized fuzzy adaptive PID control is used to fuzzify the error E and the change rate of the error E, and the fuzzification rules are designed according to the characteristics of the PID controller. The fuzzy output value of the PID parameters is obtained by fuzzy reasoning, and the weighted average method is used to defuzzify the incremental values of Kp, Ki and Kd updated in real time. Under the premise of ensuring the stability of the robot driving, the PID parameters can be adjusted adaptively for the complex terrain, and the accuracy of the PID control and the walking speed of the robot can be improved to achieve the ideal control walking effect.
Keywords: hexapod robot; fuzzy PID control; fuzzy reasoning; MATLAB simulation
0? 引? 言
隨著科技的不斷發(fā)展,各種應(yīng)用領(lǐng)域?qū)?fù)雜環(huán)境下具有自主移動(dòng)能力的機(jī)器人的需求日益廣泛和深入。六足機(jī)器人能夠在復(fù)雜地形中自由運(yùn)動(dòng),對其運(yùn)動(dòng)算法和避障算法的研究一直是機(jī)器人和智能控制領(lǐng)域的研究熱點(diǎn)。然而,目前六足機(jī)器人的地形適應(yīng)能力、周圍環(huán)境檢測、地圖引導(dǎo)、智能控制算法等方面仍存在諸多不足。因此,為了增強(qiáng)六足機(jī)器人的自適應(yīng)性,需要對六足機(jī)器人的控制算法進(jìn)行研究并達(dá)到優(yōu)化效果。具體來說,這需要考慮到六足機(jī)器人的非線性效應(yīng)、結(jié)構(gòu)之間的過度摩擦以及周圍環(huán)境的非線性的算法。這類算法應(yīng)具有自動(dòng)調(diào)整機(jī)器人步態(tài)和適應(yīng)各種地形的能力,以實(shí)現(xiàn)更好的穩(wěn)定性和速度。研究從六足機(jī)器人步態(tài)結(jié)構(gòu)出發(fā),在傳統(tǒng)PID控制方法的基礎(chǔ)上優(yōu)化算法,減小非線性因素帶來的誤差,提高六足機(jī)器人的控制精度。
1? 六足機(jī)器人步態(tài)結(jié)構(gòu)
六足機(jī)器人采用六足昆蟲的行走步態(tài),行走時(shí)將六只腳分成兩組,機(jī)器人步態(tài)示意圖如圖1所示。圖1(a):一側(cè)前足后足和另一側(cè)中足為一組,構(gòu)成支撐身體的三腳架。圖1(b):機(jī)器人擺動(dòng)腿2、4、6向前跨步,腿1、3、5支撐機(jī)器人本體。圖1(c):在小直流驅(qū)動(dòng)電機(jī)和皮帶傳動(dòng)機(jī)構(gòu)的作用下,機(jī)器人本體向前移動(dòng)一個(gè)半步長S。擺腿2、4、6在機(jī)器人身體移動(dòng)到位的情況下,以支撐的狀態(tài)立即放下。使機(jī)器人的重心位置處于2、4、6三條支撐腿構(gòu)成的三角穩(wěn)定區(qū)內(nèi)。圖1(d):原支撐腿1、3、5抬起,準(zhǔn)備向前跨步。圖1(e):擺動(dòng)腿1、3、5向前跨步,此時(shí)支撐腿2、4、6一邊支撐機(jī)器人本體,一邊驅(qū)動(dòng)機(jī)器人本體使機(jī)器人本體向前移動(dòng)一個(gè)步長S。移動(dòng)一個(gè)步長S,狀態(tài)如圖1(f)所示。如此不斷重復(fù)步態(tài)a-b-c-d-e-f-a,循環(huán)往復(fù)實(shí)現(xiàn)機(jī)器人不斷向前移動(dòng)。
2? 當(dāng)前控制算法
2.1? PID速度控制
由于六足機(jī)器人的步態(tài)結(jié)構(gòu)較為復(fù)雜,行進(jìn)過程中的姿態(tài)易被破壞導(dǎo)致步調(diào)失衡、速度差異過大等問題,故一開始采用位置式PID控制算法來控制六足機(jī)器人的速度,而位置式PID算法則利用以往誤差累加的方式,累積誤差容易較大。并且由于六足機(jī)器人的目標(biāo)速度時(shí)時(shí)刻刻都在變化,可能會(huì)出現(xiàn)ERR_SUM溢出的情況,因此ERR值需要不斷累積。于是對位置式PID控制算法加以變換,得到增量式PID控制算法,其速度控制流程圖如圖2所示。
Δu = u(n) - u(n - 1) = Kp(err(n) - err(n - 1)) + Kierr(n)? ? ? ? ?+ Kd(err(n) - 2err(n - 1) + err(n - 2))
2.2? PID參數(shù)調(diào)試
PID控制器的參數(shù)有三個(gè):比例增益Kp,積分時(shí)間Ti,微分時(shí)間Td。要使PID控制器的控制效果顯著,則需將三個(gè)參數(shù)調(diào)至合適值,調(diào)試步驟如下:
1)粗調(diào)整比例增益Kp:在調(diào)試時(shí),首先將Kp設(shè)為一個(gè)較大的值,增加系統(tǒng)的響應(yīng)速度,同時(shí)確保系統(tǒng)穩(wěn)定性。然后進(jìn)行系統(tǒng)的穩(wěn)定性分析,如觀察系統(tǒng)的兩個(gè)響應(yīng)特點(diǎn)——振蕩與衰減,確定Kp的初始值。
2)調(diào)整積分時(shí)間Ti:在粗調(diào)整Kp之后,應(yīng)該調(diào)整積分時(shí)間Ti。增大Ti可以提高系統(tǒng)的控制精度,但會(huì)使系統(tǒng)的響應(yīng)速度變慢,降低抗干擾能力。減小Ti可以提高系統(tǒng)的響應(yīng)速度,但往往會(huì)降低系統(tǒng)的控制精度。通常情況下,根據(jù)實(shí)際需求,選擇合適的積分時(shí)間使系統(tǒng)能夠具有較好的控制精度,并在保證系統(tǒng)穩(wěn)定性的前提下盡可能提高系統(tǒng)的響應(yīng)速度和抗干擾能力。
3)調(diào)整微分時(shí)間Td:微分時(shí)間Td的選擇通常需要根據(jù)被控對象的響應(yīng)特性來確定。增加Td可以提高系統(tǒng)響應(yīng)速度,減小超調(diào)量,但過高的Td會(huì)使系統(tǒng)變得不穩(wěn)定。通常情況下,根據(jù)實(shí)際需求,選擇合適的微分時(shí)間,使系統(tǒng)具有較好的超調(diào)量和穩(wěn)態(tài)誤差,同時(shí)保持系統(tǒng)的穩(wěn)定性。
通過PID調(diào)試仍無法得到一個(gè)較理想的控制效果,依據(jù)我們熟知的傳統(tǒng)PID控制理論,控制器參數(shù)以及觀測器結(jié)構(gòu)參數(shù)都必須基于一個(gè)準(zhǔn)確的被控對象數(shù)學(xué)模型,然后根據(jù)被控對象的數(shù)學(xué)模型選擇合適的性能指標(biāo)來進(jìn)行控制。但是現(xiàn)實(shí)中六足機(jī)器人的負(fù)載較大,電機(jī)溫度變化較大,導(dǎo)致被控對象的非線性影響因素較多,從而基于理想模型的傳統(tǒng)PID控制方法誤差大,故考慮實(shí)時(shí)性、適應(yīng)性更好的模糊PID控制算法。
3? 模糊PID控制算法
盡管PID算法帶來的速度控制能做出響應(yīng),但是其對于機(jī)器人的速度提升不大,還需要根據(jù)不同的地形環(huán)境設(shè)置不同的行進(jìn)速度以達(dá)到機(jī)器人最快地通過不同的路況的目的。而對于非線性的復(fù)雜系統(tǒng),一些模型不精準(zhǔn)、過程不精確及噪聲源繁雜的系統(tǒng),模糊控制表現(xiàn)出了更強(qiáng)的優(yōu)越性。模糊控制是一種針對復(fù)雜系統(tǒng)的控制方法,它以模糊集合和模糊邏輯為基礎(chǔ),通過對輸入變量的模糊化、建立模糊規(guī)則和解模糊化等過程,實(shí)現(xiàn)對系統(tǒng)的控制。研究將速度目標(biāo)值和實(shí)際值的誤差E和變化率EC作為模糊控制器的輸入,隨后進(jìn)行模糊推理,對模糊推理結(jié)果解模糊作用于PID控制器,使控制器參數(shù)Kp,Ki,Kd實(shí)時(shí)更新,以更好地適應(yīng)復(fù)雜地形。
3.1? 變量的模糊化
在模糊控制中,輸入輸出變量大小用語言形式進(jìn)行描述。常選用的7個(gè)語言值為{負(fù)大,負(fù)中,負(fù)小,零,正小,正中,正大},即{NB,NM,NS,O,PS,PM,PB}。
以PID控制器參數(shù)Kp,Ki,Kd增量為模糊控制器輸出,機(jī)器人當(dāng)前行駛方向與賽道方向所形成的偏差E及其變化率EC作為模糊控制器的輸入。設(shè)偏差值模糊量為E,偏差變化率模糊量為EC分別設(shè)偏差值模糊量。為了使速度切換更加細(xì)膩流暢,將偏差E、偏差變化EC控制量的基本論域定為{-6,6},并劃分為{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}等13個(gè)等級。任何一個(gè)物理量都有量程范圍,記偏差E的量程范圍為Emin-Emax,則誤差變化率量程范圍為其兩倍。采用線性方式量化,則函數(shù)關(guān)系為:
確定E、EC的在模糊子集上的隸屬度,E、EC均使用形式簡單、計(jì)算量小的三角形隸屬函數(shù)進(jìn)行模糊化。
3.2? 模糊推理
輸入值E、EC模糊化之后,根據(jù)其與Kp,Ki,Kd的模糊控制規(guī)則進(jìn)行模糊推理,可以得到模糊輸出值。在PID控制器中,Kp值的選取由系統(tǒng)的響應(yīng)速度決定。在調(diào)節(jié)的初始階段,應(yīng)選擇較大的Kp值以提高響應(yīng)速度。在調(diào)節(jié)中期,Kp應(yīng)處于較小值,以保證系統(tǒng)具有較小的超調(diào)量和一定的響應(yīng)速度。在調(diào)節(jié)后期,可將Kp值調(diào)節(jié)到較大值,以減小穩(wěn)態(tài)誤差,提高控制精度。基于以上描述,定義Kp的模糊規(guī)則,如表1所示。
微分環(huán)節(jié)的調(diào)整主要針對大慣性過程,Kd值的作用是改變系統(tǒng)的動(dòng)態(tài)特性,反映信號(hào)變化的趨勢,引入早期修正信號(hào)以加快響應(yīng)速度,減少調(diào)整時(shí)間,并消除振蕩。Kd值的選取對動(dòng)態(tài)特性有很大影響,過大會(huì)使調(diào)節(jié)時(shí)間過長,過小則會(huì)增加超調(diào)。在調(diào)節(jié)初期應(yīng)加大微分作用,避免超調(diào),在中期Kd值應(yīng)適當(dāng)小并保持固定,在調(diào)節(jié)后期Kd值應(yīng)減小,以減小制動(dòng)作用并補(bǔ)償調(diào)節(jié)過程初期因大Kd值而導(dǎo)致的時(shí)間延遲?;谝陨戏治?,Kd的模糊規(guī)則,如表2所示。
根據(jù)偏差E和偏差增量EC的模糊化結(jié)果以及規(guī)則庫進(jìn)行推理,可以得到ΔKp、ΔKi、ΔKd對應(yīng)的模糊子集。由于采用隸屬度函數(shù)來定義輸入輸出量在模糊子集中的隸屬度,因此,推理出來的ΔKp、ΔKi、ΔKd的模糊子集通常會(huì)是一個(gè)由模糊變量組成的矩陣,而輸入量E和EC則是一個(gè)由模糊變量組成的向量。
3.3? 解模糊
常用的解模糊方法有:
1)最大隸屬度法:此方法主要信息突出,計(jì)算簡單。容易丟失次要信息,導(dǎo)致結(jié)果誤差大。
2)中位數(shù)法(重心法、質(zhì)心法、面積中心法):目前最流行、合理的解模糊化方法。該方法將模糊控制系統(tǒng)中的中位數(shù)作為控制量。優(yōu)點(diǎn):相比最大隸屬度法,重心法包含了模糊子集中的所有信息;缺點(diǎn):計(jì)算復(fù)雜,尤其是在隸屬度函數(shù)的論域?yàn)檫B續(xù)時(shí),需要求解積分方程。
3)加權(quán)平均法適用于輸出隸屬度函數(shù)的模糊集是對稱的。相比重心法,計(jì)算相對簡單。
為了使模糊輸出的PID參數(shù)具有更好的實(shí)時(shí)性和響應(yīng)速度,通常采用較為簡單的解模糊方法,故研究采用加權(quán)平均法逐個(gè)去模糊化E、EC所有論域?qū)?yīng)的模糊輸出值,得到PID三個(gè)參數(shù)的增量,加權(quán)平均法部分代碼如下:
float sum1 = 0, sum2 = 0;
float OUT;
for (i = 0; i< 13; i++)
{
sum1 = sum1 + Cd[i];
sum2 = sum2 + Cd[i] * SPEED[i];
}
OUT = (int)(sum2 / sum1 + 0.5);
Fuzzy_Table[Input1_value_index][Input2_value_index] = OUT;
cout<< OUT <<”,”;
3.4? 優(yōu)化對比
用MATLAB的Simulink工具,建立由模糊控制器構(gòu)成的系統(tǒng)仿真模型,如圖3所示。
比較模糊PID控制系統(tǒng)和傳統(tǒng)PID控制系統(tǒng),進(jìn)行模擬波形圖的繪制,如圖4所示。由圖4看出,傳統(tǒng)PID控制算法波形穩(wěn)定,但波形峰值比較大、超調(diào)量比較大、調(diào)整時(shí)間長。模糊PID控制算法容易將超調(diào)去掉,波形波峰小,調(diào)整時(shí)間短。經(jīng)過調(diào)試可以出現(xiàn)比較穩(wěn)定、波動(dòng)比傳統(tǒng)PID控制法小、無超調(diào)、調(diào)節(jié)時(shí)間較短的輸出波形。
4? 結(jié)? 論
通過采用優(yōu)化的模糊自適應(yīng)PID控制算法,可以顯著提升六足機(jī)器人的控制精度和機(jī)器人行走速度,同時(shí)保證機(jī)器人行駛的穩(wěn)定性。傳統(tǒng)PID控制算法對于六足機(jī)器人的實(shí)際應(yīng)用存在諸多限制。相比之下,優(yōu)化的模糊自適應(yīng)PID控制算法考慮了這些實(shí)際問題,在誤差與誤差變化率處采用模糊化處理,以提高PID控制算法的適應(yīng)性和精度。MATLAB仿真結(jié)果進(jìn)一步驗(yàn)證了該算法的實(shí)用性和有效性,展示出該算法在控制六足機(jī)器人運(yùn)動(dòng)方面具有潛在的推廣價(jià)值。
參考文獻(xiàn):
[1] 李滿宏,張明路,張建華,等.六足機(jī)器人關(guān)鍵技術(shù)綜述 [J].機(jī)械設(shè)計(jì),2015,32(10):1-8.
[2] 陳德旺,蔡際杰,黃允滸.面向可解釋性人工智能與大數(shù)據(jù)的模糊 系統(tǒng)發(fā)展展望[J].智能科學(xué)與技術(shù)學(xué)報(bào),2019,1(4):327-334.
[3] Garibaldi J M,陳虹宇,李小雙.差異與學(xué)習(xí):模糊系統(tǒng)與模糊推理 [J].智能科學(xué)與技術(shù)學(xué)報(bào),2019,1(4):319-326.
[4] 胡勇.六足機(jī)器人梅花樁行走步態(tài)研究 [D].綿陽:西南科技大學(xué),2019.
[5] 王飛躍,曹東璞,魏慶來.強(qiáng)化學(xué)習(xí):邁向知行合一的智能機(jī)制與算法 [J].智能科學(xué)與技術(shù)學(xué)報(bào),2020,2(2):101-106.
[6] 牛培峰,孟凡東,陳貴林,等.直接型自適應(yīng)模糊控制器的設(shè)計(jì)及其在汽溫控制中的應(yīng)用 [J].動(dòng)力工程學(xué)報(bào),2010,30(1):22-26.
[7] 董冠宇,王沖,劉猛等.基于改進(jìn)差分進(jìn)化算法的模糊PID控制 [J].自動(dòng)化與儀器儀表,2021,42(1):149-155.
[8] 張宇,付躍剛,張健等.模糊PID控制的恒星光譜模擬 [J].光學(xué)精密工程,2023,31(11):1619-1630.
[9] 趙偉鵬,劉曉宇,馬晟哲,等.六足仿生機(jī)器人步態(tài)規(guī)劃與控制系統(tǒng)設(shè)計(jì) [J].南方農(nóng)機(jī),2021,52(9):24-26.
[10] 蔣德軍,寧立偉.仿六足機(jī)器人的機(jī)構(gòu)設(shè)計(jì)與研究 [J].機(jī)械傳動(dòng),2009,33(2):42-43+102.
作者簡介:張于軍(2001—),男,漢族,湖北武漢人,本科在讀,研究方向:電子信息。
收稿日期:2023-04-10
基金項(xiàng)目:湖北省大學(xué)生創(chuàng)新創(chuàng)業(yè)計(jì)劃項(xiàng)目(S202211072033)