RML  1.0
Robotics Mathematical Library
Loading...
Searching...
No Matches
rml::TwoLinksArmModel Class Reference

#include <twolinks_armmodel.h>

Inheritance diagram for rml::TwoLinksArmModel:
[legend]

Public Member Functions

 TwoLinksArmModel (std::string id)
 
virtual ~TwoLinksArmModel ()
 
- Public Member Functions inherited from rml::ArmModel
 ArmModel (const std::string id) noexcept(false)
 Default constructor.
 
virtual ~ArmModel ()
 Default destructor.
 
void AddJointLink (JointType type, const Eigen::Vector3d &axis, const Eigen::TransformationMatrix &baseTransf, double jointLimMin, double jointLimMax)
 Adds a link to the kinematic chain of the model.
 
void AddFixedLink (const Eigen::TransformationMatrix &baseTransf)
 Adds a fixed link to the kinematic chain of the model.
 
virtual void JointsPosition (const Eigen::VectorXd q) noexcept(false)
 Set the joint position.
 
virtual auto JointsPosition () const -> const Eigen::VectorXd &
 Get the moving joint position.
 
virtual void JointsVelocity (const Eigen::VectorXd qdot) noexcept(false)
 Set the moving joints velocity.
 
virtual auto JointsVelocity () const -> const Eigen::VectorXd &
 Get the moving joints velocity.
 
void JointsAcceleration (const Eigen::VectorXd qddot) noexcept(false)
 Set the moving joints acceleration.
 
auto JointsAcceleration () const -> const Eigen::VectorXd &
 Get moving joints acceleration.
 
void AttachRigidBodyFrame (std::string frameID, std::string attachedFrameID, Eigen::TransformationMatrix attachedFrameID_T_frameID) noexcept(false)
 Method adding a rigid body frame to a joint.
 
Eigen::TransformationMatrix TransformationMatrix (const std::string &frameID) noexcept(false)
 Method returning the transformation matrix related to the input frameID wrt to the arm base.
 
Eigen::TransformationMatrix TransformationMatrix (const std::string &frameID_j, const std::string &frameID_k)
 Method returing a transformation matrix from frameID_j to frameID_k, i.e. jTk.
 
virtual Eigen::MatrixXd Jacobian (const std::string &frameID) noexcept(false)
 Method returning the jacobian related to the input frameID wrt to the arm base.
 
Eigen::MatrixXd ManipulabilityJacobian (const std::string &frameID)
 Method returning the manipulability jacobian related to the input frameID wrt to the arm base.
 
virtual auto NumJoints () const -> unsigned int
 Method returning the arm number of moving joints.
 
auto dJdq () const -> const std::vector< Eigen::MatrixXd > &
 Method returning dJdq evaluated numerically.
 
RobotLinkLink (int jointIndex) noexcept(false)
 Method returning the arm link.
 
auto IsModelInitialized () const -> bool
 Method returning true if the model is initialized false otherwise.
 
auto ControlVector () const -> const Eigen::VectorXd &
 Method returning the arm control vector.
 
void ControlVector (const Eigen::VectorXd controlRef) noexcept(false)
 Method setting the arm control vector.
 
double Manipulability (const std::string &frameID)
 Method returning the arm manipulability.
 
Eigen::MatrixXd DexterityJacobian (const std::string &frameID)
 Method returning the dexterity jacobian related to the input frameID wrt to the arm base.
 
double Dexterity (const std::string &frameID)
 Method returning the arm dexterity.
 
auto ID () const -> const std::string &
 Method returning the arm id.
 
auto ID () -> std::string &
 Method setting the arm id.
 
std::vector< std::string > GetRigidBodyFrameIDs () const noexcept
 Method returning the list of rigid body frame IDs.
 
std::vector< std::string > GetJointFrameIDs () const noexcept
 Method returning the list of joint frame IDs.
 
std::vector< std::string > GetJacobianFrameIDs () const noexcept
 Method returning the list of Jacobian frame IDs.
 
std::string GetEndEffectorFrameID () const noexcept
 Method returning the end-effector frame ID.
 

Additional Inherited Members

- Protected Member Functions inherited from rml::ArmModel
void EvaluateTotalForwardGeometry ()
 Method evaluating the total forward geometry for the arm.
 
virtual void EvaluatedJdqNumeric ()
 Evaluates numerically the Jacobian derivative w.r.t. joint variations.
 
virtual Eigen::MatrixXd EvaluateManipulability (const std::string &frameID)
 Evaluates the manipulability measure and its Jacobian This method returns the manipulability measure and its Jacobian.
 
virtual Eigen::MatrixXd EvaluateDexterity (const std::string &frameID)
 Evaluates the dexterity measure and its Jacobian This method returns the dexterity measure and its Jacobian.
 
Eigen::TransformationMatrix EvaluateRigidBodyTransf (const std::string &frameID)
 Method returning the attached body frame wrt to the arm base.
 
Eigen::MatrixXd EvaluateRigidBodyJacobian (const std::string &frameID)
 Method returning the attached body frame jacobian wrt to the arm base.
 
Eigen::MatrixXd EvaluateBase2JointJacobian (unsigned int jointIndex)
 Evaluates the jacobian matrix (w.r.t. robot base) of the specified joint.
 
void ForwardDirectGeometry (unsigned int jointNumber)
 Method performing the forward direct geometry untill the input joint number.
 
void BackwardDirectGeometry (unsigned int jointNumber, unsigned int endEffectorIndex)
 Backward Direct Geometry from the input joint number to the input end effector index.
 
- Protected Attributes inherited from rml::ArmModel
bool modelInitialized_
 boolean stating whether the model is initialized
 
bool isMapInitialized_
 boolean stating whether the transformation and jacobian maps are initialized
 
unsigned int totalNumJoints_
 
unsigned int movingNumJoints_
 moving joints number
 
std::vector< unsigned int > movingJoints_
 vector containing the indexes of the moving joints
 
std::vector< RobotLinklinks_
 vector of the arm links
 
std::unordered_map< std::string, IndexedTMatrigidBodyFrames_
 
std::unordered_map< std::string, Eigen::MatrixXd > jacobians_
 
std::unordered_map< std::string, Eigen::TransformationMatrixtransformation_
 
std::unordered_map< std::string, Eigen::MatrixXd > manipulabilityJacobians_
 map of the manipulability jacobians
 
std::unordered_map< std::string, double > manipulability_
 map of the manipulability values
 
Eigen::VectorXd q_total_
 
Eigen::VectorXd q_moving_
 
Eigen::VectorXd q_dot_moving_
 
Eigen::VectorXd q_ddot_moving_
 
Eigen::VectorXd controlRef_
 
std::vector< Eigen::TransformationMatrixbaseTei_
 
std::vector< Eigen::TransformationMatrixbiTei_
 
Eigen::TransformationMatrix baseTbi_
 
Eigen::TransformationMatrix Tz_
 transformation matrix for rotation or prismatic joint
 
Eigen::Vector3d base_ki_
 
std::vector< Eigen::Vector6dh_
 
std::vector< Eigen::MatrixXd > dJdq_
 dJdq evaluated numerically
 
Eigen::MatrixXd djdqJpinv_
 djdq * jacobian pseudoinverse
 
Eigen::RotationMatrix I3_
 identity matrix
 
bool modelReadFromFile_
 boolean stating whether the model is read from file
 
std::string id_
 arm id
 
std::unordered_map< std::string, Eigen::MatrixXd > dexterityJacobians_
 map of the manipulability jacobians
 
std::unordered_map< std::string, double > dexterity_
 map of the manipulability values
 
Eigen::MatrixXd Jdjdq_
 jacobian * djdq
 
Eigen::MatrixXd Jpinvdjpinvdq_
 jacobian pseudoinverse * djpinvdq
 

Constructor & Destructor Documentation

◆ TwoLinksArmModel()

rml::TwoLinksArmModel::TwoLinksArmModel ( std::string  id)

◆ ~TwoLinksArmModel()

virtual rml::TwoLinksArmModel::~TwoLinksArmModel ( )
virtual

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