mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-01 17:10:26 +08:00
Added "Cancel goal" action
This commit is contained in:
@@ -76,7 +76,8 @@ public:
|
||||
kCmdPublishTOROGraphLocal, // params: optimized
|
||||
kCmdTriggerNewMap,
|
||||
kCmdPause,
|
||||
kCmdGoal}; // params: label or location ID
|
||||
kCmdGoal, // params: label or location ID
|
||||
kCmdCancelGoal};
|
||||
public:
|
||||
RtabmapEventCmd(Cmd cmd, const std::string & strValue = "", int intValue = 0, const ParametersMap & parameters = ParametersMap()) :
|
||||
UEvent(0),
|
||||
|
||||
@@ -74,7 +74,8 @@ public:
|
||||
kStatePublishingTOROGraphGlobal,
|
||||
kStateTriggeringMap,
|
||||
kStateAddingUserData,
|
||||
kStateSettingGoal
|
||||
kStateSettingGoal,
|
||||
kStateCancellingGoal
|
||||
};
|
||||
|
||||
public:
|
||||
|
||||
@@ -286,6 +286,9 @@ void RtabmapThread::mainLoop()
|
||||
}
|
||||
this->post(new RtabmapGlobalPathEvent(id, _rtabmap->getPath()));
|
||||
break;
|
||||
case kStateCancellingGoal:
|
||||
_rtabmap->clearPath();
|
||||
break;
|
||||
default:
|
||||
UFATAL("Invalid state !?!?");
|
||||
break;
|
||||
@@ -492,6 +495,11 @@ void RtabmapThread::handleEvent(UEvent* event)
|
||||
param.insert(ParametersPair("goal_id", uNumber2Str(rtabmapEvent->getInt())));
|
||||
pushNewState(kStateSettingGoal, param);
|
||||
}
|
||||
else if(cmd == RtabmapEventCmd::kCmdCancelGoal)
|
||||
{
|
||||
ULOGGER_DEBUG("CMD_CANCEL_GOAL");
|
||||
pushNewState(kStateCancellingGoal);
|
||||
}
|
||||
else
|
||||
{
|
||||
UWARN("Cmd %d unknown!", cmd);
|
||||
|
||||
Reference in New Issue
Block a user