大疆社区
标题:
无人机怎么yaw转动
[打印本页]
作者:
海参再次去太白山刷锅
时间:
2020-7-23
标题:
无人机怎么yaw转动
无人机怎么yaw转动,调用什么api,
FlightController().getState().setAttitude 好像没有效果啊
作者:
paul zhou
时间:
2020-7-23
帮顶
作者:
kv886
时间:
2020-7-23
要用虚拟摇杆virtual stick 的相关方法。
作者:
LRQQQ
时间:
2020-7-24
setYawControlMode(YawControlMode.ANGULAR_VELOCITY)或者setYawControlMode(YawControlMode.ANGLE),直接给YAW赋值就好了。这个在官方的demo中有示例的
作者:
海参再次去太白山刷锅
时间:
2020-7-24
<div class="quote"><blockquote><a class="nopicture" rel="noopener" href="https://bbs.dji.com/forum.php?mod=redirect&goto=findpost&pid=3661373&ptid=249435" target="_blank"><span class="customName">LRQQQ</span><span class="customShow">Osmo Mobile 3</span><span class="customTime">7-24 15:49</span></a>
<span class="customSpan">setYawControlMode(YawControlMode.ANGULAR_VELOCITY)或者setYawControlMode(YawControlMode.ANGLE),直接给YAW赋值就好了。这个在官方的demo中有示例的</span></blockquote></div>您好 那我让它每次旋转90度,每次加90,超过180就改成(原角度+90)-360这样旋转 但是实际上他并没有完全按照设定的角度旋转,这是我的代码
private void aircraftYaw(float angle){
Attitude attitude = flightController.getState().getAttitude();
float pitch = (float) attitude.pitch;
float roll = (float) attitude.roll;
float yaw = (float) attitude.yaw + angle;
if (yaw > 180){
yaw = yaw - 360;
}
flightController.sendVirtualStickFlightControlData
(new FlightControlData(pitch, roll, yaw,0),
null);
}
作者:
海参再次去太白山刷锅
时间:
2020-7-24
<div class="quote"><blockquote><a class="nopicture" rel="noopener" href="https://bbs.dji.com/forum.php?mod=redirect&goto=findpost&pid=3660412&ptid=249435" target="_blank"><span class="customName">kv886</span><span class="customShow"></span><span class="customTime">7-23 19:52</span></a>
<span class="customSpan">要用虚拟摇杆virtual stick 的相关方法。</span></blockquote></div>您好 那我让它每次旋转90度,每次加90,超过180就改成(原角度+90)-360这样旋转 但是实际上他并没有完全按照设定的角度旋转,这是我的代码
private void aircraftYaw(float angle){
Attitude attitude = flightController.getState().getAttitude();
float pitch = (float) attitude.pitch;
float roll = (float) attitude.roll;
float yaw = (float) attitude.yaw + angle;
if (yaw > 180){
yaw = yaw - 360;
}
flightController.sendVirtualStickFlightControlData
(new FlightControlData(pitch, roll, yaw,0),
null);
}
作者:
kv886
时间:
2020-7-24
<div class="quote"><blockquote><a class="nopicture" rel="noopener" href="https://bbs.dji.com/forum.php?mod=redirect&goto=findpost&pid=3661397&ptid=249435" target="_blank"><span class="customName">djiuser_2qce936</span><span class="customShow"></span><span class="customTime">7-24 16:23</span></a>
<span class="customSpan">您好 那我让它每次旋转90度,每次加90,超过180就改成(原角度+90)-360这样旋转 但是实际上他并没有完全按照设定的角度旋转,这是我的代码
private void aircraftYaw(float angle){
Attitude attitude = flightController.getState().getAttitude();
float pitch = (float) attitude.pitch;
float roll = (float) attitude.roll;
float yaw = (float) attitude.yaw + angle;
if (yaw > 180){
yaw = yaw - 360;
}
flightController.sendVirtualStickFlightControlData
(new FlightControlData(pitch, roll, yaw,0),
null);
}</span></blockquote></div>这个命令不能只发一次,要以一定频率发送才可以,文档上有说明的。
作者:
fansi
时间:
2021-8-7
<div class="quote"><blockquote><a class="nopicture" rel="noopener" href="https://bbs.dji.com/forum.php?mod=redirect&goto=findpost&pid=3661397&ptid=249435" target="_blank"><span class="customName">djiuser_2qce936</span><span class="customShow">Phantom 4 Advanced</span><span class="customTime">2020-7-24 16:23</span></a>
<span class="customSpan">您好 那我让它每次旋转90度,每次加90,超过180就改成(原角度+90)-360这样旋转 但是实际上他并没有完全按照设定的角度旋转,这是我的代码
private void aircraftYaw(float angle){
Attitude attitude = flightController.getState().getAttitude();
float pitch = (float) attitude.pitch;
float roll = (float) attitude.roll;
float yaw = (float) attitude.yaw + angle;
if (yaw > 180){
yaw = yaw - 360;
}
flightController.sendVirtualStickFlightControlData
(new FlightControlData(pitch, roll, yaw,0),
null);
}</span></blockquote></div>大佬, 这个问题解决了么? 我也遇到同样的问题了
欢迎光临 大疆社区 (https://bbs.dji.com/)
Powered by Discuz! X3.2