论文部分内容阅读
摘 要 本文重点分析了机器手系统中的对马达控制的速度控制器,和加速控制器,分析各个系统的功能结果,最后对系统的相关不足和改进作出分析。
关键词机器手 系统 马达 控制器
1 系统描述
我们使用一个二次多项式来近似地描述本系统中每个马达的运动,并由此得到其速度-时间曲线。该二次多项式如下 (1)式中:----此多项式的系数。经计算得出的本智能机器手臂系统中各马达的速度-时间曲线如图 1 所示。
为了计算 4 个速度-时间段,需要给每个马达发送 4 套参数因子。为此,设计了“L”命令,其格式定义如下:L,,,,,.
其中各项的意义为:L:设定线性运动参数的命令;:马达的编号,依次取值为1、2、3、4、5;:位置编码,此项为有符号16位性型数的高字节;:位置编码,此项为有符号16位性型数的低字节;:线性运动时间片段编码,此项为有符号16位性型数的高字节;:线性运动时间片段编码,此项为有符号16位性型数的低字节::速度曲线的逼近三次多项式的各系数。
2 系统实现
在系统固件中我们定义了函数calc_lin_speed(),此函数实中二次多项式的计算。由于存储空间的大小限定,该二次多项式中的系数为 8 位变量,而速度为 16 位变量。为了减少溢出的可能性,我们将多项式中系数增加了一个比例因子,并对计算过程进行了优化。但是,由于系数仅有8 位精度,所以系统可达到的最大速度,总空间长度以及可工作区域被大幅度地减少。
3 速度滤波器和速度控制器
为了实现对速度-时间运动轨道的跟踪,设计了一个 PID速度控制器。对于速度信号,实现了一个 9 阶 FIR 数字滤波器。为减少计算复杂度,我们精心设计挑选了一些容易通过移位和加法操作得到的系数,速度滤波各状态的原理图如图 2 所示。
此外,该系统设计并实现了一个 PID(比例-积分-微分)速度控制器,在固件中相应定义了“K”命令和“V”命令来分别设置和读取 PID 参数。为了对 PID 的参数进行优化,我们另引入了一些比例因子。对于通常的运动来说,会给出一个梯形的描述,给出一个恒定的加速度值。为了使线性运动的计算更简单,所需参考速度是以 10 ms 的周期时间来进行计算的。而实际上马達的速度每 2.5 ms 被计算一次,所以所需速度必须被除以 4 来计算误差。实际速度是以更高的时间精度来计算的,以提高速度控制器的质量。
4 加速度控制器
为了得到平滑的运动,我们实现了一个梯形的轨迹(如图4 所示)。采用速度控制器,通过一个计数器来增加速度,并保持一个线性的加速度。为了知道从哪个时刻开始控制器必须
减速,采用如下的公式来进行计算:
(2)
StopDist是马达减速过程中的距离。利用式(2)进行计算的优点就是所计算得到的距离是与时间无关的,而运动中井没有给出时间值。当StopDist与实际位置之和大于目标位置时,控制器就开始减速。在性个减速过程中,控制器始终起作用,并且在需要时,会相应调性减速参数。
上面所提到的加速计数器通过程序中定义的变量MA-XACCEL_SCALING来进行加权,在计算StopDist一必须要考虑这个加权因子。
由于本机器手臂系统中PICI6F876微控制器程序存储空间以及数据存储空间的局限性,本文中所实现的线性运动在距离和工作区域上仍存在一定的局限性。所有的多项式系数可改进为16位,替代本文中使用的8位参数,计算结果所需速度可进一步改进为32位。PID控制器的参数可进一步进行优化,甚至可以在系统中增加一个预控制器或补偿器来改善控制器的性能。
关键词机器手 系统 马达 控制器
1 系统描述
我们使用一个二次多项式来近似地描述本系统中每个马达的运动,并由此得到其速度-时间曲线。该二次多项式如下 (1)式中:----此多项式的系数。经计算得出的本智能机器手臂系统中各马达的速度-时间曲线如图 1 所示。
为了计算 4 个速度-时间段,需要给每个马达发送 4 套参数因子。为此,设计了“L”命令,其格式定义如下:L,
2 系统实现
在系统固件中我们定义了函数calc_lin_speed(),此函数实中二次多项式的计算。由于存储空间的大小限定,该二次多项式中的系数为 8 位变量,而速度为 16 位变量。为了减少溢出的可能性,我们将多项式中系数增加了一个比例因子,并对计算过程进行了优化。但是,由于系数仅有8 位精度,所以系统可达到的最大速度,总空间长度以及可工作区域被大幅度地减少。
3 速度滤波器和速度控制器
为了实现对速度-时间运动轨道的跟踪,设计了一个 PID速度控制器。对于速度信号,实现了一个 9 阶 FIR 数字滤波器。为减少计算复杂度,我们精心设计挑选了一些容易通过移位和加法操作得到的系数,速度滤波各状态的原理图如图 2 所示。
此外,该系统设计并实现了一个 PID(比例-积分-微分)速度控制器,在固件中相应定义了“K”命令和“V”命令来分别设置和读取 PID 参数。为了对 PID 的参数进行优化,我们另引入了一些比例因子。对于通常的运动来说,会给出一个梯形的描述,给出一个恒定的加速度值。为了使线性运动的计算更简单,所需参考速度是以 10 ms 的周期时间来进行计算的。而实际上马達的速度每 2.5 ms 被计算一次,所以所需速度必须被除以 4 来计算误差。实际速度是以更高的时间精度来计算的,以提高速度控制器的质量。
4 加速度控制器
为了得到平滑的运动,我们实现了一个梯形的轨迹(如图4 所示)。采用速度控制器,通过一个计数器来增加速度,并保持一个线性的加速度。为了知道从哪个时刻开始控制器必须
减速,采用如下的公式来进行计算:
(2)
StopDist是马达减速过程中的距离。利用式(2)进行计算的优点就是所计算得到的距离是与时间无关的,而运动中井没有给出时间值。当StopDist与实际位置之和大于目标位置时,控制器就开始减速。在性个减速过程中,控制器始终起作用,并且在需要时,会相应调性减速参数。
上面所提到的加速计数器通过程序中定义的变量MA-XACCEL_SCALING来进行加权,在计算StopDist一必须要考虑这个加权因子。
由于本机器手臂系统中PICI6F876微控制器程序存储空间以及数据存储空间的局限性,本文中所实现的线性运动在距离和工作区域上仍存在一定的局限性。所有的多项式系数可改进为16位,替代本文中使用的8位参数,计算结果所需速度可进一步改进为32位。PID控制器的参数可进一步进行优化,甚至可以在系统中增加一个预控制器或补偿器来改善控制器的性能。