发明内容
本发明要解决的技术问题是提供一种连续小线段轨迹的动态自适应速度前瞻控制方法,有效解决了现有速度前瞻控制和插补技术造成衔接点过渡的速度曲线不连续的技术问题。
本发明提供的技术方案包括:
一种连续小线段轨迹的动态自适应速度前瞻控制方法,包括:
S1根据轨迹几何和机床机械性能参数限制条件,计算衔接点最大速度,并确定速度前瞻的段数;
S2根据起始速度减速至0的减速距离、及未前瞻路径总和与当前线段位移长度之差判断是否进入减速区域;若不是,跳转至步骤S3;
S3比较起始速度与结束速度的大小;若起始速度大于结束速度,且都小于目标速度,则跳转至步骤S4;
S4根据起始速度减速至结束速度的减速距离、及当前线段位移长度判断是否满足减速距离约束条件;若是,跳转至步骤S7;否则跳转至步骤S5;
S5进一步判断起始速度减速至结束速度的减速距离是否小于当前线段位移长度,若是,跳转至步骤S7;否则跳转至步骤S6;
S6利用二分法查找当前段位移长度约束的最大起始速度,以此循环直到回溯到前瞻起点;
S7更新未前瞻路径总,并判断当前线段所在段是否小于前瞻段数,若是,跳转至步骤S2;否则,跳转至步骤S8;
S8结束速度前瞻控制。
进一步优选地,在步骤S2中,若根据起始速度减速至0的减速距离小于未前瞻路径总和与当前线段位移长度之差,则判定进入减速区域,并跳转至步骤S9;
S9根据结束速度减速至0的减速距离、及未前瞻路径总和与当前线段位移长度之差判断是否满足减速距离约束条件;若是,跳转至步骤S6;否则,跳转至步骤S10;
S10根据二分法查找并修正起始速度,并判断结束速度减速至起始速度的减速距离是否小于当前线段位移长度,若是,跳转至步骤S7;否则跳转至步骤S6。
进一步优选地,在步骤S3中,若判断起始速度小于结束速度,且都小于目标速度,则跳转至步骤S11;
S11根据起始速度加速至结束速度的加速距离、及当前线段位移长度判断是否满足加速距离约束条件;若是,跳转至步骤S12;
S12计算起始速度加速至目标速度的加速距离,及目标速度减速至结束速度的减速距离,并判断两个之和是否大于当前线段位移长度,若是,跳转至步骤S13;否则跳转至步骤S7;
S13利用二分法查找最大可达速度,并以此更新当前线段的目标速度,跳转至步骤S7。
进一步优选地,在步骤S11中,若根据起始速度加速至结束速度的加速距离、及当前线段位移长度判断不满足加速距离约束条件,则跳转至步骤S14;
S14根据二分法查找当前段位移长度约束的最大结束速度,并以此更新当前线段的结束速度,跳转至步骤S7。
进一步优选地,在步骤S3中,若判断起始速度、结束速度及目标速度相等,则跳转至步骤7。
进一步优选地,在步骤S1,认速度前瞻的段数中,具体包括:
S21初始化前瞻段数N,并设置前瞻的夹角阀值DeltaAng,初始化前瞻统计段数SegNum=0;
S22判断线段数据存放列表是否为空;若是,跳转至步骤S25;否则,跳转至步骤S23;
S23从线段数据存放列表中读取一段加工轨迹,且前瞻统计段数SegNum递增1;
S24判断前瞻统计段数SegNum是否大于前瞻段数N,若是,跳转至步骤S25;否则,跳转至步骤S22;
S25最终前瞻统计段数为SegNum,前瞻段数统计结束。
进一步优选地,在步骤S24中,判断前瞻统计段数SegNum是否大于前瞻段数N、相邻小线段夹角θi是否大于夹角阈值DeltaAng;若前瞻统计段数SegNum大于前瞻段数N,或相邻小线段夹角θi大于夹角阈值DeltaAng,则跳转至步骤S25;否则,跳转至步骤S22。
进一步优选地,在步骤S1,计算衔接点最大速度中,具体为:根据轨迹几何参数约束和机床机械性能参数约束计算得到衔接处最大速度。
进一步优选地,所述轨迹几何约束包括:线段位移长度约束、相邻段夹角约束以及衔接点轮廓误差限制;
所述机床机械性能参数约束包括:最大合速度约束及连续轨迹曲率约束。
进一步优选地,取轨迹几何约束及机床机械性能参数约束各限制速度值的最小值作为衔接处最大速度。
本发明提出的连续小线段轨迹的动态自适应速度前瞻控制方法综合考虑设备加减速能力、线段位移以及整体加工路径(轨迹几何参数和机床机械性能参数)对相邻小线段衔接点最大速度的限制,实现了衔接点最大速度最优解的求解。
此外,本发明提出的连续小线段轨迹的动态自适应速度前瞻控制方法采取基于离散S形加减速控制方法的衔接点最大速度推导公式,有效避免传统速度前瞻方法因采用连续时域的速度推算公式引起的衔接点前瞻速度和实际插补速度不一致现象,从而避免衔接点处出现速度跳变。
再有,本发明提出的连续小线段轨迹的动态自适应速度前瞻控制方法提出了速度前推和回溯处理方法,给出需要速度回溯处理的各种可能情况,并提出速度回溯处理停止条件,有效实现了连续轨迹间过渡速度的高速衔接,大大缩短了加工时间,提高加工效率。
最后,本发明所提出的连续小线段轨迹的动态自适应速度前瞻控制方法已成功应用于点胶机等设备的数控系统,并取得了良好的经济效益。
具体实施方式
下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,均属于本发明保护的范围。
(一)衔接点最大速度计算
鉴于相邻小线段之间是连续的,因此段间衔接速度也应该是连续变化。由于相邻段之间存在夹角,故衔接点处的合成速度方向和大小都有可能改变,从而引起单轴的速度大小和方向也随之变化。为确保加工轨迹的跟随精度和加工的平稳性,必须事先对程序段衔接处速度进行处理。衔接点处最大速度主要受轨迹几何参数和机床机械性能参数等因素限制,以下对衔接点最大速度计算进行推导:
(1)轨迹几何参数约束
1)线段位移长度约束
如图1所示为插补跨段示意图,包括L1、L2和L3,端点分别为P0、P1、P2和P3。考虑到经CAD/CAM处理后产生的小线段长度不一,且受曲线曲率和轮廓误差等条件的限制,即当前小线段的长度有可能很短,以此,为了避免插补过程出现跨段现象,有效保证插补点通过每条小线段,将当前线段(微段)位移长度对衔接处最大速度满足式(1):
其中,V1表示当前小线段位移长度限制下的拐角速度,Li和Ts分别表示当前小线段位移长度和插补周期。
2)相邻段夹角约束
如图2所示为相邻段速度变化示意图。连续小线段加工过程应尽量使衔接点不减或少减速以实现高速加工的目的,常以相邻小线段夹角作为控制衔接点通过速度的参变量,其约束条件可表示为式(2):
其中,V2表示相邻小线段夹角限制下的拐角速度,θ表示相邻段之间的夹角(如图示中线段Li和线段Li+1于端点Pi处的夹角),Amax表示允许的最大加速度。
3)衔接点轮廓误差限制
如图3为轮廓误差限制速度示意图,点Pi代表第i段小线段的端点,点A、B和C分别表示跨段过渡的起点、终点以及端点Pi到直线AB的垂足,θ为相邻小线段的夹角,并令δ=|PiC|。假设允许的轮廓误差为△E,过渡起点A的当前速度为Vi,插补周期为Ts,则有|AB|=Vi·Ts。由几何条件可知,当ΔAPiB为等腰三角形时,轮廓误差取最大值,故有式(3):
将实际轮廓误差△E代入式(3)并简化,得到轮廓误差限制速度V3为:
(2)机床机械性能参数约束
1)综合约束条件
①最大合速度约束满足式(5)
V4≤Vimax (5)
其中,V4表示最大合速度限制下的速度值,其中Vimax表示第i段小线段允许的最大合速度,Vimax受各轴允许的最大速度限制。
②最大合加速度约束满足式(6)
Ai≤Aimax (6)
其中,Ai表示用户设置的合加速度,Aimax表示第i段小线段允许的最大合加速度。
③连续轨迹曲率约束
如图4所示为曲率半径对进给速度约束示意图。若小线段长度足够,插补点不会出现跨段现象,拐角速度一般由夹角约束条件决定。但如果小线段长度很短时,除了考虑夹角约束以外,还应考虑原有曲线的曲率半径对进给速度的约束。鉴于直接计算原有曲线的曲率半径非常复杂和困难,为了简化计算,本发明采取近似曲率半径计算方法。以此,根据逼近精度要求,允许的误差范围与插补最大弦长满足式(7):
其中,ΔLmax表示允许误差范围内允许的插补最大弦长,δ和r分别表示直线段逼近曲线轨迹的弦高误差和曲线近似曲率半径。
基于此,最大弦长对进给速度V5的限制可表示为式(8):
可见,在给定误差前提下,拐点处最大通过速度受最大弦长条件约束。
如图5所示为曲率半径计算示意图,其中,点P0~P2分别表示相邻小线段的3个端点。根据曲率半径近似计算法可知,逼近的曲率半径r可通过式(9)进行估算:
其中,可表示为式(10):
将式(10)代入式(9)并化简得式(11):
其中,
2)单因素约束条件
①单轴最大速度约束满足式(13)
其中,Vimax表示单轴最大速度约束限制下允许的最大合速度,Λ表示轴号,VΛmax表示轴Λ允许的最大速度,cos(θΛ)表示轴Λ的方向余弦,i表示当前小线段段号,其中:
其中,Li表示当前小线段广义上的位移,LΛi表示第i段小线段Λ轴位移分量。由于各程序段内各运动轴的运动速度受其最大允许速度限制,若计算得到的最大合成速度不满足式(13),则需降低其值。
②单轴最大加速度约束满足式(15)
其中,AΛmax表示轴Λ允许的最大加速度,即用户设置的最大合加速度Aimax受各轴允许的最大加速度AΛmax限制。
综上,得到连续轨迹相邻衔接点处最大衔接速度:min(F,V1,V2,V3,V4,V5),即取各限制速度值的最小值,其中F表示各线段段内设定的指令速度。
(二)速度前瞻段数的动态计算
本发明所提的速度前瞻控制方法通过预读若干段路径轨迹进行分析和处理,根据进给速度和加工过程平滑减速等限制,按照一定的加减速规律查找最优衔接速度,以达到衔接点处进给速度高速、平滑过渡的目标。前瞻的另一个目的在于提前发现加工路径的拐点,使得加减速过程能够提前减速至最大限制速度并安全渡过拐点,有效避免电机的过载、振动和冲击等现象。理论上来说,前瞻段数越多,前瞻能够预测的路径就越远,也越有助于提高加工轨迹的进给速度。但相应的存储空间和计算机运算负载等也会相应的提高。若前瞻段数过少,则容易造成整体加工路径的进给速度过低,从而影响加工效率。
本发明的前瞻段数通过查找减速零点得到,即从起始点到速度零点的段数即为前瞻的段数。其中,速度零点可能是加工文件的结束点,也可能是加工路径中间的敏感点。敏感点指的是相邻段衔接处夹角太大,为了保证加工质量和精度,不得不以准停的方式处理的加工段间的衔接点。
如图6所示为离散小线段逼近两段任意曲线(和)示意图,其中Pi(i=0,1,2,...,n)为离散小线段的端点,τi(i=0,1,2,...,n)表示矢量的切向量,θi(i=0,1,2,...,n)表示切向量τi-1和τi之间的夹角。假设预先设定的速度前瞻段数为N(N=n),另外,预设相邻小线段夹角阀值为DeltaAng,并规定:当相邻小线段夹角θi大于DeltaAng时,该处小线段衔接点设定为拐点(结束速度为0)。
如图7所示为速度前瞻段数计算流程图,从图7中可以看出,在该速度前瞻段数计算流程一种实施方式中包括:S21初始化前瞻段数N,并设置前瞻的夹角阀值DeltaAng,初始化前瞻统计段数SegNum=0;S22判断线段数据存放列表是否为空;若是,跳转至步骤S25;否则,跳转至步骤S23;S23从线段数据存放列表中读取一段加工轨迹,且前瞻统计段数SegNum递增1;S24判断前瞻统计段数SegNum是否大于前瞻段数N,若是,跳转至步骤S25;否则,跳转至步骤S22;S25最终前瞻统计段数为SegNum,前瞻段数统计结束。
进一步来说,在步骤S24中,判断前瞻统计段数SegNum是否大于前瞻段数N、相邻小线段夹角θi是否大于夹角阈值DeltaAng;若前瞻统计段数SegNum大于前瞻段数N,或相邻小线段夹角θi大于夹角阈值DeltaAng,则跳转至步骤S25;否则,跳转至步骤S22。
(三)实际减速点实时预测方法
对单个线性程序段而言,插补过程必须实时预测减速点以确定进入减速区的节点,从而保证系统运行至终点时能够达到预定的结束速度。对于长的程序段来说,减速点一般位于当前程序段内。但是,对于连续微直线段而言,由于微直线段长度较短,减速点有可能在前几个线段中,即减速区长度由若干微直线段构成。因此,为了确保减速过程的顺利进行,必须提前对减速点进行预测。实际减速点实时预测是S形加减速控制方法实施的难点。同理,速度前瞻控制方法以一定数量的小线段位移之和作为整体进行离散S形速度规划,实际减速点实时预测将关乎速度前瞻控制方法的成败,决定着实际加减速过程中剩余路径长度能否足够当前速度减速至终点(速度拐点或尖锐角)。
如图8为所示为实际减速点实时预测示意图。不失一般性,假设已经确定前瞻段数SegNum=n,Li(i=0,1,2,...,n)表示第i段小线段的位移长度;fi(i=0,1,2,...,n)代表第i段小线段终点允许的最大速度。根据当前小线段的目标速度、起始速度和结束速度大小关系,判断加减速类型并计算从当前速度减速至0所需要的减速距离Sdec(Vcur,0),然后将Sdec(Vcur,0)与未前瞻路径总和Sremain比较,以未前瞻路径总和Sremain小于减速距离Sdec(Vcur,0)作为进入减速区的判定条件。速度前瞻段数计算过程中,参与前瞻的所有小线段的总长度累加和Stotal可计算为式(16):
同理,随着前瞻往后推进,可知未前瞻路径总Sremain和为:
基于此,根据离散S形加减速控制方法原理,本发明采取提前预判方式进行减速点预测,即前瞻开始时先计算从当前段起始速度减速至0所需的减速距离,参照中国专利CN106168790A可得如式(18)的减速距离计算公式:
其中,fi,s表示第i段小线段起始速度;Sdec(fi,s,0)表示起始速度fi,s减速至0所需的减速距离,n6和n7分别表示匀减速和减减速阶段实际插补周期数。
同理,从起始速度fs直接加速至目标速度F所需的加速距离Sacc(fs,F)如式(19):
其中,n2和n3分别表示匀加速和减加速阶段实际插补周期数。
于此,如图9所示,实际减速点预测的过程包括:
S31初始化参数:通过上述自适应速度前瞻控制方法确定前瞻段数N和前瞻路径总位移Stotal,并令Sremain=Stotal。另外,设置变量i和进入减速区标志位DecFlag;
S32计算从当前起始速度减速至0的减速区域长度Sdec(fi,s,0);
S33判断Sdec(fi,s,0)是否小于(Sremain-Li),若Sdec(fi,s,0)≤(Sremain-Li),更新Sremain=Sremain-Li并跳转至步骤S34;否则跳转至步骤S35;
S34判断i是否小于N,若是,跳转至步骤S32;否则跳转至步骤S35;
S35进入减速区,并减速标志位置1(DecFlag=1)。
(四)速度前推和回溯处理方法以及速度前瞻控制方法实施流程
如图10所示为速度前推和回溯处理示意图,具体,速度前推和速度回溯处理是在前瞻段数N以及小线段相邻衔接点之间允许的最大速度fi,e已知的前提下实施的,目的在于寻找满足当前小线段位移Li和fi,e双重限制条件下衔接点的最优过渡速度,通过尽可能地提高过渡速度已达到提高整体加工效率的目的。
如图10,从前瞻起点或者当前点往前瞻终点方向(实线箭头方向)进行速度推导为速度前推,从前瞻终点或者当前点往前瞻起点方向(虚线箭头方向)进行速度推导为速度回溯。速度前推处理根据第i段小线段起始速度fi,s、位移Li和终点允许最大速度fi,e等参数计算终点实际可达的速度值具体,速度前推处理流程可描述为:
(1)若fi,s≤fi,e成立,则:
由式(19)计算从fi,s加速(或匀速)至fi,e的距离Sacc(fi,s,fi,e)。
1)若Sacc(fi,s,fi,e)≤Li,即第i段小线段位移Li满足从fi,s加速(或匀速)至fi,e的距离限制,故有
2)否则,第i段小线段位移Li不满足从fi,s加速(或匀速)至fi,e的距离限制,需采用二分法查找满足Li限制的实际可达速度
(2)若fi,s>fi,e成立,则:
由式(18)计算从fi,s减速至fi,e的距离Sdec(fi,s,fi,e)。
1)若Sdec(fi,s,fi,e)≤Li,即第i段小线段位移Li满足从fi,s减速至fi,e的距离限制,故有
2)否则,第i段小线段位移Li不满足从fi,s减速至fi,e的距离限制,需采用上述二分法查找满足Li和fi,e限制的实际允许的起始速度此时仍有
更具体来说,在上述步骤1中2)所述二分法查找段内最优速度方法具体为:
已知当前段位移L、起始速度fs、目标速度F和结束速度fe等参数前提下,二分法查找满足位移L限制下的最优速度,该最优速度可以是起始速度fs、目标速度F或结束速度fe。假设fs>fe且位移L过短导致设定的目标速度F不可达,则按照二分法思想寻找速度可行域[fs,F)内满足L限制的最大速度Vm,另外设置阀值δ=0.001作为二分法结束的条件,二分法查找段内最优速度方法的实施流程可描述为:
(1)令a=fs,b=F;
(2)令
(3)由式(19)和(18)分别计算Sacc(Vm,Vs)和Sdec(Vm,Ve);
并令Stotal=Sacc(Vm,Vs)+Sdec(Vm,Ve);
(4)判断L与Stotal的大小关系:
1)若L>Stotal,令a=Vm,跳转至步骤(5);
2)若L<Stotal,令b=Vm,跳转至步骤(5);
3)否则,结束二分法迭代查找过程,当前段可达的最大速度为Vm;
(5)若条件fabs(a-b)≤δ成立,则结束二分法迭代查找过程,当前段可达的最大速度为Vm;否则,跳转至步骤(6);
(6)若(L-Stotal)<Vm成立,则结束二分法迭代查找过程,当前段可达的最大速度为Vm;否则,跳转至步骤(2)。
如图10,速度回溯可发生在加速过程,也有可能发生在减速过程。前者是由于在加速过程出现大的拐角,且当前小线段距离Li不足够从当前起始速度fi,s减速至结束点允许的最大速度fi,e时,则需要进行速度回溯处理,如图中①、②和③圈出部分轨迹。后者出现则是因为减速过程中当前小线段距离Li不足够从当前起始速度fi,s减速至结束点允许的最大速度fi,e导致。速度回溯处理根据第i段小线段起始速度fi,s、位移Li和终点允许最大速度fi,e等参数计算起点实际允许的速度值fi-1,e(fi,s=fi-1,e)。速度回溯处理实施流程可描述为:
(1)令j=i;
(2)Vs=fj,e,Ve=fj-1,e;
(3)计算从Ve直接减速至Vs所需的距离Sdec(Ve,Vs);
(4)比较Sdec(Ve,Vs)与Li的大小:
1)若Sdec(Ve,Vs)≤Li,则表示Li满足从当前起始速度fi,s减速至结束点允许的最大速度fi,e的距离约束,跳出循环停止速度回溯;
2)否则,利用二分法查找满足Li限制的起始速度Ve;
(5)更新fj-1,e=Ve,j--;
(6)若fj-1,e≥fj-2,e成立,即前一段轨迹为加速过程,则跳出循环停止速度回溯;否则判断是否已经回溯至前瞻起点,若已经回到前瞻起点则则跳出循环停止速度回溯;否则跳转至步骤(2)。
由上述分析可知,最坏情况下的速度回溯迭代次数为i次,即回溯到前瞻的起点;速度回溯停止条件有两个:
(1)当前段位移Li满足从当前起始速度fi,s减速至结束点允许的最大速度fi,e的距离约束;
(2)经步骤4(2)中二分法查找得到的fj-1,e满足fj-1,e≥fj-2,e条件,即前一段轨迹为加速过程。
基于上述描述,以下我们对速度前瞻控制方法进行描述,包括预处理、初始化、速度前推和回溯处理等过程,如图11所示,在该速度前瞻控制方法中包括:
S1根据轨迹几何和机床机械性能参数限制条件,计算衔接点最大速度,并确定速度前瞻的段数;
S2根据起始速度减速至0的减速距离、及未前瞻路径总和与当前线段位移长度之差判断是否进入减速区域;若不是,跳转至步骤S3;
S3比较起始速度与结束速度的大小;若起始速度大于结束速度,且都小于目标速度,则跳转至步骤S4;
S4根据起始速度减速至结束速度的减速距离、及当前线段位移长度判断是否满足减速距离约束条件;若是,跳转至步骤S7;否则跳转至步骤S5;
S5进一步判断起始速度减速至结束速度的减速距离是否小于当前线段位移长度,若是,跳转至步骤S7;否则跳转至步骤S6;
S6利用二分法查找当前段位移长度约束的最大起始速度,以此循环直到回溯到前瞻起点;
S7更新未前瞻路径总,并判断当前线段所在段是否小于前瞻段数,若是,跳转至步骤S2;否则,跳转至步骤S8;
S8结束速度前瞻控制。
更进一步来说,在步骤S2中,若根据起始速度减速至0的减速距离小于未前瞻路径总和与当前线段位移长度之差,则判定进入减速区域,并跳转至步骤S9;
S9根据结束速度减速至0的减速距离、及未前瞻路径总和与当前线段位移长度之差判断是否满足减速距离约束条件;若是,跳转至步骤S6;否则,跳转至步骤S10;
S10根据二分法查找并修正起始速度,并判断结束速度减速至起始速度的减速距离是否小于当前线段位移长度,若是,跳转至步骤S7;否则跳转至步骤S6。
此外,在步骤S3中,若判断起始速度小于结束速度,且都小于目标速度,则跳转至步骤S11;若判断起始速度、结束速度及目标速度相等,则跳转至步骤7;
S11根据起始速度加速至结束速度的加速距离、及当前线段位移长度判断是否满足加速距离约束条件;若是,跳转至步骤S12;若根据起始速度加速至结束速度的加速距离、及当前线段位移长度判断不满足加速距离约束条件,则跳转至步骤S14;
S12计算起始速度加速至目标速度的加速距离,及目标速度减速至结束速度的减速距离,并判断两个之和是否大于当前线段位移长度,若是,跳转至步骤S13;否则跳转至步骤S7;
S13利用二分法查找最大可达速度,并以此更新当前线段的目标速度,跳转至步骤S7;
S14根据二分法查找当前段位移长度约束的最大结束速度,并以此更新当前线段的结束速度,跳转至步骤S7。
在实例中,在该速度前瞻控制方法中包括:
(1)前瞻预处理:预先计算各小线段的位移、相邻段夹角以及衔接点处允许的最大速度等参数,并确定前瞻段数N和前瞻路径总位移量
(2)初始化:由步骤得到前瞻段数N,令未前瞻路径总和Sremain=Stotal,另外设置变量i=0和进入减速区标志位DecFlag=0;
(3)令Vs=fi,s,Ve=fi,e,Vm=F,并计算从Vs减速至0的减速距离Sdec(Vs,0);
(4)比较Sdec(Vs,0)与(Sremain-Li)的大小,并检测DecFlag的值:
1)若Sdec(Vs,0)≤(Sremain-Li)&&(DecFlag=0)成立,则进一步判断Vs,Ve和Vm的大小:
①若Vm>Vs>Ve成立,跳转至步骤(5);
②若Vm>Ve≥Vs成立,跳转至步骤(6);
③否则有Vm=Ve=Vs,跳转至步骤(11);
2)否则,进入减速区,并令DecFlag=1,然后,根据二分法迭代查找满足限制的最大结束速度Ve,跳转至步骤(7);
(5)由式(18)计算从Vs直接减速至Ve的减速距离Sdec(Vs,Ve),进一步判断Sdec(Vs,Ve)与Li的大小关系决定程序流向:
1)若满足条件Sdec(Vs,Ve)≤Li,则跳转至步骤(11);
2)否则,当前段位移Li不满足从Vs直接减速至Ve的减速距离条件约束,重新修正允许的起始速度Vs,令j=i,跳转至步骤(8)进行速度回溯处理;
(6)由式(19)计算从Vs直接加速至Ve的加速距离Sacc(Vs,Ve),进一步判断Sacc(Vs,Ve)与Li的大小关系决定程序流向:
1)若满足条件Sacc(Vs,Ve)≤Li,则跳转至步骤(9);
2)否则,当前段位移Li不满足从Vs直接加速至Ve的加速距离条件约束,根据二分法重新修正允许的结束速度Ve,更新当前段可达的结束速度fi,e=Ve,跳转至步骤(11);
(7)由式(18)计算从Ve直接减速至0的减速距离Sdec(Ve,0),进一步判断Sdec(Ve,0)与(Sremain-Li)的大小关系决定程序流向:
1)若满足条件Sdec(Ve,0)≤(Sremain-Li),则跳转至步骤(11);
2)否则,当未前瞻位移(Sremain-Li)不满足从Ve直接减速至0的减速距离条件约束,需根据二分法查找并修正允许的起始速度Ve,令j=i,跳转至步骤(10)进行速度回溯处理;
(8)令Vs=fj-1,e,Ve=fj,e,并计算从Vs减速至Ve的减速距离Sdec(Vs,Ve):
1)若Sdec(Vs,Ve)≤Li,则跳转至步骤(11);
2)否则,利用二分法查找满足Li限制的最大起始速度Vs,更新fj-1,e=Vs,j--,然后进一步判断:
①若fj-1,e≥fj-2,e成立,跳转至步骤(11);
②否则,若j≥2,即尚未回溯至前瞻起点,则跳转至步骤8继续回溯处理;否则跳转至步骤(11);
(9)由式(18)和(19)分别计算Sacc(Vs,Vm)和Sdec(Vs,Vm);
并令Stotal=Sacc(Vs,Vm)+Sdec(Vs,Vm):
1)若满足Stotal≤Li,则表明可达设定的目标速度F,跳转至步骤(11);
2)否则,设定的目标速度F不可达,利用二分法查找满足限制的最大可达速度Vm,并更新该段小线段的目标速度为Vm,然后跳转至步骤(11);
(10)令Ve=fj-1,e,Vs=fj,e,并计算从Ve减速至Vs的减速距离Sdec(Ve,Vs):
1)若Sdec(Ve,Vs)≤Li,则跳转至步骤(11);
2)否则,利用二分法查找满足Li限制的最大起始速度Ve,更新fj-1,e=Ve,j--,然后进一步判断:
①若fj-1,e≥fj-2,e成立,则跳转至步骤(11);
②否则,若j≥2,即尚未回溯至前瞻起点,则跳转至步骤(10)继续回溯处理;否则跳转至步骤(11);
(11)更新Sremain=Sremain-Li,i++:
1)若i<N,则跳转至步骤(3);
2)否则,跳转至步骤(12);
(12)速度前瞻控制方法实施流程结束。