一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于AI的智能伺服电机驱动器及控制方法与流程

2022-09-04 02:59:09 来源:中国专利 TAG:

一种基于ai的智能伺服电机驱动器及控制方法
技术领域
1.本发明涉及伺服电机驱动技术领域,特别涉及一种基于ai的智能伺服电机驱动器及控制方法。


背景技术:

2.伺服驱动器是一种重要的基本工业产品,广泛的应用于各类工业电机控制之中。伺服驱动器主要由驱动电路等硬件和控制算法两部分构成。传统的驱动器在硬件上主要由arm芯片、dsp芯片或是x86平台的各类cpu芯片做为主控芯片。传统的伺服驱控器采用pid控制算法等传统方法进行各类控制。传控的伺服控制器,在高精度的控制任务中(例如点到点运动中的快速振动抑制,高精度轨跟踪等),会因为各类原因产生控制性能不够的问题。例如,需要已知较为精确的产品的动力学模型。首先需要对被控对象进行精准的动力学模型搭建,该步骤需要多年的实验数据作支撑;其次在生产制造加工装配过程中需要对产品的一致性要求很高,该步骤对加工制造生产的机床控制精度要求很高;真实应用时,还需要对每款具体的产品进行单体的模型辨识,该步骤需要标定人员进行的产品参数标定,造成较高的标定成本。
3.现代人工智能技术的发展日新月异,已经在技术应用领域产生翻天覆地的影响,引领着新一代的技术革命。其中最具有通用解决方案前景的强化学习是其中翘楚,强化学习已经应用在围棋、电子游戏、自动驾驶、生物医药设计、健康预测、机器人控制等领域。目前强化学习在伺服驱控领域的应用很少。由于伺服驱动器的控制要求实性较高,控制精度较高等特有的问题,需要从ai芯片的引入等硬件以及强化学习训练算法、推理算法、评估算法等方面进行一系列改进与适配。
4.因此,设计一种基于ai的智能伺服电机驱动器及控制方法,具有显著的意义。


技术实现要素:

5.本发明的目的在于提一种基于ai的智能伺服电机驱动器及控制方法,以解决上述描述的诸多问题之一。
6.鉴于此,本发明的方案如下:
7.一种基于ai的智能伺服电机驱动器,包括通信连接并进行数据交互的主控芯片和ai芯片,以及用于主控芯片存取数据的寄存器;主控芯片与外部电机通信连接用于控制和数据交互,主控芯片用于对外部电机不同时刻的位置、速度、电流进行预处理;ai芯片用于获取主控芯片的数据并进行推理处理;所述驱动器与外部控制器通信连接,控制器为ethercat主站,驱动器为从站。
8.进一步地,所述驱动器与外部控制器通信内容包括:电机的实际位置、实际速度、实际电流、工作模式、目标位置、目标速度、目标电流和控制参数。
9.进一步地,所述驱动器包含lan9252芯片,分别与控制器和主控芯片通信连接并进行数据交互。
10.进一步地,所述ai芯片基于float32的训练模型,包含单步推理误差error
t
及传播误差error
t 1
,计算方法为:
11.action
t-f
=f(wf,bf,s
t
);
12.error
t
=f(w
32
,b
32
,s
t
)-f(w
16
,b
16
,s
t
);
13.s
t 1
=f(s
t
,action
t-32
error
t
);
14.error
t 1
=f(w
32
,b
32

st 1
)-f(w
16
,b
16
,s
t 1
);
15.其中,f为网络模型,f为电机系统的状态转移函数,w和b为32位或是16位的网络参数,error
t
为第t步的推理误差,s
t
为第t步的系状态。
16.作为本发明的优选,所述ai芯片算子为int8和float16。
17.本发明提出以上所述智能伺服电机驱动器的控制方法,包括如下步骤:
18.s1.主控芯片对电机不同时刻的位置、速度及电流信息进行预处理;
19.s2.ai芯片对预处理结果进行推理并将结果返回主控芯片;
20.s3.主控芯片将返回的结果进行量纲化处理后作为控制器的控制指令。
21.进一步地,所述步骤s2中推理过程采用非线性插值进行升频处理:基于ai算法训练的控制频率对所得模型进行同频推理,同时用三点差分法计算每个点的梯度,每两个推理点之间,通过三次非线性函数来进行插值。
22.作为本发明的优选,所述非线性插值由前一时刻的推理结果y(0)和下一时间的推理结果y(3),插值求解中间两个时刻的结果y(1)和y(2),进而得到升频后的控制频率,算法如下:
23.y(t)=a bt ct2 dx3;
24.y(0)=a;
25.y

(0)=b;
26.y(3)=a 3b 9c+27d;
27.y

(3)=b 6c 27d;
28.其中,y(t)为所要求的三次函数,t为时间步,a,b,c,d为所要求的系数。y(0)为4k采样的第一个插值点,y(3)为第二个值插点,y’(0)为第一个点的梯度,y’(3)为第二个插值点的梯度。
29.相对于现有技术,本发明的有益效果为:
30.1.本发明所述智能伺服驱动器通过引入ai算法,可有效提高控制精度,使驱动器在振动抑制、轨迹跟踪、能量消耗等驱动器关键指标上带来性能的提升;可推进在传统电机伺服驱动器的硬件方案上集成ai计算能力的应用。
31.2.本发明相比于传统的ai计算服务器与驱动器的通信增加一路ethercat通信,可以直接进行芯片通信,提高了通信速度,同时降低了ai芯片与驱动器芯片的通信成本。
32.3.本发明所述智能伺服驱动器通过dma方式,无经过主控芯片的计算处理,即可完成与ai芯片的数据交换,有效的降低了通信的延时,有利于ai算法的部署;此外,通过非线性插值的升频操作,可以有效的降低对ai芯片的推理性能的要求,降低整体方案的功耗。
附图说明
33.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附
图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
34.图1为本发明智能伺服电机驱动器硬件示意图。
35.图2为本发明智能伺服电机驱动器控制过程示意图。
具体实施方式
36.为了使本发明的目的、技术方案和有益技术效果更加清晰明白,以下结合附图和具体实施方式,对本发明进行进一步详细说明。应当理解的是,本说明书中描述的具体实施方式仅仅是为了解释本发明,并不是为了限定本发明。
37.本发明提出了一种基于ai控制算法的伺服电机驱动器,如图1所示,具体的:
38.1)本方案采用低功耗的arm芯片stm32h750作为主控芯片。该芯片支持多路spi,usrat,usb,i2c等通信方式。在算力和通信上,可以支持电机控制、ai算力的集成和高速实时外部电机通信等功能。
39.2)本方案的ai芯片采用支持混合精度推理的国产rk1808芯片。一般的ai训练会得到float32的训练模型。ai驱动器控制算法的误差除了会有单步推理误差之外,还要考虑其对后续推理产生的传播误差。具体可由如下公式进行计算:
40.action
t-f
=f(wf,bf,s
t
)
ꢀꢀꢀꢀ①

41.error
t
=f(w
32
,b
32
,s
t
)-f(w
16
,b
16
,s
t
)
ꢀꢀꢀꢀꢀꢀꢀ②

42.s
t 1
=f(s
t
,action
t-32
error
t
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ③

43.error
t 1
=f(w
32
,b
32
,s
t 1
)-f(w
16
,b
16
,s
t 1
)
ꢀꢀꢀ④

44.其中,f为网络模型,f为电机系统的状态转移函数,w和b为32位或是16位的网络参数。error
t
为第t步的推理误差,s
t
为第t步的系状态,error
t 1
为传播误差。从上面公式可知第t 1步的误差,是由第t步的误差、状态转移函数f,状态s和单步推理精度所共同决定的。考虑到运动成本和驱动器控制需要较高的推理精度,本方案将此模型进行量化,将其算子转为int8和float16,因此采用支持混合精度护理的ai芯片。stm32h750与rk1808之间采用spi进行数据交换。针对电机的ai控制算法,传输的数据需在给ai芯片之前进行前处理。在获取结果后进行后处理。stm32h750在得到ai芯片推理结果以后,再将此结果用于电机控制算法。具体方法见控制过程方案。
45.3)外部控制器与本方案中的驱动器之间采用ethercat总线通信。控制器为eterhcat主站,驱动器为eterhcat从站。驱动器与控制器之间采用canopen 402通信协议。通信内容包括:电机的实际位置、实际速度、实际电流、工作模式、目标位置、目标速度、目标电流和控制参数等等。控制参数包括:负载的惯量、减速器的刚度、减速器的阻尼、以及电机输出轴的刚度等。
46.4)本驱动器采用lan9252芯片来实现ethercat从站的功能。stm32h750与lan9252之间采用spi高速通信进行数据交互。主站和从站采用dc同步的工作模式,来实现高效的时钟同步,进而可以通过一个主站连续多个从站实现多轴的电机同步控制。
47.4)驱动器通过h桥来输出三项供电来驱动电机,电机的位置由高速度的编码器获取。编码器直接由主控芯片通过外部中断接口读取。h桥的控制采用foc算法,以16k的控制
频率进行电流环控制,以8k的控制频率进行速度环控制,以4k的控制频率进行位置环控制。速度环和位置环均提供电流前馈。
48.本发明还提出所述驱动器控制过程方案,如图2所示。具体包括:
49.1)驱动器的stm32h750采用freertos作业实时操作系统。通过定时器中断来完成实时的电流环、速度环和位置环的固定频率控制。本架构中ai芯片仅需要处理ai计算,而无需考虑前后数据处理,可以采用实时linux系统或是剪裁的linux系统。
50.2)在stm32h750芯片中,进行ai数据的前后处理。前处理:将电机的不同时刻的位置、速度、电流等信组合为一个时间序列信息,并进行信息归一化处理。将归一化之后的时间序列作为输入。所有的前处理输入数据,存在一个固定的寄存器缓冲区队列,直接绑定ethercat数据块。所有的前处理结果数据,也存在一个固定的寄存器中,通过dma方式,直接通过spi总线与ai芯片进行固定频的数据交互。后处理:ai芯片推理所得结果一般为已归一化的结果或是经过其它映射关系变换后的结果。需要在stm32h750芯片上进行后处理得到正常量纲的可用控制数据。处理后的数据也直接绑定ethercat数据块进行直接输出。
51.3)由于ai芯片的推理速度不易达到16k的控制频率,因此进行基于非线性插值的升频处理。具体的:在ai算法训练时以4k的控制频率进行训练,并得到一个模型。进行4k频推理,同时计算用三点差分法计算每个点的梯度。每两个推理点之间,通过优化一个三次非线性函数来进行插值。即由前一时刻的推理结果y(0)和下一时间的推理结果y(3),插值得到中间两个时刻的结果y(1)和y(2),进而得到16k的控制频率。从而达到ai推理的升频操作。算法见下列公式:
52.y(t)=a bt ct2 dx3ꢀꢀꢀ⑤

53.y(0)=a
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ⑥

54.y

(0)=b
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ⑦

55.y(3)=a 3b 9c 27d
ꢀꢀꢀꢀ⑧

56.y

(3)=b 6c 27d
ꢀꢀꢀ⑨

57.其中y(t)为所要求的3次函数,t为时间步,a,b,c,d为所要求的系数。y(0)为4k采样的第一个插值点,y(3)为第二个值插点,y’(0)为第一个点的梯度,y’(3)为第二个插值点的梯度。解上述方程,即可求得a,b,c,d四个插值系数,进而实时求出y(1)和y(2)值,从而实现16k频率的控制。
58.4)上述控制过程的方案中,ai算法可以在多个控制点引入。具体包括电流环、速度环和位置环,可以做为各环控制器的目标值或是前馈值引入控制系统。但是不可以在电机驱动的基础foc算法中引入。
59.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言可容易地实现另外的优点和修改,故在不背离权利要求及等同范围所限定的一般概念的精神和范围的情况下,本发明并不限于特定的细节、代表性的设备和这里示出与描述的图示示例。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献