虚拟摇杆教程

2024-05-17
暂无评分

Sample 介绍

虚拟摇杆功能模拟了遥控器的操纵杆的工作,发送摇杆命令以模拟手动飞行来实现自动飞行。通过虚拟摇杆功能,用户可以开启或关闭虚拟摇杆模式,获取或设置虚拟摇杆杆量,添加虚拟摇杆状态监听,使用虚拟摇杆的高级模式。

注意:

  • 使用虚拟摇杆功能,需要飞行器不处于任何自动任务中,并且遥控器处于 “普通档”,如 M3E/M3T 机型的配套遥控器的 N 档。
  • 若 M3E/M3T/M3M 机型固件版本低于 V7.01.10.03,在虚拟摇杆模式启动时,视觉避障不生效,建议升级到最新固件版本。

虚拟摇杆高级模式

虚拟摇杆高级模式开启后,左摇杆 getLeftStick() 和右摇杆 getRightStick() 的控制数据将不再生效。可以通过倾角控制模式、偏航控制模式、垂直油门控制模式以移动飞行器。

  • 横滚俯仰控制模式:以速度模式或角度模式对横滚轴和俯仰轴设置,使飞行器产生水平方向位置的变化。
  • 偏航控制模式:以角速度模式或角度模式对偏航轴设置,使飞行器的航向产生变化。
  • 垂直油门控制模式:以速度模式或高度模式发送命令,使飞行器产生垂直方向位置的变化。

虚拟摇杆相关的无人机知识在 飞行控制器open in new window 章节做了介绍。高级模式可设置的参数以及参数范围,请阅读虚拟摇杆管理类 IVirtualStickManageropen in new window

控制权说明

飞行器当前的控制权所有者会被监听,同时被监听的还有虚拟摇杆是否开启,虚拟摇杆高级模式是否开启。虚拟摇杆模式开启期间,控制权所有者为 MSDK。若开启期间控制权被抢夺,需要重新开启虚拟摇杆模式夺回控制权。

说明: 下面提及的 OSDK 即指当前的 PSDK。在 PSDK V3 版本时,OSDK 合并到 PSDK 并统称 PSDK,统一维护。更多信息可以阅读 PSDK 教程文档open in new window

  • M30 系列及后续机型:无论控制权在遥控器或 OSDK,MSDK 侧调用 enableVirtualStick() 都可以获取飞行控制权,调用 disableVirtualStick() 则把控制权释放给遥控器。
  • M300 RTK:MSDK 侧只能从遥控器处获取飞行控制权,如果从 OSDK 处抢夺控制权则会触发飞行控制权混乱。此问题为固件问题,暂无修复计划。

接口调用流程

下图为虚拟摇杆接口调用流程示例,无需每步参照,请视实际情况调用。详细的使用方法请查看 Mobile SDK API 文档中的虚拟摇杆管理类 IVirtualStickManageropen in new window

注意:

  • 通过 sendVirtualStickAdvancedParam() 发送高级控制参数前,需要通过 setVirtualStickAdvancedModeEnabled() 先开启虚拟摇杆高级模式。
  • 虚拟摇杆高级模式开启后,左摇杆 getLeftStick() 和右摇杆 getRightStick() 的控制数据将不再生效。
  • 开发者可以根据自己的需求按照特定的频率发送控制参数,建议发送频率在 5Hz 到 25Hz 之间。

Sample 获取

虚拟遥杆 Sampleopen in new window

若您对文档有意见或疑惑,点击可快速反馈,我们会与您联系。