node.js - 我如何将 GPS 数据发送到 parrot ar 无人机并转到我的无人机的 GPS 位置?

标签 node.js gps ar.drone

我正在使用node ar drone modules 。我的无人机是 parrot ar 无人机 2.0 gps 版 我成功获取了 parrot ar 无人机 gps 数据。我想将 parrot ar 无人机发送到操纵的 GPS 位置。但我无法将 GPS 数据发送到 parrot ar 无人机。

有什么方法可以将受操纵的 GPS 数据发送到我的 Parrot AR 无人机吗?

最佳答案

有两种方法可以做到这一点。

首先,困难的方法。 node-ar-drone 用于与 AR.Drone 通信的协议(protocol)没有任何方法可以直接为无人机提供飞行坐标,但您可以自己进行计算。

  1. 启用无人机的磁力计(请参阅 https://github.com/wiseman/webflight-traffic/blob/master/index.js#L19)。
  2. 校准磁力计:命令无人机起飞,然后执行 client.calibrate(0)(请参阅 https://github.com/felixge/node-ar-drone#clientcalibratedevice_num )。
  3. navdata.magneto.heading.fusionUnwrapped 获取无人机的磁航向。
  4. navdata.gps.latitudenavdata.gps.longitude 获取无人机的当前坐标。
  5. 计算从无人机当前位置到目的地所需的航向。这有一些微妙之处,但对于大多数应用程序,您可以按照 http://www.movable-type.co.uk/scripts/latlong.html 中描述的过程进行操作。 :

    θ = atan2( sin Δλ ⋅ cos φ2 , cos φ1 ⋅ sin φ2 − sin φ1 ⋅ cos φ2 ⋅ cos Δλ ) 其中 φ1,λ1 为起点,φ2,λ2 为终点(Δλ 为经度差)。

    由于 atan2 返回 -π ... +π 范围内的值(即 -180° ... +180°),因此将结果归一化为罗盘方位(0° ... 360° 范围内,−ve 值转换为 180° ... 360°),转换为度数,然后使用 (θ+360) % 360,其中 % 是(浮点)模。

  6. 确定无人机是否需要顺时针或逆时针旋转才能达到所需的航向,并根据需要调用 client.clockwiseclient.counterClockwise

  7. 当无人机面向正确航向时,使用 client.front 告诉其向前移动。

一旦无人机朝着正确的方向前进,每次获得新的导航数据时,您都应该检查当前航向,重新计算所需的航向,并告诉无人机在需要时顺时针或逆时针转动。一旦您到达所需目的地的某个阈值(5 英尺?50 英尺?),请使用 client.stop 告诉无人机停止。

除了node-ar-drone使用的协议(protocol)之外,AR.Drone还支持MAVLink许多业余爱好者和商业无人机使用的协议(protocol)。该协议(protocol)有一种方法可以告诉无人机直接移动到特定坐标。您可以使用类似 QGroundControl 的应用程序将无人机发送到特定的纬度、经度,或者您可以使用现有的 MAVLink 库之一向无人机发送消息以执行相同的操作。

DroneKit-Python,例如, 是一个高级库,可让您编写如下代码(取自 this example ):

# set the default travel speed
vehicle.airspeed=3

point1 = LocationGlobalRelative(-35.361354, 149.165218, 20)
vehicle.simple_goto(point1)

关于node.js - 我如何将 GPS 数据发送到 parrot ar 无人机并转到我的无人机的 GPS 位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42897828/

相关文章:

iphone - 在 Free Flight 示例应用程序 (ARDrone) 中使用 ARDrone 捕获静止图像

android - 为什么即使我的手机支持 A-GPS,Android GPS 在打开谷歌地图之前也无法找到位置

javascript - 事件.js :72 throw er;//Unhandled 'error' event

javascript - node.js - 如何在 mongodb 驱动程序中切换数据库?

node.js - Query.user 的类型必须是 Output Type 但得到 : undefined

gps - 增强现实浏览器如何跟踪您的准确位置以叠加相关信息?

php - 在 map 上显示 GPS 位置数据

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

Node.js Passport-saml 重定向到 localhost :3000/login/callback all the time

node.js - 无法加载c++ bson