机器人的关节电机控制方法、装置、设备及存储介质与流程

文档序号:24252413发布日期:2021-03-12 13:31阅读:226来源:国知局
机器人的关节电机控制方法、装置、设备及存储介质与流程

本申请涉及机器人技术领域,特别涉及一种机器人的关节电机控制方法、装置、设备及存储介质。



背景技术:

随着机器人技术的不断发展,用户对多关节机器人的运动性能的要求也越来越高,这就需要让多关节机器人的关节电机进行高效的运转。

在相关技术中,为了保证关节电机的运转,会设置固定的关节电机的力矩上限,防止关节电机在运转的过程中超出物理限制,从而损坏关节电机。比如,在某个固定方向上,确定了关节电机的最大关节转角,那么当关节电机沿这个方向运转时,可以控制关节电机的关节转角小于最大关节转角。

然而,为了避免关节电机在持续高负荷运转下受损,按照上述相关技术中的方案,需要严格的控制关节电机的力矩上限,导致关节电机可用的力矩上限与关节电机本身的最大力矩之间存在较大差距,进而导致关节电机的工作效率较低。



技术实现要素:

本申请实施例提供了一种机器人的关节电机控制方法、装置、设备及存储介质,能够在保护了关节电机的同时,提升关节电机的工作效率,该技术方案如下。

一方面,提供了一种机器人的关节电机控制方法,所述方法包括:

获取机器人的关节电机的温度特征参数,所述温度特征参数包括环境温度和电机外壳温度的至少一种;

基于所述温度特征参数,获取所述关节电机的热损耗功率阈值;所述热损耗功率阈值用于指示所述关节电机当前允许的最大热损耗功率;

以所述热损耗功率阈值为约束,获取所述关节电机的控制参数;

通过所述控制参数控制所述关节电机。

又一方面,提供了一种机器人的关节电机控制装置,所述装置包括:

温度特征参数获取模块,用于获取机器人的关节电机的温度特征参数,所述温度特征参数包括环境温度和电机外壳温度的至少一种;

热损耗功率阈值获取模块,用于基于所述温度特征参数,获取所述关节电机的热损耗功率阈值;所述热损耗功率阈值用于指示所述关节电机当前允许的最大热损耗功率;

控制参数获取模块,用于以所述热损耗功率阈值为约束,获取所述关节电机的控制参数;

电机控制模块,用于通过所述控制参数控制所述关节电机。

在一种可能的实现方式中,所述热损耗功率阈值获取模块,包括:

电磁参数获取子模块,用于获取所述关节电机的电磁参数;

最大热损耗功率获取子模块,用于基于所述电磁参数,获取所述关节电机的最大热损耗功率;

热损耗功率阈值获取子模块,用于基于所述最大热损耗功率和所述温度特征参数,获取所述关节电机的热损耗功率阈值。

在一种可能的实现方式中,所述最大热损耗功率获取子模块,还用于基于所述电磁参数,获取所述关节电机的额定功率;基于所述额定功率,获取所述关节电机的最大热损耗功率。

在一种可能的实现方式中,所述热损耗功率阈值获取子模块,包括:

电机绕组温度获取单元,用于基于所述温度特征参数,获取所述关节电机的电机绕组温度;

最大热损耗功率获取单元,用于基于所述电机绕组温度和所述最大热损耗功率,获取所述关节电机的热损耗功率阈值。

在一种可能的实现方式中,所述电机绕组温度获取单元,包括:

热传导模型获取子单元,用于基于所述温度特征参数,获取所述关节电机的热传导模型;

电机绕组获取温度获取子单元,用于基于所述输入电流和所述热传导模型,获取所述关节电机的电机绕组温度。

在一种可能的实现方式中,所述电机绕组获取温度获取子单元,还用于基于所述关节电机的电流传感器,获取所述关节电机的输入电流;基于所述输入电流和所述热传导模型,获取所述关节电机的电机绕组温度。

在一种可能的实现方式中,所述电机绕组获取温度获取子单元,还用于基于所述输入电流,获取电流输入信号,所述电流输入信号是输入电流的平方;将所述电流输入信号输入到所述热传导模型,获得所述热传导模型输出的温度输出信号;基于所述温度输出信号获取所述电机绕组温度。

在一种可能的实现方式中,所述控制参数获取模块,包括:

工作空间路径获取子模块,用于获取所述关节电机的工作空间路径,所述工作空间路径是所述关节电机控制的机械组件在执行指定任务时,在空间中运动的路径;

控制参数获取子模块,用于基于所述工作空间路径和所述热损耗功率阈值,获取所述关节电机的控制参数。

在一种可能的实现方式中,所述控制参数获取子模块,还用于基于空间路径规划方法,通过所述指定任务获取所述关节电机的工作空间路径,所述空间路径规划方法包括a星算法和势函数法中的至少一种。

在一种可能的实现方式中,所述控制参数获取子模块,包括:

关节痛觉约束获取单元,用于基于所述热损耗功率阈值,获取关节痛觉约束,所述关节痛觉约束用于约束所述关节电机的热损耗不大于所述热损耗功率阈值;

控制参数获取单元,用于基于所述关节痛觉约束和所述工作空间路径,获取所述关节电机的控制参数。

在一种可能的实现方式中,所述控制参数获取单元,还用于基于所述工作空间路径,结合所述关节痛觉约束和动力学约束,获取所述关节电机的控制参数;所述控制参数包括:所述关节电机对应在所述工作空间路径的各个时间点上的力矩、所述关节电机对应的角度与所述各个时间点之间的对应关系、所述关节电机的角速度与所述各个时间点之间的对应关系、以及所述关节电机的角加速度与所述各个时间点之间的对应关系。

在一种可能的实现方式中,所述控制参数获取单元,还用于基于工作空间路径,对关节痛觉约束和动力学约束进行离散化处理后,根据凸优化中的二次规划方法,获取关节电机的控制参数。

再一方面,提供了一种机器人设备,所述机器人计算机设备包含处理器/控制器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器/控制器加载并执行以实现上述的机器人的关节电机控制方法。

又一方面,提供了一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述机器人的关节电机控制方法。

再一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器/控制器从计算机可读存储介质读取该计算机指令,处理器/控制器执行该计算机指令,使得该计算机设备执行上述机器人的关节电机控制方法。

本申请提供的技术方案可以包括以下有益效果:

在控制关节电机的过程中,利用获取到的温度特征参数求得对关节电机的运行进行约束的热损耗功率阈值;再基于热损耗功率阈值,得到了关节电机的控制参数;由于在控制关节电机的运转时,考虑到电机发热对电机运行状态的影响,电机绕组的温度也会受到限制,因此,当电机绕组的当前温度较低时,可以允许较高的力矩,而当电机绕组的温度较高时,可以通过热损耗功率阈值的约束适当降低力矩,不需要对关节电机的力矩上限作太大的限制,从而提高关节电机的工作效率,减少关节电机的性能浪费。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

图1是根据一示例性实施例示出的一种机器人的关节电机控制方法的流程示意图;

图2是根据一示例性实施例示出的一种机器人的关节电机控制方法的流程示意图;

图3是根据一示例性实施例示出的一种热传导模型模板的模型示意图;

图4是根据一示例性实施例示出的一种电机模型的模型示意图;

图5是根据一示例性实施例涉及的a组的多关节机器人的各个关节力矩的仿真示意图;

图6是根据一示例性实施例涉及的b组的多关节机器人的各个关节力矩的仿真示意图;

图7是根据一示例性实施例示出的一种机器人的关节电机控制装置的结构方框图;

图8是根据一示例性实施例示出的一种机器人设备的结构框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

1)人工智能(artificialintelligence,ai)

人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

2)关节机器人(articulatedrobot)

关节机器人,也称关节手臂机器人或关节机械手臂,是当今工业领域中最常见的工业机器人的形态之一,适合用于诸多工业领域的机械自动化作业。

3)约束(constraint)

约束是对物体的运动或位置所起的限制条件。在分析力学中,约束的定义为:强加在系统上,限制其位形变化(位移)的任何事物。

4)梯度下降(gradientdescent)

梯度下降是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以)。在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(gradientdescent)是最常采用的方法之一,另一种常用的方法是最小二乘法。在求解损失函数的最小值时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数和模型参数值。反过来,如果我们需要求解损失函数的最大值,这时就需要用梯度上升法来迭代了。在机器学习中,基于基本的梯度下降法发展了两种梯度下降方法,分别为随机梯度下降法和批量梯度下降法。

5)势函数(potentialfunction)

势函数亦称位函数,是场论中的一种特殊函数。设f是向量场,若存在纯量函数u,使f=gradu,则称u为f的势函数。若存在向量函数g,使f=rotg,则称g是f的向量势函数。有的文献把u称为向量场f的原函数,把-u称为f的势函数,因为f为重力场时其势能恰为-u(这也正是势函数这个名称的来源)。连续向量场存在势函数的充分必要条件是f为保守场。c1类三维向量场的定义域单连通时,存在势函数的充分必要条件是其旋度为0,存在向量势函数的充分必要条件是其散度为0。

请参考图1,其是根据一示例性实施例示出的一种机器人的关节电机控制方法的流程示意图。如图1所示,该机器人的关节电机控制方法的流程可以包括如下步骤:

步骤101,获取机器人的关节电机的温度特征参数,该温度特征参数包括环境温度和电机外壳温度的至少一种。

在一种可能的实现方式中,机器人是关节机器人。

在一种可能的实现方式中,机器人是多关节机器人。

例如,上述机器人是具有多关节的工业机器人或者仿生机器人等等。

例如,以上述机器人是仿生机器人为例,该机器人可以通过6个关节配合,来完成旋转和跳跃等任务。

在一种可能的实现方式中,机器人的每个关节处设置一个或者多个关节电机。

在一种可能的实现方式中,关节电机是一种内转子表贴式电机。

步骤102,基于该温度特征参数,获取该关节电机的热损耗功率阈值;该热损耗功率阈值用于指示该关节电机当前允许的最大热损耗功率。

在一种可能的实现方式中,热损耗功率阈值是一个随时间变化的变量。

在一种可能的实现方式中,热损耗功率阈值是随温度特征参数的变化而变化的。

在一种可能的实现方式中,热损耗功率阈值与温度特征参数之间存在指定的函数关系。

在一种可能的实现方式中,热损耗功率阈值随着温度特征参数的上升而下降,随着温度特征参数的下降而上升。

例如,当环境温度从30摄氏度下降到0摄氏度时,热损耗功率阈值从10焦耳上升至20焦耳。

步骤103,以该热损耗功率阈值为约束,获取该关节电机的控制参数。

在一种可能的实现方式中,控制参数是用来描述关节电机运动的物理量。

在一种可能的实现方式中,控制参数是关节电机的控制器控制所述关节电机运行的参数。

步骤104,通过该控制参数控制该关节电机。

综上所述,在控制关节电机的过程中,利用获取到的温度特征参数求得对关节电机的运行进行约束的热损耗功率阈值;再基于热损耗功率阈值,得到了关节电机的控制参数;由于在控制关节电机的运转时,考虑到电机发热对电机运行状态的影响,电机绕组的温度也会受到限制,因此,当电机绕组的当前温度较低时,可以允许较高的力矩,而当电机绕组的温度较高时,可以通过热损耗功率阈值的约束适当降低力矩,不需要对关节电机的力矩上限作太大的限制,从而提高关节电机的工作效率,减少关节电机的性能浪费。

机器人的关节电机的高效运行是机器人整体实现复杂运动的基本保证,面对复杂任务,关节电机很可能发热过度、温度过高而烧毁,对应于人过度运动而关节磨损甚至永久性瘫痪。按照相关技术中的方案,为了避免关节电机持续高负载运行而影响寿命或烧毁,需要设置本身最大力矩较高的关节电机(例如额定功率较高的关节电机),并将关节电机的可用的力矩上限设置成较低值,这一方面会导致关节电机的性能浪费,另一方面,由于最大力矩较高的关节电机的体积和重量也通常较大,这会影响机器人的整体设计以及整体的性能。

而本申请实施例所示的方案,可以应用于各种通过关节电机控制机械组件执行动作的机器人,以关节电机的电机绕组的温度模拟机器人的关节痛觉,并以关节痛觉为约束(即对应上述热损耗功率阈值的约束),控制机器人的关节电机运行。在上述方案中,不需要预先将关节电机的可用的力矩上限设置成较低值,而是在关节电机本身支持的力矩范围内,通过温度相关的约束来调整关节电机的力矩,使得在关节电机不受温度过高的影响的情况下,充分利用关节电机的性能,降低关节电机所需要的体积和重量,简化机器人的设计难度,提高机器人的整体性能。

请参考图2,其是根据一示例性实施例示出的一种机器人的关节电机控制方法的流程示意图。上述方法可以由机器人中的处理器执行,如图2所示,该机器人的关节电机控制方法的流程可以包括如下步骤:

步骤201,获取机器人的关节电机的温度特征参数,该温度特征参数包括环境温度和电机外壳温度的至少一种。

在一种可能的现实方式中,温度特征参数是预设的固定值。

例如,机器人工作在一个预设好温度的实验室中,预设温度为25摄氏度。

在一种可能的实现方式中,温度特征参数是通过测温装置测量得到的。

在一种示例性的方案中,机器人自身带有测温装置。

例如,机器人自身带有红外测温装置,可以自行对外界环境温度进行测量。

在一种示例性的方案中,温度特征参数是由环境温度或者电机外壳温度进行处理后得到的。

步骤202,获取该关节电机的电磁参数。

在一种可能的实现方式中,关节电机的电磁参数是预先设置好的。

例如,在工作电压下,关节电机的电流被预先设置为5安培,电压是5伏特。

在一种示例性的方案中,通过电磁参数的测量装置来获取关节电机的电磁参数。

例如,通过关节电机对应设置的电压/电流传感器,来测量关节电机的实际电压值。

步骤203,基于该电磁参数,获取该关节电机的最大热损耗功率。

在一种可能的实现方式,先基于关节电机的电磁参数,获取关节电机的额定功率;在基于额定功率,获取该关节电机的最大热损耗功率。

在一种可能的实现方式中,利用电磁参数计算得到关节电机的额定功率。

例如,关节电机的工作电压是5v,工作时内部的电阻为5ω,可以根据功率计算公式:

在上述公式中,u为工作电压,r为电阻,则额定功率为5w。

在一种可能的实现方式中,通过电磁参数,获取对应的关节电机,而关节电机的额定功率是预先就设置好的。

例如,工作电压5v,输入电流是5a,电机的转速为5rad/s,则利用这些参数找到对应的某一类型的关节电机,该关节电机的额定功率在工作电压下被设置为5瓦特。

在一种示例性的方案中,根据电磁参数和额定功率,计算得到关节电机的最大热损耗功率。

例如,最大热损耗功率的计算函数如下所示:

电磁参数是电路中的电阻ra和电阻rh,pm是额定功率,而qlim是最大热损耗功率。

步骤204,基于该最大热损耗功率和该温度特征参数,获取该关节电机的热损耗功率阈值。

其中,该热损耗功率阈值用于指示该关节电机当前允许的最大热损耗功率。

在一种可能的实现方式中,先基于温度特征参数获取关节电机的电机绕组温度;再基于电机绕组温度和最大热损耗功率,获取关节电机的热损耗功率阈值。

在一种示例性的方案中,电机绕组温度与热损耗功率阈值之间呈线性相关函数;将最大热损耗功率和电机绕组温度输入到线性相关函数中,输出热损耗功率阈值。

在一种示例性的方案中,线性相关函数的定义如下:

其中,tm、t0和ta分别表示电机允许最大温度、电机当前温度及环境温度。

在一种示例性的方案中,通过关节电机内部的元器件结构关系处理电磁参数,得到温度权重计算函数;在根据温度权重计算函数以及电机绕组温度,得到最大热损耗功率的温度权重;在基于温度权重,对最大热损耗功率进行修正,得到热损耗功率阈值。

在一种示例性的方案中,通过关节电机内部元器件结构关系处理电磁参数,得到温度权重计算函数;在根据温度权重计算函数以及电机绕组温度,得到最大热损耗功率的温度权重;将温度权重,乘以最大热损耗功率进行修正,得到热损耗功率阈值。

在一种可能的实现方式中,基于温度特征参数,获取关节电机的热传导模型;再基于该热传导模型,获取该关节电机的电机绕组温度。

在一种可能的实现方式中,基于温度特征参数和热传导模型模板,获取关节电机的热传导模型。

在一种示例性的方案中,将温度特征参数输入到热传导模型模板中,获取关节电机的热传导模型。

在一种示例性的方案中,先对温度特征参数进行处理,得到参数信号;再将参数信号输入到热传导模型模板中,得到关节电机的热传导模型。

例如,热传导模型模板中包含a参数;将电阻r1两端温度的差值,除以r1的阻值,作为a参数;再将a参数信号输入到热传导模型模板中,得到关节电机的热传导模型。

在一种可能的实现方式中,基于关节电机的电流传感器,获取关节电机的输入电流;再基于输入电流和热传导模型,获取关节电机的电机绕组温度。

例如,电流传感器就设置在关节电机电源线路上,并且能够直接获取到输入关节电机的电流大小,即通过电流传感器就能直接获得关节电机的输入电流。

在一种可能的实现方式中,基于输入电流,获取电流输入信号,该电流输入信号是输入电流的平方;将电流输入信号输入到热传导模型,获得热传导模型输出的温度输出信号,基于温度输出信号获取电机绕组温度。

例如,输入的电流是2a,则电流输入信号是(2a)2,将电流输入信号输入到热传递模型中,获得模型输出的温度输出信号是24摄氏度,且温度输出信号就是电机的绕组温度。

在一种示例性的方案中,将电流输入信号输入到热传导模型中,获得热传导模型输出的温度输出信号,将该温度输出信号作为关节电机的电机绕组温度。

在一种示例性的方案中,采用热传导模型来获取关节电机的热损耗功率对应的电机绕组温度。请参考图3,其示出了本申请实施例涉及的热传导模型模板的示意图,整个热传导模型模板可以用以下公式来表示:

t1(t)≤tu

pe=ki2r0(1+αt1-αta)i2

其中,t1、t2、ta和tu分别表示电机绕组、外壳、环境温度和绕组温度上限,r1、r2、c1和c2分别表示绕组到外壳的热阻、外壳到环境的热阻、绕组端热容和环境热容。pe表示导致绕组发热的热流,其主要来源于电流对应的力矩做功,ki、r0和α分别表示转矩系数、绕组内阻和电阻温度系数。

通过本申请实施例所示的方案,测量环境温度并利用电机已有的电流传感器测量电机的输入电流,再利用上述公式组成输入信号为i2、输出为电机绕组温度t1的二阶模型,最后估计电机绕组温度。

本申请实施例上述的方案,使用的温度特征参数为环境问题或者电机外壳温度,相比于在关节电机内部设置温度传感器,该方式能够有效降低结构复杂度和维护成本。

步骤205,获取该关节电机的工作空间路径,该工作空间路径是该关节电机控制的机械组件在执行指定任务时,在空间中运动的路径。

在一种示例性的方案中,工作空间轨迹是机器人在执行指定任务时运动的特定路径。

例如,机器人将两块钢板焊接起来;两个钢板之间存在裂缝,裂缝的一端是a端,另一端是b端;而机器人被设置为从a端朝b端焊接,则从a端向b端就是机器人的焊接机械臂对应的工作空间路径。

在一种可能的实现方式中,基于空间规划方法,通过指定任务获取该关节电机的工作空间路径,空间路径规划方法包括a星算法和势函数法中的至少一种。

例如,通过a星算法来规划多关节机器人的工作空间路径时,在已知机器人的起点、终点和障碍物位置的情况下,从起点开始,首先遍历起点周围邻近的点,然后再遍历已经遍历过的点邻近的点,逐步向外扩散,直至找到终点;在执行a星算法的过程中,每个点需要记录达到该点的前一个点的位置(父节点),这样执行之后,一旦到达终点,便可以从终点开始,反过来顺着父节点的顺序找到起点,由此就构成了一条路径。

再例如,通过势函数法来规划多关节机器人的工作空间路径时,已知机器人的起点、终点和障碍物位置的情况时,在工作空间中,利用势函数来构建一个人工势场;势函数可以是引力/斥力势函数。势函数法的工作机制为:让终点对机器人产生吸引力,障碍物对机器人产生排斥力,而任意位置上的势函数(公式)表达为引力势和斥力势之和;根据梯度下降的方法,让机器人从起点开始,不停地沿着梯度的反方向行走,直到梯度为0,便能规划出机器人的工作空间路径。

在一种示例性的方案中,指定任务是机器人当前进行的任务。

例如,机器人正在从b地前往c地,则指定任务就是当前进行的位移任务。

步骤206,基于该工作空间路径和该热损耗功率阈值,获取该关节电机的控制参数。

在一种可能的实现方式中,基于热损耗功率阈值,获取关节痛觉约束,关节痛觉约束用于约束关节电机的热损耗功率不大于该热损耗功率阈值;基于关节痛觉约束和工作空间路径,获取关节电机的控制参数。

在一种可能的实现方式中,根据关节电机内部的元器件结构关系和热损耗功率阈值,获取关节痛觉约束。

在一种示例性的方案中,基于关节电机内部的元器件结构关系得到热功率计算函数;通过热功率计算函数和热损耗功率阈值,获取关节痛觉约束。

例如,通过关节电机内部的元器件结构关系得到热功率的计算函数为:

其中,p为热损耗功率,u为关节电机的电压,r是关节电机的电阻。

而热损耗功率阈值为qlim,则关节痛觉约束可以定义为:

在一种可能的实现方式中,关节痛觉约束用于通过热损耗功率阈值对关节电机的力矩和角速度进行约束。

在一种可能的实现方式中,将关节电机的力矩和角速度,输入到热损耗功率计算函数中,可以直接得到热损耗功率;再根据热损耗功率和热损耗功率阈值,得到关节痛觉约束。

由于热损耗功率阈值约束了热损耗功率,而热损耗功率又由关节电机的力矩和角速度得到;这相当于热损耗功率阈值对关节电机的力矩和角速度进行约束。

在一种可能的实现方式中,基于工作空间路径,结合关节痛觉约束和动力学约束,获取关节电机的控制参数;控制参数包括:关节电机对应在该工作空间路径的各个时间点上的力矩、关节电机对应的角度与该各个时间点之间的对应关系、关节电机的角速度与各个时间点之间的对应关系、以及关节电机的角加速度与各个时间点之间的对应关系。

在一种示例性的方案中,基于工作空间路径,对关节痛觉约束和动力学约束进行离散化处理,再根据凸优化中的二次规划方法,获取关节电机的控制参数。

在一种示例性的方案中,基于工作空间路径,对关节痛觉约束和动力学约束进行离散化处理,再根据凸优化中的二次规划方法以及梯度下降技术,获取关节电机的控制参数。

在一种可能的实现方式中,关节电机的动力学约束是预先设置的。

例如,将关节电机的最大运转角速度设置为5rad/s。

在一种可能的实现方式中,关节电机的工作约束是根据关节电机的运动轨迹来设置的。

例如,关节电机工作在一个较为狭窄的空间里,由于空间的限制,关节电机的最大运转角加速度为5rad/s2

在一种示例性的方案中,关节电机的工作约束是根据电机绕组的温度上限以及关节电机的运动轨迹来确定的。

步骤207,通过该控制参数控制该关节电机。

在一种可能的实现方式中,将控制参数直接作为控制信号发送给关节电机。

在一种可能的实现方式中,将控制参数作为输入信号,并发送给机器人的下级跟踪控制系统,再由下级跟踪控制系统根据输入信号来控制关节电机。

在一种示例性的方案中,将控制参数输入到机器人的下级跟踪控制系统中,输出控制信号;通过该控制信号来控制关节电机,这个控制信号是电流信号。

综上所述,在控制关节电机的过程中,利用获取到的温度特征参数求得对关节电机的运行进行约束的热损耗功率阈值;再基于热损耗功率阈值,得到了关节电机的控制参数;由于在控制关节电机的运转时,考虑到电机发热对电机运行状态的影响,电机绕组的温度也会受到限制,因此,当电机绕组的当前温度较低时,可以允许较高的力矩,而当电机绕组的温度较高时,可以通过热损耗功率阈值的约束适当降低力矩,不需要对关节电机的力矩上限作太大的限制,从而提高关节电机的工作效率,减少关节电机的性能浪费。

请参考图4,其是本申请实施例涉及的关节电机的电机模型示意图。在该示意图中,整个电路的电动势是由电机绕组的电压,反电动势的电压以及电感电压组成,电源电压的定义如下:

其中,v和i是电源电压和电流,且e是反电动势(ke包含了减速比和反电动势常数)。rh表示除绕组ra之外的其他损耗对应的等效电阻,而流经电感的电流i便是图7中标注的ih。

电机输出力矩是τ,τ可以是电磁力矩,可以通过转矩系数和电枢电流相乘得到。忽略较小的电感值l,电机的电枢电流im就是上述电压定义中的i,所以电机输出力矩的定义如下:

其中,ki是转矩系数,im是电枢电流。

利用力矩的定义以及e=keq,得到电机模型中电机绕组部分的电压的定义如下:

则电机模型的发热损耗由对应的绕组焦耳热损耗和对应的其他损耗组成,对应的热损耗功率ph定义如下:

在关节电机长期工作时,关节电机的热损耗功率不会超过预设的最大热损耗功率,并得到以下热损耗功率约束的定义:

其中,qlim是最大热损耗功率,pm是额定功率。

因此,在本方案实施例中,关节电机运行而不烧毁的约束(关节痛觉约束)可以定义为:

在本方案中,由于电机的热损耗功率会受到温度的影响,所以这里的最大热损耗功率不是qlim,而是q。而且在本方案中,上述约束关系可以被转换为凸约束,这也保证了计算结果的最优性。

为了同时兼顾关节电机的最大力矩及关节当前温度,根据电机允许最大温度、电机当前温度及环境温度和最大热损耗功率qlim可以得到本方案的热损耗功率的定义如下:

其中,tm、t0和ta分别表示电机允许最大温度、电机当前温度及环境温度。由于电路的结构、元器件不同,最大热损耗功率的形式也不固定,但上述定义反映了最大热损耗功率随温度变化的规律。即随着温度增加,电机允许的热损耗功率逐渐减小,因此,关节电机的力矩、速度减小,规划机器人目标轨迹的时间增加。

在一种可能的实现方式中,通过pathcoordinate变量s,变换上述关节痛觉约束,得到如下定义:

其中,是指路径s对运行时间t的导数,b(s)为的平方;q′是q′(s),也即关节转角q对路径s的导数;而就是本方案中的关节电机的角速度。

因为关节电机存运动上的物理限制,角速度不会超过最大角速度,也即电机的角速度约束:

通过角速度约束对关节痛觉约束进行缩放得到:

在缩放后的关节痛觉约束下,可以适当拓宽电机力矩的上下限。

示例性的,当温度较低时,电机允许的热损耗功率(最大热损耗功率)增大,则关节电机能够胜任跳跃、紧急加速的大力矩任务。

如果想进一步简化关节痛觉约束,可以通过角速度约束进一步对关节痛觉约束进行简化得到:

根据简化后的关节痛觉约束,对工作空间路径中的关节力矩上下限进行处理,可以得到关节力矩新的上下限约束。

在一种可能的实现方式中,处理前的工作空间路径(s.t)包括以下约束:

τmin≤τ≤τmax

其中,γ、q、τ、m、c和g分别表示关节力矩能量权重、关节转角、角速度、角加速度、关节力矩、质量矩阵、科里奥利效应、离心效应和重力,下标i表示第i个关节。各约束分别是动力学约束、关节角速度约束、关节角加速度约束、额定关节力矩约束。

在本申请实施例所示的方案中,还将关节痛觉约束加入到工作空间路径的约束中,获取电机更新后的工作空间路径的约束条件(s.t)。

在一种可能的实现方式中,将关节痛觉约束加入到工作空间路径的约束中,并对其进行pathcoordinate变量s变换,获取电机更新后的工作空间路径的约束条件(s.t),更新后的(s.t)的定义如下:

1、目标函数如下公式所示:

b′(s)=2a(s)

上述公式中:q、tf、s分别表示关节转角、角速度、角加速度、关节运动的时间、路径;b(s)是a(s)是的导数,是指路径s对运行时间t的二阶导数,是指路径s对运行时间t的一阶导数。基于目标函数,可以获取在不超过关节痛觉约束的关节电机输出的最大力矩。

2、电机力矩计算函数如下公式所示:

τ(t)=m(s(t))a(s)+c(s(t))b(s)+g(q)

上述公式中:τ、m、c、g分别表示关节力矩、质量矩阵、科里奥利效应、离心效应和重力。

3、角速度约束如下公式所示:

上述公式中:(q′(s))2b(s)表示电机的角速度,是关节电机的最大角速度。

4、角加速度约束如下公式所示:

上述公式中:是指电机的角加速度,表示角加速度的上限。

5、关节力矩约束如下公式所示:

τmin≤τ≤τmax

上述公式中:τmax、τmin分别表示力矩τ的上限和下限。

6、关节痛觉约束如下公式所示:

上述公式中:ra是电机绕组的电阻,rh是除绕组ra之外的其他损耗对应的等效电阻,ki是转矩系数,ke包含了减速比和反电动势常数,τ(s)表示关节电机的力矩,表示电机运转的最大角速度,q′是q′(s),也即关节转角q对路径s的导数。

在整个工作空间路径的约束条件(s.t)中,目标函数、不等式约束均可以为凸函数,而等式约束是线性的,因此该问题是凸优化问题,只要采用梯度等方法求得局部最优即可获得全局最优结果。

请参考表1,其示出了本申请实施例涉及的不同温度下多关节机器人的各个关节温度特征参数的参数表。

表1

a组表示六个关节的初始温度均为20摄氏度;b组表示在关节电机运转一段时间后,关节1、2、3的温度为120摄氏度,关节4、5、6的温度为90摄氏度。

请参考图5,其是本申请实施例涉及的a组的多关节机器人的各个关节力矩的仿真示意图。在该示意图中,纵轴表示关节力矩,横轴表示时间。

请参考图6,其是本申请实施例涉及的b组的多关节机器人的各个关节力矩的仿真示意图。在该示意图中,纵轴表示关节力矩,横轴表示时间。

通过图5、6可以看到,随着温度增加,关节电机的关节力矩减小,而电机的运动时间增加。如果希望平滑力矩曲线,则在目标函数中增加加权力矩变化率项即可。

在一种可能的实现方式中,目标函数在工作空间路径已知的情况下,用以下公式来表示:

其中,γ、q、τ、tf分别表示关节力矩能量权重、关节转角、角速度、角加速度、关节力矩、关节运动的时间,下标i表示第i个关节。由于关节电机的工作空间路径,当关节电机运转时,获取关节电机的运动参数q、在确定运动参数的条件下,目标函数用于获取在该工作时间时最小的关节力矩。

在一种可能的实现方式中,目标函数增加加权力矩变化率项后,由于得到以下公式:

其中,ρ是权重系数,τim表示第i个关节允许输出的最大力矩。目标函数是最小化“完成轨迹任务的时间”和“所付出的力矩能量”之间的折衷,参数γ越小,则要求执行时间越小,参数γ越大则要求所付出的能量越小。但为了约束力矩不要过大而损坏电机,现有技术的做法是在约束条件中增加γmin<=γ<=γmax,但这种约束保守性太大,实际上只要电机温度不要过高,其力矩输出可以尽可能地大。

在该公式中权重为:

其中,是力矩对时间的导数。在确定运动参数的条件下,将关节力矩与关节允许输出的最大力矩的比值的绝对值,作为力矩变化率项;再对各个力矩变化率项求和,并乘以权重系数,得到加权权利力矩变化率项。加权权力力矩变化项用于减少整个过程中力矩的跳变,因此,整个力矩的变化会减少小,那么曲线也会变的平滑。

机器人关节电机高效运行是机器人整体实现复杂运动的基本保证,面对复杂任务,关节电机很可能发热过度、温度过高而烧毁,对应于人过度运动而关节磨损甚至永久性瘫痪。本方案从电磁特性出发,建立关节电机热模型,已知工作空间路径,规划机器人目标轨迹的时间曲线。由于限制电机性能的主要因素是电机绕组能承受的温度上限,本方案能充分利用电机力矩输出能力实现跳跃、紧急加速等瞬时大力矩任务,同时当关节过热时自动降低速度和输出力矩,避免关节电机损坏。

相对于其它现有技术而言,本方案的优点在于:

1、本方案的参数可以直接通过电机相关参数计算得到,并且增加了显式的温度约束,目标函数仅约束时间变量;

2、当电机温度较低时,本方案规划得到的结果时间更短,允许电机输出超过额定力矩;当温度过高时,额定力矩约束的规划结果可能导致电机过热绝缘下降寿命减短,而本方案的规划器能够避免这种问题。

本方案可以解决如下问题:

由于现有技术没有考虑到电机发热对电机性能的影响,在其无法充分发挥电机性能的同时,电机的温度也容易超过其预设的温度上限;这类技术方案中,为了保护电机,力矩上下限通常设置额定值,这种约束保守性较大;在多关节机器人面对跳跃等大力矩任务时,多关节机器人需要采用更大体积更大功率的电机,导致多关节机器人整体质量增加、成本增加,灵活程度降低。如果使用温度传感器监测绕组温度,并设定急停阈值,将增加电机结构的复杂度并且不利于任务的持续实施。

事实上约束电机输出的是电机绕组所能承受的温度上限,本申请上述方案提出:从电机电磁特性出发,建立关节电机发热模型,将关节温度视作关节痛觉,并将其纳入规划问题的约束中,从而使得机器人根据关节痛觉设置合适的任务执行过程。

综上所述,在控制关节电机的过程中,利用获取到的温度特征参数求得对关节电机的运行进行约束的热损耗功率阈值;再基于热损耗功率阈值,得到了关节电机的控制参数;由于在控制关节电机的运转时,考虑到电机发热对电机运行状态的影响,电机绕组的温度也会受到限制,因此,当电机绕组的当前温度较低时,可以允许较高的力矩,而当电机绕组的温度较高时,可以通过热损耗功率阈值的约束适当降低力矩,不需要对关节电机的力矩上限作太大的限制,从而提高关节电机的工作效率,减少关节电机的性能浪费。

图7是根据一示例性实施例示出的一种机器人的关节电机控制装置的结构方框图。该机器人的关节电机控制装置可以实现图1或图2所示实施例提供的方法中的全部或部分步骤,该机器人的关节电机控制装置包括:

温度特征参数获取模块701,用于获取机器人的关节电机的温度特征参数,所述温度特征参数包括环境温度和电机外壳温度的至少一种;

热损耗功率阈值获取模块702,用于基于所述温度特征参数,获取所述关节电机的热损耗功率阈值;所述热损耗功率阈值用于指示所述关节电机当前允许的最大热损耗功率;

控制参数获取模块703,用于以所述热损耗功率阈值为约束,获取所述关节电机的控制参数;

电机控制模块704,用于通过所述控制参数控制所述关节电机。

在一种可能的实现方式中,所述热损耗功率阈值获取模块702,包括:

电磁参数获取子模块,用于获取所述关节电机的电磁参数;

最大热损耗功率获取子模块,用于基于所述电磁参数,获取所述关节电机的最大热损耗功率;

热损耗功率阈值获取子模块,用于基于所述最大热损耗功率和所述温度特征参数,获取所述关节电机的热损耗功率阈值。

在一种可能的实现方式中,所述最大热损耗功率获取子模块,还用于基于所述电磁参数,获取所述关节电机的额定功率;基于所述额定功率,获取所述关节电机的最大热损耗功率。

在一种可能的实现方式中,所述热损耗功率阈值获取子模块,包括:

电机绕组温度获取单元,用于基于所述温度特征参数,获取所述关节电机的电机绕组温度;

最大热损耗功率获取单元,用于基于所述电机绕组温度和所述最大热损耗功率,获取所述关节电机的热损耗功率阈值。

在一种可能的实现方式中,所述电机绕组温度获取单元,包括:

热传导模型获取子单元,用于基于所述温度特征参数,获取所述关节电机的热传导模型;

电机绕组获取温度获取子单元,用于基于所述输入电流和所述热传导模型,获取所述关节电机的电机绕组温度。

在一种可能的实现方式中,所述电机绕组获取温度获取子单元,还用于基于所述关节电机的电流传感器,获取所述关节电机的输入电流;基于所述输入电流和所述热传导模型,获取所述关节电机的电机绕组温度。

在一种可能的实现方式中,所述电机绕组获取温度获取子单元,还用于基于所述输入电流,获取电流输入信号,所述电流输入信号是输入电流的平方;将所述电流输入信号输入到所述热传导模型,获得所述热传导模型输出的温度输出信号;基于所述温度输出信号获取所述电机绕组温度。

在一种可能的实现方式中,所述控制参数获取模块703,包括:

工作空间路径获取子模块,用于获取所述关节电机的工作空间路径,所述工作空间路径是所述关节电机控制的机械组件在执行指定任务时,在空间中运动的路径;

控制参数获取子模块,用于基于所述工作空间路径和所述热损耗功率阈值,获取所述关节电机的控制参数。

在一种可能的实现方式中,所述控制参数获取子模块,还用于基于空间路径规划方法,通过所述指定任务获取所述关节电机的所述工作空间路径,所述空间路径规划方法包括a星算法和势函数法种的至少一种。

在一种可能的实现方式中,所述控制参数获取子模块,包括:

关节痛觉约束处理单元,用于基于所述热损耗功率阈值,获取关节痛觉约束,所述关节痛觉约束用于约束所述关节电机的热损耗不大于所述热损耗功率阈值;

控制参数获取单元,用于基于所述关节痛觉约束和所述工作空间路径,获取所述关节电机的控制参数。

在一种可能的实现方式中,所述控制参数获取单元,还用于基于所述工作空间路径,结合所述关节痛觉约束和动力学约束,获取所述关节电机的控制参数;所述控制参数包括:所述关节电机对应在所述工作空间路径的各个时间点上的力矩、所述关节电机对应的角度与所述各个时间点之间的对应关系、所述关节电机的角速度与所述各个时间点之间的对应关系、以及所述关节电机的角加速度与所述各个时间点之间的对应关系。

在一种可能的实现方式中,所述控制参数获取单元,还用于基于工作空间路径,对关节痛觉约束和动力学约束进行离散化处理,再根据凸优化中的二次规划方法,获取关节电机的控制参数。

综上所述,在控制关节电机的过程中,利用获取到的温度特征参数求得对关节电机的运行进行约束的热损耗功率阈值;再基于热损耗功率阈值,得到了关节电机的控制参数;由于在控制关节电机的运转时,考虑到电机发热对电机运行状态的影响,电机绕组的温度也会受到限制,因此,当电机绕组的当前温度较低时,可以允许较高的力矩,而当电机绕组的温度较高时,可以通过热损耗功率阈值的约束适当降低力矩,不需要对关节电机的力矩上限作太大的限制,从而提高关节电机的工作效率,减少关节电机的性能浪费。

图8是根据一示例性实施例示出的一种机器人的结构示意图。该机器人可以实现为上述各个方法实施例中的机器人。所述机器人800包括处理器/控制器801、存储器802。所述机器人800还包括一个或多个关节电机803,该一个或多个关节电机用于带动机器人800的一个或多个关节对应的机械组件活动。机器人800还包括关节电机803对应的电流传感器804以及温度传感器805。电流传感器804和温度传感器805分别与处理器/控制器801电性相连。

存储器802及其相关联的计算机可读介质为机器人800提供非易失性存储。

不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。

所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,处理器/控制器801通过执行该一个或一个以上程序来实现图1或图2所示的方法的全部或者部分步骤。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括计算机程序(指令)的存储器,上述程序(指令)可由计算机设备的处理器执行以完成本申请各个实施例所示的方法。例如,所述非临时性计算机可读存储介质可以是只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、只读光盘(compactdiscread-onlymemory,cd-rom)、磁带、软盘和光数据存储设备等。

在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例所示的方法。

本方案提出了一种机器人的关节电机控制方法,从应用角度,本申请可以应用于多关节机器人,包括但不限于:机械臂、足式机器人等。本申请对此不设限制。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求指出。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

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