【数控系统】第八章 七段式加减速算法
加减速算法根据分区数量可分为三段式加减速、五段式加减速、七段式加减速等,具体可查看【数控系统】第六章 加减速控制算法
本章介绍七段式加减速算法的计算流程,适用于非对称七段式加减速。(三段式和五段式的算法思路类似,在初始和结束速度均为0的情况下,计算公式更简单,这里不做赘述。)
一、七段式加减速算法流程
1、方法一
2、方法二
该方法参考《加加速度连续的S型加减速规划算法》(该论文存在勘误,请注意甄别)以及 YuZhi 在github上的开源项目 MatlabRobotAlg 。
3、方法三
该方法参考《加加速度连续的S型加减速规划算法》(该论文存在勘误,请注意甄别)。
二、加减速算法可视化
1、非圆整轨迹计算
使用以下参数进行计算
% 机床参数 mm/s mm/s^2 mm/s^3 s
mac_param = struct('max_vel',100,'max_acc',1000,'max_jerk',30000,'cycle_time',0.001);% 线段参数 mm mm/s mm/s
line_param = struct('length',30,'vs',0,'ve',0);
计算得到 t1 ~ t7 的数值,此时数值可能非插补周期1ms的整数倍,采用 YuZhi 在 github 上的开源项目 MatlabRobotAlg 中的 xx_cal_pvaj 轨迹计算函数进行显示(该项目仅支持初始速度和结束速度为0的加减速算法)。
2、圆整轨迹计算
使用以下参数进行计算
% 机床参数 mm/s mm/s^2 mm/s^3 s
mac_param = struct('max_vel',100,'max_acc',1000,'max_jerk',30000,'cycle_time',0.001);% 线段参数 mm mm/s mm/s
line_param = struct('length',30,'vs',20,'ve',10);
计算得到 T1 ~ T7 的数值,此时数值为插补周期1ms的整数倍,对离散后的数值进行误差补偿,得到补偿前S和补偿后SE。