机床系统控制的制作方法

文档序号:2333008阅读:179来源:国知局
专利名称:机床系统控制的制作方法
技术领域
本发明涉及机床控制软件。更具体地说,本发明的领域是用于面向对象机床控制软 件的机床控制软件和机床控制软件的操作的领域。
背景技术
面向对象机床控制系统可提供将系统责任隔离成准许机床制造商或系统集成商管 理复杂性和改变的数个类别的实时机床软件系统控制。机床控制系统的一个实例在转让 给本发明的受让人的第5,453,933号美国专利中揭示,所述专利的揭示内容以引用的方 式并入本文中。所述'933专利的系统允许在不重新设计或作出大规模软件改变的情况下 从核心组程序创建不同系统。
改变所述'933专利的控制系统的工程师可容易地对系统作出改变,因为对一类别中 的单个组件作出修改不需要工程师精通于整个系统。 一个改变不会在整个系统中具有连 锁改变效应。将系统的最有可能改变的部分(例如用户界面和装置驱动器)与核心分离。 这些组件较容易通过PLC程序、机器类别的定制和操作者程序的添加或修改来改变。

发明内容
8在本发明的示范性实施例中,提供一种用于机床系统的运动控制系统。在本发明的 实例中,所述运动控制系统包括可模仿各种机床系统的广义运动学库。在另一实例中, 产生所述广义运动学库的多个实例以提供用于所述机床系统或其它机床系统的数据。
在本发明的另一示范性实施例中,提供一种用于控制机床系统的移动以对零件进行 机械加工的方法。所述方法包含以下步骤使零件与工具接触;以及在工具保持与零件 接触的同时将工具相对于零件从第一位置移动到第二位置。所述工具内插穿过机床系统 的机器奇异点。
在本发明的另一示范性实施例中,提供一种用于确定机床系统的多个可移动轴的位 置信息以对零件进行机械加工的方法。所述方法包含以下步骤提供接受多个不同工具 位置输入类型的级联方法;接收第一工具位置,所述第一工具位置对应于所述多个不同 输入类型中的一者;以及用所述级联方法基于所接收的第一工具位置而确定位置信息。
在本发明的又 一示范性实施例中,提供一种用于控制机床系统的移动以对零件进行 机械加工的方法,所述机床系统具有多个可旋转轴。所述方法包含以下步骤使零件与 工具在第一位置处接触;识别第二位置以移动所述工具;以及针对所述多个可旋转轴中 的每一者从用于所述多个可旋转轴中的每一者的多个可能解决方案中选择最短角行程
解决方案。
在本发明的再一示范性实施例中,提供一种用于控制机床系统的移动以对零件进行 机械加工的方法,所述机床系统具有包括倾斜轴的多个可旋转轴。所述方法包含以下步 骤使零件与工具在第一位置处接触;识别第二位置以移动所述工具;以及针对所述多 个可旋转轴中的每一者基于指定的倾斜轴优选而从用于所述多个可旋转轴中的每一者 的多个可能解决方案中选择第一解决方案。所述第一解决方案具有满足所述倾斜轴优选 的用于倾斜轴的倾斜角。
在本发明的另一示范性实施例中,提供一种用于控制机床系统的移动以对零件进行 机械加工的方法,所述机床系统具有多个可移动轴。所述方法包含以下步骤使零件与 工具在第一位置处接触;识别第二位置以移动所述工具;以及用两级内插方法确定从第
一位置到第二位置的多个内插位置。
在本发明的又一示范性实施例中,提供一种用于用至少一个工具对零件进行机械加
工的设备。所述设备包含框架;可移动支撑件,其由所述框架支撑且可相对于所述框 架移动,所述可移动支撑件支撑所述零件;机床主轴,其由所述框架支撑且可相对于零
件移动,所述机床主轴适于耦合所述至少一个工具,可移动支撑件和机床主轴包括多个
可移动轴;以及运动控制系统,其可操作地耦合到机床主轴和可移动支撑件。所述运动
9控制系统通过机床主轴和可移动支撑件的所述多个可移动轴的受控移动而执行对零件 的机械加工。所述运动控制系统使零件与第一工具在第一位置处接触,且在第一工具保 持与零件接触的同时将第 工具相对于零件从第-一位置移动到第二位置。第一工具内插 穿过机床系统的机器奇异点。
在本发明的再一示范性实施例中,提供一种用于用至少一个工具对零件进行机械加 工的设备。所述设备包含框架;可移动支撑件,其由所述框架支撑且可相对于所述框 架移动,所述可移动支撑件支撑所述零件;机床主轴,其由所述框架支撑且可相对于零 件移动,所述机床主轴适于耦合所述至少一个工具,可移动支撑件和机床主轴包括多个 可移动轴;以及运动控制系统,其可操作地耦合到机床主轴和可移动支撑件。所述运动 控制系统通过机床主轴和可移动支撑件的所述多个可移动轴的受控移动而执行对零件 的机械加工,其中运动控制系统使零件与第一工具在第一位置处接触,且通过针对所述 多个可移动轴屮的多个可旋转轴的每- -者从用于所述多个可旋转轴中的每一者的多个 可能解决方案中选择最短角行程解决方案而将第一工具相对于零件从第一位置移动到 第二位置。
在本发明的另一示范性实施例中,提供一种用于用至少一个工具对零件进行机械加 工的设备。所述设备包含框架;可移动支撑件,其由所述框架支撑且可相对于所述框 架移动,所述可移动支撑件支撑所述零件;机床主轴,其由所述框架支撑且可相对于零 件移动,所述机床主轴适于耦合所述至少一个工具,可移动支撑件和机床主轴包括多个 可移动轴;以及运动控制系统,其可操作地耦合到机床主轴和可移动支撑件。所述运动 控制系统通过机床主轴和可移动支撑件的所述多个可移动轴的受控移动而执行对零件 的机械加工。所述运动控制系统使零件与第一工具在第一位置处接触,且通过针对所述 多个可移动轴中的多个可旋转轴的每一者基于指定的倾斜轴优选而从用于所述多个可 旋转轴中的每一者的多个可能解决方案中选择第一解决方案来将第一工具相对于零件 从第一位置移动到第二位置,所述第一解决方案具有用于所述多个可移动轴的倾斜轴的 满足倾斜轴优选的倾斜角。
在本发明的再一示范性实施例中,提供一种用于用至少'个工具对零件进行机械加 工的设备。所述设备包含框架;可移动支撑件,其由所述框架支撑且可相对于所述框 架移动,所述可移动支撑件支撑所述零件;机床主轴,其由所述框架支撑且可相对于零 件移动,所述机床主轴适于耦合所述至少一个工具,可移动支撑件和机床主轴包括多个 可移动轴;以及运动控制系统,其可操作地耦合到机床主轴和可移动支撑件。所述运动 控制系统通过机床主轴和可移动支撑件的所述多个可移动轴的受控移动而执行对零件的机械加工。所述运动控制系统使零件与第一工具在第一位置处接触,且通过用两级内 插方法确定从第一位置到第二位置的多个内插位置而将第一工具相对于零件从第一位 置移动到第二位置。
在本发明的另一示范性实施例中,提供一种用于控制机床系统的移动以对零件进行 机械加工的方法。所述方法包含以下步骤接收对应于机床系统的机器配置,所述机器 配置识别机床系统的多个可移动轴和其之间的多个相依性;基于所述机器配置和广义运 动学库而产生虚拟运动学机器;接收对应于零件的形状的输入数据;以及基于所述虚拟 运动学机器和所述输入数据而产生用于机床系统的所述多个可移动轴的位置。
在本发明的另一示范性实施例中,提供一种用于控制具有多个可移动轴的机床系统 的移动以对零件进行机械加工的方法。所述方法包含以下步骤接收对应于零件的形状 的输入数据;基于机床系统的机器配置和广义运动学库而产生第一虚拟运动学机器,所 述第-虚拟运动学机器基于所述输入数据而产生用于机床系统的所述多个可移动轴的 位置;以及基于机床系统的机器配置和广义运动学库而产生第二虚拟运动学机器,所述 第二虚拟运动学机器产生用于机床系统的可移动部分的位置信息。
在本发明的又一示范性实施例中,提供一种用软件控制器对多个机床系统进行编程 的方法。所述方法包含以下步骤提供可由软件控制器存取的广义运动学库;产生具有 对应于第一机床系统的第一配置的第一虚拟运动学机器,所述第-'虚拟运动学机器基于 所述广义运动学库;以及产生具有对应于第二机床系统的第二配置的第二虚拟运动学机 器,所述第二虚拟运动学机器基于所述广义运动学库。
在本发明的另一示范性实施例中,提供一种用于用至少一个工具对零件进行机械加 工的设备。所述设备包含框架;可移动支撑件,其由所述框架支撑且可相对于所述框 架移动,所述可移动支撑件支撑所述零件;机床主轴,其由所述框架支撑且可相对于零 件移动,所述机床主轴适于耦合所述至少一个工具,可移动支撑件和机床主轴包括多个 可移动轴;以及运动控制系统,其可操作地耦合到机床主轴和可移动支撑件,所述运动 控制系统通过机床主轴和可移动支撑件的所述多个可移动轴的受控移动而执行对零件 的机械加工。所述多个可移动轴的受控移动是由广义运动学库的实例提供的。所述实例 包括多个虛拟轴,所述多个虚拟轴对应于所述多个可移动轴。
在本发明的再一示范性实施例中,提供一种配置机床系统的软件控制器的方法。所 述方法包含以下步骤提供可由软件控制器存取的广义运动学库;接收关于机床系统的 配置的信息,机床系统具有多个正交可移动轴;基于所述所接收的关于机床系统的配置 的信息而产生广义运动学库的对应于机床系统的实例;以及通过广义运动学库的实例控
11制所述多个正交可移动轴的移动。
在本发明的另一示范性实施例中,提供一种具有计算机可执行指令的计算机可读媒 体,所述计算机可执行指令用于控制机床系统的多个可移动轴的移动以对零件进行机械 加工。所述计算机可执行指令包含广义运动学库;用于基于机床系统的配置而产生广 义运动学库的实例的指令;用于将输入数据提供到广义运动学库的实例的指令;以及用
于从广义运动学库取得输出数据的指令,所述输出数据与所述多个可移动轴的移动相 关。


通过结合附图参看以下对本发明实施例的描述,将更容易明白本发明的上述及其它 特征和目标以及实现所述特征及目标的方式,并且将更好理解本发明本身,其中 图1说明示范性机床系统;
图2说明图1的示范性机床系统的运动控制系统的代表性视图; 图3说明轴对象的代表性视图4A和图4B说明用于提供关于旋转C轴的特征的用户界面的示范性输入屏幕;
图5A和图5B说明用于提供关于旋转C轴的特征的用户界面的示范性输入屏幕;
图6说明用于指定图1的机床系统的多个轴之间的相依性的示范性输入屏幕;
图7A和图7B说明工具矩阵堆栈和零件矩阵堆栈的代表性视图8说明图2的运动控制系统的级联方法的代表性视图9A到图9C涉及用于确定图1的机床系统的倾斜轴的旋转角的方法;
图10A到图IOC说明用于各种机床系统的机器奇异点
图IIA说明图1的机床系统的机器奇异点;
图11B说明对应于正倾斜轴优选的倾斜角;
图11C说明对应于负倾斜轴优选的倾斜角;
图12A到图12D说明工具在围绕机器奇异点旋转期间保持与零件接触; 图13A到图13C表示从机器奇异点处的上一位置内插工具向量、围绕机器奇异点旋 转且接着从机器奇异点到下一工具位置内插工具向量的方法; 图14A说明上一工具向量位置和下一工具向量位置;
图14B说明由用于上一位置的工具向量和用于下一位置的工具向量界定的平面,其 围绕坐标系统原点,且包括与机器奇异点重合的工具向量; 图14C说明从上一位置到下一位置解决方案弁l的移动;
图15A到图15C表示从上一位置到机器奇异点内插工具向量、围绕机器奇异点旋转且接着从机器奇异点到下一工具位置内插工具向量的方法;
图16A和图16B说明上一位置和下一位置的第一解决方案,上一位置与下一位置的 第一解决方案两者均在机器奇异点的同--侧上具有负倾斜角;
图17A到图17B说明上一位置和下一位置的第一解决方案,下一位置的第一解决方 案在具有180度旋转轴旋转的倾斜轴优选侧上具有倾斜轴角;
图17C说明用于图17A的下一位置的第二解决方案,如果用于图17B中的第一解 决方案的倾斜轴角不在具有零度旋转轴旋转的倾斜轴优选侧上,则选择所述第二解决方 案;
图18A到图18C表示工具向量不应内插穿过奇异点且必须选择正确的解决方案#2 的情况;
图19表示弦向误差; 图20说明变换平面;
图21说明用于指定倾斜轴优选和各种参数的示范性输入屏幕; 图22说明表面法线处的表面接触点、工具向量与工具底部中心点之间的关系; 图23说明工具底部中心点在具有多个解决方案的情况下的选择; 图24说明从上一位置到下一位置的工具向量内插; 图25说明内插工具向量;以及 图26说明布尔决策矩阵与变换矩阵之间的对应。 对应参考符号在若干视图中始终指示对应零件。
具体实施例方式
本文中所揭示的实施例不希望为详尽的或将本发明限制于以下详细描述中所揭示 的精确形式。而是,选择并描述实施例以使得所属领域的其他技术人员可利用其教示。
参看图1,展示具有运动控制系统200的机床系统100。机床系统IOO包括框架102, 所述框架102具有第一鞍座104耦合到其。鞍座104可在方向106和108上平移。第二 鞍座110由第一鞍座104支撑。鞍座110可相对于鞍座104在方向112和114上平移。 平台120由鞍座110支撑,且可相对于鞍座110在方向122和124上旋转。在一个实施 例中,鞍座104、鞍座IIO和平台120中的每一者可通过受运动控制系统200控制的马 达而移动。
另外,第三鞍座126由框架102支撑。鞍座126可在方向128和130上平移。鞍座 126支撑可旋转部件132。可旋转部件132可相对于鞍座126在方向134和136上旋转。 在一个实施例中,鞍座126和可旋转部件132中的每一者可通过受运动控制系统200控制的马达而移动。
工具主轴138由平台132支撑。各种工具141可耦合到工具主轴138以用机床系统100执行各种操作。示范性工具包括端铣刀、钻头、螺丝攻、铰刀和其它合适工具。工具主轴138可围绕工具主轴线139旋转以向工具141输入旋转。在一个实施例中,多个工具141存放在工具圆盘传送带144中。关于工具圆盘传送带144的额外细节在第60/821,481号美,临时申请案中提供,所述临时申请案的揭示内容明确地以引用的方式并入本文中。
鞍座104在方向106或方向108上的移动经说明为在y轴150中的移动。鞍座110在方向112或方向114上的移动经说明为在x轴152中的移动。鞍座126在方向128和方向130上的移动经说明为在z轴154中的移动。可旋转部件132在方向134或方向136上的旋转经说明为在B轴156中的移动。平台120在方向122或方向124上的旋转经说明为在C轴158中的移动。机床系统100为示范性5轴机器。在一个实施例中,用A轴替代B轴156和C轴158中的一者,其中平台120可围绕x轴152和y轴150中的一者倾斜。
通过机床系统100的所述5个轴中的一者或一者以上的移动,可相对于由平台120支撑的待机械加工的零件160(见图9A)而定位工具141。可将零件160紧固到平台120以维持零件160相对于平台120的位置。
通过运动控制系统200控制机床系统100的所述5个轴中的一者或一者以上的移动。参看图2,运动控制系统200包括软件控制器202和一个或一个以上I/O模块206。应了解,本文中所揭示的方法可由软件控制器202执行,且以与软件控制器202相关联的方式加以存储。
软件控制器202接收机器配置208和输入数据(例如零件程序204),且接着提供输出数据(例如用于机床系统IOO的各个轴150、 152、 154、 156和158的位置数据)。在图2中所说明的实例中,软件控制器,202从一个或一个以上I/O模块206接收零件程序204和机器配置208。机器配置208提供机床系统IOO的各个轴150、 152、 154、 156和158之间的依赖性以及每…轴的属性。举例来说,当鞍座104在方向106上移动时,C轴158的位置改变。因此,C轴158的位置依赖于鞍座104的位置。
示范性I/O模块206包括输入部件,例如用户界面、触摸式显示器、键盘、鼠标、一个或一个以上按钮或开关、CD驱动器、软盘驱动器、到确定器网络的接口 (无线或有线)和用于将信息提供到软件控制器202的其它合适装置;以及输出部件,例如显示在一个实施例中,通过对话式操作模式输入零件程序204,借助于所述对话式操作模式在编程会话期间通过用户界面(例如触摸屏和键盘)向用户呈现一个或一个以上屏幕。对话式编程的示范性方法在转让给当前申请案的受让人的第5,453,933号美国专利中揭示,所述专利的揭示内容明确地以引用的方式并入本文中。在编程会话期间,用户可编程用于经机械加工的零件的所需几何形状且指定一个或一个以上属性。在一个实例中,用户通过创建代码区块来指定用于经机械加工的零件的所需几何形状,所述代码区块中的每一者指定工具和所述工具的轨道。如此,基于用以创建经机械加工的零件的操作而界定经机械加工的零件的几何形状。
在一个实施例中,通过NC操作模式提供零件程序204,借助于所述NC操作模式将NC程序加载到软件控制器202中。常常使用由例如G、 M、 F等字母识别的代码来以标准G&M代码语言或此语言的基于国际标准组织(ISO)或电子工业协会(EIA)RS-274-D的接近衍生物来表达零件程序。所述代码界定用以控制零件制造中的运动的-序列机械加丁操作。软件控制器202转换所述代码以提供用于机床系统100的各个轴150、 152、 154、 156和158的定位位置。在一个实施例中,由软件控制器202的剖析器220剖析零件程序204。剖析器220査看零件程序204且识别各种几何形状片段。示范性几何形状片段包括线和弧。
不管零件程序204的起点如何,零件程序204直接或基于用以创建零件的操作而界定用于经机械加工的零件的所需几何形状。然而,零件程序204可能既未指定鞍座104、110和126的位置,也未指定平台120和可旋转部件132的旋转。这些位置由软件控制器202确定。
在一个实施例中,软件控制器202为面向对象软件组件。在一个实施例中,软件控制器202基于在1995年9月26日颁布且题为"CNC控制系统(CNC CONTROLSYSTEM)"的第5,453,933号美国专利中所描述的软件,所述专利的揭示内容明确地以引用的方式并入本文中。
在一个实施例中,软件控制器202包括面向对象广义运动学库210和一个或一个以上主机软件应用程序215。主机软件应用程序215通过--接口 (例如API接口217)而与广义运动学库210的实例(本文中识别为虚拟运动学机器214、 234和236)介接。主机软件应用程序215还与软件控制器202的其它组件介接,例如用于实时铣削机的实时应用程序和图形应用程序。
广义运动学库210包括对象或类别的集合,可从所述集合中导出用以从库210的实例形成虚拟运动学机器214的对象。在一个实施例中,将机器配置208提供到软件控制
15器202。基于机器配置208,软件控制器202从运动学库210创建虚拟运动学机器214。虚拟运动学机器214存储在存储器中。虚拟运动学机器214具有与机器配置208中所描述的实际机器相同的配置。广义运动学库的设计概述
广义运动学库含有应用程序编程接口 (API) 217,主机软件应用程序215使用所述应用程序编程接口 (API) 217以经由"设定"(Set)数据函数传送数据且经由"获取"(Get)数据函数接收数据。因此,按照面向对象设计范例,主机软件应用程序215无法直接存取广义运动学库210或其实例中的私有成员数据。
介接到广义运动学库
主机软件应用程序215通过经由"设定"数据函数传送数据且经由"获取"数据函数接收数据而经由使用面向对象范例加以设计的API 217介接到广义运动学库210。广义运动学库初始化
根据面向对象范例,主机软件应用程序215用广义运动学库214组合虚拟运动学机器214所需要的数据来初始化虚拟运动学机器。主机软件应用程序215以创建广义运动学库210的实例开始。初始化程序随后使用关于机器轴的配置数据208,所述配置数据208可源自包括配置文件、用户输入和/或机床系统100的实时组件的自动驱动器辨识的众多来源。
主机软件应用程序215循环穿过所述系统中存在的每一轴且调用函数"添加轴(ID,连接)"。轴ID为唯一地识别轴的数字。示范性轴id包括对应于线性和旋转轴(x,y,z,a,b,c)的集合{0,1,2,3,4,5}。在调用此函数的情况下,广义运动学库210在存储器中创建轴对象,其可接着由主机软件应用程序215用所述轴类型所需要的以下数据中的任一者或全部来初始化。
每一轴可包括以下属性303中的某些或全部 ID
类型(线性/旋转/倾斜/主轴) 方向
坐标位置(如果为旋转轴,则为中心线)
极限
最大速度
,连接(轴连接到工具还是连接到零件)
在所有轴已被创建且用适当数据进行初始化之后,由主机软件应用程序215调用广
16义运动学库"结束设置()"函数,所述"结束设置()"函数确认机器运动学'组合工具矩阵堆栈270与零件矩阵堆栈280 (见图7A和图7B),且如果机器为5轴机器,则确定用于机器奇异点的倾斜轴角。通过在使主轴线与旋转轴(C轴156)对准的情况下定位倾斜角来确定倾斜轴(B轴158)的奇异点倾斜角。
此时,广义运动学库210准备好由主机软件应用程序215使用。通常用开始位置初始化广义运动学库210,且将其它初始模式(本文中较详细阐释所述其它初始模式中的每一者)设定为接通或断开,所述其它初始模式包括
最短角行程
内插接通/断开
如果接通,则内插类型
倾斜轴优选方向或断开或强制使用优选方向广义运动学库的多个实例
广义运动学库210的设计允许主机软件应用程序215创建广义运动学库210的用于不同过程(机床控制软件200内的不同主机软件应用程序)的多个实例。举例来说,一个实例用以解译用于实际机床系统100的实时运行的程序。另一实例用以在机床系统100上的程序运行时期间显示实时图形和位置数据。第三实例可用以解译用于不同机器的程序以用图形方式显示。此第三实例允许用户针对与软件控制器202所连接到的机器不同的机器编程零件160且使用图形验证检验这些程序。广义运动学库210的每一实例为独立的且可同时使用。
软件控制器202含有初始化类别,所述初始化类别充当广义运动学库210与主机应用程序软件215之间的API层。此配置准许软件控制器202内的不同组件(即,不同主机软件应用程序)通过共同的、可普遍存取的单独类别来初始化其广义运动学库210的实例。在必要时,主机软件应用程序215还可修改运动学模型以用于不同机器。 一实例将为广义运动学库210的并行编程图形实例,所述并行编程图形实例可经修改以模仿除CNC控制器200所连接到的机器以外的机器。而且,在一个实施例中,广义运动学库210准许用,.个控制器同时控制多个机床系统。
在用于运动控制的工具位置计算模式中使用广义运动学库
用以针对给定输入类型1到4 (见图8)中的任一者确定机器接合位置的API为简单的过载"设定位置(输入数据)"函数,其中"输入数据"为对应于类型4到类型1的必要数据。在调用"设定位置(输入数据)"函数之前设定内插模式、馈送速率或时间步长、工具信息和零件设置。广义运动学库210用输入数据更新其内部"下一位置"数据对象,且使用此对象来确定下一工具位置。当使用广义运动学库210确定工具位置时, 确定用于输入移动的接合位置和时间步长并将其存储在存储器中。广义运动学库210接 着用所输入和确定的数据更新其内部"上一位置"数据对象,所述数据将用于对确定下 一输入工具位置作出决策。主机软件应用程序215将接着使用"获取位置数据()"函数 来拾取所确定的信息,所述"获取位置数据()"函数返回对广义运动学库210中含有所 确定数据的类别的引用。
主机软件应用程序215可配置广义运动学库210以针对每一移动存储除机器接合位 置和时间步长以外的额外信息。举例来说,相对于工件的工具尖端位置、相对于机器参 考坐标系统284 (见图7A)的工具向量方向。
在计算模式中使用广义运动学库
广义运动学库210可用于纯计算模式中,其中不用所确定的工具位置更新"上一位 置"内部数据对象。当在主机软件应用程序中作出关于工具路径的逻辑决策(例如计算 定向收縮平面到机器极限的限幅点)时,这可为有用的。API为简单的过载"确定位置(输 入数据)"函数,其中"输入数据"为对应于类型4到类型1的必要数据。必须在调用"确 定位置"之前设定必要的机器状态,调用"确定位置"等同亍使用前一部分中所描述的 "设定位置"。
除了计算输入工具位置的机器接合角之外,广义运动学库210还可相对于被模仿机 器的运动学联动中的任一坐标系统确定工具尖端和工具向量数据。 一实例将为在给定机 器接合位置和角的情况下在机器参考坐标中计算工具向量"获取相对于机器的工具向 量(机器接合位置)",其中"机器接合位置"为含有所有相关轴位置的向量。此函数调用 将不会更新广义运动学库210内部上一位置数据对象。
虚拟运动学机器
广义运动学库210将运动学计算合并于可在全部代码中共享的单个库来源中。库的 广义化为库提供创建具有多达5个轴的任何正交机床系统的虚拟运动学机器的方式。在 一个实施例中,这用面向对象设计来实现,在面向对象设计中,在库中创建机床系统100 的虚拟数学模型。虽然本文'l'描述广义运动学库210用于与具有多达5个正交轴的机床 系统一起使用,但由于广义运动学库210的面向对象设计,广义运动学库210可专用于 非正交系统和具有5个以上轴的系统。面向对象设计提供产生即插即用库的灵活性,所 述即插即用库可连接并配置其自身以模仿具有i到5个轴的任何正交机床系统。另外, 虽然本文中描述用于与机床系统IOO—起使用,但运动控制系统200可与包括机器人学 的任何类型的运动系统一起使用。虚拟运动学机器214基于本文中所论述的一个或一个以上矩阵堆栈。这些矩阵堆栈 (例如图7A和图7B中的270和280)包括描述机床系统100的各个轴150、 152、 154、 156和158中的一者或一者以上的特征的矩阵。还可在矩阵堆栈216中说明机床系统100 的额外特征。举例来说,零件160耦合到平台120。
轴对象
参看图3,将机床系统100的各个轴150、 152、 154、 156和158中的每一轴描述为 一对象。所述轴对象从图3中所表示的通用轴类别302导出。轴类别302是用于所有轴 对象的基础类别且界定轴对象的特性和方法。轴类别302包括各种轴属性303和变换矩 阵305。轴基础类别302含有所有导出轴对象拥有的共同数据和方法。
以下是轴基础类别302中所包括的数据列表
数据
轴ID-对应于{X,Y,Z,A,B,C,S}的整数{0,1 ,2,3,4,5,6,7}
名称z^字符串("X","Y'V'ZV'AV'B","C","S") 类型=枚举{线性,旋转,倾斜,主轴}
位置=轴位置
矩阵=轴变换矩阵
连接=枚举{工具,零件}
最小位置=运动的下界
最大位置=运动的上界
轴极限存在=布尔{真,假}
初始机器方向向量=机器参考框架中表示正轴移动方向的向量。对于旋转轴来说, 针对右手正旋转的轴中心线的向量方向。 最大轮廓速度=内插速度 最快速度=快速移动速度
方法
在轴基础类别屮包括若干方法,包括用于上述数据中的每--者的"设定()"和"获 取()"函数。
从轴类别302导出3个导出类别,即线性轴320、主轴线321和旋转轴322。主轴 线类别321从轴基础类别导出。除了轴基础类别202数据和方法之外,主轴线类别321 还包括
数据位置=相对于其所连接到的轴的主轴坐标系统原点 方法
设定轴S()-初始化函数
设定相对于机器的初始主轴线方向(方向向量)=用以从基础轴类别设定初始机器方 向向量的函数
设定相对于上一轴的位置()=用以设定相对于其所连接到的上一轴的主轴坐标系统 的位置的函数
线性轴类别320从轴基础类别302导出。除了轴基础类别数据302和方法之外,线 性轴类别320还包括 方法
平移O-用以平移向量或将一矩阵乘以线性轴平移矩阵的函数 设定轴(x,y,zh初始化函数
旋转轴类别322从轴基础类别302导出。除了轴基础类别302数据和方法之外,旋 转轴类别322还包括
数据
中心线=旋转轴的位置 方法
设定轴(a,b,c^初始化函数
旋转()=用以旋转向量或将一矩阵乘以旋转的函数 获取到轴的垂直距离(点)=函数返回到旋转轴的垂直径向距离
基于机器配置208,虚拟运动学机器214包括对应于图1的轴150、 152、 154、 156 和158的五个机器特定轴对象250、 252、 254、 256和258。提供I/O模块206的用户界 面的示范性输入屏幕以用于针对C轴258 (图4A和图4B)和B轴256 (图5A和图5B) 指定一些示范性属性信息。
参看图4A和图4B,通过I/O模块206的用户界面328针对C轴258指定属性信息。 在图4A中,旋转配置类型属性330经设定为完全旋转、最大速度属性332和角默认位 置属性334。参看图4B, C轴258的中心线属性324经界定为从x轴252的偏移336和 从y轴250的偏移338。
参看图5A和图5B,通过I/O模块206的用户界面328针对B轴256指定属性信息。 在图4A中,旋转配置类型属性330经设定为倾斜旋转、最大速度属性332、校准原位 340、负方向行进极限342和正方向行进极限344。参看图5B, B轴258的中心线属性
20324经界定为从x轴252的偏移346和从y轴250的偏移348。
由运动控制系统200通过I/O模块206针对线性轴250、252和254从操作者接收类 似属性信息。另外,可提供用于旋转轴256和258的额外属性。图3到图5中所列的属 性303和变换305为示范性的且不希望为详尽的。
一旦所有轴经界定,运动控制系统200便从操作者接收各个轴150、 152、 154、 156 和158之间的相依性,使得虚拟运动学机器214在对应轴对象250、 252、 254、 256和 258之间具有相同相依性。图6中展示I/O模块206的用户界面328的示范性输入屏幕, 其用于设定轴250、 252、 254、 256和258之间的相依性。在一个实施例中,所述轴的 界定在机床系统200的初始设置期间完成,且除非需要,否则在后续操作期间不需要更 改所述界定。
在图6中,显示由操作者界定的轴250、 252、 254、 256和258中的每一者。操作 者可通过输入部件(例如触摸屏)突出显示给定轴(说明y轴250)。操作者接着可通过 选择输入350而将y轴250移动到零件运动学轴次序列表356和工具运动学轴次序列表 358中的另一者。操作者可通过选择输入352而将y轴250在当前列表356中移动到较 高处。操作者可通过选择输入354而将y轴250在当前列表356中移动到较低处。
各个轴在零件运动学轴次序列表356和工具运动学轴次序列表358中的次序向软件 控制器202提供各个轴的相依性。每一列表356和358中所列的第-一轴为用于所述特定 列表的基础轴。如图6中所说明的,轴250、 252、 254、 256和258的次序对应于机床 系统100的轴150、 152、 154、 156和158。如图6中所排序的,在零件运动学轴次序列 表356中,x轴252和C轴258两者均与y轴250 —起移动。另夕卜,C轴258与x轴252 一起移动,但y轴不与x轴一起移动。x轴250或y轴252均不与C轴的移动一起移动。 对于工具运动学轴次序列表358, B轴256与z轴254 —起移动,但Z轴254不与B轴 256 —起移动。最后,y轴250、 x轴和C轴的移动独立于z轴254和B轴256的移动。
矩阵堆栈
如上文所提及的,各个轴250、 252、 254、 256和258中的每一者具有对应的变换 矩阵305。通过知晓各个轴250、 252、 254、 256和258的相依性,虚拟运动学机器214 可产生一个或一个以上矩阵堆栈以计算各种类型的输出数据。虚拟运动学机器214包括 由初始化组件218创建的一个或一个以上矩阵堆栈216。矩阵堆栈216为用于广义运动 学库210中以将多个变换串联在一起的通用方法。
图7A和图7B中表示两个示范性矩阵堆栈216。工具矩阵堆栈270用于通过变换矩 阵276的串联而以数学方式模仿从主轴坐标系统(主轴)272中的工具尖端位置到机器参考坐标系统(m) 274中的工具尖端位置的变换。在图7A的最左部分中以图形方式表 示工具矩阵堆栈270,且在图7A的最右部分中以数学方式表示工具矩阵堆栈270。在一 个实施例中,对于机床系统100 (由虚拟运动学机器214表示),通过等式(1)表示工 具矩阵堆栈270。
〖工具尖端m]=[变换》俠换b]4变换i湘]"r工具尖端袖] (1)
其中"[工具尖端主轴]"为表示工具尖端在主轴坐标系统中的位置的列向量;
"[变换,]"为从主轴坐标系统到旋转B轴坐标系统的变换; "[变换b]"为从旋转B轴坐标系统到z轴坐标系统的变换; "[变换d"为从z轴坐标系统到机器坐标系统的变换;且
"[工具尖端m]"为表示机器坐标系统中的工具尖端位置的列向量。 图7B中所展示的零件矩阵堆栈280用于通过变换矩阵286的串联而以数学方式模 仿从工件坐标系统(wp) 282中的零件点到机器参考坐标系统(m) 284中的零件点的 变换。在图7B的最左部分中以图形方式表示零件矩阵堆栈280,且在图7B的最右部分 中以数学方式表示零件矩阵堆栈280。零件矩阵堆栈280含有用于零件运动学链的所有 轴运动学矩阵以及零件设置矩阵290。本文中提供确定零件设置矩阵290的方法。当相 对于变换平面界定用户程序时或当在程序中调用图案化变换时,可将额外矩阵推到零件 矩阵堆栈上。广义运动学库使用变换平面矩阵堆栈292,任何数目的变换平面可堆叠到 所述变换平面矩阵堆栈292上。广义运动学库还具有预变换平面矩阵堆栈294,任何数 目的图案化变换可堆叠到所述预变换平面矩阵堆栈294上。示范性图案变换包括平移、 旋转和镜射。如同任何矩阵堆栈一样,变换平面矩阵堆栈与预变换平面矩阵堆栈两者均 可在不必删除矩阵堆栈中的矩阵的情况下接通和断开。因此,完整的零件矩阵堆栈280 可含有图7B中所说明的变换。
在一个实施例中,对于机床系统100 (由虚拟运动学机器214表示),通过等式2表 示零件矩阵堆栈280。=改换v ]4变换,]4变换c ]4零件设置矩阵] (2) x改换平面矩阵堆栈]4预变换平面矩阵堆栈W零件点局部]
其中"[零件点;^']"为表示在没有变换平面在作用中时的零件点在工件坐标系统中 的位置或表示在至少一个变换平面在作用中时的"变换矩阵堆叠"中的顶部变换平面的 列向量;
"[预变换平面矩阵堆栈]"为应用于输入位置的图案化变换;"[变换平面矩阵堆栈]"为从图案化变换堆栈中所界定的系统到零件设置坐标系统的 经串联的"变换平面矩阵堆栈"矩阵变换;
"[零件设置矩阵]"为从零件坐标系统到C轴坐标系统的变换; "[变换c]"为从旋转C轴坐标系统到X轴坐标系统的变换; "[变换x]"为从X轴坐标系统到y轴坐标系统的变换; "[变换y]"为从y轴坐标系统到机器参考坐标系统的变换;且
"[零件点M]"为表示参考机器坐标系统中的零件点位置的列向量。
应了解,上述用于工具尖端和零件点位置的说明性实例仅为示范性的,且一旦已确
立各个轴250、 252、 254、 256和258之间的相依性,便可使用各种矩阵堆栈将各种类 型的输入数据变换成各种类型的坐标系统。
在一个实施例中,以从机器参考坐标系统284向外到主轴坐标系统272的次序将矩 阵推到矩阵堆栈270上,且以从机器参考坐标系统284向外到工件坐标系统282的次序 将矩阵推到零件矩阵堆栈280上。机床系统IOO的所述轴中的一者的每个移动未必需要 重新计算各个矩阵堆栈270和280。在一个实施例中,广义运动学库210决定是否需要 重新计算给定的矩阵堆栈。
举例来说,假定机器坐标系统284中需要工具尖端位置和零件位置两者。当正在切 割零件160时,机床系统100沿着x轴152 (虚拟机器214中的x轴252)平移。因为 零件巳相对T机器坐标系统284移动,所以广义运动学库210将重新计算零件矩阵堆栈 280,但因为工具141尚未相对于机器坐标系统移动,所以广义运动学库210将不会重 新计算工具矩阵堆栈270。这减少了所执行的矩阵乘法的数目。在一个实例中,当设定 轴位置时,如果轴位置不同于当前位置,则虚拟机器214更新每一轴对象位置。如果轴 位置改变,则在适当工具或零件矩阵堆栈270和280中设定指示必须重新确定前向和反 向矩阵堆栈变换矩阵的旗标。当接下来请求使用所需矩阵时,矩阵堆栈将重新确定所述 所需矩阵。
可实施各种矩阵堆栈以相对于任何轴坐标系统、工件坐标系统282、主轴坐标系统 272或机器参考坐标系统284确定任何点或向量。可实施其它矩阵堆栈以用于变换到变 换平面坐标系统296,例如图20所示。可在对话式零件程序的编程会话中界定变换平面 298。
返回到图2,虚拟运动学机器214接收来自剖析器220的几何形状信息,且确定对 应于机器轴150、 152、 154、 156和158的轴350、 352、 354、 356和358 (见图3)中
23的每一者的实际机器位置。将这些机器位置提供到轴150、 152、 154、 156和158的运 动系统以定位由工具主轴138支撑的工具141和零件160。示范性运动系统包括伺服马 达。通过发送到实时铣削机232的位置数据230表示由虚拟运动学机器214确定的机器 位置。位置数据230不需要一齐呈现给实时铣削机232,而是虚拟运动学机器214可视 需要将用于给定轴的一个或一个以上下一位置放置于由实时铣削机232读取的堆栈上。 因此,当虚拟运动学机器214正确定从第二位置到第三位置所采用的步长时,实时铣削 机232可能正从第一位置移动到第二位置(穿过一系列中间点)。 并行编程
通过使软件控制器202基于指定的机器配置208和广义运动学库210而产生虚拟运 动学机器214,可结合多种实际机器来使用软件控制器202。举例来说,如果平台120 曾可围绕x轴152倾斜,则这可由传递到软件控制器202的机器配置208来加以考虑。
这不仅增加了软件控制器202的灵活性,而且增加了软件控制器202的有用性。举 例来说,如图2中所展示的,产生两个额外虚拟机器234和236。虚拟机器234也基于 机器配置208。如此,虚拟机器234与虚拟运动学机器214相同,但可用于软件控制器 202的用于不同用途的不同部分(例如模拟图形应用程序245)中。虚拟机器236基于 通过I/O模块206接收的第二机器配置238。虚拟机器234和236每一者分别接收输入 数据240和242。
虚拟机器234和236提供输出数据244和246。输出数据244和246提供针对一应 用程序而请求的信息。在一个实施例中,,用于虚拟机器234和236中的一者或两者的输 出数据为机器轴位置(例如用于实时铣削机的)。在所说明的实施例中,虚拟机器234 耦合到模拟图形软件应用程序245。在一个实施例中,模拟图形应用程序245正请求在 显示器(工具图形显示器)上呈现工具尖端位置(在机器运行时期间的工具尖端位置)。 这可从所有机床系统轴位置的位置来确定。其它示范性应用程序包括线框图形软件应用 程序和导出器软件应用程序,或其它合适的应用程序247。在一个实施例中,示范性输 出数据包括经机械加工的零件的当前形状或经机械加工的零件的模拟形状,所述模拟形 状基于待由模拟图形应用程序245显示的工具141的经编程移动(包括工具141的位置)。
在一个实施例中,虚拟运动学机器214基于机器配置208并正处理零件程序204以 将位置数据230提供到实时铣削机232,且虚拟机器236基于机器配置208并正处理零 件程序(作为输入数据242)以提供位置数据作为输出数据246。如此,软件控制器202 的用户可用实时铣削机232 (例如图1中所说明的5轴机器)切割零件160,同时在由 机器配置236界定的四轴机器上编程另一零件,以用于用模拟图形软件应用程序245加
24以验证或提供到与所述四轴机器相关联的实时铣削机232。在显示器上显示输出数据246 的一个原因是检查干涉及其它问题儿何形状或检査用于切割零件160的估计时间。以此 方式,软件控制器202准许通过实施虚拟机器(例如虚拟机器214、 234和236)而并行 编程多个机器。还可在单独确定器(例如膝上型计算机)上实施软件控制器202。以此 方式,用户可编程对应于机床系统100的虚拟机器,且接着将所得机械程序提供到机床 系统以对零件进行机械加工或用模拟图形应用程序245査看。在此实例中,所得位置数 据可为NC程序或对话式程序。 级联方法
如本文中所陈述的,在一个实例中,虚拟运动学机器214基于多个输入工具位置而 确定轴250、 252、 254、 256和258的位置。在一个实施例中,虚拟机器214通过级联 方法400确定轴250、 252、 254、 256和258的位置。
图8中说明级联方法400。参看图8,可将四种不同类型的输入工具位置信息402、 404、 406和408提供到级联方法400,可从所述工具位置信息确定轴250、 252、 254、 256和258的位置。工具位置信息402在本文中称作类型4数据,且包括零件上用于工 具的表面接触点、接触点处的零件表面的表面法线向量和相对于工件坐标框架282的工 具向量。工具位置信息404在本文中称作类型3数据,且包括相对于工件坐标框架282 的线性工具尖端位置和工具向量方向。工具位置信息406在本文中称作类型2数据,且 包括相对于工件坐标系统282的线性工具尖端位置和相对于零件坐标系统285 (图20) 的旋转轴位置。零件坐标系统285包括用于使工件坐标系统对准机器参考坐标系统284 的旋转偏移。如果偏移为零,则工件坐标系统相对于机器坐标框架284完全对准。如此 项技术中已知的,零件设置坐标系统285为通常参考的坐标系统,且包括于本文中以提 供相对于所述参考框架处理所接收数据或输出数据的能力。在图7B中的零件设置矩阵 290中考虑零件设置坐标系统285的偏移。工具位置信息408在本文中称作类型1数据, 且包括相对于机器坐标框架284的线性轴位置和旋转轴位置。
如图8中所说明的,依据接收到何种"类型"的输入工具数据而定,级联方法400 向下级联,从而确定下部数目类型的输入工具数据,直到最终确定轴250、 252、 254、 256和258的轴位置和对应时间410为止。
主机应用程序软件215根据标准面向对象设计原理使用"获取"和"设定"函数调 用虚拟运动学机器214。存在用于上文所列的四种输入类型中的每一者的单独"设定" 函数。当调用"设定"函数时,虚拟运动学机器214通过级联方法400处理数据。
在一个实例中,通过来自主机软件应用程序215的命令"KMl.设定位置类型弁4(x,y,z,u,v,w,i.j.k)"将类型4数据提供到虚拟运动学机器214。通过(x,y,z)指定表面接触点。 通过(u,v,w)指定表而法线向量。通过(i,j,k)指定工具轴向量。相对于工件坐标系统 282界定输入表面点、表面法线向量和工具向量中的每 -者。 类型3数据的确定
级联方法400包括用于从所提供的类型4确定类型3数据的方法。如先前陈述的, 类型3数据包括均相对于工件坐标系统282的工具底部中心和工具向量。方法412在确 定工具底部中心416(见图22)和工具向量422中考虑工具141的形状。在一个实例中, 方法412使用当前工具外半径和转角半径来确定工具底部中心416和工具向量422。
参看图22,展示表面接触点414和工具底部中心点416。还展示工具转角半径的中 心418和工具中心420点。最后,展示工具向量422和穿过点414的表面法线向量424。
通过等式3提供表面接触点414与工具底部中心点416之间的关系,
工具尖端=尸+ "(々—f) + (/ -r)x
(3)
其中
p-工件上的表面接触点;
N=P处的表面法线向量; T二工具轴向量; R-工具外长半径; P工具的半径
等式3描述从表面接触点414到工具底部中心点的移动。项rx(々-f)组合414—418
与420—416,且项
w — (w.r)r
确定向量418 —42(h
、1 /
通过所提供的类型4输入数据提供变量P、 N和T。通过工具配置文件提供变量R 和r。基于等式3,确定工具底部中心点416。
在图23中所展示的情况下(其中工具向量422与表面法线向量424重合),如果工 具外半径不等于工具转角半径,则存在用以成切线地定位工具的无限解决方案。在此情 况下,方法412定位工具底部中心416以接触表面点414,这消除了解决方案的不明确 性。对于工具转角半径等于工具中心半径的球头铣刀来说,不存在无限解决方案情况。
方法412返回相对于工件坐标系统282的工具底部中心位置416以及作为类型4数 据的部分而提供的工具向量422。在虚拟运动学机器214中通过命令"KM1.设定位置类型弁3(x,y,z, i,j,k)"将类型3数据提供到方法400的下一层级。还可由主机软件应用程序 215在虚拟运动学机器214外部起始此命令。
级联方法400包括用于从类型3 404确定类型2数据406的方法426。如先前陈述 的,类型2数据406包括相对于工件坐标系统282的工具底部中心416和相对于零件设 置坐标系统285的旋转轴位置。方法426为机器旋转轴(B轴256和C轴258)确定解 决方案以使机床系统IOO的工具主轴138对准类型3数据的工具向量422相对于工件的 定向。对于机床系统100,可存在用于B轴256和C轴258的位置的导致主轴138与输 入工具位置的工具向量422对准的两个或两个以上解决方案。本文中描述类型2数据406 的确定。
级联方法400进一步包括用于从类型2数据406计算类型1数据408的方法428。 方法428选择B轴256和C轴258的导致主轴线138与输入工具位置的工具向量422 对准的两个可能解决方案中的 者。另外,对于B轴256和C轴258的两个解决方案中 的每一者,线性轴位置是不同的。在一个实施例中,方法428基于工具的上一位置、移 动类型、机器轴极限和/或工具是否将移动穿过机器的奇异点而选择B轴256和C轴258 的旋转位置。方法428的输出为类型I数据(机床系统100的线性和旋转轴位置)。
将类型1数据408提供到级联方法400的方法430。方法430确定各个轴移动到类 型1数据408屮所指定的位置的受轴速度限制的时间步长。在一个实施例中,时间步长 基于工具尖端相对于工件的馈送速率。必要时可调整馈送速率以适应最大机器轴速度的 违反。所述方法更新运动学机器轴位置且存储位置数据以供输出。如本文中所提及的, 根据需要将经更新的轴位置提供到虚拟运动学机器214以用于更新矩阵堆栈216。
类型2数据的确定
返回到级联方法400的方法426,从类型3数据404确定类型2数据406。在一个 实施例中,方法426包括用以基于工具底部中心点416和工具向量422 (其为用于相对 于工件坐标系统282的工具定向的向量)而确定系统IOO的反向运动学的基于向量的方 法。虽然结合系统100论述方法426,但方法426可适应任何正交5轴机器。
在个实施例屮,方法426遵循以下进程。首先,通过应用零件设置变换矩阵将相 对于工件坐标系统的工具向量422变换成机器坐标框架284。如图7B中所说明的,零 件设置变换矩阵含有用于移动零件的轴的运动学联动中所连接的机器轴的所有偏移。
一般来说,对于正交5轴机器的任何给定工具位置,存在两个可能解决方案,除了 当倾斜轴156使主轴线139对准旋转轴方向向量158时的情况之外。在此情况下,因为 机器定位于机器奇异点,所以存在无限解决方案。
27方法426检斉以确定主轴线139的旋转是否沿着机器奇异点。图10A到图IOC中展 示主轴线139的旋转沿着机器奇异点的示范性情形。图10A说明主轴线139由于倾斜轴 156的位置而平行于平台120的旋转轴158的机床系统100的情形。参看图IOB,主轴 线161平行于可旋转平台167的旋转轴163,可旋转平台167由于倾斜轴165的位置而 支撑于可倾斜平台169上。参看图IOC,主轴线171由于中间可倾斜部件179的倾斜轴 177的位置而平行于可旋转部件175的旋转轴173。
方法426基于如图9A到图9C中所说明的等式4的关系而确定用于机床系统100 的倾斜轴(B轴156)的旋转角
倾斜角^arccos(工具向量机器"刀始主轴线方向〗 (4)
其中
"倾斜角"为B轴的旋转角;
"工具向量机器"434为机器坐标系统436中的输入工具向量;且
"初始主轴线方向"432为当倾斜轴角为零时的主轴线相对于机器坐标系统的旋转。 如果"倾斜角"在倾斜轴编码器分辨率的公差内或者在操作者指定的倾斜轴精确度 内等于奇异点倾斜角,则方法426认为工具向量422沿着机器奇异点。在此情形中,方 法426将B轴156的旋转角设定为上-旋转角位置,或如果在虚拟运动学机器中尚未设 定上一旋转位置,则设定为零。这防止对于简并情况试图确定旋转角。
如果经变换的工具向量422不沿着机器的奇异点,则通过参看图9A到图9C的以下 步骤确定C轴158的旋转角。使用旋转轴158、倾斜轴156和垂直于旋转轴158和倾斜 轴156的交叉向量0 440 ("TCR坐标系统")设置正交坐标系统。等式5给出交叉向量 0 440的方向。
交叉向量0=旋转轴@倾斜轴 (5)
工具向量422的沿着倾斜轴156的分量通过等式6来表达且在图9C中标记为442(
工具向翼J0]=工具向罵几器 倾斜轴 (6)
工具向量422的沿着交叉向量0 440方向的分量通过等式7来表达且在图9C中标 记为444。
工具向量^[1]=工具向量机器'交叉向量0 (7)
投影于倾斜轴与交叉向量0平面中的工具向量通过等式8来表达且在图9C中标记 为446
28投影T.具向量m-
工具向量^
/歸g 工具向量^[l]/廳g 0
(8)
其中
,g = V(工具向量rcJO])2 +(工具向量7^[1])
(9)
通过等式10来确定C轴158的旋转角。 '投影工具向量^

旋转角=arctan 2
(10)
、投影工具向量^m)
如本文中所提及的,通过方法426确定的分别用于b轴156和c轴158的倾斜角和 旋转角仅为用于通用正交5轴机器的两个可能解决方案中的一者。在方法428中选择最 佳解决方案。
类型I数据的确定
在 一 个实施例中,方法42 8确定选择用于旋转角和倾斜角的所述解决方案中的哪一 者。在确定用于旋转角和倾斜角的优选解决方案中可考虑若千因素。示范性因素包括正 被确定的工具从上一命令位置到下一工具位置的内插路径和是否已选择倾斜轴优选。两 个示范性内插路径包括(1)沿着工具位置之间的轨道内插工具向量422和(2)在工具 位置之间线性地内插机器旋转角和倾斜角。在一个实施例中,内插为线性内插。
在一个实施例中,虚拟机器214进一步包括用以在工具位置之间内插最短角行程方 向的方法。此方法自动地应用于类型4和类型3输入工具位置。当内插类型l在作用中 时,也自动使用此方法。
通过倾斜轴优选,操作者可强制虚拟运动学机器214将倾斜轴保持在机器奇异点的 任一侧上。如图21中所展示的,操作者可通过选择输入482或在零件程序内选择负倾 斜轴优选、正倾斜轴优选或没有优选(中性的)。操作者可简单地指定优选以使得机器 在可能时使用所述倾斜优选或可强制优选以使得机器不可使用另一倾斜轴方向(负的或 正的)。操作者或软件控制器202可指定所需的或强制的倾斜轴优选的一个应用是当正 相对于变换平面298 (见图20)界定特征时。当倾斜轴在围绕奇异点的正方向和负方向 上具有高度不对称的轴限制时和/或当机器工作范围在奇异点的一侧上比另一侧上大得
多时,所述倾斜轴优选特征为有用的。当工具的内插路径不具有任何利害关系时,用户 还可强制虚拟运动学机器214使用指定的倾斜轴优选侧。
参看图IIA,展示用于机床系统100的机器奇异点490。参看图IIB,展示对应于 正倾斜轴优选的倾斜角。参看图IIC,展示对应于负倾斜轴优选的倾斜角。在一个实施例中,方法428如下进行。首先,如果启动倾斜轴优选,则选择对应于 优选倾斜轴方向的解决方案且将所述旋转角和倾斜角存储作为第一解决方案。否则,如 果(1)输入类型4数据,(2)输入类型3数据,(3)最短角行程模式在作用中,或(4) 工具向量内插在作用中,则通过以下方法确定最短角行程旋转和倾斜轴角解决方案。
最短角行程方法
首先,如等式(11)和(12)中所表达而确定旋转角的改变和倾斜角的改变。
A旋转角1=下一旋转角-上一旋转角 (11)
其中
"A旋转角1"为旋转角的改变; "下一旋转角"为所考虑的旋转角;且 "上一旋转角"为先前位置的旋转角。
△倾斜角1=下倾斜角-上,斜角 (12) g巾
"A倾斜角1"为倾斜角的改变; "下一倾斜角"为所考虑的倾斜角;且 "上一倾斜角"为先前位置的倾斜角。 当计算最短角行程解决方案时考虑三种情况
情况I-如果A旋转角1>^
2
计算替代旋转解决方案。
情况II-如果A旋转角1<^
2
解决方案弁1为最短角行程解决方案。
情况III-如果A旋转角1 = 2
2
在情况III中,所述旋转轴角解决方案两者为等距的;两个解决方案均不为较短的。 在此情况下,考虑"A倾斜角"。确定替代角解决方案和与上一位置的角差 A倾斜角2=替代倾斜角-上一倾斜角 (13) g巾
"替代倾斜角"为替代角解决方案;
"A倾斜角2"为上一倾斜轴位置与替代角解决方案之间的差。
如果(A倾斜角l--A倾斜角2),则两个解决方案为等距的,且选择倾斜轴优选选
30项,接着将倾斜角设定为解决方案弁l。否则,如果(A倾斜角^A倾斜角2),则选择最 短倾斜轴解决方案且将其设定为等于解决方案弁1。
返回到类型l数据的确定,接下来,针对选定解决方案的旋转和倾斜轴角确定前向 运动学以确定线性机器轴位置。通过零件矩阵堆栈280确定x轴和y轴的线性轴位置。 通过工具矩阵堆栈270确定z轴的线性轴位置。在一个实施例中,通过以下步骤来确定 线性轴位置将旋转轴和倾斜轴对象位置设定为所选解决方案1或解决方案2;将所有 线性轴对象位置设定为零;以及重新计算零件和工具矩阵堆栈(2S0和270),计算前向 运动学以确定如由等式14和15表示的机器坐标系统中的零件点和机器坐标系统中的工 具尖端。
经变换零件点,《=零件矩阵堆栈.前向变换(零件点WP) 经变换工具尖端《=工具矩阵堆叠.前向变换(工具尖端* 点) △向量《=经变换零件点《-经变换工具尖端《 (14-16) "A向量"为经变换零件点与经变换工具尖端之间的差。此向量用于平移线性轴以 使工具接触零件上的正确位置。广义运动学库210知晓各个轴270之间的相依性以及给 定轴是零件矩阵堆栈280的部分还是工具矩阵堆栈270的部分。
检查所确定的旋转和倾斜轴位置以及线性轴位置以确定其是否在预定区域内。示范 性预定区域为受各个轴的极限约束的区域。如果轴位置中的任一者超出机器极限,则通 过I/O模块206将错误报告给操作者。在一个实施例中,通过显示器上的错误消息来报 告所述错误。在一个实施例中,如果满足以下三个条件中的任一者,则报告错误(1) 机床系统上存在少于5个轴;(2)倾斜轴优选在作用中且操作者已指定必须使用特定倾 斜轴方向(强制倾斜轴优选);或(3)类型2输入数据是提供到级联方法400的最高次 序数据且工具向量内插已断开。否则,考虑解决方案弁2。 确定第二解决方案
对于机器位置不在机器奇异点490处的情形,可基于等式17和18而确定机床系统 100的替代或第二解决方案,
替代旋转角=转换到零到2PI(旋转角+K)
替代倾斜角=(奇异倾斜角-倾斜角)+奇异倾斜角 (17, 18)
其中
"旋转角"为用于解决方案1的旋转角; "倾斜角"为用于解决方案1的倾斜角;且 "奇异倾斜角"为倾斜轴在奇异点处的角。相对于机器奇异点内插
当上一工具位置在机器奇异点490处时或当从上一工具位置到下一工具位置的内插 将导致主轴穿过机器奇异点490时,必须考虑穿过机器奇异点的内插。在任一情形下, 由方法428调用内插方法,所述内插方法在本文中称为围绕机器奇异点内插方法("MSP 内插")。在一个实施例中,当工具141围绕机器奇异点490旋转时,MSP内插保持工具 141与工件接触且相对于工件固定。
参看图12A到图12D,当机床系统100的轴中的一者或一者以上移动时,工具141 保持与零件160接触。在图12A到图12D中,零件160与工具141在围绕机器奇异点 490的180度旋转中保持接触。在MSP内插期间,工具141实质上保持相对于工件160 固定。
当满足以下条件时,MSP内插准许方法428选择解决方案弁l或解决方案#2,因为 MSP内插可处理穿过机器奇异点490的主轴线139:如果以下各者中的任一者为真,则
可使用MSP内插(1)提供类型4输入数据;(2)提供类型3输入数据;(3)最短角
行程选项在作用中;或(4)工具向量内插在作用中。
在第一情况下(图13A到图13C),上一工具位置在机器奇异点490处且下一工具 位置不在机器奇异点490处。在倾斜轴优选在作用中的情况下,如果对应于优选倾斜轴 侧的解决方案在机器极限内,则选择所述解决方案。必要时,方法428将调用MSP内 插以在上一工具位置到下一工具位置之间线性地内插工具向量。在此情形下,接着使用 倾斜轴优选解决方案从机器奇异点490到下一工具位置进行内插。
在第二情况下,其中预期旋转轴158的零度旋转;解决方案1倾斜轴在奇异点到上 一工具位置的相对侧上且如图14A到图14C中所说明的,解决方案1倾斜轴角不在倾 斜轴优选侧上。参看图14B,由用于上一位置的工具向量和用于下--位置(解决方案1) 的工具向量界定的平面492围绕坐标系统原点且包括与机器奇异点490重合的工具向
在此情况下,假定解决方案2在机器极限内,则所述方法将选择解决方案2以保持 倾斜轴在优选侧上。接着,如图15A到图15C屮所说明的,所述方法从上-一位置454 到机器奇异点490内插工具向量(图15A),接着使用MSP内插围绕机器奇异点490旋 转(图15B),且接着使用解决方案2从机器奇异点490到下一工具位置458内插工具 向量(图15C)。
在第三情况下,如图16A和图16B中所展示的,解决方案1具有旋转轴158的180 度旋转,且解决方案1倾斜轴在机器奇异点的与上一工具位置相同的一侧上。在此情况
32下,结果依据用于解决方案1的倾斜轴角是否在倾斜轴优选侧上而改变。如果用于解决 方案1的倾斜轴角在倾斜轴优选侧上,则方法将从上一位置到机器奇异点490内插,接 着调用MSP内插,随后从机器奇异点490到对应于解决方案1的下 -工具位置内插工 具向量。这是本文中在图15A到图15C中说明且在图17A和图17B中展示的概念。
如果用于解决方案1的倾斜轴角不在倾斜轴优选侧上,则方法将选择解决方案2且 不必围绕奇异点旋转。这在图17C中加以说明。
在第四情况下(图18A到图18C),其中先前三种情况均不适用,解决方案1具有 旋转轴158的任何其它旋转且倾斜轴角不在机器奇异点4卯的与上一位置相同的一侧 上。在此情况下,选择解决方案2,否则工具向量将不会内插相对于工件的正确轨道, 因为解决方案1将内插移动穿过奇异点的工具。
一旦确定正确的解决方案,如果选择内插且内插尚未在作用中,则通过内插来确定 从上一位置到下'位置的移动。在如本文中所描述的一些情况下,此移动包括工具向量 穿过机器奇异点。在本文中还描述的其它情形下,此移动不包括工具向量穿过机器奇异 点。 一旦完成内插,便将作为类型I数据408的位置提供到级联方法400中的方法430。
内插穿过机器奇异点的工具向量
在如本文中所描述的情况下(其中从上一工具位置到下一工具位置的移动包括工具 向量穿过机器奇异点490),实施以下方法。通过此方法内插的路径使工具围绕机器奇异 点490旋转以使得工具尖端和工具向量相对于工件坐标系统282保持固定。当满足以下 条件时使用所述方法(1)工具向量内插在作用中;(2)先前已设定上一位置机器位置; 以及(3)旋转轴158存在于机器中。
所述方法遵循以下步骤。首先,确定上一位置倾斜角是否等于机器奇异点倾斜角。 如果否,则通过在机器奇异点490处界定中间位置而从上一位置到机器奇异位置点内插 运动,如下所述。通过经由级联方法400发送中间机器奇异位置而进行所述内插。接着 从上一位置到机器奇异点4卯处所界定的中间位置内插运动。接着在机器奇异点490处 执行旋转。最后,接着从机器奇异点处的中间位置到下一位置490内插运动。在从上一 位置到机器奇异点处的中间位置和从机器奇异点处的中间位置到下一位置内插的情况 下,实施本文中所论述的内插方法级2或级1与级2。
机器奇异点处的中间位置的识别及其内插
对于类型4输入数据,如果(角上一与下一表面法线-O),则用于前一位置的表面 法线向量与用于下一内插位置的表面法线向量共线。"角上一与下一表面法线"基于以 下等式中的关系。
33角上一与下一表面法线^arccos(上一表面法线,下一表面法线)
如果(角上一与下一表面法线邦),则用于前一位置的表面法线向量与用于下一内 插位置的表面法线向量不共线。
基于以下等式中所展示的关系而提供用于机器奇异位置的表面法线向量。
奇异表面法线=围绕交叉向敦旋转(上一表面法线表面法线旋转角 其中
"交叉向:動"为前一位置表面法线向量将围绕其旋转的向量,其基于等式(19)中 的关系而确定,
交叉向量2 =
上一表面法线 下一表面法线
(19)
上一表面法线 下一表面法线
且"表面法线旋转角"为基于等式20屮的关系的角旋转量值, lAll、
表面法线旋转角=
其中
△3
*角上--与下一表面法线
(20)
A bA奇异到上一倾斜角-上一倾斜角-奇异倾斜角 么2=么奇异到下一倾斜角=下一倾斜角-奇异倾斜角
△ 3=A总倾斜角行程=1 A奇异到上一倾斜角l+l A奇异到下一倾斜角l (21-23) 基于以下等式而确定用于机器奇异位置的表面接触点。
'lAll、
奇异表面脉动=上一表面点+
A3
*(下一表面点-上一表面点)(24)
"奇异表面法线"、"奇异表面点"和"工具向量"界定机器奇异点处相对于工件的 中间位置。在级联方法400中将对应于机器奇异点490的中间位置发送到类型4输入。 现可如本文中所论述而内插从上 一 位置到机器奇异点的移动。
在未提供类型4数据的情况下,如下确定中间机器奇异点。如果(角上一与下一工 具向量=0),则用于前一位置的工具向量与用于下一内插位置的工具向量共线。"角上一 与下一工具向量"基于等式25中的关系。
角上一与下一工具向量=arccos(上一工具向量,下一工具向量 。5) 如果(角上一与下'工具向量#0),则用于前一位置的工具向量与用于下一内插位 置的工具向量不共线。
基于等式26中所展示的关系而提供用于机器奇异位置的工具向量,
34奇异工具向量=围绕交叉向量旋转(上一工具向量工具向量旋转角(26) 其中
"交叉向量l"为前一位置工具向量将围绕其旋转的向量,其基于等式27中的关系 而确定,

叉向量l
上一工具向量@下一工具向量
上一工具向量@下一工具向量
(27)
且"工具向量旋转角"为基于等式28中的关系的角旋转量值,
工具向量旋转角=
其中
A3
*角上一与下一工具向量 (28)
A 1=A奇异到上一倾斜角-上一倾斜角-奇异倾斜角 A2二A奇异到下一倾斜角-下一倾斜角-奇异倾斜角
A 3= △总倾斜角行程=1 A奇异到上 -倾斜角l+l A奇异到下一倾斜角I (29-31) 基于等式32而确定用于机器奇异位置的工具尖端位置。
'lAll、
奇异丁,具尖端=上一工具尖端+
△3
:(下一工具尖端—上一工具尖端)(32)
"奇异工具尖端"和"奇异工具向量"界定机器奇异点处相对于工件的中间位置。
在级联方法400中将对应于机器奇异点的中间位置发送到类型3输入。现可如本文中所 论述而内插从上一位置到机器奇异点的移动。 围绕机器奇异点的旋转
一旦从上一位置到机器奇异位置内插工具位置,则下一步骤为使工具和/或零件围绕 机器奇异点旋转。确定用以使工具和/或零件围绕机器奇异点旋转的内插步骤的数目。在 一个实施例中,使用围绕机器奇异点旋转的工具尖端的弦向误差的测量来确定内插步骤 的数目。在一个实施例中,使用固定递增来确定内插步骤的数目。示范性固定递增为固 定角递增。
内插步骤的数目-弦向误差
机器奇异位置处的工具尖端到旋转轴中心线的垂直径向距离经界定为"旋转径向距 离"。如本文中所论述而确定"旋转径向距离"。
内插为线性内插。基于从操作者所接收的弦向误差公差494 (见图21)而确定位置 的数目。图19中展示弦向误差公差和其与弧角的关系。通过以下方法耦合迭代数目。假定满足等式A中所提供的关系,
(旋转径向距离> 0且旋转径向距离》弦向误差且lA41 > 0) 则通过等式34确定迭代数目,
(33)
<formula>formula see original document page 36</formula>弦向误差
(34)
、、 .旋转径向距离,
其中
ceil()函数上舍入到下一整数; "弦向误差"为操作者指定的公差;
A4-最短角行程(下一旋转角-上一旋转角) (35), 其中函数"最短角行程()"返冋两个角位置之间的角差,其小于或等于180度。如 果不满足等式33中的关系,则内插方法将迭代数目设定为1。 内插步骤的数目-固定角步长
在一个实施例中,操作者可基于固定角步长496、 498 (见图21)而指定内插步骤 的数目。示范性角步长包括约每隔十分之一度。这以等式36来表示, ' A4 )
#迭代="'7
(36)
、固定旋转角步长,
其中项"固定旋转角步长"对应于所指定的角步长。否则,将迭代数目设定为l。 一旦已确定迭代数目,则机床系统100围绕机器奇异点旋转。为了围绕机器奇异点 旋转,改变各个轴的位置中的一者或一者以上。对于每一迭代,将倾斜角固定为奇异点 倾斜角,知晓旋转角,且通过级联方法400确定线性轴的位置。
在一个实施例中,如等式37中所表示而将"当前旋转角"设定为等于前一旋转角 且通过等式38提供角步长(e^长)。
当前旋转角=上 一位置旋转角 (37) △4
^步长弁迭代
(38)
应注意,角歩长(e^)小于或等于由操作者指定的"固定旋转角步长"。 接下来,在循环中确定用于每一位置的旋转角和工具尖端位置。将"机器奇异位置
工具向量"、"工具尖端"、"倾斜角"和"当前旋转角"提供到级联方法400以确定线性
轴的位置。如果所有计算出的轴位置均在机器极限内,则存储所述位置以供输出。如果
一位置在机器极限外部,则删除所有所确定的位置且通过反转步长角、确定新的A4和重新计算迭代数目而试图在另一方向(即,用于等式35的A4的较长角行程)上围绕机 器奇异位置旋转。在以下两个条件下基于先前A4的值而确定新的A4
如果(A4先b〈0),贝U A4 a=A4先前+2兀;或
如果(A4先前〉0)'贝'J A4新=厶4先前-2兀。
请注意,A4不可等于零;否则,将不存在围绕奇异点的旋转。如果此尝试由于一 位置在机器极限外部而失败,则两个内插方向均不可执行且方法抛出机器超出极限的错 误消息。
最后,假定围绕机器奇异点490的旋转已成功,则通过级联方法400发送下一位置, 且内插从中间机器奇异位置到下一位置的移动。 从第 一 位置到第二位置的内插
在贯穿本发明的若干位置处,提到从第一位置(例如上一位置)到第二位置(例如 机器奇异位置处的中间位置)内插移动。以下两级内插方法是用于从第一位置到第二位 置内插的示范性方法。所述两级内插方法包括第一级,借此从对应于第一位置的第一工 具向量422A到对应于第二位置的第二工具向量422B内插工具向量。(参看图24和图 25)
级弁l-工具向量内插
在此级中,相对于工件坐标系统282在第--位置与第二位置之间内插工具向量。虽 然线性内插系统经揭示为具有软件控制器202的面向对象设计,但可使所述线性内插系 统过载以使用样条、非均匀有理B样条(NURBS)或任何其它内插方案。另外,此级 为可选级,且操作者或主机软件应用程序215可选择简单地略过级射且直接进行到级弁2。
对于工具向量的线性内插,工具向量方向将在工具位置(第一位置与第二位置)之 间内插穿过围绕坐标系统原点的平面(见图25)。图24和图25中展示三个示范性内插 工具向量位置1.1、 1.2和1.3。提供用以确定所述两个工具位置之间的内插步骤的数目 的两个示范性方法。
用以确定内插步骤的数目的第一示范性方法使用固定角步长。操作者提供用于两个 工具位置之间的工具向量的所需角步长501 (见图21)。从等式39中的关系来确定内插 迭代数目
#迭代=ceil
srccos
,下一工具向量,上一工具向量
最大角步长
(39)
其中"弁迭代"为迭代数目;
"下一工具向量"为第二工具位置工具向量的方向上的单位向量; "上- 工具向量"为第-工具位置工具向量的方向上的单位向量;且 "最大角步长"为所需的角步长。
如果针对所述两个工具位置两者提供了类型3数据,则使用等式39。如果针对所述 两个工具位置两者提供了类型4数据,则基于等式40和41而确定"弁迭代"。
弁迭代表面法线-ceil
arccos下一表面法线 上一表面法线
最大角步长
(40, 41)
#迭代=013)^#迭代,弁迭代表面法线)
其中
"#迭代表面法线"为基于表面法线的迭代数目;
"上一表面法线"为用于第一位置的表面法线的方向上的单位向量; "下一表面法线"为用于第二位置的表面法线的方向上的单位向量;且 "最大角步长"为所需的角步长。
接着,将迭代数目选择为等式39和等式40中所确定的迭代数目中的较大者,如等 式41所表示的。
用以确定内插步骤的数目的第二示范性方法使用所需的时间步长。操作者提供用于 两个工具位置之间的工具向量的所需时间步长503 (见图21)。从等式42中的关系确定
内插迭代数目
从上一到下一的时间步长=获取位置之间的最小时间步长(上一位置,下一位置,工件 相对馈送速率) (42) g巾
"从上一到下一的时间步长"为零件程序中所指定的从上一位置到下一位置的时间 步长;
"上一位置"对应于第一位置; "下-位置"对应于第二位置;且
"工件相对馈送速率"对应于零件程序中所指定的工具尖端相对于工件的馈送速率。 函数"获取位置之间的最小时间步长"确定两个工具位置之间的线性内插轴速度, 且如果原始馈送速率违反轴最大速度中的任一者,则将时间步长且因此将馈送速率箝位 为最大轴速度。所述函数返回用于移动的箝位时间步长。然而,此时间戳仅为最终时间步长的近似值,因为工具向量的线性内插将不可避免地改变机器轴内插,这可能增加计 算出的线性内插移动的时间步长。当计算工具路径内插位置时,工具位置级联中的类型 弁l位置输入将计算和箝位用于每一内插位置的实际最终时间步长和馈送速率。最后,逋 过等式(43)中的关系来提供迭代数目,
弁迭代-ceil
从上一到下一的时间步长
(43)
. 最大时间步长 . 其中
"弁迭代"为迭代数目;且
"最大时间步长"对应于由操作者输入参数指定的内插时间步长。 一旦确定了迭代数目,便确定内插工具向量和对应的内插工具位置。通过级联方法
400发送内插工具向量和对应的内插工具位置中的每一者以确定用于内插位置的轴中的
每一者的位置。
在一个实施例中,用以下方式内插工具向量和工具位置。通过等式(44)中所展示 的关系来确定前一位置与下一内插位置之间的角。
角上一与下一工具向量arccos(上一工具向量,下一工具向量) (44)
其中
"角上一与下一工具向量"为前一位置与下一内插位置之间的角; "上一工具向量"为用于前一位置的工具向量;且 "下 一 工具向量"为用于下 一 内插位置的工具向量。 工具向量的内插
如果(角上一与下一工具向量=0),则用于前一位置的工具向量与用于下一内插位 置的工具向量共线。如果(角上一与下一工具向量#0),则用于前一位置的工具向量与 用于下 一 内插位置的工具向量不共线。
基于等式(45)中的关系而确定前一位置工具向量将围绕其旋转的向量,
交叉向量l-
上一工具向量@下一工具向量
(45)
上一工具向量@下一工具向量 其中"交叉向量l"为在内插工具位置时前一位置工具向量将围绕其旋转的向量(在
工件坐标中);
"上一工具向量"为用于前一位置的工具向量;且
"下'工具向量"为用于下一内插位置的工具向量。
39假定已提供类型4数据,则对表面法线完成类似运用
角上一与下一表面法线=arccosl上一表面法线 下一表面法线〗(46)3巾
"角上 一 与卜 一 表面法线"为前 一 位置表面法线与K 一内插位置表面法线之间的角;"上一表面法线"为用于前一位置的表面法线;且"下一表面法线"为用于下一内插位置的表面法线。
如果(角上一与下一表面法线=0),则用于前一位置的表面法线向量与用于下一内插位置的表面法线向量共线。如果(角上一与下一表面法线邦),则用于前一位置的表面法线向量与用于下一内插位置的表面法线向量不共线。
基于等式(47)中的关系而确定前一位置表面法线向量将围绕其旋转的向量,
交叉向量2-上一表面法线⑧下一表面^^ (47)
上一表面法线@下一表面法线
其中"交叉向量2"为在内插工具位置时前一位置表面法线向量将围绕其旋转的向量(在工件坐标中);
"上一表面法线"为用于前一位置的表面法线向量;且"下一表面法线"为用于下一内插位置的表面法线向量。
通过知晓"交叉向量l",可确定内插工具向量和内插工具尖端位置(工具底部中心)。对于(角上一与下一工具向量=0)的每一迭代,如等式48中所指示的,将内插工具向
量设定为等于前一位置的工具向量。
内插工具向量=下一工具向量(48)
如果对于给定迭代(角上一与下一工具向量邦),则基于等式49中的关系而确定内插工具向量,
内插工具向量=围绕交叉向量J旋转(上一工具向量,工具向量旋转角)(49)其中
"内插工具向量"对应于所内插的工具向量;
"工具向量旋转角"为工具向量将被旋转的角且基于等式50中的关系而确定;且"围绕交叉向量1旋转"为使上一工具向量围绕交叉向量1旋转通过等于"工具向量旋转角"的值的角的函数。
基于等式50中的关系而确定"工具向量旋转角"。
40工具向量旋转角=
*角上一与下一工具向量(50)
、弁迭代,
基于等式(51)屮所提供的关系而确定内插工具尖端,
内插工具尖端=上-一工具尖端+
*(下一工具尖端—上一工具尖端)(51)
、弁迭代,
"内插工具尖端"和"内插工具向量"对应于用于内插工具尖端和内插工具向量的类型3数据。将此数据输入到级联方法400中以确定各个轴的位置。
在一个实施例中(其中提供类型4数据),用以下方式内插表面法线向量和表面点位置。通过等式(46)中所展示的关系确定前一位置的表面法线与下一内插位置的表面法线之间的角("角.卜. 一 与下 一 表面法线")。
如果对于给定迭代"角上--与下一表面法线"等于零,则如等式52中所指示的,将内插表面法线向量设定为等于前-位置的表面法线向量。
内插表面法线=下一表面法线 (52)如果对于给定迭代(角上一与下一表面法线^)),则基于等式(53)中的关系而确定内插表面法线向量,
内插表面法线=围绕交叉向*2旋转(上一表面法线表面法线旋转角)(53)其中
"内插表面法线"对应于所内插的表面法线向量;
"表面法线旋转角"为表面法线向量将被旋转的角且基于等式54中的关系而确定;

"围绕交叉向量2旋转"为使"上一表面法线"围绕交叉向量2旋转通过等于"表面法线旋转角"的值的角的函数。
基于等式54中的关系而确定"表面法线旋转角"
表面法线旋转角=
卜角上一与下一表面法线
.#迭代
基于等式55中所提供的关系而确定内插表面点
/■ \1
(54)
内插表面点=上一表面点+
弁迭代.
*(下一表面点-上一表面点)(55)
"内插表面点"和"内插表面法线"对应于用于内插表面接触点和内插表面法线向:的类型4数据。将此数据输入到级联方法400中以确定各个轴的位置。级2内插一旦通过级联方法400确定了机器位置,则不管其是基于"内插工具尖端"和"内插工具向量"还是基于"内插表面点"和"内插表面法线",均执行第二内插级。第二级内插确定是否应确定另一内插,且基于两种方法(1)公差方法和(2)固定角步长方法中的一者。在任 -内插方法中,在工件坐标系统中内插工具尖端。再一次,虽然线性内插系统经呈现为具有软件控制器202的面向对象设计,但可用其它示范性内插系统替代所述线性内插系统。示范性内插系统为样条、NURBS或任何其它合适的内插方案。
基于公差的示范性内插系统基于与B轴和C轴相关联的弦向误差。分别在等式56和57中给出B轴和C轴的角改变。
A5-(下一倾斜角-上一倾斜角) (56)
A4二(下一旋转角-上一旋转角) (57)
对于弦向误差公差方法,使用围绕旋转和倾斜轴中心线移动的工具尖端的弦向误差来计算内插点的数Q。如等式58中所表示的,选择用于上一位置和下一位置的从工具尖端到C轴的最大垂直径向距离,
最大旋转径向距离-max(旋转径向距离l,旋转径向距离2) (58)
其中
"旋转径向距离1"为上一位置(此可为级弁1工具向量内插方法中所计算的上一位置)的工具尖端到旋转轴屮心线的垂直径向距离;且
"旋转径向距离2"为下一位置(此可为级#1工具向量内插算法中所计算的下一位置)的工具尖端到旋转轴中心线的垂直径向距离。
如等式59中所表示的,以类似方式选择用于上一位置和下一位置的从工具尖端到B轴的最大垂直径向距离,
最大倾斜径向距离^max(倾斜径向距离l,倾斜径向距离2) (59)
"倾斜径向距离1"为上一位置(此可为级弁1工具向量内插方法中所计算的上一位置)的工具尖端到倾斜轴中心线的垂直径向距离;且
"倾斜径向距离2"为上一位置(此可为级弁l工具向量内插方法中所计算的下一位置)的工具尖端到倾斜轴中心线的垂直径向距离。
基于本文中在"计算工具尖端到旋转轴中心线的径向距离"部分中所论述的方法而确定距离"旋转径向距离1"、"旋转径向距离2"、"倾斜径向距离1"和"倾斜径向距离2"。
所述内插为在由用户指定的弦向误差公差内的线性内插。所述弦向误差公差在图19中表示。所述方法确定是否需要额外内插或级1中所确定的内插数目是否满足所需公差。
42检査旋转轴(C轴)和倾斜轴(B轴)两者。
关于旋转轴,如果等式60中的关系为真,则可能需要额外内插, (最大旋转径向距离>0且最大旋转径向距离^弦向误差且IA4I>0) 如果等式60中的关系为真,则基于等式61而确定迭代数目。
(60)
弁旋转迭代ce!'Z
△4
2水
肌cosl 1.
弦向误差
(61)
、、.最大旋转径向距离, 否则,如等式62中所表示的,将迭代数目设定为等于1。通过将迭代数目设定为1, 不需要额外内插,因为下 一迭代对应于来自级1的下一位置。
#旋转迭代=1 (62) 关于倾斜轴,如果等式63中的关系为真,则可能需要额外内插。 (最大倾斜径向距离>0且最大倾斜径向距离2弦向误差且IA5IX)) (63) 如果等式63中的关系为真,则基于等式64而确定迭代数目。
弁倾斜迭代="!7
2沐
arccos
1
弦向误差
(64)
、、. 最大旋转径向距离, 否则,如等式65中所表示的,将迭代数目设定为等于1。通过将迭代数目设定为1, 不需要额外内插,因为下一迭代对应于来自级1的下一位置。
#倾斜迭代=1 (65) 假定B轴和C轴中的至少一者的迭代数目不为1,则确定额外的内插位置。如等式 66所表示的,迭代数目为针对B轴和C轴所确定的迭代数目中的较大者。 弁迭代-max(弁旋转迭代,#倾斜迭代) (66) 等式67到69指示内插位置之间的改变,且将初始位置设定为"上一位置"并通过 等式70到72确定内插位置。
A工具尖端wf(下一工具尖端wp-上一工具尖端wp)/弁迭代 (6" △旋转角=(下一旋转角《-上一旋转角《)/#迭代 (68) △倾斜角=(卜一倾斜角《-上一倾斜角机器)/弁迭代 (69) 内插工具尖端wf上一工具尖端wp (70) 内插旋转角《=上一旋转角机器 (71) 内插倾斜角机器=上一倾斜角机器 (72)接着,如等式73到75中针对第一中间位置所表示的,通过将来自等式67到69的
额外改变值相加到等式70到72中的值而确定中间位置。
内插工具尖端w产内插工具尖端WP+A工具尖端wp (73) 内插旋转角机F内插旋转角机器+A旋转角 (74) 内插倾斜角机器=内插倾斜角机器+^倾斜角 (75) 一旦通过等式73到75确定了内插位置,便将所述数据作为类型2输入提供到级联
方法400以确定对应的机器位置。
基于角步长的示范性内插系统基于由操作者指定的角步长。关于角步长,如果等式
76中的关系为真,则需要相对于旋转轴的额外内插。
(H > 0) (76) 如果等式76中的关系为真,则基于等式77而确定迭代数目。
弁旋转迭代="d^狄) (77)
、固定旋转角步长y1
否则,如等式78中所表示的,将迭代数冃设定为等于1。通过将迭代数目设定为1, 除非倾斜轴指示需要额外内插,否则不需要额外内插,因为下一迭代对应于来自级1的 下一位置。
#旋转迭代=1 (78) 关于角步长,如果等式79中的关系为真,则需要相对于倾斜轴的额外内插。 QA5| > 0) (79) 如果等式79中的关系为真,则基于等式80确定迭代数目。
#倾斜迭代=ceil
A5 、 (80)
、固定旋转角步长J
否则,如等式TT中所表示的,将迭代数目设定为等于1。通过将迭代数目设定为1, 除非旋转轴指示需要额外内插,否则不需要额外内插,因为下一迭代对应于来自级1的 下一位置。
#倾斜迭代=1 (81)
假定B轴和C轴中的至少一者的迭代数目不为1,则确定额外内插位置。如等式82
表示的,迭代数目为针对B轴和C轴所确定的迭代数目中的较大者。
#迭代二max(弁旋转迭代,弁倾斜迭代) (82) 通过等式83到85指示内插位置之间的改变,且将初始位置设定为来自级1的两个
位置中的第一位置,所述两个位置如等式86到88所表示而内插。△工具尖端WP=(卜'一工具尖端wp-上一工具尖端wp)/弁迭代 (83)
A旋转角=(下一旋转角机器-上一旋转角机器)/弁迭代 (84)
△倾斜角=(下--倾斜角机器-上一倾斜角机器)/#迭代 (85)
内插工具尖端wp-上一工具尖端wp (86)
内插旋转角机器=上一旋转角机器 (87)
内插倾斜角机器=上 一倾斜角机s (88) 接着,如等式89到91中针对第一中间位置所表示的,通过将来自等式83到85的 额外改变值相加到等式86到88中的值而确定中间位置。
内插工具尖端wp-内插工具尖端WP+A工具尖端wp (89)
内插旋转角机s-内插旋转角机器+A旋转角 (90)
内插倾斜角《 =内插倾斜角《+△倾斜角 (91)
一旦通过等式89到91确定内插位置,便将所述数据作为类型2输入提供到级联方 法400以确定对应的机器位置。
计算工具尖端到旋转轴中心线的径向距离
此方法针对存储在轴对象中的当前机器位置计算工具尖端到机器的旋转和倾斜轴 中心线的垂直径向距离。本文中在级2内插方法和围绕机器奇异点的内插中使用所述方 法。
所述方法将相对于主轴零坐标系统的工具尖端递增地变换成每一轴的坐标系统。变 换方向为从工具尖端朝向工件坐标系统。在递增变换过程期间,在当前变换点在旋转轴 的坐标系统中时,计算垂直径向距离。在所说明的实例中,机床系统ioo具有单个倾斜 轴和单个旋转轴。
如等式92表示的,将当前点设定为等于相对于主轴零点的工具底部中心。 当前点=工具底部中心主《 (92) 通过工具矩阵堆栈将"当前点"从主轴坐标系统变换成机器参考坐标系统。对于第 i轴,通过等式93表示所述变换。
当前点-工具矩阵堆栈[i]—获取矩阵("当前点 (93)
随着"当前点"遍历工具矩阵堆栈,检査每一轴以确定其是旋转轴还是倾斜轴。如 果第i轴为旋转轴,则如等式94所表示而确定从第i轴坐标系统中的"当前点"到第i 轴的距离。
旋转径向距离=工具矩阵堆栈["—获取到轴的垂直距离(当前点) (94) 如果第i轴为倾斜轴,则如等式95所表示而确定从第i轴坐标系统中的"当前点"
45到第i轴的距离。
倾斜径向距离^工具矩阵堆栈[i]—获取到轴的垂直距离(当前点) (95) -旦遍历了工具矩阵堆栈,"当前点"便保持工具尖端相对于机器参考坐标系统的 值。另外,在机床系统100的情况下,"倾斜径向距离"等于从B轴坐标系统中的工具 底部中心到B轴的垂直距离。
接下来,从机器参考坐标系统朝向工件坐标系统遍历零件矩阵堆栈,在上一轴处停 止(即,直到工件坐标系统但不包括工件坐标系统)。因此,使用反向变换矩阵从底部 到顶部遍历零件矩阵堆栈。
通过零件矩阵堆栈将"当前点"从机器参考坐标系统变换成工件坐标系统。对于第 i轴,通过等式96表示所述变换。
矩阵-零件矩阵堆栈[i]—获取矩阵o
矩阵.反转刚性变换()
当前点=矩阵*当前点 (96)
随着"当前点"遍历零件矩阵堆栈,检査每一轴以确定其是旋转轴还是倾斜轴。如
果第i轴为旋转轴,则如等式97所表示而确定从第i轴坐标系统中的"当前点"到第i
轴的距离。
旋转径向距离^零件矩阵堆栈[i]—获取到轴的垂直距离(当前点) (97) 如果第i轴为倾斜轴,则如等式98所表示而确定从第i轴坐标系统中的"当前点" 到第i轴的距离。
倾斜径向距离=零件矩阵堆栈[i]—获取到轴的垂直距离(当前点) (98) 一旦遍历了零件矩阵堆栈,"当前点"便保持工具尖端相对于工件坐标系统的值。 使用最大轴速度计算和箝位时间步长
此方法检査给定的"时间步长"以确保其不会造成给定轴试图比其最大速度更快地 移动。在级联方法400的方法430和级#1时间步长工具向量内插中使用此方法。另外, 如等式99所表示的,"时间步长"导致具有工具相对于工件坐标系统的大体恒定馈送速 率的移动。
时间步长-计算用于恒定工件馈送速率的时间步长() (99) 如果移动违反轴最大速度中的任一者,则箝位时间步长。检査每一轴且如果违反多 个轴最大速度,则使用可接受的最小时间步长。
对于每一轴,如果等式100中所提供的关系为真,则需要箝位"时间步长"。
46如果
'A轴移动'
>最大轴速度 (100)
其中
△轴移动-l下一位置.机器位置[i]-上一位置.机器位置[i]l (101)
最大轴速度=轴[1]—获取最大速度() (102) 等式103给出时间步长的值。
时间步长=1^|^ (103) 最大轴速度
齐次变换矩阵和矩阵堆栈
矩阵堆栈(例如工具矩阵堆栈和零件矩阵堆栈)为用于广义运动学库中将多个变换 串联成单个矩阵的一般方法。在一个实施例中,对于广义运动学库,仅使用旋转和平移 变换来描述机器轴之间的运动学关系。使用齐次变换允许矩阵堆栈将旋转和平移变换串 联成单个变换矩阵。因此,当矩阵堆栈的前向或反向变换矩阵用于一个以上计算时,矩 阵堆栈中的所有矩阵的乘法仅进行一次。
矩阵堆栈可含有任何数目的矩阵。矩阵堆栈还可具有推到其上的其它矩阵堆栈的前
向或反向变换矩阵。可在不必使所有矩阵弹出堆栈的情况下接通和断开矩阵堆栈。
如以下部分中所阐释的,由于工具矩阵堆栈和零件矩阵堆栈中的矩阵的性质,可简
化计算。另外,由于工具矩阵堆栈和零件矩阵堆栈中的矩阵的性质,用于广义运动学库
中的变换矩阵的矩阵反转可利用本文中所阐释的方法。 用于变换矩阵运算的子矩阵方法
子矩阵方法通过将齐次几何变换矩阵分解成数个子矩阵且基于所述子矩阵是否为 恒等矩阵或零变换而对子矩阵应用运算来减少矩阵运算的执行时间。
子矩阵方法基于以下决策规则
、*诉f计算,仁,(基元恒等v基元零);l , , 04、
选择S mfe、斗 廿Ah (104)
t略过,<= 其它 j
通过几何子矩阵的恒等性来驱动此决策规则。决策制定过程基于布尔逻辑,例如二 进制。在决策制定过程本身中,追踪子矩阵的恒等性状态以避免计算恒等性。将由等式
105表示的2乘2布尔决策矩阵(D)添加倒矩阵类别以支持决策制定和对具有四个子 矩阵的以下齐次变换矩阵(T)的恒等性追踪。
r =
尺 z
(105)其中R为旋转子矩阵, t为平移矩阵, s为剪切矩阵,且 k为縮放矩阵。
所述2乘2布尔决策矩阵的每一元素对应于其4乘4变换矩阵(T)的对应元素,
d 《
(賜)
如图26中所展示的,布尔决策矩阵与变换矩阵之间的对应为一对一。 子矩阵的关系
可使用布尔决策矩阵(D)优化变换矩阵(T)乘法的计算复杂性。 T3=TrT2 (107) 将105插入107中给出
^ (108)
因为用于机床的几何变换为刚性变换,所以剪切基元为零。因此,以下各个所得子 矩阵产生可重新组合成完整齐次变换矩阵T3的等效变换-首先,我们具有旋转子矩阵。
一尺3 ~ _—尺l卜—X f2 —
《 、_《、——《、
W3 = W,.尺2 + 《='尺2
接下来,平移子矩阵。 f3 = i , f2 + f, . fe2 ,
接着,剪切子矩阵。
(109)
(110)
《=《./ 2+V《=or, (in) 最后,缩放
fc3 =s.t2+fc, 12 =H (112)
子矩阵的运算为乘法和加法,乘法和加法为二进制的且具有两个操作数和以下特
特性1. 乘法的恒等操作数(即,值1)将其它矩阵的操作数直接用于所得矩阵。
特性2. 乘法的零操作数产生所得矩阵中的零。
用子矩阵的处理
将决策布尔矩阵"mj)默认子矩阵"添加作为矩阵类别的类别变量。仅当对应子矩阵为零或恒等矩阵时,决策布尔矩阵的元素才为真。否则,元素为假。用零(平移和剪 切)和恒等(旋转和缩放)子矩阵初始化变换矩阵。因此,决策布尔矩阵以所有布尔值 为真来初始化。
以下规则适用于所述处理。
1. 当情形符合特性l时,略过乘法。
2. 当情形符合特性2时,略过乘法和加法。
对于略过运算的实施方案,用以下方式利用决策制定规则(1):
1. R3=R2,如果c1rf真。
2. RfRm如果&2=真。
3. 略过Rrt2,如果c1rf真。
4. 略过加法,如果dtF真或dt^真。
接着更新布尔决策矩阵。当必须执行矩阵元素的乘法时,接着针对以下条件检查两 个元素
如果任一元素为零,则不对元素执行乘法。
如果任一元素等于l,则不执行乘法。元素运算返回不等于1的元素。 对具有向量和点的矩阵加法、减法和乘法实施使用布尔决策矩阵的类似优化。 变换矩阵反转
一般矩阵使用计算上昂贵的高斯-佐登(Gauss-Jordan)消去法、LU分解或其它类似 方法加以反转。具有正交旋转子矩阵的刚性变换矩阵的特性允许通过对各个变换子矩阵 应用简单运算(代替使用计算上较昂贵的方法)而反转刚性变换矩阵。以下等式展示如 I.扎伊德(I.Zeid)的"CAD/CAM理论与实践(CAD/CAM Theory and Practice)"(麦格 劳-希尔(McGraw-Hill), 1991年)中所描述的矩阵反转优化,所述文献的揭示内容明 确地以引用的方式并入本文中
r2=7r' (113)
将105插入113中给出
-/ 2f2 —尺l
2fc2—《、
(114)
其中
R2=Rf (115) tF-Rrq (116)《=《=
(117) k2=k1=l (118)
零件设置矩阵的确定
零件设置矩阵界定从零件运动学链中的上一轴坐标系统到用于机器.卜.的零件的工 件坐标系统的变换。用以计算零件设置矩阵的输入为机器轴相对于用于零件设置的机器 参考坐标系统的位置和当确定用于零件设置的机器轴位置时所使用的探针或工具长度。 通过知晓机器的所有轴之间的运动学关系,可用以下方式确定零件设置矩阵。
对于以下计算,假设零件设置矩阵为零件矩阵堆栈中的4x4恒等矩阵。
工具零^h轴=零件矩阵堆栈.反向矩阵()1零件设置位置*工具矩阵堆栈.前向矩阵()1零件设置位胃* 工具尖端变换矩阵*
7 (119)
其中
"零件矩阵堆叠及向矩阵()l零校准"为当将所有零件轴设定到其零件设置轴位置时 所估计的零件矩阵堆栈反向变换矩阵。(120)
"工具矢巨阵堆叠.前向矢巨阵()l零件设置位置"为当将所有工具轴设定到其零件设置轴
位置时所估计的工具矩阵堆栈前向变换矩阵堆栈。(121)
"工具尖端变换矩阵"为从工具尖端坐标系统到主轴线坐标系统的变换。其为含有 工具尖端相对于主轴线坐标系统的偏移的简单平移矩阵。
可通过下式相对于台板上'轴界定工件坐标系统屮的任何点
工件点ft板t.轴=零件矩阵堆栈.反向矩阵()1零件固《*工具矩阵堆栈.前向矩阵()1零件设置位置* 工具尖端变换矩阵*工件点丁付.
因此,可通过以下等式确定零件设置矩阵,请注意,零件矩阵堆栈中的零件设置矩 阵为4x4恒等矩阵。
零件设置矩阵=零件矩阵堆栈.反向矩阵()1*件賤位置*工具矩阵堆栈.前向矩阵()1零件设置位置 *工具尖端变换矩阵
接着将新的零件设置矩阵推到零件矩阵堆栈的顶部上。
应注意,本文中所参考的所有表面法线向量和工具向量均假定为经规格化以用于本 文屮所揭示的方法。
虽然已将本发明描述为具有示范性设计,但可在本发明的精神和范围内进一步修改 本发明。因此,本申请案希望使用其一般原理涵盖本发明的任何变化、使用或改变。另 外,本申请案希望涵盖属于本发明所属的技术中的已知或惯常实践的范围内的与本发明
50的偏离。
权利要求
1. 一种用于控制机床系统(100)的移动以对零件(160)进行机械加工的方法,所述方法包含以下步骤使所述零件(160)与工具(141)接触;以及在所述工具(141)保持与所述零件(160)接触的同时将所述工具(141)相对于所述零件(160)从第一位置移动到第二位置,所述工具(141)内插穿过所述机床系统(100)的机器奇异点(490)。
2. 根据权利要求l所述的方法,其中所述在所述工具(141)保持与所述零件(160) 接触的同时将所述工具(141)从所述第一位置移动到所述第二位置的步骤包含以 下步骤将所述工具(141)相对于所述零件(160)从所述第一位置移动到大体上与所述 机器奇异点(490)对准的中间位置; 围绕所述中间位置旋转;以及将所述工具(141)相对于所述零件(160)从所述中间位置移动到所述第二位置。
3. 根据权利要求2所述的方法,其中所述工具(141)在所述围绕所述中间位置旋转 的步骤期间保持相对于所述零件(160)固定。
4. 根据权利要求2所述的方法,其中所述围绕所述中间位置旋转的步骤包含以下步骤确定角旋转;以及在多个位置处旋转穿过所述角旋转,所述多个位置在一公差内。
5. 根据权利要求2所述的方法,其中所述围绕所述中间位置旋转的步骤包含以下步骤确定角旋转;以及在多个位置处旋转穿过所述角旋转,所述多个位置对应于固定角步长。
6. 根据权利要求2所述的方法,其中所述将所述工具(141)相对于所述零件(160) 从所述第一位置移动到所述中间位置的步骤包含以下步骤确定所述中间位置;以及在所述第 -位置与所述中间位置之间内插多个位置。
7. 根据权利要求6所述的方法,其中所述在所述第一位置与所述中间位置之间内插所 述多个位置的步骤包括以下步骤从对应于所述第一位置的第一向量和对应于所述中间位置的第二向量确定多个 向量和多个对应点,所述多个向量和对应点中的每一者对应于内插位置;以及确定邻近内插位置之间是否违反公差条件,且如果违反所述公差条件,则确定额 外内插位置。
8. 根据权利要求7所述的方法,其中基于固定角步长而确定所述多个向量的数目。
9. 根据权利要求7所述的方法,其中基于固定时间步长而确定所述多个向量的数目。
10. 根据权利要求7所述的方法,其中所述多个向量每一者为工具向量。
11. 根据权利要求7所述的方法,其中所述多个向量每一者为表面法线向量。
12. 根据权利要求7所述的方法,其中所述公差条件为弦向误差。
13. —种用于确定机床系统(100)的多个可移动轴的位置信息以对零件(160)进行机 械加工的方法,所述方法包含以下步骤提供接受多个不同工具位置输入类型的级联方法(400);接收第一工具位置,所述第一工具位置对应于所述多个不同输入类型中的一者;以及用所述级联方法(400)基于所述所接收的第一工具位置而确定所述位置信息。
14. 根据权利要求13所述的方法,其中通过反向运动学运算确定每一可旋转轴的所述 位置信息,且通过前向运动学运算确定每一线性轴的所述位置信息。
15. 根据权利要求13所述的方法,其进一步包含基于用所述级联方法(400)确定的所 述位置信息而移动所述多个可移动轴的步骤。
16. 根据权利要求13所述的方法,其中所述用所述级联方法(400)确定所述位置信息 的步骤包括以下步骤针对所述多个可移动轴中的每一可旋转轴确定具有对应角的第一解决方案;以及 针对所述多个可移动轴中的每一线性轴确定位置。
17. 根据权利要求13所述的方法,其中所述第一工具位置包括表面接触点、在所述表 面接触点处的表面法线向量和工具向量,且所述用所述级联方法(400)确定所述 位置信息的步骤包括以下步骤基于所述表面接触点、在所述表面接触点处的所述表面法线向量和所述工具向量 而确定工具底部中心点;基于所述工具底部中心和所述工具向量而针对所述多个可移动轴中的每一旋转 轴确定角;以及针对所述多个可移动轴中的每一线性轴确定位置。
18. 根据权利要求13所述的方法,其中所述第一工具位置包括工具底部中心点和工具 向量,且所述用所述级联方法(400)确定所述位置信息的步骤包括以下步骤基于所述工具底部中心和所述工具向量而针对所述多个可移动轴中的每一旋转 轴确定角;以及针对所述多个可移动轴中的每一线性轴确定位置。
19. 根据权利要求13所述的方法,其中可通过所述级联方法(400)的第一方法从第二 工具位置输入类型确定第一工具位置输入类型,可通过所述级联方法(400)的第 二方法从第三工具位置输入类型确定所述第二工具位置输入类型,且可通过所述级 联方法(400)的第三方法从第四工具位置输入类型确定所述第三工具位置输入类 型。
20. 根据权利要求19所述的方法,其中所述级联方法(400)从所述多个不同工具位置 输入类型的任何其它者确定所述第一工具位置输入类型中的所述位置信息。
21. —种用于控制机床系统(100)的移动以对零件(160)进行机械加工的方法,所述 机床系统(100)具有多个可旋转轴,所述方法包含以下步骤使所 述零件(160)与工具(141)在第一位置处接触; 识别第二位置以移动所述工具(141);以及针对所述多个可旋转轴中的每一者从用于所述多个可旋转轴中的每-者的多个 可能解决方案中选择最短角行程解决方案。
22. —种用于控制机床系统(100)的移动以对零件(160)进行机械加工的方法,所述 机床系统(100)具有包括倾斜轴的多个可旋转轴,所述方法包含以下步骤使所述零件(160)与工具(141)在第一位置处接触;识别第二位置以移动所述工具(141);以及针对所述多个可旋转轴中的每一者基于指定的倾斜轴优选而从用于所述多个可 旋转轴中的每一者的多个可能解决方案中选择第一解决方案,所述第一解决方案具 有满足所述倾斜轴优选的用于所述倾斜轴的倾斜角。
23. —种用于控制机床系统(100)的移动以对零件(160)进行机械加工的方法,所述机床系统(100)具有多个可移动轴,所述方法包含以下步骤 使所述零件(160)与工具(141)在第一位置处接触; 识别第二位置以移动所述工具(141);以及用两级内插方法确定从所述第一位置到所述第二位置的多个内插位置。
24. 根据权利要求23所述的方法,其中所述两级内插方法包括确定所述内插位置中的第一多个内插位置的第一级和具有公差条件的第二级,所述内插位置中的第二多个 内插位置是由于对所述公差条件的违反而通过所述第二级来确定的。
25. --种用于用至少一个工具(141)对零件(160)进行机械加工的设备,所述设备包 含框架(102);可移动支撑件(104、 110、 120),其由所述框架(102)支撑且可相对于所述框 架(102)移动,所述可移动支撑件(104、 110、 120)支撑所述零件(160);机床主轴(138),其由所述框架(102)支撑且可相对于所述零件(160)移动, 所述机床主轴(138)适于耦合所述至少一个工具(141),所述可移动支撑件(104、 110、 120)和所述机床主轴(138)包括多个可移动轴(150、 152、 154、 156、 158); 以及运动控制系统,其可操作地耦合到所述机床主轴(138)和所述可移动支撑件(104、 110、 120),所述运动控制系统通过所述机床主轴(138)和所述可移动支撑件(104、 110、 120)的所述多个可移动轴(150、 152、 154、 156、 158)的受控移动而执行 对所述零件(160)的所述机械加工,其中所述运动控制系统使所述零件(160)与 第一工具(141)在第一位置处接触,且在所述第一工具(141)保持与所述零件(160) 接触的同时将所述第一工具(141)相对于所述零件(160)从所述第一位置移动到 第二位置,所述第一工具(141)内插穿过所述机床系统(100)的机器奇异点(490)。
26. 根据权利要求25所述的设备,其中在所述第一工具(141)保持与所述零件(160) 接触的同时,所述运动控制系统通过以下动作而将所述第一工具(141)从所述第 一位置移动到所述第二位置将所述第一工具(141)相对于所述零件(160)从所 述第一位置移动到大体上与所述机器奇异点(490)对准的中间位置;围绕所述中 间位置旋转;以及使所述第一工具(141)相对于所述零件(160)从所述中间位置 移动到所述第二位置。
27. —种用于用至少-一个工具(141)对零件(160)进行机械加工的设备,所述设备包 含框架(102);可移动支撑件(104、 110、 120),其由所述框架(102)支撑且可相对于所述框 架(102)移动,所述可移动支撑件(104、 110、 120)支撑所述零件(160);机床主轴(138),其由所述框架(102)支撑且可相对于所述零件(160)移动, 所述机床主轴(138)适于耦合所述至少一个工具(141),所述可移动支撑件(104、, 110、 120)和所述机床主轴(138)包括多个可移动轴(150、 152、 154、 156、 158);以及运动控制系统(200),其可操作地耦合到所述机床主轴(138)和所述可移动支撑件(104、 110、 120),所述运动控制系统(200)通过所述机床主轴(138)和所述可移动支撑件(104、 110、 120)的所述多个可移动轴(150、 152、 154、 156、158)的受控移动而执行对所述零件(160)的所述机械加工,其中所述运动控制系统(200)使所述零件(160)与第一工具(141)在第一位置处接触,且通过针对所述多个可移动轴(150、 152、 154、 156、 158)中的多个可旋转轴中的每一者从用于所述多个可旋转轴中的每一者的多个可能解决方案中选择最短角行程解决方案而将所述第一工具(141)相对于所述零件(160)从所述第一位置移动到第二位置。
28. —种用于用至少--个工具(141)对零件(160)进行机械加工的设备,所述设备包含框架(102);可移动支撑件(104、 110、 120),其由所述框架(102)支撑且可相对于所述框架(102)移动,所述可移动支撑件(104、 110、 120)支撑所述零件(160);机床主轴(138),其由所述框架(102)支撑且可相对于所述零件(160)移动,所述机床主轴(138)适于耦合所述至少一个工具(141),所述可移动支撑件(104、110、 120)和所述机床主轴(138)包括多个可移动轴(150、 152、 154、 156、 158);以及运动控制系统(200),其可操作地耦合到所述机床主轴(138)和所述可移动支撑件(104、 110、 120),所述运动控制系统(200)通过所述机床主轴(138)和所述可移动支撑件(104、 110、 120)的所述多个可移动轴(150、 152、 154、 156、158)的受控移动而执行对所述零件(160)的所述机械加工,其中所述运动控制系统(200)使所述零件(160)与第一工具(141)在第一位置处接触,且通过针对所述多个可移动轴(150、 152、 154、 156、 158)中的多个可旋转轴中的每--者基于指定的倾斜轴优选从用于所述多个可旋转轴中的每一者的多个可能解决方案中选择第一解决方案而将所述第一工具(141)相对于所述零件(160)从所述第一位置移动到第二位置,所述第一解决方案具有用于所述多个所述可移动轴(150、 152、154、 156、 158)中的倾斜轴的满足所述倾斜轴优选的倾斜角。
29. —种用于用至少一个工具(141)对零件(160)进行机械加工的设备,所述设备包含框架(102);可移动支撑件(104、 110、 120),其由所述框架(102)支撑且可相对于所述框架(102)移动,所述可移动支撑件(104、 110、 120)支撑所述零件(160);机床主轴(138),其由所述框架(102)支撑且可相对于所述零件(160)移动,所述机床主轴(138)适于耦合所述至少一个工具(141),所述可移动支撑件(104、110、 120)和所述机床主轴(138)包括多个可移动轴(150、 152、 154、 156、 158);以及运动控制系统(200),其可操作地耦合到所述机床主轴(138)和所述可移动支撑件(104、 110、 120),所述运动控制系统(200)通过所述机床主轴(138)和所述可移动支撑件(104、 110、 120)的所述多个可移动轴(150、 152、 154、 156、158)的受控移动而执行对所述零件(160)的所述机械加工,其中所述运动控制系统(200)使所述零件(160)与第一工具(141)在第一位置处接触,且通过用两级内插方法确定从所述第一位置到第二位置的多个内插位置而将所述第一工具(141)相对于所述零件(160)从所述第一位置移动到所述第二位置。
30.根据权利要求29所述的设备,其中所述两级内插方法包括确定所述内插位置中的第一多个内插位置的第 级和具有公差条件的第二级,所述内插位置中的第二多个内插位置是由于对所述公差条件的违反而通过所述第二级来确定的。
全文摘要
本发明包括一种广义运动学库(210),其可用于控制机床系统(100)的运动且可用于处理用于例如模拟图形(245)等其它应用程序的数据。本发明揭示用于穿过机器奇异点(490)内插机床系统(100)的各个轴的移动的方法。
文档编号B25J9/16GK101501588SQ200780029093
公开日2009年8月5日 申请日期2007年8月6日 优先权日2006年8月4日
发明者保罗·J·格雷 申请人:赫克公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1