CN111490711B - 一种基于pid控制消防机器人电机转速的方法和电子设备 - Google Patents
一种基于pid控制消防机器人电机转速的方法和电子设备 Download PDFInfo
- Publication number
- CN111490711B CN111490711B CN202010277119.9A CN202010277119A CN111490711B CN 111490711 B CN111490711 B CN 111490711B CN 202010277119 A CN202010277119 A CN 202010277119A CN 111490711 B CN111490711 B CN 111490711B
- Authority
- CN
- China
- Prior art keywords
- value
- motor
- speed
- integral
- pid
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 230000010354 integration Effects 0.000 claims abstract description 64
- 238000004364 calculation method Methods 0.000 claims abstract description 13
- 238000004590 computer program Methods 0.000 claims description 10
- 230000004069 differentiation Effects 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 9
- 230000004044 response Effects 0.000 description 9
- 230000033228 biological regulation Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 230000001133 acceleration Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000009123 feedback regulation Effects 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P23/00—Arrangements or methods for the control of AC motors characterised by a control method other than vector control
- H02P23/0004—Control strategies in general, e.g. linear type, e.g. P, PI, PID, using robust control
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P23/00—Arrangements or methods for the control of AC motors characterised by a control method other than vector control
- H02P23/20—Controlling the acceleration or deceleration
Landscapes
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Feedback Control In General (AREA)
- Control Of Electric Motors In General (AREA)
Abstract
本发明提供了一种基于PID控制消防机器人电机转速的方法和电子设备,该方法包括:获取电机实际转速;计算电机实际转速与当前设定转速间的偏差值;根据计算出的偏差值对电机转速进行PID控制,PID控制的积分步骤包括:根据计算出的偏差值的大小确定与计算出的偏差值相对应的积分常数的值,根据确定出的积分常数的值进行积分计算。该方案在PID积分环节中,能够先根据偏差值确定出积分常数的值后才进行积分,这样在偏差值较小,即电机的转速较低而速度波动较小时,便可减小积分常数,确保电机在低速转动时转速较为平稳,而在偏差值较大,即电机的转速较高而速度波动较大时便可增大积分常数,确保电机在高速转动时能够对速度进行及时、快速地响应。
Description
技术领域
本公开的实施例一般涉及到电机转速控制领域,更具体地说,涉及一种基于PID控制消防机器人电机转速的方法、电子设备和计算机可读存储介质。
背景技术
PID反馈控制由于其鲁棒性强,不依赖于被控对象的数学模型的特点,所以在自动控制领域应用非常广泛,尤其是在运动控制领域,大多数的电机驱动控制算法是基于传统PID控制算法演化而来。但传统的PID如果直接用在电机的控制上,会有很多问题,比如如果想要控制电机在低速转动时速度平稳,就不能将积分常数设置太大,但这样又会导致电机在需要高速转动时积分作用太弱,而导致电机动力不足从而使电机对速度的响应不及时,如果想要电机在高速转动时速度平稳响应较快,就需要将积分常数增大,但这样又会导致电机低速下速度不平稳。
因此,如何设计出一种既能够使电机在低速转动时速度平稳,又能够使电机在高速转动时速度平稳响应较快的电机控制方法成为目前亟待解决的问题。
发明内容
本发明旨在解决上述提出的一种或多种问题。
为解决上述问题,本发明提出了一种基于PID控制消防机器人电机转速的方法、电子设备和计算机可读存储介质。
本发明的第一方面的实施例提供了一种基于PID控制消防机器人电机转速的方法,包括:
获取电机的实际转速;
计算电机的实际转速与当前设定转速之间的偏差值;
根据计算出的偏差值对电机的实际转速进行PID控制,且PID控制的积分步骤包括:
根据计算出的偏差值的大小,确定出与计算出的偏差值相对应的积分常数的值,并根据确定出的积分常数的值进行积分计算。
在上述技术方案中,优选地,所述PID控制的积分步骤还包括:
判断积分结果是否大于预设的积分饱和上限值,在判定积分结果大于等于所述预设的积分饱和上限值时,停止积分,并将所述预设的积分饱和上限值作为积分步骤的积分输出值,在判定积分结果小于所述预设的积分饱和上限值时,将所述积分结果作为积分步骤的积分输出值。
优选地,所述预设的积分饱和上限值等于电机驱动单元输入的最大值的70%-90%,进一步地,预设的积分饱和上限值也可为电机驱动单元输入的最大值的80%。
在上述任一技术方案中,优选地,该方法还包括:在获取的电机的实际转速为0rmp,电机的当前设定转速为0rmp,且PID控制的实际输出值大于0时,将积分环节和微分环节的输出值设置为0。
在上述任一技术方案中,优选地,该方法还包括:计算PID控制的结果值,在计算出的PID控制的结果值大于等于所述PID输出上限值时,将所述PID输出上限值确定为PID控制的实际输出值,在计算出的PID控制的结果值小于所述PID输出上限值时,将计算出的所述PID控制的结果值确定为PID控制的实际输出值。
在上述任一技术方案中,优选地,在所述根据计算出的偏差值的大小,确定出与计算出的偏差值相对应的积分常数的值的步骤之前还包括:
预储存偏差值与积分常数的关系表,且偏差值越大,对应的积分常数的值越大;其中,所述根据计算出的偏差值的大小,确定出与计算出的偏差值相对应的积分常数的值的步骤具体为:根据偏差值的大小和所述偏差值与积分常数的关系表查找出对应的积分常数的值。
在上述任一技术方案中,优选地,在所述根据计算出的偏差值的大小,确定出与计算出的偏差值相对应的积分常数的值的步骤之前还包括:
以一个或多个界限值为界,将偏差值分成多个区间段,并对应每个区间段均设置一个对应的积分常数,且区间段的数值越大,对应的积分常数就越大;其中,所述根据计算出的偏差值的大小,确定出与计算出的偏差值相对应的积分常数的值的步骤具体为:根据计算出的偏差值的大小查找出偏差值所在的区间段,将查找出的区间段对应的值确定为积分常数的值。
优选地,所述根据计算出的偏差值的大小,确定出与计算出的偏差值相对应的积分常数的值的步骤具体为:判断计算出的偏差值是否大于预设值,在判断出计算出的偏差值大于等于所述预设值时,将积分常数的值设置为第一数值a,在判断出计算出的偏差值小于所述预设值时,将积分常数的值设置为第二数值b,且第一数值a大于第二数值b。
根据本发明的实施例提供的基于PID控制消防机器人电机转速的方法,能够基于PID闭环反馈控制来进行电机的转速控制,这样便能够使电机的实际速度能够和电机的设定速度高度接近。同时,本申请在PID调节的积分环节中,能够先根据偏差值的大小确定出与计算出的偏差值相对应的积分常数的值后才进行积分,这样就使得积分强度能够与偏差值相匹配,这样在电机的转速较低、电机速度波动较小而导致偏差值较小时,便能够减小积分常数,从而确保电机在低速转动时转速较为平稳,而在电机的转速较高、电机速度波动较大而导致偏差值较大时,便能够增大积分常数,增强积分作用,从而确保了电机在高速转动时速度平稳响应较快。即在本申请中,能够根据偏差值的不同选择不同的积分常数,从而进行不同强度程度的积分,这样便通过调节PID的积分环节的作用确保了电机在低速转动的平稳性也保证了电机高速时电机的实时响应能力。具体方法为:当电机的偏差值较低时,电机的PID驱动程序自动将积分常数I设定为一个较小的数值,而当电机的偏差值增大时,电机的PID驱动程序自动将积分常数I设定为一个较大的数值,这样通过偏差值的大小进行不同程度的积分既能保证电机在低速转动的平稳性也保证了电机高速时电机的实时响应能力。
本发明的第二方面的实施例提供了一种基于PID控制消防机器人电机转速的方法,包括:
按照预设规律将电机的目标转速分成多个呈阶梯分布的设定转速,并以多个所述设定转速一一进行电机的速度控制,直到所述电机的实际转速到达所述电机的目标转速;其中,在以任意一个设定转速进行电机的速度控制时,均包括第一方面任一项实施例提供的方法所包括的步骤。
进一步优选地,所述按照预设规律将电机的目标转速分成多个设定转速,并以多个所述设定转速一一进行电机的速度控制的步骤包括:
每隔预设时间按公式1计算出一个设定速度,每计算出一个设定速度后均按照计算出的设定速度进行一个周期的电机速度控制,直到计算出的设定速度大于等于目标转速V目,在计算出的设定速度大于等于目标转速V目时,直接将电机的设定速度设定为目标转速,公式1为:
Vn设=a×V目+(1-a)×V(n-1)设;
其中,Vn设表示第n次的设定速度,V(n-1)设表示第n-1次的设定速度,n为大于等于1的正整数,a为惯性系数,且a大于等于0,小于等于1,V0设为电机在计算出第一个设定速度时的实际速度。
本发明第二方面的实施例提供的基于PID控制消防机器人电机转速的方法,在电机需要达到目标转速时,将电机的目标转速拆分成了多个呈阶梯分布的设定速度,这样便可分多个阶段一步一步地来调整电机的转速,即本申请将电机的加速或减速过程分成了多个加速过程或多个减速过程。而该种方式由于电机的速度是一段一段的加速上去或一段一段减速下去的,而不是一次性急剧加速或一次性急剧减速的,因此,使得电机在减速或加速时,不易发生剧变,这样便使得电机能够较平稳定地进行加减速,从而使得电机的速度能够平稳过渡。同时,由于本申请中在分多个阶段一步一步地来调整电机的转速时,均采用了第一方面任一项实施例提供的方法,因此,本发明第二方面的实施例提供的基于PID控制消防机器人电机转速的方法,还具有第一方面任一项实施例提供的方法的全部有益效果,在此不再赘述。
本发明的第三方面的实施例提供了一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现本发明第一方面任一项实施例提供的方法。
本发明的第四方面的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明第一方面任一项实施例提供的方法。
应当理解,公开内容部分中所描述的内容并非旨在限定本发明的实施例的关键或重要特征,亦非用于限制本发明的范围。本发明的其它特征将通过以下的描述变得容易理解。
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了本公开的实施例提供的基于PID控制消防机器人电机转速的方法的流程示意图;
图2a示出了另一实施例提供的基于PID控制消防机器人电机转速的方法的流程示意图;
图2b示出了图2a中的S208的具体流程示意图;
图3示出了电机的转速在两种不同处理下的结果对比示意图;
图4示出了基于PID控制消防机器人电机转速的方法的原理示意图;
图5示出了一具体实施例提供的基于PID控制消防机器人电机转速的方法的流程示意图;
图6示出了本发明的一实施例提供的电子设备的方框图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本公开保护的范围。
如图1所示,本发明第一方面的实施例提供了一种基于PID控制消防机器人电机转速的方法,包括:
本发明的第一方面的实施例提供了一种基于PID控制消防机器人电机转速的方法,包括:
S102,获取电机的实际转速;
S104,计算电机的实际转速与当前设定转速之间的偏差值;
S106,根据计算出的偏差值对电机的实际转速进行PID控制,且PID控制的积分步骤包括:根据计算出的偏差值的大小,确定出与计算出的偏差值相对应的积分常数的值,并根据确定出的积分常数的值进行积分计算。
根据本发明的实施例提供的基于PID控制消防机器人电机转速的方法,能够基于PID闭环反馈控制来进行电机的转速控制,这样便能够使电机的实际速度能够和电机的设定速度高度接近。同时,本申请在PID调节的积分环节中,能够先根据偏差值的大小确定出与计算出的偏差值相对应的积分常数的值后才进行积分,这样就使得积分强度能够与偏差值相匹配,这样在电机的转速较低、电机速度波动较小而导致偏差值较小时,便能够减小积分常数,从而确保电机在低速转动时转速较为平稳,而在电机的转速较高、电机速度波动较大而导致偏差值较大时,便能够增大积分常数,增强积分作用,从而确保了电机在高速转动时速度平稳响应较快。即在本申请中,能够根据偏差值的不同选择不同的积分常数,从而进行不同强度程度的积分,这样便通过调节PID的积分环节的作用确保了电机在低速转动的平稳性也保证了电机高速时电机的实时响应能力。具体方法为:当电机的偏差值较低时,电机的PID驱动程序自动将积分常数I设定为一个较小的数值,而当电机的偏差值增大时,电机的PID驱动程序自动将积分常数I设定为一个较大的数值,这样通过偏差值的大小进行不同程度的积分既能保证电机在低速转动的平稳性也保证了电机高速时电机的实时响应能力。
其中,根据计算出的偏差值的大小,确定出与计算出的偏差值相对应的积分常数的值的步骤具体包括:在偏差值增大时,增大积分常数,在偏差值减小时,减小积分常数。
如图2a所示,在本发明提供的另一实施例中,基于PID控制消防机器人电机转速的方法包括以下步骤:
S202,获取电机的实际转速;
S204,计算电机的实际转速与当前设定转速之间的偏差值;
S206,根据计算出的偏差值进行比例调节;
S208,根据计算出的偏差值进行积分调节;
S210,根据计算出的偏差值进行微分调节;
其中,如图2b所示,S208具体包括:
S2082,根据计算出的偏差值的大小,确定出与计算出的偏差值相对应的积分常数的值,并根据确定出的积分常数的值进行积分计算系数;
S2084,判断积分结果是否大于预设的积分饱和上限值,在判定积分结果大于等于预设的积分饱和上限值时,停止积分,并将预设的积分饱和上限值作为积分步骤的积分输出值,在判定积分结果小于预设的积分饱和上限值时,将积分结果作为积分步骤的积分输出值。
在该实施例中,S202和S204和之前的实施例一样,而S206至S208为根据当前偏差值对电机的实际转速进行PID控制的具体三个步骤,其中,本实施和上一实施例的区别在于,本申请中,在积分环节进行了积分限幅。具体而言,本实施例设定了积分饱和上限值,以对积分环节的最大输出值进行限定,而该种设置能够防止积分环节的积分结果超过预设的积分饱和上限值,即防止在PID控制的积分环节积分过饱和,这样便能够对积分项进行限幅,从而能够很好的防止积分累积的调节效果过冲,从而使电机的调控超调,这样便能够避免PID积分过饱和而导致电机失控甚至烧毁的现象发生。具体过程为:当积分环节中的积分结果大于预设的积分饱和上限值时,便停止积分效果,并将预设的积分饱和上限值确定为积分项的积分结果。当然,在积分环节的积分结果小于预设的积分饱和上限值时,进行正常积分,并将积分结果作为积分环节的积分结果即可。
优选地,预设的积分饱和上限值等于电机驱动单元输入的最大值的70%-90%,进一步地,预设的积分饱和上限值也可为电机驱动单元输入的最大值的80%。
在上述任一技术方案中,优选地,如图2a所示,该方法还包括:
S212,在获取的电机的实际转速为0rmp,电机的当前设定转速为0rmp,且PID控制的实际输出值大于0时,将积分环节和微分环节的输出值设置为0。
在该步骤中,获取的电机的实际转速为0rmp,电机的设定转速为0rmp即说明电机已经停转,但此时,PID控制的实际输出值大于0,说明PID依旧还有控制量,即PID仍然会驱动电流输出给电机。事实上,在PID自动反馈控制中,电机转速是被控对象,在电机转速达到设定的转速时,电机驱动单元将保持在该转速下的电机驱动电流不变,大多情况下这是没有问题的,但当设定的转速0rmp时,电机在PID的反馈控制下,会降低转速直至为0,但由于电机自生有各种有电机自生结构等因素造成的转动阻力,导致电机在速度降为0rmp时,PID仍然会驱动电流输出给电机,只是这时的驱动电流较小,在电机自生的旋转静态阻力下电机仍不会转动,转速仍然保持为0rmp,这样虽然达到了PID自动反馈调节的目的,却在白白浪费了一些电量,这对于一些有低功耗长续航要求的设备来说是很费电的。而本申请,在电机停转后(即获取的电机的实际转速为0rmp,电机的设定转速为0rmp时),若检测到PID控制的实际输出值大于0,即电机有电能损耗时,便通过程序自动将积分结果和微分值设置为0,以使电机的PID的输出值变为0,这样就使得电机驱动单元不输出电流,达到了降低功耗的作用,即该种设置通过程序识别消除了电机静止态下电能的损耗,使电机更加节能。
在上述任一技术方案中,优选地,如图2a所示,该方法还包括:
S214,计算PID控制的结果值,在计算出的PID控制的结果值大于等于PID输出上限值时,将PID输出上限值确定为PID控制的实际输出值,在计算出的PID控制的结果值小于PID输出上限值时,将计算出的PID控制的结果值确定为PID控制的实际输出值。
其中,PID是用于控制电机驱动单元的电压电流的,而电机的电压电流都有一定的极限值,因此,提供给电机的电压电流不应该超过电机的负荷,这就要求PID的输出结果不能够无限的大,而是需要有一定的上限值。因此,在本申请中,增加了PID限幅的步骤,这样可防止PID的输出结果过大而导致电机的电压电流超负荷。
在上述任一技术方案中,优选地,在根据计算出的偏差值的大小,确定出与计算出的偏差值相对应的积分常数的值的步骤之前还包括:预储存偏差值与积分常数的关系表,且偏差值越大,对应的积分常数的值越大;其中,根据计算出的偏差值的大小,确定出与计算出的偏差值相对应的积分常数的值的步骤具体为:根据偏差值的大小和偏差值与积分常数的关系表查找出对应的积分常数的值。
在该些实施中,可根据经验或者试验提前设定好偏差值与积分常数的关系表,并将其提前储存到电机的控制程序中,这样在需要积分时,便能够根据偏差值去偏差值与积分常数的关系表中查找到对应的积分常数,然后便可根据查找出的积分常数进行积分。其中,偏差值与积分常数的关系表中要求,偏差值越大,积分常数越大。
在上述任一技术方案中,优选地,在根据计算出的偏差值的大小,确定出与计算出的偏差值相对应的积分常数的值的步骤之前还包括:以一个或多个界限值为界,将偏差值分成多个区间段,并对应每个区间段均设置一个对应的积分常数,且区间段的数值越大,对应的积分常数就越大;其中,根据计算出的偏差值的大小,确定出与计算出的偏差值相对应的积分常数的值的步骤具体为:根据计算出的偏差值的大小查找出偏差值所在的区间段,将查找出的区间段对应的值确定为积分常数的值。
在该些实施中,可提前在控制程序中设定好一个或多个临界值,以便能够将偏差值分成两个区间段或者三个及以上的区间段,这样在需要积分时,便可先判断偏差值位于第几个区间段内,然后便可将与上述区间段对应的值作为积分项的积分常数进行积分计算。而由于电机的转速越大,其速度波动也就会越大,从而会导致偏差值越大,因此区间段的数值越大,对应的积分常数就越大,这样能够保证电机在低速转动的平稳性也保证了电机高速时电机的实时响应能力。
优选地,以一个界限值为界,将偏差值分成两个区间段,此时,在需要积分时,可先判断偏差值是否大于预设界限值,在判断出偏差值大于等于预设界限值时,将积分常数的值设置为第一数值a,在判断出偏差值小于预设界限值时,将积分常数的值设置为第二数值b,且第一数值a大于第二数值b。
该种设置,由于电机的转速越大,其速度波动也就会越大,从而会导致偏差值越大,因此,在偏差值较大时,将积分常数设置的较大,在偏差值较小时,将积分常数设置的较小,能够使得电机在不同的转速阶段,能够进行不同的积分,这样便能够实现不同速度范围下的分段积分,从而既能保证电机在低速转动的平稳性也保证了电机高速时电机的实时响应能力。
本发明的第二方面的实施例提供了一种基于PID控制消防机器人电机转速的方法,包括:
按照预设规律将电机的目标转速分成多个呈阶梯分布的设定转速,并以多个所述设定转速一一进行电机的速度控制,直到所述电机的实际转速到达所述电机的目标转速;其中,在以任意一个设定转速进行电机的速度控制时,均包括第一方面任一项实施例提供的方法所包括的步骤。
本发明第二方面的实施例提供的基于PID控制消防机器人电机转速的方法,在电机需要达到目标转速时,将电机的目标转速拆分成了多个呈阶梯分布的设定速度,这样便可分多个阶段一步一步地来调整电机的转速,即本申请将电机的加速或减速过程分成了多个加速过程或多个减速过程。比如,在电机需要从0加速到5v时,将5v分成5份,以使电机能够一段一段的分布加速,比如从0加速到v1,然后从v1加速到v2,然后加速到v3、v4,直到加速到v5。而该种方式由于电机的速度是一段一段的加速上去或一段一段减速下去的,而不是一次性急剧加速或一次性急剧减速的,因此,使得电机在减速或加速时,不易发生剧变,这样便使得电机能够较平稳定地进行加减速,从而使得电机的速度能够平稳过渡。同时,由于本申请中在分多个阶段一步一步地来调整电机的转速时,均采用了第一方面任一项实施例提供的方法,因此,本发明第二方面的实施例提供的基于PID控制消防机器人电机转速的方法,还具有第一方面任一项实施例提供的方法的全部有益效果,在此不再赘述。
进一步优选地,所述按照预设规律将电机的目标转速分成多个设定转速,并以多个所述设定转速一一进行电机的速度控制的步骤包括:
每隔预设时间按公式1计算出一个设定速度,每计算出一个设定速度后均按照计算出的设定速度进行一个周期的电机速度控制,直到计算出的设定速度大于等于目标转速V目,在计算出的设定速度大于等于目标转速V目时,直接将电机的设定速度设定为目标转速,公式1为:
Vn设=a×V目+(1-a)×V(n-1)设;
其中,Vn设表示第n次的设定速度,V(n-1)设表示第n-1次的设定速度,n为大于等于1的正整数,a为惯性系数,且a大于等于0,小于等于1,V0设为电机在计算出第一个设定速度时的实际速度。
在该实施例中,每次设定的速度可根据上述公式1计算出来,然后便可根据每次计算出来的速度进行一个周期的电机速度调节。而这种方式能够确保电机的转速能够比较平稳的过渡。其中,针对每一个设定速度,为了确保电机的实际速度能够到达设定速度,可基于PID反馈控制来调节电机的转速。且在进行PID控制的积分环节,可根据电机的实际转速和每一次设定的转速之间的偏差值的大小来确定积分常数,从而以不同积分常数进行不同程度的积分,这样在为了将电机的转速设置成目标转速,而进行速度的分布调整时,便能够在每一个周期中,都根据偏差值的实际大小而重新确定积分常数,这样便能够实现分段积分,从而确保电机在低速下转动的稳定性和高速的实时响应能力。
其中,图3示出了分段设定电机的设定速度时,电机速度的变化曲线(图3中的曲线2),由图3可知,电机的速度能够比较平稳地从0m/s加速到0.5m/s,也能够比较平稳地从0.5m/s减速到0m/s。而图3中的曲线1为一次性地将电机的速度设定为所需速度的速度变化曲线,由该曲线1可知,电机的速度在非常短的时间内便从0m/s加速到0.5m/s,同时也在非常短的时间内便直接从0.5m/s减速到0m/s,这样就使得电机的速度变化的非常剧烈,从而会使电机的速度发生急剧变化。而本申请,通过分段设定电机的速度使得电机能够平稳地进行加速或减速,这样便能够确保电机速度的平稳性。
其中,以图3中的0.5s至2s这段时间为例来说明电机的设定速度的计算过程,在图3中,设定速度之前,电机的速度为Om/s,目标转速是0.5m/s,假设A等于0.5,因此公式中的V0设等于0m/s,V目=0.5m/s,则:
V1设=0.5a=0.25m/s;V2设=0.5a+(1-a)×0.25=0.375m/s;
V3设=0.5a+(1-a)×0.375=0.4375m/s;
V3设=0.5a+(1-a)×0.4375=0.46875m/s;
V4设=0.5a+(1-a)×0.46875=0.484375m/s;
V5设=0.5a+(1-a)×0.484375=0.492187575m/s,直到计算出电机的设定速度大于等于0.5m/s,而在计算出电机的设定速度大于等于0.5m/s时,直接将电机的速度设定为0.5m/s并停止后续的设定。这样通过上述的多次设定,便使得电机的速度从0m/s平滑过渡到了0.5m/s,避免了电机的速度发生剧烈变化,因而确保了电机的平稳性,大大降低了电机因速度的变化而发生翻车或倾覆的概率。
其中,电机转速的PID反馈控制系统的结构如图4所示,而由图4可知,PID反馈控制系统包括:根据偏差值进行比例调节、积分调节和微分调节。其中,图4中Rk为第k个控制周期的电机设定转速,Yk为第k个控制周期中电机的实际转速,该转速有电机附带的转速传感器测出,Ek为Yk与Rk的转速差值,Uk为PID的计算输出值,其中Ek作为PID计算环节中的计算变量,比例环节的计算值为PK,积分环节计算值为IK,微分环节的计算值为DK,Uk是PID计算环节的输出变量。
他们之间有如下关系:
Uk=Pk+Ik+Dk,其中Pk、Ik、Dk又分别计算如下:
Pk=P*Ek
Ik=I*Ek+Ik-1
Dk=D*(Ek-Ek-1)
上面三个公式中的P,I,D分别为比例常数,积分常数,微分常数。Uk-1和Ek-1分别是第k-1个控制周期中的PID计算输出值和偏差值。
其中,在上述任一实施例中,根据计算出的偏差值的大小,确定出与计算出的偏差值相对应的积分常数的值就是根据Ek的大小确定积分常数I的值。而本申请中,在进行PID控制时,比例调节的结果值Pk、积分调节的结果值Ik和微分调节的结果值Dk可根据上述公式进行计算。
下面结合PID调节器的原始微分方程来具体介绍上述公式的推导:
其中,PID反馈控制是基于PID调节器进行的反馈控制,其中,PID调节器是一种线性调节器,它将设定值r(t)与实际输出值c(t)的偏差e(t)的比例(P)、积分(I)、微分(D)通过线性组合构成控制量,对控制对象进行控制。其中,
PID调节器的原始微分方程如下:
式中e(t)=r(t)-c(t)为偏差,Kp为比例系数,TI为积分时间,TD为微分时间,其中,将上面公式2-2-1中的部分公式形式离散化后,如下表1:
表1
在表1中,T为一个计算周期/控制周期所需时间,k表示第k次计算。Kp为比例系数,TI为积分时间,TD为微分时间,这三个量均为常量。于是将公式2-2-1进行数字离散化后,得到PID控制器的差分方程:
将上面2-2-2公式展开后得到公式2-2-3:
令2-2-3公式中的
比例项:PK=KPe(k)=P*Ek,则P=Kp中,Ek=e(k)
所以根据上面三式,可以将2-2-3式写成:
u(k)=PK+IK+DK+u0 (公式2-2-4)
在本申请中,将u0设置为0后,便可得到本申请中,计算PID的输出值u(k)的计算公式:u(k)=PK+IK+DK。以及比例调节的结果值Pk、积分调节的结果值Ik和微分调节的结果值Dk的计算公式。
本发明的第三方面的实施例提供了一种电子设备,包括存储器和处理器,存储器上存储有计算机程序,处理器执行程序时实现本发明第一方面任一项实施例提供的方法。
本发明的第四方面的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现本发明第一方面任一项实施例提供的方法。
下面结合一个具体实施例来介绍本申请中提供的基于PID控制消防机器人电机转速的方法,如图5所示,该方法包括以下步骤:
S502,获取电机的当前设定转速和电机的实际转速;
S504,计算电机的实际转速与当前设定转速之间的偏差值;
S506,根据当前计算的偏差值计算并确定PID比例环节的输出值;
S508,根据当前计算的偏差值的大小,确定出与当前偏差值相对应的积分常数的值,然后根据当前计算的偏差值和上一周期的PID输出值,以及确定的积分常数计算出PID积分环节的结果值;
S510,判断积分结果是否大于预设的积分饱和上限值,在判定积分结果大于等于预设的积分饱和上限值时,停止积分,并将预设的积分饱和上限值作为积分步骤的积分输出值,在判定积分结果小于预设的积分饱和上限值时,将积分结果作为积分步骤的积分输出值;
S512,根据当前计算的偏差值和上一周期的偏差值计算并确定PID微分环节的输出值;
S514,计算并判断当前周期的PID输出值是否大于等于PID输出上限值;若大于等于,则转S516,若不大于等于,则转S518;
S516,将PID输出上限值确定为PID控制的实际输出值;
S518,将计算出的PID控制的结果值确定为PID控制的实际输出值;
S520,判断电机的实际转速Yk和当前设定转速Rk是否为0rmp,同时,判断PID控制的实际输出值Uk是否大于0;其中,在Yk=0、Rk=0并且Uk≠0时,转步骤S522,反之,则转步骤S524;
S522,将积分环节和微分环节的输出值设置为0,并重新计算PID的输出值;
S524,输出PID的最终输出值。此后,可转S502,并根据重新设定的转速进行下一周期的转速控制。
其中,图6出了可以用于本公开的实施例的电子设备600的示意性方框图。如图6所示,电子设备600包括中央处理单元601,其可以根据存储在只读存储器602中的计算机程序指令或者从存储单元608加载到随机访问存储器603中的计算机程序指令,来执行各种适当的动作和处理。在RAM 603中,还可以存储电子设备600操作所需的各种程序和数据。CPU601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出接口605也连接至总线604。
电子设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许电子设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理单元601执行上文所描述的各个方法和处理。例如,在一些实施例中,上述实施例子中的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到电子设备600上。当计算机程序加载到RAM 603并由CPU 601执行时,可以执行上文描述的远程控制端和车载读书设备的一个或多个步骤。备选地,在其他实施例中,CPU 601可以通过其他任何适当的方式而被配置为执行上述实施例子中的方法。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列、专用集成电路、专用标准产品、芯片上系统的系统、负载可编程逻辑设备等等。
用于实例本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实例。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或电子设备上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器、只读存储器、可擦除可编程只读存储器、光纤、便捷式紧凑盘只读存储器、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (8)
1.一种基于PID控制消防机器人电机转速的方法,其特征在于,包括:
按照预设规律将电机的目标转速分成多个呈阶梯分布的设定转速,并以多个所述设定转速一一进行电机的速度控制,直到所述电机的实际转速到达所述电机的目标转速;
所述按照预设规律将电机的目标转速分成多个呈阶梯分布的设定转速,并以多个所述设定转速一一进行电机的速度控制的步骤包括:
每隔预设时间按公式1计算出一个设定速度,每计算出一个设定速度后均按照计算出的设定速度进行一个周期的电机速度控制,直到计算出的设定速度大于等于目标转速V目,在计算出的设定速度大于等于目标转速V目时,直接将电机的设定速度设定为目标转速,公式1为:
Vn设=a×V目+(1-a)×V(n-1)设;
其中,Vn设表示第n次的设定速度,V(n-1)设表示第n-1次的设定速度,n为大于等于1的正整数,a为惯性系数,且a大于等于0,小于等于1,V0设为电机在计算出第一个设定速度时的实际速度;
其中,在以任意一个设定转速进行电机的速度控制时,包括:
获取电机的实际转速;
计算电机的实际转速与当前设定转速之间的偏差值;
根据计算出的偏差值对电机的实际转速进行PID控制,且PID控制的积分步骤包括:
根据计算出的偏差值的大小,确定出与计算出的偏差值相对应的积分常数的值,并根据确定出的积分常数的值进行积分计算。
2.根据权利要求1所述的基于PID控制消防机器人电机转速的方法,其特征在于,PID控制的积分步骤还包括:
判断积分结果是否大于预设的积分饱和上限值,在判定积分结果大于等于所述预设的积分饱和上限值时,停止积分,并将所述预设的积分饱和上限值作为积分步骤的积分输出值,在判定积分结果小于所述预设的积分饱和上限值时,将所述积分结果作为积分步骤的积分输出值。
3.根据权利要求1所述的基于PID控制消防机器人电机转速的方法,其特征在于,还包括:
在获取的电机的实际转速为0rmp,电机的当前设定转速为0rmp,且PID控制的实际输出值大于0时,将积分环节和微分环节的输出值设置为0。
4.根据权利要求1所述的基于PID控制消防机器人电机转速的方法,其特征在于,还包括:
计算PID控制的结果值,在计算出的PID控制的结果值大于等于所述PID输出上限值时,将所述PID输出上限值确定为PID控制的实际输出值,在计算出的PID控制的结果值小于所述PID输出上限值时,将计算出的所述PID控制的结果值确定为PID控制的实际输出值。
5.根据权利要求1至4中任一项所述的基于PID控制消防机器人电机转速的方法,其特征在于,在所述根据计算出的偏差值的大小,确定出与计算出的偏差值相对应的积分常数的值的步骤之前还包括:
预储存偏差值与积分常数的关系表,且偏差值越大,对应的积分常数的值越大,其中,所述根据计算出的偏差值的大小,确定出与计算出的偏差值相对应的积分常数的值的步骤具体为:根据偏差值的大小和所述偏差值与积分常数的关系表查找出对应的积分常数的值;或
以一个或多个界限值为界,将偏差值分成多个区间段,并对应每个区间段均设置一个对应的积分常数,且区间段的数值越大,对应的积分常数就越大,其中,所述根据计算出的偏差值的大小,确定出与计算出的偏差值相对应的积分常数的值的步骤具体为:根据计算出的偏差值的大小查找出偏差值所在的区间段,将查找出的区间段对应的值确定为积分常数的值。
6.根据权利要求1至4中任一项所述的基于PID控制消防机器人电机转速的方法,其特征在于,所述根据计算出的偏差值的大小,确定出与计算出的偏差值相对应的积分常数的值的步骤具体为:
判断计算出的偏差值是否大于预设值,在判断出计算出的偏差值大于等于所述预设值时,将积分常数的值设置为第一数值a,在判断出计算出的偏差值小于所述预设值时,将积分常数的值设置为第二数值b,且第一数值a大于第二数值b。
7.一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~6中任一项所述的方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1~6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010277119.9A CN111490711B (zh) | 2020-04-09 | 2020-04-09 | 一种基于pid控制消防机器人电机转速的方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010277119.9A CN111490711B (zh) | 2020-04-09 | 2020-04-09 | 一种基于pid控制消防机器人电机转速的方法和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111490711A CN111490711A (zh) | 2020-08-04 |
CN111490711B true CN111490711B (zh) | 2021-11-19 |
Family
ID=71798752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010277119.9A Expired - Fee Related CN111490711B (zh) | 2020-04-09 | 2020-04-09 | 一种基于pid控制消防机器人电机转速的方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111490711B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112494752B (zh) * | 2020-11-03 | 2022-11-18 | 健帆生物科技集团股份有限公司 | 输液泵数据处理方法、输液泵和存储介质 |
CN112641384B (zh) * | 2020-12-17 | 2021-11-19 | 珠海一微半导体股份有限公司 | 机器人减速刹车状态下的pid调节方法 |
CN112511065B (zh) * | 2020-12-17 | 2023-03-10 | 珠海一微半导体股份有限公司 | 机器人启动加速运动中的pid调节方法 |
CN114167963B (zh) * | 2021-11-30 | 2024-03-08 | 新华三技术有限公司 | 一种风扇控制管理方法、装置、设备及机器可读存储介质 |
CN117792208B (zh) * | 2024-02-23 | 2024-06-11 | 深圳威洛博机器人有限公司 | 一种机器人模组传动速度协同工作控制系统及方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101893849A (zh) * | 2010-07-12 | 2010-11-24 | 绍兴县精功机电研究所有限公司 | 一种pid控制器的控制方法 |
CN102490704A (zh) * | 2011-12-13 | 2012-06-13 | 奇瑞汽车股份有限公司 | 一种制动力实时调节方法 |
JP5790508B2 (ja) * | 2012-01-04 | 2015-10-07 | トヨタ自動車株式会社 | 多重系モータの制御装置及び制御方法 |
CN103269195B (zh) * | 2013-05-24 | 2015-04-08 | 电子科技大学 | 一种用于电动汽车异步电机矢量控制的变速积分pid控制器 |
CN107181440B (zh) * | 2016-03-10 | 2019-06-14 | 宝沃汽车(中国)有限公司 | 基于电机pi控制的动态积分补偿方法、系统及车辆 |
CN106048976A (zh) * | 2016-07-08 | 2016-10-26 | 无锡小天鹅股份有限公司 | 洗衣机以及洗衣机的控制方法 |
CN106169897B (zh) * | 2016-08-02 | 2019-01-08 | 中车株洲电力机车研究所有限公司 | 一种电机速度实时抗饱和pid控制方法及装置 |
-
2020
- 2020-04-09 CN CN202010277119.9A patent/CN111490711B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN111490711A (zh) | 2020-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111490711B (zh) | 一种基于pid控制消防机器人电机转速的方法和电子设备 | |
EP3171234A1 (en) | Control device, control method, information processing program, and recording medium | |
CN104753439A (zh) | 一种电机的pid智能调速方法 | |
CN112256383B (zh) | 虚拟机的cpu核心数的调整方法、装置、设备及介质 | |
CN113964849A (zh) | 一种微网逆变器自适应惯量vsg控制方法 | |
CN111536068B (zh) | 一种风扇转速控制方法、装置及头戴式设备 | |
CN108170030B (zh) | 动力系统控制分配方法及相关装置 | |
CN113672065B (zh) | 一种风扇调速的方法、装置及存储介质 | |
CN114167963B (zh) | 一种风扇控制管理方法、装置、设备及机器可读存储介质 | |
JP2019149041A (ja) | 数値制御装置 | |
CN113094231B (zh) | 一种计算机风扇控制方法、系统、控制器以及存储介质 | |
US10491149B2 (en) | Acceleration estimator for speed rate control | |
CN112398406B (zh) | 一种电机运行控制方法、装置、存储介质及电子设备 | |
CN114590711A (zh) | 一种多工况回转启动电流调控方法及装置 | |
CN110535395B (zh) | 一种电机的控制方法及装置 | |
CN107804192B (zh) | 防溜坡控制方法、装置及电动汽车 | |
CN108462428B (zh) | 电机速度调节方法及装置、计算机可读存储介质、终端 | |
CN114614490A (zh) | 无功电压控制方法和装置、介质以及计算装置 | |
CN110780597A (zh) | 一种用于舵机防振荡的控制方法、装置、设备及介质 | |
CN111049359A (zh) | 一种功率控制方法及系统 | |
CN115892206B (zh) | 一种车轮转角控制方法、装置及电子设备 | |
CN109981029B (zh) | 一种电机的控制方法及装置 | |
CN111309123A (zh) | 一种风扇调控方法、装置、设备及介质 | |
CN109799796B (zh) | 一种水泥熟料生产线窑主传动控制系统 | |
CN113760069B (zh) | 温度控制的方法、设备、存储介质及程序产品 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20211119 |