Rtabmap: when optimizing graph, removed guess for rootid to avoid global rotation drift over time. CameraStereoImages: set BayerMode also to right image. GraphView: fixed 0 width for line inside NodeItem. Reprocess: added -loc_null and -gt options.

This commit is contained in:
matlabbe
2021-10-23 11:17:42 -04:00
parent 56c5622d20
commit 8682026396
6 changed files with 78 additions and 23 deletions

View File

@@ -303,9 +303,6 @@ Transform Odometry::process(SensorData & data, const Transform & guessIn, Odomet
orientation*
data.imu().localTransform().rotation().inverse();
IMU imu2 = data.imu();
imu2.convertToBaseFrame();
if( this->getPose().r11() == 1.0f && this->getPose().r22() == 1.0f && this->getPose().r33() == 1.0f &&
this->framesProcessed() == 0)
{

View File

@@ -4418,9 +4418,9 @@ std::map<int, Transform> Rtabmap::optimizeGraph(
{
for(std::map<int, Transform>::iterator iter=poses.begin(); iter!=poses.end(); ++iter)
{
// Apply guess poses (if some)
// Apply guess poses (if some), ignore for rootid to avoid origin drifting
std::map<int, Transform>::const_iterator foundGuess = guessPoses.find(iter->first);
if(foundGuess!=guessPoses.end())
if(foundGuess!=guessPoses.end() && iter->first != fromId)
{
iter->second = foundGuess->second;
}

View File

@@ -862,7 +862,7 @@ SensorData CameraImages::captureImage(CameraInfo * info)
cv::cvtColor(img, out, CV_BGRA2BGR);
img = out;
}
else if(_bayerMode >= 0 && _bayerMode <=3)
else if(!img.empty() && _bayerMode >= 0 && _bayerMode <=3)
{
cv::Mat debayeredImg;
try

View File

@@ -166,6 +166,7 @@ SensorData CameraStereoImages::captureImage(CameraInfo * info)
{
if(camera2_)
{
camera2_->setBayerMode(this->getBayerMode());
right = camera2_->takeImage(info);
}
else