張 品,李長勇
(新疆大學機械工程學院,烏魯木齊 830017)
近年來,快速發(fā)展的機器人[1]被應用到不同場景,如生產制造[2]、物流倉儲[3]、應急救援[4]等,而路徑規(guī)劃是機器人自主導航的核心技術。在機器人導航中,路徑指標固然重要,也要盡量降低機器人的能耗,增加機器人的工作時間。
李文剛等[5]用堆結構優(yōu)化了A*算法列表,將DWA算法和A*算法結合,解決了多種障礙物的避障問題,保證了路徑平滑。殷紹偉等[6]通過考慮活躍度等信息改進了轉移概率函數,基于不平等原則更新信息素,加快了算法收斂。遲勝凱等[7]通過生成最小子數獲得初始路徑,考慮了移動障礙對代價勢場的影響,對移動障礙物達到較好的響應效果。陳藝文等[8]通過挪移處理使路徑點遠離障礙物,利用混合A*對路徑進行再規(guī)劃,提高了安全距離。李海等[9]通過空間凸分解和改進區(qū)間分配策略,規(guī)劃出了快速、安全的路徑。HOSSEININEJAD等[10]選擇機器人到目標點連線上的動態(tài)點作為特征向量,每一步規(guī)劃運行一次COA算法,直至到達目標點。GERMI等[11]根據障礙物動力學原理,通過加入項修正了負場,使用改進遺傳算法在線調節(jié)所需系數,提高了規(guī)劃能力。YONG等[12]通過計算路徑的置信度,生成由置信度控制的樹形圖,最后采用剔除的方法生成了優(yōu)化路徑。常規(guī)方法存在路徑曲折,轉角過大,路徑評價指標單一,未考慮能耗等問題。
本文提出一種考慮能耗的IWOA-APF機器人路徑規(guī)劃方法。建立機器人能耗模型,分析人工勢場法的常見弊端,通過設置橫向擾動力,轉角限制系數促使機器人逃離死點和圓滑路徑,對C類障礙采取填充,避免無效路徑。利用混沌映射、bezier型收斂因子、自調節(jié)權重因子改進鯨魚算法,利用IWOA優(yōu)化勢場引力和斥力系數,最終規(guī)劃出能耗少,規(guī)劃快的平滑路徑。
為了方便建模,設定機器人輪子與地面不產生滑動,且機器人質量分布均勻。同時四輪機器人可以簡化為兩輪差速模型,模型的狀態(tài)變量為X=[vxωz]T,控制變量為U=[ωlωr]T。機器人的線速度為R(ωl+ωr)/2,角速度為R(ωr-ωl)/H,可得運動學模型為式(1),運動示意圖如圖1所示。
圖1 運動示意圖
(1)
式中,vx為機器人線速度,m/s;ωz為機器人角速度,rad/s;ωl為機器人左輪轉速,rad/s;ωr為機器人右輪轉速,rad/s;R為機器人輪徑,m;H為機器人寬度,m。
為了提高機器人的工作時間,建立機器人能耗模型,將能耗指標量化,減少機器人的非工作能量消耗。因為機器人的移動速度較低,而且四輪驅動抓地有力,所以風阻和縱向摩擦設定為0,則機器人的非工作能耗主要由電池內耗、電機損耗、橫向摩擦損耗[13]三部分組成。
而輪胎側偏角和機器人轉角呈相關關系,故可得出非工作耗能為:
(2)
式中,c為輪胎側偏角和機器人轉角相關系數;θ為機器人轉角。
通過能耗公式可以得出,通過提高路徑規(guī)劃效率,降低工作時間,可以減少Qb、Qm,在規(guī)劃時降低總轉角,可以提高效率和降低能耗,從而降低非工作能耗。
APF的機理是將周圍的環(huán)境轉換為勢場模型,目標點產生引力場,障礙物產生斥力場,目標點和障礙物對機器人作用的合力控制機器人運動方向。勢場通過引力系數和斥力系數調節(jié),負梯度方向為勢場值變化最大方向。故引力場和引力函數為:
(3)
式中,ka為引力系數;X為機器人位置;Xg為目標點位置。斥力場和斥力函數為:
(4)
式中,kr為斥力系數;ρ為機器人到障礙物距離;ρ0為障礙物影響距離。
由于機器人位置的不斷變化,導致所受合力方向的不斷變化,在沿著長條形、C型障礙物規(guī)劃路徑或者通過狹窄通道時會產生路徑抖動現(xiàn)象,在合力為0時會產生死點。
針對死點情況,設置橫向擾動力,擾動力設置規(guī)則為,方向在機器人到目標的連線偏轉一定角度,大小為和目標點引力相等。對于C類障礙物,其內部路徑無效,對C類障礙物填充處理。由式(2)可知,機器人總轉角影響能耗,在死點或者特殊情形障礙物附近,會出現(xiàn)路徑抖動問題。因此給機器人規(guī)劃路徑過程中增加角度限制。角度限制系數定義為:
(5)
式中,l為限制系數;h為機器人到障礙物的距離;ρ0為障礙物影響范圍。
由圖2可以看出,增加了橫向擾動力以后,機器人可以逃離單障礙死點,長條形障礙,C型障礙,完成到目標點的規(guī)劃。在對C類障礙填充處理后,機器人路徑和轉角減小,則減小了非工作能耗。
在規(guī)劃路徑時,引力系數ka和斥力系數kr是APF的重要參數,通過改進的鯨魚算法實時調節(jié)ka和kr,可以進一步優(yōu)化路徑。
鯨魚算法[14]仿照座頭鯨種群的捕食行為,在尋優(yōu)空間內,每一個座頭鯨都是解。尋優(yōu)過程從隨機解開始,根據bubble-net捕食策略更新目前最優(yōu)解。鯨魚算法和灰狼算法等類似,均通過圍捕獵物覓食。鯨魚通過吐出氣泡形成螺旋形捕獵陷阱,由于最優(yōu)獵物群的位置是未知的,通常設置當前最優(yōu)獵物為目標獵物。其他的座頭鯨通過不斷迭代更新自己的位置。圍獵行為可以表達為:
(6)
式中,D是座頭鯨和最優(yōu)魚物群的距離;t是當前代數;A、D是系數;X*(t)是當前最優(yōu)魚群位置;X(t)是座頭鯨當前位置。其中系數的計算公式為:
A=2a·r-aC=2·r
(7)
式中,r∈[0,1]為隨機數;a在迭代過程中,線性從2遞減到0。
包圍獵物后,座頭鯨會發(fā)出螺旋形的泡泡網攻擊魚群,通過減少a的值來向魚群收縮,A的擾動范圍為[-a,a]。由機理可知,更新位置后的座頭鯨處于目前位置和目前最優(yōu)魚群之間。座頭鯨的攻擊行為:
X(t+1)=|X*(t)-X(t)|·eml·cos(2πl(wèi))+X*(t)
(8)
式中,m為設置螺旋線性的常數;l∈[-1,1]為隨機數。
座頭鯨在捕獵時,同時進行發(fā)出螺旋攻擊氣泡和收縮包圍圈的運動。這兩種運動的概率相同,可以表示為:
(9)
除了氣泡攻擊,座頭鯨也會依據其他非最優(yōu)鯨魚位置隨機搜尋魚群,這個策略使得WOA具有全局搜索能力,隨機搜尋行為表示為:
D=|C·Xrand-X|X(t+1)=Xrand-A·D
(10)
式中,Xrand為隨機選擇的鯨魚位置。
在初始化座頭鯨群時,采用Chebyshev混沌映射初始化座頭鯨群,混沌映射具有隨機性、遍歷性,能夠使初始解遍布捕獵空間。Chebyshev映射的公式為:
xk+1=cos(k·cos-1(xk))
(11)
鯨魚算法尋優(yōu)過程中,由于a是在[0,2]中線性遞減,不能適應實際的尋優(yōu)過程。提出一種bezier型收斂因子,bezier曲線通過確定端點可以生成圓弧類曲線,改進后的bezier型a的取值和變化如圖3a所示。
(12)
在座頭鯨群更新位置過程中,加入權重因子,動態(tài)調整某個座頭鯨的權重。權重因子w公式和變化圖如式(13)和圖3b所示。
(a) 收斂因子變化圖 (b) 權重因子變化圖
(13)
式中,g、m為調節(jié)系數,g值調整權重因子曲線的起點值,m值調整曲線的彎曲程度。通過對不同g、m參數的實驗,得出當g=1.3、m=2.5時,權重因子w使算法各項性能均衡、優(yōu)質。
改進后的座頭鯨位置更新公式為:
(14)
改進后的IWOA-APF算法流程如圖4所示。
圖4 IWOA-APF算法流程圖
選取經典三種基準函數對改進鯨魚算法進行仿真測試,分別為單峰測試函數、多模態(tài)測試函數、固定維度多模態(tài)測試函數。用MATLAB軟件進行仿真,設定算法的迭代次數為500次;種群數量為30;選取近年新型群智算法,在各個方向的性能進行對比分析,測試函數如表1所示。
表1 測試函數
圖5中,f1、f2為單峰測試函數。單峰測試函數最優(yōu)解唯一,主要檢驗算法的開發(fā)能力和和收斂性。由圖5a和圖5b可以看出,在求解f1函數時,IWOA算法收斂很快,在前200次迭代的求解質量已遠遠優(yōu)于其他算法。隨著迭代次數的增加,IWOA不斷跳出局部最優(yōu),求解質量進一步提高。求解f2時,剛開始的10次迭代,各算法差距不大,在200次以后,其他算法基本穩(wěn)定,IWOA在350次進一步突破,找到更優(yōu)解。
f3、f4為多模態(tài)測試函數,多峰函數主要測試算法的探索能力。由圖5c和圖5d可得出,求解f3函數時,在前20次迭代IWOA已經求解到更優(yōu)解,在迭代100次以后各算法除GWO外基本穩(wěn)定,GWO在380次迭代后有小幅度跳出。求解f4函數時,IWOA和WOA算法都明顯優(yōu)于其他算法,但IWOA在前50次已經求得優(yōu)質解,且其他算法除GWO外收斂較慢。
f5、f6為固定維度多峰函數,主要測試求解復雜多維問題能力。由圖5e和圖5f可得出,求解f5時,起始階段WOA算法快速收斂,但在25次陷入極值且不能跳出,其他算法在100次后基本穩(wěn)定,且求解質量不如IWOA,IWOA算法在前30次迭代已經求得更優(yōu)解。求解f6時,所有算法求解速度都較快,但到局部極值點后其他算法沒有跳出,IWOA算法在60次后仍然持續(xù)跳出,求得更優(yōu)解。
(a) f1求解結果 (b) f2求解結果
對改進后的IWOA-APF算法進行仿真實驗,設置常見死點與路徑抖動環(huán)境,比較改進IWOA-APF算法和原始APF法的求解步數和總轉角。路徑對比如圖6所示。
圖6 路徑對比
由圖6和表2可以得出,IWOA-APF算法的路徑更短,且在通過狹窄通道處沒有路徑抖動現(xiàn)象。在經過C類障礙時,可以填充障礙物,避免無效路徑,同時限制了轉角,路徑的求解步數和總轉角都更少。
表2 算法對比
本文針對人工勢場法路徑規(guī)劃的局限問題,提出了一種能耗優(yōu)化的改進IWOA-APF機器人路徑規(guī)劃方法。設置了橫向擾動力和轉角限制系數克服死點和抖動,對C類障礙填充處理。利用權重因子等策略改進了鯨魚算法,平衡了探索和開發(fā)過程。仿真結果表明,IWOA-APF算法的求解步數更少,且總轉角也更少,非工作能耗降低。
由于只在靜態(tài)環(huán)境中進行了實驗,本文下一步工作方向,加入動態(tài)障礙物驗證算法效果,并且提出應對動態(tài)障礙的路徑策略。