开源改变世界

tp:混合速度问题 #1623

推推 grbl 3年前 (2023-01-30) 253次浏览
打开
1个任务完成
gfalavigna 打开了这个问题 2022 年 2 月 22 日 · 0 条评论
打开
1个任务完成

tp:混合速度问题#1623

gfalavigna 打开了这个问题 2022 年 2 月 22 日 · 0 条评论

注释

tp:混合速度问题 #1623

以下是我重现该问题所遵循的步骤:

  1. 使用以下设置配置 linuxcnc 环境:
    emcmotConfig->arcBlendEnable = 1;
    emcmotConfig->arcBlendFallbackEnable = 0;
    emcmotConfig->arcBlendOptDepth = 50;
    emcmotConfig->arcBlendGapCycles = 4;
    emcmotConfig->arcBlendRampFreq = 100.0;
    emcmotConfig->arcBlendTangentKinkRatio = 0.1;
    emcmotConfig->maxFeedScale = 1.0;
    emcmotStatus->net_feed_scale = 1.0;

    tpCreate(tp, 40, tcArray);
    tpSetVlimit(tp, DBL_MAX);
    tpSetCycleTime(tp, 0.008);
    tpSetTermCond(tp, TC_TERM_COND_PARABOLIC, 1.0);

  2. 使用这些 vel/acc 边界配置 XYZ 轴:
    emcmotDebug->joints[0].vel_limit = 200.0;
    emcmotDebug->关节[0].acc_limit = 666.6666;
    emcmotDebug->关节[1].vel_limit = 200.0;
    emcmotDebug->关节[1].acc_limit = 666.6666;
    emcmotDebug->关节[2].vel_limit = 66.041;
    emcmotDebug->关节[2].acc_limit = 4127.5625;

  3. 将轴移动到 (348.0; 15.0; 0.0) 起始位置

  4. 像这样插入三个线性运动:
    pos.tran.x = 7.5;
    pos.tran.y = 18.25;
    pos.tran.z = 1002.47;
    威力 = 69.7469;
    坡道 = 666.6666;
    tpAddLine(tp, pos, EMC_MOTION_TYPE_FEED, vel, DBL_MAX, ramp, 0, 0, -1);

    pos.tran.x = 347.0;
    pos.tran.y = 20.0;
    pos.tran.z = 2001.96;
    威力 = 69.7469;
    坡道 = 666.6666;
    tpAddLine(tp, pos, EMC_MOTION_TYPE_FEED, vel, DBL_MAX, ramp, 0, 0, -1);

    pos.tran.x = 8.0;
    pos.tran.y = 23.5;
    pos.tran.z = 3000.0;
    威力 = 69.7470;
    坡道 = 1333.3333;
    tpAddLine(tp, pos, EMC_MOTION_TYPE_FEED, vel, DBL_MAX, ramp, 0, 0, -1);

  5. 运行循环

这是我期望发生的事情:

对速度进行评估,以便 Z 轴应略低于其速度边界移动,在整个插补序列中保持速度恒定

这是发生了什么:

当这三条线混合时,正是在执行混合球面弧的位置,我看到 Z 轴稍微加速,但足以超过速度边界,导致轨迹问题。附上相关的速度配置文件,您可以在其中看到黄色轨道中的问题

有关我的硬件和软件的信息:

  • 我在跑步 …
    • 来自 linuxcnc.org 之外的其他来源的二进制版本
  • 我正在使用这个 LinuxCNC 版本:2.7.14
    tp:混合速度问题 #1623

免费注册 在 GitHub 上加入此对话。已有帐户? 登录评论
标签
还没有
项目

还没有

发展

没有分支机构或拉取请求

1名参加者
tp:混合速度问题 #1623

喜欢 (0)