最近开始接触百纳米级别的控制精度,为了达到这一精度,必须使用高阶的轨迹规划。
四阶轨迹规划的作用是把一个阶跃信号变为一个四阶连续信号。
例如一个电机,想让它从a点移动到b点,那么给出的参考信号在位置,速度,加速度和加加速度上都是连续的,只有加加加速度是非连续的。
我一开始有疑问,为什么要考虑到加加速度(jerk)和加加加速度(Djerk)呢?毕竟电机的加速度一般只和电流有关。
这是因为电机的电流也需要响应时间,而jerk对应的即是电机驱动器中的电流环带宽,也就是电流上升速度。
根据电流环带宽,电机力矩,电机最大负载,电机最大速度,以及移动距离,就可以计算出这样一个四阶连续信号。
具体怎么做呢?
在电机从a点移动到b点的过程中,需要经历加速和减速两个阶段,加速度则是先正后负,一路往下分解,到了Djerk这一层,总共可以分解出16次Djerk值发生变化,也就是16个时间节点,这16个时间节点的长度是固定比例的。
通过规定要运动的距离,就可以一路往下迭代计算出16个时间节点,具体运算还是比较复杂的,计算量也比较大。
假如要抵达规定速度,也可以只迭代8个时间节点,以此类推。
这通过这种算法,就可以让执行器完全地跟踪参考信号,而且还有个好处就是可以很方便地进行速度,加速度,加加速度的前馈补偿。
matlab仿真结果如下: