GPS数据格式的分析

GPS数据格式的分析

模式指示(仅NMEA0183 3.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效) *后hh为$到*所有字符的异或和

3、GPCHC

华测导航GPCHC协议 $GPCHC,GPSWeek,GPSTime,Heading,Pitch,Roll,gyro x,gyro y,gyro z,acc x,acc y,acc z,Lattitude,Longitude,Altitude,Ve,Vn,Vu,Baseline,NSV1,NSV2,Status,Age,Warming,Cs,CR,LF

4、Kitti数据集oxts数据

以2011_10_03_drive_0034_extract/oxts为例 dataformat.txt文件如下所示: lat:oxts-unit的纬度 lon:oxts-unit的经度 alt: oxts-unit的海拔高度(m)

滚转:滚转角(rad),0=水平,正=左侧向上,范围:-π ~ π 俯仰:俯仰角(rad),0=水平,正=前向下,范围:-π/2 ~ π/2 偏航:航向(rad),0=东,正=逆时针,范围:-π ~ π 东北天坐标系

vn:向北的速度(m/s) ve:向东速度(m/s) vf:向前速度,即平行于地球表面(m/s) vl:向左的速度,即平行于地球表面的速度(m/s) vu:向上速度,即垂直于地表的速度(m/s)

ax:x方向的加速度,即车辆前方方向的加速度(m/s ^2) ay:y方向的加速度,即车辆左侧方向的加速度(m/s ^2) ay:z方向的加速度,即车辆顶部方向的加速度(m/s ^2)

af:向前加速度(m/s ^2) al:向左加速度(m/s ^2) au:向上加速度(m/s ^2)

wx:x周围的角速率(rad/s) wy:y周围的角速率(rad/s) wz:z周围的角速率(rad/s)

wf:围绕前向轴的角速率(rad/s) wl:围绕左轴的角速率(rad/s) wu:围绕向上轴的角速率(rad/s)

pos_accurcy:速度精度(以米为单位的北/东) vel_accurcy:速度精度(以m/s为单位的北/东)

navstat:导航状态(请参阅navstat_to_string) numsats:主GPS接收机跟踪的卫星数量 posmode:主GPS接收器的位置模式(请参阅GPS_mode_to_string) velmode:主GPS接收器的速度模式(请参阅GPS_mode_to_string) orimode:主GPS接收器的定向模式(参见GPS_mode_to_string)

单帧数据为: 48.987561046718 8.4696952979239 121.09180450439 // 经纬高 -0.020584 -0.000149 0.9367463267949 // 姿态 以东北天坐标系(ENU) 12.185641878808 8.8969705123207 15.087834393646 -0.057134398032698 0.17450967757564 // 速度 -0.31633682509644 -0.15393105646804 9.6145580368715 // 加速度计量测 -0.32811003609922 0.038528529255041 9.6154003554783 // 前左上加速度 -0.009921332362868 0.018688044825555 0.0071581383104018 // 陀螺量测 -0.0099284648375718 0.018828223646961 0.0067743562588337 // 前左上角速度 0.15566630977832 0.021931712199461 // 精度 4 9 5 5 0 // 其他

二、驱动

1、功能包

1.1 解析GPGGA

wiki网址:https://wiki.ros.org/nmea_navsat_driver

1.2 华测GPCHC

官方已出demo,没有的留个邮箱发你。

2、ROS相关消息类型

2.1 sensor_msgs::NavSatFix

官方:sensor_msgs/NavSatFix 其中的子消息类型:sensor_msgs::NavSatStatus 官方:sensor_msgs/NavSatStatus

2.2 gps_common::GPSFix

官方:gps_common/GPSFix

2.3 sensor_msgs::Imu

官方:sensor_msgs/Imu

3、驱动思路

字段分割函数,把GPCHC数据流分割成一个一个的字段,然后进行相应的定义 代码如下(示例):

void supersplit(const std::string& s, std::vector& v, const std::string& c)

{std::string::size_type pos1, pos2;size_t len = s.length();pos2 = s.find(c);pos1 = 0;while(std::string::npos != pos2){if("" == s.substr(pos1, pos2-pos1)){v.emplace_back("0");}else{v.emplace_back(s.substr(pos1, pos2-pos1));}pos1 = pos2 + c.size();pos2 = s.find(c, pos1);}if(pos1 != len)v.emplace_back(s.substr(pos1));

}

typedef enum GNSS_GPCHC_INDEX{GNSS_GPCHC_INDEX_HEADER = 0,GNSS_GPCHC_INDEX_GPSWEEK,GNSS_GPCHC_INDEX_GPSTime,GNSS_GPCHC_INDEX_HEADING,GNSS_GPCHC_INDEX_PICH,GNSS_GPCHC_INDEX_ROLL,GNSS_GPCHC_INDEX_GRRO_X,GNSS_GPCHC_INDEX_GRRO_Y,GNSS_GPCHC_INDEX_GRRO_Z,GNSS_GPCHC_INDEX_ACC_X,GNSS_GPCHC_INDEX_ACC_Y,GNSS_GPCHC_INDEX_ACC_Z,GNSS_GPCHC_INDEX_LAT,GNSS_GPCHC_INDEX_LON,GNSS_GPCHC_INDEX_ALT,GNSS_GPCHC_INDEX_VE,GNSS_GPCHC_INDEX_VN,GNSS_GPCHC_INDEX_VU,GNSS_GPCHC_INDEX_SPEED,GNSS_GPCHC_INDEX_NSV1,GNSS_GPCHC_INDEX_NSV2,GNSS_GPCHC_INDEX_STATUS,GNSS_GPCHC_INDEX_AGE,GNSS_GPCHC_INDEX_WARMING,GNSS_GPCHC_INDEX_MAX

}GNSS_GPCHC_INDEX;

定义五种格式:

sensor_msgs::NavSatFix message_NavSatFix; gps_common::GPSFix message_gpsfix; sensor_msgs::Imu message_imu; geometry_msgs::PoseStamped angle_qua; //欧拉角和四元数 geometry_msgs::PoseStamped lla_qua; //经纬高和四元数

发布ROS话题

imu_raw_pub = nh_.advertise("/imu_raw", 500);nav_sat_fix_pub = nh_.advertise("/nav_sat_fix", 500);gps_fix_pub = nh_.advertise("/gps_fix", 500);angle_qua_pub = nh_.advertise("/angle_qua", 500);lla_qua_pub = nh_.advertise("/lla_qua", 500);

参考博文:https://blog.csdn.net/abanchao/article/details/129096713

三、时间

1、UTC时间

1、UTC是协调世界时,又称世界统一时间、世界标准时间、国际协调时间。

2、协调世界时是以原子时秒长为基础,在时刻上尽量接近于世界时的一种时间计量系统。

3、国际原子时的准确度为每日数纳秒,而世界时的准确度为每日数毫秒。许多应用部门要求时间系统接近世界时UT,对于这种情况,一种称为协调世界时的折衷时标于1972年面世。为确保协调世界时与世界时相差不会超过0.9秒,在有需要的情况下会在协调世界时内加上正或负闰秒。

2、时间戳

时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。Unix 时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。 1.自建时间戳:此类时间戳是通过时间接收设备(如GPS,CDMA,北斗卫星)来获取时间到时间戳服务器上,并通过时间戳服务器签发时间戳证书。此种时间戳可用来企业内部责任认定,在法庭认证时并不具备法律效力。因其在通过时间接收设备接收时间时存在被篡改的可能,故此不能做为法律依据。

💫 相关推荐

[Flash开发笔记] Flash中如何调整“动态文本”框的_alpha值
女性蹲着上厕所的秘密,揭示生理与卫生的深层联系
365网站余额截图

女性蹲着上厕所的秘密,揭示生理与卫生的深层联系

📅 09-01 👁️ 3819
華為Ascend系列
365网站余额截图

華為Ascend系列

📅 08-12 👁️ 8353