问题标签 [dronekit]

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 投票
1 回答
1625 浏览

python - 如何将dronekit与来自dev Wiki的SITL vagrant VM一起使用

我正在按照 DroneKit-Python 中的入门说明在 VM 中设置 DroneKit。为了让自己更轻松,我首先使用 Vagrant 设置 SITL。但是,我无法弄清楚如何让 SITL 运行并从示例脚本中与之对话。

我做了什么:

  1. 运行 SITL vagrant 脚本并让 SITL 正常工作(测试与在 Windows 上运行的 Mission Planner 的连接)。
  2. 按照“在 Linux 上设置”中讨论的方法对其进行了测试:

    参数加载 ../Tools/autotest/copter_params.parm

    参数设置 ARMING_CHECK 0

注意 - 在我的 MAVProxy 提示中不可见“STABILIZE>”提示。这些运行(似乎是)成功

  1. 然后我按 Ctrl+D 退出 SITL 模拟,并vagrant ssh打开我对虚拟机的提示。
  2. 按照此处所述安装了依赖项(在修复了 pip 规范之后):

    sudo apt-get install python-pip python-numpy python-opencv python-serial python-pyparsing python-wxgtk2.8

然后是 MAVProxy

然后是droneapi(注意,必须使用“sudo”安装)

然后从命令提示符 (vagrant@vagrant-ubuntu-trusty-32:/vagrant/ArduCopter$) 我得到了 git clone 并导航到演示:

我使用“mavproxy.py”(Linux VM 通过 USB 通信的正确类型)启动了 MavProxy。得到以下内容:

最后,尽管出现上述错误,我还是尝试加载和使用该模块。

注意“MAV>”提示不是文档中列出的“MANUAL>”。

问题是“为什么会失败,我需要什么才能让它工作?” 我猜问题是 SITL 实际上没有运行。

谢谢!

0 投票
3 回答
2650 浏览

dronekit - 是否有可用的 MAVLink 任务命令列表?

我是 Dronekit 的新手。我想知道是否有地方可以找到所有可用任务命令的列表。

0 投票
1 回答
650 浏览

dronekit - Android 上的 3DR 服务需要更新,但它已经是最新的

我正在使用从http://android.dronekit.io/first_app.html与 Android Studio设置的第一个应用程序。当我将它加载到我的三星 Galaxy S4 上时,它会弹出一个提示“更新 3DR 服务!| 必须更新您的 3DR 服务版本才能继续。” 我已尝试从 Google Play 卸载并重新安装。任何想法将不胜感激。

0 投票
1 回答
1617 浏览

dronekit-python - DroneAPI 和自定义 Mavlink 消息

我是 DroneApi 的新手。我想知道如何使用 DroneApi 阅读自定义消息。我创建了一条个人 mavlink 消息,向我发送传感器的值。我想知道如何使用 DroneApi 阅读这条新消息。谢谢你。

从评论中编辑:我遵循了本指南 dev.ardupilot.com/wiki/apmcopter-code-overview/...。添加我的自定义消息后,我的 apm 通过 mavlink 消息每秒发送传感器的值。现在我会使用带有 DroneApi 的 python 脚本来阅读此消息,但我不知道如何。对不起我的英语不好。

0 投票
1 回答
883 浏览

dronekit - SITL 中的起飞飞机:校准失败

我正在使用 DroneKit 测试 SITL,但我似乎无法让飞机起飞。当我这样做arm throttle时,控制台会说:

APM:PreArm:需要 3D 加速度

我尝试运行accelcal,它要求我像这样校准飞机:

如何在 SITL 中校准我的飞机?

0 投票
0 回答
178 浏览

dronekit - 使用 msg_request_data_stream 和 MavlinkObserver 更新偏航

我正在做一个项目,我用安卓手机控制四轴飞行器。我注意到使用DroneListener来收听ATTITUDE_UPDATED消息并没有像我需要的那样快地更新偏航。我想经常(或多或少)实时更新四轴飞行器的偏航,例如当您通过 USB 插入四轴飞行器时 Mission Planner 应用程序的工作方式。

我曾尝试使用msg_request_data_stream(本质上是 Mission Planner 使用的,但在 C# 中)从无人机请求各种数据流,但没有奏效。我的假设是,任何注册的 MavlinkObservers 都会收到对这个请求的响应(即流),但是MavlinkObserver我添加到我的无人机的自定义没有onMavlinkMessageReceived(…)一次调用它的方法。它甚至没有收到心跳消息,这应该(根据我的理解)经常和频繁地出现。

你有什么可以提供的帮助吗?有没有比等待 DroneListener 收到事件通知更好的方法来获得四轴飞行器的偏航?我知道 Mavlink 应该是可能的(MissionPlanner做到了),但我在 Mavlink 消息或MavlinkObserver.

这是我请求数据流的代码:

0 投票
1 回答
655 浏览

android - 在 Android Studio 中同步 Gradle 时无法解析 3DR 服务库依赖项

我正在研究DroneKit Android 文档网站上的这个例子。当我在添加 3DR 服务库依赖项“com.o3dr.android:droneKit-android:2.3.11”后同步 Gradle 时,我收到:

我检查了项目结构下的依赖项,Android Studio 似乎找到了该库,但在同步 Gradle 时我仍然收到此错误。我也尝试将 MavenCentral 添加到我的存储库中,但 Studio 仍然无法找到库文件。

以下是相关的 gradle 脚本:

项目:

模块:

任何有关解决此问题的指示将不胜感激。我对 Android Studio 还是很陌生!谢谢你。

0 投票
1 回答
1663 浏览

dronekit-python - 如何以编程方式向无人机发送航点?

我对此很陌生,并试图了解这一点。我在DroneKit-Python 网站上阅读了很多内容,试图弄清楚我究竟是如何与之通信的。

我目前使用的无人机是Iris+

我看了更多,已经有软件提供了这个,但我希望能够控制它加上更多。

我想设置航路点,告诉它然后飞给航路点并继续前进。此外,能够武装自己(在示例中)并覆盖安全机制。

这是我尝试使用它的基本原理。让它在特定时间飞起来。前往航路点 1、2、3、1 等。然后在 X 时间或电池电量不足的情况下返回发射点并着陆。

我发现了很多代码可以提供我需要做的事情,尽管我不知道它是否会起作用,更重要的是我什至不知道如何开始为此编程。也许我这样做的方法错误?

我有点希望这是一个轻量级的 API,以便将来我可以在手机上制作一个简单的 UI 并插入一些坐标来给它提供路径点,就是这样。我知道已经有软件可以做到这一点,但我想消除触摸无人机的需要。我希望它自动开始和结束。

如果有人可以帮助提供一些信息,将不胜感激。

0 投票
2 回答
1193 浏览

dronekit - 如何使用 Dronkit-Android 直接发送 MAVLink 命令?

我试图让它通过仅设置为自动来执行任务。经过一些研究,它无法执行任务起飞,因为它需要启动油门才能开始。通过更多研究,我可以使用MAV_CMD_MISSION_START。唯一的问题是我一直在搜索文档,但找不到任何可以发送 MavLink 消息的内容。文档中有类似的内容,但我不知道如何正确使用它,并且几乎没有关于如何使用它的示例或文档。

希望是否有一些简单的命令可以向无人机发送命令?

希望有人在这方面有一些经验。

0 投票
1 回答
1223 浏览

dronekit-python - 使用 DroneKit 构建 Windows 地面控制站

在 DroneKit.io 页面上,它提到在为 Windows 创建地面控制站时使用 DroneKit Python。但是,似乎没有这方面的文档。

它是否意味着简单地模拟一个 COM 端口并充当其他地面控制站的代理,从而更容易劫持 MAVLink?

此外,它还提到 Python 被用于低延迟进程。这似乎是矛盾的。有没有理由比仅仅使用 C/C++ 来劫持 MAVLink 更好?

谢谢!