RTK获取的坐标系为经纬高坐标(经度、纬度、海拔),而mavros中常用的是enu坐标系(东北天坐标),即原点O为基站、y轴向北、x轴向东、z轴向天。
mavros中通过ecef坐标系作为转换中介。
ecef坐标系(Earth-Centered, Earth-Fixed):
Z轴指向指向北,但不完全精确地与地球转动轴重合。转动轴有微小“摆动”,称之为“极运动(polar motion)”。X轴在球面上与格林威治线和赤道的交点(经纬度都为0的点)相交。
转换函数:
经纬高-ecef
earth.Forward(gps.x(),gps.y(),gps.z(),ecef.x(),ecef.y(),ecef.z());
ecef-enu
enu_offset = mavros::ftf::transform_frame_ecef_enu(ecef , gps)