运动控制基础:伺服系统组成、位置/速度/力矩模式与机械臂运动学基础
在PLCopen运动控制体系中,机械臂的伺服控制是连接逻辑控制与物理执行的关键桥梁。理解伺服系统的硬件构成、三种核心控制模式(位置、速度、力矩)的适用场景,以及机械臂运动学的基本正逆解概念,是后续编写符合IEC 61131-3标准的功能块(如MC_MoveAbsolute、MC_MoveVelocity、MC_GearIn等)的前提。本章将从工程实践视角,系统梳理这些基础概念,并重点剖析它们与PLCopen编程模型之间的映射关系。
2.1 伺服系统组成与PLCopen轴模型
2.1.1 核心原理:从物理硬件到逻辑轴
一套完整的伺服系统由四个核心物理单元构成:运动控制器(PLC或专用运动控制卡)、伺服驱动器(含功率放大与电流环)、伺服电机(通常为永磁同步电机PMSM)以及反馈元件(增量式编码器、式编码器或旋转变压器)。在PLCopen体系中,这些物理硬件被抽象为“轴”(Axis)对象,通过MC_Power功能块使能后,逻辑轴与物理轴建立映射关系。值得注意的是,PLCopen标准并不关心底层通信协议(如EtherCAT、PROFINET、CANopen),而是通过统一的轴参数结构(AXIS_REF)屏蔽硬件差异。
2.1.2 判断方法:伺服系统选型与配置流程
- 负载计算:根据机械臂各关节的惯量、重力矩、动态力矩需求,计算峰值转矩与连续转矩。
- 电机选型:确保电机额定转矩≥1.5倍连续负载转矩,峰值转矩≥2倍峰值负载转矩。
- 驱动器匹配:驱动器额定电流≥电机额定电流,且支持所需反馈类型(如BiSS-C、EnDat 2.2)。
- PLCopen轴配置:在PLCopen配置工具中设置轴类型(虚拟轴/物理轴)、单位换算系数(脉冲/度)、软限位与硬限位。
2.1.3 案例拆解:六轴机械臂J1轴伺服配置
某六轴串联机械臂J1关节(基座旋转轴)的减速比为1:100,电机额定转速3000rpm,末端允许最大角速度90°/s。配置时需计算:电机每转对应机械臂角度=360°/100=3.6°。若编码器分辨率为23位(8388608脉冲/转),则PLCopen轴参数中位置单位换算系数为:脉冲数/度 = 8388608 / 3.6 ≈ 2330177.8。该系数直接填入轴配置的“位置比例因子”字段。若忽略减速比换算,将导致实际运动速度与指令速度偏差100倍,造成严重安全事故。
2.1.4 常见误区与复盘
- 误区1:将驱动器内部电子齿轮比与PLCopen轴比例因子混淆。电子齿轮比用于驱动器内部指令脉冲倍频,而PLCopen比例因子用于用户单位与编码器计数之间的换算,两者应独立设置。
- 误区2:忽略编码器的多圈数据初始化。使用式编码器时,需在首次上电执行MC_Home并写入多圈零点偏移,否则断电重启后轴位置丢失。
- 复盘:建议在轴配置完成后,使用MC_ReadActualPosition与手动盘车对比验证位置换算正确性,再进入后续运动控制调试。
2.2 位置/速度/力矩三种控制模式
2.2.1 核心原理:控制环路的层级关系
伺服驱动器的控制结构呈三环嵌套:电流环(最内层,响应最快)、速度环(中间层)、位置环(最外层)。PLCopen通过不同功能块选择控制模式:位置模式使用MC_MoveAbsolute/MC_MoveRelative,速度模式使用MC_MoveVelocity,力矩模式使用MC_TorqueControl。需要特别强调的是,PLCopen的“模式”是逻辑层面的指令类型,而驱动器内部的实际控制模式由PLCopen功能块自动切换。例如,执行MC_MoveAbsolute时,PLCopen将位置指令通过周期同步位置模式(CSP)发送至驱动器,驱动器内部自动切换为位置环闭环。
| 控制模式 | PLCopen功能块 | 典型应用场景 | 关键参数 | 注意事项 |
|---|---|---|---|---|
| 位置模式 | MC_MoveAbsolute / MC_MoveRelative | 点对点定位、轨迹插补 | 位置、速度、加速度、减速度 | 需设置动态跟随误差极限 |
| 速度模式 | MC_MoveVelocity | 恒速输送、张力控制 | 速度、加速度 | 需配合MC_Stop进行平滑停车 |
| 力矩模式 | MC_TorqueControl | 力控装配、恒压贴合 | 力矩值、力矩斜坡 | 必须设置力矩/速度双极限保护 |
2.2.2 判断方法:模式选择决策路径
选择控制模式时,应遵循以下判断逻辑:若任务要求末端精确到达某空间点(如螺丝锁付),选择位置模式;若任务要求保持恒定运动速度(如传送带同步),选择速度模式;若任务要求控制接触力(如打磨、装配),选择力矩模式。实际机械臂应用中,常采用混合模式——例如在笛卡尔空间进行位置控制,同时在工具坐标系Z轴方向叠加力矩控制(力位混合控制),这需要PLCopen的轴耦合功能实现。
2.2.3 案例拆解:SCARA机器人恒力贴合应用
某SCARA机器人执行手机屏幕贴合任务,要求在Z轴方向施加恒定压力15N±1N。初始方案采用纯位置模式,通过调整Z轴目标位置间接控制压力,但屏幕厚度公差±0.1mm导致压力波动达±5N。改进方案:将Z轴切换为力矩模式,设定力矩指令对应15N(需换算电机转矩与丝杠导程),同时保持X/Y轴位置模式。PLCopen实现中,使用MC_TorqueControl控制Z轴,同时用MC_MoveAbsolute控制X/Y轴。调试中发现,力矩模式下Z轴会因重力产生下垂,需在力矩指令中叠加重力补偿偏置(约2.3N)。最终压力波动控制在±0.8N以内,贴合良率从92%提升至99.5%。
2.2.4 常见误区与总结
- 误区1:认为位置模式精度一定高于力矩模式。实际上,位置模式精度受机械刚度影响,力矩模式配合力反馈可实现更高的一致性。
- 误区2:在速度模式下直接执行MC_Stop,可能导致过冲。应使用MC_MoveVelocity的减速度参数进行斜坡停车,或使用MC_Halt。
- 总结:三种模式并非互斥,PLCopen允许在运行中动态切换模式(通过Execute上升沿触发),但切换时需注意轴状态机必须处于Standstill或Disabled状态。
2.3 机械臂运动学基础:正解与逆解
2.3.1 核心原理:DH参数与坐标变换
机械臂运动学研究关节空间与笛卡尔空间之间的映射关系。正运动学(Forward Kinematics)已知各关节角度,通过DH(Denavit-Hartenberg)参数建立相邻连杆坐标系变换矩阵,连乘得到末端执行器相对于基座的位姿矩阵T₀₆。逆运动学(Inverse Kinematics)则相反,已知末端目标位姿,求解满足条件的关节角度组合。逆解通常存在多解(如6轴机械臂最多8组解),需根据关节限位、避障要求选择最优解。PLCopen本身不提供运动学求解功能块,但可通过外部函数块(如C++编写的运动学库)集成,或使用PLCopen的MC_Trafo功能块(部分厂商扩展)实现坐标变换。
2.3.2 判断方法:正逆解求解流程
- 建立DH表:确定各关节的a、α、d、θ四个参数。
- 正解计算:逐关节计算变换矩阵Tᵢ₋₁→Tᵢ,连乘得到T₀₆。
- 逆解分析:对于6轴机械臂,优先采用解析法(Pieper准则),将逆解分解为腕部位置和腕部姿态两个子问题。
- 多解选择:根据关节运动范围、路径连续性、避障需求选择最优解。
- 奇异点处理:当机械臂处于奇异位形(如腕部中心与肩部中心重合)时,雅可比矩阵秩亏,需通过阻尼最小二乘法(DLS)进行数值近似。
2.3.3 案例拆解:六轴机械臂直线插补中的逆解实时计算
某焊接机器人需沿直线焊缝运动,焊缝起点(500, 200, 300)mm,终点(600, 250, 320)mm,姿态保持不变。PLCopen中通过MC_MoveDirectAbsolute(部分厂商扩展)或MC_MovePath实现笛卡尔空间运动。实际执行时,运动控制器每1ms插补周期计算一次目标位姿,并调用逆解函数求解6个关节角。该案例中,逆解函数采用解析法,平均计算耗时0.3ms,满足1ms周期要求。但在接近奇异点(J5关节角接近0°)时,解析法出现数值不稳定,导致关节速度突变。解决方案:在逆解函数中增加奇异点检测,当J5角小于5°时切换为DLS数值解法,并限制关节速度变化率。
关节 a(mm) α(°) d(mm) θ(°)
1 0 90 330 θ1
2 350 0 0 θ2-90
3 0 90 0 θ3
4 0 -90 320 θ4
5 0 90 0 θ5
6 0 0 80 θ6
2.3.4 常见误区与复盘
- 误区1:将逆解多解问题简单处理为取最小关节变化量。在连续轨迹运动中,应同时考虑关节速度连续性,否则可能产生关节速度突变。
- 误区2:忽略基座坐标系与工具坐标系的转换。PLCopen中MC_MoveAbsolute的坐标参考系默认为基座坐标系,若需工具坐标系运动,需先执行MC_SetCoordinateTransform。
- 复盘:建议在PLCopen程序中增加运动学自检功能——正解后反算逆解,验证误差小于0.01mm,确保运动学参数正确。
本章内容为后续PLCopen运动控制功能块的深入应用奠定了物理与数学基础。理解伺服系统的硬件构成与逻辑抽象、掌握三种控制模式的适用边界、熟练运用运动学正逆解方法,是编写可靠、高效机械臂控制程序的关键前提。在实际项目中,这三部分知识往往需要综合运用——例如在力控装配场景中,既需要力矩模式控制接触力,又需要逆解计算将笛卡尔空间力指令映射到关节空间力矩指令。建议读者在掌握本章基础后,结合具体机械臂型号进行仿真或实机验证,逐步建立从理论到工程的完整认知链路。