
2.2 运动控制系统的基本原理
2.2.1 坐标系和坐标变换
1.坐标系
运动控制系统有三个坐标系统或坐标系。根据PLCopen运动控制规范,可表示为MCS、PCS和ACS。
(1)MCS(Machine Coordinate System,机械坐标系)
它是相对于机械装置的坐标系统。通常是笛卡儿直角坐标系,其原点在固定的机械位置(原点在机械安装时定义)。因此,也称为基准坐标系或基本坐标系。
图2-1是机器人机械坐标系,机器人底座有图示标志。对数控机床或数字加工中心,则以机床原点为坐标系原点,并遵循右手法则建立直角坐标系。图2-2是数控铣床的机械坐标系。
对笛卡儿坐标系的机械装置,MCS是直角坐标系。右手法则如图2-3所示。右手法则是伸出右手的大拇指、食指和中指,组成相互垂直的坐标形状,则大拇指方向对应x轴正方向,食指方向对应y轴正方向,中指方向对应z轴正方向。建立的坐标系也称为右手直角坐标系。
下面以数控机床为例,说明其坐标系。

图2-1 机器人的机械坐标系

图2-2 数控铣床的机械坐标系

图2-3 右手法则
机床原点是机床上的固定点,或称为机床零点(原点),它是机床制造商设置的固定物理位置,用于机床与系统的同步,建立测量机床运动坐标的起始点,因此,该点是确定机床参考点的基准。
机床还设置一个机床参考点,它与机床原点之间的相对位置固定,是机床出厂前经精密测量确定的。一般设置在刀具运动的x、z正向最大极限位置,每次机床通电后,机床进行回零点操作,使刀具运动到机床参考点。因此,通过回零确定机床的零点。
机床z坐标通常规定是与主轴轴线平行的标准坐标轴。当有多个主轴或无主轴时,选垂直于装夹面的轴作为主轴,并确定作为坐标系的z轴。z轴正方向是增加刀具与工件直接距离的方向。
对没有回转刀具或工件的机床,机床x坐标平行于主切削方向,垂直于z轴,并以该方向作为其正方向,通常取水平方向为x轴。例如,数控铣床,z轴为立式,人面向主轴,向右是x轴正方向;z轴为卧式,人面向主轴,向左为x轴正方向。对回转工件的机床,机床x坐标是径向的,平行于横向滑座,其正方向是刀具离开工件回转中心的方向。
机床y坐标的方向根据右手直角坐标系,用右手法则确定。
(2)PCS(Product Coordinate System,产品坐标系)
PCS也称程序坐标系(Program Coordinate System)或工件坐标系。它是基于MCS的系统,通常可通过移位或旋转实现。PCS的零点是相对于产品的,它在程序运行期间可改变。实际工件必须相对MCS有一个旋转或移位,或者甚至可相对移动到MCS的坐标系。
PCS(Part program coordinate system,部件程序坐标系)用于德国工业标准DIN66025编程语言的几何描述中,在部件程序中的数据组成程序坐标,其例外是直接轴坐标的G函数。
WCS(Workpiece coordinate system,工件坐标系)是以工件原点确定的坐标系,它与工件的固定点绑定,通过坐标信息的工件描述与该系统关联。
工件坐标系是为确定工件几何形体上各要素位置设置的坐标系。工件原点位置人为设置,通常是编程时根据工件特别确定,因此,也称为编程原点。
数控机床加工工件的原点一般选在工件右端面、左端面或卡爪的前端与z轴的交点,同一工件如果工件原点改变,程序中的坐标尺寸也需随之改变。因此,编程时应先确定编程原点,确定工件坐标系。
在PCS,通过规定的轨迹,就可独立地描述机械姿态的轨迹。为了在这两个坐标之间(由MCS到PCS,或由PCS到MCS)进行映射,通常可采用直角坐标变换或柱坐标变换。
(3)ACS(Axes Coordinate System,轴坐标系)
它是固定于物理轴(如伺服电动机、液压缸等)上的坐标系,是构成单一驱动器的物理电动机或单轴运动相关的坐标系。它可以是笛卡儿坐标系,也可以是极坐标系或其他坐标系。
每个轴有自己的坐标系。每个轴既可安装在机器机座上,也可安装在另一个轴上。这意味着机器基座或相应的轴组成基础,一个轴的ACS是固定在该轴的安装点的。
数控机床中,工具坐标系(Tool Coordinate System,TCS)以工具夹紧点为原点,工具的几何信息与该坐标系有关联,因此,在工具坐标系中规定长度补偿,在笛卡儿坐标系的机器中,z轴可用于长度补偿。
寻找机床参考点就是使工具中心点(Tool Center Point,TCP)与机床参考点重合,获得工具中心点在机床坐标系中的坐标位置。工具的长度补偿即刀尖相对于该点的长度尺寸,即刀长。实际应用时,用刀库中某把刀作为基准刀具,其他刀具的长度补偿就是相对该基准刀具刀长的长度尺寸。
2.坐标变换
特定空间中的一个点或方位的位置必须相对于坐标系。通过坐标变换,可将该位置变换到另一个坐标系。为便于编程人员的日常使用,这些变换通过功能块内部的程序实现。
坐标变换是指一个坐标系的坐标变换到另一个坐标系的坐标的法则。数控系统中坐标变换的目的是用机床运动轴位置表示工具中心点位置及工具姿态。这样,数控系统可通过控制机床各轴的合成运动完成对工具中心点的位置控制。对机器人系统,则可完成工具中心点的轨迹控制等。通过坐标变换,可将实际运动控制转化为对工具中心点的位置控制。
图2-4表示一个二维工件如何在PCS、MCS和ACS之间进行坐标变换。
图中,动点P的位置在PCS坐标系统中表示为PPCS=(xPCS,yPCS)。相对于MCS坐标系,它可等效地表示为PMCS=(xMCS,yMCS)。作为SCARA机器人的两个旋转轴,P点可用轴的转角表示为PACS=(φ1,φ2)。

(1)平移的坐标变换
如图2-5所示,手坐标系的坐标下标用H表示,基坐标系的坐标下标用B表示。设手坐标系H与基坐标系B具有相同姿态(方位),但两者坐标原点OH和OB不重合。
图中,矢量r0描述H坐标系相对基坐标系B的位置,称为H系相对B系的平移矢量。点P在H系中的位置为r,它相对于B系的矢量为rP,根据矢量相加求得坐标平移变换方程为

(2)旋转的坐标变换
如图2-6所示,设H坐标系是从B坐标系相重合位置绕B坐标系的坐标轴z旋转θz角,则H坐标系的三个单位矢量在B坐标系中表示为

图2-4 坐标系统中P点的描述

图2-5 平移的坐标变换

图2-6 旋转的坐标变换

用转动矩阵Rz表示为实现两个坐标系之间转动关系的矩阵,则Rz表示为

同理,对于绕x轴旋转θx角的转动矩阵Rx和绕y轴旋转θy角的转动矩阵Ry分别是

(3)复合运动的坐标变换
对任意点P在B坐标系和H坐标系的描述可表示为

用x、y和z表示B坐标系的三个坐标,用u、v和w表示H坐标系的三个坐标。上式可表示为

式中,A矩阵称为齐次矩阵;a、b和c是H坐标系在B坐标系三坐标的平移量。
(4)坐标变换的规则
齐次坐标变换的过程可分为两种情况:
● 用描述平移和/或旋转的变换C,左乘一个坐标系的变换T,则产生的平移和/或旋转是相对于静止坐标系进行的。
● 用描述平移和/或旋转的变换C,右乘一个坐标系的变换T,则产生的平移和/或旋转是相对于运动坐标系进行的。
因此,坐标变换的顺序与左乘或右乘齐次变换矩阵有关。
● 如果相对于基坐标系B的运动,其相应的齐次变换矩阵A左乘原齐次变换矩阵T。
● 如果相对于手坐标系H的运动,其相应的齐次变换矩阵A右乘原齐次变换矩阵T。
【例2-1】手转动的齐次矩阵A。
手转动可表示为在x轴的侧摆转动(θx),在y轴的俯仰转动(θy)和在z轴的横滚转动(θz),即

【例2-2】平面坐标变换的示例。
设P点在MCS坐标系中的坐标为PMCS=(xMCS,yMCS)。当坐标系转换至PCS坐标系时,坐标为PPCS=(xPCS,yPCS)。两者之间的关系可表示为

用矩阵形式表示为

式中,α是坐标系的旋转角;Ax、Ay是x和y坐标的平移量。
PLCopen运动控制规范提供了ACS、MCS和PCS之间坐标变换的功能块,例如,MC_SetKinTransForm、MC_SetCartesianTransForms和MC_SetCoodinateTransForm等。