一种电机控制方法、装置、存储介质及其机器人与流程

文档序号:20060490发布日期:2020-03-06 07:55阅读:106来源:国知局
一种电机控制方法、装置、存储介质及其机器人与流程

本申请涉及控制技术领域,具体而言,涉及一种电机控制方法、装置、存储介质及其机器人。



背景技术:

目前,电机的控制策略多采用矢量控制,即采用速度闭环反馈控制和电流闭环反馈控制,以达到对速度的快速、精准控制,在速度闭环控制中多采用经典的pi反馈控制,而电机在减速到停止时使用经典比例积分(proportionalintegral,pi)反馈控制会造成电机停止时停止不稳,出现来回摆动的问题。



技术实现要素:

本申请实施例的目的在于提供一种电机控制方法、装置、存储介质及其机器人,用以解决电机在减速到停止时使用经典pi反馈控制会造成电机停止时停止不稳,出现来回摆动的问题。

第一方面,本申请提供一种电机控制方法,所述方法包括:获取电机的当前给定速度,判断所述当前给定速度是否等于预设的停止值;若是,则获取电机的当前工作速度;判断所述当前工作速度是否等于所述预设的停止值;若是,则将所述电机的比例积分控制的积分输出修正为所述预设的停止值,获得修正后的比例积分输出量,所述修正后的比例积分输出量为比例输出和修正后的积分输出之和;根据修正后的比例积分输出量对所述电机进行控制,以使所述电机停止。

在第一方面的可选实施方式中,所述预设的停止值为零,所述将所述电机的比例积分控制中的积分输出修正为所述预设的停止值,包括:将所述电机的比例积分控制的积分输出修正为零。

在上述设计的电机控制方法中,通过在确定电机给定速度和工作速度同时为预设的停止值(0)之后,将控制电机的比例积分控制中的积分输出部分修正为预设的停止值(0),获得修正后的比例积分输出量,进而根据修正后的比例积分控制量对电机进行控制,使得电机能够在从减速到工作速度为预设的停止值(0)时就能够及时停止,解决了电机在减速到停止时使用经典pi反馈控制会造成电机停止时停止不稳,出现来回摆动的问题,使得在没有增加任何硬件设备的情况下,电机能够实现一次性平稳停止,增强了电机速度控制的稳定性和精确性。

在第一方面的可选实施方式中,在所述判断所述当前工作速度是否等于所述预设的停止值之后,所述方法还包括:若判断所述当前工作速度等于所述预设的停止值,则控制复位状态的计数器累加预设数值;判断所述计数器的累加数值是否等于预设数值;若是,则执行将所述电机的比例积分控制的积分输出修正为所述预设的停止值的步骤;若否,则根据修正前的比例积分输出量对所述电机进行控制。

在上述设计的可选实施方式中,通过计数器的计数值来确定电机的比例积分控制方式,在满足计数值要求时确定为修正的比例积分控制方式,在不满足计数值要求时恢复修正前的比例积分控制方式,使得电机的控制方式多样化,使得电机在停止时更加稳定,在不进行停止时不受影响。

在第一方面的可选实施方式中,在所述根据修正后的比例积分输出量对所述电机进行控制之后,所述方法还包括:判断是否获取到所述电机的启动给定速度,所述启动给定速度不等于预设的停止值;若是,则将所述计数器调整为所述复位状态。

在上述设计的可选实施方式中,在电机停止到下一次启动时将计数器调整为复位状态,使得下一次电机停止时,计数器可以从复位状态开始计数,使得控制过程更加准确。

在第一方面的可选实施方式中,在所述判断所述当前工作速度是否等于所述预设的停止值之后,所述方法还包括:若所述当前工作速度不等于所述预设的停止值,则根据修正前的比例积分输出量对所述电机进行控制。

在第一方面的可选实施方式中,在所述判断所述当前给定速度是否等于预设的停止值之后,所述方法还包括:若所述当前给定速度不等于预设的停止值,则根据修正前的比例积分输出量对所述电机进行控制。

第二方面,本申请提供一种电机控制装置,所述装置包括:获取模块,用于获取电机的当前给定速度;判断模块,用于判断所述当前给定速度是否等于预设的停止值;所述获取模块,还用于在所述判断模块判断当前给定速度等于预设的停止值之后,获取电机的当前工作速度;所述判断模块,还用于判断所述当前工作速度是否等于所述预设的停止值;修正模块,用于将所述电机的比例积分控制的积分输出修正为所述预设的停止值,获得修正后的比例积分输出量,所述修正后的比例积分输出量为比例输出和修正后的积分输出之和;控制模块,用于根据修正后的比例积分输出量对所述电机进行控制。

在第二方面的可选实施方式中,所述预设的停止值为零,所述修正模块,具体用于将所述电机的比例积分控制的积分输出修正为零。

在第二方面的可选实施方式中,所述装置还包括累加模块,用于在所述判断模块判断所述当前工作速度等于所述预设的停止值之后,对复位状态的计数器累加预设数值;所述判断模块,还用于判断所述计数器的累加数值是否等于所述预设数值;执行模块,用于在所述判断模块判断计数器的累加数值等于所述预设数值之后,执行将所述电机的比例积分控制的积分输出修正为所述预设的停止值的步骤;所述控制模块,还用于在所述判断模块判断计数器的累加数值不等于所述预设数值之后,根据修正前的比例积分输出量对所述电机进行控制。

在第二方面的可选实施方式中,所述判断模块,还用于在根据修正后的比例积分输出量对所述电机进行控制之后,判断是否获取到所述电机的启动给定速度,所述启动给定速度不等于所述预设的停止值;调整模块,用于在所述判断模块判断获取到所述电机的启动给定速度之后,将所述计数器调整为所述复位状态。

在第二方面的可选实施方式中,所述控制模块,还用于在所述判断模块判断所述当前工作速度不等于所述预设的停止值之后,根据修正前的比例积分输出量对所述电机进行控制。

在第二方面的可选实施方式中,所述控制模块,还用于在所述判断模块判断所述当前给定速度不等于预设的停止值之后,根据修正前的比例积分输出量对所述电机进行控制。

第三方面,本申请提供一种机器人,所述机器人包括机器人本体、电机以及处理器,所述电机与所述处理器电连接,所述电机用于驱动所述机器人本体进行移动,所述机器人本体在通过所述电机进行移动减速停止时,所述处理器执行如第一实施例中任一可选实施方式中所述的方法控制所述电机,以使所述机器人本体停止平稳。

第四方面,本申请提供一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现前述第一方面中任一可选实施方式中所述的方法。

第五方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述第一方面中任一可选实施方式中所述的方法。

第六方面:本申请提供了一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行第一方面、第一方面的任一可选的实现方式中的所述方法。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请第一实施例提供的电机控制方法第一流程示意图;

图2为本申请第一实施例提供的电机控制方法第二流程示意图;

图3为本申请第一实施例提供的电机控制方法第三流程示意图;

图4为本申请第一实施例提供的电机控制方法第四流程示意图;

图5为本申请第二实施例提供的电机控制装置结构示意图;

图6为本申请第三实施例提供的机器人结构示意图;

图7为本申请第四实施例提供的电子设备结构示意图。

图标:10-机器人本体;20-电机;30-处理器;200-获取模块;202-判断模块;204-修正模块;206-控制模块;208-执行模块;210-调整模块;4-电子设备;401-处理器;402-存储器;403-通信总线。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

第一实施例

如图1所示,本申请提供一种电机控制方法,该方法具体包括如下步骤:

步骤s100:获取电机的当前给定速度。

步骤s102:判断电机的当前给定速度是否等于预设的停止值,若是,则转到步骤s104;若否,则转到步骤s1074。

步骤s104:获取电机的当前工作速度。

步骤s106:判断电机的当前工作速度是否等于该预设的停止值,若是,则转到步骤s108;

步骤s108:将电机的比例积分控制的积分输出修正为该预设的停止值,获得修正后的比例积分输出量,该比例积分输出量为比例输出和修正后的积分输出之和。

步骤s110:根据修正后的比例积分输出量对电机进行控制,以使电机停止。

上述步骤所实现的电机控制方法可应用于控制电机的处理器或控制器或服务器中,该电机控制方法可控制所有采用经典pi反馈控制的电机,其中,电机可以为无刷直流电机或永磁同步电机。

在步骤s100中的获取电机的当前给定速度,其中,该当前给定速度是指电机当前速度前提下,一段时间后需要达到的目标速度;以处理器为上述步骤的执行主体为例,该当前给定速度可以通过用户根据电机速度需求在外部设备进行设置,进而通过外部控制设备向处理器发送后,进而处理器获得电机的当前给定速度。

在处理器获得电机的当前给定速度之后,处理器执行步骤s102判断电机的当前给定速度是否等于预设的停止值。其中,步骤s102中的预设的停止值可提前配置存储在处理器内部,该预设的停止值可为0也可以为其他数值,后续都以预设的停止值为0来举例说明。若处理器判断电机的当前给定速度等于预设的停止值,那么则执行步骤s104获取电机的当前工作速度。

在步骤s104中,电机的当前工作速度是指电机正在运行时速度,该电机的当前速度可通过设置在电机中的速度传感器来获得,并在速度传感器获得之后发送给处理器,进而处理器获得电机的当前工作速度。由于在前述步骤中已经判断出,给定速度是等于预设的停止值0的,因此,电机此时会处于持续减速过程,在这个过程中,处理器实时监测电机的当前工作速度,进而执行步骤s106判断电机的当前工作速度是否等于该预设的停止值。

对于步骤s106,由于对电机的当前工作速度是实时的监测过程,判断电机的当前工作速度是否等于该预设的停止值是指电机在持续减速到停止时的这个过程中的工作速度是否等于该预设的停止值,可见,只有在电机停止时的这个时刻,电机的工作速度是等于预设的停止值0的,此时则表示电机的当前工作速度等于该预设的停止值0,则执行步骤s108。

在本申请的电机控制中,处理器是基于比例积分输出量来对电机进行控制,进而控制电机的速度的,而比例积分输出量包含了两个部分之和,即比例输出部分和积分输出部分,而现有技术中电机采用的经典pi控制反馈使得电机在停止时不稳,来回摆动的原因是:经典pi反馈控制,比例调节p的输出值取决于输入偏差量的现状,而积分调节的输出则包含了输入偏差量的历史,因此,造成了电机在停止的这个时刻,比例调节的输出p为0,而积分调节的输出i不为预设的停止值0,进而造成比例积分输出量不为0,使得电机在工作速度为0之后,还会来回摆动。下面以pi控制的简单计算公式来对上述过程进行具体解释,假设pi控制的计算公式是:

pi=kp×ek+ki*(ek-ek1)

其中,pi是指比例积分输出量,kp为比例增益常数,ki为积分时间常数,ek为给定速度与工作速度的差值,ek1为上一次的ek值。

由上述公式进行前述的分析,设电机开始减速时的转动方向为正向,当给定速度和工作速度都为预设的停止值0时,比例调节输出值kp×ek为0,而积分调节输出值ki*(ek-ek1)为负,这样会导致电机在减速到工作速度为0时,会产生一个负方向的力,进而带动电机停止后往反方向转动;此时,由于电机往反方向转动,因此,工作速度为负,此时比例调节输出值为正,积分调节输出值也为正,电机受到正向的力,进而往正向摆动,这样反复几次,直到积分调节输出值的绝对值越来越小直到为零,电机才会完全停止。

因此,在上述原因的基础上,本申请设置了步骤s108,在步骤s108中,在判断电机的当前工作速度等于预设的停止值之后,将电机的比例积分控制中的积分输出部分修正为预设的停止0,也就是说在电机从减速到第一次达到工作速度为0时,就将比例积分控制中的积分输出部分修正为0,进而使得比例积分输出量为0,得到修正后的比例积分输出量,进而执行步骤s110中的根据修正后的比例积分输出量对电机进行控制,在步骤s110中比例积分输出量为0,那么电机不会再受到力的作用,电机在第一次达到工作速度为0时就能够及时停止。

在上述设计的电机控制方法中,通过在确定电机给定速度和工作速度同时为预设的停止值(0)之后,将控制电机的比例积分控制中的积分输出部分修正为预设的停止值(0),获得修正后的比例积分输出量,进而根据修正后的比例积分控制量对电机进行控制,使得电机能够在从减速到工作速度为预设的停止值(0)时就能够及时停止,解决了电机在减速到停止时使用经典pi反馈控制会造成电机停止时停止不稳,出现来回摆动的问题,使得在没有增加任何硬件设备的情况下,电机能够实现一次性平稳停止,增强了电机速度控制的稳定性和精确性。

在本实施例的可选实施方式中,预设的停止值可以自行设置,例如,预设的停止值不仅可以设置为速度为0时,也可以设置为速度为1或-1时电机停止,这样,当速度为1或-1时,电机则停止转动,即电机当前给定速度/当前工作速度为1或-1时等于预设的停止值。

在本实施例的可选实施方式中,如图2所示,在步骤s108之前,所述方法还包括:

步骤s1070:在判断当前工作速度等于预设的停止值之后,控制复位状态的计数器增加预设数值。

步骤s1072:判断计数器的累加数值是否等于预设数值,若是,则转到步骤s108;若否,则转到步骤s1074。

步骤s1074:根据修正前的比例积分输出量对电机进行控制。

在步骤s1070中,计数器的复位状态可设置为清空状态,也就是计数器内的计数为0,累加预设数值表示为计数器没进行一次计数需要增加的数值,例如,假设预设数值为1,那么计数器每次增加1,假设预设数值为2,那么计数器每次累加2。步骤s1070表示为在电机当前工作速度等于预设的停止值(0)时或之后,计数器开始从0开始进行计数,假设预设数值为1,那么此时计数器计数变更为1,然后执行步骤s1072,判断计数器的累加数值是否等于预设数值,以前述的举例来说,就表示为计数器的累加数值1是否等于预设的数值1,此时很显然是相等的,那么则执行步骤s108将所述电机的比例积分控制的积分输出修正为所述预设的停止值(0)。而在此之后,由于电机完全停止,基于步骤s106判断出当前工作速度还是为预设的停止值0,此时,如果计数器还处于工作状态,那么计数器还会继续增加预设数值,以前述的举例,那么此时计数器里的累加数值为1+1=2了,进而执行步骤s1072判断计数器的累加数值是否等于预设数值,此时,计数器的累加数值2并不等于预设数值1(也就是说只有当计数器里的计数为1时才会执行步骤s108),因此,计算器的累加数值不等于预设数值,执行步骤s1074根据修正前的比例积分输出量对电机进行控制,也就是说恢复了修正之前的比例积分输出量。

在上述实施方式中,计数器的配置可以提前配置,例如,为了避免计数器进行不断的累加,可将计数器的最大计数值设置为预设数值加1,在这样的设置下,即使电机长时间不动计数器也不会进行不断的累加。另外,还可以在执行步骤s108进行比例输出修正之后,将计数器的电源切断,再电机进行下一次的减速到停止的这个过程时,再将计数器的电源接通,以此来防止计数器进行不断的累加。

在本实施例的可选实施方式中,前述的计数器进行复位的方式可有多种:第一,在下次给定速度/工作速度不为0时(也就是电机从停止又启动时),计数器进行复位。第二,在电机下一次的减速到停止的这个过程时,对计数器进行复位。第三,利用非保持型计数器,如前述所说执行步骤s108进行比例输出修正之后,将计数器的电源切断,再电机进行下一次的减速到停止的这个过程时,再将计数器的电源接通,此时由于非保持型计数器的特性,断电之后计数器清零,也可以达到复位的效果。

下面以前述所说的第一种方式为例,如图4所示,具体步骤如下:

在步骤s110根据修正后的比例积分输出量对电机进行控制之后,该方法还包括:

步骤s112:判断是否获取到所述电机的启动给定速度,该启动给定速度不等于预设的停止值,若是,则转到步骤s114。

步骤s114:将计数器调整为复位状态。

在步骤s112中,电机的启动给定速度表示的是在步骤s110使得电机完全停止之后,用户通过外部设备发送给处理器的给定速度,该给定速度需要使得电机从停止状态重新运动,因此,该启动给定速度是不等于预设的停止值的,以电机停止前的转动方向为正向为例,当预设的停止值为0时,启动给定速度可以为大于0的正值,也可以为小于0的负值,当为大于的正值时表示该电机在得到启动给定速度之后,转动方向与停止前的转动方向一致,当为小于0的负值时表示该电机在得到启动给定速度之后,转动方向与停止前的转动方向相反。

在步骤s112判断获取到电机的启动给定速度之后,则将该计数器调整为复位状态,也就是对计数器中的计数进行清零。

在本实施例的可选实施方式中,在步骤s102判断电机的当前给定速度是否等于预设的停止值之后,该方法还包括:

若电机的当前给定速度不等于预设的停止值,那么则转到前述的步骤s1074:根据修正前的比例积分输出量对电机进行控制。

在上述设计的实施方式中,电机的当前给定速度不等于预设的停止值,那么则说明该电机不会进行停止,因此,则根据修正前的比例积分输出量对电机进行控制,也就是通过传统的经典pi反馈控制对电机进行控制。

在本实施例的可选实施方式中,如图3和图4所示,在步骤s106判断电机的当前工作速度是否等于该预设的停止值之后,该方法还包括:

若电机的当前工作速度不等于预设的停止值,那么则转到前述的步骤s1074:根据修正前的比例积分输出量对电机进行控制。

在上述设计的实施方式中,在电机的给定速度为预设的停止值(0),而当前工作速度不等于预设的停止值(0)时,表示该电机正在处于减速阶段,在减速阶段按照传统的经典pi反馈控制对其进行控制。

第二实施例

图5出示了本申请提供的电机控制装置的示意性结构框图,应理解,该装置与上述图1至图4中的方法实施例对应,能够执行第一实施例中的方法涉及的步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置的操作系统(operatingsystem,os)中的软件功能模块。具体地,该装置包括:获取模块200,用于获取电机的当前给定速度;判断模块202,用于判断当前给定速度是否等于预设的停止值;获取模块200,还用于在判断模块判断当前给定速度等于预设的停止值之后,获取电机的当前工作速度;判断模块202,还用于判断当前工作速度是否等于预设的停止值;修正模块204,用于将电机的比例积分控制的积分输出修正为预设的停止值,获得修正后的比例积分输出量,修正后的比例积分输出量为比例输出和修正后的积分输出之和;控制模块206,用于根据修正后的比例积分输出量对电机进行控制。

在上述设计的电机控制装置中,通过在确定电机给定速度和工作速度同时为预设的停止值之后,将控制电机的比例积分控制中的积分输出部分修正为预设的停止值,获得修正后的比例积分输出量,进而根据修正后的比例积分控制量对电机进行控制,使得电机能够在从减速到工作速度为预设的停止值时就能够及时停止,解决了电机在减速到停止时使用经典pi反馈控制会造成电机停止时停止不稳,出现来回摆动的问题,使得在没有增加任何硬件设备的情况下,电机能够实现一次性平稳停止,增强了电机速度控制的稳定性和精确性。

在本实施例的可选实施方式中,预设的停止值为零,修正模块204,具体用于将电机的比例积分控制的积分输出修正为零。

在本实施例的可选实施方式中,装置还包括控制模块206,用于在判断模块202判断当前工作速度等于预设的停止值之后,控制复位状态的计数器增加预设数值;判断模块202,还用于判断计数器的累加数值是否等于预设数值;执行模块208,用于在判断模块202判断计数器的累加数值等于预设数值之后,执行将电机的比例积分控制的积分输出修正为预设的停止值的步骤;控制模块206,还用于在判断模块202判断计数器的累加数值不等于预设数值之后,根据修正前的比例积分输出量对电机进行控制。

在本实施例的可选实施方式中,判断模块202,还用于在根据修正后的比例积分输出量对电机进行控制之后,判断是否获取到电机的启动给定速度,启动给定速度不等于预设的停止值;调整模块210,用于在判断模块202判断获取到电机的启动给定速度之后,将计数器调整为复位状态。

在本实施例的可选实施方式中,控制模块206,还用于在判断模块202判断当前工作速度不等于预设的停止值之后,根据修正前的比例积分输出量对电机进行控制。

在本实施例的可选实施方式中,控制模块206,还用于在判断模块202判断当前给定速度不等于预设的停止值之后,根据修正前的比例积分输出量对电机进行控制。

第三实施例

如图6所示,本申请提供一种机器人,该机器人包括机器人本体10、电机20以及处理器30,该处理器30与电机20电连接,该电机20用于驱动该机器人本体10进行运动,该机器人本体通过所述电机进行移动减速停止时,该处理器执行如第一实施例中任一种可选实施方式中的电机控制方法来控制该电机,进而使得机器人本体在停止时停止平稳。

在上述设计的机器人中,通过处理器执行第一实施例中的电机控制方法,解决了机器人停止时使用经典pi反馈控制会造成机器人停止时来回抖动的问题,使得机器人可以在停止时一次性平稳停车。

第四实施例

如图7所示,本申请提供一种电子设备4,包括:处理器401和存储器402,处理器401和存储器402通过通信总线403和/或其他形式的连接机构(未标出)互连并相互通讯,存储器402存储有处理器401可执行的计算机程序,当计算设备运行时,处理器401执行该计算机程序,以执行时执行第一实施例、第一实施例的任一可选的实现方式中的方法,例如,第一实施例中的步骤s100~步骤s110:获取电机的当前给定速度,判断所述当前给定速度是否等于预设的停止值;若是,则获取电机的当前工作速度;判断所述当前工作速度是否等于所述预设的停止值;若是,则将所述电机的比例积分控制的积分输出修正为所述预设的停止值,获得修正后的比例积分输出量,所述修正后的比例积分输出量为比例输出和修正后的积分输出之和;根据修正后的比例积分输出量对所述电机进行控制,以使所述电机停止。

本申请提供一种非暂态存储介质,该非暂态存储介质上存储有计算机程序,该计算机程序被处理器运行时执行第一实施例、第一实施例的任一可选的实现方式中的方法。

其中,存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammablereadonlymemory,简称eprom),可编程只读存储器(programmablered-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。

本申请提供一种计算机程序产品,该计算机程序产品在计算机上运行时,使得计算机执行第一实施例、第一实施例的任一可选的实现方式中的所述方法。

在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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