恭喜,你发布的帖子
发布于 2023-04-06 11:47:27
9楼
三段梯形减速介绍(这类似简易的”S”曲线,舍去指对数计算后计算量小很多)以下全是简单的初中数学物理级别的推导,除参考通用数学教材外,未参考任何资料。
公式一:A1=A3=A=1pp/(2ms)2平方=0.25pp/(ms)2平方毫秒(这个约束关系保证:开始减速段一和结尾减速段三的减速度都是采样时间里只相差1个脉冲)
公式二:(Vmax+(Vmax-A1*T1))*T1/2==S1段一面积公式(梯形面积上底速度加下底速度乘以时间差高度除以2)
公式三:[(Vmax-A1*T1)+(Vmax-A1*T1-A2*T2)]*T2/2==S2段二面积公式(梯形面积上底速度加下底速度乘以时间差高度除以2)
公式四:[(Vmax-A1*T1-A2*T2)+Vmin]*T3/2==S3段三面积公式(梯形面积上底速度加下底速度乘以时间差高度除以2)
公式五:Vmax-A1*T1-A2*T2=Vmin+A3*T3(最后一个段三S3梯形或三角形的速度约束公式)
公式六:T==T1/N1==T2/N2==T3/N3;三个阶段时间的人为约束公式:常取N==N1==N3==1;N2==2或者N2==1;N==N1==N3是非常重要的,它要求减速开始和减速结尾的时间对称,只有自己动手简单的推导全过程才能体会到这个对称是非常巧妙的。N==N1==N3可以使方程成一次线性,否则如果不相等就要解一个一元二次方程,有两个根,虽然可以根据约束条件取舍一个根,但这是我们不愿意看到的;估计取N==N1==N3==1;N2==2或者取N==N1==N3==1;N2==1/4/6/8/10......这些取法都可能是有用的,可用的形式,N2越大衔接处突变相对较小,但开始结束可能无法做到1pp/Ts。而且可以通过控制N2让方程有解。
公式七:S1+S2+S3==S总减速距
繁琐的推导结果:
公式八:A2=={(2*N+N2)*(Vmax+Vmin)*(Vmax-Vmin)-4*A*N*N2*S总减速距}/(2*S总减速距*N2)
公式九:T=={2*S总减速距*(Vmax-Vmin)}/P; 注:P是一个缓存的中间变量,公式八和九非常对称精巧
公式十:P==4*S总减速距*N*A+(2*N+N2)*(Vmax+Vmin)*(Vmax-Vmin)-4*A*N*N2*S总减速距
可以根据以上几个简单的公式编程......
实际上如果第一段和第三段里分别有个开始设定jerk时间参数变量,那么这个变量在离散的小段时间里:实际上jerk时间段里的每个2ms时间片里类似于一个逐渐等差数列脉冲个数序列,比如组成的位置序列是这样的100/99/97/94/90/85,固定的离散的微小时间片里位置和速度其实是一个相辅相成的参数……
请填写推广理由:
分享
只看
楼主