云台管理 |
您所在的位置:网站首页 › 大疆6020电机是怎么记录位置的 › 云台管理 |
概述
使用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); |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |