运动控制器的标准参考点

坐标系是定义PLCopen控制器中六个自由度(DoF)的参考点。程序员需要知道不同的坐标系是如何相互作用的,以及理解哪些坐标系是重要的。

马克·怀尔德,安川美国公司 2018年7月30日

理解坐标框架之间的差异以及它们如何相互作用是使用群体完成成功运动的关键。在IEC 61131-3可编程控制器运动控制的全球标准PLCopen的第4部分中,介绍了使用组的多轴协调运动的概念。组是一个共同机制上的轴的集合,这些轴一起工作以提供三维空间中的运动路径。例子包括龙门架系统、关节臂机器人、三角机器人或连杆机构;多个轴一起工作以提供多维运动的任何装置。

作为这个新功能的一部分,控制器中的坐标框架(参见下面的参考)的概念成为一个需要理解的重要主题。坐标系是一个参考点,它定义了六个自由度(DoF): X、Y和Z笛卡尔坐标,以及描述围绕每个轴旋转的Rx、Ry和Rz角(称为欧拉角)。每一个被控制的机构、部件或工作单元都有自己的坐标系。由于PLCopen控制器可以控制多个组,每个组作用于多个部件,因此重要的是要认识到不同的坐标帧如何相互作用,以及程序员理解哪些是重要的。

每个坐标系都有一个原点,它定义了所有坐标系中的零点。每个坐标轴的方向由右手规则确定(见图1)。如果食指指向正X方向,伸出的中指指向正Y方向,与食指成直角,伸出的拇指指向正Z方向。

角方向是使用右手握握规则确定的(见图2)。当拇指指向轴的正方向时,手指绕轴旋转的方向就是该轴的正旋转方向。

电机位置

最终,控制器控制各个电机的位置。组中的每个轴都有自己的轴坐标系(ACS),这是电机的旋转位置。对于大多数复杂的机构,如关节臂机器人、三角机器人和连杆机构,单独的ACS位置本身并不意味着什么;这些轴的坐标通过运动学计算决定了机构的位置。这些计算既可以在控制器内部完成,也可以由单独的机器人控制器完成。

每组的基坐标系是机器坐标系(MCS)。该机构的制造商指定了MCS的起源。对于关节臂机器人和三角机器人,它通常位于机器人的底部。然后,控制器执行运动学计算,以确定工具板坐标系(TPCS),这是机构本身的结束。这个坐标系本身对程序员没有用处,但是它是用来定义工具位置的原点。刀具有自己的坐标系,即刀具坐标系(TCS)。

指挥的位置

通常,工具集中在机构的末端,所以这可能像TPCS +z方向上的偏移量一样简单,可能带有Rz组件来考虑旋转。TCS最常用于慢跑和教学姿势,但不常用于自动运动。TCS的起源是工具中心点(TCP),它是命令移动时的兴趣点。当调用MCS中的移动时,是TCP移动到该位置(参见图3)。

由于每个组都有自己的MCS起源,因此将多个组移动到空间中的相同位置需要每个组相对于其MCS位置具有自己的命令位置。例如,如果两个拾取机器人从同一输送带上拾取,则单个移动到输送带上的同一位置将需要不同的MCS位置命令。

为了简化在这种类型的共享空间中的移动,每个组的MCS原点可以从世界坐标系统(WCS)的原点偏移。每个工作单元只有一个WCS源。当配置单个组时,定义到WCS原点的偏移量(6 dof)。这允许多种机制使用一个公共坐标框架来简化编程。

最后要考虑的坐标系是零件坐标系(PCS)。这个框架用于定义世界空间中单个对象的位置和方向。这个坐标系的原点在零件本身上,并随零件移动。这在需要对单个部件进行操作的地方很有用,例如在取放应用程序中。其他应用包括输送机跟踪,部件沿着传送带移动。在这种情况下,PCS相对于WCS和MCS原点移动,因此将机制的TCP移动到特定的PCS位置必须考虑到坐标帧之间变化的偏移量(参见图4)。

了解坐标系之间的差异以及它们之间的相互作用是在IEC中使用组完成成功运动的关键。不同的坐标系一起使用来完成所需的操作。

输送机跟踪示例

例如,在传送带跟踪应用程序中,可以首先在MCS中命令移动以将TCP定位到跟踪区域的起点。当零件的位置和方向被定义后,输送机跟踪程序计算零件到机构MCS原点的偏移量。此偏移量定义了部件的PCS以及MCS与输送机跟踪功能的关系,并在部件移动时调整PCS偏移量。然后用户在PCS空间中定义一个移动来拾取部件。由于PCS的偏移量有六个自由度,如果箱子在传送带上转动,这也可以考虑。然后,用户在pc空间中执行移动以拾取部件。

匹配零件的工具方向是自动的(如果需要的话),因为它是在坐标系之间的偏移量中考虑的。每次拾取都使用相同的PCS位置,只有PCS偏移量在遇到新部件时发生变化。由于输送机跟踪功能不断地更新PCS的偏移量,TCP也沿着输送机的正方向跟踪以考虑部件的运动。

马克•怀尔德,运动应用工程师,安川美国公司。克里斯·瓦夫拉编辑,制作编辑,控制工程, CFE传媒,cvavra@cfemedia.com

更多的答案

关键字: plc,控制器,运动控制

  • 坐标系是定义六个自由度的参考点。
  • 最终,控制器指挥各个电机的位置。
  • 理解坐标系之间的差异以及它们如何相互作用。

考虑一下:

还有什么在PLCopen控制器中编程坐标帧时应该考虑什么?