问题1:
报错信息:
/home/robot/g2o/g2o/types/slam2d/edge_se2_pointxy_bearing.cpp: In member function ‘virtual void g2o::EdgeSE2PointXYBearing::initialEstimate(const VertexSet&, g2o::OptimizableGraph::Vertex*)’:
/home/robot/g2o/g2o/types/slam2d/edge_se2_pointxy_bearing.cpp:50:52: error: no matching function for call to ‘g2o::SE2::setRotation(Eigen::Rotation2D<double>::Scalar)’
t.setRotation(t.rotation().angle()+_measurement);
处理方法:
In g2o/types/slam2d/edge_se2_pointxy_bearing.cpp line 51 change:
t.setRotation(t.rotation().angle()+_measurement);
to
t.setRotation((Eigen::Rotation2Dd)(t.rotation().angle()+_measurement));

在Ubuntu 16.04上安装g2o时遇到了三个主要问题:1. EdgeSE2PointXYBearing.cpp中的旋转设置错误;2. linear_solver_eigen.h中强制类型转换问题;3. simulator.cpp中的浮点数与整数混合错误。针对这些问题,分别提供了修改代码的解决方法。
最低0.47元/天 解锁文章
1434





