Template Struct ModelConfigurationConverterTpl

Struct Documentation

template<typename _Scalar, int _Options, template<typename, int> class JointCollectionTpl>
struct ModelConfigurationConverterTpl

Convert configuration or tangent vector from two model with different root. All members are considered internal.

Public Types

Values:

enumerator Options
typedef _Scalar Scalar
typedef JointCollectionTpl<Scalar, Options> JointCollection
typedef JointCollection::JointModelVariant JointModelVariant
typedef internal::ConfigurationMapping ConfigurationMapping
typedef internal::TangentMapping TangentMapping
typedef internal::JointMapping<Scalar, Options, JointCollectionTpl> JointMapping

Public Functions

ModelConfigurationConverterTpl() = default
inline ModelConfigurationConverterTpl(std::vector<ConfigurationMapping> configuration_mapping, std::vector<TangentMapping> tangent_mapping, std::vector<JointMapping> joint_mapping, int source_configuration_size, int source_tangent_size, int target_configuration_size, int target_tangent_size)
template<typename ConfigVectorType1, typename ConfigVectorType2>
void convertConfigurationVector(const Eigen::MatrixBase<ConfigVectorType1> &q_source, const Eigen::MatrixBase<ConfigVectorType2> &q_target) const

Convert q_source configuration vector from source model to q_target configuration vector from target model.

template<typename ConfigVectorType, typename TangentVectorType1, typename TangentVectorType2>
void convertTangentVector(const Eigen::MatrixBase<ConfigVectorType> &q_source, const Eigen::MatrixBase<TangentVectorType1> &v_source, const Eigen::MatrixBase<TangentVectorType2> &v_target) const

Convert v_source tangent vector from source model to v_target tangent vector from target model.

Warning

Converting acceleration vector from JointModelSphericalZYXTpl doesn’t work because of the velocity-dependent spatial acceleration term (c_j).

Public Members

std::vector<ConfigurationMapping> _configuration_mapping

Contains configuration vector mapping between source and target model. This vector contains all flattened model joints (with composite joint contents).

std::vector<TangentMapping> _tangent_mapping

Contains tangent vector mapping between source and target model. This vector contains all flattened model joints (with composite joint contents).

std::vector<JointMapping> _joint_mapping

Contains joint mapping between source and target model. This vector contains all flattened model joints (with composite joint contents).

int _source_configuration_size
int _source_tangent_size
int _target_configuration_size
int _target_tangent_size