3#include <SimoxUtility/math/convert/pos_rpy_to_mat4f.h>
42 return "GlobalRobotPoseCorrectionSensorDevice";
48 transformationBuffer.reinitAllBuffers(SensorValueType::Transformation::Identity());
65 const IceUtil::Time& sensorValuesTimestamp,
66 const IceUtil::Time& timeSinceLastIteration)
68 sensor.global_T_odom = transformationBuffer.getUpToDateReadBuffer();
75 transformationBuffer.getWriteBuffer() = global_T_odom;
76 transformationBuffer.commitWrite();
82 return "GlobalRobotPoseSensorDevice";
104 const IceUtil::Time& timeSinceLastIteration)
111 return "GlobalRobotLocalizationSensorDevice";
121 const IceUtil::Time& sensorValuesTimestamp,
122 const IceUtil::Time& timeSinceLastIteration)
126 ARMARX_ERROR <<
"The global position correction sensor is not available."
137 const auto relative_T_robot =
144 const auto global_T_robot = global_T_relative * relative_T_robot;
146 sensor.global_T_root = global_T_robot;
SpamFilterDataPtr deactivateSpam(SpamFilterDataPtr const &spamFilter, float deactivationDurationSec, const std::string &identifier, bool deactivate)
void rtReadSensorValues(const IceUtil::Time &sensorValuesTimestamp, const IceUtil::Time &timeSinceLastIteration) override
This is a hook for implementations to read the sensor value from a bus.
static std::string DeviceName()
GlobalRobotLocalizationSensorDevice()
const SensorValueGlobalPoseCorrection * sensorGlobalPositionCorrection
const SensorValueHolonomicPlatformRelativePosition * sensorRelativePosition
void updateGlobalPositionCorrection(const SensorValueType::Transformation &global_T_odom)
std::string getReportingFrame() const override
void rtReadSensorValues(const IceUtil::Time &sensorValuesTimestamp, const IceUtil::Time &timeSinceLastIteration) override
This is a hook for implementations to read the sensor value from a bus.
static std::string DeviceName()
GlobalRobotPoseCorrectionSensorDevice()
const SensorValueBase * getSensorValue() const override
GlobalRobotPoseSensorDevice()
std::string getReportingFrame() const override
void rtReadSensorValues(const IceUtil::Time &sensorValuesTimestamp, const IceUtil::Time &timeSinceLastIteration) override
This is a hook for implementations to read the sensor value from a bus.
static std::string DeviceName()
const SensorValueBase * getSensorValue() const override
This class represents some part of the robot providing sensor values.
SensorDevice(const std::string &name)
Create a SensorDevice with the given name.
The SensorValueBase class.
introspection::ClassMemberInfo< SensorValueBase, DerivedClass > SensorValueInfo
Transformation global_T_odom
static SensorValueInfo< SensorValueGlobalPoseCorrection > GetClassMemberInfo()
Eigen::Matrix4f Transformation
Transformation global_T_root
static SensorValueInfo< SensorValueGlobalRobotPose > GetClassMemberInfo()
#define ARMARX_ERROR
The logging level for unexpected behaviour, that must be fixed.
std::string const GlobalFrame
Variable of the global coordinate system.
This file offers overloads of toIce() and fromIce() functions for STL container types.
EntryConfigurator< ClassType > addMemberVariable(MemberType ClassType::*ptr, const std::string &name)
add a member variable of the current class