一种智能化全向推进器控制方法及系统

文档序号:37108325发布日期:2024-02-22 21:07阅读:20来源:国知局
一种智能化全向推进器控制方法及系统

本发明涉及船舶推进器控制,尤其是一种智能化全向推进器控制方法及系统。


背景技术:

1、在船舶、无人机等自主导航设备中,实现精确的位置和姿态控制对于设备的稳定运行和任务的顺利完成至关重要,传统的位置和姿态控制方法然而,传统的方法存在一些问题,例如静态误差难以消除、鲁棒性较低等。

2、另外,在全向推进器控制中,由于全向推进器具有多个独立驱动单元,需要精确的控制每个驱动单元的推力分配,才能实现精确的位置和姿态控制,然而,由于全向推进器的非线性特性和复杂的动力学模型,传统的推力分配方法往往无法满足精确控制的要求,对快速变化的工作场景适应性差;

3、因此,亟需一种能够解决上述问题的智能化全向推进器控制方法及系统,以实现精确的位置和姿态控制,提高控制系统的稳定性和鲁棒性。

4、本发明针对提出上述缺点提出解决方案为:

5、根据推进器的动力学模型建立状态空间方程,提供推进器系统的动态特性和非线性特性信息;

6、确定推进器位置和姿态的优化目标,如最小化位置偏差或姿态角度误差,并获取当前位置和姿态信息作为参考;

7、基于pid控制器的反馈控制算法计算推进器的推力分配指令,根据当前位置和姿态与目标位置和姿态之间的误差信号,利用比例项、积分项和微分项调整输出信号,从而控制推进器的运动;

8、不断接收系统的反馈信息,包括实际位置和姿态数据,将实际反馈数据和误差信息提供给pid控制器,用于实时调整pid参数;

9、更新积分项的累积值,并保存当前误差作为下一时刻的上一时刻误差,通过不断地修正和调整积分项以及使用历史误差信息,可以消除静态误差并提高系统的稳定性;

10、协调整个控制过程的运行,确保各个模块按照逻辑顺序工作,管理控制周期,使得系统能够持续地进行位置和姿态控制,并监督数据流动和交互。


技术实现思路

1、本发明为了解决上述存在的技术问题,提供一种智能化全向推进器控制方法及系统。

2、本发明的技术方案是是这样实现的:所述一种智能化全向推进器控制系统,包括系统建模模块、目标定义模块、控制执行模块、反馈模块、周期控制模块;

3、所述系统建模模块与目标定义模块、控制执行模块连接:用于根据推进器的动力学模型,建立状态空间方程,系统建模模块为控制执行模块提供推进器系统的动态特性和非线性特性信息;

4、所述目标定义模块与系统建模模块、控制执行模块连接:用于在系统建模完成后,确定推进器的位置和姿态的优化目标,如最小化位置偏差或姿态角度误差,目标定义模块获取当前位置和姿态信息,并将优化目标传递给控制执行模块;

5、所述控制执行模块与系统建模模块、目标定义模块连接:用于基于pid控制器的反馈控制算法,控制执行模块计算推进器所需的推力分配指令,控制执行模块根据当前位置和姿态与目标位置和姿态之间的误差信号,利用pid控制算法调整输出信号,从而控制推进器的运动;

6、所述反馈模块与控制执行模块连接:用于不断接收系统的反馈信息,包括实际位置和姿态数据,反馈模块与控制执行模块交互,将实际反馈数据和误差信息提供给pid控制器,用于实时调整pid参数;

7、所述更新模块与反馈模块、控制执行模块连接:用于更新模块负责更新积分项的累积值,并保存当前误差作为下一时刻的上一时刻误差,更新模块与反馈模块和控制执行模块进行交互,根据实际情况对pid控制器的积分项和误差信息进行更新;

8、所述周期控制模块与系统建模模块、目标定义模块、控制执行模块、反馈模块、更新模块连接:用于协调整个控制过程的运行,并确保各个模块按照逻辑顺序工作,该模块管理控制周期,使得系统能够持续地进行位置和姿态控制,并监督系统中的数据流动和交互;

9、综上所述,系统建模模块提供系统特性,目标定义模块确定优化目标,控制执行模块基于pid控制器计算推力分配指令,反馈模块实时调整pid参数,更新模块维护积分项和误差信息,周期控制模块协调控制过程的运行,模块之间逻辑递进关系,以实现智能化全向推进器的位置和姿态控制。

10、所述一种智能化全向推进器控制方法,包括:

11、s1、在系统建模模块中根据推进器的动力学模型,建立状态空间方程,将状态空间方程表示为一组微分方程或差分方程;

12、s2、在目标定义模块中定义推进器的位置和姿态的优化目标,如,最小化位置偏差或姿态角度误差,获取当前位置和姿态信息作为优化目标的参考;

13、s3、在控制执行模块中基于pid控制器的反馈控制算法,计算推进器的推力分配指令,使用pid控制器的比例项、积分项和微分项,根据误差信号来调整输出信号;

14、计算总输出:total_output=p_output+i_output+d_output

15、比例项输出:p_output=kp*error

16、积分项输出:i_output=ki*integral(error)*dt

17、微分项输出:d_output=kd*derivative(error)/dt;

18、其中,p_output:比例项输出,表示pid控制器中比例项调整后的输出信号;

19、i_output:积分项输出,表示pid控制器中积分项调整后的输出信号;

20、d_output:微分项输出,表示pid控制器中微分项调整后的输出信号;

21、total_output:总输出,表示pid控制器中经过比例、积分和微分项计算后得到的最终推力分配指令;

22、其中,pid控制器的比例项、积分项和微分项的权重由下列参数控制:

23、kp:比例增益参数,用于调整比例项的影响程度;

24、ki:积分增益参数,用于调整积分项的影响程度;

25、kd:微分增益参数,用于调整微分项的影响程度;

26、此外,其他字符含义:

27、error:误差信号,代表期望值与反馈值之间的差异;

28、integral(error):误差信号的积分,表示误差信号随时间的累积值;

29、derivative(error):误差信号的导数,表示误差信号随时间的变化率;

30、dt:时间步长,表示每次控制循环的时间间隔;

31、s4、在反馈模块中接收系统的反馈信息,包括实际位置和姿态数据,计算当前误差信号:error=target-feedback;

32、其中,error:当前误差信号,代表期望值(target)与反馈值(feedback)之间的差异,它表示推进器的位置和姿态相对于期望值的偏差;

33、target:目标值,即期望的推进器位置和姿态,它是根据目标定义模块中定义的优化目标来确定的;

34、feedback:反馈值,指实际测量到的推进器的位置和姿态数据,这些数据由反馈模块接收,并用于计算误差信号;

35、s5、在更新模块中更新积分项的累积值:i_accumulation=i_accumulation+error*dt,保存当前误差作为下一时刻的上一时刻误差:previous_error=error;

36、其中,i_accumulation:积分项的累积值,表示误差信号(error)随时间的积累量,它用于计算pid控制器中的积分项输出(i_output);

37、error:当前的误差信号,代表期望值与反馈值之间的差异;

38、dt:时间步长,表示每次控制循环的时间间隔;

39、在更新模块中,积分项的累积值(i_accumulation)通过以下公式进行更新:

40、i_accumulation=i_accumulation+error*dt

41、将当前误差信号乘以时间步长,并加到积分项的累积值上,以得到新的累积值,这样可以持续地对积分项进行修正和调整,帮助系统消除静态误差并提高稳定性;

42、另外,在更新模块中,还保存了当前误差作为下一时刻的上一时刻误差:

43、previous_error=error

44、在下一次控制循环中使用上一时刻的误差,例如用于计算微分项输出或作为参考值;

45、s6、在周期控制模块中确保各个模块按照逻辑顺序工作,并传递数据和实现控制循环。

46、进一步地,所述一种智能化全向推进器控制方法具体计算过程为:

47、采用pid控制器来实现位置和姿态控制,以下是预设的参数的计算:

48、预设初始状态为:

49、初始位置:x=0,y=0

50、目标位置:x_target=10,y_target=5

51、初始误差:e_x=x_target-x=10,e_y=y_target-y=5

52、控制周期:dt=0.1

53、预设pid控制器的参数为:

54、比例增益:kp=1.0

55、积分增益:ki=0.5

56、微分增益:kd=0.2

57、在每个控制周期内,按照以下步骤进行计算:

58、计算控制执行模块中的输出信号:

59、比例项输出:p_output=kp*(e_x+e_y)

60、积分项输出:i_output=ki*(e_x+e_y)*dt

61、微分项输出:d_output=kd*(e_x+e_y-previous_error)/dt

62、总输出:total_output=p_output+i_output+d_output

63、更新反馈信息:

64、预设从传感器获取到的当前位置为x=2,y=1

65、计算当前误差信号:e_x=x_target-x=10-2=8,e_y=y_target-y=5-1=4

66、更新积分项和误差信息:

67、更新积分项累积值:i_accumulation=i_accumulation+(e_x+e_y)*dt

68、保存当前误差作为下一时刻的上一时刻误差:previous_error=e_x+e_y

69、通过以上步骤循环执行,可以得到不断调整的推力分配指令total_output,并根据这些指令来控制智能化全向推进器实现位置和姿态控制;

70、具体来说,推力分配指令total_output是通过pid控制器计算得出的,它是根据比例项、积分项和微分项的加权和来确定;

71、在pid控制器中,比例增益(kp)、积分增益(ki)和微分增益(kd)是预设的参数,而误差信号(error)是目标值与反馈值之间的差异,根据pid控制器的公式,可以计算出比例项输出(p_output)、积分项输出(i_output)和微分项输出(d_output),分别表示比例项、积分项和微分项对于控制输入的贡献;

72、推力分配指令total_output是将这三个部分加权求和得到的,即total_output=p_output+i_output+d_output。在每个控制周期内,根据当前的误差信号和上一时刻的误差信息,通过pid控制器的计算,得到最终的推力分配指令。

73、进一步地,根据上述所述一种智能化全向推进器控制方法具体计算过程中计算得到的pid控制器在位置和姿态控制的结果为:

74、根据上述给定的计算过程得到:

75、计算控制执行模块中的输出信号:

76、比例项输出:p_output=kp*(e_x+e_y)=1.0*(8+4)=12.0

77、积分项输出:i_output=ki*(e_x+e_y)*dt=0.5*(8+4)*0.1=0.6

78、微分项输出:d_output=kd*(e_x+e_y-previous_error)/dt=0.2*(8+4-9)/0.1=-0.4

79、总输出:total_output=p_output+i_output+d_output=12.0+0.6-0.4=12.2

80、更新反馈信息:

81、当前位置:x=2,y=1

82、当前误差信号:e_x=x_target-x=10-2=8,e_y=y_target-y=5-1=4

83、更新积分项和误差信息:

84、更新积分项累积值:i_accumulation=i_accumulation+(e_x+e_y)*dt=0.6+(8+4)*0.1=1.4

85、保存当前误差作为下一时刻的上一时刻误差:previous_error=e_x+e_y=8+4=12

86、最后的计算结果是总输出为12.2,这个计算结果表明pid控制器在位置和姿态控制中的功能,pid控制器综合考虑了当前误差、积分项和微分项,通过比例增益、积分增益和微分增益的调节,实现精确的位置和姿态控制,根据当前误差计算出的总输出为12.2,表示控制系统采取动作来将船体从当前位置移动到目标位置。

87、进一步地,所述一种智能化全向推进器控制方法中,各个步骤相互支持如下:

88、在系统建模模块(s1)中,根据推进器的动力学模型建立状态空间方程,这些方程描述了推进器的运动规律和状态变化;

89、在目标定义模块(s2)中,定义推进器的位置和姿态的优化目标,如,最小化位置偏差或姿态角度误差,当前位置和姿态信息被作为优化目标的参考;

90、在控制执行模块(s3)中,基于pid控制器的反馈控制算法计算推进器的推力分配指令,通过比例项、积分项和微分项,根据误差信号来调整输出信号,总输出通过加权求和得到,即total_output=p_output+i_output+d_output,其中比例项输出p_output=kp*error,积分项输出i_output=ki*integral(error)*dt,微分项输出d_output=kd*derivative(error)/dt;

91、在反馈模块(s4)中,接收系统的反馈信息,包括实际位置和姿态数据,计算当前误差信号:error=target-feedback,即目标值与反馈值之间的差异;

92、在更新模块(s5)中,更新积分项的累积值:i_accumulation=i_accumulation+error*dt,同时,保存当前误差作为下一时刻的上一时刻误差:previous_error=error;

93、在周期控制模块(s6)中,确保各个模块按照逻辑顺序工作,并传递数据和实现控制循环,持续地进行位置和姿态调整,不断优化推力分配指令,实现精确的位置和姿态控制;

94、通过以上步骤的相互支持,系统能够根据目标与反馈之间的误差信号,利用pid控制器的比例、积分和微分项来调整推力分配指令。

95、进一步地,所述一种智能化全向推进器控制方法中,每个步骤之间通过数据传递和模块连接相互联系:

96、在系统建模模块中(s1),根据推进器的动力学模型建立状态空间方程,这些方程将作为输入数据传递给目标定义模块、控制执行模块和周期控制模块;

97、在目标定义模块中(s2),定义推进器位置和姿态的优化目标,并获取当前位置和姿态信息作为参考,这些优化目标被传递给控制执行模块,以指导推力分配指令的计算;

98、在控制执行模块中(s3),基于pid控制器的反馈控制算法,计算推进器的推力分配指令,比例项、积分项和微分项的权重参数被设置,利用误差信号来调整输出信号,推力分配指令包括比例项输出、积分项输出和微分项输出,它们被传递给周期控制模块;

99、在反馈模块中(s4),接收系统的反馈信息,包括实际位置和姿态数据,通过计算当前误差信号(目标值减去反馈值),得到用于调整推力分配指令的误差信号,当前误差信号被传递给更新模块;

100、在更新模块中(s5),更新积分项的累积值,利用当前误差信号和控制周期进行计算,同时,将当前误差作为下一时刻的上一时刻误差保存下来,更新后的累积值和上一时刻误差被传递给控制执行模块;

101、在周期控制模块中(s6),确保各个模块按照逻辑顺序工作,并传递数据,实现控制循环,周期控制模块管理控制周期,使得各个模块能够按照预定顺序工作,并通过数据交互完成控制过程。

102、进一步地,根据上述所述一种智能化全向推进器控制方法中,每个步骤之间通过数据传递和模块连接相互联系,计算过程对于具体调整计算结果方式为:

103、系统建模模块中建立的状态空间方程描述了推进器的动力学行为,通过求解微分方程或差分方程,获得推进器位置和姿态随时间的变化规律;

104、在目标定义模块中定义的优化目标,如最小化位置偏差或姿态角度误差,是为了使推进器尽可能接近期望的位置和姿态,当前位置和姿态信息作为优化目标的参考,用于评估实际与期望之间的差距;

105、pid控制器的比例项、积分项和微分项根据误差信号调整输出信号,进而影响推进器的推力分配指令,比例项通过放大误差信号,用于快速响应并减小误差,积分项累积误差信号,用于消除静态误差和稳定系统,微分项用于预测误差的变化趋势,减小系统的过冲和震荡;

106、反馈模块接收到实际位置和姿态数据,计算当前误差信号,即期望值与反馈值之间的差距,该误差信号被用作pid控制器的输入,用于根据系统状态的实际情况来调整输出;

107、更新模块更新积分项的累积值,将当前误差乘以时间步长加到累积值上,同时保存当前误差作为下一时刻的上一时刻误差,助于积分项对误差进行持续修正和调整。

108、进一步地,所述消除静态误差在积分项累积,具体过程为:

109、在目标定义模块中,明确定义推进器位置和姿态的优化目标,例如最小化位置偏差或姿态角度误差,这些目标提供了期望值,作为参考用于调整控制系统;

110、在反馈模块中接收实际位置和姿态数据的反馈信息,通过传感器等设备来获取;

111、将期望值与反馈值进行比较,计算出当前的误差信号,这个误差信号反映了实际状态与期望状态之间的差异;

112、在控制执行模块中应用pid控制器的反馈控制算法,使用比例项、积分项和微分项的计算公式,根据误差信号来调整输出信号;

113、积分项累积:通过更新模块中的计算公式i_accumulation=i_accumulation+error*dt,持续地将误差信号累加到积分项中,这样可以消除静态误差,因为积分项可以对累积的误差进行修正;

114、其中具体修正操作为:

115、积分项权重调节:在pid控制器中,通过调整积分增益参数(ki)来改变积分项对误差的影响程度,增大ki会加大积分项的修正作用,而减小ki则会减小其修正作用,通过适当调节ki的值,使积分项更有效地进行误差修正;

116、时间步长调整:在更新积分项时,乘以时间步长(dt)是为了将误差信号累积到积分项中;

117、初始条件处理:在开始控制过程时,通过设置适当的初始条件来避免积分项在初始阶段产生不必要的修正,例如,将积分项的初始值设置为零;

118、控制循环迭代:通过周期控制模块,确保各个模块按照逻辑顺序工作,并在每个控制循环中进行迭代,持续地计算误差信号、调节pid控制器输出以及更新积分项累积值,实现连续的控制过程;

119、通过以上步骤的循环迭代,不断根据误差信号对输出信号进行调整和修正,积分项的累积也将根据误差的累积量逐渐增加或减少,使得静态误差的消除或降低,从而使推进器能够更接近期望的位置和姿态。

120、进一步地,所述s5步骤中保存当前误差作为下一时刻的上一时刻误差的目的:

121、在更新模块中,有两个关键操作用于修正积分项并跟踪误差的变化;

122、更新积分项的累积值:通过计算公式i_accumulation=i_accumulation+error*dt来更新积分项的累积值,将当前误差信号乘以时间步长(dt),并将结果累加到之前的积分项累积值上,持续地对积分项进行修正和调整,以消除静态误差;

123、保存当前误差作为下一时刻的上一时刻误差:通过previous_error=error来将当前的误差值保存为下一时刻的上一时刻误差,在下一次控制循环中使用上一时刻的误差作为参考,例如,用于计算微分项输出或作为比例项和积分项的参考值;

124、这种保存当前误差作为上一时刻误差的操作能够帮助系统预测误差的变化趋势,并减小系统的过冲和震荡,通过记录误差的历史信息,调节控制器的输出。

125、有益效果

126、高精度的位置和姿态控制:通过使用pid控制器和动力学模型,系统能够实时计算并调整推力分配指令,以使推进器精确地达到期望的位置和姿态,确保设备准确执行任务并维持稳定的运动状态;

127、快速响应和自适应性:pid控制器根据当前误差信号进行快速响应,通过比例、积分和微分项的权衡,实现对输出信号的精确调节,控制系统能够自适应不同工况下的变化,并对误差信号的大小和变化率进行有效控制,从而提高系统的灵敏度和适应性;

128、消除静态误差和提高稳定性:通过使用积分项,系统能够累积误差信号并进行修正,从而消除静态误差,这种积分项的持续修正能力使得系统能够更好地跟踪目标值,并提高位置和姿态控制的稳定性,减少位置偏差和姿态角度误差;

129、自动化控制和智能化操作:该系统采用智能化的控制算法,能够根据实时反馈信息自动调整控制参数。通过不断更新pid控制器的参数,实现自动化的位置和姿态控制,减轻人工操作的负担,并提高工作效率和安全性。

130、工作原理:

131、首先,在系统建模模块中,根据推进器的动力学模型建立状态空间方程,将系统的动态特性和非线性特性信息提供给控制执行模块,在目标定义模块中确定推进器位置和姿态的优化目标,如最小化位置偏差或姿态角度误差,目标定义模块获取当前位置和姿态信息,并将优化目标传递给控制执行模块;

132、其次,控制执行模块使用pid控制器的反馈控制算法来计算推进器所需的推力分配指令,基于当前位置和姿态与目标位置和姿态之间的误差信号,控制执行模块利用比例项、积分项和微分项来调整输出信号,从而控制推进器的运动,比例项根据误差信号的大小进行调整,积分项可以累积误差信号并消除静态误差,微分项则预测误差变化趋势以减小过冲和震荡;

133、接着,反馈模块不断接收系统的反馈信息,包括实际位置和姿态数据,这些数据与目标值进行比较,计算当前的误差信号,反馈模块将实际反馈数据和误差信息提供给pid控制器,以实时调整pid参数,更新模块负责更新积分项的累积值,并保存当前误差作为下一时刻的上一时刻误差,通过更新积分项的累积值和保存误差的历史信息,系统可以不断优化控制输出和修正误差;

134、最后,周期控制模块协调整个控制过程的运行,管理控制周期,确保各个模块按照逻辑顺序工作,它监督数据流动和模块之间的交互,并使系统能够持续地进行位置和姿态控制。

135、系统建模模块:建立推进器的动力学模型并得到状态空间方程;

136、目标定义模块:确定推进器位置和姿态的优化目标;

137、控制执行模块:基于pid控制器的反馈控制算法计算推进器的推力分配指令;

138、反馈模块:接收实际位置和姿态数据,计算当前误差信号;

139、更新模块:更新积分项的累积值,并保存当前误差作为下一时刻的上一时刻误差;

140、周期控制模块:协调整个控制过程的运行,确保各个模块按照逻辑顺序工作;

141、通过系统建模模块和目标定义模块,控制执行模块根据推进器的动力学模型和优化目标计算推力分配指令,反馈模块接收实际位置和姿态数据,并计算当前误差信号,更新模块用于更新积分项的累积值,并保存当前误差作为下一时刻的上一时刻误差,周期控制模块确保各个模块按照逻辑顺序工作,并实现控制循环;

142、实时根据误差信号调整推力分配指令,达到精确的位置和姿态控制效果,通过反馈和更新机制,系统可以持续地修正误差,消除静态误差并提高稳定性,周期控制模块确保各个模块之间的协调运行,实现智能化全向推进器的位置和姿态控制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1