CartesianVelocityController Class Reference

#include <RobotAPI/libraries/core/CartesianVelocityController.h>

Public Member Functions

Eigen::VectorXf calculate (const Eigen::VectorXf &cartesianVel, const Eigen::VectorXf &nullspaceVel, VirtualRobot::IKSolver::CartesianSelection mode)
 
Eigen::VectorXf calculate (const Eigen::VectorXf &cartesianVel, float KpJointLimitAvoidanceScale, VirtualRobot::IKSolver::CartesianSelection mode)
 
Eigen::VectorXf calculate (const Eigen::VectorXf &cartesianVel, VirtualRobot::IKSolver::CartesianSelection mode)
 
Eigen::VectorXf calculateJointLimitAvoidance ()
 
Eigen::VectorXf calculateJointLimitAvoidanceWithMargins (const Eigen::VectorXf &margins)
 CartesianVelocityController::calculateJointLimitAvoidanceWithMargins. More...
 
Eigen::VectorXf calculateNullspaceVelocity (const Eigen::VectorXf &cartesianVel, float KpScale, VirtualRobot::IKSolver::CartesianSelection mode)
 
Eigen::VectorXf calculateRegularization (VirtualRobot::IKSolver::CartesianSelection mode)
 
 CartesianVelocityController (CartesianVelocityController &&)=default
 
 CartesianVelocityController (const VirtualRobot::RobotNodeSetPtr &rns, const VirtualRobot::RobotNodePtr &tcp=nullptr, const VirtualRobot::JacobiProvider::InverseJacobiMethod invJacMethod=VirtualRobot::JacobiProvider::eSVDDamped, bool _considerJointLimits=true)
 
bool getConsiderJointLimits () const
 
CartesianVelocityControlleroperator= (CartesianVelocityController &&)=default
 
void setCartesianRegularization (float cartesianMMRegularization, float cartesianRadianRegularization)
 
void setConsiderJointLimits (bool value)
 
void setJointCosts (const std::vector< float > &_jointCosts)
 

Public Attributes

VirtualRobot::RobotNodePtr _tcp
 
VirtualRobot::DifferentialIKPtr ik
 
Eigen::MatrixXf jacobi
 
Eigen::VectorXf maximumJointVelocities
 
VirtualRobot::RobotNodeSetPtr rns
 

Detailed Description

Definition at line 36 of file CartesianVelocityController.h.

Constructor & Destructor Documentation

◆ CartesianVelocityController() [1/2]

CartesianVelocityController ( const VirtualRobot::RobotNodeSetPtr &  rns,
const VirtualRobot::RobotNodePtr &  tcp = nullptr,
const VirtualRobot::JacobiProvider::InverseJacobiMethod  invJacMethod = VirtualRobot::JacobiProvider::eSVDDamped,
bool  _considerJointLimits = true 
)

Definition at line 38 of file CartesianVelocityController.cpp.

◆ CartesianVelocityController() [2/2]

Member Function Documentation

◆ calculate() [1/3]

Eigen::VectorXf calculate ( const Eigen::VectorXf &  cartesianVel,
const Eigen::VectorXf &  nullspaceVel,
VirtualRobot::IKSolver::CartesianSelection  mode 
)

Definition at line 102 of file CartesianVelocityController.cpp.

◆ calculate() [2/3]

Eigen::VectorXf calculate ( const Eigen::VectorXf &  cartesianVel,
float  KpJointLimitAvoidanceScale,
VirtualRobot::IKSolver::CartesianSelection  mode 
)

Definition at line 96 of file CartesianVelocityController.cpp.

+ Here is the call graph for this function:

◆ calculate() [3/3]

Eigen::VectorXf calculate ( const Eigen::VectorXf &  cartesianVel,
VirtualRobot::IKSolver::CartesianSelection  mode 
)

Definition at line 71 of file CartesianVelocityController.cpp.

+ Here is the caller graph for this function:

◆ calculateJointLimitAvoidance()

Eigen::VectorXf calculateJointLimitAvoidance ( )

Definition at line 152 of file CartesianVelocityController.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ calculateJointLimitAvoidanceWithMargins()

Eigen::VectorXf calculateJointLimitAvoidanceWithMargins ( const Eigen::VectorXf &  margins)

CartesianVelocityController::calculateJointLimitAvoidanceWithMargins.

Parameters
marginsVector with same size as rns. Values between 0 (no margin) and 1 (50% low and 50% high margin).
Returns

Definition at line 177 of file CartesianVelocityController.cpp.

+ Here is the call graph for this function:

◆ calculateNullspaceVelocity()

Eigen::VectorXf calculateNullspaceVelocity ( const Eigen::VectorXf &  cartesianVel,
float  KpScale,
VirtualRobot::IKSolver::CartesianSelection  mode 
)

Definition at line 201 of file CartesianVelocityController.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ calculateRegularization()

Eigen::VectorXf calculateRegularization ( VirtualRobot::IKSolver::CartesianSelection  mode)

Definition at line 219 of file CartesianVelocityController.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getConsiderJointLimits()

bool getConsiderJointLimits ( ) const

Definition at line 291 of file CartesianVelocityController.cpp.

◆ operator=()

◆ setCartesianRegularization()

void setCartesianRegularization ( float  cartesianMMRegularization,
float  cartesianRadianRegularization 
)

Definition at line 213 of file CartesianVelocityController.cpp.

◆ setConsiderJointLimits()

void setConsiderJointLimits ( bool  value)

Definition at line 296 of file CartesianVelocityController.cpp.

+ Here is the call graph for this function:

◆ setJointCosts()

void setJointCosts ( const std::vector< float > &  _jointCosts)

Definition at line 301 of file CartesianVelocityController.cpp.

+ Here is the caller graph for this function:

Member Data Documentation

◆ _tcp

VirtualRobot::RobotNodePtr _tcp

Definition at line 61 of file CartesianVelocityController.h.

◆ ik

VirtualRobot::DifferentialIKPtr ik

Definition at line 60 of file CartesianVelocityController.h.

◆ jacobi

Eigen::MatrixXf jacobi

Definition at line 58 of file CartesianVelocityController.h.

◆ maximumJointVelocities

Eigen::VectorXf maximumJointVelocities

Definition at line 62 of file CartesianVelocityController.h.

◆ rns

VirtualRobot::RobotNodeSetPtr rns

Definition at line 59 of file CartesianVelocityController.h.


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