3. 运动学基础(二):Delta机器人机构简图与自由度分析、闭环矢量链原理、正运动学推导(位置级)
好,咱们接着聊。上一节我们把Delta机器人的空间描述和坐标变换打了个底。这一节,我要带大家真正走进Delta的“骨架”里,看看它到底是怎么动起来的。
说实话,我当年刚接触Delta机器人时,看着那三组平行四边形的臂杆,第一反应是:“这玩意儿真能精准定位?” 后来拆开机构一分析,才发现这里面的几何约束巧妙得很。今天我们就从机构简图开始,一步步把它的运动学老底给揭了。
3.1 机构简图与自由度分析
先看一张图。这是我用SVG画的Delta机器人机构简图,把核心的关节和连杆关系都标出来了。
你看这张图,结构其实不复杂。固定平台在上方,三个主动臂通过旋转关节连接在固定平台上。每个主动臂末端又连着两组平行杆组成的从动臂,最后汇聚到下方的动平台。
自由度怎么算?我教大家一个实用方法,别死记公式。Delta机器人有三个主动旋转关节,每个关节给一个自由度。那从动臂呢?平行四边形结构本质上是一个约束机构——它保证了动平台始终与固定平台保持平行。说白了,动平台只能平移,不能旋转。
自由度结论:Delta机器人具有3个自由度,均为平动自由度(X、Y、Z方向)。末端执行器姿态始终保持不变。
嗯,这里要注意。有些同学会问:“那三个主动臂不是可以独立转动吗?为什么不是6个自由度?” 问得好。因为平行四边形从动臂施加了约束,把三个旋转运动转化为了纯平动。我在现场调试时,经常用这个特性来快速判断机器人是否装配正确——如果动平台有倾斜,那一定是平行四边形机构出了问题。
3.2 闭环矢量链原理
接下来是重头戏。Delta机器人的运动学推导,核心就是“闭环矢量链”。
什么叫闭环矢量链?你想想看,从固定平台中心点O出发,经过主动臂、从动臂,到达动平台中心点P,这条路径是不是一个封闭的环?对,就是闭环。而且有三条这样的路径,它们最终汇聚到同一点P。
我习惯把每条支链看作一个矢量方程:
矢量关系:O → A_i → B_i → P = 0
其中:
O = 固定平台中心
A_i = 第i个主动关节旋转中心
B_i = 第i个从动臂与动平台的连接点
P = 动平台中心
写成数学形式就是:
对于支链 i (i = 1, 2, 3):
OA_i + A_iB_i + B_iP + PO = 0
或者等价地:
P = O + OA_i + A_iB_i + B_iP
这里有个关键点。OA_i是固定向量,由固定平台几何决定。A_iB_i是主动臂矢量,长度固定,方向由关节角θ_i决定。B_iP是从动臂矢量,长度固定,但方向未知。PO是动平台中心到连接点的矢量,由动平台几何决定。
个人经验:我在做正运动学推导时,喜欢先把三条支链的方程都列出来,然后联立求解。这样不容易漏掉约束条件。曾经有一次,我图省事只列了两条方程,结果算出来的位置总是偏的,查了半天才发现是少了一个约束。
3.3 正运动学推导(位置级)
好,现在我们来推导正运动学。所谓正运动学,就是已知三个主动关节角θ₁、θ₂、θ₃,求动平台中心点P的坐标(X, Y, Z)。
推导过程分三步走:
第一步:建立坐标系
以固定平台中心为原点O,建立全局坐标系。三个主动关节均匀分布在半径为R的圆周上,夹角120°。我习惯把第一个关节放在X轴正方向上。
三个主动关节中心位置(在全局坐标系下):
A₁ = (R, 0, 0)
A₂ = (-R/2, R·√3/2, 0)
A₃ = (-R/2, -R·√3/2, 0)
第二步:写出每条支链的主动臂末端位置
主动臂长度为L₁,关节角为θ_i(从水平面往下为正方向):
B_i = A_i + L₁·(cosθ_i·cosα_i, cosθ_i·sinα_i, -sinθ_i)
其中α_i是第i个关节在水平面上的方位角:
α₁ = 0°, α₂ = 120°, α₃ = 240°
第三步:利用从动臂长度约束建立方程
从动臂长度为L₂,连接点B_i到动平台连接点C_i的距离固定。动平台半径为r,C_i在动平台上的位置为:
C_i = P + r·(cosα_i, sinα_i, 0)
约束条件:|B_i - C_i|² = L₂²
展开后得到三个方程:
(P_x - B_ix - r·cosα_i)² + (P_y - B_iy - r·sinα_i)² + (P_z - B_iz)² = L₂²
这三个方程联立,就可以解出P_x、P_y、P_z。不过直接解比较麻烦,我通常用数值方法或者几何法来求解。
实用技巧:在实际工程中,正运动学通常用于监控和验证。我建议在控制器里预计算一个查找表,把关节空间映射到工作空间,这样实时运行时直接查表,速度飞快。
几何法快速求解思路
如果你不想解复杂的方程组,可以用几何法。思路是这样的:
- 以B₁为球心、L₂为半径作球面S₁
- 以B₂为球心、L₂为半径作球面S₂
- 以B₃为球心、L₂为半径作球面S₃
- 三个球面的交点就是动平台中心P的位置
这个方法直观,但要注意三个球面不一定有唯一交点。如果装配有误差或者关节角超出工作空间,可能无解或者有两个解。我在调试时遇到过这种情况,后来加了约束条件——P点必须在工作空间内,且Z坐标为负(在固定平台下方)。
| 方法 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 解析法 | 精度高,速度快 | 推导复杂,容易出错 | 控制器固件实现 |
| 数值法(牛顿迭代) | 通用性强,容易实现 | 计算量大,需初值 | 离线仿真、调试 |
| 几何法(球面相交) | 直观,便于理解 | 精度受限于图形处理 | 教学、概念验证 |
避坑指南:我曾经在项目里直接用解析法求解正运动学,结果发现当机器人运动到工作空间边界时,方程出现奇异。后来我加了一个判断:如果三个球面没有唯一交点,就采用最小二乘解,保证机器人不会因为运动学计算错误而抖动。
好了,正运动学的位置级推导就到这里。说白了,就是利用几何约束把关节空间映射到笛卡尔空间。下一节我们会讲逆运动学,那才是真正用于轨迹规划的核心。逆运动学比正运动学更常用,但也更容易出问题——到时候我给大家分享几个现场踩过的坑。
公众号:蓝海资料掘金营,微信deep3321