ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

lio-sam实车调试

2021-12-04 21:34:35  阅读:415  来源: 互联网

标签:const sam msgs void lio imu 实车


以下是些没些营养的碎碎念,作为理清思路用!

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(thisImu);
        imuQueImu.push_back(thisImu);

        if (doneFirstOpt == false)
            return;

2.怀疑没进入这个函数:也就是没有"lio_sam/mapping/odometry_incremental"话题发布出来(由mapOptimization的pubLaserOdometryIncremental发布出来)

void odometryHandler(const nav_msgs::Odometry::ConstPtr &odomMsg)
void laserCloudInfoHandler(const lio_sam::cloud_infoConstPtr &msgIn)

3.发现这个回调函数laserCloudInfoHandler也没进去,订阅的是lio_sam/feature/cloud_info,现在查一下话题发布出来了吗?

-没发布出来

4.擦,publishClouds()没进去,所以lio_sam/deskew/cloud_info没发出来!

5.擦!找到原因了!

 if (!deskewInfo()){
            ROS_INFO("deskew_info failed");
            return;
        }

原来是畸变矫正失败了。

6.畸变矫正为什么会失败呢?猜测可能是雷达的时间戳和imu的不一样。写一个程序测一下

7.妈呀!发现imu数据没存进来,证据

void imuDeskewInfo()
    {
        cloudInfo.imuAvailable = false;

        while (!imuQueue.empty())
        {
            ROS_INFO("ImuQueue is not empty");
            // 丢弃早于当前雷达帧开始扫描时间戳的缓存的imu帧
            if (imuQueue.front().header.stamp.toSec() < timeScanCur - 0.01) {
                imuQueue.pop_front();
            }
            else
                break;
        }

8.并不是imu没存进来,而是他们时间戳不一致!!!!气死了,看看这神奇的时间戳,imu的频率100hz,间隔0.01s,雷达频率为10hz,间隔0.1s,看来imu的时间以毫秒计的。

258216.000000000
258226.000000000
258236.000000000
258246.000000000
258256.000000000
258266.000000000
258276.000000000
258286.000000000
258296.000000000
258306.000000000
258316.000000000
258326.000000000
258336.000000000
258346.000000000
258356.000000000
258366.000000000
258376.000000000

1638538243.60303759574890
1638538243.70307374000549
1638538243.80305027961731
1638538243.90302062034607
1638538244.00300979614258
1638538244.10288214683533
1638538244.20300960540771
1638538244.30299758911133
1638538244.40297722816467
1638538244.50284433364868
1638538244.60297465324402
1638538244.70297312736511
1638538244.80297017097473
1638538244.90284919738770
1638538245.00297260284424
1638538245.10283350944519
1638538245.20288324356079

标签:const,sam,msgs,void,lio,imu,实车
来源: https://blog.csdn.net/yoga_wyj/article/details/121716936

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有