一种微小线段动态前瞻控制方法和装置与流程

文档序号:12270025阅读:来源:国知局

技术特征:

1.一种微小线段动态前瞻控制方法,其特征在于,包括以下处理过程:

确定前瞻控制指令中各相邻的微小线段指令的运动方向之间的夹角物理量;

判断所述夹角物理量是否小于预设的拟合角度物理量阈值;

对于所有夹角物理量小于拟合角度物理量阈值的两条相邻的微小线段指令拟合成新的微小线段指令。

2.根据权利要求1所述的微小线段动态前瞻控制方法,其特征在于,所述相邻的微小线段指令的运动方向之间的夹角物理量为夹角的余弦值cosθi,其计算方式为:

<mrow> <msub> <mi>cos&theta;</mi> <mi>i</mi> </msub> <mo>=</mo> <mfrac> <mrow> <msup> <msub> <mi>S</mi> <mi>i</mi> </msub> <mn>2</mn> </msup> <mo>+</mo> <msup> <msub> <mi>S</mi> <mrow> <mi>i</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mn>2</mn> </msup> <mo>-</mo> <msup> <msub> <mi>S</mi> <mrow> <mi>A</mi> <mi>B</mi> <mo>,</mo> <mi>i</mi> </mrow> </msub> <mn>2</mn> </msup> </mrow> <mrow> <mn>2</mn> <msup> <msub> <mi>S</mi> <mi>i</mi> </msub> <mn>2</mn> </msup> <msup> <msub> <mi>S</mi> <mrow> <mi>i</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mn>2</mn> </msup> </mrow> </mfrac> </mrow>

其中:i=1,2,3,……N,N表示接收到的待加工的微小线段数目;Si表示微小线段指令Li对应的线段的长度;Si+1表示微小线段指令Li+1对应的线段的长度;SAB,i表示微小线段指令Li对应的线段的起点到微小线段Li+1指令对应的线段的终点的距离。

3.根据权利要求2所述的微小线段动态前瞻控制方法,其特征在于,所述的拟合角度物理量阈值的取值范围为大于0.9且小于0.9999999。

4.根据权利要求1-3任一项所述的微小线段动态前瞻控制方法,其特征在于,还包括以下处理过程:

设置指令缓冲数量阈值;

判断指令缓冲区中的微小线段指令数量是否达到所述缓冲数量阈值;

当达到时,对所述指令缓冲区中的微小线段指令进行转接速度预计算;

否则,继续在指令缓冲区中缓存微小线段指令,并统计所述微小线段指令的数量,返回所述判断指令数量是否达到缓冲数量阈值的处理步骤。

5.根据权利要求4所述的微小线段动态前瞻控制方法,其特征在于,所述转接速度预计算的具体过程为:

S41,计算在加速度约束和拐角约束条件下微小线段指令Li+1和Li转接速度速度Vi,计算方式为:

<mrow> <msub> <mi>V</mi> <mi>i</mi> </msub> <mo>=</mo> <mfrac> <mrow> <msub> <mi>A</mi> <mi>max</mi> </msub> <mi>T</mi> </mrow> <mrow> <msub> <mi>sin&theta;</mi> <mi>i</mi> </msub> </mrow> </mfrac> </mrow>

其中:Amax表示运动设备能够承受的最大加速度;T表示运动系统的插补周期;sinθi表示微小线段指令Li+1和Li在运动方向上夹角θi的正弦;

S42,判断Vi是否满足微小线段Li+1路径长度约束,并根据判断结果调整Vi,计算方式为:

S421,判断以下条件是否成立:

<mfenced open = '{' close = ''> <mtable> <mtr> <mtd> <mrow> <msub> <mi>V</mi> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>&lt;</mo> <msub> <mi>V</mi> <mi>i</mi> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>|</mo> <mrow> <msup> <msub> <mi>V</mi> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mn>2</mn> </msup> <mo>-</mo> <msubsup> <mi>V</mi> <mi>i</mi> <mn>2</mn> </msubsup> </mrow> <mo>|</mo> <mo>&lt;</mo> <mn>2</mn> <msub> <mi>A</mi> <mi>max</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>S</mi> <mrow> <mi>i</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>-</mo> <msub> <mi>V</mi> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced>

S422,如果成立,表示微小线段Li+1为加速段且不满足路径长度约束,然后按以下方式调整Vi其中:Vi-1表示微小线段指令Li-1和Li的转接速度,Si+1表示微小线段指令Li+1对应的线段的长度;进入步骤S424;

S423,如果不成立,判断以下条件是否成立:

<mfenced open = '{' close = ''> <mtable> <mtr> <mtd> <mrow> <msub> <mi>V</mi> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>&gt;</mo> <msub> <mi>V</mi> <mi>i</mi> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>|</mo> <mrow> <msup> <msub> <mi>V</mi> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mn>2</mn> </msup> <mo>-</mo> <msubsup> <mi>V</mi> <mi>i</mi> <mn>2</mn> </msubsup> </mrow> <mo>|</mo> <mo>&lt;</mo> <mn>2</mn> <msub> <mi>A</mi> <mi>max</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>S</mi> <mrow> <mi>i</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>-</mo> <msub> <mi>V</mi> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced>

如果成立,表示微小线段Li+1为减速段且不满足路径长度约束;然后按照以下方式调整Vi-1后,置i=i-1,并返回步骤S421;如果不成立,进入步骤S424;

<mrow> <msub> <mi>V</mi> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <msqrt> <mrow> <msup> <msub> <mi>A</mi> <mi>max</mi> </msub> <mn>2</mn> </msup> <mo>+</mo> <msubsup> <mi>V</mi> <mi>i</mi> <mn>2</mn> </msubsup> <mo>+</mo> <mn>2</mn> <msub> <mi>A</mi> <mi>max</mi> </msub> <msub> <mi>S</mi> <mrow> <mi>i</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> </mrow> </msqrt> <mo>-</mo> <msub> <mi>A</mi> <mi>max</mi> </msub> </mrow>

S424,判断以下条件是否成立:

Vif=Vi-1=Vi

如果成立,按照以下方式计算微小线段Li+1的插补周期数N:

<mrow> <mi>N</mi> <mo>=</mo> <mfrac> <msub> <mi>S</mi> <mrow> <mi>i</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mrow> <msub> <mi>V</mi> <mrow> <mi>i</mi> <mi>f</mi> </mrow> </msub> <mi>T</mi> </mrow> </mfrac> </mrow>

然后再按照以下方式调整Vi、Vi-1、Vif

<mfenced open = '{' close = ''> <mtable> <mtr> <mtd> <mrow> <msub> <mi>V</mi> <mi>f</mi> </msub> <mo>=</mo> <mfrac> <msub> <mi>S</mi> <mrow> <mi>i</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mrow> <mi>N</mi> <mi>T</mi> </mrow> </mfrac> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>V</mi> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <msub> <mi>V</mi> <mrow> <mi>i</mi> <mi>f</mi> </mrow> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>V</mi> <mi>i</mi> </msub> <mo>=</mo> <msub> <mi>V</mi> <mrow> <mi>i</mi> <mi>f</mi> </mrow> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced>

其中Vif为微小线段Li+1的进给速度;然后转入步骤S421;

如果不成立,转入步骤S421。

6.根据权利要求4所述的微小线段动态前瞻控制方法,其特征在于,还包括以下处理过程:

设置块指令缓冲时间阈值;

判断所述块指令缓冲时间阈值内指令缓冲区中的微小线段指令数量是否保持不变,且小于所述指令缓冲数量阈值;

如果是,则将所述指令缓冲区中的最后一条微小线段指令所对应的微小线段的终点速度设置为零。

7.根据权利要求4所述的微小线段动态前瞻控制方法,其特征在于,还包括以下处理过程:

设置段指令缓冲时间阈值;

对于指令缓冲区中的最后一条微小线段指令,判断段指令缓冲时间阈值内所述微小线段指令是否还是指令缓冲区中的最后一条微小线段指令;

如果是,则将该微小线段指令所对应的微小线段的终点速度设置为零。

8.一种微小线段动态前瞻控制装置,其特征在于,包括:

夹角物理量计算模块,用于确定前瞻控制指令中各相邻的微小线段指令的运动方向之间的夹角物理量;

判断模块,用于判断所述夹角物理量是否小于预设的拟合角度物理量阈值;

拟合处理模块,用于对于所有夹角物理量小于拟合角度物理量阈值的两条相邻的微小线段指令拟合成新的微小线段指令。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1