mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-03 10:00:23 +08:00
fixed sending goal command
This commit is contained in:
@@ -73,7 +73,7 @@ public:
|
|||||||
kCmdResume,
|
kCmdResume,
|
||||||
kCmdGoal, // params: [string] label or [int] location ID
|
kCmdGoal, // params: [string] label or [int] location ID
|
||||||
kCmdCancelGoal,
|
kCmdCancelGoal,
|
||||||
kCmdLabel // params: [string] label or [int] location ID
|
kCmdLabel // params: [string] label, [int] location ID
|
||||||
};
|
};
|
||||||
public:
|
public:
|
||||||
RtabmapEventCmd(Cmd cmd, const ParametersMap & parameters = ParametersMap()) :
|
RtabmapEventCmd(Cmd cmd, const ParametersMap & parameters = ParametersMap()) :
|
||||||
|
|||||||
@@ -434,10 +434,11 @@ void RtabmapThread::handleEvent(UEvent* event)
|
|||||||
else if(cmd == RtabmapEventCmd::kCmdLabel)
|
else if(cmd == RtabmapEventCmd::kCmdLabel)
|
||||||
{
|
{
|
||||||
ULOGGER_DEBUG("CMD_LABEL");
|
ULOGGER_DEBUG("CMD_LABEL");
|
||||||
UASSERT(rtabmapEvent->value1().isStr() || rtabmapEvent->value1().isInt() || rtabmapEvent->value1().isUInt());
|
UASSERT(rtabmapEvent->value1().isStr());
|
||||||
|
UASSERT(rtabmapEvent->value2().isUndef() || rtabmapEvent->value2().isInt() || rtabmapEvent->value2().isUInt());
|
||||||
ParametersMap param;
|
ParametersMap param;
|
||||||
param.insert(ParametersPair("label", rtabmapEvent->value1().isStr()?rtabmapEvent->value1().toStr():""));
|
param.insert(ParametersPair("label", rtabmapEvent->value1().toStr()));
|
||||||
param.insert(ParametersPair("id", !rtabmapEvent->value1().isStr()?rtabmapEvent->value1().toStr():"0"));
|
param.insert(ParametersPair("id", rtabmapEvent->value2().isUndef()?"0":rtabmapEvent->value2().toStr()));
|
||||||
pushNewState(kStateLabelling, param);
|
pushNewState(kStateLabelling, param);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -168,7 +168,6 @@ private slots:
|
|||||||
void changeDetectionRateSetting();
|
void changeDetectionRateSetting();
|
||||||
void changeTimeLimitSetting();
|
void changeTimeLimitSetting();
|
||||||
void changeMappingMode();
|
void changeMappingMode();
|
||||||
void captureScreen();
|
|
||||||
void setAspectRatio(int w, int h);
|
void setAspectRatio(int w, int h);
|
||||||
void setAspectRatio16_9();
|
void setAspectRatio16_9();
|
||||||
void setAspectRatio16_10();
|
void setAspectRatio16_10();
|
||||||
@@ -224,6 +223,7 @@ private:
|
|||||||
void saveFigures();
|
void saveFigures();
|
||||||
void loadFigures();
|
void loadFigures();
|
||||||
void exportPoses(int format);
|
void exportPoses(int format);
|
||||||
|
QString captureScreen();
|
||||||
|
|
||||||
pcl::PointCloud<pcl::PointXYZRGB>::Ptr getAssembledCloud(
|
pcl::PointCloud<pcl::PointXYZRGB>::Ptr getAssembledCloud(
|
||||||
const std::map<int, Transform> & poses,
|
const std::map<int, Transform> & poses,
|
||||||
|
|||||||
@@ -2555,7 +2555,7 @@ void MainWindow::changeMappingMode()
|
|||||||
emit mappingModeChanged(_ui->actionSLAM_mode->isChecked());
|
emit mappingModeChanged(_ui->actionSLAM_mode->isChecked());
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::captureScreen()
|
QString MainWindow::captureScreen()
|
||||||
{
|
{
|
||||||
QString targetDir = _preferencesDialog->getWorkingDirectory() + QDir::separator() + "ScreensCaptured";
|
QString targetDir = _preferencesDialog->getWorkingDirectory() + QDir::separator() + "ScreensCaptured";
|
||||||
QDir dir;
|
QDir dir;
|
||||||
@@ -2577,6 +2577,8 @@ void MainWindow::captureScreen()
|
|||||||
QString msg = tr("Screen captured \"%1\"").arg(targetDir + name);
|
QString msg = tr("Screen captured \"%1\"").arg(targetDir + name);
|
||||||
_ui->statusbar->showMessage(msg, _preferencesDialog->getTimeLimit()*500);
|
_ui->statusbar->showMessage(msg, _preferencesDialog->getTimeLimit()*500);
|
||||||
_ui->widget_console->appendMsg(msg);
|
_ui->widget_console->appendMsg(msg);
|
||||||
|
|
||||||
|
return targetDir + name;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::beep()
|
void MainWindow::beep()
|
||||||
@@ -3832,7 +3834,7 @@ void MainWindow::sendGoal()
|
|||||||
{
|
{
|
||||||
_ui->graphicsView_graphView->setGlobalPath(std::vector<std::pair<int, Transform> >()); // clear
|
_ui->graphicsView_graphView->setGlobalPath(std::vector<std::pair<int, Transform> >()); // clear
|
||||||
UINFO("Posting event with goal %d", id);
|
UINFO("Posting event with goal %d", id);
|
||||||
this->post(new RtabmapEventCmd(RtabmapEventCmd::kCmdGoal, "", id));
|
this->post(new RtabmapEventCmd(RtabmapEventCmd::kCmdGoal, id));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4106,7 +4108,7 @@ void MainWindow::selectScreenCaptureFormat(bool checked)
|
|||||||
|
|
||||||
void MainWindow::takeScreenshot()
|
void MainWindow::takeScreenshot()
|
||||||
{
|
{
|
||||||
this->captureScreen();
|
QDesktopServices::openUrl(QUrl::fromLocalFile(this->captureScreen()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::setAspectRatio(int w, int h)
|
void MainWindow::setAspectRatio(int w, int h)
|
||||||
@@ -5184,7 +5186,7 @@ void MainWindow::changeState(MainWindow::State newState)
|
|||||||
_ui->actionDump_the_memory->setVisible(!monitoring);
|
_ui->actionDump_the_memory->setVisible(!monitoring);
|
||||||
_ui->actionDump_the_prediction_matrix->setVisible(!monitoring);
|
_ui->actionDump_the_prediction_matrix->setVisible(!monitoring);
|
||||||
_ui->actionGenerate_map->setVisible(!monitoring);
|
_ui->actionGenerate_map->setVisible(!monitoring);
|
||||||
_ui->menuExport_poses->setEnabled(!monitoring);
|
_ui->menuExport_poses->menuAction()->setVisible(!monitoring);
|
||||||
_ui->actionOpen_working_directory->setVisible(!monitoring);
|
_ui->actionOpen_working_directory->setVisible(!monitoring);
|
||||||
_ui->actionData_recorder->setVisible(!monitoring);
|
_ui->actionData_recorder->setVisible(!monitoring);
|
||||||
_ui->menuSelect_source->menuAction()->setVisible(!monitoring);
|
_ui->menuSelect_source->menuAction()->setVisible(!monitoring);
|
||||||
|
|||||||
Reference in New Issue
Block a user