動態(tài)環(huán)境下移動機(jī)器人路徑跟蹤與避障
王仲民1,劉開旭2
(1天津工程師范學(xué)院機(jī)械工程學(xué)院,天津300222,2大慶師范學(xué)院物理與電氣信息工程學(xué)院,黑龍江大慶163712)
摘 要:采用模糊神經(jīng)網(wǎng)絡(luò)并結(jié)合模糊邏輯控制的方法,研究在動態(tài)環(huán)境下移動機(jī)器人的在線路徑跟蹤與實時避障問題。針對移動機(jī)器人的運動學(xué)模型,依據(jù)點與直線問的距離關(guān)系設(shè)計了移動機(jī)器人的路徑跟蹤算法,提出了一種基于模糊神經(jīng)網(wǎng)絡(luò)的移動機(jī)器人在線路徑跟蹤方案,采用改進(jìn)的bp算法對網(wǎng)絡(luò)進(jìn)行學(xué)習(xí)與訓(xùn)練,利用梯度下降法調(diào)整網(wǎng)絡(luò)的權(quán)值與閩值,使其實際輸出與期望輸出的誤差總均方差最小。同時,運用模糊邏輯控制,實現(xiàn)了移動機(jī)器人的實時進(jìn)障仿真實例證實了控制方案的有效性,表明了所提出的跟蹤算法與控制方案具有良好的動態(tài)路徑跟蹤與實時避障能力。
關(guān)鍵詞:移動機(jī)器人;路徑跟蹤;模糊神經(jīng)網(wǎng)絡(luò);避障
中圖分類號:tp 27 文獻(xiàn)標(biāo)識碼:a
1引言
路徑跟蹤是移動機(jī)器人最基本和最重要的問題之一,是其完成工作任務(wù)所必須具備的自主行為之一。尤其是在動態(tài)環(huán)境下,移動機(jī)器人的路徑跟蹤更是一個較難解決的問題,它要求移動機(jī)器人在行進(jìn)過程中盡量不要偏離所指定的路徑,除非遇到運動的障礙物時不得不繞開行走,但在躲過障礙物后,移動機(jī)器人必須回到原路徑,直至到達(dá)目的地。
目前,關(guān)于移動機(jī)器人路徑跟蹤的研究成果很多,多數(shù)方法是采用線性反饋控制或非線性反饋控制,不僅需要系統(tǒng)準(zhǔn)確的運動學(xué)或動力學(xué)模型,而且設(shè)計復(fù)雜、魯棒性與實時控制效果也不好;基于模糊推理的移動機(jī)器人路徑跟蹤方法,雖然不需要建立系統(tǒng)精確的數(shù)學(xué)模型,但模糊規(guī)則難以面面俱到,且缺乏泛化能力。模糊神經(jīng)網(wǎng)絡(luò)是神經(jīng)網(wǎng)絡(luò)與模糊理論結(jié)合的產(chǎn)物,不但具有廣泛的逼近特性,還可實現(xiàn)從輸入到輸出的任意非線性映射。因此,本文采用模糊神經(jīng)網(wǎng)絡(luò)實現(xiàn)了移動機(jī)器人的在線路徑跟蹤,應(yīng)用模糊邏輯控制實現(xiàn)了移動機(jī)器人的實時避障,并通過仿真實驗驗證丁本文所提出的路徑跟蹤算法與控制策略的芷確性與有效性。
2移動機(jī)器人路徑跟蹤系統(tǒng)建模
本文針對兩輪獨立驅(qū)動的輪式移動機(jī)器人進(jìn)行研究,隨動輪僅在運動過程中起支撐作用,其在運動學(xué)模型中的影響忽略不記,分別為移動機(jī)器人的平移速度與旋轉(zhuǎn)速度。移動機(jī)器人的運動學(xué)模型為
因此,只要控制u =[v,w]t,就可以得到當(dāng)前移動機(jī)器人的實時位姿。將移動機(jī)器人所跟蹤的路徑分割成若干路徑點,各個路徑點間依次連線就構(gòu)成該路徑,利用兩點間連線設(shè)汁移動機(jī)器人的路徑跟蹤算法,如圖1所示。
假設(shè)移動機(jī)器人沿著4點到b點間的直線運 徑跟蹤模型的分析,本文采用了一個標(biāo)準(zhǔn)的5層模動,機(jī)器人與路徑方向的夾角為θ,θ的范圍為[-π,π], a點的坐標(biāo)為a(xa,ya),b點的坐標(biāo)為b(xb,yb),移動機(jī)器人的當(dāng)前坐標(biāo)為p(xp,yp),則4點與b點間的直線方程4為
定義移動機(jī)器人偏離路徑的距離為d,則根據(jù)點到直線的距離公式,得:
為研究問題需要,若機(jī)器人在所跟蹤路徑的上方時,定義d為正;若機(jī)器人在其下方,則d定義為負(fù)。定義機(jī)器人逆時針轉(zhuǎn)動時,θ為正;順時針轉(zhuǎn)動時,θ為負(fù),若機(jī)器人運動方向與路徑方向一致時,定義為0.
3基于模糊神經(jīng)網(wǎng)絡(luò)的路徑跟蹤實現(xiàn)
1)糊神經(jīng)網(wǎng)絡(luò)(fnn)來實現(xiàn),結(jié)構(gòu)如圖2所示。
de和θe為移動機(jī)器人的期望位置,而dr和θr為其實際位置。第一層為輸入層,其作用是將輸入值傳送到下一層。第二層表示 |