使用mavros啟動多機SITL仿真

使用mavros啟動多機SITL仿真

  • 方式1:使用roslaunch一鍵啟動
    • Step1:創建一個新的 ROS 包或放到現有包里
    • Step2:編輯 `multi_mavros.launch`
    • Step3:構建工作空間并 source 環境
    • Step4:構建工作空間并 source 環境
  • 方式2:啟動單架無人機 MAVROS

為多個PX4 SITL無人機分別啟動各自的 mavros 實例進行通信。每架無人機都用一組不同的 UDP 和 TCP 端口進行連接。我們只需要為每架無人機配置一組唯一的 fcu_url 來啟動多個 mavros 節點。

方式1:使用roslaunch一鍵啟動

Step1:創建一個新的 ROS 包或放到現有包里

cd ~/catkin_ws/src
catkin_create_pkg my_multi_mavros
mkdir -p my_multi_mavros/launch
cd ~/catkin_ws/src/my_multi_mavros/launch
touch multi_mavros.launch

Step2:編輯 multi_mavros.launch

<launch><!-- UAV1 --><group ns="uav1"><include file="$(find mavros)/launch/px4.launch"><arg name="fcu_url" value="udp://:20101@127.0.0.1:20100"/><arg name="gcs_url" value=""/><arg name="tgt_system" value="1"/></include></group><!-- UAV2 --><group ns="uav2"><include file="$(find mavros)/launch/px4.launch"><arg name="fcu_url" value="udp://:20103@127.0.0.1:20102"/><arg name="gcs_url" value=""/><arg name="tgt_system" value="2"/></include></group><!-- UAV3 --><group ns="uav3"><include file="$(find mavros)/launch/px4.launch"><arg name="fcu_url" value="udp://:20105@127.0.0.1:20104"/><arg name="gcs_url" value=""/><arg name="tgt_system" value="3"/></include></group><!-- UAV4 --><group ns="uav4"><include file="$(find mavros)/launch/px4.launch"><arg name="fcu_url" value="udp://:20107@127.0.0.1:20106"/><arg name="gcs_url" value=""/><arg name="tgt_system" value="4"/></include></group>
</launch>

Step3:構建工作空間并 source 環境

cd ~/catkin_ws
catkin_make
source devel/setup.bash

Step4:構建工作空間并 source 環境

roslaunch my_multi_mavros multi_mavros.launch

在這里插入圖片描述

方式2:啟動單架無人機 MAVROS

也可以單獨啟動 MAVROS 實例,比如:

roslaunch mavros px4.launch fcu_url:=udp://:20101@127.0.0.1:20100 \__ns:=uav1 tgt_system:=1roslaunch mavros px4.launch fcu_url:=udp://:20103@127.0.0.1:20102 \__ns:=uav2 tgt_system:=2roslaunch mavros px4.launch fcu_url:=udp://:20105@127.0.0.1:20104 \__ns:=uav3 tgt_system:=3roslaunch mavros px4.launch fcu_url:=udp://:20107@127.0.0.1:20106 \__ns:=uav4 tgt_system:=4

問題1: PX4 SITL 啟動時日志里寫的是 17541/16541,那為什么 mavrosfcu_url 要用 20100/20101 而不是 17541/16541

2010020101 是你自己在仿真系統(例如Gazebo )中 人為分配給 MAVROS 與 PX4 通信的中間橋接端口對,它們并不等于 PX4 SITL 啟動時用的 17541/16541 內部端口

問題2: 為什么 uav1 用的是 20101/20100,而 uav2 用的是 20103/20102?為什么不是 20101/2010020102/20101

啟動時已經為每架 MAVROS 與 PX4 的通信創建了一對端口:一個接收端(MAVROS本地端口)+一個發送端(PX4目標端口)。
端口增加“2”其實是人為設計的一種“互不沖突 + 成對編號”的方式 —— 每架無人機占用兩個連續端口,一個作為收,一個作為發。

? MAVROS 與 PX4 通信是雙向的:需要兩個端口

fcu_url:=udp://:20101@127.0.0.1:20100

含義是:

  • MAVROS 接收數據:監聽 20101(MAVROS本地UDP接收端)
  • MAVROS 發送數據:發到 PX4 的 127.0.0.1:20100

所以:

  • PX4 要配置為 將 MAVLink 數據發到 20101
  • PX4 要監聽 20100 來接收來自 MAVROS 的數據

這對端口從 MAVROS 視角是:本地:20101 ← PX4:20100

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

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

相關文章

Flutter 網絡棧入門,Dio 與 Retrofit 全面指南

面向多年 iOS 開發者的零阻力上手 寫在前面 你在 iOS 項目中也許習慣了 URLSession、Alamofire 或 Moya。 換到 Flutter 后&#xff0c;等價的「組合拳」就是 Dio Retrofit。 本文將帶你一次吃透兩套庫的安裝、核心 API、進階技巧與最佳實踐。 1. Dio&#xff1a;Flutter 里的…

工作室考核源碼(帶后端)

題目內容可更改 下載地址:https://mcwlkj.lanzoub.com/iUF3z300tgfe 如圖所示

數字孿生技術為UI前端提供全面支持:實現產品的可視化配置與定制

hello寶子們...我們是艾斯視覺擅長ui設計、前端開發、數字孿生、大數據、三維建模、三維動畫10年經驗!希望我的分享能幫助到您!如需幫助可以評論關注私信我們一起探討!致敬感謝感恩! 一、引言&#xff1a;數字孿生驅動產品定制的技術革命 在消費升級與工業 4.0 的雙重驅動下&a…

通往物理世界自主智能的二元實在論與羅塞塔協議

序章&#xff1a;AI的“兩種文化”之爭——我們是否在構建錯誤的“神”&#xff1f; 自誕生以來&#xff0c;人工智能領域始終存在著一場隱秘的“兩種文化”之爭。一方是符號主義與邏輯的信徒&#xff0c;他們追求可解釋、嚴謹的推理&#xff0c;相信智能的核心在于對世界規則…

探索 AI 系統提示與模型資源庫:`system-prompts-and-models-of-ai-tools`

在當今的人工智能領域,系統提示和工具模型的優化與應用對于提升 AI 助手的性能和響應質量至關重要。x1xhlol 開源的 system-prompts-and-models-of-ai-tools 倉庫為開發者們提供了一個豐富的資源集合,涵蓋了多種 AI 工具的系統提示、工具和模型。 倉庫概述 這個倉庫包含了超…

城市燈光夜景人像街拍攝影后期Lr調色教程,手機濾鏡PS+Lightroom預設下載!

調色教程 “城市燈光夜景人像街拍攝影后期 Lr 調色”&#xff0c;主要是利用 Lightroom 軟件&#xff0c;對城市夜景中燈光下的人像街拍照片進行處理。通過調整色彩平衡、明暗對比和細節質感&#xff0c;強化夜景燈光的絢麗感&#xff0c;突出人像主體&#xff0c;同時協調人物…

JavaScript中的call、apply、bind:用法、實現與區別詳解(面試常見)

# JavaScript中的call、apply、bind&#xff1a;用法、實現與區別詳解## 核心概念 這三個方法都用于改變函數執行時的this指向&#xff0c;是JavaScript中函數上下文操作的核心API。## 1. 基本用法對比### call方法 javascript function.call(thisArg, arg1, arg2, ...)特點&am…

使用vue開發瀏覽器chrome插件教程,及之間的消息通信

基本介紹 開發瀏覽器插件&#xff0c;首先需要先了解他的結構&#xff0c;瀏覽器擴展通常包括以下幾個部分 ├── manifest.json ├── package.json ├── vite.config.js ├── src ├── background │ └── index.js ├── content │ └── content.js ├── …

論文筆記(八十八)MLCVNet: Multi-Level Context VoteNet for 3D Object Detection

MLCVNet: Multi-Level Context VoteNet for 3D Object Detection 文章概括摘要I. 引言2. 相關工作2.1. 基于點云的 3D 目標檢測2.2. 上下文信息 3. 方法3.1. VoteNet3.2. PPC 模塊3.3. OOC 模塊3.4. GSC 模塊 4. 結果與討論4.1. 數據集4.2. 訓練細節4.3. 與最先進方法的比較4.4…

Redis初識第四期----Hash的命令和應用場景

首先為了區分Redis的鍵值對存儲的key-value&#xff0c;Hash中的鍵值對稱為field-value。 命令 1.Hset Hset key field value [field value] 返回值為設置成功的field-value的個數。 2.Hget Hget key field 返回為value 3.Hexists Hexists key field 判斷是否存在&a…

【大數據技術棧】數據管理范疇常用大數據技術棧

一、技術棧分層架構 大數據技術棧通常分為四個核心層級&#xff1a; 數據采集層 負責多源異構數據的實時/批量采集 日志采集&#xff1a; F l u m e Flume Flume、 L o g s t a s h Logstash Logstash消息隊列&#xff1a; K a f k a Kafka Kafka、 R a b b i t M Q RabbitMQ …

安全左移(Shift Left Security):軟件安全的演進之路

文章目錄 一、背景&#xff1a;傳統安全的尷尬處境二、安全左移&#xff1a;讓安全成為開發的“第一等公民”三、安全左移的關鍵實施階段1. 需求階段&#xff1a;嵌入安全需求建模2. 設計階段&#xff1a;威脅建模與架構審計3. 編碼階段&#xff1a;安全編碼規范與靜態分析4. 構…

固定債可以賣call嗎

我們都知道如果持有tlt&#xff0c;可以賣call來賺取時間價值&#xff0c;如果我買固定到期的美債而不是etf&#xff0c;有類似的操作嗎&#xff0c;我可以賣call嗎 以下是關于直接持有固定到期美債并嘗試賣出看漲期權的詳細分析&#xff1a; 一、直接持有美債與ETF&#xff08…

fish安裝node.js環境

為什么強調fish shell&#xff0c;因為fish shell的緣故&#xff0c;不能直接執行node.js官網的命令 好的&#xff0c;您遇到了一個非常典型且重要的問題。請仔細閱讀我的分析&#xff0c;這能幫您徹底解決問題。 問題診斷 您看到的所有錯誤&#xff0c;歸根結底有兩個核心原…

記一次Ubuntu22安裝MongoDB8并同步本地數據過程

1. 效果展示 2. 安裝MongoDB 8 根據官方文檔https://www.mongodb.com/zh-cn/docs/manual/tutorial/install-mongodb-on-ubuntu/一頓操作即可 2.1 配置微調支持遠程訪問 修改配置文件,默認/etc/mongod.conf # network interfaces net:port: 27017bindIp: 0.0.0.02.2 新增adm…

HarmonyOS應用開發高級認證知識點梳理 (三)狀態管理V2裝飾器核心規則

以下是針對HarmonyOS應用開發高級認證備考的?狀態管理V2裝飾器核心規則?知識點系統梳理&#xff1a; 一、核心裝飾器分類與功能 1. ?組件聲明裝飾器? ComponentV2? (1)基礎定義與限制 功能定位? 用于裝飾自定義組件&#xff0c;啟用V2狀態管理能力&#xff0c;需配…

SAP資產記賬相關業務成本中心為空的問題

用戶在資產記賬時&#xff0c;發現字段“成本中心”是空且為灰色的&#xff0c;并沒有顯示資產對應的成本中心&#xff0c;如下圖所示&#xff1a; 首先&#xff0c;關于資產購置記賬的相關業務&#xff0c;成本中心要不要顯示&#xff1f;其實是可以不顯示的&#xff0c;它是來…

智源大會AI安全論壇:深挖風險紅線,探討應對措施

6月7日&#xff0c;在與安遠AI聯合主辦的智源大會“AI安全論壇”上&#xff0c;來自MIT、清華、復旦、人大、智源、多倫多大學、新加坡管理大學、Redwood Research、瑞萊智慧和安遠AI 的學者與技術專家同臺&#xff0c;以“AI安全”為核心議題&#xff0c;從主旨報告&#xff0…

電機控制的一些筆記

1. 電角度和機械角度 電角度 機械角度 * 磁極對數 機械角度就是實際的空間幾何角度&#xff0c;范圍是0-360 https://blog.csdn.net/leekay123/article/details/108655482 https://www.bilibili.com/video/BV11Q4y1Y7kR/?spm_id_from333.788.recommend_more_video.1&vd…

c#手動編譯

一、配置環境變量 點擊環境變量&#xff0c;在用戶變量的path進行新建&#xff0c;點擊編輯 點擊新建 點擊新建 添加文件目錄 這是我的可能不一樣&#xff0c;C:\Windows\Microsoft.NET\Framework64\v4.0.30319 輸入 點擊確定&#xff0c;就可以了 二、建立cs文件 代碼實例…