GPS数据类型(ROS)

1、传感器分类

  • 在自动驾驶或者机器人领域,传感器的使用按照测量对象划分,可分为两大类,一类是测量自身状态,另一类测量环境状态。前者主要包含GPS,IMU和编码器;后者主要有激光雷达、毫米波雷达和相机。这里的状态主要是指位置和速度,有些传感器可以测量其他状态,例如相机可以实现物体的分类。本篇介绍GPS传感器,以及在ROS系统中如何表示GPS数据。

2.功能

  • GPS传感器,全称Global Positioning System,源自美国军方,是现在使用比较广泛的四种全球定位系统之一,其他三种分别是欧盟的“伽利略”系统,俄罗斯的“格洛纳斯”系统,以及中国北斗卫星导航系统。

三、系统组成

  • GPS与其他传感器有一个显著的不同点,其他传感器基本上是一个单独的硬件模块,而GPS是一个系统,其架构图如下:
    GPS数据类型(ROS)
  • 如图所示,GPS系统包含三个部分:空间部分,地面监控部分,用户部分。空间部分主要是卫星群,向用户部分发送位置、时间等信息;地面监控部分,监视控制空间部分;用户部分接受空间部分发送的信息,根据信息计算本身的三维位置、速度和时间等。日常生活中,我们常说的GPS、或者GPS传感器其实是指GSP客户部分,即GPS接收机。为叙述方便,无特别说明,以下所说的gps均指用户部分。

4. 位置表示

  • 既然要表示位置,那一定会有坐标系,GPS所采用的坐标系又称为WGS84坐标系,其原点为地球质心,z轴为国际时间局(BIH)1984.0定义的协议地极(CTP)方向,X轴指向BIH1984.0的协议子午面和CTP赤道的交点,Y轴与Z轴、X轴垂直构成右手坐标系。其数据主要包含经纬度和高度。不清楚这个坐标系具体是什么样的,也没关系,只需要知道GPS设备反馈的经纬度位置,是基于一个标准坐标系就行了,关于经纬度的概念,网上也有很多,这里不再详述,感兴趣的同学可以自行深入研究。

五、数据格式

  • 我们知道了gps设备可以测量经纬度、时间和速度等信息,那么这些信息是以什么样的格式表示呢。这里引入NMEA0183,全称National Marine Electronics Association,即美国国家海洋电子协会,这里知道他是gps设备最通用的数据输出格式就行了。NMEA0183定义了很多语句,不同的语句包含了不同的信息,目前大部分gps设备都是兼容NMEA0183的,许多与之配套的软件也是遵从此协议进行解析。关于NMEA0183协议,这里也不做深入介绍,感兴趣的同学可以自行研究。

六. ROS中GPS数据格式

sensor_msgs/NavSatFix

执行命令:

rosmsg show sensor_msgs/NavSatFix

执行效果:
GPS数据类型(ROS)ros内置消息中除基本数据类型之外,基本都会包含header消息头,header包含seq、stamp以及frame_id,分别表示序列号、时间戳和帧id,seq一般从0开始,每次增加1,表示消息序列id;stamp为时间戳,表示ros消息产生的时间。frame_id表示消息发布者,这里的frame常表示坐标系,例如gps、imu和lidar等。status代表全球定位系统类型及其状态,latitude纬度,longitude经度,altitude高度,position_covariance位置协方差,后面几项表示位置协方差类型。sensor_msgs/NavSatFix数据结构是通过解析nmea_msgs/Sentence结构而获取的。

ROS中GPS数据主要包含这四类,分别是gps 裸数据ros封装,位置,时间以及速度。并不是所有的GPS设备都有这四类数据的,具体看GPS硬件设备。

【笔记】:
sensor_msgs/NavSatFix:官方数据

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2022年3月25日
下一篇 2022年3月25日

相关推荐