1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        ROS 八叉樹地圖構(gòu)建 - 安裝 octomap 和 octomap_server 建圖包!

        共 2361字,需瀏覽 5分鐘

         ·

        2020-08-13 00:58


        登龍

        這是我的第 145?篇原創(chuàng)


        項(xiàng)目要用到八叉樹庫 Octomap 來構(gòu)建地圖,這里記錄下安裝、可視化,并啟用帶顏色的 Octomap 的過程。

        一、Apt 安裝 Octomap 庫

        如果你不需要修改源碼,可以直接安裝編譯好的 octomap 庫,記得把 ROS 版本「kinetic」替換成你用的:

        sudo?apt-get?install?ros-kinetic-octomap*

        上面這一行命令等價(jià)于安裝以下的 octomap 組件:

        sudo?apt-get?install?ros-kinetic-octomap?ros-kinetic-octomap-mapping?ros-kinetic-octomap-msgs?ros-kinetic-octomap-ros?ros-kinetic-octomap-rviz-plugins

        注意:上面沒有安裝 ros-kinetic-octomap-server,原因是我要使用這個(gè)包來建圖,并且需要修改它,所以在下一步我直接通過編譯源碼來安裝它!

        二、編譯安裝 OctomapServer 建圖包

        因?yàn)槲乙獑⒂冒瞬鏄潴w素柵格的 RGB 顏色支持,需要修改源碼,所以必須使用源碼編譯安裝,過程如下:

        2.1 創(chuàng)建編譯用的工作空間

        cd?你的一個(gè)目錄/

        #
        ?創(chuàng)建工作空間
        mkdir?octomap_ws
        cd?octomap_ws/

        #
        ?ROS?的工作空間必須包含?src?目錄
        mkdir?src/

        #
        ?創(chuàng)建
        catkin_make

        #
        ?記得?source?環(huán)境變量
        source?devel/setup.zsh

        2.2 下載編譯源碼

        下載 octomap_server 源碼到 src 文件夾中:

        cd?src/
        git?clone?https://github.com/OctoMap/octomap_mapping.git

        返回你的工作空間主目錄,安裝下依賴,然后開始編譯:

        cd?../

        rosdep?install?octomap_mapping

        catkin_make

        編譯過程基本沒有報(bào)錯(cuò),如果你遇到問題,直接復(fù)制錯(cuò)誤信息瀏覽器搜索解決,然后啟動測試的 launch:

        roslaunch?octomap_server?octomap_mapping.launch

        沒問題的話應(yīng)該可以用 rostopic list 看到一個(gè) octomap_full 的話題:

        有這個(gè)話題說明這個(gè)建圖包可以正常工作啦:)

        二、Rviz 可視化 Octomap

        ROS 中提供了一個(gè) Rviz 可視化 Octomap 的插件,如果沒有安裝使用下面的命令即可:

        sudo?apt-get?install?ros-kinetic-octomap-rviz-plugins

        安裝后啟動 Rviz,直接添加一個(gè)八叉樹占用網(wǎng)格的類型,第一個(gè)是帶顏色的類型,第二個(gè)不帶顏色:

        建圖節(jié)點(diǎn)啟動后,選擇話題名稱為 octomap_full,即可顯示出八叉樹體素柵格,這是我的實(shí)驗(yàn)結(jié)果,我用的是第一個(gè)帶顏色的類型:

        我把點(diǎn)云和體素柵格一起顯示了,所以會重疊。這里要注意的是,如果你的點(diǎn)云顯示不出來,要檢查下「Global Options」的「Fixed Frame」有沒有設(shè)置正確,我是設(shè)置的是 Robosense 雷達(dá)的 frame_id:「rslidar」。

        三、啟用 ColorOctomap

        默認(rèn)編譯的 octomap 不能顯示顏色,要開啟顏色的支持,需要 2 個(gè)步驟,第一步編輯 OctomapServer.h 文件:

        vim?octomap_mapping/octomap_server/include/octomap_server/OctomapServer.h

        打開下面 COLOR_OCTOMAP_SERVER 宏的注釋即可:

        //?switch?color?here?-?easier?maintenance,?only?maintain?OctomapServer.?
        //?Two?targets?are?defined?in?the?cmake,?octomap_server_color?and?octomap_server.?One?has?this?defined,?and?the?other?doesn't
        //?打開這個(gè)注釋
        #define?COLOR_OCTOMAP_SERVER

        然后重新編譯一遍源碼:

        cd?octomap_ws/

        catkin_make

        第二步是在使用時(shí),在 launch 文件中禁用 height_map,啟用 colored_map,這個(gè)配置是我閱讀源碼查找的,因?yàn)楣倬W(wǎng)文檔很久沒有更新了,一些參數(shù)配置方法需要通過閱讀源碼才能知道:

        <param?name?=?"height_map"?value?=?"false"?/>
        <param?name?=?"colored_map"?value?=?"true"?/>

        比如以下是我實(shí)驗(yàn)用的 launch 文件:

        <launch>
        ??<node?pkg="octomap_server"?type="octomap_server_node"?name="octomap_server">

        ????
        ????<param?name="resolution"?value="0.10"?/>

        ????
        ????
        ????<param?name="frame_id"?type="string"?value="world"?/>

        ????<param?name?=?"height_map"?value?=?"false"?/>
        ????<param?name?=?"colored_map"?value?=?"true"?/>?

        ????
        ????
        ????<remap?from="/cloud_in"?to="/fusion_cloud"?/>
        ??node>
        launch>

        我設(shè)置了八叉樹幀的 frame 為 rslidar,并將融合的點(diǎn)云話題 /fusion_cloud 作為節(jié)點(diǎn)的輸入,我沒有提供 TF,因?yàn)槟壳爸皇亲隽艘粋€(gè)單幀的體素柵格構(gòu)建,效果如下:

        我在 B 站錄了個(gè)簡短的視頻,可以去看下初步的效果:

        推薦閱讀:

        ROS 機(jī)器人技術(shù) - 編寫一個(gè) launch 啟動多個(gè)節(jié)點(diǎn)

        ROS 機(jī)器人技術(shù) - 添加一個(gè) TF 幀

        ROS 機(jī)器人技術(shù) - 廣播與接收 TF 變換


        廈大同學(xué),與你分享編程,AI 算法等技術(shù)干貨!精品文章創(chuàng)作不易,謝謝關(guān)注,歡迎在看。

        點(diǎn)擊閱讀原文,查看更多精彩文章!

        瀏覽 93
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評論
        圖片
        表情
        推薦
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            啊~喷水了~嗯~高潮了视频 | 精品黄色电影 | 国产蜜臀视频 | 全黄裸体做爰视频 | 三级黄色毛片动作花样看看 | 午夜乱伦| 俺也去网 | 刘亦菲全身脱得精光视频 | 麻豆91麻豆国产传媒 | 国产女人夜夜春夜夜高潮 |