CN101180591A - 基于公差的轨迹规划和控制方法 - Google Patents

基于公差的轨迹规划和控制方法 Download PDF

Info

Publication number
CN101180591A
CN101180591A CNA2006800179424A CN200680017942A CN101180591A CN 101180591 A CN101180591 A CN 101180591A CN A2006800179424 A CNA2006800179424 A CN A2006800179424A CN 200680017942 A CN200680017942 A CN 200680017942A CN 101180591 A CN101180591 A CN 101180591A
Authority
CN
China
Prior art keywords
arc
movable body
point
speed
maximum
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.)
Pending
Application number
CNA2006800179424A
Other languages
English (en)
Inventor
J·洪
X·谭
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.)
HURCO CO Inc
Original Assignee
HURCO CO Inc
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 HURCO CO Inc filed Critical HURCO CO Inc
Publication of CN101180591A publication Critical patent/CN101180591A/zh
Pending legal-status Critical Current

Links

Images

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/416Numerical 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 control of velocity, acceleration or deceleration
    • G05B19/4163Adaptive control of feed or cutting velocity
    • 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
    • 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
    • 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/416Numerical 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 control of velocity, acceleration or deceleration
    • 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/34171Generate polynomial fitting in tolerance zone around polygon
    • 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/34175Overlap, between two blocks, continuous, smooth speed change, movement
    • 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/43Speed, acceleration, deceleration control ADC
    • G05B2219/43057Adjust acceleration, speed until maximum allowable moment for axis
    • 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/43Speed, acceleration, deceleration control ADC
    • G05B2219/43199Safety, limitation of feedrate
    • 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/43Speed, acceleration, deceleration control ADC
    • G05B2219/43203Limitation of speed, permissible, allowable, maximum speed
    • 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/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50179Dynamic tolerance, limit values as function of speed, type of command

Abstract

本发明公开了一种调整机床的路径数据的方法,该方法包括识别路径数据的四个连续点。四个连续点包括第一点、第二点、第三点和第四点。确定第二点是否适合于平滑。如果第二点适合于平滑,则定位第一弧和第二弧,并将第二点移动到第一弧和第二弧之间的区域中。第一弧由第一点、第二点和第四点定义。第二弧由第一点、第三点和第四点定义。用与第二点相关联的至少一个弧移动替换与第二点相关联的线移动。

Description

基于公差的轨迹规划和控制方法
技术领域
本发明涉及运动体的路径导航,并更特别涉及用于计算机可控机床(machine tool)的运动控制系统。
背景技术
自动化已经导致能够向致动器装置发送信号以实现联动装置沿着所需轨迹的运动同时执行有用功的运动控制器的发展。运动控制器允许在执行给定任务时获得比手动操作更高的速度和精度。自动机械和自动化制造设备是利用运动控制技术的一些产品的实例。编程这些装置通常是通过将所需轨迹规定为线段/弧段,以及工具沿每个段的所需速度的集合来实现的。工具的速度通常沿着复杂轨迹的每个段或段组保持恒定,因为沿轨迹中每个点的速度优化是非常耗时的。
编程工具轨迹的大多数人都具有速度和精度之间的折衷的基本理解。公知的是,在速度越高时,控制系统停留在所需轨迹上就变得越困难。因此,轨迹编程者必须在沿所需轨迹运动的速度和精度之间进行折衷。这些决定通常基于编程者的经验,并导致一种反复的编程过程,在这种反复的编程过程中,执行轨迹,然后做出修改以减小在观察到不希望有的偏离所需轨迹的偏差的部分中的速度。因此,编程者通过操纵工具沿轨迹的速度而控制偏离所需轨迹的偏差,并因此控制运动的质量。
通常被称为计算机数字控制器(CNC)的用于制造设备的运动控制系统,试图最大化运动控制的速度同时最小化偏离所需轨迹的偏差。CNC可用来控制制造设备,如车床、磨床和铣床。CNC是适于实时控制机床的计算装置。数字控制器接收形成部件加工程序的编码指令的集合。部件加工程序通常是使用诸如G、M或F的字母所识别的代码,以基于国际标准化组织(ISO)或电子工业协会(EIA)RS-274-D的标准G&M代码语言或该语言的密切派生(close derivative)来表达的。这些代码定义机械加工操作的序列以控制部件制造中的运动。数字控制器将代码转换为一系列电信号,这一系列电信号控制连接于实现工具沿编程轨迹的运动的机床的电机。
操作铣削机的运动控制器是CNC的一个实例。车床、磨床和坐标测量机(CMM)是利用CNC进行运动控制的制造设备的其他实例。三轴CNC铣削机具有安装有工具的机头,和可相对于工具在X、Y平面中移动的台桌。电机控制台桌在X和Y方向上的运动以及工具在Z方向上的运动,建立正交的X、Y、Z笛卡尔坐标系统。位置传感器(通常是编码器或计量器(scale))提供指示工具相对于铣削机的坐标系统的位置的反馈。CNC读取规定工具路径轨迹的部件加工程序,其中工具将以规定的速度或馈送速率遵循工具路径轨迹。控制器连续地将当前工具位置与规定的工具路径进行比较。通过使用该反馈,控制器生成信号以控制电机,使得工具的实际轨迹与所需的工具路径或轨迹尽可能接近地匹配,同时工具以所需速度沿工具路径移动。控制器可与计算机辅助加工(CAM)系统结合使用。
实际的工具轨迹偏离所需的轨迹或工具路径的偏差被称为“加工误差”。加工误差可被计算为瞬时工具位置和工具路径所规定的所需轨迹之间的距离。CNC公差被定义为在加工时允许的加工误差量。人们期望运动控制器保持良好的或紧密的CNC公差。加工误差取决于许多因素,包括运动控制器的性能和被选择用于在加工过程中经过轨迹的馈送速率。通常,较高的馈送速率将导致较大的加工误差。
已知的部件加工程序不能明确地解决CNC公差问题。机床操作者、部件编程者或机械师必须设定馈送速率以试图解决这些问题。实际上,公差不能使用已知的CNC编程语言(如EIA RS-274-D)来表达,现有的运动控制器也不支持约束运动以便满足CNC公差规定的概念。操作者的职责之一是选择将导致可接受的部件质量,同时实现高金属切削速率的馈送速率。适当的馈送速率的选择是基于操作者的经验,并且一般经验法则可从许多手册和图表(例如Machinery’s Handbook(机械手册),第24版,Industrial Press Inc.,纽约,1992)中获得。然而,来自这些文献的图表,虽然在正确条件下使用完全可行,但是在应用于特定加工情形时常常不适当。出版的图表不能解决局部加工条件,如工具路径的突然改变,从而把馈送速率的优化留给操作者处理。操作者很难选择在整个部件加工程序中实现所需的部件质量同时最大化机床的生产率的馈送速率值。
基于公差的运动控制系统,包括基于公差限制来设定馈送速率的方法,在美国专利第6,242,880号中被公开,通过引用将其结合在本文中。虽然该专利代表着运动控制领域中显著的进步,但是公差命令、E代码和公差区域的使用中的改良是需要的以便改善馈送速率,同时仍在公差限制内操作。
发明内容
本发明对运动体的任意轨迹应用平滑。例如,本发明可应用于任何运动体(如车辆或抛射体)的轨迹的平滑,而无论车辆或抛射体在陆地上、海上或空中行使。在本发明的特定实现方案中,该方法也可应用于基于编程者所规定的CNC公差以及定义沿编程的轨迹的每个点的最大可允许馈送速率的编程的工具路径,来调节CNC机床的馈送速率。该信息以及位置反馈被用来修改沿实际运动轨迹的馈送速率,以限制偏离理想编程路径的位置偏差,使得可实现请求的CNC公差。
基于公差的控制(TBC)技术向编程和加工环境中引入CNC公差的概念。其有效地允许CNC编程者通过使用用于给定切割条件(即切削工具,速度,切割深度,材料条件等)的最大或近似最大的可允许馈送速率来编程部件,并规定所需的CNC公差。
公差控制可基于编程者所规定的CNC公差以及规定沿编程轨迹的每个点的最大或近似最大的可允许馈送速率的编程的工具路径,来计算馈送速率限制。该信息以及位置反馈可用来修改沿实际运动轨迹的馈送速率,以限制偏离理想编程路径的位置偏差,使得可满足请求的CNC公差。
与传统的比例积分微分(PID)方法(其包括猜测切削工具在不同时间间隔将处于什么位置)不同,TBC方法可使用预测控制技术,其用基于轨迹和速度的运动控制来取代非TBC的点到点固定循环控制。TBC可包括察看切削工具相对于编程轨迹的位置并相应地进行调整,从而在控制回路中消除对随动误差项(following error term)的需要。TBC连续地处理机床位置反馈以及编程轨迹和对机器能力的知识,以瞬时地发出响应于瞬时加工条件的控制信号。非TBC PID控制回路通过将切削工具从预先规划的目标拉至使用随动误差的目标而接近编程轨迹,而TBC控制沿所需的轨迹推动切削工具,在遇到偏差时校正偏差。TBC控制可包括基于当前跟踪的工具相对于所需工具轨迹的位置,控制或调整工具的移动,而不是使未来的工具移动仅基于工具根据预先规划的路线在某个时间点应处的位置。
在本发明所采用的“真弧(true arc)”技术中,沿着建模为弓形路径而未采用多边形近似的轨迹来控制工具运动。也就是,可命令工具遵循弓形轨迹而不是由接近弯曲轨迹的一系列线性区段形成的轨迹。通过实时地使用弓形轨迹和相关的矢量而非基于区段的轨迹,TBC控制可消除从弧形轨迹到弧的直线近似的转换,从而允许弧段的直接精确加工,消除弦长误差(chord error),减小部件加工程序的大小,以及消除将复杂轨迹转换为它们的多边形近似所需的处理。
TBC控制中的数据平滑技术可包括检查目标轨迹(例如,编程的NC工具轨迹),识别可被平滑的NC线段,并将这些NC线数据转换为弧同时保持给定的公差。数据平滑可包括在允许的公差内和以相对小的曲率变化,将点到点线性移动转换为相互相切的弧的序列。平滑的程度可取决于规定的公差。该技术具有实现更平滑的轨迹,更平滑的速度,加速度,更好的反馈速率控制和改进的表面光洁度的益处。平滑技术对于使用多边形近似来表达复杂的部件几何结构的旧式部件加工程序特别重要。
TBC中的前瞻技术取代了非TBC的固定的缓冲器前瞻算法,从而减小了数据缺乏(data starvation),过冲(overshooting),突破公差(tolerance breaching),部件产品上的驻停标记(dwell mark)和差表面光洁度的可能性。前瞻可确保足够的距离来从一个速度到另一个速度的加速或减速。当运动区段的长度相对短且不足以支持大的速度改变时,前瞻算法可根据某些运动轮廓(motion profile)(如S曲线速度分布图)来计算和限制该运动区段的速度。因为前瞻通常是实时执行的并且包括先前处理的运动命令的递归修改,所以算法的高效可导致CPU负担的减少和机器性能的改进。运动的递归修改可以仅涉及逻辑和加法。而且,算法可具有需要较少的修改前面命令的迭代的优点。该算法可具有改善运行时间的进一步的优点,这会增加系统速度或吞吐量。
非TBC前瞻算法中的一个选项是在每次发现运动距离不足以实现所需的速度改变时计算速度限制。这样的速度限制计算可能会涉及大量计算。由于所需的处理时间和资源,重复执行计算可能是不理想的。本发明的加法前瞻算法可使用停止距离概念作为速度限制的度量,这对计算而言是非常高效的。
软运动(soft-motion)技术是TBC控制的基础,其易于更新并消除了对昂贵的基于PID的运动控制卡的需要。
TBC原型软件系统可包括Win32组件和实时软件系统(RTSS)组件。术语“Win32”是指用来在Windows NT和Windows XP下运行32位Windows应用程序的应用程序接口(API),这是公知的,虽然其他接口也可与其他基本操作系统一起使用。Win32组件可以是用于处理用户请求,将状态信息提供回给用户,更新图形显示,以及将G&M代码子集转换为所需形式的接口模块。Win32组件可包括人机接口组件和G&M代码子集的解译器。人机接口组件可包括显示软件和控制面板处理。
机器I/O软件组件可包括伺服换能器板(transducer board)的驱动器。机器I/O伺服驱动器可以负责取得TBC控制所生成的控制信号并将它们处理为实现运动的电信号。该驱动器也可取得来自机床的反馈信号并将它们转换为TBC软件所使用的信息。
RTSS组件可在RTSS内被编码,从而确保确定性的响应。RTSS组件可包括TBC组件,机器I/O软件组件,以及组件集成与通信组件。TBC组件可包括公差理解组件,数据压缩组件,数据平滑组件,前瞻组件,和运动内核组件。TBC组件可在功能上分为两组,即,TBC数据预处理组和包括TBC运动内核的TBC运动控制组。TBC数据预处理组可包括公差理解组件,数据压缩组件,数据平滑组件,以及前瞻组件。TBC数据预处理组可以以队列模块来实现。
平滑函数包括三个阶段:准备平滑,平滑调整和双弧平滑(doublearc smoothing)。在三个平滑操作阶段之后,点到点移动被转换为在允许的公差内且具有相对小的曲率改变的相互相切的弧的序列。
在一种形式中,本发明包括为运动体调整路径数据的方法,包括识别路径数据的三个连续点。确定这三点定义的圆弧和第一点与第二点之间延伸的第一线的中间部分之间的第一距离。确定圆弧和第二点与第三点之间延伸的第二线的中间部分之间的第二距离。确定第一线和第二线之间的转角。如果第一距离和/或第二距离小于阈值线距离,且转角大于阈值角,则对第二点执行平滑。
在另一种形式中,本发明包括调整运动体的路径数据的方法,包括识别路径数据的四个连续点。这四个连续点包括第一点,第二点,第三点和第四点。确定第二点是否适合于平滑。如果第二点适合于平滑,则定位第一弧和第二弧,且将第二点移入第一弧和第二弧之间的区域。第一弧由第一点,第二点和第四点限定。第二弧由第一点,第三点和第四点限定。与第二点相关联的线移动由与第二点相关联的至少一个弧移动替换。
在又一种形式中,本发明包括用于为运动体调整路径数据的方法,包括识别路径数据的四个连续点。这四个连续点包括第一点,第二点,第三点和第四点。定位由第一点,第二点和第四点限定的第一弧。定位由第一点,第三点和第四点限定的第二弧。将第二点移入第一弧和第二弧之间的区域。
在另一种形式中,本发明包括用于为运动体调整路径数据的方法,包括识别从路径数据的第一点到路径数据的第二点延伸的线移动。线移动由第一弧移动和第二弧移动替换。第一弧移动从第一点开始并在结合点终止。第二弧移动从结合点开始并在第二点终止。
在再一种形式中,本发明包括为运动体(如机床)处理路径数据的方法,包括识别沿目标工具路径的多个点,并确定工具在最后点的最大可允许停止距离。确定工具在最后点的最后最大可允许速度,使得工具可在最大可允许停止距离内停止。建立工具在另一点的另一最大可允许速度,使得工具可在到达最后点时减速到最后最大可允许速度。
在另一种形式中,本发明包括为机床处理路径数据的方法,包括识别沿目标工具路径的多个点,并建立实际工具路径偏离目标工具路径的最大可允许偏差水平。确定目标工具路径在沿目标工具路径的多个位置的曲度。确定工具在沿目标工具路径的每个点的最大可允许公差速度,其中最大可允许公差速度取决于最大可允许偏差水平和曲度。确定工具在最后点的最大可允许停止距离。确定工具在最后点的最后最大可允许停止速度,使得工具可在最大可允许停止距离内停止。建立工具在最后点以外的每个点的其他最大可允许停止速度,使得工具可在到达最后点时减速到最后最大可允许速度。识别在每个点处,最大可允许公差速度和最大可允许停止速度中的较小者。
在另一种形式中,本发明包括为机床处理路径数据的方法,包括识别沿目标工具路径的多个点。所选的每两个点被分开相应的区段长度。确定工具在最后点的最大可允许停止距离。确定工具在另一点的最大可允许速度,使得工具在另一点所需的停止距离等于或小于在最后点的最大可允许停止距离和另一点与最后点之间区段长度的总和。
在另一种形式中,本发明包括操作机床的方法,包括识别目标工具路径。该工具被命令从初始位置遵循目标工具路径。在命令步骤之后感测工具的第一实际位置。计算从第一实际位置开始的第一目标工具子路径以校正工具移动中的预测误差。
在又一种形式中,本发明包括操作机床的方法,包括根据经验确定工具移动中的预测误差。监视工具的实际移动。工具的实际移动是取决于根据经验确定的工具实际移动中的预测误差和随机误差来控制的。
在又一种形式中,本发明包括操作具有多个顺序移动的机床的方法,包括在工具的第一移动后感测工具的实际位置。工具的目标位置是基于感测步骤计算的。计算目标位置以补偿工具移动中的预测误差和随机误差。为工具的其他运动重复感测和计算步骤。
在又一种形式中,本发明包括操作机床的方法,包括感测工具的实际位置。计算工具的实际位置和工具的所需位置之间的位置误差。将位置误差与规定的误差公差进行比较。取决于比较步骤来调整工具的速度。
在又一种形式中,本发明包括操作机床的方法,包括感测工具沿多个轴中的每个轴的实际位置。计算工具在每个轴中的实际位置和多维参考轨迹之间的多维位置误差。取决于计算步骤产生多维位置误差信号。取决于多维位置误差信号来控制工具的速度和/或方向。
本发明的优点是其为机床提供了改进的轨迹或工具路径。更特别地,工具路径更平滑,从而允许更高的馈送速率并在工件上提供更平滑的表面。
附图说明
通过参考下面结合附图给出的本发明的实施例的描述,本发明的上述和其他特征和目的以及获得它们的方式,将变得显而易见,并且本发明自身将得到更好地理解,在附图中:
图1是本发明的基于公差的控制方法的一个实施例的流程图。
图2是本发明的基于公差的控制系统的一个实施例的框图。
图3a是示出从不同公差值到加工空间的不同区域的映射的示图。
图3b是示出从不同公差值到加工空间的不同区域的映射的另一实施例的第一情况的示图。
图3c是示出从不同公差值到加工空间的不同区域的映射的另一实施例的第二情况的示图。
图3d是示出在弧的情况下从不同公差值到加工空间的不同区域的映射的另一实施例的示图。
图4a是程序数据点的绘图,其示出根据本发明的一个实施例的数据压缩方法。
图4b是程序数据点的绘图,其示出根据本发明另一实施例的数据压缩方法。
图5a是程序数据点的绘图,其示出根据本发明的一个实施例为数据平滑选择数据点的方法。
图5b是程序数据点的绘图,其示出根据本发明另一实施例为数据平滑选择数据点的方法。
图6a是程序数据点的绘图,其示出根据本发明的一个实施例为平滑调整线移动的方法。
图6b是程序数据点的透视图,其示出根据本发明另一实施例为平滑调整线移动的方法。
图7是图6a的中间两点的放大绘图。
图8是图6a的程序数据点以及一个随后的程序数据点的绘图,其示出为平滑调整线移动的图6a方法的下一步骤。
图9是程序数据点的绘图,其示出根据本发明的一个实施例使用双弧算法来平滑数据的方法。
图10是工具速度随时间变化的绘图,其也被称为S曲线。
图11是在沿工具路径的两个连续点之间延伸的区段长度的绘图。
图12是示出实际工具路径偏离所需工具路径的偏差的绘图。
图13是本发明的一个实施例中伺服信号的控制回路循环时间的绘图。
图14是程序数据点的绘图,其示出根据本发明的一个实施例的预测误差校正方法。
图15是程序数据点的绘图,其示出根据本发明的一个实施例的随机误差校正方法。
图16是流程图,其示出用于执行运动内核的本发明的方法。
图17是用于加工工件的本发明的机器的一个实施例的框图。
图18是图5中所示的本发明的方法的一个实施例的流程图。
图19是图6和7中所示的本发明的方法的一个实施例的流程图。
图20是图9中所示的本发明的方法的一个实施例的流程图。
图21是图5至图9中所示的本发明的方法的一个实施例的流程图。
图22是图11中所示的本发明的方法的一个实施例的流程图。
图23是图11中所示的本发明的方法的另一实施例的流程图。
图24是图11中所示的本发明的方法的又一实施例的流程图。
图25是图12中所示的本发明的方法的一个实施例的流程图。
图26是图12中所示的本发明的方法的另一实施例的流程图。
图27是图12中所示的本发明的方法的又一实施例的流程图。
图28a是级别0数据平滑的图示。
图28b是级别1数据平滑的图示。
图28c是级别2数据平滑的图示。
图28d是级别3数据平滑的图示。
图28e是级别4数据平滑的图示。
图29是示出本发明的双弧平滑算法的一个实施例的一个步骤的绘图。
图30是示出本发明的双弧平滑算法的一个实施例的另一步骤的绘图。
图31是示出本发明的双弧平滑算法的一个实施例的又一步骤的绘图。
图32a是工具速度随时间变化的另一绘图,其也被称为S曲线。
图32b是指示距离如何与图32a的绘图相关的示图。
图33是示出停止距离的概念的示图。
图34是加法前瞻算法(additive lookahead algorithm)和非加法前瞻算法(non-additive lookahead algorithm)的工具速度随时间变化的另一绘图。
图35a是本发明的加法前瞻算法的一个实施例的流程图。
图35b是非加法前瞻算法的一个实施例的流程图。
图36是比较非加法前瞻算法和TBC加法前瞻算法的运动学特性的表。
图37是本发明的非TBC运动控制配置的一个实施例的框图。
图38a是参考轨迹y=x的绘图。
图38b是图38a的参考轨迹的绘图,该轨迹被分解为y轴基于时间的轨迹y=kt。
图38c是图38a的参考轨迹的绘图,该轨迹被分解为x轴基于时间的轨迹x=kt。
图38d是由图38a-c的参考轨迹产生的实际轨迹的绘图。
图39是本发明的TBC运动控制配置的一个实施例的框图。
图40是图39的TBC运动控制配置的另一框图。
图41是示出线运动的停止地(stopper)平面法向的计算的绘图。
图42是示出弧运动的停止地平面法向的计算的绘图。
图43是示出线运动几何分析的绘图。
图44a是示出弧运动几何分析的第一绘图。
图44b是示出弧运动几何分析的第二绘图。
图45是示出TBC S曲线控制器的一个实施例的操作的流程图。
图46是示出本发明的TBC前馈控制配置的一个实施例的框图。
图47是示出法向误差(normal error)的可变增益反馈控制的本发明的配置的一个实施例的框图。
在若干视图中,相应的参考字符指示相应的部件。虽然附图表示本发明的实施例,但附图不必要依比例,且某些特征可被夸大以便更好地示出和说明本发明。本文中陈述的例证以一种形式示出了本发明的实施例,但是这样的例证不应被看作是以任何方式对本发明的范围进行限制。
具体实施方式
现在参考附图,特别参考图1,其示出了本发明的基于公差的控制方法100的一个实施例,包括本发明的基于公差的控制器在加工部件加工程序所定义的部件时的主要功能的性能。虽然本公开的实施例的控制器涉及本发明的特定情况,处理CNC机器控制,但本发明可一般地应用于具有本领域技术人员将能够认识到的各种运动控制情形(如自动机械控制,车辆控制,抛射体控制,等等)的运动体。
在第一步骤102中,控制器从部件加工程序接收部件数据。部件加工程序可包括规定待加工的部件或“工件”的尺寸,形状,和其他物理特性的数据。通常,轨迹预处理步骤104包括计算机床应该遵循的所需工具路径和馈送速率,以便在相对短的时段内和尺寸公差限制内制造部件。在部件被加工时,规定机床的实际位置的位置反馈在预测和随机误差补偿步骤106中被使用以修改伺服命令,以使机床重定向以相比于命令的工具路径补偿,即校正实际机床路径中的预测或可重复误差和随机或不可重复误差。在最后的步骤108中,修改的伺服命令被传输给伺服放大器以便用来促使机床运动。
现在参考图2的流程图更详细地描述图1的方法。通常,步骤102和104对应于图2中的队列管理器任务,步骤106和108对应于图2中的运行系统任务(Run System Task)。部件加工程序可提供部件表面上的离散点的位置,并且数字控制可在这些离散点之间进行插补以限定由连续的线和弧形成的所需的轨迹或工具路径。如本文中使用的,术语“弧”可指示圆的一段。也就是,弧可具有恒定的半径。用户部件加工程序中的数据的质量可直接与机床上的切割结果的质量相联系。质量差的数据常常会导致不平滑的部件表面。
队列管理器任务采用四个连续操作预处理部件加工程序运动数据,这四个连续操作在运行系统任务执行部件加工程序运动数据之前将部件加工程序运动数据转换为高质量的运动数据。四个操作是公差队列202内的公差理解,压缩队列204内的数据压缩,平滑队列206内的数据平滑,以及前瞻队列208内的加法前瞻。队列管理器可对每个队列执行相应的数据处理并将移动数据流以流水线(pipeline)方式通过连续队列。数据处理包括对公差队列的公差理解操作,对压缩队列的数据压缩操作,对平滑队列的平滑操作以及对前瞻队列的前瞻操作。
队列模块可处理NC运动命令,如定位(G00),线(G01),弧(G02,G03),和用于基于公差的控制的NC公差命令E。TBC技术的使用与现有的或旧式(legacy)CNC部件加工程序一致。该技术允许操作者规定NC公差命令以及现有NC命令以供执行。通过在现有G&M代码部件加工程序中插入新NC公差命令,CNC编程者可规定不同的CNC公差限制。
NC公差命令规定区域和将应用于该区域的公差值以及命令标识号。NC公差命令被定义为E代码:
E tol Xx1 Yy1  Zz1 Xx2 Yy2 Zz2 Iid
E代码要求由对角(x1,y1,z1)和(x2,y2,z2),x1<x2,y1<y2,z1<z2的坐标定义的三维矩形区域保持非零NC公差值tol。该特定公差命令可由整数值id识别。
多个E代码可以定义交叠的公差区域。一个点可属于许多有效NC公差区域(active NC tolerance region)。在这种情况下,在该点的NC公差值被定义为其区域覆盖该点的最后的E代码中规定的公差值。
在公差队列202内的公差映射操作中,公差值被分配给工具路径内的每个线或弧。公差映射操作处理在部件加工程序中定义的可变公差区域,并将所要求的公差分配给每个运动。具有不同值的公差区域可彼此交叠,如图3a所示。三个区域302,304,306具有各自d公差,它们分别被定义为0.001英寸,0.0005英寸,和0.0003英寸。当诸如从P0到P1的移动跨过多个公差区域时,移动被分成多个移动,即从P0到P1’,从P1’到P1”,和从P1”到P1,每个移动具有不同的公差值。部件加工程序中的公差命令E代码可规定区域和将应用于部件中的那些区域的公差值。部件加工程序中的运动命令可落到不同的公差区域中。公差理解可根据编程的E代码识别为每个运动命令所需的正确的公差值。
在处理公差命令中,如果命令是新公差规定,则可为公差表中的新项目创建空间。在公差表中,公差值被映射到各公差区域。然后,新项目可以采用从命令中提取的公差规定来填充。最后,新项目可在公差表的起点插入。在处理后,公差命令可被丢弃,因为来自命令的信息已经被存储在公差表中。
在处理线命令或弧命令中,命令所要求的公差值可被计算并附加到命令中。E代码可规定不同的公差区域,且NC程序的每个线或弧可属于这些公差区域中的一个或多个。用于为每个线或弧确定所需公差的算法可包括检查线或弧上某些样点的公差。如果线或弧位于一个公差区域中,则样点将具有同一公差,该公差是该线或弧的所要求的公差。另一方面,如果线或弧位于多于一个的公差区域上,则样点将具有不同的公差。在这种情况下,线将基于样点被分成多个区段,且每个线段具有唯一的所要求的公差。同理,弧可由不同的公差分段,然而,该弧将不被分割。而是将最高公差值选为该弧所需的公差。
例程可用来为给定点确定所要求的公差。其执行下面的操作:1)取给定点的位置作为关键值;2)从起始点开始,在公差表中搜索其公差区域涵盖关键值(即,给定点位于公差区域内)的E代码;和3)分配首先发现的E代码的公差值作为给定点的所需的公差。
如果一个点属于不同公差命令所规定的几个公差区域,则最新的公差命令在控制下。新公差命令总是在公差表的起点插入。因此,在上面的操作中,首先发现的E代码是规定给定点的所需公差的最新的E代码。
另一例程可用来根据多个公差规定将线分成多段。还有一个例程可用来确定关于弧的多个公差规定中最紧密的公差。
具有不同值并彼此交叠的公差区域的另一实施例在图3b-c中示出,图3b示出第一情况,图3c示出第二情况。在该实施例中,为了计算效率的目的,线移动可最多分成两个线。仅在点p0和p1之间生成一个额外的点p’。
在弧的情况下(图3d),在弧起始点t1和终点t5之间加入三个等距离的点t2,t3,t4。五个点的最低公差定义弧的公差,如下面的等式所示:
A1.tol=min{t1,t2,t3,t4,t5}。
在公差理解操作之后,将从公差队列202中取得并发送到压缩队列204的元素是:定位命令,附加有所需公差的线命令,附加有所需公差的弧命令,和程序结束命令。
数据压缩
在压缩队列204内的数据压缩操作中,程序数据被压缩。在许多部件加工程序中,存在着会导致部件上的差表面光洁度的短线移动。可以将这些短线中的一些组合为更长的线,这可改善部件质量。数据压缩操作可确定是否短线可组合为更长的线,且如果可以这样做,则数据压缩操作可执行这样的数据压缩。在图4a所示的数据压缩操作中,消除点P1和P2并从点P0到点P3形成新线。工具路径上的公差边界或限制由虚线402,404指示。公差边界402,404可比E代码给出的用户定义的数字控制公差小一个数量级。
线命令是点到点移动。将短线移动组合为更长的线移动可包括在新线移动的目标点序列中确定起始点和终点,和除去所有中间点。仅在某些满足某些条件(包括公差条件,即从每个被除去的点到新线的距离在给定公差内)时,新的更长的线移动才可替换老的短线移动。
为了进行数据压缩,所有线命令可顺序地在压缩队列204中被检查。压缩操作可以以下面的步骤处理点到点移动:1)检查具有连续目标点p0,p1,p2,p3,...,pn-1,pn的点到点移动序列;和2)如果下面的条件都满足,则除去序列中p0和pn之间的点,即p1,p2,p3,...,pn-1
·对于所有i(1≤i<n),从pi到连接p0和pn的直线的距离小于给定公差
·对于所有i(1≤i<n),pi在连接p0和pn的直线上的垂直投影点位于p0和pn之间
·对于所有i(0≤i≤n),pi作为终点位置的线命令具有相同的公差值
·从p0到pn的距离由预定长度界定
因此,从p0到pn的线移动替换n个较短的线移动。在压缩操作后,压缩队列204中的元素可以更紧凑,因为某些连续短线已经融合。压缩队列204中的所有元素,包括定位命令、压缩的线命令、弧命令和程序结束命令,被发送给平滑队列206。
在另一个数据压缩实施例中,四个测试或标准被用来确定下一个点是否应添加到压缩队列中,或是否压缩应仅对当前在压缩队列中的点执行。在图4b的图示中,假定已经发现点p0、p1、p2和p3满足压缩标准,则确定点p4是否应加入压缩队列,或是否应仅对点p0,p1,p2和p3执行压缩。四个压缩标准可以如下:
测试1:|p4-p0|<0.05英寸。
测试2:对于p3,角θ在-90度和90度之间。
测试3:p0.tol=p1.tol=p2.tol=p3.tol=p4.tol。也就是,相等的公差已经被分配给来自公差表的每个点。
测试4:从p1,p2和p3到线p0p4的垂直距离小于规定的公差。
如果满足上面的四个测试,则p4被加到压缩队列中。如果上面的四个测试不满足,则p3被加到平滑队列中,且在压缩中丢弃p1和p2。基本上,三段(p0p1、p1p2和p2p3)被组合到同一段(p0p3)中。
数据平滑
数据平滑操作转换NC线数据为弧,同时保持给定的公差。数据平滑可有利地导致更平滑的速度和加速,更好的馈送速率控制,改善的表面光洁度,和TBC真弧技术的充分利用。
可以提供下面的不同平滑级别:级别0,包括没有平滑并产生切割的多边形;级别1,弧替换线,且在大多数情况下弧可以不彼此连接;级别2,弧替换线,弧彼此连接,且在大多数情况下弧不彼此相切;级别3,弧替换线,弧彼此连接,且弧彼此相切;和级别4(可由本发明提供的平滑级别),弧替换线,弧彼此连接,且弧彼此相切,而且弧曲率逐渐改变。预备平滑操作,校正平滑操作,和双弧平滑可同时地以流水线方式对平滑队列执行。
图28a-e分别示出级别0,级别1、级别2、级别3和级别4平滑。在级别0-3平滑中,平滑的输出,即最终轨迹,始终通过数据点。在图28d中,c1和r1是由点p0、p1和p2定义的弧的中心和半径;且c2和r2是由点p2,p3和p4定义的弧的中心和半径。弧的曲率被定义为半径的倒数(1/r)。因此,在图28d的级别3实例中,从r1到r2的相对大的半径改变导致两个弧之间的相应的大曲率改变。
在数据点(在规定的公差内)被调整以实现曲率渐变的意义上,级别4不同于其他平滑级别。在诸如多轴造型(或使用CNC机器进行金属切割)的应用中,这种数据点的调整是可接受的,因为调整非常小(通常小于0.0005英寸)并在规定的公差内。
可以在方向和大小上对点进行调整,以实现曲率渐变,使得轨迹接近椭圆。沿轨迹的曲率渐变可以便于运动控制。曲率渐变可以通过在沿轨迹的每个点后的曲率改变或至少可能的改变来表征。如图28e所示,曲率半径沿从p0到p4的轨迹逐渐变小。也就是,随着沿轨迹的每个点半径变得更小。相反,在图28d中,当轨迹通过p2时,曲率半径下降了一大步。然而,在级别4平滑内,曲率还可能在某点的两侧是相同的。如图28e中的交叠点所示,点可被调整或移动,使得轨迹接近椭圆路径。然而,可仅在规定的公差内对点进行调整。
工具沿弧的运动需要指向弧的中心的力,其被称为“向心力”。在CNC机器的情况下,该力可以由电机提供。向心力的突然相对大的改变(当运动从一个弧移动到另一个弧时)可导致较大的过冲,这对于所得的表面光洁度会是有害的。
图28e示出相比于图28d所示的点p0至p4的先前位置,对点p0至p4的位置的微调整。微调整可导致限定接近椭圆的轨迹的点。椭圆轨迹可以是理想的或最佳的,因为沿着椭圆,曲率连续地改变。然而,本发明的范围内所允许的调整有多大或多少,可以取决于公差。因此,点可能实际上不落在调整后的椭圆上。
在本发明的一个实施例中,不是最优化曲率变化,而是采用次最优解决方案,使得轨迹仅包括圆弧,而非椭圆。将轨迹定义为一系列圆弧可具有减小计算点调整的计算/数学复杂度的优点。因此,即时可以通过在公差内调整点来实现椭圆轨迹,在本发明的一个实施例中,仍调整点使得轨迹由一系列圆弧定义。
在一个实施例中,运动控制是在200微秒回路中实现的,即,运动控制每200微秒更新一次。因此,需要高效地执行计算使得计算能够每200微秒执行一次。由于除了运动控制外还会执行若干其他操作的处理器的速度的限制,使用由一系列圆弧(曲率渐变)定义的轨迹而非椭圆轨迹(曲率连续改变),可有助于以特定频率(如每200微秒一次)更新运动控制。
数据平滑可包括三个阶段或操作,也就是为平滑做准备,为平滑调整,和使用双弧算法进行平滑。在本发明的平滑方法的第一操作中,为平滑识别线数据。将NC线数据转换为弧同时保持给定公差并不总是可行的,如同例如以锐角连接的线那样。平滑NC线数据(例如长线移动)有时并不理想。在原始线数据可被平滑前,某些条件可能需要满足。第一操作检查原始线数据,识别满足平滑条件的线段。
平滑准备
在第一操作期间,在平滑队列中顺序地检查所有线移动目标点。确定可被平滑的线段,且所有这些线的目标点可标记为“平滑”或“不平滑”。
假定p1、p2和p3是平滑队列中的三个连续的目标点。如果下面的条件都满足,则点p2可以标记为“平滑”:
·从p1到p2的运动是线移动
·从p2到p3的运动是线移动
·从p1到p2的长度由常数界定
·从p2到p3的长度由常数界定
·从p1到线p2p3的垂直距离由常数界定
·从p3到线p1p2的垂直距离由常数界定
·线p1p2和线p2p3之间的角度由常数界定
否则,点p2可以标记为“不平滑”。由第一操作处理的平滑队列206中的线元素可以全部标记。在一个实施例中,从p1到p2的长度和从p2到p3的长度都由约1cm和2cm之间的常数界定;从p1到线p2p3的垂直距离由约为从p2到p3的长度的20%和40%之间的常数界定;从p3到线p1p2的垂直距离由约为从p1到p2的长度的20%和40%之间的常数界定;并且线p1p2和p2p3之间的角由约为135度和165度之间的常数界定。
在平滑队列206内的数据平滑操作中,线数据被转换为彼此连接并相切并具有渐变曲率或半径的弧。这提供导致更好的部件表面光洁度的更平滑的运动速度和加速。数据平滑的处理包括平滑准备步骤210(图2),平滑调整步骤212,和双弧平滑步骤214。平滑准备步骤210包括为平滑识别数据点。如图5a所示,点P1可适合于平滑,并因此可被标记用于平滑,如果从P0到P1的移动和从P1到P2的移动的长度,和这些移动之间的角度502在规定的限制以下。点P0可距离点P1布置同时保持从P0到P1的移动的长度在规定限制以下的最大距离由虚线504指示。类似地,点P2可距离点P1布置同时保持从P1到P2的移动的长度在规定限制以下的最大距离由虚线506指示。虽然虚线504所指示的离P1的距离小于由虚线506指示的离P1的距离,但这些距离也可以相等。在一个实施例中,如果从P0到P1的移动和从P1到P2的移动的长度,即点P0和P1之间的第一线距离以及点P1到P2之间的第二线距离,都在近似1厘米和2厘米之间的限制或阈值线距离以下,且转角502在近似135度和165度之间的限制或阈值角以上,则点P1可适合于平滑。
在另一实施例中,进行平滑的标记点P1的进一步的要求是从点P0到线P1P2的垂直距离,和从点P2到线P0P1的垂直距离都在规定的限制或阈值垂直距离以下。在一个实施例中,如果从点P0到线P1P2的垂直距离d0小于约为线P1P2长度的20%和40%之间,且如果从点P2到线P0 P1的垂直距离d2小于约为线P0 P1长度的20%和40%之间,则点P1可被标记用于平滑。
在图5b中示出的另一实施例中,三个点p0,p1,p2由弧连接。距离d1是线段p0p1的中间部分和弧p0p1p2之间的最短距离;距离d2是线段p1p2的中间部分和弧p0p1p2之间的最小距离。在一个实施例中,距离d1是线段p0p1的中点和弧p0p1p2之间的最短距离;距离d2是线段p1p2的中点和弧p0p1p2之间的最短距离。如果下面的三个条件或标准被满足,则三个点中的中间一个点,即,点p1可被标记用于平滑:
测试1:p0p1和p1p2都是线。
测试2:Max{d1,d2}<0.0005英寸。也就是,d1和d2都小于近似在0.0002和0.001英寸之间的某个预定距离(诸如0.0005英寸)。
测试3:角θ>145度,或近似在130度和160度之间的某个其他预定角。
如果不满足上面三个条件,则可以不标记点p1进行平滑。
图18示出了如上面参考图5b描述的本发明的方法1800。在第一步骤1802中,识别数据路径的三个连续点。例如,可识别点p0,p1和p2。在步骤1804,确定第一点和第二点之间的第一线距离和/或第二点和第三点之间的第二线距离。更特别地,确定点p0和p1之间的第一线距离518,以及点p1和p2之间的第二线距离520。在下一步骤1806中,确定在第一点和第二点之间延伸的第一线和在第二点和第三点之间延伸的第二线之间的转角。在图5b的实例中,确定在点p0和p1之间延伸的线和在点p1和p2之间延伸的线之间的转角θ。如步骤1808、1810和1812中所示,如果第一线距离和/或第二线距离小于阈值线距离,并且转角大于阈值转角,则对第二点执行平滑。也就是,如果第一线距离518和/或第二线距离520小于阈值线距离,并且转角θ大于阈值转角,则可对点p1执行平滑。此外,可识别数据路径的另外三个连续数据点,如步骤1802所示。例如,可识别连续点p1,p2和下一个点p3(未示出)。
平滑调整
在第二操作中,为平滑调整线数据。第二操作可减小由三维点的序列表示的三维曲线的曲率变化。这样的曲线上的给定点的局部曲率主要由邻近点确定。给定点或其邻近点的位置的微小变化可显著改变局部曲率。因此,可以在给定公差内修改点的位置,使得由修改的点表示的三维曲线的曲率变化将得以减小。曲线上的曲率变化越小,则曲线可以越平滑。
第二操作可以包括顺序地检查平滑队列206中已经由第一操作处理的一组四个连续的线目标点,和调整中间点的位置以修改局部曲率。设p1,p2,p3和p4是平滑队列206中由第一操作处理的四个连续的线目标点。假定点p2和p3都被标记为“平滑”,那么这两个中间点将被稍微移动。如图6所示的用于调整点位置的算法可包括下面的步骤:1)创建通过点p1,p3和p4的弧ARC134;2)创建通过点p1,p2和p4的弧ARC124;3)向弧ARC134移动点p2,并在给定公差内保持移动距离;和4)向弧ARC124移动点p3,并在给定公差内保持移动距离。
对四个连续点构成的组连续地进行位置调整。
在调整了一组之后,由前一组中的最后三个点和下一线元素的新目标点组成的连续组将被处理。(在给定公差范围内)移动由第二操作处理的平滑队列206中的线元素的目标点,使得这些点的曲率更平滑地改变,即,比它们在第二操作之前改变的急剧程度低。
步骤212包括为平滑调整线移动。线移动可相对于彼此被调整以控制路径曲率并为弧拟合(arc fitting)做准备。在图6a的图示中,定位分别通过点P0P1P3和P0P2P3的两个构造弧602,604。点P1和P2可以都被移入构造弧602,604之间的区域中。点P1和P2被移动得彼此更靠近使得点P2移动到构造弧602,604的近似中间位置,并且点P1向构造弧604移动较小的距离。也就是,可以不将点P1移动到位于构造弧602,604之间的中间位置的程度。而是,可将点P1移动小于到相对构造弧604的距离的一半的距离。更特别地,可将点P1移动等于0和0.5之间的一个因子乘以点P1和相对构造弧604之间的间隔S1(图7)所得的结果的距离。因子可小于0.45。在图6a所示的实施例中,因子近似在0.18和0.20之间,这已经通过数学方法建立为提供有利的结果。
图7是放大的视图,其以更高的精度示出一个实施例中点P1和P2的移动的方向和距离。线702与点P2相交并与在点P2与弧604相切。间隔S2在垂直于线702的方向上在点P2和弧602之间被定义。点P2可在垂直于线702的方向上移动等于0.45和0.55之间的因子乘以间隔S2所得的结果的距离。在图6a和7所示的实施例中,因子近似为0.50。类似地,线704与点P1相交并在点P1与弧602相切。间隔S1在垂直于线704的方向上在点P1和弧604之间被定义。点P1可在垂直于线704的方向上移动约为0.19乘以间隔S1的距离。
该处理然后可为编程路径中的每个连续移动重复。图8示出了在已经识别下一个点P4后,处理的重复。定义分别通过点P1P2P4和P1P3P4的两个构造弧802,804。然后将点P2和P3分别以基本类似于图6a和7中点P1和P2的移动的方式移动因子0.19和0.50。
图6b示出本发明的另一实施例,其为平滑调整线移动。线移动可以相对于彼此被调整以控制路径曲率并为弧拟合做准备。定位分别通过P0P1P3和P0P2P3的不共面的两个构造弧612,614。弧612,614的平面的交线被指定为616。由弧612定义的圆的中心被指定为c2;并且由弧614定义的圆的中心被指定为c1。点p1在弧614的平面上的投影被指定为点q1。也就是,延伸通过点p1和q1的线垂直于弧614的平面。类似地,点p2在弧612的平面上的投影被指定为q2。也就是,延伸通过点p2和q2的线垂直于弧612的平面。弧614上到点p1的最近的点被指定为s1;并且弧612上到点p2的最近的点被指定为s2。
通常,如果一个点及其邻近点都已经被标记用于平滑,则该点被调整。如果一个点满足上面给出的三个测试或条件(即,p0p1和p1p2都是线;Max{d1,d2}<0.0005英寸;和角θ>143.2度)中的每个,则该点可被标记用于平滑。在图6b所示的实例中,如果p1已经被标记用于平滑,且p0和p2中的任何一个或两个都已经被标记用于平滑,则点p1可被调整。如果有的话,则点p1可沿着从p1到s1延伸的调整矢量v1而被调整。类似地,如果p2已经被标记用于平滑,且p1和p3中的任何一个或两个都已经被标记用于平滑,则点p2可被调整。如果有的话,则点p2可沿着从p2到s2延伸的调整矢量v2而被调整。
在与弧612和614相关联的调整之后,处理继续与下一组四个点(即,点p1,p2,p3和p4)所形成的弧相关联的随后调整。也就是,调整可基于由点p1、p2和p4定义的弧和由点p1,p3和p4定义的弧来做出。如同图6a和7的实施例一样,调整处理可基于沿轨迹的四点组成的随后的组,来无限地继续计算。
点的位置沿调整矢量的调整的振幅可取决于两个相邻点中的一个是否没有被标记用于平滑。更特别地,如果标记的点位于未标记的点的紧接着之后或之前,即标记的点位于未标记的点和另一标记的点之间,则标记的点的位置可被调整调整矢量长度的一半。也就是,标记的点可沿调整矢量移动一半的长度。在等式形式中,点的位置可计算为p=p+0.5*v。也就是,0.5的系数或因子来移动点。否则,如果标记的点位于两个其他标记的点之间,则点的位置被调整两次,且在两次调整的每次中的系数或因子约为0.19。在第一次调整中,调整矢量的方向和幅度是采用这样的调整点确定的,该调整点是用在图6b中所示的计算中的四个点中的第二个。在第二次调整中,调整矢量的方向和大小是采用这样的调整点确定的,该调整点是四个点中的第三个。
上面结合了图6b的实施例讨论了0.19和0.5的调整因子。然而,如同图6a和7中的实施例一样,这些因子可位于0.18到0.20和0.45到0.55的相应范围内。
点的调整的总幅度可以由常数值限定。在一个实施例中,调整的总距离被限制为0.0002英寸。如果计算的总调整大于0.0002英寸,则实际实现的调整在计算的调整的方向上被设定为0.0002英寸。
为了更好地示出图6b的实施例,下面描述各种调整情形。为了说明的简单性和容易性,验证总调整小于调整限制(如0.0002英寸)的检查被略去。
情况1:
条件:p0没有被标记用于平滑;p1被标记用于平滑;p2没有被标记用于平滑。
结果:因为p1不邻近另一个标记的点,所以不调整p1,即使其被标记用于平滑。
情况2:
条件:p0没有被标记用于平滑;p1和p2被标记用于平滑;p3没有被标记用于平滑。
结果:p1=p1+0.5*v1;p2=p2+0.5*v2。
情况3:
条件:p0没有被标记用于平滑;p1,p2和p3被标记用于平滑;p4没有被标记用于平滑;
结果:p1=p1+0.5*v1;p2=p2+0.1877*v2+0.1877v2’;p3=p3+0.5*v3,其中v1和v2是从点p0p1p2p3计算的,且点v2’和v3是从点p1p2p3p4计算的。
情况4:
条件:p0没有被标记用于平滑;p1,p2,p3和p4被标记用于平滑。
结果:p1=p1+0.5*v1;p2=p2+0.1877*v2+0.1877v2’;p3=p3+0.1877*v3+0.1877v3’,其中v1和v2是从点p0p1p2p3计算的,点v2’和v3是从点p1p2p3p4计算的,并且v3’是从点p2p3p4p5计算的。
图19示出上面参考表示运动体的轨迹路径的图6b描述的本发明的方法1900。在第一步骤1902中,识别数据路径的四个连续点,包括第一点,第二点,第三点和第四点。例如,可识别点p0,p1,p2和p3。在步骤1904,定位由第一点,第二点和第四点限定的第一弧。在图6b的图示中,识别由点p0、p1和p3限定的第一弧612。在步骤1906中,定位由第一点,第三点和第四点限定的第二弧。在图6b中,识别由点p0、p2和p3限定的第二弧614。在最后的步骤1908中,将第二点移动到第一弧和第二弧之间的区域中。例如,可将点p1沿调整矢量v1移动到弧612和614之间的区域中。
步骤214(图2)包括使用双弧算法来平滑数据。线移动可转换为彼此相切并保持给定的路径公差的两个弧移动。如图9所示,与点P0和P1相关联的线移动可以用与点P0和P1相关联的两个弧移动替换。更特别地,从点P0到点P1的线移动902可转换为从P0到弧结合点P’的Arc1和从弧结合点P’到P1的Arc2。Arc1和Arc2可彼此连接并可在点P’彼此相切。Arc1可与在点P0终止的前一移动904相切。前一移动904可以是线移动或弧移动。进一步,Arc2可以与在点P1开始的随后或下一移动906相切。随后的移动906可以是线移动或弧移动,并可在下一点P2(图9中未示出)的调整位置被确定后定义。所有程序移动之间的平滑过渡因此能够得以实现。在一个实施例中,Arc1的半径908与Arc2的半径910不同。半径908和910在图9中仅部分示出。数据平滑基本上将工具路径中的突然转向或不连续性消除以提供更平滑的工具运动。
图20示出上面参考图9描述的本发明的方法2000。在第一步2002中,识别从数据路径的第一点延伸到数据路径的第二点的线移动。例如,可识别从点P0延伸到点P1的线移动902。在第二步骤2004中,线移动用第一弧移动和第二弧移动替换,第一弧移动在第一点开始并在结合点终止,第二弧移动在结合点开始并在第二点终止。在图9的图示中,线移动902用弧移动Arc1和Arc2替换,Arc1在点P0开始并在结合点P’结束,并且Arc2在结合点P’开始并在第二点P1结束。
双弧平滑
在第三操作中,使用双弧算法来执行平滑。第三操作可包括将线转换为彼此相互相切同时保持给定公差的弧。第三操作可以包括顺序地检查在平滑队列206中在第二操作中处理的连续的线目标点,和执行线到弧的转换。
双弧算法是为第三操作开发的。该算法使最终的平滑轨迹通过待平滑的线段的所有目标点。因此,公差要求将很好地得到满足。
双弧算法可以以流水线方式同时执行两个函数。首先,算法可确定待平滑的线段的每个目标点的切向矢量。第二,算法可生成双弧来替换待平滑的线段。设p1,p2,p3,p4,p5,p6,...,pn是平滑队列206中已经由第二操作处理的连续的线目标点。第一函数可执行以下步骤:
·如果pi,pi-1或pi+1被标记为“平滑”,则基于点pi-1、pi和pi+1的位置计算点pi处所需的切向矢量ti(图29)。三个点pi、pi-1和pi+1定义Arcpi-1pipi+1而ti是弧在点pi的切向矢量。
·如果pi,pi-1,pi+1中没有点被标记为“平滑”,则不执行任何操作
·i增加1
·重复上述步骤
上面的函数将生成待平滑的线段的目标点处的所需切向矢量的序列,表示为t1,t2,t3,t4,t5,t6,...,tn。这些切向矢量可被称为“所需的切向矢量”,因为这些矢量的方向是逐渐变化的,其进一步平滑了已平滑的轨迹的曲率变化。
第二函数可执行下面的步骤:
·检查点pi和pi+1以察看是否已经为pi和pi+1计算了相应的所需切向矢量ti和ti+1
·如果切向矢量ti和ti+1都可获得,则生成一对三维弧ai1和ai2使得:
·ai1在点pi开始并与切向矢量ti相切
·ai1在pi与pi+1之间的点p与ai2相切
·ai2在点p开始,在点pi+1结束,且与切向矢量ti+1相切
·如果切向矢量ti和ti+1中的任何一个不可获得,则不执行任何操作
·i增加1
·重复上述步骤
在另一实施例中,第二函数可执行以下步骤:
·如果pi,pi+1和pi+2被标记用于平滑,且已经为pi,pi+1和pi+2计算了相应的所需切向矢量ti,ti+1和ti+2,那么生成一对三维弧ai1和ai2,使得:
·ai1在点pi开始并与切向矢量ti相切
·ai1在pi与pi+1之间的点p’与ai2相切
·ai2在点p’开始,在点pi+2结束,且与切向矢量ti+2相切
·检查pi+1和最近的弧之间的最短距离(d)。如果该距离在给定公差内,则双弧是有效的。
·如果pi和pi+2之间的双弧是无效的,则在pi和pi+1之间生成一对三维弧ai1和ai2,使得:
·ai1在点pi开始并与切向矢量ti相切
·ai1在pi和pi+1之间的点p’与ai2相切
·ai2在点p’开始,在点pi+1结束,且与切向矢量ti+1相切
·重复上面的步骤以生成pi+1和pi+2之间的双弧
·i增加2
·重复上面的步骤
上述实施例中第二函数的操作在图30和31中示出。在图30中,p0,p1和p2被标记用于平滑。生成一对三维弧a1和a2,使得弧a1在点p0开始并与切向矢量t0相切;弧a1在p0和p2之间的点p’与弧a2相切;并且弧a2在点p’开始,在点p2结束,且与切向矢量t2相切。如果p1和两个弧中较近的弧a1之间的距离d在给定或预定的公差内,则双弧a1和a2是有效的。
另一方面,如果双弧a1和a2是无效的,即距离d不在给定的公差内,则生成另一对三维弧a3和a4(图31),使得弧a3在点p0开始并与切向矢量t0相切;弧a3在p0和p1之间的点p”与弧a4相切;并且弧a4在点p”开始,在点p1结束,并与切向矢量t1相切。然后可按顺序重复上面的步骤以在点p1和p2之间生成另一对三维弧(未示出)。弧a1,a2,a3和a4的任意一个或全部可以是圆弧,且每个弧可具有不同的各自的半径。
在双弧平滑这样在点p0,p1和p2之间完成的情况下,可为沿轨迹的下三个点(即点p2,p3和p4)重复上述第二函数。进一步,可为沿轨迹的随后的每三个点组成的组重复第二函数。
上述双弧平滑实施例针对其中p0、p1和p2均被标记用于平滑的情况。现在假定在四个点p0,p1,p2和p3中,p1,p2和p3被标记用于平滑。切向矢量t0和t1可从由p0,p1,p2定义的弧得到,且切向矢量t2可从由p1,p2和p3定义的弧得到。可采取下面的五个步骤:
1.在点p’相切的双弧,即从p0到p’的弧a1和从p’到p2的弧a2,可从(p0,p2,t0,t2)生成,如图30所示。
2.然后可检查p1和双弧中较近的一个之间的最短距离。如果x,y和z方向的距离小于预定距离(如0.0002英寸),那么双弧a1和a2是有效的。
3.如果双弧a1和a2是无效的,则双弧a3和a4在点p0和p1之间基于切向矢量t0,t1生成。两个弧a1和a2可在点p”相切。
4.可以对双弧进行公差检查。图31中的距离d是点p”和在点p0与p1之间延伸的线之间的最短距离。如果距离d小于预定距离(如0.0005英寸),那么双弧a3和a4是有效的。否则,如果双弧a3和a4是无效的,则将点p0,p1之间的轨迹定义为点p0和p1之间延伸的线。
5.重复步骤3和4以基于切向矢量t1和t2在p1和p2之间产生双弧。
双弧算法用一对三维弧替换线段。由双弧算法生成的邻近弧可彼此相切,且所有的弧可以具有减小的曲率变化。双弧算法可特别适合于与TBC结合使用,这将会产生几个优点。第一,对于大多数三维表面和曲线,曲率恒定地改变。相互相切的较短的弧提供比较长的弧更好和更平滑的近似。第二,对于五个或六个轴的加工,短三维XYZ弧可与ABC轴空间中的点对点移动相一致。这是显著的优点,因为将非TBC长弧三维平滑扩展到五轴或六轴加工是困难的。第三,所有三维弧命令将直接由TBC使用真弧技术执行,其中真弧技术控制沿真弧轨迹的运动而不采用多边形近似。在平滑后,平滑队列206中的元素,包括定位命令、线命令、弧命令和程序结束命令,可被发送到前瞻队列208。
图21示出上面参考图5b、6b、30和31描述的本发明的方法2100。在第一步骤2102中,识别路径数据的四个连续点,包括第一点、第二点、第三点和第四点。在上面参考图6b描述的实施例中,四个连续点p0,p1,p2和p3被识别。在第二步骤2104中,确定第二点是否适合于平滑。例如,可以根据上面参考图5b描述的方法,来确定点p1是否适合于平滑。如果不,则操作可返回到步骤2102,在该步骤中识别另一组四个连续点。例如,可识别四个连续点p1,p2,p3和p4。如果第二点适合于平滑,则定位由第一点、第二点和第四点定义的第一弧(步骤2106)。在图6b的实施例中,弧612被识别。在下一步骤2108中,定位由第一点、第三点和第四点定义的第二弧。在图6b的实施例中,弧614被识别。接着,在步骤2110中,将第二点移入第一弧和第二弧之间的区域中。例如,如图6b所示,可以沿调整矢量v1将点p1移入弧612和614之间的区域。最后,在步骤2112中,与第二点相关联的线移动可以用与第二点相关联的至少一个弧移动替换。例如,导向点p1的线移动,或源自点p1的线移动,可以用弧移动替换,如图30和31所示。
加法前瞻
在前瞻队列208内的加法前瞻操作中,确保在程序数据中的所有速度变化之间有足够的距离来加速或减速。对于每个编程的移动,根据S曲线加速度来计算停止距离,其定义将轴减速到零速度所需的距离。称为S曲线是因为图10中所示的速度分布图(速度随时间变化的图)的加速/减速部分看起来像“S”而非直线。停止距离可由以下两个值中的较低者确定:a)由当前移动和下一移动之间的角度确定的最大移动速度;和b)由机器模型确定的路径曲率的最大移动速度。
前瞻操作可确保在所有速度变化之间有足够的距离用于加速或减速。其优点在于,可以减少机器冲震(machine bumping)和驻停标记,且可以改善加工的表面光洁度。
可为前瞻操作规划三个函数,即三阶平滑(three order smoothing),预前瞻,和加法前瞻。加法前瞻函数可包括在前瞻队列208中搜索速度和距离信息并确定是否有足够的距离供机器适当地从一个运动命令加速/减速至另一个运动命令。如果没有足够的距离,则该信息可被存储并用在运动内核中以减小速度,使得机器可适当地加速/减速。
停止距离和速度之间存在着数学转换。适当的速度可从停止距离和S曲线计算,如下面更详细讨论的那样。
加法前瞻算法可能会需要不同部件几何结构的被允许的最大速度的知识。可为该目的构建公差/弧半径/速度表。该表可为具有不同公差要求的不同半径或曲率的弧提供最大可允许速度。
加法前瞻函数可以以下面的步骤检查前瞻队列208的头部的每个新到来的运动命令,并为前面的命令计算停止距离:
·比较前一命令与该前一命令前面的命令以得到这两个命令之间的角度或曲率,并使用该角度确定最大结合点速度,其是这两个连续运动命令的结合点处的可允许的最大速度。
·查找公差/弧半径/速度表。根据运动轨迹和所要求的公差,为前一命令的运动轨迹确定最大可允许轨迹速度。
·通过取最大结合点速度和最大轨迹速度中的较小者来为前一命令计算停止距离,并根据S曲线速度分布图将该较小速度转换为停止距离。
·将计算的停止距离附加到前一命令中。
前瞻是动态处理。连续轨迹改变可影响先前处理的命令。每次新命令被添加到前瞻队列208并为新命令计算停止距离时,可复查已经被处理的队列中的所有命令以确定先前为这些命令计算的停止距离是否需要更新。在新移动被处理并置于前瞻队列208中后,队列208中的所有先前移动可被复查,并且如果需要,可向下调整它们的速度。该最终的预处理操作类似于在拐弯前沿道路设置速度限制标记,使得驾驶者可安全驶过拐弯处。
前瞻处理包括确定结合点/路径馈送速率变化的第一步骤216,和为停止距离进行前瞻的第二步骤218。在步骤216中,确定沿从点Pi-1到点Pi的路径的馈送速率变化。在步骤218中,区段长度Li可在点Pi-1和Pi之间确定,如图11所示。也可为每个点Pi-1和Pi确定停止距离。点Pi-1处的停止距离不应大于Li和点Pi处的停止距离的总和。另外,超出点Pi可能不能遵从速度限制。“加法前瞻”中的术语“加法”指的就是该总和。如果发现点Pi-1处的停止距离大于Li和点Pi处的停止距离的总和,那么点Pi-1处的速度可被减小使得点Pi-1处的停止距离等于Li和点Pi处的停止距离的总和。在等式形式中,
如果(停止距离i+∑Li)<停止距离i-1,那么
设定(停止距离i+∑Li)=停止距离i-1
在另一种形式,设cmd1,cmd2,cmd3,cmd4,cmd5,cmd6,...,cmdi是前瞻队列208中已经被处理的连续命令。对于命令cmdj,0<j<i+1,设其路径长度为lenj,且停止距离为stopdisj。“有效停止距离条件”定义如下:如果命令cmdj的停止距离stopdisj等于或小于路径长度lenj+1和命令cmdj+1的停止距离stopdisj+1的总和,那么命令cmdj满足“有效停止距离条件”。
当新命令cmdi+1被接收并处理时,其具有路径长度leni+1,和停止距离stopdisi+1。设j=i。该加法前瞻算法可执行如下步骤:
·检查命令cmdj以确定其是否满足“有效停止距离条件”,即,stopdisj是否等于或小于lenj+1和stopdisj+1的总和
·如果命令cmdj不满足“有效停止距离条件”,即stopdisj大于lenj+1和stopdisj+1的总和,则命令cmdj的停止距离将由lenj+1和stopdisj+1的总和替换
·如果命令cmdj满足“有效停止距离条件”,即stopdisj等于或小于lenj+1和stopdisj+1的总和,则命令cmdj的停止距离stopdisj可保持不变,且更新操作被完成
·如果j等于0,则完成更新操作
·设定j=j-1,即将j减小1
·重复上面的步骤
当加法前瞻函数在反方向上顺序地复查前瞻队列208中先前处理的命令,检查“有效停止距离条件”,并更新命令的停止距离时,更新操作可在发现满足“有效停止距离条件”的第一个命令后停止。因为该命令满足“有效停止条件”,所以该命令的停止距离可保持不变。因此,该命令之前的所有命令被满足并仍然满足“有效停止距离条件”。也就是,没什么被改变也没什么需要改变。这是加法前瞻算法的有利特性,这为前瞻操作提供了极高的效率。不是向回察看并更新整个前瞻队列208,而是平均起来仅需要更新队列中的一些元素。
停止距离和停止地
加法前瞻算法引入了停止距离和停止地的概念。具有标称馈送速率v1(图32a)和终点速度v0的运动命令的停止距离,可以根据S曲线速度分布图定义为从目标点(图32b)行进到可实现完全停止的点的距离,如图32a中阴影区域所示。可选择作为运动命令的虚拟目标点的停止地,使得如果系统从标称馈送速率v1减小速度并根据S曲线在停止地处到达完全停止,则它以所需的终点速度v0通过实际目标点。该停止距离可定义为目标点和停止地之间的距离。
一旦确定运动命令的标称馈送速率v1,则存在停止距离和终点速度v0之间的一对一映射,假定S曲线速度分布图是固定的,即最大加速度和急动(jerk)是固定的。在本文中可以假定,除非另外声明,否则S曲线轮廓是固定的。因此,停止距离与终点速度直接对应;且如果停止距离给定,则可因此唯一地确定终点速度,反之亦然。加法前瞻算法可使用停止距离作为终点速度的度量,这允许该算法具有高计算效率,如下面讨论的那样。
停止地可用在S曲线控制器中以设计运动轮廓。S曲线控制器可瞄准停止地而非实际目标点。S曲线控制器可生成速度分布图,在该速度分布图中受控的工具在工具达到所需的减缓的速度的同一时间点,通过实际目标点。
运动命令的速度限制
在加法前瞻算法中,每个运动命令可具有四个速度限制:规定的馈送速率,机器可允许速度,路径速度限制和结合点速度限制。规定的馈送速率可定义为由上层运动规划(upper-level motion planning)给出的所需馈送速率值。机器可允许速度是对速度的机器限制。最大可允许速度取决于机器硬件和物理定律。路径速度限制是弧运动的限制。路径速度限制可取决于弧半径和公差规定。弧半径和公差越大,最大路径速度限制就越大。结合点速度限制可定义为两个连续运动命令的结合点处的速度限制。结合点速度限制可取决于两个运动之间的角和公差规定。公差越大并且角度越小,结合点速度限制值就越大。
在加法前瞻算法中,标称馈送速率是规定的馈送速率,机器可允许速度和路径速度限制中的最低值。例如,如果规定的馈送速率高于机器可允许速度和路径速度限制,则前瞻算法将迫使馈送速率减慢至机器可允许速度和路径速度限制中的较小值。
运动命令的终点处的减缓的馈送速率可取决于结合点速度限制以及该运动命令和下一运动命令的标称馈送速率。因为标称馈送速率是规定的馈送速率,机器可允许速度和路径速度限制中最小的一个,所以减缓可在当前运动区段期间发生而加速可在下一运动区段中发生,使得当前运动区段的馈送速率可小于标称值。加法前瞻算法可使用标称馈送速率和减缓的馈送速率来计算停止距离。
有效停止距离条件
前瞻算法可确保工具和工具前面的某个位置之间的距离足以允许工具的速度在工具到达该位置时为止改变所需的水平。该条件可被称为关于加法前瞻算法的“有效停止距离条件”,并可由等式(1)在数学上定义:
(1)dsi≤li+1+dsi+1
其中ds和l分别表示停止距离和运动区段的长度,且下标i和i+1表示运动命令的索引。在图33中,运动命令cmd_i具有位于p_i的终点,位于stopper_i的停止地点,和停止距离ds_i。如果cmd_i的停止距离不超过该长度和cmd_(i+1)的停止距离的总和,或者如果stopper_i在stopper_(i+1)的前面,则cmd_i满足有效停止距离条件。
有效停止距离条件也可以如等式(2)所示的另一种方式解释:
(2)dsi-dsi+1≤li+1
由于停止距离ds_i和ds_(i+1)分别对应于运动cmd_i的终点p_i处的馈送速率和运动cmd_(i+1)的终点p_(i+1)处的馈送速率,所以等式(2)指示区段长度l_(i+1)足以允许从点p_i的馈送速率到点p_(i+1)的馈送速率的速度减缓。
加法前瞻vs.非加法前瞻
TBC加法前瞻算法和非加法前瞻算法之间的差别是加法前瞻算法生成以停止地为目标的S曲线,并且仅使用S曲线的一部分,使得速度在目标点处从v1减小到v0。非加法前瞻产生生成以实际目标点为目标的S曲线,并且速度在目标点处从v1减小到v0
图34显示出加法和非加法S曲线速度分布图之间的比较。在两个轮廓中,速度都在目标点处从v1减小到v0。然而,在加法S曲线中,减缓出现在时刻ttbc1和时刻ttbc0之间,而在非加法S曲线中,减缓出现在时刻twm1和时刻twm0之间。因此,非加法S曲线需要比加法S曲线更长的时间和更长的距离,以便实现从v1到v0的相同速度减小。
加法前瞻可以是动态处理。连续轨迹变化可影响先前处理的命令。每次新命令被添加到前瞻队列并且为新命令计算停止距离时,可以复查队列中已经被处理的所有命令以察看先前为这些命令计算的停止距离是否需要更新。
当新命令cmdi被接收和处理时,其具有路径长度l_i和停止距离d_i。加法前瞻算法可执行以下步骤:
·检查命令cmdi-1以察看其是否满足“有效停止距离条件”,即,是否ds_(i-1)等于或小于l_i和d_i的总和。
·如果命令cmdi-1不满足“有效停止距离条件”,即,ds_(i-1)大于l_i和d_i的总和,那么用l_i和d_i的总和来替换命令cmdi-1的停止距离ds_(i-1)。
·如果命令cmdi-1满足“有效停止距离条件”,即,ds_(i-1)等于或小于l_i和d_i的总和,那么命令cmdi-1的停止距离ds_(i-1)可保持不变,并且更新操作完成。
·如果(i-1)等于0,则更新操作完成。
·i-(i的值递减)并重复上面的步骤。
当加法前瞻函数顺序地向后复查前瞻队列中先前处理的命令,检查“有效停止距离条件”,并更新命令的停止距离时,更新操作可在发现满足“有效停止距离条件”的第一个命令之后停止。因为该命令满足“有效停止距离条件”,所以该命令的停止距离可保持不变。进一步,因为该命令满足“有效停止距离条件”,所以其前面的所有命令满足,且仍然满足“有效停止距离条件”,并且前面的命令都不需要改变。
图35a-b分别提供了加法前瞻和非加法前瞻算法的比较。在加法前瞻(图35a)中,仅第三步骤,即计算停止距离ds_i的步骤,可能要求大量计算,并且可以如等式(3)中所示的那样得以计算。对每个运动命令,该计算可能仅需要执行一次,并且可能不需要重复它。
( 3 ) , ds = 1 6 J ( 2 v 0 J ) 3 2 v 0 < 1 2 v 1 v 1 v 1 J + 1 6 J ( 2 ( v 1 - v 0 ) J ) 3 2 - ( 2 ( v 1 - v 0 ) J ) 1 2 v 1 v 0 &GreaterEqual; 1 2 v 1
在非加法前瞻算法(图35b)中,第三和第五步骤,即计算减缓距离的步骤和计算命令i-1的速度减小的步骤,都可能要求大量的计算,并且可分别如等式(4)和(5)所示的那样计算。“减缓距离”,等式(4),类似于“计算停止距离”等式(3)。
“减小命令i-1的速度”,等式(5)计算在给定距离中变化到v0的最大可允许速度变化,这可能会涉及大量计算,诸如解三次方程。
Figure S2006800179424D00341
而且,由等式(4)和(5)表示的非加法算法的两个步骤可能需要被递归地执行直到有足够的距离供减缓。因为非加法前瞻算法需要较长的距离减缓相同的速度量,如图34所示,所以循环必须比加法前瞻算法重复更多次数,直到满足足够的距离。
通常,由于与非加法前瞻中的两个重负担步骤相比,加法前瞻仅具有一个重负担步骤,所以加法前瞻可以在计算上比非加法前瞻更高效。加法前瞻可以在计算上比非加法前瞻更高效的另一个原因是,加法前瞻的重负担步骤在递归循环之外,且仅被执行一次。相反,非加法前瞻递归地执行两个重负担步骤直到足够的距离有效。加法前瞻还需要较小的距离来减小相同的速度量,如图34所示,这意味着较少的先前运动命令需要修改。
加法前瞻和非加法前瞻算法的运动学比较
假定两个连续运动命令cmd_(i-1)和cmd_i分别具有标称馈送速率v_(i-1)和v_i。在两个运动的结合点处,馈送速率必须减速到v0。图36比较了非加法前瞻算法和TBC加法前瞻算法的运动学特性。
前瞻操作确保所有速度变化之间有足够的距离来加速或减速,并且可应用于所有实时运动控制和轨迹规划,诸如CNC机床,自动机械,自动车辆等。因为前瞻通常是实时执行的并且可递归地修改先前处理的运动命令,所以该算法的效率对于CPU负担的减小和机器性能的改善非常重要。
非加法前瞻算法可根据某些速度分布图(如S曲线速度分布图)计算从一个速度加速/减速到另一个速度所需的距离。当运动区段的距离短且不足以容纳大速度变化时,前瞻算法可计算并限制该运动的速度。速度限制的计算涉及大量计算,且重复执行计算是不希望有的,因为这会花费大量处理时间和资源。
加法前瞻算法可使用停止距离概念作为速度限制的度量。与非加法前瞻算法中涉及解三次方程的大量计算相比,加法前瞻中对速度限制的更新仅是一种加法。总体上,计算效率,修改先前运动的较少迭代,和增加的系统吞吐量,为本发明的加法前瞻算法提供了优于非加法前瞻算法的几个优点。
图22示出了上面参考图11描述的本发明的方法2200。在第一步骤2202中,识别沿目标工具路径的多个点。在图11的实例中,识别沿目标工具路径的点Pi-2,Pi-1和Pi。然后,在步骤2204中,确定工具在最后的点处的最大可允许停止距离。在图11中,区段长度Li+1可表示最后的点Pi处的最大可允许停止距离。对于点Pi+1,可能还没有沿数据流水线向下推进足够远以识别点Pi+1,因此其特性可能不是已知的。也就是,点Pi+1的位置和其是否是角点或目标工具路径的端点,可能不是已知的。然而,点Pi和Pi+1之间的最小可允许距离Li+1是已知的。因为点Pi+1可以是角点或目标工具路径的端点,所以工具可能有必要在点Pi+1停止或近似停止。因此,为了确保工具可在到达点Pi+1时停止,工具在最后的点Pi的最大可允许停止距离被确定为等于点Pi和Pi+1之间的最小可允许距离Li+1。在下一步骤2206中,确定使得工具可在最大可允许停止距离内停止的在最后的点处的最后最大可允许速度。在一个实施例中,图10的S曲线可用来使最大可允许停止距离Li+1与在最后的点Pi处的最大速度(以该最大速度,工具可在到达点Pi+1时停止,即最后最大可允许速度)相关。在最后的步骤2208中,建立工具在其他点处的其它最大可允许速度,使得工具可在到达最后的点时减速到最后最大可允许速度。在图11的实例中,建立在其它点Pi-1处的其它最大可允许速度,使得工具可减速到在步骤2206中确定的点Pi处的最后最大可允许速度。在一个实施例中,图10的S曲线可用来使距离Li与其他点Pi-1处的最大速度(以该最大速度,工具可在到达点Pi时减速到最后最大可允许速度)相关。
进一步参考上面的实例,在其他点Pi-1处的最大可允许速度可与其他点Pi-1处的最大可允许公差速度(即,给定在其他点Pi-1的目标工具路径的曲率,可确保实际工具路径将保持在公差内的在其他点Pi-1的最大速度)比较。可识别其他点Pi-1处的最大可允许速度和其他点Pi-1处的最大可允许公差速度中的较小者,并且可在其他点Pi-1以该较小的速度移动工具。
进一步参考上面的实例,可以建立工具在其它点Pi-1前面的点Pi-2处的之前最大可允许速度,使得工具可在到达其他点Pi-1时减速到较小的速度。工具在前面的点Pi-2处的最大可允许公差速度可取决于在前面的点Pi-2处的最大可允许偏差水平和/或目标工具路径的曲率来确定。可识别工具在前面的点处的最大可允许公差速度和在前面的点处的之前最大可允许速度中的较小者。
图23示出了上面参考图11描述的本发明的另一方法2300。在第一步骤2302中,识别沿目标工具路径的多个点。在图11的实例中,识别沿目标工具路径的点Pi-2,Pi-1和Pi。然后,在步骤2304,建立实际工具路径偏离目标工具路径的最大可允许偏差水平。例如,取决于工件的要求,可将0.1cm建立为实际工具路径偏离目标工具路径的最大可允许偏差水平。在步骤2306中,在沿目标工具路径的多个位置处确定目标工具路径的曲率。例如,可在点Pi-1处确定从点Pi-2到点Pi-1的线移动和从点Pi-1到点Pi的线移动之间的角度1907(图11)。在步骤2308,确定工具在沿目标工具路径的每个点处的最大可允许公差速度。最大可允许公差速度取决于最大可允许偏差水平和曲率。例如,给定角度2307,点Pi-1处的最大可允许公差速度可被确定,使得实际工具路径偏差目标工具路径不超过0.1cm。接着,在步骤2310,确定工具在最后的点处的最大可允许停止距离。在图11中,区段长度Li+1可代表在最后的点Pi处的最大可允许停止距离。对于点Pi+1,可能还没有沿数据流水线向下推进足够远以识别点Pi+1,因此其特性可能不是已知的。也就是,点Pi+1的位置和其是否是角点或目标工具路径的端点,可能不是已知的。然而,点Pi和Pi+1之间的最小可允许距离Li+1是已知的。因为点Pi+1可以是角点或目标工具路径的端点,所以工具可能有必要在点Pi+1停止或近似停止。因此,为了确保工具可在到达点Pi+1时停止,工具在最后的点Pi的最大可允许停止距离被确定为等于点Pi和Pi+1之间的最小可允许距离Li+1。在下一步骤2312中,确定使得工具可在最大可允许停止距离内停止的在最后的点处的最后最大可允许停止速度。在一个实施例中,图10的S曲线可用来使最大可允许停止距离Li+1与在最后的点Pi处的最大速度(以该最大速度,工具可在到达点Pi+1时停止,即最后最大可允许速度)相关。在步骤23 14中,建立工具在除最后的点以外的每个点处的其他最大可允许停止速度,使得工具可在到达最后的点时减速到最后最大可允许速度。在图11的实例中,建立在其他点Pi-1处的其他最大可允许停止速度,使得工具可减速到在步骤2312中确定的在点Pi处的最后最大可允许速度。在一个实施例中,图10的S曲线可用来使距离Li与在其他点Pi-1处的最大速度(以该最大速度,工具可在到达点Pi时减速到最后最大可允许速度)相关。在最后的步骤2316中,识别在每个点处的最大可允许公差速度和最大可允许停止速度中的较小者。例如,在步骤2308中确定的最大可允许公差速度和在步骤2314中建立的最大可允许停止速度中的较小者可在每个点Pi-2,Pi-1和Pi处识别。
图24示出了上面参考图11描述的本发明的另一方法2400。在第一步骤2402中,识别沿目标工具路径的多个点。在图11的实例中,识别沿目标工具路径的点Pi-2,Pi-1和Pi。然后,在步骤2404,确定工具在最后的点处的最大可允许停止距离。在图11中,区段长度Li+1可表示最后的点Pi处的最大可允许停止距离。对于点Pi+1,可能还没有沿数据流水线向下推进足够远以识别点Pi+1,因此其特性可能不是已知的。也就是,点Pi+1的位置和其是否是角点或目标工具路径的端点,可能不是已知的。然而,点Pi和Pi+1之间的最小可允许距离Li+1是已知的。因为点Pi+1可以是角点或目标工具路径的端点,所以工具可能有必要在点Pi+1停止或近似停止。因此,为了确保工具可在到达点Pi+1时停止,工具在最后的点Pi的最大可允许停止距离被确定为等于点Pi和Pi+1之间的最小可允许距离Li+1。在下一步骤2406中,确定工具在其他点的最大可允许速度,使得工具在其他点处的所需停止距离等于或小于在最后的点处的最大可允许停止距离和其他点与最后的点之间的区段长度的总和。在图11的实施例中,工具在点Pi-1的最大可允许速度可被确定,使得工具在点Pi-1处的所需停止距离等于或小于在最后的点Pi处的最大可允许停止距离和其他点Pi-1与最后的点Pi之间的区段长度Li的总和。在一个实施例中,图10的S曲线可用来使工具在点Pi-1处的所需停止距离与在点Pi处的最大可允许速度相关。
进一步参考上面的实例,确定工具在其它点Pi-1前面的点Pi-2处的之前最大可允许速度,使得工具在前面的点处的所需停止距离等于或小于在最后的点Pi处的最大可允许停止距离和前面的点Pi-1与最后的点Pi之间的区段长度Li+Li-1的总和。工具在前面的点Pi-2处的最大可允许公差速度可取决于在前面的点Pi-2处的最大可允许偏差水平和/或目标工具路径的曲率来确定。工具在前面的点处的最大可允许公差速度和在前面的点处的之前最大可允许速度中的较小者可被识别。
队列管理器任务可由队列模块中的一般队列管理器执行,该一般队列管理器以流水线方式管理对公差队列202,压缩队列204,平滑队列206和前瞻队列208执行的所有操作。这些操作可包括对公差队列202中的元素的公差理解,对压缩队列204中的元素的压缩,对平滑队列206中的元素执行的预备平滑、校正平滑和双弧平滑,对前瞻队列208中的元素执行的三阶平滑(如果有必要),预前瞻(如果有必要),和前瞻。
队列管理器可调用相关例程以通过执行以下操作来管理队列流水线:1)用从NC解译器接收的NC命令填充公差队列202;2)处理公差队列202中的NC命令;如果是E代码,则从该命令获得公差信息并存储规定的公差区域和相关的公差值;另外,如果是非TBC运动命令,则根据可用的公差信息为该命令计算所需的公差,并将所需的公差值附加到该命令中;3)从公差队列202取得NC命令并将它们添加到压缩队列204;4)将非常短的线移动融合成更长的线移动,即,用压缩队列204中更长的线元素替换非常短的线元素;5)从压缩队列204取得NC命令并将它们添加到平滑队列206中;6)检查平滑队列206中的所有线元素以识别那些待平滑的元素,并为那些元素做局部调整;7)将那些线元素转换为弧元素;8)从平滑队列206取得NC命令,大部分是弧元素,并将它们添加到前瞻队列208中;9)检查每个新添加的命令并在前瞻队列208中回查先前处理的命令;10)为新命令确定适当的速度,并且如果有必要则为所有先前命令修改速度;和11)从前瞻队列208取得NC命令并将它们发送到运动控制内核以供执行。
所有上面对队列进行的操作可同时执行。无论何时队列未充满,队列中的数据处理都可继续。队列管理器可调用第一例程来执行所有队列操作并移动NC命令通过队列流水线,直到所有队列都充满或NC程序被完全加载。第一例程可调用第二例程来执行公差,压缩和平滑操作,并且可调用第三例程来执行前瞻操作。
运动内核模块可执行基于公差的运动控制并可控制与程序线和弧相关联的运动。运动内核可以用预测性和真弧运动替换非TBC点到点控制,其中线或弧是基本轨迹单元。控制可沿编程的轨迹推动轴,在遇到偏差时校正所遇到的偏差。
非TBC CNC控制器可以利用所需的速度将编程的轨迹插补到顺序的目标点中,并且可将它们加载到PID运动控制卡中以供执行。非TBC CNC控制器可支持基于时间的插补,即,将线/弧数据分解成固定(或可变)时间间隔的位置点和速度点。然后,运动控制卡可执行PID循环以最小化随动误差,即,瞬时位置和插补的目标点之间的滞差(lag)。直观地,想象一弹性绳,其一端连接到运动轴,另一端从目标点向目标点步进。绳的长度表示随动误差。运动控制卡可拉动轴以减小绳的长度。该运动控制是“拉动”机制,其中线/弧数据在执行前被插补到时间间隔的位置点和速度点中。各个单独的轴可在运动控制下独立地移动。进一步,轨迹插补器可以是开环的,其不能够控制随动误差。最后,目标点可被预计算,对于实时条件做很小的调整。
预测性TBC运动控制可基于识别线/弧数据(无预计算的插补点)并沿线/弧轨迹直接推动轴的不同机制。在每个控制循环(例如,其可具有200微秒的周期),控制可读取位置反馈,可比较当前位置与命令的轨迹(线或弧),并可确定轨迹上与实际当前位置最靠近的点。该点可定义为理想当前位置。实际当前位置和理想当前位置之间的差可定义为瞬时随机位置误差或公差误差。也被简称为“位置误差”的瞬时随机位置误差,可被看作是实际当前位置偏离线/弧轨迹的偏差。
TBC公差误差与非TBC随动误差不同。更特别地,随动误差是实际当前位置和一个轴上的预计算的目标点之间的差。TBC公差误差是实际当前位置和理想当前位置之间的矢量差,其可实时动态计算。在非TBC控制器中,预计算的目标点可基于通常为毫秒量级的时间间隔被插补。在TBC控制系统中,理想当前位置可以在每个控制循环中计算。在非TBC控制系统中,运动控制卡,而不是主机,可处理随动误差。在TBC系统中,公差误差可由TBC直接校正。在非TBC控制系统中,不同轴的随动误差可被独立地处理。在TBC系统中,不同轴的公差误差可由TBC同等地处理。
在每个控制循环,TBC预测性运动控制可执行下面的步骤:
·根据S曲线计算轨迹的理想当前位置处的三维切向速度
·计算瞬时切向和向心加速力及它们的预测性的补偿矢量
·计算瞬时随机位置误差
·确定三维随机校正速度
·将切向速度,预测性补偿速度和随机校正矢量组合在一起,并发出合成速度以沿轨迹推动轴
运行系统任务可发出伺服命令至机床以便遵从在先前的队列管理器任务中确定的工具路径和相关联的速度。例如,可以每毫秒发出一次指定机床将要遵从的工具路径的一部分的命令。工具路径的这一部分可包括一个或多个线段和/或一个或多个弧。在图12所示的实例中,命令规定在x-y-z空间中从(1,4,0)延伸到(5,1,6)的线段。打算将工具路径重定向以补偿任何检测到的误差(即实际工具路径偏离校正的工具路径的偏差)的伺服,可以比命令更频繁地发出。在图12所示的实施例中,伺服每200微秒发出,即与点A-F中的每个点相一致。图13示出了在一毫秒命令的过程中的每个伺服的时序和持续时间。也就是,图13示出了伺服的控制回路循环时间。每个伺服可具有小于35微秒的持续时间。在一个实施例中,每个伺服具有约在10和15微秒之间的持续时间。在伺服的上升边沿上,可确定机床的当前位置或某个其他参数。在伺服的持续时间段上,可执行使用确定的参数的计算。在伺服的下降边沿,可发出相对于工件将机床重定向的输出信号。在本文中重复地使用200微秒的时间段作为伺服的持续时间的实例。然而,当然,在本发明的范围内,伺服的循环时间可小于或大于200微秒。
在命令的第一个200微秒后,工具可置于图12中的点B。编码器或某个其他类型的位置感测装置可感测工具在点B处的实际位置。一旦感测到点B处的工具位置,工具应该由伺服沿工具子路径1202重定向到的新目标点T,可被计算或识别。目标工具子路径1202的计算可取决于工具的实际位置偏离目标工具路径的偏差。这样的偏差1204的实例在图12中示出。工具可在工具子路径1202的计算期间继续移动通过第一实际位置B。图2的运行系统任务包括伺服220,其具有计算位置步骤222,S曲线步骤224,预测性误差补偿步骤226,以及随机误差补偿步骤228。由于随机误差及系统的和可重复的预测性误差,工具可突然转向到点B,而非遵循从(1,4,0)到(5,1,6)的线性工具路径。预测性误差可通过对历史工具位置数据的经验分析而被识别。基于预测性误差,可确定将工具重定向到点T很有可能会导致工具实际从点B以平滑运动靠近所需的线性工具路径移动。
S曲线步骤224包括计算沿目标工具子路径1202的所需加速水平。更特别地,可确定在所需的时间段内和以所需的最终速度,完成从点B到点T的伺服(即完成目标工具子路径1202)所需的加速度。实际上,由于随机误差和未识别的预测性误差,工具可能会到达点C。在额外伺服后,工具到达点D,E和F。点F可在一毫秒命令结束时到达。更特别地,随后的目标工具子路径可在每个伺服完成时,以基本上类似于如上所述的目标工具子路径1202的计算的方式得到计算。从(1,4,0)到(5,1,6)的目标工具路径和目标工具子路径1202在图12中显示为线性的。然而,应理解的是,任何目标工具路径或任何目标工具子路径可以是弓形的。
由公差控制器执行的第二函数是预测性误差补偿(图1的步骤106和图2的步骤226),其可以是“运动内核”的一部分。运动内核用预测性和真弧轨迹运动替换非TBC点到点控制技术,其中线和弧是基本轨迹单元。预测性控制沿编程的轨迹推动轴并在遇到偏差时校正所遇到的偏差。
在一个实施例中,在每个200微秒控制循环,公差控制可读取位置反馈,比较当前位置与命令的轨迹(线或弧),并寻找轨迹上最靠近当前实际位置的点。轨迹上的该点可被定义并被称为当前理想位置。当前实际位置和实时动态计算的当前理想位置之间的差被定义为位置误差,其可实时动态计算。
然后,预测性控制可分析运动轨迹和机器条件以补偿可重复运动误差。对这些误差的校正可以通过使用机器的参数化的数学模型来预测,该参数化的数学模型已经通过测量实际动态机器响应而被配置。预测性运动控制可分析运动轨迹和机器条件以对可重复的并可通过实验测量的某些类型的运动误差做适当的补偿。然后位置误差可与预测性校正结合以为每个轴计算新速度命令。可在每个控制循环执行的预测性校正在图14中示出。
预测性误差补偿可包括弧运动的向心力补偿,切向加速补偿,“粘性(stick)”摩擦补偿,导螺杆(leadscrew)和齿隙补偿,心轴软度(spindlesoftness)补偿,和系统延迟补偿,它们均在下面依次描述。
预测性控制可精确地加工弧运动而无需将弧线性化为许多线段。在弧运动的向心力补偿下,通过使用物理定律,预测性控制可根据当前速度和弧轨迹曲率,瞬时和实时地计算将轴拖动或保持在弧上每个理想当前位置处所需的向心力。向心力可被转换为预测性补偿矢量,其可瞬时地加到发送给运动轴的速度上。
基于当前速度和弧曲率,向心力矢量被加到调整发送给运动轴的速度命令的预测性补偿矢量上。校正可使机器能够切割高度精确的弧。预测性运动允许弧段的直接精确加工,而无需将弧轨迹转换为直线近似。
将比例速度(proportional velocity)发送至多个轴可能不能保证三维运动是线性的,即直线。所涉及的运动轴可能不能按照需要按比例地运动,因为不同轴的加速/减速取决于它们的动力学,其随轴的不同而变化。由于由不同的轴动力学(诸如皮带顺度(belt compliance)或伺服放大器增益)引起的轴加速/减速中的差别,移动可能是弯曲的,而不是所需的直线移动。在切向加速补偿下,预测性控制可为每个单独的轴分析加速度并为轴计算适当的补偿力。这些补偿力可转换为预测性补偿矢量以产生所需的轴加速。该校正使轴被协调并精确地跟踪编程的轨迹。这些补偿力可转换为预测性补偿矢量以产生所需的轴加速。
机床的粘性摩擦或静摩擦对运动控制有相当的影响。从静止开始的轴需要额外的起动能量(kick ofenergy)以克服粘性摩擦并开始移动。在粘性摩擦补偿下,为了校正和补偿粘性摩擦效果,预测性运动使用可在轴改变其运动方向(即穿过零速度点)时触发的粘性摩擦补偿器。补偿轮廓是凹口状(notch shape),凹口的高度和宽度是速度和轨迹局部曲率的函数。粘性摩擦随机器的不同而不同,并且随轴的不同而不同。因此,补偿是速度和轨迹局部曲率的函数,并且随机器的不同和轴的不同而不同。该补偿可消除诸如轴象限处弧上的平点(flat spot)的问题。应为每个单独的轴构建补偿器。
导螺杆和齿隙补偿可校正和补偿机械误差和机器轴滚珠丝杆(machine axis ball screw)的齿隙。获取位置反馈的函数负责导螺杆和齿隙补偿。运动内核所使用的位置值都是根据导螺杆映射表补偿的导螺杆和齿隙。每次轴位置反馈被读取时,其可由存储在导螺杆映射表中的导螺杆和齿隙补偿值调整。该补偿可在轴方向改变期间校正机械轴定位误差和“空动(lost motion)”。
对于某些机器,Z轴或心轴的机械框架可能不足够刚硬,从而在加工期间引起不希望有的振动。心轴软度补偿可以仅为Z轴修改运动参数以减小该不希望有的振动。被修改的参数可包括Z轴速度,加速和急动,其中急动被定义为每单位时间加速度的变化。作为心轴软度补偿的结果,部件表面光洁度可得到改善。
机器系统对运动命令的响应通常由于机械和电气原因而被延迟。例如,在轴电机运动和实际轴运动之间由于机械传动而可能会有机械延迟。在速度命令输入到伺服放大器和电机的实际运动之间也可能有电气延迟。在系统延迟补偿下,预测性控制可通过在实际需要调整之前给以预期的调整来补偿该延迟。这可在编程的轨迹上需要校正时对运动轴提供必要的校正。
经由上述补偿方案,公差控制可补偿预测性、重现性误差。预测性控制可沿编程的轨迹推动轴,并且来自机器模型的补偿可补偿和校正可重复机器误差。这些调整都可极大地减小当前位置和线/弧轨迹之间的位置误差。
除了对预测性误差的补偿之外,公差控制还可校正随机误差,如图15所示。没有被图14所示的预测性控制校正的任何剩余的位置误差可进一步通过随机误差校正机制减小。通过利用直接沿编程的轨迹推动轴的预测性运动,和校正可重复加工误差的预测量/计算的补偿,TBC极大地减小了瞬时位置误差(实际当前位置偏离线/弧轨迹的偏差)。随机误差校正类似于在道路上驾驶并对方向盘做小调整,以便补偿道路表面上的变化并从而恰好停留在道路的中央。
由实时发生的随机误差产生的位置偏差,进一步通过使用随机误差校正机制而得以减小,其中随机误差校正机制可包括比例控制,积分控制,微分控制,S曲线加速和速度控制,以及动态速度调整。这些随机误差校正机制中的每一个在下面依次描述。
在比例控制下,位置误差可乘以比例增益参数以得到随机校正速度矢量。所得的随机校正速度矢量可从预测性校正速度(即从命令的速度)中减去,从而减小误差。
在积分控制下,位置误差可以使用改进的Laplace变换算法而被积分。可计算与上述积分结果成比例的校正值并将其加到预测性校正速度(命令的速度)上。改进的Laplace变换算法可消除一段时间上持续的位置误差。直积分控制会引起不希望有的振荡。较低频率的改进的Laplace变换可用于求位置误差的积分而产生小得多的振荡。
在微分控制下,位置误差的微分值可加到预测性校正速度上,以衰减随机误差校正。这种衰减可改善随机误差校正的稳定性。可加入人为的粘滞摩擦以增加系统的衰减系数,使得系统更稳定。这等效于比例加微分控制。
在S曲线加速和速度控制下,部件加工程序中定义的或由加法前瞻算法调整的速度变化,可使用S曲线加速而被控制。S曲线加速可以每200微秒控制循环或伺服循环计算一次。因此,可提供轴运动的非常平滑的控制,并最终提供轴位置的非常平滑的控制。S曲线加速提供了非线性加速方法,其软化并平滑了稳速阶段(at-velocity phase)和加速/减速阶段之间的过渡。
S曲线速度分布图通常具有七个阶段,包括增加加速度;恒定加速度;减小加速度;稳速(恒定速度);增加减速度;恒定减速度;和减小减速度。
非TBC CNC控制使用基于时间的调度机制。因此,S曲线可实现为时间的函数。函数输出是调度的位置和速度。TBC使用真弧技术。在每个控制循环,可计算轨迹上的理想位置而非调度的位置。因此,仅需要根据S曲线计算沿轨迹的速度。TBC系统中的S曲线可实现为实时处理。
可在每个控制循环根据瞬时路径距离来计算速度。该机制可消除速度误差积累并可支持某些实时请求,诸如馈进超调(feed override),暂停,继续和单步。
TBC中的S曲线可具有典型的七个阶段,即增加加速度;恒定加速度;减小加速度;稳速(恒定速度);增加减速度;恒定减速度;和减小减速度。增加加速度阶段可包括恒定的初始急动J0。加速度可以以初始急动J0线性地增加至最大加速度。速度可作为时间的二次函数而增加。
在恒定加速度阶段,可以没有急动,即,急动可等于0。加速度可保持在最大加速度。速度可作为时间的线性函数而增加。
在减小加速度阶段,急动可等于-J,其中J是最大急动。加速度可以以负最大急动-J从最大加速度线性地减小到0。速度可作为时间的二次函数而增加。
在稳速阶段,急动和加速度都等于0。速度等于最终的恒定速度。
在增加减速度阶段,急动可等于-J,其中J是最大急动。减速度可以以最大急动J从0线性地增加至最大减速度。速度可作为时间的二次函数从最终速度减小。
在恒定减速度阶段,可以没有急动,即,急动可等于0。减速度可保持在最大减速度。速度可作为时间的线性函数而减小。
在减小减速度阶段,急动可等于最大急动J。减速度可以以等于最大急动J的急动从最大减速度线性地减小到0。速度可作为时间的二次函数而减小。
在前瞻处理期间,上面讨论的加法前瞻算法可将停止距离附加到每个运动命令中。停止距离可用在S曲线实现方案中以保证有足够的距离在速度之间适当地加速/减速。
在一个实施例中,S曲线计算涉及几个变量的使用,诸如表示从当前位置到命令的目标位置的轨迹长度的distance_to_go。变量stop_distance_left表示distance_to_go和附加到命令中的stop_distance的值的总和。distance_to_go和stop_distance_left的值可随着机器的瞬时位置而变化。变量stop_distance_required表示根据命令的速度,减速度和S曲线,完全停止机器所需的移动距离。stop_distance_required的值可随速度而变化。
当运动命令正被执行时,在每个控制循环,可计算并比较该命令的变量stop_distance_left和stop_distance_required。无论何时stop_distance_left的值小于或等于stop_distance_required的值(没有剩下足够的距离),都可使用速度/距离转换算法来根据stop_distance_left计算速度,如下面更详细讨论的那样。当stop_distance_left的值大于stop_distance_required的值时(剩有足够的距离),七个阶段中的每个阶段中的速度可如下所述进行计算。
在阶段1,加速度根据初始急动而被线性地增加。加速度可根据如下等式计算:
accelerationi+1=accelerationi+J0 x cycle_time
其中J0是初始急动,cycle_time是每个控制循环的时间间隔,其约为200微秒。速度根据加速度值而被增加。速度可根据如下等式计算:
velocityi+1=velocityi+acceleration x cycle_time
当加速度达到maximum_acceleration时,可以如下所示将其截短:
If(acceleration>=maximum_acceleration),then set:
acceleration=maximum_acceleration;
并进入阶段2。
在阶段2中,加速度等于maximum_acceleration。速度可根据下面的等式计算:
velocityi+1=velocityi+maximum_acceleration x cycle_time。
Final_veloctiy和当前速度之间的差由如下等式表达:
Final_velocity-velocity=0.5 x J x t2
其中J是最大急动,t是达到最终速度所需的时间。由于加速度等于急动和时间的乘积,即J x t,所以上面的等式可重新整理为:
2xJx(final_velocity-velocity)=acceleration2
acceleration = 2 J ( final _ velocity - velocity ) .
如果加速度小于maximum_acceleration,则可进入阶段3(减小加速度)。
在阶段3,速度可由以下等式计算:
acceleration = 2 J ( final _ velocity - velocity )
velocityi+1=velocityi+acceleration x cycle_time。
如果速度达到final_yelocity,则可进入阶段4(稳态速度)。
在阶段4,速度等于maximum_velocity,且加速度等于0。
在阶段5(增加加速度)、阶段6(恒定加速度)和阶段7(减小加速度)中的每个阶段中,速度可使用速度/距离转换算法计算。
在控制循环,当stop_distance_left的值小于或等于stop_distance_required的值(该条件在阶段5,6和7中自动满足)时,速度/距离转换算法可用来根据stop_distance_left计算速度。该算法的一个实施例的关键特征在下面描述。
由于S曲线是定义速度和时间之间的关系的函数,所以其可由如下速度方程表示:
velocity=S_Curve(t)。
设t1是当前时间,并设t2是运动完全停止时的时间。则运动完全停止所需的时间由t2-t1给出。算法可通过选择适当的速度使stop_distance_required的值等于stop_distance_left的值。
机器在t2-t1期间的移动距离可定义为t1时的stop_distance_required。t1时的stop_distance_required可通过按照以下等式对时间t取取速度等式的积分来计算:
stop _ dis tan ce _ required = &Integral; t 1 t 2 S _ Curve ( t ) dt .
上面的等式定义stop_distance和时间之间的关系。为了简单起见,该等式可改写为:
stop_distance_required=Stop_Dis(t)。
因此,t=Stop Dis-1(stop_distance_required)
其中Stop_Dis-1是Stop_Dis的反函数。
替换速度等式中的t得到:
velocity=S_curve(Stop_Dis-1(stop_distance_required))。
为了使stop_distance_required的值等于stop_distance_left的值,速度可根据如下等式设定:
velocity=S_curve(Stop_Dis-1(stop_distance_left))。
在机床中,不同的轴可具有不同的最大速度。Z轴的最大速度通常低于X轴或Y轴的最大速度。假定maxv_x、maxv_y和maxv_z分别是X轴、Y轴和Z轴的最大速度,并且dmv是三维空间中的矢量。如果机床沿dmv的方向移动,则沿dmv的方向的最大可允许矢量速度是矢量dmv的函数:
maximum_allowable_velocity=f(dmv)。
该函数是从三维单位矢量到实数的映射。确定函数f的保守方式是将其定义为常数:
f(dmv)=Min{maxv_x,maxv_y,maxv_z}
如果机床从原点开始,沿任意方向矢量dmv的方向,以给定的矢量速度f(dmv)移动一个单位时间,然后机床将到达某个终点。由所有可能的运动方向产生的终点将形成三维表面,其被称为速度包络。速度包络的形状取决于函数f。在这种情况下,从终点到原点的距离是常数Min{maxv_x,maxv_y,maxv_z},并且因此速度包络是球形。
一种积极的策略是沿着具有最高可能性的矢量速度的方向dmv移动机床,如果轴X,Y和Z的速度分别由maxv_x,maxv_y和maxv_z界定。在这种情况下,速度包络是三维立方盒,其长度为2xmaxv_x,宽度为2 x maxv_y,高度为2 x maxv_z。
速度包络可用于定义轴的速度坐标类型。有四种速度坐标类型,按积极度(aggressiveness)减小的顺序为:AXIS_VELOCITY_CUBIC_TYPE,AXIS_VELOCITY_CYLINDER_TYPE,AXIS_VELOCITY_ELLIPSE_TYPE,和AXIS_VELOCITY_SPHERE_TYPE。TBC可使用AXIS_VELOCITY_ELLIPSE_TYPE。AXIS_VELOCITY_ELLIPSE_TYPE的速度包络是三维椭圆,其中X轴长度等于2 x maxv_x,Y轴长度等于2 x maxv_y,并且Z轴长度等于2x maxv_z 。
TBC支持动态速度调整。在动态速度调整下,公差控制可监视位置误差并比较该误差与规定的公差。被定义为所要求的公差的百分比的安全水平,可用于控制位置误差。如果位置误差超出安全水平,则轴速度可自动减小以便减小位置误差。如果位置误差在安全水平以下,则轴速度可自动增加至原始速度。以这种方式,可以允许机器尽可能快地运行,或近似这样,同时仍保持所需的公差。动态速度调整可基于Laplace变换进行。
本发明的TBC运动内核可从前瞻队列取得运动命令并控制伺服系统跟踪轮廓线轨迹(contour trajectory)。TBC运动控制与非TBC运动控制的不同在于,其是闭环轮廓线跟踪控制。非TBC运动控制和TBC运动控制之间的比较如下所述。
非TBC运动控制结构
为了跟踪三维轮廓线轨迹,非TBC运动控制系统可将三维轮廓线分解到X/Y/Z轴,并相对于时间对X/Y/Z运动进行插补。每个轴可具有其自己的基于时间的参考轨迹,并可使用反馈和前馈控制来独立地跟踪其自己的运动轨迹。理想地,如果每个轴完美地跟踪其参考轨迹,则所得的三维轮廓线也将完美地被跟随。由于存在图37中所示的扰动,以及建模误差,完美的跟踪通常无法实现,并且在实际轴运动和参考轨迹之间可能存在跟踪误差。可试图最小化每个轴中的跟踪误差而无需三个轴之间的任何协作或配合。可跟踪每个轴的轨迹而无需知道或关心轨迹在其他轴中的状态。例如,即使一个轴中的轨迹遇到大阻力并落在其参考轨迹后面,仍可试图跟踪其他两个轴的预设轨迹。结果是,即使轨迹可通过三个轴中的两个轴而被完美地跟踪,所获得的实际轮廓线仍可能显著地偏离参考轮廓线。
图37中所示的非TBC运动控制系统可以是时间确定的。也就是,x/y/z轴运动轨迹可以是基于时间的,并且整个系统的运行时间可事先精确地确定。F_x、F_y和F_z可指示三个轴中的每个轴的前馈控制器;并且C_x、C_y和C_z可指示三个轴中的每个轴的反馈控制器。轮廓线跟踪在非TBC运动控制中可以是开环的。沿三个轴中的每个轴的运动可以是独立的,而无需知道或取决于沿任何其他轴的运动。换句话说,在各轴间可不存在协作。在非TBC运动控制中,即使有圆弧插补,也可能没有弧运动。轴中的不同动态响应会对跟踪精度和表面质量产生负面影响。
在非TBC运动控制中,轮廓线跟踪可以是开环的,并且可能无法保证实际获得的轮廓线足够靠近所需的参考轮廓线。未经协调的运动的实例在图38a-d中给出,其中参考轨迹y=x(图38a)被分解成基于时间的轴轨迹:y=kt(图38b)和x=kt(图38c)。非TBC运动控制器可控制x和y轴中的运动以独立地跟踪它们的轨迹。两个不同的情况在图38b-d中表示。情况1的特征为x和y轴中的小跟踪误差;然而图38d所示的轮廓线误差相对大。情况2的特征为x和y轴中的较大的跟踪误差,但是根本不存在图38d中所示的轮廓线误差。因为非TBC运动控制独立地减小每个轴中的跟踪误差而没有各轴间的任何协作,所以非TBC运动系统可考虑情况1比情况2更理想。
当轮廓线被分解到x/y/z轴并变成三个基于时间的轴轨迹时,重要的运动学信息,例如向心加速度信息,可能会丢失。在无向心加速度信息(即,区分弧运动与线移动的因素)的情况下,真弧运动是不可能的。而且,因为向心力的影响不能被补偿,所以实际工具位置可能由于向心力而在径向方向上向外偏离。
在非TBC运动控制中,每个轴的动态响应会影响造型性能。如果动力学彼此不匹配,例如某个轴比其他轴响应更快,或某个轴比其他轴响应更慢,则实际轮廓线会失真或偏离所需的轮廓线。
TBC运动控制结构
TBC运动控制不涉及将三维轮廓线分解为三个独立的基于时间的轴轨迹。而是,TBC运动控制可比较实际轮廓线位置与参考轮廓线,并确定控制信号以最小化轮廓线误差。TBC运动控制结构的一个实施例在图39中示出,其中所有信号是矢量并由粗线表示。相反,在图37所示的非TBC运动控制结构中,信号是标量并由细线表示。
图39的TBC运动控制结构可采用基于轮廓线的反馈加上前馈控制。轮廓线跟踪可以是闭环的,并且真弧运动是可能的。也就是,工具可被命令以遵循弓形轨迹而不是由接近弯曲轨迹的一系列线段形成的轨迹。TBC运动控制可以不是时间确定的,并且能够实时地进行馈送速率调整。
在每个控制循环,诸如每200微秒,控制器可读取实际轮廓线位置反馈,比较实际位置与参考轮廓线,并找出参考轮廓线上最接近实际位置的点。该点被定义为理想当前位置(ICP)。控制器可包括如图40所示并在下面描述的三个功能组块:前馈、反馈和粘性摩擦/齿隙补偿。
在每个控制循环,控制器可基于ICP(包括法向和切向上的加速度和速度)计算所需的运动,并可包括前馈控制器以将所需运动转换为速度控制信号。也可加入运行时间馈送速率调整器以调整馈送速率(速度)用于公差控制目的。
控制器也可在每个循环计算法向和切向上的跟踪误差。法向上的误差是从实际轮廓线位置到ICP的距离,即公差误差或轮廓线误差。切向上的误差被定义为ICP滞后的路径长度量。因为法向误差会对系统性能很重要,所以TBC控制器可包括用于法向和切向误差的两个不同的反馈控制器,并可将跟踪误差转换为速度控制信号。粘性摩擦和齿隙补偿可进一步改善机床的精度。
与非TBC运动控制相比,TBC运动控制的优点是闭环结构。闭环轮廓线跟踪控制可协调三个轴并最小化轮廓线误差。例如,如果x轴具有大阻力并落在其参考轨迹后面,则其它两个轴可减缓以匹配x轴运动,使得实际轮廓线遵循参考轮廓线。TBC运动内核也可实现真弧运动,因为可在控制中考虑向心加速度。
因为每个控制循环的所需运动基于轮廓线,ICP,和当前系统条件,诸如公差误差,所以系统可以不再是时间确定的。然而,实时馈送速率调整是可能的。当轮廓线/公差误差在规定值以下时,可增加系统馈送速率。相反,当轮廓线/公差误差超过规定值时,可减小馈送速率使得误差也得以减小。换句话说,为了最优的系统运行时间或吞吐量,系统可最大化馈送速率同时将轮廓线/公差误差保持在规定的范围内。
运动内核可从前瞻队列208接收运动命令。在由运动内核执行前,运动命令可经历公差理解处理,数据压缩,数据平滑,和前瞻处理。每个命令可携带TBC控制所需的公差值和S曲线计算的停止距离。运动内核可在确保确定性响应的RTSS环境中每200微秒被执行一次。
图16示出了用于执行运动内核的本发明的方法1600的一个实施例。在第一步骤1602中,从前瞻队列208中取得元素。该元素可以是接下来要执行的运动命令。然后,在步骤1604中,可以使用例程来初始化并计算执行刚刚在步骤1602中取得的命令所需的某些变量和参数。在步骤1606,执行作为运动内核的主要部分的例程。步骤1606的例程可执行预测性运动,真弧移动,公差控制和S曲线计算。在步骤1608中,例程可确定是否当前运动命令的执行已经完成。如果是这样,则操作返回到步骤1602以从前瞻队列208中取得另一运动命令。如果不是这样,则操作返回到步骤1606以继续执行预测性运动,真弧移动,公差控制和S曲线计算。
步骤1606可包括下面参考图39和40描述的二十个子步骤,以便将运动命令转换为伺服放大器数字模拟转换器(DAC)命令,或供脉冲宽度调制及数字控制和驱动使用的伺服放大器命令。这二十个子步骤可在伺服220内执行。在步骤1中,获得当前工具位置,并且该位置可以是经过导螺杆和齿隙补偿的。
位置几何分析是在步骤2中执行的。更特别地,可做出四个计算:弧或线轨迹上的理想当前位置;当前切向运动方向;偏离理想位置的位置偏差;和公差误差。
步骤3包括执行滞后距离延迟补偿。可以计算补偿系统中的时间延迟所需的滞后距离,并且可将该滞后距离加到用于通过S曲线计算速度的停止距离上。
S曲线速度控制是在步骤4中执行的。可以根据S曲线将工具速度计算为停止距离的函数。输出的是值在0和1之间的相对速度。
改进的Laplace变换和切向预测性控制是在步骤5中执行的。当前速度可通过改进的Laplace变换来估计。可加入切向预测性控制。
步骤6包括轴的速度控制。可为每个轴计算速度分量。该计算可基于步骤4中计算的速度和步骤2中计算的切向移动方向。
加速度是在步骤7中估计的。可以估计向心力以及向心补偿的补偿矢量。步骤5至7的顺序(即序列)是任意的,并且可以在程序代码中改变。
步骤8包括向心预测性补偿,其中向心补偿矢量可加到速度上。步骤9包括统计分析并可用于研究。
在步骤10,计算当前移动方向。为了查找导螺杆映射表以实现导螺杆/齿隙位置补偿,可能会需要当前移动方向。步骤11包括粘性摩擦估计,在该操作中估计误差速度。
步骤12包括随机误差校正和粘性摩擦校正。可计算随机误差校正矢量,并且可将粘性摩擦加到其中。
运行时间速度调整是在步骤13中执行的。确定位置误差是否在安全公差水平内。如果在,则可禁用速度减缓函数。如果不在,则可启用速度减缓函数,这可相应地减小速度。
步骤14包括可变增益计算,在该操作中可计算恒定增益,第一阶增益,第二阶增益,和组合增益。在步骤15中,可分析、补偿和/或消除机器振动。
随机误差校正可在步骤16中执行。随机误差校正矢量可乘以组合增益。随机误差校正矢量可被截短和/或应用于速度。
在步骤17中,速度误差可使用改进的Laplace变换来减小。步骤18包括电机饱和保护。DAC电压变化可在每个循环检测。DAC电压值如果太高则可被截短。
速度协调可在步骤19中执行。可以使轴的机器移动与不均匀最大速度协调。
在步骤290,可以发送范围在-10到+10伏的速度命令以便控制速度。
下面的表示出了在将三种类型的运动命令转换为伺服放大器DAC命令时执行了二十个步骤中的哪些。“快线(Rapid Line)”运动命令启动直线移动,该直线移动可以以最大馈送速率为移动中的每个轴执行。快线命令总是停止在移动的终点,而线命令不会。快线命令可用于尽可能快地移动工具至给定点。
    步骤   步骤名称   快线   线   弧
    1     获取当前位置   是   是   是
    2     位置几何分析   基于终点位置要走的距离。设定误差=0。   基于停止地位置要走的距离。计算误差。   基于停止地位置要走的距离。计算误差。
    3     滞后距离延迟补偿   否   是   是
    4     S曲线控制器   未经协调的指   协调的修改的   协调的修改的
    数减速   S曲线减速   S曲线减速
  5   改进的Laplace速度变换     否   是,5%cap   是,5%cap
  6   分量速度控制     否   是   是
  7   加速度估计     否   是   是
  8   向心预测性补偿     否   是   是
  8.5   积分补偿     否   是   是
  9   误差统计分析     否   是   是
  10   齿隙补偿     否   是   是
  11   粘性摩擦估计     否   是   是
  12   随机误差校正(方法#1)     是   否   否
  13   运行时间速度调整     否   是   是
  14   可变增益计算器     否   是   是
  15   振动估计     否   是   是
  16   随机误差校正(方法#2)     否   是   是
  17   速度调节器     否   否   否
  18   电机饱和保护     是   是   是
  19   速度协调     是   是   是
  20   设定Dac值     是   是   是
TBC运动内核可配置在广泛类型的CNC机器平台上。类似于其他CNC控制器,可调整参数以优化特定加工平台或环境的控制性能。这些参数的调整被称为“调谐”。
本发明包括五类调谐参数,包括S曲线控制参数,平滑/压缩控制参数,电机速度调整参数,动态控制增益,和速度/半径公差关系查找表。S曲线控制参数可在合理的范围内调整,以便实现最大可允许速度,最大可允许加速度,最大可允许减速度,最大可允许启动急动,和/或最大可允许结束急动。平滑/压缩控制参数也可在合理的范围内调整,以便实现第一阶平滑长度限制(比该值长的区段没有被平滑),第一阶平滑角度限制(大于该值的角度没有被平滑),第二阶平滑长度限制,和/或数据压缩关/开控制。电机速度调整参数可手动调整以实现M-乘法器(即,在最大电压的X%处观察到最大速度的X%),和/或每个轴的B-常数漂移(constant drifting)调整器(电子零补偿)。动态控制增益可为机器类别预设,并可按需要手动修改。动态控制增益可包括时间/响应增益参数。时间/响应增益参数的过高的值会引起振荡,并且低值会引起慢/软运动响应。最后,速度/半径公差关系查找表可为机器的每个类别预设,并可按需要手动调整。上述调谐参数可与其他系统配置参数一起列在配置文件中,该配置文件可在系统配置期间被读取和解译。
TBC几何分析
运动命令预分析
在执行任何运动命令之前,TBC运动内核可加载命令并分析几何结构。停止地平面法向(SPN)方向和停止地位置可在预分析中计算并可在整个执行周期期间使用,直到该运动命令结束。对于线运动,可以如等式(6)指示的那样和图41中显示的那样计算SPN,其中图41示出了线运动几何预分析:
( 6 ) , SPN i = P i - 1 - P i | | P i - 1 - P i | |
对于弧运动,可以如等式(7)指示的那样和图42中显示的那样计算SPN,其中图42示出了弧运动几何预分析,这里APN代表弧平面法线方向的单位方向矢量,且C代表弧的中心。
( 7 ) , SPN i = - APN &times; P i - 1 - C | | P i - 1 - C i | |
可以如等式(8)指示的那样,为线运动和弧运动计算停止地位置Psi。
(8)Psi=Pi-dsi·SPNi
实时几何分析
在每个控制循环,TBC运动内核可读取实际轮廓线(工具)位置反馈Ptl并比较实际位置与参考轮廓线以寻找理想当前位置(ICP),轮廓线/公差误差(en)和(到停止地的)distance_to_go d。
对于线运动,几何结构在图43中示出,其示出线运动几何分析,并可如等式(9)和(10)指示的那样计算。
(9)d=<Ptl-Psi,SPN>
(10)en=(Ptl-Psi)-d·SPN
其中<a,b>是矢量a和矢量b的内积。因此,如果a=[xa,ya,za],并且b=[xb,yb,zb],那么<a,b>=xa*xb+ya*yb+za*zb。Ptl是工具位置,Psi是i运动段的停止地位置,并且SPN是停止地平面法线(SPN)方向的单位方向矢量。等式(9)可解释为距离d,其等于SPN方向上的长度Ptl-Psi。
对于弧运动,因为实际轮廓线或工具位置可能不在弧平面上,所以可首先将工具位置投影到弧平面上,可以如等式(11)指示的那样和图44a-b中显示的那样计算,它们示出了弧运动几何分析。
P′tl=(Ptl-Ci)-<Ptl-Ci,APN>·APN
等式(11)可以解释为P’tl,其等于单位弧平面法向矢量APN乘以矢量(Ptl-Ci)和矢量<Ptl-Ci,APN>之间的差。
矢量P’tl是(Ptl-Ci)在弧平面上的投影。一旦在弧平面上找到矢量P’tl,则ICP,单位切向和径向矢量dt和dr,以及轮廓线/公差误差en(也称为法向误差)可如等式(12),(13),(14)和(15)中指示的那样确定。
( 12 ) , dr = P &prime; tl | | P &prime; tl | |
(13)ICP=Ci+R·dr
(14)dt=dr×APN
(15)en=Ptl-ICP
为了计算distance_to_go,即,从ICP到停止地的路径长度,可以首先计算ICP和目标点Pi之间的弧长度。可将大于180度的任意弧切割为两个弧。distance_to_go可使用下面的三个等式(16),(17)和(18)来计算。等式(16),(17)和(18)的变量的意义可以参考图44a-b识别。
( 16 ) , l = 1 2 | | Pi - ICP | |
( 17 ) , a = sin - 1 ( l R )
(18)d=2aR+dsi
TBC S曲线控制器
S曲线加速度提供非线性加速方法,其软化和平滑稳速阶段和加速/减速阶段之间的过渡。其被称为“S曲线”,因为速度分布图的加速/减速部分是S形的而非线性的。
S曲线速度分布图通常具有七个阶段:增加加速度;恒定加速度;减小加速度;稳速;增加减速度;恒定减速度;和减小减速度。
非TBC运动控制系统可使用S曲线来产生参考轨迹,即,调度位置,速度,加速度等。S曲线是基于时间的,并在控制回路(实时部分)外部实现。TBC S曲线控制器可不同于非TBC S曲线控制器。在每个控制循环,基于要移动的距离,TBC S曲线控制器可计算沿参考轮廓线轨迹所需的速度和加速度。TBC S曲线控制器可以是基于距离的并实现为实时处理。速度可在每个控制循环从瞬时路径距离计算。该机制可减小速度误差积累,并且也可支持某些实时请求,诸如实时馈送速率调整,馈进超调,暂停,继续和单步。
TBC S曲线控制器的操作方法4500的一个实施例的流程图在图45中示出。在第一步骤4502中,检查标记以察看是否当前系统状态是“加速”或“减速”。如果状态是减速,则操作进入步骤4512。另一方面,如果当前状态是“加速”,则在步骤4504中计算stop_distance_required。stop_distance_required可定义为在系统使工具停止之前,工具根据S曲线将要行进的最小距离。该停止距离可以是当前速度和加速度的函数。在步骤4506,如果给定的distance_to_go“d”大于stop_distance_required“d0”,这意味着继续向前移动是安全的,那么操作进入到步骤4512以计算所需的加速度和速度。否则,如果distance_to_go“d”小于stop_distance_required“d0”,这意味着系统必须立即制动,则计算制动信息并在步骤4508中将标记设定为减速。因为根据原始S曲线(具有预设的最大急动和加速度),distance_to_go“d”对于系统制动不足够大,所以最大急动可在步骤4510中修改,使得系统不会过冲。可用来检测S曲线阶段的两个距离d1和d3,也可在步骤4510中更新。步骤4512可被认为是S曲线控制器的核心。根据当前系统状态和预先计算的临界距离,S曲线阶段,所需的速度和加速度可在步骤4512中确定。因为S曲线控制器实时地运行,所以要注意确保控制器不会耗尽数据。当队列处的运动命令的总移动距离变得太短时,系统可能需要减缓以防止数据缺乏。在步骤4516中,应用实时馈送速率调整和用户覆写。在步骤4518中,应用先进的非线性急动-加速度-速度(JAV)滤波器以除去速度信号中的噪声。
TBC前馈控制
前馈信号和增益
前馈可基于理想当前位置(ICP)。三个前馈部分的计算,即,法向加速度FFan,切向速度FFvt,和切向加速度FFat在图46中示出,其中图46示出了速度和加速度前馈。在图46中,“d”表示从几何分析获得的distance_to_go;并且dt和dr分别表示单位切向和径向/法向矢量。
在滞后距离补偿组块4602中,可计算补偿系统中的时间延迟所需的滞后距离并将其加到distance_to_go上以得到补偿距离。S曲线控制器4604可接收补偿的距离并计算沿轨迹的所需速度v和加速度a(v和a都是标量)。
线4606上的加速度可乘以单位切向矢量dt 4608以产生切向加速度矢量at 4610。前馈增益Kaff可将切向加速度at转换为伺服系统可接受的控制信号FFat。
改进的Laplace组块4612可估计当前速度,比较当前速度与上一速度命令,并将预测性补偿加到S曲线速度命令v中以减小切向跟踪误差。补偿的速度命令乘单位切向矢量dt 4608并变成切向速度矢量vt4614。因为伺服系统采用速度控制命令,所以不需要进一步转换速度矢量。前馈增益1 at 4616产生信号FFvt并可使所有信道能够处于同一水平。
向心加速度an 4618可通过圆周运动物理学计算,即an=v2/R。向心加速度可指向弧的中心并与径向/法向方向相反。与应用于切向加速度的前馈增益相同的前馈增益Kaff可被应用以将法向加速度转换为适合的控制信号FFan。
运行时间馈送速率调整器(μ)
运行时间或“实时”馈送速率调整器是TBC运动控制独有的特征,并且在其他控制系统中无法获得。非TBC的基于时间的控制策略的参考轮廓线轨迹被预定在控制回路外部,且在控制回路内不能进行修改。相反,TBC运动内核可以没有任何预定的参考轨迹,且所需的运动可基于当前系统条件在每个控制循环中在控制回路内确定。因此,运行时间馈送速率调整器是可能的。
实际当前位置和理想当前位置之间的差可被定义为瞬时随机位置误差或公差误差。瞬时随机位置误差,也被简称为“位置误差”,可被认为是实际当前位置偏离所需线/弧轨迹的偏差。运行时间馈送速率调整器可比较位置/公差误差与规定的误差公差。如果位置误差大于或太接近于规定的误差公差,则运行时间馈送速率调整器可减缓馈送速率以改善跟踪精度。另一方面,如果误差小于或不太接近于规定的公差,则运行时间馈送速率调整器可增加馈送速率以改善系统吞吐量。通常,如果位置误差在规定的误差公差以下,则可增加工具的速度,并且如果位置误差在规定的误差公差以上,则可减小工具的速度。在一个实施例中,即使轮廓线误差非常小也可不增加馈送速率,但是可以保持适当地增加或减小馈送速率的能力。
运行时间馈送速率调整器可以是受限的最优化机构。也就是,在规定范围内的轮廓线/公差误差的限制下,运行时间馈送速率调整器可最大化馈送速率以实现最优系统吞吐量。
TBC反馈控制
具有可变增益(τ)的法向误差反馈控制
法向误差en,或轮廓线/公差误差,可定义为从当前工具位置到参考轮廓线的最短距离,并且TBC运动控制可减小该误差。因为这是三维误差,所以可能需要三个轴一起协调的运动来校正它。当轨迹和计算中包括有旋转轴形式的附加轴时,误差也可以是五维或六维的。因此,虽然下面的讨论中提到的是三维或三个轴,但应该理解的是,该讨论也可同等地适用于包括多于三维和多于三个轴的多维系统。
TBC和非TBC控制之间的基本差异是,非TBC控制通常将三维参考轮廓线轨迹分解为三个独立的轴运动,并控制三个轴而无需轮廓线/公差误差的任何知识。相反,TBC运动控制可直接解决三维轮廓线/公差误差。工具的实际位置可沿三个轴中的每个轴被感测。然后可以计算工具在三个轴的每个轴上的实际位置与工具在三个轴的每个轴上的所需位置之间的三维位置误差。可产生取决于计算的三维位置误差的三维位置误差信号。工具的速度和/或方向可取决于三维位置误差信号而被控制。如本文中描述的那样,并且如本文中以多个实例示出的那样,三维位置误差可利用矢量数学来计算。
根据上面的描述,清楚的是,TBC控制可使沿一个轴的运动能够实时地影响沿另两个轴的运动控制,即,在不同轴的运动控制之间可以存在互相耦合。非TBC运动控制可能不包括补偿轴间的影响,诸如向心力,但TBC运动控制可以。由于缺少向心力的补偿,由非TBC方法控制的工具可系统地从所需的弓形轨迹沿径向向外移动。
如图47所示,其示出了法向误差的可变增益反馈控制,TBC运动控制可使用可变增益反馈控制以解决法向误差。该误差可在实时几何分析4002中计算(图40)。空间反馈控制器Cn可提供系统稳定性并减少法向误差。
可变增益τ4702可以是切向速度和法向加速度二者的函数。泛泛地说,系统移动得越快,校正法向误差所需的增益就越大。增益越大,法向误差就可以越快地得到校正。
切向误差反馈控制
在每个控制循环,TBC可产生切向速度命令。切向速度命令的积分可产生参考轮廓线上的位置,该位置可被认为是参考轮廓线上的当前目标点。切向误差可定义为从理想当前位置(ICP)到当前目标点的路径长度。反馈控制器Ct 4004(图40)可减小切向误差。
两种反馈控制的不同动态响应
TBC反馈控制可包括两个部分:切向误差反馈控制和法向误差反馈控制。不是同样或同等地处理这两种误差,而是可为误差提供两个反馈控制器,每个反馈控制器解决两个误差中相应的一个。对两种误差进行不同的处理的第一个原因是,就跟踪精度和表面光洁度质量而言,法向误差比切向误差更重要,因此可对法向误差设置更大的权重。对两种误差进行不同的处理的第二个原因是,伺服系统具有有限的功率,并且合乎需要的是首先使用功率来做更重要的事。因此,两个不同的反馈控制器可用来处理法向和切向误差。法向误差回路可具有更高的带宽或更快的动态响应。泛泛地说,可使用比切向误差更大的伺服功率来校正法向误差,且法向误差可比切向误差更快地得到减小。
TBC粘性摩擦和齿隙补偿
粘性摩擦可对运动控制具有相当的影响。为了校正粘性摩擦的影响,TBC运动内核可使用粘性摩擦补偿器。该补偿器可在轴改变其运动方向(即穿过零速度点)时被触发。补偿轮廓可具有凹口形状,凹口的高度和宽度是速度和轨迹的局部曲率的函数。
导螺杆可用在机床中作为机械传动装置以将旋转运动转换为线性运动。滚珠丝杆和齿隙的误差需要得到补偿。运动内核所使用的位置值可以全都是根据导螺杆映射表进行过导螺杆和齿隙补偿的。
补偿组块可确定当前移动方向,其可能被需要以用于查找导螺杆映射表以实现导螺杆/齿隙位置补偿。补偿组块也可补偿粘性摩擦。
TBC控制信号保护
TBC运动控制信号可以是前馈控制信号,反馈控制信号和粘性摩擦补偿信号的总和。在通过数字模拟转换器(DAC)发送控制信号至伺服系统之前,可执行保护程序以避免机器的过载。保护程序可包括两个步骤,包括限制控制信号改变速率的第一步骤。伺服系统可接收速度命令,并且控制信号改变速率可对应于加速度/减速度。虽然S曲线控制器可考虑加速度/减速度,但整个控制信号仍有可能由于其他原因(诸如跟踪误差反馈,扰动,粘性摩擦补偿,等等)而改变太快。为了避免超过伺服系统容量和为了平滑的运动,控制信号改变速率可被限制。也就是,如果当前和前面的控制命令之间的差别超过阈值,则当前命令可被限制,使得差别饱和在阈值。
保护程序的第二步骤可以是限制控制信号。DAC和伺服系统都能够仅接收高达最大量的受限的控制信号输入。如果当前控制命令超过该阈值,则可采取步骤以将当前控制命令饱和至最大控制输入。
图17是用于加工工件1702的本发明的机器1700的一个实施例的框图。机器1700包括形式为控制器卡的控制器1704,形式为伺服驱动1706x,1706y,1706z,1706s的致动器,切割工具1708,位置传感器1710x,1710y,1710z和1710s(它们可以是编码器的形式)。
机床保持并携带切割工具1708,同时切割工具旋转和与工件接合,如图17中的工件和切割工具之间的虚线所示。机床为切割工具提供安装手段和线性/旋转驱动手段。切割工具1708是机器1700中的材料清除器,并可安装在旋转心轴机构(未示出)上,该旋转心轴机构可连接到机床的z轴。切割工具相对于工件的几何取向可由于其在z轴上的安装位置而被固定。
作为大多数运动控制卡的典型实例,控制器卡1704包括连接器1712、1714、1716和1717,用于物理地连接控制器卡1704至伺服驱动1706和位置传感器1710,以便便于进行通信。伺服驱动1706可在x、y和z轴上移动工件1702并绕z轴旋转切割工具1708。四个连接器1712,1714,1716,1717在控制器卡1704上绘出,每个受控的运动轴对应一个,并且切割工具1708的旋转对应一个,但是其他配置也是可能的。控制器卡1704和伺服驱动1706之间交换的通信信号必须常常转换为适当格式。例如,某些致动器电机使用-10伏和+10伏之间的模拟电压输入信号以确定电机应以什么速率转动。
大多数数字计算机,例如基于Intel Pentium的PC,不支持模拟电压,但利用由离散电压水平(+5伏和0伏)表示的比特(1和0)组来表示值。因此,如果基于PC的运动控制卡将要命令电机以其最大速度(在我们的实例中为+10伏)沿顺时针方向旋转,则表示该请求的比特的集合必需被转换为电机能够理解的+10伏信号。用于通信目的的该信号转换是业内标准,并且通常由控制器卡的输入/输出(I/O)模块执行。在图17中,一个I/O模块(1718,1720和1722)是为每个受控的轴绘出的。
某些控制卡包含有CPU 1724和板上存储器1726以用于执行程序和控制算法。由Delta Tau提供的PMAC和由加利福尼亚的MountainView的Galil Motion Contol有限公司提供的DMC-1700是包含CPU和存储器的卡的典型实例。在示例性实施例中,由Indianapolis Ind.的Hurco公司提供的伺服换能器5轴PCB组件(部件号415-0622-001)可用作控制卡。该Hurco伺服换能器不具有板上CPU和存储器,但是利用计算机的CPU和存储器,其中CPU和存储器被插入到计算机中以用于这些服务。这两种配置之间的差别主要在于成本,并且对实现本发明的基于公差的控制技术的编程者具有很小的影响。这些组件的集成和控制算法被存储并由CPU执行的方法,是本领域公知的。为了简洁,该处理的细节已经被略去。为了简化本发明的说明,图17显示出物理地集成在运动控制卡1704上的CPU 1724和存储器1726。
在示例性实施例中,多任务操作系统(OS),例如由华盛顿的Redmond的微软公司提供的Windows XP,可用来运行实现本发明的算法。实时的OS,例如由加利福尼亚的Sunnyvale的Ready Systems提供的RTX,也可用来改善算法的运行时间性能。使用什么操作系统和是否采用多任务范例的决定取决于手头的应用,并且是由计算机系统编程和设计领域的技术人员例行公事地做出的决定。存储器1726中包含有用于存储与手头的任务相关的值(1728,运动命令和允许的馈送速率;1730,NC公差命令;1732,馈送速率限制映射;1734,其他数据)的数据区域,如编程领域的技术人员通常采用的一样。
位置传感器1710x,1710y,1710z分别感测工件1702在x,y和z方向上的位置,如图17中的位置传感器和工件之间的虚线所示。更特别地,在一个实施例中,位置传感器1710x,1710y,1710z分别感测驱动机床的可移动定位滑轨(未示出)的三个滚珠丝杆机构(未示出)的位置。工件被连接到一个定位滑轨,其通过所有定位滑轨的级联安装手段的特性,允许工件在两个方向(即x和y方向)上移动。因此,x-y平面中工件的位置可从工件被连接到x和y定位滑轨的何处以及滚珠丝杆机构的位置的知识推导出来。通常在工件,滚珠丝杆机构和定位滑轨之间存在固定的几何关系。假定旋转心轴结构被连接到z轴定位滑轨,位置传感器1710z可感测z轴(第三方向)滚珠丝杆机构的位置,这使得能够推导出切割工具沿z轴的线性位置。位置传感器1710s感测切割工具1708的旋转位置,如图17中的位置传感器1710和切割工具之间的虚线所示。位置传感器1710x,1710y,1710z,1710s可经由连接器1712,1714,1716,1717发送相关的位置信号至CPU 1724。因此,位置传感器1710可提供图1所示的位置反馈。
图25示出了上面参考图12描述的本发明的方法2500。在第一步骤2502中,识别目标工具路径。在图12所示的实例中,识别从(1,4,0)到(5,1,6)的目标工具路径。在步骤2504,工具被命令以从初始位置遵循目标工具路径。例如,工具可被命令以遵循从初始位置(1,4,0)到(5,1,6)的目标工具路径。然后,在步骤2506,工具的实际位置在命令步骤之后被感测。在图12的实例中,工具在点B的实际位置被感测。在最后的步骤2508中,计算从实际位置开始的目标工具子路径以校正工具移动中的预测性误差。例如,计算从点B处的实际位置开始的目标工具子路径1202以校正工具移动中的预测性误差。例如,被校正的预测性误差可在沿点A和F之间的路径上的任伺位置处出现。进一步,预测性误差可早在目标工具路径被识别之前就根据经验确定。
图26示出了上面参考图12描述的本发明的另一方法2600。在第一步骤2602中,工具移动中的预测性误差是根据经验确定的。在图12所示的实例中,工具移动中的预测性误差可已经通过测试在机床到达(1,4,0)之前或在机床甚至已经到达工件附近区域之前根据经验确定。例如,根据经验的确定可发生在实验室中,制造工厂中,或这两种类型的环境的组合中。预测性误差的确定可取决于例如环境温度和/或湿度。在步骤2604中,工具的实际移动被监视。例如,位置传感器1710可感测机床1708的位置并发送相关的位置信号至CPU 1724,如上所述。在最后的步骤2606中,工具的实际移动是取决于根据经验确定的预测性误差和工具实际移动中的随机误差而被控制的。例如,可通过伺服放大器1706指引工具沿着目标工具子路径(诸如子路径1202)移动。
图27示出了上面参考图12描述的本发明的另一方法2700。在第一步骤2702中,感测工具在多个顺序移动中的第一移动后的实际位置。例如,位置传感器1710可在工具1708移动后感测机床1708的位置。然后,在步骤2704中,基于感测步骤计算工具的目标位置。计算目标位置以补偿工具移动中的预测性误差和随机误差。例如,CPU 1724可基于感测机床1708在点B的位置的位置传感器1710来计算目标位置T。可计算目标位置T以补偿工具1708移动中的预测性误差和随机误差。可计算目标位置T以最大化点C的概率,即伺服后的实际位置在伺服期间受到预测性误差的影响后,处于点(1,4,0)和(5,1,6)之间的目标工具路径上的概率。在最后的步骤2706中,为工具的其他移动重复感测和计算步骤。例如,可感测工具在每个点C,D,E和F的位置,并且新目标位置可在每个这些感测步骤之后基于每个这些感测步骤来计算。
本发明的轨迹运动控制方法的一个实施例在所附的附录I的TBC流程图的第1到16页,和TBC内核流程图的第1到5页中示出。
虽然已经将本发明描述为具有示例性的设计,但本发明可在本公开的精神和范围内进一步修改。因此本发明应涵盖使用其一般原理的发明的任何变体、应用或改变。

Claims (79)

1.一种调整运动体的路径数据的方法,所述方法包括以下步骤:
识别(2102)所述路径数据的四个连续点,包括第一点、第二点、第三点和第四点;
确定(2104)所述第二点是否适合于平滑;
如果所述第二点适合于平滑,则:
定位(2106)由所述第一点、所述第二点和所述第四点定义的第一弧;
定位(2108)由所述第一点、所述第三点和所述第四点定义的第二弧;
将所述第二点移动(2110)到所述第一弧和所述第二弧之间的区域中;并且
用与所述第二点相关联的至少一个弧移动替换(2112)与所述第二点相关联的线移动。
2.如权利要求1所述的方法,其中所述至少一个弧移动与先前移动和随后的移动都相切。
3.如权利要求1所述的方法,其中所述至少一个弧移动包括两个弧移动,所述两个弧移动彼此相切。
4.如权利要求1所述的方法,进一步包括将所述第三点移动到所述第一弧和所述第二弧之间的区域中的步骤。
5.如权利要求1所述的方法,其中所述线移动和所述至少一个弧移动也与所述第三点相关联。
6.如权利要求1所述的方法,进一步包括以下步骤:
识别所述第四点后面的第五连续点;
确定所述第三点是否适合于平滑;
如果所述第三点适合于平滑,则:
定位由所述第二点、所述第三点和所述第五点定义的第三弧;
定位由所述第二点、所述第四点和所述第五点定义的第四弧;
将所述第三点移动到所述第三弧和所述第四弧之间的区域中;并且
用与所述第三点相关联的至少一个弧移动替换与所述第三点相关联的线移动。
7.一种调整运动体的路径数据的方法,所述方法包括以下步骤:
识别(1802)所述路径数据的三个连续点;
确定(1804)以下两项中的至少一项:
由所述三个点定义的圆弧和在第一点与第二点之间延伸的第一线的中间部分之间的第一距离;和
所述圆弧和在所述第二点与第三点之间延伸的第二线的中间部分之间的第二距离;
确定所述第一线和所述第二线之间的转角;以及
如果所述第一距离和所述第二距离中的至少一个小于阈值距离,并且所述转角大于阈值角,则对所述第二点执行平滑。
8.如权利要求7所述的方法,其中如果从所述第一点到所述第二点的第一移动包括第一线移动并且从所述第二点到所述第三点的第二移动包括第二线移动,则对所述第二点执行平滑。
9.如权利要求8所述的方法,其中所述执行平滑的步骤包括用至少一个弧移动替换所述第一线移动和所述第二线移动中的至少一个。
10.如权利要求7所述的方法,其中所述阈值线距离约在0.0002英寸和0.001英寸之间。
11.如权利要求7所述的方法,其中所述阈值角约在130度和160度之间。
12.如权利要求7所述的方法,其中所述第一距离在所述圆弧和所述第一线的中点之间,并且所述第二距离在所述圆弧和所述第二线的中点之间。
13.如权利要求12所述的方法,其中如果所述第一距离和所述第二距离中的每个均小于所述阈值距离,则对所述第二点执行平滑。
14.一种调整运动体的路径数据的方法,所述方法包括以下步骤:
识别(1902)所述数据路径的四个连续点,包括第一点、第二点、第三点和第四点;
定位(1904)由所述第一点、所述第二点和所述第四点定义的第一弧;
定位(1906)由所述第一点、所述第三点和所述第四点定义的第二弧;
将所述第二点移动(1908)到所述第一弧和所述第二弧之间的区域中。
15.如权利要求14所述的方法,其中所述第二点在朝向所述第二弧上最接近的点的方向上被移动。
16.如权利要求14所述的方法,进一步包括将所述第三点移动到所述第一弧和所述第二弧之间的区域中的步骤。
17.如权利要求16所述的方法,进一步包括确定所述第一点、所述第二点和所述第三点是否适合于平滑的步骤。
18.如权利要求17所述的方法,其中:
如果所述第一点、所述第二点和所述第三点中的每个均适合于平滑,则将所述第二点移动小于所述第二点和所述第二弧之间的距离的45%的距离;
如果所述第二点适合于平滑,所述第一点和所述第三点中的一个适合于平滑,并且所述第一点和所述第三点中的另一个不适合于平滑,则将所述第二点移动近似为所述第二点和所述第二弧之间的距离的45%和55%之间的距离;并且
如果所述第二点适合于平滑,并且所述第一点和所述第三点都不适合于平滑,则不移动所述第二点。
19.如权利要求18所述的方法,进一步包括以下步骤:
识别所述第四点后面的第五连续点;
定位由所述第二点、所述第三点和所述第五点定义的第三弧;
定位由所述第二点、所述第四点和所述第五点定义的第四弧;
将所述第三点和所述第四点移动到所述第三弧和所述第四弧之间的区域中。
20.如权利要求16所述的方法,其中所述第二点在朝向所述第二弧上最接近的点的方向上被移动,并且所述第三点在朝向所述第三弧上最接近的点的方向上被移动。
21.一种调整运动体的路径数据的方法,所述方法包括以下步骤:
识别(2002)从所述路径数据的第一点延伸到所述路径数据的第二点的线移动;和
用第一弧移动和第二弧移动替换(2004)所述线移动,所述第一弧移动在所述第一点开始并在结合点终止,所述第二弧移动在所述结合点开始并在所述第二点终止。
22.如权利要求21所述的方法,其中所述第一弧移动在所述第一点与先前移动相切。
23.如权利要求21所述的方法,其中所述第一弧移动在所述结合点处与所述第二弧移动相切。
24.如权利要求21所述的方法,其中所述第二弧移动在所述第二点处与随后的移动相切。
25.如权利要求21所述的方法,其中所述第一弧移动具有第一半径,并且所述第二弧移动具有不同于所述第一半径的第二半径。
26.一种处理运动体的路径数据的方法,所述方法包括以下步骤:
识别(2202)沿目标路径的多个点;
确定(2204)所述运动体在最后的点处的最大可允许停止距离;
确定(2206)所述运动体在所述最后的点处的最后最大可允许速度,使得所述运动体可在所述最大可允许停止距离内停止;以及
建立(2208)所述运动体在另一点处的另一最大可允许速度,使得所述运动体可在到达所述最后的点时减速到所述最后最大可允许速度。
27.如权利要求26所述的方法,进一步包括以下步骤:
建立实际路径偏离所述目标路径的最大可允许偏差水平;
确定所述运动体在所述另一点处的最大可允许公差速度,所述最大可允许公差速度取决于所述最大可允许偏差水平;和
识别等于在所述另一点处的所述最大可允许公差速度和所述另一最大可允许速度中的较小者的较小速度。
28.如权利要求27所述的方法,进一步包括以下步骤:建立所述运动体在所述另一点前面的点处的先前最大可允许速度,使得所述运动体可在到达所述另一点时减速到所述较小速度。
29.如权利要求28所述的方法,进一步包括以下步骤:
取决于所述最大可允许偏差水平确定所述运动体在所述前面的点处的最大可允许公差速度;以及
识别所述运动体在所述前面的点处的最大可允许公差速度和在所述前面的点处的所述先前最大可允许速度中的较小者。
30.如权利要求25所述的方法,其中在所述最后的点处的所述最大可允许停止距离与所述最后的点和随后点之间的区段长度相对应,所述随后点与所述最后的点相邻并位于所述最后的点的下游。
31.如权利要求30所述的方法,其中所述随后点可包括所述目标路径的端点和角点中的一个。
32.如权利要求26所述的方法,其中所述确定最后最大可允许速度的步骤包括使用S曲线来使所述最大可允许停止距离与所述最后最大可允许速度相关。
33.一种处理运动体的路径数据的方法,所述方法包括以下步骤:
识别(2302)沿目标路径的多个点;
建立(2304)实际路径偏离所述目标路径的最大可允许偏差水平;
确定(2306)沿所述目标路径的多个位置处的所述目标路径的曲率;
确定(2308)所述运动体在沿所述目标路径的每个点处的最大可允许公差速度,所述最大可允许公差速度取决于所述最大可允许偏差水平和所述曲率;
确定(2310)所述运动体在最后的点处的最大可允许停止距离;
确定(2312)所述运动体在所述最后的点处的最后最大可允许停止速度,使得所述运动体可在所述最大可允许停止距离内停止;
建立(2314)所述运动体在除所述最后的点之外的每个点处的另一最大可允许停止速度,使得所述运动体可在到达所述最后的点时减速到所述最后最大可允许速度;以及
识别(2316)在每个点处的所述最大可允许公差速度和所述最大可允许停止速度中的较小者。
34.如权利要求33所述的方法,其中在所述最后的点处的所述最大可允许停止距离与所述最后的点和随后点之间的区段长度相对应,所述随后点与所述最后的点相邻并位于所述最后的点的下游。
35.如权利要求34所述的方法,其中所述随后点可包括所述目标路径的端点和角点中的一个。
36.如权利要求33所述的方法,其中所述确定最后最大可允许停止速度的步骤包括使用S曲线来使所述最大可允许停止距离与所述最后最大可允许停止速度相关。
37.如权利要求33所述的方法,其中所述建立另一最大可允许停止速度的步骤包括使用S曲线来使所述另一点和所述最后的点之间的区段长度与所述另一最大可允许停止速度相关。
38.如权利要求33所述的方法,其中所述建立另一最大可允许停止速度的步骤包括确保在每个所述另一点处的停止距离小于或等于与所述另一点之间的区段长度和在最后的点处的所述最大可允许停止距离的总和。
39.如权利要求33所述的方法,进一步包括以下步骤:以在每个点处的所述最大可允许公差速度和所述最大可允许停止速度中的较小者移动所述运动体。
40.一种处理运动体的路径数据的方法,所述方法包括以下步骤:
识别(2402)沿目标路径的多个点,所选的每两个点被分开相应的区段长度;
确定(2404)所述运动体在最后的点处的最大可允许停止距离;和
确定(2406)所述运动体在另一点处的最大可允许速度,使得所述运动体在所述另一点处的所需停止距离等于或小于所述最后的点处的所述最大可允许停止距离和所述另一点与所述最后的点之间的区段长度的总和。
41.如权利要求40所述的方法,进一步包括以下步骤:
建立实际路径偏离所述目标路径的最大可允许偏差水平;
确定所述运动体在所述另一点处的最大可允许公差速度,所述最大可允许公差速度决定于所述最大可允许偏差水平;以及
识别等于在所述另一点处的所述最大可允许公差速度和所述最大可允许速度中的较小者的较小速度。
42.如权利要求41所述的方法,进一步包括以下步骤:建立所述运动体在所述另一点前面的点处的先前最大可允许速度,使得所述运动体在所述前面的点处的所需停止距离等于或小于在所述最后的点处的所述最大可允许停止距离和所述前面的点与所述最后的点之间的区段长度的总和。
43.如权利要求42所述的方法,进一步包括以下步骤:
取决于所述最大可允许偏差水平确定所述运动体在所述前面的点处的最大可允许公差速度;以及
识别所述运动体在所述前面的点处的最大可允许公差速度和在所述前面的点处的所述先前最大可允许速度中的较小者。
44.如权利要求41所述的方法,进一步包括确定沿所述目标路径的多个位置处的所述目标路径的曲率,其中所述运动体在所述另一点处的所述最大可允许公差速度取决于所述曲率。
45.如权利要求40所述的方法,其中在所述最后的点处的所述最大可允许停止距离与所述最后的点和随后点之间的区段长度相对应,所述随后点与所述最后的点相邻并位于所述最后的点的下游。
46.如权利要求45所述的方法,其中所述随后点可包括所述目标路径的端点和角点中的一个。
47.如权利要求40所述的方法,其中所述确定在所述另一点处的最大可允许速度的步骤包括使用S曲线来使在所述另一点处的所需停止距离与在所述另一点处的所述最大可允许速度相关。
48.一种操作运动体的方法,所述方法包括以下步骤:
识别(2502)目标路径;
命令(2504)所述运动体从初始位置遵循所述目标路径;
在所述命令步骤后感测(2506)所述运动体的第一实际位置;以及
从所述第一实际位置计算(2508)第一目标子路径以校正所述运动体的移动中的预测性误差。
49.如权利要求48所述的方法,进一步包括根据经验确定所述运动体的移动中的所述预测性误差的步骤,所述根据经验的确定步骤在所述识别步骤之前进行。
50.如权利要求48所述的方法,其中计算所述目标子路径以补偿所述运动体从所述初始位置到所述实际位置的移动中的随机误差。
51.如权利要求48所述的方法,其中所述计算步骤取决于所述运动体的所述第一实际位置偏离所述目标路径的偏差。
52.如权利要求48所述的方法,进一步包括以下步骤:
指引所述运动体遵循所述第一目标子路径;
在所述指引步骤后感测所述运动体的第二实际位置;以及
计算第二目标子路径以校正所述运动体的移动中的误差。
53.如权利要求48所述的方法,进一步包括以下步骤:确定在所需时间段内以所需最终速度完成所述第一目标子路径所需的加速度。
54.如权利要求48所述的方法,进一步包括计算沿所述第一目标子路径的所需加速水平的步骤。
55.如权利要求48所述的方法,其中所述计算步骤包括弧运动的向心力补偿,切向加速度补偿,粘性摩擦补偿,导螺杆和齿隙补偿,心轴软度补偿,和系统延迟补偿中的至少一个。
56.如权利要求48所述的方法,其中所述运动体在所述计算步骤期间继续移动经过所述第一实际位置。
57.一种操作运动体的方法,所述方法包括以下步骤:
根据经验确定(2602)所述运动体的移动中的预测性误差;
监视(2604)所述运动体的实际移动;和
取决于所述根据经验确定的预测性误差和所述运动体的实际移动中的随机误差,来控制(2606)所述运动体的实际移动。
58.如权利要求57所述的方法,进一步包括命令工具从初始位置遵循目标路径的步骤,包括在所述命令步骤后感测所述运动体的第一实际位置的监视步骤,包括从所述第一实际位置计算第一目标子路径以校正所述运动体的移动中的所述预测性误差和所述随机误差的控制步骤。
59.如权利要求58所述的方法,其中所述计算第一目标子路径的步骤取决于所述运动体的所述第一实际位置偏离所述目标路径的偏差。
60.如权利要求58所述的方法,进一步包括以下步骤:
指引所述运动体遵循所述第一目标子路径;
在所述指引步骤后感测所述运动体的第二实际位置;以及
计算第二目标子路径以校正所述运动体的移动中的误差。
61.如权利要求58所述的方法,进一步包括以下步骤:确定在所需时间段内以所需最终速度完成所述第一目标子路径所需的加速度。
62.如权利要求57所述的方法,其中所述根据经验的确定步骤在所述监视步骤和所述控制步骤之前进行。
63.如权利要求57所述的方法,其中所述控制步骤包括补偿所述预测性误差和所述随机误差。
64.如权利要求57所述的方法,进一步包括计算所述运动体的所需加速水平的步骤。
65.如权利要求57所述的方法,其中所述控制步骤包括弧运动的向心力补偿,切向加速度补偿,粘性摩擦补偿,导螺杆和齿隙补偿,心轴软度补偿,和系统延迟补偿中的至少一个。
66.一种操作具有多个顺序移动的运动体的方法,所述方法包括以下步骤:
在所述运动体的第一移动后感测(2702)所述运动体的实际位置;
基于所述感测步骤计算(2704)所述运动体的目标位置,所述目标位置被计算以补偿所述运动体的移动中的预测性误差和随机误差;以及
为所述运动体的其它移动重复(2706)所述感测和计算步骤。
67.如权利要求66所述的方法,其中所述预测性误差是根据经验确定的。
68.如权利要求66所述的方法,其中所述预测性误差是在所述感测和计算步骤之前根据经验确定的。
69.如权利要求66所述的方法,其中所述目标位置被计算以补偿所述运动体在所述第一移动和所述其它移动中的预测性误差。
70.如权利要求66所述的方法,进一步包括确定在所需时间段内以所需最终速度到达所述目标位置所需的加速度。
71.如权利要求66所述的方法,其中所述计算步骤包括弧运动的向心力补偿,切向加速度补偿,粘性摩擦补偿,导螺杆和齿隙补偿,心轴软度补偿,和系统延迟补偿中的至少一个。
72.如权利要求66所述的方法,其中所述运动体在所述计算步骤期间继续移动经过所述实际位置。
73.一种操作运动体的方法,所述方法包括以下步骤:
感测(2702)所述运动体的实际位置;
计算(2704)所述运动体的所述实际位置和所述运动体的所需位置之间的位置误差;
比较(2602,2604)所述位置误差与规定的误差公差;以及
取决于所述比较步骤调整(2606)所述运动体的速度。
74.如权利要求73所述的方法,其中所述调整步骤包括如果所述位置误差在所述规定的误差公差以下则增加所述运动体的速度,并且如果所述位置误差在所述规定的误差公差以上则减小所述运动体的速度。
75.一种操作运动体的方法,所述方法包括以下步骤:
感测(2702)所述运动体沿多个轴中的每个轴的实际位置;
计算(2704)所述运动体在每个轴上的所述实际位置和多维参考轨迹之间的多维位置误差;
取决于所述计算步骤产生(2602,2604)多维位置误差信号;以及
取决于所述多维位置误差信号控制(2606)所述运动体的速度和方向中的至少一个。
76.如权利要求75所述的方法,其中所述多维位置误差是作为矢量计算的。
77.如权利要求75所述的方法,其中所述控制步骤包括使用切向误差反馈控制器和法向误差反馈控制器。
78.如权利要求77所述的方法,其中所述控制步骤包括向所述法向误差反馈控制器的输出分配比分配给所述切向误差反馈控制器的输出的权重高的权重。
79.如权利要求75所述的方法,其中所述轴包括机床的x轴、y轴和z轴。
CNA2006800179424A 2005-03-23 2006-03-23 基于公差的轨迹规划和控制方法 Pending CN101180591A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US66439805P 2005-03-23 2005-03-23
US60/664,398 2005-03-23

Publications (1)

Publication Number Publication Date
CN101180591A true CN101180591A (zh) 2008-05-14

Family

ID=36754241

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006800179424A Pending CN101180591A (zh) 2005-03-23 2006-03-23 基于公差的轨迹规划和控制方法

Country Status (7)

Country Link
US (3) US7693588B2 (zh)
EP (1) EP1869531B1 (zh)
JP (1) JP2010511919A (zh)
CN (1) CN101180591A (zh)
CA (3) CA2747239C (zh)
SG (2) SG173407A1 (zh)
WO (1) WO2006102517A2 (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102262399A (zh) * 2010-05-27 2011-11-30 鸿富锦精密工业(深圳)有限公司 机台运动控制系统
CN103312238A (zh) * 2012-03-07 2013-09-18 Thk株式会社 电动机控制装置、以及磁极位置检测方法
CN104714471A (zh) * 2013-12-12 2015-06-17 西门子公司 运行运动控制系统的方法和运动控制系统和方法执行程序
CN106020130A (zh) * 2015-03-30 2016-10-12 发那科株式会社 控制主轴和进给轴同步运行的机床的控制装置和控制方法
CN106406081A (zh) * 2016-08-26 2017-02-15 方洋旺 一种巡航导弹航路二阶平滑方法
CN107107338A (zh) * 2014-12-17 2017-08-29 库卡罗伯特有限公司 用于安全地联接和断开输入设备的方法
CN107306004A (zh) * 2016-04-25 2017-10-31 波音公司 操作用于将导线插入电连接器的索环孔洞位置中的自动化机器的方法
CN109283888A (zh) * 2017-07-19 2019-01-29 欧姆龙株式会社 控制装置、控制方法及记录介质
CN111331600A (zh) * 2020-03-10 2020-06-26 库卡机器人制造(上海)有限公司 轨迹调整方法及相关设备
CN111844128A (zh) * 2019-04-25 2020-10-30 株式会社日立制作所 轨道计划装置以及轨道计划方法
US11169192B2 (en) * 2018-04-23 2021-11-09 The Government Of The United States, As Represented By The Secretary Of The Army Trigonometry dependent plot creation

Families Citing this family (161)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006099347A (ja) * 2004-09-29 2006-04-13 Fanuc Ltd ロボット移動制御方法
CN101180591A (zh) * 2005-03-23 2008-05-14 赫克有限公司 基于公差的轨迹规划和控制方法
US20070055431A1 (en) * 2005-09-07 2007-03-08 Weiwen Deng Method and apparatus for preview-based vehicle lateral control
DE102005050205A1 (de) * 2005-10-20 2007-04-26 Mtu Aero Engines Gmbh Verfahren und Vorrichtung zum Kompensieren von Lage-und Formabweichungen
DE102005050209A1 (de) * 2005-10-20 2007-04-26 Ott, Reinhold, Waterloo Vorrichtung zur Einspeisung eines Videosignals in eine Anzeigevorrichtung und Betriebsverfahren hierfür
DE102005061570A1 (de) * 2005-12-22 2007-07-05 Siemens Ag Ermittlungsverfahren für eine lagegeführte abzufahrende Grobbahn
US7801644B2 (en) 2006-07-05 2010-09-21 Battelle Energy Alliance, Llc Generic robot architecture
US7620477B2 (en) 2006-07-05 2009-11-17 Battelle Energy Alliance, Llc Robotic intelligence kernel
US7668621B2 (en) * 2006-07-05 2010-02-23 The United States Of America As Represented By The United States Department Of Energy Robotic guarded motion system and method
US8355818B2 (en) 2009-09-03 2013-01-15 Battelle Energy Alliance, Llc Robots, systems, and methods for hazard evaluation and visualization
US7587260B2 (en) 2006-07-05 2009-09-08 Battelle Energy Alliance, Llc Autonomous navigation system and method
US8271132B2 (en) * 2008-03-13 2012-09-18 Battelle Energy Alliance, Llc System and method for seamless task-directed autonomy for robots
US7974738B2 (en) * 2006-07-05 2011-07-05 Battelle Energy Alliance, Llc Robotics virtual rail system and method
US8073564B2 (en) * 2006-07-05 2011-12-06 Battelle Energy Alliance, Llc Multi-robot control interface
US8965578B2 (en) 2006-07-05 2015-02-24 Battelle Energy Alliance, Llc Real time explosive hazard information sensing, processing, and communication for autonomous operation
US7584020B2 (en) * 2006-07-05 2009-09-01 Battelle Energy Alliance, Llc Occupancy change detection system and method
WO2008011845A1 (de) * 2006-07-28 2008-01-31 Siemens Aktiengesellschaft Positionsabhängige nachgiebigkeitskompensation bei einer werkzeugmaschine
JP4800873B2 (ja) * 2006-08-04 2011-10-26 オークマ株式会社 近似点群データからの近似曲線生成プログラム及び方法
DE102006037952A1 (de) * 2006-08-12 2008-02-14 Mtu Aero Engines Gmbh Verfahren zur Überwachung eines Fertigungsverfahrens
US9320569B2 (en) * 2006-11-14 2016-04-26 General Electric Company Systems and methods for implant distance measurement
US7546170B2 (en) * 2007-01-02 2009-06-09 Neuroblast, Inc. Easily tuned and robust control algorithm for single or multiple variable systems
US7479751B2 (en) * 2007-01-29 2009-01-20 Rockwell Automation Technologies, Inc. Elimination of unintended velocity reversals in s-curve velocity profiles
US8606498B2 (en) * 2007-02-16 2013-12-10 Javad Gnss, Inc. Path approximation for planar motion of a ground vehicle
US8032235B2 (en) * 2007-06-28 2011-10-04 Rockwell Automation Technologies, Inc. Model predictive control system and method for reduction of steady state error
US7774121B2 (en) * 2007-07-31 2010-08-10 Gm Global Technology Operations, Inc. Curve speed control system with adaptive map preview time and driving mode selection
US20090088916A1 (en) * 2007-09-28 2009-04-02 Honeywell International Inc. Method and system for automatic path planning and obstacle/collision avoidance of autonomous vehicles
US7979174B2 (en) * 2007-09-28 2011-07-12 Honeywell International Inc. Automatic planning and regulation of the speed of autonomous vehicles
US7919940B2 (en) * 2007-10-21 2011-04-05 Ge Intelligent Platforms, Inc. System and method for jerk limited trajectory planning for a path planner
DE102007053216A1 (de) * 2007-11-06 2009-05-07 Robert Bosch Gmbh Verfahren und Vorrichtung zur Steuerung eines Bewegungsablaufs eines Maschinenelementes
DE102007061323A1 (de) * 2007-12-19 2009-07-02 Kuka Roboter Gmbh Verfahren zum Steuern der Bewegung eines Roboters innerhalb eines Arbeitsraums
DE102007062996A1 (de) * 2007-12-21 2009-06-25 Robert Bosch Gmbh Werkzeugmaschinenvorrichtung
DE102008005926A1 (de) 2008-01-24 2009-07-30 Kuka Roboter Gmbh Verfahren und Vorrichtung zur Überwachung eines Manipulators
US8078399B2 (en) * 2008-03-10 2011-12-13 Honeywell International Inc. Method and device for three-dimensional path planning to avoid obstacles using multiple planes
EP2144127B1 (de) * 2008-07-08 2014-04-30 Siemens Aktiengesellschaft Verfahren und Steuergerät zum Aufsynchronisieren eines Aufnehmers eines Handlingsgerätes
US9141105B2 (en) 2008-07-23 2015-09-22 Hurco Companies, Inc. Method and apparatus for monitoring or controlling a machine tool system
US8175725B2 (en) * 2008-09-08 2012-05-08 National Instruments Corporation Adapting move constraints for position based moves in a trajectory generator
US8121749B1 (en) 2008-09-25 2012-02-21 Honeywell International Inc. System for integrating dynamically observed and static information for route planning in a graph based planner
TWI375140B (en) * 2008-10-13 2012-10-21 Ind Tech Res Inst Accumulative method for estimating a processing velocity limitation and method for controlling acceleration and deceleration before interpolation
JP5127934B2 (ja) * 2008-12-09 2013-01-23 三菱電機株式会社 機械運動軌跡測定装置、数値制御工作機械および機械運動軌跡測定方法
TWI361961B (en) * 2008-12-17 2012-04-11 Ind Tech Res Inst Motion control servo loop apparatus
CN101887250B (zh) * 2009-05-12 2012-05-30 鸿富锦精密工业(深圳)有限公司 Cnc工具机控制装置
DE102009023307A1 (de) * 2009-05-29 2010-12-02 Kuka Roboter Gmbh Verfahren und Vorrichtung zur Steuerung eines Manipulators
CN102428419B (zh) * 2009-06-03 2013-12-25 三菱电机株式会社 数控装置以及生产系统
DE102009036013A1 (de) * 2009-08-04 2011-02-17 Weinmann Holzbausystemtechnik Gmbh Verfahren zur Bearbeitung von Werkstücken
JP4676549B2 (ja) * 2009-09-10 2011-04-27 ファナック株式会社 軌跡表示装置及び該軌跡表示装置を備えた工作機械
JP2011096077A (ja) * 2009-10-30 2011-05-12 Makino Milling Mach Co Ltd 工具経路の生成方法及び装置
US9168946B2 (en) * 2010-03-19 2015-10-27 Javad Gnss, Inc. Method for generating offset paths for ground vehicles
CN101968641B (zh) * 2010-07-08 2012-06-13 西华大学 一种机床xy平面误差修正系统
JP4813616B1 (ja) * 2010-07-12 2011-11-09 ファナック株式会社 円弧動作時の速度制御機能を有する工作機械の数値制御装置
CN103080859B (zh) * 2010-08-25 2015-04-29 三菱电机株式会社 轨迹控制装置
WO2012056554A1 (ja) * 2010-10-25 2012-05-03 株式会社牧野フライス製作所 工具経路の生成方法および生成装置
JP5111589B2 (ja) * 2010-10-27 2013-01-09 株式会社牧野フライス製作所 送り軸反転時の補正方法
CN102063089B (zh) * 2010-11-26 2012-10-10 吉林大学 一种金刚石车削刀具轨迹跟踪方法
CN102081354B (zh) * 2010-12-01 2014-03-26 深圳众为兴技术股份有限公司 一种基于高速现场总线的多轴运动控制插补算法
US9731735B1 (en) * 2010-12-10 2017-08-15 Cybertran International Inc. System and method of estimating values for commands to cause vehicles to follow a trajectory in a complex track network
WO2012107594A1 (en) 2011-02-11 2012-08-16 Ecole Polytechnique Federale De Lausanne (Epfl) High speed pocket milling optimisation
US9690282B2 (en) 2011-02-28 2017-06-27 Solidcam Ltd. Computerized tool path generation
US8489224B2 (en) * 2011-02-28 2013-07-16 Solidcam Ltd. Computerized tool path generation
CN102306009B (zh) * 2011-04-21 2013-04-24 中国电子科技集团公司第十四研究所 拟合渐进成形控制系统及其方法
US9026242B2 (en) * 2011-05-19 2015-05-05 Taktia Llc Automatically guided tools
US9946245B2 (en) 2011-07-25 2018-04-17 Celeritive Technologies, Inc. Non-concentric milling
US20130030759A1 (en) * 2011-07-26 2013-01-31 Hao Ming C Smoothing a time series data set while preserving peak and/or trough data points
US9507454B1 (en) * 2011-09-19 2016-11-29 Parade Technologies, Ltd. Enhanced linearity of gestures on a touch-sensitive surface
JP5266373B2 (ja) * 2011-09-26 2013-08-21 ファナック株式会社 工具の軌跡表示機能を備えた数値制御装置
CN102566500B (zh) * 2011-11-24 2013-09-18 山东理工大学 基于直线段逼近节点的数控系统轮廓误差控制方法
GB201204908D0 (en) 2012-03-21 2012-05-02 Delcam Plc Method and system for testing a machine tool
US10185304B2 (en) 2012-03-21 2019-01-22 Delcam Limited Timing a machine tool using an accelerometer
WO2013163588A1 (en) 2012-04-26 2013-10-31 Alec Rothmyer Rivers Systems and methods for performing a task on a material, or locating the position of a device relative to the surface of the material
US10022833B2 (en) * 2012-05-03 2018-07-17 Celeritive Technologies, Inc. High performance multi-axis milling
DE112012006076T5 (de) * 2012-05-09 2014-12-04 Mitsubishi Electric Corporation Nummeriksteuervorrichtung
EP2862030B1 (en) 2012-06-19 2022-04-27 Hexagon Technology Center GmbH Computer aided manufacturing (cam) integrated computer numerically controlled (cnc) control of machines
CN102707666B (zh) * 2012-06-29 2014-07-16 沈阳工业大学 基于方向场的电机驱动xy平台轮廓加工控制装置及方法
CN103853043B (zh) * 2012-11-30 2017-02-22 北京配天技术有限公司 机器人中实现同步ptp运动的方法及装置
WO2015051332A1 (en) 2013-10-04 2015-04-09 Kanawha Automation, Llc Dynamic additive manufacturing system
JP5845228B2 (ja) * 2013-10-23 2016-01-20 ファナック株式会社 工具経路曲線化装置
US9778275B2 (en) 2013-11-06 2017-10-03 Siemens Healthcare Diagnostics Inc. Confirmed placement of sample tubes in a servo driven automation system using trajectory deviation
JP5902753B2 (ja) 2014-05-28 2016-04-13 ファナック株式会社 切上げ・切込み運動または円運動挿入機能を有する数値制御装置
EP2952990B1 (de) * 2014-06-06 2019-02-20 Siemens Aktiengesellschaft Optimiertes Steuern einer zerspanenden Werkzeugmaschine
US9381643B2 (en) 2014-07-03 2016-07-05 GM Global Technology Operations LLC Dynamical system-based robot velocity control
JP5873144B2 (ja) * 2014-07-08 2016-03-01 ファナック株式会社 穴あけ加工を制御する数値制御装置
WO2016024338A1 (ja) * 2014-08-12 2016-02-18 三菱電機株式会社 数値制御装置
JP6034835B2 (ja) * 2014-08-26 2016-11-30 ファナック株式会社 サイクルタイムを短縮するための情報を提示する数値制御装置
US10133246B2 (en) * 2014-09-12 2018-11-20 Canon Kabushiki Kaisha Position control device and position control method, optical device, and image pickup apparatus
AU2015333682B2 (en) 2014-10-15 2019-05-16 Usnr, Llc Electric veneer lathe
JP5911941B1 (ja) * 2014-10-16 2016-04-27 ファナック株式会社 点列データを駆動軸の時系列データに変換して表示する時系列データ表示装置
US10990078B2 (en) 2014-10-31 2021-04-27 Big Data In Manufacturing Gmbh Computer-implemented method for part analytics of a workpiece machined by at least one CNC machine
US10890900B2 (en) 2014-10-31 2021-01-12 Big Data In Manufacturing Gmbh Client device for data acquisition and pre-processing of process-related mass data from at least one CNC machine or industrial robot
ES2939000T3 (es) * 2014-10-31 2023-04-18 Big Data In Mfg Gmbh Método para optimizar la productividad de un proceso de mecanizado de una máquina CNC
JP6062973B2 (ja) * 2015-01-30 2017-01-18 ファナック株式会社 工具姿勢を考慮した近傍点サーチが可能な数値制御装置
CN107438494B (zh) * 2015-02-12 2023-09-19 格罗弗治公司 用于激光加工的视觉预览
US9744620B2 (en) * 2015-04-06 2017-08-29 Mitsubishi Electric Research Laboratories, Inc. Control of processing machines with redundant actuators
JP6968700B2 (ja) 2015-05-13 2021-11-17 シェイパー ツールズ, インク.Shaper Tools, Inc. 案内工具用のシステム、方法、および装置
JP6659238B2 (ja) * 2015-05-28 2020-03-04 ライフロボティクス株式会社 ロボット装置及びステッピングモータ制御装置
JP6088581B2 (ja) * 2015-06-04 2017-03-01 ファナック株式会社 主軸と送り軸との同期運転を制御する工作機械の制御装置及び制御方法
US10459425B2 (en) * 2015-06-11 2019-10-29 Mitsubishi Electric Corporation Numerical control device
JP5985124B1 (ja) * 2015-06-16 2016-09-06 三菱電機株式会社 指令値生成装置
KR102540188B1 (ko) 2015-06-22 2023-06-07 일렉트로 싸이언티픽 인더스트리이즈 인코포레이티드 다중 축 공작기계 및 이를 제어하는 방법
CN106444637B (zh) * 2015-08-04 2019-12-03 深圳市雷赛智能控制股份有限公司 一种微小线段动态前瞻控制方法和装置
EP3151073A1 (de) * 2015-09-29 2017-04-05 Siemens Aktiengesellschaft Verfahren und steuervorrichtung zum optimierten steuern einer werkzeugmaschine
JP6276234B2 (ja) * 2015-10-15 2018-02-07 ファナック株式会社 オーバライドスイッチによるプログラムチェック機能を備えた数値制御装置
WO2017113195A1 (zh) * 2015-12-30 2017-07-06 深圳配天智能技术研究院有限公司 一种加工路径规划方法、加工路径规划装置及数控机床
EP3440521B1 (fr) * 2016-04-07 2021-09-08 Willemin-Macodel SA Methode, programme et dispositif d'optimisation des programmes d'usinage
CN105955194B (zh) * 2016-05-10 2018-09-04 大连理工大学 一种离散加工路径的拐点平滑方法
JP6444938B2 (ja) * 2016-05-12 2018-12-26 ファナック株式会社 条件指定による加工プログラム先読み開始機能を備えた数値制御装置
US10191463B2 (en) * 2016-07-05 2019-01-29 The Boeing Company Machine system and associated method for optical endpoint control optimization
CN114879598A (zh) 2016-08-19 2022-08-09 整形工具股份有限公司 用于共享工具制造和设计数据的系统、方法和装置
EP3293590A1 (de) * 2016-09-13 2018-03-14 Siemens Aktiengesellschaft Automatische güteauswertung einer abfolge von bewegungsbefehlen
US10663949B2 (en) * 2016-10-20 2020-05-26 Mitsubishi Electric Corporation Numerical control device
JP6374469B2 (ja) * 2016-11-16 2018-08-15 ファナック株式会社 主軸と送り軸との同期運転を制御する工作機械の制御装置及び制御方法
JP6450734B2 (ja) * 2016-11-22 2019-01-09 ファナック株式会社 数値制御装置
TWI607825B (zh) * 2016-11-29 2017-12-11 財團法人工業技術研究院 自動化加工程式切削力優化系統及方法
US10216168B2 (en) * 2016-12-13 2019-02-26 Mitsubishi Electric Research Laboratories, Inc. Operation aware control of processing machine with redundant actuators
US10392014B2 (en) 2017-02-03 2019-08-27 Ford Global Technologies, Llc Speed controller for a vehicle
US10416648B2 (en) 2017-03-20 2019-09-17 Solidcam Ltd. Computerized system and method for generating an undesirable chatter free milling CNC program for use in machining a workpiece
US10703367B2 (en) * 2017-05-31 2020-07-07 Nio Usa, Inc. Utilization of smoothing functions for acceleration and deceleration profile generation
CN109213083B (zh) * 2017-07-05 2020-05-08 上海狮迈科技有限公司 一种直纹面加工路径生成方法、装置及设备
JP2019021087A (ja) * 2017-07-19 2019-02-07 オムロン株式会社 制御装置、制御装置の制御方法、情報処理プログラム、および記録媒体
US10514680B2 (en) * 2017-07-31 2019-12-24 General Electric Company System and method for controlling an additive manufacturing system
US11648075B2 (en) 2017-09-05 2023-05-16 Covidien Lp Robotic surgical system control arm including dual encoders
US10452070B2 (en) 2017-09-15 2019-10-22 Uber Technologies, Inc. Context-specific tolerance for motion control in autonomous vehicles
JP6629808B2 (ja) * 2017-10-03 2020-01-15 ファナック株式会社 数値制御装置
JP6592053B2 (ja) * 2017-10-11 2019-10-16 ファナック株式会社 作業ツールの移動方向を監視する制御装置
JP6646027B2 (ja) * 2017-10-30 2020-02-14 ファナック株式会社 ポストプロセッサ装置、加工プログラム生成方法、cnc加工システム及び加工プログラム生成用プログラム
JP6740199B2 (ja) * 2017-10-30 2020-08-12 ファナック株式会社 数値制御装置、cnc工作機械、数値制御方法及び数値制御用プログラム
CN111819504B (zh) * 2017-12-06 2023-10-10 赫克斯冈技术中心 用于工具路径虚拟化和优化的系统、方法和设备
WO2019127024A1 (en) * 2017-12-26 2019-07-04 Abb Schweiz Ag Method and apparatus for robotic machining
US10859389B2 (en) * 2018-01-03 2020-12-08 Wipro Limited Method for generation of a safe navigation path for a vehicle and system thereof
JP6661676B2 (ja) * 2018-01-18 2020-03-11 ファナック株式会社 ロボット制御装置
EP3750014B1 (en) * 2018-02-05 2023-06-07 Create It Real A/S A printer for printing a 3d object
EP3754827A4 (en) * 2018-02-16 2021-03-17 Mitsubishi Electric Corporation CONTROL DEVICE OF A POWER CONVERTER
US10860002B2 (en) * 2018-03-19 2020-12-08 Mitsubishi Electric Research Laboratories, Inc. Receding horizon reference governor
TWI667559B (zh) * 2018-05-11 2019-08-01 國立臺灣科技大學 自動化曲面誤差補償方法及其電腦程式產品
JP6966978B2 (ja) * 2018-06-22 2021-11-17 オークマ株式会社 工作機械用モータ駆動装置
JP7065721B2 (ja) * 2018-07-31 2022-05-12 川崎重工業株式会社 ロボットシステム
JP7037457B2 (ja) * 2018-09-05 2022-03-16 オークマ株式会社 数値制御装置および数値制御方法
JP2020095316A (ja) * 2018-12-10 2020-06-18 ファナック株式会社 数値制御装置
JP6966415B2 (ja) * 2018-12-26 2021-11-17 ファナック株式会社 制御方法、制御装置及びプログラム
EP3690573B1 (de) * 2019-01-30 2021-08-18 Siemens Aktiengesellschaft Steuerung einer werkzeugmaschine
CN109676613B (zh) * 2019-02-28 2021-10-12 武汉工程大学 一种误差可控的四轴工业机器人圆弧过渡式平顺轨迹生成方法
JP7221900B2 (ja) * 2019-05-13 2023-02-14 芝浦機械株式会社 コンピュータプログラム、コンピュータプログラムを用いたワークの加工方法、及びコンピュータプログラムを用いたワークの加工装置
JP7244367B2 (ja) * 2019-06-20 2023-03-22 ファナック株式会社 加工指令改良システム及び加工指令改良方法
JP2021002194A (ja) * 2019-06-21 2021-01-07 ファナック株式会社 数値制御装置、cnc工作機械、数値制御方法及び数値制御用プログラム
CN110161966B (zh) * 2019-07-04 2021-07-23 合肥工业大学 一种多轴联动轮廓误差的实时检测方法
KR20220044506A (ko) * 2019-07-05 2022-04-08 무어 나노테크놀러지 시스템즈, 엘엘씨 정밀 지그 연삭 공정 중 가공오차 보정 시스템 및 방법
JP7448322B2 (ja) * 2019-09-03 2024-03-12 ファナック株式会社 工具経路修正装置
JP7376329B2 (ja) * 2019-11-25 2023-11-08 ファナック株式会社 電動機の制御装置及び電動機の制御方法
CN110716561A (zh) * 2019-11-26 2020-01-21 轻客智能科技(江苏)有限公司 用于轨迹跟踪的扫地机前视位姿控制方法和系统
CN113126607B (zh) * 2019-12-31 2024-03-29 深圳市优必选科技股份有限公司 一种机器人及其运动控制方法和装置
JP6773243B1 (ja) * 2020-03-11 2020-10-21 オムロン株式会社 制御装置、方法およびプログラム
US11511419B2 (en) 2020-05-01 2022-11-29 Intrinsic Innovation Llc Task planning for measurement variances
CN111958586B (zh) * 2020-07-01 2022-04-15 深圳市越疆科技有限公司 机器人的速度控制方法、机械臂式机器人及存储介质
CN114488953B (zh) * 2020-11-13 2024-02-27 台达电子工业股份有限公司 基于轴物理限制的传动机构进给率规划方法
US20240059487A1 (en) * 2020-12-24 2024-02-22 Ocado Innovation Limited Motion control of a motion device
TWI742981B (zh) * 2021-01-06 2021-10-11 財團法人工業技術研究院 加工路徑過切分析方法
EP4056331A1 (de) * 2021-03-11 2022-09-14 Siemens Aktiengesellschaft Sicherer betrieb einer mehrachskinematik
TWI768830B (zh) * 2021-04-15 2022-06-21 財團法人精密機械研究發展中心 工具機伺服參數調整裝置及使用方法
CN114035513A (zh) * 2021-09-28 2022-02-11 苏州谋迅智能科技有限公司 S形速度曲线前瞻规划方法和装置、存储介质和计算设备
WO2023058243A1 (ja) * 2021-10-08 2023-04-13 ファナック株式会社 制御装置及びプログラムを記録したコンピュータ読み取り可能な記録媒体
WO2023073815A1 (ja) * 2021-10-26 2023-05-04 ファナック株式会社 工具経路修正装置及び工具経路修正方法
CN114296554A (zh) * 2021-12-29 2022-04-08 合肥工业大学 一种vr大空间下多虚拟目标被动触觉方案
CN115234123B (zh) * 2022-07-04 2024-02-27 上海默控智能科技有限公司 一种通风柜自动视窗位置的控制方法

Family Cites Families (151)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3576979A (en) 1968-09-24 1971-05-04 Allen Bradley Co Motion monitor system
US3838258A (en) * 1970-02-10 1974-09-24 Gerber Scientific Instr Co Step motor control system
US3602090A (en) 1970-02-27 1971-08-31 Boeing Co Milling machine control system and milling force sensor therefor
US3728595A (en) 1970-02-27 1973-04-17 Boeing Co Feedrate control system for milling machines
US3679955A (en) 1971-06-07 1972-07-25 Gen Electric Control system for compensating for dimensional errors due to cutting tool wear in an automatic machine tool
US3849712A (en) 1972-06-30 1974-11-19 Ibm Adaptive numerically controlled machine tool responsive to deflection forces on the tool normal to the cutting path
US3882304A (en) 1973-05-04 1975-05-06 Allen Bradley Co Parametric interpolation of three-dimensional surfaces
US3860805A (en) 1973-05-07 1975-01-14 Bendix Corp Method and apparatus for producing a fairing contour in numerical control systems
JPS5024686A (zh) * 1973-07-09 1975-03-15
US4130788A (en) 1973-11-01 1978-12-19 General Automation, Inc. Numerical control servo system
US4477754B1 (en) * 1976-07-06 1995-03-21 Hurco Co Inc Interactive machining system
US4131837A (en) 1976-11-10 1978-12-26 The Boeing Company Machine tool monitoring system
US4208718A (en) 1978-06-05 1980-06-17 Kearney & Trecker Corporation Method of optimizing the operation of a computer controlled machine tool
US5871391A (en) 1980-03-27 1999-02-16 Sensor Adaptive Machine Inc. Apparatus for determining dimensions
US5825017A (en) 1980-03-27 1998-10-20 Sensor Adaptive Machines Inc. Method and apparatus for determining dimensions
JPS5719809A (en) 1980-07-10 1982-02-02 Fanuc Ltd Numerical control information generating system
JPS5769312A (en) 1980-10-13 1982-04-28 Fanuc Ltd Numerical controller incorporating optional block skipping function
JPS5769314A (en) 1980-10-13 1982-04-28 Fanuc Ltd Numerical control system
JPS57113117A (en) 1980-12-30 1982-07-14 Fanuc Ltd Robot control system
DE3113970A1 (de) * 1981-04-07 1982-11-04 Dr. Johannes Heidenhain Gmbh, 8225 Traunreut Numerische bahnsteuerung fuer eine werkzeugmaschine
US4415867A (en) * 1981-05-22 1983-11-15 The United States Of America As Represented By The Secretary Of The Navy Hybrid coupled microstrip amplifier
US4433382A (en) 1981-07-20 1984-02-21 Cincinnati Milacron Inc. Apparatus for automatically adjusting the programmed location of a robot arm
JPS5835607A (ja) 1981-08-27 1983-03-02 Fanuc Ltd 数値制御装置
JPS58155148A (ja) 1982-03-05 1983-09-14 Okuma Mach Works Ltd 工作機械における刃物台刃先の軌跡監視方法
US4590573A (en) * 1982-09-17 1986-05-20 Robert Hahn Computer-controlled grinding machine
DE3244307A1 (de) 1982-11-30 1984-05-30 Siemens AG, 1000 Berlin und 8000 München Robotersteuerung
JPS60107106A (ja) 1983-11-15 1985-06-12 Mitsubishi Electric Corp 曲線補間装置
JPS60126710A (ja) 1983-12-14 1985-07-06 Fanuc Ltd 自動プログラミングにおける加工工程の決定方法
US4739488A (en) * 1984-09-21 1988-04-19 Brother Kogyo Kabushiki Kaisha Machine tool with tool selection and work sequence determination
US4633726A (en) * 1984-09-25 1987-01-06 Chang Kuo Chou External hydraulic driving system for motorcycle brake, clutch and gear shift
US4635206A (en) 1984-10-15 1987-01-06 Cincinnati Milacron Inc. Method and apparatus for oscillating a tool carried by a manipulator
JPS61157909A (ja) 1984-12-29 1986-07-17 Fanuc Ltd ロボツトの経路誤差補正方式
US4663726A (en) 1985-04-15 1987-05-05 General Electric Co. Robot control utilizing cubic spline interpolation
JPS6257852A (ja) 1985-09-04 1987-03-13 Toyoda Mach Works Ltd 自動プログラミング装置
JPH0688532B2 (ja) 1985-12-27 1994-11-09 曙ブレーキ工業株式会社 アンチスキツド制御方法
US4763276A (en) 1986-03-21 1988-08-09 Actel Partnership Methods for refining original robot command signals
JPS62236650A (ja) 1986-04-01 1987-10-16 Fanuc Ltd 4軸旋盤のncプログラム作成方法
JPH0698554B2 (ja) 1986-09-22 1994-12-07 豊田工機株式会社 数値制御加工装置
JPH07111646B2 (ja) 1987-02-20 1995-11-29 フアナツク株式会社 部品形状入力方法
JPH0679250B2 (ja) 1987-03-19 1994-10-05 フアナツク株式会社 軸速度出力方式
JPS63250707A (ja) 1987-04-07 1988-10-18 Fanuc Ltd 部品形状入力方法
US4821207A (en) * 1987-04-28 1989-04-11 Ford Motor Company Automated curvilinear path interpolation for industrial robots
US4835710A (en) 1987-07-17 1989-05-30 Cincinnati Milacron Inc. Method of moving and orienting a tool along a curved path
JPS6435605A (en) 1987-07-30 1989-02-06 Fanuc Ltd Numerical controller
US4833617A (en) 1987-08-14 1989-05-23 General Electric Company Solid modeling based adaptive feedrate control for NC machining
JPH01116704A (ja) 1987-10-30 1989-05-09 Fanuc Ltd 産業ロボットの動作制御方式
JPH01159705A (ja) 1987-12-17 1989-06-22 Fanuc Ltd 部品形状入力方法
US5134570A (en) 1988-01-20 1992-07-28 Mitsubishi Denki K.K. Offset configuration forming method
JPH0652484B2 (ja) 1988-02-15 1994-07-06 豊田工機株式会社 非真円形工作物加工用数値制御装置
US5062755A (en) 1988-02-23 1991-11-05 Macmillan Bloedel Limited Articulated arm control
US4947336A (en) 1988-04-15 1990-08-07 Froyd Stanley G Multiple axis motion control system
JPH0683945B2 (ja) 1988-07-26 1994-10-26 豊田工機株式会社 非真円形工作物加工用数値制御装置
US5198984A (en) 1988-08-31 1993-03-30 Okuma Corporation Numerical control method for correcting machine tool path errors
US4907164A (en) 1988-09-26 1990-03-06 General Electric Company Automatically optimized NC tool path generation for machining
DE58909509D1 (de) 1989-02-28 1996-01-04 Siemens Ag Steuerungsverfahren bei einer numerischen Werkzeugmaschine oder einem Roboter.
IL89484A (en) 1989-03-03 1992-08-18 Nct Ltd Numerical Control Tech System for automatic finishing of machined parts
US5005135A (en) * 1989-03-22 1991-04-02 Cincinnati Milacron, Inc. Dynamic correction of servo following errors in a computer-numerically controlled system and fixed cycle utilizing same
JPH03157704A (ja) 1989-11-16 1991-07-05 Fanuc Ltd 機械位置変動の位置補正方式
JPH03176703A (ja) * 1989-12-05 1991-07-31 Yoshiaki Kakino 数値制御装置
JPH0452805A (ja) * 1990-06-15 1992-02-20 Matsushita Electric Ind Co Ltd 加工軌跡発生方法
GB9013744D0 (en) 1990-06-20 1990-08-08 Renishaw Plc Measurement of a workpiece
JPH0829469B2 (ja) * 1990-07-03 1996-03-27 株式会社小松製作所 Nc加工制御装置
KR920002268A (ko) 1990-07-17 1992-02-28 유끼노리 가까즈 인텔리젠트가공장치
US5179514A (en) * 1990-08-08 1993-01-12 The Research Foundation Of State University Of New York Method and apparatus for trajectory control of robot manipulators or the like
US5247447A (en) 1990-10-31 1993-09-21 The Boeing Company Exception processor system
JP2672395B2 (ja) 1990-11-20 1997-11-05 三菱電機株式会社 加工条件列生成方法
WO1992015068A1 (en) 1991-02-15 1992-09-03 Incontrol, Inc. Computer control system for generating geometric designs
US5682319A (en) 1991-06-04 1997-10-28 Anca Pty. Ltd. Computer numerically controlled machines
DE4291619C2 (de) 1991-06-04 2001-06-28 Anca Pty Ltd Verfahren zum Betreiben einer mehrachsigen computernumerisch gesteuerten Werkzeugmaschine
EP0524344B1 (de) 1991-07-26 1996-05-08 Siemens Aktiengesellschaft Konfigurierbare Werkzeugmaschinensteuerung
JP3036143B2 (ja) * 1991-09-02 2000-04-24 三菱電機株式会社 数値制御装置
DE59108037D1 (de) 1991-09-06 1996-08-29 Siemens Ag Verfahren zum Auslösen von positionsbezogenen Schaltvorgängen während eines von einem Roboter oder einer Werkzeugmaschine ausgeführten Bearbeitungsvorganges
JP2862036B2 (ja) 1991-09-17 1999-02-24 三菱電機株式会社 数値制御装置
US5339249A (en) 1991-10-29 1994-08-16 Parker Hannifin Corporation Machine control system
JP2800861B2 (ja) 1991-11-19 1998-09-21 株式会社 エフ・エーラボ 三次元加工方法
US5288209A (en) 1991-12-19 1994-02-22 General Electric Company Automatic adaptive sculptured machining
JP2666642B2 (ja) * 1992-01-28 1997-10-22 三菱電機株式会社 Nc自動プログラミングシステムにおける工具指定方法
US5687084A (en) 1992-05-26 1997-11-11 Microcosm, Inc. Satellite orbit maintenance system
US5378091A (en) 1992-06-17 1995-01-03 Makino Milling Machine Co., Ltd. Method and apparatus for machining a workpiece
JP3242162B2 (ja) * 1992-08-21 2001-12-25 日本板硝子株式会社 Nc加工法
US5416716A (en) * 1993-03-30 1995-05-16 Gerber Garment Technology, Inc. Contour builder
US5402367A (en) 1993-07-19 1995-03-28 Texas Instruments, Incorporated Apparatus and method for model based process control
US5453933A (en) 1993-09-08 1995-09-26 Hurco Companies, Inc. CNC control system
US5508596A (en) 1993-10-07 1996-04-16 Omax Corporation Motion control with precomputation
US5917726A (en) 1993-11-18 1999-06-29 Sensor Adaptive Machines, Inc. Intelligent machining and manufacturing
US5375064A (en) 1993-12-02 1994-12-20 Hughes Aircraft Company Method and apparatus for moving a material removal tool with low tool accelerations
JP3512091B2 (ja) 1994-04-28 2004-03-29 ソニー株式会社 自由曲面作成方法及び自由曲面作成装置
JP3171298B2 (ja) 1994-09-29 2001-05-28 キタムラ機械株式会社 数値制御工作機械
US5548195A (en) 1994-12-22 1996-08-20 International Business Machines Corporation Compensated servo control stage positioning apparatus
US5668459A (en) 1995-05-09 1997-09-16 Lg Industrial Systems Co., Ltd. Apparatus for generating magnetic flux of induction motor
JP3702496B2 (ja) 1995-07-10 2005-10-05 三菱電機株式会社 数値制御装置を用いた加工方法
JP3506814B2 (ja) 1995-07-11 2004-03-15 東芝機械株式会社 数値制御装置
JP3396342B2 (ja) 1995-07-17 2003-04-14 三菱電機株式会社 スプライン補間機能を有する数値制御装置
EP0788040B1 (en) 1995-09-28 2002-03-13 The Institute of Physical and Chemical Research ( RIKEN) Method of high speed cutting mold and ultra-high speed milling machine
US5946449A (en) 1996-04-05 1999-08-31 Georgia Tech Research Corporation Precision apparatus with non-rigid, imprecise structure, and method for operating same
JP3694323B2 (ja) 1996-11-07 2005-09-14 株式会社森精機製作所 Nc加工におけるncプログラム解析方法及び装置
US6400998B1 (en) 1996-11-07 2002-06-04 Mitutoyo Corporation Generation of measurement program in NC machining and machining management based on the measurement program
CA2255915A1 (en) * 1997-03-15 1998-09-24 Makino Milling Machine Co., Ltd. Machining processor
US6317646B1 (en) 1997-03-19 2001-11-13 Fadal Machining Centers, Inc. CNC machine having interactive control of corner tolerance that is programmed to vary with the corner angle
US5828574A (en) 1997-05-19 1998-10-27 General Electric Company Adaptive feedrates from geometry modeling for NC machining
US6052628A (en) 1997-08-08 2000-04-18 Hong; Jaiwei Method and system for continuous motion digital probe routing
JPH11126106A (ja) * 1997-10-23 1999-05-11 Okuma Corp 数値制御工作機械
US6019554A (en) 1997-10-31 2000-02-01 Hong; Jiawei Method and system for computer assisted manual machine tool control
US5991528A (en) 1997-11-05 1999-11-23 Reliance Electric Industrial Company Expert manufacturing system
JPH11149306A (ja) * 1997-11-14 1999-06-02 Fanuc Ltd 加工機の制御装置
US5932132A (en) 1997-11-19 1999-08-03 Engineering & Research Associates, Inc. Sterile connector apparatus and method
US6135857A (en) 1998-03-02 2000-10-24 General Electric Company Method for surface enhancement by fluid jet impact
US6064168A (en) 1998-03-13 2000-05-16 Fanuc Robotics North America, Inc. Method of controlling robot movement
US6310621B1 (en) 1998-04-03 2001-10-30 Avid Technology, Inc. Extended support for numerical controls
DE19821557A1 (de) 1998-05-14 1999-11-18 Heidenhain Gmbh Dr Johannes Verfahren zur nichtlinearen Darstellung von Bahnkurven
US6242880B1 (en) * 1998-09-08 2001-06-05 Cimplus, Inc. Tolerance based motion control system
DE19841716A1 (de) 1998-09-11 2000-03-16 Siemens Ag Steuerungsverfahren und numerische Steuerung zur Bewegungsführung von industriellen Bearbeitungsmaschinen
JP2000084794A (ja) * 1998-09-14 2000-03-28 Makino Milling Mach Co Ltd 加工処理装置
DE19856098C2 (de) * 1998-12-04 2002-01-17 Agie Sa Verfahren und Vorrichtung zur Steuerung einer Senkerosionsmaschine
US6850806B2 (en) 1999-04-16 2005-02-01 Siemens Energy & Automation, Inc. Method and apparatus for determining calibration options in a motion control system
US6470225B1 (en) 1999-04-16 2002-10-22 Siemens Energy & Automation, Inc. Method and apparatus for automatically tuning feedforward parameters
US6330483B1 (en) 1999-05-07 2001-12-11 The Boeing Company Optimal control system
EP1146407A4 (en) 1999-07-05 2005-05-25 Mitutoyo Corp METHOD FOR WRITING DIGITAL CONTROL PROGRAM AND DIGITAL-CONTROLLED MACHINING SYSTEM
US6350222B2 (en) 1999-07-28 2002-02-26 Thermwood Corporation Machine tool with improved tool changer means
EP1226476B1 (de) 1999-09-08 2004-04-07 Dr. Johannes Heidenhain GmbH Verfahren und schaltungsanordnung zur erzeugung von lagesollwerten für einen lageregelkreis einer numerisch bahngesteuerten maschine
US6675061B2 (en) * 2001-02-26 2004-01-06 Hitachi, Ltd. Numerically controlled curved surface machining unit
JP3610485B2 (ja) * 1999-09-20 2005-01-12 株式会社日立製作所 数値制御曲面加工装置
US6368879B1 (en) 1999-09-22 2002-04-09 Advanced Micro Devices, Inc. Process control with control signal derived from metrology of a repetitive critical dimension feature of a test structure on the work piece
DE19949558A1 (de) 1999-10-14 2001-04-19 Heidenhain Gmbh Dr Johannes Steuerungsprogramm für eine numerische Werkzeugmaschine mit einer wiederverwendbaren Softwarestruktur
US6922606B1 (en) 1999-11-19 2005-07-26 Siemens Energy & Automation, Inc. Apparatus and method for smooth cornering in a motion control system
US6782306B2 (en) * 1999-12-16 2004-08-24 Siemens Energy & Automation Motion control system and method utilizing spline interpolation
JP2002172543A (ja) * 2000-09-29 2002-06-18 Toyoda Mach Works Ltd 加工装置の制御パラメータ設定装置及び制御パラメータ設定方法
US6804575B2 (en) * 2000-10-26 2004-10-12 Citizen Watch Co., Ltd. Method and device for automatically preparing processing program
JP2002189510A (ja) 2000-12-22 2002-07-05 Mori Seiki Co Ltd 加工関連情報生成装置、及びこれを備えた数値制御装置
US6865499B2 (en) * 2001-04-26 2005-03-08 Siemens Energy & Automation, Inc. Method and apparatus for tuning compensation parameters in a motion control system associated with a mechanical member
JP2003000258A (ja) * 2001-06-13 2003-01-07 Inst Of Physical & Chemical Res 薬物感受性の評価方法
JP4364634B2 (ja) * 2001-07-13 2009-11-18 ブルックス オートメーション インコーポレイテッド 二次元3自由度ロボットアームの軌道プラニング及び移動制御戦略
US6704611B2 (en) * 2001-08-21 2004-03-09 Surfware, Inc. System and method for rough milling
JP4751017B2 (ja) * 2001-08-23 2011-08-17 エフ・イ−・アイ・カンパニー システムを制御する方法およびこの方法のステップを実行するための命令を含むコンピュータ可読媒体
US6766216B2 (en) * 2001-08-27 2004-07-20 Flow International Corporation Method and system for automated software control of waterjet orientation parameters
US6879874B2 (en) 2001-09-03 2005-04-12 Siemens Aktiengesellschaft Evaluating excessive tolerances in NC parts programs
DE60115053T2 (de) 2001-09-05 2006-08-03 Mikron Comp-Tec Ag Verfahren und System zur Benutzerunterstützung für Bearbeitungsparametereinstellung
DE10144487A1 (de) 2001-09-10 2003-03-27 Heidenhain Gmbh Dr Johannes Verfahren zur Bahnsteuerung
JP2005502950A (ja) 2001-09-12 2005-01-27 レクスロート インドラマート ゲゼルシヤフト ミツト ベシユレンクテル ハフツング 工具データを準備し処理し保守するための方法
DE10149175A1 (de) 2001-10-04 2003-04-17 Heidenhain Gmbh Dr Johannes Verfahren zur Bahnsteuerung
EP1302829B1 (en) * 2001-10-16 2008-11-26 Fanuc Ltd Numerical controller
KR100434025B1 (ko) 2001-12-31 2004-06-04 학교법인 포항공과대학교 스텝-엔씨(step-nc) 용 파트 프로그램을 자동생성하는 방법
JP3628672B2 (ja) * 2002-06-11 2005-03-16 川崎重工業株式会社 円弧による曲線補間方法
US6604677B1 (en) * 2003-02-06 2003-08-12 Riverwood International Corporation Carton with top dispensing feature
US8417370B2 (en) * 2003-10-17 2013-04-09 Hexagon Metrology Ab Apparatus and method for dimensional metrology
KR100517880B1 (ko) * 2003-11-20 2005-09-28 학교법인 포항공과대학교 Cnc 가공에서 생산시간 단축과 가공 정밀도 향상을위한 이송속도 스케줄링 방법
DE10357650B4 (de) 2003-12-10 2019-04-25 Dr. Johannes Heidenhain Gmbh Verfahren zur Glättung von Polygonzügen in NC-Programmen
US9681925B2 (en) 2004-04-21 2017-06-20 Siemens Medical Solutions Usa, Inc. Method for augmented reality instrument placement using an image based navigation system
US7451013B2 (en) * 2004-04-29 2008-11-11 Surfware, Inc. Engagement milling
US7630793B2 (en) * 2004-12-10 2009-12-08 Caterpillar S.A.R.L. Method of altering operation of work machine based on work tool performance footprint to maintain desired relationship between operational characteristics of work tool and work machine
CN101180591A (zh) 2005-03-23 2008-05-14 赫克有限公司 基于公差的轨迹规划和控制方法

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102262399A (zh) * 2010-05-27 2011-11-30 鸿富锦精密工业(深圳)有限公司 机台运动控制系统
CN103312238A (zh) * 2012-03-07 2013-09-18 Thk株式会社 电动机控制装置、以及磁极位置检测方法
CN103312238B (zh) * 2012-03-07 2015-08-12 Thk株式会社 电动机控制装置、以及磁极位置检测方法
CN104714471A (zh) * 2013-12-12 2015-06-17 西门子公司 运行运动控制系统的方法和运动控制系统和方法执行程序
US10359759B2 (en) 2013-12-12 2019-07-23 Siemens Aktiengesellschaft Method for operating a motion control system and motion control system operating according to the method as well as computer program for implementing the method
CN107107338A (zh) * 2014-12-17 2017-08-29 库卡罗伯特有限公司 用于安全地联接和断开输入设备的方法
US10518415B2 (en) 2014-12-17 2019-12-31 Kuka Deutschland Gmbh Method for safe coupling and decoupling of an input device
US9910426B2 (en) 2015-03-30 2018-03-06 Fanuc Corporation Device and method of controlling machine tool, to control synchronized operation of spindle axis and feed axis
CN106020130B (zh) * 2015-03-30 2018-03-13 发那科株式会社 控制主轴和进给轴同步运行的机床的控制装置和控制方法
CN106020130A (zh) * 2015-03-30 2016-10-12 发那科株式会社 控制主轴和进给轴同步运行的机床的控制装置和控制方法
CN107306004B (zh) * 2016-04-25 2022-02-18 波音公司 操作用于将导线插入电连接器的索环孔洞位置中的自动化机器的方法
CN107306004A (zh) * 2016-04-25 2017-10-31 波音公司 操作用于将导线插入电连接器的索环孔洞位置中的自动化机器的方法
US10649442B2 (en) 2016-04-25 2020-05-12 The Boeing Company Methods of operating an automated machine for inserting wires into grommet cavity locations of an electrical connector
US11662713B2 (en) 2016-04-25 2023-05-30 The Boeing Company Automated machine for inserting wires into grommet cavity locations of an electrical connector and methods of operating
CN106406081A (zh) * 2016-08-26 2017-02-15 方洋旺 一种巡航导弹航路二阶平滑方法
CN109283888A (zh) * 2017-07-19 2019-01-29 欧姆龙株式会社 控制装置、控制方法及记录介质
CN109283888B (zh) * 2017-07-19 2021-09-21 欧姆龙株式会社 控制装置、控制方法及记录介质
US11169192B2 (en) * 2018-04-23 2021-11-09 The Government Of The United States, As Represented By The Secretary Of The Army Trigonometry dependent plot creation
CN111844128A (zh) * 2019-04-25 2020-10-30 株式会社日立制作所 轨道计划装置以及轨道计划方法
CN111331600B (zh) * 2020-03-10 2021-04-30 库卡机器人制造(上海)有限公司 轨迹调整方法及相关设备
CN111331600A (zh) * 2020-03-10 2020-06-26 库卡机器人制造(上海)有限公司 轨迹调整方法及相关设备

Also Published As

Publication number Publication date
US7792604B2 (en) 2010-09-07
CA2747118A1 (en) 2006-09-28
US20070091094A1 (en) 2007-04-26
EP1869531B1 (en) 2020-04-22
SG160423A1 (en) 2010-04-29
CA2747118C (en) 2015-02-10
CA2747239C (en) 2016-02-23
CA2601886A1 (en) 2006-09-28
SG173407A1 (en) 2011-08-29
US7450127B2 (en) 2008-11-11
US20070046677A1 (en) 2007-03-01
CA2747239A1 (en) 2006-09-28
CA2601886C (en) 2013-03-19
WO2006102517A2 (en) 2006-09-28
JP2010511919A (ja) 2010-04-15
US7693588B2 (en) 2010-04-06
US20070085850A1 (en) 2007-04-19
EP1869531A1 (en) 2007-12-26

Similar Documents

Publication Publication Date Title
CN101180591A (zh) 基于公差的轨迹规划和控制方法
Yong et al. A parametric interpolator with confined chord errors, acceleration and deceleration for NC machining
USRE39907E1 (en) Tolerance based motion control system
Lin Real-time surface interpolator for 3-D parametric surface machining on 3-axis machine tools
CN103064344B (zh) 一种基于nurbs曲线插补的速度平滑控制方法
EP0798616B1 (en) Process of generating discrete points defining cutter path, so as to meet selected workpiece machining requirements
US5828574A (en) Adaptive feedrates from geometry modeling for NC machining
Lo CNC machine tool surface interpolator for ball-end milling of free-form surfaces
CN102354146A (zh) 一种运动控制系统及其位置控制方法
US5412300A (en) Numerical control device and method for control of movement of a tool
Lin et al. An adaptive tool path generation algorithm for precision surface machining
Jacso et al. Optimizing the numerical algorithm in Fast Constant Engagement Offsetting Method for generating 2.5 D milling tool paths
Da Rocha et al. An embedded system-based snap constrained trajectory planning method for 3D motion systems
CN106774163B (zh) 高精度三维轮廓控制方法及装置
Moberg et al. Robust control of a flexible manipulator arm: A benchmark problem
WO2023002627A1 (ja) 移動経路決定装置及びコンピュータプログラム
EP0451795A2 (en) Numerical control unit with compensation for offset error
Haas Set point optimisation for machine tools
EP0567195A2 (en) Numerical control device and method for control of movement of a tool
Zarifmansour et al. Considering machining tolerances in high speed corner tracking
JPH06274220A (ja) Nc装置
Medyk et al. CNC machine tool error compensation system implementation strategies and their constraints
US11402821B2 (en) Method for ascertaining a rough trajectory from a specified contour
Jaganathan et al. Accurate machining of freeform surfaces by restraining cutter contouring errors
Tounsi et al. Enhancement of productivity by intelligent programming of feed rate in 3-axis milling

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20080514