|
#include <RobotAPI/libraries/core/CartesianWaypointController.h>
Public Member Functions | |
void | addWaypoint (const Eigen::Matrix4f &waypoint) |
const Eigen::VectorXf & | calculate (float dt) |
CartesianWaypointController (const VirtualRobot::RobotNodeSetPtr &rns, const Eigen::VectorXf ¤tJointVelocity, float maxPositionAcceleration, float maxOrientationAcceleration, float maxNullspaceAcceleration, const VirtualRobot::RobotNodePtr &tcp=nullptr, const VirtualRobot::RobotNodePtr &referenceFrame=nullptr) | |
void | clearFeedForwardVelocity () |
const Eigen::Matrix4f & | getCurrentTarget () const |
const Eigen::Vector3f | getCurrentTargetPosition () const |
float | getOrientationError () const |
float | getPositionError () const |
std::string | getStatusText () |
bool | isCurrentTargetNear () const |
bool | isCurrentTargetReached () const |
bool | isFinalTargetNear () const |
bool | isFinalTargetReached () const |
bool | isLastWaypoint () const |
void | setConfig (const CartesianWaypointControllerConfig &cfg) |
void | setCurrentJointVelocity (const Eigen::Ref< const Eigen::VectorXf > ¤tJointVelocity) |
void | setFeedForwardVelocity (const Eigen::Vector3f &feedForwardVelocityPos, const Eigen::Vector3f &feedForwardVelocityOri) |
void | setFeedForwardVelocity (const Eigen::Vector6f &feedForwardVelocity) |
void | setNullSpaceControl (bool enabled) |
void | setTarget (const Eigen::Matrix4f &target) |
void | setWaypoints (const std::vector< Eigen::Matrix4f > &waypoints) |
size_t | skipToClosestWaypoint (float rad2mmFactor) |
void | swapWaypoints (std::vector< Eigen::Matrix4f > &waypoints) |
Public Attributes | |
bool | autoClearFeedForward = true |
Eigen::Vector6f | cartesianVelocity = Eigen::Vector6f::Zero() |
CartesianPositionController | ctrlCartesianPos2Vel |
CartesianVelocityControllerWithRamp | ctrlCartesianVelWithRamps |
size_t | currentWaypointIndex = 0.f |
Eigen::Vector6f | feedForwardVelocity = Eigen::Vector6f::Zero() |
float | jointLimitAvoidanceScale = 0.f |
float | KpJointLimitAvoidance = 0.f |
bool | nullSpaceControlEnabled = true |
float | thresholdOrientationNear = 0.f |
float | thresholdOrientationReached = 0.f |
float | thresholdPositionNear = 0.f |
float | thresholdPositionReached = 0.f |
std::vector< Eigen::Matrix4f > | waypoints |
Definition at line 49 of file CartesianWaypointController.h.
CartesianWaypointController | ( | const VirtualRobot::RobotNodeSetPtr & | rns, |
const Eigen::VectorXf & | currentJointVelocity, | ||
float | maxPositionAcceleration, | ||
float | maxOrientationAcceleration, | ||
float | maxNullspaceAcceleration, | ||
const VirtualRobot::RobotNodePtr & | tcp = nullptr , |
||
const VirtualRobot::RobotNodePtr & | referenceFrame = nullptr |
||
) |
Definition at line 39 of file CartesianWaypointController.cpp.
void addWaypoint | ( | const Eigen::Matrix4f & | waypoint | ) |
Definition at line 118 of file CartesianWaypointController.cpp.
const Eigen::VectorXf & calculate | ( | float | dt | ) |
Definition at line 66 of file CartesianWaypointController.cpp.
void clearFeedForwardVelocity | ( | ) |
Definition at line 141 of file CartesianWaypointController.cpp.
const Eigen::Matrix4f & getCurrentTarget | ( | ) | const |
Definition at line 181 of file CartesianWaypointController.cpp.
const Eigen::Vector3f getCurrentTargetPosition | ( | ) | const |
Definition at line 186 of file CartesianWaypointController.cpp.
float getOrientationError | ( | ) | const |
Definition at line 151 of file CartesianWaypointController.cpp.
float getPositionError | ( | ) | const |
Definition at line 146 of file CartesianWaypointController.cpp.
std::string getStatusText | ( | ) |
Definition at line 217 of file CartesianWaypointController.cpp.
bool isCurrentTargetNear | ( | ) | const |
Definition at line 161 of file CartesianWaypointController.cpp.
bool isCurrentTargetReached | ( | ) | const |
Definition at line 156 of file CartesianWaypointController.cpp.
bool isFinalTargetNear | ( | ) | const |
Definition at line 171 of file CartesianWaypointController.cpp.
bool isFinalTargetReached | ( | ) | const |
Definition at line 166 of file CartesianWaypointController.cpp.
bool isLastWaypoint | ( | ) | const |
Definition at line 176 of file CartesianWaypointController.cpp.
void setConfig | ( | const CartesianWaypointControllerConfig & | cfg | ) |
Definition at line 225 of file CartesianWaypointController.cpp.
void setCurrentJointVelocity | ( | const Eigen::Ref< const Eigen::VectorXf > & | currentJointVelocity | ) |
Definition at line 246 of file CartesianWaypointController.cpp.
void setFeedForwardVelocity | ( | const Eigen::Vector3f & | feedForwardVelocityPos, |
const Eigen::Vector3f & | feedForwardVelocityOri | ||
) |
Definition at line 135 of file CartesianWaypointController.cpp.
void setFeedForwardVelocity | ( | const Eigen::Vector6f & | feedForwardVelocity | ) |
Definition at line 130 of file CartesianWaypointController.cpp.
void setNullSpaceControl | ( | bool | enabled | ) |
Definition at line 212 of file CartesianWaypointController.cpp.
void setTarget | ( | const Eigen::Matrix4f & | target | ) |
Definition at line 123 of file CartesianWaypointController.cpp.
void setWaypoints | ( | const std::vector< Eigen::Matrix4f > & | waypoints | ) |
Definition at line 106 of file CartesianWaypointController.cpp.
size_t skipToClosestWaypoint | ( | float | rad2mmFactor | ) |
Definition at line 192 of file CartesianWaypointController.cpp.
void swapWaypoints | ( | std::vector< Eigen::Matrix4f > & | waypoints | ) |
Definition at line 112 of file CartesianWaypointController.cpp.
bool autoClearFeedForward = true |
Definition at line 110 of file CartesianWaypointController.h.
Eigen::Vector6f cartesianVelocity = Eigen::Vector6f::Zero() |
Definition at line 109 of file CartesianWaypointController.h.
CartesianPositionController ctrlCartesianPos2Vel |
Definition at line 98 of file CartesianWaypointController.h.
CartesianVelocityControllerWithRamp ctrlCartesianVelWithRamps |
Definition at line 97 of file CartesianWaypointController.h.
size_t currentWaypointIndex = 0.f |
Definition at line 101 of file CartesianWaypointController.h.
Eigen::Vector6f feedForwardVelocity = Eigen::Vector6f::Zero() |
Definition at line 108 of file CartesianWaypointController.h.
float jointLimitAvoidanceScale = 0.f |
Definition at line 114 of file CartesianWaypointController.h.
float KpJointLimitAvoidance = 0.f |
Definition at line 115 of file CartesianWaypointController.h.
bool nullSpaceControlEnabled = true |
Definition at line 113 of file CartesianWaypointController.h.
float thresholdOrientationNear = 0.f |
Definition at line 106 of file CartesianWaypointController.h.
float thresholdOrientationReached = 0.f |
Definition at line 104 of file CartesianWaypointController.h.
float thresholdPositionNear = 0.f |
Definition at line 105 of file CartesianWaypointController.h.
float thresholdPositionReached = 0.f |
Definition at line 103 of file CartesianWaypointController.h.
std::vector<Eigen::Matrix4f> waypoints |
Definition at line 100 of file CartesianWaypointController.h.