机器人坐标转换

坐标系标识统一:

我们使用右手坐标系,ROS里面用的也是右手坐标系.

左:左手坐标系,右:右手坐标系.

记忆:大拇指是z轴,食指是x轴(右手指往内转动).我们说旋转多少度时,都以右手手指往内攥的方向为正方向.

颜色:一般都用rgb表示xyz轴:

坐标变换:

习惯上,我们表示一个物体的三维位置和朝向时,都会在其身上附一个随动的坐标系.所以描述一个物体在坐标系中的位置和朝向,总是可以等效为描述物体自身坐标系和别的坐标系之间的关系.

旋转矩阵:

表示两个坐标系之间的旋转关系.

举例:表示导航小车自身的坐标系和地图坐标系之间的旋转关系.如上所述,我们描述机器人在地图中的姿态,一般不会讲机器人在地图坐标系中的坐标,而是讲机器人自身的坐标系和地图坐标系之间的旋转平移关系.(虽然它和机器人的坐标在数值上是一样的)

物体B(假设它自身的坐标系也叫B)相对参考坐标系A发生了旋转,那么定义从B旋转到A旋转矩阵为:

解释:从坐标系B旋转到坐标系A的旋转矩阵,它的每一列,都是B的坐标轴单位向量在A中的表示.

那么不难推测,旋转矩阵的每一行,都是A的坐标轴单位向量在B中的表示.即:

连续的旋转变换:

比如从C旋转成B,再从B旋转成A,那么从C到A的旋转矩阵就是按顺序从后往前直接连乘:

旋转矩阵的使用:

当然主要是用于计算同样一个点在不同的坐标系里的表示之间的转换.即:

p在B中的坐标,点乘B到A的旋转矩阵,得到在A中的坐标.举例:雷达探测到的点的坐标是相对雷达自身的,我们想得到点相对机器人的坐标,那么我们就需要雷达自身坐标系和机器人坐标系之间的旋转矩阵.用此矩阵去点乘相对雷达的坐标.

齐次坐标变换:

首先说齐次坐标,齐次坐标相比普通坐标,主要用于区分向量和点.向量是没有位置概念的,但点是有的.从普通坐标转换成齐次坐标时,

如果(x,y,z)是个点,则变为(x,y,z,1);

如果(x,y,z)是个向量,则变为(x,y,z,0).

具体看这篇文章,写的很清晰.

前面我们说了旋转,而平移很简单,就是向量之间的加减.目前,我们平移加旋转一个物体,想得物理世界一个固定点在移动后的物体的坐标系里的坐标,我们得先计算平移,再计算旋转.即:

而齐次坐标变换的作用就是将两者统一成一个矩阵,矩阵左上角是旋转矩阵,右侧为平移向量.(第二行p下面加了个1,这是从普通坐标变为了齐次坐标,表示这是个点).即:

齐次坐标转换矩阵统一了平移和旋转,方便了坐标变换的逆运算、多坐标系的连续变换,运算规则和旋转矩阵类似:

参考:<干货位置角度平移旋转,“乱七八糟”的坐标变换>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值