首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我怎样才能把GPS数据发送到鹦鹉无人机,然后去我的无人机定位?

我怎样才能把GPS数据发送到鹦鹉无人机,然后去我的无人机定位?
EN

Stack Overflow用户
提问于 2017-03-20 07:18:31
回答 1查看 1.1K关注 0票数 1

我正在使用节点ar无人机模块。我的无人机是鹦鹉无人机2.0全球定位系统版本,我成功地获得了鹦鹉无人机的gps数据。我想把鹦鹉无人机送到被操纵的gps位置。但我不能把gps数据发送给鹦鹉无人机。

有没有办法把被操纵的全球定位系统数据发送给我的鹦鹉无人机?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-10 23:24:07

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

首先,艰难的道路。node-ar-drone用来与AR.Drone对话的协议没有任何方法直接给出无人机的飞行坐标,但是你可以自己计算。

  1. 启用无人机的磁强计(见https://github.com/wiseman/webflight-traffic/blob/master/index.js#L19)。
  2. 校准磁强计:命令无人机起飞,然后执行client.calibrate(0) (见数量)。
  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使用的协议外,AR.Drone还支持许多爱好者和商业无人机使用的MAVLink协议。该协议可以告诉无人机直接移动到特定的坐标。您可以使用像QGroundControl这样的应用程序将无人机发送到特定的纬度、经度,或者使用现有的MAVLink库之一向无人机发送消息以完成同样的任务。

例如,DroneKit Python是一个高级库,它允许您编写这样的代码(取自这个例子):

代码语言:javascript
运行
复制
# set the default travel speed
vehicle.airspeed=3

point1 = LocationGlobalRelative(-35.361354, 149.165218, 20)
vehicle.simple_goto(point1)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42897828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档