From 1472f430e1dcb0561ca3dc9ae03d5b33eb389211 Mon Sep 17 00:00:00 2001 From: Rainer Kartmann <rainer.kartmann@kit.edu> Date: Tue, 22 Mar 2022 14:15:13 +0100 Subject: [PATCH] Update usage of time in armem_robot --- .../armem_robot/aron_conversions.cpp | 8 +++---- .../RobotAPI/libraries/armem_robot/types.cpp | 23 +++++++++++++++---- source/RobotAPI/libraries/armem_robot/types.h | 21 ++++++----------- 3 files changed, 29 insertions(+), 23 deletions(-) diff --git a/source/RobotAPI/libraries/armem_robot/aron_conversions.cpp b/source/RobotAPI/libraries/armem_robot/aron_conversions.cpp index 0ab9ff1a4..5db2b5560 100644 --- a/source/RobotAPI/libraries/armem_robot/aron_conversions.cpp +++ b/source/RobotAPI/libraries/armem_robot/aron_conversions.cpp @@ -53,14 +53,14 @@ namespace armarx::armem::robot void fromAron(const arondto::RobotState& dto, RobotState& bo) { - bo.timestamp = dto.timestamp; + fromAron(dto.timestamp, bo.timestamp); bo.globalPose.matrix() = dto.globalPose; bo.jointMap = dto.jointMap; } void toAron(arondto::RobotState& dto, const RobotState& bo) { - dto.timestamp = bo.timestamp; + toAron(dto.timestamp, bo.timestamp); dto.globalPose = bo.globalPose.matrix(); dto.jointMap = bo.jointMap; } @@ -97,14 +97,14 @@ namespace armarx::armem void robot::fromAron(const objpose::arondto::ObjectPose& dto, RobotState& bo) { - bo.timestamp = dto.timestamp; + fromAron(dto.timestamp, bo.timestamp); bo.globalPose = dto.objectPoseGlobal; bo.jointMap = dto.objectJointValues; } void robot::toAron(objpose::arondto::ObjectPose& dto, const RobotState& bo) { - dto.timestamp = bo.timestamp; + toAron(dto.timestamp, bo.timestamp); dto.objectPoseGlobal = bo.globalPose.matrix(); dto.objectJointValues = bo.jointMap; } diff --git a/source/RobotAPI/libraries/armem_robot/types.cpp b/source/RobotAPI/libraries/armem_robot/types.cpp index 01847402c..6f09eee1a 100644 --- a/source/RobotAPI/libraries/armem_robot/types.cpp +++ b/source/RobotAPI/libraries/armem_robot/types.cpp @@ -1,11 +1,24 @@ #include "types.h" +#include <ArmarXCore/core/exceptions/local/ExpressionException.h> + + namespace armarx::armem::robot { - std::ostream& operator<<(std::ostream &os, const RobotDescription &rhs) - { - os << "RobotDescription { name: '" << rhs.name << "', xml: '" << rhs.xml << "' }"; - return os; - } + + std::ostream& operator<<(std::ostream &os, const RobotDescription &rhs) + { + os << "RobotDescription { name: '" << rhs.name << "', xml: '" << rhs.xml << "' }"; + return os; + } + + + std::string Robot::name() const + { + ARMARX_CHECK_NOT_EMPTY(description.name) << "The robot name must be set!"; + ARMARX_CHECK_NOT_EMPTY(instance) << "The robot instance name must be provided!"; + + return description.name + "/" + instance; + } } diff --git a/source/RobotAPI/libraries/armem_robot/types.h b/source/RobotAPI/libraries/armem_robot/types.h index 10ca7475f..345564d4b 100644 --- a/source/RobotAPI/libraries/armem_robot/types.h +++ b/source/RobotAPI/libraries/armem_robot/types.h @@ -1,23 +1,22 @@ #pragma once +#include <filesystem> #include <map> #include <vector> -#include <filesystem> #include <Eigen/Geometry> -#include <IceUtil/Time.h> +#include <ArmarXCore/core/PackagePath.h> +#include <ArmarXCore/core/time/DateTime.h> -#include <ArmarXCore/core/exceptions/local/ExpressionException.h> #include <RobotAPI/libraries/ArmarXObjects/ObjectID.h> -#include <ArmarXCore/core/PackagePath.h> namespace armarx::armem::robot { struct RobotDescription { - // IceUtil::Time timestamp; + // DateTime timestamp; std::string name; PackagePath xml{"", std::filesystem::path("")}; @@ -46,7 +45,7 @@ namespace armarx::armem::robot using JointMap = std::map<std::string, float>; using Pose = Eigen::Affine3f; - IceUtil::Time timestamp; + DateTime timestamp; Pose globalPose; JointMap jointMap; @@ -60,15 +59,9 @@ namespace armarx::armem::robot RobotState config; - IceUtil::Time timestamp; - - std::string name() const - { - ARMARX_CHECK_NOT_EMPTY(description.name) << "The robot name must be set!"; - ARMARX_CHECK_NOT_EMPTY(instance) << "The robot instance name must be provided!"; + DateTime timestamp; - return description.name + "/" + instance; - } + std::string name() const; }; using Robots = std::vector<Robot>; -- GitLab