Cartographer重入門到精通(二):運行作者demo及自己的數據集

在demo數據包上運行cartographer

現在Cartographer和Cartographer的Ros包已經都安裝好了,你可以下載官方的數據集到指定的目錄(比如在Deutsches Museum用背包采集的2D和3D
數據),然后使用roslauch來啟動demo。

注:launch文件會自動同時啟動roscore和rviz。

當你想運行cartographer_ros,你可能先要使用source install_isolated/setup.bash來加載你的ros運行環境。install_isolated換成你自己的安裝路徑即可。一般ubuntu系統只要source setup.bash就可以,其他版本可能source setup.zsh。

Deutsches Museum數據集(著名的德意志國家圖書館)

在這里插入圖片描述

下載2D激光數據包,也可以從這里獲取 百度云盤 提取碼: ng5b

wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/backpack_2d/cartographer_paper_deutsches_museum.bag

然后運行2d激光的demo

roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=${HOME}/Downloads/cartographer_paper_deutsches_museum.bag

下載3D激光數據包,

wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/backpack_3d/with_intensities/b3-2016-04-05-14-14-00.bag

然后運行3D激光的demo

roslaunch cartographer_ros demo_backpack_3d.launch bag_filename:=${HOME}/Downloads/b3-2016-04-05-14-14-00.bag
Pure localization(純定位)

這里純定位demo使用2個數據包,一個數據包用于建圖,第2個數據包用來運行純定位。這里解釋一下,一般我們機器人來到一個未知環境,首先需要探索并先建立地圖,然后我們才能使用建立好地圖用來定位自己的信息。這里純定位的“純”是相對于建圖來說,純定位的時候地圖是已知的,使用之前建立好的地圖進行純粹的定位功能,所以這個demo并不像建圖一樣占用大量的cpu。

下載2d數據包,下面是2條指令,下載2個數據包

wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/backpack_2d/b2-2016-04-05-14-44-52.bag
wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/backpack_2d/b2-2016-04-27-12-31-41.bag

生成地圖(等待cartographer_offline_node完成建圖后,會生成pbstream地圖文件),然后再運行純定位demo

使用離線數據包建圖

roslaunch cartographer_ros offline_backpack_3d.launch bag_filenames:=${HOME}/Downloads/b3-2016-04-05-13-54-42.bag

使用生成的地圖進行定位

roslaunch cartographer_ros demo_backpack_3d_localization.launch \load_state_filename:=${HOME}/Downloads/b3-2016-04-05-13-54-42.bag.pbstream \bag_filename:=${HOME}/Downloads/b3-2016-04-05-15-52-20.bag
Static landmarks(靜態路標)

這個demo是個大殺器,我們知道很多場景是不斷變化的,那么我們之前建立的激光地圖可能就會失效,那我們頻繁的更新激光地圖是不是太麻煩,所以我們人為的設置一些路標,就可以大大提高我們定位時的穩定性,實際測試效果也很好。
靜態路標可以使用二維碼(可以貼在地上、也可以貼在墻上,根據自己的相機安裝位置不同決定)、反光柱、反光貼紙、反光柱組合等,有些還會使用自定義的激光特征。
一種貼在地面的二維碼,可以配套使用使用海康、大華agv讀碼器。
在這里插入圖片描述

反光柱
在這里插入圖片描述

下載數據包

# Download the landmarks example bag.
wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/mir/landmarks_demo_uncalibrated.bag

運行landmark的demo

# Launch the landmarks demo.
roslaunch cartographer_mir offline_mir_100_rviz.launch bag_filename:=${HOME}/Downloads/landmarks_demo_uncalibrated.bag
Revo LDS

下載并運行一個低成本激光雷達的demo,這個數據來自一個叫做Neato Robotics的吸塵機器人的Revo的激光雷達。這也是carto的亮點,他可以在精度比較差的激光雷達上穩定運行,證明了carto算法的通用性和高效性,并不挑硬件和精度。
下載數據

wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/revo_lds/cartographer_paper_revo_lds.bag

運行demo

roslaunch cartographer_ros demo_revo_lds.launch bag_filename:=${HOME}/Downloads/cartographer_paper_revo_lds.bag

還有一些數據集并沒有突出亮點,我們就不一一舉例了。然后我們下面采集自己的數據集合并測試運行cartograher。

測試自己的數據集

簡單一下幾個步驟

  1. 根據傳感器的frame_id,創建自己機器人的模型文件,即urdf文件。
  2. 然后在對應的launch文件中修改使用自己的urdf文件。
  3. 運行demo就可以了。

這里分享我自己的一些數據包 網頁地址

一般來說精度好一些的激光雷達(比如倍加福R2000、sick等)和陀螺儀(100以上都可以)運行時用默認的lua參數就可以。

效果如圖
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/44710.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/44710.shtml
英文地址,請注明出處:http://en.pswp.cn/web/44710.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

IO半虛擬化-Virtio學習筆記

參考:《深入淺出DPDK》及大佬們的各種博客 Virtio簡介&運行環境 Virtio 是一種用于虛擬化環境中的半虛擬化 I/O 框架,目的是在虛擬機和主機之間提供一種高效的 I/O 機制。關于什么是半虛擬化和全虛擬化:見SR-IOV學習筆記。 YES&#xf…

PDMS二次開發(二十二)——關于1.0.3.1版本升級內容的說明

目錄 1.更新內容介紹2.效果演示3.關于重構自動添加焊口功能的說明3.1錯誤示例 3.問題交流1.創建焊口提示失敗2.程序崩潰 1.更新內容介紹 在添加焊口之前先清除當前branch已有焊口;顯示清除焊口的個數和添加焊口的個數;重構了自動添加焊口功能&#xff0…

值得關注的數據資產入表

不錯的講解視頻,來自:第122期-杜海博士-《數據資源入表及數據資產化》-大數據百家講壇-廈門大學數據庫實驗室主辦第122期-杜海博士-《數據資源入表及數據資產化》-大數據百家講壇-廈門大學數據庫實驗室主辦-20240708_嗶哩嗶哩_bilibili

《A++ 敏捷開發》- 10 二八原則

團隊成員協作,利用項目數據,分析根本原因,制定糾正措施,并立馬嘗試,判斷是否有效,是改善的“基本功”。10-12章會探索里面的注意事項,13章會看兩家公司的實施情況和常見問題。 如果已經獲得高層…

Linq的常用方法

LINQ(Language Integrated Query)是.NET Framework中用于數據查詢的組件,它將查詢功能集成到C#等.NET語言中。LINQ提供了豐富的查詢操作符,這些操作符可以應用于各種數據源,如內存中的集合、數據庫、XML等。以下是一些…

java中的String 以及其方法(超詳細!!!)

文章目錄 一、String類型是什么String不可變的原因(經典面試題)String不可變的好處 二、String的常用構造形式1.使用常量串構造2.使用newString對象構造3.字符串數組構造 三、常用方法1. length() 獲取字符串的長度2. charAt() 獲取字符串中指定字符的值 (代碼單元)3. codePoin…

水的幾個科學問題及引發的思考

水的幾個科學問題及引發的思考 兩個相同的容器A和B,分別裝有同質量的水,然后,在A容器中加入水,在B容器中加入冰,如果加入水和冰的質量相同。問,容器B的水位將與容器A的水位相同嗎(假設冰未融化時…

Log4j的原理及應用詳解(二)

本系列文章簡介: 在軟件開發的廣闊領域中,日志記錄是一項至關重要的活動。它不僅幫助開發者追蹤程序的執行流程,還在問題排查、性能監控以及用戶行為分析等方面發揮著不可替代的作用。隨著軟件系統的日益復雜,對日志管理的需求也日…

MySQL和SQlServer的區別

MySQL和SQlServer的區別 說明:在一些常用的SQL語句中,MySQL和SQLServer存在有一些區別,后續我也會將我遇到的不同點持續更新在這篇博客中。 1. 獲取當前時間 SQLServer: -- SQLServer -- 1.獲取當前時間 SELECT GETDATE(); --…

Vue2切換圖片小案例

代碼中 v-show "index>0",是表示下標只有大于零時上一頁按鈕才會顯示v-show "index<list.length-1",是表示下標只有小于list數組的最大值才會顯示&#xff0c;反之隱藏。click "index--"和click "index",是點擊按鈕后加減數…

【ZooKeeper學習筆記】

1. ZooKeeper基本概念 Zookeeper官網&#xff1a;https://zookeeper.apache.org/index.html Zookeeper是Apache Hadoop項目中的一個子項目&#xff0c;是一個樹形目錄服務Zookeeper翻譯過來就是動物園管理員&#xff0c;用來管理Hadoop&#xff08;大象&#xff09;、Hive&…

AR0132AT 1/3 英寸 CMOS 數字圖像傳感器可提供百萬像素 HDR 圖像處理(器件編號包含:AR0132AT6R、AR0132AT6C)

AR0132AT 1/3 英寸 CMOS 數字圖像傳感器&#xff0c;帶 1280H x 960V 有效像素陣列。它能在線性或高動態模式下捕捉圖像&#xff0c;且帶有卷簾快門讀取。它包含了多種復雜的攝像功能&#xff0c;如自動曝光控制、開窗&#xff0c;以及視頻和單幀模式。它適用于低光度和高動態范…

QML界面控件加載與顯示順序

一、QML界面控件加載順序 QML在界面加載時的順序和我們認知的有很大的不同&#xff0c;有時候會對我們獲取參數以及界面實現造成很大的困擾 1、加載順序 import QtQuick 2.12 import QtQml 2.12 import QtQuick.Window 2.12 import QtQuick.VirtualKeyboard 2.4Window {id: …

Open3D點云算法與點云深度學習案例匯總(長期更新)

目錄 引言 Open3D算法匯總 Open3D快速安裝 測試點云資料 一、點云的讀寫與顯示 二、KD tree和八叉樹的應用 三、點云特征提取 四、點云濾波算法 五、點云配準算法 六、點云分割算法&#xff08;待更新&#xff09; 七、常用操作 八、數據轉換 九、常用小工具 三維…

交換機的二三層原理

相同VLAN的交換機交換原理&#xff08;二層交換原理&#xff09;&#xff1a; 交換機收到數據幀&#xff0c;首先會檢查數據幀的VLAN標簽和目標MAC&#xff0c;若屬于相同VLAN&#xff0c;且該目標MAC在本地MAC表中&#xff0c;則直接根據出接口進行數據轉發 不同VLAN的交換機…

九盾安防:如何調控叉車限速器的報警速度呢

在繁忙的物流倉儲和制造業環境中&#xff0c;叉車是不可或缺的搬運設備。然而&#xff0c;其高速行駛也帶來了潛在的安全隱患。為了確保作業人員和貨物的安全&#xff0c;又車限速器的設置顯得尤為關鍵。那么&#xff0c;如何調控叉車限速器的報警速度呢? 叉車限速器的速度調整…

復制vmware虛擬機文件并改名(文件名使用python替換)得到一臺新的虛擬機

文章目錄 需求實驗復制文件夾并重命名使用python將所有文件名“WinSer2022”字符替換成“wingetmac”修改虛擬機配置文件&#xff08;.vmx&#xff09;打開新的虛擬機成功 需求 將已有的Winser2022虛擬機復制成wingetmac并開機 實驗 復制文件夾并重命名 將"WinSer2022…

《人生苦短,我用python·九》python之線程池ThreadPoolExecutor的使用

Python線程池是一種管理和使用線程的高級抽象&#xff0c;使得線程的創建、分配和管理更加方便。通過線程池&#xff0c;可以避免頻繁地創建和銷毀線程&#xff0c;從而提高程序的性能。Python的concurrent.futures模塊提供了一個ThreadPoolExecutor類&#xff0c;可以方便地使…

了解并緩解 IP 欺騙攻擊

欺騙是黑客用來未經授權訪問計算機或網絡的一種網絡攻擊&#xff0c;IP 欺騙是其他欺騙方法中最常見的欺騙類型。通過 IP 欺騙&#xff0c;攻擊者可以隱藏 IP 數據包的真實來源&#xff0c;使攻擊來源難以知曉。一旦訪問網絡或設備/主機&#xff0c;網絡犯罪分子通常會挖掘其中…

1559. 二維網格圖中探測環

1559. 二維網格圖中探測環 給你一個二維字符網格數組 grid &#xff0c;大小為 m x n &#xff0c;你需要檢查 grid 中是否存在 相同值 形成的環。 一個環是一條開始和結束于同一個格子的長度 大于等于 4 的路徑。對于一個給定的格子&#xff0c;你可以移動到它上、下、左、右…