亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ROS的自主導(dǎo)航系統(tǒng)仿真設(shè)計(jì)

        2019-08-09 02:14:26胡思旺李春杰
        自動(dòng)化與儀表 2019年7期
        關(guān)鍵詞:移動(dòng)機(jī)器人代價(jià)插件

        胡思旺,李春杰

        (中國(guó)科學(xué)技術(shù)大學(xué) 軟件學(xué)院,蘇州 215000)

        移動(dòng)機(jī)器人在陌生環(huán)境中自主避障與導(dǎo)航一直是機(jī)器人相關(guān)領(lǐng)域研究熱點(diǎn)。機(jī)器人自主導(dǎo)航技術(shù)的實(shí)現(xiàn)關(guān)鍵在于如何解決機(jī)器人在陌生環(huán)境中的定位與路徑規(guī)劃問(wèn)題。一方面,基于里程計(jì)慣性導(dǎo)航[1]的實(shí)現(xiàn),往往因?yàn)閼T性傳感器長(zhǎng)時(shí)間的累積誤差,極易造成機(jī)器人航跡計(jì)算偏差,無(wú)法滿(mǎn)足移動(dòng)機(jī)器人定位與路徑規(guī)劃的精度要求。另一方面,采用GPS信號(hào)的衛(wèi)星導(dǎo)航[2]技術(shù),存在室內(nèi)信號(hào)弱,定位誤差大,且極易受到天氣與環(huán)境影響等問(wèn)題。

        顯然,傳統(tǒng)上的自主導(dǎo)航技術(shù)難以勝任移動(dòng)機(jī)器人自主導(dǎo)航的需求。同時(shí)定位與地圖構(gòu)建SLAM(simultaneous localization and mapping)技術(shù)的提出是解決傳統(tǒng)上導(dǎo)航技術(shù)缺陷的有效方法。SLAM是指機(jī)器人在陌生環(huán)境中通過(guò)獲取自身傳感器數(shù)據(jù),實(shí)現(xiàn)在陌生環(huán)境中的自主定位與環(huán)境地圖構(gòu)建,機(jī)器人依據(jù)SLAM構(gòu)建的室內(nèi)環(huán)境地圖進(jìn)行路徑規(guī)劃,同時(shí)利用自身傳感器數(shù)據(jù)自主避障到達(dá)目標(biāo)點(diǎn)。

        機(jī)器人操作系統(tǒng)ROS是基于Linux構(gòu)建的開(kāi)源機(jī)器人操作系統(tǒng),其本質(zhì)上是運(yùn)行在Linux上的機(jī)器人軟件開(kāi)發(fā)工具集,提供非常多的開(kāi)源硬件驅(qū)動(dòng)與算法功能包,極大方便機(jī)器人的設(shè)計(jì)與開(kāi)發(fā)。在此基于ROS設(shè)計(jì)并實(shí)現(xiàn)了移動(dòng)機(jī)器人的自主導(dǎo)航系統(tǒng),并在stdr_simulator仿真系統(tǒng)上測(cè)試與驗(yàn)證。

        1 ROS操作系統(tǒng)

        ROS是2010年由Willow Garage公司發(fā)布開(kāi)源的次級(jí)操作系統(tǒng),最早基于Ubuntu操作系統(tǒng)設(shè)計(jì)。ROS的設(shè)計(jì)初衷是幫助實(shí)現(xiàn)機(jī)器人研發(fā)過(guò)程中的代碼復(fù)用,提高機(jī)器人開(kāi)發(fā)人員的效率,因此ROS被設(shè)計(jì)成為一種分布式、松耦合的架構(gòu),不同的執(zhí)行程序被分散地獨(dú)立設(shè)計(jì),可以按需求將不同的執(zhí)行程序組合起來(lái),實(shí)現(xiàn)機(jī)器人的功能。系統(tǒng)在運(yùn)行時(shí),所有的可執(zhí)行程序及其所交互的數(shù)據(jù)都會(huì)通過(guò)ROS實(shí)現(xiàn)的點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)組織與實(shí)現(xiàn)。

        ROS中把可執(zhí)行程序稱(chēng)為節(jié)點(diǎn),節(jié)點(diǎn)與節(jié)點(diǎn)之間通過(guò)基于ROS主題的形式傳遞消息。ROS提供節(jié)點(diǎn)基于主題訂閱與發(fā)布的消息通訊模式,節(jié)點(diǎn)將消息發(fā)布到指定主題中,其它節(jié)點(diǎn)通過(guò)訂閱主題來(lái)獲取消息,通訊模式如圖1所示。

        圖1 ROS消息模型Fig.1 ROS messaging model

        ROS允許節(jié)點(diǎn)運(yùn)行在同一網(wǎng)絡(luò)下的不同計(jì)算機(jī)上,由ROS節(jié)點(diǎn)管理器ROS Master負(fù)責(zé)節(jié)點(diǎn)通訊的管理。ROS Master提供節(jié)點(diǎn)、主題等信息的注冊(cè)與查找,實(shí)現(xiàn)節(jié)點(diǎn)分布式、松耦合的通訊。ROS Master工作原理如圖2所示。

        ROS Master負(fù)責(zé)維護(hù)ROS中所有節(jié)點(diǎn)進(jìn)程之間的通訊,發(fā)布者節(jié)點(diǎn)在ROS Master中注冊(cè)主題與自身地址。訂閱者節(jié)點(diǎn)通過(guò)在ROS Master中依據(jù)訂閱的主題查找發(fā)布者節(jié)點(diǎn)通訊地址,依據(jù)ROS通訊協(xié)議,與發(fā)布者建立Socket通訊鏈路,最終實(shí)現(xiàn)發(fā)布者與訂閱者的消息通訊。

        圖2 ROS Master通訊模型Fig.2 ROS Master communication model

        2 自主導(dǎo)航系統(tǒng)設(shè)計(jì)

        ROS為機(jī)器人自主導(dǎo)航開(kāi)發(fā)提供了大量的功能級(jí)軟件包。在此,利用了ROS提供的用于機(jī)器人SLAM的gmapping軟件包,以及用于自主避障與路徑規(guī)劃的navigation軟件包集,在stdr_simulator仿真器下仿真實(shí)現(xiàn)移動(dòng)機(jī)器人的自主導(dǎo)航。ROS將提供的軟件功能包以封裝成節(jié)點(diǎn)的形式提供給開(kāi)發(fā)者使用,通過(guò)組織不同節(jié)點(diǎn),極大方便自主導(dǎo)航系統(tǒng)的設(shè)計(jì)。

        gmapping軟件包基于RBPF粒子濾波算法[3],利用激光雷達(dá)傳感器與機(jī)器人里程計(jì)信息構(gòu)建室內(nèi)柵格地圖,其核心運(yùn)行的節(jié)點(diǎn)為slam_gmapping。在此通過(guò)配置navigation軟件包實(shí)現(xiàn)機(jī)器人的自主避障與路徑規(guī)劃,amcl軟件包實(shí)現(xiàn)機(jī)器人的移動(dòng)定位。ROS提供navigation軟件包集配置如圖3所示。功能如下:

        1)amcl 是ROS提供實(shí)現(xiàn)在SLAM構(gòu)建的柵格地圖上定位軟件包,基于粒子濾波的蒙特卡洛定位算法實(shí)現(xiàn)。

        2)sensor transforms 負(fù)責(zé)實(shí)現(xiàn)機(jī)器人中不同傳感器與機(jī)器人本體之間復(fù)雜坐標(biāo)系統(tǒng)變換。

        3)Odometry 負(fù)責(zé)發(fā)布move_base運(yùn)行的里程計(jì)信息。

        4)base_controller 訂閱move_base路徑規(guī)劃的速度geometry_msgs/Twist消息,并轉(zhuǎn)換為機(jī)器人電機(jī)驅(qū)動(dòng)指令,驅(qū)動(dòng)機(jī)器人運(yùn)行。

        5)Laser sensor 為激光雷達(dá)節(jié)點(diǎn),提供激光掃描數(shù)據(jù)。

        6)map_server 是ROS提供的讀取柵格地圖的工具,為move_base提供自主導(dǎo)航需要的先驗(yàn)環(huán)境地圖。

        圖3 navigation導(dǎo)航功能包集配置Fig.3 Navigation package configuration

        7)move_base 是整個(gè)導(dǎo)航功能包集的核心運(yùn)行節(jié)點(diǎn),根據(jù)機(jī)器人外部傳感器數(shù)據(jù),負(fù)責(zé)實(shí)現(xiàn)移動(dòng)機(jī)器人的自主避障和路徑規(guī)劃。

        8)global_planner 是全局路徑規(guī)劃插件,在此采用A*路徑規(guī)劃算法[4]。

        9)local_planner 是move_base中局部路徑規(guī)劃插件,基于DWA動(dòng)態(tài)窗口法實(shí)現(xiàn)機(jī)器人的自主避障與局部路徑規(guī)劃。

        10)recovery_behaviors 是當(dāng)機(jī)器人導(dǎo)航失敗時(shí)執(zhí)行動(dòng)作的配置。

        ROS基于代價(jià)地圖實(shí)現(xiàn)機(jī)器人的路徑規(guī)劃,global_costmap為全局代價(jià)地圖,local_costmap為局部代價(jià)地圖。

        3 自主導(dǎo)航系統(tǒng)配置

        ROS導(dǎo)航功能包集中核心配置為move_base軟件包配置。move_base軟件包實(shí)現(xiàn)移動(dòng)機(jī)器人自主避障與路徑規(guī)劃。move_base在global_costmap全局代價(jià)地圖上實(shí)現(xiàn)全局路徑規(guī)劃,在local_costmap上實(shí)現(xiàn)局部路徑規(guī)劃。在配置文件中配置機(jī)器人運(yùn)行時(shí)的相關(guān)參數(shù)。move_base軟件包運(yùn)行時(shí),通過(guò)加載編寫(xiě)的配置文件,實(shí)現(xiàn)移動(dòng)機(jī)器人的自主導(dǎo)航。相關(guān)的配置有:通用配置文件;全局代價(jià)地圖配置文件;局部代價(jià)地圖配置文件。

        3.1 通用參數(shù)配置

        通用參數(shù)配置文件,主要用于配置全局路徑規(guī)劃插件global_planner與局部路徑規(guī)劃插件local_planner的共同必要基本參數(shù)。在此配置如下:

        其中,robot_radius參數(shù)配置圓形機(jī)器人的半徑;obstacle_range代表傳感器最大的探測(cè)距離;raytrace_range:表示障礙物最小引入代價(jià)地圖的距離;observation_sources參數(shù)定義構(gòu)建代價(jià)地圖傳感器的來(lái)源。

        3.2 全局代價(jià)地圖參數(shù)配置

        全局代價(jià)地圖用于配置全局路徑規(guī)劃插件global_planner的工作行為。其配置如下:

        其中,global_frame與robot_base_frame定義全局地圖與機(jī)器人本體坐標(biāo)系統(tǒng);update_frequency定義全局路徑規(guī)劃插件global_planner的工作頻率。對(duì)于機(jī)器人在偏離原先的全局路徑時(shí),全局路徑規(guī)劃插件將重新規(guī)劃全局路徑。

        3.3 局部代價(jià)地圖參數(shù)配置

        局部代價(jià)地圖用于配置局部規(guī)劃器在自主避障過(guò)程的DWA動(dòng)態(tài)窗口算法的工作行為。在此配置如下:

        在局部路徑規(guī)劃配置中,主要配置global_frame,robot_base_frame機(jī)器人地圖坐標(biāo)系及機(jī)器人本體坐標(biāo)系。public_frequency配置局部路徑規(guī)劃器發(fā)布信息的頻率。controller_patience表示在代價(jià)地圖清理操作執(zhí)行前,控制器花多長(zhǎng)時(shí)間等有效控制下發(fā)速度控制指令。接下來(lái)的width,height,resolution定義代價(jià)地圖的大小與分辨率。transform_tolerance參數(shù)定義轉(zhuǎn)換的允許延遲時(shí)間。之后的參數(shù)定義了機(jī)器人本體的最大速度、最小速度、最大加速度等速度屬性。

        在此所仿真的是兩輪差速運(yùn)動(dòng)機(jī)器人,max_vel_y的方向速度定義0,速度屬性參數(shù)應(yīng)該根據(jù)機(jī)器人本體的特性進(jìn)行合理的配置。

        4 仿真驗(yàn)證

        move_base軟件包參數(shù)完成配置后,需要編寫(xiě)launch啟動(dòng)文件,啟動(dòng)move_base節(jié)點(diǎn),launch文件的編寫(xiě)規(guī)則可以參考文獻(xiàn)[6]。在此,仿真環(huán)境為ROS-indigo版本,操作系統(tǒng)為ubuntu14.04,仿真器選用stdr_simulator。

        首先需要啟動(dòng)stdr_simulator仿真器。通過(guò)編寫(xiě)launch文件啟動(dòng)gmapping節(jié)點(diǎn),控制機(jī)器人在環(huán)境中移動(dòng)以實(shí)現(xiàn)周?chē)h(huán)境地圖的構(gòu)建,使用ROS提供的map_server工具保存gmapping創(chuàng)建的地圖。

        模擬環(huán)境如圖4所示。使用gmapping所構(gòu)建的地圖如圖5所示。

        圖4 仿真環(huán)境Fig.4 Simulation environment

        圖5 室內(nèi)地圖Fig.5 Indoor map

        在自主導(dǎo)航仿真環(huán)境中,仿真的過(guò)程如下:先啟動(dòng)stdr_simulator仿真器;通過(guò)編寫(xiě)的launch文件啟動(dòng)move_base節(jié)點(diǎn)與amcl節(jié)點(diǎn);打開(kāi)ROS提供的可視化調(diào)試工具rviz,在rviz中點(diǎn)擊2D Nav Goal。此時(shí),機(jī)器人便會(huì)在創(chuàng)建的地圖上進(jìn)行全局路徑規(guī)劃,并開(kāi)啟自主導(dǎo)航。當(dāng)遇到障礙物時(shí),機(jī)器人通過(guò)局部路徑規(guī)劃進(jìn)行局部避障。其仿真結(jié)果如圖6所示。

        圖6 仿真實(shí)現(xiàn)效果Fig.6 Simulation effect

        5 結(jié)語(yǔ)

        充分利用ROS提供的導(dǎo)航功能包集,設(shè)計(jì)并實(shí)現(xiàn)了移動(dòng)機(jī)器人自主導(dǎo)航系統(tǒng),在stdr_simulator仿真環(huán)境下對(duì)自主導(dǎo)航系統(tǒng)進(jìn)行了仿真驗(yàn)證。試驗(yàn)結(jié)果表明,基于ROS的自主導(dǎo)航系統(tǒng),可以有效地滿(mǎn)足移動(dòng)機(jī)器人在室內(nèi)自主導(dǎo)航的需求。針對(duì)ROS的特點(diǎn),后續(xù)工作通過(guò)設(shè)計(jì)機(jī)器人驅(qū)動(dòng)節(jié)點(diǎn)與激光雷達(dá)驅(qū)動(dòng)節(jié)點(diǎn),便可以實(shí)現(xiàn)將自主導(dǎo)航系統(tǒng)部署在真實(shí)的移動(dòng)機(jī)器人。

        猜你喜歡
        移動(dòng)機(jī)器人代價(jià)插件
        移動(dòng)機(jī)器人自主動(dòng)態(tài)避障方法
        自編插件完善App Inventor與樂(lè)高機(jī)器人通信
        電子制作(2019年22期)2020-01-14 03:16:34
        愛(ài)的代價(jià)
        海峽姐妹(2017年12期)2018-01-31 02:12:22
        基于Twincat的移動(dòng)機(jī)器人制孔系統(tǒng)
        代價(jià)
        MapWindowGIS插件機(jī)制及應(yīng)用
        成熟的代價(jià)
        基于Revit MEP的插件制作探討
        極坐標(biāo)系下移動(dòng)機(jī)器人的點(diǎn)鎮(zhèn)定
        基于引導(dǎo)角的非完整移動(dòng)機(jī)器人軌跡跟蹤控制
        少妇厨房愉情理伦片免费 | 全亚洲最大的私人影剧院在线看 | 日本久久久久| 白色白色在线视频播放平台| 一区在线视频免费播放| 成年女人免费视频播放体验区 | 久久精品国产亚洲婷婷| 女女同性av一区二区三区| 国产一区二区黄色录像| 狠狠色成人综合网| 动漫在线无码一区| 国产国语一级免费黄片| 人妻久久久一区二区三区蜜臀| 精品水蜜桃久久久久久久 | 黑人玩弄漂亮少妇高潮大叫| 亚洲欧洲久久久精品| 国内精品女同一区二区三区| 日韩av无码社区一区二区三区| 久久www色情成人免费观看| 久久88综合| 久久亚洲精品成人av观看| 色视频网站一区二区三区| 国产av无码专区亚洲awww| 国产激情视频在线观看首页 | 好看的日韩精品视频在线 | 中文字幕乱码免费视频| 亚洲高清国产品国语在线观看| 国产女人乱码一区二区三区| 久久精品国产只有精品96| 国内精品久久久久久无码不卡| 亚洲精品国产熟女久久| 男女主共患难日久生情的古言| 欧美黑人群一交| 国产免费网站看v片元遮挡| 午夜视频在线观看国产| 夹得好湿真拔不出来了动态图| 亚洲av无码资源在线观看| 青青草视频原手机在线观看| 熟女中文字幕一区二区三区| 97在线观看| 国产69精品一区二区三区|