PLICP : point to line
https://github.com/ccny-ros-pkg/scan_tools
下载其中的laser_scan_matcher
放在工作空间下直接catkin_make就能编译
看源码最重要的一句
sm_icp(&input_, &output_);
一定要理解input里面的两帧激光
output出来的是相对值,通过连续的加和和优化,得到预测的位资
记得安装CSM的库,纯c写的,看也看不到,但是里面还有icp算法
感觉源码是最小二乘法匹配,实在没看懂
首先尝试一下两帧激光匹配,当时我把 processScan函数重构了一下, 现在想想完全没必要,他这个也是循环,把imu和odom都关掉后,只凭scan就能两帧激光匹配,可以使用这个包作为初始化位姿,代替里程计不准的情况,时间长了会有累计误差,后期用amcl定位,加其他传感器.
更深入理解了tf转换,各种坐标系变换终于懂了,自己写矩阵运算,eigen库等等.....感谢同事为我答疑解惑..原来算法真是要自己数学算哈哈哈哈..