赞
踩
4*4矩阵的右边三个数表示平移,如果原来的向量u的w=0,那么就是u+(ai+bj+ck)
对应xyz三个轴的循环变换,注意负号的位置
用描述空间一点的变换方法来描述物体在空间的位置和方向。
先变换的矩阵乘在右边。
A p = B p + A p B o {}^{A}p={}^{B}p+{}^{A}p_{B_{o}} Ap=Bp+ApBo
从 B B B到 A A A的平移坐标变换。
解:
CM先饶
z
z
z轴旋转180°,在沿
x
x
x轴反方向平移0.13m,得到M。
T
C
M
M
=
T
r
a
n
s
(
−
0.13
,
0
,
0
)
R
o
t
(
z
,
18
0
°
)
=
[
1
0
0
−
0.13
0
1
0
0
0
0
1
0
0
0
0
1
]
[
−
1
0
0
0
0
−
1
0
0
0
0
1
0
0
0
0
1
]
T_{CM}^{M}=Trans\left( -0.13,0,0 \right) Rot\left( z,180^° \right) =\left[
T
C
M
C
=
[
R
C
M
C
P
C
M
C
0
1
]
=
[
cos
y
sin
y
0
d
x
−
sin
y
cos
y
0
d
y
0
0
1
d
z
0
0
0
1
]
T_{CM}^{C}=\left[
齐次矩阵的逆:
T
C
M
M
T
C
C
M
=
[
−
cos
y
sin
y
0
d
x
cos
y
−
d
y
sin
y
−
0.13
−
sin
y
−
cos
y
0
d
x
sin
y
+
d
y
cos
y
0
0
1
−
d
z
0
0
0
1
]
T_{CM}^{M}T_{C}^{CM}=\left[
把上式代入,得到:
[
x
M
C
M
M
y
M
C
M
M
z
M
C
M
M
1
]
+
T
C
M
M
[
x
C
M
C
C
M
y
C
M
C
C
M
z
C
M
C
C
M
1
]
+
T
C
M
M
T
C
C
M
[
x
C
B
C
y
C
B
C
z
C
B
C
1
]
\left. \left[
=
[
0.13
0
0
1
]
+
[
−
1
0
0
−
0.13
0
−
1
0
0
0
0
1
0
0
0
0
1
]
[
x
y
z
1
]
+
[
−
cos
y
sin
y
0
d
x
cos
y
−
d
y
sin
y
−
0.13
−
sin
y
−
cos
y
0
d
x
sin
y
+
d
y
cos
y
0
0
1
−
d
z
0
0
0
1
]
[
−
0.13
0
0
1
]
=\left[
=
[
−
x
+
d
x
cos
y
−
d
y
sin
y
+
0.13
cos
y
−
0.13
−
y
+
d
x
sin
y
+
d
y
cos
y
+
0.13
sin
y
z
+
d
z
1
]
=\left[
注意到,在 d t dt dt时间内, d x , d y dx,dy dx,dy是小量,可以略去,剩下的部分就是如下代码:
(r,p,y)=tf.transformations.euler_from_quaternion([data.pose.pose.orientation.x,data.pose.pose.orientation.y,data.pose.pose.orientation.z,data.pose.pose.orientation.w])
local_pose.pose.position.x = -data.pose.pose.position.x - rtt_ctr_b * (1-math.cos(y))
local_pose.pose.position.y = - data.pose.pose.position.y + rtt_ctr_b * math.sin(y) #推导y
local_pose.pose.position.z = data.pose.pose.position.z #相机高度作为无人机的高度
local_pose.pose.orientation = data.pose.pose.orientation
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。