diff --git a/source/RobotAPI/components/ObjectPoseObserver/ObjectPoseObserver.cpp b/source/RobotAPI/components/ObjectPoseObserver/ObjectPoseObserver.cpp index 069df7e68b00c64af70e770c8be7b11a77d23096..634600034fc789e8ddf4740a7bee948bd7ce36a0 100644 --- a/source/RobotAPI/components/ObjectPoseObserver/ObjectPoseObserver.cpp +++ b/source/RobotAPI/components/ObjectPoseObserver/ObjectPoseObserver.cpp @@ -98,10 +98,14 @@ namespace armarx robotHead.debugObserver = debugObserver; robotHead.fetchDatafields(); - decay.updateTask = new SimpleRunningTask([this]() + if (!decay.updateTask) { - this->decayUpdateRun(); - }); + decay.updateTask = new SimpleRunningTask<>([this]() + { + this->decayUpdateRun(); + }); + decay.updateTask->start(); + } createRemoteGuiTab(); RemoteGui_startRunningTask(); @@ -746,7 +750,7 @@ namespace armarx } } - void ObjectPoseObserver::updateDecayRun() + void ObjectPoseObserver::decayUpdateRun() { CycleUtil cycle(static_cast<int>(1000 / decay.updateFrequencyHz)); while (decay.updateTask && !decay.updateTask->isStopped()) diff --git a/source/RobotAPI/components/ObjectPoseObserver/ObjectPoseObserver.h b/source/RobotAPI/components/ObjectPoseObserver/ObjectPoseObserver.h index 2db380bf1a38b602ca7991e050a55153696f9e49..6f4cb8a0c0dfa17601a8b5d338b6d441724cd7eb 100644 --- a/source/RobotAPI/components/ObjectPoseObserver/ObjectPoseObserver.h +++ b/source/RobotAPI/components/ObjectPoseObserver/ObjectPoseObserver.h @@ -150,7 +150,7 @@ namespace armarx void toIceWithAttachments(objpose::ObjectPoseSeq& objectPoses, VirtualRobot::RobotPtr agent, objpose::data::ObjectPoseSeq& result, bool& synchronized); - void updateDecayRun(); + void decayUpdateRun(); private: