我应该使用什么API控制ARDrone 2.0?

问题描述 投票:3回答:2

我正在从事有关自动飞行的项目,并且正在使用ARDrone 2.0。我想知道哪种API更好地将命令发送到无人机。我已经知道我可以使用NodeJS或ROS平台,但是我希望有经验的人可以帮助我做出明智的决定。

对我来说,最重要的是从传感器读取数据并从笔记本电脑接收数据的稳定性。如果我必须学习编程语言或库,我不会遇到麻烦。

ros ar.drone
2个回答
2
投票

鉴于您的项目时间较短,我建议使用Javascript控制无人机的node-ar-drone

  1. 非常简单-您无需学习机器人框架,只需相对简单的API。
  2. 有用户:至少有3或4人们积极地在github上发布和响应问题存储库。
  3. 有许多项目显示了如何使用该库,从简单到复杂。例如,ar-drone-restwebflightar-drone-autonomy

3
投票

ROS

我不知道NodeJS,但是我已经使用ROS几年了,所以我可以给你一些信息。

ROS是模块化的,并且具有不错的发布者/订阅者系统,可以使用回调函数在各个模块之间(在ROS行话中称为nodes)交换消息。

通常,每个任务和每个传感器都有一个单独的节点。需要一些数据的“任务节点”,订阅特定的并注册回调函数。“传感器节点”从传感器获取数据,将数据包装在message中,然后将此消息发布到主题。每次发布新消息时,都会自动调用已订阅该主题的所有节点的回调函数。这样一来,就可以轻松地在各个节点之间交换数据,并且您可以轻松地交换程序的某些部分,例如如果要使用其他传感器或任务已更改。进一步订阅在网络中不同计算机上运行的节点非常容易,因此,您无需费力即可将数据从便携式计算机发送到无人机(只要它们已连接到同一网络)。

ROS同时支持C ++和Python。也有Java,JavaScript和LISP的绑定,但是我不知道它们的完整性和稳定性(从未使用过)。

除了核心框架,ROS还附带了许多有用的模块和一个不错的可视化工具,并具有全面的beginner tutorial

© www.soinside.com 2019 - 2024. All rights reserved.