Я занимаюсь разработкой программного обеспечения Matrice600pro osdk.Я хочу установить угол поворота карданного подвеса (RONIN-MX) на 90 градусов по горизонтали.
Я пытался использовать этот код, но карданный подвес вообще не двигался.
Я написал этот код со ссылкой наКамера DJI OSDK и образец карданного подвеса.
Что не так с моим кодом?
Любая помощь оценят.
struct GimbalContainer
{
int roll = 0;
int pitch = 0;
int yaw = 0;
int duration = 0;
int isAbsolute = 0;
bool yaw_cmd_ignore = false;
bool pitch_cmd_ignore = false;
bool roll_cmd_ignore = false;
};
int main(){
/* omit vehicle initialization code */
GimbalContainer gimbal;
gimbal.duration = 0;
gimbal.isAbsolute = true;
gimbal.yaw_cmd_ignore = false;
gimbal.roll_cmd_ignore = false;
gimbal.pitch_cmd_ignore = false;
gimbal.roll = 0;
gimbal.pitch = 0;
gimbal.yaw = 900;
doSetGimbalAngle(gVehicle, &gimbal);
}
void doSetGimbalAngle(Vehicle* vehicle, GimbalContainer* gimbal)
{
DJI::OSDK::Gimbal::AngleData gimbalAngle;
gimbalAngle.roll = gimbal->roll;
gimbalAngle.pitch = gimbal->pitch;
gimbalAngle.yaw = gimbal->yaw;
gimbalAngle.duration = gimbal->duration;
gimbalAngle.mode |= 0;
gimbalAngle.mode |= gimbal->isAbsolute;
gimbalAngle.mode |= gimbal->yaw_cmd_ignore << 1;
gimbalAngle.mode |= gimbal->roll_cmd_ignore << 2;
gimbalAngle.mode |= gimbal->pitch_cmd_ignore << 3;
if(vehicle != NULL){
vehicle->gimbal->setAngle(&gimbalAngle);
sleep(4);
}
}