电机控制方法、装置、计算机设备和存储介质与流程

文档序号:30583569发布日期:2022-06-29 13:55阅读:101来源:国知局
电机控制方法、装置、计算机设备和存储介质与流程

1.本技术涉及电机运动技术领域,特别是涉及一种电机控制的方法、装置、计算机设备、存储介质和计算机程序产品。


背景技术:

2.随着工业化的发展,机器的使用在不同行业的应用越来越重要,而机器的运转离不开电机为机器运动提供动力,可以根据电机的运动轨迹来控制机器的运转。比如,通过改变给定的脉冲数量来控制步进电机转过的角度。现有的控制电机运动方法有梯型曲线算法和s型曲线算法,但是现有的梯形曲线在加速和减速过程中,速度呈线性上升和下降规律,不完全符合电机的速度变化规律,出现过冲而损坏电机。s型曲线算法对电机运动过程的分段较多,计算机程序实现复杂,计算电机的路程耗时过长,消耗算力资源较多,并且造成电机控制效率低的问题。


技术实现要素:

3.基于此,有必要针对上述技术问题,提供一种能节省算力资源、提高电机控制效率的电机控制方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
4.第一方面,本技术提供了一种电机控制方法。所述方法包括:
5.获取电机的总运动路程和各个运动状态区间标识对应的区间速度参数信息;
6.基于运动路程、速度参数信息和运动参数信息的预设关联关系使用总运动路程和区间速度参数信息进行运动参数信息计算,得到各个运动状态区间标识对应的运动参数信息;
7.基于各个运动状态区间标识对应的运动参数信息分别建立区间运动路程和时间的目标关联关系,并获取运动参数信息中各个运动状态区间标识对应的各个运动时间点;
8.基于目标关联关系使用各个运动时间点进行运动路程计算,得到各个运动状态区间标识对应的各个运动时间点的目标运动路程;
9.基于各个运动状态区间标识对应的各个运动时间点的目标运动路程对电机进行控制,以使电机按照各个运动状态区间标识对应的各个运动时间点的目标运动路程进行运动并达到总路程。
10.第二方面,本技术还提供了一种电机控制装置。所述装置包括:
11.获取模块,用于获取电机的总运动路程和各个运动状态区间标识对应的区间速度参数信息。
12.参数计算模块,用于基于运动路程、速度参数信息和运动参数信息的预设关联关系使用总运动路程和区间速度参数信息进行运动参数信息计算,得到各个运动状态区间标识对应的运动参数信息。
13.关联关系模块,用于基于各个运动状态区间标识对应的运动参数信息分别建立区间运动路程和时间的目标关联关系,并获取运动参数信息中各个运动状态区间标识对应的
各个运动时间点。
14.路程计算模块,用于基于目标关联关系使用各个运动时间点进行运动路程计算,得到各个运动状态区间标识对应的各个运动时间点的目标运动路程。
15.控制模块,用于基于各个运动状态区间标识对应的各个运动时间点的目标运动路程对电机进行控制,以使电机按照各个运动状态区间标识对应的各个运动时间点的目标运动路程进行运动并达到总路程。
16.第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
17.获取电机的总运动路程和各个运动状态区间标识对应的区间速度参数信息;基于运动路程、速度参数信息和运动参数信息的预设关联关系使用总运动路程和区间速度参数信息进行运动参数信息计算,得到各个运动状态区间标识对应的运动参数信息;
18.基于各个运动状态区间标识对应的运动参数信息分别建立区间运动路程和时间的目标关联关系,并获取运动参数信息中各个运动状态区间标识对应的各个运动时间点;
19.基于目标关联关系使用各个运动时间点进行运动路程计算,得到各个运动状态区间标识对应的各个运动时间点的目标运动路程;
20.基于各个运动状态区间标识对应的各个运动时间点的目标运动路程对电机进行控制,以使电机按照各个运动状态区间标识对应的各个运动时间点的目标运动路程进行运动并达到总路程。
21.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
22.获取电机的总运动路程和各个运动状态区间标识对应的区间速度参数信息;基于运动路程、速度参数信息和运动参数信息的预设关联关系使用总运动路程和区间速度参数信息进行运动参数信息计算,得到各个运动状态区间标识对应的运动参数信息;
23.基于各个运动状态区间标识对应的运动参数信息分别建立区间运动路程和时间的目标关联关系,并获取运动参数信息中各个运动状态区间标识对应的各个运动时间点;
24.基于目标关联关系使用各个运动时间点进行运动路程计算,得到各个运动状态区间标识对应的各个运动时间点的目标运动路程;
25.基于各个运动状态区间标识对应的各个运动时间点的目标运动路程对电机进行控制,以使电机按照各个运动状态区间标识对应的各个运动时间点的目标运动路程进行运动并达到总路程。
26.第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
27.获取电机的总运动路程和各个运动状态区间标识对应的区间速度参数信息;基于运动路程、速度参数信息和运动参数信息的预设关联关系使用总运动路程和区间速度参数信息进行运动参数信息计算,得到各个运动状态区间标识对应的运动参数信息;
28.基于各个运动状态区间标识对应的运动参数信息分别建立区间运动路程和时间的目标关联关系,并获取运动参数信息中各个运动状态区间标识对应的各个运动时间点;
29.基于目标关联关系使用各个运动时间点进行运动路程计算,得到各个运动状态区间标识对应的各个运动时间点的目标运动路程;
30.基于各个运动状态区间标识对应的各个运动时间点的目标运动路程对电机进行控制,以使电机按照各个运动状态区间标识对应的各个运动时间点的目标运动路程进行运动并达到总路程。
31.上述电机控制方法、装置、计算机设备、存储介质和计算机程序产品,通过使用运动路程、速度参数信息和运动参数信息的预设关联关系以及区间运动路程和时间的目标关联关系并且使用总运动路程和区间速度参数信息进行运动参数信息计算和运动路程计算就能得到各个运动状态区间标识对应的各个运动时间点的目标运动路程,以使电机按照各个运动状态区间标识对应的各个运动时间点的目标运动路程进行运动并达到总路程。节省了算力资源,并且能使电机按照计算得到的目标运动路程进行运动,从而提高了电机控制的效率。
附图说明
32.图1为一个实施例中电机控制方法的应用环境图;
33.图2为一个实施例中电机控制方法的流程示意图;
34.图3为一个实施例中计算运动参数信息的流程示意图;
35.图4为一个实施例中计算运动起止时间的流程示意图;
36.图5a为一个实施例中电机运动加速度曲线的示意图;
37.图5b为一个实施例中电机运动速度曲线的示意图;
38.图6为一个实施例中电机运动曲线的示意图;
39.图7为一个具体实施例中计算3次样条插值函数的流程示意图;
40.图8为一个实施例中电机控制装置的结构框图;
41.图9为一个实施例中计算机设备的内部结构图。
具体实施方式
42.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本技术,并不用于限定本技术。
43.本技术实施例提供的电机控制方法,可以应用于如图1所示的应用环境中。其中,终端102与电机进行通信并控制电机。终端102可以接收用户输入的电机的总运动路程和各个运动状态区间标识对应的区间速度参数信息。终端102获取运动路程、速度参数信息和运动参数信息的预设关联关系,终端102基于运动路程、速度参数信息和运动参数信息的预设关联关系使用总运动路程和区间速度参数信息进行运动参数信息计算,得到各个运动状态区间标识对应的运动参数信息;终端102基于各个运动状态区间标识对应的运动参数信息分别建立区间运动路程和时间的目标关联关系,并获取运动参数信息中各个运动状态区间标识对应的各个运动时间点;终端102基于目标关联关系使用各个运动时间点进行运动路程计算,得到各个运动状态区间标识对应的各个运动时间点的目标运动路程;终端102基于各个运动状态区间标识对应的各个运动时间点的目标运动路程对电机进行控制,以使电机按照各个运动状态区间标识对应的各个运动时间点的目标运动路程进行运动并达到总路程。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联
网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。
44.在一个实施例中,如图2所示,提供了一种电机控制方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
45.步骤202,获取电机的总运动路程和各个运动状态区间标识对应的区间速度参数信息。
46.步骤204,基于运动路程、速度参数信息和运动参数信息的预设关联关系使用总运动路程和区间速度参数信息进行运动参数信息计算,得到各个运动状态区间标识对应的运动参数信息。
47.其中,总运动路程是指预先设置好的电机需要运动的路程,总运动路程包括各个运动状态区间标识的运动状态区间对应的路程,并且电机按照一定的运动状态变化规律进行运动直达总运动路程。运动状态区间标识是指各个运动状态区间对应的标识信息。区间速度参数是指各个运动状态区间对应的电机运动状态的速度信息,用于表示电机速度变化的速度参数。关联关系是指不同参数按照物理规律建立的关联关系,关联关系可以是关系表达式。预设关联关系是指预先设置好的用于计算运动参数信息的关联关系,可以是一个或多个。运动参数信息是指电机在运动过程中表示电机运动状态的数据信息,运动参数信息包括电机的运动时间、运动速度、运动路程等参数信息。
48.具体地,终端可以接收用户输入的电机的总运动路程和各个运动状态区间标识对应的区间速度参数信息,终端在获取到电机的总运动路程和各个运动状态区间标识对应的区间速度参数信息后,通过服务器从数据存储系统中获取运动路程、速度参数信息和运动参数信息的预设关联关系。运动路程、速度参数信息和运动参数信息的预设关联关系可以是用户预先存入到服务器的数据库存储系统中,使终端在检测到用户输入的数据时通过服务器能直接调用。运动路程、速度参数信息和运动参数信息的预设关联关系也可以预先存储至本地存储空间,使用时直接从本地存储空间获取。运动路程、速度参数信息和运动参数信息的预设关联关系可以是运动路程、速度参数信息和运动参数信息的关系表达式,终端按照关系表达式对总运动路程和区间速度参数信息进行运动参数信息计算,得到各个运动状态区间标识对应的运动参数信息。
49.步骤206,基于各个运动状态区间标识对应的运动参数信息分别建立区间运动路程和时间的目标关联关系,并获取运动参数信息中各个运动状态区间标识对应的各个运动时间点。
50.其中,区间运动路程是指电机在运动状态区间中的具体运动路程。区间运动路程和时间的目标关联关系是指区间运动路程和时间按照物理规律建立的关联关系,用于计算电机在各个运动状态区间标识对应的区间运动路程,不同的运动状态区间标识对应不同的目标关联关系,可以是区间路程和时间的关系表达式。运动时间点是指电机在各个运动状态区间对应的路程中运动到的当前时间点。
51.具体地,终端将各个运动状态区间标识对应的运动参数信息作为已知参数计算区间路程和时间的关系表达式对应的系数,然后终端通过计算得到的系数建立各个运动状态区间标识对应的区间路程和时间的关系表达式。终端可以将区间路程和时间的关系表达式与对应的运动状态区间标识进行关联。然后终端可以将各个运动状态区间标识对应的区间
路程和时间的关系表达式存储至本地,在后续的计算中可以根据运动状态区间标识直接调用。然后终端可以获取运动参数信息中各个运动状态区间标识对应的运动时间并确定各个运动状态区间标识对应的各个运动时间点。
52.步骤208,基于目标关联关系使用各个运动时间点进行运动路程计算,得到各个运动状态区间标识对应的各个运动时间点的目标运动路程。
53.其中,目标运动路程是指电机在某个时间点应该运动到的目标位置。
54.具体地,终端可以根据运动状态区间标识获取对应的区间路程和时间的目标关联关系,并根据各个运动状态区间标识对应的各个运动时间点使用区间路程和时间的目标关联关系进行运动路程计算,得到各个运动状态区间标识对应的运动时间段中各个时间点对应的目标运动路程。
55.步骤210,基于各个运动状态区间标识对应的各个运动时间点的目标运动路程对电机进行控制,以使电机按照各个运动状态区间标识对应的各个运动时间点的目标运动路程进行运动并达到总路程。
56.具体地,终端根据各个运动状态区间标识对应的各个运动时间点的目标运动路程向电机发送目标运动路程命令,使电机在每个时间点运动到对应的目标运动路程,直至运动到总路程。
57.上述电机控制方法中,通过使用运动路程、速度参数信息和运动参数信息的预设关联关系以及区间运动路程和时间的目标关联关系。并且使用总运动路程和区间速度参数信息进行运动参数信息计算和运动路程计算就能得到各个运动状态区间标识对应的各个运动时间点的目标运动路程,以使电机按照各个运动状态区间标识对应的各个运动时间点的目标运动路程进行运动并达到总路程。节省了算力资源,并且能使电机按照计算得到的目标运动路程进行运动并达到总运动路程,从而提高了电机控制的效率和用户体验。
58.在一个实施例中,如图3所示,提供一种计算运动参数信息的流程示意图;速度参数信息包括运动加加速度;运动参数信息包括运动起止时间、运动起止路程和运动起止速度;步骤204,基于运动路程、速度参数信息和运动参数信息的预设关联关系使用总运动路程和区间速度参数信息进行运动参数信息计算,得到各个运动状态区间标识对应的运动参数信息,包括:
59.步骤302,使用总运动路程、运动加加速度与时间的预设第一关联关系分别进行各个运动状态区间标识对应的运动时间计算,得到各个运动状态区间标识对应的运动起止时间。
60.其中,预设第一关联关系是指预先计算好的使用总运动路程、运动加加速度计算各个运动状态区间对应的运动时间的关系表达式。预设第一关联关系包括各个运动状态区间对应的运动时间计算式。运动起止时间是指电机在各个运动状态区间内运动的开始时间和结束时间。运动加加速度用于表示电机加速度的变化率,并且各个运动状态区间对应的运动加加速度始终大于零。
61.具体地,终端可以通过服务器从数据库存储系统中获取第一预设关联关系,终端也可以在本地获取第一预设关联关系。终端根据运动状态区间标识从第一预设关联关系中确定对应的运动时间计算式,然后终端使用总路程数据和运动加加速度按照运动时间计算式的计算规则进行计算,得到各个运动状态区间标识对应的运动时间。各个运动状态区间
标识对应的运动时间是连续的,即当前运动状态区间标识对应的结束时间是下一个运动状态区间标识对应的开始时间。各个运动状态区间标识对应的运动时间中的运动结束时间可以是从第0秒开始计算的时间段,比如,第一个运动状态标识对应的结束时间t1=2s,则第一个运动状态标识对应的开始时间是0s,运动时间是2s;第二个运动状态标识对应的结束时间t2=5秒,则第二个运动状态标识对应的开始时间是2s,运动时间是3s。
62.在一个具体实施例中,总运动路程包括四个运动状态标识对应的运动状态区间,总运动路程、运动加加速度与时间的预设第一关联关系包括四个运动状态区间对应的运动时间计算式;第一个运动状态区间对应的运动时间计算式如公式(1)所示:
[0063][0064][0065]
其中,t1表示第一个运动状态区间对应的结束时间;s表示总运动路程,j1表示第一个运动状态区间对应的运动加加速度,j2表示第二个运动状态区间对应的运动加加速度,j3表示第三个运动状态区间对应的运动加加速度,j4表示第四个运动状态区间对应的运动加加速度。
[0066]
终端可以直接使用各个运动状态区间对应的运动加加速度和总运动路程根据公式(1)进行计算,得到第一个运动状态区间对应的结束时间是t1,并且第一个运动状态区间对应的开始时间是0,运动时间是t1-0。
[0067]
第二个运动状态区间对应的运动时间计算式如公式(2)所示:
[0068][0069]
t2表示第二个运动状态区间对应的结束时间。终端可以在计算得到第一个运动状态区间对应的结束时间t1后,使用t1、j1和j2根据公式(2)进行计算,得到第二个运动状态区间对应的结束时间t2,并且第二个运动状态区间对应的开始时间是t1,运动时间是t2-t1。
[0070]
第三个运动状态区间对应的运动时间计算式如公式(3)所示:
[0071][0072]
t3表示第三个运动状态区间对应的结束时间。终端可以使用t1、j1、j2、j3和j4根据公式(3)进行计算,得到第三个运动状态区间对应的结束时间t3,并且第三个运动状态区间对应的开始时间是t2,运动时间是t3-t2。
[0073]
第四个运动状态区间对应的运动时间计算式还可以如公式(4)所示:
[0074]
[0075]
t4表示第四个运动状态区间对应的结束时间。终端可以使用t1、j1、j2、j3和j4根据公式(4)进行计算,得到第四个运动状态区间对应的结束时间t4,并且第四个运动状态区间对应的开始时间是t3,运动时间是t4-t3。
[0076]
第三个运动状态区间对应的运动时间计算式也可以如公式(5)所示:
[0077][0078]
终端也可以在计算得到第四个运动状态区间对应的结束时间t4后,使用t4、j3和j4根据公式(5)进行计算,得到第三个运动状态区间对应的结束时间t3。
[0079]
步骤304,使用运动加加速度、运动起止时间与区间运动路程的预设第二关联关系分别进行各个运动状态区间标识对应的区间运动路程计算,得到各个运动状态区间标识对应的运动起止路程。
[0080]
其中,区间运动路程是指电机在各个运动状态区间内的运动路程。预设第一关联关系是指预先计算好的使用运动加加速度、运动起止时间计算各个运动状态区间对应的运动路程的关系表达式。预设第二关联关系包括各个运动状态区间对应的运动路程计算式。运动起止路程是指电机在各个运动状态区间内运动的开始时间对应的开始路程和结束时间对应的结束路程。
[0081]
具体地,终端在计算得到各个运动状态标识对应的运动时间后,终端可以通过服务器从数据库存储系统中获取第二预设关联关系,终端也可以在本地获取第二预设关联关系。终端根据运动状态区间标识从第二预设关联关系中确定对应的运动路程计算式,然后终端使用各个运动状态标识对应的运动起止时间和运动加加速度按照运动路程计算式的计算规则分别进行计算,得到各个运动状态区间标识对应的运动起止时间对应的运动起止路程。各个运动状态区间标识对应的区间运动路程中的结束路程可以是从距离0开始计算的路程。并且当前运动状态区间标识对应的结束路程是下一个运动状态区间标识对应的开始路程。
[0082]
在一个具体实施例中,总运动路程包括四个运动状态区间标识对应的运动状态区间,运动加加速度、运动起止时间与区间运动路程的预设第二关联关系包括各个运动状态区间标识对应的运动加加速度、运动起止时间与区间运动路程的关系表达式;
[0083]
电机在第一个运动状态区间中结束时间t1对应的运动路程计算式如公式(6)所示:
[0084][0085]
终端使用j1和t1根据公式(6)进行计算,得到第一个运动状态区间中结束时间对应的运动路程s(t1),并且第一个运动状态区间中开始时间对应的运动路程是0。
[0086]
电机在第二个运动状态区间中结束时间t2对应的运动路程计算式如公式(7)所示:
[0087][0088]
终端使用j1、j2、t1和t2根据公式(7)进行计算,得到第二个运动状态区间中结束时间对应的运动路程s(t2),并且第二个运动状态区间中开始时间对应的运动路程是s
(t1)。
[0089]
电机在第三个运动状态区间中结束时间t3对应的运动路程计算式如公式(8)所示:
[0090][0091]
终端使用j1、j2、j3、t1、t2和t3根据公式(8)进行计算,得到第三个运动状态区间中结束时间对应的运动路程s(t3),并且第三个运动状态区间中开始时间对应的运动路程是s(t2)。
[0092]
电机在第四个运动状态区间中结束时间t4对应的运动路程计算式如公式(9)所示:
[0093][0094]
终端使用j1、j2、j3、j4、t1、t2、t3和t4根据公式(9)进行计算,得到第四个运动状态区间中结束时间对应的运动路程s(t4),并且第四个运动状态区间中开始时间对应的运动路程是s(t3)。
[0095]
步骤306,使用运动加加速度、运动起止时间与运动速度的预设第三关联关系分别进行各个运动状态区间标识对应的运动速度计算,得到各个运动状态区间标识对应的运动起止速度。
[0096]
其中,预设第三关联关系是指预先计算好的使用运动加加速度、运动起止时间计算各个运动状态区间对应的运动速度的关系表达式。预设第三关联关系包括各个运动状态区间对应的运动速度计算式。运动起止速度是指电机在各个运动状态区间内运动的开始时间对应的开始速度和结束时间对应的结束速度。
[0097]
具体地,终端可以通过服务器从数据库存储系统中获取第二预设关联关系,终端也可以在本地获取第二预设关联关系。终端根据运动状态区间标识从第三预设关联关系中确定对应的运动速度计算式,然后终端使用各个运动状态标识对应的运动起止时间和运动加加速度按照运动速度计算式的计算规则分别进行计算,得到各个运动状态区间标识对应的运动起止时间对应的运动起止速度。
[0098]
在一个具体实施例中,总运动路程包括四个运动状态区间标识对应的运动状态区
间,运动加加速度、运动起止时间与区间运动路程的预设第二关联关系包括各个运动状态区间标识对应的运动加加速度、运动起止时间与区间运动速度的关系表达式;
[0099]
电机在第一个运动状态区间中结束时间t1对应的运动速度计算式如公式(10)所示:
[0100][0101]
终端使用j1和t1根据公式(10)进行计算,得到第一个运动状态区间中结束时间对应的运动速度v(t1),并且第一个运动状态区间中开始时间对应的运动速度是0。
[0102]
电机在第二个运动状态区间中结束时间t2对应的运动速度计算式如公式(11)所示:
[0103][0104]
终端使用j1、j2、t1和t2根据公式(11)进行计算,得到第二个运动状态区间中结束时间对应的运动速度v(t2),并且第二个运动状态区间中开始时间对应的运动速度是v(t1)。
[0105]
电机在第三个运动状态区间中结束时间t3对应的运动速度计算式如公式(12)所示:
[0106][0107]
终端使用j1、j2、j3、t1、t2和t3根据公式(12)进行计算,得到第三个运动状态区间中结束时间对应的运动速度v(t3),并且第三个运动状态区间中开始时间对应的运动速度是v(t2)。
[0108]
电机在第四个运动状态区间中结束时间t4对应的运动速度计算式如公式(13)所示:
[0109][0110]
终端使用j1、j2、j3、j4、t1、t2、t3和t4根据公式(13)进行计算,得到第四个运动状态区间中结束时间对应的运动速度v(t4),并且第四个运动状态区间中开始时间对应的运动速度是v(t3)。
[0111]
本实施例中,终端通过预先计算好的预设第一关联关系、预设第二关联关系和预设第三关联关系,在进行运动参数信息计算时可以直接使用相关的关联关系进行计算,节省了算力资源,并且提高电机控制效率。
[0112]
在一个实施例中,如图4所示,提供一种计算运动起止时间的流程示意图;步骤302,使用总运动路程、运动加加速度与时间的预设第一关联关系分别进行各个运动状态区间标识对应的运动时间计算,得到各个运动状态区间标识对应的运动起止时间,包括:
[0113]
步骤402,获取预设约束参数信息,基于预设约束参数信息获取预设约束参数信息、运动加加速度与时间的约束关联关系;
[0114]
步骤404,根据预设约束参数信息与约束关联关系生成总运动路程、运动加加速度
与时间的预设第一关联关系;
[0115]
步骤406,使用预设第一关联关系分别进行各个运动状态区间标识对应的运动时间计算,得到各个运动状态区间标识对应的运动起止时间。
[0116]
其中,约束参数信息是指电机在运动过程中存在的符合客观的物理规律的已知参数信息,包括加速度参数信息、速度参数信息和路程参数信息等,用于计算运动起止时间。比如,物体运动到预设的距离后停止,物体的速度为零、加速度也为零。约束关联关系是指预设约束参数信息、运动加加速度和时间的关系表达式。
[0117]
具体地,终端获取预设约束参数信息,终端根据预设约束参数信息中的加速度参数信息、速度参数信息和路程参数信息分别获取与运动加加速度和时间的关系表达式,表示通过运动加加速度和时间进行特定计算可以得到对应的约束参数信息。然后终端获取预设约束参数信息中速度参数信息、速度参数信息和路程参数信息对应的已知参数,根据速度参数信息、速度参数信息和路程参数信息对应的已知参数分别将对应的预设约束参数信息、运动加加速度和时间的关系表达式进行逆向运算,得到各个运动状态区间标识对应的运动时间与总运动路程、运动加加速度的关系表达式。通过各个运动状态区间标识对应的运动时间与总运动路程、运动加加速度的关系表达式进行运动时间计算,得到各个运动状态区间标识对应的运动起止时间。
[0118]
本实施例中,通过已知参数和获取的约束关联关系能够得到时间与总运动路程、运动加加速度的关系表达式,再根据运动时间与总运动路程、运动加加速度的关系表达式进行运动时间计算,得到各个运动状态区间标识对应的运动起止时间,节省了计算运动起止时间的算力资源,并且提高了电机控制的效率。
[0119]
在一个实施例中,各个运动状态区间标识包括加加速区间标识、减加速区间标识、加减速区间标识和减减速区间标识;获取预设约束参数信息,包括:
[0120]
获取加减速区间标识与减减速区间标识分别对应的结束时间的预设运动加速度,获取减减速区间标识对应的结束时间的预设运动速度,并获取减减速区间标识对应的结束时间的预设路程;基于预设运动加速度、预设运动速度和预设路程得到预设约束参数信息。
[0121]
其中,加加速区间标识、加减速区间标识、减加速区间标识和减减速区间标识是指电机的运动状态为加加速、减加速、加减速和减减速的运动状态区间的标识信息。加加速、减加速、加减速和减减速是指电机加速度变化的运动状态,电机加速度的变化率由加加速度决定,运动加加速度是加加速度的绝对值。加加速、减加速、加减速和减减速对应的运动加加速度可以由用户自定义设置,数值相同也可以不相同。预设运动加速度、预设运动速度和预设路程是指预先设置好的约束参数信息中的加速度参数信息、速度参数信息和路程参数信息对应的具体的数值。
[0122]
具体地,如图5a所示,提供一种电机运动加速度曲线的示意图;电机运动状态是加加速时电机加速度逐渐增大,直到达到最大加速度。电机运动状态是减加速时电机加速度逐渐减小,直到加速度为零,此时电机速度最大。电机运动状态是加减速时电机加速度的绝对值|a|逐渐增大,直到达到加速度的绝对值最大值。电机运动状态是减减速时电机加速度的绝对值逐渐减小,直到达到加速度的绝对值为零,此时也是电机速度为零。
[0123]
如图5b所示,提供一种电机运动速度曲线的示意图;加加速和减加速的运动状态是电机速度逐渐增大的状态,在减加速的运动状态的结束时间时,电机速度达到最大。加减
速和减减速的运动状态是电机速度逐渐减小的状态,在减减速的运动状态的结束时间时,电机速度减小为零,并且此时电机的运动路程为总路程。由此可知,约束参数信息为:
[0124]
a(t2)=0,t2表示减加速区间标识对应的结束时间,a(t2)表示减加速区间标识对应的结束时间的运动加速度;
[0125]
a(t4)=0,t4表示减减速区间标识对应的结束时间,a(t4)表示减减速区间标识对应的结束时间的运动加速度;
[0126]
v(t4)=0,v(t4)表示减减速区间标识对应的结束时间的运动速度;
[0127]
s(t4)=s,s表示电机的运动总路程,s(t4)表示减减速区间标识对应的结束时间的运动路程。
[0128]
终端获取加减速区间标识与减减速区间标识分别对应的结束时间的预设运动加速度a(t2)=0和a(t4)=0,获取减减速区间标识对应的结束时间的预设运动速度v(t4)=0,并获取减减速区间标识对应的结束时间的预设路程s(t4)=s;然后终端将a(t2)=0、a(t4)=0、v(t4)=0和s(t4)=s作为预设约束参数信息。
[0129]
在一个具体实施例中,减加速区间标识对应的加速度参数信息、运动加加速度和时间的关系表达式如公式(14)所示:
[0130]
a(t2)=j1*t1-j2*t2
ꢀꢀ
公式(14)
[0131]
减减速区间标识对应的加速度参数信息、运动加加速度和时间的关系表达式如公式(15)所示:
[0132]
a(t4)=j1*t1-j2*t2-j3*t3+j4*t4
ꢀꢀ
公式(15)
[0133]
减减速区间标识对应的速度参数信息、运动加加速度和时间的关系表达式如公式(13)所示:
[0134]
减减速区间标识对应的路程参数信息、运动加加速度和时间的关系表达式如公式(9)所示。
[0135]
终端在获取到预设约束参数信息:a(t2)=0、a(t4)=0、v(t4)=0和s(t4)=s后,从本地存储数据库中获取预设约束参数信息与运动加加速度和时间的关系表达式:公式(14)、公式(15)、公式(13)和公式(9),使用预设约束参数信息对预设约束参数信息与运动加加速度和时间的关系表达式进行逆向运算,得到加加速区间标识、加减速区间标识、减加速区间标识和减减速区间标识对应的结束时间t1、t2、t3和t4的运动时间计算式:公式(1)、公式(2)、公式(3)、公式(4)和公式(5)。然后终端可以将计算得到的t1、t2、t3和t4的运动时间计算式存储至本地存储数据库中,终端在计算加加速区间标识、加减速区间标识、减加速区间标识和减减速区间标识对应的结束时间时可以从本地存储数据库中直接使用。
[0136]
本实施例中,通过预设约束参数信息和预设约束参数信息与运动加加速度和时间的关系表达式进行逆向计算,得到各个运动状态区间标识对应的结束时间的表达式,简化了计算步骤,并且在计算各个运动状态区间标识对应的结束时间时可以直接使用,节省了算力资源。
[0137]
在一个实施例中,步骤306,基于各个运动状态区间标识对应的运动参数信息分别建立区间运动路程和时间的目标关联关系,包括:
[0138]
基于各个运动状态区间标识对应的运动起止时间、运动起止路程和运动起止速度分别进行关联系数计算,得到各个运动状态区间标识对应的关联系数;
[0139]
基于关联系数建立各个运动状态区间标识对应的区间运动路程和时间的目标关联关系。
[0140]
其中,关联系数是指区间运动路程和时间的关系表达式中的系数。
[0141]
具体地,区间运动路程和时间的目标关联关系可以是3次样条插值函数,3次样条插值函数表达式如公式(16)所示:
[0142]
f(t)=a*t3+b*t2+c*t+d
ꢀꢀ
公式(16)
[0143]
a、b、c、d是3次样条插值函数的系数;
[0144]
各个运动状态区间标识对应的3次样条插值函数的系数不相同。终端可以获取预先计算好的3次样条插值函数对应的系数计算公式,然后使用各个运动状态区间标识对应的运动起止时间、运动起止路程和运动起止速度按照各个运动状态区间标识对应的系数计算公式分别进行计算,得到各个运动状态区间标识对应的3次样条插值函数的系数。并根据计算得到的系数生成对应的3次样条插值函数。
[0145]
在一个具体实施例中,3次样条插值函数对应的系数计算公式如公式(16)、公式(17)、公式(18)和公式(19)所示:
[0146][0147][0148][0149][0150]
t0、t1、s0、s1、v0、v1分别指各个运动状态区间对应的开始时间、结束时间,开始路程、结束路程、开始速度、结束速度。
[0151]
终端在计算得到各个运动状态区间标识对应的运动起止时间、运动起止路程和运动起止速度后,从本地存储空间中获取3次样条插值函数对应的系数计算公式:公式(16)、公式(17)、公式(18)和公式(19),然后终端使用运动起止时间、运动起止路程和运动起止速度根据系数计算公式分别计算各个运动状态区间标识对应的系数a、b、c、d的具体数值。终端再将计算得到的各个运动状态区间标识对应的系数a、b、c、d的具体数值分别与公式(16)结合,得到各个运动状态区间标识对应的3次样条插值函数。
[0152]
在一个具体实施例中,如图6所示,提供一种电机运动路程曲线的示意图;终端在计算得到各个运动状态区间标识对应的3次样条插值函数后,根据各个运动状态区间标识对应的时间点根据3次样条插值函数计算电机在各个时间点对应的目标运动路程s(t)。
[0153]
本实施例中,通过各个运动状态区间标识对应的运动起止时间、运动起止路程和运动起止速度可以直接使用系数计算公式进行计算,得到各个运动状态区间标识对应的3次样条插值函数的系数,从而得到各个运动状态区间标识对应的3次样条插值函数。从而通
过各个运动状态区间标识对应的3次样条插值函数能得到各个运动状态区间标识对应的各个时间点的目标运动路程,以使电机按照模板运动路程进行运动,节省了计算3次样条插值函数的算力资源,并且提高了电机控制的效率。
[0154]
在一个实施例中,步骤310,基于各个运动状态区间标识对应的各个运动时间点的目标运动路程对电机进行控制,包括:
[0155]
将各个运动时间点对应的目标运动路程发送至电机对应的驱动器,以使驱动器根据目标运动路程计算电流信息,并使用电流信息驱动电机进行运动。
[0156]
具体地,运动时间点可以是运动状态区间对应的运动起止时间内的时间点。目标运动路程可以是电机应转动的角度,也可以是电机应转动的距离,比如,旋转电机转动一圈的距离是131072count(脉冲数)。终端将各个运动时间点对应的目标运动路程发送至电机对应的驱动器,驱动器可以在接收到目标运动路程时根据目标运动路程自动进行电流计算,得到目标运动路程对应的电流值并返回至终端。终端根据目标运动路程对应的电流值驱动电机,使电机按照目标运动距离进行运动。
[0157]
本实施例中,电机按照每个时间点对应的目标运动路程进行运动,使电机能够在总运动路程中平稳的运动,并且提高了电机的运动到目标距离的精度。
[0158]
在一个具体实施例中,如图7所示,提供一种计算3次样条插值函数的流程示意图;
[0159]
终端获取用户输入的运动状态区间标识为加加速区间标识、加减速区间标识、减加速区间标识和减减速区间标识对应的运动加加速度j1、j2、j3、j4和总运动路程s;
[0160]
然后终端获取预设约束参数信息与运动加加速度和时间的关系表达式,通过预设约束参数信息a(t2)=0、a(t4)=0、v(t4)=0和s(t4)=s与预设约束参数信息与运动加加速度和时间的关系表达式:公式(14)、公式(15)、公式(13)和公式(9)进行计算,得到各个运动状态区间标识对应的结束时间t1、t2、t3和t4的运动时间计算式:公式(1)、公式(2)、公式(3)、公式(4)和公式(5),然后终端使用j1、j2、j3、j4和s与t1、t2、t3和t4的运动时间计算式进行计算,得到t1、t2、t3和t4的具体数值,并且通过t1、t2、t3和t4的具体数值得到各个运动状态区间标识对应的运动起止时间。
[0161]
然后终端根据各个运动状态区间标识对应的运动路程计算式:公式(6)、公式(7)、公式(8)和公式(9),以及各个运动状态区间标识对应的运动速度计算式:公式(10)、公式(11)、公式(12)和公式(13),使用j1、j2、j3、j4、t1、t2、t3、t4和s进行计算,得到各个运动状态区间标识对应的运动起止路程和运动起止速度。
[0162]
终端获取3次样条插值函数对应的系数计算公式:公式(16)、公式(17)、公式(18)和公式(19),使用各个运动状态区间标识对应的运动起止时间、运动起止路程和运动起止速度进行计算,得到各个运动状态区间标识对应的系数数值。然后终端将各个运动状态区间标识对应的系数数值与3次样条插值函数表达式公式(16)结合,得到各个运动状态区间标识对应的3次样条插值函数。
[0163]
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这
些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0164]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的电机控制方法的电机控制装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个电机控制装置实施例中的具体限定可以参见上文中对于电机控制方法的限定,在此不再赘述。
[0165]
在一个实施例中,如图8所示,提供了一种电机控制装置800,包括:获取模块802、参数计算模块804、关联关系模块806、路程计算模块808和控制模块810,其中:
[0166]
获取模块,用于获取电机的总运动路程和各个运动状态区间标识对应的区间速度参数信息。
[0167]
参数计算模块,用于基于运动路程、速度参数信息和运动参数信息的预设关联关系使用总运动路程和区间速度参数信息进行运动参数信息计算,得到各个运动状态区间标识对应的运动参数信息。
[0168]
关联关系模块,用于基于各个运动状态区间标识对应的运动参数信息分别建立区间运动路程和时间的目标关联关系,并获取运动参数信息中各个运动状态区间标识对应的各个运动时间点。
[0169]
路程计算模块,用于基于目标关联关系使用各个运动时间点进行运动路程计算,得到各个运动状态区间标识对应的各个运动时间点的目标运动路程。
[0170]
控制模块,用于基于各个运动状态区间标识对应的各个运动时间点的目标运动路程对电机进行控制,以使电机按照各个运动状态区间标识对应的各个运动时间点的目标运动路程进行运动并达到总路程。
[0171]
在一个实施例中,参数计算模块804,包括:
[0172]
运动参数计算单元,用于使用总运动路程、运动加加速度与时间的预设第一关联关系分别进行各个运动状态区间标识对应的运动时间计算,得到各个运动状态区间标识对应的运动起止时间;
[0173]
使用运动加加速度、运动起止时间与区间运动路程的预设第二关联关系分别进行各个运动状态区间标识对应的区间运动路程计算,得到各个运动状态区间标识对应的运动起止路程;
[0174]
使用运动加加速度、运动起止时间与运动速度的预设第三关联关系分别进行各个运动状态区间标识对应的运动速度计算,得到各个运动状态区间标识对应的运动起止速度。
[0175]
在一个实施例中,参数计算模块804,包括:
[0176]
约束参数计算单元,用于获取预设约束参数信息,基于预设约束参数信息获取预设约束参数信息、运动加加速度与时间的约束关联关系;
[0177]
根据预设约束参数信息与约束关联关系生成总运动路程、运动加加速度与时间的预设第一关联关系;
[0178]
使用预设第一关联关系分别进行各个运动状态区间标识对应的运动时间计算,得到各个运动状态区间标识对应的运动起止时间。
[0179]
在一个实施例中,参数计算模块804,包括:
[0180]
约束参数获取单元,用于获取减加速区间标识与减减速区间标识分别对应的结束时间的预设运动加速度,获取减减速区间标识对应的结束时间的预设运动速度,并获取减减速区间标识对应的结束时间的预设路程;
[0181]
基于预设运动加速度、预设运动速度和预设路程得到预设约束参数信息。
[0182]
在一个实施例中,关联关系模块806,包括:
[0183]
关联系数计算单元,用于基于各个运动状态区间标识对应的运动起止时间、运动起止路程和运动起止速度分别进行关联系数计算,得到各个运动状态区间标识对应的关联系数;
[0184]
基于关联系数建立各个运动状态区间标识对应的区间运动路程和时间的目标关联关系。
[0185]
在一个实施例中,控制模块810,包括:
[0186]
驱动器单元,用于将各个运动时间点对应的目标运动路程发送至电机对应的驱动器,以使驱动器根据目标运动路程计算电流信息,并使用电流信息驱动电机进行运动。
[0187]
上述电机控制装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0188]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种电机控制方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0189]
本领域技术人员可以理解,图9中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0190]
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0191]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0192]
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0193]
需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人
信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
[0194]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0195]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0196]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1