ROS知识课堂-9.ROS中的坐标表现方式
坐标轴的定义
三维坐标轴朝向定义
常规用来表示三维位置关系时,使用的是右手坐标系,何为右手坐标系呢?我们来看下图:
右手坐标系定义
把右手放在原点的位置,使大姆指,食指和中指互成直角,把大姆指指向Z轴的正方向,食指指向X轴的正方向时向时,中指所指的方向就是Y轴的正方向。
通常相对于我们的身体而言
X->朝前
Y->朝左
Z->朝上
举例:
坐标点(3,4,5)表示距原点前3个单位 ,并向左4个单位以及向上5个单位的位置。
三维坐标轴旋转定义
有了三维坐标轴的定义,那么对于旋转的定义也就比较容易了,对于一个三维空间里面的旋转,可以分解成绕着坐标轴的旋转。旋转的方向使用右手法则定义:
绕坐标轴旋转定义
用右手握住坐标轴,大拇指 的方向朝着坐标轴朝向的正方向,四指环绕的方向定义沿着这个坐标轴旋转的正方向
一般来说:
绕Z轴旋转,称之为航向角,使用yaw表示;
绕X轴旋转,称之为横滚角,使用roll表示;
绕Y轴旋转,称之为俯仰角,使用pitch表示;
举例:
我们通常用来表述小车运动的二维平面指的是X-Y平面,也就是X轴和Y轴张成的平面,在这个平面中,用来描述小车转弯的角就是绕Z轴的旋转,也就是经常说的航向角。Z轴朝上,所以按照右手法则可以知道小车向左转为正,右转为负。
在ROS中定义
如图左侧所示,
ROS中的旋转轴使用x,y和z轴。
正面是x轴的正方向,轴是红色(R)。
左边是y轴的正方向,轴用绿色(G)表示。
最后,上方是z轴的正方向,轴用蓝色(B)表示。
为了便于记忆,您可以将x轴视为食指,将y轴视为中指,将z轴视为拇指。顺序是x、y、z,且颜色是RGB颜色顺序。
机器人的旋转方向是右手定则,用右手卷住的方向是正(+)方向。例如,如果机器人在原地从12点钟方向开始向9点方向旋转(逆时针),则由于旋转角度的单位用弧度,所以我们说机器人在z轴上旋转+1.5708弧度。
这种坐标表示法在ROS编程中经常使用,必须以x:forward,y:left,z:up的形式进行编程。
<< 上一篇
下一篇 >>