基于差分双桨驱动的无人艇运动控制系统及其方法与流程

文档序号:27430738发布日期:2021-11-17 21:59阅读:417来源:国知局
基于差分双桨驱动的无人艇运动控制系统及其方法与流程

1.本发明涉及船舶控制技术领域,具体涉及基于差分双桨驱动的无人艇运动控制系统及其方法。


背景技术:

2.无人艇作为一种无人水面平台,具有适应范围广、使用成本低、可扩展性强等特点,被广泛应用于水域自动化作业领域。无人艇技术涉及艇体设计制造、动力推进、通信导航、运动控制等诸多方面,国内外都非常重视无人艇技术的研发。现有无人艇的运行模式主要有两种,一种为自主航行模式,另外一种为远程遥控模式。其中,自主航行模式是指无人艇按照目标任务,在完全没有人工干预的情况下进行安全航行的一种航行模式。
3.无人艇运动控制是自主避障、自主航行的基础和关键。然而,水面无人艇运动控制系统是一个欠驱动、不稳定的非线性系统,很难建立精确的数学模型,达到预期的效果。并且,无人艇的驱动方式多种多样,常见的有单桨单舵、双桨、多桨多舵、泵喷等驱动方式,不同的驱动方式有不同的特点,同时也有不同的控制方法。而双桨相较于单桨单舵的推进控制方式,具有更高的推进冗余度,但其控制难度也更大。并且由于双桨无人艇滞后性强,响应速度慢,仅根据无人艇的航向进行控制难以达到理想的控制效果。
4.因此,亟待一种能够实现控制响应快且具有较高稳定性和可靠性的无人艇运动控制系统及其方法。


技术实现要素:

5.本发明的目的是针对现有技术中存在的上述问题,提供了基于差分双桨驱动的无人艇运动控制系统及其方法。
6.为了实现上述发明目的,本发明采用了以下技术方案:基于差分双桨驱动的无人艇运动控制方法包括以下步骤:
7.s100、实时监测该无人艇左右螺旋桨的转速;
8.s200、获取该无人艇的期望偏航角度;
9.s300、将该期望偏航角度作为外环输入,通过双pid差分控制算法计算出该无人艇的期望角速度,其中所述双pid差分控制算法将所述无人艇的偏航角度作为外环控制,将所述无人艇的转向角速度作为内环控制;
10.s400、将该期望角速度作为内环输入,通过所述双pid差分控制算法计算出该无人艇左右螺旋桨的期望转速差速;
11.s500、依据该期望转速差速实时补偿所述无人艇左右螺旋桨的转速,形成闭环控制;
12.s600、循环s100

s500步骤直至所述无人艇达到期望角速度或行进至目标点。
13.工作原理及有益效果:1、与现有技术开环控制的方式相比,本技术先通过霍尔传感器来计算出无人艇左右螺旋桨的实际转速,然后通过双pid差分控制算法分别算出无人
艇的期望角速度和左右螺旋桨的期望转速差速,再通过期望转速差速来实时补偿实际转速,从而使得无人艇能够达到期望角速度,也正是这个闭环控制过程来不断地调整无人艇左右螺旋桨的转速,从而达到了更加精确的控制,而且响应速度大大提高,并不是下达命令后直接将左右螺旋桨的转速转到对应的转速,这样容易导致超调,导致精度不准,而本技术是不断地补偿反馈地过程才达到对应的转速;
14.2、与现有技术相比,本技术的无人艇在运动调节过程中是一个不断反馈调整的闭环控制过程,因此具有稳定性好及可靠性好的优点,可极为有效地避免超调,也就是调整过头的问题发生。
15.进一步地,步骤s200中,通过gps获取当前定位数据,通过imu获取当前姿态数据,并依据该当前定位数据和姿态数据计算出与该无人艇的期望偏航角度。
16.进一步地,s410、判断所述无人艇是否需要避障,若需要避障则执行避障操作,若不需要避障则执行步骤s500。
17.当遇到障碍时,先进行避障再回到重新进行调整操作,有效避免了无人艇发生碰撞事故的问题发生。
18.进一步地,s001、判断无人艇处于自动模式或手动模式;若所述无人艇处于自动模式,则执行步骤s100;若所述无人艇处于手动模式,则根据遥控数据生成控制信号,依据该控制信号调节所述无人艇左右螺旋桨的转速。
19.此步骤使得无人艇能够在自动模式和手动模式之间切换,自动模式能够自动按照指令进行巡航,手动模式完全按照遥控指令进行。
20.基于差分双桨驱动的无人艇运动控制系统包括岸基控制中心以及与该岸基控制中心无线通信连接的艇载控制中心;所述艇载控制中心运行上述的基于差分双桨驱动的无人艇运动控制方法;所述艇载控制中心包括底层驱动板、与该底层驱动板通信连接的中层决策板以及与该中层决策板通信连接的两个电机测速驱动板卡,所述底层驱动板上电连接有差分gps、姿态传感器及超声波传感器。
21.本技术通过岸基控制中心来发送指令,艇载控制中心接收指令进行相应的操作,与现有技术最大的区别在于,本技术的艇载控制中心运行上述的基于差分双桨驱动的无人艇运动控制方法,从而能够实现更加精准地运动控制,显著提高响应速度,而且利用差分gps能够比普通的gps提供更加精准地精度,从而能够获取精确地无人艇航速和经纬度坐标,同时利用姿态传感器可以精确地获取无人艇的运动姿态,也能够获取航速和转向角速度等数据,超声波传感器能够检测前方的障碍物。
22.进一步地,所述底层驱动板通过所述差分gps获取所述无人艇的定位数据,通过所述姿态传感器获取所述无人艇的运动状态数据,通过所述超声波传感器获取所述无人艇前方的障碍物数据,所述中层决策板通过所述底层驱动板获取所述定位数据、所述运动状态数据及所述障碍物数据。
23.此设置,通过专门的底层驱动板来获取各传感器的数据,然后通过中层决策板来获取这些数据,可以降低中层决策板的运算负担,保证中层决策板能够快速地计算出数据。
24.进一步地,两个所述电机测速驱动板卡分别通过霍尔传感器检测所述无人艇左右螺旋桨的电机的转速,且两个所述电机测速驱动板分别驱动控制所述无人艇左右螺旋桨的电机。
25.进一步地,所述岸基控制中心包括服务器和客户端,该服务器通过4g/5g与所述中层决策板通信连接,且该客户端每隔多秒向所述服务器发送一次心跳信号,测试所述服务器与所述中层决策板之间的通信状态是否正常;若所述服务器的通信状态不正常,则重新登录服务器;若所述服务器的通信状态正常,则将所述客户端的指令通过所述服务器发送至所述中层决策板。
26.此设置,能够时刻保持服务器与中层决策板之间的通信状态,防止岸基控制中心和无人艇之间失去连接,保证了通信连接的稳定性,而且利用4g/5g能够实现高速低延迟的数据传输,尤其是5g通信能够提供更高带宽且更低延迟的数据传输服务,显著提高了无人艇的响应速度,提高了无人艇的控制精度。
27.进一步地,所述中层决策板将所述定位数据、所述运动状态数据及所述障碍物数据发送给所述服务器等待接收所述客户端的指令,若所述客户端发出遥控指令,则所述中层决策板根据所述遥控指令计算所述无人艇左右螺旋桨的转速,再根据所述电机测速驱动板分别驱动控制所述电机。
28.此设置,相当于提供了手动模式的控制方法,实时反馈无人艇的数据,方便手动遥控无人艇运行。
29.进一步地,所述底层驱动板与所述差分gps和所述姿态传感器以及所述超声波传感器之间通过rs485通信连接,所述中层决策板与所述两个所述电机测速驱动板卡之间通过串口通信连接,所述底层驱动板与所述中层决策板之间通过网口通信连接。
30.此设置,通过上述的这几种通信方式,实现难度低,且通用性好。
附图说明
31.图1是本发明方法的双pid差分控制算法的结构图;
32.图2是本发明方法的流程图;
33.图3是本发明系统的框架示意图;
34.图4是运行本发明系统的一种实施例的流程图。
具体实施方式
35.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
36.本领域技术人员应理解的是,在本发明的披露中,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系是基于附图所示的方位或位置关系,其仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此上述术语不能理解为对本发明的限制。
37.实施例1
38.本实施例中,将双桨驱动水面无人艇视作刚体,忽略横摇后其在静水中的运动模型可表示为:
39.式1:
40.式2:
41.式3:j=mr2;
42.其中,上述式1

3中,m为水面无人艇的总质量,为加速度,f1和f
r
分别为无人艇左右两侧螺旋桨的推力,f1和f
r
分别为无人艇左、右两侧阻力,b为无人艇的宽度,j为无人艇的转动惯量,r为无人艇的转弯半径,ω为无人艇转动角速度,为无人艇转动的角加速度,c
ω
为转动的阻尼系数常量。
43.由于被控双桨无人艇左右螺旋桨结构、材质相同,水平对称安装,船体结构左右对称。所以,在无人艇运动过程中:
44.轴向推力(左右螺旋桨转速相同时):f=f1+f
r
=2kρn2d4;
45.轴向阻力:f=f1+f
r
=c
f
(0.5ρv2)s;
46.摩擦系数:c
f
=3.704
×
10
‑3v

0.175

47.湿面积:s=l(1.8t+c
b
b);
48.方形系数:
49.进速系数:p=v
m
/(nd);
50.式中,k为推力系数;ρ为水密度;n为螺旋桨转速;d为螺旋桨桨盘面直径;c
f
为摩擦系数;v为无人艇的航行速度;s为无人艇的湿面积;l为无人艇水线长;t为无人艇吃水;b为无人艇宽度;c为无人艇在该吃水下的排水体积;v
m
为螺旋桨进速;c
b
为方形系数;p为进速系数,可由进速系数得到推力系数k。
51.因此本技术在传统单pid控制的基础上增加了对转向角速度的控制,从而提高了双桨无人艇运动控制的响应速度和控制精度,航向、转向角速度双pid差分控制以pid控制算法作为基础,外环控制无人艇的偏航角度,内环控制无人艇的转向角速度,外环以当前点与目标点的夹角,即期望航向与imu获取的船头方向角度的差值,即航向偏差e作为输入,将期望角速度a1作为输出,内环控制转向角速度,以角速度偏差a2作为输入,将左右螺旋桨的差速δ作为输出。n0和n1分别表示当前左右螺旋桨的转速,n2和n3分别表示在控制系统确定控制目标后左、右螺旋桨需要达到的转速。若设初始状态是无人艇匀速直线航行,处于受力平衡状态,此时可以根据无人艇的阻力和推力间的平衡关系,通过实际航速算出左右螺旋桨的转速。航向、转向角速度双pid差分控制算法根据航向偏差、转向速度偏差输出左右螺旋桨的差速δ,然后根据当前螺旋桨的转速将输出的转速差进行自适应分配。
52.实施例2
53.如图1和2所示,本基于差分双桨驱动的无人艇运动控制方法包括以下步骤:
54.s001、判断无人艇处于自动模式或手动模式;若无人艇处于自动模式,则执行步骤s100;若无人艇处于手动模式,则根据遥控数据生成控制信号,依据该控制信号调节无人艇左右螺旋桨的转速。
55.此步骤,先判断无人艇的工作模式。
56.s100、通过霍尔传感器实时监测该无人艇左右螺旋桨的转速;
57.此步骤实际上可以通过gps或者姿态传感器等来获取无人艇的实际航速,根据该
实际航速就能够计算出无人艇两个螺旋桨的转速,或者通过霍尔传感器来检测左右螺旋桨的转速,又或者综合两者的转速加权计算得出中间值,更加精确。
58.s200、获取该无人艇的当前偏航角度;
59.此步骤,实际上通过gps获取当前定位数据并依据该当前定位数据获取该无人艇的当前偏航角度,无人艇的实际航向与期望航向的之间的角度就是当前偏航角度,也就是图1中的无人艇偏航角度e。
60.s300、将该当前偏航角度e作为外环输入,通过双pid差分控制算法,调节比例、积分、微分三参数,计算出该无人艇的期望角速度β,其中双pid差分控制算法将无人艇的偏航角度作为外环控制,将无人艇的转向角速度作为内环控制;
61.此步骤,相当于通过双pid差分控制算法的外环来控制无人艇的偏航角度,通过内环来控制无人艇的转向角速度,因此只要输入当前无人艇的偏航角度就能够计算出无人艇调整回正确行进方向的期望角速度。
62.s400、将该期望角速度作为内环输入,通过双pid差分控制算法,调节比例、积分、微分三参数,计算出该无人艇左右螺旋桨的期望转速,并根据无人艇的实际转速就能够计算出期望转速差速;
63.此步骤中,通过期望角速度就能得出无人艇要回到正确行进方向时左右螺旋桨的期望转速差速,也就是当前左右螺旋桨的转速与左右螺旋桨的期望转速之间的差,因此只要根据这个期望转速差速来调整当前左右螺旋桨的转速即可,可做左右螺旋桨的左右电机进行转速分配。
64.s410、判断无人艇是否需要避障,若需要避障则执行避障操作,若不需要避障则执行步骤s500。
65.此步骤中的避障操作为现有技术,其中避障时进行的运动控制也采用本方法的运动控制方式,可以提高避障成功率和响应速度,其余如何发现障碍物的算法,如何计算出避开障碍物的算法为现有技术,这里不再对其进行赘述。而且避开障碍物后会回到避障前的偏航角度,或者重新执行s100

s410步骤。
66.s500、依据该期望转速差速实时补偿无人艇左右螺旋桨的转速,形成闭环控制;
67.此设置,只需要根据期望转速差速来补偿当前的左右螺旋桨转速即可,控制方便。
68.s600、循环s100

s500步骤直至无人艇达到期望角速度或行进至目标点。
69.此步骤,在整个无人艇运行过程中,不断执行上述步骤。
70.实施例3
71.请参阅图3,基于差分双桨驱动的无人艇运动控制系统包括岸基控制中心以及与该岸基控制中心之间通过4g/5g通信连接的艇载控制中心,利用4g/5g能够实现高速低延迟的数据传输,尤其是5g通信能够提供更高带宽且更低延迟的数据传输服务,显著提高了无人艇的响应速度,提高了无人艇的控制精度。
72.具体地,艇载控制中心运行上述的基于差分双桨驱动的无人艇运动控制方法,准确地说,应该是整个控制系统运行上述的控制方法,艇载控制中心包括底层驱动板、与该底层驱动板通信连接的中层决策板以及与该中层决策板通信连接的两个电机测速驱动板卡,底层驱动板上电连接有差分gps、姿态传感器及超声波传感器,其中底层驱动板与差分gps和姿态传感器以及超声波传感器之间通过rs485通信连接,中层决策板与两个电机测速驱
动板卡之间通过串口通信连接,底层驱动板与中层决策板之间通过网口通信连接,而且中层决策板等基于arm cortexm4(如stm32f429igt6)芯片设计开发,软件基于国产嵌入式实时操作系统rt

thread实现,底层驱动板通过差分gps获取无人艇的定位数据,通过姿态传感器获取无人艇的运动状态数据,通过超声波传感器获取无人艇前方的障碍物数据,中层决策板通过底层驱动板获取定位数据、运动状态数据及障碍物数据。
73.本技术通过岸基控制中心来发送指令,艇载控制中心接收指令进行相应的操作,与现有技术最大的区别在于,本技术的艇载控制中心运行上述的基于差分双桨驱动的无人艇运动控制方法,从而能够实现更加精准地运动控制,显著提高响应速度,而且利用差分gps能够比普通的gps提供更加精准地精度,从而能够获取精确地无人艇航速和经纬度坐标,同时利用姿态传感器可以精确地获取无人艇的运动姿态,也能够获取航速和转向角速度等数据,超声波传感器能够检测前方的障碍物。
74.具体地,岸基控制中心包括服务器和客户端,该服务器通过4g/5g与中层决策板通信连接,且该客户端每隔多秒向服务器发送一次心跳信号,测试服务器与中层决策板之间的通信状态是否正常;若服务器的通信状态不正常,则重新登录服务器;若服务器的通信状态正常,则将客户端的指令通过服务器发送至中层决策板。
75.优选地,中层决策板将定位数据、运动状态数据及障碍物数据发送给服务器等待接收客户端的指令,若客户端发出遥控指令,则中层决策板根据遥控指令计算无人艇左右螺旋桨的转速,再根据电机测速驱动板分别驱动控制电机。
76.优选地,两个电机测速驱动板卡分别通过霍尔传感器检测无人艇左右螺旋桨的电机的转速,且两个电机测速驱动板分别驱动控制无人艇左右螺旋桨的电机。
77.请参阅图4,图4为本技术的系统运行实施例2的控制方法的一种实施方式。其中将艇载控制中心作为下位机,将岸基控制中心作为上位机。
78.本发明未详述部分为现有技术,故本发明未对其进行详述。
79.用于实现本方案实施例方法的服务器的计算机系统包括中央处理单元cpu),其可以根据存储在只读存储器(rom)中的程序或者从存储部分加载到随机访问存储器(ram)中的程序而执行各种适当的动作和处理。在ram中,还存储有系统操作所需的各种程序和数据。cpu、rom以及ram通过总线彼此相连。输入/输出(i/o)接口也连接至总线。
80.以下部件连接至i/o接口:包括键盘、鼠标等的输入部分;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分;包括硬盘等的存储部分;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分。通信部分经由诸如因特网的网络执行通信处理。驱动器也根据需要连接至i/o接口。可拆卸介质,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器上,以便于从其上读出的计算机程序根据需要被安装入存储部分。
81.特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(cpu)执行时,执行本发明的系统中限定的上述功能。
82.需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
83.附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
84.描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的模块也可以设置在处理器中。
85.作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备执行以下方法所对应过的流程步骤。
86.可以理解的是,术语“一”应理解为“至少一”或“一个或多个”,即在一个实施例中,一个元件的数量可以为一个,而在另外的实施例中,该元件的数量可以为多个,术语“一”不能理解为对数量的限制。
87.尽管本文较多地使用了专业术语,但并不排除使用其它术语的可能性。使用这些术语仅仅是为了更方便地描述和解释本发明的本质;把它们解释成任何一种附加的限制都是与本发明精神相违背的。
88.本发明不局限于上述最佳实施方式,任何人在本发明的启示下都可得出其他各种形式的产品,但不论在其形状或结构上作任何变化,凡是具有与本技术相同或相近似的技术方案,均落在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1