ROS系列之初識gmapping

来源:http://www.cnblogs.com/wenhust/archive/2016/10/14/5960973.html
-Advertisement-
Play Games

簡介 ROS 提供的 gmaping 包是用來生成地圖的,它是對著名的開源 OpenSlam 包在 ROS 框架下的一個實現。這個包提供了對激光設備的 Slam,根據激光設備的輸入和姿態數據從而建立一個基於網格的的2D地圖。它需要從 ROS 系統監聽許多 Topic,並輸出一個 Topic——map ...


簡介

ROS 提供的 gmaping 包是用來生成地圖的,它是對著名的開源 OpenSlam 包在 ROS 框架下的一個實現。這個包提供了對激光設備的 Slam,根據激光設備的輸入和姿態數據從而建立一個基於網格的的2D地圖。它需要從 ROS 系統監聽許多 Topic,並輸出一個 Topic——map(nav_msgs/OccupancyGrid),這也是 RViz 的輸入 Topic。

操作流程

下載gmaping及示例數據

sudo apt-get install ros-indigo-slam-gmapping
wget http://pr.willowgarage.com/data/gmapping/basic_localization_stage.bag

啟動ROS master

這是所有 ROS 操作的第一步,就像開機一樣。
roscore
啟動後將終端掛起,另開終端進行其他程式。

設置ROS系統時間

配置 ROS 啟用重放數據中的時間而非本機時間,影響整個系統所有時間 API 的輸出結果。在預設情況下,ROS 使用 ubuntu 系統的時間,也就是牆上時鐘時間(wall clock)。但我們重播一個記錄歷史文件時,裡面記錄的是歷史時間,所以我們需要告訴ROS從現在起開始啟用模擬時間。
rosparam set use_sim_time true

啟動gmapping

啟動 gmapping, 並監聽 scan_base topic 發來的消息。該 topic 是由模擬器發佈的。
rosrun gmapping slam_gmapping scan:=base_scan
啟動後將終端掛起,另開終端進行其他程式。

啟動RViz

啟動 RViz,點擊 add 按鈕(左下方),在彈出的列表中選擇 map,點擊 OK,這時開始展現一個空的地圖。
rosrun rviz rviz
最關鍵的一步,要告訴 RViz 生成 map 信息的 topic 是什麼,我們前面講到過,gmapping 輸出的 topic 是 /map ,因此將其 topic 配置成 /map。
啟動後將終端掛起,另開終端進行其他程式。

啟動模擬器重放數據

rosbag play --clock basic_localization_stage.bag
立即可以在 RViz 中可以看到地圖的動態建立了。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • DML語句 insert 向表中插入新的記錄 --三種插入方式 --(1)不寫欄位的名字,直接按照欄位的順序把值逐個往裡插 insert into dept2 values(50,'DANAME','BEIJING'); --(2)指定某些欄位往裡插,其他不插的欄位預設都是空值 insert int... ...
  • RowVersion數據類型是系統自動生成的,唯一的,二進位數字,數值和binary(8)相同,RowVersion通常用作給Table的數據行加版本戳,存儲大小為 8 個位元組。RowVersion數據類型只是永恆遞增的數字,不保留日期或時間,但是可以使用RowVersion來比較數據行更新時間的先 ...
  • JDBC_day03 批處理 預編譯的批處理執行insert 語句 addBatch(); 非預編譯批處理 預編譯批處理 JDBC事務 所謂事務就是所有的sql操作要麼一起成功,要麼一起失敗,類似於銀行一個賬戶給另一個賬戶轉賬. 事務的特性 : 原子性,一致性,隔離性或獨立性,持久性 步驟: 1. ...
  • 參考 SQL技術內幕 寫了一段腳本,可以通過這段腳本查看執行指定SQL語句後,系統生成了哪些執行計劃.使用時註意以下幾點: 1. 修改 ,換成自己的資料庫名字. 2. 將 替換成要測試的SQL語句 3. 該腳本只支持Sql Server 2005及以上版本 ...
  • 本文出處: http://www.cnblogs.com/wy123/p/5958047.html 最近發現還有不少做開發的小伙伴,在寫存儲過程的時候,在參考已有的不同的寫法時,往往很迷茫,不知道各種寫法孰優孰劣,該選用那種寫法,以及各種寫法優缺點,本文以一個簡單的查詢存儲過程為例,簡單說一下各種寫 ...
  • 搜索大量的網頁,確沒有一個實用的設置教程,也正是speechless. 直接做個教程,方便大家的使用 1、安裝 boom 2 到app store 上搜索boom 我安裝的是正版的,需要128元。 你可以百度上搜索破解版的,沒有親測過好不好用 2、安裝好後,進入軟體,會讓你安裝boom 的擴展插件, ...
  • 除了使用 "expr" 進行簡單的加減乘處,shell還提供了更多的算術運算符。 shell的的算術運算符必須使用 結構,且不用另加轉義運算符,絕不能使用 肯定是報錯。 |運算符|含義| |: |: | |++, |自增,自減運算符| |+, ,!,~|正負,非,按位取反| | , /, %|乘法, ...
  • 在bind邦定時,通常會出現bind:Address alreasy is use錯誤。 此錯誤可以用setsockopt函數避免 int setsockopt(int sockfd,int level,int optname,const void *optval,socklen_t optlen) ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...