回复内容:
对: 刘岩利 运动的规划,与控制方式没有什么关系。 内容的回复!
我刚开始做这方面,还请详细指点,谢谢!如果伺服驱动器设置为位置控制模式那么就是开环了。但是设置为速度控制模式就需要自己做个位置闭环了,速度规划出的位移量是位置闭环的输入,位置闭环的输出是伺服驱动器模拟量的给定值。假如速度规划1ms一次,如果给出的位移量太大,那么在这1ms的时间内,PID肯定调节不到给定的位置,这样就不满足 S=V0+1/2at^2 这个公式了,那么减速距离就不好判断了。如果给定的位移量太小,那么肯定在这1ms的时间内很快就到达给定位置了,那么在下一个1ms到来前速度就为0了。
回复内容:
对: gchengdy 回复内容:对: 刘岩利 运动的规划,与控制方式没有什... 内容的回复!
原来是这个要求,特别简单。
首先确定伺服系统所能允许的最短时间,比如为直线减速,那么实际的停机点距离就是这个斜线时间对速度的积分。当前速度知道,距离差知道,很明显就可以求出减速点。
另外,再考虑闭环时间与减速率之间的关系,允许最大误差所对应的时间内应该有尽量多的调节周期,至少保持5个,最少不低于3个调节周期。
如果闭环时间做不到,那么就在直线减速的后段保持足够长的接受时间,就是两段减速率。用时间换精度。
速度给定是什么硬件设备?
其实伺服本身位置模式就具有最短的响应时间,无论什么外部给定都会比这个周期长。
回复内容:
对: gchengdy 回复内容:对: 刘岩利 运动的规划,与控制方式没有什... 内容的回复!
在对速度规划时,当然要考虑运动系统(驱动器/电机/传动……)的实际执行能力,但是这与执行的方式没有什么关系。
1ms内是否能调节到位,是执行环节的事情,在考虑速度规划的时候,不用拿来添乱。而且,实际上没有那个闭环控制系统是可以保证一个周期调整到位的。根据系统的实际情况设置合理的减速度,是现场使用者(所谓二次开发人员)的事情,不是设计者的事情。当然,如果您行有余力,可以多考虑一点,为使用者提供更多便利,但是目前,不用管那么多
只要按照s=v*v/a/2算出开始减速的位置,考虑到当前的速度和周期,多留一点就是了。比如当前速度是每个周期100,减速度设置是每周期减5,那么,算出来的减速距离就是1000。假设运动终点是10000,在稳速阶段,每个周期的位置规划是1050、1150、1250……。那么到了8950之后,就该开始减速了。
如果要比较高级的减速曲线,不过就是减速距离的计算不一样。(当然,减速段内的规划算法也不一样。)
回复内容:
对: 刘岩利 回复内容:对: gchengdy 回复内容:对:... 内容的回复!
谢谢你的解答!我还是不太明白,我的速度规划是1ms一次,比如我第一次给出1050,第二次给出1150... 但是在第一次的规划时间内,实际的PID执行机构并没有到达1050,到达1050经过了几个周期是算不出来的(PID算法只能保证调节到指定位置但是调节到指定位置需要多长时间就不一定了,这个与给定的位移大小有关),所以实际的加速度和我给定的加速度不一样,实际上实际的加速度比我给定的小。我用s=v*v/(2a)来计算剩余位置时,使用的是我给定的加速度,所以计算出来的减速距离比实际减速距离要小。