一种无人船自主航行方法及控制系统
技术领域
本发明涉及无人船技术领域,特别涉及一种无人船自主航行方法及控制系统。
背景技术
无人船是一种可以无需遥控,借助精确卫星定位和自身传感即可按照预设任务在水面航行的全自动水面机器人。随着科学技术的发展,无人船被广泛应用于测绘、水文和水质监测,对无人船的应用研究来越广泛,路径规划技术以及自主航行技术以等技术是有关无人船研究的关键问题,也是无人船人工智能研究的重要内容,在一定程度上标志着无人船智能水平的高低。
无人船在水面行驶过程中,如遇特殊情况,如遥控器断连、低电量等,需要自主返航,即行驶回到出发位置。关于无人船的自主航行技术,现有的技术方案中,无人船自主返航时不能自主按最短距离和\或最节能的路线返航,极大的造成了能源浪费,严重的影响了无人船的作业效率。
发明内容
有鉴于此,本发明旨在提出一种无人船自主航行方法及控制系统,以解决现有技术方案中无人船自主返航时不能自主按最短距离和\或最节能的路线返航,极大的造成了能源浪费的问题。
为了解决上述问题,本发明的技术方案是这样实现的:一种无人船自主航行方法,所述方法包括如下步骤:
步骤S101,自动生成航行线路或自定义航行线路得到预定航行路线并将预定航行线路发送至所述无人船;
步骤S102:在无人船行驶过程中,根据预设的时间间隔,测量所述无人船的当前位置、当前位置的水流方向及当前航向作为当前航点;
步骤S103:获取当前航点信息,并按顺序编号进行保存记录,同时根据当前航点判断和/或处理所述无人船的航行轨迹;
步骤S104:判断无人船是否需要返航,若不需要,则重复执行步骤S102;若需要,则执行返航,控制无人船按处理后的航行轨迹进行逆向返航,返回起始位置。
在一些实施例中,所述步骤103中,根据当前航点判断和/或处理所述无人船的航行轨迹的具体方法为:
所述步骤S103中,根据当前航点判断和/或处理所述无人船的航行轨迹的具体方法为:所述无人船在航行过程中每隔一定时间间隔记录航行轨迹中的航点,并把所述航点记录到GPS地图中进行保存;
所述无人船在航行过程中每隔一定时间间隔记录航行轨迹中航点的水流方向。
在一些实施例中,所述步骤104中,执行返航,控制无人船按处理后的航行轨迹进行逆向跟踪返航的过程包括:
步骤S1:计算当前航点与之前记录的航点之间的距离X;
步骤S2:判断之前记录的各航点与当前航点之间的距离X小于预设值R的个数;
若为一个,则调整无人船的航向指向该航点;
若为多个,则执行S3;
步骤S3:计算出X小于预设值R的航点与当前航点水流方向之间的夹角,判断X小于预设值R的各航点与当前航点的水流方向之间的夹角的大小;选取X小于预设值R的各航点中水流方向与当前航点的水流方向的夹角最小的航点作为无人船的航向,调整无人船的航向指向该航点,同时剔除其它的航点;
步骤S4:判断是否完成所有之前记录航点的跟踪返航,若是,则结束返航;若不是,则返回步骤S1,直到完成所有之前记录航点的跟踪返航。
在一些实施例中,所述步骤105中,判断是否需要执行返航的情况包括:
判断是否有接收到来自于控制终端的返航请求,若有接收到控制终端的返航请求,则执行返航。
或者判断是否有检测到无人船出现电源电量低于一定阈值的情况,当有检测到无人船出现电源电量低于一定阈值时,则执行返航;
或者判断无人船是否已执行完所述任务且与控制终端断联,如出现上述情况,则执行返航。
在一些实施例中,所述R值为无人船的最大航行速度加上航行区域的水流速度与所述时间间隔的乘积。
本申请还提出一种无人船自主航行控制系统,所述控制系统:
航点坐标测量模块:用于在无人船行驶过程中,根据预设的时间间隔,测量无人船的当前航点坐标,发送给主控模块;
航向测量模块:测量无人船的当前航向,发送给主控模块。
水流方向测量模块:用于在无人船行驶过程中,根据预设的时间间隔测量无人船的当当前航点的水流方向,发送给主控模块。
主控模块:用于获取当前航点信息,并按顺序编号进行保存记录,同时根据当前航点判断和/或处理所述无人船的航行轨迹;并判断是否需要执行返航,若需要执行返航,则控制无人船沿处理后的航行轨迹进行逆向跟踪返航,返回起始位置。
进一步地,所述主控模块包括:
返航信息获取模块:用于获取无人船是否需要返航的信息;
存储单元:用于存储获取的当前航点信息,并按顺序编号进行保存记录;
判断处理单元:用于获取当前航点,并根据当前航点判断和/或处理所述无人船的航行轨迹;
控制单元,根据返航信息控制无人船按处理后的航行轨迹进行返航。
进一步地,所述判断处理单元包括
航点信息获取模块:用于获取当前航点的航点坐标以及航向的信息;
航点水流方向获取模块:用于获取当前航点的水流方向;
第一计算模块:计算当前航点与之前记录的航点之间的距离X;
第一判断模块:判断之前记录的各航点与当前航点之间的距离X小于预设值R的个数;
第二计算模块:计算出X小于预设值R的航点与当前航点水流方向之间的夹角;
第二判断模块:判断X小于预设值R的各航点与当前航点的水流方向之间的夹角的大小。
本发明还提供了一种无人船,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述方法的步骤
根据本发明实施例的自主航行方法及控制系统,通过计算出X小于预设值R的之前记录的航点与当前航点水流方向之间的夹角,并选取X小于预设值R的各航点中水流方向与当前航点的水流方向的夹角最小的航点作为无人船的航向,大大降低了无人船在返航过程中由于各航点之间水流方向不同,而造成的无人船因克服逆行水流阻力用的能耗。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例提供的无人船自主航行方法的步骤流程图;
图2为本发明实施例提供的无人船自主航行控制系统的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以下对本发明实施例进行详细的说明。
参照图1,图1示出了本发明实施例的一种无人船自主航行方法的步骤流程图,具体可以包括如下步骤:
步骤S101,自动生成航行线路或自定义航行线路得到预定航行路线并将预定航行线路发送至无人船。
步骤S102:在无人船行驶过程中,根据预设的时间间隔,测量无人船的当前位置坐标和当前位置的水流方向以及当前航向作为当前航点。
步骤S103:获取当前航点信息,并按顺序编号进行保存记录,同时根据当前航点判断和/或处理所述无人船的航行轨迹。
步骤S104:判断无人船是否需要返航,若不需要,则重复执行步骤S102;若需要,则执行返航,控制无人船按处理后的航行轨迹进行逆向返航,返回起始位置。
优选的,所述步骤103中,根据当前航点判断和/或处理所述无人船的航行轨迹的具体方法为:无人船在航行过程中每隔一定时间间隔记录航行轨迹中的航点,并把所述航点记录到GPS地图中进行保存,所述无人船在航行过程中每隔一定时间间隔记录航行轨迹中航点的水流方向。
优选的,所述步骤S103中,当前航点的存储格式为(X,Y,N),航点的水流方向存储格式为(M,N)其中,X,Y为当前航点坐标,N为记录的当前航点序号,为自然数,M为当前航点的水流方向。
在一个优选实施例中,所述步骤S104中,执行返航,控制无人船按处理后的航行轨迹进行逆向跟踪返航的过程包括:
步骤S1:计算当前航点与之前记录的航点之间的距离X;
步骤S2:判断之前记录的各航点与当前航点之间的距离X小于预设值R的个数;
若为一个,则调整无人船的航向指向该航点;
若为多个,则执行S3;
步骤S3:计算出X小于预设值R的之前记录的航点与当前航点水流方向之间的夹角,判断X小于预设值R的各之前记录的航点与当前航点的水流方向之间的夹角的大小;选取X小于预设值R的各航点中水流方向与当前航点的水流方向的夹角最小的航点作为无人船的航向,调整无人船的航向指向该航点,同时剔除其它的航点。
例如,当前航点与之前记录的航点之间的距离X小于预设值R的航点为N1、N2、N3三个航点时,计算出N1、N2、N3与当前航点水流方向的夹角分别为30°、40°和50°,则选取选取N1的方向为无人船的航向。
步骤S4:判断是否完成所有之前记录航点的跟踪返航,若是,则结束返航;若不是,则返回步骤S1,直到完成所有之前记录航点的跟踪返航。
本实施例中,当前航点与之前记录的航点之间的距离X可以根据前航点与之前记录的航点坐标计算得到。
本实施例中,通过计算出X小于预设值R的之前记录的航点与当前航点水流方向之间的夹角,并选取X小于预设值R的各航点中水流方向与当前航点的水流方向的夹角最小的航点作为无人船的航向,大大降低了无人船在返航过程中由于各航点之间水流方向不同,而造成的无人船因克服逆行水流阻力用的能耗。
优选的,所述步骤S104中,判断是否需要执行返航的情况包括:
是否有接收到来自于控制终端的返航请求,若有接收到控制终端的返航请求,则执行返航;或者判断是否有检测到无人船出现电源电量低于一定阈值的情况,当有检测到无人船出现电源电量低于一定阈值时,则执行返航;或者判断无人船是否已执行完所述任务且与控制终端断联,如出现上述情况,则执行返航。
优选的,R值可以为无人船的最大航行速度加上航行区域的水流速度与所述时间间隔的乘积。
参照图2,示出了本发明实施例的一种无人船自主航行控制系统的结构框图,具体可以包括如下模块:
航点位置测量模块201:用于在无人船行驶过程中,根据预设的时间间隔,测量无人船的当前航点坐标,发送给主控模块;
航向测量模块202:测量无人船的当前航向,发送给主控模块。
水流方向测量模块203:用于在无人船行驶过程中,根据预设的时间间隔测量无人船的当前航点的水流方向,发送给主控模块。
主控模块204:用于获取当前航点信息,并按顺序编号进行保存记录,同时根据当前航点判断和/或处理所述无人船的航行轨迹;并判断是否需要执行返航,若需要执行返航,则控制无人船沿处理后的航行轨迹进行逆向跟踪返航,返回起始位置。
本实施例中,航点位置测量模块201可以为GPS导航模块,通过GPS导航模块测量当前航点的坐标,航向测量模块202可以为电子罗盘。其中,GPS导航模块、电子罗盘分别与主控模块连接。
进一步地,所述主控模块204包括:
返航信息获取模块:用于获取无人船是否需要返航的信息,例如,获取电源电量较低情况(低于一定阈值)低电量信息。
存储单元:用于存储获取的当前航点信息,并按顺序编号进行保存记录;
判断处理单元:用于获取当前航点信息,并根据当前航点判断和/或处理所述无人船的航行轨迹;
控制单元,根据返航信息控制无人船按处理后的航行轨迹进行返航。
进一步地,判断处理单元包括:
航点信息获取模块:用于获取当前航点的航点坐标、水流方向以及航向的信息;
航点水流方向获取模块:用于获取当前航点的水流方向;
第一计算模块:计算当前航点与之前记录的航点之间的距离X;
第一判断模块:判断之前记录的各航点与当前航点之间的距离X小于预设值R的个数;
第二计算模块:计算出X小于预设值R的之前记录的航点与当前航点水流方向之间的夹角;
第二判断模块:判断X小于预设值R的各之前记录的航点与当前航点的水流方向之间的夹角的大小;
另外,本发明实施例还公开了一种无人船,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例所述方法的步骤。
另外,本发明实施例还公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例所述方法的步骤。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。