VirtualStick Mode
VirtualStick Mode是Sdk提供的一种底层控制模式,通过模拟物理摇杆的运动向无人机按照一定频率发送摇杆差分信息,使得无人机按照类似于被物理摇杆控制的方式运行,但是此时物理摇杆由程序控制。开发者需要关注最底层的控制细节,因此存在失控的危险性。
VirtualStick Mode存在以下技术难点:
- 在VirtualStick Mode下,无人机为ATTI模式,其悬停精度不高,存在一定误差,容易影响进一步操作。
- 开发者需要关注底层控制,而无人机底层控制采用的坐标系与展现给应用层的坐标系不同,需要考虑坐标转换问题。
- 由程序控制飞行,在实验过程中需要关闭许多安全模块,如主动避障等,在程序失效的情况下会引发危险。
最终,底层选用VirtualStick Mode模式,通过虚拟摇杆对无人机发送控制信号。该模式基于Body坐标系,将Yaw,Roll,Pitch以三元组形式发送给无人机,需要以5Hz-20Hz的频率持续发送,无人机将把以这个频率发送的控制信号视为连续操作。信号发送将使用Java中Timer的Schedule进行定时调度,保证信息始终在以一定频率发送。