【智能制造-35】焊缝跟踪实现方式详解
·
激光法(激光视觉焊缝跟踪)
- 原理:
采用激光三角反射式原理。激光器发射出激光束,经放大后形成一条激光线投射到被测物体(焊缝)表面上。反射光透过高质量光学系统,被投射到成像矩阵(通常是 CCD 或 CMOS 等感光元件)上。根据几何光学的三角关系,通过计算可以得到传感器到被测表面的距离(z 轴)和沿着激光线的位置信息(x 轴)。当被测物体或探头移动时,就可以得到一组三维测量值,从而获取焊缝的位置和形状信息。 - 算法原理:
图像预处理:对视觉传感器采集到的激光条纹图像进行预处理,包括去噪、增强对比度等操作,以便后续更好地提取焊缝特征。例如,采用中值滤波等算法去除图像中的噪声,通过灰度拉伸等方法增强图像的对比度,使焊缝与背景的区分更加明显。
特征提取:从预处理后的图像中提取焊缝的特征信息,如焊缝的边缘、中心线等。常用的方法有边缘检测算法(如 Canny 边缘检测)、骨架提取算法等。通过这些算法可以得到焊缝的大致轮廓和走向。
位置计算:根据提取到的焊缝特征信息,结合激光三角测量原理和传感器与焊枪之间的相对位置关系,计算出焊缝相对于焊枪的位置偏差。例如,通过已知的激光发射角度、成像距离等参数,以及图像中焊缝特征点的位置,利用几何计算得出焊缝的实际位置。
运动控制:将计算得到的位置偏差信息传输给机器人的运动控制系统,运动控制系统根据偏差值实时调整焊枪的位置和姿态,使焊枪始终对准焊缝,实现实时跟踪焊接。
视觉图像法(基于普通视觉的焊缝跟踪)
- 原理:使用普通的光学摄像头或工业相机对焊缝进行拍摄,获取焊缝的图像信息,然后利用图像处理算法对图像进行分析和处理,提取出焊缝的位置和形状信息。摄像头可以安装在焊枪附近或其他合适的位置,以便能够清晰地拍摄到焊缝。
- 算法原理:
图像获取:通过光学摄像头连续采集焊缝的图像序列,图像的获取频率需要足够高,以保证能够实时跟踪焊缝的变化。
图像预处理:与激光法类似,对采集到的图像进行预处理,包括去噪、增强对比度、去除背景干扰等。例如,对于反光较强的焊接场景,可以采用特殊的滤波算法减少反光对图像的影响。
焊缝识别:使用图像识别算法对预处理后的图像进行分析,识别出焊缝的区域。这可能涉及到模板匹配、特征点检测等算法。例如,事先建立好焊缝的标准模板,然后将采集到的图像与模板进行匹配,找到与模板最相似的区域即为焊缝区域;或者通过检测图像中的特定特征点,如焊缝的边缘点、角点等,来确定焊缝的位置。
位置跟踪:根据连续图像帧中焊缝位置的变化,计算出焊缝的运动轨迹和速度。然后,根据焊缝的实时位置信息和运动趋势,预测焊枪下一步应该移动的位置,以便及时调整焊枪的位置,实现实时跟踪焊接。
要完成实时纠偏,需要具备哪些因素?
- 与控制器的运动堆栈密切相关
(1)运动堆栈的作用:控制器的运动堆栈在实时纠偏中起着关键作用。运动堆栈主要负责处理机器人的运动规划和执行相关的任务。它接收来自焊缝跟踪系统(如激光传感器或视觉图像系统)的位置偏差信息,并将其转换为机器人关节或末端执行器的运动指令。例如,当焊缝跟踪系统检测到焊枪相对于焊缝向左偏离了一定距离,运动堆栈会根据机器人的运动学模型计算出各个关节需要转动的角度或者末端执行器需要平移和旋转的量,从而使焊枪回到正确的位置。
(2)运动堆栈的层级影响:运动堆栈通常包括多个层级,从底层的电机驱动控制到高层的任务规划。在实时纠偏过程中,底层的速度控制和位置控制尤为重要。例如,底层的电机驱动控制需要快速、精确地执行运动指令,以调整机器人的关节速度和位置。如果底层的控制响应速度慢或者精度不够,即使上层接收到了准确的纠偏信息,也无法及时、准确地实现纠偏。高层的任务规划则需要考虑机器人的整体运动策略,例如如何在不影响焊接质量的前提下,以最快的速度完成纠偏动作,同时避免机器人与周围环境发生碰撞。 - 与传感器数据处理速度和精度关系重大
(1)数据处理速度:传感器(如激光传感器或视觉传感器)数据处理的速度直接影响实时纠偏的效果。如果传感器采集的数据不能及时被处理,就会产生延迟,导致纠偏不及时。例如,在高速焊接过程中,焊缝位置的变化非常快,如果传感器采集到焊缝位置偏差信息后,经过长时间的处理才发送给控制器,那么机器人就无法及时调整焊枪位置,从而影响焊接质量。因此,需要采用高效的图像处理算法(对于视觉传感器)或信号处理算法(对于激光传感器)来快速提取焊缝位置偏差信息。
(2)数据精度:传感器数据的精度也至关重要。不准确的传感器数据会导致错误的纠偏指令。例如,如果激光传感器由于受到焊接弧光干扰,导致计算出的焊缝位置偏差比实际偏差大很多,那么机器人按照这个错误的信息进行纠偏,可能会使焊枪过度偏离焊缝,反而影响焊接质量。因此,需要对传感器进行校准,并采用适当的滤波和补偿技术来提高数据的精度。 - 与通信链路的稳定性和带宽有关
(1)稳定性:在焊缝跟踪系统和控制器之间存在通信链路,用于传输焊缝位置偏差信息。通信链路的稳定性直接影响实时纠偏。如果通信链路不稳定,出现数据丢失或者中断的情况,控制器将无法及时获取准确的纠偏信息,导致焊接过程出现问题。例如,在工业现场存在大量的电磁干扰,可能会影响无线通信链路的稳定性,此时需要采用抗干扰能力强的通信协议和设备。
(2)带宽:通信链路的带宽也很重要。足够的带宽能够确保传感器采集到的大量数据(尤其是视觉图像数据)能够快速、完整地传输给控制器。如果带宽不足,数据传输速度会变慢,产生延迟,影响实时纠偏。例如,高分辨率的视觉图像传感器会产生大量的数据,如果通信链路带宽不够,就会导致图像数据传输延迟,使得控制器不能及时根据图像信息进行纠偏。 - 与机器人的动力学特性紧密相连
(1)惯性和负载影响:机器人自身的动力学特性,如惯性和负载,会影响实时纠偏的效果。当机器人需要根据纠偏指令快速移动焊枪时,其自身的惯性会产生阻碍作用。如果机器人负载较大(例如,携带了较重的焊接设备),惯性也会相应增大,使得机器人的响应速度变慢。例如,在一些大型焊接机器人中,由于其结构复杂、负载重,在收到纠偏指令后,可能无法像小型机器人那样快速地调整焊枪位置,需要考虑机器人的动力学模型来优化纠偏策略。
(2)动力系统性能:机器人动力系统(如电机的扭矩、功率等)的性能也会影响实时纠偏。如果动力系统提供的扭矩不足,在需要快速纠偏或者克服较大阻力(如在有外部干扰的情况下)时,机器人可能无法按照要求完成动作。因此,在设计机器人动力系统时,需要考虑到焊接过程中可能出现的各种纠偏情况,确保动力系统能够提供足够的动力支持。
运动堆栈的基本层次结构
- 底层 - 电机驱动与控制层:
这是运动堆栈的最底层,直接与机器人的电机等执行机构相连。它的主要功能是控制电机的转速、扭矩和方向。例如,通过脉冲宽度调制(PWM)技术精确地控制电机的输入电压,从而实现对电机转速的调节。在实时焊缝跟踪纠偏过程中,当接收到上层传来的关节运动指令时,该层会迅速将指令转换为电机的驱动信号,驱动机器人关节快速、精确地运动。
该层还包括电机的反馈控制,如使用编码器来获取电机的实际转速和位置信息。编码器会将电机的旋转信息转换为电信号反馈给驱动控制器,控制器根据反馈信号与目标信号的差值进行调整,确保电机的运动精度。例如,在焊枪需要微调位置时,电机驱动层能够根据编码器反馈,精准地控制电机转动,使焊枪准确地移动到目标位置。 - 中层 - 运动学与逆运动学层:
运动学层主要处理机器人的正运动学问题。它根据机器人的几何结构和关节参数,建立机器人末端执行器(如焊枪)位置、姿态与关节变量之间的数学关系。例如,对于一个六轴工业机器人,通过运动学模型,可以根据六个关节的角度值计算出焊枪在三维空间中的位置和姿态。这对于理解机器人的运动范围和可能的工作空间非常重要,也是进行轨迹规划和纠偏的基础。
逆运动学层则是在已知末端执行器(焊枪)的目标位置和姿态的情况下,求解关节变量。当焊缝跟踪系统检测到焊枪需要纠偏的位置和姿态信息后,逆运动学算法会计算出每个关节应该转动的角度。这个过程相对复杂,因为对于大多数机器人,逆运动学问题可能存在多个解或者无解的情况。需要根据机器人的具体结构和工作要求选择合适的解,以实现高效、合理的纠偏动作。 - 高层 - 任务规划与轨迹控制层:
任务规划层主要考虑机器人的整体焊接任务和目标。它会根据焊接工艺要求、焊缝形状和起始位置等信息,规划出机器人的焊接路径。例如,对于一个复杂的曲线焊缝,任务规划层会将焊缝分解为多个小段,为每个小段确定合适的焊接速度、焊枪姿态等参数,生成一个完整的焊接任务计划。在实时纠偏过程中,任务规划层会根据焊缝位置的实时变化,动态调整焊接任务计划,确保焊接质量和效率。
轨迹控制层负责将任务规划层生成的焊接路径和速度等信息转换为机器人关节的运动轨迹。它会考虑机器人的运动学限制、动力学特性以及焊接过程中的各种约束条件,如避免碰撞、保持焊接速度稳定等。在实时纠偏时,轨迹控制层会根据焊缝跟踪系统提供的位置偏差信息,对预定的运动轨迹进行实时修改,引导机器人沿着修正后的轨迹进行焊接,使焊枪始终对准焊缝。
运动堆栈各层之间的协作关系
(1)自下而上的数据传递:在机器人运动过程中,底层的电机驱动与控制层会将电机的实际运行状态(如转速、位置等)数据向上传递。这些数据经过中层的运动学和逆运动学层处理后,能够得到机器人末端执行器的实际位置和姿态信息。例如,电机的编码器反馈数据先在电机驱动层进行初步处理,然后传递给运动学层,用于计算焊枪的实际位置,这些信息对于上层的任务规划和轨迹控制层判断机器人是否偏离焊接轨迹至关重要。
(2)自上而下的指令传递:当焊缝跟踪系统检测到焊枪位置偏差需要纠偏时,高层的任务规划与轨迹控制层会根据偏差信息和焊接任务要求,制定纠偏策略,生成关节运动指令。这些指令通过中层的逆运动学和运动学层转换为电机驱动信号,传递给底层的电机驱动与控制层,驱动电机运动,实现焊枪位置的调整。例如,任务规划层根据焊缝位置偏差计算出焊枪需要向右平移一定距离,逆运动学层计算出各个关节的转动角度,运动学层将这些角度转换为电机驱动信号,最后电机驱动层控制电机转动,使焊枪向右平移。
(3)各层之间的交互与反馈:在运动堆栈的各层之间存在着频繁的交互和反馈。例如,中层的运动学和逆运动学层在计算过程中可能会发现某些关节运动超出了其物理限制(如关节角度限制、速度限制等),这时会将信息反馈给高层的任务规划与轨迹控制层,任务规划层会根据反馈重新调整纠偏策略。同时,底层的电机驱动与控制层在执行指令过程中如果遇到电机过载、堵转等异常情况,也会将信息向上反馈,各层根据反馈信息协同调整,确保机器人的安全、稳定运行和有效纠偏。
更多推荐



所有评论(0)