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