无人车,要实现自动驾驶,首先要知道自己的的位置。更准确的说法是:相对某个坐标系,确定车辆的位置和姿态。
这个坐标系可以是局部的:
也可以是全局坐标系:
这是更大维度上的坐标系。
坐标系确定之后,相对坐标原点和坐标轴,车上坐标系(本地坐标系),平移得到位置(x,y,z),旋转得到姿态(航向Yaw、横滚Roll、俯仰Pitch)。
有了局部和全局的认识后,看下怎么具体定义一个坐标系、有哪些坐标系。之所以有那么多坐标系,是因为有很多的场景,在不同的场景下去描述,就产生了不同的坐标系。
坐标系的建立或者说选择,应考虑两个方面的因素:
一、惯性系
日心惯性坐标系:其应用的目标是研究太阳系内各个行星的运动,以及彗星的运动过程,满足开展星际飞行的导航定位使用。
地心惯性坐标系:为了研究地球及周围物体的运动情况。
另外还有发射点惯性坐标系:
惯性坐标系中,我们描述行星、卫星等空间运行体的运动轨道相当方便,但描述地球上物体的运动不太方便,我们需要把坐标系固定到地球上,让坐标系随地球自转和公转。
二、地球系
分为下面两种:
地心地固直角坐标系存在明显的缺点,就是无法判断某一点的坐标是在地球的内部、还是在表面、还是外部。为此引入高程的概念,建立大地坐标系:
由于这里有个高度值,需要首先定义一个与地球几何最吻合的椭球体来替代表面凹凸不平的地球,这个椭球体被称作基准椭球体。
只描述地球表面上的位置的话,我们也称地理坐标系。对于地球上的某一点,它的纬度是指经过该点的基准椭球体的法线与地球赤道面的夹角,范围从-90°到+90°,赤道以北为正,赤道以南为负。经度是经过该点的子午面与格林尼治参考面的夹角。取值范围是-180°到+180°。格林尼治子午面以东为正,以西为负,就是所谓的东经、西经。高度是指从该点到基准椭球体面间的法线距离。基准椭球面以外为正,以内为负。
大地坐标和地心地固直角坐标系可以相互转换:
注意,Apollo中,就把地心地固坐标系叫做大地坐标系。
三、当地水平坐标系:
以地心为原点的地球系,不利于描述我们车辆需要的导航地图,需要当地水平坐标系:
扩展知识:
1.为什么无人车需要知道自己的位置呢?
人平时开车或在房间移动的时候,为什么不看一下GPS定位呢、也先确定一下自己的位置,这是因为人在熟悉的环境里,头脑中已经建立了地图,到了陌生的环境里,人一样需要地图。所以,人通过对环境的实时感知,与头脑中的熟悉地图匹配,就知道了自己的位置,只是人这个觉知过程非常迅速,我们平常无感。
2.有哪些定位技术?
3. 左手系和右手系: