← 返回文章列表
TECH NOTE

双臂机器人末端可触达位置计算:从 URDF 静态重力矩到 557 N·m 约束热力图

约 7 分钟阅读 3491 字 # 机器人# URDF# 可达空间# 静力学

机器人的末端在几何上能够到达某个位置,并不意味着它能带着负载稳定到达。关节限位决定了运动学可达空间,电机扭矩又会进一步裁剪这个空间。对于带重载双臂的移动机器人,腰部关节往往是这两类约束交汇的地方。

本文基于修正质量参数后的 bass-00-corrected URDF,分析左右末端各挂载 10 kg 时的可达空间,并用 557 N·m 的腰部电机限制筛选可用姿态。内容包括两部分:一是 D6、D7 耦合姿态的静态力矩推导,二是 D5~D8 约束下的末端可达热力图。

一、模型、坐标系与计算假设

计算采用以下条件:

  • 数据源为修正质量参数后的 bass-00.urdf;
  • 重力加速度 g = 9.8 m/s²;
  • 左、右末端分别挂载 10 kg;
  • 负载作用点取两侧末端 Empty_Link17、Empty_Link24 的质心位置;
  • 模型包含 D5~D8 附近附加电机的质量;
  • 腰部 D5~D8 的静态重力矩限制均按 557 N·m 筛选;
  • 只计算准静态重力矩,不计惯性、冲击、摩擦、线缆拖曳和传动效率。

热力图中的坐标基于固定底盘的 base_link0 原点 (0, 0, 0.067),不是地面或腰部原点:

1
2
3
+X:机器人前方
Y:机器人左右方向
Z:高度

图中的白色竖向虚线为 X = 0,右侧才是机器人前方。

二、静态重力矩如何计算

对于转轴方向固定、重力沿竖直方向作用的关节,可以把下游每个构件和负载对关节的力矩累加。对本文的平面化推导,可将质量矩写为:

1
2
3
C = Σ(mᵢ · xᵢ)
S = Σ(mᵢ · zᵢ)
T(θ) = g · (C cosθ + S sinθ)

其中 xᵢ、zᵢ 是第 i 个质量相对于关节轴心的位置,mᵢ 是其质量。这个表达式也可以改写为一个带相位的余弦函数:

1
T(θ) = g · √(C² + S²) · cos(θ - atan2(S, C))

这样不仅能计算某个姿态的静态重力矩,还能直接找出理论峰值及其对应角度。

D7 子树的质量矩

在双臂水平向前、两侧各挂 10 kg 的参考姿态下,D7 下游子树汇总结果为:

参数 数值
D7 子树总质量 98.5171 kg
C = Σ(mᵢxᵢ) 22.5039 kg·m
S = Σ(mᵢzᵢ) 53.4752 kg·m
√(C²+S²) 58.0174 kg·m

因此:

1
2
T_D7(θ) = 9.8 · (22.5039 cosθ + 53.4752 sinθ)
= 568.5709 · cos(θ - 67.19°) N·m

D7 子树的理论峰值重力矩为 568.57 N·m,已经略高于 557 N·m。如果 D7 电机本身也以 557 N·m 为限制,就需要单独检查其工作角度,不能只看 D6。

三、D6 与 D7 耦合时的连续可用边界

单关节计算容易忽略一个关键问题:D7 前倾会改变上半身相对 D6 的质心位置,D6 再转动时,两者的角度会共同影响 D6 力矩。

设:

1
2
β  = D7 预先前倾并保持的角度
q6 = D6 随后带动整个上部链转过的角度

D7 前倾后,D6 所看到的质量矩可写为:

1
2
C(β) = A + C7 cosβ + S7 sinβ
S(β) = B - C7 sinβ + S7 cosβ

由 URDF 中各连杆质量、质心和关节轴心位置汇总得到:

1
2
3
4
A  = -25.819452 kg·m
B = +25.820109 kg·m
C7 = +22.503949 kg·m
S7 = +53.475182 kg·m

D6 的关节范围是 -0.78~+0.78 rad,即约 -44.69°~+44.69°。如果“能够带动”的判据是 D6 必须从零位走完整个正向行程,那么最先发生超限的位置出现在 q6 = +44.69°。

代入 D6 正向终点:

1
2
3
4
T_D6(0.78, β)
= 9.8 · [-0.19665
+ 22.50395 cos(0.78 + β)
+ 53.47518 sin(0.78 + β)]

当 β = 0° 时,D6 在行程末端的静态力矩为 523.42 N·m,仍低于限制。令力矩等于 557 N·m,沿 D7 从零位逐渐前倾的方向求第一个交点,得到:

1
2
β_临界 = 11.9187° = 0.20802 rad
T_D6(44.6907°, 11.9187°) = 557.00 N·m

因此,在“D7 先前倾并保持、D6 再走完整正向行程”的工况中,D7 的最大连续可用前倾角约为 11.92°。

同一方程在约 33.05° 还有第二个交点。这是因为质心越过最大力臂方向后,重力矩会再次下降。但从零位连续增加角度时,系统已经在 11.92° 首次进入超限区间,所以不能把第二个交点当作连续安全边界。

不同工况的结论如下:

工况 557 N·m 理论边界 加入 URDF 限位后的最大角度
只有 D7 前倾,D6 保持参考位 正向范围内未达到限制 89.38°(D7 限位)
D7 保持零位,只有 D6 倾转 48.13° 44.69°(D6 限位)
D7 先前倾,D6 再走完整正向行程 D7 首次在 11.92° 触及限制 11.92°(连续边界)

这说明“最大前倾角”必须和其他关节的位置、目标行程一起定义,脱离工况谈一个单独角度没有意义。

四、557 N·m 约束后的末端可达空间

对关节空间进行采样并完成正向运动学后,再剔除 D5~D8 任一电机静态重力矩超过 557 N·m 的姿态,可以得到负载条件下的末端可达分布。

双臂末端可达空间热力图

上排是左右末端的 X-Z 投影,下排是 X-Y 俯视投影。每个网格边长为 5 cm,颜色代表落入网格且通过力矩约束的姿态数量,并采用对数色标:

  • 黄色表示有很多不同关节姿态能够到达,冗余度高;
  • 绿色表示可行姿态数量中等;
  • 紫色表示只有少数姿态能够到达,接近可达边界;
  • 白色表示没有找到通过 557 N·m 约束的样本。

这里的颜色是姿态密度,不是力矩大小。图中高度低于零的零散区域来自纯运动学采样,因为当前结果尚未加入地面和自碰撞过滤,不能将其视为真实可用工作区。

五、力矩约束到底裁掉了哪些位置

只看最终可达图无法区分“关节够不到”和“能到但腰部扛不住”。下面的热力图专门展示 557 N·m 约束造成的影响。

557 N·m 力矩约束对末端空间的影响

上排表示每个 X-Z 网格内的力矩通过率:

  • 绿色接近 100%,说明到达该位置的大部分姿态都满足限制;
  • 黄色约为 50%,说明位置可达,但必须选择合适的腰部姿态;
  • 红色接近 0%,说明运动学上虽然可达,但采样姿态几乎都超过限制;
  • 白色表示没有样本或样本不足。

下排表示每个位置找到的最佳腰部力矩利用率:

1
利用率 = min[ max(|τ_D5|, …, |τ_D8|) ] / 557 × 100%

先在一个末端位置的每个候选姿态中找出 D5~D8 的最大绝对力矩,再选择其中最小者。利用率低于 100% 表示至少存在一个满足限制的姿态;超过 100% 表示当前采样中没有找到力矩可行解。

从结果看,高度约 1~2 m、靠近身体中部的区域余量较大;低位、远伸和可达空间外缘通常负担明显增大。对搬箱、取放等任务,这张图比单纯的几何包络更适合定义工作区。

六、四个腰部电机谁是瓶颈

把 D5~D8 分别统计,可以看出各电机承担重力矩的差异。

D5-D8 静态重力矩热力图

图中颜色表示末端落在相应 X-Z 网格时,各电机绝对静态重力矩的平均值。四张子图的色条范围不同,跨电机比较必须读取数值,不能只比较颜色。

电机 平均力矩(N·m) P95(N·m) 最大值(N·m) 超过 557 N·m 的比例
D5 432.8 834.0 1250.5 34.44%
D6 504.2 890.4 1055.0 47.15%
D7 318.7 568.1 705.1 6.34%
D8 31.1 96.6 189.7 0%

可以得到四点结论:

  1. D6 是最常成为瓶颈的电机,约 47.15% 的采样超过限制;
  2. D5 的极端峰值最高,最大静态重力矩达到 1250.5 N·m;
  3. D7 主要在部分边缘姿态超限;
  4. D8 的静态重力矩整体很小,在本次采样中没有超过 557 N·m。

七、如何把结果用于任务规划

末端规划不应只执行“逆解成功即接受”,更合适的筛选顺序是:

1
2
3
4
5
6
目标位置
→ 运动学可达性与关节限位
→ 地面、自碰撞和环境碰撞
→ D5~D8 静态重力矩
→ 动态力矩与安全余量
→ 轨迹连续性和控制可执行性

热力图可以作为规划器的先验代价:优先选择姿态密度高、最佳力矩利用率低的位置;接近边界的任务则应降低速度和加速度,或重新分配双臂负载与腰部姿态。

557 N·m 如果是峰值能力,不能直接当作长期工作边界。工程上应改用电机和减速器允许的连续输出能力,并为以下因素保留余量:

  • 加减速引起的惯性力矩;
  • 末端负载估计误差;
  • 减速器效率与摩擦;
  • 抓取、落箱产生的冲击;
  • 结构柔性和控制误差;
  • 电机温升及持续工作时间。

总结

这次计算揭示了三个层次的“可达”:

  1. 运动学可达:存在满足关节限位的姿态;
  2. 静力学可达:该姿态下 D5~D8 均不超过 557 N·m;
  3. 工程可用:进一步满足碰撞、动态力矩、连续额定能力和安全余量。

对当前双臂各挂 10 kg 的模型,D6 是最频繁的限制来源,D5 决定部分极端峰值。若要求 D7 预先前倾后,D6 仍能走完整个正向行程,则 D7 从零位开始的连续可用前倾边界约为 11.92°。这类耦合约束正是仅靠单关节限位或几何可达图无法揭示的部分。

INTERACTION / 讨论与互动

评论与表情点赞