编辑
2026-08-16
自动化
00

目录

技术简述
算法说明

技术简述

非标自动化设备中经常出现多轴联动控制的需求,最常用的是3轴或者4轴联动控制,对于XYZR四轴联动控制,目前常见的写法是每个轴单独写程序,在程序流程中限制条件,比如Z轴先上升50距离X才能移动,常规写法是判断Z轴位置,再触发X轴移动,程序出现大量重复代码,自动流程复杂,维护不方便,此处提出新型控制方案,仿照ABB机器人的关节运动指令MoveJ的处理方式来控制,用户只需要提前规划好一系列点位,执行连续控制功能块后即可自动将点位执行完成,遇到需要等待的信号,轴自动停止等待,如果等待信号提前到达,轴可以不停止,连续定位,功能块可以重复使用,简化了自动程序编写工作,维护方便,在欧姆龙控制系统下对提出的方法进行验证,实验结果表明,此算法可以有效解决多轴联动控制问题,此算法也可以推广到4轴以上控制系统。

算法说明

  • 使用1轴~4轴的关节运动(非直线插补)组合出连续运动,运动目标参数保存在AxsGroups中,不限制数组长度,功能块会顺序执行AxsGroups中的点位。
  • 参数结构体数据格式如下图

image.png

4轴关节运动时,各轴的目标速度根据插补速度和各轴的移动距离

F :指定的关节进给速度

Fa0 :F 用于轴A0时的关节进给速度

Fa1 :F 用于轴A1时的关节进给速度

Fa2 :F 用于轴A2时的关节进给速度

Fa3 :F 用于轴A3时的关节进给速度

L :指定轨迹的移动量

La0、La1、La2、La3:轴A0、轴A1、轴A2、轴A3 的移动量

L=MAX(La0、La1、La2、La3),找出最大距离

Fa0=F×La0/L

Fa1=F×La1/L

Fa2=F×La2/L

Fa3=F×La3/L

image.png

image.png

image.png

本文作者:zhusenlin

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 版权所有:zhusenlin 许可协议。转载请注明出处!