梯形速度规划的加速度曲线是不连续的,这对于系统是有害的。从机械系统的角度来说,不连续的加速度会产生不必要的冲击力,使得机械系统产生抖动甚至破坏。双S型速度规划采用两段线性区间组合的方法解决加速度不连续的问题,线性段端点处采用抛物线过渡的方法,保证连接处的加速度曲线连续。若一个系统能够提供足够大的加加速度,双S型速度规划将会等同于梯形速度规划。另外,在相同的距离和期望速度下,双S型速度规划耗费的时间更多[1],计算也更复杂:
双S型速度规划是一种速度规划方式,其目的是为了减少对机械系统造成的影响。也叫铃型规划(Bell)七段S型速度规划。速度曲线如下图所示: 观察上述速度曲线图,可以将整个运动可分为
A
M
D
三个过程,分别是:
- 加速阶段(Acceleration Phase, AP)
- 最大速度阶段(Maximum Phase, MP)
- 减速阶段(Deceleration Phase, DP)
AP段和DP段端点处采用抛物线进行拟合,避免了加速度突变。因为AP DP段速度曲线的形状像英文字母中的“S”所以叫做双S型速度规划,事实上,只要存在一个"S"就能称为S型速度规划。
三、规划参数及各阶段特征、规划基本条件 3.1 规划参数规划参数是对速度轨迹形状的约束,可分为用户参数和系统参数,其中用户参数一般不作修改,为了达到规定的用户参数,系统参数可能会修调。用户参数指的是起始位置及速度:
- 整个规划端点处位移( q 0 q_0 q0 q 1 q_1 q1)
- 整个规划端点处速度( v 0 v_0 v0 v 1 v_1 v1)
系统参数是指:
- 速度上下限( v m a x v_{max} vmax v m i n v_{min} vmin)
- 最大加速度( a m a x a_{max} amax a m i n a_{min} amin)
- 最大加加速度( j m a x j_{max} jmax j m i n j_{min} jmin)
绝大多数时候,系统参数会采用“对称”规划,即: j m i n = − j m a x a m i n = − a m a x v m i n = − v m a x (3.1) j_{min}=-j_{max}\\ a_{min}=-a_{max}\\ v_{min}=-v_{max}\tag{3.1} jmin=−jmaxamin=−amaxvmin=−vmax(3.1) 文章的讨论都是基于(3.1)的对称规划进行的讨论。
3.2 各阶段的特征我们先讨论位移增大的情况( q 1 > q 0 q_1>q_0 q1>q0),在文章的最后我们将介绍位移减少情况( q 1 < q 0 q_1\left\{ \begin{aligned} &T_j^*(v_0+v_1) \\\\ & \frac{1}{2}(v_0+v_1)[T_j^*+\frac{|v_1-v_0|}{a_{max}}] \end{aligned}\tag{3.3} \right. q1−q0>⎩⎪⎪⎪⎨⎪⎪⎪⎧Tj∗(v0+v1)21(v0+v1)[Tj∗+amax∣v1−v0∣](3.3) 文中可能会出现以下参数记号:
- T j 1 T_{j1} Tj1:第一组高、低脉冲时间;
- T j 2 T_{j2} Tj2:第二组高、低脉冲时间;
- T a T_a Ta:加速段时间( T a ≥ 2 T j 1 T_a \ge2T_{j1} Ta≥2Tj1);
- T d T_d Td:减速段时间( T d ≥ 2 T j 2 T_d \ge2T_{j2} Td≥2Tj2);
- T v T_v Tv:匀速阶段;
- T T T:规划总时间( T = T a + T d + T v T=T_a+T_d+T_v T=Ta+Td+Tv);
- v l i m = m a x ( q ˙ ( t ) ) v_{lim}=max(\dot q(t)) vlim=max(q˙(t)) 运行的最大速度,如果有匀速段也称为运行速度;
- a l i m = m a x ( q ¨ ( t ) ) a_{lim}=max(\ddot q(t)) alim=max(q¨(t))运行的最大加速度。
规划完成后, v l i m v_{lim} vlim a l i m a_{lim} alim这两个参数在最好情况下等于系统最大速度 v m a x v_{max} vmax和系统最大加速度 a m a x a_{max} amax;他可能根据用户参数进行调整,实际可能小于系统最大速度 v m a x v_{max} vmax和系统最大加速度 a m a x a_{max} amax[3]。
S型规划的最终的目标合理分配A.M.D三个阶段的时间,完成指定用户期望速度。
四、双S曲线时间参数的计算完成双S型速度规划的关键在于计算时间参数,分别是 T j 1 T_{j1} Tj1, T j 2 T_{j2} Tj2 , T a T_a Ta, T d T_d Td, T v T_v Tv。时间参数计算分为两情况:
- v l i m = v m a x v_{lim}=v_{max} vlim=vmax
-
v
l
i
m
<
v
v
m
a
x
v_{lim}
关注打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?