?

ROS差速小車運動控制研究

2021-11-28 13:09鮑琳欣閆琦董明澤鄭安迪羅宇昊
科技資訊 2021年21期

鮑琳欣 閆琦 董明澤 鄭安迪 羅宇昊

摘? 要:該文從機器人的自動駕駛應用的角度出發,在Ubuntu18.04系統下實現了一套基于ROS Melodic版本的機器人操作系統的移動機器人控制平臺。在一個完整的機器人運動控制的設計中包括建圖、定位、路徑規劃及路徑追蹤這4個步驟,平臺首先以Gmapping方法構建出全局地圖。由于路徑規劃與追蹤對于機器人的運動控制非常重要,在進行各種方法的比較之后最終運用Dijkstra算法規劃出一條全局路徑然后采用DWA路徑局部規劃器進行局部動態避障,在運動控制方面也加入了PID控制器使機器人的轉向更加平滑。

關鍵詞:ROS? ?差速控制? ?動態避障? ?pure pursuit

中圖分類號:TP242.6? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼:A文章編號:1672-3791(2021)07(c)-0001-03

Abstract: From the perspective of robot autopilot application, a mobile robot control platform based on ROS Melodic version of robot operating system is realized under Ubuntu 18.04 system. The design of a complete robot motion control includes four steps: mapping, positioning, path planning and path tracking. Firstly, the platform constructs the global map by Gmapping method. Because path planning and tracking are very important for robot motion control, after comparing various methods, Dijkstra algorithm is finally used to plan a global path, and then DWA path local planner is used for local dynamic obstacle avoidance. PID controller is also added in motion control to make the steering of robot more smooth.

Key Words: ROS; Differential control; Dynamic obstacle avoidance; Pure pursuit

伴隨著人工智能技術、計算機與傳感器技術的快速發展,自動化、智能化逐漸成為了主流,機器人的運用也逐漸廣泛。智能消毒機器人、物流搬運機器人等漸漸普及,大大解放了人力,也減小了人們受到傷害的可能性。機器人便利了我們的生活,而這一系列的機器人最重要的是實現路徑規劃與追蹤。由此設計了一套基于ROS機器人操作系統的移動機器人控制平臺。

該平臺在路徑規劃中,使用了dijkstra全局路徑規劃和DWA局部路徑規劃算法規劃小車前行的路徑。以Pure pursuit進行路徑追蹤。經檢驗,該方法可以達到較好的避障、運動控制效果。

1? 平臺總體設計

在Ubuntu18.04以及ROS Melodic機器人操作系統下使用差速車模,通過激光雷達、imu等傳感器,完成對未知場地的建圖,對道路上的障礙物識別避障,自主導航,并涉及了SLAM建圖、路徑規劃算法、車輛運動控制算法等。由于是在小地圖中進行可行性測驗,利用Gmapping方法構建出的地圖清晰實用,使得后面進行運動控制也達到了較好的效果。具體系統組成框圖如圖1所示。

2? 路徑規劃

在得知目標點時,機器人需要規劃出一條切實可行的路徑,不僅需要與障礙物保持一定的距離,還要盡可能快地穿越障礙。首先經過全局路徑規劃規劃出一條大致可行的路線,然后調用局部路徑規劃器根據代價地圖的信息實現動態規劃[1],在全局路線與局部路線相互協調下不斷計算得出新路線,最終既能有效避開突然出現的障礙物,又能快速到達終點。路徑規劃的方式有很多,還有同時使用多種規劃方法進行切換以實現動態規劃的[2],主要介紹為實現差速控制采用的規劃方法。

全局路徑規劃算法的選擇主要是在A*以及Dijkstra[3]兩者之間,它們在ROS平臺上有較完整的封裝,只需要在參數文件中做出選擇即可實現兩者的切換,兩者都存在一定的利弊,以下是兩種算法的對比介紹:Dijkstra是典型的深度搜索案例,即從出發點開始向四周擴散,利用代價地圖在所有可能的路徑之中加上各種權重計算出每條路線的代價從而得出最優路徑。而它的優點也是它的缺點,此算法計算量很大,因此得出路徑的速度遠遠慢于A*算法。然而筆者認為在機器人的路徑規劃中并不需要速度非???,A*算法雖然計算速度較快,是一種啟發式算法,將該種方法運用于二維地圖路徑規劃時,它的指向性非常明顯,規劃出的路徑不一定是最短路徑,而是最快路徑[4]。然而在A*算法實際應用于路徑規劃時,當出發點與目標點之間隔著一面墻經常會出現繞遠路的現象并且所規劃出的路徑鋸齒非常影響車的平穩前進。圖2是在仿真平臺中兩種全局路徑規劃的比較。

從圖2可以看出,在使用A*算法進行路徑規劃時,在拐角處產生了許多褶皺,并且由于A*算法中有貪婪算法的特性,所得到的并不是最優路徑,在圖中“L”型位置處存在嚴重的貼墻現象。

在局部動態路徑規劃的選擇上,我們選用了動態窗口法,通過rqt_reconfigure在不重新啟動仿真的情況下來對參數值進行修改以便更好地完成局部路徑的動態避障,并且動態窗口法符合差速小車的要求,在必要時可以近似于在原地進行較大幅度的轉彎。

3? 路徑追蹤

在路徑規劃好后,研究者可以通過調節路徑規劃器中的參數調節控制機器人的速度。路徑規劃器在規劃路徑的同時也會發送計算出的速度信息,根據機器人的慣性大小、運動方式的不同,參數也要跟著改變。在此基礎上,還加入了PID算法與pure pursuit算法[5]進行機器人的運動控制。主要是用PID來控制轉向,使得小車的轉向更加平滑,小車穩定行駛之后其odom坐標系也更加穩定了。

總體來說,平臺的創新點在于以前方路徑的斜率大小決定線速度大小,以車身和路徑的角度誤差大小決定角速度大小。另外,加入PID控制器來進行角度控制。

首先要進行前瞻點的選取,即小車需要一個合適的前向距離。前瞻距離較小時,小車行駛的軌跡可以更好地貼合規劃出的路徑,但是前瞻距離較小的話小車無法很好地感應到前方的轉角以便提前進行減速;而前瞻距離較大則會導致小車突然轉角過大或者小車完全忽視了路障的存在。在平臺的設計中,采取了動態調整前瞻的方式。將所需的前瞻點以及當時的速度以及計算出的曲率大小一一對應之后進行擬合,最終得到一個公式,將此公式寫入控制器中以達到動態調整前瞻點的目的,式中速度越快時前瞻越長,在即將到達彎道處曲率較大會及時衰減前瞻,減小實際速度與規劃輪速的誤差,降低小車過彎時撞墻的概率。減小其因慣性較大對實時改變速度的影響,以達到對彎道路徑的準確跟蹤。測試表明,動態改變前瞻點的大小可以很好地對不同的路況進行處理。

在路徑已經被規劃出來之后,結合小車位姿,找出擬定前瞻達到的路徑點以及距離小車位置最近的路徑點以一個固定的梯度進行斜率的運算,得出最大斜率。當這個斜率大到一個固定值時,立即減小線速度。緊接著計算出車身與路徑的角度誤差,誤差大說明小車即將偏離路線,因此增大角速度。其中存在的一個問題是,這樣規劃出的速度變化幅度非常大,當打開rqt_plot工具進行查看時速度變化曲線是很尖銳的,在短時間內會有很大的起伏。因此,需要進一步采取措施,在線速度方面設計了一個最大加速度值,若理想速度變化大于這個最大加速度值之后,則先讓速度達到當前速度加上最大加速度值,這樣發布出的速度變化得更加平緩,實現速度的穩定變化;在角速度方面引進了增量式PID控制方法[6],在Proportion(比例)、Integral(積分)、Derivative(微分)這3個方面通過參數的調整使變得平滑起來。圖3是關于PID的流程簡圖。

大多數的ros小車都是通過訂閱cmd_vel話題得到需要的線速度和角速度,因此我們將希望機器人達到的角速度和線速度發送給cmd_vel話題,最終達到控制機器人進行自主導航的目的。

4? 結語

該文利用路徑規劃算法與路徑追蹤算法設計了一種基于差速小車的運動控制平臺。不同于傳統的以調整現有路徑規劃器參數的方法,平臺設計的主要創新點在于利用基于差速小車的pure pursuit算法進行路徑追蹤,引入PID控制算法使得小車在路徑追蹤時轉向更加流暢。這種方法也可以應用到各種智能機器人領域,在此基礎上加入消毒、搬運、服務等不同的因素。在減小了調參精力的同時也提升了效率。

參考文獻

[1] 呂希濤.移動機器人SLAM與路徑規劃算法研究[D].青島:山東科技大學,2020.

[2] 陳智康,劉佳,王丹丹,等.改進Dijkstra機器人路徑規劃算法研究[J].天津職業技術師范大學學報,2020,30(3):30-35.

[3] 周睿慜,李輝.改進動態規劃算法的移動機器人路徑規劃[J].計算機工程與應用,2020,56(21):20-24.

[4] 華崴鑒.基于自主導航的移動機器人控制平臺的設計與實現[D].南京:南京郵電大學,2019.

[5] 段建民,楊晨,石慧.基于Pure Pursuit算法的智能車路徑跟蹤[J].北京工業大學學報,2016,42(9):1301-1306.

[6] 劉安彬,張江,向勁松.基于PID算法的智能助老小車[J].智庫時代,2020(7):251-252.

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合