• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于ROS平臺的移動機器人實驗教學方法研究

      2022-04-22 00:13:20呂勇余雷王詩頌
      電子測試 2022年7期
      關(guān)鍵詞:建圖移動機器人障礙物

      呂勇,余雷,王詩頌

      (蘇州大學機電工程學院,江蘇蘇州,215021)

      關(guān)鍵字:ROS平臺;移動機器人;避障算法

      0 引言

      高等教育是衡量一個國家發(fā)展水平的重要標志。隨著社會的快速發(fā)展以及國家政策的提出,地方高校需要積極響應(yīng)并做出改變,培養(yǎng)滿足企業(yè)的新型工科人才,在“新工科”背景下進行一流本科專業(yè)的建設(shè)。我校機電學院的電氣工程及其自動化專業(yè)經(jīng)過不懈的努力,已順利通過中國工程教育專業(yè)認證,同時也是教育部卓越工程師教育培養(yǎng)計劃專業(yè)、江蘇省一流本科專業(yè)以及蘇州大學一流本科專業(yè)。

      近年來,隨著機器人技術(shù)的快速發(fā)展,在工業(yè)制造、物流快遞以及安防監(jiān)控等領(lǐng)域的應(yīng)用日趨普遍。在新工科背景下,并結(jié)合高等學校的特點,如何培養(yǎng)出具有創(chuàng)新能力并符合企業(yè)需求的高素質(zhì)人才,成為當前研究的重要課題。機器人技術(shù)作為交叉學科的典型代表,涉及了計算機、自動控制、機械以及人工智能等知識,因此對學生的綜合運用能力有比較高的要求。在實驗教學中,要讓學生通過具體的實踐去更好的理解理論知識,并將理論與應(yīng)用相結(jié)合,起到融會貫通的效果。

      機器人作為電氣工程及其自動化專業(yè)的十分重要的課程之一,從類別來看,其主要分為工業(yè)機器人以及服務(wù)機器人兩種。本文以服務(wù)機器人中的移動機器人[1]作為切入點,基于ROS平臺展開具體的實驗教學方法研究。實驗教學不能僅局限于課堂講授,為了讓學生從復雜的底層代碼閱讀與理解中解放出來,本實驗只需要在軟件平臺上添加新的模塊實現(xiàn)功能。實驗設(shè)計依賴ROS的話題機制,以C++語言作為編程語言,在小車turtlebot2上進行例程的實現(xiàn)。

      1 實驗平臺簡介

      ROS(Robot Operating System)平臺是一個機器人操作平臺,其誕生于斯坦福STAIR項目。作為機器人學習的平臺包含有大量的開源代碼,以及包括TF坐標變換、QT工具箱、RVIZ可視化工具以及GAZEBO仿真平臺在內(nèi)的大量機器人開發(fā)工具。ROS所發(fā)售的TURTLEBOT機器人是ROS官方打造的基于ROS的軟硬件學習平臺。ROS很多的開源代碼都是以TURTLRBOT機器人作為硬件平臺實現(xiàn)的。本實驗所搭建的例程實現(xiàn)平臺以TURTLEBOT2機器人為硬件基礎(chǔ)[2,3]。

      實驗中還涉及到深度相機,與傳統(tǒng)相機有所不同,深度相機可以捕捉環(huán)境的景深信息,因此深度相機可以作為傳感器為gmapping 建圖提供環(huán)境信息。而與激光雷達相比,深度相機在建圖準確率與速度上明顯比不上激光雷達,這一點通過深度相機 kinect2和激光雷達velodyne所建的圖中就可以得知。但是,kinect2在行人識別上可以獲得明顯優(yōu)于激光雷達的效果,深度相機可以直接采用基于深度學習的方法進行人像識別,從而進行針對人的避障。

      2 避障算法

      本實驗采用A*算法進行避障,該算法是一種靜態(tài)路網(wǎng)中求解最短路徑的有效方法,也是解決眾多搜索問題的有效算法。當算法中的距離估算值與實際值越接近,相應(yīng)的搜索速度也越快。在使用A*算法時,會創(chuàng)建兩張表,一張是open表,其中保存未訪問過的節(jié)點;另一張是closed表,其中保存已訪問過的節(jié)點。我們從起始點出發(fā),查詢與起始點相鄰的點,此時,所有下一個點的啟發(fā)值均為1。

      在實際實驗過程中,我們指導學生更側(cè)重A*算法的應(yīng)用,在有理解能力的基礎(chǔ)上再深入了解A*算法。為了增加對比效果,在使用的導航包turtlebot-navigation中還包含了其它避障算法,比如dijkstra算法,學生可以通過更改相應(yīng)的配置文件來實現(xiàn)不同避障算法下的移動機器人自主導航。

      3 實驗流程與效果

      3.1 Rviz可視化

      Rviz是ROS自帶的三維可視化平臺,以話題的形式讓數(shù)據(jù)在各例程中進行交流。Rviz相當于一個可以訂閱所有話題的平臺,并按照消息類型將數(shù)據(jù)可視化,并可以在地圖中發(fā)布目標點。該平臺可以方便地圖的構(gòu)建與自主導航,圖1是利用gmapping在Rviz可視化建圖的具體例子。

      圖1 Rviz可視化建圖

      3.2 機器人的定位

      在完成建圖以后,我們的移動機器人需要弄清楚自己在地圖中的具體位置,因此我們在實驗中采用了定位軟件包AMCL定位。該軟件包的全稱是Adaptive Monte Carlo Localization,即自適應(yīng)蒙特卡洛定位,也稱之為模擬法,是一種判斷置信度的方法。由于機器人可能在地圖上的任何位置,因此可以結(jié)合傳感器的輸出數(shù)據(jù)進行分析,概率值最大的那個區(qū)域一般就判斷為機器人所在的位置。

      3.3 添加障礙物

      在該實驗中,我們主要完成添加障礙物并進行可視化兩項子任務(wù)。為了模擬已知環(huán)境中忽然出現(xiàn)人體的情況,我們采用添加障礙物的方法進行模擬。添加障礙物實際上是將障礙物發(fā)布到“/map”這個節(jié)點中去,為了準確地將障礙物發(fā)布到地圖中的某一個位置,我們需要使用/clicked_point這個話題機制,并最終以坐標的形式發(fā)布出來。由于地圖是以一維數(shù)組的形式存儲,在構(gòu)建的地圖中,只有0和100兩種狀態(tài),分別代表可通行點和障礙物點。因此,在地圖中添加障礙物時,如果知道了這個點的坐標,可以在一維數(shù)組中找到對應(yīng)這個坐標的編號。計算Rviz中所點擊位置對應(yīng)一維數(shù)組中第幾個數(shù)的代碼如下所示:

      在完成地圖中添加障礙物以后,我們需要將將其在Rviz中進行可視化。事實上,我們并不是為障礙物套上一層可視化的外殼,而是創(chuàng)造障礙物的位置,利用/point_marker這個話題創(chuàng)造一個障礙物點,并添加其膨脹層。為了更清楚的進行觀察,將障礙物點的rgb設(shè)置為r=255.0, g=0以及b=0,即為紅色,同時設(shè)置該點在x, y方向上的尺度。添加可視化外殼的代碼如下所示:

      3.4 避障實驗

      本實驗利用ROS開源的Kinect+gmapping進行建圖,在建圖過程中,為了便于學生開展實驗,我們并未選取過于復雜的地形,而是在實驗室外的過道內(nèi)進行建圖,生成的pgm地圖文件如圖2所示。

      圖2 走廊建圖生成的pgm文件

      在完成建圖后,我們用ROS開源的程序進行導航,再結(jié)合我們添加的障礙物功能以及避障功能完成該實驗。實驗流程如圖3所示:首先是建立一張空白地圖,然后添加障礙物,最后設(shè)置目標點,移動機器人在自主導航的過程中采用A*算法。

      圖3

      上述實驗中,設(shè)置目標點以后,圖3中的移動機器人[4,5]遵循A*算法稍微繞開障礙物。為了進一步觀察移動機器人遇到障礙物的反應(yīng),我們在圖4中記錄完整的避障過程,具體如下:首先,移動機器人與障礙物的距離靠近時,會選擇在一旁等待;其次,等待數(shù)秒后,移動機器人重新駛向原定目標點;最后,在成功避開障礙物以后,移動機器人最終達到目標點。

      圖4

      4 結(jié)束語

      通過以上的具體實驗,本實驗以ROS平臺為核心,在教學過程中采用了“任務(wù)驅(qū)動的自主學習”方法,設(shè)置了現(xiàn)實中的移動機器人需要避障這一實際問題。在完成實驗?zāi)繕说倪^程中,將避障問題又分為四個子任務(wù),學生以小組為單位在仿真平臺上進行動手能力的實際訓練,從而可以拓展學生對機器人相關(guān)知識理解的深度與廣度。

      此外,本實驗不僅涉及到硬件知識的掌握,比如激光雷達和Kinect相機,還要對相應(yīng)模塊的添加具有一定的編程能力,還可以引導學生在算法上進行優(yōu)化,比如傳統(tǒng)的A*算法,使其避障更高效。該實驗從實踐角度鞏固學生在課堂上所學的知識,有利于學生提高動手能力,并為將來就業(yè)打下堅實的基礎(chǔ)。

      猜你喜歡
      建圖移動機器人障礙物
      移動機器人自主動態(tài)避障方法
      視覺同步定位與建圖中特征點匹配算法優(yōu)化
      高低翻越
      SelTrac?CBTC系統(tǒng)中非通信障礙物的設(shè)計和處理
      基于三輪全向機器人的室內(nèi)建圖與導航
      電子制作(2019年10期)2019-06-17 11:45:06
      一種基于多傳感融合的室內(nèi)建圖和定位算法
      基于Twincat的移動機器人制孔系統(tǒng)
      機器人室內(nèi)語義建圖中的場所感知方法綜述
      自動化學報(2017年4期)2017-06-15 20:28:55
      極坐標系下移動機器人的點鎮(zhèn)定
      基于引導角的非完整移動機器人軌跡跟蹤控制
      伊吾县| 咸阳市| 岳阳县| 贵港市| 开原市| 通辽市| 南丰县| 博爱县| 全州县| 康乐县| 乌海市| 长岭县| 仙游县| 安乡县| 宿迁市| 安陆市| 垫江县| 罗城| 西盟| 安岳县| 赤壁市| 仙游县| 勐海县| 达孜县| 犍为县| 竹山县| 凤阳县| 巴里| 溧水县| 临洮县| 襄樊市| 宁德市| 阜康市| 桂东县| 宝坻区| 荣昌县| 榆中县| 盐城市| 海口市| 广平县| 菏泽市|