CN117555291B - 一种插补方法、装置、插补器和介质 - Google Patents

一种插补方法、装置、插补器和介质 Download PDF

Info

Publication number
CN117555291B
CN117555291B CN202410038363.8A CN202410038363A CN117555291B CN 117555291 B CN117555291 B CN 117555291B CN 202410038363 A CN202410038363 A CN 202410038363A CN 117555291 B CN117555291 B CN 117555291B
Authority
CN
China
Prior art keywords
speed
motion
processing
sub
initial
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202410038363.8A
Other languages
English (en)
Other versions
CN117555291A (zh
Inventor
区世权
何逸朗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Foshan Demate Intelligent Equipment Technology Co ltd
Original Assignee
Foshan Demate Intelligent Equipment Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Foshan Demate Intelligent Equipment Technology Co ltd filed Critical Foshan Demate Intelligent Equipment Technology Co ltd
Priority to CN202410038363.8A priority Critical patent/CN117555291B/zh
Publication of CN117555291A publication Critical patent/CN117555291A/zh
Application granted granted Critical
Publication of CN117555291B publication Critical patent/CN117555291B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/41Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • G05B19/4103Digital interpolation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34117Machine workpiece along, parallel to largest dimension

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)

Abstract

本申请涉及一种插补方法、装置、插补器和介质,涉及运动控制技术领域;方法包括:实时获取由多个加工点构成的加工轨迹和运动约束信息;然后根据各个加工点位置以及运动约束信息进行前瞻处理,确定各个加工点对应的加工速度;在各个加工点对应的加工速度保持不变的前提下,根据运动约束信息进行S型速度规划,得到运动曲线;不改变轨迹衔接点速度,所以不会引入速度规划结果对前瞻环节的影响,避免了迭代计算;根据运动曲线,依次确定细分位置对应的位置指令,位置指令包括细分位置以及细分位置对应的运动信息;当接收到驱动器请求后,将与请求对应的位置指令发送至驱动器,能够提高计算效率,提高插补器工作的稳定性。

Description

一种插补方法、装置、插补器和介质
技术领域
本申请涉及运动控制技术领域,尤其是涉及一种插补方法、装置、插补器和介质。
背景技术
在高速高精的运动控制系统中,将用户给定但还未执行到的加工指令预读运动控制环节进行前瞻控制是控制系统能够做到高速加工的重要保证。
将加工指令预读并做前瞻控制的做法可以最大化得给定多段轨迹连续加工时的给进速度从而得到一个整体的加工速度的最优解。为了使得速度在多段轨迹的衔接处能够平滑过渡,前瞻控制算法一般会包括以下三个部分:前瞻连续轨迹衔接点速度给定;轨迹加减速规划;插补点计算。
在前瞻控制的轨迹加减速规划的方案中,S曲线的加速度规划连续以至于在加工时不会在加速度环节产生突变,实际的伺服系统可以更好得贴合规划的速度进行加工。但是利用S曲线规划速度时可能改变初速度或者末速度,进而导致前瞻需要重新计算引入巨大的计算量,计算效率低的同时系统稳定性较差。
发明内容
为了实现提高计算效率且提高系统的稳定性,本申请提供一种插补方法、装置、插补器和介质。
第一方面,本申请提供一种插补方法,采用如下的技术方案:
一种插补方法,包括:
实时获取加工轨迹和运动约束信息,其中,所述加工轨迹由多个加工点构成,所述运动约束信息包括:各个轴加速度、加加速度和最高运行速度;
根据各个加工点位置以及所述运动约束信息进行前瞻处理,确定各个加工点对应的加工速度;
在各个加工点对应的加工速度保持不变的前提下,根据所述运动约束信息进行S型速度规划,得到运动曲线;
根据所述运动曲线,依次确定细分位置对应的位置指令,所述位置指令包括细分位置以及细分位置对应的运动信息;
当接收到驱动器请求后,将与请求对应的位置指令发送至所述驱动器。
通过采用上述技术方案,实时获取由多个加工点构成的加工轨迹和运动约束信息;然后根据各个加工点位置以及运动约束信息进行前瞻处理,确定各个加工点对应的加工速度;在各个加工点对应的加工速度保持不变的前提下,根据运动约束信息进行S型速度规划,得到运动曲线;不改变轨迹衔接点速度,所以不会引入速度规划结果对前瞻环节的影响,避免了迭代计算;根据运动曲线,依次确定细分位置对应的位置指令,位置指令包括细分位置以及细分位置对应的运动信息;当接收到驱动器请求后,将与请求对应的位置指令发送至驱动器,能够提高计算效率,提高插补器工作的稳定性。
本申请在一较佳示例中可以进一步配置为:
所述根据各个加工点位置以及所述运动约束信息进行前瞻处理,确定各个加工点对应的加工速度,包括:
确定相邻两个加工点的线段长度以及方向向量,根据方向向量确定相邻两个线段的线段夹角;
根据相邻两个线段的线段夹角、相邻两个线段的初始加工点对应的初始速度、在后线段的线段长度以及所述运动约束信息,确定相邻两个线段的中间加工点的速度;将相邻两个线段的中间加工点的速度作为下一相邻两个线段的初始加工点对应的初始速度,并按照上述速度确定的方式进行双向扫描,以得到各个加工点对应的加工速度。
通过采用上述技术方案,采用双向扫描方式,根据先线段的长度以及夹角和运动约束信息进行双向扫描,在保证所有加工点的速度有效的前提下,提高了扫描的效率。
本申请在一较佳示例中可以进一步配置为:
所述在各个加工点对应的加工速度保持不变的前提下,根据所述运动约束信息进行S型速度规划,得到运动曲线,包括:
针对每段轨迹,根据初速度、末速度以及轨迹线段长度和所述运动约束信息进行S型速度规划,依次得到每段轨迹对应的子运动曲线;
根据各个子运动曲线得到运动曲线。
通过采用上述技术方案,对每段轨迹进行速度规划得到对应的子运动曲线,进而根据各段轨迹对应的子运动曲线得到运动曲线。
本申请在一较佳示例中可以进一步配置为:
所述针对每段轨迹,根据初速度、末速度以及轨迹线段长度和所述运动约束信息进行S型速度规划,依次得到每段轨迹对应的子运动曲线,包括:
针对每段轨迹,初速度、末速度以及轨迹线段长度和所述运动约束信息,从初始两点至中间进行S型速度迭代规划,得到每段轨迹对应的初始子运动曲线;
判断所述初始子运动曲线是否符合最小指令周期;
若否,则调整所述初始子运动曲线得到子运动曲线,其中,所述子运动曲线符合所述最小指令周期;
若是,则将所述初始子运动曲线确定为子运动曲线。
通过采用上述技术方案,通过对不符合最小指令周期的初始子运动曲线进行误差补偿,使得补偿后的运动曲线符合要求,以便于在实际加工时能够合理下发位置指令,保证了加工运动的平滑性。
本申请在一较佳示例中可以进一步配置为:
所述调整所述初始子运动曲线得到子运动曲线,包括:
确定所述初始子运动曲线的速度类型;
判断所述速度类型是否包括匀速段或匀加速段;
若是,则对所述初始子运动曲线进行时间向上圆整规划,得到所述子运动曲线;
若否,则对所述初始子运动曲线进行时间向下圆整规划,得到所述子运动曲线。
通过采用上述技术方案,对有匀速段、有匀加速段的情况尝试进行时间向上圆整,对其他以及上述两种类型中无法完成时间向上圆整的情况进行时间向下圆整以完成速度规划。在速度规划环节对不同的情况进行了合理的分类,尽可能得避免了后续补偿纠偏的补偿值过大导致系统加速度加加速度超限的情况,指令时间圆整,所以指令连续精确,不会在运动中引入误差指令位置与加速度突变,加工精度高。
本申请在一较佳示例中可以进一步配置为:
根据所述运动曲线,依次确定关键点位置对应的位置指令之后,还包括:
实时判断运动缓存区是否存在空闲;
若所述运动缓存区存在空闲,则根据当前插补进度,将剩余位置指令写入缓存区直至所述运动缓存区被填满;
相应的,所述当接收到驱动器请求后,将与请求对应的位置指令发送至所述驱动器,包括:
当接收到驱动器请求后,从所述运动缓存区读取与请求对应的位置指令,并发送至所述驱动器。
通过采用上述技术方案,引入了运动缓存区,使得速度规划的计算可以在一定程度上与总线周期异步,使得指令前瞻速度规划这类大计算量的环节可以与实时总线隔离,降低了插补计算的实时性要求,增强了系统的鲁棒性。
本申请在一较佳示例中可以进一步配置为:所述方法还包括:
当接收到实时变速的请求后,清除运动缓存区中的预设数量的即将待执行的位置指令之后的其他位置指令;
将所述运动缓存区中最后一个位置指令中的加工速度作为初速度;
根据初速度和末速度以及加速度,确定变速所需的给进量,其中,所述末速度为实时变速的请求对应的速度;
根据所述给进量以及最后一个位置指令对应的位置确定变速插补终点;
确定所述最后一个位置指令对应的位置、所述变速插补终点的位置以及中间经过的加工点对应的变速运动曲线;
根据所述变速运动曲线,依次确定变速关键点位置对应的变速位置指令,并写入运动缓存区。
第二方面,本申请提供一种插补装置,采用如下的技术方案:
一种插补装置,包括:
获取模块,用于实时获取加工轨迹和运动约束信息,其中,所述加工轨迹由多个加工点构成,所述运动约束信息包括:各个轴加速度、加加速度和最高运行速度;
前瞻处理模块,用于根据各个加工点位置以及所述运动约束信息进行前瞻处理,确定各个加工点对应的加工速度;
速度规划模块,用于在各个加工点对应的加工速度保持不变的前提下,根据所述运动约束信息进行S型速度规划,得到运动曲线;
插补模块,用于根据所述运动曲线,依次确定细分位置对应的位置指令,所述位置指令包括细分位置以及细分位置对应的运动信息;
发送模块,用于当接收到驱动器请求后,将与请求对应的位置指令发送至所述驱动器。
第三方面,本申请提供一种插补器,采用如下的技术方案:
至少一个处理器;
存储器;
至少一个应用程序,其中至少一个应用程序被存储在存储器中并被配置为由至少一个处理器执行,所述至少一个应用程序配置用于执行如第一方面任一项所述的插补方法。
第四方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:
一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令所述计算机执行如第一方面任一项所述的插补方法。
综上所述,本申请包括以下至少一种有益技术效果:
实时获取由多个加工点构成的加工轨迹和运动约束信息;然后根据各个加工点位置以及运动约束信息进行前瞻处理,确定各个加工点对应的加工速度;在各个加工点对应的加工速度保持不变的前提下,根据运动约束信息进行S型速度规划,得到运动曲线;不改变轨迹衔接点速度,所以不会引入速度规划结果对前瞻环节的影响,避免了迭代计算;根据运动曲线,依次确定细分位置对应的位置指令,位置指令包括细分位置以及细分位置对应的运动信息;当接收到驱动器请求后,将与请求对应的位置指令发送至驱动器,能够提高计算效率,提高插补器工作的稳定性。
附图说明
图1为本申请实施例提供的一种S曲线规划的速度随时间变化的曲线示意图;
图2为本申请实施例提供的一种实现插补过程的场景图;
图3为本申请实施例提供的一种插补方法的流程示意图;
图4为本申请实施例提供的一种加工轨迹的示意图;
图5为本申请实施例提供的一种插补运动缓存区的工作流程示意图;
图6为本申请实施例提供的另一种插补运动缓存区的工作流程示意图;
图7为本申请实施例提供的一种插补装置的结构示意图;
图8为本申请实施例提供的一种插补器的结构示意图。
具体实施方式
以下结合附图1至附图8对本申请作进一步详细说明。
本具体实施例仅仅是对本申请的解释,其并不是对本申请的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本申请的范围内都受到专利法的保护。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
在前瞻控制的轨迹加减速规划的方案中,较为主流的有T曲线加减速控制以及S曲线加减速控制。对于现流行的两套方案,由于T曲线其加速度不连续规划得到的速度曲线必然会有加速度的突变的原因,必然在加工过程中产生冲击使得其在有较高加工精度要求的场合都难以适用。S曲线的加速度规划连续以至于在加工时不会在加速度环节产生突变,实际的伺服系统可以更好得贴合规划的速度进行加工。
两种方案特性的区别使得S曲线规划相对于T曲线规划在加工层面上是一个更优的选择。具体请参考图1,图1为本申请实施例提供的一种S曲线规划的速度随时间变化的曲线示意图,vmax为系统运行最大速度,S曲线规划包括七个阶段:
加加速阶段,加速度a逐渐增大,a=Jt,J=da/dt,0<t≤t1,J为加加速度;
匀加速阶段,a达到最大,a=amax,t1<t≤t2,最大加速度为amax
减加速阶段,a逐渐减小,a=amax- Jt,t2<t≤t3;
匀速阶段,a不变化,a=0,t3<t≤t4;
加减速阶段,|a|逐渐增大,a=-Jt,J=da/dt,t4<t≤t5,此时a为负值;
匀减速阶段,|a|达到最大,a=-amax,t5<t≤t6;
减减速阶段,|a|逐渐减小,a=-amax-Jt,t6<t≤t7。
可以理解的是,在进行速度规划时,该7个阶段并不是都必须存在的,根据轨迹动态变化确定取舍。
但是S曲线规划也存在一些显著的问题有待解决:适用于前瞻的高精度S规划一般要将运动过程分成非对称的七段进行处理因而在速度规划的过程中可能出现调整前瞻得到的衔接点速度进行速度规划的计算量大,计算效率低且同时会影响系统的工作稳定性。
为了以便于理解,本申请实施例提供一种实现插补过程的场景图,如图2,包括PC端、插补器以及运动平台,其中,PC端可以基于运动控制函数库通过上位机总线实时下发加工轨迹至插补器,运动约束信息也可以通过PC端下发至插补器中,进而,插补器根据当前得到的加工轨迹进行前瞻处理,进而基于前瞻结果进行速度规划,基于速度规划结果进行插补计算,得到位置指令,进而在接收到运动平台发送的请求后,基于请求,将与请求对应的位置指令下发至运动平台,以使运动平台按照位置指令进行工作,实现加工件的加工。
进一步的,由于加工轨迹可能由多段轨迹构成,因而,在基于前瞻结果进行速度规划的过程中,可以采用串行处理的方式,也可以采用并行方式处理。可以当规划完成一段轨迹对应的运动曲线后,即可对该运动曲线进行插补计算,也可以当规划完成所有轨迹对应的运动曲线后,再进行插补计算,用户可自定义选择,通过降低了插补计算的实时性要求,能够在一定程度上提高系统运行的稳定性。进一步的,插补器中还可以增设插补运动缓存区,用于缓存插补计算得到的位置指令,进而,运动平台发送请求至插补器后,插补器可以基于映射区读取运动缓存区中的相应位置指令并发送至运动平台,以使得驱动器根据位置指令控制电机进行运动。
具体的,本申请实施例提供了一种插补方法,由插补器执行,如图3所示,该方法包括步骤S101-步骤S105,其中:
步骤S101、实时获取加工轨迹和运动约束信息,其中,加工轨迹由多个加工点构成,运动约束信息包括:各个轴加速度、加加速度和最高运行速度;
本申请针对的是指令前瞻,加工轨迹至少由三个加工点构成,加工轨迹包括每个加工点的位置以及加工顺序。如图4所示,为本申请实施例提供的一种加工轨迹的示意图,其中,包括8个加工点(包括初始点以及末点),加工轨迹由连续的G1-G7段轨迹构成。
获取加工轨迹的方式可以是插补器获取用户通过上位机输入的加工轨迹,还可以是插补器获取加工文件,解析加工文件得到加工轨迹。
在本申请实施例中,运动约束信息由被控设备的实际机械结构、被加工件工艺等多方面原因共同决定,运动约束信息可预先设置在插补器中。
需要注意的是,随着加工进度向前推进,除了当前得到的加工轨迹对应的多个加工点的相关信息外,下一时刻会得到与该加工件关联的其他加工轨迹,然后按照时序在完成当前的插补后,再执行其他加工轨迹的插补过程。
步骤S102、根据各个加工点位置以及运动约束信息进行前瞻处理,确定各个加工点对应的加工速度;
根据各个加工点的位置以及运动约束信息为各个加工点确定最优速度,如当相邻三个加工点处于同一直线上,则中间的加工点速度可以设置为最高运行速度,当相邻三个加工点不处于同一直线,中间加工点的速度可以设置为0或者某一预设较低速度,对于预设较低速度的设置方式可以根据技术人员的加工经验设置。在本申请中,加工速度包括速度值以及速度方向。
步骤S103、在各个加工点对应的加工速度保持不变的前提下,根据运动约束信息进行S型速度规划,得到运动曲线;
速度规划是对加工轨迹中的各线段对应的轨迹的位移、速度、加速度以及加加速度进行规划的过程。这个阶段最主要的目的是规划出一条运行时间最短的,终末衔接速度与前瞻结果一致的运动曲线,以保证加工时能够在加工点前的适当位置开始减速,在加工点时速度降至安全速度即步骤S102中确定的加工速度,过了加工点再从适当位置使速度加速至正常加工速度,从而得到在系统运动能力约束下一个整体的最优解。其中,运动曲线为由各个相邻加工点对应的子运动曲线组成。运动曲线可以包括:速度曲线位移曲线、加速度曲线和加加速度曲线中的一种或者多种。可以理解的是,可以通过任一种曲线进行计算得到其他曲线。
本申请实施例在进行速度规划时,采用了S型速度规划方式,使得加速度规划连续不会在加速度环节产生突变,且,在规划过程中各个加工点对应的加速度保持不变,因而不会引入速度规划结果对前瞻环节的影响,能够减少迭代计算。
步骤S104、根据运动曲线,依次确定细分位置对应的位置指令,位置指令包括细分位置以及细分位置对应的运动信息;
本步骤主要为插补细化阶段,可以根据在速度规划阶段得到的细分位置的速度、位置等信息,以及每个细分位置所处在的总线时间即可计算得到各个总线周期的位置指令,在本申请实施例中,细分位置为相邻两个加工点对应的子运动曲线中的总线周期对应的关键点,且,该细分位置至少包括子运动曲线中的各阶段对应的位置点。
每个子运动曲线中的关键点的数量和子运动曲线的始末速度以及线段长度相关。例如,在对加工点1到加工点2进行速度规划时,得到的关于加工点1到加工点2的子速度曲线如果为标准的7阶段S曲线,则,关键点的数量为7个(仅包括末速度对应的点),每个关键点对应的是S曲线规划的一个阶段。
运动信息包括:速度、位移、加速度、加加速度、关键点位置对应的时间。
可以理解的是,在本申请确定位置指令的同时,可能新接收到与当前加工轨迹连续的后续轨迹,插补器可同时进行处理本申请实施例提供的插补过程。
步骤S105、当接收到驱动器请求后,将与请求对应的位置指令发送至驱动器。
驱动器一般按照最小指令周期发送请求,在一种可能的情况中,该请求可以包括待加工时间,进而,当插补器接收到请求后,根据待加工时间确定位置指令,并回传至驱动器;在另一种可能的情况中,请求中并未携带信息,当插补器接收到请求后,将最近的未发送过的位置指令发送至驱动器。
在本申请实施例中,实时获取由多个加工点构成的加工轨迹和运动约束信息;然后根据各个加工点位置以及运动约束信息进行前瞻处理,确定各个加工点对应的加工速度;在各个加工点对应的加工速度保持不变的前提下,根据运动约束信息进行S型速度规划,得到运动曲线;不改变轨迹衔接点速度,所以不会引入速度规划结果对前瞻环节的影响,避免了迭代计算;根据运动曲线,依次确定细分位置对应的位置指令,位置指令包括细分位置以及细分位置对应的运动信息;当接收到驱动器请求后,将与请求对应的位置指令发送至驱动器,能够提高计算效率,提高插补器工作的稳定性。
在一种可实现的方式中,步骤S102根据各个加工点位置以及运动约束信息进行前瞻处理,确定各个加工点对应的加工速度,包括:
确定相邻两个加工点的线段长度以及方向向量,根据方向向量确定相邻两个线段的线段夹角;
根据相邻两个线段的线段夹角、相邻两个线段的初始加工点对应的初始速度、在后线段的线段长度以及运动约束信息进行前瞻处理,确定相邻两个线段的中间加工点的速度;将相邻两个线段的中间加工点的速度作为下一相邻两个线段的初始加工点对应的初始速度,并按照上述速度确定的方式进行双向扫描,以得到各个加工点对应的加工速度。
在本申请实施例中,采用的是双向扫描前瞻,前瞻过程可以包括:通过将两端连续的线段夹角再结合给定的加加速度确定衔接点位置给定速度的最大值;分别从初速度和末速度两点开始往中间迭代,得到主要以线段长度、前一给进速度、运动性能为约束的给进速度,直到整个线段的扫描完毕,前瞻完成。
具体的,计算加工点的加工速度的公式为:
V表示衔接点速度,即加工点的加工速度;
α表示第一加减速曲线特征参数;
Li表示行程即线段长度;
Amax表示加速度最大值;
R表示第二加减速曲线特征参数;
Jm表示加加速度最大值;
Ts表示总线周期;
Ftotal表示给进速度;
β表示相邻两个线段的线段夹角。
需要注意的是,如果加工轨迹为加工一个工件的所有轨迹,则初始速度为0,末速度为0;若加工轨迹为刚开始加工一个工件到工件加工的第一阶段,则初始速度为0,末速度与第一阶段对应,可以为0也可以非0等等,初始速度和末速度存在多种情况,本申请实施例不再一一列举,只要是符合实际场景即可。
在本申请实施例中,本申请实施例采用双向扫描方式,根据先线段的长度以及夹角和运动约束信息进行双向扫描,在保证所有加工点的速度有效的前提下,提高了扫描的效率。
本申请在一较佳示例中,步骤S103在各个加工点对应的加工速度保持不变的前提下,根据运动约束信息进行S型速度规划,得到运动曲线,包括:针对每段轨迹,根据初速度、末速度以及轨迹线段长度和运动约束信息进行S型速度规划,依次得到每段轨迹对应的子运动曲线;根据各个子运动曲线得到运动曲线。
在本申请实施例中,将加工轨迹按照相邻加工点分成了若干段轨迹,如,当加工点为n个(包括初始点)时,则轨迹段数为n-1。
在进行S型速度规划时,对于每段轨迹对应的两个加工点在规划时可以允许实际加工点在原加工点的预设范围内,也可以是一定在原加工点加工,用户可根据实际需求设置。
针对每段轨迹,在保持初速度以及末速度不变的情况下,利用S型速度规划算法对轨迹线段长度进行速度规划,依次得到每段轨迹对应的子运动曲线。本申请在对每段轨迹进行速度规划时,可以采用并行规划的方式,在一定程度上可以提高规划速率;当然还可以采用串行规划的方式,能够在一定程度上保证不会遗漏轨迹且能够保证插补器的稳定性。
可见,本申请实施例对每段轨迹进行速度规划得到对应的子运动曲线,进而根据各段轨迹对应的子运动曲线得到运动曲线。
本申请在一较佳示例中,针对每段轨迹,根据初速度、末速度以及轨迹线段长度和运动约束信息进行S型速度规划,依次得到每段轨迹对应的子运动曲线,包括:针对每段轨迹,初速度、末速度以及轨迹线段长度和运动约束信息,从初始两点至中间进行S型速度迭代规划,得到每段轨迹对应的初始子运动曲线;判断初始子运动曲线是否符合最小指令周期;若否,则调整初始子运动曲线得到子运动曲线,其中,调整得到的子运动曲线符合最小指令周期;若是,则将初始子运动曲线确定为子运动曲线。
在进行速度规划时,为了保证运动过程的平滑性,需要考虑因规划时间周期离散化导致的圆整误差的问题。在本申请实施例中,进一步对初步规划出的初始子运动曲线进行周期指令的判断。
对于速度规划来说,重要的加工点包括:各衔接点;当然还可以包括加工线段对应的S型运动曲线的各阶段的点。
在一种可能的情况中,可以使得各重要的加工点对应的时间为最小指令周期的整数倍,进而,判断初始子运动曲线是否符合最小指令周期时,可以判断所有重要的加工点对应的加工时间是否均符合最小指令周期。如果存在任一不符合或,存在超过预设数量不符合的,则对圆整误差进行修正,调整初始子运动曲线,预设数量用户可自定义设置。
在另一种可能的情况中,判断初始子运动曲线是否符合最小指令周期可以为,判断初始子运动曲线的运动时长是否为最小指令周期的整数倍。
可见,本申请实施例通过对不符合最小指令周期的初始子运动曲线进行误差补偿,使得补偿后的运动曲线符合要求,以便于在实际加工时能够合理下发位置指令,保证了加工运动的平滑性。
本申请在一较佳示例中,本申请针对判断初始子运动曲线的运动时长是否为最小指令周期的整数倍,相应的,调整初始子运动曲线得到子运动曲线,包括:确定初始子运动曲线的速度类型;判断速度类型是否包括匀速段或仅包括加速段和减速段;若是,则对初始子运动曲线进行时间向上圆整规划,得到子运动曲线;若否,则对初始子运动曲线进行时间向下圆整规划,得到子运动曲线。
其中,初始子运动曲线的速度类型为该曲线中所具有的运动阶段对应的速度类型。速度类型包括:加加速、匀加速、减加速、匀速、加减速、匀减速、减减速。
时间向上圆整即通过增大规划总时间使其为最小指令周期的整数倍,由于规划总时间增大,需要对S型的初始子运动曲线的各运动参数进行调整,使其在满足运动约束信息的同时,保证运动的平滑性,同时还应满足给定的位移、初始速度以及末速度这些条件。
时间向下圆整即通过减小规划总时间使其为最小指令周期的整数倍,由于S型的初始子运动曲线是满足运动约束信息下时间最短的运动过程,若缩短规划时间,可能导致无法满足位移以及末速度的条件,因而向下圆整必然会产生圆整误差,进而需要进行误差补偿以消除该问题。
对于时间向上圆整规划时,若最小指令周期为1s,而当前的规划时间为1.2s,此时需要将1.2s圆整为2s。进而将新增加的时间按照比例原则分配到当前曲线中,再选定参数并及进行调整,保证各运动参数能够满足运动约束信息。初始子运动曲线的结果不同,新增时间的分配以及调整参数的选择也存在差异。
因而,在一种可能的情况中,当初始子运动曲线的速度类型包括匀速时,可以增大加速时间和/或减速时间,可以将加速段的位移和/或减速段的位移作为调整参数,保持最高运行速度不变。为保证位移不变,匀速过程产生的位移需要补偿到加速和/或减速的过程中,对应的匀速段的时长减小,同时还可以保证匀速段的时长满足圆整,进而实现时间向上圆整。具体的计算过程本申请实施例不再进行描述,可以参考相关技术。
在另一种可能的情况中,当初始子运动曲线的速度类型包括加速(包括加加速、匀加速、减加速)和减速(包括加减速、匀减速、减减速)时,可以增大加速时间和/或减速时间,进而考虑到位移不变,则在保持加速位移或减速位移不变的情况下,减小初始子运动曲线的最大运行速度,使得满足时间向上圆整。
值得注意的是,当初始子运动曲线的速度类型仅包括加速或减速时,此时需要减小末速度或者增大初速度,但是会造成计算复杂度变高,不适用向上圆整,可以采用时间向下圆整。在面对加速过程,不调整前瞻出来的初末速度而是直接将时间向下圆整并将圆整时带来的误差分配到整段运动中从而使得最终的衔接点的位置和速度得以保障,但是种补偿会带来一定程度的加速度超限。
具体的,为保证规划总时间为最小指令周期的整数倍,可对其进行向下圆整,圆整后的插补周期个数可表示为:N=[规划总时间/最小指令周期],“[]”表示向下取整,圆整时间为△t=规划总时间-N*最小指令周期。
采用S型加减速算法规划得到的规划总时间是满足给定的位移、初始速度、末速度以及运动约束信息等约束下的最短运动时间。在进行向下圆整时,产生圆整误差△S,也即在给定的位移、初始速度、末速度以及运动约束信息等约束下,无法在N*最小指令周期的时间内完成位移S,因而需要考虑对圆整误差的补偿。在本申请实施例中,在圆整误差和圆整时间均取自匀速过程,除了减速过程的各段累积位移改变,其他参数不变,能够保证圆整处理后的终点速度与前瞻得到的终点速度一致,保证了之后路径前瞻以及速度规划的稳定性。在对圆整误差计算后,计算得到减速过程的各段累积位移,因而选择对匀速段进行位移和时间调整,使得匀速段时间大于圆整时间。
具体的,执行STEP1:假设v(1) max=F(指令速度),计算加速过程位移和减速过程位移,设Scon=v(1) max*Ts;
若加速过程位移+减速过程位移+Scon≤S成立,则设置Vmax=v(1) max,并计算各段时间和其他运动参数,完成速度规划;
若加速过程位移+减速过程位移+Scon≤S不成立,则执行STEP2;
STEP2:设v(2) max=ve+amax/Jmax,若v(2) max≥F,则执行STEP3;若v(2) max<F,则计算加速过程位移和减速过程位移,设Scon=v(2) max*Ts;
若加速过程位移+减速过程位移+Scon≤S不成立,则执行STEP3;
若加速过程位移+减速过程位移+Scon≤S成立,则确定vmax∈[v(2) max,F),并基于加速过程位移+减速过程位移+Scon=S计算vmax,计算各段时间与其他运动参数,完成速度规划;
STEP3:设v(3) max=vs+amax/Jmax;
若v(2) max<F,则计算加速过程位移和减速过程位移;设Scon=v(3) max*Ts;
若加速过程位移+减速过程位移+Scon≤S成立,则确定vmax∈[v(3) max,v(2) max),否则vmax∈[v(3) max,F),并基于加速过程位移+减速过程位移+Scon=S计算vmax,计算各段时间与其他运动参数,完成速度规划;
若v(2) max≥F,则确定vmax∈[v(3) max,v(2) max)并基于加速过程位移+减速过程位移+Scon=S计算vmax,计算各段时间与其他运动参数,完成速度规划;
其中,v(1) max、v(2) max、v(3) max分别为不同情况下假设的可达到的最大速度;
Vs为初始速度、Ve为末速度。
可见,对有匀速段或仅包括加速段和减速段的情况尝试进行时间向上圆整,对其他以及上述两种类型中无法完成时间向上圆整的情况进行时间向下圆整以完成速度规划。在速度规划环节对不同的情况进行了合理的分类,尽可能得避免了后续补偿纠偏的补偿值过大导致系统加速度加加速度超限的情况,指令时间圆整,所以指令连续精确,不会在运动中引入误差指令位置与加速度突变,加工精度高。
本申请在一较佳示例中,步骤S104根据运动曲线,依次确定关键点位置对应的位置指令之后,还包括:实时判断运动缓存区是否存在空闲;若运动缓存区存在空闲,则根据当前插补进度,将剩余位置指令写入缓存区直至运动缓存区被填满;相应的,当接收到驱动器请求后,将与请求对应的位置指令发送至驱动器,包括:当接收到驱动器请求后,从运动缓存区读取与请求对应的位置指令,并发送至驱动器。
请参考图5,图5示了插补运动缓存区的工作流程示意图,插补器在实时系统中由独立的线程进行管理。假设整个运动的过程有连续的m个加工点组成。S0:初始时全部为未规划部分,S1:计算出P0到P1轨迹对应的若干位置指令,然后此时运动缓存区为空,将P0到P1的若干位置指令填入运动缓存区,此时,插补器在持续计算后续的位置指令,并持续写入至运动缓存区直至被填满,同时插补器在接收到至驱动器的请求时,也会从运动缓存区中取出相应的位置指令。
本申请实施例在实时周期总线指令映射区的上层加入了一个运动缓存区,里面存储了当前周期以及后续一定时间的位置指令。插补器可以根据环形缓存区读写指针的距离确定当前运动缓存区的空闲情况,进而当存在空闲时根据空闲余量按需计算相应数量的插补细分点对应的位置指令。
具体的,1)检查运动缓存区中是否存在空闲。如果存在空闲则判断当前轨迹的当前插补进度,将当前轨迹的剩余的总线周期对应的位置指令填入缓存区,该填入缓存区的位置指令可以是当确定空闲后将当前所在加工线段的速度规划关键值计算出来,还可以是实时实时计算得到的;
2)如果当前轨迹已经完成插补但是缓存区没有被填满,读入下一轨迹,重复1)中所描述步骤将下一轨迹的位置指令计算出来继续将插补细分点对应的位置指令填入缓存区。
3)直到缓存区被填满结束本线程周期的插补。下次再进入插补线程时,重复1)的动作。
4)如果当前轨迹已经完成而且已经没有下一段指令,则不再更新缓存区,等待缓存区指令被执行完毕,标志插补完成。
可见,本申请实施例引入了运动缓存区,使得速度规划的计算可以在一定程度上与总线周期异步,使得指令前瞻速度规划这类大计算量的环节可以与实时总线隔离,降低了插补计算的实时性要求,增强了系统的鲁棒性。
本申请在一较佳示例中,插补方法,还包括:当接收到实时变速的请求后,清除运动缓存区中的预设数量的即将待执行的位置指令之后的其他位置指令;将运动缓存区中最后一个位置指令中的加工速度作为初速度;根据初速度和末速度以及加速度,确定变速所需的给进量,其中,末速度为实时变速的请求对应的速度;根据给进量以及最后一个位置指令对应的位置确定变速插补终点;确定最后一个位置指令对应的位置、变速插补终点的位置以及中间经过的加工点对应的变速运动曲线;根据变速运动曲线,依次确定变速关键点位置对应的变速位置指令,并写入运动缓存区。
若存在需要实时变速的情况,本申请实施例先基于当前的系统状态以及变速目标做一次特殊的速度规划与插补细分,完成之后再将新的速度限制更新至全局继续插补,其中,可以根据初速度和末速度以及加速度单独做一次直线的速度规划,以得到位移长度即进给量。
具体的请参考图6,图6为本申请实施例提供的另一种插补运动缓存区的工作流程示意图,其中:当存在速度突变事件后,保存缓存区中即将被执行的预设数量的即将待执行的位置指令,并将剩余的缓存清空;确定缓存区中最后一个指令点速度作为插补的初速度,根据末速度(即变速),初速度以及运动约束信息,计算变速所需要的给进量(即运动长度);计算给进量会再后续一系列指令点的哪一段中被执行完毕从而确定插补的终点(即结束插入点);确定最后一个位置指令对应的位置、变速插补终点的位置以及中间经过的加工点对应的变速运动曲线,具体过程参考上述实施例,本申请实施例不再赘述;计算位置指令,直到变速插补起点到终点之间插补细分点全部计算完成,退出变速插补。
通过采用上述技术方案,本申请实施例能够在需要实时变速的情况进行变速响应,适用性更强。
基于上述任一实施例,针对周期总线通信型运动控制器在高速高精加工上的应用。本发明提出一种包括带时间圆整、适用于指令前瞻的S曲线速度规划及其前瞻、插补细分方案的线性插补器,其中,本申请实施例提供一种具体的插补过程,包括:
连续多段轨迹由上位机或者加工文件导入到程序内存空间之后,首先进入轨迹指令前瞻环节以计算得到当前指令段的终末速度、系统限制以及方向向量之后将数据提供给速度规划器。速度规划器据此完成速度规划输出当前指令轨迹在S速度规划下各阶段的链接加速度、速度、位移、时间以及补偿曲线的加速度传递给插补细分器。最后在插补细分环节,根据运动缓存区的空闲情况以及总线时间向各个轴的运动缓存区中填入各个插补周期的位置指令直到缓存区填满。
上述实施例从方法流程的角度介绍一种插补方法,下述实施例从虚拟模块或者虚拟单元的角度介绍了一种插补装置,具体详见下述实施例。
本申请实施例提供一种插补装置,如图7所示,该插补装置具体可以包括:
获取模块710,用于实时获取加工轨迹和运动约束信息,其中,加工轨迹由多个加工点构成,运动约束信息包括:各个轴加速度、加加速度和最高运行速度;
前瞻处理模块720,用于根据各个加工点位置以及运动约束信息进行前瞻处理,确定各个加工点对应的加工速度;
速度规划模块730,用于在各个加工点对应的加工速度保持不变的前提下,根据运动约束信息进行S型速度规划,得到运动曲线;
插补模块740,用于根据运动曲线,依次确定细分位置对应的位置指令,位置指令包括细分位置以及细分位置对应的运动信息;
发送模块750,用于当接收到驱动器请求后,将与请求对应的位置指令发送至驱动器。
本申请在一较佳示例中可以进一步配置为:前瞻处理模块720在执行根据各个加工点位置以及运动约束信息进行前瞻处理,确定各个加工点对应的加工速度时,用于:
确定相邻两个加工点的线段长度以及方向向量,根据方向向量确定相邻两个线段的线段夹角;
根据相邻两个线段的线段夹角、相邻两个线段的初始加工点对应的初始速度、在后线段的线段长度以及运动约束信息,从所有加工点中确定目标加工点,并为目标加工点赋予最高运行速度;
根据加工轨迹对应的初始速度和末速度、目标加工点对应的加工速度、运动约束信息,进行双向扫描,以得到各个加工点对应的加工速度。
本申请在一较佳示例中可以进一步配置为:速度规划模块730在执行在各个加工点对应的加工速度保持不变的前提下,根据运动约束信息进行S型速度规划,得到运动曲线时,用于:
针对每段轨迹,根据初速度、末速度以及轨迹线段长度和运动约束信息进行S型速度规划,依次得到每段轨迹对应的子运动曲线;
根据各个子运动曲线得到运动曲线。
本申请在一较佳示例中可以进一步配置为:速度规划模块730在执行针对每段轨迹,根据初速度、末速度以及轨迹线段长度和运动约束信息进行S型速度规划,依次得到每段轨迹对应的子运动曲线时,用于:
针对每段轨迹,初速度、末速度以及轨迹线段长度和运动约束信息,从初始两点至中间进行S型速度迭代规划,得到每段轨迹对应的初始子运动曲线;
判断初始子运动曲线是否符合最小指令周期;
若否,则调整初始子运动曲线得到子运动曲线,其中,子运动曲线符合最小指令周期;
若是,则将初始子运动曲线确定为子运动曲线。
本申请在一较佳示例中可以进一步配置为:速度规划模块730在执行调整初始子运动曲线得到子运动曲线时,用于:
确定初始子运动曲线的速度类型;
判断速度类型是否包括匀速段或匀加速段;
若是,则对初始子运动曲线进行时间向上圆整规划,得到子运动曲线;
若否,则对初始子运动曲线进行时间向下圆整规划,得到子运动曲线。
本申请在一较佳示例中可以进一步配置为,插补装置,还包括:
缓存模块,用于实时判断运动缓存区是否存在空闲;
若运动缓存区存在空闲,则根据当前插补进度,将剩余位置指令写入缓存区直至运动缓存区被填满;
相应的,发送模块750在执行当接收到驱动器请求后,将与请求对应的位置指令发送至驱动器时,用于:
当接收到驱动器请求后,从运动缓存区读取与请求对应的位置指令,并发送至驱动器。
本申请在一较佳示例中可以进一步配置为:插补装置,还包括:
变速调整模块,用于:
当接收到实时变速的请求后,清除运动缓存区中的预设数量的即将待执行的位置指令之后的其他位置指令;
将运动缓存区中最后一个位置指令中的加工速度作为初速度;
根据初速度和末速度以及加速度,确定变速所需的给进量,其中,末速度为实时变速的请求对应的速度;
根据给进量以及最后一个位置指令对应的位置确定变速插补终点;
确定最后一个位置指令对应的位置、变速插补终点的位置以及中间经过的加工点对应的变速运动曲线;
根据变速运动曲线,依次确定变速关键点位置对应的变速位置指令,并写入运动缓存区。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的一种插补装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例中提供了一种插补器,如图8所示,图8所示的插补器800包括:处理器801和存储器803。其中,处理器801和存储器803相连,如通过总线802相连。可选地,插补器800还可以包括收发器804。需要说明的是,实际应用中收发器804不限于一个,该插补器800的结构并不构成对本申请实施例的限定。
处理器801可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器801也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线802可包括一通路,在上述组件之间传送信息。总线802可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线802可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一型的总线。
存储器803可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器803用于存储执行本申请方案的应用程序代码,并由处理器801来控制执行。处理器801用于执行存储器803中存储的应用程序代码,以实现前述插补方法实施例所示的内容。
其中,插补器包括但不限于:移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。还可以为服务器等。图8示出的插补器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (6)

1.一种插补方法,其特征在于,包括:
实时获取加工轨迹和运动约束信息,其中,所述加工轨迹由多个加工点构成,所述运动约束信息包括:各个轴加速度、加加速度和最高运行速度;
根据各个加工点位置以及所述运动约束信息进行前瞻处理,确定各个加工点对应的加工速度;
在各个加工点对应的加工速度保持不变的前提下,根据所述运动约束信息进行S型速度规划,得到运动曲线;
根据所述运动曲线,依次确定细分位置对应的位置指令,所述位置指令包括细分位置以及细分位置对应的运动信息;
当接收到驱动器请求后,将与请求对应的位置指令发送至所述驱动器;
所述根据各个加工点位置以及所述运动约束信息进行前瞻处理,确定各个加工点对应的加工速度,包括:
确定相邻两个加工点的线段长度以及方向向量,根据方向向量确定相邻两个线段的线段夹角;
根据相邻两个线段的线段夹角、相邻两个线段的初始加工点对应的初始速度、在后线段的线段长度以及所述运动约束信息,确定相邻两个线段的中间加工点的速度;将相邻两个线段的中间加工点的速度作为下一相邻两个线段的初始加工点对应的初始速度,并按照上述速度确定的方式进行双向扫描,以得到各个加工点对应的加工速度;
所述在各个加工点对应的加工速度保持不变的前提下,根据所述运动约束信息进行S型速度规划,得到运动曲线,包括:
针对每段轨迹,根据初速度、末速度以及轨迹线段长度和所述运动约束信息进行S型速度规划,依次得到每段轨迹对应的子运动曲线;
根据各个子运动曲线得到运动曲线;
所述针对每段轨迹,根据初速度、末速度以及轨迹线段长度和所述运动约束信息进行S型速度规划,依次得到每段轨迹对应的子运动曲线,包括:
针对每段轨迹,初速度、末速度以及轨迹线段长度和所述运动约束信息,从初始两点至中间进行S型速度迭代规划,得到每段轨迹对应的初始子运动曲线;
判断所述初始子运动曲线是否符合最小指令周期;
若否,则调整所述初始子运动曲线得到子运动曲线,其中,所述子运动曲线符合所述最小指令周期;
若是,则将所述初始子运动曲线确定为子运动曲线;
所述调整所述初始子运动曲线得到子运动曲线,包括:
确定所述初始子运动曲线的速度类型;
判断所述速度类型是否包括匀速段或匀加速段;
若是,则对所述初始子运动曲线进行时间向上圆整规划,得到所述子运动曲线;
若否,则对所述初始子运动曲线进行时间向下圆整规划,得到所述子运动曲线。
2.根据权利要求1所述的插补方法,其特征在于,根据所述运动曲线,依次确定关键点位置对应的位置指令之后,还包括:
实时判断运动缓存区是否存在空闲;
若所述运动缓存区存在空闲,则根据当前插补进度,将剩余位置指令写入缓存区直至所述运动缓存区被填满;
相应的,所述当接收到驱动器请求后,将与请求对应的位置指令发送至所述驱动器,包括:
当接收到驱动器请求后,从所述运动缓存区读取与请求对应的位置指令,并发送至所述驱动器。
3.根据权利要求2所述的插补方法,其特征在于,还包括:
当接收到实时变速的请求后,清除运动缓存区中的预设数量的即将待执行的位置指令之后的其他位置指令;
将所述运动缓存区中最后一个位置指令中的加工速度作为初速度;
根据初速度和末速度以及加速度,确定变速所需的给进量,其中,所述末速度为实时变速的请求对应的速度;
根据所述给进量以及最后一个位置指令对应的位置确定变速插补终点;
确定所述最后一个位置指令对应的位置、所述变速插补终点的位置以及中间经过的加工点对应的变速运动曲线;
根据所述变速运动曲线,依次确定变速关键点位置对应的变速位置指令,并写入运动缓存区。
4.一种插补装置,其特征在于,包括:
获取模块,用于实时获取加工轨迹和运动约束信息,其中,所述加工轨迹由多个加工点构成,所述运动约束信息包括:各个轴加速度、加加速度和最高运行速度;
前瞻处理模块,用于根据各个加工点位置以及所述运动约束信息进行前瞻处理,确定各个加工点对应的加工速度;
速度规划模块,用于在各个加工点对应的加工速度保持不变的前提下,根据所述运动约束信息进行S型速度规划,得到运动曲线;
插补模块,用于根据所述运动曲线,依次确定细分位置对应的位置指令,所述位置指令包括细分位置以及细分位置对应的运动信息;
发送模块,用于当接收到驱动器请求后,将与请求对应的位置指令发送至所述驱动器;
前瞻处理模块在根据各个加工点位置以及所述运动约束信息进行前瞻处理,确定各个加工点对应的加工速度时,用于:
确定相邻两个加工点的线段长度以及方向向量,根据方向向量确定相邻两个线段的线段夹角;
根据相邻两个线段的线段夹角、相邻两个线段的初始加工点对应的初始速度、在后线段的线段长度以及所述运动约束信息,确定相邻两个线段的中间加工点的速度;将相邻两个线段的中间加工点的速度作为下一相邻两个线段的初始加工点对应的初始速度,并按照上述速度确定的方式进行双向扫描,以得到各个加工点对应的加工速度;
速度规划模块在执行在各个加工点对应的加工速度保持不变的前提下,根据所述运动约束信息进行S型速度规划,得到运动曲线时,用于:
针对每段轨迹,根据初速度、末速度以及轨迹线段长度和所述运动约束信息进行S型速度规划,依次得到每段轨迹对应的子运动曲线;
根据各个子运动曲线得到运动曲线;
速度规划模块在执行所述针对每段轨迹,根据初速度、末速度以及轨迹线段长度和所述运动约束信息进行S型速度规划,依次得到每段轨迹对应的子运动曲线时,用于:
针对每段轨迹,初速度、末速度以及轨迹线段长度和所述运动约束信息,从初始两点至中间进行S型速度迭代规划,得到每段轨迹对应的初始子运动曲线;
判断所述初始子运动曲线是否符合最小指令周期;
若否,则调整所述初始子运动曲线得到子运动曲线,其中,所述子运动曲线符合所述最小指令周期;
若是,则将所述初始子运动曲线确定为子运动曲线;
速度规划模块在执行所述调整所述初始子运动曲线得到子运动曲线时,用于:
确定所述初始子运动曲线的速度类型;
判断所述速度类型是否包括匀速段或匀加速段;
若是,则对所述初始子运动曲线进行时间向上圆整规划,得到所述子运动曲线;
若否,则对所述初始子运动曲线进行时间向下圆整规划,得到所述子运动曲线。
5.一种插补器,其特征在于,包括:
至少一个处理器;
存储器;
至少一个应用程序,其中至少一个应用程序被存储在存储器中并被配置为由至少一个处理器执行,所述至少一个应用程序配置用于执行权利要求1~3任一项所述的插补方法。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,当所述计算机程序在计算机中执行时,令所述计算机执行权利要求1~3任一项所述的插补方法。
CN202410038363.8A 2024-01-11 2024-01-11 一种插补方法、装置、插补器和介质 Active CN117555291B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410038363.8A CN117555291B (zh) 2024-01-11 2024-01-11 一种插补方法、装置、插补器和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410038363.8A CN117555291B (zh) 2024-01-11 2024-01-11 一种插补方法、装置、插补器和介质

Publications (2)

Publication Number Publication Date
CN117555291A CN117555291A (zh) 2024-02-13
CN117555291B true CN117555291B (zh) 2024-03-22

Family

ID=89823516

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410038363.8A Active CN117555291B (zh) 2024-01-11 2024-01-11 一种插补方法、装置、插补器和介质

Country Status (1)

Country Link
CN (1) CN117555291B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016082237A1 (zh) * 2014-11-25 2016-06-02 苏州谷夫道自动化科技有限公司 数控设备cnc系统前瞻滚动处理方法
WO2017113069A1 (zh) * 2015-12-28 2017-07-06 深圳配天智能技术研究院有限公司 S型曲线规划方法、装置及数控机床
CN107291047A (zh) * 2017-07-14 2017-10-24 福建工程学院 一种基于多约束条件的正反双向nurbs曲线插补方法
CN107765648A (zh) * 2017-10-13 2018-03-06 山东大学 一种cnc加工的进给速度规划方法及装置
CN107817764A (zh) * 2017-10-23 2018-03-20 山东大学 一种基于s曲线加减速算法的nurbs曲线双向自适应插补算法
CN110879569A (zh) * 2019-12-18 2020-03-13 湖南戈人自动化科技有限公司 一种前瞻控制方法
CN111633668A (zh) * 2020-07-27 2020-09-08 山东大学 一种用于机器人加工三维自由曲面的运动控制方法
CN113589754A (zh) * 2021-07-23 2021-11-02 哈尔滨工业大学(深圳) 一种变螺旋角微细钻头的磨槽加工方法
CN116774648A (zh) * 2023-08-16 2023-09-19 通用技术集团机床工程研究院有限公司 速度规划方法、装置、机床控制系统和存储介质
CN117369269A (zh) * 2023-11-02 2024-01-09 昆明理工大学 一种基于纯跟踪模型的agv运动控制方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016082237A1 (zh) * 2014-11-25 2016-06-02 苏州谷夫道自动化科技有限公司 数控设备cnc系统前瞻滚动处理方法
WO2017113069A1 (zh) * 2015-12-28 2017-07-06 深圳配天智能技术研究院有限公司 S型曲线规划方法、装置及数控机床
CN107291047A (zh) * 2017-07-14 2017-10-24 福建工程学院 一种基于多约束条件的正反双向nurbs曲线插补方法
CN107765648A (zh) * 2017-10-13 2018-03-06 山东大学 一种cnc加工的进给速度规划方法及装置
CN107817764A (zh) * 2017-10-23 2018-03-20 山东大学 一种基于s曲线加减速算法的nurbs曲线双向自适应插补算法
CN110879569A (zh) * 2019-12-18 2020-03-13 湖南戈人自动化科技有限公司 一种前瞻控制方法
CN111633668A (zh) * 2020-07-27 2020-09-08 山东大学 一种用于机器人加工三维自由曲面的运动控制方法
CN113589754A (zh) * 2021-07-23 2021-11-02 哈尔滨工业大学(深圳) 一种变螺旋角微细钻头的磨槽加工方法
CN116774648A (zh) * 2023-08-16 2023-09-19 通用技术集团机床工程研究院有限公司 速度规划方法、装置、机床控制系统和存储介质
CN117369269A (zh) * 2023-11-02 2024-01-09 昆明理工大学 一种基于纯跟踪模型的agv运动控制方法

Also Published As

Publication number Publication date
CN117555291A (zh) 2024-02-13

Similar Documents

Publication Publication Date Title
CN110865610B (zh) 一种基于机床振动抑制的刀具轨迹插值和速度规划方法
USRE41499E1 (en) High-speed error correcting apparatus with efficient data transfer
Luo et al. A universal velocity profile generation approach for high-speed machining of small line segments with look-ahead
WO2015083513A1 (en) Method for controlling an operation of a laser processing machine and controller for controlling an operation of a first actuator of a laser processing machine
CN117555291B (zh) 一种插补方法、装置、插补器和介质
CN111390902A (zh) 轨迹规划方法、轨迹规划装置、设备和存储介质
CN109739179A (zh) 插补控制方法及装置、计算机设备及可读存储介质
CN113741336A (zh) 基于实时运动的笛卡尔空间轨迹规划方法和系统
JP2014161917A (ja) ロボット制御システム、ロボット、ロボット制御方法及びプログラム
US8838841B2 (en) Method and structure enabling improved native command queueing in a data storage device
CN109732219A (zh) 一种激光切割的倒圆角方法及系统
CN116330299B (zh) 一种基于加速度平滑的工业机器人柔顺运动控制方法
CN111798177A (zh) 订单压单方法及装置
CN1235331C (zh) 步进电机的控制方法
CN113253772B (zh) 一种基于误差预估及补偿的伺服定位系统及方法
CN113515108B (zh) 一种无人驾驶设备的控制方法及控制装置
CN112711252B (zh) 移动机器人及其路径跟踪方法、计算机可读存储介质
CN101767346B (zh) 裁断方法及裁断装置
CN112650147B (zh) 一种曲率限制下的最大速度参数限制方法以及装置
JP5259300B2 (ja) サーボ制御装置
CN113965140A (zh) 一种伺服电机控制方法、装置、设备及介质
US6219319B1 (en) Method and apparatus for writing information into optical disk and reading it therefrom, and optical disk medium therefor
CN116985136A (zh) 基于四元数的机械臂节点姿态速度前瞻控制方法及装置
CN116125910A (zh) 一种基于四次多项式的nurbs曲线插补速度规划方法
CN114102596B (zh) 运动机构的运动控制方法、装置、电子设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant