From 38a3eb2b5283ab7a612df913e5fb9350c313835a Mon Sep 17 00:00:00 2001 From: Fabian Reister <fabian.reister@kit.edu> Date: Tue, 1 Jun 2021 08:19:32 +0200 Subject: [PATCH] ForceTorque Helper: added method getFramedForce --- .../RobotStatechartHelpers/ForceTorqueHelper.cpp | 7 +++++++ .../libraries/RobotStatechartHelpers/ForceTorqueHelper.h | 9 ++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/source/RobotAPI/libraries/RobotStatechartHelpers/ForceTorqueHelper.cpp b/source/RobotAPI/libraries/RobotStatechartHelpers/ForceTorqueHelper.cpp index b6cf85960..de446c057 100644 --- a/source/RobotAPI/libraries/RobotStatechartHelpers/ForceTorqueHelper.cpp +++ b/source/RobotAPI/libraries/RobotStatechartHelpers/ForceTorqueHelper.cpp @@ -40,6 +40,13 @@ namespace armarx return forceDf->getDataField()->get<FramedDirection>()->toEigen() - initialForce; } + FramedDirection ForceTorqueHelper::getFramedForce() + { + const auto force = forceDf->getDataField()->get<FramedDirection>(); + + return FramedDirection(force->toEigen() - initialForce, force->getFrame(), force->agent); + } + Eigen::Vector3f ForceTorqueHelper::getTorque() { return torqueDf->getDataField()->get<FramedDirection>()->toEigen() - initialTorque; diff --git a/source/RobotAPI/libraries/RobotStatechartHelpers/ForceTorqueHelper.h b/source/RobotAPI/libraries/RobotStatechartHelpers/ForceTorqueHelper.h index c7e635b64..57f437a4c 100644 --- a/source/RobotAPI/libraries/RobotStatechartHelpers/ForceTorqueHelper.h +++ b/source/RobotAPI/libraries/RobotStatechartHelpers/ForceTorqueHelper.h @@ -24,9 +24,13 @@ #pragma once #include <memory> -#include <RobotAPI/interface/units/ForceTorqueUnit.h> + #include <Eigen/Dense> +#include <RobotAPI/libraries/core/FramedPose.h> +#include <RobotAPI/interface/units/ForceTorqueUnit.h> + + namespace armarx { class DatafieldRef; @@ -41,7 +45,10 @@ namespace armarx ForceTorqueHelper(const ForceTorqueUnitObserverInterfacePrx& forceTorqueObserver, const std::string& FTDatefieldName); Eigen::Vector3f getForce(); + FramedDirection getFramedForce(); + Eigen::Vector3f getTorque(); + void setZero(); DatafieldRefPtr forceDf; -- GitLab