Biorbd
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
biorbd::rigidbody::IMUs Class Reference

Hold a set of IMUs. More...

#include <IMUs.h>

Inheritance diagram for biorbd::rigidbody::IMUs:
biorbd::Model

Public Member Functions

 IMUs ()
 Construct inertial measurement units set.
 
 IMUs (const biorbd::rigidbody::IMUs &other)
 Construct inertial measurement units set from another set. More...
 
virtual ~IMUs ()
 Destroy the class properly.
 
biorbd::rigidbody::IMUs DeepCopy () const
 Deep copy of the inertial measurement units data. More...
 
void DeepCopy (const biorbd::rigidbody::IMUs &other)
 Deep copy the inertial measurement units data. More...
 
void addIMU (bool technical=true, bool anatomical=true)
 Add a new inertial measurement unit to the set. More...
 
void addIMU (const biorbd::utils::RotoTransNode &RotoTrans, bool technical=true, bool anatomical=true)
 Add a new inertial measurement unit to the set. More...
 
unsigned int nbIMUs () const
 Return the number of inertial measurement units (IMU) in the set. More...
 
std::vector< biorbd::utils::StringIMUsNames ()
 Return the names of the inertial measurement units (IMU) More...
 
std::vector< biorbd::utils::StringtechnicalIMUsNames ()
 Return the names of the technical inertial measurement units (IMU) More...
 
std::vector< biorbd::utils::StringanatomicalIMUsNames ()
 Return the names of the anatomical inertial measurement units (IMU) More...
 
const std::vector< biorbd::rigidbody::IMU > & IMU () const
 Return all the IMU in the local reference of the segment. More...
 
std::vector< biorbd::rigidbody::IMUIMU (const biorbd::utils::String &segmentName)
 Return all the inertial measurement units (IMU) of a segment. More...
 
const biorbd::rigidbody::IMUIMU (unsigned int idx)
 Return the inertial measurement unit (IMU) of a specified index. More...
 
std::vector< biorbd::rigidbody::IMUIMU (const biorbd::rigidbody::GeneralizedCoordinates &Q, bool updateKin=true)
 Compute and return all the inertial measurement units (IMU) at the position given by Q. More...
 
biorbd::rigidbody::IMU IMU (const biorbd::rigidbody::GeneralizedCoordinates &Q, unsigned int idx, bool updateKin=true)
 Compute and return one inertial meausrement unit (IMU) at the position given by Q. More...
 
std::vector< biorbd::rigidbody::IMUsegmentIMU (const biorbd::rigidbody::GeneralizedCoordinates &Q, unsigned int idx, bool updateKin=true)
 Return all the inertial measurement units (IMU) on a specified segment. More...
 
unsigned int nbTechIMUs ()
 Return the number of technical inertial measurement units (IMU) More...
 
unsigned int nbAnatIMUs ()
 Return the number of anatomical inertial measurement units (IMU) More...
 
std::vector< biorbd::rigidbody::IMUtechnicalIMU (const biorbd::rigidbody::GeneralizedCoordinates &Q, bool updateKin=true)
 Return all the technical inertial measurement units (IMU) More...
 
std::vector< biorbd::rigidbody::IMUtechnicalIMU ()
 Return all the technical inertial measurement units (IMU) in their respective segment local reference frame. More...
 
std::vector< biorbd::rigidbody::IMUanatomicalIMU (const biorbd::rigidbody::GeneralizedCoordinates &Q, bool updateKin=true)
 Return all the anatomical inertial measurement units (IMU) More...
 
std::vector< biorbd::rigidbody::IMUanatomicalIMU ()
 Return all the anatomical inertial measurement units (IMU) in their respective segment local reference frame. More...
 
std::vector< biorbd::utils::MatrixIMUJacobian (const biorbd::rigidbody::GeneralizedCoordinates &Q, bool updateKin=true)
 Return the jacobian of the inertial measurement units (IMU) More...
 
std::vector< biorbd::utils::MatrixTechnicalIMUJacobian (const biorbd::rigidbody::GeneralizedCoordinates &Q, bool updateKin=true)
 Return the jacobian of the technical inertial measurement units (IMU) More...
 

Protected Member Functions

std::vector< biorbd::utils::MatrixIMUJacobian (const biorbd::rigidbody::GeneralizedCoordinates &Q, bool updateKin, bool lookForTechnical)
 Compute and return the jacobian of all the inertial measurement units (IMU) More...
 

Protected Attributes

std::shared_ptr< std::vector< biorbd::rigidbody::IMU > > m_IMUs
 All the inertial Measurement Units.
 

Detailed Description

Hold a set of IMUs.

Definition at line 21 of file IMUs.h.

Constructor & Destructor Documentation

◆ IMUs()

biorbd::rigidbody::IMUs::IMUs ( const biorbd::rigidbody::IMUs other)

Construct inertial measurement units set from another set.

Parameters
otherThe other IMU set

Definition at line 20 of file IMUs.cpp.

Member Function Documentation

◆ addIMU() [1/2]

void biorbd::rigidbody::IMUs::addIMU ( bool  technical = true,
bool  anatomical = true 
)

Add a new inertial measurement unit to the set.

Parameters
technicalTrue if the IMU is technical
anatomicalTrue if the IMU is anatomical

Definition at line 44 of file IMUs.cpp.

◆ addIMU() [2/2]

void biorbd::rigidbody::IMUs::addIMU ( const biorbd::utils::RotoTransNode RotoTrans,
bool  technical = true,
bool  anatomical = true 
)

Add a new inertial measurement unit to the set.

Parameters
RotoTransThe RotaTrans of the IMU
technicalTrue if the IMU is technical
anatomicalTrue if the IMU is anatomical

Definition at line 52 of file IMUs.cpp.

◆ anatomicalIMU() [1/2]

std::vector< biorbd::rigidbody::IMU > biorbd::rigidbody::IMUs::anatomicalIMU ( )

Return all the anatomical inertial measurement units (IMU) in their respective segment local reference frame.

Returns
All the anatomical IMU

Definition at line 169 of file IMUs.cpp.

◆ anatomicalIMU() [2/2]

std::vector< biorbd::rigidbody::IMU > biorbd::rigidbody::IMUs::anatomicalIMU ( const biorbd::rigidbody::GeneralizedCoordinates Q,
bool  updateKin = true 
)

Return all the anatomical inertial measurement units (IMU)

Parameters
QThe generalized coordinates
updateKinIf the model should be updated
Returns
all the anatomical IMU

Definition at line 151 of file IMUs.cpp.

◆ anatomicalIMUsNames()

std::vector< biorbd::utils::String > biorbd::rigidbody::IMUs::anatomicalIMUsNames ( )

Return the names of the anatomical inertial measurement units (IMU)

Returns
The names of the anatomical IMU

Definition at line 291 of file IMUs.cpp.

◆ DeepCopy() [1/2]

biorbd::rigidbody::IMUs biorbd::rigidbody::IMUs::DeepCopy ( ) const

Deep copy of the inertial measurement units data.

Returns
A copy of the inertial measurement units data

Definition at line 30 of file IMUs.cpp.

◆ DeepCopy() [2/2]

void biorbd::rigidbody::IMUs::DeepCopy ( const biorbd::rigidbody::IMUs other)

Deep copy the inertial measurement units data.

Parameters
otherThe IMU data to copy

Definition at line 37 of file IMUs.cpp.

◆ IMU() [1/5]

const std::vector< biorbd::rigidbody::IMU > & biorbd::rigidbody::IMUs::IMU ( ) const

Return all the IMU in the local reference of the segment.

Returns
All the inertial measurement units in local reference frame

Definition at line 67 of file IMUs.cpp.

◆ IMU() [2/5]

std::vector< biorbd::rigidbody::IMU > biorbd::rigidbody::IMUs::IMU ( const biorbd::rigidbody::GeneralizedCoordinates Q,
bool  updateKin = true 
)

Compute and return all the inertial measurement units (IMU) at the position given by Q.

Parameters
QThe generalized coordinates
updateKinIf the model should be updated
Returns
All the IMU at the position given by Q

Definition at line 87 of file IMUs.cpp.

◆ IMU() [3/5]

biorbd::rigidbody::IMU biorbd::rigidbody::IMUs::IMU ( const biorbd::rigidbody::GeneralizedCoordinates Q,
unsigned int  idx,
bool  updateKin = true 
)

Compute and return one inertial meausrement unit (IMU) at the position given by Q.

Parameters
QThe generalized coordinates
idxThe index of the IMU in the set
updateKinIf the model should be updated
Returns
The IMU of index idx at the position given by Q

Definition at line 105 of file IMUs.cpp.

◆ IMU() [4/5]

std::vector< biorbd::rigidbody::IMU > biorbd::rigidbody::IMUs::IMU ( const biorbd::utils::String segmentName)

Return all the inertial measurement units (IMU) of a segment.

Parameters
segmentNameThe name of the segment to return the IMU
Returns
All the IMU of attached to the segment

Definition at line 72 of file IMUs.cpp.

◆ IMU() [5/5]

const biorbd::rigidbody::IMU & biorbd::rigidbody::IMUs::IMU ( unsigned int  idx)

Return the inertial measurement unit (IMU) of a specified index.

Parameters
idxThe index of the IMU in the set
Returns
IMU of idx i

Definition at line 81 of file IMUs.cpp.

◆ IMUJacobian() [1/2]

std::vector< biorbd::utils::Matrix > biorbd::rigidbody::IMUs::IMUJacobian ( const biorbd::rigidbody::GeneralizedCoordinates Q,
bool  updateKin,
bool  lookForTechnical 
)
protected

Compute and return the jacobian of all the inertial measurement units (IMU)

Parameters
QThe generalized coordinates
updateKinIf the model should be updated
lookForTechnicalIf true, only computes for the technical IMU

Definition at line 218 of file IMUs.cpp.

◆ IMUJacobian() [2/2]

std::vector< biorbd::utils::Matrix > biorbd::rigidbody::IMUs::IMUJacobian ( const biorbd::rigidbody::GeneralizedCoordinates Q,
bool  updateKin = true 
)

Return the jacobian of the inertial measurement units (IMU)

Parameters
QThe generalized coordinates
updateKinIf the model should be updated
Returns
The jacobien of the IMU

Definition at line 201 of file IMUs.cpp.

◆ IMUsNames()

std::vector< biorbd::utils::String > biorbd::rigidbody::IMUs::IMUsNames ( )

Return the names of the inertial measurement units (IMU)

Returns
The names of the IMU

Definition at line 271 of file IMUs.cpp.

◆ nbAnatIMUs()

unsigned int biorbd::rigidbody::IMUs::nbAnatIMUs ( )

Return the number of anatomical inertial measurement units (IMU)

Returns
The number of anatomical IMU

Definition at line 260 of file IMUs.cpp.

◆ nbIMUs()

unsigned int biorbd::rigidbody::IMUs::nbIMUs ( ) const

Return the number of inertial measurement units (IMU) in the set.

Returns
The number of IMU

Definition at line 60 of file IMUs.cpp.

◆ nbTechIMUs()

unsigned int biorbd::rigidbody::IMUs::nbTechIMUs ( )

Return the number of technical inertial measurement units (IMU)

Returns
The number of technical IMU

Definition at line 249 of file IMUs.cpp.

◆ segmentIMU()

std::vector< biorbd::rigidbody::IMU > biorbd::rigidbody::IMUs::segmentIMU ( const biorbd::rigidbody::GeneralizedCoordinates Q,
unsigned int  idx,
bool  updateKin = true 
)

Return all the inertial measurement units (IMU) on a specified segment.

Parameters
QThe generalized coordinates
idxThe index of the segment
updateKinIf the model should be updated
Returns
All the IMU on the segment of index idx

Definition at line 178 of file IMUs.cpp.

◆ technicalIMU() [1/2]

std::vector< biorbd::rigidbody::IMU > biorbd::rigidbody::IMUs::technicalIMU ( )

Return all the technical inertial measurement units (IMU) in their respective segment local reference frame.

Returns
All the technical IMU

Definition at line 141 of file IMUs.cpp.

◆ technicalIMU() [2/2]

std::vector< biorbd::rigidbody::IMU > biorbd::rigidbody::IMUs::technicalIMU ( const biorbd::rigidbody::GeneralizedCoordinates Q,
bool  updateKin = true 
)

Return all the technical inertial measurement units (IMU)

Parameters
QThe generalized coordinates
updateKinIf the model should be updated
Returns
all the technical IMU

Definition at line 123 of file IMUs.cpp.

◆ TechnicalIMUJacobian()

std::vector< biorbd::utils::Matrix > biorbd::rigidbody::IMUs::TechnicalIMUJacobian ( const biorbd::rigidbody::GeneralizedCoordinates Q,
bool  updateKin = true 
)

Return the jacobian of the technical inertial measurement units (IMU)

Parameters
QThe generalized coordinates
updateKinIf the model should be updated
Returns
The jacobian of the technical IMU

Definition at line 209 of file IMUs.cpp.

◆ technicalIMUsNames()

std::vector< biorbd::utils::String > biorbd::rigidbody::IMUs::technicalIMUsNames ( )

Return the names of the technical inertial measurement units (IMU)

Returns
The names of the technical IMU

Definition at line 280 of file IMUs.cpp.


The documentation for this class was generated from the following files: