无人机坐标系
无人机导航和控制中会用到多种坐标系,每种坐标系都有其特定的作用和应用场景。以下是一些最常见的坐标系:
- GPS坐标系
定义:这是一个全球性的坐标系,使用地球中心作为原点。
应用:用于全球定位系统,提供精确的经纬度坐标。
特点:在无人机应用中,GPS坐标常用于长距离导航和定位。 - 北东地坐标系
定义:这是一个局部坐标系,通常以无人机的起始点为原点。
应用:在导航和控制算法中非常常用,因为它提供了相对简单的数学模型。
特点:x轴指向北方,y轴指向东方,z轴向下指向地面。 - 东北天坐标系
定义:类似于NED坐标系,但z轴向上指向天空。
应用:有时用于某些导航系统中,特别是在地面站和无人机之间的数据交换时。
特点:x轴指向东方,y轴指向北方,z轴向上。 - 机体坐标系
定义:这是以无人机自身为参照的坐标系。
应用:用于处理传感器数据,如加速度计和陀螺仪的数据。
特点:x轴指向机头方向,y轴指向飞机右侧,z轴向下,遵循右手定则。 - 地球固联坐标系
定义:这是一个固定的坐标系,其原点位于地球表面某一点。
应用:用于描述无人机相对于地球表面的运动。
特点:x轴指向某一方向,y轴和z轴通过右手定则确定。
PX4定点模式下使用的坐标系
在PX4飞行控制系统中,定点控制通常指的是让无人机保持在一个指定的位置上不动。为了实现这一目标,PX4使用了多个坐标系来进行导航和控制。定点控制主要涉及的坐标系包括:
GPS坐标系 (WGS-84)
定义:全球定位系统的坐标系,以地球中心为原点。
应用:用于全球定位和长距离导航。
特点:提供经纬度和高度坐标。
北东地坐标系 (NED, North-East-Down)
定义:局部笛卡尔坐标系,原点通常设置在无人机的起始位置。
应用:导航和控制算法中最常用的坐标系之一。
特点:x轴指向正北方向,y轴指向正东方向,z轴向下指向地面。
在定点控制模式下,PX4主要使用北东地坐标系 (NED)来进行位置控制。NED坐标系提供了一个局部的笛卡尔框架,使得无人机能够容易地维持在一个特定的相对位置上。
当无人机处于定点模式时,PX4会将GPS坐标转换为NED坐标系中的位置,并使用该坐标系来控制无人机的位置。NED坐标系非常适合用于局部区域内的导航,因为它提供了一个简单直观的笛卡尔坐标系,便于理解和计算。
定点控制流程
GPS坐标接收:无人机接收到GPS模块提供的WGS-84坐标系中的经纬度和高度信息。
坐标转换:将GPS坐标转换为ECEF坐标系中的位置坐标。
ECEF到NED的转换:将ECEF坐标系中的位置转换为NED坐标系中的位置。
位置控制:使用NED坐标系中的位置进行位置控制,使无人机保持在指定的相对位置上。
总结
GPS坐标系 (WGS-84):用于接收来自GPS模块的经纬度和高度信息。
ECEF坐标系:用于从GPS坐标系到地球固联坐标系的转换。
NED坐标系:用于定点控制和局部导航,是PX4中定点控制的主要坐标系。
为什么使用NED坐标系
NED坐标系非常适合用于局部区域内的导航,因为它提供了一个简单直观的笛卡尔坐标系,便于理解和计算。此外,NED坐标系的Z轴指向地面,这对于高度控制非常重要,因为无人机需要知道它离地面有多高。
结合现状分析原因主要包括以下几点
- 高度控制的重要性
NED坐标系的Z轴指向地面(向下),这使得高度控制变得更为直观和直接。在定点控制模式下,高度控制是非常关键的功能之一,确保无人机能够稳定地保持在设定的高度上。
ENU坐标系的Z轴指向天空(向上),虽然也可以用于高度控制,但是在无人机上下移动时,使用NED坐标系更加直观,更容易理解和实现。 - 笛卡尔框架的直观性
NED坐标系提供了一个直观的笛卡尔框架,其中Z轴指向地面,这符合人们对于“上”和“下”的直觉理解。
ENU坐标系虽然也提供了一个笛卡尔框架,但是Z轴向上可能不如向下直观,尤其是在高度控制方面。 - 导航和控制算法的便利性
NED坐标系在导航和控制算法中更为常用,因为许多导航算法都是基于NED坐标系设计的。这使得算法的开发和维护更加简便。
在无人机控制系统中,使用一个普遍接受的标准坐标系可以简化代码的编写和维护工作,减少潜在的错误。 - 传统和标准
NED坐标系在导航领域有着广泛的应用,并且已经成为一种标准。使用NED坐标系可以使PX4飞行控制系统与现有的导航设备和服务更好地兼容。
许多商业和开源飞行控制系统都倾向于使用NED坐标系,这也促进了开发者社区的知识共享和技术交流。 - 数据交换的一致性
使用NED坐标系还可以确保与其他系统(如地面站软件)之间的数据交换一致性。很多地面站软件也是基于NED坐标系设计的,这有助于简化数据处理流程。
综上所述,PX4飞行控制系统选择使用北东地坐标系 (NED) 作为定点控制的主要坐标系是因为NED坐标系提供了更好的高度控制直观性、更简单的算法实现、以及与其他系统更好的兼容性和一致性。虽然ENU坐标系也可以用于类似的控制任务,但在实际应用中,NED坐标系因其直观性和便利性而成为首选。
无人机中NED坐标理解
北东地坐标系(North East Down Coordinate System),简称 NED 坐标系,是一种局部笛卡尔坐标系,在导航和航空领域中广泛应用。它主要用于表示无人机、飞机、船舶等移动平台相对于某个参考点的位置和运动。
NED 坐标系的特点:
原点:通常选择为移动平台的起始位置或某个特定的参考点。
X 轴:指向正北方向。
Y 轴:指向正东方向。
Z 轴:指向下方(地心方向),遵循右手定则。
NED 坐标系的应用:
导航和控制:在无人机和飞机的导航系统中,NED 坐标系被用来表示相对于起点的位置变化,方便进行路径规划和控制。
传感器融合:无人机上的传感器(如加速度计、陀螺仪)通常以机体坐标系输出数据,需要转换到 NED 坐标系才能进行有效的融合和导航解算。
地图匹配:在地图匹配和地理信息系统(GIS)应用中,NED 坐标系可以用来将传感器数据和地图数据进行对齐。
NED 坐标系与其他坐标系的关系
与 GPS 坐标系的关系:GPS 提供的是 WGS-84 坐标系中的经度、纬度和高度值。这些值通常需要转换到 NED 坐标系,以便在局部区域内进行导航和控制。
与机体坐标系的关系:机体坐标系通常是无人机自身的一个坐标系,其中 x 轴指向机头方向,y 轴指向飞机右侧,z 轴向下(遵循右手定则)。机体坐标系的数据需要转换到 NED 坐标系,以便与地面站或其他导航系统进行数据交换。
NED 坐标系的转换:
从 GPS 到 NED:需要知道参考点的经纬度坐标,然后使用地球模型(如 WGS-84)将 GPS 坐标转换为 ECEF坐标系中的三维坐标,再通过旋转和平移转换到 NED 坐标系。
从机体坐标系到 NED:这通常涉及到无人机姿态的变换,即根据无人机的姿态角(俯仰角、偏航角、滚转角)来旋转机体坐标系中的向量,使其对准 NED 坐标系。
欧拉角
欧拉角是一种描述物体在三维空间中的旋转的方法。用于描述相对于某个固定参考系的方位。欧拉角由三个独立的角度组成,通常用来描述绕着三个相互垂直轴的旋转顺序。
基本概念:欧拉角通常由三个角度组成,分别对应于绕着三个轴的旋转。这三个轴分别是:
滚转轴 (Roll):绕着物体自身的x轴旋转。
俯仰轴 (Pitch):绕着物体自身的y轴旋转。
偏航轴 (Yaw):绕着物体自身的z轴旋转。
这三个轴形成了一个右手法则的笛卡尔坐标系。
欧拉角可以用来构造旋转矩阵,旋转矩阵描述了物体从一个坐标系到另一个坐标系的旋转。通过旋转矩阵,可以将一个向量从一个坐标系转换到另一个坐标系。
机体坐标系:机体坐标系固连飞机,其原点取在多旋翼的重心位置上。x轴在多旋翼对称平面内指向机头(机头方向与多旋+字形或X字形相关)。z轴在飞机对称平面内,垂直轴向下。然后,按右手定则确定y轴 。
地球固联坐标系:通常以多旋翼起飞位置作为坐标原点 。先让x轴在水平面内指向某一方向,z轴垂直于地面向下。然后,按右手定则确定y轴,比如NED坐标系为x轴为正北方向,y轴为正东方向,z轴指向下。
飞机的欧拉角就是基于上面两个坐标系的转换。pitch+为抬头,roll+为右旋转,yaw+为右偏航。
Yaw与指南针角度的关系
指南针的角度是确定不变的,北朝向为0度,东为90度,南为180度,西为270度。
Yaw角是当前机头方向与正北方向的夹角(若地球固联坐标系为NED)
也就是说当我们知道YAW角时我们就可以确定飞机当前的航向(东,北哪个方向),比如我们的vision通过mavros给飞控的Yaw的角度是90度,而且飞机的地球固联坐标系为NED,那么可以确定飞机机头当前指向为正东,即使我们没有磁力计测方向,但我们假设了一个方向,此时Yaw角与指南针的角度完全重合或者说相同。
但当我们的Yaw角为90度,机头朝向为正北方向,那么我们可以确定飞机地球固联坐标系采用的是WND(W为西)。
在PX4中用到的地球固联坐标轴是NED坐标系,即x,y,z的方向固定不变(Offboard模式下除外,但是在offboard模式下,初始上电后其东北方向由Yaw角决定)
使用东北地坐标系
,END
,飞机上电位置为原点(坐标0.0.0)以84坐标系为基础,E为东方(Y轴),N为北方(X轴),D为高度向下(Z轴),均已正值为对应方向,负值为相反方向。
ENU与NED区别
如下图:
可能涉及到的相关名称解释
-
Mavlink:
MAVLink是一种非常轻量级的消息传输协议, 用于地面控制终端(地面站)与无人机之间 (以及机载无人机组件之间) 进行通信。Mavlink遵循现代混合发布-订阅和点对点设计模式: 数据流作为 topics 发送/发布的, 而配置子协议 (如 路径点协议 或 参数协议)是基于重传机制的点对点模式。 -
MAVSDK:MAVSDK 是各种编程语言的库集合,用于与无人机、摄像机或地面系统等 MAVLink 系统进行交互。
-
机体坐标系:机体坐标系与飞行器固联,坐标系符合右手法则,原点在飞行器重心处,x轴指向飞行器机头前进方向,y轴由原点指向飞行器右侧,z轴方向通过x,y由右手法则确定。机体坐标系是无人机惯性导航的基础坐标系,IMU中获得的加速度状态信息就是该坐标系下的数值。当我们获取IMU输出的x轴加速度信息时不能直接应用在NED坐标系下。
无人机中的坐标转换,即为NED坐标系(惯性系)与机体坐标系之间的转换。
-
位置控制:位置控制同样是无人机控制系统中非常重要的控制系统。位置控制实际上就是用于控制无人机在控制飞行的位置。我们希望可以准确的控制无人机按预期的速度飞往指定的目标位置,这也是无人机全自动飞行的基础。为了确定无人机的位置,需要使用在本地坐标系下的x、y、z这3个维度的坐标。但是在控制方面上往往将x轴和y轴上的控制方法称为水平位置控制,而将z轴上的坐标控制方法称为高度控制。但是这里两个控制方法需要同时进行,最终达到对3维坐标系内无人机准确飞行控制目的。
-
速度控制:内环PID控制器,其输入内容为速度期望减去测量速度,得到速度误差。然后通过“比例-积分-微分”控制方法对速度误差进行计算,得到其输出内容。速度控制器的输入为速度期望,而输出却是姿态角期望。
-
姿态控制:包括俯仰角、滚转角和航向角。这3个角的期望值来源于其他模块。遥控器的控制杆量、位置控制模块的输出量、地面站系统的期望值等等。角度的期望值就是系统中希望无人机达到的某一个角度,这也就是姿态控制中的目标状态,并且我们希望无人机在这个目标状态下保持稳定。