DJI SDK Android-时间线任务中GoToAction的不必要的偏航

时间:2019-06-10 12:23:37

标签: dji-sdk

我正在尝试使用DJI Mobile Android SDK开发移动应用程序。该应用程序的目标是将Mavic 2 Pro导航到目标GPS坐标,并自动将摄像头对准车辆并拍摄快照。起飞并飞到目标高度后,将在聚光灯模式下执行新的跟踪任务,以找到一个物体并将相机对准其中心。

第一个过程通常在飞机开机且移动应用程序执行任务后正常进行。飞机手动降落。

移动应用程序的第二次尝试出错。还有一个不在时间轴任务中的偏航运动。我错过了一些清洁方法,可能会使飞机恢复到初始清洁状态。

请在申请开始执行任务之前,如何将飞机设置为清洁状态?

我不明白为什么简单地会有45度偏航运动 时间表任务:

missionControl.scheduleElement(new TakeOffAction());
missionControl.scheduleElement(new GoToAction(2.0f));
missionControl.startTimeline();

为什么飞机在起飞升空至目标后偏航45° 高度?看到https://youtu.be/-gCWFXou-WI

1 个答案:

答案 0 :(得分:0)

您绝不会共享任何其他代码。因此,以下是我的猜测/清单,以寻求可能的解决方案。

首先,清除所有其他代码,例如,在代码和遥控器屏幕上使用关键字 tracking / following (跟踪/跟随)等,禁用无人机偏航或其他可能的路由< / p>

检查是否是由此引起的最简单方法是致电

elements.add(new GoToAction(new LocationCoordinate2D(homeLatitude+0.00001, homeLongitude+0.00001), 5));
elements.add(new GoToAction(new LocationCoordinate2D(homeLatitude-0.00001, homeLongitude-0.00001), 5));

如果相机在多个位置时仍然跟随您。然后,某处跟踪会让您烦恼。如果遵循,也可能是由于家庭锁造成的

其次,GoToAction从未提及方向,而仅提及3D位置。从理论上讲,他们可以做任何想要的事情。 因此请检查API的所有定向方法/设置,例如

使用 setFlightOrientationMode 设置课程锁定或家庭锁定,以获取所需的行为。

method setFlightOrientationMode
void setFlightOrientationMode(@NonNull FlightOrientationMode type,
                                                 @Nullable CompletionCallback callback)
Package:    dji.sdk.flightcontroller
SDK Key:    FlightControllerKey.ORIENTATION_MODE
Description:
Sets the aircraft flight orientation relative to the Aircraft Heading, Course Lock, or Home Lock. See the Flight Controller User Guide for more information about flight orientation.

最后:我假设您删除了所有其他可能的以下模式,但仍然无法按照您的意愿运行。

给出的api是

GoToAction(LocationCoordinate2D coordinate)

GoToAction(float altitude)
float altitude  Target altitude in meters.

GoToAction(LocationCoordinate2D coordinate, float altitude)

如果直接设置高度有问题。您能否尝试使用完整命令来确定它是源代码中的错误还是其他?

double homeLatitude = get your start gps lat;
double homeLongitude = get your start gps long;
elements.add(new GoToAction(new LocationCoordinate2D(homeLatitude, homeLongitude), 2));

如果您确定没有其他困扰无人机的路线,并且GoToAction(浮动高度)和GoToAction(LocationCoordinate2D坐标,浮动高度)都存在相同的偏航问题。在dev@dji.com打开票证。

我个人认为这不是DJI的问题。因为您从不发布完整的代码,所以我不知道您做了什么或尚未完成但应该完成。祝您找到解决您不良行为的方法的好运。