(11)用于無GPS導航的制圖師SLAM(二)

文章目錄

前言

7 構建軟件包

8 開始制圖

9 配置 ArduPilot

10 測試

11 視頻


前言

本頁展示了如何使用 RPLidarA2 激光雷達(RPLidarA2 lidar)設置 ROS 和 Google Cartographer SLAM,為 ArduPilot 提供本地位置估計,使其可以在沒有 GPS 的情況下運行。

這些說明在使用 APSync 更新的 NVidia TX2 上進行了測試,然后按照此處所述安裝(installed as described here)了 ROS 和 MAVROS。

Note

這些頁面正在制作中。


7 構建軟件包

cd $HOME/catkin_ws

catkin build

source devel/setup.bash

8 開始制圖

RPLidarA2 插頭插入配套電腦,然后打開四個端子,并在每個端子類型中打開:

cd catkin_ws

source devel/setup.bash

然后在終端1:

roscore

在終端2:

roslaunch rplidar_ros rplidar.launch

在終端3:

roslaunch cartographer_ros cartographer.launch

在終端4:

按照“連接 ROS”頁面(?Connecting with ROS page)上的說明啟動 mavros,其中包括運行類似下面的命令:

roslaunch mavros apm.launch fcu_url:=udp://:14855@

9 配置 ArduPilot

用地面站(即 Mission Planner)連接飛行控制器,并檢查以下參數是否設置如下:

  • AHRS_EKF_TYPE = 3,用于使用 EKF3;
  • EK2_ENABLE = 0,禁用 EKF2;
  • EK3_ENABLE = 1,啟用 EKF3;
  • EK3_SRC1_POSXY = 6,將位置水平源設置為 ExternalNAV;
  • EK3_SRC1_POSZ? = 1,將位置垂直源設置為 Baro;
  • EK3_SRC1_VELXY = 6,將速度水平源設置為 ExternalNAV;
  • EK3_SRC1_VELZ = 6,將垂直速度源設置為 ExternalNAV;
  • EK3_SRC1_YAW = 6,用于將偏航源設置為 ExternalNAV;
  • GPS1_TYPE? = 0,禁用 GPS;
  • VISO_TYPE = 1,用于啟用目視里程計;
  • ARMING_CHECK = 388598(可選,用于禁用 GPS 檢查)。

更改上述任何數值后,重新啟動飛行控制器。

如果一切正常,視覺位置估計值應開始從 ROS 傳輸到 ArduPilot。使用任務計劃器(或類似工具)連接到飛行控制器,檢查飛行數據屏幕的 “信息 ”選項卡(左下角)是否有來自 EKF 的信息,如下圖所示,即可確認這一點:

EKF2 IMU1 initial pos NED = 0.0,0.0,0.0 (m)

EKF2 IMU1 is using external nav data

EKF2 IMU0 initial pos NED = 0.0,0.0,0.0 (m)

EKF2 IMU0 is using external nav data

使用任務計劃器(或類似工具)進入“飛行數據”屏幕,然后用鼠標右鍵單擊地圖,選擇 “在此設置原點”>>“設置 EKF 原點”。飛行器應立即出現在你點擊的地圖上。

10 測試

要確認 ROS 端工作正常,請鍵入以下命令,制圖師提供的位置估計實時更新信息就會顯示出來:

rostopic echo /robot_pose

任務規劃器的 MAVLink 檢查器(按 Ctrl-F,然后按“MAVLink 檢查器”按鈕)可用于檢查 VISION_POSITION_ESTIMATE 信息是否成功發送至飛行控制器。

11 視頻

Note

我們非常希望改進 ArduPilot 對 ROS 的支持,因此如果您發現問題(例如似乎不支持的命令),請在 ArduPilot 問題列表(ArduPilot issues list)中報告,并在標題中注明“ROS”,我們將嘗試盡快解決這些問題。

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

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

相關文章

1.5、機器學習-回歸算法

1、線性回歸模型 線性回歸模型(Liner Regression),是利用線性擬合的方式來探尋數據背后的規律。通過搭建線性回歸模型,可以尋找這些散點(也稱樣本點)背后的趨勢線(也稱回歸曲線)。 借助回歸曲線,我們可以進行一些簡單…

eclipse 安裝 lombok

好久沒有用eclipse,新裝eclipse 發現lombok 沒有生效,如下安裝最省事,無需安裝plugin等。 進入maven 本地目錄,如:org\projectlombok\lombok\1.18.38,點擊lombok jar文件指定eclipse 目錄,安裝完…

linux離線安裝elasticsearch8.19.3

下載: 官網多版本下載: Past Releases of Elastic Stack Software | Elastic github多版本下載: https://github.com/elastic/elasticsearch/releases 上傳后解壓到當前目錄 tar -zxvf elasticsearch-8.19.3-linux-x86_64.tar.gz 或指定解壓目錄 tar -xzf elasticsearch-8…

Uniapp中進行微信小程序頭像和昵稱的更改

一、官方文檔: 1、wx.getUserInfo(uni.getUserInfo):基礎庫版本低于2.27.1可用 ① 文檔鏈接: https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserInfo.htmlhttps://uniapp.dclou…

交換機詳細

交換機(Sritch):一種用于電(光)信號轉發的網絡設備,可以為接入交換機的任意兩個網絡節點提供獨享的電信號通路。解決什么問題?多臺設備之間的數據交換的問題。因此根據它的功能,它通…

功能強大的多線程端口掃描工具,支持批量 IP 掃描、多種端口格式輸入、掃描結果美化導出,適用于網絡安全檢測與端口監控場景

工具介紹 PortScanner - 多線程端口掃描工具,一款功能強大的多線程端口掃描工具,支持批量 IP 掃描、多種端口格式輸入、掃描結果美化導出,適用于網絡安全檢測與端口監控場景。🌟 功能特性 🔍 靈活的掃描目標&#xff1…

【OpenHarmony文件管理子系統】文件訪問接口mod_fileio解析

OpenHarmony文件訪問接口mod_fileio解析 概述 mod_fileio模塊是OpenHarmony文件管理API中的核心模塊之一,提供了完整的文件I/O操作功能。該模塊基于Node.js N-API構建,為JavaScript應用提供了豐富的文件系統操作接口,包括文件讀寫、目錄操作、…

js逆向Webpack模塊加載機制解析:從數組到JSONP

1. 概述 Webpack作為現代前端開發中最流行的模塊打包工具,其模塊加載機制值得深入理解。本文將解析Webpack的幾種模塊加載方式,包括數組形式、鍵值對形式和JSONP動態加載。只有理解了它的相關加載機制,我們才可以進行逆向工作。 2. 數組形式的…

Joplin-解決 Node.js 中 “digital envelope routines::unsupported“ 錯誤

解決 Node.js 中 “digital envelope routines::unsupported” 錯誤 在使用 Webpack 構建 Joplin 插件時,你可能會遇到 error:0308010C:digital envelope routines::unsupported 錯誤。這個錯誤看起來很復雜,但實際上有明確的原因和解決方案。 錯誤原因…

UE5 UAT

通過UAT 打包的流程&#xff0c;先整理這么點入口// Engine\Source\Programs\AutomationTool\Program.cs /// <summary> /// Main entry point /// </summary> public partial class Program {public static async Task<int> Main(string[] Arguments){Logge…

Python帶狀態生成器完全指南:從基礎到高并發系統設計

引言&#xff1a;狀態化生成器的核心價值在復雜系統開發中&#xff0c;帶狀態的生成器是處理復雜邏輯的核心工具。根據2024年Python開發者調查報告&#xff1a;78%的狀態機實現使用帶狀態生成器85%的數據管道依賴狀態化生成器92%的并發系統需要狀態管理65%的算法優化通過狀態化…

Python元組:不可變但靈活的數據容器

Python元組&#xff1a;不可變但靈活的數據容器 元組(tuple)是Python中一種不可變(immutable)但功能靈活的有序集合數據類型&#xff0c;具有以下核心特性&#xff1a;一、基本特性 不可變性?&#xff1a;創建后不能修改元素&#xff08;增刪改操作均不允許&#xff09; 有序存…

FastGPT源碼解析 Agent 大模型對接接口和使用詳解

FastGPT 大模型對接核心代碼分析 核心架構概覽 FastGPT 采用統一模型抽象層設計&#xff0c;通過標準化接口對接多種大模型&#xff0c;支持 LLM、Embedding、ReRank、TTS、STT 等多種 AI 能力。 支持各種大模型能力的配置&#xff0c;包括本地ollama、各個AI云廠商的API接入配…

AI Compass前沿速覽:Kimi K2、InfinityHuman-AI數字人、3D-AI桌面伴侶、疊疊社–AI虛擬陪伴

AI Compass前沿速覽&#xff1a;Kimi K2、InfinityHuman-AI數字人、3D-AI桌面伴侶、疊疊社–AI虛擬陪伴 AI-Compass 致力于構建最全面、最實用、最前沿的AI技術學習和實踐生態&#xff0c;通過六大核心模塊的系統化組織&#xff0c;為不同層次的學習者和開發者提供從完整學習路…

如何下載B站視頻,去水印,翻譯字幕

首先先來看下如何下載B站視頻及音頻工具&#xff1a;手機下載視頻打開文件管理器&#xff0c;找到video.m4s和audio.m4s兩個文件更改文件后綴名第一步到此為止然后我們再來看一下如何去水印&#xff0c;去字幕工具&#xff1a;剪映導入視頻選擇蒙版 > 鏡面點擊反轉點擊基礎&…

用 Cursor AI 快速開發你的第一個編程小程序

Cursor AI 作為新一代 AI 編程助手&#xff0c;集成了代碼補全、智能調試、自動生成等強大功能&#xff0c;非常適合用來開發小型應用或小程序。本文我將手把手帶你用 Cursor AI 開發一個簡單的天氣查詢小程序&#xff0c;并在文中推薦一門實用的商業變現課程&#xff0c;助你走…

MacOS 使用 luarocks+wrk+luajit

MacOS 使用 luarockswrkluajit luarocks 默認使用的是 lua 5.4 版本&#xff0c;一些工具&#xff0c;例如 wrk 使用的 lua 5.1&#xff0c;那么 luarocks 在安裝依賴的時候就需要指定 lua 5.1。 luarocks config 配置 lua 5.1 請確保已經安裝了 lua5.1 或者 luajit&#xff0c…

PostgreSQL18-FDW連接的 SCRAM 直通身份驗證

PostgreSQL18-FDW連接的 SCRAM 直通身份驗證 PostgreSQL 18 為使用 postgres_fdw 或 dblink_fdw 的人帶來了很好的改進&#xff1a;SCRAM 直通身份驗證。設置外部服務器連接時&#xff0c;您不再需要在“用戶映射”選項中存儲純文本密碼。 這是實現它的提交&#xff1a; commit…

“臥槽,系統又崩了!”——別慌,這也許是你看過最通俗易懂的分布式入門

在分布式系統中&#xff0c;有效應對節點故障、網絡分區延遲和數據一致性等挑戰至關重要。本文將剖析保障分布式系統可靠性的核心機制&#xff1a;數據分片實現水平擴展&#xff0c;冗余副本保障數據高可用&#xff0c;租約&#xff08;Lease&#xff09;機制優化節點狀態共識與…

【代碼隨想錄算法訓練營——Day4】鏈表——24.兩兩交換鏈表中的節點、19.刪除鏈表的倒數第N個節點、面試題02.07.鏈表相交、142.環形鏈表II

LeetCode題目鏈接 https://leetcode.cn/problems/swap-nodes-in-pairs/ https://leetcode.cn/problems/remove-nth-node-from-end-of-list/ https://leetcode.cn/problems/intersection-of-two-linked-lists-lcci/description/ https://leetcode.cn/problems/linked-list-cycle…