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/°。
完成映射后,建议按以下顺序验证:先手动使能各轴,用MC_MoveAbsolute让每个关节单独走±10°,观察方向是否与示教器一致;再执行回零,确认模轴回绕正常;最后激活耦合或凸轮,检查从轴跟随误差是否在监控窗口内。若某轴方向相反,优先在NC轴参数中调整,而不是在程序中用负号补偿,以保持映射表与运动学模型的一致性。
MC_MoveAbsolute,会报“轴已被耦合”错误。解除耦合必须用MC_GearOut或MC_CamOut,不能直接禁用轴。总结来说,轴类型决定位置处理方式,耦合与凸轮决定轴间关系,单轴参数决定运动品质,关节轴映射决定物理与逻辑的一致性。四者配置正确后,TwinCAT NC才能把机器人六个关节当作一个协调的整体来驱动,为后续的PTP点位运动和插补运动打下基础。