国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ROS 的室內移動機器人多目標點導航研究與實現(xiàn)

2024-04-20 17:09鄒看看張軍王棟
電子制作 2024年7期
關鍵詞:里程計機系統(tǒng)移動機器人

鄒看看,張軍,王棟

(安徽理工大學 人工智能學院,安徽淮南,232001)

0 引言

近年來,機器人技術日新月異[1],移動機器人在未知環(huán)境中的自主導航問題導航機器人的研究已引起科研工作者的極大興趣,特別是隨著智能機器人在工業(yè)生產(chǎn)、物流倉儲搬運、災害救援等領域的廣泛應用[2]。移動機器人自主導航的關鍵技術包括兩個方面。一方面,同時定位與地圖構建(SLAM)技術[3]是實現(xiàn)機器人自主導航的前提。SLAM 技術通常與激光雷達或深度相機搭配使用,機器人通過搭載的傳感器獲得未知環(huán)境的點云數(shù)據(jù)以及深度數(shù)據(jù),隨著機器人不斷感知周圍環(huán)境,機器人利用得到的數(shù)據(jù)完成對周圍環(huán)境二維柵格地圖的構建。另一方面,機器人定位與路徑規(guī)劃是實現(xiàn)機器人自主導航的關鍵。路徑規(guī)劃使機器人在復雜的環(huán)境中規(guī)劃出一條合適的路線到達目標點,并且在移動過程中避開臨時出現(xiàn)的障礙物。機器人定位確定機器人當前所在位置,幫助機器人按照設定的路線行駛。

文中基于自行搭建的機器人平臺,構建一整套自主導航系統(tǒng),使機器人能夠在未知環(huán)境下進行柵格地圖構建,并且在構建的環(huán)境地圖中實現(xiàn)多個目標區(qū)域的巡檢任務。

1 機器人移動平臺

移動機器人平臺采用差速底盤結構,機器人平臺如圖1所示,前輪的作用是支撐底盤,兩個后輪為驅動輪??梢詫崿F(xiàn)復雜環(huán)境中靈活移動,相比于全向移動機器人成本更低,適合大規(guī)模生產(chǎn)。同時差速移動機器人運動學解算簡單,計算量小,開發(fā)效率高[4]。移動機器人采用模塊化設計思想,建立基于移動機器人平臺的建圖和導航的系統(tǒng)框架。根據(jù)硬件功能不同,下面分別對兩大系統(tǒng)做詳細介紹。器人移動平臺可分為兩大部分:上位機系統(tǒng)和下位機系統(tǒng)。

圖1 移動機器人平臺

1.1 上位機系統(tǒng)設計

上位機系統(tǒng)主要負責復雜算法的實現(xiàn),總體框架圖如圖2 所示。上位機系統(tǒng)由兩部分組成樹莓派主機和在PC 從機,兩者通過WiFi 進行通信。樹莓派相較于PC 具有體積小,易搭載的優(yōu)點,更適合裝載在室內小型機器人。然而樹莓派計算能力有限且沒有顯示器,為了實現(xiàn)人機交互和遠程控制,通過WiFi 分布式通信將樹莓派與PC 端連接[5]。樹莓派作為上位機系統(tǒng)的主機,主要負責建圖算法的數(shù)據(jù)處理,主要包括基于激光雷達的Gmapping 算法、局部路徑規(guī)劃算法、全局路徑規(guī)劃算法、多傳感器融合算法和同下位機系統(tǒng)實時數(shù)據(jù)交互。PC 端作為上位機系統(tǒng)的從機,主要負責人機交互、遠程控制以及一些組件的使用。ROS 系統(tǒng)下主機與從機的配合使用大大提高了機器人系統(tǒng)的開發(fā)效率。

圖2 上位機系統(tǒng)框架圖

1.2 下位機系統(tǒng)設計

移動機器人平臺采用STM32VET6作為控制核心,下位機系統(tǒng)設計框圖如圖3所示。下位機系統(tǒng)以模塊化設計思想將整個系統(tǒng)分為四個部分:電機控制、IMU 數(shù)據(jù)讀取、里程計數(shù)據(jù)讀取、ROS 數(shù)據(jù)通信以及LCD 屏信息顯示。下位機系統(tǒng)根據(jù)里程計數(shù)據(jù)以及上位機系統(tǒng)下發(fā)的目標轉速進行PID 控制[6]。里程計數(shù)據(jù)與IMU數(shù)據(jù)也將通過USART 通信上傳到ROS 系統(tǒng),并進行算法融合,推算機器人的位姿信息。

圖3 下位機系統(tǒng)框架圖

2 二維柵格地圖創(chuàng)建

ROS 支持多種SLAM 算法,主流的是Hector SLAM 和Gmapping,其中Hector SLAM 僅依靠激光雷達就可以正常工作;Gmapping 算法則在激光雷達的基礎上,融合了電機編碼器里程計等信息,其建圖穩(wěn)定性高于Hector SLAM。本文使用的是Gmapping。Gmapping 包含了粒子濾波算法,為開發(fā)者免去內部復雜實現(xiàn),提高開發(fā)效率。二維柵格地圖構建流程如圖4 所示,主要完成對周圍環(huán)境二維柵格地圖的構建,為后續(xù)的機器人定位與多點導航提供基礎。

圖4 地圖創(chuàng)建流程圖

使用Gmapping 功能包構建地圖時最重要的一步是Gmapping 功能包參數(shù)設計,以下是部分參數(shù)設計:

每一個參數(shù)都影響建圖效果[7]。其中,map_update_interval 是地圖刷新頻率,若數(shù)據(jù)設置過大會導致建圖效率低。相反會占用過多的樹莓派資源導致發(fā)熱卡頓。maxUrang 是激光雷達能夠探測的最大值,本文使用的激光雷達最大檢測范圍為25 m,此處設置為20.0 足夠大部分室內場景使用。particles 是Gmapping 算法中的粒子數(shù)。合適的粒子數(shù)保證算法比較準確同時有較高的速度。

3 導航系統(tǒng)構建

導航系統(tǒng)中的關鍵技術是定位和路徑規(guī)劃兩方面。機器人路徑規(guī)劃是指機器人在指定的區(qū)域內規(guī)劃出一條合理的從起始點到目標點的路徑。move_base 功能包提供了基于動作(action)的路徑規(guī)劃實現(xiàn)[8],主要由全局路徑規(guī)劃和局部路徑規(guī)劃組成。機器人定位通過判斷機器人的當前位置是否符合預期結果,確保機器人按照規(guī)劃的路線前進。AMCL 功能包提供了定位功能,可實現(xiàn)機器人的準確定位。AMCL 功能包根據(jù)已有的地圖使用粒子錄波器推算機器人的具體位置。導航系統(tǒng)構建流程如圖5 所示,實現(xiàn)多點導航功能。

圖5 導航系統(tǒng)構建流程圖

3.1 AMCL 功能包

AMCL 是一種自適應蒙特卡洛定位算法[9],利用使用激光雷達數(shù)據(jù)和地圖信息來估計機器人在地圖上的位置。在導航過程中會因為外界環(huán)境導致里程計出現(xiàn)誤差,誤差累計,從而引發(fā)到達目標點失敗的問題。AMCL 功能包可以根據(jù)機器人的激光雷達數(shù)據(jù),對機器人的位置進行估計[10]。AMCL 的估計流程如下:

(1)初始化粒子群:根據(jù)機器人所在大致位置,初始化一定數(shù)量的粒子。

(2)運動模型更新:根據(jù)機器人里程計數(shù)據(jù),計算每個粒子的權重。

(3)傳感器模型更新:根據(jù)激光雷達數(shù)據(jù)計算每個粒子的權重。

(4)重采樣:根據(jù)粒子的權重,使具有較低權重的粒子被刪除,較高權重的粒子被復制,并更加密集的表示機器人的位置。

AMCL 功能包基本參數(shù)設計如下:

其中Odom_model_type 為里程計模型選擇,本文為差速機器人設置為diff,全向輪可設置為omni。Odom_frame_id 設置里程計坐標系。Base_frame_id 設置機器人極坐標系。Global_frame_id 設置地圖坐標系。

3.2 move_base 功能包

move_base 功能包是由多個節(jié)點及其參數(shù)配置組成的復雜系統(tǒng)。其中,主要的節(jié)點包括了全局路徑規(guī)劃器和局部路徑規(guī)劃器,當機器人運動時,全局路徑規(guī)劃器會根據(jù)機器人目前位置坐標和目標點位置坐標,在地圖上規(guī)劃出一條可行的全局路徑;而局部路徑規(guī)劃器則會根據(jù)機器人傳感器數(shù)據(jù)實時地更新局部路徑,避免機器人發(fā)生碰撞等意外事件[11]。同樣,move_base 功能包也配置參數(shù),以下是幾份相關的文件。

3.2.1 通用參數(shù)配置

其中:robot_radius 為機器人半徑,機器人底盤為圓形半徑為0.13。obstacle_range 是將機器人周圍2m 范圍內的新的障礙物添加到地圖中,raytrance_range 則是將不存在的障礙物從地圖中刪除。Information_radius 是障礙物的擴展半徑,防止機器人發(fā)生碰撞。coservation_sources 是導航中需要的傳感器,本文使用的是激光雷達。

3.2.2 全局代價地圖參數(shù)設置

其中:update_frequency 的作用是確定代價地圖更新頻率,而publish_frequency[12]是確定代價地圖發(fā)布的頻率,這兩個參數(shù)都被設定為1Hz。此外,transform_tolerance 的作用是確定等待坐標轉換發(fā)布的最大延誤時間,這個數(shù)值設定為0.5 秒。最后,static_map 的作用則是用于確定是否使用已有的地圖來初始化全局代價地圖,為了使用之前創(chuàng)建的二維柵格地圖,這里設置為true。

3.2.3 局部代價地圖參數(shù)設置

其中,局部代價地圖與全局代價地圖參數(shù)含義大致相同。但是因為室內環(huán)境的復雜性,局部代價地圖static_map 設置為false,使用動態(tài)窗口。width 和height 局部地圖的高度和寬度,這里都設置為2m。resolution 設置局部地圖的分辨率為0.05,與靜態(tài)地圖分辨率保持一致。

4 建圖和導航實驗

為了驗證軟硬件設計的可行性,根據(jù)前文的地圖構建方案以及導航系統(tǒng)方案,完成移動機器人平臺的搭建,并對機器人平臺二維柵格地圖構建與多點導航功能進行測試。

4.1 二維柵格地圖構建測試

試驗場地選擇宿舍樓茶水間和樓梯間兩間房,如圖6 所示。通過鍵盤控制節(jié)點遠程控制機器人移動,機器人最大角速度設置為0.2rad/s,最大線速度設置為0.1m/s,低速行駛建圖更加準確。機器人遍歷整個環(huán)境后,地圖效果如圖7 所示。對比圖6 和圖7可以看出,構建的地圖可以準確體現(xiàn)真實的環(huán)境特征。

圖6 實驗場地現(xiàn)場圖

圖7 實驗場地地圖創(chuàng)建效果圖

4.2 導航實驗

導航實驗是在上節(jié)構建的地圖的基礎上進行的,機器人需要滿足合理的路徑規(guī)劃,避免與障礙物發(fā)生碰撞,并且能夠進行多點導航,到達各個設置的目標點。

在本次測試中,在地圖上設置了0~16 共17 個目標點,機器人依次到達17 個點位,當?shù)竭_目標點16 點后機器人又重新規(guī)劃到0 點的路線進行下一次的循環(huán),當然在機器人運行過程中也可以新增目標點。效果圖如圖8 所示。圖8分別是9 點到10 點以及15 到16 點的導航效果圖,可以看出路徑規(guī)劃平滑合理,與墻壁或其他障礙物保持一定距離,沒有發(fā)生碰撞。機器人導航系統(tǒng)構建成功,成功到達各個目標點,實現(xiàn)多點導航功能。

圖8 多點導航實驗效果圖

5 結論

論文以室內移動機器人多目標點導航系統(tǒng)研究與實現(xiàn)為目的,設計了移動機器人平臺,該機器人平臺上位機采用樹莓派作為控制中心實現(xiàn)相關算法,下位機采用STM32 作為控制中心驅動電機與相關數(shù)據(jù)采集?;诖罱ǖ膶嶒炂脚_完成了相關的實驗。實驗結果表明:該機器人移動平臺能夠完成室內復雜環(huán)境的柵格地圖構建,且建圖效果良好;并且基于構建的地圖實現(xiàn)了多點導航功能。該項技術對于各種巡檢機器人的導航定位系統(tǒng)的開發(fā)具有較高的參考價值。

猜你喜歡
里程計機系統(tǒng)移動機器人
室內退化場景下UWB雙基站輔助LiDAR里程計的定位方法
移動機器人自主動態(tài)避障方法
一種單目相機/三軸陀螺儀/里程計緊組合導航算法
手持式觸摸測試機對閘機系統(tǒng)的維護研究
基于模板特征點提取的立體視覺里程計實現(xiàn)方法
基于Twincat的移動機器人制孔系統(tǒng)
大角度斜置激光慣組與里程計組合導航方法
經(jīng)濟、可靠的自動開關機系統(tǒng)
京石高速公路自助發(fā)卡機系統(tǒng)的設計與應用
后置式自動發(fā)卡機系統(tǒng)應用