我有Matrice 210,并使用OSDK上载任务。但是,如果未初始化飞机的HomePoint,则OSDK将不允许上传。
如果仅打开无人机,则会出现错误“ WAYPOINT_MISSION_POINTS_TOO_FAR”,并且必须打开RC并连接DJI GO应用程序以创建HomePoint。
如果我理解正确,则任务管理器仅在无人机具有较强的GPS信号时才接受任务,但文档中没有提及HomePoint初始化的任何内容。 我尝试在SDK中找到一个函数来告诉无人机将其作为HomePoint作为当前的GPS,但是代码中没有这样的功能。我想念什么吗?
更新: 这是我设置任务管理器的方法:
void setWaypointInitDefaults(WayPointInitSettings* fdata)
{
fdata->maxVelocity = 10;
fdata->idleVelocity = 5;
fdata->finishAction = 0;
fdata->executiveTimes = 1;
fdata->yawMode = 0;
fdata->traceMode = 0;
fdata->RCLostAction = 1;
fdata->gimbalPitch = 0;
fdata->latitude = 0;
fdata->longitude = 0;
fdata->altitude = 0;
}
...
bool InitWaypointMission(Vehicle* vehicle, int numberWaypoints, double maxSpeed, double turnSpeed, bool usePointsHeading)
{
WayPointInitSettings fdata;
setWaypointInitDefaults(&fdata);
fdata.indexNumber = numberWaypoints;
fdata.maxVelocity = maxSpeed;
fdata.idleVelocity = turnSpeed;
if ( usePointsHeading )
fdata.yawMode = 3;
ACK::ErrorCode initAck = vehicle->missionManager->init(DJI_MISSION_TYPE::WAYPOINT, responseTimeout, &fdata);
if (ACK::getError(initAck))
{
ACK::getErrorCodeMessage(initAck, __func__);
return false;
}
vehicle->missionManager->printInfo();
return true;
}
答案 0 :(得分:1)
在DJI无人机上,当无人机具有足够的GPS卫星可见度时,将自动获取Homepoint。可以告知无人机获取其当前位置作为返航点的方法将无用-如果无人机确实能够很好地定位其在GPS坐标中的当前位置,则它已经将其设置为返航点,或者将在接下来的几秒钟内完成操作。
出现WAYPOINT_MISSION_POINTS_TOO_FAR错误的原因可能很多,但您将需要提供更多上下文来帮助我们缩小错误范围。一些对报告有用的东西:
RCLostAction
设置为Keep Going
?