多传感器融合定位(4-点云地图构建及基于地图定位)4-通过GNSS 实现地图定位

多传感器融合定位(4-点云地图构建及基于地图定位)4-通过GNSS 实现地图定位

eg:因为个人水平有限,这次作业全靠DK大哥的指导,方法不唯一

目的:调用 GNSS的位姿,实现初始化

调整前,默认初始gps位姿为 0 , 0 ,0:

每次播放bag时,就会出现 经纬坐标和地图不匹配的问题,进而导致定位不准确的原因出现

void GNSSData::InitOriginPosition() {
    
    
    geo_converter.Reset(longitude,latitude,altitude);
    origin_longitude = longitude;
    origin_latitude = latitude;
    origin_altitude = altitude;
    origin_position_inited = true;
}

通过下图,可以明显看出,定位不准确
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

调整后,gps 起始位姿为 48.9825452359, 8.39036610005,116.382141113:

步骤

先播放一段bag,通过 topic echo 出bag 第一帧点云的 gnss 经纬度坐标,进而知道 在这个数据集下起始建图点的经纬度坐标。
在这里插入图片描述
在这里插入图片描述
将上述得到的经纬度坐标,进行赋值,并重新进行mapping, 使用新的地图,进行 matching定位

void GNSSData::InitOriginPosition() {
    
    
    geo_converter.Reset(48.9825452359, 8.39036610005,116.382141113);
    origin_position_inited = true;
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_41281151/article/details/109280413