用于计算机数控加工刀具的优化的制作方法

文档序号:29401671发布日期:2022-03-26 02:03阅读:164来源:国知局
用于计算机数控加工刀具的优化的制作方法
用于计算机数控加工刀具的优化
1.相关申请的交叉引用
2.本技术要求享有于2019年7月26日提交的第62/879,355号美国临时专利申请的优先权和权益,该专利申请的内容为了所有目的据此通过引用并入本文。
技术领域
3.本发明在其几个实施例中大体上涉及加工过程的管理,且更具体地涉及利用虚拟机感知内核对计算机数控(cnc)机床的加工过程的管理和优化。
4.背景
5.计算机辅助制造(cam)软件系统用于对计算机数控(cnc)机床进行编程,这些机床在机械车间中用于生产离散零件,诸如模具、模、刀具、原型、航空航天部件等。
6.cnc机床运行加工程序,该加工程序执行一系列指令,这些指令是用于制造零件的步骤。cnc机床在不了解上下文的情况下执行加工程序。程序的执行是连续的,其中对未来很短视并且没有对过程的全局概览。
7.概述
8.提出了一种用于利用虚拟机感知内核管理和优化计算机数控(cnc)机床的加工过程的系统。计算机辅助制造(cam)软件系统用于对cnc机床进行编程,这些机床在机械车间中用于生产分立的零件,诸如模具、模、刀具、原型、航空航天部件等。该cam软件系统可以包括虚拟机感知内核,该虚拟机感知内核提供实时改变和更新cnc加工程序,该cnc加工程序被配置为确定对于该系统的cnc机器的加工过程。
9.在一个实施例中,该系统包括计算设备,该计算设备被配置为执行与诸如cnc机器的机器通信的虚拟机感知内核的处理器可执行指令。
10.虚拟机感知内核可以通过构建cnc机器的虚拟模型来模拟cnc机器,提供cnc机器的3维数字表示,来预测用于制造虚拟机零件的步骤。虚拟机感知内核可以接收虚拟数据作为输入,以仿真用于机器零件的制造的cnc机器铣削过程的实际情况。虚拟机感知内核可以使用数字表示作为预测模型来检查、改进和优化程序数据。因此,虚拟机感知内核可以允许智能、实时的决策,以避免机器零件的缺陷制造。
11.系统实施例可以包括:计算机数控(cnc)机器,其具有加工刀具并被配置为执行对于机器操作的一系列指令;计算设备,其可以与cnc机器通信,其中具有处理器和可寻址存储器的计算设备被配置为执行虚拟机感知内核处理器可执行指令集,以:(1)基于从cnc机器接收的数据,通过仿真引擎确定虚拟仿真的真实世界cnc机器和相关联的潜在故障,该接收的数据包括程序数据、控制器数据和传感器数据;(2)基于所确定的虚拟仿真的真实世界cnc机器和相关联的潜在故障,实时地且在cnc机器正在执行加工程序的同时确定对加工程序的修改,其中修改基于避免相关联的潜在故障的优化程序数据的确定;并且将确定的与机器操作相关联的优化程序数据传输到cnc机器,从而cnc机器继续生产并且不停止制造过程。
12.该系统还可以是这样的系统,其中该计算设备经由虚拟机感知内核可以进一步被
配置为实时修改cnc加工程序,从而预测潜在的制造问题并通过更新加工程序中的一个或更多个后续步骤来优化加工程序中提供的数据。另外,所确定的与机器操作相关联的优化程序数据通过预测分立的机器零件的精确生产的未来步骤来提供精确的铣削操作。
13.在一个实施例中,程序数据可以是顺序执行的一系列指令,向cnc机器提供加工程序。在另一个实施例中,控制器数据可以包括cnc控制器相关数据,其包括刀具偏移信息、工件偏移信息和机器控制器配置中的至少一个。在另一个实施例中,传感器数据可以是与cnc机器的一个或更多个传感器相关联的数据,并且其中一个或更多个传感器实时检测在加工过程期间发生了什么。另外,cnc机器的一个或更多个传感器可以被配置成通过测量以下至少一个来监测机床:切削力、振动幅度、来自加工过程的可听声音和高频声音。
14.在用于管理和优化cnc机床的加工过程的智能预测引擎的系统配置的一个实施例中,对加工程序的修改可以基于潜在故障的预测,并且使用从虚拟仿真的真实世界cnc机器生成的虚拟数据来确定。在一个实施例中,潜在故障是导致对cnc机器的损坏的cnc加工程序的执行,并且可以包括以下至少一个:刀具与加工件或与保持加工件的装备碰撞,由于与材料的过多接合而导致对刀具的损坏,导致刀具破损,由于刀具切削过多和凿入目标零件而导致对目标零件的损毁,在机器因为指令无法适应机器运动学而不能足够快地移动的情况下的缓慢执行,由于不良的切削条件或缺乏刚性引起的振动导致不良的表面光洁度。在另一个实施例中,虚拟机感知内核的仿真引擎与运动优化器引擎、规划引擎和链接引擎通信。
15.一种用于管理和优化cnc机床的加工过程的智能预测引擎的方法实施例可以包括以下步骤:由虚拟机感知内核的仿真引擎基于从cnc机器接收的数据确定虚拟仿真的真实世界cnc机器和相关联的潜在故障,该接收的数据包括程序数据、控制器数据和传感器数据;基于所确定的虚拟仿真的真实世界cnc机器和相关联的潜在故障,实时地且在cnc机器正在执行加工程序的同时确定对加工程序的修改,其中修改基于避免相关联的潜在故障的优化程序数据的确定;以及将所确定的与机器操作相关联的优化程序数据传输到cnc机器,从而cnc机器继续生产并且不停止制造过程。
16.该方法还可以包括其中虚拟机感知内核的仿真引擎可以与运动优化器引擎、规划引擎和链接引擎通信的实施例。在一个实施例中,虚拟机感知内核的运动优化器被配置为修改刀具运动,从而防止机床过载并平滑在物理轴上的刀具运动。在另一个实施例中,虚拟机感知内核的运动优化器可以被配置为通过修改机床运动从而防止机床过载并平滑在物理轴上的刀具运动来计算优化运动。在又一个实施例中,虚拟机感知内核的运动优化器可以被配置成通过在虚拟仿真的真实世界cnc机器上运行所计算的优化运动来验证计算的优化运动是正确的。另外,虚拟机感知内核的规划引擎可以被配置为通过基于所接收的传感器数据修改加工过程的顺序来确定优化排序,其中该修改可以基于以下至少一项:最小化更换切削刀具的发生、最小化轴旋转的次数、最小化每轴旋转的总角度以及最小化切削刀具的行进距离。
17.该方法的实施例还可以包括这样的场景,其中虚拟机感知内核的规划引擎可以被配置为将所确定的优化排序传送给仿真引擎,用于周期时间的验证和评估;并且虚拟机感知内核的规划引擎还可以被配置为将所确定的优化排序传送给链接引擎,用于周期时间的验证和评估。另外,虚拟机感知内核的链接引擎可以被配置为将加工过程与适于与cnc机器
相关联的机器运动学和能力的轨迹相链接,并且在重新排序加工过程之后确定新运动;链接引擎还可以被配置为基于从规划引擎接收的数据,将包括优化路径的确定的新运动传送到仿真引擎。
18.方法实施例还可以是这样的实施例,其中仿真引擎可以被配置为连续地且实时地更新最初从程序数据解释器接收的程序数据,以在cnc机器执行相关联的功能时优化机器过程。
19.附图简述
20.图中的部件不一定按比例绘制,而是将重点放在示出本发明的原理上。相似的参考数字贯穿不同的视图指示相对应的部分。实施例是通过示例的方式示出的而不是将其限制于附图中的图示中,其中:
21.图1描绘了一种用于利用虚拟机感知内核管理和优化计算机数控(cnc)机床的加工过程的系统;
22.图2描绘了图1的系统的计算设备的顶层功能框图;
23.图3描绘了用于利用虚拟机感知内核管理和优化cnc机床的加工过程的替代系统;
24.图4描绘了用于利用虚拟机感知内核管理和优化cnc机床的加工过程的替代系统;
25.图5在功能框图中描绘了虚拟机感知内核;
26.图6在顶层流程图中描绘了在cnc机器上操作的图3的虚拟机感知内核;
27.图7在顶层流程图中描绘了利用图3的虚拟机感知内核对cnc机床的加工过程的管理和优化;
28.图8描绘了用于利用图3的虚拟机感知内核管理和优化cnc机床的加工过程的流程图;
29.图9描绘了管理和优化cnc机床的加工过程的方法;
30.图10描绘了通过虚拟机感知内核对cnc机床进行管理和优化的功能框图;
31.图11示出了用于实现系统和过程的实施例的计算系统的高级框图和过程;
32.图12示出了其中可以实现实施例的示例性系统的框图和过程;以及
33.图13描绘了用于实现本文公开的系统和过程的实施例的云计算环境。
34.详细描述
35.所描述的技术涉及一种或更多种方法、系统、装置和存储处理器可执行过程步骤的介质,用于利用虚拟机感知内核管理和优化计算机数控(cnc)机床的加工过程。
36.下面介绍的技术可以通过由软件和/或固件编程或配置的可编程电路来实现,或者完全通过专用电路来实现,或者以这些形式的组合来实现。这种专用电路(如果有的话)可以是例如一个或更多个专用集成电路(asic)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)等形式。
37.图1-图12和以下讨论提供了其中可以实现所描述技术的各方面的合适的计算环境的简要、一般描述。尽管不是必需的,但是本技术的各方面可以在计算机可执行指令的一般上下文中描述,诸如由通用或专用数据处理设备(例如,服务器或客户端计算机)执行的例程。本文描述的技术的各方面可以存储或分布在有形计算机可读介质上,包括磁或光可读计算机盘、硬连线或预编程芯片(例如,eeprom半导体芯片)、纳米技术存储器、生物存储器或其他数据存储介质。可替代地,计算机实现的指令、数据结构、屏幕显示和与该技术相
关的其他数据可以在一时间段内通过互联网或通过其他网络(包括无线网络)在传播介质(例如电磁波、声波等)上的传播信号上分发。在一些实现中,数据可以在任何模拟或数字网络(例如,分组交换、电路交换或其他方案)上提供。
38.所描述的技术也可以在分布式计算环境中实践,其中任务或模块由远程处理设备执行,远程处理设备通过通信网络(诸如局域网(“lan”)、广域网(“wan”)或互联网)链接。在分布式计算环境中,程序模块或子例程可以位于本地和远程存储器储存设备中。相关领域的技术人员将认识到,所描述的技术的部分可以驻留在服务器计算机上,而对应的部分可以驻留在客户端计算机(例如,pc、移动计算机、平板电脑或智能手机)上。特定于该技术的各方面的数据结构和数据传输也被包含在所述技术的范围内。
39.参考图1,示出了一种用于利用虚拟机感知内核管理和优化计算机数控(cnc)机床的加工过程的系统100。计算机辅助制造(cam)软件系统用于对cnc机床进行编程,这些机床在机械车间中用于生产分立的零件,诸如模具、模子、刀具、原型、航空航天部件等。该cam软件系统可以包括虚拟机感知内核,该虚拟机感知内核提供实时改变和更新cnc加工程序,该cnc加工程序被配置为确定对于该系统100的cnc机器的加工过程。
40.在一个实施例中,系统100包括与诸如cnc机器102的机器通信的计算设备110。一般来说,cnc机器102可以运行加工程序,该加工程序执行一系列指令,诸如用于制造机械零件的步骤。cnc机器102可以在不知道上下文的情况下执行加工程序。此外,程序的执行可以是连续的,其中对未来很短视并且没有对过程的全局概览。
41.图2示出了集成到计算设备中的虚拟机感知内核的示例实施例。还进一步描述了其他实施例,诸如在云中实现的虚拟机感知内核。进一步参考图2,示出了计算设备110的顶层功能框图,其中计算设备110可以包括:处理器124,诸如中央处理单元(cpu);可寻址存储器127,诸如查找表,例如阵列;外部设备接口126,例如可选的通用串行总线端口和相关处理,和/或以太网端口和相关处理;输出设备接口123;以及可选的用户接口129,例如状态灯阵列、以及一个或更多个拨动开关、和/或显示器、和/或键盘、和/或指针鼠标系统、和/或触摸屏。可选地,可寻址存储器例如可以是:闪存、ssd、eprom和/或磁盘驱动器和/或另一种储存介质。这些元件可以经由数据总线128彼此通信。操作系统125(诸如支持可选的网络浏览器和应用的操作系统)可以被配置为经由处理器124执行加工程序的步骤,该加工程序被配置为确定系统100的cnc机器102的加工过程。
42.一般来说,内核是计算操作系统125的核心计算机程序。内核可以处理来自软件的输入/输出请求,将它们翻译成用于处理器124的数据处理指令。此外,内核可以负责分配和取消分配允许软件运行的存储器空间。
43.在一个实施例中,cam软件系统包括作为虚拟机感知内核112的内核。更具体地,虚拟机感知内核112是提供实时或接近实时地改变和更新cnc加工程序的引擎,该cnc加工程序被配置为确定用于系统100的cnc机器102的加工过程。该程序可以基于cnc机器102的以及cnc机器102的设备和环境的数字表示,诸如通过3维数字表示。
44.在一个实施例中,计算设备110可以直接集成到cnc机器102中,如图3所示。如下文将更详细讨论的,当计算设备110以及由此的虚拟机感知内核112被集成在cnc机器102上时,虚拟机感知内核112可以在加工操作被cnc机器执行时实时对其进行调整。也就是说,当正在执行加工操作/程序数据并且cnc机器正在执行加工操作和/或经由加工刀具与加工件
接合时,虚拟机感知内核112可以根据需要动态地改变用于加工操作的程序数据,例如加工程序。
45.在另一个实施例中且参考图4,虚拟机感知内核112可以在云计算环境116中操作。在这样的实施例中,云计算环境116包括一个或更多个云计算节点,云消费者使用的本地计算设备(例如,个人数字助理(pda)、智能手机、智能手表、机顶盒、视频游戏系统、平板电脑、移动计算设备或蜂窝电话、台式计算机、膝上型计算机和/或汽车计算机系统)可以与这些云计算节点通信。节点可以例如使用诸如传输层、互联网层和/或链路层的互联网协议通信层来彼此通信。它们可以被物理地或虚拟地分组(未示出)在一个或更多个网络中,诸如如上所述的私有云、社区云、公共云或混合云或其组合。
46.在一个实施例中,计算设备110与存储在云116中的虚拟机感知内核112通信,以执行虚拟机感知内核112的步骤,用于确定cnc机器102的加工过程。因此,虚拟机感知内核112可以通过例如互联网可用作云计算服务。
47.在一个实施例中,虚拟机感知内核112可以预测用于制造虚拟机零件的步骤。更具体地,可以构建cnc机器的虚拟模型来模拟cnc机器102,提供cnc机器102的3维数字表示。3维数字模型可以精确地表示cnc机器102,包括cnc机器的所有设备和配置,其中,例如尽可能精确地描述所有特征和能力。虚拟机感知内核112可以接收虚拟(即,理论上的)数据作为输入,以仿真用于机器零件的制造的cnc机器102铣削过程的实际情况。虚拟机感知内核112可以使用数字表示作为预测模型来检查、改进和优化程序数据。因此,虚拟机感知内核112可以允许智能、实时的决策,以避免机器零件的缺陷制造。也就是说,使用虚拟机感知内核112的cnc机器102可以基于确定的枢转、速度、加速度和急拉(jerk)来确定加工控制,例如刀具速度、刀具进给和刀具加速度,从而避免铣削过程中的任何制造缺陷。
48.虚拟机感知内核112可以使用虚拟数据仿真真实世界cnc机器故障。这是有利的,因为如果没有办法实时智能地修改cnc加工程序,cnc加工程序的执行可能导致机器损坏。在一个实施例中,虚拟机感知内核112不仅可以预测例如机器的碰撞或某个其他故障,而且可以提供避免碰撞的新路径,使得cnc机器102不需要停止制造过程。如此配置,虚拟机感知内核112可以动态地改变刀具路径,并且在初始轨迹开始之前提供新的轨迹。此外,虚拟机感知内核112可以被配置为随着接收到更多的理论数据而持续学习,产生更大能力来做出智能决策,从而预测潜在的制造问题并优化加工程序中提供的数据。
49.使用虚拟数据利用虚拟机感知内核112仿真真实世界的cnc机器故障允许虚拟机感知内核112学习和预测防止cnc机器102发生故障的步骤。例如,虚拟建模可以呈现仿真场景,其中cnc加工程序的执行可能导致(1)刀具与加工件或与保持加工件的装备碰撞;(2)刀具损坏(例如:与材料过多接合导致刀具破损);(3)目标零件的损毁(例如:刀具切削过多并且凿入目标零件);(4)执行缓慢(例如:因为指令不适应机器运动学,机器不能足够快地移动);以及(5)不良的表面光洁度(例如:由于不良的切削条件或缺乏刚性而引起的振动)。虚拟机感知内核112可以实时进行调整,并根据需要动态地进行改变,以在程序仍在执行时防止这些类型的故障,从而允许cnc机器102继续生产。
50.参考图5,虚拟机感知内核112可以包括用于读取和解释程序数据的程序数据解释器130。程序数据可以以不同格式被馈送到虚拟机感知内核112。在一个实施例中,虚拟机感知内核112可以读取和解释数控(nc)代码,该数控代码可以是待顺序执行的一系列指令。在
另一个实施例中,虚拟机感知内核112可以读取和解释机器轴位置或控制器指令,诸如描述轴运动和状态变化的低级指令。在另一个实施例中,虚拟机感知内核112可以读取和解释高级程序数据,诸如step nc、apt或提供关于加工过程背后的意图的更多信息的另一种高级格式。因此,虚拟机感知内核112可以通过程序数据解释器130接受许多不同格式化的程序数据作为输入。虚拟机感知内核112还可以包括加工过程收集部件132、数字机器部件134和设置部件135。更具体地,用户或客户端可以提供设置数据。在设置部件135处接收的设置数据可以包括加工件原料和目标136的物理和几何定义、程序使用的所有刀具的物理和几何定义(诸如刀具元件138)以及保持加工件的夹具(诸如安装件140)的几何和运动学定义。在一个实施例中,如果用户或客户端包括设置编辑器,则虚拟机感知内核112可以进一步改变程序,并利用控制器设置142适应新的设置。
51.虚拟机感知内核112还可以包括运动优化器144。在切削过程的仿真期间的任何时间处,虚拟机感知内核112可以确定刀具的接合和被移除的材料的体积。运动优化器144可以使用该信息来优化运动,从而改变进给速率以防止刀具过载。虚拟机感知内核112还可以知道由编程进给速率产生的物理轴速度和加速度。运动优化器144可以修改编程进给速率,以平滑物理轴的运动。虚拟机感知内核112还可以包括规划引擎146、链接引擎148、仿真引擎150、机器特征识别引擎152和刀具路径引擎154。
52.规划引擎146可以修改加工过程的顺序,以最小化总周期时间。优化可以着眼于最小化更换切削刀具的发生、最小化轴旋转的次数、最小化每轴旋转的总角度以及最小化切削刀具的行进距离。
53.在另一个实施例中,设置信息可以在机器感知内核之外被修改,并且新的设置数据被输入到机器感知内核112。规划引擎146可以针对新的设置数据重新组织和重新优化程序。设置的改变可以是安装额外加工件以增加产量、改变夹具和/或合并程序以将几个加工过程合并到同一作业中。
54.链接引擎148被配置成执行或实施将加工过程与适应于机器运动学和能力的轨迹相链接。链接引擎在重新排序加工过程后计算新的运动。链接引擎可以计算和确定与机器兼容的、对设置安全的新运动,并且与没有进行这种修改的情况相比,这可以导致更快的执行时间。
55.如果原始程序包含对机器有问题的运动(例如基于机器的能力),链接引擎148可以用新的安全且优化的路径替换这种有问题的运动。可能的问题还可以包括与机器的碰撞、刀具损毁目标零件、超行程运动、不考虑运动学的运动和/或执行超出机器能力的运动。
56.仿真引擎150可以虚拟地使机器动画化,以可视化在程序发生在物理机器上时的程序。仿真引擎150还可以沿着程序监测机器状态,以检测异常和问题,例如碰撞、零件损毁和/或不可能的运动。仿真引擎可以通过实时动画或离线仿真向机器的最终用户提供反馈。
57.仿真引擎150可以被机器感知内核的其他引擎用作服务。也就是说,仿真引擎150可以用于预测、评估和/或验证机器计算的路径。例如,在一个实施例中,链接引擎评估并验证多个路径,以找到最优化的链接路径。运动优化器144然后可以使用仿真引擎150来验证所计算的运动对于机器是有效的。规划引擎146可以使用仿真引擎来评估周期时间。
58.加工特征识别引擎152可以执行零件模型的分析,并识别加工特征并将特征分类:孔、口袋、圆形装饰物(boss)、墙等。每个特征由加工信息进一步描述。例如,孔可以进一步
描述为螺纹孔或埋头孔。刀具路径引擎154可以计算几何刀具路径来切削加工特征。
59.如上所述,虚拟机感知内核112的公开实施例可以基于在cnc机器102的精确数字表示上执行的仿真来确定和预测用于制造虚拟机零件的步骤。虚拟机感知内核112然后可以在cnc机器102上执行这些步骤,从而在真实世界cnc机器102上运行虚拟模型。以这种方式,虚拟机感知内核112是提供实时改变和更新步骤的引擎,并因此提供被配置为确定cnc机器102的加工过程的加工程序。
60.虚拟机感知内核112可能会遇到尚未仿真的真实世界情况,因此需要修改预测虚拟引擎。因此,希望让虚拟机感知内核112检索尽可能多的数据,以便优化数据以实时进行调整,并在执行加工程序的同时根据需要动态地进行改变。
61.参考图6,虚拟机感知内核112被描绘为从cnc机器102接收数据。在一个实施例中,虚拟机感知内核112接收编程数据156。在一个实施例中,机器感知内核112可以离线使用以优化接收的程序数据156。如上所述,程序数据156可以以不同格式被馈送到虚拟机感知内核112。例如,虚拟机感知内核112可以读取和解释数控(nc)代码数据,其可以是待顺序执行的一系列指令。虚拟机感知内核112还可以接收控制器数据158,诸如刀具偏移信息、工件偏移信息或机器控制器配置。最后,虚拟机感知内核112可以接收与cnc机器102的传感器114相关联的传感器数据160。虚拟机感知内核112可以使用数据作为输入,以持续地使虚拟机感知内核112更加高效,并且能够基于来自cnc机器传感器114的实时数据做出预测性决策。机器感知内核112可以收集程序数据156、控制器数据158和传感器数据160,以管理数据并利用优化的程序数据162实时动态更新加工程序。
62.在一个实施例中,传感器114可以实时检测在加工过程中发生了什么。例如,刀具的加工(即铣削)可以包括一系列更加精确且精细的切削。传感器114可以检测加工刀具的切削速度,并且虚拟机感知内核112从传感器114接收数据,诸如切削速度。例如,虚拟机感知内核112可以检测到,与虚拟机感知内核112在虚拟模型中预测的相比,在任何给定步骤中切削速度太快或太慢。虚拟机感知内核112然后通过重新解释和优化从传感器114接收的数据(以及程序数据156和控制器数据158)来管理cnc机器102,以便实时更新加工程序,从而将切削速度调整到使铣削过程更精确的切削速度。更具体地,虚拟机感知内核112更新程序中的后续步骤(不仅是下一步,还有后续的几个步骤),使得铣削越来越精确。因此,传感器114检测cnc机器102中正在发生什么,并且虚拟机感知内核112基于从传感器114接收的数据实时调整虚拟模型。因此,虚拟机感知内核112可以持续变得更有能力预测分立的机器零件的精确生产的未来步骤。
63.图7描绘了虚拟机感知内核的数据流以及事件和步骤的顺序。实施例可以包括利用虚拟机感知内核112管理和优化cnc机器的加工过程的方法200。虚拟机感知内核112的数据流序列可以包括以下步骤,但不一定按此顺序:(a)可以在程序数据转换器130处接收程序数据,诸如nc代码数据,其可以是待顺序执行的一系列指令,用于读取和解释程序数据202;(b)然后在加工过程集合204处接收程序数据转换器130,用于识别程序的不同动作并将程序组织成加工过程的序列(例如,一组机器指令);(c)程序206然后从加工过程集合204发送到运动优化器144,用于优化运动;(d)运动优化器144然后可以将运动优化程序208发送到仿真引擎150,用于程序的验证和确认;(e)仿真引擎150又可以将验证的程序210发送回运动优化器144;(f)运动优化器144然后基于仿真引擎150的成功验证来确定并生成优化
的加工过程212;(g)规划引擎146然后可以接收优化的加工过程212,用于程序214的排序;(h)规划引擎146然后将排序的程序216发送到仿真引擎150,用于验证和确认;(i)仿真引擎150可以将验证的排序程序218返回给规划引擎146;(j)规划引擎146然后基于仿真引擎150的成功验证来确定并生成优化的加工过程列表220;(k)优化的加工过程列表220然后被传递到链接引擎148,以链接程序的所有序列,将加工过程与适应于机器运动学和能力的轨迹相链接。链接引擎148在重新排序加工过程222之后确定并计算新的运动;(l)链接引擎148将程序224发送给仿真引擎150进行验证和确认;(m)仿真引擎150将验证的程序226返回给链接引擎146;(n)链接引擎146确定并生成用于构建最终程序的优化的机器程序228;(o)优化的机器程序将最终程序230发送到程序数据转换器以用于输出;(p)程序数据转换器输出最终程序作为优化的程序数据232,诸如nc代码或机器代码指令。
64.图8示出了顶层流程图,其中示出了利用虚拟机感知内核112(参见图5-图6、图9)的程序管理器部件180(参见图9)来管理和优化cnc机器的加工过程的方法300。在步骤302处,接收程序数据(诸如nc代码数据,其可以是待执行的一系列指令)作为虚拟机感知内核112的程序管理器部件180的输入。如步骤304处所示,虚拟机感知内核然后可以例如根据过程优先级标准将程序组织成加工过程的一个或更多个序列,以生成加工操作的最终顺序。虚拟机感知内核然后可以基于从运动优化器144(参见图7)接收的更新程序,在步骤306处优化加工过程。更详细地,在一个实施例中,运动优化器144可以改变进给速率以防止刀具过载。虚拟机感知内核112还可以基于由编程的进给速率产生的物理轴速度和加速度来确定优化的加工过程。在一个示例中,运动优化器144可以更新(例如修改)编程的进给速率,以平滑物理轴的运动。虚拟机感知内核然后可以基于从运动优化器144接收的程序来更新程序。继续到下一步骤,在步骤308处,基于从规划引擎146(参见图7)接收程序,由虚拟机感知内核优化加工过程列表。链接引擎148(参见图7)然后可以链接优化的过程列表,并且在步骤310处,虚拟机感知内核可以基于优化的加工过程和优化的加工过程列表来优化加工程序。最后,在步骤312处,虚拟机感知内核可以向最终用户或cnc控制器输出优化的加工程序。
65.参考图9,描绘了用于利用虚拟机感知内核112管理和优化cnc机床的加工过程的功能框图。在一个实施例中,程序数据转换器130和程序管理器部件180可以是虚拟机感知内核112的一部分。在另一个实施例中,程序数据转换器130和程序管理器部件180可以是虚拟机感知内核112的外部部件。在又一实施例中,程序数据转换器130可以是外部部件,而程序管理器部件180可以是虚拟机感知内核112的一部分。为了简单起见,图9将程序数据转换器130和程序管理器部件180描绘为虚拟机感知内核112的外部部件,但是本领域技术人员将会理解,可以实现如上所述的任何组合。
66.在一个实施例中,数控(nc)程序156可以由程序数据转换器130解释,并由程序管理器部件180转换成虚拟机感知内核112的程序数据集合。在处理之后,虚拟机感知内核112可以向cnc控制器102或cam系统返回优化的程序或nc代码,诸如直接指令。在另一个实施例中,cnc机器控制器102可以直接向虚拟机感知内核112(图9中未示出)提供程序数据。虚拟机感知内核112又可以向机器提供优化的控制器指令。
67.在一个实施例中,cnc机器102可以配备有传感器114,并且传感器数据可以被发送到传感器数据收集160部件。传感器114可以用于通过以下方式来监测加工过程中的刀具状
况:例如测量切削力(利用多通道台式测力计或旋转测力计);使用多通道加速度计的振动幅度;加工过程中发出的可听声音;高频声音或声发射。在其他实施例中,无传感器机床监测可以通过测量内部驱动信号来执行,内部驱动信号诸如:进给电机电流、主轴电机电流、主轴功率。在其他实施例中,可以实现传感器和无传感器测量和监测的组合。传感器数据然后可以被传递到程序数据转换器130,用于增强优化。
68.更详细地,在一个实施例中,仿真引擎150可以确定cnc机器的虚拟动画,以在程序数据在物理cnc机器上执行时实时地可视化程序数据。仿真引擎150可以监测cnc机器状态,以检测潜在的问题,诸如碰撞、零件损毁、不可能的运动等。仿真引擎150可以通过实时动画或离线仿真向cnc机器的最终用户170提供反馈。
69.运动优化器引擎144、规划引擎146和链接引擎148与仿真引擎150通信,以评估备选解决方案并验证解决方案。例如,运动优化器引擎144优化运动,诸如改变进给速率以防止刀具过载。运动优化器144还可以修改编程进给速率,以平滑物理轴的运动。规划引擎146可以修改加工过程的顺序,以最小化总周期时间。优化可以着眼于许多因素,例如:最小化更换切削刀具的发生、最小化轴旋转的次数、最小化每轴旋转的总角度和/或最小化切削刀具的行进距离。规划引擎146然后可以将优化的排序传送给仿真引擎150,用于周期时间的验证和评估。
70.链接引擎148又可以将加工过程与适应于机器运动学和能力的轨迹相链接。链接引擎148在重新排序加工过程后计算新的运动。链接引擎148基于从规划引擎146接收的数据,将最优化的路径传送给仿真引擎150,仿真引擎150评估并验证最优化的路径。在一个实施例中,如果原始程序包含对cnc机器102执行造成问题的运动,链接引擎148可以重新计算运动并用新的优化路径替换运动,以避免在cnc机器102执行期间可能出现的这种问题。在cnc机器102执行期间可能发生的可能问题的一些示例可以包括:机器内的碰撞、刀具损毁目标零件、超行程运动和/或不考虑机器的运动学和能力的运动。
71.图10示出了描绘了通过虚拟机感知内核对cnc机床进行管理和优化的另一个功能框图。在一个实施例中,仿真引擎150可以从程序数据收集156部件接收程序数据,诸如nc代码。仿真引擎150可以使用接收到的程序数据来确定机器的虚拟动画,以可视化在物理cnc机器上执行的程序数据。仿真引擎150可以经由控制器数据收集158部件来监测cnc机器状态,以经由例如从传感器114(参见图6)接收的实时数据检测潜在的问题,如上所述。在一个实施例中,传感器数据可以由传感器数据收集160部件收集,该传感器数据收集160部件可以专用于路由从cnc机器读取的传感器数据。仿真引擎150可以将接收到的传感器数据传送给运动优化器144、规划引擎146和链接引擎148,用于进一步处理。在一个实施例中,仿真引擎150可以通过实时动画或离线仿真向cnc机器的最终用户170提供反馈。
72.在一个实施例中,运动优化器144可以使用该传感器数据来例如优化运动,从而改变进给速率以防止刀具过载。运动优化器144还可以修改编程进给速率,以平滑物理轴的运动。运动优化器144可以使用仿真引擎150来验证所计算的优化运动是正确的,并且转而将优化的进给速率传送回仿真引擎150。规划引擎146可以接收来自仿真引擎150的传感器数据作为输入,以修改加工过程的顺序,并且例如最小化总周期时间。优化可以基于许多因素来确定,例如:最小化更换切削刀具的发生、最小化轴旋转的次数、最小化每轴旋转的总角度和/或最小化切削刀具的行进距离等。规划引擎146然后可以将优化的排序传送给仿真引
擎150,用于周期时间的验证和评估。
73.在另一个实施例中,规划引擎146可以将排序传送给链接引擎148,以评估和优化周期时间。链接引擎148又可以将加工过程与适应于机器运动学和能力的轨迹相链接。链接引擎148然后可以在重新排序加工过程之后计算和确定新的运动。链接引擎148基于从规划引擎146接收的数据,可以将最优化的路径传送给仿真引擎150,仿真引擎150评估并验证最优化的路径。在一个实施例中,仿真引擎150可以动态地并且实时地更新最初从程序数据解释器130接收的程序数据。在一个实施例中,仿真引擎150可以基于从传感器数据收集部件172、链接引擎部件148、规划引擎部件146和运动优化器部件144接收的传感器数据来执行该任务,如所描绘的。因此,基于从前述部件接收的输入数据,仿真引擎150可以在cnc机器执行相关联功能的同时持续优化机器过程。
74.图11是示出计算系统的高级框图500,该计算系统包括用于实现本文公开的系统和过程的实施例的计算机系统。该系统的实施例可以在不同的计算环境中实现。计算机系统包括一个或更多个处理器502,并且可以进一步包括电子显示设备504(例如,用于显示图形、文本和其他数据)、主存储器506(例如,随机存取存储器(ram))、储存设备508、可移动储存设备510(例如,可移动储存驱动器、可移动存储器模块、磁带驱动器、光盘驱动器、其中存储有计算机软件和/或数据的计算机可读介质)、用户接口设备511(例如,键盘、触摸屏、小键盘、定点设备)和通信接口512(例如,调制解调器、网络接口(诸如以太网卡)、通信端口或pcmcia插槽和卡)。通信接口512允许软件和数据在计算机系统和外部设备之间传输。该系统还包括通信基础设施514(例如,通信总线、交叉杆或网络),前述设备/模块如所示连接到该通信基础设施514。
75.经由通信接口514传送的信息可以是信号的形式,诸如电子、电磁、光学或能够由通信接口514经由承载信号的通信链路516接收的其他信号,并且通信链路516可以使用电线或电缆、光纤、电话线、蜂窝/移动电话链路、射频(rf)链路和/或其他通信信道来实现。表示本文中的框图和/或流程图的计算机程序指令可以被加载到计算机、可编程数据处理装置或处理设备上,以使得在其上执行的一系列操作产生计算机实现的过程。
76.参考根据实施例的方法、装置(系统)和计算机程序产品的流程图说明和/或框图来描述各种实施例。这种图示/图表的每个块或其组合可以通过计算机程序指令来实现。当提供给处理器时,计算机程序指令产生机器,使得通过处理器执行的指令创建用于实现流程图和/或框图中指定的功能/操作的装置。流程图/框图中的每个块可以表示实现实施例的硬件和/或软件模块或逻辑。在可选的实现中,在块中记录的功能可以不以在附图中记录的顺序出现等等。
77.计算机程序(即,计算机控制逻辑)存储在主存储器和/或辅助存储器中。计算机程序也可以通过通信接口512接收。这种计算机程序在被执行时,使得计算机系统能够执行本文讨论的实施例的特征。具体而言,计算机程序在被执行时使得处理器和/或多核处理器能够执行计算机系统的特征。这种计算机程序代表计算机系统的控制器。
78.图12示出了其中可以实现实施例的示例系统600的框图。系统600包括连接到一个或更多个服务器计算系统630的一个或更多个客户端设备601。服务器630包括总线602或用于传递信息的其他通信机构以及与总线602耦合的处理器(cpu)604以用于处理信息。服务器630还包括耦合到总线602的主存储器606(诸如,随机存取存储器(ram)或其他动态储存
设备),用于存储信息和将由处理器604执行的指令。主存储器606还可以用于在待由处理器604执行的指令或执行期间储存临时变量或其他中间信息。服务器计算机系统630还包括耦合到总线602来储存用于处理器604的静态信息和指令的只读存储器(rom)608或其他静态储存设备。储存设备610(诸如磁盘或光盘)被提供并耦合到总线602用于储存信息和指令。总线602可以包含例如三十二条地址线,用于寻址视频存储器或主存储器606。总线602还可以包括例如32位数据总线,用于在诸如cpu604、主存储器606、视频存储器和储存设备610的部件之间传输数据。可替代地,可以使用多路复用数据/地址线来代替单独的数据和地址线。
79.服务器630可以经由总线602耦合到显示器612,用于向计算机用户显示信息。输入设备614(包括字母数字的和其他键)耦合到总线602用于向处理器604传递信息和命令选择。另一种类型的用户输入设备包括光标控件616,诸如用于向处理器604传递方向信息和命令选择以及用于控制光标在显示器612上的移动的鼠标、轨迹球或光标方向键。
80.根据一个实施例,功能由处理器604执行,该处理器执行被包含在主存储器606中的一个或更多个指令的一个或更多个序列。这种指令可以从另一个计算机可读介质(诸如,储存设备610)读入主存储器606。主存储器606中包含的指令序列的执行使得处理器604执行本文描述的处理步骤。多处理布置中的一个或更多个处理器也可以用来执行包含在主存储器606中的指令序列。在替代实施例中,硬连线的电路可用于代替软件指令或与其组合来实现实施例。因此,实施例不限于硬件电路和软件的任何特定组合。
81.术语“计算机程序介质”、“计算机可用介质”、“计算机可读介质”和“计算机程序产品”通常用于指诸如主存储器、辅助存储器、可移动储存驱动器、安装在硬盘驱动器中的硬盘以及信号之类的介质。这些计算机程序产品是用于向计算机系统提供软件的装置。计算机可读介质允许计算机系统从计算机可读介质中读取数据、指令、消息或消息包以及其他计算机可读信息。例如,计算机可读介质可以包括非易失性存储器,诸如软盘、rom、闪存、磁盘驱动器存储器、cd-rom和其他永久储存设备。例如,它可以用于在计算机系统之间传输信息,诸如数据和计算机指令。此外,计算机可读介质可以包括暂时状态介质中的计算机可读信息,诸如网络链路和/或网络接口,包括允许计算机读取这种计算机可读信息的有线网络或无线网络。计算机程序(也称为计算机控制逻辑)存储在主存储器和/或辅助存储器中。计算机程序也可以通过通信接口接收。这种计算机程序在被执行时,使得计算机系统能够执行本文讨论的实施例的特征。具体而言,计算机程序在被执行时使得处理器多核处理器能够执行计算机系统的特征。相应地,这种计算机程序代表计算机系统的控制器。
82.通常,如本文中所使用的术语“计算机可读介质”指的是参与向处理器604提供指令以用于执行的任何介质。这样的介质可采用许多形式,包括但不限于非易失性介质、易失性介质和传输介质。例如,非易失性介质包括光盘或磁盘,诸如储存设备610。易失性介质包括动态存储器,诸如主存储器606。传输介质包括同轴电缆、铜线和光纤,包括含有总线602的电线。传输介质也可以采用声波或光波的形式,诸如在无线电波和红外数据通信期间生成的声波或光波。
83.例如,计算机可读介质的常见形式包括软盘、软磁盘、硬盘、磁带或任意其他磁介质、cd-rom、任何其他光介质、穿孔卡片、纸带、任何其他具有孔图案的物理介质、ram、prom、eprom、flash-eprom、任何其他存储芯片或盒式存储器、如下文描述的载波或计算机可从其
读取的任何其他介质。
84.各种形式的计算机可读介质可涉及将一个或更多个指令的一个或更多个序列运载至处理器604以用于执行。例如,指令可最初在远程计算机的磁盘上运载。远程计算机可以将指令加载到其动态存储器中并使用调制解调器通过电话线发送指令。服务器630本地的调制解调器可以接收电话线上的数据,并使用红外发射器将数据转换成红外信号。耦合到总线602的红外检测器可以接收红外信号中所携带的数据,并将该数据放置在总线602上。总线602将数据运载至主存储器606,处理器604从该主存储器606检索并执行指令。从主存储器606接收的指令可以在由处理器604执行之前或之后可选地储存在储存设备610上。
85.服务器630还包括耦合到总线602的通信接口618。通信接口618提供耦合到网络链路620的双向数据通信,网络链路620连接到现在通常称为互联网628的全球分组数据通信网络。互联网628使用携带数字数据流的电、电磁或光信号。通过各种网络的信号和网络链路620上且通过通信接口618的信号是传输信息的示例性形式或载波,这些信号携带去往和来自服务器630的数字数据。
86.在服务器630的另一个实施例中,接口618通过通信链路620连接到网络622。例如,通信接口618可以是综合业务数字网(isdn)卡或调制解调器,以提供到相应类型电话线的数据通信连接,该电话线可以包括网络链路620的一部分。作为另一示例,通信接口618可以是局域网(lan)卡,以提供到兼容lan的数据通信连接。也可以实现无线链路。在任何这样的实现中,通信接口618发送和接收携带代表各种类型信息的数字数据流的电磁或光信号。
87.网络链路620通常通过一个或更多个网络向其他数据设备提供数据通信。例如,网络链路620可以通过本地网络622提供到主计算机624或到由互联网服务提供商(isp)操作的数据设备的连接。isp又通过互联网628提供数据通信服务。本地网络622和互联网628都使用携带数字数据流的电、电磁或光信号。通过各种网络的信号和网络链路620上且通过通信接口618的信号是传输信息的示例性形式或载波,这些信号携带去往和来自服务器630的数字数据。
88.服务器630可以通过网络、网络链路620和通信接口618发送/接收消息和数据,包括电子邮件、程序代码。此外,通信接口618可以包括usb/调谐器,并且网络链路620可以是天线或电缆,用于将服务器630连接到电缆提供商、卫星提供商或其他地面传输系统,用于从另一个源接收消息、数据和程序代码。
89.本文描述的实施例的示例版本可以实现为分布式处理系统(诸如包括服务器630的系统600)中的逻辑操作。实施例的逻辑操作可以被实现为在服务器630中执行的一系列步骤,以及系统600内互连的机器模块。实现是选择的问题,并且可以取决于实现实施例的系统600的性能。因此,构成实施例的所述示例版本的逻辑操作被称为例如操作、步骤或模块。
90.类似于上述服务器630,客户端设备601可以包括处理器、存储器、储存设备、显示器、输入设备和通信接口(例如,电子邮件接口),用于将客户端设备连接到互联网628、isp或lan 622,以与服务器630通信。
91.系统600还可以包括以与客户端设备601相同的方式操作的计算机(例如,个人计算机、计算节点)605,其中用户可以利用一个或更多个计算机605来管理服务器630中的数据。
92.现在参考图13,描绘了说明性云计算环境50。如所示,云计算环境50包括一个或更多个云计算节点10,云消费者使用的本地计算设备(例如,个人数字助理(pda)、智能手机、智能手表、机顶盒、视频游戏系统、平板电脑、移动计算设备或蜂窝电话54a、台式计算机54b、膝上型计算机54c和/或汽车计算机系统54n)可以与这些云计算节点通信。节点10可以相互通信。它们可以被物理地或虚拟地分组(未示出)在一个或更多个网络中,诸如如上所述的私有云、社区云、公共云或混合云或其组合。这允许云计算环境50提供基础设施、平台和/或软件作为云消费者不需要在本地计算设备上维护资源的服务。应当理解,图12中所示的计算设备54a-n的类型仅仅是说明性的,并且计算节点10和云计算环境50可以通过任何类型的网络和/或网络可寻址连接(例如,使用网络浏览器)与任何类型的计算机化设备通信。
93.设想了上述实施例的特定特征和方面的各种组合和/或子组合可以被做出并且仍然落在本发明的范围内。因此,应理解,所公开的实施例的各种特征和方面可以彼此组合或替代,以便形成所公开的发明的不同模式。此外,意图是,本发明的范围在本文中通过示例的方式被公开,并且不应受到上述特定公开的实施方案的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1