无人机导航中常见的坐标系

无人机导航中常见的坐标系包括:

  地球中心坐标系(ECEF)(EarthCenteredEarthFixedCoordinateSystem,ECEF)

  WGS-84大地坐标系(WorldGeodeticCoordinateSystem1984)

  当地水平坐标系(North-East-DownCoordinateSystem,NED)

  机体坐标系(BodyFrame)

  机体水平坐标系(Vehicle-carriedNEDCoordinateSystem)

  接下来我们就来简单说明一下这些坐标系在无人机导航中的应用。

  地球中心坐标系(ECEF)  

  ECEF坐标系与地球固联,且随着地球转动。图中O即为坐标原点,位置在地球质心。X轴通过格林尼治线和赤道线的交点,正方向为原点指向交点方向。Z轴通过原点指向北极。Y轴与X、Z轴构成右手坐标系。  

  右手坐标系即符合“右手法则”的坐标系的统称,这个法则大家会经常见到,它的目的是为了以最简单的方式确定坐标轴以及正方向。如图,右手拇指,食指,中指“痉挛”状,其中任意两个手指与已确定的两个坐标轴及正方向重合,第三个手指的方向就是剩下坐标轴的正方向。

  WGS-84坐标系

  GPS输出的就是这个坐标系下的坐标数据!

  完整一点解释是,GPS单点定位的坐标以及相对定位中解算的基线向量属于WGS-84大地坐标系。

  WGS-84坐标系的X轴指向BIH(国际时间服务机构)1984.0定义的零子午面(Greenwich)和协议地球极(CTP)赤道的交点。Z轴指向CTP方向。Y轴与X、Z轴构成右手坐标系。

  什么“BIH1984.0”听来很复杂有没有!一句话解释就是:把前面提到的ECEF坐标系用在GPS中,就是WGS-84坐标系。  

  上面图中大家很容易看出GPS输出的常见定位数据:经度(longitude),纬度(latitude),海拔(altitude)。不知大家有没有觉得奇怪,为什么有了GPS输出的海拔高度,我们还是要用气压计等其它设备来辅助定高呢?GPS的海拔数据精度没有办法支撑无人机高度定位吗?

  这是因为GPS输出的信息是相对于WGS-84坐标系的。我们可以把它看做一个参考椭球体,GPS输出的高度是垂直于椭球表面的高度而非海平面高度,然而地球可不是一个标准的“椭球体”。  

  图中h是GPS测得的相对于椭球表面的高度;H表示正高;N表示大地水准偏差,即地球实际形状与参考椭球体的偏差,范围在正负100m之间,它随着地球重力分布变化,没有唯一的确定数值。所以,GPS直接输出的海拔数据也就会始终存在一个“误差”了。

  NED坐标系  

  上图清晰地表明了ECEF坐标系(蓝色)和NED坐标系(绿色)之间的关系。NED坐标系是在导航计算时使用的坐标系,向量分别指向北,东,地,因此NED坐标系也经常称为“北东地坐标系”。

  我们有了经纬度为什么还需要NED坐标系呢?GPS可以获得在WGS-84中的速度向量,为了方便使用速度向量进行无人机控制,我们还要把它转换在无人机所在位置的“平面坐标系”下,也就是LocalNED。

  机体坐标系  

  机体坐标系与飞行器固联,坐标系符合右手法则,原点在飞行器重心处,X轴指向飞行器机头前进方向,Y轴由原点指向飞行器右侧,Z轴方向根据X、Y轴由右手法则确定。

  机体坐标系是无人机惯性导航的基础坐标系,IMU中获得的加速度状态信息就是该坐标系下的数值。当我们获取IMU输出的X轴加速度信息时,是基于机体坐标系的,不能直接应用在NED坐标系下
### 图像坐标系无人机坐标系和世界坐标系之间的转换 #### 定义各坐标系 为了理解不同坐标系间的转换,先定义各个坐标系: - **图像坐标系**:通常由像素单位表示,原点位于图像左上角。该坐标系中的位置通过 (u, v) 表示,其中 u 和 v 是水平方向和垂直方向上的像素数[^2]。 - **物理图像坐标系**:与图像坐标系相似,但是使用的是实际距离而非像素值来描述物体的位置。这有助于更精确地映射现实世界的尺寸到图像平面上。 - **无人机坐标系(相机坐标系)**:以安装在无人机上的摄像头为中心建立的三维直角坐标系统;X轴指向右方,Y轴指向前方而Z轴则朝向下方或上方取决于具体设定。此坐标系用于表达相对于摄像机视角的空间关系[^1]。 - **世界坐标系**:作为全局参照框架存在,用来标记环境中固定不变的对象位置以及它们之间相对位移情况的一个标准体系结构,在这里可以认为是地球表面某一点处设立的一套笛卡尔坐标系。 #### 坐标变换过程概述 从一种坐标系转至另一种涉及多个步骤,主要包括内参矩阵的应用、外参数估计及投影操作等环节。下面给出一般性的流程说明: 1. 将目标物点P的世界坐标\( P_w \)转化为其对应的相机坐标\( P_c \),即 \( P_c = R(P_w - T) \),这里的R代表旋转矩阵,T为平移向量; 2. 接着利用相机内部参数K将上述得到的结果进一步映射成归一化平面内的二维坐标形式\( p_n \),计算方式如下所示: ```matlab % MATLAB code snippet demonstrating the conversion from camera coordinates to normalized image plane coordinates. function pn = cam_to_norm_image_plane(K, Pc) % K is a 3x3 intrinsic matrix of the camera % Pc represents points in camera coordinate system as an array with shape Nx3 where N >= 1 % Convert homogeneous coordinates back into Cartesian space and normalize by z-component pc_homogeneous = [Pc ones(size(Pc, 1), 1)]; pn_homogeneous = K * pc_homogeneous'; zn = repmat(pn_homogeneous(3,:), size(pc_homogeneous, 1), 1); pn = bsxfun(@rdivide, pn_homogeneous', zn); %#ok<BSXM> end ``` 3. 对于最终获得的归一化后的坐标\( p_n \),还需要乘以其对应的实际焦距f并加上主点偏移o才能完成整个转换链路直至到达屏幕空间下的最终呈现形态——也就是所谓的“图像坐标”。 4. 如果涉及到无人机姿态变化,则需额外考虑IMU数据所提供的角度信息来进行补偿调整,从而实现更加精准的姿态重建与定位服务。 综上所述,这些转换不仅对于计算机视觉领域至关重要,而且广泛应用于机器人导航、增强现实等多个方面。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值