使用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.mzph.cn/news/892412.shtml

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

相关文章

深度学习张量的秩、轴和形状

深度学习张量的秩、轴和形状 秩、轴和形状是在深度学习中我们最关心的张量属性。 秩轴形状 秩、轴和形状是在深度学习中开始使用张量时我们最关心的三个属性。这些概念相互建立&#xff0c;从秩开始&#xff0c;然后是轴&#xff0c;最后构建到形状&#xff0c;所以请注意这…

【json】

JSON JSON是一种轻量级的,按照指定的格式去组织和封装数据的数据交互格式。 本质上是一个带有特定格式的字符串(py打印json时认定为str类型) 在各个编程语言中流通的数据格式&#xff0c;负责不同编程语言中的数据传递和交互,类似于计算机普通话 python与json关系及相互转换…

基于 Python 自动化接口测试(踩坑与实践)

文档&#xff1a;基于 Python 的自动化接口测试 目录 背景问题描述与解决思路核心代码修改点及其详细解释最终测试结果后续优化建议 1. 问题背景 本项目旨在使用 Python 模拟浏览器的请求行为&#xff0c;测试文章分页接口的可用性。测试目标接口如下&#xff1a; bashcoder…

k8s dashboard离线部署步骤

确定k8s版本&#xff0c;以1.23为例。 部署metrics-server服务&#xff0c;最好用v0.5.2。 用v0.6.0&#xff0c;可能会报以下错误&#xff1a; nodekubemaster:~/Desktop/metric$ kubectl top nodes Error from server (ServiceUnavailable): the server is currently unabl…

python学opencv|读取图像(二十八)使用cv2.warpAffine()函数平移图像

【1】引言 前序已经对图像操作进行了广泛的学习&#xff0c;包括读取、放大缩小&#xff0c;改变BGR通道值等&#xff0c;相关链接包括且不限于&#xff1a; python学opencv|读取图像-CSDN博客 python学opencv|读取图像&#xff08;三&#xff09;放大和缩小图像_python(1)使…

【LeetCode】力扣刷题热题100道(11-15题)附源码 环形链表 二叉树中序遍历 插入法(C++)

目录 1.字母异位词分组 2.环形链表 3.环形链表2 4.二叉树的中序遍历 5.搜索插入位置 1.字母异位词分组 给你一个字符串数组&#xff0c;请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 排序字符…

Java一个简单的反弹动画练习

文章目录 说明代码详解创建窗体代码创建绘图板创建线程 运行结果完整代码 说明 做了一个小球和星型做反弹动画的窗体作为练习&#xff0c;分享给大家&#xff0c;为了方便和我一样的小白可以看的比较明白&#xff0c;所以尽量详细的标注了注释&#xff0c;希望能帮到同样在学习…

监控观测数据标签体系的应用实践

前言 在复杂的应用系统环境下&#xff0c;监控数据量呈现出海量且繁杂的特点&#xff0c;如何高效地对这些监控数据进行管理、分析以及从中挖掘出有价值的信息&#xff0c;成为保障系统稳定运行和优化性能的关键所在。数据标签体系的建立就变得十分重要&#xff0c;它能够为监…

Vue中el-tree结合vuedraggable实现跨组件元素拖拽

实现效果&#xff1a; 左侧el-tree: <template><el-treeclass"filter-tree":data"treeData":props"defaultProps":filter-node-method"filterNode"node-key"id"draggable:allow-drop"allowDrop"node-dr…

PHP民宿酒店预订系统小程序源码

&#x1f3e1;民宿酒店预订系统 基于ThinkPHPuniappuView框架精心构建的多门店民宿酒店预订管理系统&#xff0c;能够迅速为您搭建起专属的、功能全面且操作便捷的民宿酒店预订小程序。 该系统不仅涵盖了预订、退房、WIFI连接、用户反馈、周边信息展示等核心功能&#xff0c;更…

点击底部的 tabBar 属于 wx.switchTab 跳转方式,目标页面的 onLoad 不会触发(除非是第一次加载)

文章目录 1. tabBar 的跳转方式2. tabBar 跳转的特点3. 你的配置分析4. 生命周期触发情况5. 总结 很多人不明白什么是第一次加载&#xff0c;两种情况讨论&#xff0c;第一种情况假设我是开发者&#xff0c;第一次加载就是指点击微信开发者工具上边的编译按钮&#xff0c;每点击…

三维卷积( 3D CNN)

三维卷积&#xff08; 3D CNN&#xff09; 1.什么是三维卷积 1.1 三维卷积简介 二维卷积是在单通道的一帧图像上进行滑窗操作&#xff0c;输入是高度H宽度W的二维矩阵。 三维卷积输入多了深度C这个维度&#xff0c;输入是高度H宽度W深度C的三维矩阵。在卷积神经网络中&…

电脑硬盘系统迁移及问题处理

一、系统迁移准备 1、确认你的电脑主板是否支持安装两块硬盘,如电脑主板有多个M2硬盘接口,我们将新硬盘安装到主板上,原来的老硬盘安装在第二个接口上,主板只有一个M2接口的话可以使用移动硬盘盒。 2、新硬盘安装好后,我们进入原来的系统,在 此电脑–右键–管理–磁盘管…

游戏语音的历史是什么样的?

游戏中&#xff0c;离不开游戏社交。 无社交&#xff0c;不游戏&#xff0c;大家都深知社交在游戏体验中的重要性。 游戏语音的发展史是怎么样的&#xff1f;问了下AI&#xff0c;给我的回答是 早期阶段 1970年代&#xff1a;1970年代出现了第一个语音游戏“尤瓦尔的冒险”&am…

GDPU Android移动应用 重点习题集

目录 程序填空 ppt摘选 题目摘选 “就这两页ppt&#xff0c;你还背不了吗” “。。。” 打开ppt后 “Sorry咯&#xff0c;还真背不了&#x1f61c;” 更新日志 考后的更新日志 没想到重点勾了一堆&#xff0c;还愣是没考到其中的内容&#xff0c;翻了一下&#xff0c;原…

排序:插入、选择、交换、归并排序

排序 &#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起来的操作。 稳定性 &#xff1a;假定在待排序的记录序列中&#xff0c;存在多个具有相同的关键字的记录&#xff0c;若经过排序&#xff0c;…

计算机网络 (34)可靠传输的工作原理

前言 计算机网络可靠传输的工作原理主要依赖于一系列协议和机制&#xff0c;以确保数据在传输过程中能够准确无误地到达目的地。 一、基本概念 可靠传输指的是数据链路层的发送端发送什么&#xff0c;在接收端就收到什么&#xff0c;即保证数据的完整性、正确性和顺序性。由于网…

C++:string

一、string概念 之前介绍过通过字符数组保存字符串&#xff0c;然后对字符数组中的字符串做各种操作&#xff1b;为了更加简单方便&#xff0c;在C中&#xff0c;又增加了 string 来处理字符串。 char str[20] "hello world"; string 字符串其实是一种更加高级的封…

SQL Server 数据库给第三方用户开权限,限制可见内容

单独数据库权限的设置&#xff1a; 方法&#xff1a; 给外方公司开用户&#xff0c;让其访问本地有限资源。 分两步&#xff0c;1新建服务器登录名&#xff0c;2设置数据库用户权限 1&#xff0c;首先用管理员sa登录数据库&#xff0c;在服务器级别下“安全性\登录名”&#…

Opus Clip AI技术浅析(二):上传与预处理

1. 视频上传 1.1 用户接口 用户通过网页或移动应用上传视频文件。文件上传通常使用HTTP协议&#xff0c;支持多种视频格式&#xff08;如MP4, AVI, MOV等&#xff09;。上传接口需要处理大文件上传、断点续传等问题。 1.2 文件传输 上传的视频文件通过安全的传输协议&#…