|
#include <RobotAPI/libraries/core/CartesianNaturalPositionController.h>
Public Member Functions | |
Eigen::VectorXf | actualElbVel (const Eigen::VectorXf &jointVel) |
Eigen::VectorXf | actualTcpVel (const Eigen::VectorXf &jointVel) |
const Eigen::VectorXf | calculate (float dt, VirtualRobot::IKSolver::CartesianSelection mode=VirtualRobot::IKSolver::All) |
const Eigen::VectorXf | calculateNullspaceTargetDifference () |
CartesianNaturalPositionController (const VirtualRobot::RobotNodeSetPtr &rns, const VirtualRobot::RobotNodePtr &elbow, float maxPositionAcceleration, float maxOrientationAcceleration, float maxNullspaceAcceleration, const VirtualRobot::RobotNodePtr &tcp=nullptr) | |
void | clearFeedForwardVelocity () |
void | clearNullspaceTarget () |
const Eigen::Vector3f & | getCurrentElbowTarget () const |
const Eigen::VectorXf & | getCurrentNullspaceTarget () const |
const Eigen::Matrix4f & | getCurrentTarget () const |
const Eigen::Vector3f | getCurrentTargetPosition () const |
float | getOrientationError () const |
float | getPositionError () const |
std::string | getStatusText () |
bool | hasNullspaceTarget () const |
bool | isTargetNear () const |
bool | isTargetReached () const |
void | setConfig (const CartesianNaturalPositionControllerConfig &cfg) |
void | setFeedForwardVelocity (const Eigen::Vector3f &feedForwardVelocityPos, const Eigen::Vector3f &feedForwardVelocityOri) |
void | setFeedForwardVelocity (const Eigen::Vector6f &feedForwardVelocity) |
void | setNullSpaceControl (bool enabled) |
void | setNullspaceTarget (const Eigen::VectorXf &nullspaceTarget) |
void | setNullspaceTarget (const std::vector< float > &nullspaceTarget) |
void | setTarget (const Eigen::Matrix4f &tcpTarget, const Eigen::Vector3f &elbowTarget) |
Static Public Member Functions | |
static Eigen::VectorXf | LimitInfNormTo (const Eigen::VectorXf &vec, const std::vector< float > &maxValue) |
Public Attributes | |
bool | autoClearFeedForward = true |
Eigen::Vector6f | cartesianVelocity = Eigen::Vector6f::Zero() |
Eigen::Vector3f | elbowTarget |
Eigen::Vector6f | feedForwardVelocity = Eigen::Vector6f::Zero() |
float | jointLimitAvoidanceKp = 0.f |
float | jointLimitAvoidanceScale = 0.f |
Eigen::VectorXf | lastJointVelocity |
std::vector< float > | maxJointVelocity |
std::vector< float > | maxNullspaceVelocity |
bool | nullSpaceControlEnabled = true |
Eigen::VectorXf | nullspaceTarget = Eigen::VectorXf(0) |
float | nullspaceTargetKp = 0 |
CartesianPositionController | pcElb |
CartesianPositionController | pcTcp |
Eigen::Matrix4f | tcpTarget |
float | thresholdOrientationNear = 0.f |
float | thresholdOrientationReached = 0.f |
float | thresholdPositionNear = 0.f |
float | thresholdPositionReached = 0.f |
CartesianVelocityController | vcElb |
CartesianVelocityControllerWithRamp | vcTcp |
Definition at line 49 of file CartesianNaturalPositionController.h.
CartesianNaturalPositionController | ( | const VirtualRobot::RobotNodeSetPtr & | rns, |
const VirtualRobot::RobotNodePtr & | elbow, | ||
float | maxPositionAcceleration, | ||
float | maxOrientationAcceleration, | ||
float | maxNullspaceAcceleration, | ||
const VirtualRobot::RobotNodePtr & | tcp = nullptr |
||
) |
Definition at line 39 of file CartesianNaturalPositionController.cpp.
Eigen::VectorXf actualElbVel | ( | const Eigen::VectorXf & | jointVel | ) |
Definition at line 344 of file CartesianNaturalPositionController.cpp.
Eigen::VectorXf actualTcpVel | ( | const Eigen::VectorXf & | jointVel | ) |
Definition at line 338 of file CartesianNaturalPositionController.cpp.
const Eigen::VectorXf calculate | ( | float | dt, |
VirtualRobot::IKSolver::CartesianSelection | mode = VirtualRobot::IKSolver::All |
||
) |
Definition at line 111 of file CartesianNaturalPositionController.cpp.
const Eigen::VectorXf calculateNullspaceTargetDifference | ( | ) |
Definition at line 88 of file CartesianNaturalPositionController.cpp.
void clearFeedForwardVelocity | ( | ) |
Definition at line 221 of file CartesianNaturalPositionController.cpp.
void clearNullspaceTarget | ( | ) |
Definition at line 215 of file CartesianNaturalPositionController.cpp.
const Eigen::Vector3f & getCurrentElbowTarget | ( | ) | const |
Definition at line 265 of file CartesianNaturalPositionController.cpp.
const Eigen::VectorXf & getCurrentNullspaceTarget | ( | ) | const |
Definition at line 271 of file CartesianNaturalPositionController.cpp.
const Eigen::Matrix4f & getCurrentTarget | ( | ) | const |
Definition at line 253 of file CartesianNaturalPositionController.cpp.
const Eigen::Vector3f getCurrentTargetPosition | ( | ) | const |
Definition at line 259 of file CartesianNaturalPositionController.cpp.
float getOrientationError | ( | ) | const |
Definition at line 233 of file CartesianNaturalPositionController.cpp.
float getPositionError | ( | ) | const |
Definition at line 227 of file CartesianNaturalPositionController.cpp.
std::string getStatusText | ( | ) |
Definition at line 296 of file CartesianNaturalPositionController.cpp.
bool hasNullspaceTarget | ( | ) | const |
Definition at line 277 of file CartesianNaturalPositionController.cpp.
bool isTargetNear | ( | ) | const |
Definition at line 246 of file CartesianNaturalPositionController.cpp.
bool isTargetReached | ( | ) | const |
Definition at line 239 of file CartesianNaturalPositionController.cpp.
|
static |
Definition at line 64 of file CartesianNaturalPositionController.cpp.
void setConfig | ( | const CartesianNaturalPositionControllerConfig & | cfg | ) |
Definition at line 306 of file CartesianNaturalPositionController.cpp.
void setFeedForwardVelocity | ( | const Eigen::Vector3f & | feedForwardVelocityPos, |
const Eigen::Vector3f & | feedForwardVelocityOri | ||
) |
Definition at line 189 of file CartesianNaturalPositionController.cpp.
void setFeedForwardVelocity | ( | const Eigen::Vector6f & | feedForwardVelocity | ) |
Definition at line 182 of file CartesianNaturalPositionController.cpp.
void setNullSpaceControl | ( | bool | enabled | ) |
Definition at line 290 of file CartesianNaturalPositionController.cpp.
void setNullspaceTarget | ( | const Eigen::VectorXf & | nullspaceTarget | ) |
Definition at line 198 of file CartesianNaturalPositionController.cpp.
void setNullspaceTarget | ( | const std::vector< float > & | nullspaceTarget | ) |
Definition at line 204 of file CartesianNaturalPositionController.cpp.
void setTarget | ( | const Eigen::Matrix4f & | tcpTarget, |
const Eigen::Vector3f & | elbowTarget | ||
) |
Definition at line 174 of file CartesianNaturalPositionController.cpp.
bool autoClearFeedForward = true |
Definition at line 120 of file CartesianNaturalPositionController.h.
Eigen::Vector6f cartesianVelocity = Eigen::Vector6f::Zero() |
Definition at line 119 of file CartesianNaturalPositionController.h.
Eigen::Vector3f elbowTarget |
Definition at line 106 of file CartesianNaturalPositionController.h.
Eigen::Vector6f feedForwardVelocity = Eigen::Vector6f::Zero() |
Definition at line 118 of file CartesianNaturalPositionController.h.
float jointLimitAvoidanceKp = 0.f |
Definition at line 125 of file CartesianNaturalPositionController.h.
float jointLimitAvoidanceScale = 0.f |
Definition at line 124 of file CartesianNaturalPositionController.h.
Eigen::VectorXf lastJointVelocity |
Definition at line 103 of file CartesianNaturalPositionController.h.
std::vector<float> maxJointVelocity |
Definition at line 114 of file CartesianNaturalPositionController.h.
std::vector<float> maxNullspaceVelocity |
Definition at line 115 of file CartesianNaturalPositionController.h.
bool nullSpaceControlEnabled = true |
Definition at line 123 of file CartesianNaturalPositionController.h.
Eigen::VectorXf nullspaceTarget = Eigen::VectorXf(0) |
Definition at line 107 of file CartesianNaturalPositionController.h.
float nullspaceTargetKp = 0 |
Definition at line 126 of file CartesianNaturalPositionController.h.
Definition at line 102 of file CartesianNaturalPositionController.h.
Definition at line 100 of file CartesianNaturalPositionController.h.
Eigen::Matrix4f tcpTarget |
Definition at line 105 of file CartesianNaturalPositionController.h.
float thresholdOrientationNear = 0.f |
Definition at line 112 of file CartesianNaturalPositionController.h.
float thresholdOrientationReached = 0.f |
Definition at line 110 of file CartesianNaturalPositionController.h.
float thresholdPositionNear = 0.f |
Definition at line 111 of file CartesianNaturalPositionController.h.
float thresholdPositionReached = 0.f |
Definition at line 109 of file CartesianNaturalPositionController.h.
Definition at line 101 of file CartesianNaturalPositionController.h.
Definition at line 99 of file CartesianNaturalPositionController.h.