作者:cang桑哥哥 | 来源:互联网 | 2023-09-12 21:45
一、GPS数据格式从KITTI的readme文件中https:github.comyaniikitti-pclblobmasterKITTI_README.TXT可以看到GPS数
一、GPS数据格式
从KITTI的readme文件中https://github.com/yanii/kitti-pcl/blob/master/KITTI_README.TXT可以看到GPS数据的格式,KITTI中的IMUS数据文件存在oxts文件夹下,以txt格式保存。
GPS数据在IMU文件中的前三组,分别是 lat(latitude)维度,lon(longitude)经度和alt(altitude) 海拔,只可以通过topic发布出去,但无法可视化。
通过Jupyter可以查看其中的GPS数据:
二、ROS发布GPS Message消息
在ros中定义的GPS Meassage格式为:sensor_msgs/NavSatFix.msg
可通过以下链接了解详情:
http://docs.ros.org/api/sensor_msgs/html/msg/NavSatFix.html
使用ROS发布GPS Message需要以下结构:
- 首先从sensor_msgs.msg 中引入NavSatFix
将GPS定义为NavSatFix()类型的函数 - 建立Header header
- 纬度[度],正赤道以北;
float64 latitude - 经度[度],正数在本初子午线的东部,负的是西。
float64 longitude - 海拔高度[m]. WGS 84坐标系椭球面的上方为正.
float64 altitude
Publish_utils.py
from sensor_msgs.msg import Imu,NavSatFixdef publish_gps(gps_pub,imu_data):
gps = NavSatFix()
gps.header.stamp = rospy.Time.now()
gps.header.frame_id = FRAME_IDgps.latitude = imu_data.lat
gps.longitude = imu_data.lon
gps.altitude = imu_data.alt gps_pub.publish(gps)kitti.py
gps_pub = rospy.Publisher('kitti_gps', NavSatFix ,queue_size=10)publish_gps(gps_pub,imu_data)
可以通过下面命令查看发布的GPS话题:
rosnode list
rostopic list
rostopic info /kitti_gps
rostopic echo /kitti_gps