圆弧加减速插补算法

合集下载

逐点比较法圆弧插补算法

逐点比较法圆弧插补算法

二、 逐点比较法圆弧插补加工一个圆弧,很容易联想到把加工点到圆心的距离和该圆的名义半径相比较来反映加工偏差。

这里,我们以第Ⅰ象限逆圆弧为例导出其偏差计算公式。

设要加工图2—3所示第Ⅰ象限逆时针走向的圆弧,半径为R ,以原点为圆心,起点坐标为A(00x ,y ),对于圆弧上任一加工点的坐标设为P( i j x ,y ),P 点与圆心的距离 P R 的平方为 222Pi j R =x +y ,现在讨论这一加工点的加工偏差。

图 2 - 2 圆 弧 差 补 过 程图2-3 圆弧插补过程点击进入动画观看逐点比较法圆弧插补若点P(i j x ,y )正好落在圆弧上,则下式成立:22222i j 00x +y =x +y =R若加工点P(i j x ,y )在圆弧外侧,则P R >R ,即:2222i j 00x +y >x +y若加工点P(i j x ,y )在圆弧内侧,则P R <R ,即:2222i j 00x +y >x +y将上面各式分别改写为下列形式:2222i 0j 0(x -x )+(y -y )=0(加工点在圆弧上) 2222i 0j 0(x -x )+(y -y )>0(加工点在圆弧外侧)2222i 0j 0(x -x )+(y -y )<0(加工点在圆弧内侧)取加工偏差判别式为:2222ij i 0j 0F =(x -x )+(y -y )运用上述法则,利用偏差判别式,即获得图2—2折线所示的近似圆弧。

若P(i j x ,y )在圆弧外或圆弧上,即满足 ij F ≥0的条件时,应向x 轴发出一个负向运动的进给脉冲(—Δx),即向圆内走一步。

若P(i j x ,y )在圆弧内侧,即满足ij F <0的条件,则向y 轴发出一个正向运动的进给脉冲(+Δy),即向圆弧外走一步。

为了简化偏差判别式的运算,仍用递推法来推算下一步新的加工偏差。

设加工点P(i j x ,y )在圆弧外侧或圆弧上,则加工偏差为2222ij i 0j 0F =(x -x )+(y -y )0≥x 坐标需向负方向进给一步(—Δx),移到新的加工点P(i+1j x ,y )位置,此时新加工点的x 坐标值为i x -1,y 坐标值仍为 i y ,新加工点P( i+1j x ,y )的加工偏差为:22222i+1,j i 0j 0F =(x -1)-x +y -y经展开并整理,得:i +1,j i j F =F 21i x -+(2-3)设加工点P(i j x ,y )在圆弧的内侧,则:ij F <0那么,y 坐标需向正方向进给一步(+Δy),移到新加工点P( i j+1x ,y ),此时新加工点的x 坐标值仍为i x ,y 坐标值则改为 j y 1+,新加工点P( i j+1x ,y )的加工偏差为:2222i,j+1i 0j 0F =x -x +(y +1)y -,展开上式,并整理得:i,j+1ij F =F 21i y ++综上所述可知:当ij F ≥0时,应走—Δx ,新偏差为 i+1,j ij F =F 21i x -+,动点(加工点)坐标为i+1i x =x -1, j j y y =;当 ij F <0时,应走+Δy ,新偏差为 i,j+1ij F =F 21i y ++,动点坐标为 j j y y =, i+1i =y +1y 。

圆弧插补加工

圆弧插补加工

圆弧插补加工圆弧插补加工是数控机床中常用的工艺之一,它通过控制机床沿指定轨迹进行切削加工,形成所需的曲线形状。

本文将介绍圆弧插补加工的原理、应用以及加工过程中需要注意的事项。

一、圆弧插补加工原理圆弧插补加工的原理是通过数控系统控制机床在平面或空间内进行连续轨迹运动,使工件按照预先设定的圆弧路径进行切削加工。

圆弧插补加工通常需要指定圆心坐标、起始点、终止点以及圆弧半径等参数,以确保加工出符合要求的曲线形状。

二、圆弧插补加工应用圆弧插补加工广泛应用于各种机械零部件的加工中,特别是曲线形状较为复杂的工件。

常见的应用领域包括模具制造、航空航天、汽车制造等。

三、圆弧插补加工过程1. 准备工作:确定工件的加工要求和加工路径,绘制出加工轨迹图。

根据绘制的轨迹图,计算出所需的圆心坐标、起始点、终止点以及圆弧半径等参数。

2. 设置参数:将计算得到的参数输入数控机床的控制系统,通过编程设置数控机床的工作参数,如工进速度、切削深度等。

3. 夹持工件:将待加工的工件夹持于数控机床工作台上,确保夹紧牢固,避免加工过程中的松动。

4. 启动数控机床:按照数控编程设定的程序,启动数控机床,使其开始切削加工。

数控机床将按照设定的轨迹进行圆弧插补加工。

5. 检查加工效果:待加工完成后,对加工表面进行质量检查,确保加工效果符合要求。

四、圆弧插补加工注意事项1. 加工参数的设定:合理设置加工参数,包括刀具进给速度、转速、切削深度等,以确保加工效果和工件质量。

2. 加工轨迹的设计:根据具体工件的要求,合理设计加工轨迹,避免出现加工过程中的碰撞、位置误差等问题。

3. 刀具的选择:根据工件的材料和形状,选择合适的刀具进行加工,以确保切削效果和工件表面质量。

4. 安全操作:在进行圆弧插补加工时,操作人员应遵循相关的安全操作规程,戴好防护用品,确保自身安全。

通过圆弧插补加工,可以有效地实现复杂曲线形状的加工要求,提高加工精度和效率。

在以数字化、智能化为主导的制造业发展趋势下,圆弧插补加工将发挥更加重要的作用,为各行各业提供更高质量的零部件制造服务。

圆弧插补算法的探讨

圆弧插补算法的探讨

圆弧插补算法的探讨周 虹(湖南铁道职业技术学院,湖南株洲412001)摘 要:逐点比较法是CNC系统中应用较为广泛的一种插补算法。

本文介绍了逐点比较法插补圆弧的运算过程,并对逐点比较法插补圆弧的算法进行了改进,为数控系统插补软件的设计提供了参考。

关键词:数控;圆弧;插补中图分类号:TH123+ 1 文献标识码:A 文章编号:1671-5276(2006)03-0043-02Study on Arc Interpolation AlgorithmZHOU Hong(H unan Railw ay Professional Technology College,HN Zhuzhou412001,China)Abstract:Point by point comparing method is a widely used interpolation in CNC system。

T his paper intro-duced the algorithm process by using point by point comparing method,improved algorithm of interpolation arc,and provided a design method of NC system interpolation softw are.Key words:NC;arc;interpolation0 引言随着微电子技术和计算机技术的发展,CNC 系统的性能日臻完善,其应用领域也日益扩大。

CNC系统的核心是如何控制刀具或工件的运动轨迹,这项任务由插补程序来完成。

具体来说,插补的作用是根据给定的信息进行数字运算,在计算过程中不断向各个坐标发出相互协调的进给脉冲,使被控机械部件按指定的路径移动。

直线和圆弧是构成工件轮廓的基本线条,所以大多数CNC系统都具有直线和圆弧的插补功能,插补算法的种类有很多,如逐点比较法、数字积分法和数据采样法等,本文主要讨论圆弧的插补算法。

圆弧插补指令应用-圆弧面零件编程.

圆弧插补指令应用-圆弧面零件编程.

圆弧插补指令应用圆弧面零件编程圆弧面零件编程加工是学习数控车床编程技术的重要一环,也是学习其它回转体类零件加工的基础。

通过本项目的学习,要掌握如下知识,顺时针圆弧插补、逆时针圆弧插补方向的判断和G02、G03圆弧插补指令及终点坐标+半径格式的应用;仿形车削复合循环指令G73及其应用;刀尖半径补偿指令G40、G41、G42及应用;凸圆弧零件加工工艺制定及循环参数选择;完成成形面类零件编程加工及其尺寸控制。

一、零件图二、数控车床编程指令插补的概念根据给定的进给速度和给定轮廓线形的要求,在轮廓的已知点之间,确定一些中间点的方法,称为插补方法或插补原理。

编程指令(一)圆弧插补指令G02、G03G02——顺时针圆弧插补G03——逆时针圆弧插补1.指令功能:使刀具按给定进给速度沿圆弧方向进行切削加工。

2.圆弧的顺、逆方向的判断沿垂直于圆弧所在平面的坐标轴的正方向向负方向看去,刀具相对于工件的转动方向是顺时针方向为G02,逆时针方向为G03。

3.圆弧加工终点坐标+圆弧半径(或圆心坐标)指令格式G02(G03)X_Z_R_ F_G02(G03)X_ Z_ I_ K_ F_(二)径向(端面) 粗车复合循环指令G72该指令适用于圆柱棒料粗车阶梯轴(或法兰盘)的外圆或内孔,需切除较多余量时的情况。

与轴向粗车复合循环的区别仅在于切削方向平行于X轴。

[ FANUC 0i ] 系统径向(端面)粗车复合循环指令格式:G72 W(△d) R(e);G72 P(ns) Q(nf) U(△u) W(△w) F(△f) S(△s) T(t);N(ns)……;……;.N(nf) ……;(三)仿形粗车(闭环车削)复合循环指令G73该指令用于零件毛坯已基本成型的铸件或锻件的加工,铸件或锻件的形状与零件轮廓相接近。

该功能在切削工件时刀具轨迹为一闭合回路,刀具逐渐进给�使封闭的切削回路逐渐向零件最终形状靠近,完成工件的加工。

[ FANUC 0i ] 系统仿形粗车(闭环车削)复合循环指令格式:G73 U(△i) W(△k) R(d);G73 P(ns) Q(nf) U(△u) W(△w) F(△f) S(△s) T(t);N(ns)……;……;N(nf) ……;(四)刀具补偿指令1.刀具补偿的目的数控车床是按车刀刀尖对刀的,因车刀的刀尖不可能绝对尖,总有一个小圆弧,所以对刀刀尖的位置是一个假想的刀尖A。

基于向量的圆弧插补和加减速算法研究

基于向量的圆弧插补和加减速算法研究

基 于 向量 的 圆弧 插 补和 加减 速 算法 研 究
刘 国华 ,谢 明 红 ( 华侨大学机 电及 自 动化学院,福建厦 门 3 6 1 0 2 1 )
摘要 :提 出基于 向量 的圆弧插补算法 ,通过速度和 圆弧半径求出相邻两个插补 点的角度差 ,然后 通过 当前插补 点与 圆 心的一个 向量来求 出下一个插补点 的向量值 ,最后进行 向量差计 算 ,从而得到需要 的 和 Y方 向的速度值 。该算法 不需要 对所处象 限进行分 析 ,同时加工精度可 以得到保证 。还 提 出了离散型 S曲线加减 速控制 的新方法 ,以单位加 速度为基 础 , 根据当前速度和加速度从而求出下一 点的加速度与速度 ,使加速度 、速度 、位移 的计算 更为简单 。实验结 果表明 :该算法 保证 了速度 、加速度的连续 ,提 高了系统 的柔性 。
Ab s t r a c t :T h e c i r c u l a r i n t e r p o l a t i o n a l g o r i t h m b a s e d o n v e c t o r w a s p u t f o r w a r d .T h e a n g l e d e v i a t i o n b e t we e n t wo c o n q e c t i n g i n — t e po r l a c a l c u l a t e d b y v e l o c i t y a n d c i r c u l a r r a d i u s ,t h e n a n o t h e r v e c t o r o f c o n n e c t i n g i n t e po r l a t i o n p o i n t wa s c a l c u l a t e d b y o b t a i n i n g a v e c t o r f r o m p r e s e n t i n t e po r l a t i o n p o i n t a n d c i r c u l a r c e n t e r ,f i n a l l y t h e v e l o c i t i e s o f a n d Y d i r e c t i o n r e q u i r e d w e r e g o t t e n t h r o u g h v e c t o r d i f e r e n c e c a l c u l a t i o n .I n t h i s a l g o i r t h m,w h i c h q u a d r a n t t h e i n t e po r l a t i o n b e l o n g e d t o wa s n o t n e e d e d t o a n a l y z e , me a n w h i l e ma c h i n i n g p r e c i s i o n w a s g u a r a n t e e d .Al s o t h e n e w S - c u r v e a c c e l e r a t i o n — d e c e l e r a t i o n c o n t r o l me t h o d wa s p u t f o wa r rd .On b a —

数控系统中圆弧插补算法的改进和实现

数控系统中圆弧插补算法的改进和实现

1 数据采样法的圆弧插补算法
111 数据采样法圆弧插补算法
[2]
插补计算就其实质而言上是在一个插补周期内 , 如何快捷准确的计算出下一个插补点的进给量以及动 点坐标 。 现以插补第一象限顺圆弧 为例 , 如图 1 所 [5 ] Δ Δ 示 , 说明插补顺圆弧 时进给量 X i , Yi 以及动点坐 标 X i+1 , Yi+1 的产生与计算关系 。
组合机床与自动化加工技术
112 圆弧插补算法的改进
由圆的基本知识可知 : OM 垂直弦线 S E, 且平分该 圆弧所对应的中心角 ∠SO E, 故 ∠SO E = ∠M O E = δ 015 ,在 R Δ t S PE与 R Δ t M YM O 中 , 由于 S E ⊥ OM , S P ⊥
M YM , EP 的延长线 EYi+1 ⊥ O YM 因此 , R Δ t S PE 相似于 RΔ t M YM O

ΔX i = X i+1 ΔL 2 - X i = Yi - Xi 2 R 2R ΔL
Δ 2 Δ ΔY i = Y i+1 - Y i = - Y i L2 - X i L R 2R
插补准备阶段进行计算 , 以便准确快捷地计算进给量 。
・62・
2009 年第 7 期 113 两种算法的比较分析
R
简为
ΔX i = m Y i - nX i ΔY i = m X i + nY i
( 11 ) ( 12 )
由图 1 可得插补点 E 的坐标
X i+1 = X i +ΔX i Y i+1 = Y i - ΔY i ( 13 ) ( 14 )
且令 则
X i+1 = X i 1 Xi k

(完整版)圆弧插补

(完整版)圆弧插补
Fi<0
Fi<0
O Fi≥0
X Fi<0 Fi≥0
2、圆弧插补的象限处理
前面的圆弧插补(顺圆、逆圆)只限于第一象限,其他 情况如图所示: Y
O
X
代入偏差函数,得Pi+1点的偏差为: Fi+1 = Fi-2Xi + 1
当Fi<0时,向+Y方向进给一步。动点由Pi(Xi,Yi) 移动到 Pi+1(Xi,Yi +1)则新动点的坐标为 Yi+1=Yi +1
代入偏差函数,得Pi+1点的偏差为:
Fi+1 = Fi + 2Yi + 1
所以,第一象限逆时针圆弧插补加工时偏差加工的递推 公式为:
6 F5= -7 +Y F6=F5+2Y5+1 =0, X6=3,Y6=4 ∑=4
7 F6=0 -X F7=F6-2X6+1 = -5, X7=2,Y7=4 ∑=3 8 F7= -5 +Y F8=F7+2Y7+1 =4, X8=2,Y8=5 ∑=2
9 F8=4 -X F9=F8-2X8+1 = 1, X9=1,Y9=5 ∑=1
若P点在圆弧上,则有 (Xi2 +Yi2 ) — (Xo2 +Yo2) = 0,我们定义偏差函数Fi为 Fi = (Xi2 +Yi2 ) — (Xo2 +Yo2 )
Y
B(Xe,Ye)
Pi(Xi,Yi)
A(Xo,Yo) O
X
可见,若Fi=0,表示动点位于圆弧上;若Fi>0,表示动 点位于圆弧外;Fi<0,表示动点位于圆弧内。
(2)进给控制
把Fi=0和若Fi>0合在一起考虑,当Fi≥0时,向-X方向进 给一步;当Fi<0时,向+Y方向进给一步。

数控加工工艺及编程 圆弧插补指令编程

数控加工工艺及编程  圆弧插补指令编程

圆弧插补指令顺/逆时针圆弧插补G02/G03圆弧插补指令使刀具在指定平面内按给定的F进给速度作圆弧运动,切削出圆弧轮廓。

(1)圆弧顺、逆的判断。

圆弧插补指令分为顺时针圆弧插补指令G02和逆时针圆弧插补指令G03,圆弧插补的顺、逆可按如图1所示的方向判断:沿圆弧所在平面(如X-Z平面)的垂直坐标轴的负方向(-Y)看去,顺时针方向为G02,逆时针方向为G03。

数控车床是两坐标的机床,只有X轴和Z轴,那么如何判断圆弧的顺、逆呢?应按右手定则的方法将少轴也加上去来考虑。

观察者让Y轴的正方向指向自己(即沿Y轴的负方向看去),站在这样的位置上就可正确判断X-Z 平面上圆弧的顺、逆了,圆弧的顺、逆方向可按如图1所示的方向判断:沿与圆弧所在平面(如X-Z平面)相垂直的另一坐标轴的负方向(-Y)看去,顺时针为G02,逆时针为G03,如图5-11所示为车床上圆弧的顺逆方向。

图1 图2 圆弧顺逆方向(2)G02/G03指令编程格式。

在车床上加工圆弧时,不仅要用G02/G03指出圆弧的顺、逆时针方向,用X(U),Z(W)指定圆弧的终点坐标,而且还要指定圆弧的中心置。

常用指定圆心位置的方式有两种,因而G02/G03的指令格式有两种:①用I、K指定圆心位置:指令格式:N_ G02/G03 X(U) _ Z(W) _ I_ K_ F_;②用圆弧半径R指定圆心位置:指令格式:N_ G02/G03 X(U) _ Z(W) _ R_ F_;(3)说明。

①采用绝对值编程时,圆弧终点坐标为圆弧终点在工件坐标系中的坐标值,用X、Z表示。

当采用增量值编程时,圆弧终点坐标为圆弧终点相对于圆弧起点的增量值,用U、W表示。

②圆心坐标(I,K)为圆弧起点到圆弧中心点所作矢量分别在X、Z坐标轴方向上分矢量(矢量方向指向圆心)。

本系统I、K为增量值,并带有“土”号,当矢量的方向与坐标轴的方向不一致时取“一”号,如图3所示。

图3 G02圆弧插补指令说明(直径编程)③R为圆弧半径,不与I、K同时使用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

机电工程学院数控加工技术课程设计——插补算法实现学号:S311077006专业:机械工程学生姓名:胡晓锋任课教师:李霞副教授2011年4月基于PC的圆弧曲线加减速算法实现插补算法一直以来就是数控系统中的核心技术。

从数控系统的原理来说,插补的本质问题就是对任意曲线进行分解,成为若干段微小的曲线,当对曲线的分解达到无穷级时,每一段曲线便成为微小的直线段。

然后利用与相应微小曲线相类似的直线段代替,通过控制刀具按直线段行走进行加工,完成为整个曲线的插补运算加工。

实际问题中不可能对任意曲线的分解达到无穷,因此总是存在相应的误差。

然而在实际运用中对误差的容忍度有限,因此只需在满足精度的情况下进行曲线的分解。

对曲线的分解过程即是将其坐标点进行密化,不但要保证精度,还需要在极短的时间内完成。

受现代技术的限制,这一过程目前还存在一定的问题。

由此而产生的对插补算法的研究也一直没有停止过,从经典的逐点比较法到现在的自由曲面直接插补法,各种算法层出不穷。

本次对圆弧的插补算法是基于PC技术的算法,利用MATLAB软件编写相应的插补程序,实现对插补轨迹的模拟与分析。

一、问题描述本次设计针对圆弧曲线进行插补,采用加减速的方式完成刀具的行走过程。

根据数据采样插补原理,实现数控轨迹的密化。

本次插补的难点在于对刀具行走轨迹的自动加减速进行控制,由控制器发出相应指令,当刀具以不同速度运行到不同位置时,能够根据当前的状态判断下一个插补周期需要的状态,从而连续平滑的完成插补过程。

二、速度曲线的数学表达式刀具在进行插补时的速度应该是一个加速-匀速-减速的过程,各个过程与时间的关系应该由相应的加速度来控制。

因此曲线的形状呈现一定的抛物线形。

另初始进给速度为F1,末端进给速度为F2,指令速度为F,当前速度为V,减速距离为S,当前距离为CS,n为插补周期个数,t为当前时刻。

则速度的数学表达式如下:(F1<F)&&(CS>S),起始时刀具加速运动。

F1<F/2,加速度为2=;a tnF1>=F/2,加速度为a=(F1>=F)&&(CS>10),刀具做匀速运动。

(F1>=F)&&(CS<S),刀具做减速运动。

V<4F2,加速度为a=V>=F/2,加速度为2=。

a tn其速度曲线如图2.1所示。

图2.1 圆弧插补速度曲线三、插补轨迹的数学表达式本次插补对象为圆弧,因此其数学表达式为222+= (3-1)X Y R这里对圆弧第一象限部分进行插补,利用MATLAB软件进行图形绘制,这里令圆直径为50,其M函数如下:x1=50;y1=0;x2=0;y2=50;r=50;i=0:pi/20:1/2*pi plot(r*cos(i),r*sin(i)); 其圆弧轨迹如图3.1所示。

图3.1 圆弧轨迹四、 插补原理设被插补圆弧如图4.1所示,其半径为R ,圆心位于坐标原点O ,端点为A 和C 。

根据采样插补原理,圆弧插补的任务是,沿给定的圆弧轨迹在两端点之间进行坐标密化,并使插补点之间的距离i L∆满足速度和精度要求。

根据图中关系,位于圆弧轨迹上的插补点坐标可按下式求得:cos sin i ii ix R y R θθ== (4-1)这样,根据进给方向、进给速度和精度要求控制iθ的增加或减少,即可控制懂点沿圆弧轨迹逆时针或顺时针运动,从而实现逆圆或顺圆插补。

图4.1 圆弧插补原理由于式(4-1)就是圆弧的参数方程,因此可确保其计算的插补点位于圆弧指令轨迹上。

剩下的问题是,如何使插补速度和逼近误差满足要求,为此采取以下措施。

(1)速度控制由图3可知,两相邻插补点对应的位置角有以下关系:1i i i θθθ-=+∆ (4-2) 式中i θ∆为步距角(插补直线段i L ∆对应的圆心角)。

如果对步距角进行控制,使其满足60000i ii L F TR Rθ∆∆∆≈= (4-3) 式中i F 为进给速度(/min mm ); T ∆为插补周期(ms )。

则可使插补误差的运动速度满足给定的进给速度i F 。

(2)误差控制为满足误差的要求,可按给定的允许误差对iθ∆进行约束控制,使其最大值满足max θ∆=(4-4)式中e 为所允许的最大径向误差。

这样,实际运行过程中各种若max i θθ∆<∆,则按式(4-3)求出的i θ∆进行插补运算,否则按max i θθ∆=∆进行插补运算。

因为式(4-4)的计算可在预处理阶段完成,所以上述误差控制不会影响插补的实时性。

五、 柔性加减速控制为充分利用机床的有效工作行程,要求机床运动具有极短的加减速过渡过程。

而仅从时间上去考虑缩短过渡过程,而不对机床的加减速动态过程进行合理的控制,必将给击穿钢结构带来很大的冲击。

为解决问题,一方面要求数控系统能因机而异,另一方面需在控制系统中采用特殊方法来实现这种动态规律。

显然,传统数控系统采用的固定加减速控制方法是无法实现这一要求的。

为此采用一种可根据任意曲线对数控机床的运动进行自动加减速控制的方法。

这种方法将自动加减速控制有传统的固定模式推向新的柔性模式,为有效提高数控机床的动态性能探索出一条新的途径。

在数控系统软件中,设计一条通用的与加减速数据库内容无关的通道,由其独立完成加减速计算和轨迹控制。

该方法的实现原理图如图5.1所示。

图5.1 柔性加减速控制原理图1、柔性自动加速控制设给定的加速曲线如图5.2所示,现将其作为样板以数表形式存放于加减速曲线库中。

图中,d f为加速过程进给速度总该变量(样板速度差),d t 为加速过程所需时间(样板加速时间)。

根据加速曲线数表实现加速控制的过程如下: 根据加速开始前的进给速度F1,加速过程结束后进给速度F2,求出加速过程速度差21D F F F =-,并据此计算出实际速度差与样板速度差的比值21D F F F =- (5-1)根据加速开始前到当前时刻所经过的插补周期个数n ,计算出查表时间(T ∆为采样时周期/n t Tn K =∆ (5-2)根据n t 差加速曲线表可得样板速度增量n f。

由此可计算出经过n 个插补周期后实际速度的该变量n n F f K ∆= (5-3)进一步,经求出的n 周期速度该变量nF ∆代入下式,求出当前插补周期的实际进给速度1i n F F F =+∆ (5-4)最后,根据所求得的iF 计算当前采样周期中插补直线的长度,并据此进行归集计算,即可实现满足图5.3所示曲线要求的自动加速控制。

图5.2自动加速曲线 图5.3 自动减速曲线2、自动减速控制设给定的减速曲线如图5.3所示,如同加速控制一样将去作为样板以数表的形式存放于加减速曲线库中。

根据加速曲线数表实现自动减速控制的过程如下:同加速过程一样,减速过程速度差为12D F F F =-。

按照与加速控制相同的过程,求出查表时间n t,并查减速曲线表得样板速度增量n f,由此可计算出经过n 个插补周期后实际速度的改变量n D n F F f K ∆=- (5-5)进一步,将求出的n 周期改变量nF ∆代入下式,求出当前插补周期的实际进给速度1i n F F F =-∆ (5-6)最后,根据iF 计算当前插补周期中插补直线段的长度,并据此进行轨迹计算,即可实现满足图5.4所示曲线要求的自动减速控制。

对于自动减速控制,减速前还需要预测减速点,以决定何时开始减速。

确定减速点的依据是减速距离s ,其计算公式为:21212()2d d d dF F F F s s t F f f --=+ (5-7) 式中d t为样板减速时间; d s 为样板减速距离。

样板减速距离d s可通过下式以离线方式预先求出,并存储于加减速数据库中。

1()dmt d i i s f t dt f t ==≈∆∑⎰ (5-8)式中if 为样板减速曲线()f t 的离散取值;m 为样板减速曲线离散点总数;t ∆为竖直几分的时间增量。

六、 程序流程图插补程序流程图如图6.1所示图6.1 程序流程图七、代码插补程序部分代码如下:clear allv1=input('输入起始速度')v2=input('输入末端速度')x1=100;y1=0;x2=0;y2=100;R=100;x=x1;y=y1;X=[x];Y=[y];T=0.01;t=0;N=[t];v0=30;v=v1;V=[v];a_max=10;a=0;A=[a];rad=0;status=1;if (v2>v0)&&((v2-v0)>(a_max/2)) %距离判断res_s=(v0+v2)/2*((v2-v0)/a_max+1/2);elseres_s=(v0+v2)*sqrt((v2-v0)/a_max/2);endif (v2<v0)&&(v0-v2)>(a_max/2)res_s=(v0+v2)/2*((v0-v2)/a_max+1/2);elseres_s=(v0+v2)*sqrt((v0-v2)/a_max/2);endif v2==v0res_s=0;endc_s=R*pi/2;while rad<(pi/2)while c_s>res_st=t+T;switch statuscase 1if v1<v0 %加速if (v0-v1)<=(1/2*a_max)if (v-v1)<(v0-v)ap=a;a=2*a_max*t;a1=a;t1=t;elseap=a;a=a1-2*a_max*(t-t1);endvp=v;v=v+1/2*(a+ap)*T;if (v>v0)a=0;v=v0;endelseif (v0-v)>(1/4*a_max)if a<a_max ap=a;a=2*a_max*t;vp=v;v=v+1/2*(a+ap)*T;elsea=a_max;vp=v;v=v+a*T;enda2=a;t2=t;elseap=a;a=a2-2*a_max*(t-t2);vp=v;v=v+1/2*(a+ap)*T;if (v>v0)a=0;v=v0;endendendendif v1>v0 %减速if (v1-v0)<=(1/2*a_max)if (v1-v)<(v-v0) ap=a;a=-2*a_max*t;a1=a;t1=t;elseap=a;a=a1+2*a_max*(t-t1);endvp=v;v=v+1/2*(a+ap)*T;if (v<v0)a=0;v=v0;endelseif (v-v0)>(1/4*a_max)if a>(-a_max) ap=a;a=-2*a_max*t;vp=v;v=v+1/2*(a+ap)*T;elsea=-a_max;vp=v;v=v+a*T;enda2=a;t2=t;elseap=a;a=a2+2*a_max*(t-t2);vp=v;v=v+1/2*(a+ap)*T;if (v<v0)a=0;v=v0;endendendendendrad=rad+p_rad;x=R*cos(rad);y=sqrt(R*R-x*x);c_s=R*(pi/2-rad);X=[X x];Y=[Y y];V=[V v];A=[A a];N=[N t];t3=t;endx=x2;y=y2;X=[X x];Y=[Y y];plot(N,V,'r')figureplot(X,Y,'g')figureplot(N,A,'b')八、结果分析在MATLAB程序窗口输入以上命令并点击运行之后,输入相应的参数,可得到以下数据:速度曲线、加速度曲线、圆弧轨迹。

相关文档
最新文档