基于Matlab的无人船局部避碰仿真平台

作品简介

1.概述

无人船动态自主避碰能够根据传感器数据,对周围环境中的突发或高速障碍物进行快速规避,以确保无人船在航行过程中的安全。常用的动态自主避碰算法有人工势场法、动态窗口法、速度障碍法、向量场直方图法等。现有的避碰算法还存在如下几个问题:

(1)算法未结合国际海上避碰规则,导致避碰失败或二次事故。

(2)算法未考虑无人船的操纵特性,导致规划出的避碰路径难以运用于无人船的实际航行中。

(3)算法计算量大,无法实现高速无人船在复杂海况下的快速避碰。

如果都用实船验证算法费时费力,成本十分高昂。此外,无人船航行过程中环境局部障碍可能非常多变,搭建符合要求的局部障碍也很复杂。因此采用Matlab搭建无人船局部避碰算法仿真平台,可以非常方便搭建航行障碍环境和调整参数,从实现非常直观的对避碰算法进行验证。

2、软件初始界面

在Matlab2021b环境下打开主程序,点击运行按钮

窗口可对运行算法进行设置,“算法选择”确认后,点击“开始航行”即可进入避碰算法仿真运行环境。“算法选择”包括如下内容:

          

程序开始运行后不可以再选择算法。选择“人工势场法”后显示预置仿真航行障碍如下图所示:


选择“动态窗口法”后显示预置仿真航行障碍如下图所示:

3、主要功能介绍

3.1障碍调整功能

选择好运行的算法后,在点击“开始航行”之前,用鼠标左键选中图形中的障碍,可以随意拖动到希望的位置,再点击“开始航行”,则算法会根据新的障碍位置重新规划路线和避障。

   

示例中对最大的障碍物的位置进行了拖动设

3.2航行/暂停功能

   鼠标左键点击“开始航行”按钮,按钮上字样变为“暂停”,仿真模型开始运行,点击“暂停”按钮,则模型暂停运行,按钮上字样变为“开始航行”,再次点击“开始航行”按钮,模型恢复运行。

对“人工势场法”选项,暂停期间可对障碍重新拖动调整。调整完毕后再次点击“开始航行”按钮,模型即可按照新的障碍环境恢复运行。

3.3参数设置功能

   模型的仿真步长可在参数设置框中进行设置。

4.退出软件

鼠标左键选中软件左下角侧的退出按钮,当退出按钮为激活状态时,则退出该软件,关闭程序界面。

创作时间: