第二章 机器人工作站系统组织结构与设计选型¶
2022年9月27日
本章学习要点¶
本章学习提要:¶
机器人工作站系统是组成机器人生产线的基础,通过本章学习,了解机器人工作站系统的构成及特点,掌握工业机器人的类型,技术参数与选型依据;掌握机器人末端执行器的类型、原理与设计;熟悉机器人外围设备的类型及作用,掌握机器人工作站的一般设计原则与设计流程。掌握机器人旋量理论及其应用,会利用旋量理论判断任意复杂机器人的自由度数目与类型。
内容简介¶
旋量理论
自由度分析基本原理
旋量理论求解机构自由度
案例
1. 旋量理论¶
线矢量、偶量和螺旋¶
对于螺旋 \((S;r \times S + hS)\), 当节距 \(h\) 变化时:
若 \(h=0\), 螺旋变为 \((S; r \times S)\)
若 \(h=\infty\), \((S; r \times S + hS) = (\frac{S}{h}; \frac{r \times S}{h} + S) \to (0; S)\)
名称 |
符号 |
条件 |
|---|---|---|
螺旋 |
\((S; S^0)\) |
\(S \neq 0, S \cdot S^0 \neq 0, \infty \neq h \neq 0\) |
线矢量 |
\((S; S_0)\) |
\(S \neq 0, S \cdot S_0 = 0, h = 0\) |
偶量 |
\((0; S)\) |
\(S \neq 0, h = \infty\) |
零螺旋 |
\(S = 0, S^0 = 0, h\) 不定 |
螺旋的代数运算¶
螺旋的代数和¶
两个螺旋的原部和对偶部分别求和,称为两螺旋的代数和。
两个节距为非零有限值的螺旋之和一般仍然是节距为非零有限值的螺旋,但也可能出现节距为零的线矢量。
不共面的两线矢之和一般为节距不为零的螺旋。
螺旋的互易积¶
两螺旋的原部矢量与对偶矢量下标交换后做点积之和称为两螺旋的互易积。
两个螺旋 \((S_1; S_1^0), S_2 (S_2; S_2^0)\), 它们的互易积与坐标系的选择无关。
运动螺旋¶
用角速度的线矢量表示转动:
与转轴重合的单位线矢量 \(S = (S; S^0)\)
转动运动的 Plücker 坐标为 \(w\$ = w(S; S_0) = (w; v_0)\)
即角速度的大小与一个表示转轴作用线的单位线矢之积。
用偶量表示移动:
刚体移动可以看作是绕距原点无限远处轴线的瞬时转动,转轴可用一个偶量表示为 \(S = (0; S)\)
移动运动的 Plücker 坐标: \(v\$ = v(0; S) = (0; v)\)
即线速度的大小与偶量 \(S\) 之积。
移动运动的方向矢量空间任意平移,并不改变刚体的运动状态, \((0; S)\) 为一个自由矢量。
更一般的螺旋运动则可看作移动与转动的合成。
力螺旋¶
用线矢量表示力:
与作用力重合的单位线矢量 \(S = (S; S_0)\)
力的 Plücker 坐标可写为 \(f\$ = f(S; S_0) = (f; C_0)\)
即力的大小与和约束力重合的单位线矢之积。
用偶量表示力偶:
力偶是自由矢量,其在刚体内的平移不会改变对刚体的作用效果。
自由矢量可表示为 \(S = (0; S)\)
力偶的 Plücker 坐标 \(C\$ = C(0; S) = (0; C)\)
即力偶大小与自由矢量之积。
力螺旋可看作力线矢与共线的力偶的合成。
运动螺旋和力螺旋的对比¶
节距 |
运动学 |
静力学 |
|---|---|---|
\(h \neq 0\) |
螺旋 (运动螺旋) \(( \omega; r \times \omega + h\omega )\) |
螺旋 (力螺旋) \((f; r \times f + hf )\) |
\(h = 0\) |
线矢量 (角速度线矢量) \(( \omega; r \times \omega )\) |
线矢量 (力线矢) \((f; r \times f )\) |
\(h = \infty\) |
自由矢量 (移动速度) \((0; \nu)\) |
自由矢量 (力偶矢) \((0; C)\) |
螺旋系及其相关性¶
螺旋的相关性¶
对于 \(n\) 个螺旋, \(S_i = (S_i; S_i^0), i=1,2 \dots n\) 若可以找到一组不全为零的实数 \(\omega_i\), 使得和螺旋为零, \(\sum_{n} \omega_i S_i = 0\), 则这 \(n\) 个螺旋为线性相关。
按螺旋的加法规则, 则这些螺旋的原部和对偶部的和分别为零, 即:
\[ \sum_{n} \omega_i S_i = 0 \quad \sum_{n} \omega_i S_i^0 = 0 \]
螺旋系的线性相关¶
螺旋系的线性相关可以由用 Plücker 坐标所表示的螺旋矩阵的秩来判断。
如前所述螺旋的 Plücker 坐标可以表示为这样的 6 个元素 \((lmn;pqr)\)。 \(n\) 个螺旋系的相关性, 就可以由螺旋系的 Plücker 坐标表示的矩阵的秩来判断:
螺旋的相关性与坐标系的选择无关。
螺旋的 Plücker 坐标有 6 个分量, 显然三维空间中线性无关的螺旋的数目最多 6 个。
线矢和偶量在不同几何条件下的最大线性无关数¶
序号 |
几何特点 |
图示 |
线矢 \(h=0\) |
偶量 \(h=\infty\) |
|---|---|---|---|---|
1 |
共轴 |
1 |
1 |
|
2 |
共面平行 |
2 |
1 |
|
3 |
平面汇交 |
(星形图) |
2 |
2 |
4 |
空间平行 |
(平行线和平面) |
3 |
1 |
5 |
共面 |
(平面内的两条线) |
3 |
2 |
6 |
空间共点 |
(空间汇交点) |
3 |
3 |
7 |
单页双曲面上不相交的直线 |
(双曲面形状) |
3 |
- |
8 |
(a) 有公共交线, 交角为直角; |
4 |
- |
|
(b) 有公共交线, 且交角为一定; |
4 |
- |
||
© 有一条公共交线; |
5 |
- |
||
(d) 有两条公共交线; |
4 |
- |
||
(e) 有三条公共交线; |
3 |
- |
||
9 |
平行平面, 且无公垂线 |
5 |
- |
|
10 |
无公共交线, 空间交错 |
5 |
- |
|
11 |
三维空间任意情况 |
(任意分布的点) |
6 |
3 |
12 |
两平行线矢和一法向偶量 |
(平行线矢和与之垂直的偶量) |
2 |
- |
13 |
平面 3 线矢和一法向偶量 |
(平面内三条线矢和一个垂直于平面的偶量) |
3 |
- |
14 |
空间平行 3 线矢及一个相垂直的偶量 |
(空间平行三条线矢和一个与之相垂直的偶量) |
3 |
- |
螺旋的相逆性¶
通过对比前两页结果,可以得到一个重要结论: 表示力螺旋和运动螺旋的互易积正是该两螺旋产生的瞬时功率。
如果所研究的两螺旋互易积为零:
\[ \omega_1 S_1 \circ f_2 S_2 = 0 \]这表示力螺旋对作螺旋运动物体作用的瞬时功率为零。 这里称这个与螺旋 1 构成互易积为零的螺旋 2 为螺旋 1 的反螺旋。
当两个螺旋的互易积为零时:
(1) 若一个螺旋表示了机械系统的约束反力, 另一个则是为机械系统所允许的运动;
(2) 反之, 若一个螺旋表示了物体的运动, 另一个则是机械系统所产生的约束。
当两个螺旋的互易积不为零时:
(1) 若物体发生了运动, 则这个做功的力就是物体的驱动力;
(2) 若该力螺旋表示机械系统的约束反力, 则满足互易。
螺旋的相逆性只与两个螺旋的参数有关,而与坐标系的选择无关。
螺旋相逆性¶
两线矢相逆的充要条件是它们共面。
两个偶量必相逆。
线矢与偶量仅当垂直时才相逆。
线矢和偶量皆自逆。
与已知螺旋系相逆的反螺旋¶
当螺旋系同时含有若干线矢量和偶量:
与此螺旋系相逆的线矢量, 必须与所有偶量相垂直且与所有线矢量相交。
与此螺旋系相逆的偶量必须与螺旋系的所有线矢量垂直。
串联运动链的微小位移/力旋量子空间¶
(图形示意图,表示不同子空间之间的关系)
2. 自由度分析基本原理¶
IFTOMM 定义¶
确定机构或运动链位形所需的独立参数的数目。
IFToMM 定义中强调的是数目。但仅仅确定自由度数目是远远不能全面描述此类新机构的特点的, 尤其是对于并联机构, 研究其末端执行器的运动性质尤为重要。
机构的自由度¶
机构或运动链在三维空间所具有的稳定的独立运动的能力。
这个能力的大小以确定机构或运动链位形所需要的独立参数的数目表示。
这个能力的性质以机构杆件所具有的移动自由度和转动自由度来表示。
这个自由度能力表现在时空上应该具有连续不变性, 它应该是全周的。
1. 自由度数目与类型¶
自由度数目是指机器人末端执行器在空间运动所需的独立变量数 (也是确定机器人末端刚体位置与姿态 (位形) 的独立变量数目), 用以表示机器人动作灵活程度的参数, 一般是以沿轴线移动和绕轴线转动的独立运动的数目来表示。
自由度类型则是机器人所能实现的运动类型, 通常采用 3T, 3R, 3R-1T 等形式描述。
注意区分机器人末端执行器自由度与机器人活动度
对机器人而言, 大多数情况下, 其活动度数与自由度数是一样的, 但有时两者并不相同, 机器人的自由度一般是指机器人末端执行器的自由度。例如, 一个具有 7 个运动副的串联冗余机器人的活动度是 7, 但其末端执行器的自由度却是 6; 一个由 6 个移动副串联而成的机器人机构其活动度是 6, 但其末端执行器的自由度却是 3 (三维移动)。
利用冗余的自由度可以增加机器人的灵活性, 提高其避障能力并改善动力学性能。
机构的自由度 (机械原理)¶
自由度公式¶
平面机构自由度公式: $\( M = 3N - 2P_2 - P_1 \)$
空间机构自由度公式: $\( M = 6N - 5p_5 - 4p_4 - 3p_3 - 2p_2 - p_1 \)$
\(M\) —— 机构的自由度
\(N\) —— 表示机构中除去机架总的活动构件的数目
\(p_i\) —— 表示机构具有 \(i\) 个约束的运动副的数目
G-K 公式¶
\(d\) —— 机构的阶, 一般而言平面机构的阶是 3, 空间机构的阶为 6。
\(n\) —— 表示机构中包括机架总的活动构件的数目。
\(g\) —— 运动副的数目。
\(f_i\) —— 第 \(i\) 个运动副的自由度数目。
G-K 公式示例: 平面五杆平行四边形机构的自由度计算: \(M = 3 \times (5 - 6 - 1) + 6 = ?\) (计算错误提示) 按照自由度计算的一般公式, 自由度为 1。
G-K 公式在并联机构中的应用: (展示 3-RPS, 4-URU, 3-RRC 并联机构的示意图, 并附带 G-K 公式) 机构中存在相当数量的不起约束作用的过约束。一般的自由度计算公式将这部分自由度重复计算。
修正的 G-K 公式¶
\(M\) —— 机构的自由度;
\(d\) —— 机构的阶数 (6 - 公共约束数 \(\lambda\));
\(n\) —— 机构的构件数 (包括机架);
\(g\) —— 运动副的个数;
\(f_i\) —— 第 \(i\) 个运动副的自由度;
\(\nu\) —— 多环并联结构在去除公共约束因素后的冗余约束;
\(\zeta\) —— 机构中存在的局部自由度。
3. 旋量理论求解机构自由度¶
机构运动副的螺旋表达¶
运动副每个自由度对应一个螺旋 (线矢量/偶量)。
转动副 (Revolute Pair, R)
\(r = [x \ y \ z]\)
\(S_R = [0 \ 0 \ 1 \ y \ -x \ 0] = [0 \ 0 \ 1 \ a \ b \ 0]\)
线矢量, \(M=1\)
移动副 (Prismatic Pair, P)
\(S_P = [0 \ 0 \ 0 \ 0 \ 0 \ 1]\)
偶量, \(M=1\)
螺旋副 (Helical Pair, H)
\(S_1 = [0 \ 0 \ 1 \ a \ b \ 0]\)
\(S_2 = [0 \ 0 \ 0 \ 0 \ 0 \ c]\)
\(S_H = S_1 + S_2 = [0 \ 0 \ 1 \ a \ b \ c]\)
旋量, \(M=1\), \(c\): 节距
圆柱副 (Cylindrical Pair, C)
\(S_{C1} = [0 \ 0 \ 1 \ a \ b \ 0]\)
\(S_{C2} = [0 \ 0 \ 0 \ 0 \ 0 \ 1]\)
\(M=2\)
球面副 (Spherical Pair, S)
等效于三个汇交不共面的转动副 \(S = RRR\)
\(M=3\)
万向铰 (Universal joint)
相当于轴线相交的两个转动副 \(U = RR\)
\(M=2\)
平面副 (Planar Pair, E)
与平面副等效的运动副可以是 \(2P-R\), \(2R-P\), \(3R\)
\(M=3\)
机构的阶¶
机构的阶: 机构运动螺旋系的阶指的是机构所有构件允许的运动维数, 一般情况下平面机构的阶为 3, 空间机构的阶为 6。
机构的阶 = 6 - 公共约束数
机构的公共约束¶
基于约束螺旋分析机构自由度的原理:¶
用单位螺旋在运动学上描述运动副具有的自由度, 则其反螺旋可看作是作用在构件上的力螺旋, 两者的互易积表示力对于运动的功率。互易积为零, 即作用在构件上的力不做功, 相当于约束力。 反螺旋 (约束力螺旋) 与运动螺旋的互易积为零: \(S_m^r \circ S_m' = 0\)
公共约束:¶
当机构所有运动副均以运动螺旋 \(S^m\) 表示, 它们构成螺旋系 \(A\), 若存在一个与螺旋系 \(A\) 中每一个螺旋均相逆的反螺旋, 这个反螺旋就是该机构的公共约束。由反螺旋组成的反螺旋系 (约束螺旋系) \(B\) 的秩就是该机构公共约束数:
公共约束的分析流程:¶
将每个运动副具有的自由度表达为运动螺旋 \(S_i^m\)。
将运动螺旋整合为螺旋系 \(A = [S_1^m; S_2^m; \dots S_n^m]\)。
求 \(A\) 的反螺旋系 \(B\) 的零空间。
\(\lambda = \text{rank}(B)\) 得到机构的公共约束数。
零空间的求法: 求解如下线性方程组的基础解系 已知: \(S_1^m = (L_1, M_1, N_1; P_1, Q_1, R_1)\) \(S_2^m = (L_2, M_2, N_2; P_2, Q_2, R_2)\) … \(S_n^m = (L_n, M_n, N_n; P_n, Q_n, R_n)\) 未知: \(S^r = (L', M', N'; P', Q', R')\)
局部自由度¶
局部自由度不影响机构输出件的自由度,是一个多余的自由度,一般通过观察获得。
平面四杆机构自由度分析案例¶
(展示四杆机构的示意图,并给出运动螺旋, 零空间, 约束力螺旋, 以及自由度计算结果)
自由度: \(M = d(n-g-1) + \sum_{i=1}^{g} f_i + \nu - \zeta = (6-3) \times (5-6-1) + 6 + 1 = 1\)
串联开式运动链¶
(展示串联开式运动链的示意图,并给出运动螺旋和反螺旋)
反螺旋 (约束力螺旋):
\(S_1^r = (0 \ 0 \ 0; \ 0 \ 1 \ 0)\) : y 方向的约束力偶
\(S_2^r = (0 \ 0 \ 0; \ 0 \ 0 \ 1)\) : z 方向的约束力偶
\(S_3^r = (1 \ 0 \ 0; \ 0 \ 0 \ 0)\) : x 方向的约束力
公共约束数: 3, 不是并联机构, 冗余约束为: 0
\(M = d(n-g-1) + \sum f_i + \nu = 3(6-5-1) + 5 + 0 = 5\)
机构的活动度为 5, 末端执行器的自由度为 3, 存在两个局部自由度。
若各转动副的轴线不平行, 5 个运动螺旋相互独立, 则机构不存在局部自由度, 机构的活动度为 5, 自由度数也为 5。
结论:¶
串联机构的活动度数等于其运动副自由度之和, 其末端执行器的自由度数为串联机构运动螺旋系的秩。
(展示不同串联机构的活动度和自由度)
4. 案例¶
3-RRC 机构自由度计算¶
RRC 分支的运动螺旋系:
\(S_1 = (1 \ 0 \ 0; \ 0 \ 0 \ 0)\)
\(S_2 = (1 \ 0 \ 0; \ 0 \ e_2 \ f_2)\)
\(S_3 = (1 \ 0 \ 0; \ 0 \ e_3 \ f_3)\)
分支约束力螺旋系为:
\(S_1^r = (0 \ 0 \ 0; \ 0 \ 1 \ 0)\)
\(S_2^r = (0 \ 0 \ 0; \ 0 \ 0 \ 1)\)
若考虑公共约束:
机构存在一个公共约束。共面不汇交的三个约束力偶中又存在一个并联冗余约束。
\(M = d(n-g-1) + \sum f_i + \nu = 5(8-9-1) + 12 + 1 = 3\)
若不考虑公共约束:
机构的阶仍然取 6。
三个分支一共对动平台施加了六个约束力偶。三维空间偶量的最大线性无关数为 3, 所以独立的约束只有 3 个。存在 3 个冗余约束。
\(M = 6(n-g-1) + \sum f_i + \nu = 6(8-9-1) + 12 + 3 = 3\)
3-UPU 机构自由度计算¶
UPU 分支的运动螺旋系:
\(S_1 = (1 \ 0 \ 0; \ 0 \ 0 \ 0)\)
\(S_2 = (0 \ 1 \ 0; \ 0 \ 0 \ 0)\)
\(S_3 = (0 \ 0 \ 0; \ d_3 \ 0 \ f_3)\)
\(S_4 = (0 \ 1 \ 0; \ -d_4 \ 0 \ f_4)\)
\(S_5 = (1 \ 0 \ 0; \ 0 \ e_5 \ 0)\)
分支约束力螺旋系为:
\(S_1^r = (0 \ 0 \ 0; \ 0 \ 0 \ 1)\)
三个分支的三个约束力偶在空间分别垂直各自的 U 副平面, 它们相互并不平行, 彼此线性无关。
由修正的 G-K 公式计算可得: \(M = d(n-g-1) + \sum f_i + \nu = 6(8-9-1) + 15 = 3\)
三个约束力偶限制了三个转动自由度, 上平台只具有三个移动自由度。
无论平台如何移动, 其分支中的两个 U 副平面始终平行。机构的自由度性质不会改变。
总结: 并联机构自由度判断步骤¶
Step1: 建立分支坐标系, 根据运动副类型列写分支运动螺旋系 (坐标系任意建立, 要求分支运动螺旋系列写方便)。
Step2: 根据运动螺旋与约束力螺旋间互易积为零的原理, 列写齐次线性方程组, 求解分支约束力螺旋系。
Step3: 查看各分支是否有相同的约束力螺旋, 根据其数目确定公共约束数目 \(\lambda\)。
Step4: 从各分支总的约束力螺旋中去除公共约束, 求解剩余约束力螺旋组成的螺旋系的秩, 确定并联冗余约束数目 \(\nu\) 可根据螺旋系相关性表格判断。
Step5: 确定构件数目 \(n\), 运动副数目 \(g\), 各运动副自由度数目 \(f_i\), 观察是否存在局部自由度, 确定局部自由度数目 \(\zeta\)。
Step6: 带入修正 G-K 公式求解自由度数目, 并根据约束力螺旋的类型, 判断自由度类型。
同学们下节课见!