28 #include <VirtualRobot/IK/JacobiProvider.h>
29 #include <VirtualRobot/VirtualRobot.h>
33 class CartesianVelocityController;
40 const VirtualRobot::RobotNodePtr& tcp =
nullptr,
41 const VirtualRobot::JacobiProvider::InverseJacobiMethod
42 invJacMethod = VirtualRobot::JacobiProvider::eSVDDamped,
43 bool _considerJointLimits =
true);
48 Eigen::VectorXf
calculate(
const Eigen::VectorXf& cartesianVel,
50 Eigen::VectorXf
calculate(
const Eigen::VectorXf& cartesianVel,
51 float KpJointLimitAvoidanceScale,
53 Eigen::VectorXf
calculate(
const Eigen::VectorXf& cartesianVel,
54 const Eigen::VectorXf& nullspaceVel,
63 float cartesianRadianRegularization);
69 VirtualRobot::RobotNodeSetPtr
rns;
70 VirtualRobot::DifferentialIKPtr
ik;
71 VirtualRobot::RobotNodePtr
_tcp;
79 Eigen::MatrixXf _jacobiWithCosts;
82 const Eigen::VectorXf& cartesianVel,
84 Eigen::MatrixXf& _inv,
85 float jointLimitCheckAccuracy = 0.001f);
86 bool _considerJointLimits =
true;
87 float _cartesianMMRegularization;
88 float _cartesianRadianRegularization;
89 Eigen::VectorXf _jointCosts;