【介绍】
- 在MSDK V5中虚拟摇杆被再次简化和封装成一个真正的“虚拟遥控器”。它是由KeySendVirtualStickFlightControlData经过二次封装而来。
【开启前提】
- app与遥控器连接正常。
- 遥控器处于普通档。
- 飞行器不在飞任何自动任务,例如:航线任务、智能返航。
【功能介绍】
- enableVirtualStick,开启虚拟摇杆功能。
- disableVirtualStick,关闭虚拟摇杆功能。
- getLeftStick获取左摇杆,默认操作方式为美国手。
- getRightStick获取右摇杆,默认操作方式为美国手。
- setVirtualStickStateListener,设置虚拟摇杆状态监听器。
- isVirtualStickEnable,当前虚拟摇杆功能是否开启。
- FlightControlAuthority,当前飞行控制权所属。
- FlightControlAuthorityChangeReason,飞行控制权改变的原因。
【控制权变换逻辑】
- M30系列:无论控制权在RC或OSDK,MSDK侧调用enableVirtualStick都可以获取飞行控制权,调用disableVirtualStick则把控制权释放给RC。
- M300:MSDK侧只能从RC处获取飞行控制权,如果从OSDK处抢夺控制权则会触发飞行控制权混乱的bug,此bug为固件问题,暂无修复计划。
【视觉避障】
- M30及后续机型目前在开启虚拟摇杆时,视觉避障不生效,请小心飞行。
- M300在开启虚拟摇杆时,视觉避障生效。
- DJI Mini 3 Pro支持虚拟摇杆避障。
【API调用示意图】
【使用虚拟摇杆高级模式】
- 有些用户希望仍然沿用MSDK V4的虚拟摇杆逻辑,即他们想设置verticalControlMode、rollPitchControlMode、yawControlMode、rollPitchCoordinateSystem和调用sendVirtualStickAdvancedParam来控制飞行器。
- 开启setVirtualStickAdvancedModeEnabled后,建议以5-25Hz的频率发送sendVirtualStickAdvancedParam。
- 高级控制参数的详细用法,请参阅虚拟摇杆。
- 高级控制参数范围请参考:VirtualStickRange。
【速度计算公式】
- 前面说到V5的虚拟摇杆是由KeySendVirtualStickFlightControlData封装而来的,因此飞机最终接收的还是速度,在偏移量和速度之间存在一个速度计算公式,可以在这篇文章查看详细信息:速度计算公式。
评论
1 条评论
调用enableVirtualStick后,虚拟摇杆还是无法控制飞机,可能是什么原因?
请登录写评论。