g2o使用bug总结
g2o进行3d2d优化的时候,设置优化图的边时,注意setVertex()中顶点的顺序。
p, li { white-space: pre-wrap }
void setVertex(size_t i, Vertex* v) { assert(i < _vertices.size() && "index out of bounds"); _vertices[i]=v;}
p, li { white-space: pre-wrap }
p_Edge_SE3XYZ->setVertex(1, dynamic_cast<g2o::OptimizableGraph::Vertex*>(optimizer.vertex(0)));
p_Edge_SE3XYZ->setVertex(0, dynamic_cast<g2o::OptimizableGraph::Vertex*>(optimizer.vertex(idx2)));
第0类参数应为3D点,第1类参数应为相机位姿,顺序不能错,否则会报错:
buildSystem(): NaN within Jacobian for edge 0x8bd4f0 for vertex 0。
版权声明:本文为defe-learn原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。