云台管理

云台管理

概述

使用OSDK开发的应用程序能够在无人机飞行的过程中,按照指定的逻辑控制云台的角度。

基础概念

云台角度

云台关节与云台关节角

云台的关节如图1.云台关节 所示,云台关节是云台上带动负载设备转动的结构件:云台电机,云台关节角即云台电机转动的角度。本教程使用机体坐标系描述云台的关节角。

图1.云台关节

云台姿态与云台姿态角

云台的姿态如 图2.云台姿态 所示,根据用户的控制指令,云台能够调整姿态;云台姿态角即使用大地坐标系(NED,北东地坐标系)描述云台上负载设备的角度,该角度也称为欧拉角。

图2.云台姿态

云台控制

控制方式

绝对角度控制:使用OSDK 开发的云台根据用户的指令,在规定的时间内,从当前的位置转动到指定的位置。

速度控制:用户可控制使用OSDK 开发的云台的转动速度。

说明

在角度控制模式下,云台转动的时间受云台最大旋转速度和最大加速度限制,实际的转动角度受云台限位角度的限制。

在速度控制模式下,云台根据用户指定的速度转动0.5s,当云台转动到限位角时,将会停止转动。

云台模式:目前OSDK 的云台控制功能仅支持自由模式,在该模式下,当无人机的姿态改变时,云台将不会转动。

云台状态信息

使用OSDK 开发的应用程序能够获取指定云台当前的信息,详细信息请参见OSDK API 文档。

使用云台管理功能

1. 云台控制功能模块初始化

使用“云台控制”功能前,需要调用云台控制功能的类GimbalManagerSyncSample,创建云台控制功能的对象并初始化指定的云台。

GimbalManagerSyncSample *g = new GimbalManagerSyncSample(vehicle);ret = vehicle->gimbalManager->initGimbalModule(PAYLOAD_INDEX_0, "Sample_gimbal_1");if (ret != ErrorCode::SysCommonErr::Success){ DERROR("Init Camera module Sample_gimbal_1 failed."); ErrorCode::printErrorCodeMsg(ret);}ret = vehicle->gimbalManager->initGimbalModule(PAYLOAD_INDEX_1, "Sample_gimbal_2");

2. 获取云台的状态信息

创建云台控制功能的对象并初始化指定的云台后,即可获取用户指定的云台的信息。

DSTATUS("Current gimbal %d angle (p,r,y) = (%0.2f°, %0.2f°, %0.2f°)", PAYLOAD_INDEX_0, g->getGimbalData(PAYLOAD_INDEX_0).pitch, g->getGimbalData(PAYLOAD_INDEX_0).roll, g->getGimbalData(PAYLOAD_INDEX_0).yaw);

3. 控制云台转动

通过GimbalManagerSyncSample中指定的接口控制云台的姿态。

GimbalModule::Rotation rotation; rotation.roll = 0.0f; rotation.pitch = 25.0f; rotation.yaw = 90.0f; rotation.rotationMode = 0; rotation.time = 0.5; g->rotateSyncSample(PAYLOAD_INDEX_0, rotation);

4. 云台回中

使用OSDK 开发的应用程序支持将云台的俯仰轴和偏航轴转动至中位。

g->resetSyncSample(PAYLOAD_INDEX_0);

相关推荐

什么水什么什么的成语
365bet足球数据直播

什么水什么什么的成语

📅 07-02 👁️ 1928
红魔10S Pro《鸣潮》联名版来袭,6月13日开售仅售5999元
外勤365老版本下载怎样下载

红魔10S Pro《鸣潮》联名版来袭,6月13日开售仅售5999元

📅 08-28 👁️ 5879
路由器SSID的设置与修改方法
菠菜365官网

路由器SSID的设置与修改方法

📅 08-04 👁️ 8701