From abd5e8f223183219550b2ef651913958a0b3ec78 Mon Sep 17 00:00:00 2001 From: Fabian Reister <fabian.reister@kit.edu> Date: Thu, 20 May 2021 10:40:25 +0200 Subject: [PATCH] BO's for attachments --- .../RobotAPI/libraries/armem_objects/types.h | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/source/RobotAPI/libraries/armem_objects/types.h b/source/RobotAPI/libraries/armem_objects/types.h index 855c855c4..ba85fde7d 100644 --- a/source/RobotAPI/libraries/armem_objects/types.h +++ b/source/RobotAPI/libraries/armem_objects/types.h @@ -23,7 +23,64 @@ #include <vector> +#include <Eigen/Geometry> + #include <RobotAPI/libraries/armem_robot/types.h> +#include <RobotAPI/libraries/armem/core/MemoryID.h> + + +namespace armarx::armem::attachments +{ + using AgentID = armem::MemoryID; + using ObjectID = armem::MemoryID; + + struct AgentDescription + { + /** + * @brief id either pointing to a arondto::Robot or arondto::ArticulatedObject + * + */ + AgentID id; + + std::string frame; + }; + + /** + * @brief ObjectAttachment describes a fixed transformation between an agent and an object. + * + * The transformation is defined as follows: + * + * agent.frame -> object root frame + * + */ + struct ObjectAttachment + { + AgentDescription agent; + + Eigen::Affine3f transformation; + + ObjectID object; + }; + + /** + * @brief ArticulatedObjectAttachment describes a fixed transformation between an agent and an articulated object. + * + * The transformation is defined as follows: + * + * agent.frame -> object.frame + * + */ + struct ArticulatedObjectAttachment + { + AgentDescription agent; + + Eigen::Affine3f transformation; + + AgentDescription object; + + }; + +} // namespace armarx::armem::attachments namespace armarx::armem::articulated_object { -- GitLab