使用Docker模拟PX4固件的无人机用于辅助地面站开发

前言

最近在制作鸿蒙无人机地面站,模仿的是QGroundControl,协议使用mavlink,记录一下本地模拟mavlink协议通过tcp/udp发送

废话不多说直接上命令

1.启动docker的桌面端

启动之后才能使用docker命令来创建容器

docker run --rm -it jonasvautherin/px4-gazebo-headless:1.14.3

 创建成功

 mavlink命令详情

 Commands:start         Start a new instance[-d <val>]  Select Serial Devicevalues: <file:dev>, default: /dev/ttyS1[-b <val>]  Baudrate (can also be p:<param_name>)default: 57600[-r <val>]  Maximum sending data rate in B/s (if 0, use baudrate / 20)default: 0[-p]        Enable Broadcast[-u <val>]  Select UDP Network Port (local)default: 14556[-o <val>]  Select UDP Network Port (remote)default: 14550[-t <val>]  Partner IP (broadcasting can be enabled via -p flag)default: 127.0.0.1[-m <val>]  Mode: sets default streams and ratesvalues: custom|camera|onboard|osd|magic|config|iridium|minimal|extvision|extvisionmin|gimbal|uavionix,[-n <val>]  wifi/ethernet interface namevalues: <interface_name>[-f]        Enable message forwarding to other Mavlink instances[-w]        Wait to send, until first message received[-x]        Enable FTP[-z]        Force hardware flow control always on[-Z]        Force hardware flow control always offstop-all      Stop all instancesstop          Stop a running instance[-u <val>]  Select Mavlink instance via local Network Port[-d <val>]  Select Mavlink instance via Serial Devicevalues: <file:dev>status        Print status for all instances[streams  ] Print all enabled streamsstream        Configure the sending rate of a stream for a running instance[-u <val>]  Select Mavlink instance via local Network Port[-d <val>]  Select Mavlink instance via Serial Devicevalues: <file:dev>-s <val>    Mavlink stream to configure-r <val>    Rate in Hz (0 = turn off, -1 = set to default)

英文不好的伙伴看中文

start 命令
启动一个新的 MAVLink 实例,通常用于开始与一个设备或网络的通信。-d <val>
选择串行设备:指定连接的串口设备。默认值是 /dev/ttyS1,可以指定为文件路径(如 /dev/ttyUSB0)。-b <val>
波特率:设置串行通信的波特率。默认是 57600。可以通过 p:<param_name> 的方式设置为某个参数值。-r <val>
最大发送数据率:设置最大数据发送速率(字节/秒)。如果设置为 0,则使用默认的波特率除以 20。-p
启用广播:启用广播模式,这意味着不需要指定目标地址,消息将广播到所有连接的设备。-u <val>
选择 UDP 网络端口(本地):指定本地监听的 UDP 网络端口。默认端口是 14556。-o <val>
选择 UDP 网络端口(远程):指定远程设备的 UDP 网络端口,默认是 14550。-t <val>
指定合作伙伴的 IP 地址:指定远程设备的 IP 地址。默认值是 127.0.0.1(本地回环地址)。可以使用此选项来设置与远程设备的连接。-m <val>
模式:设置 MAVLink 实例的默认流和速率。可选的模式包括:custom
camera
onboard
osd
magic
config
iridium
minimal
extvision
extvisionmin
gimbal
uavionix
每个模式都有不同的流设置和数据传输速率。
-n <val>
Wi-Fi 或以太网接口名称:指定使用的网络接口名称。例如,eth0 或 wlan0。-f
启用消息转发:将接收到的消息转发到其他 MAVLink 实例。-w
等待直到收到第一条消息:启动时等待直到接收到第一条消息,然后开始发送数据。-x
启用 FTP:启用文件传输协议功能,可以用来从设备上传或下载文件。-z
始终启用硬件流控:强制始终启用硬件流控制。-Z
始终禁用硬件流控:强制始终禁用硬件流控制。stop-all 命令
停止所有正在运行的 MAVLink 实例。stop 命令
停止一个正在运行的 MAVLink 实例。-u <val>
选择通过本地网络端口选择 MAVLink 实例:通过指定本地网络端口来选择要停止的实例。-d <val>
通过串行设备选择 MAVLink 实例:通过指定设备路径来选择要停止的实例。status 命令
显示所有 MAVLink 实例的状态。streams
打印所有启用的流:列出当前实例启用的所有数据流。
stream 命令
配置运行中的 MAVLink 实例的数据流发送速率。-u <val>
通过本地网络端口选择 MAVLink 实例:通过指定本地网络端口来选择要配置的实例。-d <val>
通过串行设备选择 MAVLink 实例:通过指定串行设备来选择要配置的实例。-s <val>
MAVLink 数据流名称:选择要配置的流类型。例如,heartbeat、gps、attitude 等。-r <val>
发送速率(Hz):设置该数据流的发送频率。0 表示关闭该流,-1 表示使用默认值。

启动UDP

mavlink start -t 172.20.10.8 -o 14550 -u 14555

测试

打开QGC地面站即可进行测试,QGC默认的端口即为14550

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/1184.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#调用OpenCvSharp实现图像的开运算和闭运算

对图像同时进行腐蚀和膨胀操作&#xff0c;顺序不同则效果也不同。先腐蚀后膨胀为开运算&#xff0c;能够消除小斑点和细小的突出物、平滑图像以及改善边缘&#xff1b;先膨胀后腐蚀为闭运算&#xff0c;能够去除噪点、填补图像孔洞、连接邻近物体和平滑物体边界。   OpenCvS…

整数和浮点数的存储

整数的存储 整数的存储分为有符号和无符号的整数的存储&#xff0c;整数2进制的表示方法有三种&#xff0c;分别是原码、反码、补码&#xff0c;内存中存储的是补码&#xff0c;反码可以理解为是一个中转站&#xff0c;原码就是直接将数值按照正负形式翻译成的二进制数字 有符…

<论文>时序大模型如何应用于金融领域?

一、摘要 本文介绍2024年的论文《Financial Fine-tuning a Large Time Series Model》&#xff0c;论文探索了主流的时间序列大模型在金融领域的微调应用实践&#xff0c;为时序大模型的领域微调提供了参考。 译文&#xff1a; 大型模型在自然语言处理、图像生成以及近期的时间…

【Linux】深入理解文件系统(超详细)

目录 一.磁盘 1-1 磁盘、服务器、机柜、机房 &#x1f4cc;补充&#xff1a; &#x1f4cc;通常网络中用高低电平&#xff0c;磁盘中用磁化方向来表示。以下是具体说明&#xff1a; &#x1f4cc;如果有一块磁盘要进行销毁该怎么办&#xff1f; 1-2 磁盘存储结构 ​编辑…

UML系列之Rational Rose笔记七:状态图

一、新建状态图 依旧是新建statechart diagram&#xff1b; 二、工作台介绍 接着就是一个状态的开始&#xff1a;开始黑点依旧可以从左边进行拖动放置&#xff1a; 这就是状态的开始&#xff0c;和活动图泳道图是一样的&#xff1b;只能有一个开始&#xff0c;但是可以有多个…

快速上手 INFINI Console 的 TopN 指标功能

背景 在分布式搜索引擎系统&#xff08;如 Easysearch、Elasticsearch 和 OpenSearch&#xff09;中&#xff0c;性能监控至关重要。为了确保系统的高效运行和资源的合理分配&#xff0c;我们通常需要关注一段时间内关键资源的使用情况&#xff0c;特别是索引、节点和分片的内…

springboot vue uniapp 仿小红书 1:1 还原 (含源码演示)

线上预览: 移动端 http://8.146.211.120:8081/ 管理端 http://8.146.211.120:8088/ 小红书凭借优秀的产品体验 和超高人气 目前成为笔记类产品佼佼者 此项目将详细介绍如何使用Vue.js和Spring Boot 集合uniapp 开发一个仿小红书应用&#xff0c;凭借uniapp 可以在h5 小程序 app…

面向对象分析与设计Python版 分析与设计概述

文章目录 一、软件工程概述二、分析与设计概述三、领域模型 一、软件工程概述 高质量软件系统的基本要求 架构性内聚可重用性可维护性可扩展性灵活性 软件开发过程模型&#xff1a;是指根据软件开发项目从开始到结束的一系列步骤和方法&#xff0c;建模为不同的模型。常见的…

3D目标检测数据集——Waymo数据集

Waymo数据集簡介 发布首页&#xff1a;https://waymo.com/open/ 论文&#xff1a;https://openaccess.thecvf.com/content_CVPR_2020/papers/Sun_Scalability_in_Perception_for_Autonomous_Driving_Waymo_Open_Dataset_CVPR_2020_paper.pdf github&#xff1a;https://github.…

[笔记] 使用 Jenkins 实现 CI/CD :从 GitLab 拉取 Java 项目并部署至 Windows Server

随着软件开发节奏的加快&#xff0c;持续集成&#xff08;CI&#xff09;和持续部署&#xff08;CD&#xff09;已经成为确保软件质量和加速产品发布的不可或缺的部分。Jenkins作为一款广泛使用的开源自动化服务器&#xff0c;为开发者提供了一个强大的平台来实施这些实践。然而…

基于“大型园区”网络设计

基于“大型园区”网络设计 目 录 第1章 项目概述1 1.1 项目背景1 1.2 公司概况1 1.3 网络现状2 第2章 需求分析4 2.1 部门需求4 2.2 配置需求4 2.3 网络功能需求5 第3章 网络设计6 3.1 建设原则6 3.2 网络拓扑结构6 3.3 IP地址和VLAN划分8 3.4 核心层设计9 3.5 …

回归预测 | MATLAB实RVM-Adaboost相关向量机集成学习多输入单输出回归预测

回归预测 | MATLAB实RVM-Adaboost相关向量机集成学习多输入单输出回归预测 目录 回归预测 | MATLAB实RVM-Adaboost相关向量机集成学习多输入单输出回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 RVM-Adaboost相关向量机集成学习多输入单输出回归预测是一种先进…

力扣经典练习题之70.爬楼梯

今天继续给大家分享一道力扣的做题心得今天这道题目是70.爬楼梯 题目如下&#xff1a; 题目链接&#xff1a;70.爬楼梯 1&#xff0c;题目分析 这个题目是一个经典的动态规划问题&#xff0c;它帮助我们理解如何通过分解问题来找到解决方案。在现实生活中&#xff0c;很多复杂…

Vue学习二——创建登录页面

前言 以一个登录页面为例子&#xff0c;这篇文章简单介绍了vue&#xff0c;element-plus的一些组件使用&#xff0c;vue-router页面跳转&#xff0c;pinia及持久化存储&#xff0c;axios发送请求的使用。后面的页面都大差不差&#xff0c;也都这么实现&#xff0c;只是内容&am…

ZYNQ初识10(zynq_7010)UART通信实验

基于bi站正点原子讲解视频&#xff1a; 系统框图&#xff08;基于串口的数据回环&#xff09;如下&#xff1a; 以下&#xff0c;是串口接收端的波形图&#xff0c;系统时钟和波特率时钟不同&#xff0c;为异步时钟&#xff0c;&#xff0c;需要先延时两拍&#xff0c;将时钟同…

java小知识点总结

一、比特流的本质就是数组 二、位运算 位运算就是CPU的底层原理&#xff0c;半导体电路进行位运算 位运算涉及一些算法&#xff0c;&和^ ^ 异或 两变量交换值&#xff0c;不依赖第三个变量 x^s k 异或知道两者就能推另一个 a a<<2就是乘以2的多少次方 相反 a…

vue3后台系统动态路由实现

动态路由的流程&#xff1a;用户登录之后拿到用户信息和token&#xff0c;再去请求后端给的动态路由表&#xff0c;前端处理路由格式为vue路由格式。 1&#xff09;拿到用户信息里面的角色之后再去请求路由表&#xff0c;返回的路由为tree格式 后端返回路由如下&#xff1a; …

贪心算法笔记

贪心算法笔记 大概内容 贪心就是对于一个问题有很多个步骤,我们在每一个步骤中都选取最优的那一个,最后得出答案。就是在一些函数中可行,但是有些比如二次函数,因为它的转折点不一定最优,就是不可行的。那么如何判断贪心呢?有这么几种 看时间复杂度,一般的就是 O ( n…

CVE-2025-22777 (CVSS 9.8):WordPress | GiveWP 插件的严重漏洞

漏洞描述 GiveWP 插件中发现了一个严重漏洞&#xff0c;该插件是 WordPress 最广泛使用的在线捐赠和筹款工具之一。该漏洞的编号为 CVE-2025-22777&#xff0c;CVSS 评分为 9.8&#xff0c;表明其严重性。 GiveWP 插件拥有超过 100,000 个活跃安装&#xff0c;为全球无数捐赠平…

ubuntu官方软件包网站 字体设置

在https://ubuntu.pkgs.org/22.04/ubuntu-universe-amd64/xl2tpd_1.3.16-1_amd64.deb.html搜索找到需要的软件后&#xff0c;点击&#xff0c;下滑&#xff0c; 即可在Links和Download找到相关链接&#xff0c;下载即可&#xff0c; 但是找不到ros的安装包&#xff0c; 字体设…