正在上传图片(0/1)

Mobile SDK 有能实现云台左右回中的函数吗

 0
手机看帖 7 3910
RT 类似PitchGo这样的函数
评论
上传
你需要登录之后才能回帖    登录 | 注册
lanyusea  Inspire 1认证用户 2015-8-11 3#
有。Android例程如下:

gimbalYaw= (int) DJIDrone.getDjiGimbal().getYawAngle();
DJIGimbalRotation resetYaw = new DJIGimbalRotation(true, gimbalYaw>0?false:true, false, Math.abs(gimbalYaw)*2);

或者直接:(转动速度比上面方法慢)

DJIGimbalRotation resetYaw = new DJIGimbalRotation(true, true, true, 0);

之后再

DJIDrone.getDjiGimbal().updateGimbalAttitude(null, null, resetYaw);
SDK板块日常维护志愿者。
我没有QQ,我也不接受私信提问。有问题请去论坛发帖,利人利己。

我没有QQ,我没有QQ,我没有QQ。
重要的事情说三遍。
楼主   2015-8-11 4#
lanyusea 发表于 2015-8-11 12:22
有。Android例程如下:

gimbalYaw= (int) DJIDrone.getDjiGimbal().getYawAngle();
哈哈,最近一直在研究这个函数。
在第三个参数为false也就是相对角旋转的时候。大于90度的指令就不执行了。
第二种方法。当云台在所在的YawAnle大于180度左右(具体多少没去了解)的时候。它会选择错误的旋转方向。导致向320的极限方向去尝试回中。而不是朝0的方向。

我用以下的代码实现了

       int Angle = 0, AngleChange = 80;

            DJIGimbalRotation mYaw_AntiClock = new DJIGimbalRotation(true, true ,false, AngleChange * 20);
            DJIGimbalRotation mYaw_Clock = new DJIGimbalRotation(true, false,false, AngleChange * 20);

            
        while(640 != Angle)
        {
                DJIDrone.getDjiGimbal().updateGimbalAttitude(null,null,mYaw_Clock);
                Angle += AngleChange;
               
                try
                {
                    Thread.sleep(500);
                } catch (InterruptedException e)
                {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
        }

        Angle = 0;
        while(320 != Angle)
        {
                DJIDrone.getDjiGimbal().updateGimbalAttitude(null,null,mYaw_AntiClock);
                Angle += AngleChange;
               
                try
                {
                    Thread.sleep(500);
                } catch (InterruptedException e)
                {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
        }
      DJIGimbalRotation mYawReturn = new DJIGimbalRotation(true, false,true, 0);
lanyusea  Inspire 1认证用户 2015-8-11 5#
modo 发表于 2015-8-11 20:31
哈哈,最近一直在研究这个函数。
在第三个参数为false也就是相对角旋转的时候。大于90度的指令就不执行了 ...
啊对………… 角度有局限忘说了 Orz

因为我一直在phantom上用……orz

Inspire 也就依样转机头不转云台了……
SDK板块日常维护志愿者。
我没有QQ,我也不接受私信提问。有问题请去论坛发帖,利人利己。

我没有QQ,我没有QQ,我没有QQ。
重要的事情说三遍。
Qingyan   2015-8-15 6#
楼主好 请教您个问题:
在开始调用SDK APIs之前,需要添加以下代码来进行激活验证,那段代码添加到哪里?谢谢~ ~
wf225  Osmo Mobile认证用户 2015-8-19 7#
Qingyan 发表于 2015-8-15 15:51
楼主好 请教您个问题:
在开始调用SDK APIs之前,需要添加以下代码来进行激活验证,那段代码添加到哪里?谢 ...
官方sample 中不是有吗,app launch 的位置
Qingyan   2015-8-19 8#
wf225 发表于 2015-8-19 22:00
官方sample 中不是有吗,app launch 的位置
谢啦~ ~已解决~ ~
hduk   2016-9-21 9#
mark!mark!mark!
收藏 点赞 评论
分享至:
回复:
上传
取消 评论
快速回复 返回顶部 返回列表