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
MMM::KinematicSensor Class Reference
Inheritance diagram for MMM::KinematicSensor:
[legend]

Public Member Functions

bool addSensorMeasurement (KinematicSensorMeasurementPtr measurement) override
 
bool addSensorMeasurements (const std::map< float, Eigen::VectorXf > &jointValues, float timestepDelta=0.0f)
 
bool checkModel (ModelPtr model) override
 
std::shared_ptr< BasicSensor< KinematicSensorMeasurement > > cloneConfiguration () override
 
bool equalsConfiguration (SensorPtr other) override
 
std::map< std::string, float > getJointAngleMap (float timestep) override
 
Eigen::VectorXf getJointAngles (float timestep) override
 
int getJointIndex (const std::string &jointName) override
 
std::vector< std::string > getJointNames () override
 
Eigen::VectorXf getJointOffset () override
 
std::map< float, float > getJointValues (const std::string &jointName) override
 
int getPriority () override
 
std::vector< std::string > getSensorSpecificInformation (const std::string &name) override
 
std::string getType () override
 
std::string getVersion () override
 
bool hasJoint (const std::string &jointName) override
 
bool isMirrorSupported (MotionType type) override
 
 KinematicSensor (const std::vector< std::string > &jointNames, const std::map< float, Eigen::VectorXf > &jointValues, const std::string &description=std::string())
 
 KinematicSensor (const std::vector< std::string > &jointNames, const std::string &description=std::string())
 
void mirrorMotionData (const Eigen::Matrix4f &referencePose, int referenceAxis) override
 
bool removeJoint (const std::string &name) override
 
void setJointOffset (const std::string &jointName, float offset) override
 
- Public Member Functions inherited from MMM::InterpolatableSensor< KinematicSensorMeasurement >
std::shared_ptr< KinematicSensorMeasurementgetDerivedMeasurement (float timestep)
 
bool isInterpolatable ()
 
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.
 
- Public Member Functions inherited from MMM::BasicSensor< KinematicSensorMeasurement >
virtual bool addSensorMeasurement (std::shared_ptr< KinematicSensorMeasurement > measurement)
 
SensorPtr clone ()
 
std::shared_ptr< BasicSensor< KinematicSensorMeasurement > > cloneDerived ()
 
void extend (float minTimestep, float maxTimestep)
 
virtual std::shared_ptr< KinematicSensorMeasurementgetDerivedMeasurement (float timestep, float delta)
 
float getMaxTimestep ()
 
SensorMeasurementPtr getMeasurement (float timestep)
 
SensorMeasurementPtr getMeasurement (float timestep, float delta)
 
std::map< float, SensorMeasurementPtr > getMeasurements ()
 
float getMinTimestep ()
 
SensorPtr getSegmentSensor (float startTimestep, float endTimestep, bool changeTimestep=false)
 
std::vector< float > getTimesteps ()
 
bool hasMeasurement ()
 
bool hasMeasurement (float timestep)
 
virtual void shiftMeasurements (float delta)
 
- Public Member Functions inherited from MMM::Sensor
void appendSensorXML (simox::xml::RapidXMLWrapperNodePtr node, const std::filesystem::path &filePath)
 
std::string getDescription ()
 
std::string getName ()
 
std::string getUniqueName ()
 
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 void scaleMotionData (float scaleFactor)
 
void setDescription (const std::string &description)
 
void setName (const std::string &name)
 
void setUniqueName (const std::string &uniqueName)
 
virtual void shiftMotionData (const Eigen::Vector3f &positionDelta)
 
void synchronizeSensorMeasurements (float timeFrequency)
 Synchronizes all possible sensormeasurements on a specific time frequency via linear interpolation.
 
- Public Member Functions inherited from MMM::BasicKinematicSensor
void computeVelAccSavitzkyGolay (Eigen::MatrixXd &vel, Eigen::MatrixXd &acc, const std::vector< std::string > &jointNames, std::vector< float > &timesteps, unsigned int window=21, unsigned int order=2)
 
void computeVelAccSavitzkyGolay (Eigen::MatrixXd &vel, Eigen::MatrixXd &acc, float startTimestep, float endTimestep, const std::vector< std::string > &jointNames, std::vector< float > &timesteps, unsigned int window=21, unsigned int order=2)
 

Static Public Member Functions

static KinematicSensorPtr createFromLegacy (LegacyMotionPtr motion)
 
static KinematicSensorPtr join (std::vector< KinematicSensorPtr > sensors)
 
static KinematicSensorPtr join (std::vector< KinematicSensorPtr > sensors, const std::vector< float > &timesteps)
 
static KinematicSensorPtr loadSensorXML (simox::xml::RapidXMLWrapperNodePtr node, const std::filesystem::path &filePath)
 
- Static Public Member Functions inherited from MMM::Sensor
static SensorPtr join (SensorPtr sensor1, SensorPtr sensor2)
 

Static Public Attributes

static constexpr const char * TYPE = BasicKinematicSensor::TYPE
 
static constexpr const char * VERSION = "1.0"
 
- Static Public Attributes inherited from MMM::Sensor
static std::function< bool(std::filesystem::path &)> handleSensorFilePath = NULL
 
- Static Public Attributes inherited from MMM::BasicKinematicSensor
static constexpr const char * TYPE = "Kinematic"
 

Additional Inherited Members

- Protected Member Functions inherited from MMM::InterpolatableSensor< KinematicSensorMeasurement >
 InterpolatableSensor (const std::string &description=std::string(), const std::map< float, std::shared_ptr< KinematicSensorMeasurement > > &measurements=std::map< float, std::shared_ptr< KinematicSensorMeasurement > >())
 
- Protected Member Functions inherited from MMM::BasicSensor< KinematicSensorMeasurement >
virtual void appendDataXML (simox::xml::RapidXMLWrapperNodePtr node) override
 
 BasicSensor (const std::string &description=std::string(), const std::map< float, std::shared_ptr< KinematicSensorMeasurement > > &measurements=std::map< float, std::shared_ptr< KinematicSensorMeasurement > >())
 
SensorPtr joinSensor (SensorPtr sensor)
 
virtual void loadMeasurementNodeXML (simox::xml::RapidXMLWrapperNodePtr node) override
 
- Protected Member Functions inherited from MMM::Sensor
virtual void appendTypeXML (simox::xml::RapidXMLWrapperNodePtr node)
 
virtual void loadSensor (simox::xml::RapidXMLWrapperNodePtr node, const std::filesystem::path &filePath)
 
 Sensor (const std::string &description="")
 
- Protected Attributes inherited from MMM::BasicSensor< KinematicSensorMeasurement >
std::map< float, std::shared_ptr< KinematicSensorMeasurement > > measurements
 
- Protected Attributes inherited from MMM::Sensor
std::string description
 
std::string name
 
std::string uniqueName
 

Member Function Documentation

◆ checkModel()

bool MMM::KinematicSensor::checkModel ( ModelPtr  model)
overridevirtual

Checks, if the sensor data applicable for the given model

Implements MMM::Sensor.

◆ equalsConfiguration()

bool MMM::KinematicSensor::equalsConfiguration ( SensorPtr  other)
overridevirtual

Checks if sensor type and configuration is equal

Implements MMM::Sensor.

◆ getPriority()

int MMM::KinematicSensor::getPriority ( )
overridevirtual

Returns the priority of this sensor. The higher the value the sooner this sensor is in the xml representation of a motion.

Reimplemented from MMM::Sensor.

◆ getType()

std::string MMM::KinematicSensor::getType ( )
overridevirtual

Returns the sensor type.

Implements MMM::Sensor.

◆ getVersion()

std::string MMM::KinematicSensor::getVersion ( )
overridevirtual

Returns the sensor's version.

Implements MMM::Sensor.

◆ join() [1/2]

KinematicSensorPtr MMM::KinematicSensor::join ( std::vector< KinematicSensorPtr >  sensors)
static

Joins all kinematic sensors together on the timestep measurements of the biggest sensor if possible for all given sensors via linear interpolation.

◆ join() [2/2]

KinematicSensorPtr MMM::KinematicSensor::join ( std::vector< KinematicSensorPtr >  sensors,
const std::vector< float > &  timesteps 
)
static

Joins all kinematic sensors together the given timestep if possible via linear interpolation.


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