#include <multibody/model.hpp>
Public Types | |
typedef Eigen::Matrix< double, 3, Eigen::Dynamic > | Matrix3x |
The 3d jacobian type (temporary) | |
typedef SE3::Vector3 | Vector3 |
Public Member Functions | |
Data (const Model &model) | |
Default constructor of se3::Data from a se3::Model. | |
Public Attributes | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef Eigen::Matrix< double, 6, Eigen::Dynamic > | Matrix6x |
The 6d jacobian type (temporary) | |
const Model & | model |
A const reference to the reference model. | |
JointDataVector | joints |
Vector of se3::JointData associated to the se3::JointModel stored in model. | |
std::vector< Motion > | a |
Vector of joint accelerations. | |
std::vector< Motion > | a_gf |
Vector of joint accelerations due to the gravity field. | |
std::vector< Motion > | v |
Vector of joint velocities. | |
std::vector< Force > | f |
Vector of body forces. | |
std::vector< SE3 > | oMi |
Vector of absolute joint placements (wrt the world). | |
std::vector< SE3 > | liMi |
Vector of relative joint placements (wrt the body parent). | |
Eigen::VectorXd | tau |
Vector of joint torques (dim model.nv). | |
Eigen::VectorXd | nle |
Vector of Non Linear Effects (dim model.nv). | |
std::vector< SE3 > | oMof |
Vector of absolute operationnel frame placements (wrt the world). | |
std::vector< Inertia > | Ycrb |
Vector of sub-tree composite rigid body inertias, i.e. the apparent inertia of the subtree supported by the joint. | |
Eigen::MatrixXd | M |
The joint space inertia matrix (a square matrix of dim model.nv). | |
Eigen::VectorXd | ddq |
The joint accelerations computed from ABA. | |
std::vector< Inertia::Matrix6 > | Yaba |
Inertia matrix of the subtree expressed as dense matrix [ABA]. | |
Eigen::VectorXd | u |
Intermediate quantity corresponding to apparent torque [ABA]. | |
Matrix6x | Ag |
Centroidal Momentum Matrix. | |
Force | hg |
Centroidal momentum quantity. | |
Inertia | Ig |
Centroidal Composite Rigid Body Inertia. | |
std::vector< Matrix6x > | Fcrb |
Spatial forces set, used in CRBA and CCRBA. | |
std::vector< int > | lastChild |
Index of the last child (for CRBA) | |
std::vector< int > | nvSubtree |
Dimension of the subtree motion space (for CRBA) | |
Eigen::MatrixXd | U |
Joint space intertia matrix square root (upper trianglular part) computed with a Cholesky Decomposition. | |
Eigen::VectorXd | D |
Diagonal of the joint space intertia matrix obtained by a Cholesky Decomposition. | |
Eigen::VectorXd | tmp |
Temporary of size NV used in Cholesky Decomposition. | |
std::vector< int > | parents_fromRow |
First previous non-zero row in M (used in Cholesky Decomposition). | |
std::vector< int > | nvSubtree_fromRow |
Subtree of the current row index (used in Cholesky Decomposition). | |
Matrix6x | J |
Jacobian of joint placements. | |
std::vector< SE3 > | iMf |
Vector of joint placements wrt to algorithm end effector. | |
std::vector< Eigen::Vector3d > | com |
Vector of subtree center of mass positions expressed in the root joint of the subtree. In other words, com[j] is the CoM position of the subtree supported by joint \( j \) and expressed in the joint frame \( j \). The element com[0] corresponds to the center of mass position of the whole model and expressed in the global frame. | |
std::vector< Eigen::Vector3d > | vcom |
Vector of subtree center of mass linear velocities expressed in the root joint of the subtree. In other words, vcom[j] is the CoM linear velocity of the subtree supported by joint \( j \) and expressed in the joint frame \( j \). The element vcom[0] corresponds to the velocity of the CoM of the whole model expressed in the global frame. | |
std::vector< Eigen::Vector3d > | acom |
Vector of subtree center of mass linear accelerations expressed in the root joint of the subtree. In other words, acom[j] is the CoM linear acceleration of the subtree supported by joint \( j \) and expressed in the joint frame \( j \). The element acom[0] corresponds to the acceleration of the CoM of the whole model expressed in the global frame. | |
std::vector< double > | mass |
Vector of subtree mass. In other words, mass[j] is the mass of the subtree supported by joint \( j \). The element mass[0] corrresponds to the total mass of the model. | |
Matrix3x | Jcom |
Jacobien of center of mass. | |
double | kinetic_energy |
Kinetic energy of the model. | |
double | potential_energy |
Potential energy of the model. | |
Eigen::MatrixXd | JMinvJt |
Inverse of the operational-space inertia matrix. | |
Eigen::LLT< Eigen::MatrixXd > | llt_JMinvJt |
Cholesky decompostion of . | |
Eigen::VectorXd | lambda_c |
Lagrange Multipliers corresponding to the contact forces in se3::forwardDynamics. | |
Eigen::MatrixXd | sDUiJt |
Temporary corresponding to \( \sqrt{D} U^{-1} J^{\top} \). | |
Eigen::VectorXd | torque_residual |
Temporary corresponding to the residual torque \( \tau - b(q,\dot{q}) \). | |
Eigen::VectorXd | dq_after |
Generalized velocity after impact. | |
Eigen::VectorXd | impulse_c |
Lagrange Multipliers corresponding to the contact impulses in se3::impulseDynamics. |
typedef Eigen::Matrix<double,3,Eigen::Dynamic> se3::Data::Matrix3x |
The 3d jacobian type (temporary)
typedef SE3::Vector3 se3::Data::Vector3 |
se3::Data::Data | ( | const Model & | model | ) |
Default constructor of se3::Data from a se3::Model.
[in] | model | The model structure of the rigid body system. |
std::vector<Motion> se3::Data::a |
Vector of joint accelerations.
Referenced by se3::CATForwardStep::algo(), se3::ForwardKinematicSecondStep::algo(), se3::computeAllTerms(), and se3::forwardKinematics().
std::vector<Motion> se3::Data::a_gf |
Vector of joint accelerations due to the gravity field.
Referenced by se3::CATForwardStep::algo(), and se3::computeAllTerms().
std::vector<Eigen::Vector3d> se3::Data::acom |
Vector of subtree center of mass linear accelerations expressed in the root joint of the subtree. In other words, acom[j] is the CoM linear acceleration of the subtree supported by joint \( j \) and expressed in the joint frame \( j \). The element acom[0] corresponds to the acceleration of the CoM of the whole model expressed in the global frame.
Centroidal Momentum Matrix.
std::vector<Eigen::Vector3d> se3::Data::com |
Vector of subtree center of mass positions expressed in the root joint of the subtree. In other words, com[j] is the CoM position of the subtree supported by joint \( j \) and expressed in the joint frame \( j \). The element com[0] corresponds to the center of mass position of the whole model and expressed in the global frame.
Referenced by se3::CATForwardStep::algo(), se3::CATBackwardStep::algo(), and se3::computeAllTerms().
Eigen::VectorXd se3::Data::D |
Diagonal of the joint space intertia matrix obtained by a Cholesky Decomposition.
Referenced by se3::forwardDynamics(), and se3::impulseDynamics().
Eigen::VectorXd se3::Data::ddq |
The joint accelerations computed from ABA.
Referenced by se3::forwardDynamics().
Eigen::VectorXd se3::Data::dq_after |
Generalized velocity after impact.
Referenced by se3::impulseDynamics().
std::vector<Force> se3::Data::f |
Vector of body forces.
For each body, the force represents the sum of all external forces acting on the body.
Referenced by se3::CATForwardStep::algo(), and se3::CATBackwardStep::algo().
std::vector<Matrix6x> se3::Data::Fcrb |
Spatial forces set, used in CRBA and CCRBA.
Referenced by se3::CATBackwardStep::algo().
Centroidal momentum quantity.
Centroidal Composite Rigid Body Inertia.
std::vector<SE3> se3::Data::iMf |
Vector of joint placements wrt to algorithm end effector.
Eigen::VectorXd se3::Data::impulse_c |
Lagrange Multipliers corresponding to the contact impulses in se3::impulseDynamics.
Referenced by se3::impulseDynamics().
Jacobian of joint placements.
Referenced by se3::CATForwardStep::algo(), se3::CATBackwardStep::algo(), and se3::getFrameJacobian().
Jacobien of center of mass.
Referenced by se3::CATBackwardStep::algo(), and se3::computeAllTerms().
Eigen::MatrixXd se3::Data::JMinvJt |
Inverse of the operational-space inertia matrix.
Referenced by se3::forwardDynamics(), and se3::impulseDynamics().
Vector of se3::JointData associated to the se3::JointModel stored in model.
Referenced by se3::computeAllTerms(), se3::emptyForwardPass(), and se3::forwardKinematics().
double se3::Data::kinetic_energy |
Kinetic energy of the model.
Referenced by se3::kineticEnergy().
Eigen::VectorXd se3::Data::lambda_c |
Lagrange Multipliers corresponding to the contact forces in se3::forwardDynamics.
Referenced by se3::forwardDynamics().
std::vector<int> se3::Data::lastChild |
Index of the last child (for CRBA)
std::vector<SE3> se3::Data::liMi |
Vector of relative joint placements (wrt the body parent).
Referenced by se3::ForwardKinematicZeroStep::algo(), se3::CATForwardStep::algo(), se3::ForwardKinematicFirstStep::algo(), se3::CATBackwardStep::algo(), and se3::ForwardKinematicSecondStep::algo().
Eigen::LLT<Eigen::MatrixXd> se3::Data::llt_JMinvJt |
Cholesky decompostion of .
Referenced by se3::forwardDynamics(), and se3::impulseDynamics().
Eigen::MatrixXd se3::Data::M |
The joint space inertia matrix (a square matrix of dim model.nv).
Referenced by se3::CATBackwardStep::algo().
std::vector<double> se3::Data::mass |
Vector of subtree mass. In other words, mass[j] is the mass of the subtree supported by joint \( j \). The element mass[0] corrresponds to the total mass of the model.
Referenced by se3::CATForwardStep::algo(), se3::CATBackwardStep::algo(), and se3::computeAllTerms().
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef Eigen::Matrix<double,6,Eigen::Dynamic> se3::Data::Matrix6x |
The 6d jacobian type (temporary)
Referenced by se3::CATBackwardStep::algo(), se3::python::AlgorithmsPythonVisitor::frame_jacobian_proxy(), and se3::python::AlgorithmsPythonVisitor::jacobian_proxy().
const Model& se3::Data::model |
A const reference to the reference model.
Eigen::VectorXd se3::Data::nle |
Vector of Non Linear Effects (dim model.nv).
It corresponds to the Coriolis, centrifugal and gravitational effects.
Referenced by se3::CATBackwardStep::algo(), and se3::forwardDynamics().
std::vector<int> se3::Data::nvSubtree |
Dimension of the subtree motion space (for CRBA)
Referenced by se3::CATBackwardStep::algo().
std::vector<int> se3::Data::nvSubtree_fromRow |
Subtree of the current row index (used in Cholesky Decomposition).
std::vector<SE3> se3::Data::oMi |
Vector of absolute joint placements (wrt the world).
Referenced by se3::ForwardKinematicZeroStep::algo(), se3::CATForwardStep::algo(), se3::ForwardKinematicFirstStep::algo(), se3::CATBackwardStep::algo(), se3::ForwardKinematicSecondStep::algo(), se3::framesForwardKinematics(), se3::getFrameJacobian(), se3::potentialEnergy(), and se3::updateGeometryPlacements().
std::vector<SE3> se3::Data::oMof |
Vector of absolute operationnel frame placements (wrt the world).
Referenced by se3::framesForwardKinematics(), and se3::getFrameJacobian().
std::vector<int> se3::Data::parents_fromRow |
First previous non-zero row in M (used in Cholesky Decomposition).
double se3::Data::potential_energy |
Potential energy of the model.
Referenced by se3::potentialEnergy().
Eigen::MatrixXd se3::Data::sDUiJt |
Temporary corresponding to \( \sqrt{D} U^{-1} J^{\top} \).
Referenced by se3::forwardDynamics(), and se3::impulseDynamics().
Eigen::VectorXd se3::Data::tau |
Vector of joint torques (dim model.nv).
Eigen::VectorXd se3::Data::tmp |
Temporary of size NV used in Cholesky Decomposition.
Eigen::VectorXd se3::Data::torque_residual |
Temporary corresponding to the residual torque \( \tau - b(q,\dot{q}) \).
Referenced by se3::forwardDynamics().
Eigen::VectorXd se3::Data::u |
Intermediate quantity corresponding to apparent torque [ABA].
Eigen::MatrixXd se3::Data::U |
Joint space intertia matrix square root (upper trianglular part) computed with a Cholesky Decomposition.
std::vector<Motion> se3::Data::v |
Vector of joint velocities.
Referenced by se3::CATForwardStep::algo(), se3::ForwardKinematicFirstStep::algo(), se3::ForwardKinematicSecondStep::algo(), se3::computeAllTerms(), se3::forwardKinematics(), and se3::kineticEnergy().
std::vector<Eigen::Vector3d> se3::Data::vcom |
Vector of subtree center of mass linear velocities expressed in the root joint of the subtree. In other words, vcom[j] is the CoM linear velocity of the subtree supported by joint \( j \) and expressed in the joint frame \( j \). The element vcom[0] corresponds to the velocity of the CoM of the whole model expressed in the global frame.
Referenced by se3::CATForwardStep::algo(), se3::CATBackwardStep::algo(), and se3::computeAllTerms().
std::vector<Inertia::Matrix6> se3::Data::Yaba |
Inertia matrix of the subtree expressed as dense matrix [ABA].
std::vector<Inertia> se3::Data::Ycrb |
Vector of sub-tree composite rigid body inertias, i.e. the apparent inertia of the subtree supported by the joint.
Referenced by se3::CATForwardStep::algo(), and se3::CATBackwardStep::algo().