楊坤漓,許洋洋
(鄭州工業(yè)應(yīng)用技術(shù)學(xué)院機(jī)電工程學(xué)院,河南 鄭州 451150)
仿人機(jī)器人涉及多種學(xué)科和技術(shù),可以服務(wù)于社會(huì)的各行各業(yè),是近年來(lái)研究的熱點(diǎn)問(wèn)題之一。仿人機(jī)器人與人體結(jié)構(gòu)非常相似,可以替代人類執(zhí)行許多復(fù)雜任務(wù)[1-2],但必須具備先進(jìn)的控制理論和處理數(shù)據(jù)的能力,保證仿人機(jī)器人運(yùn)動(dòng)的穩(wěn)定性。與雙輪或者履帶式機(jī)器人相比,仿人機(jī)器人可在不平整崎嶇路面行走,使其在應(yīng)用領(lǐng)域迅速發(fā)展。仿人機(jī)器人步行控制問(wèn)題仍然是較難解決的問(wèn)題之一,在步行狀態(tài)下運(yùn)動(dòng)控制系統(tǒng)屬于非線性和強(qiáng)耦合,控制起來(lái)較為復(fù)雜。因此,控制系統(tǒng)的設(shè)計(jì)不僅要保證機(jī)器人步行穩(wěn)定,還要保證機(jī)器人能夠按照期望軌跡行走,同時(shí)應(yīng)考慮路面障礙物的干擾對(duì)控制系統(tǒng)的影響。仿人機(jī)器人控制系統(tǒng)研究,需要科研人員繼續(xù)深入研究。
為了提高仿人機(jī)器人的響應(yīng)速度和運(yùn)動(dòng)精度,科研人員對(duì)仿人機(jī)器人做了大量的工作。文獻(xiàn)[3-4]研究了仿人機(jī)器人越障步態(tài)規(guī)劃方法,建立了機(jī)器人下肢坐標(biāo)圖,利用D-H坐標(biāo)法得到機(jī)器人位姿坐標(biāo)方程式,通過(guò)逆運(yùn)動(dòng)學(xué)求解機(jī)器人各個(gè)關(guān)節(jié)角度,采用Matlab 軟件對(duì)仿人機(jī)器人越障進(jìn)行仿真,能夠按照路徑規(guī)劃進(jìn)行運(yùn)動(dòng)。文獻(xiàn)[5]研究了仿人機(jī)器人二階錐控制方法,創(chuàng)建了七連桿仿人機(jī)器人模型,設(shè)計(jì)了二階錐控制方式,對(duì)控制方式添加約束條件,搭建仿真實(shí)驗(yàn)平臺(tái)進(jìn)行誤差仿真驗(yàn)證,采用二階錐控制方式,能夠提高仿人機(jī)器人運(yùn)動(dòng)的穩(wěn)定性,降低其輸出誤差。文獻(xiàn)[6]研究了仿人機(jī)器人預(yù)觀控制方法,建立了仿人機(jī)器人倒立擺數(shù)學(xué)模型,推導(dǎo)機(jī)器人運(yùn)動(dòng)狀態(tài)方程式,定義機(jī)器人誤差目標(biāo)函數(shù),提出了倒立擺預(yù)觀控制方法,利用Matlab軟件對(duì)機(jī)器人運(yùn)動(dòng)軌跡進(jìn)行仿真,提高了仿人機(jī)器人運(yùn)動(dòng)的穩(wěn)定性。文獻(xiàn)[7]研究了仿人機(jī)器人PID 控制方法,創(chuàng)建了機(jī)器人關(guān)節(jié)數(shù)學(xué)模型,推導(dǎo)出仿人機(jī)器人位姿方程式,設(shè)計(jì)了仿人機(jī)器人關(guān)節(jié)PID 控制器,提高了軌跡跟蹤精度。以往研究的控制系統(tǒng)大多響應(yīng)速度慢,在避障過(guò)程中,導(dǎo)致機(jī)器人運(yùn)動(dòng)路徑長(zhǎng),能源消耗嚴(yán)重。對(duì)此,本文建立了仿人機(jī)器人線性倒立擺模型,推導(dǎo)出運(yùn)動(dòng)方程式,引用傳統(tǒng)PID 控制系統(tǒng),為了提高控制系統(tǒng)的避障效果,利用粒子群算法(particle swarm optimization,PSO)優(yōu)化PID 控制系統(tǒng),從而縮短其避障運(yùn)動(dòng)路徑,通過(guò)Matlab 軟件對(duì)仿人機(jī)器人響應(yīng)速度和運(yùn)動(dòng)路徑進(jìn)行仿真測(cè)試,對(duì)比優(yōu)化前和優(yōu)化后的輸出效果,為后期深入研究仿人機(jī)器人避障控制系統(tǒng)提供參考。
仿人機(jī)器人由多個(gè)自由度和一個(gè)自由浮動(dòng)底座組成,使仿人機(jī)器人難以穩(wěn)定。為了解決這個(gè)問(wèn)題,采用線性倒立擺模型,如圖1所示。
圖1 線性倒立擺模型Fig.1 Linear inverted pendulum model
仿人機(jī)器人運(yùn)動(dòng)學(xué)方程式[8]表示為
式中:mp為倒立擺錘質(zhì)量;fr為反作用力;θl為倒立擺錘與垂直方向夾角;g為重力加速度。
為了避免仿人機(jī)器人發(fā)生翻倒,零力矩點(diǎn)穩(wěn)定性條件意味著機(jī)器人必須保持在支撐多邊形中。為了測(cè)量零力矩點(diǎn)的位置,假設(shè)機(jī)器人為1 個(gè)單點(diǎn)質(zhì)量,主要集中在個(gè)人的質(zhì)心上,并且單點(diǎn)質(zhì)量的運(yùn)動(dòng)限制在水平方向上。從圖1中可以獲得θl的值,并表示為
式中:h為擺錘高度;x為機(jī)器人質(zhì)心橫向位置;xZ為機(jī)器人零力矩點(diǎn)橫向位置。
根據(jù)線性倒立擺模型,零力矩點(diǎn)和質(zhì)心條件之間的關(guān)系表示為
式中:(x,y)為質(zhì)點(diǎn)坐標(biāo)的位置;(x-xZ,y-yZ)為零力矩點(diǎn)相對(duì)于質(zhì)心的相對(duì)位置坐標(biāo)。
同理,角加速度可獲得如下:
根據(jù)初始位移x0和速度x′0可以計(jì)算質(zhì)心運(yùn)動(dòng)軌跡,求解如下一階線性方程:
式中:T=;t為時(shí)間。
PID 控制器是一種具有反饋機(jī)制的控制回路系統(tǒng),廣泛應(yīng)用于工業(yè)系統(tǒng)的控制。它嵌入在各種機(jī)器人中,用于在不同的環(huán)境中控制運(yùn)動(dòng)。仿人機(jī)器人由閉環(huán)PID 控制器控制,PID 控制器的公式[9-10]:
式中:kp為比例增益;ki為積分項(xiàng);kd為微分項(xiàng);e(t)為定義誤差。
比例增益用于表示與誤差信號(hào)e(t)等效的控制動(dòng)作。積分項(xiàng)提供誤差信號(hào)e(t)的連續(xù)積分以最小化穩(wěn)態(tài)誤差,而導(dǎo)數(shù)項(xiàng)用于改善瞬態(tài)響應(yīng)。誤差信號(hào)e(t)定義為目標(biāo)輸出和系統(tǒng)輸出的差值:
式中:φu(t)為最終角位置;φi(t)為初始角位置。
在執(zhí)行誤差信號(hào)后的最終控制動(dòng)作如下:
仿人機(jī)器人采用傳統(tǒng)PID控制框如圖2所示。
圖2 機(jī)器人傳統(tǒng)PID控制框Fig.2 Traditional PID control block diagram of robot
PSO 是一種進(jìn)化計(jì)算和優(yōu)化技術(shù),它在通過(guò)變異、多重優(yōu)化、不可微性和非線性尋找高維問(wèn)題的解決方案方面占主導(dǎo)地位。在PSO優(yōu)化技術(shù)中,粒子群被插入到d維空間中隨機(jī)選擇的速度和位置中,每個(gè)粒子的速度根據(jù)其自身的飛行經(jīng)驗(yàn)和另一個(gè)粒子的經(jīng)驗(yàn)進(jìn)行修改。在d維空間中,粒子的位置pj和速度vj為
第j個(gè)粒子的最優(yōu)位置如下:
組中所有粒子中的最佳粒子列表為gbjd。在獲得群的gbjd(全局最佳位置)和pbjd(每個(gè)粒子的最佳位置)的值后,每個(gè)粒子的速度和位置[11-12]被修改為
式中:j=1,2,…,n;m=1,2,…,d;ra為[0,1]之間的隨機(jī)數(shù);c1、c2為學(xué)習(xí)因子;ωf為慣性權(quán)重。
用于仿人機(jī)器人運(yùn)動(dòng)的PSO 優(yōu)化技術(shù)的流程如圖3所示。設(shè)計(jì)機(jī)器人關(guān)節(jié)角度運(yùn)動(dòng)軌跡,利用逆運(yùn)動(dòng)學(xué)設(shè)計(jì)機(jī)器人關(guān)節(jié)角度運(yùn)動(dòng)軌跡,使得機(jī)器人向目標(biāo)移動(dòng)。當(dāng)機(jī)器人沒(méi)有接近障礙物時(shí),如果滿足中止條件,則結(jié)束,否則機(jī)器人繼續(xù)向目標(biāo)移動(dòng)。當(dāng)機(jī)器人靠近障礙物時(shí),機(jī)器人獲取接近障礙物的初始位置和速度。評(píng)價(jià)每個(gè)粒子的適應(yīng)度函數(shù),獲得每個(gè)粒子的最佳函數(shù)(局部和全局)。仿人機(jī)器人選擇最佳角度并向目標(biāo)移動(dòng),如果滿足中止條件,則結(jié)束,否則返回評(píng)價(jià)每個(gè)粒子的適應(yīng)度函數(shù)。
圖3 機(jī)器人運(yùn)動(dòng)優(yōu)化流程Fig.3 Flow chart of robot motion optimization
為了更好地搜索控制參數(shù)全局最優(yōu)值,學(xué)習(xí)因子修改為
式中:ca1、ca2為學(xué)習(xí)因子的初始值;cb1、cb2為學(xué)習(xí)因子的最終值;c1(i)、c2(i)為第i次迭代的學(xué)習(xí)因子;tmax為最大迭代次數(shù);ti為第i次迭代次數(shù)。
為了提高粒子群在局部和全局搜索過(guò)程中的搜索能力,引入了慣性權(quán)重ωf。ωf值在不同的搜索空間中有所不同。在給定的研究中,ωf的變化顯示隨時(shí)間穩(wěn)定增加。權(quán)重因子的變化?ωf對(duì)參數(shù)ωf有影響,該參數(shù)在初始搜索中最初時(shí)較大,后期開始縮小。慣性權(quán)重修改后的方程式如下:
式中:ωf(i)為第i次迭代時(shí)的慣性權(quán)重;?ωf=ωmfax-ωmfin。
仿人機(jī)器人PID 控制方法通過(guò)PSO 優(yōu)化后,機(jī)器人控制系統(tǒng)的響應(yīng)速度是否提高,機(jī)器人跟蹤路徑是否縮短,需要通過(guò)仿真進(jìn)行進(jìn)一步驗(yàn)證。利用Matlab 軟件對(duì)仿人機(jī)器人優(yōu)化后的控制系統(tǒng)進(jìn)行仿真,仿真參數(shù)見(jiàn)表1所示。
表1 仿真參數(shù)Tab.1 Simulation parameters
仿人機(jī)器人響應(yīng)速度采用階躍波進(jìn)行仿真測(cè)試,其結(jié)果如圖4所示。仿人機(jī)器人路徑跟蹤采用橢圓形進(jìn)行測(cè)試,在無(wú)障礙物環(huán)境中,其結(jié)果如圖5所示;在有障礙物環(huán)境中,其結(jié)果如圖6所示。
圖4 機(jī)器人角位移跟蹤Fig.4 Robot angular displacement tracking
圖5 機(jī)器人位移跟蹤(無(wú)障礙物)Fig.5 Robot displacement tracking(no obstacle)
圖6 機(jī)器人位移跟蹤(有障礙物)Fig.6 Robot displacement tracking(with obstacle)
由圖4可知:優(yōu)化前的PID 控制系統(tǒng),仿人機(jī)器人達(dá)到穩(wěn)定狀態(tài)的時(shí)間為0.8 s,超調(diào)量為25%;優(yōu)化后的PID 控制系統(tǒng),仿人機(jī)器人達(dá)到穩(wěn)定狀態(tài)的時(shí)間為0.3 s,超調(diào)量為0。由圖5可知,在無(wú)障礙物環(huán)境中,優(yōu)化前的PID 控制系統(tǒng),仿人機(jī)器人移動(dòng)到期望運(yùn)動(dòng)軌跡所需的路徑較長(zhǎng),在跟蹤過(guò)程中產(chǎn)生的位移誤差較?。粌?yōu)化后的PID 控制系統(tǒng),仿人機(jī)器人移動(dòng)到期望運(yùn)動(dòng)軌跡所需的路徑較短,在跟蹤過(guò)程中產(chǎn)生的位移誤差較小。由圖6可知:在有障礙物環(huán)境中,優(yōu)化前的PID 控制系統(tǒng),在避障過(guò)程中,仿人機(jī)器人運(yùn)動(dòng)路徑較長(zhǎng);優(yōu)化后的PID 控制系統(tǒng),在避障過(guò)程中,仿人機(jī)器人運(yùn)動(dòng)路徑較短。因此,在同等條件下,仿人機(jī)器人采用PSO 優(yōu)化PID 控制系統(tǒng),控制系統(tǒng)反應(yīng)速度較快,超調(diào)量較小,在避障過(guò)程中,能夠快速地搜索到最短路徑。
針對(duì)仿人機(jī)器人控制系統(tǒng)反應(yīng)速度慢、運(yùn)動(dòng)路徑長(zhǎng)等問(wèn)題,設(shè)計(jì)優(yōu)化PID 控制系統(tǒng),通過(guò)仿真驗(yàn)證控制系統(tǒng)輸出結(jié)果,主要結(jié)論如下:
(1)仿人機(jī)器人采用傳統(tǒng)PID 控制系統(tǒng),其響應(yīng)速度較慢,超調(diào)量較大,且在避障過(guò)程中,運(yùn)動(dòng)路徑較長(zhǎng);而采用PSO 優(yōu)化PID 控制系統(tǒng)后,其響應(yīng)速度較快,超調(diào)量較小,運(yùn)動(dòng)路徑較短,節(jié)約了機(jī)器人運(yùn)動(dòng)能耗。
(2)利用Matlab 軟件對(duì)仿人機(jī)器人響應(yīng)速度和避障路徑進(jìn)行仿真,能夠從理論上檢測(cè)其避障效果,對(duì)后期的改進(jìn)提供參考,使避障控制系統(tǒng)的設(shè)計(jì)更加合理。