第三章 机器人运动学基础
各位搞焊接的同行,大家好。今天咱们聊聊机器人运动学。说实话,我刚入行那会儿,觉得这东西就是一堆数学公式,跟实际焊接关系不大。直到有一次,我在调试一个汽车底盘焊缝时,机器人怎么都够不着那个刁钻的角度……嗯,从那以后,我老老实实把运动学补上了。
说白了,运动学就是研究机器人怎么动、能到哪、怎么算位置。你想想看,焊枪要沿着焊缝走,你总得知道焊枪当前在哪、下一步该去哪吧?这就是运动学要解决的问题。
核心概念:运动学只研究位置和姿态,不关心力和力矩。简单说就是——机器人能不能到那个点,而不是需要多大的力。
3.1 坐标变换:平移与旋转
先讲最基础的。机器人世界里,每个关节都有自己的坐标系。焊枪末端也有一个坐标系。我们要做的,就是把这些坐标系串起来。
平移变换最简单。比如焊枪从点A移到点B,就是沿着X、Y、Z轴各走一段距离。公式长这样:
P' = P + T
其中:
P' = 新位置
P = 原位置
T = 平移向量 [dx, dy, dz]
旋转变换稍微麻烦点。我习惯用旋转矩阵来理解。绕X轴转、绕Y轴转、绕Z轴转,各有各的矩阵。举个例子,绕Z轴转θ角:
Rz(θ) = [cosθ -sinθ 0]
[sinθ cosθ 0]
[0 0 1]
我在项目里遇到过一个问题:焊枪姿态算错了,结果焊缝偏了2毫米。查了半天,原来是旋转顺序搞反了。记住,旋转不满足交换律——先绕X转再绕Y转,跟先绕Y转再绕X转,结果完全不同。
我的习惯:做坐标变换时,先用纸笔把坐标系画出来。标清楚每个轴的方向,再动手算。别嫌麻烦,这能省下后面调试的大把时间。
3.2 DH参数法
DH参数法,全称Denavit-Hartenberg参数法。说白了,就是用四个参数来描述相邻两个关节之间的关系。哪四个参数?
- a:连杆长度(沿X轴方向)
- α:连杆扭转角(绕X轴旋转)
- d:连杆偏距(沿Z轴方向)
- θ:关节角(绕Z轴旋转)
你可能会问:为什么非得用这四个参数?我刚开始也纳闷。后来做多了才明白,这四个参数刚好能描述任意两个旋转关节或移动关节之间的位置关系。不多不少,刚刚好。
举个例子,一个六轴焊接机器人,从基座到焊枪末端,需要建立6组DH参数。每组参数对应一个关节。把这些参数代入变换矩阵,就能算出焊枪末端的位置和姿态。
标准DH变换矩阵:
T = [cosθ -sinθcosα sinθsinα a·cosθ]
[sinθ cosθcosα -cosθsinα a·sinθ]
[0 sinα cosα d ]
[0 0 0 1 ]
注意:DH参数有两种标准——标准DH和改进DH。区别在于坐标系建立的位置不同。我建议初学者先掌握标准DH,用熟了再接触改进DH。我曾经在两种标准之间切换时吃过亏,坐标系搞混了,算出来的位置差了十万八千里。
3.3 正运动学与逆运动学求解
正运动学,就是已知每个关节的角度,求焊枪末端的位置和姿态。这个相对简单,把DH参数代入变换矩阵,一步步乘下去就行。
逆运动学就麻烦了。已知焊枪末端要到达某个位置,反推每个关节该转多少度。你想想看,六轴机器人有6个关节,但末端位置只有3个坐标加3个姿态角。这就意味着——同一个末端位置,可能有多种关节角度组合。
我在调试一个油箱焊缝时遇到过这种情况:机器人能到那个点,但姿态不对,焊枪会撞到工件。后来我加了约束条件,强制要求某个关节的角度范围,才找到合适的解。
逆运动学求解方法主要有两种:
- 解析法:通过数学推导,直接得到公式解。速度快,但只适用于特定构型的机器人。
- 数值法:用迭代逼近的方式求解。通用性强,但计算量大,可能不收敛。
我的建议:对于焊接机器人,优先用解析法。焊接路径要求实时性高,数值法算起来太慢。如果解析法搞不定,再考虑数值法作为备选。
3.4 工作空间分析
工作空间,就是机器人末端能到达的所有点的集合。说白了,就是机器人的「活动范围」。
为什么要分析工作空间?很简单——你得确认焊缝在不在机器人的活动范围内。如果不在,要么换机器人,要么调整工件位置。
我记得有一次,客户要求焊接一个大型结构件。我算了一下,机器人最大臂展刚好够到焊缝边缘。但实际调试时发现,机器人虽然能到那个点,但姿态受限,焊枪角度不对。这就是工作空间分析没做全——只考虑了位置,没考虑姿态。
工作空间分析通常分两步:
- 蒙特卡洛法:随机生成大量关节角度组合,计算末端位置,画出散点图。这个方法简单直观,能快速看到工作空间的轮廓。
- 边界分析:找出工作空间的边界曲面。这个更精确,但计算复杂。
下面这张图是我用SVG画的工作空间分析流程,帮你理清思路:
实际做工作空间分析时,我建议你重点关注两个区域:
- 灵巧工作空间:机器人能以任意姿态到达的区域。焊接时尽量把焊缝放在这个区域。
- 可达工作空间:机器人能到达但姿态受限的区域。实在没办法时可以用,但要小心碰撞。
避坑指南:我曾经在分析工作空间时,只算了位置没算姿态。结果现场调试时,机器人虽然能到焊缝起点,但焊枪角度不对,焊丝送不进去。后来我加了一条规则——工作空间分析必须同时考虑位置和姿态,缺一不可。
好了,运动学基础就聊到这儿。这些内容看着枯燥,但确实是焊接机器人编程的根基。你想想看,如果连机器人能到哪、怎么到都搞不清楚,还谈什么焊缝质量优化?
下一章咱们会深入聊聊轨迹规划,到时候这些运动学知识都会用上。先消化消化今天的内容,有问题随时交流。
公众号:蓝海资料掘金营,微信deep3321