
运动控制系统第二讲运动控制系统控制器的构成课件.pptx
129页第第2章章 运动控制器技术运动控制器技术控制器的作用 类比房屋评判一个运动控制系统是否成功的标准?运动控制器及其运动控制软件是否合适!运动控制器是运动控制系统的核心!对运动控制系统的性能起着关键的作用2.1 运动控制系统简介运动控制系统简介2.1.1 运动控制系统的构成运动控制系统是由运动需求、运动控制器、驱动控制器、执行器及位置或者速度反馈单元构成的,如图2-1所示2.1.2 运动控制系统的任务任务是具体对象对运动系统的要求,其形态可以是路径、位置增量或位移、移动速度,也可以是速度的变化率加速度,还可以是驱动力或驱动力矩2.2 运动控制器的基本原理运动控制器的基本原理2.2.1 运动控制器的构成 运动控制器由轨迹生成器、插补器、控制回路和步序发生器四部分构成,如图2-3所示其基本原理为:运动控制器根据任务的需要,首先由轨迹生成器计算出任务希望的理想轨迹,插补器根据位置或者速度反馈单元的实际状态,按照轨迹生成器的要求,计算出驱动单元下一步将要执行的命令,然后交由控制回路进行精确控制如果是步进电机,则还有一部分就是步序发生器,步序发生器根据控制回路控制指令进一步生成控制相序和脉冲,达到控制运动对象的目的。
2.2.2 轨迹生成器轨迹生成器轨迹生成器的主要作用就是根据运动任务要求,为系统生成运动轨迹,作为运动系统控制器插补器的输入设定轨迹生成器的职责是把运动控制器的输入转化为系统希望得到的理想轨迹运动轨迹是运动系统必须要完成的运动任务就运动控制器而言,轨迹生成器是运动控制器三个核心部件之一,轨迹生成器性能好与坏对运动控制器的起着至关重要的影响我们这里所说的轨迹是广义轨迹,广义轨迹的轨迹可以是路径或者轮廓轨迹,也可以是速度轨迹,还可以是加速度轨迹狭义的轨迹特指路径或者轮廓轨迹图2-4 预设编码值与停止指令1点对点运动轨迹最简单、最直接的运动曲线是点对点运动轨迹,虽然轨迹很多!用途点对点运动的应用范围十分宽广,包括各种大型医疗自动化诊疗设备,例如CT机、MR核磁共振等;机械制造业使用的各类加工中心、数控机床等;科学研究领域的自动检测与定位仪器;军事领域中的自动定位跟追、自动瞄准系统等;民用自动设施,如电梯,需要注意的是自动扶梯不是点对点式运动点对点这种运动形式的运动特点是运动需求描述简单,控制容易;点对点运动方式,从起点开始,负载速度从零开始,加速到设定速度,稳定运行,然后减速至停止,此时被控对象到达目标位置-终点。
一个典型的点对点运动,速度是从零的开始和结束的运动,并启动加速和停止减速都是平滑的主要研究方法是特征值描述法主要研究方法是特征值描述法有关特征值计算问题图2-7是梯形曲线特征点示意图,横坐标是时间轴,曲线有三个特征点 、,纵坐标有一个特征点其中:其中:=最大速度;amax=最大加速度;=加速度时间;=减速度时间;=最大速度时间;=整个运动时间注意:假如由式(2-4)计算出的时间是负值,那么说明实际速度不可能达到最大速度,而且速度曲线就不是一个梯形,而是一个三角形式(2-1)式(2-4)是梯形速度曲线特征点基本关系计算式例2-1】请参阅书 17【例2-2】请参阅书17由于时间绝不可能是负值,因此改变的是加速和减速时间所以,得出其结论是速度不可能达到最大速度由于梯形曲线特征点参数设置不合理,故导致梯形曲线变化成三角形曲线,显然这种状况属于异常情况计算公式根据已知参数计算运动曲线,设置曲线的特征点可以根据下述方程确定公式2-5 2-8,详见教材第二章第18页请注意 条件与时序段特征点计算的C语言子程序void generate_setpoint_table(double t_acc,double t_max,double t_step.double vel_max,double acc_max.double theta_start,double theta_end.double setpoint,int*count)double t.t_1,t_2,t_total;t_1=t_acc;t_2=t_acc+t_max;t_total=t_acc+t_max+t_acc;*count=0;for(t=0.0;t=t_total;t+=t_step)if(t=t_1)&(t=t_2)&(t t_total)setpoint*count=0.5*acc_max*t_acc*t_acc +vel_max*(t_max)+0.5*acc_max*(t-t_2)*(t-t_2)+theta_start;else setpoint*count=theta_end;*count+;setpoint*count=theta_end;*count+;典型T型曲线的优点与缺陷T型曲线简单,具有良好速度调节性能;梯形曲线的缺陷是如果加速度和减速度是定值,那么在加速度段和减速度段,负载会发生抖动。
改进型圆滑曲线改进型圆滑曲线 多项式曲线 在某些场合,这种抖动希望能减小到最小,故多项式曲线就起到这样的作用图2-9 多项式曲线多项式曲线图2-9所示的是一种典型的多项式曲线由图可见,在加速度段和减加速度段,速度由多项式表示这种多项式曲线的最大特色为速度平滑,稳定性好,不存在负载抖动的问题对于图2-9所示的多项式曲线,已知四个参数值start、end、max、max,即起点位置、结束位置、最大角速度与最大角加速度,并且如图2-9所示的速度多项式的约束条件是已知条件求取系数ABC求取ABC求取ABC第一段曲线的方程 2-9第二段曲线的方程为2-10第一段曲线(加速段)的路程为2-11第二段曲线(最大速度)的时间为2-122路径轨迹沿着一条路径的所有位置点来描述的轨迹曲线就是路径轨迹曲线其他说法:位置轨迹、轮廓轨迹等等,都是表述行走的路径差异之处:路径更强调的是行驶线路,而轮廓则更加强调走过的具体位置及其精度选择原则通常,当运动需求没有速度或者加速度要求、而对路径或者形状有很严格的要求时,采用这种方法路径轨迹曲线的运动表述法利用的是参数函数“p(u)”当参数值u的值域是01时,函数值的变化范围也是01。
无论如何,函数的参数选择条件是,运动开始与停止时的速度都是0,这样就使得最终多项式方程简化为公式(2-11)随后这个方程可以用在式(2-9)中,使控制器能够在起点和终点之间产生一条光滑的运动路径公式2-13例2-3请参阅教材,计算由同学自行验证图2-10计算路径轨迹曲线特征点的C语言子程序#define TABLE_STZE 11int point_mastorTABLE_SIZE=0,24,95,206,345,500,655,794,905,976,1000;int point_positionTABLE_SIZE;int point_timeTABLE_SIZE;int point_start_time;int point_index;int ticks;/*variables to keep a system clock count*/int point_current;/*a global variable to track position*/int table_init()/*initialize the setpoint table*/ticks=0;/*set the clock to zero*/point_current=0;/*start the system at zero*/point_index=TABLE_SIZE;/*mark the table as empty*/void table_generate(int start,int end,int duration_sec)unsigned i;point_time0=ticks+10;/*delay the start slightly*/point_position0=start;for(i=1;1 TABLE_SIZE;1+)point_time1=point_time0+(unsigned long)i+duration_nec*250/(TABLE_SIZE-1);point_position1=start+(long int)(end-start)*point_mastor1/1000;point_index=0;int table_update()/*interrupt driven encoder update*/ticks*;/*update the clock*/if(point_index 0,则表明实际点位于直线OA上方;若Fi 0,规定向+x方向走一步,即公式2-20.若Fi0,规定向+y方向走一步,即 公式2-21.终点判别直线插补的终点判别方法有三种:判别插补总步数;分别判别各子坐标插补步数;仅判别插补步数多的那一个坐标轴。
例2-4请参阅书看图2-13,2-14,表2-12)圆弧插补(1)圆弧插补原理圆弧插补算法针对的是多轴运动,其思想就是用弦进给代替弧进给圆弧插补分为顺时针圆弧插补和逆时针圆弧插补两种请看书图2-15.图2-15圆弧插补要加工如图2-15所示的圆弧AE圆弧AE位于第一象限,逆时针走向,半径为R,以原点为圆心,起点坐标为A(x0,y0),对于圆弧上任一加工点的坐标设为P(xi,yi)点P与圆心的距离的平方为2)圆弧插补步骤圆弧插补的具体步骤与直线插补完全相同,也是三个步骤:偏差函数的构造 偏差函数递推计算 终点判别偏差函数的构造请参阅公式2-22 偏差函数递推计算对于逆圆弧,若Fi 0,则规定向x方向插补一步,即 公式2-23 若Fi 0,则规定向+y方向插补一步,即公式2-24 终点判别圆弧插补的终点判别方法有两种判别插补的总步数,即 (2-27)分别判别各坐标轴的插补步数,即 2-28例2-5已知第一象限起点A(4,0),终点B(0,4),计算插补过程例2-5解题思路:根据图2-16所示,起点A(4,0),终点B(0,4),显然此插补属于圆弧插补类别的逆圆弧插补,按照式(2-23),式(2-24)计算,流程如图2-16和表2-2所示。
3)抛物线插补抛物线插补算法是一种新型插补算法抛物线函数是一种简单函数,既可以利用硬件,也可以利用软件来实现抛物线插补算法以抛物线顶点的坐标值作为原点,抛物线的起点和终点都换算成以抛物线顶点为原点的相对坐标抛物线的开口方向不同,它的数学表达式也不一样为简明起见,以一种情况为例说明抛物线插补计算的方法和过程设抛物线方程为解法抛物线采用8个特征点A、B、C、D、E、F、G和H抛物线插补在相关特征点之间进行,如图2-17所示的抛物线特征点图根据高等数学有关曲率的计算公式,采用三次样条函数特征点4)样条插补为了满足快速成形制造及模具加工领域中高速度和高精度的要求,利用B 样条曲线良好的局部控制性和计算机CPU处理速度快的优点,开发出基于三次非均匀B 样条曲线的插补算法1)样条插补原理快速成形制造系统读入STL文件后,首先利用拟合算法将这些离散的数据点拟合为分段的三次非均匀无理B样条;然后构造一链表用来保存每段B 样条的系数和长度;插补时读入此链表,根据分段标志,以当前插补点为控制目标,求出下一插补点的坐标值,完成变速度自适应插补B样条的参数表达式说明公式2-39中,如果三次项系数为零,则表示抛物线;三次项和二次项系数均为零,则表示直线,因此可以把三次非均匀无理B样条、抛物线和直线用同一个公式统一起来。
2)样条插补步骤样条插补算法采用参数化数据采样原理来实现插补过程,其基本思想是按照给定的采样周期将时间轴分成非均匀间隔的小区间,插补过程中根据进给速度、加减速要求和允许误差,在各采样周期产生空间小直线段,去逼近被插补曲线,逐步求得伺服控制所需的各插补直线段端点的坐标值,即以当前插补点的速度为控制目标,以插补周期T内的插补步长等于曲线上的弧长为依据,最终求出下一插补点的坐标5)基准脉冲插补基准脉。












