以下是些没些营养的碎碎念,作为理清思路用!
1.发现缺失map->odom->base_link坐标变换,使用rqt查看正常的tf树:
发现map->odom->base_link由imupreintegration模块发出,odom->lidar_link由mapOptimization模块发出。
排除应该不是imu频率的问题;
1.发现是没有做第一次优化:也就是doneFirstOpt始终为 false
void imuOdometryHandler(const nav_msgs::Odometry::ConstPtr &odomMsg)
void imuHandler(const sensor_msgs::Imu::ConstPtr &imu_raw)
{
std::lock_guard<std::mutex> lock(mtx);
sensor_msgs::Imu thisImu = imuConverter(*imu_raw); // 将imu信息转换到雷达坐标系下表达,其实也就是获得雷达运动的加速度、角速度和姿态信息
imuQueOpt.push_back(