文章目录
- 1 刚体定义
- 2 自由刚体
- 3 两种基本运动
- 1 平动
- 2 转动
- 4 举例 1
- 1 计算质心位置,求差得到平移向量
- 2 计算协方差矩阵
- 3 奇异值分解
- 4 计算旋转矩阵
- Ref
1 刚体定义
刚体就是质点间距离保持不变的质点系。
刚体的空间位置由任意与刚体固连的不共线三点决定。
2 自由刚体
自由刚体指上述提到的不共线三点,它们任意两点间的距离都保持不变,除此之外不再受到其它任何额外约束。
而自由刚体的自由度为
D
o
F
=
6
DoF = 6
DoF=6
3 两种基本运动
1 平动
平动是指刚体重任何两点的连线在运动中保持方向不变。
平动刚体的自由度为
D
o
F
=
3
DoF = 3
DoF=3
这是因为平动仅表示了在 x 、 y 、 z x、y、z x、y、z 轴上的移动。这一点在之前的文章 【数理知识】自由度 degree of freedom 及自由度的计算方法 也已经有过描述。
注意:平动刚体的运动可由基点运动确定。
2 转动
刚体的转动过程中,有两点(如下图中的 A , B A, B A,B)的连线不动。
A B AB AB 称为转动轴,如果它始终不懂,则称为固定转动轴(或固定轴);如果它只是瞬时不动,则称为顺势转动轴(或瞬时轴)。
另外,基点或转动轴可在刚体之外,只需与刚体固连。
4 举例 1
假设有 3 个相对位置保持不变的 Marker 点,已知它们在 t 1 t_1 t1 时刻和 t 2 t_2 t2 时刻的位置,然后计算平动矩阵和旋转矩阵。
在
t
1
t_1
t1 时刻:
Marker 1 的位置为:
p
1
t
1
=
(
1
,
2
,
3
)
p_1^{t_1} = (1, 2, 3)
p1t1=(1,2,3);
Marker 2 的位置为:
p
2
t
1
=
(
4
,
5
,
6
)
p_2^{t_1} = (4, 5, 6)
p2t1=(4,5,6);
Marker 3 的位置为:
p
3
t
1
=
(
7
,
8
,
9
)
p_3^{t_1} = (7, 8, 9)
p3t1=(7,8,9)。
在
t
2
t_2
t2 时刻:
Marker 1 的位置为:
p
1
t
2
=
(
2
,
3
,
4
)
p_1^{t_2} = (2, 3, 4)
p1t2=(2,3,4);
Marker 2 的位置为:
p
2
t
2
=
(
5
,
6
,
7
)
p_2^{t_2} = (5, 6, 7)
p2t2=(5,6,7);
Marker 3 的位置为:
p
3
t
2
=
(
8
,
9
,
10
)
p_3^{t_2} = (8, 9, 10)
p3t2=(8,9,10)。
计算思路为:
- 先计算平移:通过求取这些点在两个时刻的质心位置,然后求差来得到平移矩阵
1 计算质心位置,求差得到平移向量
在
t
1
t_1
t1 时刻刚体的质心位置为
Center
t
1
=
(
p
1
x
t
1
+
p
2
x
t
1
+
p
3
x
t
1
3
,
p
1
y
t
1
+
p
2
y
t
1
+
p
3
y
t
1
3
,
p
1
z
t
1
+
p
2
z
t
1
+
p
3
z
t
1
3
)
=
(
1
+
4
+
7
3
,
2
+
5
+
8
3
,
3
+
6
+
9
3
)
=
(
4
,
5
,
6
)
\begin{aligned} \text{Center}_{t1} &= (\frac{p_{1x}^{t1} + p_{2x}^{t1} + p_{3x}^{t1}}{3}, \frac{p_{1y}^{t1} + p_{2y}^{t1} + p_{3y}^{t1}}{3}, \frac{p_{1z}^{t1} + p_{2z}^{t1} + p_{3z}^{t1}}{3}) \\ &= (\frac{1 + 4 + 7}{3}, \frac{2 + 5 + 8}{3}, \frac{3 + 6 + 9}{3}) \\ &= (4, 5, 6) \end{aligned}
Centert1=(3p1xt1+p2xt1+p3xt1,3p1yt1+p2yt1+p3yt1,3p1zt1+p2zt1+p3zt1)=(31+4+7,32+5+8,33+6+9)=(4,5,6)
在
t
2
t_2
t2 时刻刚体的质心位置为
Center
t
2
=
(
p
1
x
t
2
+
p
2
x
t
2
+
p
3
x
t
2
3
,
p
1
y
t
2
+
p
2
y
t
2
+
p
3
y
t
2
3
,
p
1
z
t
2
+
p
2
z
t
2
+
p
3
z
t
2
3
)
=
(
2
+
5
+
8
3
,
3
+
6
+
9
3
,
4
+
7
+
10
3
)
=
(
5
,
6
,
7
)
\begin{aligned} \text{Center}_{t2} &= (\frac{p_{1x}^{t2} + p_{2x}^{t2} + p_{3x}^{t2}}{3}, \frac{p_{1y}^{t2} + p_{2y}^{t2} + p_{3y}^{t2}}{3}, \frac{p_{1z}^{t2} + p_{2z}^{t2} + p_{3z}^{t2}}{3}) \\ &= (\frac{2 + 5 + 8}{3}, \frac{3 + 6 + 9}{3}, \frac{4 + 7 + 10}{3}) \\ &= (5, 6, 7) \end{aligned}
Centert2=(3p1xt2+p2xt2+p3xt2,3p1yt2+p2yt2+p3yt2,3p1zt2+p2zt2+p3zt2)=(32+5+8,33+6+9,34+7+10)=(5,6,7)
因此,平移向量
T
T
T 为:
T
=
Center
t
2
−
Center
t
1
=
[
1
,
1
,
1
]
T = \text{Center}_{t2} - \text{Center}_{t1} = [1, 1, 1]
T=Centert2−Centert1=[1,1,1]
2 计算协方差矩阵
3 奇异值分解
4 计算旋转矩阵
Ref
- 刚体运动学
- 刚体 - WikiPedia
- 刚体的平面运动(摘要)