【环境】
OSDK版本:DJI Onboard SDK-3.9
适用机型和固件版本:M210/M210 RTK V2(1.0.0590)、M210/M210 RTK( 1.2.0301)、M600/M600 Pro(1.0.1.67)、A3/A3 Pro( 1.7.7.0)、N3( 1.7.7.0)、M100( 1.3.1.82)
测试环境:DJI 妙算2-G | Ubuntu 16.04
【技巧详解】
DJI GO/Pilot APP可以设置云台模式,比如跟随或者自由模式,因此有些童鞋在使用OSDK开发云台功能时也比较困惑,不知道如何通过OSDK实现与APP类似的设置。
首先,我们可以查阅OSDK云台相关功能的API文档,https://developer.dji.com/onboard-api-reference/classDJI_1_1OSDK_1_1Gimbal.html 如下图所示,可以看到云台相关的function
然后,通过查阅 setAngle() 的形参 Gimbal::AngleData,我们可以发现这里可以设置 Gimbal Mode
关于Gimbal::AngleData的数据结构,可以参考 https://developer.dji.com/onboard-api-reference/structDJI_1_1OSDK_1_1Gimbal_1_1AngleData.html
这里我们重点关注mode属性,如下图所示,mode为一个字节,其中bit 1 用来设置YAW是保持跟随还是通过程序命令控制。
最后,关于具体的代码实现,我们可以参考DJI Onboard SDK-3.9的 camera-gimbal sample,如下图所示,
如果该数据结构的 yaw_cmd_ignore 设置成true,飞控将会忽略OSDK发送的yaw角度命令,也就是实现了YAW跟随的功能。另外,我们也可以通过CPP文件代码来修改该数据结构的属性,如下图所示:
此篇文章分享自 Bruce,如果您有什么疑问或者建议欢迎回复讨论~ 欢迎点赞哦!
评论
1 条评论
这样设置了以后,是不是说云台就会保持固定姿态,不会跟随无人机yaw了呢?DJI Onboard SDK-3.9如何设置能使控制无人机yaw自转时,也带动云台自转呢
请登录写评论。