仅在没有GPS的情况下控制M100

时间:2019-03-18 18:14:10

标签: dji-sdk manifold

我正在尝试编写一个C ++程序,无需使用GPS坐标即可将无人机(DJI Matrice 100)从A点移动到B点,因为我正在不存在GPS信号的地方对其进行测试。

我使用配备向导和歧管的DJI Matrice 100无人机。

我分析了DJI_SDK_DEMO,但都使用了GPS坐标。

谢谢!

2 个答案:

答案 0 :(得分:0)

基于ROS版本,我认为您仍然需要GPS一些信号。如果您查看dji SDK ros SDK here的Wiki,然后找到dji_sdk/local_position,则会根据GPS信号发布本地位置。您可以在源代码hereGPSConvertENU函数中查看如何完成此操作。如果您需要在室内进行里程计,则可能必须添加其他传感器(视觉里程计),例如为您发布更多信息的指南。如果您拥有A3 / N3,则DJI还有另一个主题TOPIC_POSITION_VO,您可以阅读有关here的更多信息

希望这会有所帮助

答案 1 :(得分:0)

我设法找到了问题的答案。

如果未激活GPS,则Matrice 100不想飞行,因此即使没有GPS信号,也仍需要连接。 在这样的环境中,控制无人机的唯一方法是使用虚拟RC。 文档可以在这里找到:https://developer.dji.com/onboard-sdk/documentation/Protocol-Documents/virtual-rc-protocol.html

还有一些示例:https://github.com/dji-sdk/Onboard-SDK-ROS/blob/3.2/dji_sdk_demo/src/client.cpp#L505