CartesianWaypointController Class Reference

#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 &currentJointVelocity, 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 > &currentJointVelocity)
 
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
 

Detailed Description

Definition at line 49 of file CartesianWaypointController.h.

Constructor & Destructor Documentation

◆ CartesianWaypointController()

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.

Member Function Documentation

◆ addWaypoint()

void addWaypoint ( const Eigen::Matrix4f &  waypoint)

Definition at line 118 of file CartesianWaypointController.cpp.

◆ calculate()

const Eigen::VectorXf & calculate ( float  dt)

Definition at line 66 of file CartesianWaypointController.cpp.

+ Here is the call graph for this function:

◆ clearFeedForwardVelocity()

void clearFeedForwardVelocity ( )

Definition at line 141 of file CartesianWaypointController.cpp.

+ Here is the caller graph for this function:

◆ getCurrentTarget()

const Eigen::Matrix4f & getCurrentTarget ( ) const

Definition at line 181 of file CartesianWaypointController.cpp.

+ Here is the caller graph for this function:

◆ getCurrentTargetPosition()

const Eigen::Vector3f getCurrentTargetPosition ( ) const

Definition at line 186 of file CartesianWaypointController.cpp.

◆ getOrientationError()

float getOrientationError ( ) const

Definition at line 151 of file CartesianWaypointController.cpp.

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

◆ getPositionError()

float getPositionError ( ) const

Definition at line 146 of file CartesianWaypointController.cpp.

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

◆ getStatusText()

std::string getStatusText ( )

Definition at line 217 of file CartesianWaypointController.cpp.

+ Here is the call graph for this function:

◆ isCurrentTargetNear()

bool isCurrentTargetNear ( ) const

Definition at line 161 of file CartesianWaypointController.cpp.

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

◆ isCurrentTargetReached()

bool isCurrentTargetReached ( ) const

Definition at line 156 of file CartesianWaypointController.cpp.

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

◆ isFinalTargetNear()

bool isFinalTargetNear ( ) const

Definition at line 171 of file CartesianWaypointController.cpp.

+ Here is the call graph for this function:

◆ isFinalTargetReached()

bool isFinalTargetReached ( ) const

Definition at line 166 of file CartesianWaypointController.cpp.

+ Here is the call graph for this function:

◆ isLastWaypoint()

bool isLastWaypoint ( ) const

Definition at line 176 of file CartesianWaypointController.cpp.

+ Here is the caller graph for this function:

◆ setConfig()

void setConfig ( const CartesianWaypointControllerConfig &  cfg)

Definition at line 225 of file CartesianWaypointController.cpp.

+ Here is the call graph for this function:

◆ setCurrentJointVelocity()

void setCurrentJointVelocity ( const Eigen::Ref< const Eigen::VectorXf > &  currentJointVelocity)

Definition at line 246 of file CartesianWaypointController.cpp.

+ Here is the call graph for this function:

◆ setFeedForwardVelocity() [1/2]

void setFeedForwardVelocity ( const Eigen::Vector3f &  feedForwardVelocityPos,
const Eigen::Vector3f &  feedForwardVelocityOri 
)

Definition at line 135 of file CartesianWaypointController.cpp.

◆ setFeedForwardVelocity() [2/2]

void setFeedForwardVelocity ( const Eigen::Vector6f feedForwardVelocity)

Definition at line 130 of file CartesianWaypointController.cpp.

◆ setNullSpaceControl()

void setNullSpaceControl ( bool  enabled)

Definition at line 212 of file CartesianWaypointController.cpp.

◆ setTarget()

void setTarget ( const Eigen::Matrix4f &  target)

Definition at line 123 of file CartesianWaypointController.cpp.

+ Here is the call graph for this function:

◆ setWaypoints()

void setWaypoints ( const std::vector< Eigen::Matrix4f > &  waypoints)

Definition at line 106 of file CartesianWaypointController.cpp.

◆ skipToClosestWaypoint()

size_t skipToClosestWaypoint ( float  rad2mmFactor)

Definition at line 192 of file CartesianWaypointController.cpp.

+ Here is the call graph for this function:

◆ swapWaypoints()

void swapWaypoints ( std::vector< Eigen::Matrix4f > &  waypoints)

Definition at line 112 of file CartesianWaypointController.cpp.

+ Here is the call graph for this function:

Member Data Documentation

◆ autoClearFeedForward

bool autoClearFeedForward = true

Definition at line 110 of file CartesianWaypointController.h.

◆ cartesianVelocity

Eigen::Vector6f cartesianVelocity = Eigen::Vector6f::Zero()

Definition at line 109 of file CartesianWaypointController.h.

◆ ctrlCartesianPos2Vel

CartesianPositionController ctrlCartesianPos2Vel

Definition at line 98 of file CartesianWaypointController.h.

◆ ctrlCartesianVelWithRamps

CartesianVelocityControllerWithRamp ctrlCartesianVelWithRamps

Definition at line 97 of file CartesianWaypointController.h.

◆ currentWaypointIndex

size_t currentWaypointIndex = 0.f

Definition at line 101 of file CartesianWaypointController.h.

◆ feedForwardVelocity

Eigen::Vector6f feedForwardVelocity = Eigen::Vector6f::Zero()

Definition at line 108 of file CartesianWaypointController.h.

◆ jointLimitAvoidanceScale

float jointLimitAvoidanceScale = 0.f

Definition at line 114 of file CartesianWaypointController.h.

◆ KpJointLimitAvoidance

float KpJointLimitAvoidance = 0.f

Definition at line 115 of file CartesianWaypointController.h.

◆ nullSpaceControlEnabled

bool nullSpaceControlEnabled = true

Definition at line 113 of file CartesianWaypointController.h.

◆ thresholdOrientationNear

float thresholdOrientationNear = 0.f

Definition at line 106 of file CartesianWaypointController.h.

◆ thresholdOrientationReached

float thresholdOrientationReached = 0.f

Definition at line 104 of file CartesianWaypointController.h.

◆ thresholdPositionNear

float thresholdPositionNear = 0.f

Definition at line 105 of file CartesianWaypointController.h.

◆ thresholdPositionReached

float thresholdPositionReached = 0.f

Definition at line 103 of file CartesianWaypointController.h.

◆ waypoints

std::vector<Eigen::Matrix4f> waypoints

Definition at line 100 of file CartesianWaypointController.h.


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