将Control :: HORIZONTAL_ANGLE与设置Control :: STABLE_ENABLE标志一起使用是否不会引起水平移动?

时间:2019-01-02 02:08:10

标签: dji-sdk

我对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;
}

(正确准备了变量“车辆”,并已正确获得控制权。)

我正在检查这段代码的错误之处。

当我将此代码的垂直速度设置为某个值时,UAV垂直移动,但不水平移动。

我想知道使用Control :: STABLE_ENABLE会导致这种情况。是这样吗?

当我将Control :: STABLE_ENABLE更改为Control :: STABLE_DISABLE时,

无人机的俯仰是否正确改变? (我现在无法测试)

其他信息: 我在模拟器中尝试了此代码,并且效果很好。 (正在记录:https://youtu.be/o3w-YpMY8TM

我认为我的情况与此论坛相同:https://github.com/dji-sdk/Onboard-SDK-ROS/issues/43

0 个答案:

没有答案