Использование Control :: HORIZONTAL_ANGLE с установкой флага Control :: STABLE_ENABLE не вызывает горизонтального перемещения? - PullRequest
0 голосов
/ 02 января 2019

У меня есть вопрос об управлении полетом OSDK.

Я пытался установить высоту БПЛА на 10 (градус) с помощью этого кода, но кажется, что высота БПЛА не изменилась вообще:

elapsedTimeInMs = 0;
timeoutInMilSec = 700;
controlFreqInHz = 50; // Hz
while (elapsedTimeInMs < timeoutInMilSec)
{
    ctrl_flag = ( Control::VERTICAL_VELOCITY | Control::HORIZONTAL_ANGLE | Control::YAW_RATE | Control::HORIZONTAL_BODY | Control::STABLE_ENABLE);

    Control::CtrlData data(ctrl_flag, 0, 10, 0, 0);
    vehicle->control->flightCtrl(data);

    usleep(20 * 1000); // 20msec sleep

    elapsedTimeInMs += 20;
}

(переменная «транспортное средство» подготовлено правильно, а полномочия контроля получены правильно.)

Я проверяю, где этот код неверен.

, когда я устанавливаю вертикальную скорость этого кода накакое-то значение, БПЛА движется вертикально, но не движется горизонтально.

Интересно, использование Control :: STABLE_ENABLE вызывает это.Правильно ли это?

Когда я меняю Control :: STABLE_ENABLE на Control :: STABLE_DISABLE,

правильно ли изменяется шаг БПЛА?(Я не могу проверить сейчас)

Дополнительная информация: Я попробовал этот код в симуляторе, и он работает хорошо.(это запись: https://youtu.be/o3w-YpMY8TM)

Я думаю, мой случай такой же, как на этом форуме: https://github.com/dji-sdk/Onboard-SDK-ROS/issues/43

...