本文整理汇总了C++中SysSBA::calcRMSCost方法的典型用法代码示例。如果您正苦于以下问题:C++ SysSBA::calcRMSCost方法的具体用法?C++ SysSBA::calcRMSCost怎么用?C++ SysSBA::calcRMSCost使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SysSBA
的用法示例。
在下文中一共展示了SysSBA::calcRMSCost方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: doSBA
void SBANode::doSBA(/*const ros::TimerEvent& event*/)
{
unsigned int projs = 0;
// For debugging.
for (int i = 0; i < (int)sba.tracks.size(); i++)
{
projs += sba.tracks[i].projections.size();
}
ROS_INFO("SBA Nodes: %d, Points: %d, Projections: %d", (int)sba.nodes.size(),
(int)sba.tracks.size(), projs);
if (sba.nodes.size() > 0)
{
// Copied from vslam.cpp: refine()
sba.doSBA(10, 1.0e-4, SBA_SPARSE_CHOLESKY);
double cost = sba.calcRMSCost();
if (isnan(cost) || isinf(cost)) // is NaN?
{
ROS_INFO("NaN cost!");
}
else
{
if (sba.calcRMSCost() > 4.0)
sba.doSBA(10, 1.0e-4, SBA_SPARSE_CHOLESKY); // do more
if (sba.calcRMSCost() > 4.0)
sba.doSBA(10, 1.0e-4, SBA_SPARSE_CHOLESKY); // do more
}
}
}