航行设备的定点控制方法、装置及电子设备
技术领域
本申请实施例属于船舶控制技术领域,特别是涉及一种航行设备的定点控制方法、装置及电子设备。
背景技术
对于船舶等航行设备的定点控制,通常可采用两种方式来实现。第一种是针对具备动力定位功能的船只,可通过矢量推力的输出,较为精准地控制船只保持在目标点附近。第二种是针对具有动力开关的船只,在船只到达目标点后,保持怠速或主机关机,将推力将为零。当船只在外界的风浪或水流联合作用下持续偏离目标点且偏离距离超过一定阈值(例如100米)后,主机开机,控制船只从当前位置朝向目标点航行。在船只到达目标点后,重复怠速或关机动作。
对于上述第一种方式,要求船只具备动力定位的能力,即船只需要具备全方位驱动的能力。但对于大多数船只而言,一般只有前进推力和转艏力矩两个自由度的控制输入量,即船只是欠驱动状态的,不具备动力定位的能力。此外,即使在动力定位模式下,如果船只的艏向非迎流,那么侧向迎流可能增大受力,将会导致多个推进器因控制力分配造成额外的功率输出,使得船只的节能性较差,对长时间的水上定点作业带来不利影响。
对于上述第二种方式,当外界环境扰动,尤其是海面或河道中水流流速较大时,船只会在目标点和水流方向的下游位置之间频繁移动,导致主机频繁的开机、关机。由于船只位置是不连续的,对于需要精准定点作业的船只而言,这种方式限制了一些测量作业的正常进行。
发明内容
有鉴于此,本申请实施例提供了一种航行设备的定点控制方法、装置及电子设备,用以实现对航行设备的定点控制。
本申请实施例的第一方面提供了一种航行设备的定点控制方法,包括:
获取航行设备当前的第一位置信息以及期望锚泊点的第二位置信息;
根据所述第一位置信息和所述第二位置信息,识别所述航行设备当前所处的航行区域;
若所述航行区域为缓冲区,则确定所述航行设备在所述缓冲区内的航向与航速;
控制所述航行设备按照所述航向与航速由所述缓冲区向怠速区航行;
当所述航行设备航行至所述缓冲区与所述怠速区交接处时,控制所述航行设备处于怠速状态并保持当前航向,以使所述航行设备在所述交接处锚泊。
本申请实施例的第二方面提供了一种航行设备的定点控制装置,包括:
位置信息获取模块,用于获取航行设备当前的第一位置信息以及期望锚泊点的第二位置信息;
航行区域识别模块,用于根据所述第一位置信息和所述第二位置信息,识别所述航行设备当前所处的航行区域;
航向与航速确定模块,用于若所述航行区域为缓冲区,则确定所述航行设备在所述缓冲区内的航向与航速;
缓冲区航行控制模块,用于控制所述航行设备按照所述航向与航速由所述缓冲区向怠速区航行;
锚泊控制模块,用于在所述航行设备航行至所述缓冲区与所述怠速区交接处时,控制所述航行设备处于怠速状态并保持当前航向,以使所述航行设备在所述交接处锚泊。
本申请实施例的第三方面提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的航行设备的定点控制方法。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的航行设备的定点控制方法。
与现有技术相比,本申请实施例包括以下优点:
本申请实施例,通过获取航行设备当前的第一位置信息以及期望锚泊点的第二位置信息,可以识别航行设备当前所处的航行区域。若航行设备当前所处的航行区域为缓冲区,则可以通过确定航行设备在缓冲区内的预设航向与预设航速,控制航行设备按照上述预设航向与预设航速向怠速区航行,使得航行设备航行至缓冲区与怠速区交接处时,航行设备的艏向与当前水域的流向呈180°夹角,即航行设备艏向逆流。此时,通过控制航行设备处于怠速状态,可以控制航行设备在该交接处悬停,实现在未知流向与流速下,欠驱动航行设备仅依靠纵向推力自动顶流并定点虚拟锚泊,使得航行设备可以以最节能的推力方式稳定悬停。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例的一种航行设备的定点控制方法的步骤流程示意图;
图2是本申请一个实施例的一种航行区域的示意图;
图3是本申请一个实施例的另一种航行设备的定点控制方法的步骤流程示意图;
图4是本申请一个实施例的一种增益调节器的输入-输出响应曲线示意图;
图5是本申请一个实施例的一种航行设备的锚泊轨迹示意图;
图6是本申请一个实施例的一种水面三自由运动坐标系示意图;
图7是本申请一个实施例的一种极轴坐标系示意图;
图8是本申请一个实施例的一种航行设备的定点控制装置的示意图;
图9是本申请一个实施例的一种电子设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本申请。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
下面通过具体实施例来说明本申请的技术方案。
参照图1,示出了本申请一个实施例的一种航行设备的定点控制方法的步骤流程示意图,具体可以包括如下步骤:
S101、获取航行设备当前的第一位置信息以及期望锚泊点的第二位置信息。
本方法可以应用于电子设备中,该电子设备可以是配置于航行设备中,并能够对航行设备进行控制的设备。本申请实施例中的航行设备可以是任意类型的船舶,包括有人驾驶的船舶和无人驾驶的船舶,本申请实施例对电子设备或航行设备的具体类型不作限定。
在本申请实施例中,第一位置信息可以是航行设备当前所处位置的信息,第二位置信息可以是航行设备期望锚泊的某个点所对应的位置信息。例如,航行设备期望以某个锚泊点为基准实施悬停,则第二位置信息即是该期望锚泊点的位置信息。期望锚泊点可以是根据实际需要由人工指定的某一锚泊点。
需要说明的是,由于航行设备在锚泊或悬停前,一直处于航行状态,则上述第一位置信息应当是实时变化的。因此,第一位置信息可以是指航行设备的实时位置信息。
在本申请实施例中,第一位置信息和第二位置信息可以包括各自对应的位置的经纬度信息,也可以是通过经纬度信息换算得到的坐标信息,还可以是以其他方式表示的、能够确定航行设备或期望锚泊点具体位置的信息,本申请实施例对此不作限定。
S102、根据所述第一位置信息和所述第二位置信息,识别所述航行设备当前所处的航行区域。
在本申请实施例中,在确定期望锚泊点后,可以根据与该期望锚泊点的距离大小,将期望锚泊点周围区域划分为不同的航行区域。
如图2所示,是本申请一个实施例的一种航行区域的示意图。在图2中,点O为期望锚泊点,以点O为圆心,根据不同的半径,可以将点O为周边区域划分为怠速区、缓冲区以及启动区。其中,怠速区为与点O之间的距离小于第一距离阈值的区域,缓冲区为与点O之间的距离大于或等于第一距离阈值且小于第二距离阈值之间的区域,启动区为与点O之间的距离大于或等于第二距离阈值之间的区域。因此,怠速区是以点O为圆心,第一距离阈值(内圆半径R1)为半径所形成的内圆区域,缓冲区是以点O为圆心,第二距离阈值(外圆半径R2)为半径所形成且不包括上述内圆区域的外圆区域,在缓冲区外的其他区域则为启动区。
在本申请实施例中,在获得航行设备当前实时的第一位置信息以及期望锚泊点的第二位置信息后,可以确定航行设备当前所处的航行区域。例如,可以根据第一位置信息和第二位置信息,确定航行设备当前航行于启动区或者缓冲区。
S103、若所述航行区域为缓冲区,则确定所述航行设备在所述缓冲区内的航向与航速。
在本申请实施例中,为了实现实现对航行设备的定点控制,使其能够在期望锚泊点锚泊,可以控制航行设备向怠速区航行。
需要说明的是,航行设备在期望锚泊点锚泊可以是指航行设备以上述期望期望锚泊点为基准,悬停于该期望锚泊点外的某一位置。在海上环境中,该位置与期望锚泊点之间的距离可以理解为虚拟的锚绳的长度。
为了保证航行设备能够准确地悬停于期望锚泊点外的某一位置,可以在识别航行设备所处的航行区域后,确定航行设备在该航行区域内的航向与航速。
在本申请实施例中,可以预先设计航行设备在每个航行区域内的航向、航速等信息,从而在确定航行区域后,直接获取与该航行区域匹配的航向与航速。
若当前的航行区域为缓冲区,则可以确定航行设备在缓冲区内的航向与航速。
需要说明的是,预先设计的每个航行区域内的航向与航速可以是以某个或多个数据为变量的函数。例如,可以以航行设备与期望锚泊点之间的实时距离,以及怠速区和缓冲区的半径大小为变量,设计航速引导律,根据航行设备与期望锚泊点的位置关系,以及航行设备艏向与当前位置跟期望锚泊点之间连线的角度为变量,设计航向引导律。在确定航行设备的航行区域以及获得上述各个变量对应的实时数据后,可以直接根据引导律计算得到当前的航向与航速。
S104、控制所述航行设备按照所述航向与航速由所述缓冲区向怠速区航行。
在本申请实施例中,用于控制航行设备航行的电子设备可以按照上述计算得到的航向与航速,控制航行设备向怠速区航行。
需要说明的是,在航行过程中,由于航行设备的位置等数据是实时变化的,根据航行设备的位置等数据计算得到的航向与航速也是在不断变化的,因此,在控制航行设备向怠速区航行的过程中,航行设备的实际航向与航速也是动态变化的。
S105、当所述航行设备航行至所述缓冲区与所述怠速区交接处时,控制所述航行设备处于怠速状态并保持当前航向,以使所述航行设备在所述交接处锚泊。
在本申请实施例中,当航行设备航行至缓冲区与怠速区交接处时,即航行设备航行至与图2中点O之间的距离为R1的位置处时,可以控制航行设备处于怠速状态。此外,航行设备在航行过程中通过不断地调整航速与航向,此时航行设备的艏向与当前水域的流向呈180°夹角,即航行设备艏向逆流。因此,可以控制航行设备保持当前航向,从而实现在持续定点控制的同时,做到自动调整迎流角,达到节能的目的。
在本申请实施例中,通过获取航行设备当前的第一位置信息以及期望锚泊点的第二位置信息,可以识别航行设备当前所处的航行区域。若航行设备当前所处的航行区域为缓冲区,则可以通过确定航行设备在缓冲区内的预设航向与预设航速,控制航行设备按照上述预设航向与预设航速向怠速区航行,使得航行设备航行至缓冲区与怠速区交接处时,航行设备的艏向与当前水域的流向呈180°夹角,即航行设备艏向逆流。此时,通过控制航行设备处于怠速状态,可以控制航行设备在该交接处悬停,实现在未知流向与流速下,欠驱动航行设备仅依靠纵向推力自动顶流并定点虚拟锚泊,使得航行设备可以以最节能的推力方式稳定悬停。
参照图3,示出了本申请一个实施例的另一种航行设备的定点控制方法的步骤流程示意图,具体可以包括如下步骤:
S301、获取航行设备当前的第一位置信息以及期望锚泊点的第二位置信息。
需要说明的是,本方法可以应用于电子设备中,该电子设备可以作为航行设备的一部分,用于对航行设备的航行过程进行控制。上述航行设备可以是任意类型的船舶,本申请实施例对此不作限定。
为了便于理解,本申请实施例以航行设备为无人艇,其航行过程为无人艇在海面的航行过程为例,对本方法进行介绍。
在本申请实施例中,在无人艇的航行过程中,为了控制无人艇在海面上的某一期望锚泊点附近锚泊,可以首先获取无人艇当前的第一位置信息以及期望锚泊点的第二位置信息。上述第一位置信息和第二位置信息可以是坐标信息。例如,无人艇当前所处位置在大地坐标系下的坐标(x,y)以及期望锚泊点在大地坐标系下的坐标(xd,yd)。
S302、根据所述第一位置信息和所述第二位置信息,识别所述航行设备当前所处的航行区域。
参见图2,期望锚泊点附近的海域可以被划分为怠速区、缓冲区和启动区。其中,怠速区为无人艇与期望锚泊点O之间的距离小于第一距离阈值R1的区域,缓冲区为无人艇与期望锚泊点O之间的距离大于或等于第一距离阈值R1且小于第二距离阈值R2之间的区域,启动区为无人艇与期望锚泊点O之间的距离大于或等于第二距离阈值R2的区域。
在获得第一位置信息和第二位置信息后,可以首先根据上述第一位置信息和第二位置信息确定无人艇当前所处的位置为上述区域中的哪一个。
需要说明的是,本申请实施例中所称第一位置信息为无人艇的实时位置信息。例如,若无人艇处于启动区,则第一位置信息为无人艇在启动区内的实时位置信息,若无人艇处于缓冲区,则第一位置信息为无人艇在缓冲区内的实时位置信息,类似地,若无人艇处于怠速区,则第一位置信息为无人艇在怠速区内的实时位置信息,
由于每个航行区域距离期望锚泊点的最短距离或最长距离是已知的,所以在根据第一位置信息和第二位置信息识别无人艇当前所处的航行区域时,可以首先根据第一位置信息和第二位置信息,计算无人艇与期望锚泊点O之间的距离。然后,根据无人艇与期望锚泊点O之间的距离,识别无人艇当前所处的航行区域。
例如,若计算得到的无人艇与期望锚泊点O之间的距离大于或等于上述第二距离阈值R2,则可以判定无人艇当前所处的区域为启动区,若计算得到的无人艇与期望锚泊点O之间的距离大于或等于上述第一距离阈值R1,但小于第二距离阈值R2,则可以判定无人艇当前所处的区域为缓冲区,若计算得到的无人艇与期望锚泊点O之间的距离小于上述第一距离阈值R1,则可以判定无人艇当前所处的区域为怠速区。
根据无人艇所处的航行区域的不同,可以采用不同的方式对其进行控制。
在具体实现中,若无人艇当前所处的航行区域为启动区,则可以控制无人艇执行S303,若无人艇当前所处的航行区域为缓冲区,则可以控制无人艇执行S304,若无人艇当前所处的航行区域为怠速区,则可以控制无人艇执行S307。
S303、若所述航行区域为启动区,则控制所述航行设备按照预设航速航行至所述缓冲区。
在本申请实施例中,若无人艇当前所处的航行区域为启动区,可以首先控制无人艇按照预设航速航行至缓冲区,然后执行S304,按照缓冲区对应的控制方式对无人艇的锚泊过程进行控制。
在具体实现中,上述预设航速可以根据实际需要确定。例如,预设航速可以是无人艇当前航行过程所采用的实际航速,也可以是根据无人艇的设备状态而设定的默认航速,如6节(kn)。
S304、若所述航行区域为缓冲区,则确定所述航行设备在所述缓冲区内的航向与航速。
在本申请实施例中,可以预先设计无人艇在每个航行区域内的航向、航速等信息,从而在确定航行区域后,直接获取与该航行区域匹配的航向与航速。
在具体实现中,可以通过如下公式,确定无人艇在缓冲区内的航向与航速:
ψd1=atan2(yd-y,xd-x)
ud1=u*(d-R1)/(R2-R1)……(1)
其中,ψd1为无人艇在缓冲区内的航向,ud1为无人艇在缓冲区内的航速,(x,y)和(xd,yd)分别为第一位置信息和第二位置信息对应的坐标值,u为预设航速,d为无人艇与期望锚泊点O之间的距离,R1和R2分别为第一距离阈值和第二距离阈值。
在本申请实施例中,第一距离阈值R1为无人艇的长度的第一倍数,第二距离阈值R2为无人艇的长度的第二倍数,上述第一倍数小于第二倍数。
作为本申请实施例的一种示例,为了降低定点控制的误差,可以设置第一倍数为2,第二倍数为5。即,第一距离阈值R1为无人艇船长的2倍,第二距离阈值R2为无人艇船长的5倍。
S305、控制所述航行设备按照所述航向与航速由所述缓冲区向怠速区航行。
在本申请实施例中,为了实现上述公式对应的航速及航向控制,可以设计无人艇的推力及舵角控制律,进而控制无人艇按照上述航速及航向航行。
在具体实现中,在航向控制方面,针对常规的单推进器、单舵角船,可以采用比例-积分-微分(Proportion Integral Differential,PID)控制、滑模控制、自抗扰控制、神经网络等任意控制方法。
以PID控制方法为例,则舵角δ控制律可以设计为如下:
上式为PID控制方法的通用形式,其中kp1、ki1、kd1分别表示PID控制律中的比例、积分、微分项控制参数,且上述控制参数均为大于零的常数,可以根据具体船型和转向性能进行选取。t表示控制律运行时间。ψd为无人艇在航行区域内的航向。ψ为无人艇的艏向与目标线之间的角度,上述目标线为无人艇的当前位置与期望锚泊点之间的连线。
在推力(航速)控制方面,也可以采用多种控制方法实现。
在本申请实施例的一种可能的实现方式中,为了实现在未知流速下的航速控制稳定,可以设计如下的推力T控制律:
与舵角δ控制律类似,kp1、ki1、kd1为对应的PID控制参数。此外,本申请实施例为积分设计了一种贡献增益调节器,代替直接对(d-R)进行积分,其中k1为增益调节系数。
采用上述增益调节器的好处是,当初始距离过大时,可以自动降低对积分的累计权重;当距离较近时,积分权值可以自动放大。
如图4所示,是本申请一个实施例的一种增益调节器的输入-输出响应曲线示意图。按照图4所示,通过积分项的误差累计,可以在不知当前流速的情况下,自动调整推力值,使推力达到与水流作用的平衡状态。同时,积分增益调节器消除了初始大误差引起的系统振荡,同时提高了控制律对小误差状态下的响应灵敏度。
在具体实现中,可以设置增益调节系数k1的取值范围为:10≤k1≤20。
S306、当所述航行设备航行至所述缓冲区与所述怠速区交接处时,控制所述航行设备处于怠速状态并保持当前航向,以使所述航行设备在所述交接处锚泊。
在本申请实施例中,当按照S305中的推力及舵角控制律控制无人艇按照S304中的公式进行航行时,无人艇艏向将始终朝向期望锚泊点,并以图5所示的方式逐渐靠近(渐进收敛)靠近怠速区与缓冲区的交接处。
在定常海流或慢变流的作用下,无人艇艏向将逐渐与流向成180°夹角,即无人艇艏向逆流。同时,无人艇与期望锚泊点之间的距离逐渐达到R1的平衡状态,即无人艇保持在怠速区外缘R1处。从而实现在持续定点控制的同时,做到自动调整迎流角,达到节能的目的。
若由于海流变动或其他原因,导致无人艇移动至怠速区内,此时可以执行S307,对无人艇的悬停位置进行调整。
S307、当所述航行设备处于所述怠速区内时,确定所述航行设备在所述怠速区内的目标航向。
在本申请实施例中,当无人艇进入怠速区内,为了防止无人艇与期望锚泊点之间的距离过小,导致无人艇艏向奇异性,可以通过如下公式,确定无人艇在怠速区内的目标航向:
ψd2=(1-d2/R1 2)*ψ+(d2/R1 2)*atan2(yd-y,xd-x)……(4)
其中,ψd2为无人艇在怠速区内的目标航向,(x,y)和(xd,yd)分别为无人艇第一位置信息和第二位置信息对应的坐标值,u为预设航速,d为无人艇与期望锚泊点之间的距离,R1为第一距离阈值,ψ为无人艇的艏向与目标线之间的角度,上述目标线为无人艇的当前位置与期望锚泊点之间的连线。
计算无人艇在怠速区内的目标航向时所采用的第一位置信息为无人艇在怠速区内实时的位置信息。
S308、控制所述航行设备保持怠速状态并调整至所述目标航向,以控制所述航行设备在所述交接处锚泊。
可以按照S305中的控制律对无人艇的推力及舵角进行控制,使得无人艇保持怠速状态并调整至目标航向。此时,在海流的作用下,无人艇艏向将逐渐与流向成180°夹角,即无人艇艏向逆流。同时,无人艇与期望锚泊点之间的距离将逐渐达到R1的平衡状态,即无人艇保持在怠速区外缘R1处。
在本申请实施例中,对于无人艇在不同航行区域内的航向及航速公式,可以将这些公式统一整合为不同航行区域内的航向及航速引导律,即:
其中,ud为航速引导律,ψd为航向引导律,u为预设航速,d为无人艇与期望锚泊点之间的距离,R1和R2分别为第一距离阈值和第二距离阈值,(x,y)和(xd,yd)分别为无人艇实时的位置坐标和期望锚泊点的位置坐标,ψ为无人艇的艏向与目标线之间的角度,上述目标线为无人艇的当前位置与期望锚泊点之间的连线。
下面,对上述航向及航速引导律的有效性进行说明。
1)无人艇运动方程建立
船舶作为刚体,实际上具有六个自由度的旋转和平移运动,但通常只需考虑其水面的三自由度运动,即前进、横移和艏摇。
参考图6所示,是本申请一个实施例的一种水面三自由运动坐标系示意图。在图6对应的坐标系中,可以定义无人艇的水面运动方程如下:
上式中,u、v、r分别表示无人艇在自身随体坐标系下,相对于水的前进、横移速度,以及转艏角速度;VC、ψC表示海流在大地坐标系下的速度及方向角。
通常,在低速或直航状态下,可以忽略无人艇在横向的漂移速度,即假设v=0,从而上述运动方程(7)可以进一步简化为:
2)极坐标变换
参考图7,是本申请一个实施例的一种极轴坐标系示意图。在低速状态,忽略无人艇的极小横移速度前提下,可进一步将运动方程(8)从直角坐标系转化为图7中极轴坐标系的表述方式:
上述方程式(9)中,θ=atan2(y-yd,x-xd),表示无人艇相对于期望锚泊点的北东方位角。
控制无人艇船头始终正对期望锚泊点,即设计无人艇期望艏向为ψd=θ-π=atan2(yd-y,xd-x),并通过PID、滑模控制、自抗扰控制等任意一种艏向控制方法,使实际艏向与期望艏向一致,即ψ=ψd。
从而运动方程(9)可进一步改写为:
3)距离及艏向稳定性推导
假定海流为慢变流,则流速V
C与流向ψ
C近似为常数。通过控制推力使
则进一步对方位角θ积分可得其关于时间的函数为:
其中,C1=-ln(0.5tanθ0)为初始状态相关的常数,从而可知随时间t增加,在海流的作用下,θ趋近于ψC。
在低速航行状态下,单推进器单舵的无人艇,对水航速的水动力方程可以简化为:
其中,du表示低速下无人艇的水阻尼系数。
伴随无人艇逐渐趋向顶流航行,艏向保持稳定,则在艏向控制律作用下舵角δ也将趋于0,推力控制只与航速和距离相关,从而在近似PID的控制律下,无人艇将实现状态系统(u-ud,d-R1)→(0,0)的收敛。即无人艇到达期望锚泊点下游指定距离点,以顶流的方式,将位置持续保持在该点。
需要说明的是,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
参照图8,示出了本申请一个实施例的一种航行设备的定点控制装置的示意图,具体可以包括如下模块:
位置信息获取模块801,用于获取航行设备当前的第一位置信息以及期望锚泊点的第二位置信息;
航行区域识别模块802,用于根据所述第一位置信息和所述第二位置信息,识别所述航行设备当前所处的航行区域;
航向与航速确定模块803,用于若所述航行区域为缓冲区,则确定所述航行设备在所述缓冲区内的航向与航速;
缓冲区航行控制模块804,用于控制所述航行设备按照所述航向与航速由所述缓冲区向怠速区航行;
锚泊控制模块805,用于在所述航行设备航行至所述缓冲区与所述怠速区交接处时,控制所述航行设备处于怠速状态并保持当前航向,以使所述航行设备在所述交接处锚泊。
在本申请实施例中,所述航行区域识别模块802具体可以包括如下子模块:
距离计算子模块,用于根据所述第一位置信息和所述第二位置信息,计算所述航行设备与所述期望锚泊点之间的距离;
航行区域识别子模块,用于根据所述航行设备与所述期望锚泊点之间的距离,识别所述航行设备当前所处的航行区域;其中,所述航行区域包括缓冲区和怠速区,所述缓冲区为所述航行设备与所述期望锚泊点之间的距离大于或等于第一距离阈值且小于第二距离阈值之间的区域,所述怠速区为所述航行设备与所述期望锚泊点之间的距离小于所述第一距离阈值的区域。
在本申请实施例中,通过如下公式,确定所述航行设备在所述缓冲区内的航向与航速:
ψd1=atan2(yd-y,xd-x)
ud1=u*(d-R1)/(R2-R1)
其中,ψd1为所述航行设备在所述缓冲区内的航向,ud1为所述航行设备在所述缓冲区内的航速,(x,y)和(xd,yd)分别为所述第一位置信息和所述第二位置信息对应的坐标值,u为预设航速,d为所述航行设备与所述期望锚泊点之间的距离,R1和R2分别为所述第一距离阈值和所述第二距离阈值。
在本申请实施例中,所述装置还可以包括如下模块:
目标航向确定模块,用于当所述航行设备处于所述怠速区内时,确定所述航行设备在所述怠速区内的目标航向;
目标航向调整模块,用于控制所述航行设备保持怠速状态并调整至所述目标航向,以控制所述航行设备在所述交接处锚泊。
在本申请实施例中,通过如下公式,确定所述航行设备在所述怠速区内的目标航向:
ψd2=(1-(d2/R1 2))*ψ+(d2/R1 2)*atan2(yd-y,xd-x)
其中,ψd2为所述航行设备在所述怠速区内的目标航向,(x,y)和(xd,yd)分别为所述第一位置信息和所述第二位置信息对应的坐标值,u为预设航速,d为所述航行设备与所述期望锚泊点之间的距离,R1为所述第一距离阈值,ψ为所述航行设备的艏向与目标线之间的角度,所述目标线为所述航行设备的当前位置与所述期望锚泊点之间的连线。
在本申请实施例中,所述航行区域还包括启动区,所述启动区为所述航行设备与所述期望锚泊点之间的距离大于或等于所述第二距离阈值之间的区域,所述装置还可以包括如下模块:
启动区航行控制模块,用于若所述航行区域为启动区,则控制所述航行设备按照预设航速航行至所述缓冲区。
在本申请实施例中,所述第一距离阈值为所述航行设备的长度的第一倍数,所述第二距离阈值为所述航行设备的长度的第二倍数,所述第一倍数小于所述第二倍数。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述得比较简单,相关之处参见方法实施例部分的说明即可。
参照图9,示出了本申请一个实施例的一种电子设备的示意图。如图9所示,本实施例的电子设备900包括:处理器910、存储器920以及存储在所述存储器920中并可在所述处理器910上运行的计算机程序921。所述处理器910执行所述计算机程序921时实现上述航行设备的定点控制方法各个实施例中的步骤,例如图1所示的步骤S101至S105。或者,所述处理器910执行所述计算机程序921时实现上述各装置实施例中各模块/单元的功能,例如图8所示模块801至805的功能。
示例性的,所述计算机程序921可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器920中,并由所述处理器910执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段可以用于描述所述计算机程序921在所述电子设备900中的执行过程。例如,所述计算机程序921可以被分割成位置信息获取模块、航行区域识别模块、航向与航速确定模块、缓冲区航行控制模块和锚泊控制模块,各模块具体功能如下:
位置信息获取模块,用于获取航行设备当前的第一位置信息以及期望锚泊点的第二位置信息;
航行区域识别模块,用于根据所述第一位置信息和所述第二位置信息,识别所述航行设备当前所处的航行区域;
航向与航速确定模块,用于若所述航行区域为缓冲区,则确定所述航行设备在所述缓冲区内的航向与航速;
缓冲区航行控制模块,用于控制所述航行设备按照所述航向与航速由所述缓冲区向怠速区航行;
锚泊控制模块,用于在所述航行设备航行至所述缓冲区与所述怠速区交接处时,控制所述航行设备处于怠速状态并保持当前航向,以使所述航行设备在所述交接处锚泊。
所述电子设备900可以是配置于航行设备上的桌上型计算机、笔记本、掌上电脑及服务器等可以用于对航行设备的航行过程进行控制的计算设备。所述电子设备900可包括,但不仅限于,处理器910、存储器920。本领域技术人员可以理解,图9仅仅是电子设备900的一种示例,并不构成对电子设备900的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备900还可以包括输入输出设备、网络接入设备、总线等。
所述处理器910可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器920可以是所述电子设备900的内部存储单元,例如电子设备900的硬盘或内存。所述存储器920也可以是所述电子设备900的外部存储设备,例如所述电子设备900上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等等。进一步地,所述存储器920还可以既包括所述电子设备900的内部存储单元也包括外部存储设备。所述存储器920用于存储所述计算机程序921以及所述电子设备900所需的其他程序和数据。所述存储器920还可以用于暂时地存储已经输出或者将要输出的数据。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制。尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。