CN109164797B - 一种用于船舶智能控制的航迹制导方法及系统 - Google Patents
一种用于船舶智能控制的航迹制导方法及系统 Download PDFInfo
- Publication number
- CN109164797B CN109164797B CN201810784165.0A CN201810784165A CN109164797B CN 109164797 B CN109164797 B CN 109164797B CN 201810784165 A CN201810784165 A CN 201810784165A CN 109164797 B CN109164797 B CN 109164797B
- Authority
- CN
- China
- Prior art keywords
- ship
- turning point
- point
- mth
- steering
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/0206—Control of position or course in two dimensions specially adapted to water vehicles
Abstract
本发明涉及船舶智能控制技术领域,提供一种用于船舶智能控制的航迹制导方法及系统,方法包括:获取船舶当前的实际船位位置,并计算船舶的实际船位位置与船舶应走航线上各个转向点之间的直线距离;遍历若干个直线距离,查找获得数值最小的直线距离所对应的转向点;从第m转向点的航迹段切换区域;判断船舶当前的实际船位位置是否在航迹段切换区域内;是则以第m‑1转向点和第m+1转向点为基础,获取船舶当前的航迹段;否则则以第m转向点和所述船舶当前的实际船位位置为基础,获取船舶当前的航迹段,从而实现对航迹段准确确定,计算方法实现简单,减小航迹制导带来的偏差,使船舶航行更加顺利平稳。
Description
技术领域
本发明属于船舶智能控制技术领域,尤其涉及一种用于船舶智能控制的航迹制导方法及系统。
背景技术
船舶上安装自动舵用于进行船舶的航向控制,其能把船舶控制在事先设定好的航向上持续航行,由于受各种条件的制约,无法实现船舶的航迹控制。随着计算机技术的发展和GPS全球卫星定位系统等先进导航设备在船舶上的安装,使船舶航迹控制成为可能。
目前,在船舶上布局的航迹智能控制策略主要包括航迹自动保持和航迹自动跟踪两个功能。所谓航迹自动保持是指因海上干扰引起船舶偏离计划航线时,具有自动返回原航线的能力;所谓航迹自动跟踪是:当船舶接近转向点时能自动根据预先设定的转向半径自动转到新航向,或船舶因避让偏离计划航线后,船舶具有自动返回原航线的能力。航迹智能控制的实现,可以使船舶自动地沿着预定航线航行,这对于船舶的航行安全,省时节能等具有十分重要的意义。
由于外在条件因素的存在,船舶在航行过程中,经常出现船舶自动避让或其他因素造成的船舶发生较大偏航的情形,当出现避让等导致的偏航情形时,需要对船舶进行回位调整控制,使船舶返回原先设定的应走航线进行航行,目前,确定船舶当前应属的航迹段存在多种计算算法实现,但是,航迹段的每一种计算算法的计算过程复杂,并且结合实际外界干扰因素的情形较少,仅仅存在理论上的实现,导致整个航迹制导控制偏差较大,给船舶航行带来不便。
发明内容
本发明的目的在于提供一种用于船舶智能控制的航迹制导方法,旨在解决现有技术中航迹段的每一种计算算法的计算过程复杂,并且结合实际外界干扰因素的情形较少,仅仅存在理论上的实现,导致整个航迹制导控制偏差较大,给船舶航行带来不便的问题。
本发明是这样实现的,一种用于船舶智能控制的航迹制导方法,所述方法包括下述步骤:
获取船舶当前的实际船位位置,并计算所述船舶的实际船位位置与所述船舶应走航线上各个转向点之间的直线距离;
遍历计算得到的若干个所述船舶的实际行位信息与所述船舶应走航线上各个转向点之间的直线距离,查找获得数值最小的直线距离所对应的转向点,即为第m转向点;
从预先计算生成的航迹段切换区域库中查找数值最小的直线距离所对应的第m转向点的航迹段切换区域;
判断所述船舶当前的实际船位位置是否在所述航迹段切换区域内;
当判定所述船舶当前的实际船位位置在所述航迹段切换区域内时,则以第m-1转向点和第m+1转向点为基础,获取所述船舶当前的航迹段;
当判定所述船舶当前的实际船位位置未在所述航迹段切换区域内时,则以所述第m转向点和所述船舶当前的实际船位位置为基础,获取所述船舶当前的航迹段;
所述当判定所述船舶当前的实际船位位置在所述航迹段切换区域内时,则以第m-1转向点和第m+1转向点为基础,获取所述船舶当前的航迹段的步骤具体包括下述步骤:
在预先设置的若干个转向点中,找出所述第m转向点的前一转向点和后一转向点,分别记为第m-1转向点和第m+1转向点;
计算所述第m转向点和所述船舶当前的实际船位位置之间的连线与所述第m转向点与所述第m-1转向点之间的连线的夹角α1;
计算所述第m转向点和所述船舶当前的实际船位位置之间的连线与所述第m转向点与所述第m+1转向点之间的连线的夹角α2;
判断夹角α1是否大于夹角α2;
当判定夹角α1大于夹角α2时,则判定所述第m转向点与所述第m+1转向之间的线路为当前船舶的航迹段;
当判定夹角α1小于等于夹角α2时,则判定所述第m转向点与所述第m-1转向之间的线路为当前船舶的航迹段;
所述当判定所述船舶当前的实际船位位置未在所述航迹段切换区域内时,则以所述第m转向点和所述船舶当前的实际船位位置为基础,获取所述船舶当前的航迹段的步骤具体包括下述步骤:
计算船舶当前的实际船位位置和第m-1转向点之间的连线与第m-1转向点和所述第m转向点之间的连线的所形成的夹角θ1;
船舶当前的实际船位位置与第m转向点之间连线和第m-1转向点与第m转向点之间连线所形成的夹角θ2;
判断所述夹角θ1和夹角θ2是否均小于90度;
若判定所述夹角θ1和夹角θ2均小于90度,则判定所述第m转向点与第m-1转向点之间线路为当前船舶的航迹段;
若判定所述θ1和夹角θ2不能同时满足小于90度,则进行迭代算法,并且在迭代结束后,判断迭代后的当前转向点是否为最后一个转向点;
若是判定迭代后的当前转向点为应走航线的最后一个转向点,则判定所述最后一个转向点与其上一个转向点组成的航迹段为当前所属航迹段;
若判定迭代后的当前转向点不是最后一个转向点,则返回执行类似所述计算船舶当前的实际船位位置和第m-1转向点之间的连线与第m-1转向点和所述第m转向点之间的连线的所形成的夹角θ1与船舶当前的实际船位位置与第m转向点之间连线和第m-1转向点与第m转向点之间连线所形成的夹角θ2的步骤,并循环执行直至确认当前船舶的航迹段。
作为一种改进的方案,所述方法还包括下述步骤:
根据船舶航行出发地和目的地信息,预先规划船舶应走航线,所述船舶应走航线上设有若干个转向点,若干个转向点按照坐标位置以及航行的经历顺序进行排序;
根据船舶自身的性能指标参数以及水域信息,计算每一个所述转向点所对应的航迹段切换区域;
将计算得到的若干个航迹段切换区域按照转向点的排序进行入库,形成航迹段切换区域库;
其中,所述应走航线由若干个所述转向点所在的航迹段切换区域和每两个转向点之间的航迹段组成。
作为一种改进的方案,所述查找获得数值最小的直线距离所对应的转向点,即为第m转向点的步骤之后,所述计算查找获取到的数值最小的直线距离所对应的第m转向点的航迹段切换区域的步骤之前还包括下述步骤:
判断查找获取到的所述第m转向点是否为第一转向点或最后一个转向点;
当判定查找获取到的所述第m转向点为第一转向点或最后一个转向点,则判断所述第m转向点是否第一转向点;
若所述第m转向点为第一转向点,则判定第一个转向点与第二个转向点之间的连线为所述船舶当前的航迹段;
若所述第m转向点为最后一个转向点时,则判定所述最后一个转向点与其上一个转向点之间的连线为船舶当前的航迹段。
本发明的另一目的在于提供一种用于船舶智能控制的航迹制导系统,所述系统包括:
实际船位位置获取模块,用于获取船舶当前的实际船位位置;
直线距离计算模块,用于计算所述船舶的实际船位位置与所述船舶应走航线上各个转向点之间的直线距离;
最小距离转向点查找模块,用于遍历计算得到的若干个所述船舶的实际行位信息与所述船舶应走航线上各个转向点之间的直线距离,查找获得数值最小的直线距离所对应的转向点,即为第m转向点;
航迹段切换区域查找模块,用于从预先计算生成的航迹段切换区域库中查找数值最小的直线距离所对应的第m转向点的航迹段切换区域;
航迹段切换区域判断模块,用于判断所述船舶当前的实际船位位置是否在所述航迹段切换区域内;
第一航迹段获取模块,用于当判定所述船舶当前的实际船位位置在所述航迹段切换区域内时,则以第m-1转向点和第m+1转向点为基础,获取所述船舶当前的航迹段;
第二航迹段获取模块,用于当判定所述船舶当前的实际船位位置未在所述航迹段切换区域内时,则以所述第m转向点和所述船舶当前的实际船位位置为基础,获取所述船舶当前的航迹段;
作为一种改进的方案,所述第一航迹段获取模块具体包括:
转向点查找模块,用于在预先设置的若干个转向点中,找出所述第m转向点的前一转向点和后一转向点,分别记为第m-1转向点和第m+1转向点;
第一夹角计算模块,用于计算所述第m转向点和所述船舶当前的实际船位位置之间的连线与所述第m转向点与所述第m-1转向点之间的连线的夹角α1;
第二夹角计算模块,用于计算所述第m转向点和所述船舶当前的实际船位位置之间的连线与所述第m转向点与所述第m+1转向点之间的连线的夹角α2;
第一夹角角度判断模块,用于判断夹角α1是否大于夹角α2;
第一航迹段判定模块,用于当判定夹角α1大于夹角α2时,则判定所述第m转向点与所述第m+1转向之间的线路为当前船舶的航迹段;
第二航迹段判定模块,用于当判定夹角α1小于等于夹角α2时,则判定所述第m转向点与所述第m-1转向之间的线路为当前船舶的航迹段;
所述第二航迹段获取模块具体包括下述步骤:
第三夹角计算模块,用于计算船舶当前的实际船位位置和第m-1转向点之间的连线与第m-1转向点和所述第m转向点之间的连线的所形成的夹角θ1;
第四夹角计算模块,用于船舶当前的实际船位位置与第m转向点之间连线和第m-1转向点与第m转向点之间连线所形成的夹角θ2;
第二夹角角度判断模块,用于判断所述夹角θ1和夹角θ2是否均小于90度;
第三航迹段判定模块,用于若判定所述夹角θ1和夹角θ2均小于90度,则判定所述第m转向点与第m-1转向点之间线路为当前船舶的航迹段;
迭代控制模块,用于若判定所述θ1和夹角θ2不能同时满足小于90度,则进行迭代算法;
最后转向点判断模块,用于在迭代结束后,判断迭代后的当前转向点是否为最后一个转向点;
第四航迹段判定模块,用于若是判定迭代后的当前转向点为应走航线的最后一个转向点,则判定所述最后一个转向点与其上一个转向点组成的航迹段为当前所属航迹段;
返回执行模块,用于若判定迭代后的当前转向点不是最后一个转向点,则返回执行类似所述计算船舶当前的实际船位位置和第m-1转向点之间的连线与第m-1转向点和所述第m转向点之间的连线的所形成的夹角θ1与船舶当前的实际船位位置与第m转向点之间连线和第m-1转向点与第m转向点之间连线所形成的夹角θ2的步骤;
循环控制模块,用于循环执行直至确认当前船舶的航迹段。
作为一种改进的方案,所述系统还包括:
应走航线规划模块,用于根据船舶航行出发地和目的地信息,预先规划船舶应走航线,所述船舶应走航线上设有若干个转向点,若干个转向点按照坐标位置以及航行的经历顺序进行排序;
航迹段切换区域计算模块,用于根据船舶自身的性能指标参数以及水域信息,计算每一个所述转向点所对应的航迹段切换区域;
入库模块,用于将计算得到的若干个航迹段切换区域按照转向点的排序进行入库,形成航迹段切换区域库;
其中,所述应走航线由若干个所述转向点所在的航迹段切换区域和每两个转向点之间的航迹段组成。
作为一种改进的方案,所述系统还包括:
转向点综合判断模块,用于判断查找获取到的所述第m转向点是否为第一转向点或最后一个转向点;
第一转向点判断模块,用于当判定查找获取到的所述第m转向点为第一转向点或最后一个转向点,则判断所述第m转向点是否第一转向点;
第五航迹段判定模块,用于若所述第m转向点为第一转向点,则判定第一个转向点与第二个转向点之间的连线为所述船舶当前的航迹段;
第六航迹段判定模块,用于若所述第m转向点为最后一个转向点时,则判定所述最后一个转向点与其上一个转向点之间的连线为船舶当前的航迹段。
在本发明实施例中,获取船舶当前的实际船位位置,并计算船舶的实际船位位置与船舶应走航线上各个转向点之间的直线距离;遍历若干个直线距离,查找获得数值最小的直线距离所对应的转向点;从第m转向点的航迹段切换区域;判断船舶当前的实际船位位置是否在航迹段切换区域内;是则以第m-1转向点和第m+1转向点为基础,获取船舶当前的航迹段;否则则以第m转向点和所述船舶当前的实际船位位置为基础,获取船舶当前的航迹段,从而实现对航迹段准确确定,计算方法实现简单,减小航迹制导带来的偏差,使船舶航行更加顺利平稳。
附图说明
图1是本发明提供的用于船舶智能控制的航迹制导方法的实现流程图;
图2是本发明提供的航迹段切换区域的示意图;
图3是本发明提供的当判定所述船舶当前的实际船位位置在所述航迹段切换区域内时,则以第m-1转向点和第m+1转向点为基础,获取所述船舶当前的航迹段的实现流程图;
图4是本发明实施例一提供的夹角计算示意图;
图5是本发明提供的当判定所述船舶当前的实际船位位置在所述航迹段切换区域内时,则以所述第m转向点和所述船舶当前的实际船位位置为基础,获取所述船舶当前的航迹段的实现流程图;
图6是本发明实施例二提供的夹角计算示意图;
图7是本发明提供的首尾转向点判断实现流程图;
图8是本发明提供的用于船舶智能控制的航迹制导系统的结构框图;
图9是本发明提供的第一航迹段获取模块的结构框图;
图10是本发明提供的第二航迹段获取模块的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1示出了本发明提供的用于船舶智能控制的航迹制导方法的实现流程图,其具体包括下述步骤:
在步骤S101中,获取船舶当前的实际船位位置,并计算所述船舶的实际船位位置与所述船舶应走航线上各个转向点之间的直线距离。
其中,该船舶当前的实际船位位置的获取可以通过设置的船舶上的GPS定位系统获取,该GPS定位系统可以实时的获取船舶的经纬度信息,然后将获取到的船舶当前的实际船位位置同步到船舶的航迹控制器的坐标系中,下述有详细说明,在此不再赘述。
在该步骤中,对直线距离的计算下述有说明,在此不再赘述。
在步骤S102中,遍历计算得到的若干个所述船舶的实际行位信息与所述船舶应走航线上各个转向点之间的直线距离,查找获得数值最小的直线距离所对应的转向点,即为第m转向点。
在步骤S103中,从预先计算生成的航迹段切换区域库中查找数值最小的直线距离所对应的第m转向点的航迹段切换区域。
在步骤S104中,判断所述船舶当前的实际船位位置是否在所述航迹段切换区域内,是则执行步骤S105,否则执行步骤S106。
在步骤S105中,当判定所述船舶当前的实际船位位置在所述航迹段切换区域内时,则以第m-1转向点和第m+1转向点为基础,获取所述船舶当前的航迹段。
在步骤S106中,当判定所述船舶当前的实际船位位置未在所述航迹段切换区域内时,则以所述第m转向点和所述船舶当前的实际船位位置为基础,获取所述船舶当前的航迹段。
其中,在执行上述步骤S101之前,还需要执行下述步骤:
根据船舶航行出发地和目的地信息,预先规划船舶应走航线,所述船舶应走航线上设有若干个转向点,若干个转向点按照坐标位置以及航行的经历顺序进行排序,其中,该应走航线为按照航行规定作出的规划,例如根据海域的要求以及具体船舶的自身要求等,该应走航线不可能全为直线段,其也设有若干个转向点,具体设置多少转向点以及相邻转向点之间的距离等信息也需要根据的实际的需求进行设置,该若干个转向点可以根据应走航线的航行顺序进行记录保存,在记录保存该转向点的同时,保存每一个转向点的经纬度信息,一遍后进行直线距离计算等;
根据船舶自身的性能指标参数以及水域信息,计算每一个所述转向点所对应的航迹段切换区域,其中,如图2所示:
假设计算第m转向点的该航迹段切换区域,在该第m转向点,船舶可能存在转向的可能,在转向的同时,可能由于船舶自身的转向性能指标参数以及水域的风、浪的影响,存在一定的转向误差,因此形成该航迹段切换区域,在图2中,该第m转向点的坐标为(xm,ym),以坐标(xm,ym)为中心,以一定的距离r为半径做画出的圆形区域,定义为该航迹段切换区域,图2中用A标记,该r可以根据实际的选取,在此不再赘述;
将计算得到的若干个航迹段切换区域按照转向点的排序进行入库,形成航迹段切换区域库,其中,该航迹段切换区域入库的记录形式为坐标加半径r的方式,当然也可以采用其他方式,在此不再赘述;
其中,所述应走航线由若干个所述转向点所在的航迹段切换区域和每两个转向点之间的航迹段组成;
在该实施例中,包括上述转向点和该航迹段切换区域库在内的数据均可存储在一个数据库中,以便数据调用、查看和更新。
在本发明实施例中,如图3所示,当判定所述船舶当前的实际船位位置在所述航迹段切换区域内时,则以第m-1转向点和第m+1转向点为基础,获取所述船舶当前的航迹段的步骤具体包括下述步骤:
在步骤S301中,在预先设置的若干个转向点中,找出所述第m转向点的前一转向点和后一转向点,分别记为第m-1转向点和第m+1转向点。
在该步骤中,假设已经知道第m转向点,那么根据第m转向点的位置信息,从上述数据库中查找该第m转向点的前一转向点和后一转向点,即第m-1转向点和第m+1转向点。
在步骤S302中,计算所述第m转向点和所述船舶当前的实际船位位置之间的连线与所述第m转向点与所述第m-1转向点之间的连线的夹角α1。
结合图4所示,分别计算转向点与该船舶当前的实际船位位置之间的夹角,当然可以将各个转向点以及船舶当前的实际船位位置同步到同一个坐标系内,在该坐标系内进行各种距离的计算以及夹角的计算,通过数学的方式实现各种计算算法。
在步骤S303中,计算所述第m转向点和所述船舶当前的实际船位位置之间的连线与所述第m转向点与所述第m+1转向点之间的连线的夹角α2。
在步骤S304中,判断夹角α1是否大于夹角α2,是则执行步骤S305.否则执行步骤S306。
在步骤S305中,当判定夹角α1大于夹角α2时,则判定所述第m转向点与所述第m+1转向之间的线路为当前船舶的航迹段。
在步骤S306中,当判定夹角α1小于等于夹角α2时,则判定所述第m转向点与所述第m-1转向之间的线路为当前船舶的航迹段。
在该实施例中,通过上述夹角α1和夹角α2比对判断,实现两种不同航迹段策略的确定,判断依据清晰,计算算法简单,便于实现。
在本发明实施例中,如图5所示,当判定所述船舶当前的实际船位位置未在所述航迹段切换区域内时,则以所述第m转向点和所述船舶当前的实际船位位置为基础,获取所述船舶当前的航迹段的步骤具体包括下述步骤:
在步骤S401中,计算船舶当前的实际船位位置和第m-1转向点之间的连线与第m-1转向点和所述第m转向点之间的连线的所形成的夹角θ1。
在步骤S402中,计算船舶当前的实际船位位置与第m转向点之间连线和第m-1转向点与第m转向点之间连线所形成的夹角θ2。
在该步骤中,如图6所示,该夹角θ1和夹角θ2的计算便于对航迹段的获取,图4和图6中用B表达船舶当前的实际船位位置。
在步骤S403中,判断所述夹角θ1和夹角θ2是否均小于90度,是则执行步骤S404,否则执行步骤S405。
在步骤S404中,若判定所述夹角θ1和夹角θ2均小于90度,则判定所述第m转向点与第m-1转向点之间线路为当前船舶的航迹段。
在步骤S405中,若判定所述θ1和夹角θ2不能同时满足小于90度,则进行迭代算法;
在步骤S406中,在迭代结束后,判断迭代后的当前转向点是否为最后一个转向点,是则执行步骤S407,否则执行步骤S408。
在步骤S407中,若是判定迭代后的当前转向点为应走航线的最后一个转向点,则判定所述最后一个转向点与其上一个转向点组成的航迹段为当前所属航迹段。
在步骤S408中,若判定迭代后的当前转向点不是最后一个转向点,则返回执行类似所述计算船舶当前的实际船位位置和第m-1转向点之间的连线与第m-1转向点和所述第m转向点之间的连线的所形成的夹角θ1与船舶当前的实际船位位置与第m转向点之间连线和第m-1转向点与第m转向点之间连线所形成的夹角θ2的步骤,并循环控制执行直至确认当前船舶的航迹段;
其中,当返回执行上述步骤S401和步骤S402时,是依据的转向点是不同的,只是执行方案是相同的,在上述步骤S401和步骤S402中,参考的当前转向点为第m转向点,而在该步骤S408中参考的则迭代后的新的当前转向点,在此不再赘述。
在本发明实施例中,如图7所示,所述查找获得数值最小的直线距离所对应的转向点,即为第m转向点的步骤之后,所述计算查找获取到的数值最小的直线距离所对应的第m转向点的航迹段切换区域的步骤之前还包括下述步骤:
在步骤S501中,判断查找获取到的所述第m转向点是否为第一转向点或最后一个转向点,是则执行步骤S502,否则执行所述步骤S505;
在步骤S502中,当判定查找获取到的所述第m转向点为第一转向点或最后一个转向点,则判断所述第m转向点是否第一转向点,是则执行步骤S503,否则执行步骤S504;
在步骤S503中,若所述第m转向点为第一转向点,则判定第一个转向点与第二个转向点之间的连线为所述船舶当前的航迹段;
在步骤S504中,若所述第m转向点为最后一个转向点时,则判定所述最后一个转向点与其上一个转向点之间的连线为船舶当前的航迹段;
在步骤S505中,计算查找获取到的数值最小的直线距离所对应的第m转向点的航迹段切换区域。
在该实施例中,当第m转向点为第一转向点或最后一个转向点时,则直接判断航迹段即可。
在本发明实施例中,该用于船舶智能控制的航迹制导方法作为一个算法模块存储在航迹控制器中,在船舶航行过程中,通过调用该船舶智能控制的航迹制导方法,根据预先设定应走航线,选择适当的转向点作为当前应走的转向点,从判断船舶缩所属的航迹段。
在本发明实施例中,上述给出了一种具体的航迹段的实现算法,当然也可以采用其他算法实现,在此不再赘述。
图8是本发明提供的用于船舶智能控制的航迹制导系统的结构框图,为了便于说明,图中仅给出了与本发明实施例相关的部分。
用于船舶智能控制的航迹制导系统包括:
实际船位位置获取模块11,用于获取船舶当前的实际船位位置;
直线距离计算模块12,用于计算所述船舶的实际船位位置与所述船舶应走航线上各个转向点之间的直线距离;
最小距离转向点查找模块13,用于遍历计算得到的若干个所述船舶的实际行位信息与所述船舶应走航线上各个转向点之间的直线距离,查找获得数值最小的直线距离所对应的转向点,即为第m转向点;
航迹段切换区域查找模块14,用于从预先计算生成的航迹段切换区域库中查找数值最小的直线距离所对应的第m转向点的航迹段切换区域;
航迹段切换区域判断模块15,用于判断所述船舶当前的实际船位位置是否在所述航迹段切换区域内;
第一航迹段获取模块16,用于当判定所述船舶当前的实际船位位置在所述航迹段切换区域内时,则以第m-1转向点和第m+1转向点为基础,获取所述船舶当前的航迹段;
第二航迹段获取模块17,用于当判定所述船舶当前的实际船位位置未在所述航迹段切换区域内时,则以所述第m转向点和所述船舶当前的实际船位位置为基础,获取所述船舶当前的航迹段。
在该实施例中,应走航线规划模块18,用于根据船舶航行出发地和目的地信息,预先规划船舶应走航线,所述船舶应走航线上设有若干个转向点,若干个转向点按照坐标位置以及航行的经历顺序进行排序;
航迹段切换区域计算模块19,用于根据船舶自身的性能指标参数以及水域信息,计算每一个所述转向点所对应的航迹段切换区域;
入库模块20,用于将计算得到的若干个航迹段切换区域按照转向点的排序进行入库,形成航迹段切换区域库;
其中,所述应走航线由若干个所述转向点所在的航迹段切换区域和每两个转向点之间的航迹段组成。
其中,如图9所示,第一航迹段获取模块16具体包括:
转向点查找模块21,用于在预先设置的若干个转向点中,找出所述第m转向点的前一转向点和后一转向点,分别记为第m-1转向点和第m+1转向点;
第一夹角计算模块22,用于计算所述第m转向点和所述船舶当前的实际船位位置之间的连线与所述第m转向点与所述第m-1转向点之间的连线的夹角α1;
第二夹角计算模块23,用于计算所述第m转向点和所述船舶当前的实际船位位置之间的连线与所述第m转向点与所述第m+1转向点之间的连线的夹角α2;
第一夹角角度判断模块24,用于判断夹角α1是否大于夹角α2;
第一航迹段判定模块25,用于当判定夹角α1大于夹角α2时,则判定所述第m转向点与所述第m+1转向之间的线路为当前船舶的航迹段;
第二航迹段判定模块26,用于当判定夹角α1小于等于夹角α2时,则判定所述第m转向点与所述第m-1转向之间的线路为当前船舶的航迹段。
如图10所示,第二航迹段获取模块17具体包括下述步骤:
第三夹角计算模块27,用于计算船舶当前的实际船位位置和第m-1转向点之间的连线与第m-1转向点和所述第m转向点之间的连线的所形成的夹角θ1;
第四夹角计算模块28,用于船舶当前的实际船位位置与第m转向点之间连线和第m-1转向点与第m转向点之间连线所形成的夹角θ2;
第二夹角角度判断模块29,用于判断所述夹角θ1和夹角θ2是否均小于90度;
第三航迹段判定模块30,用于若判定所述夹角θ1和夹角θ2均小于90度,则判定所述第m转向点与第m-1转向点之间线路为当前船舶的航迹段;
迭代控制模块31,用于若判定所述θ1和夹角θ2不能同时满足小于90度,则进行迭代算法;
最后转向点判断模块32,用于在迭代结束后,判断迭代后的当前转向点是否为最后一个转向点;
第四航迹段判定模块33,用于若是判定迭代后的当前转向点为应走航线的最后一个转向点,则判定所述最后一个转向点与其上一个转向点组成的航迹段为当前所属航迹段;
返回执行模块34,用于若判定迭代后的当前转向点不是最后一个转向点,则返回执行类似所述计算船舶当前的实际船位位置和第m-1转向点之间的连线与第m-1转向点和所述第m转向点之间的连线的所形成的夹角θ1与船舶当前的实际船位位置与第m转向点之间连线和第m-1转向点与第m转向点之间连线所形成的夹角θ2的步骤;
循环控制模块35,用于循环执行直至确认当前船舶的航迹段。
结合图8所示,转向点综合判断模块36,用于判断查找获取到的所述第m转向点是否为第一转向点或最后一个转向点;
第一转向点判断模块37,用于当判定查找获取到的所述第m转向点为第一转向点或最后一个转向点,则判断所述第m转向点是否第一转向点;
第五航迹段判定模块38,用于若所述第m转向点为第一转向点,则判定第一个转向点与第二个转向点之间的连线为所述船舶当前的航迹段;
第六航迹段判定模块39,用于若所述第m转向点为最后一个转向点时,则判定所述最后一个转向点与其上一个转向点之间的连线为船舶当前的航迹段。
其中上述各个模块的功能如上述方法实施例所记载,在此不再赘述。
在本发明实施例中,获取船舶当前的实际船位位置,并计算船舶的实际船位位置与船舶应走航线上各个转向点之间的直线距离;遍历若干个直线距离,查找获得数值最小的直线距离所对应的转向点;从第m转向点的航迹段切换区域;判断船舶当前的实际船位位置是否在航迹段切换区域内;是则以第m-1转向点和第m+1转向点为基础,获取船舶当前的航迹段;否则则以第m转向点和所述船舶当前的实际船位位置为基础,获取船舶当前的航迹段,从而实现对航迹段准确确定,计算方法实现简单,减小航迹制导带来的偏差,使船舶航行更加顺利平稳。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种用于船舶智能控制的航迹制导方法,其特征在于,所述方法包括下述步骤:
获取船舶当前的实际船位位置,并计算所述船舶的实际船位位置与所述船舶应走航线上各个转向点之间的直线距离;
遍历计算得到的若干个所述船舶的实际行位信息与所述船舶应走航线上各个转向点之间的直线距离,查找获得数值最小的直线距离所对应的转向点,即为第m转向点;
从预先计算生成的航迹段切换区域库中查找数值最小的直线距离所对应的第m转向点的航迹段切换区域;
判断所述船舶当前的实际船位位置是否在所述航迹段切换区域内;
当判定所述船舶当前的实际船位位置在所述航迹段切换区域内时,则以第m-1转向点和第m+1转向点为基础,获取所述船舶当前的航迹段;
当判定所述船舶当前的实际船位位置未在所述航迹段切换区域内时,则以所述第m转向点和所述船舶当前的实际船位位置为基础,获取所述船舶当前的航迹段;
所述当判定所述船舶当前的实际船位位置在所述航迹段切换区域内时,则以第m-1转向点和第m+1转向点为基础,获取所述船舶当前的航迹段的步骤具体包括下述步骤:
在预先设置的若干个转向点中,找出所述第m转向点的前一转向点和后一转向点,分别记为第m-1转向点和第m+1转向点;
计算所述第m转向点和所述船舶当前的实际船位位置之间的连线与所述第m转向点与所述第m-1转向点之间的连线的夹角α1;
计算所述第m转向点和所述船舶当前的实际船位位置之间的连线与所述第m转向点与所述第m+1转向点之间的连线的夹角α2;
判断夹角α1是否大于夹角α2;
当判定夹角α1大于夹角α2时,则判定所述第m转向点与所述第m+1转向之间的线路为当前船舶的航迹段;
当判定夹角α1小于等于夹角α2时,则判定所述第m转向点与所述第m-1转向之间的线路为当前船舶的航迹段;
所述当判定所述船舶当前的实际船位位置未在所述航迹段切换区域内时,则以所述第m转向点和所述船舶当前的实际船位位置为基础,获取所述船舶当前的航迹段的步骤具体包括下述步骤:
计算船舶当前的实际船位位置和第m-1转向点之间的连线与第m-1转向点和所述第m转向点之间的连线的所形成的夹角θ1;
船舶当前的实际船位位置与第m转向点之间连线和第m-1转向点与第m转向点之间连线所形成的夹角θ2;
判断所述夹角θ1和夹角θ2是否均小于90度;
若判定所述夹角θ1和夹角θ2均小于90度,则判定所述第m转向点与第m-1转向点之间线路为当前船舶的航迹段;
若判定所述θ1和夹角θ2不能同时满足小于90度,则进行迭代算法,并且在迭代结束后,判断迭代后的当前转向点是否为最后一个转向点;
若是判定迭代后的当前转向点为应走航线的最后一个转向点,则判定所述最后一个转向点与其上一个转向点组成的航迹段为当前所属航迹段;
若判定迭代后的当前转向点不是最后一个转向点,则返回执行类似所述计算船舶当前的实际船位位置和第m-1转向点之间的连线与第m-1转向点和所述第m转向点之间的连线的所形成的夹角θ1与船舶当前的实际船位位置与第m转向点之间连线和第m-1转向点与第m转向点之间连线所形成的夹角θ2的步骤,并循环执行直至确认当前船舶的航迹段。
2.根据权利要求1所述的用于船舶智能控制的航迹制导方法,其特征在于,所述方法还包括下述步骤:
根据船舶航行出发地和目的地信息,预先规划船舶应走航线,所述船舶应走航线上设有若干个转向点,若干个转向点按照坐标位置以及航行的经历顺序进行排序;
根据船舶自身的性能指标参数以及水域信息,计算每一个所述转向点所对应的航迹段切换区域;
将计算得到的若干个航迹段切换区域按照转向点的排序进行入库,形成航迹段切换区域库;
其中,所述应走航线由若干个所述转向点所在的航迹段切换区域和每两个转向点之间的航迹段组成。
3.根据权利要求1所述的用于船舶智能控制的航迹制导方法,其特征在于,所述查找获得数值最小的直线距离所对应的转向点,即为第m转向点的步骤之后,所述计算查找获取到的数值最小的直线距离所对应的第m转向点的航迹段切换区域的步骤之前还包括下述步骤:
判断查找获取到的所述第m转向点是否为第一转向点或最后一个转向点;
当判定查找获取到的所述第m转向点为第一转向点或最后一个转向点,则判断所述第m转向点是否第一转向点;
若所述第m转向点为第一转向点,则判定第一个转向点与第二个转向点之间的连线为所述船舶当前的航迹段;
若所述第m转向点为最后一个转向点时,则判定所述最后一个转向点与其上一个转向点之间的连线为船舶当前的航迹段。
4.一种用于船舶智能控制的航迹制导系统,其特征在于,所述系统包括:
实际船位位置获取模块,用于获取船舶当前的实际船位位置;
直线距离计算模块,用于计算所述船舶的实际船位位置与所述船舶应走航线上各个转向点之间的直线距离;
最小距离转向点查找模块,用于遍历计算得到的若干个所述船舶的实际行位信息与所述船舶应走航线上各个转向点之间的直线距离,查找获得数值最小的直线距离所对应的转向点,即为第m转向点;
航迹段切换区域查找模块,用于从预先计算生成的航迹段切换区域库中查找数值最小的直线距离所对应的第m转向点的航迹段切换区域;
航迹段切换区域判断模块,用于判断所述船舶当前的实际船位位置是否在所述航迹段切换区域内;
第一航迹段获取模块,用于当判定所述船舶当前的实际船位位置在所述航迹段切换区域内时,则以第m-1转向点和第m+1转向点为基础,获取所述船舶当前的航迹段;
第二航迹段获取模块,用于当判定所述船舶当前的实际船位位置未在所述航迹段切换区域内时,则以所述第m转向点和所述船舶当前的实际船位位置为基础,获取所述船舶当前的航迹段;
所述第一航迹段获取模块具体包括:
转向点查找模块,用于在预先设置的若干个转向点中,找出所述第m转向点的前一转向点和后一转向点,分别记为第m-1转向点和第m+1转向点;
第一夹角计算模块,用于计算所述第m转向点和所述船舶当前的实际船位位置之间的连线与所述第m转向点与所述第m-1转向点之间的连线的夹角α1;
第二夹角计算模块,用于计算所述第m转向点和所述船舶当前的实际船位位置之间的连线与所述第m转向点与所述第m+1转向点之间的连线的夹角α2;
第一夹角角度判断模块,用于判断夹角α1是否大于夹角α2;
第一航迹段判定模块,用于当判定夹角α1大于夹角α2时,则判定所述第m转向点与所述第m+1转向之间的线路为当前船舶的航迹段;
第二航迹段判定模块,用于当判定夹角α1小于等于夹角α2时,则判定所述第m转向点与所述第m-1转向之间的线路为当前船舶的航迹段;
所述第二航迹段获取模块具体包括下述步骤:
第三夹角计算模块,用于计算船舶当前的实际船位位置和第m-1转向点之间的连线与第m-1转向点和所述第m转向点之间的连线的所形成的夹角θ1;
第四夹角计算模块,用于船舶当前的实际船位位置与第m转向点之间连线和第m-1转向点与第m转向点之间连线所形成的夹角θ2;
第二夹角角度判断模块,用于判断所述夹角θ1和夹角θ2是否均小于90度;
第三航迹段判定模块,用于若判定所述夹角θ1和夹角θ2均小于90度,则判定所述第m转向点与第m-1转向点之间线路为当前船舶的航迹段;
迭代控制模块,用于若判定所述θ1和夹角θ2不能同时满足小于90度,则进行迭代算法;
最后转向点判断模块,用于在迭代结束后,判断迭代后的当前转向点是否为最后一个转向点;
第四航迹段判定模块,用于若是判定迭代后的当前转向点为应走航线的最后一个转向点,则判定所述最后一个转向点与其上一个转向点组成的航迹段为当前所属航迹段;
返回执行模块,用于若判定迭代后的当前转向点不是最后一个转向点,则返回执行类似所述计算船舶当前的实际船位位置和第m-1转向点之间的连线与第m-1转向点和所述第m转向点之间的连线的所形成的夹角θ1与船舶当前的实际船位位置与第m转向点之间连线和第m-1转向点与第m转向点之间连线所形成的夹角θ2的步骤;
循环控制模块,用于循环执行直至确认当前船舶的航迹段。
5.根据权利要求4所述的用于船舶智能控制的航迹制导系统,其特征在于,所述系统还包括:
应走航线规划模块,用于根据船舶航行出发地和目的地信息,预先规划船舶应走航线,所述船舶应走航线上设有若干个转向点,若干个转向点按照坐标位置以及航行的经历顺序进行排序;
航迹段切换区域计算模块,用于根据船舶自身的性能指标参数以及水域信息,计算每一个所述转向点所对应的航迹段切换区域;
入库模块,用于将计算得到的若干个航迹段切换区域按照转向点的排序进行入库,形成航迹段切换区域库;
其中,所述应走航线由若干个所述转向点所在的航迹段切换区域和每两个转向点之间的航迹段组成。
6.根据权利要求4所述的用于船舶智能控制的航迹制导系统,其特征在于,所述系统还包括:
转向点综合判断模块,用于判断查找获取到的所述第m转向点是否为第一转向点或最后一个转向点;
第一转向点判断模块,用于当判定查找获取到的所述第m转向点为第一转向点或最后一个转向点,则判断所述第m转向点是否第一转向点;
第五航迹段判定模块,用于若所述第m转向点为第一转向点,则判定第一个转向点与第二个转向点之间的连线为所述船舶当前的航迹段;
第六航迹段判定模块,用于若所述第m转向点为最后一个转向点时,则判定所述最后一个转向点与其上一个转向点之间的连线为船舶当前的航迹段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810784165.0A CN109164797B (zh) | 2018-07-17 | 2018-07-17 | 一种用于船舶智能控制的航迹制导方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810784165.0A CN109164797B (zh) | 2018-07-17 | 2018-07-17 | 一种用于船舶智能控制的航迹制导方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109164797A CN109164797A (zh) | 2019-01-08 |
CN109164797B true CN109164797B (zh) | 2021-12-14 |
Family
ID=64897635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810784165.0A Active CN109164797B (zh) | 2018-07-17 | 2018-07-17 | 一种用于船舶智能控制的航迹制导方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109164797B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114019989A (zh) * | 2021-10-27 | 2022-02-08 | 中国舰船研究设计中心 | 一种基于pid的水下潜器航迹间接自动控制方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04176782A (ja) * | 1990-11-09 | 1992-06-24 | Nippon Yusoki Co Ltd | 無人搬送車の旋回走行制御方法 |
WO2005001587A1 (en) * | 2003-05-15 | 2005-01-06 | Honeywell International Inc. | Flight navigation system for entry into a holding pattern |
CN101655561A (zh) * | 2009-09-14 | 2010-02-24 | 南京莱斯信息技术股份有限公司 | 基于联合卡尔曼滤波的多点定位数据与雷达数据融合方法 |
CN201732113U (zh) * | 2010-05-28 | 2011-02-02 | 中国船舶重工集团公司第七一二研究所 | 一种船舶电能质量检测装置 |
CN102278986A (zh) * | 2011-06-21 | 2011-12-14 | 海华电子企业(中国)有限公司 | 电子海图航线设计最优化方法 |
WO2012071211A2 (en) * | 2010-11-24 | 2012-05-31 | Pease William M | System and method for a marine vessel autopilot |
CN102749080A (zh) * | 2012-06-18 | 2012-10-24 | 北京航空航天大学 | 一种基于流体力学的无人机三维航路生成方法 |
CN105204506A (zh) * | 2015-09-24 | 2015-12-30 | 哈尔滨工程大学 | 一种动力定位船舶铺管循迹导引方法 |
CN105629992A (zh) * | 2016-02-05 | 2016-06-01 | 哈尔滨工程大学 | 一种威胁互联网下uuv的航路规划方法 |
CN107450586A (zh) * | 2017-09-15 | 2017-12-08 | 广州杰赛科技股份有限公司 | 航路的调整方法和系统以及无人机系统 |
CN107980109A (zh) * | 2017-01-04 | 2018-05-01 | 深圳配天智能技术研究院有限公司 | 机器人运动轨迹规划方法及相关装置 |
-
2018
- 2018-07-17 CN CN201810784165.0A patent/CN109164797B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04176782A (ja) * | 1990-11-09 | 1992-06-24 | Nippon Yusoki Co Ltd | 無人搬送車の旋回走行制御方法 |
WO2005001587A1 (en) * | 2003-05-15 | 2005-01-06 | Honeywell International Inc. | Flight navigation system for entry into a holding pattern |
CN101655561A (zh) * | 2009-09-14 | 2010-02-24 | 南京莱斯信息技术股份有限公司 | 基于联合卡尔曼滤波的多点定位数据与雷达数据融合方法 |
CN201732113U (zh) * | 2010-05-28 | 2011-02-02 | 中国船舶重工集团公司第七一二研究所 | 一种船舶电能质量检测装置 |
WO2012071211A2 (en) * | 2010-11-24 | 2012-05-31 | Pease William M | System and method for a marine vessel autopilot |
CN102278986A (zh) * | 2011-06-21 | 2011-12-14 | 海华电子企业(中国)有限公司 | 电子海图航线设计最优化方法 |
CN102749080A (zh) * | 2012-06-18 | 2012-10-24 | 北京航空航天大学 | 一种基于流体力学的无人机三维航路生成方法 |
CN105204506A (zh) * | 2015-09-24 | 2015-12-30 | 哈尔滨工程大学 | 一种动力定位船舶铺管循迹导引方法 |
CN105629992A (zh) * | 2016-02-05 | 2016-06-01 | 哈尔滨工程大学 | 一种威胁互联网下uuv的航路规划方法 |
CN107980109A (zh) * | 2017-01-04 | 2018-05-01 | 深圳配天智能技术研究院有限公司 | 机器人运动轨迹规划方法及相关装置 |
CN107450586A (zh) * | 2017-09-15 | 2017-12-08 | 广州杰赛科技股份有限公司 | 航路的调整方法和系统以及无人机系统 |
Non-Patent Citations (1)
Title |
---|
基于遗传算法的船舶避碰决策辅助;倪生科,等;《上海海事大学学报》;20170330;第12-15页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109164797A (zh) | 2019-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108444482B (zh) | 一种无人机自主寻路避障方法及系统 | |
CN110543190B (zh) | 智能目标搜索中无人设备的路径规划方法 | |
CN101685016A (zh) | 基于矢量电子海图的二维航迹规划方法 | |
Chen et al. | Research on ship meteorological route based on A-star algorithm | |
CN110968108A (zh) | 一种无人船自主航行方法及控制系统 | |
CN111665868A (zh) | 基于虚拟航道的无人船返航方法、装置、设备及存储介质 | |
CN111307160B (zh) | 一种自主水下航行器长航时航迹的修正方法及装置 | |
CN111412918B (zh) | 无人艇全局安全路径规划方法 | |
CN115167398A (zh) | 一种基于改进a星算法的无人船路径规划方法 | |
CN114527744B (zh) | 基于天牛须搜索优化的无人帆船路径跟踪制导方法 | |
CN109164797B (zh) | 一种用于船舶智能控制的航迹制导方法及系统 | |
CN113625702A (zh) | 基于二次规划的无人车同时路径跟踪与避障方法 | |
CN112747760B (zh) | 一种狭水道水面无人平台自主航行航路规划方法及装置 | |
CN111176281A (zh) | 基于象限法的多水面无人艇覆盖式协同搜索方法及系统 | |
CN108801262A (zh) | 一种船舶自动航行控制器航路规划与纠偏修正方法 | |
JP7459009B2 (ja) | 経路計画装置、移動体、経路計画方法及びプログラム | |
CN114370874B (zh) | 一种车辆、车辆路径规划方法及装置 | |
CN113776535A (zh) | 一种基于栅格化电子海图的无人艇航路规划方法 | |
CN111207748B (zh) | 基于感知信息的水面/水下无人航行器目标环绕跟踪方法 | |
Blaich et al. | Trajectory generation for vessels using a reachability graph | |
CN116578098B (zh) | 一种自适应学习的无人艇控制方法及系统 | |
CN113390415B (zh) | 机器人的定位方法、定位装置、管理系统和存储介质 | |
CN116225032B (zh) | 基于已知航迹的无人船集群协同避障规划方法 | |
CN115344039B (zh) | 一种基于自适应分离组合策略的无人艇集群避障方法 | |
Zhengxiong | Research on UAV cooperative formation and path planning algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |