机器人学——1.7-绕任意向量旋转

对于空间中两个任意姿态的坐标系,总可以在空间里找到某个轴,使其中一个坐标系绕该轴旋转一个角度就能与另一个坐标系姿态重合。以先前使用过的一个旋转

>> R = rpy2r(0.1, 0.2, 0.3)

我们可以确定如下的一个角度和一个向量:

>> [theta, v] = tr2angvec(R)
theta =
    0.3816
v =
    0.3379    0.4807    0.8092

其中,theta是旋转的角度大小,v是旋转轴的向量。
这些信息实际上包含在 R R R 的特征值和特征向量中。使用 MATLAB 的内部函数eig可以求矩阵的特征值和特征向量:

>> [v, lambda] = eig(R)
v =
   0.6655 + 0.0000i   0.6655 + 0.0000i   0.3379 + 0.0000i
  -0.1220 - 0.6079i  -0.1220 + 0.6079i   0.4807 + 0.0000i
  -0.2054 + 0.3612i  -0.2054 - 0.3612i   0.8092 + 0.0000i
lambda =
   0.9281 + 0.3724i   0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.9281 - 0.3724i   0.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 + 0.0000i   1.0000 + 0.0000i

矩阵lambda中的对角线元素即返回的特征值,其相应的特征向量位于矩阵v中对应的列向量。
一个正交旋转矩阵总有一个实特征值 λ = 1 \lambda=1 λ=1,以及一对共轭复特征值 λ = cos ⁡ θ ± i sin ⁡ θ \lambda=\cos\theta\pm i\sin\theta λ=

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值