Whole-body human reference model and tools for unifying representations of whole-body human motion
The public interface for the sensor classes. More...
#include <Sensor.h>
Public Member Functions | |
void | appendSensorXML (simox::xml::RapidXMLWrapperNodePtr node, const std::filesystem::path &filePath) |
virtual bool | checkModel (ModelPtr model)=0 |
virtual SensorPtr | clone ()=0 |
virtual bool | equalsConfiguration (SensorPtr other)=0 |
virtual void | extend (float minTimestep, float maxTimestep)=0 |
std::string | getDescription () |
virtual float | getMaxTimestep ()=0 |
virtual SensorMeasurementPtr | getMeasurement (float timestep)=0 |
virtual SensorMeasurementPtr | getMeasurement (float timestep, float delta)=0 |
virtual std::map< float, SensorMeasurementPtr > | getMeasurements ()=0 |
virtual float | getMinTimestep ()=0 |
std::string | getName () |
virtual int | getPriority () |
virtual SensorPtr | getSegmentSensor (float startTimestep, float endTimestep, bool changeTimestep=false)=0 |
virtual std::vector< std::string > | getSensorSpecificInformation (const std::string &name) |
virtual std::vector< float > | getTimesteps ()=0 |
virtual std::string | getType ()=0 |
std::string | getUniqueName () |
virtual std::string | getVersion ()=0 |
virtual bool | hasMeasurement ()=0 |
virtual bool | hasMeasurement (float timestep)=0 |
virtual bool | hasSensorConfigurationContent () const =0 |
virtual void | initializeModel (ModelPtr model, float timestep, bool extend=false, bool update=false) |
virtual void | initializeModel (ModelPtr model, float timestep, float delta, bool extend=false, bool update=false) |
virtual bool | isInterpolatable () |
virtual bool | isMirrorSupported (MotionType type) |
virtual void | mirrorMotionData (const Eigen::Matrix4f &referencePose, int referenceAxis) |
virtual void | scaleMotionData (float scaleFactor) |
void | setDescription (const std::string &description) |
void | setName (const std::string &name) |
void | setUniqueName (const std::string &uniqueName) |
virtual void | shiftMeasurements (float delta)=0 |
virtual void | shiftMotionData (const Eigen::Vector3f &positionDelta) |
void | synchronizeSensorMeasurements (float timeFrequency) |
Synchronizes all possible sensormeasurements on a specific time frequency via linear interpolation. | |
virtual void | synchronizeSensorMeasurements (float timeFrequency, float minTimestep, float maxTimestep) |
Synchronizes all possible sensormeasurements on a specific time frequency via linear interpolation. Removes all measurements outside the given intervall. | |
Static Public Member Functions | |
static SensorPtr | join (SensorPtr sensor1, SensorPtr sensor2) |
Static Public Attributes | |
static std::function< bool(std::filesystem::path &)> | handleSensorFilePath = NULL |
Protected Member Functions | |
virtual void | appendConfigurationXML (simox::xml::RapidXMLWrapperNodePtr node, const std::filesystem::path &filePath)=0 |
virtual void | appendDataXML (simox::xml::RapidXMLWrapperNodePtr node)=0 |
virtual void | appendTypeXML (simox::xml::RapidXMLWrapperNodePtr node) |
virtual SensorPtr | joinSensor (SensorPtr sensor)=0 |
virtual void | loadConfigurationXML (simox::xml::RapidXMLWrapperNodePtr node, const std::filesystem::path &filePath)=0 |
virtual void | loadMeasurementNodeXML (simox::xml::RapidXMLWrapperNodePtr node)=0 |
virtual void | loadSensor (simox::xml::RapidXMLWrapperNodePtr node, const std::filesystem::path &filePath) |
Sensor (const std::string &description="") | |
Protected Attributes | |
std::string | description |
std::string | name |
std::string | uniqueName |
The public interface for the sensor classes.
void MMM::Sensor::appendSensorXML | ( | simox::xml::RapidXMLWrapperNodePtr | node, |
const std::filesystem::path & | filePath | ||
) |
Appends this sensor as an xml representation to a given xml node.
node | The xml node. |
|
pure virtual |
Checks, if the sensor data applicable for the given model
Implemented in MMM::BasicSensor< M,, >, MMM::BasicSensor< CustomSensorMeasurement >, MMM::BasicSensor< Force1DSensorMeasurement >, MMM::BasicSensor< Force3DSensorMeasurement >, MMM::BasicSensor< UnknownSensorMeasurement >, MMM::BasicSensor< IMUSensorMeasurement >, MMM::BasicSensor< KinematicSensorMeasurement >, MMM::BasicSensor< EnvironmentalContactSensorMeasurement >, MMM::BasicSensor< MoCapMarkerSensorMeasurement >, MMM::BasicSensor< ModelPoseSensorMeasurement >, MMM::BasicSensor< WholeBodyDynamicSensorMeasurement >, MMM::BasicSensor< M >, MMM::AttachedSensor< M >, MMM::AttachedSensor< Force1DSensorMeasurement >, MMM::AttachedSensor< Force3DSensorMeasurement >, MMM::AttachedSensor< IMUSensorMeasurement >, MMM::KinematicSensor, MMM::ModelPoseSensor, MMM::MoCapMarkerSensor, MMM::UnknownSensor, MMM::CustomSensor, MMM::EnvironmentalContactSensor, and MMM::WholeBodyDynamicSensor.
|
pure virtual |
Creates a copy of this sensor.
Implemented in MMM::BasicSensor< M,, >, MMM::BasicSensor< CustomSensorMeasurement >, MMM::BasicSensor< Force1DSensorMeasurement >, MMM::BasicSensor< Force3DSensorMeasurement >, MMM::BasicSensor< UnknownSensorMeasurement >, MMM::BasicSensor< IMUSensorMeasurement >, MMM::BasicSensor< KinematicSensorMeasurement >, MMM::BasicSensor< EnvironmentalContactSensorMeasurement >, MMM::BasicSensor< MoCapMarkerSensorMeasurement >, MMM::BasicSensor< ModelPoseSensorMeasurement >, MMM::BasicSensor< WholeBodyDynamicSensorMeasurement >, and MMM::BasicSensor< M >.
|
pure virtual |
Checks if sensor type and configuration is equal
Implemented in MMM::BasicSensor< M,, >, MMM::BasicSensor< CustomSensorMeasurement >, MMM::BasicSensor< Force1DSensorMeasurement >, MMM::BasicSensor< Force3DSensorMeasurement >, MMM::BasicSensor< UnknownSensorMeasurement >, MMM::BasicSensor< IMUSensorMeasurement >, MMM::BasicSensor< KinematicSensorMeasurement >, MMM::BasicSensor< EnvironmentalContactSensorMeasurement >, MMM::BasicSensor< MoCapMarkerSensorMeasurement >, MMM::BasicSensor< ModelPoseSensorMeasurement >, MMM::BasicSensor< WholeBodyDynamicSensorMeasurement >, MMM::BasicSensor< M >, MMM::AttachedSensor< M >, MMM::AttachedSensor< Force1DSensorMeasurement >, MMM::AttachedSensor< Force3DSensorMeasurement >, MMM::AttachedSensor< IMUSensorMeasurement >, MMM::KinematicSensor, MMM::ModelPoseSensor, MMM::MoCapMarkerSensor, MMM::UnknownSensor, MMM::CustomSensor, MMM::EnvironmentalContactSensor, and MMM::WholeBodyDynamicSensor.
|
pure virtual |
Extend sensor to given timesteps by readding copies first and last measurement
Implemented in MMM::BasicSensor< M,, >, MMM::BasicSensor< CustomSensorMeasurement >, MMM::BasicSensor< Force1DSensorMeasurement >, MMM::BasicSensor< Force3DSensorMeasurement >, MMM::BasicSensor< UnknownSensorMeasurement >, MMM::BasicSensor< IMUSensorMeasurement >, MMM::BasicSensor< KinematicSensorMeasurement >, MMM::BasicSensor< EnvironmentalContactSensorMeasurement >, MMM::BasicSensor< MoCapMarkerSensorMeasurement >, MMM::BasicSensor< ModelPoseSensorMeasurement >, MMM::BasicSensor< WholeBodyDynamicSensorMeasurement >, and MMM::BasicSensor< M >.
|
pure virtual |
Returns the maximum timestep of all measurements of this sensor or -1 if no measurements exists.
Implemented in MMM::BasicSensor< M,, >, MMM::BasicSensor< CustomSensorMeasurement >, MMM::BasicSensor< Force1DSensorMeasurement >, MMM::BasicSensor< Force3DSensorMeasurement >, MMM::BasicSensor< UnknownSensorMeasurement >, MMM::BasicSensor< IMUSensorMeasurement >, MMM::BasicSensor< KinematicSensorMeasurement >, MMM::BasicSensor< EnvironmentalContactSensorMeasurement >, MMM::BasicSensor< MoCapMarkerSensorMeasurement >, MMM::BasicSensor< ModelPoseSensorMeasurement >, MMM::BasicSensor< WholeBodyDynamicSensorMeasurement >, and MMM::BasicSensor< M >.
|
pure virtual |
If the sensor contains a sensor measurement at the certain given time, it is returned. Else if possible the sensor measurement is interpolated.
Implemented in MMM::BasicSensor< M,, >, MMM::BasicSensor< CustomSensorMeasurement >, MMM::BasicSensor< Force1DSensorMeasurement >, MMM::BasicSensor< Force3DSensorMeasurement >, MMM::BasicSensor< UnknownSensorMeasurement >, MMM::BasicSensor< IMUSensorMeasurement >, MMM::BasicSensor< KinematicSensorMeasurement >, MMM::BasicSensor< EnvironmentalContactSensorMeasurement >, MMM::BasicSensor< MoCapMarkerSensorMeasurement >, MMM::BasicSensor< ModelPoseSensorMeasurement >, MMM::BasicSensor< WholeBodyDynamicSensorMeasurement >, and MMM::BasicSensor< M >.
|
pure virtual |
Returns the closest sensor measurement in a given delta around the given timestep.
Implemented in MMM::BasicSensor< M,, >, MMM::BasicSensor< CustomSensorMeasurement >, MMM::BasicSensor< Force1DSensorMeasurement >, MMM::BasicSensor< Force3DSensorMeasurement >, MMM::BasicSensor< UnknownSensorMeasurement >, MMM::BasicSensor< IMUSensorMeasurement >, MMM::BasicSensor< KinematicSensorMeasurement >, MMM::BasicSensor< EnvironmentalContactSensorMeasurement >, MMM::BasicSensor< MoCapMarkerSensorMeasurement >, MMM::BasicSensor< ModelPoseSensorMeasurement >, MMM::BasicSensor< WholeBodyDynamicSensorMeasurement >, and MMM::BasicSensor< M >.
|
pure virtual |
Returns a map of sensor measurements according to their timesteps. This method runs in linear time.
Implemented in MMM::BasicSensor< M,, >, MMM::BasicSensor< CustomSensorMeasurement >, MMM::BasicSensor< Force1DSensorMeasurement >, MMM::BasicSensor< Force3DSensorMeasurement >, MMM::BasicSensor< UnknownSensorMeasurement >, MMM::BasicSensor< IMUSensorMeasurement >, MMM::BasicSensor< KinematicSensorMeasurement >, MMM::BasicSensor< EnvironmentalContactSensorMeasurement >, MMM::BasicSensor< MoCapMarkerSensorMeasurement >, MMM::BasicSensor< ModelPoseSensorMeasurement >, MMM::BasicSensor< WholeBodyDynamicSensorMeasurement >, and MMM::BasicSensor< M >.
|
pure virtual |
Returns the minimum timestep of all measurements of this sensor or -1 if no measurements exists.
Implemented in MMM::BasicSensor< M,, >, MMM::BasicSensor< CustomSensorMeasurement >, MMM::BasicSensor< Force1DSensorMeasurement >, MMM::BasicSensor< Force3DSensorMeasurement >, MMM::BasicSensor< UnknownSensorMeasurement >, MMM::BasicSensor< IMUSensorMeasurement >, MMM::BasicSensor< KinematicSensorMeasurement >, MMM::BasicSensor< EnvironmentalContactSensorMeasurement >, MMM::BasicSensor< MoCapMarkerSensorMeasurement >, MMM::BasicSensor< ModelPoseSensorMeasurement >, MMM::BasicSensor< WholeBodyDynamicSensorMeasurement >, and MMM::BasicSensor< M >.
|
virtual |
Returns the priority of this sensor. The higher the value the sooner this sensor is in the xml representation of a motion.
Reimplemented in MMM::KinematicSensor, MMM::ModelPoseSensor, MMM::MoCapMarkerSensor, MMM::UnknownSensor, MMM::EnvironmentalContactSensor, MMM::IMUSensor, MMM::CustomSensor, MMM::WholeBodyDynamicSensor, MMM::Force1DSensor, and MMM::Force3DSensor.
|
pure virtual |
Returns a section copy of this sensor.
startTimestep | Start timestep of the section. |
endTimestep | End timestep of the section. |
changeTimestep | Section begin at 0.0 or the startTimestep. |
Implemented in MMM::BasicSensor< M,, >, MMM::BasicSensor< CustomSensorMeasurement >, MMM::BasicSensor< Force1DSensorMeasurement >, MMM::BasicSensor< Force3DSensorMeasurement >, MMM::BasicSensor< UnknownSensorMeasurement >, MMM::BasicSensor< IMUSensorMeasurement >, MMM::BasicSensor< KinematicSensorMeasurement >, MMM::BasicSensor< EnvironmentalContactSensorMeasurement >, MMM::BasicSensor< MoCapMarkerSensorMeasurement >, MMM::BasicSensor< ModelPoseSensorMeasurement >, MMM::BasicSensor< WholeBodyDynamicSensorMeasurement >, and MMM::BasicSensor< M >.
|
pure virtual |
Returns all timesteps on which the sensor contains real sensor measurements.
Implemented in MMM::BasicSensor< M,, >, MMM::BasicSensor< CustomSensorMeasurement >, MMM::BasicSensor< Force1DSensorMeasurement >, MMM::BasicSensor< Force3DSensorMeasurement >, MMM::BasicSensor< UnknownSensorMeasurement >, MMM::BasicSensor< IMUSensorMeasurement >, MMM::BasicSensor< KinematicSensorMeasurement >, MMM::BasicSensor< EnvironmentalContactSensorMeasurement >, MMM::BasicSensor< MoCapMarkerSensorMeasurement >, MMM::BasicSensor< ModelPoseSensorMeasurement >, MMM::BasicSensor< WholeBodyDynamicSensorMeasurement >, and MMM::BasicSensor< M >.
|
pure virtual |
Returns the sensor type.
Implemented in MMM::KinematicSensor, MMM::ModelPoseSensor, MMM::MoCapMarkerSensor, MMM::EnvironmentalContactSensor, MMM::UnknownSensor, MMM::IMUSensor, MMM::CustomSensor, MMM::WholeBodyDynamicSensor, MMM::Force1DSensor, and MMM::Force3DSensor.
|
pure virtual |
Returns the sensor's version.
Implemented in MMM::KinematicSensor, MMM::ModelPoseSensor, MMM::MoCapMarkerSensor, MMM::UnknownSensor, MMM::EnvironmentalContactSensor, MMM::IMUSensor, MMM::CustomSensor, MMM::WholeBodyDynamicSensor, MMM::Force1DSensor, and MMM::Force3DSensor.
|
pure virtual |
Returns true, if the sensor contains a sensor measurement
Implemented in MMM::BasicSensor< M,, >, MMM::BasicSensor< CustomSensorMeasurement >, MMM::BasicSensor< Force1DSensorMeasurement >, MMM::BasicSensor< Force3DSensorMeasurement >, MMM::BasicSensor< UnknownSensorMeasurement >, MMM::BasicSensor< IMUSensorMeasurement >, MMM::BasicSensor< KinematicSensorMeasurement >, MMM::BasicSensor< EnvironmentalContactSensorMeasurement >, MMM::BasicSensor< MoCapMarkerSensorMeasurement >, MMM::BasicSensor< ModelPoseSensorMeasurement >, MMM::BasicSensor< WholeBodyDynamicSensorMeasurement >, and MMM::BasicSensor< M >.
|
pure virtual |
Returns true, if the sensor contains a real(!= interpolated) sensor measurement at the given time.
Implemented in MMM::BasicSensor< M,, >, MMM::BasicSensor< CustomSensorMeasurement >, MMM::BasicSensor< Force1DSensorMeasurement >, MMM::BasicSensor< Force3DSensorMeasurement >, MMM::BasicSensor< UnknownSensorMeasurement >, MMM::BasicSensor< IMUSensorMeasurement >, MMM::BasicSensor< KinematicSensorMeasurement >, MMM::BasicSensor< EnvironmentalContactSensorMeasurement >, MMM::BasicSensor< MoCapMarkerSensorMeasurement >, MMM::BasicSensor< ModelPoseSensorMeasurement >, MMM::BasicSensor< WholeBodyDynamicSensorMeasurement >, and MMM::BasicSensor< M >.
|
virtual |
Returns true if the sensor measurements are interpolatable
Reimplemented in MMM::InterpolatableSensor< M, >, MMM::InterpolatableSensor< CustomSensorMeasurement >, MMM::InterpolatableSensor< Force1DSensorMeasurement >, MMM::InterpolatableSensor< Force3DSensorMeasurement >, MMM::InterpolatableSensor< IMUSensorMeasurement >, MMM::InterpolatableSensor< KinematicSensorMeasurement >, MMM::InterpolatableSensor< MoCapMarkerSensorMeasurement >, MMM::InterpolatableSensor< ModelPoseSensorMeasurement >, MMM::InterpolatableSensor< WholeBodyDynamicSensorMeasurement >, and MMM::InterpolatableSensor< M >.
|
static |
Joins the sensor measurements of two sensors with the same type and configuration.
|
pure virtual |
Shifts the sensor measurements by a given delta value.
Implemented in MMM::BasicSensor< M,, >, MMM::BasicSensor< CustomSensorMeasurement >, MMM::BasicSensor< Force1DSensorMeasurement >, MMM::BasicSensor< Force3DSensorMeasurement >, MMM::BasicSensor< UnknownSensorMeasurement >, MMM::BasicSensor< IMUSensorMeasurement >, MMM::BasicSensor< KinematicSensorMeasurement >, MMM::BasicSensor< EnvironmentalContactSensorMeasurement >, MMM::BasicSensor< MoCapMarkerSensorMeasurement >, MMM::BasicSensor< ModelPoseSensorMeasurement >, MMM::BasicSensor< WholeBodyDynamicSensorMeasurement >, and MMM::BasicSensor< M >.
|
protected |
Optional description of the sensor.
|
protected |
The name of the sensor.
|
protected |
Optional unique name of the sensor in the motion. This is set when adding the sensor to a motion. If possible this matches the uniqueName.