Difference between revisions of "Motion Dynamics/zh-hans"
(Created page with "{{Languages}} = Introduction = This article describes the inverse dynamic model (IDM) feature used to compensate friction and dynamic effects for motion elements, otherwise le...") |
|||
Line 1: | Line 1: | ||
{{Languages}} | {{Languages}} | ||
− | = | + | = 介绍 = |
− | + | 本文介绍的逆动力学模型(IDM)用于补偿运动元件摩擦和动态效果的特征,否则导致定位错误和次优设置行为。 | |
− | + | IDM功能的动机是使用关于运动的附加知识,而不仅仅是位置(即速度和扭矩)来抵消扭矩控制器的命令值,以使其反应更快,从而减少最终定位误差并改善稳定行为。 | |
− | + | 术语 ''逆动力学模型 ''(IDM)表示softMC需要的运动元件的运动笛卡尔并且不仅计算用于下一个设定值笛卡尔关节位置,而且还用于运动所需的关节扭矩。 为了能够做到这一点,它需要动态模型 - 即运动元素的质量和惯性模型。 然后将关节速度和扭矩作为附加转矩指令数据发送到驱动器。 | |
− | |||
− | |||
− | == | + | == 可用的模型 == |
− | + | 本页面动态模型列出所有可用的'''[[Dynamic Models|Dynamic Models]]''',并描述所有必要的参数。 | |
− | == | + | == 轴/机器人运动 == |
− | + | 要了解单轴和机器人动态之间的差异,有必要首先了解这些对象在softMC固件中的实现方式。 | |
− | + | 在''reset all''命令之后,在softMC中只有轴对象有效。 这意味着位置,速度和其他驱动命令是通过这些轴对象循环计算的,无论轴是移动还是静止。此外,根据轴的动态模型循环计算附加转矩指令,对于立轴可以是重力补偿的常数值。 | |
− | |||
− | |||
− | + | 组或机器人对象只能在它们被附加的时刻激活,并在分离时再次被停用。 一旦一组被激活时,它接管所有轴,属于它的控制。这意味着位置,速度和其他驱动命令现在由组对象计算,该对象也包括动态计算。 注意:当在终端发出组运动命令时,相应组将在运动时间段内自动附加到终端。 | |
− | |||
− | |||
− | |||
− | + | 该设计的结论是,具有重力补偿的组的轴需要特殊处理。 | |
− | + | 因为在驱动力使轴对象计算转矩指令,重力补偿轴需要配置单轴动力学。 另一方面,在组运动期间,轴所属的组需要启用组动力学。 | |
− | |||
− | = | + | = 单轴动力学 = |
− | + | 通过将[[Dynamic Models|available model]]分配给[[MC-Basic:axis.DYNAMICMODEL|axis.DynamicModel]]属性激活单轴的动态计算。 | |
− | + | 相应的动态参数提供给数组[[MC-Basic:axis.DYNAMICPARAMETER|axis.DynamicParameter]] | |
− | + | 摩擦参数由Friction parameters are handled separately by the properties [[MC-Basic:axis.VISCOUSFRICTION|axis.ViscousFriction]]和[MC-Basic:axis.COULOMBFRICTION|axis.CoulombFriction]]分别处理。 | |
− | {{Note| | + | {{Note|使用属性轴[[MC-Basic:axis.AXISTYPE|axis.AxisType]]为旋转或线性轴由固件区分。}} |
<!-- In '''[[Control:Assist|aico.assist]]''' the following defines configure single axes dynamics: | <!-- In '''[[Control:Assist|aico.assist]]''' the following defines configure single axes dynamics: | ||
Line 41: | Line 33: | ||
--> | --> | ||
− | = | + | = 机器人动力学 = |
− | + | 要激活机器人的动力学,必须将[[Dynamic Models|dynamic model]]分配给[[MC-Basic:group.DYNAMICMODEL|group.DynamicModel]]。模型参数在数组[[MC-Basic:robot.DYNAMICPARAMETER|robot.DynamicParameter]]中设置。 | |
− | |||
− | + | 机器人的所有轴的摩擦参数设置在轴摩擦属性[[MCBasic:axis.VISCOUSFRICTION|axis.ViscousFriction]]和[[MC-Basic:axis.COULOMBFRICTION|axis.CoulombFriction]]中。为了考虑机器人动力学中的摩擦补偿,不需要为其轴选择动态模型。 | |
− | |||
− | + | '''基于轴的动力学 '''是机器人/组动力学中的一个特例。当选择时,机器人/组根据其轴的[[Dynamic Models|dynamic models]]计算其动力学。该模式的主要目的是为非机器人组和笛卡儿机器人提供动力学。基于轴的动力学通过将<code>-1</code>分配给 [[MC-Basic:group.DYNAMICMODEL|group.DynamicModel]]来激活。 | |
− | |||
− | |||
− | |||
<!-- In '''[[Control:Assist|aico.assist]]''' the following defines configure robot dynamics: | <!-- In '''[[Control:Assist|aico.assist]]''' the following defines configure robot dynamics: | ||
Line 59: | Line 46: | ||
* [[Control:Assist:COULOMB_FRICTION(Axis)]] --> | * [[Control:Assist:COULOMB_FRICTION(Axis)]] --> | ||
− | = | + | = 有效载荷处理 = |
− | + | 机器人/轴负载显着影响运动动力学,并在所有[[Dynamic Models|dynamic models]]中考虑。 | |
− | + | 每次有效载荷变化时,应用程序应调整[[MC-Basic:axis.PAYLOADMASS|axis.PayloadMass]]和[[MC-Basic:axis.PAYLOADINERTIA|axis.PayloadInertia]]中的值。 | |
<!-- | <!-- | ||
Line 69: | Line 56: | ||
--> | --> | ||
− | = | + | = 扭矩误差监测 = |
[[File:Torque error monitoring - Torque command, feedback, error (Joint 1 of Delta robot).png|thumb|Comparison between torque command and feedback]] | [[File:Torque error monitoring - Torque command, feedback, error (Joint 1 of Delta robot).png|thumb|Comparison between torque command and feedback]] | ||
− | + | 碰撞检测是现代机器人领域的一个非常重要的课题。 Servotronix为几种运动学类型提供[[Dynamic Models|dynamic models]],可在机器人运动期间计算所需的关节扭矩。 | |
− | |||
− | + | 另一方面,关节驱动器提供实际需要的扭矩反馈。 这个想法是通过比较指令的[[MC-Basic:axis.TORQUEADDCOMMAND|commanded torque feedforward]]与返回的[[MC-Basic:axis.TORQUEFEEDBACK|torque feedback]]来计算[[MC-Basic:axis.TORQUEERROR|torque error]],以检测异常行为。 | |
− | |||
− | + | 通过启用[[MC-Basic:axis.TORQUEERRORENABLE | axis.TorqueErrorEnable]]并设置[[MC-Basic:axis.TORQUEERRORMAX | axis.TorqueErrorMax]]值,可以启用轴向转矩误差监控。 | |
− | + | 在具有非常嘈杂扭矩反馈的轴上,可以过滤扭矩误差。 低通滤波器的参数由[[MC-Basic:axis.TORQUEFEEDBACK|torque feedback]]指定。 | |
− | + | '''低通滤波器'''的参数由[[MC-Basic:axis.TORQUEERRORFILTER|axis.TorqueEerrorFilter]]指定。 | |
− | + | [[MC-Basic:axis.TORQUEERROR |扭矩误差]]超过[[MC-Basic:axis.TORQUEERRORMAX | axis.TorqueErrorMax]]的瞬间会引发转矩误差异常。 | |
− | + | 在这种情况下,[[MC Basic:axis.TORQUEERRORSTOPTYPE | axis.TorqueErrorStopType]]和[[MC Basic:axis.TORQUEERRORDISABLETYPE | axis.TorqueErrorDisableType]]配置'''停止行为'''。 | |
<!-- | <!-- | ||
Line 94: | Line 79: | ||
--> | --> | ||
− | = | + | = 模型参数识别 = |
− | + | 动态模型参数可以使用 | |
<!-- identification methods. | <!-- identification methods. | ||
* IDM Tools of aico.control provide a teach pendant user interface for the identification routine. --> | * IDM Tools of aico.control provide a teach pendant user interface for the identification routine. --> | ||
− | + | [[MC-Basic:IdentificationStart|IdentificationStart]]和[[MC-Basic:IdentificationFinish|IdentificationFinish]]程序手动获取。 | |
[[Category:Motion Dynamics]] | [[Category:Motion Dynamics]] |
Revision as of 18:06, 29 May 2017
语言: | [[::Motion Dynamics|English]] • [[::Motion Dynamics/zh-hans|中文(简体)]] |
---|
介绍
本文介绍的逆动力学模型(IDM)用于补偿运动元件摩擦和动态效果的特征,否则导致定位错误和次优设置行为。
IDM功能的动机是使用关于运动的附加知识,而不仅仅是位置(即速度和扭矩)来抵消扭矩控制器的命令值,以使其反应更快,从而减少最终定位误差并改善稳定行为。
术语 逆动力学模型 (IDM)表示softMC需要的运动元件的运动笛卡尔并且不仅计算用于下一个设定值笛卡尔关节位置,而且还用于运动所需的关节扭矩。 为了能够做到这一点,它需要动态模型 - 即运动元素的质量和惯性模型。 然后将关节速度和扭矩作为附加转矩指令数据发送到驱动器。
可用的模型
本页面动态模型列出所有可用的Dynamic Models,并描述所有必要的参数。
轴/机器人运动
要了解单轴和机器人动态之间的差异,有必要首先了解这些对象在softMC固件中的实现方式。
在reset all命令之后,在softMC中只有轴对象有效。 这意味着位置,速度和其他驱动命令是通过这些轴对象循环计算的,无论轴是移动还是静止。此外,根据轴的动态模型循环计算附加转矩指令,对于立轴可以是重力补偿的常数值。
组或机器人对象只能在它们被附加的时刻激活,并在分离时再次被停用。 一旦一组被激活时,它接管所有轴,属于它的控制。这意味着位置,速度和其他驱动命令现在由组对象计算,该对象也包括动态计算。 注意:当在终端发出组运动命令时,相应组将在运动时间段内自动附加到终端。
该设计的结论是,具有重力补偿的组的轴需要特殊处理。 因为在驱动力使轴对象计算转矩指令,重力补偿轴需要配置单轴动力学。 另一方面,在组运动期间,轴所属的组需要启用组动力学。
单轴动力学
通过将available model分配给axis.DynamicModel属性激活单轴的动态计算。 相应的动态参数提供给数组axis.DynamicParameter 摩擦参数由Friction parameters are handled separately by the properties axis.ViscousFriction和[MC-Basic:axis.COULOMBFRICTION|axis.CoulombFriction]]分别处理。
NOTE | |
使用属性轴axis.AxisType为旋转或线性轴由固件区分。 |
机器人动力学
要激活机器人的动力学,必须将dynamic model分配给group.DynamicModel。模型参数在数组robot.DynamicParameter中设置。
机器人的所有轴的摩擦参数设置在轴摩擦属性axis.ViscousFriction和axis.CoulombFriction中。为了考虑机器人动力学中的摩擦补偿,不需要为其轴选择动态模型。
基于轴的动力学 是机器人/组动力学中的一个特例。当选择时,机器人/组根据其轴的dynamic models计算其动力学。该模式的主要目的是为非机器人组和笛卡儿机器人提供动力学。基于轴的动力学通过将-1
分配给 group.DynamicModel来激活。
有效载荷处理
机器人/轴负载显着影响运动动力学,并在所有dynamic models中考虑。 每次有效载荷变化时,应用程序应调整axis.PayloadMass和axis.PayloadInertia中的值。
扭矩误差监测
碰撞检测是现代机器人领域的一个非常重要的课题。 Servotronix为几种运动学类型提供dynamic models,可在机器人运动期间计算所需的关节扭矩。
另一方面,关节驱动器提供实际需要的扭矩反馈。 这个想法是通过比较指令的commanded torque feedforward与返回的torque feedback来计算torque error,以检测异常行为。
通过启用 axis.TorqueErrorEnable并设置 axis.TorqueErrorMax值,可以启用轴向转矩误差监控。
在具有非常嘈杂扭矩反馈的轴上,可以过滤扭矩误差。 低通滤波器的参数由torque feedback指定。 低通滤波器的参数由axis.TorqueEerrorFilter指定。
扭矩误差超过 axis.TorqueErrorMax的瞬间会引发转矩误差异常。 在这种情况下, axis.TorqueErrorStopType和 axis.TorqueErrorDisableType配置停止行为。
模型参数识别
动态模型参数可以使用 IdentificationStart和IdentificationFinish程序手动获取。