2D导航中的3D坐标系旋转变换

本文给出《机器人技术与应用》这本书上的3维坐标变换

  • 绕X轴旋转 ϕ \phi ϕ的旋转矩阵为
    (1) R ( X , ϕ ) = [ 1 0 0 0 c o s ϕ − s i n ϕ 0 s i n ϕ c o s ϕ ] R(X,\phi)= \left[ \begin{matrix} 1 & 0 & 0 \\ 0 & cos\phi & -sin\phi \\ 0 & sin\phi & cos\phi \end{matrix} \right] \tag{1} R(X,ϕ)=1000cosϕsinϕ0sinϕcosϕ(1)
  • 绕Y轴旋转 ϕ \phi ϕ的旋转矩阵为
    (2) R ( Y , ϕ ) = [ c o s ϕ 0 s i n ϕ 0 1 0 − s i n ϕ 0 c o s ϕ ] R(Y,\phi)= \left[ \begin{matrix} cos\phi & 0 & sin\phi \\ 0 & 1 & 0 \\ -sin\phi & 0 & cos\phi \end{matrix} \right] \tag{2} R(Y,ϕ)=cosϕ0sinϕ010sinϕ0cosϕ(2)
  • 绕Z轴旋转 ϕ \phi ϕ的旋转矩阵为
    (3) R ( Z , ϕ ) = [ c o s ϕ − s i n ϕ 0 s i n ϕ c o s ϕ 0 0 0 1 ] R(Z,\phi)= \left[ \begin{matrix} cos\phi & -sin\phi & 0 \\ sin\phi & cos\phi & 0 \\ 0 & 0 & 1 \end{matrix} \right] \tag{3} R(Z,ϕ)=cosϕsinϕ0sinϕcosϕ0001(3)

2D导航中的坐标系方向习惯表示 (此处没有图,不太会画)

  • 摄像头的xyz坐标系习惯表示

    • X : 摄像头图像向右的方向
    • Y : 摄像头图像向下的方向
    • Z : 摄像头光心向前的方向
  • 2D导航车的xyz坐标系习惯表示

    • X : 车前进的方向
    • Y : 垂直于前进方向向左的方向
    • Z : 垂直于地面向上的方向

车子到相机的旋转矩阵为 车子到相机的旋转矩阵为

(4) R ( Y , ϕ ) = [ 0 0 1 − 1 0 0 0 − 1 0 ] R(Y,\phi)= \left[ \begin{matrix} 0 & 0 & 1 \\ -1 & 0 & 0 \\ 0 & -1 & 0 \end{matrix} \right] \tag{4} R(Y,ϕ)=010001100(4)

有两种方式可以得到这个结果

一 :将相机坐标系的x,y,z轴分别写出在车子坐标系中的表示
  • 相机坐标系的X轴车子坐标系中为 [ 0 , − 1 , 0 ] \left[0 ,-1, 0\right] [0,1,0]
  • 相机坐标系的X轴车子坐标系中为 [ 0 , 0 , − 1 ] \left[0,0, -1\right] [0,0,1]
  • 相机坐标系的X轴车子坐标系中为 [ 1 , 0 , 0 ] \left[1 ,0, 0\right] [1,0,0]
  • 于是将上面的行向量取转置,依次排列x,y,z的结果,就出来了车子到相机的旋转矩阵
二:旋转车子坐标系使其经过两次变换成为相机坐标系
  • 车子坐标系先绕车子坐标系X轴顺时针旋转90度,也就是负90度,生成新的坐标系2,然后新的坐标系2绕自己的y顺时针旋转90度,也就是正90度,成为了相机坐标系,所以可以看出这里需要右乘旋转矩阵
  • R ( X , − 90 ) × R ( Y , 90 ) R(X,-90)×R(Y,90) R(X,90)×R(Y,90)
  • (5) R = R ( X , − 90 ) × R ( Y , 90 ) = [ 1 0 0 0 0 1 0 − 1 0 ] ∗ [ 0 0 1 0 1 0 − 1 0 0 ] = [ 0 0 1 − 1 0 0 0 − 1 0 ] R=R(X,-90)×R(Y,90)= \left[ \begin{matrix} 1 & 0 & 0 \\ 0 & 0 & 1 \\ 0 & -1 & 0 \end{matrix} \right] * \left[ \begin{matrix} 0 & 0 &1\\ 0 & 1& 0\\ -1&0&0 \end{matrix} \right]=\left[ \begin{matrix} 0 & 0 & 1 \\ -1 & 0 & 0 \\ 0 & -1 & 0 \end{matrix} \right] \tag{5} R=R(X,90)×R(Y,90)=100001010001010100=010001100(5)

这个旋转矩阵的含义

含义是 P c a r = R ∗ P c a m e r a P_{car}=R*P_{camera} Pcar=RPcamera

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值