4. TwinCAT NC PTP与机器人轴配置

在TwinCAT NC PTP(Point-to-Point)框架下,运动控制的最小单位是“轴”。机器人集成时,第一步不是写程序,而是把物理关节、伺服驱动与NC轴一一对应起来,并明确每个轴的类型、耦合关系和单轴参数。这一节围绕“轴类型—耦合与凸轮—单轴参数—关节轴映射”四条主线展开,帮助你把一台六轴机器人正确接入TwinCAT NC。

一、轴类型:连续轴、模轴与同步轴

TwinCAT NC中,轴按运动范围与位置处理方式分为三类,选择错误会直接导致回零失败或位置跳变。

  • 连续轴(Linear Axis):位置无循环,如直线模组、升降轴。位置范围由软件限位约束,回零后位置单调递增或递减。
  • 模轴(Modulo Axis):位置在0~360°(或0~2π)内循环,如机器人第6轴、转台。超过360°后自动回绕,适合无限旋转关节。
  • 同步轴(Synchronized Axis):本身不独立运动,位置由主轴通过耦合关系计算得出,如凸轮从动轴、齿轮耦合从轴。

机器人关节中,J1~J3通常为连续轴(有机械限位),J4~J6常设为模轴。若把J6误设为连续轴,当关节旋转超过一圈时,NC会报“位置超限”或产生反向绕线,这是集成中最常见的配置错误之一。

二、耦合与凸轮:让从轴跟随主轴

耦合(Coupling)用于建立轴与轴之间的位置关系。TwinCAT NC支持两种基本形式:

  • 齿轮耦合(Gear Coupling):从轴位置 = 主轴位置 × 传动比 + 偏移量。适合固定比例传动,如机器人外部行走轴与本体联动。
  • 凸轮耦合(Cam Coupling):从轴位置 = 凸轮表(主轴位置)。适合非线性关系,如取放料时机器人手腕与夹具的时序配合。

凸轮表由若干“主位置—从位置”点定义,NC在点间做插值。例如定义主轴0°时从轴0°、主轴180°时从轴90°、主轴360°时从轴180°,即形成1:0.5的线性凸轮。若需要“停—动—停”的间歇运动,可在凸轮表中加入平台段。耦合建立后,从轴不再接受独立运动指令,必须通过MC_GearIn或MC_CamIn激活,用MC_GearOut/MC_CamOut解除。

三、单轴参数:决定运动品质的关键量

每个NC轴都有一组必须正确设置的单轴参数,它们直接影响机器人能否平稳、准确地到达目标点。以下为典型参数及示例值(示例为合理假设,非实测):

参数含义示例值
Reference Velocity回零搜索速度200 mm/s 或 20 °/s
Maximum Velocity最大运行速度1000 mm/s 或 180 °/s
Maximum Acceleration最大加速度2000 mm/s² 或 360 °/s²
Maximum Jerk最大加加速度20000 mm/s³ 或 3600 °/s³
Position Lag Monitoring位置滞后监控窗口0.5 mm 或 0.5 °
Following Error跟随误差限值1.0 mm 或 1.0 °

设置时遵循“先保守、后优化”原则:初始加速度取电机额定值的60%~70%,Jerk取加速度的10倍左右,待机器人空载运行稳定后再逐步提高。位置滞后监控窗口过小会频繁报错,过大则失去保护意义,一般取最大速度下跟随误差的1.5~2倍。

四、机器人关节轴映射:从物理关节到NC轴

关节轴映射的核心是建立“物理关节编号—伺服驱动—NC轴—坐标系方向”四者的一致关系。以六轴串联机器人为例,映射表通常如下:

关节    NC轴    驱动    轴类型    方向    减速比
J1      Axis1   Servo1  连续轴    +       100:1
J2      Axis2   Servo2  连续轴    -       120:1
J3      Axis3   Servo3  连续轴    +       120:1
J4      Axis4   Servo4  模轴      +       80:1
J5      Axis5   Servo5  模轴      -       80:1
J6      Axis6   Servo6  模轴      +       60:1

方向符号必须与机器人运动学模型一致。若J2物理向下为正,而运动学中J2向上为正,则需在NC轴中设置“Invert Motor Direction”或在驱动层取反,二者只能选其一,否则会出现“示教位置正确、自动运行反向”的典型故障。减速比用于把电机侧位置换算为关节侧角度:关节角度 = 电机位置 / 减速比。TwinCAT中通过Scaling Factor完成该换算,例如减速比120:1、电机编码器19位(524288 inc/rev),则每度对应约524288×120/360 ≈ 174763 inc/°。

六轴机器人关节轴映射与NC轴配置关系 物理关节 J1 底座回转 J2 大臂 J3 小臂 J4 腕部回转 J5 腕部摆动 J6 法兰回转 NC轴 Axis1 Axis2 Axis3 Axis4 Axis5 Axis6 轴类型 连续轴 连续轴 连续轴 模轴 模轴 模轴 方向 / 减速比 / 换算 + / 100:1 / 174763 inc/° − / 120:1 / 209715 inc/° + / 120:1 / 209715 inc/° + / 80:1 / 139810 inc/° − / 80:1 / 139810 inc/° + / 60:1 / 104858 inc/° 方向符号必须与运动学模型一致;减速比与编码器分辨率共同决定 Scaling Factor,换算关系:inc/° = 编码器分辨率 × 减速比 ÷ 360

完成映射后,建议按以下顺序验证:先手动使能各轴,用MC_MoveAbsolute让每个关节单独走±10°,观察方向是否与示教器一致;再执行回零,确认模轴回绕正常;最后激活耦合或凸轮,检查从轴跟随误差是否在监控窗口内。若某轴方向相反,优先在NC轴参数中调整,而不是在程序中用负号补偿,以保持映射表与运动学模型的一致性。

模轴回零时,TwinCAT会将位置归入0~360°区间。若机器人J6在回零前已旋转多圈,回零后位置会“跳”到等效角度,这是正常行为,但需确保机械上无绕线风险。
耦合与凸轮激活期间,从轴不接受独立运动指令。若同时调用MC_MoveAbsolute,会报“轴已被耦合”错误。解除耦合必须用MC_GearOut或MC_CamOut,不能直接禁用轴。

总结来说,轴类型决定位置处理方式,耦合与凸轮决定轴间关系,单轴参数决定运动品质,关节轴映射决定物理与逻辑的一致性。四者配置正确后,TwinCAT NC才能把机器人六个关节当作一个协调的整体来驱动,为后续的PTP点位运动和插补运动打下基础。