From f4310634218f29811948989d2dbdf15a50a0279f Mon Sep 17 00:00:00 2001 From: Markus Swarowsky <markus.swarowsky@student.kit.edu> Date: Thu, 2 Feb 2017 15:49:11 +0100 Subject: [PATCH] added Raw values to the KinematicDataUnit changed function names in RobotUnit to make clear which is RT and which not --- .../Controllers/DataUnits/KinematicDataUnit.h | 46 +++++++++++++++++++ .../libraries/Controllers/RobotUnit.h | 10 ++-- 2 files changed, 51 insertions(+), 5 deletions(-) diff --git a/source/RobotAPI/libraries/Controllers/DataUnits/KinematicDataUnit.h b/source/RobotAPI/libraries/Controllers/DataUnits/KinematicDataUnit.h index 2b01e1df4..93aae5d1e 100644 --- a/source/RobotAPI/libraries/Controllers/DataUnits/KinematicDataUnit.h +++ b/source/RobotAPI/libraries/Controllers/DataUnits/KinematicDataUnit.h @@ -42,6 +42,14 @@ namespace armarx virtual std::vector<const float*> getJointCurrents(const std::vector<std::string>& joints) const = 0; virtual std::vector<const float*> getJointMotorTemperatures(const std::vector<std::string>& joints) const = 0; virtual std::vector<const float*> getJointGearTemperatures(const std::vector<std::string>& joints) const = 0; + + virtual std::vector<const int32_t*> getJointRawPositionValues(const std::vector<std::string>& joints) const = 0; + virtual std::vector<const int32_t*> getJointRawVelocityValues(const std::vector<std::string>& joints) const = 0; + virtual std::vector<const int16_t*> getJointRawCurrentValues(const std::vector<std::string>& joints) const = 0; + virtual std::vector<const int32_t*> getJointRawTorqueValues(const std::vector<std::string>& joints) const = 0; + virtual std::vector<const int32_t*> getJointRawGearTemperatures(const std::vector<std::string>& joints) const = 0; + virtual std::vector<const int32_t*> getJointRawAbsPositionValues(const std::vector<std::string>& joints) const = 0; + virtual std::vector<const int16_t*> getJointTemperatureRobodriveValues(const std::vector<std::string>& joints) const = 0; }; class KinematicDataUnitPtrProvider: virtual public KinematicDataUnitInterface @@ -98,6 +106,36 @@ namespace armarx { return getPointers(joints, jointAbsPositions); } + virtual std::vector<const int32_t*> getJointRawPositionValues(const std::vector<std::string>& joints) const + { + return getPointers(joints, jointRawPositionValues); + } + virtual std::vector<const int32_t*> getJointRawVelocityValues(const std::vector<std::string>& joints) const + { + return getPointers(joints, jointRawVelocityValues); + } + virtual std::vector<const int16_t*> getJointRawCurrentValues(const std::vector<std::string>& joints) const + { + return getPointers(joints, jointRawCurrentValues); + } + virtual std::vector<const int32_t*> getJointRawTorqueValues(const std::vector<std::string>& joints) const + { + return getPointers(joints, jointRawTorqueValues); + } + virtual std::vector<const int32_t*> getJointRawGearTemperatures(const std::vector<std::string>& joints) const + { + return getPointers(joints, jointRawGearTemperatures); + } + virtual std::vector<const int32_t*> getJointRawAbsPositionValues(const std::vector<std::string>& joints) const + { + return getPointers(joints, jointRawAbsPositionValues); + } + virtual std::vector<const int16_t*> getJointTemperatureRobodriveValues(const std::vector<std::string>& joints) const + { + return getPointers(joints, jointRawMotorTemperatureValues); + } + + protected: std::vector<float*> jointAngles; @@ -107,6 +145,14 @@ namespace armarx std::vector<float*> jointMotorTemperatures; std::vector<float*> jointGearTemperatures; std::vector<float*> jointAbsPositions; + + std::vector<int32_t*> jointRawPositionValues; + std::vector<int32_t*> jointRawVelocityValues; + std::vector<int16_t*> jointRawCurrentValues; + std::vector<int32_t*> jointRawTorqueValues; + std::vector<int32_t*> jointRawGearTemperatures; + std::vector<int32_t*> jointRawAbsPositionValues; + std::vector<int16_t*> jointRawMotorTemperatureValues; private: template<class T> std::vector<const T*> getPointers(const std::vector<std::string>& joints, const std::vector<T*>& targets) const diff --git a/source/RobotAPI/libraries/Controllers/RobotUnit.h b/source/RobotAPI/libraries/Controllers/RobotUnit.h index 73680e328..61e923959 100644 --- a/source/RobotAPI/libraries/Controllers/RobotUnit.h +++ b/source/RobotAPI/libraries/Controllers/RobotUnit.h @@ -109,11 +109,11 @@ namespace armarx virtual InertialMeasurementUnitInterfacePrx getInertialMeasurementUnit(const Ice::Current& = GlobalIceCurrent) const = 0; virtual PlatformUnitInterfacePrx getPlatformUnitInterface(const Ice::Current& = GlobalIceCurrent) const = 0; //units (rt) - virtual const ForceTorqueDataUnitInterface& getForceTorqueDataUnit() const = 0; - virtual const HapticDataUnitInterface& getHapticDataUnit() const = 0; - virtual const IMUDataUnitInterface& getIMUDataUnit() const = 0; - virtual const KinematicDataUnitInterface& getKinematicDataUnit() const = 0; - virtual const PlatformDataUnitInterface& getPlatformDataUnit() const = 0; + virtual const ForceTorqueDataUnitInterface& getRTForceTorqueDataUnit() const = 0; + virtual const HapticDataUnitInterface& getRTHapticDataUnit() const = 0; + virtual const IMUDataUnitInterface& getRTIMUDataUnit() const = 0; + virtual const KinematicDataUnitInterface& getRTKinematicDataUnit() const = 0; + virtual const PlatformDataUnitInterface& getRTPlatformDataUnit() const = 0; //targets JointTargetBase* getJointTarget(const std::string& jointName, const std::string& controlMode); -- GitLab