是因为ceres版本的问题,本文安装的是网站上的最新版本,2.2.0
对于以下报错:
error: ‘LocalParameterization’ is not a member of ‘ceres’
566 | ceres::LocalParameterization *q_parameterization =
解决办法:
将A-LOAM下的laserMapping.cpp(row567-568) 和 the laserOdometry.cpp(row286-287)两个cpp文件的两行修改即可:
将
ceres::LocalParameterization *q_parameterization = new ceres::EigenQuaternionParameterization();
替换成:
ceres::Manifold *q_parameterization = new ceres::EigenQuaternionManifold();
in both files.
再次编译就不会有问题了。
笔者是在仿真XTdrone-三维激光雷达碰到的问题,仿真所需依赖:
虚拟机Ubuntu18.04、ROS Ceres Solver 2.20 Cmake 3.23 pcl-1.9.1