多无人机编队近些年也不断有学者研究,简单的无人机编队运动总的来说就是平移与旋转的结合,本文将多无人机编队的运动转变成参考坐标系的运动控制,对参考坐标系的平移与旋转做闭环控制,利用Matlab的simulink工具进行仿真实现。
多无人机编队原理
在编队系统中,无人机所需要的最大加速度取决于离参考坐标系原点距离最远的无人机,推导得到最远距离dmax与无人机最大加速度amax之间的关系:
无人机编队在不被破坏的情况下(即无人机编队所需的最大加速度不大同意无人机受限加速度情况下)可根据上式公式计算出参考坐标系最大旋转速度。 可以建立参考控制器的闭环控制如下图所示:
在图3-4中所示的闭环控制体系中,给定参考坐标系的旋转速度,将参考坐标系的状态通过信息传递网络传达给无人机,无人机反馈与参考坐标系原点的距离,经由信息传递网络比较得到最大距离,经过计算得到最大加速度与参考坐标系最大旋转速度,反馈给参考坐标系形成闭环控制。
基于simulink的多无人机编队控制
在simulink仿真中,我们对无人机在xyz三个方向上的运动进行仿真,并采取四个控制量对无人机的运动进行闭环控制,参考上述说明的框架建立对参考坐标系运动的闭环控制,最终可以看到大致的仿真模型如下图所示:
具体的matlab仿真代码可以参考: https://github.com/j-petit/consensus-formation-control
编队控制仿真效果
在simulink的仿真结果中,我们主要测试无人机编队是否能在保持编队效果的前提下完成平移与旋转运动,所以我们设定参考坐标系满足如下条件:
主要包括上升运动与绕x轴旋转90度两个运动,其中坐标系的速度变化主要如下图所示:
给定参考坐标系速度变化
引入上述所说的最远距离反馈,对参考坐标系的平移与旋转速度进行闭环控制。可以得到修正之后的参考坐标系速度不变化如下图所示:
修正后参考坐标系速度变化
在matlab文件中,在main.m文件下点击运行,获取仿真结果后,运行plot_animated_traj_3D.m文件可以看到可视化动画效果。 最终我们可以通过下面的视频看到无人机最终的仿真结果,其中紫色的立方体代表参考坐标系,圆点表示无人机的目标位置,菱形点表示无人机实际的位置,通过实验结果可以看出无人机编队可以较好的完成平移与旋转运动。 本文主要简单的介绍了利用Matlab工具实现无人机编队过程,其中更详细的过程大家可以参考文中提供的源码链接,那么在Matlab中完成实验仿真后,我们怎么在Ros中实现无人机编队飞行的效果呢?下一篇文章中即会介绍如何在rotor_simulation中实现多无人机编队飞行的效果!