maplab運行之ROS+Rviz


首先,我們要尊重原作者的勞動成果,給出原作者網頁

下載數據集 MH_01_easy.bag,原作者網頁提供了鏈接,這里直接給出入口

上篇隨筆創建了工程 maplab_ws,並編譯了maplab源碼。把下載好的數據集拷到 maplab_ws 下備用。

打開命令行運行ros:

roscore

新開一個命令行窗口並進入到 maplab_ws,執行:

source devel/setup.bash

rosrun rovioli tutorial_euroc save_folder MH_01_easy.bag

可以看到輸出視頻,同時在 maplab_ws 下生成 save_folder 文件夾,里面的文件結構詳見原作者網頁。

視頻大概是這樣紙的:

1、從生成的地圖數據中生成圖

剛才的程序運行完后,在 save_folder/vi_map  文件夾下會有10個 vertices 包。

maplab 控制台的基本操作見這里,對地圖的操作在這里(不得不說原作者們提供全套服務這點實在滿滿的人道主義精神啊,再看看國內。。。哎,不說了。當然這也是我寫這篇隨筆的原因之一咯)。

打開 maplab 控制台:

rosrun maplab_console maplab_console

它是這樣的:

加載地圖(就是生成的 save_folder 下的東西):

load --map_folder ~/maplab_ws/save_folder

然后就成了這樣:

然后我們要在Rviz中顯示出來 so ~~~

新開命令行窗口,輸入:

rosrun rviz rviz

它大概長醬紫:

接着在 maplab 控制台中輸入顯示命令:

visualize

 咦?沒反應誒!Rviz里什么也沒有是不是?

別擔心,這是因為Rviz里面還要設置一下,你可以先看一下Rviz的官方教程

先添加一個maker:

topic選擇 /vi_map_edges/viwls,這里的 topic 就是運行ROS時的topic,可以通過指令 rostopic list 查看,建議還是看一下ROS的關於topic的官方教程

然后,是不是出來東西了呢

再添加一個點雲 pointcloud2,是不是很漂亮,莫名想起了小時候躺房頂上看星星,,,,,:

2、運行數據集時生成圖

前面生成的圖是我們利用運行完程序之后的地圖數據生成的,現在我們要邊加載下載的數據集邊生成圖。

2.1 rosbag 形式運行

把前面打開的 maplab 控制台關掉,把 Rviz 關掉,提示你是否保存,這個隨意,如果保存的話,下次打開會自動加載上次的東西。

運行數據集(當然是在 /maplab_ws/ 下運行),如果剛才不小心關掉了窗口,重新進入/maplab_ws/要記得先source一下setup腳本,忘了的看一哈上篇的喵:

rosrun rovioli tutorial_euroc save_folder MH_01_easy.bag

另開窗口運行 Rviz:

rosrun rviz rviz

在 Rviz 中添加 mark,topic 選擇  /vi_map_edges/viwls,可以看到實時增長的軌跡,動態的噢!

添加 T_G_I 和 T_G_M pose(在 by topic 下):

然后可以在軌跡上看到箭頭:

2.2 rostopic 形式運行

跟rosbag的區別是,運行rovioli時的腳本變了,至於二者到底有什么本質區別,我也不是太清楚,我覺得rosbag使用數據集實現的“偽實時”,但假如你有一個真的機器人,應該就需要rostopic形式運行了,當然這里的rostopic也是用的數據集,不過不同於rosbag直接運行數據集,而是先運行程序,再加載數據集來代替真實機器人的輸入..........沒看懂得話就算了,畢竟我也不知所雲了。。。。。。

運行:

rosrun rovioli tutorial_euroc_live save_folder

新開窗口進入 /maplab_ws,先 source setup腳本,然后執行:

rosbag play MH_01_easy.bag

新開窗口,打開Rviz:

rosrun rviz rviz

添加mark和T_G_I、T_G_M pose(同上),這里圖就不貼了撒~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM