美文网首页
运动控制器3:如何调度多个BLOCK单元的运动?

运动控制器3:如何调度多个BLOCK单元的运动?

作者: 吴松乾 | 来源:发表于2017-12-27 11:18 被阅读0次

到底一个BLOCK运动的距离是多少,这个取决于运动轨迹的形状,如果是一段单一的直线,当然就是一个BLOCK(应该是),如果走一段弧线,弧线分成了5个小线段(一般这个值会很大),则分成5个BLOCK,所以BLOCK才需要调度。

MC_LINE中调用了plan_buffer_line函数,也就是说,每一段小线段都需要首先放入调度器,等待上一段完成。plan_buffer_line的入口参数如下。

//添加一个线段运动到队列,XYZ轴单位为mm,feed_rate为给进速度,invert_feed_rate意味着给进速度为1/FEED_RATE

//此函数仅仅为MC_LINE使用,而执行圆弧实际上也是执行小线段。

void plan_buffer_line(float x, float y, float z, float feed_rate, uint8_t invert_feed_rate)

{……

planner_recalculate();

}

其中planner_recalculate为重新计算运动的调度,函数本体如下

static void planner_recalculate()

{   

  planner_reverse_pass(); //进入速度进行反向检查

  planner_forward_pass(); //进入速度进行正向检查

  planner_recalculate_trapezoids(); //重新计算梯形

}

算法如下:

重新过一遍刚刚计算的梯形曲线的各个运动阶段,计算一下节点速度需要减少多少。

节点速度不能超过最大的设置速度

如果梯形不需要在节点处进行减速,我们要计算下一个BLOCK的加速度

重新过一遍每一个BLOCK的顺序,如果某个BLOCK的加速度需要加快,则计算出来。

当所有的Block都规划好了,每个BLOCK都将获得一个入口速度,加速度。

然后重新计算一下梯形的各个参数(优化)

其中如何进行正向和反向检查,主要用到了

planner_reverse_pass

prev_block_index

planner_reverse_pass_kernel

planner_forward_pass

planner_forward_pass_kernel

next_block_index

到目前为止,我们可以看出整个弧线和小线段的执行流程如下。

BLOCK单元的调度和优化后进行列队

相关文章

  • 运动控制器3:如何调度多个BLOCK单元的运动?

    到底一个BLOCK运动的距离是多少,这个取决于运动轨迹的形状,如果是一段单一的直线,当然就是一个BLOCK(应该是...

  • 运动管理

    1.运动的原因 2.谁来运动:主体、心理准备、身体准备 3.如何开始运动:不能持续运动原因、如何养成运动的习惯 4...

  • C4D基础(9)-克隆基础原理

    1、运动图形: (1)颜色为绿色 (2)位置:上方菜单栏—运动模型 2、克隆为运动图形的一种,一个变多个 3、运动...

  • 通用型运动控制与专业型运动控制器如何区别?

    通用型运动控制器与专业型运动控制器在外观上看起来相差无几,那么,我们如何去区别它们呢?让我们一起来了解下。 一、概...

  • 项目总结-3

    什么时候使用到storyBoard? 描述静态单元格 描述多个控制器的时候 监听TextField的编辑3种方式 ...

  • 2.自律改变生活-运动管理

    如何保持良好的运动 1.运动和精力之间的关系,阅读和自我提升 2.简单的运动方式 3.还有运动的工具, 如何养成良...

  • 2020-03-29

    1构件:具有确定运动的单元体组成的,这些运动单元体称为构件 零件:组成构件的制造单元体 运动副:两构件直接接触的可...

  • 运动控制器6:如何WorkingFromSDfile

    挂载完U盘并且进行内存访问,剩余空间读取以后,进入WorkingFromSDfile函数,这是主函数中while循...

  • 科学

    三年级下册教科书由“物体的运动”“动物的一生”和“太阳、地球和月球”三个单元组成。 “物体的运动”单元是将机械运动...

  • (四)多个元素运动

    本节知识点 多对象运动staggerTo-- 高级技巧cycle的使用-- 贝赛尔曲线staggerFrom 回调...

网友评论

      本文标题:运动控制器3:如何调度多个BLOCK单元的运动?

      本文链接:https://www.haomeiwen.com/subject/znaygxtx.html