Karlsruhe Institute of Technology (KIT) Logo

Master Motor Map

Whole-body human reference model and tools for unifying representations of whole-body human motion

Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes
MMM::Sensor Class Referenceabstract

The public interface for the sensor classes. More...

#include <Sensor.h>

Inheritance diagram for MMM::Sensor:
[legend]

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
 

Detailed Description

The public interface for the sensor classes.

Member Function Documentation

◆ appendSensorXML()

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.

Parameters
nodeThe xml node.

◆ checkModel()

virtual bool MMM::Sensor::checkModel ( ModelPtr  model)
pure virtual

◆ clone()

virtual SensorPtr MMM::Sensor::clone ( )
pure virtual

◆ equalsConfiguration()

virtual bool MMM::Sensor::equalsConfiguration ( SensorPtr  other)
pure virtual

◆ extend()

virtual void MMM::Sensor::extend ( float  minTimestep,
float  maxTimestep 
)
pure virtual

◆ getMaxTimestep()

virtual float MMM::Sensor::getMaxTimestep ( )
pure virtual

◆ getMeasurement() [1/2]

virtual SensorMeasurementPtr MMM::Sensor::getMeasurement ( float  timestep)
pure virtual

◆ getMeasurement() [2/2]

virtual SensorMeasurementPtr MMM::Sensor::getMeasurement ( float  timestep,
float  delta 
)
pure virtual

◆ getMeasurements()

virtual std::map<float, SensorMeasurementPtr> MMM::Sensor::getMeasurements ( )
pure virtual

◆ getMinTimestep()

virtual float MMM::Sensor::getMinTimestep ( )
pure virtual

◆ getPriority()

int MMM::Sensor::getPriority ( )
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.

◆ getSegmentSensor()

virtual SensorPtr MMM::Sensor::getSegmentSensor ( float  startTimestep,
float  endTimestep,
bool  changeTimestep = false 
)
pure virtual

◆ getTimesteps()

virtual std::vector<float> MMM::Sensor::getTimesteps ( )
pure virtual

◆ getType()

virtual std::string MMM::Sensor::getType ( )
pure virtual

◆ getVersion()

virtual std::string MMM::Sensor::getVersion ( )
pure virtual

◆ hasMeasurement() [1/2]

virtual bool MMM::Sensor::hasMeasurement ( )
pure virtual

◆ hasMeasurement() [2/2]

virtual bool MMM::Sensor::hasMeasurement ( float  timestep)
pure virtual

◆ isInterpolatable()

bool MMM::Sensor::isInterpolatable ( )
virtual

◆ join()

SensorPtr MMM::Sensor::join ( SensorPtr  sensor1,
SensorPtr  sensor2 
)
static

Joins the sensor measurements of two sensors with the same type and configuration.

Returns
The joined sensor or nullpointer.
Here is the caller graph for this function:

◆ shiftMeasurements()

virtual void MMM::Sensor::shiftMeasurements ( float  delta)
pure virtual

Field Documentation

◆ description

std::string MMM::Sensor::description
protected

Optional description of the sensor.

◆ name

std::string MMM::Sensor::name
protected

The name of the sensor.

◆ uniqueName

std::string MMM::Sensor::uniqueName
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.


The documentation for this class was generated from the following files:
KoroiBot Logo WALK-MAN Logo Xperience Logo SecondHands Logo TimeStorm Logo I-SUPPORT Logo
PACO-PLUS Logo SFB-588 Logo SPP1527 Logo