问题标签 [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.
c++ - 从 popen 执行命令 shell 并设置其他命令 shell
我正在一个带有四旋翼和mavlink的项目中工作。我已经在我的 Ubuntu PC 中成功安装了 mavproxy,并且从终端运行它没有问题。当我mavproxy.py
从终端运行并连接支持 mavlink(APM 自动驾驶仪)的四旋翼时,mavproxy 检测到四旋翼并且一切正常。
当您mavproxy.py
在终端中执行程序时开始发送和接收几个参数。您可以在终端中写入一些参数以访问任何配置。例如,help
终端中的命令:
我有一个mavlink.py
要从 C++执行的代码
当我运行这个 C++ 程序时,终端显示的内容与我mavproxy.py
从终端运行时会出现的相同,但我不知道如何发送help
C++ 代码中的命令。
如果您阅读程序,该while
语句允许我捕获从程序mavproxy.py
和cout
终端中生成的参数,但mavlink.py
永远不会结束,直到您在终端退出或按CTRL+写一些东西,C所以while
循环永远不会结束。
我一直在阅读有关 Popen 功能的信息,但我还没有找到正确的形式来执行此操作。
我知道我可以mavlink.h
在我的程序中使用该库并将参数发送到四旋翼,但不想使用mavlink.h
.
c++ - 如何在 mavlink 协议中添加新消息?
我是 Mavlink 的新手,我想在 Mavlink 协议中添加一条新消息,并每秒定期发送一次。我该怎么做?
c++ - 更改 Mavlink 消息速率 ArduPilotMega
我正在开发一个使用 Mavlink 协议(在 C++ 中)与 ArduPilotMega(2.6)通信的项目。
例如,我能够阅读诸如ATTITUDE之类的消息。当前的消息速率(所有消息)是 2Hz,我想提高这个速率。
我发现我应该设置MESSAGE_INTERVAL使用MAV_CMD_SET_MESSAGE_INTERVAL
以更改它。
所以我的问题是:
如何在 c++ 中使用 mavlink 发送此命令消息?
我尝试使用下面的代码进行操作,但没有成功。我想我必须使用我上面提到的命令,但我不知道如何。
更新:我也在下面尝试了这段代码,也许我没有给它正确的系统 ID 或组件 ID。
也许我错过了target_system
,target_component
和sysid
,之间的区别compid
。我为每个尝试了几个值,但没有任何效果。
是否有任何 ACK 可以告诉我它是否收到了命令?
raspberry-pi - RPi2 UART 设置和操作问题
我目前正忙于我的硕士项目,该项目涉及使用 Mavlink 协议在 Raspberry Pi Model 2 B V1.1 和 Pixhawk 飞行控制器之间的 UART 上设置通信。
当然,第一步是设置 UART 并使其正常工作。我不是一个在出现问题的第一个迹象时寻求帮助的人。我已经为此苦苦挣扎了好几天,这迫使我不止一次地怀疑我存在的目的。我感到愚蠢和沮丧。请看看您是否可以提供任何帮助。
我的第一个资源是本教程,它应该相对简单:
http://ardupilot.org/dev/docs/raspberry-pi-via-mavlink.html
本教程只是安装所有必要的包和依赖项,以及设置 UART。我按照步骤通过 raspi-config 禁用操作系统对串行端口的使用,但是在尝试测试连接后出现错误:
[Errno 2] 没有这样的文件或目录:'/dev/ttyAMA0'
这很奇怪。因此,在通过 rasp-config 禁用和启用操作系统对串行端口的使用几次并检查后,每次我禁用它时,/dev/ttyAMA0 文件都会消失。现在,如果禁用 UART 的操作系统使用会删除该文件,那么该死的东西应该如何在 UART 上工作!?尽管如此,我还是通过了。我启用了串行端口的 OS 使用,这将 ttyAMA0 文件留在原处并遵循另一个建议,即更改 /boot/cmdline.txt 并删除对 ttyAMA0 的所有引用,如以下链接所示:
http://www.raspberry-projects.com/pi/pi-operating-systems/raspbian/io-pins-raspbian/uart-pins
这似乎工作正常。我现在可以启动 RPi 和 Pixhawk 飞行控制器之间的通信,并获得一些看起来正确的信息。然后黑魔法开始了。第二天我测试了连接,它总是吐出完整的垃圾。但与前一天相比,一切都没有改变。在某个地方我一定会错过一些东西。我遵循所有相同的教程和步骤,试图获得前一天得到的更积极的结果。然而,这只会导致更不稳定的行为。将串行线连接到我的 Pixhawk 飞行控制器时,键盘/鼠标似乎时不时地被中断。一切都倒退了。我已经重新安装了 Raspbian Jessie,不顾一切地尝试让事情正常进行。
以下是我怀疑可能导致问题的几件事:
波特率不正确(与我的飞行控制器通信的波特率需要为 57600)。我发现设置此波特率的最佳方法是将“init_uart_baud=57600”附加到/boot/config.txt/。我还阅读了其他方法,例如在 /etc/crontab 中附加一行。有什么建议么?
Pixhawk 奇迹般地偶尔拒绝与 RPi 沟通。
任何帮助将不胜感激。谢谢你。
dronekit-python - DroneKit:在自动模式下改变地速/实现“MAV_CMD_DO_CHANGE_SPEED”
我需要帮助弄清楚如何在自动模式下设置地速(这显然是用 Mavlink 命令“MAV_CMD_DO_CHANGE_SPEED”实现的——但我找不到任何例子)。我认为会起作用的:
基于: https ://pixhawk.ethz.ch/mavlink/ 和 https://github.com/mavlink/mavlink/blob/master/message_definitions/v1.0/common.xml
但它不起作用。
谁能帮我吗?
ios - DJI SDK 是否与 MAVLink 协议通信?
我正在为 Auto Boat 系统制作应用程序,并且在阅读 Drone Kit API 文档时。此 API 不适用于 iOS。我已经搜索了另一个 DJI SDK 。
我正在使用 pixhawk 设备作为飞行控制器,它监听 MAVLink 协议。
我只想知道 DJI 是否可以与 MAVLink 协议进行通信。
提前致谢 。
mavlink - 如何阅读mavlink包..在我的路上可以吗?
我阅读了有关 MAVlink 的信息,并尝试从 pixhawk fly 控制器中读取软件包。我想到了另一种打电话的方式,我想从这个讨论中了解读者是否可以,你怎么看
在我的阅读器上.. 我从 pixhawk 读取了两个第一个字节。
第二个字节需要是 PAYLOAD 长度 --> 所以新我知道我需要读取标题的 4 个字节 + PAYLOAD 长度字节 + 2 个 chcksub 字节。
因此,在读取 PAYLOAD 长度后,我定义了一个字节数组 -> 大小为
( PAYLOAD.length + 4 + 2 )并从串行读取到此缓冲区。可以吗?
python - 使用dronekit-python(“滑翔机”作为车辆)“关闭”电机
我正在开展一个项目,该项目旨在使用 Raspberry Pi、Dronekit 和 PixHawk 构建从气象气球发射的自动滑翔机。
为了测试我们的导航算法,我们将遥控飞机飞行到 400 英尺(法定限制),然后切换到自动化软件。
有什么方法可以让 Dronekit 将我们的车辆视为滑翔机而不是飞机?也就是说,一旦我们切换到自动化软件,它只会控制副翼,而不是螺旋桨。这只是试飞的问题,至于正确的事情我们根本不会连接螺旋桨。
python - 如何将 pymavlink 安装到 Raspberry?
我写了这个命令来安装:
并得到这个错误: