问题标签 [mavlink]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
28 浏览

c++ - PX4 在 z 轴上旋转低 yaw_rate

我想要实现的目标是在 z 轴上缓慢旋转无人机,当它检测到物体时它将停止旋转。第一个节点发布字符串“Searching”,第二个节点订阅它。因此,每次收到“搜索”时,无人机都必须旋转。

  • Ubuntu 18.04
  • ROS旋律
  • PX4 固件
  • 蟒蛇 3.6

我在一篇用 C++ 编写的论文中阅读了部分代码,但我不太擅长,我使用 python。想请教各位大神,能不能给点提示。我想在 python 中实现下面的代码。

https://osf.io/jqmk2/

我对 C++ 不太熟悉,但我在旋转无人机的代码中理解的是,它cmd = PoseStamped作为输入,然后将旋转应用于该位置(旋转矩阵),并且该旋转矩阵的结果是发布为姿势。这是对的吗?

我正在向pose.orientation.z发送较小的位置目标以0.0到2pi,增量为0.1来旋转无人机,但它旋转得太快并且没有保持其x,y位置......这是代码:

我意识到这不是一个好方法,因为无人机旋转得如此之快,如果我添加睡眠,无人机将无法识别物体,因为它旋转得很快。是否可以将 C++ 代码转换为 python?

0 投票
0 回答
20 浏览

javascript - 如何通过 mavlink 从无人机请求枚举值?

我正在使用 java 脚本和使用 node-mavlink https://github.com/padcom/node-mavlink对无人机进行编程。我试图弄清楚如何检测无人机是否正在起飞,在飞行或着陆过程中。当我阅读 mavlink 文档时,似乎“MAV_LANDED_STATE”就是我想要的。我知道我可以像这样向无人机发送消息或命令

但是我如何向无人机发送请求,要求它发回枚举 MavLandedState 的值?我已经尝试过发送

其中第一个给我一个错误,说它在缓冲区之外,然后返回一个错误,说 MavLandedState 不是构造函数(因为它是一个枚举,我没想到它会工作,但我想我会尝试)。如果我没有提供足够的信息,请告诉我。

0 投票
0 回答
37 浏览

c# - 问:如何在 MissioPlanner 中使用 id 大于 255 的 MAVLink v2 消息?

我是 MAVLink v2 的新手。所以我决定通过为我的飞机修改 Mission Planner 来学习它。由于“字节”类型的限制,我找不到使用 ID 高于 255 的消息的方法。

有人可以回答或留下关于“如何添加这些功能?”的链接。我应该改变消息传输的原则还是有不同的方法?

有很多有用的功能我不能用..

- -例子 - -

MAVLinkInterface.cs - 在这里我为万向节创建了一个自定义函数,我尝试使用 CAMERA_SETTINGS=260(尽管 Mavlink.cs 中存在必要的消息)。

0 投票
0 回答
20 浏览

tcp - 是否有 WPA2 安全 MAVLINK 协议通信?

我是 MAVlink 协议的新手;我已阅读有关在无线/wifi 中与 UDP 一起使用的 MAVlink 协议。如果我们在地面控制站和无人机两端都使用 WPA2 安全性,那么每个 MAVlink 数据包都使用端到端加密进行加密。有人如何嗅探或捕捉无人机?

0 投票
3 回答
105 浏览

c++ - 是否有用于 mavlink - Ardupilot 的 C++ SDK?

我想使用 C++(不是 ROS)控制 Ardupilot 无人机(例如在 Gazebo 模拟器中)。Dronekit 是一个很棒的 python 工具,但我想要使用 C++ 的类似工具。

MAVSDK 仅与 PX4 兼容,但我需要它用于 Ardupilot。

是否有适用于 Mavlink - Ardupilot 的 C++ SDK?谢谢。

0 投票
0 回答
100 浏览

android - 如何使用 python 通过本地 wifi 与商用无人机建立 Mavlink 连接?

我有一架名为“Corby 无人机”的商用无人机,我想使用 Mavlink 向它发送命令。一旦打开,无人机本身就有一个激活的 wifi 模块。该品牌有自己的移动应用程序“KY FPV”,一旦手机连接到无人机的wifi,就可以控制无人机。我所需要的只是能够做与移动应用程序相同的事情,但在 PC 上使用 python 脚本。Dronekit 和 pymavlink 软件包在我的 PC 已经连接到无人机 wifi 的情况下无法从无人机获得心跳。我检查了无人机的 IP 并尝试了几种不同的方法,但都没有奏效。下面的代码是我迄今为止尝试过的:

并使用mavproxy.py:

并且使用 mavproxy 我得到链接 1 关闭错误。

我想知道是否有办法使用mavlink(没有遥测硬件,只有我的无人机和PC)通过wifi(无人机自己的wifi)向我的无人机发送飞行控制命令?我是这方面的新手,提前感谢您的帮助。

PS我已经检查了无人机自己的移动应用程序连接到它时的udp数据包内容,但无法理解它。

0 投票
1 回答
205 浏览

ros - ROS:发布主题无需 3 秒锁存

作为一个前提,我必须说我对 ROS 非常缺乏经验。

我正在尝试发布几条 ros 消息,但是对于我进行的每次发布,我都会收到“发布和锁定消息 3.0 秒”,这看起来像是阻塞了 3 秒。

我将为您提供一个示例,说明我如何发布一条消息:

我还尝试使用以下参数:-r 10,它将消息频率设置为 10Hz(确实如此),但仅适用于第一条消息,即它保持每秒重新发送第一条消息 10 次。

基本上,如果可能的话,我想在不锁定的情况下发布一条消息,这样我就可以在一秒钟内发布多条消息。我有源源不断的消息流,我需要尽可能快地发布它们。

0 投票
1 回答
40 浏览

java - 调试使用串行端口的 android 应用程序

我正在开发一个 android 应用程序来使用 MAVLINK 与无人机通信。为此,我正在使用felHR85 的 UsbSerialdronefleet库。构建和安装应用程序后,我将手机用作 Android USB 主机并将 PixHawk 微控制器连接到它。

当我在连接了 PixHawk 的手机上运行该应用程序时,我无法知道我的应用程序为什么会崩溃(如果它确实崩溃了)。我只是收到“应用程序不断停止”错误消息。我无法通过 Logcat 查看日志消息,因为我没有连接到我的 PC。串行端口库开发人员提出了通过 WiFi 进行调试的想法,但我的大部分工作都是在我的办公室完成的,我使用的是以太网 LAN,而不是 WiFi。

如果没有应用程序崩溃堆栈跟踪,我将无法更进一步。那么如何调试我的应用程序,特别是应用程序崩溃?

详细信息:Android Studio 北极狐

Ubuntu 18 LTS

Java 编程语言

搭载 Android 11 的三星安卓手机

0 投票
0 回答
21 浏览

c - 如何从 Dump1090 中获取 Emitter-Type

首先,我对 ADS-B 不是很有经验!我正在使用这个 dump1090 实现来生成ADSB_VEHICLE mavlink 消息。其中一个字段是ADSB_EMITTER_TYPE,用于对发出此信号的车辆类型进行分类。但是在提到的 dump1090 实现中,我看不到任何发射器类型的字段被解码。

我的问题是,我如何(如果可能的话)从这些 adsb 消息中找到 adsb 发射器类型。

请随意向我推荐任何可能帮助我获得 adsb 发射器类型的实现(或任何资源)。

谢谢你。

0 投票
1 回答
27 浏览

java - 如何处理从android服务发送的大量消息?

我正在开发一个使用 MAVLINK 协议进行通信的应用程序。我为此目的使用dronefleet 。我的应用程序有一个服务,它运行ReadThread检查传入的MAVLINK 消息的类型。ReadThread然后向 UI 发送消息以更新一些TextViews无人机的信息,如电池状态等。这是我的代码。

ReadThreadDService.java中

handleMessage()MainActivity.java

我的问题是,如果我在我的ReadThread. 如果我检查(比如说)SYS_STATUSATTITUDE,那么 UI 中的相应TextViewss 每秒都会无缝更新(这是 MAVLINK 发送消息的速率)。但不适用于 2 个消息类。如果我从一个if区块中删除评论,我的应用程序就会崩溃。

可能是什么原因?我handleMessage()错了吗?我需要使用MessageQueue或其他一些android机制吗?我应该ReadThread为每个 MAVLINK 消息类型运行单独的线程吗?

我正在 Ubuntu 18 上开发,并使用 Android Studio。