我可以在实际使用中使用dji-sdk / Onboard-SDK-ROS的演示示例吗?

问题描述 投票:0回答:1

我想尝试使用我的软件,这是基于demo_flight_control dji_sdk_ROSdemo_flight_control示例。

为了移动无人机,使用函数调用setTarget。为了验证无人机将到达setTarget函数指定的正确位置,对x,y,z有一些边界控制。在演示代码中,x,y和z的边界为50厘米。因此,如果无人机在三个方向x,y,z的50厘米范围内,那么它就到达了正确的最终位置。

我的问题是关于这些问题:它们是否足以控制现实生活中的无人机?

我的无人机是正常gps的dji matrice 100。

ros dji-sdk
1个回答
1
投票

我认为应该没问题。当无人机接近目标时,无人机可以降低无人机的速度。我不确定M100使用什么样的控制策略,但是如果你在模拟器中进行测试,你会发现当你增加无人机的速度时,在它超出目标位置之前会出现过冲增加。 (我还发现最终位置不准确,你可能需要一些来实现精确位置控制的方法)。

我在我的程序中使用相同的50cm边界调整了相同的功能,它似乎运行得很好。

编辑:

从我看过这些例子已经有一段时间但是如果我没记错的话,本地笛卡尔位置是根据GPS传感器更新计算的。 GPS位置本身与IMU传感器测量融合,但我离题了。您可以通过提供的功能从GPS位置计算本地位置,从而为您提供从目标到无人机的位置偏移。根据您的控制标志(我在地面框架中使用水平和垂直速度),您将控制速度应用于无人机并不断检查其位置是否接近目标位置,如果不是您再次计算偏移并应用速度连续。一旦你接近目标位置,就可以通过边界检查来阻止无人机。如果查看示例代码,您会注意到0速度发布到控件发布者的所有轴。

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