From b4453830c36599908a34bd1f38b52c96550ff9c0 Mon Sep 17 00:00:00 2001 From: Fabian Peller-Konrad <fabian.peller-konrad@kit.edu> Date: Mon, 28 Feb 2022 16:21:31 +0100 Subject: [PATCH] skill updates --- .../libraries/armem_objects/client/instance/ObjectReader.h | 5 ++++- source/RobotAPI/libraries/skills/provider/Skill.cpp | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/source/RobotAPI/libraries/armem_objects/client/instance/ObjectReader.h b/source/RobotAPI/libraries/armem_objects/client/instance/ObjectReader.h index 45a342307..825687d5b 100644 --- a/source/RobotAPI/libraries/armem_objects/client/instance/ObjectReader.h +++ b/source/RobotAPI/libraries/armem_objects/client/instance/ObjectReader.h @@ -44,11 +44,11 @@ namespace armarx::armem::obj::instance void registerPropertyDefinitions(armarx::PropertyDefinitionsPtr& def); void connect(); - std::optional<armem::arondto::ObjectInstance> queryObject(const armem::wm::Memory& memory, const armem::Time&); std::optional<armem::arondto::ObjectInstance> queryObjectByEntityID(const std::string& entityName, const armem::Time&); std::optional<armem::arondto::ObjectInstance> queryObjectByObjectID(const std::string& objectId, const armem::Time&); + // return the class name, e.g. Kitchen/greencup in Kitchen/greencup/0 static std::string GetObjectId(const std::string& s) { auto split = simox::alg::split(s, "/"); @@ -69,6 +69,7 @@ namespace armarx::armem::obj::instance return ""; } + // return the class name, e.g. greencup in Kitchen/greencup/0 static std::string GetObjectClassName(const std::string& s) { auto split = simox::alg::split(s, "/"); @@ -89,6 +90,7 @@ namespace armarx::armem::obj::instance return ""; } + // check if s matches ??/??/?? static bool IsEntityId(const std::string& s) { auto split = simox::alg::split(s, "/"); @@ -104,6 +106,7 @@ namespace armarx::armem::obj::instance return true; } + // check if s matches ??/?? static bool IsObjectId(const std::string& s) { auto split = simox::alg::split(s, "/"); diff --git a/source/RobotAPI/libraries/skills/provider/Skill.cpp b/source/RobotAPI/libraries/skills/provider/Skill.cpp index aaeaabbe3..c74910e43 100644 --- a/source/RobotAPI/libraries/skills/provider/Skill.cpp +++ b/source/RobotAPI/libraries/skills/provider/Skill.cpp @@ -67,7 +67,10 @@ namespace armarx // always called after execute (should not take longer than 100ms) running = false; - timeoutCheck.join(); + if (timeoutCheck.joinable()) + { + timeoutCheck.join(); + } exited = IceUtil::Time::now(); } -- GitLab