Не удалось проверить демпфирование DJI_SDK в режиме TRACE_COORDINATED
Я работаю с ROS_DJI_OSDK версии 3.7 и Dji Matrice M600. До этого дня я использовал для своих автономных миссий режим TRACE_POINT, определенный в MissionWaypointTask.msg
тут и все работало нормально. Но я хотел бы сделать то же самое с режимом TRACE_COORDINATED с некоторым демпфированием между путевыми точками.
Проблема в том, что даже если я установлю демпфирование на 0, я получаю это сообщение об ошибке:
STATUS/1 @ getErrorCodeMessage, L656: missionWpUploadCallback
STATUS/1 @ getCMDSetMissionMSG, L883: WAYPOINT_MISSION_CHECK_FAILED
[ INFO] [1538563753.039855552]: waypoint mission initialized and uploaded
[ WARN] [1538563753.040152078]: ack.info: set = 3 id = 17
[ WARN] [1538563753.040214866]: ack.data: 231
[ WARN] [1538563753.040261163]: Failed sending waypoint upload command
Ack.data, равный 231 означает damping checking failed
сообщение. Но все, что я установил для демпфирования результата, остается неизменным.
Я читал здесь, что есть некоторое ограничение относительно демпфирования: "На самом деле у нас нет ограничения для расстояния 1/2. Однако у нас есть ограничение, что расстояние демпфирования для путевой точки A плюс расстояние демпфирования для путевой точки B быть меньше, чем расстояние между A и B" Но с демпфированием, равным 0 или другим небольшим значением, с этим ограничением все должно быть в порядке.
Я что-то упустил здесь?
Это моя стандартная конфигурация всего MissionWaypointTask
и каждый WaypointSettings
:
waypoint_task.velocity_range = 10;
waypoint_task.idle_velocity = 5;
waypoint_task.action_on_finish = dji_sdk::MissionWaypointTask::FINISH_NO_ACTION;
waypoint_task.mission_exec_times = 1;
waypoint_task.yaw_mode = dji_sdk::MissionWaypointTask::YAW_MODE_AUTO;
waypoint_task.trace_mode = dji_sdk::MissionWaypointTask::TRACE_COORDINATED;
waypoint_task.action_on_rc_lost = dji_sdk::MissionWaypointTask::ACTION_AUTO;
waypoint_task.gimbal_pitch_mode = dji_sdk::MissionWaypointTask::GIMBAL_PITCH_FREE;
waypoint_settings.damping = 0;
waypoint_settings.yaw = 0;
waypoint_settings.gimbalPitch = 0;
waypoint_settings.turnMode = 0;
waypoint_settings.hasAction = 0;
waypoint_settings.actionTimeLimit = 100;
waypoint_settings.actionNumber = 0;
waypoint_settings.actionRepeat = 0;
for (int i = 0; i < 16; ++i) {
waypoint_settings.commandList[i] = 0;
waypoint_settings.commandParameter[i] = 0;
}
1 ответ
Хорошо, я понял это. Я все время сидел damping_distance
до 0, который не поддерживается DJI SDK. Другие значения кажутся действительными.