Robot Dynamics Library
|
Namespace that contains optional helper functions. More...
Functions | |
string | getDofName (const Math::SpatialVector &joint_dof) |
get string abbreviation for dof name from spatial vector. More... | |
string | getBodyName (const RobotDynamics::Model &model, unsigned int body_id) |
get body name, returns empty string if bodyid is virtual and has multiple child bodies More... | |
std::string | getModelDOFOverview (const Model &model) |
Creates a human readable overview of the Degrees of Freedom. More... | |
std::string | printHierarchy (const RobotDynamics::Model &model, unsigned int body_index=0, int indent=0) |
std::string | getModelHierarchy (const Model &model) |
Creates a human readable overview of the model. More... | |
std::string | getNamedBodyOriginsOverview (Model &model) |
Creates a human readable overview of the locations of all bodies that have names. More... | |
void | calcCenterOfMass (Model &model, const Math::VectorNd &q, Math::Vector3d &com, bool update_kinematics=true) |
Computes the Center of Mass (COM) position. More... | |
void | calcCenterOfMass (Model &model, const Math::VectorNd &q, Math::FramePoint &com, bool update_kinematics=true) |
Computes the Center of Mass (COM) position. More... | |
void | calcCenterOfMass (Model &model, const Math::VectorNd &q, const Math::VectorNd &qdot, Math::FramePoint &com, Math::FrameVector &com_velocity, Math::FrameVector *angular_momentum=nullptr, bool update_kinematics=true) |
Computes the Center of Mass (COM) and optionally its linear velocity and/or angular momentum. More... | |
void | calcCenterOfMass (Model &model, const Math::VectorNd &q, const Math::VectorNd &qdot, Math::Vector3d &com, Math::Vector3d *com_velocity=NULL, Math::Vector3d *angular_momentum=NULL, bool update_kinematics=true) |
Computes the Center of Mass (COM) and optionally its linear velocity. More... | |
void | calcCenterOfMass (Model &model, const Math::VectorNd &q, const Math::VectorNd &qdot, Math::FramePoint &com, Math::FrameVector *com_velocity=nullptr, bool update_kinematics=true) |
Computes the Center of Mass (COM) and optionally its linear velocity. More... | |
void | calcCenterOfMass (Model &model, const Math::VectorNd &q, const Math::VectorNd &qdot, Math::Vector3d &com, Math::Vector3d &com_velocity, bool update_kinematics=true) |
Computes the Center of Mass (COM) and its linear velocity. More... | |
RobotDynamics::Math::FramePoint | updateCenterOfMassFrame (Model &model, const Math::VectorNd &q, bool update_kinematics=true) |
Computes the center of mass and updates the center of mass reference frame of the model. More... | |
RobotDynamics::Math::FramePoint | updateCenterOfMassFrame (Model &model, const Math::VectorNd &q, const Math::Vector3d &euler_ypr, bool update_kinematics=true) |
Computes the center of mass and updates the center of mass reference frame of the model. More... | |
RobotDynamics::Math::FramePoint | updateCenterOfMassFrame (Model &model, const Math::VectorNd &q, const Math::Quaternion &orientation, bool update_kinematics=true) |
Computes the center of mass and updates the center of mass reference frame of the model. More... | |
void | updateCenterOfMassFrame (Model &model, const Math::Vector3d &p_com) |
Updates the center of mass frame of the robot be at location p_com, aligned with world frame. More... | |
void | updateCenterOfMassFrame (Model &model, const Math::Vector3d &p_com, const Math::Vector3d &euler_ypr) |
Updates the center of mass frame of the robot be at location p_com and to have orientation defined by the yaw/pitch/roll angles in euler_ypr argument. The euler_ypr argument is optional and if not provided the center of mass reference frame will be aligned with world. More... | |
void | updateCenterOfMassFrame (Model &model, const Math::Vector3d &p_com, const Math::Quaternion &orientation) |
Updates the center of mass frame of the robot be at location p_com and to have orientation defined by the orientation argument. The quaternion argument is optional and if not provided the center of mass reference frame will be aligned with world. More... | |
void | calcCenterOfMassVelocity (Model &model, Math::Vector3d &com_vel) |
Computes the Center of Mass (COM) velocity in world frame. More... | |
void | calcCenterOfMassVelocity (Model &model, Math::FrameVector &com_vel) |
Computes the Center of Mass (COM) velocity in world frame. More... | |
void | calcCenterOfMassVelocity (Model &model, const Math::VectorNd &q, const Math::VectorNd &qdot, Math::Vector3d &com_vel, bool update_kinematics=true) |
Computes the Center of Mass (COM) velocity in world frame. More... | |
void | calcCenterOfMassVelocity (Model &model, const Math::VectorNd &q, const Math::VectorNd &qdot, Math::FrameVector &com_vel, bool update_kinematics=true) |
Computes the Center of Mass (COM) velocity in world frame. More... | |
Math::SpatialForce | calcGravityWrenchOnCenterOfMass (Model &model, const Math::VectorNd &q, bool update_kinematics=true) |
Computes the gravitational wrench experienced on the robots center of mass. More... | |
void | calcCenterOfMassJacobian (Model &model, const Math::VectorNd &q, Math::MatrixNd &jCom, bool update_kinematics=true) |
Computes the matrix ![]() ![]() | |
Math::Vector3d | calcSubtreeCenterOfMassScaledByMass (Model &model, const unsigned int bodyId, const Math::VectorNd &q, bool updateKinematics=true) |
Calculates the center of mass of a subtree starting with the body with ID bodyId and scales it by the total mass of the subtree. More... | |
double | calcSubtreeMass (Model &model, const unsigned int bodyId) |
Calculates the total mass of the subtree beginning with body bodyId and traversing outwards from there. More... | |
double | calcPotentialEnergy (Model &model, const Math::VectorNd &q, bool update_kinematics=true) |
Computes the potential energy of the full model. More... | |
double | calcKineticEnergy (Model &model, const Math::VectorNd &q, const Math::VectorNd &qdot, bool update_kinematics=true) |
Computes the kinetic energy of the full model. More... | |
void | calcCentroidalMomentumMatrix (Model &model, const Math::VectorNd &q, Math::MatrixNd &A, Math::Vector3d com, bool update_kinematics=true) |
Calculates the centroidal momentum matrix, ![]() ![]() | |
void | calcCentroidalMomentumMatrix (Model &model, const Math::VectorNd &q, Math::MatrixNd &A, bool update_kinematics=true) |
Calculates the centroidal momentum matrix, ![]() ![]() | |
void | calcCentroidalMomentumMatrixDot (Model &model, const Math::VectorNd &q, const Math::VectorNd &qdot, Math::MatrixNd &Adot, Math::Vector3d com, Math::Vector3d com_velocity, bool update_kinematics=true) |
Calculates the time derivative of the centroidal momentum matrix, i.e. the matrix computed by RobotDynamics::Utils::calcCentroidalMomentumMatrix and stores it in the Adot argument. More... | |
void | calcCentroidalMomentumMatrixDot (Model &model, const Math::VectorNd &q, const Math::VectorNd &qdot, Math::MatrixNd &Adot, bool update_kinematics=true) |
Calculates the time derivative of the centroidal momentum matrix, i.e. the matrix computed by RobotDynamics::Utils::calcCentroidalMomentumMatrix and stores it in the Adot argument. More... | |
void | calcCentroidalMomentumMatrixAndMatrixDot (Model &model, const Math::VectorNd &q, const Math::VectorNd &qdot, Math::MatrixNd &A, Math::MatrixNd &Adot, bool update_kinematics=true) |
Calculates the centroidal momentum matrix and its time derivative, but in a more efficient way than calling the functions to compute them separately. If you need both matrices it will be more efficient to use this function. More... | |
void | calcCentroidalMomentumMatrixAndMatrixDot (Model &model, const Math::VectorNd &q, const Math::VectorNd &qdot, Math::MatrixNd &A, Math::MatrixNd &Adot, Math::Vector3d com, Math::Vector3d com_velocity, bool update_kinematics=true) |
Calculates the centroidal momentum matrix and its time derivative, but in a more efficient way than calling the functions to compute them separately. If you need both matrices it will be more efficient to use this function. More... | |
Namespace that contains optional helper functions.
std::string RobotDynamics::Utils::printHierarchy | ( | const RobotDynamics::Model & | model, |
unsigned int | body_index = 0 , |
||
int | indent = 0 |
||
) |