无人艇编队控制项目是国家自然基金委重大项目的一个子课题,大课题由上海大学牵头,在我入学之前,已经完成了理论部分的研究,我在项目中负责结题演示实验的设计和实施。

无人艇集群:“小黄鸭群”
实验设计
演示总体分为四个部分,分别控制20艘无人艇展示:
- 无人艇从初始状态切换编队
- 无人艇在编队状态下前进,根据当前数量自主调整编队
- 在遭遇未知舰艇时,排除侦察艇前出侦察
- 若侦察艇发现中立舰艇,则增派一艘舰艇持续跟踪驱离
- 若侦察艇发现敌方舰艇,则增派两艘舰艇进行围捕(形成三艇围捕队形10秒视为围捕成功)
具体工作
这个项目分为两个时间节点,一个是2023年年底的结题报告,一个是2024年4月的专家验收。
和之前参与过的项目不同,无人艇搭载的通讯设备是电台,采用UDP传输信息,不能使用ROS的消息传递机制,因此需要自己设计通信协议。这部分虽然很简单,但在实际的实验中由于发送速度过快或过慢,都遇到了不少问题。
算法的设计很简单,根据无人艇的数量,预设一个内外两个圈的队形,核心是要护航的一艘有人驾驶的船作为母艇。在有外来船只被感知时,根据不同的目标类型,重新设置编队位置,并使用匈牙利算法在最小化每艘船的位置变化条件下,分配无人艇到新的位置。

无人艇遥控器视角
由于无人艇行驶在海面中,航程范围极大,因此传统的ego-planner等以栅格地图为基础的路径规划方法运算量极大,无法做到实时规划。因此,我们改进了人工势场法,避开歧义值,并在扇形区域内有船只时动态调整航向和速度,保证稳定安全的路径规划。

结题演示演练
与无人机中使用的px4ctrl类似,控制算法采用了PD控制器,由于无人艇在海面上会收到风浪的影响,因此控制算法输入的目标也是一个围绕目标点的动态点,保证无人艇在风浪影响下仍能稳定前进并保持队形。
编队队形
驱离队形
围捕队形
我是学生,给我钱