一千以内加减速算法(共2篇)
一千以内加减速算法 篇1
方法:两位数加两位数的进位加法:
口诀:
加9要减1,加8要减2,
加7要减3,加6要减4,
加5要减5,加4要减6,
加3要减7,加2要减8,
加1要减9(注:口决中的加几都是说个位上的数)。
例:26+38=64
解:加8要减2,谁减2 26上的6减2。38里十位上的3要进4。(注:后一个两位数上的十位怎么进位,是1我进2,是2我进3,是3我进4,依次类推。那朝什么地方进位呢,进在第一个两位数上十位上。如本次是3我进4,就是第一个两位数里的2+4=6。)这里的26+38=64就是6-2=4写在个位上,是3。
第一讲 加法速算
一、凑整加法
凑整加法就是凑整加差法,先凑成整数后加差数,就能算的快。8+7=15 计算时先将8凑成10 8加2等于10 7减2等于5 10+5=15
如17+9=26 计算程序是17+3=20 9-3=6 20+6=26
二、补数加法
补数加法速度快,主要是没有逐位进位的麻烦。补数就是两个数的和为10 100 1000 等等。8+2=10 78+22=100 8是2的补数,2也是8的补数,78是22的补数,22也是78的补数。利用补数进行加法计算的方法是十位加1,个位减补。例如6+8=14 计算时在6的十位加上1,变成16,再从16中减去8的补数2就得14
如6+7=13 先6+10=16 后16-3=13
如27+8=35 27+10=37 37-2=35
如25+85=110 25+100=125 125-15=110
如867+898=1765 867+1000=1867 1867-102=1765
三、调换位置的加法
两个十位数互换位置,有速算方法是:十位加个位,和是一位和是双,和是两位相加排中央。例如61+16=77,计算程序是6+1=7 7是一位数,和是双,就是两个7,61+16=77 再如83+38=121 计算程序是8+3=11 11就是两位数,两位数相加1+1=2排中央,将2排在11中间,就得121。
第二讲 减法速算
一、两位减一位补数减法
两位数减一位数的补数减法是:十位减1,个位加补。如15-8=7,15减去10等于5,5加个位8的补数2等于7。
二、多位数补数减法
补数减法就是减1加补,三位减两位的方法:百位减1,十位加补,如268-89=179,计算程序是268减100等于168,168加89的补数11就等于179。
三、调换位置的减法
两个十位数互换位置,有速算方法:十位数减个位数,然后乘以9,就是差数。如86-68=18,计算程序是8-6=2,2乘以9等于18。
四、多位数连减法
多位数连减,采用补数加减数的方法达到速算。先找到被减数的补数,然后将所有的减数当成加数连加,再看和的补数是多少,和的补数就是所求之差数。举例说明:653-35-67-43-168=340,先找被减数653的补数,653的补数是347,然后连加减数347+35+67+43+168=660,660的补数为340,差数就得340。
神奇数学公式:数字间的秘密
1x8+1=9
12x8+2=98
123x8+3=987
1234x8+4=9876
12345x8+5=98765
123456x8+6=987654
1234567x8+7=9876543
12345678x8+8=98765432
123456789x8+9=987654321
1x9+2=11
12x9+3=111
123x9+4=1111
1234x9+5=11111
12345x9+6=111111
123456x9+7=1111111
1234567x9+8=11111111
12345678x9+9=111111111
123456789x9+10=1111111111
9x9+7=88
98x9+6=888
987x9+5=8888
9876x9+4=88888
98765x9+3=888888
987654x9+2=8888888
9876543x9+1=88888888
98765432x9+0=888888888
很炫,是不是?
再看看这个对称式
1x1=1
11x11=121
111x111=12321
1111x1111=1234321
11111x11111=123454321
111111x111111=12345654321
1111111x1111111=1234567654321
11111111x11111111=
123456787654321
111111111x111111111=
12345678987654321
一千以内加减速算法 篇2
速度控制是机床和机器人控制器最重要的组成部分, 也是系统开发的难点。加减速控制一般分为后加减速控制和前加减速控制。后加减速控制是在插补后再进行加减速处理, 因此会引起轮廓误差。前加减速控制是在插补之前进行加减速处理, 对合成速度进行控制, 不会产生轮廓误差。因此在现代高档数控系统多使用前加减速控制。
目前对前加减速控制的研究比较多。文献[1,2,3,4]对加速进行离散采样时, 会出现“尾巴”, 为了消除“尾巴”需要预测减速点, 重新计算加速度。“尾巴”产生的原因是实际的轨迹由离散的直线段而不是连续曲线组成, 插补路径很难保证刚好是直线段的整数倍。因此, 位移、速度和加速度很难在插补终点同时到达零点。如果速度比位移更早到达零点, 则插补过程需多插补一个额外的低速段以完成剩余的位移量, 这一低速段称为“尾巴”。“尾巴”现象会极大降低系统插补效率。这是因为减速区的插补时间被延长。在某些情况下, 由于大部分伺服驱动器在低速情况下存在“死区”而最终无法达到目标插补终点, 因而将直接导致插补精度的下降。文献[1,2,3]通过重新计算减速区新的加速度和加加速度消除“尾巴”, 该方法对直线加减速而言带来的问题是加速区和减速区的加速度不同。对S形加减速而言, 减速时为了能够保证速度和位移同时到达指定的值, 会让当前速度突变到新速度, 导致加速度和加加速度突变, 会带来很大的冲击, 因此需要预测减速点, 让计算时间延长。
本文在插补开始时根据加速度重新计算运行速度, 以保证该速度加工能够保证插补路径刚好是直线段的整数倍。以此速度重新计算加速度和加加速度, 加工时以重新计算的速度、加速度、加加速度进行运动, 可以避免处理“尾巴”。同时根据采样次数决定加减速, 避免了预测减速点。
1 直线加减速离散算法
1.1 直线加减速
直线加减速是指在加减速过程中加速度为常数的加减速过程。假设Ts为采样周期, na为加减速所需的采样周期数, 则加减速时间T1=naTs;nb为匀速所需的采样周期数, 则匀速运行时间T2=nbTs;S为加工轨迹长度, vmax为程编加工速度 (不失一般性, 假定起点和终点速度为0, 加减速时间相同, 移动的距离大于加减速的移动距离) 。直线加减速过程如图1所示, 则直线加减速的加速度a (t) 、速度v1 (t) 、加工轨迹长度S (t) 分别为
(1)
(2)
式中, τk为相对时间, τk=tk-tk-1;tk为各个阶段的过渡时刻, k=1, 2, 3。
理论上讲, 开始时速度以加速度a加速, 速度达到加工速度后, 进入匀速运行状态, 当运动到减速点时以加速度a减速, 速度减到零时到达目标点, 但实际情况并非如此, 实际的减速过程和理论的减速过程不完全一致, 因此出现“尾巴”[2]。解决该问题的思路是:插补前, 重新计算最大运行速度和加速度, 并以此加速度和最大运行速度运行, 使得速度减为零时恰好达到目标点。
1.2 实际加工速度
由式 (3) 可得加工轨迹的长度S:
S=vmax (T1+T2) =vmax (na+nb) Ts (4)
则匀速段的采样个数nb为
nb=ent (S/ (vmaxTs) ) -na (5)
式中, ent (·) 为取整函数。
而实际的加工速度
v′max=S/[ (na+nb) Ts] (6)
则实际加速度
a′=v′max/ (naTs) (7)
系统以加速度a′进行加速, 加速na个采样周期后到达到速度v′max。以v′max速度匀速运行nb个采样周期后开始减速, 减速时以加速度a′减速na个周期后减速到零。插补的加减段和匀速段通过na和nb判断是否结束, 不需要在每次插补时计算减速区长度, 因此减小了计算量, 提高了效率。
1.3 离散后的加工速度加速段每个插补周期的速度为
v2 (t) = (Sn+1-Sn) /Ts=a′Ts[ (n+1) 2-n2]/2
0≤n<na, 且n为整数, 下同。
则
v2 (t) =a′ (2n+1) Ts/2 (8)
同理, 可得匀速段和减速段的速度。则离散后的加工速度
当t=2Ta+Tb时
S′=v′max (na+nb) Ts (10)
由式 (6) 和式 (10) 可得S′=S。S形加减速处理与直线加减速处理相同。
直线加减速的优点是计算简单, 因为它采用恒加速度, 加速度的导数为0。在加速段和减速段的起点和终点存在加速度突变, 机床运动存在冲击, 且速度的过渡不够平滑、运动精度低。
2 S形加减速离散算法
2.1 S形加减速
S形加减速的最重要特征是该算法的加速度/减速度曲线的形状如字母S。S形加减速的速度曲线平滑, 从而能够减少对机床的冲击并使插补过程具有柔性。S形加减速分为7段:加加速、匀加速、减加速、匀速、加减速、匀减速、减减速。图2所示的S形加减速, 起始和终止速度为零, 加工速度为vmax。不失一般性, 这里假定加加速、减加速、加减速、减减速时间均为T1, 即所需的采样个数na相同, 则T1=naTs;匀加速、匀减速时间均为T2, 所需的采样个数为ne a, 则T2=ne aTs;匀速运行时间为T4, 所需的采样个数为nb, 则T4=nbTs。不失一般性, 所走的距离S大于加减速距离。
S形加减速的加加速度公式为
(11)
式中, J为加加速度。
加速度公式为
(12)
式中, τp为相对时间, τp=tp-tp-1, p=1, 2, …, 7。
速度公式为
(13)
位移公式为
(14)
式中, Si为ti时刻的距离, i=1, 2, …, 6。
2.2 实际的加工速度由式 (12) 可得
J=vmax/[T2s (n2a+nane a) ] (15)
由式 (14) 可得加工长度
S=JnaT3s (2n2aTs+3nane a+n2e a) +nbTsvmax (16)
则采样周期数
nb=ent
由式 (16) 可得匀速段的加工速度
v′max=[S-JnaT3s (2n2aTs+3nane a+n2e a) ]/ (nbTs) (18)
由式 (15) ~式 (18) 可得实际运行过程的加加速度
J′=v′max/[T2s (n2a+nane a) ] (19)
2.3 离散后的加工速度加速段每个插补周期的速度为
v2 (t) = (Sn+1-Sn) /Ts=J′Ts[ (n+1) 3-n3]/6
0≤n<na
则
v2 (t) =J′T2s (3n2+3n+1) /6 (20)
同理可得匀加速段等其他段的加速度。离散后的加工速度为
插补时以该速度进行运算, 直到插补结束。
3 速度变化率
本文采用改变加工速度的方式消除“尾巴”, 由于加工速度和加工效率密切相关, 因此需要判断该方法对加工速度的影响。给出速度变化率的表达式如下:
η=| (vmax-v′max) /vmax|
对于直线, 有
v′max=S/[ (na+nb) Ts]
η<|vmaxTs/ (S-vmaxTs) |<1/ (na+nb-2) (21)
由式 (21) 可知, 长线段时η很小, 即加工速度变化很小, 不影响加工质量。短线段时, 实际速度达不到加工速度, 所以加工速度的变化对运行效果的影响不大。同理可知S形加减速的加工速度变化很小。
4 仿真与试验结果
现在根据上面的分析编程实现直线和S形曲线加减速过程。对于直线加减速。给定速度vmax=300mm/min, 采样周期为1ms, 加减速时间为400ms, 从 (0, 60mm) 运行到 (190mm, 110mm) 。则经过计算后, vmax=300.146mm/min, 加速度为0.75m/s2, 匀速运行的时间为880ms, 运行时间总计1680ms, 如图3所示。利用文献[3]的方法, 计算出vmax=300mm/min, 加速段加速度为0.75m/s2, 减加速段加速度为7.79m/s2, 运行时间总计为1620ms。从运行结果看虽然运行时间减少, 但减速段加速度变化过大, 给机床带来很大的振动。
对于S形加减速。给定速度vmax=300mm/min, 采样周期为1ms, 加减速时间为400ms, 从 (0, 60mm) 运行到 (190mm, 110mm) , 加加速段时间T1=100ms, 匀加速段时间T2=100ms。则经过计算后可知, vmax=300.19mm/min, 匀速运行段的时间T4=980ms, 如图4所示。
直线速度变化率η=0.049%, S形加减速度变化率η=0.063%。速度变化很小。基于上述算法, 在研制的车床系统DTM-7T上实现了此算法, 并在进行了验证, 效果良好。
参考文献
[1]曹宇男, 王田苗, 陈友东, 等.插补前S形加减速在CNC前瞻中的应用[J].北京航空航天大学学报, 2005, 33 (5) :594-599.
[2]Cao Yunan, Chen Youdong, Wei Hongxing, et al.The Algorithm of Former S-shape Acceleration/Deceleration in CNC System[C]//8th International Conference on Progress of Machining Technology.Tokyo, Japan, 2006:165-168.
[3]陈友东, 王田苗, 魏洪兴, 等.数控系统的直线和S形加减速研究[J].中国机械工程, 2006, 17 (15) :1600-1604.