diff --git a/source/RobotAPI/libraries/RobotStatechartHelpers/ForceTorqueHelper.cpp b/source/RobotAPI/libraries/RobotStatechartHelpers/ForceTorqueHelper.cpp index b6cf859606d564dd0ca502d88096d8b44cad4378..de446c057a89d629f695db0d145369463b9597d9 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 c7e635b642c37882987a0730fbe2b98a61de8fc6..57f437a4caeee7b07d6f3d851c876346da08b87b 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;