开源改变世界

grbl planner.c源码问题 #187

推推 grbl 3年前 (2023-01-21) 98次浏览

关闭
dancnc 打开了这个问题 2013 年 2 月 17 日 · 1条评论
关闭

grbl planner.c源码问题#187

dancnc 打开了这个问题 2013 年 2 月 17 日 · 1条评论

注释

grbl planner.c源码问题 #187

大家好

我正在浏览源代码,只是想理解其中的数学原理。
其中大部分是有道理的,与我编写代码时会做的非常相似

在 planner.c 中的函数 plan_buffer_line 中的“三角半角恒等式”之后我有点困惑,
也许它只是简化的近似值并且更便宜

vmax_junction = min(vmax_junction, sqrt(settings.acceleration * settings.junction_deviation * sin_theta_d2/(1.0-sin_theta_d2)) );

不应该是
vmax_junction = min(vmax_junction, sqrt(settings.acceleration * settings.junction_deviation * ** _tan_theta_d2 _**) );

因为 tan = sin/cos 和 1 = sin^2+cos^2

因此“sin_theta_d2/(1.0-sin_theta_d2)”
应该是“sin_theta_d2/sqrt(1.0-(sin_theta_d2 * sin_theta_d2))”

谢谢,

grbl planner.c源码问题 #187
成员

有关解释,请参阅我的博客。关联

另一个注意事项,我已经大大提高了规划器重新计算算法的效率,但它还没有发布。它通过稍微重新组织和重构数学来减少一些重复和不必要的计算。如果您发现任何其他可以提高性能的方法,请告诉我。

喜欢 (0)