Biorbd
|
The actual musculoskeletal model that holds everything in biorbd. More...
#include <BiorbdModel.h>
Public Member Functions | |
Model () | |
Construct an empty model that can be manually filled. | |
Model (const biorbd::utils::Path &path) | |
Construct a model from a bioMod file. More... | |
biorbd::utils::Path | path () const |
Returns the path of .bioMod file used to load the model. If no file was used, it remains empty. More... | |
![]() | |
Joints () | |
Construct a joint model. | |
Joints (const biorbd::rigidbody::Joints &other) | |
Construct a joint model from another model. More... | |
virtual | ~Joints () |
Properly destroy class. | |
biorbd::rigidbody::Joints | DeepCopy () const |
Deep copy of the joints. More... | |
void | DeepCopy (const biorbd::rigidbody::Joints &other) |
Deep copy of the joints. More... | |
unsigned int | AddSegment (const biorbd::utils::String &segmentName, const biorbd::utils::String &parentName, const biorbd::utils::String &translationSequence, const biorbd::utils::String &rotationSequence, const std::vector< biorbd::utils::Range > &QRanges, const std::vector< biorbd::utils::Range > &QDotRanges, const std::vector< biorbd::utils::Range > &QDDotRanges, const biorbd::rigidbody::SegmentCharacteristics &characteristics, const RigidBodyDynamics::Math::SpatialTransform ¢reOfRotation, int forcePlates=-1) |
Add a segment to the model. More... | |
unsigned int | AddSegment (const biorbd::utils::String &segmentName, const biorbd::utils::String &parentName, const biorbd::utils::String &translationSequence, const std::vector< biorbd::utils::Range > &QRanges, const std::vector< biorbd::utils::Range > &QDotRanges, const std::vector< biorbd::utils::Range > &QDDotRanges, const biorbd::rigidbody::SegmentCharacteristics &characteristics, const RigidBodyDynamics::Math::SpatialTransform ¢reOfRotation, int forcePlates=-1) |
Add a segment to the model. More... | |
biorbd::utils::Vector3d | getGravity () const |
Get the current gravity. More... | |
void | setGravity (const biorbd::utils::Vector3d &newGravity) |
Set the gravity. More... | |
int | GetBodyBiorbdId (const biorbd::utils::String &segmentName) const |
Return the biorbd body identification. More... | |
unsigned int | nbGeneralizedTorque () const |
Return the number of generalized torque. More... | |
unsigned int | nbSegment () const |
Return the actual number of segment. More... | |
unsigned int | nbDof () const |
Return the number of degrees of freedom (DoF) More... | |
unsigned int | getDofIndex (const biorbd::utils::String &SegmentName, const biorbd::utils::String &dofName) |
Return the index of a DoF in a segment. More... | |
std::vector< biorbd::utils::String > | nameDof () const |
Return the names of the degree of freedom (DoF) More... | |
unsigned int | nbQ () const |
Return the number of generalized coordinates (Q) More... | |
unsigned int | nbQdot () const |
Return the number of generalized velocities (Qdot) More... | |
unsigned int | nbQddot () const |
Return the number of generalized acceleration (Qddot) More... | |
unsigned int | nbRoot () const |
Return the dof on the root. More... | |
unsigned int | nbQuat () const |
Return the number of segments that are described using quaternions. More... | |
const biorbd::rigidbody::Segment & | segment (unsigned int idx) const |
Get a segment of index idx. More... | |
const biorbd::rigidbody::Segment & | segment (const biorbd::utils::String &name) const |
Get a segment of a specific name. More... | |
std::vector< RigidBodyDynamics::Math::SpatialVector > | dispatchedForce (std::vector< std::vector< biorbd::utils::SpatialVector >> &spatialVector, unsigned int frame) const |
Dispatch the forces from the force plate in a vector. More... | |
std::vector< RigidBodyDynamics::Math::SpatialVector > | dispatchedForce (std::vector< biorbd::utils::SpatialVector > &sv) const |
Dispatch the forces from the force plate in a spatial vector. More... | |
void | UpdateKinematicsCustom (const biorbd::rigidbody::GeneralizedCoordinates *Q=nullptr, const biorbd::rigidbody::GeneralizedVelocity *Qdot=nullptr, const biorbd::rigidbody::GeneralizedAcceleration *Qddot=nullptr) |
Update the kinematic variables such as body velocities and accelerations in the model to reflect the variables passed to this function. More... | |
std::vector< biorbd::utils::RotoTrans > | allGlobalJCS (const biorbd::rigidbody::GeneralizedCoordinates &Q) |
Return the joint coordinate system (JCS) in global reference frame at a given Q. More... | |
std::vector< biorbd::utils::RotoTrans > | allGlobalJCS () const |
Return the joint coordinate system (JCS) in global reference frame at a given Q. More... | |
biorbd::utils::RotoTrans | globalJCS (const biorbd::rigidbody::GeneralizedCoordinates &Q, const biorbd::utils::String &name) |
Return the joint coordinate system (JCS) for the segment in global reference frame at a given Q. More... | |
biorbd::utils::RotoTrans | globalJCS (const biorbd::rigidbody::GeneralizedCoordinates &Q, unsigned int idx) |
Return the joint coordinate system (JCS) for the segment idx in global reference frame at a given Q. More... | |
biorbd::utils::RotoTrans | globalJCS (const biorbd::utils::String &name) const |
Return the joint coordinate system (JCS) for the segment in global reference. More... | |
biorbd::utils::RotoTrans | globalJCS (unsigned int idx) const |
Return the joint coordinate system (JCS) for the segment idx in global reference. More... | |
std::vector< biorbd::utils::RotoTrans > | localJCS () const |
Return all the joint coordinate system (JCS) in its parent reference frame. More... | |
biorbd::utils::RotoTrans | localJCS (const biorbd::utils::String &name) const |
Return the joint coordinate system (JCS) of the segment its parent reference frame. More... | |
biorbd::utils::RotoTrans | localJCS (const unsigned int idx) const |
Return the joint coordinate system (JCS) of the segment idx its parent reference frame. More... | |
biorbd::rigidbody::NodeSegment | projectPoint (const biorbd::rigidbody::GeneralizedCoordinates &Q, const biorbd::utils::Vector3d &v, int segmentIdx, const biorbd::utils::String &axesToRemove, bool updateKin=true) |
Project a point on specific axis of a segment. More... | |
std::vector< biorbd::rigidbody::NodeSegment > | projectPoint (const biorbd::rigidbody::GeneralizedCoordinates &Q, const std::vector< biorbd::rigidbody::NodeSegment > &v, bool updateKin=true) |
Project multiples points on their respective segment. More... | |
biorbd::rigidbody::NodeSegment | projectPoint (const biorbd::rigidbody::GeneralizedCoordinates &Q, const biorbd::rigidbody::NodeSegment &n, bool updateKin) |
Return the projected markers from a point corresponding to a marker from the model. More... | |
biorbd::utils::Matrix | projectPointJacobian (const biorbd::rigidbody::GeneralizedCoordinates &Q, biorbd::rigidbody::NodeSegment p, bool updateKin) |
Return the jacobian matrix of the projected markers for a marker from the model. More... | |
biorbd::utils::Matrix | projectPointJacobian (const biorbd::rigidbody::GeneralizedCoordinates &Q, const biorbd::utils::Vector3d &v, int segmentIdx, const biorbd::utils::String &axesToRemove, bool updateKin) |
Return the Jacobian matrix of a projected marker on the segment segmentIdx. More... | |
std::vector< biorbd::utils::Matrix > | projectPointJacobian (const biorbd::rigidbody::GeneralizedCoordinates &Q, const std::vector< biorbd::rigidbody::NodeSegment > &v, bool updateKin) |
Return the jacobian matrix of the projected markers. More... | |
double | mass () const |
Return the total mass of the model. More... | |
biorbd::utils::Vector3d | CoM (const biorbd::rigidbody::GeneralizedCoordinates &Q, bool updateKin=true) |
Return the position of the center of mass. More... | |
std::vector< biorbd::rigidbody::NodeSegment > | CoMbySegment (const biorbd::rigidbody::GeneralizedCoordinates &Q, bool updateKin=true) |
Return the position of the center of mass of each segment. More... | |
biorbd::utils::Matrix | CoMbySegmentInMatrix (const biorbd::rigidbody::GeneralizedCoordinates &Q, bool updateKin=true) |
Return the position of the center of mass of each segment in a matrix. More... | |
biorbd::utils::Vector3d | CoMbySegment (const biorbd::rigidbody::GeneralizedCoordinates &Q, const unsigned int idx, bool updateKin=true) |
Return the position of the center of mass of segment idx. More... | |
biorbd::utils::Vector3d | CoMdot (const biorbd::rigidbody::GeneralizedCoordinates &Q, const biorbd::rigidbody::GeneralizedVelocity &Qdot) |
Return the velocity of the center of mass. More... | |
biorbd::utils::Vector3d | CoMddot (const biorbd::rigidbody::GeneralizedCoordinates &Q, const biorbd::rigidbody::GeneralizedVelocity &Qdot, const biorbd::rigidbody::GeneralizedAcceleration &Qddot) |
Return the acceleration of the center of mass. More... | |
std::vector< biorbd::utils::Vector3d > | CoMdotBySegment (const biorbd::rigidbody::GeneralizedCoordinates &Q, const biorbd::rigidbody::GeneralizedVelocity &Qdot, bool updateKin=true) |
Return the velocity of the center of mass of each segment. More... | |
biorbd::utils::Vector3d | CoMdotBySegment (const biorbd::rigidbody::GeneralizedCoordinates &Q, const biorbd::rigidbody::GeneralizedVelocity &Qdot, const unsigned int idx, bool updateKin=true) |
Return the velocity of the center of mass of segment idx. More... | |
std::vector< biorbd::utils::Vector3d > | CoMddotBySegment (const biorbd::rigidbody::GeneralizedCoordinates &Q, const biorbd::rigidbody::GeneralizedVelocity &Qdot, const biorbd::rigidbody::GeneralizedAcceleration &Qddot, bool updateKin=true) |
Return the acceleration of the center of mass of each segment. More... | |
biorbd::utils::Vector3d | CoMddotBySegment (const biorbd::rigidbody::GeneralizedCoordinates &Q, const biorbd::rigidbody::GeneralizedVelocity &Qdot, const biorbd::rigidbody::GeneralizedAcceleration &Qddot, const unsigned int idx, bool updateKin=true) |
Return the acceleration of the center of mass of segment idx. More... | |
biorbd::utils::Matrix | CoMJacobian (const biorbd::rigidbody::GeneralizedCoordinates &Q) |
Return the jacobian matrix of the center of mass. More... | |
std::vector< std::vector< biorbd::utils::Vector3d > > | meshPoints (const biorbd::rigidbody::GeneralizedCoordinates &Q, bool updateKin=true) |
Return the vertices of the mesh for all segments in global reference frame. More... | |
std::vector< biorbd::utils::Vector3d > | meshPoints (const biorbd::rigidbody::GeneralizedCoordinates &Q, unsigned int idx, bool updateKin=true) |
Return the vertices of the mesh for the segment idx. More... | |
std::vector< biorbd::utils::Matrix > | meshPointsInMatrix (const biorbd::rigidbody::GeneralizedCoordinates &Q, bool updateKin=true) |
Return all the vertices of the mesh points in a matrix. More... | |
std::vector< std::vector< MeshFace > > | meshFaces () const |
Return the mesh faces for all the segments. More... | |
const std::vector< biorbd::rigidbody::MeshFace > & | meshFaces (unsigned int idx) const |
Return the mesh faces for segment idx. More... | |
std::vector< biorbd::rigidbody::Mesh > | mesh () const |
Return the segment mesh. More... | |
const biorbd::rigidbody::Mesh & | mesh (unsigned int idx) const |
Return the segment mesh for segment idx. More... | |
biorbd::utils::Vector3d | angularMomentum (const biorbd::rigidbody::GeneralizedCoordinates &Q, const biorbd::rigidbody::GeneralizedVelocity &Qdot, bool updateKin=true) |
Calculate the angular momentum of the center of mass. More... | |
biorbd::utils::Matrix | massMatrix (const biorbd::rigidbody::GeneralizedCoordinates &Q, bool updateKin=true) |
Get the mass matrix at a given position Q. More... | |
biorbd::utils::Vector3d | CalcAngularMomentum (const biorbd::rigidbody::GeneralizedCoordinates &Q, const biorbd::rigidbody::GeneralizedVelocity &Qdot, bool updateKin) |
Calculate the angular momentum of the center of mass. More... | |
biorbd::utils::Vector3d | CalcAngularMomentum (const biorbd::rigidbody::GeneralizedCoordinates &Q, const biorbd::rigidbody::GeneralizedVelocity &Qdot, const biorbd::rigidbody::GeneralizedAcceleration &Qddot, bool updateKin) |
Calculate the angular momentum of the center of mass. More... | |
std::vector< biorbd::utils::Vector3d > | CalcSegmentsAngularMomentum (const biorbd::rigidbody::GeneralizedCoordinates &Q, const biorbd::rigidbody::GeneralizedVelocity &Qdot, bool updateKin) |
Calculate the segment center of mass angular momentum. More... | |
std::vector< biorbd::utils::Vector3d > | CalcSegmentsAngularMomentum (const biorbd::rigidbody::GeneralizedCoordinates &Q, const biorbd::rigidbody::GeneralizedVelocity &Qdot, const biorbd::rigidbody::GeneralizedAcceleration &Qddot, bool updateKin) |
Calculate the segment center of mass angular momentum. More... | |
void | CalcMatRotJacobian (const biorbd::rigidbody::GeneralizedCoordinates &Q, unsigned int segmentIdx, const RigidBodyDynamics::Math::Matrix3d &rotation, RigidBodyDynamics::Math::MatrixNd &G, bool updateKin) |
Calculate the jacobian matrix of a rotation matrix. More... | |
biorbd::rigidbody::GeneralizedVelocity | computeQdot (const biorbd::rigidbody::GeneralizedCoordinates &Q, const biorbd::rigidbody::GeneralizedCoordinates &QDot, const double k_stab=1) |
Return the derivate of Q in function of Qdot (if not Quaternion, Qdot is directly returned) More... | |
biorbd::rigidbody::GeneralizedTorque | InverseDynamics (const biorbd::rigidbody::GeneralizedCoordinates &Q, const biorbd::rigidbody::GeneralizedVelocity &QDot, const biorbd::rigidbody::GeneralizedAcceleration &QDDot, std::vector< biorbd::utils::SpatialVector > *f_ext=nullptr) |
Interface for the inverse dynamics of RBDL. More... | |
biorbd::rigidbody::GeneralizedAcceleration | ForwardDynamics (const biorbd::rigidbody::GeneralizedCoordinates &Q, const biorbd::rigidbody::GeneralizedVelocity &QDot, const biorbd::rigidbody::GeneralizedTorque &Tau, std::vector< biorbd::utils::SpatialVector > *f_ext=nullptr) |
Interface for the forward dynamics of RBDL. More... | |
biorbd::rigidbody::GeneralizedAcceleration | ForwardDynamicsConstraintsDirect (const biorbd::rigidbody::GeneralizedCoordinates &Q, const biorbd::rigidbody::GeneralizedVelocity &QDot, const biorbd::rigidbody::GeneralizedTorque &Tau, biorbd::rigidbody::Contacts &CS, std::vector< biorbd::utils::SpatialVector > *f_ext=nullptr) |
Interface for the forward dynamics with contact of RBDL. More... | |
biorbd::utils::Vector | ContactForcesFromForwardDynamicsConstraintsDirect (const biorbd::rigidbody::GeneralizedCoordinates &Q, const biorbd::rigidbody::GeneralizedVelocity &QDot, const biorbd::rigidbody::GeneralizedTorque &Tau, std::vector< biorbd::utils::SpatialVector > *f_ext=nullptr) |
Interface for contacts of the forward dynamics with contact of RBDL. More... | |
biorbd::rigidbody::GeneralizedAcceleration | ForwardDynamicsConstraintsDirect (const biorbd::rigidbody::GeneralizedCoordinates &Q, const biorbd::rigidbody::GeneralizedVelocity &QDot, const biorbd::rigidbody::GeneralizedTorque &Tau, std::vector< biorbd::utils::SpatialVector > *f_ext=nullptr) |
Interface for the forward dynamics with contact of RBDL. More... | |
biorbd::rigidbody::GeneralizedVelocity | ComputeConstraintImpulsesDirect (const biorbd::rigidbody::GeneralizedCoordinates &Q, const biorbd::rigidbody::GeneralizedVelocity &QDotPre) |
Compute the QDot post from an impact. More... | |
void | checkGeneralizedDimensions (const biorbd::rigidbody::GeneralizedCoordinates *Q=nullptr, const biorbd::rigidbody::GeneralizedVelocity *Qdot=nullptr, const biorbd::rigidbody::GeneralizedAcceleration *Qddot=nullptr, const biorbd::rigidbody::GeneralizedTorque *torque=nullptr) |
Check for the Generalized coordinates, velocities, acceleration and torque dimensions. More... | |
![]() | |
Markers () | |
Construct a marker set. | |
Markers (const biorbd::rigidbody::Markers &other) | |
Construct markers from another marker set. More... | |
virtual | ~Markers () |
Destroy class properly. | |
biorbd::rigidbody::Markers | DeepCopy () const |
Deep copy of the markers. More... | |
void | DeepCopy (const biorbd::rigidbody::Markers &other) |
Deep copy of the markers. More... | |
void | addMarker (const biorbd::rigidbody::NodeSegment &pos, const biorbd::utils::String &name, const biorbd::utils::String &parentName, bool technical, bool anatomical, const biorbd::utils::String &axesToRemove, int id=-1) |
Add a marker to the set. More... | |
const biorbd::rigidbody::NodeSegment & | marker (unsigned int idx) const |
Return the marker of index idx. More... | |
std::vector< biorbd::rigidbody::NodeSegment > | marker (const biorbd::utils::String &name) const |
Return the markers on a segment. More... | |
std::vector< biorbd::utils::String > | markerNames () const |
Return the names of all the markers. More... | |
std::vector< biorbd::utils::String > | technicalMarkerNames () const |
Return the names of all the technical markers. More... | |
std::vector< biorbd::utils::String > | anatomicalMarkerNames () const |
Return the names of all the anatomical markers. More... | |
biorbd::rigidbody::NodeSegment | marker (const biorbd::rigidbody::GeneralizedCoordinates &Q, const biorbd::rigidbody::NodeSegment &node, bool removeAxis=true, bool updateKin=true) |
Compute and return the position of a marker at given Q in the global reference frame. More... | |
biorbd::rigidbody::NodeSegment | marker (const biorbd::rigidbody::GeneralizedCoordinates &Q, unsigned int idx, bool removeAxis=true, bool updateKin=true) |
Compute and return the position of the marker of index idx at given Q in the global reference frame. More... | |
biorbd::rigidbody::NodeSegment | marker (unsigned int idx, bool removeAxis) |
Return a marker of index idx in the marker set. More... | |
std::vector< biorbd::rigidbody::NodeSegment > | markers (const biorbd::rigidbody::GeneralizedCoordinates &Q, bool removeAxis=true, bool updateKin=true) |
Return all the markers at a given Q in the global reference frame. More... | |
std::vector< biorbd::rigidbody::NodeSegment > | markers (bool removeAxis=true) |
Return all the markers in their respective parent reference frame. More... | |
biorbd::rigidbody::NodeSegment | markerVelocity (const biorbd::rigidbody::GeneralizedCoordinates &Q, const biorbd::rigidbody::GeneralizedVelocity &Qdot, unsigned int idx, bool removeAxis=true, bool updateKin=true) |
Return the velocity of a marker. More... | |
std::vector< biorbd::rigidbody::NodeSegment > | markersVelocity (const biorbd::rigidbody::GeneralizedCoordinates &Q, const biorbd::rigidbody::GeneralizedVelocity &Qdot, bool removeAxis=true, bool updateKin=true) |
Return the velocity of all the markers. More... | |
std::vector< biorbd::rigidbody::NodeSegment > | technicalMarkers (const biorbd::rigidbody::GeneralizedCoordinates &Q, bool removeAxis=true, bool updateKin=true) |
Return all the technical markers at a given Q in the global reference frame. More... | |
std::vector< biorbd::rigidbody::NodeSegment > | technicalMarkers (bool removeAxis=true) |
Return the technical markers in their respective parent reference frame. More... | |
std::vector< biorbd::rigidbody::NodeSegment > | anatomicalMarkers (const biorbd::rigidbody::GeneralizedCoordinates &Q, bool removeAxis=true, bool updateKin=true) |
Return all the anatomical markers at a given Q in the global reference frame. More... | |
std::vector< biorbd::rigidbody::NodeSegment > | anatomicalMarkers (bool removeAxis=true) |
Return the anatomical markers in their respective parent reference frame. More... | |
std::vector< biorbd::rigidbody::NodeSegment > | segmentMarkers (const biorbd::rigidbody::GeneralizedCoordinates &Q, unsigned int idx, bool removeAxis=true, bool updateKin=true) |
Return all the markers of the segment idx at a given Q in the global reference frame. More... | |
unsigned int | nbMarkers () const |
Return the number of markers. More... | |
unsigned int | nbMarkers (unsigned int idxSegment) const |
Return the number of markers on the segment idxSegment. More... | |
unsigned int | nbTechnicalMarkers () |
Return the number of technical markers. More... | |
unsigned int | nbTechnicalMarkers (unsigned int idxSegment) |
Return the number of technical markers on the segment idxSegment. More... | |
unsigned int | nbAnatomicalMarkers () |
Return the number of anatomical markers. More... | |
std::vector< biorbd::utils::Matrix > | markersJacobian (const biorbd::rigidbody::GeneralizedCoordinates &Q, bool removeAxis=true, bool updateKin=true) |
Return the jacobian of the markers. More... | |
std::vector< biorbd::utils::Matrix > | technicalMarkersJacobian (const biorbd::rigidbody::GeneralizedCoordinates &Q, bool removeAxis=true, bool updateKin=true) |
Return the jacobian of the technical markers. More... | |
biorbd::utils::Matrix | markersJacobian (const biorbd::rigidbody::GeneralizedCoordinates &Q, const biorbd::utils::String &parentName, const biorbd::rigidbody::NodeSegment &p, bool updateKin) |
Return the jacobian of a chosen marker. More... | |
bool | inverseKinematics (const std::vector< biorbd::rigidbody::NodeSegment > &markers, const biorbd::rigidbody::GeneralizedCoordinates &Qinit, biorbd::rigidbody::GeneralizedCoordinates &Q, bool removeAxes=true) |
Performs an inverse kinematics. More... | |
![]() | |
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::String > | IMUsNames () |
Return the names of the inertial measurement units (IMU) More... | |
std::vector< biorbd::utils::String > | technicalIMUsNames () |
Return the names of the technical inertial measurement units (IMU) More... | |
std::vector< biorbd::utils::String > | anatomicalIMUsNames () |
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::IMU > | IMU (const biorbd::utils::String &segmentName) |
Return all the inertial measurement units (IMU) of a segment. More... | |
const biorbd::rigidbody::IMU & | IMU (unsigned int idx) |
Return the inertial measurement unit (IMU) of a specified index. More... | |
std::vector< biorbd::rigidbody::IMU > | IMU (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::IMU > | segmentIMU (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::IMU > | technicalIMU (const biorbd::rigidbody::GeneralizedCoordinates &Q, bool updateKin=true) |
Return all the technical inertial measurement units (IMU) More... | |
std::vector< biorbd::rigidbody::IMU > | technicalIMU () |
Return all the technical inertial measurement units (IMU) in their respective segment local reference frame. More... | |
std::vector< biorbd::rigidbody::IMU > | anatomicalIMU (const biorbd::rigidbody::GeneralizedCoordinates &Q, bool updateKin=true) |
Return all the anatomical inertial measurement units (IMU) More... | |
std::vector< biorbd::rigidbody::IMU > | anatomicalIMU () |
Return all the anatomical inertial measurement units (IMU) in their respective segment local reference frame. More... | |
std::vector< biorbd::utils::Matrix > | IMUJacobian (const biorbd::rigidbody::GeneralizedCoordinates &Q, bool updateKin=true) |
Return the jacobian of the inertial measurement units (IMU) More... | |
std::vector< biorbd::utils::Matrix > | TechnicalIMUJacobian (const biorbd::rigidbody::GeneralizedCoordinates &Q, bool updateKin=true) |
Return the jacobian of the technical inertial measurement units (IMU) More... | |
![]() | |
RotoTransNodes () | |
Construct RT set. | |
RotoTransNodes (const biorbd::rigidbody::RotoTransNodes &other) | |
Construct RTs set from another set. More... | |
virtual | ~RotoTransNodes () |
Destroy the class properly. | |
biorbd::rigidbody::RotoTransNodes | DeepCopy () const |
Deep copy of the RTs data. More... | |
void | DeepCopy (const biorbd::rigidbody::RotoTransNodes &other) |
Deep copy the RTs data. More... | |
void | addRT () |
Add a new RT to the set. | |
void | addRT (const biorbd::utils::RotoTransNode &RotoTrans) |
Add a new RT to the set. More... | |
unsigned int | nbRTs () const |
Return the number of RTs in the set. More... | |
std::vector< biorbd::utils::String > | RTsNames () |
Return the names of the RTs. More... | |
const std::vector< biorbd::utils::RotoTransNode > & | RTs () const |
Return all the RTs in the local reference of the segment. More... | |
std::vector< biorbd::utils::RotoTransNode > | RTs (const biorbd::utils::String &segmentName) |
Return all the RTs of a segment. More... | |
const biorbd::utils::RotoTransNode & | RT (unsigned int idx) |
Return the RTs of a specified index. More... | |
std::vector< biorbd::utils::RotoTransNode > | RTs (const biorbd::rigidbody::GeneralizedCoordinates &Q, bool updateKin=true) |
Compute and return all the RTs at the position given by Q. More... | |
biorbd::utils::RotoTransNode | RT (const biorbd::rigidbody::GeneralizedCoordinates &Q, unsigned int idx, bool updateKin=true) |
Compute and return the RT of index idx at the position given by Q. More... | |
std::vector< biorbd::utils::RotoTransNode > | segmentRTs (const biorbd::rigidbody::GeneralizedCoordinates &Q, unsigned int idx, bool updateKin=true) |
Return all the RTs on a specified segment. More... | |
std::vector< biorbd::utils::Matrix > | RTsJacobian (const biorbd::rigidbody::GeneralizedCoordinates &Q, bool updateKin=true) |
Return the jacobian of the RTs. More... | |
![]() | |
Contacts () | |
Construct contacts. | |
biorbd::rigidbody::Contacts | DeepCopy () const |
Deep copy of contacts. More... | |
void | DeepCopy (const biorbd::rigidbody::Contacts &other) |
Deep copy of contacts. More... | |
unsigned int | AddConstraint (unsigned int body_id, const biorbd::utils::Vector3d &body_point, const biorbd::utils::Vector3d &world_normal, const biorbd::utils::String &name, double acc=0) |
Add a constraint to the constraint set. More... | |
unsigned int | AddConstraint (unsigned int body_id, const biorbd::utils::Vector3d &body_point, const biorbd::utils::String &axis, const biorbd::utils::String &name, double acc=0) |
Add a constraint to the constraint set. More... | |
unsigned int | AddLoopConstraint (unsigned int body_id_predecessor, unsigned int body_id_successor, const biorbd::utils::RotoTrans &X_predecessor, const biorbd::utils::RotoTrans &X_successor, const biorbd::utils::SpatialVector &axis, const biorbd::utils::String &name, bool enableStabilization=false, double stabilizationParam=0.1) |
Add a loop constraint to the constraint set. More... | |
virtual | ~Contacts () |
Destroy the class properly. | |
Contacts & | getConstraints () |
Get constraints. More... | |
bool | hasContacts () const |
Check if there are contacts. More... | |
unsigned int | nbContacts () const |
Return the number of contacts. More... | |
std::vector< biorbd::utils::String > | contactNames () |
Return the name of the all contacts. More... | |
biorbd::utils::String | contactName (unsigned int i) |
Return the name of the contact of a specified axis. More... | |
std::vector< biorbd::utils::Vector3d > | constraintsInGlobal (const biorbd::rigidbody::GeneralizedCoordinates &Q, bool updateKin) |
Return the contraints position in the global reference. More... | |
biorbd::utils::Vector | getForce () const |
Return the force acting on the contraint. More... | |
Additional Inherited Members | |
![]() | |
RigidBodyDynamics::Math::SpatialTransform | CalcBodyWorldTransformation (const biorbd::rigidbody::GeneralizedCoordinates &Q, const unsigned int segmentIdx, bool updateKin=true) |
Calculate the joint coordinate system (JCS) in global reference frame of a specified segment. More... | |
RigidBodyDynamics::Math::SpatialTransform | CalcBodyWorldTransformation (const unsigned int segmentIdx) const |
Calculate the joint coordinate system (JCS) in global of a specified segment. More... | |
std::vector< biorbd::utils::Vector3d > | meshPoints (const std::vector< biorbd::utils::RotoTrans > &RT, unsigned int idx) const |
Return the mesh vertices of segment idx. More... | |
![]() | |
std::vector< biorbd::utils::Matrix > | markersJacobian (const biorbd::rigidbody::GeneralizedCoordinates &Q, bool removeAxis, bool updateKin, bool lookForTechnical) |
Compute the jacobian of the markers. More... | |
![]() | |
std::vector< biorbd::utils::Matrix > | IMUJacobian (const biorbd::rigidbody::GeneralizedCoordinates &Q, bool updateKin, bool lookForTechnical) |
Compute and return the jacobian of all the inertial measurement units (IMU) More... | |
![]() | |
std::shared_ptr< std::vector< biorbd::rigidbody::Segment > > | m_segments |
All the articulations. | |
std::shared_ptr< unsigned int > | m_nbRoot |
The number of DoF on the root segment. | |
std::shared_ptr< unsigned int > | m_nbDof |
The total number of degrees of freedom | |
std::shared_ptr< unsigned int > | m_nbQ |
The total number of Q. | |
std::shared_ptr< unsigned int > | m_nbQdot |
The total number of Qdot. | |
std::shared_ptr< unsigned int > | m_nbQddot |
The total number of Qddot. | |
std::shared_ptr< unsigned int > | m_nRotAQuat |
The number of segments per quaternion. | |
std::shared_ptr< bool > | m_isKinematicsComputed |
If the kinematics are computed. | |
std::shared_ptr< double > | m_totalMass |
Mass of all the bodies combined. | |
![]() | |
std::shared_ptr< std::vector< biorbd::rigidbody::NodeSegment > > | m_marks |
The markers. | |
![]() | |
std::shared_ptr< std::vector< biorbd::rigidbody::IMU > > | m_IMUs |
All the inertial Measurement Units. | |
![]() | |
std::shared_ptr< std::vector< biorbd::utils::RotoTransNode > > | m_RTs |
All the RTs. | |
![]() | |
std::shared_ptr< unsigned int > | m_nbreConstraint |
Number of constraints. | |
std::shared_ptr< bool > | m_isBinded |
If the model is ready. | |
The actual musculoskeletal model that holds everything in biorbd.
Definition at line 66 of file BiorbdModel.h.
biorbd::Model::Model | ( | const biorbd::utils::Path & | path | ) |
Construct a model from a bioMod file.
path | The path of the file |
Definition at line 21 of file BiorbdModel.cpp.
biorbd::utils::Path biorbd::Model::path | ( | ) | const |
Returns the path of .bioMod file used to load the model. If no file was used, it remains empty.
Definition at line 28 of file BiorbdModel.cpp.