Robot Dynamics Library
Namespaces | Functions
rdl_hydro_utils.cpp File Reference
#include "rdl_dynamics/rdl_hydro_utils.hpp"
#include "rdl_dynamics/Kinematics.hpp"
#include <iomanip>
Include dependency graph for rdl_hydro_utils.cpp:

Namespaces

 RobotDynamics
 Namespace for all structures of the RobotDynamics library.
 
 RobotDynamics::HydroUtils
 Namespace that contains optional helper functions.
 

Functions

void RobotDynamics::HydroUtils::calcCenterOfBuoyancy (Model &model, const Math::VectorNd &q, Math::FramePoint &com, bool update_kinematics=true)
 Computes the Center of Buoyancy (COB) position. More...
 
void RobotDynamics::HydroUtils::calcCenterOfMassAndCenterOfBuoyancy (Model &model, const Math::VectorNd &q, const Math::VectorNd &qdot, Math::Vector3d &com, Math::Vector3d &cob, Math::Vector3d &com_velocity, bool update_kinematics)
 
void RobotDynamics::HydroUtils::updateCenterOfBuoyancyFrame (Model &model, const Math::Vector3d &p_cob)
 Updates the center of buoyancy frame of the robot be at location p_com and aligned with world frame. More...
 
void RobotDynamics::HydroUtils::updateCenterOfBuoyancyFrame (Model &model, const Math::Vector3d &p_cob, const Math::Quaternion &orientation)
 Updates the center of buoyancy frame of the robot be at location p_com and aligned with world frame. More...
 
void RobotDynamics::HydroUtils::updateCenterOfBuoyancyFrame (Model &model, const Math::Vector3d &p_cob, const Math::Vector3d &euler_ypr)
 Updates the center of buoyancy 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 buoyancy reference frame will be aligned with world. More...
 
RobotDynamics::Math::FramePoint RobotDynamics::HydroUtils::updateCenterOfBuoyancyFrame (Model &model, const Math::VectorNd &q, bool update_kinematics=true)
 Computes the center of buoyancy and updates the center of buoyancy reference frame of the model. More...
 
RobotDynamics::Math::FramePoint RobotDynamics::HydroUtils::updateCenterOfBuoyancyFrame (Model &model, const Math::VectorNd &q, const Math::Quaternion &orientation, bool update_kinematics=true)
 Computes the center of buoyancy and updates the center of buoyancy reference frame of the model. More...
 
RobotDynamics::Math::FramePoint RobotDynamics::HydroUtils::updateCenterOfBuoyancyFrame (Model &model, const Math::VectorNd &q, const Math::Vector3d &euler_ypr, bool update_kinematics=true)
 Computes the center of buoyancy and updates the center of buoyancy reference frame of the model. More...
 
Math::SpatialForce RobotDynamics::HydroUtils::calcBuoyancyWrenchOnCenterOfMass (Model &model, const Math::VectorNd &q, bool update_kinematics=true)
 Computes the wrench due to buoyancy experienced at the robots center of mass. More...
 
Math::SpatialForce RobotDynamics::HydroUtils::calcDragWrenchOnCenterOfMass (Model &model, const Math::VectorNd &q, const Math::VectorNd &qdot, bool update_kinematics=true)
 Computes the wrench due to drag experienced at the robots center of mass. More...
 
double RobotDynamics::HydroUtils::calcSubtreeVolume (Model &model, const unsigned int bodyId)
 Calculates the total volume of the model. More...
 
double RobotDynamics::HydroUtils::calcSubtreeWeightInFluid (Model &model, const unsigned int bodyId)
 Calculate the weight of a kinematic subtree in fluid with density RobotDynamics::Model::fluid_density. More...