mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-02 01:20:25 +08:00
OdometryEvent: set quality to -1 when not set.
git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1611 f169173b-cf89-36c8-b27e-44dbe73f0c83
This commit is contained in:
@@ -17,7 +17,7 @@ class OdometryEvent : public UEvent
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
OdometryEvent(
|
OdometryEvent(
|
||||||
const Image & data, int quality = 0) :
|
const Image & data, int quality = -1) :
|
||||||
_data(data),
|
_data(data),
|
||||||
_quality(quality) {}
|
_quality(quality) {}
|
||||||
virtual ~OdometryEvent() {}
|
virtual ~OdometryEvent() {}
|
||||||
|
|||||||
@@ -550,7 +550,7 @@ void MainWindow::processOdometry(const rtabmap::Image & data, int quality)
|
|||||||
|
|
||||||
pose = _lastOdomPose;
|
pose = _lastOdomPose;
|
||||||
}
|
}
|
||||||
else if(quality &&
|
else if(quality>=0 &&
|
||||||
_preferencesDialog->getOdomQualityWarnThr() &&
|
_preferencesDialog->getOdomQualityWarnThr() &&
|
||||||
quality < _preferencesDialog->getOdomQualityWarnThr())
|
quality < _preferencesDialog->getOdomQualityWarnThr())
|
||||||
{
|
{
|
||||||
@@ -562,7 +562,10 @@ void MainWindow::processOdometry(const rtabmap::Image & data, int quality)
|
|||||||
UDEBUG("odom ok");
|
UDEBUG("odom ok");
|
||||||
_ui->widget_cloudViewer->setBackgroundColor(Qt::black);
|
_ui->widget_cloudViewer->setBackgroundColor(Qt::black);
|
||||||
}
|
}
|
||||||
|
if(quality >= 0)
|
||||||
|
{
|
||||||
_ui->statsToolBox->updateStat("/Odom inliers/", (float)data.id(), (float)quality);
|
_ui->statsToolBox->updateStat("/Odom inliers/", (float)data.id(), (float)quality);
|
||||||
|
}
|
||||||
if(!pose.isNull())
|
if(!pose.isNull())
|
||||||
{
|
{
|
||||||
_lastOdomPose = pose;
|
_lastOdomPose = pose;
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ namespace rtabmap {
|
|||||||
|
|
||||||
OdometryViewer::OdometryViewer(int maxClouds, int decimation, float voxelSize, int qualityWarningThr, QWidget * parent) :
|
OdometryViewer::OdometryViewer(int maxClouds, int decimation, float voxelSize, int qualityWarningThr, QWidget * parent) :
|
||||||
CloudViewer(parent),
|
CloudViewer(parent),
|
||||||
|
dataQuality_(-1),
|
||||||
lastOdomPose_(Transform::getIdentity()),
|
lastOdomPose_(Transform::getIdentity()),
|
||||||
maxClouds_(maxClouds),
|
maxClouds_(maxClouds),
|
||||||
voxelSize_(voxelSize),
|
voxelSize_(voxelSize),
|
||||||
@@ -50,14 +51,14 @@ OdometryViewer::OdometryViewer(int maxClouds, int decimation, float voxelSize, i
|
|||||||
void OdometryViewer::processData()
|
void OdometryViewer::processData()
|
||||||
{
|
{
|
||||||
rtabmap::Image data;
|
rtabmap::Image data;
|
||||||
int quality = 0;
|
int quality = -1;
|
||||||
dataMutex_.lock();
|
dataMutex_.lock();
|
||||||
if(data_.size())
|
if(data_.size())
|
||||||
{
|
{
|
||||||
data = data_.back();
|
data = data_.back();
|
||||||
data_.clear();
|
data_.clear();
|
||||||
quality = dataQuality_;
|
quality = dataQuality_;
|
||||||
dataQuality_ = 0;
|
dataQuality_ = -1;
|
||||||
}
|
}
|
||||||
dataMutex_.unlock();
|
dataMutex_.unlock();
|
||||||
|
|
||||||
@@ -109,7 +110,7 @@ void OdometryViewer::processData()
|
|||||||
|
|
||||||
this->updateCameraPosition(data.pose());
|
this->updateCameraPosition(data.pose());
|
||||||
|
|
||||||
if(qualityWarningThr_ && quality && quality < qualityWarningThr_)
|
if(qualityWarningThr_ && quality>=0 && quality < qualityWarningThr_)
|
||||||
{
|
{
|
||||||
this->setBackgroundColor(Qt::darkYellow);
|
this->setBackgroundColor(Qt::darkYellow);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user