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
 

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 )

Member Function Documentation

◆ addWaypoint()

void addWaypoint ( const Eigen::Matrix4f & waypoint)

◆ calculate()

const Eigen::VectorXf & calculate ( float dt)

◆ clearFeedForwardVelocity()

void clearFeedForwardVelocity ( )

◆ getCurrentTarget()

const Eigen::Matrix4f & getCurrentTarget ( ) const

◆ getCurrentTargetPosition()

const Eigen::Vector3f getCurrentTargetPosition ( ) const

◆ getOrientationError()

float getOrientationError ( ) const

◆ getPositionError()

float getPositionError ( ) const

◆ getStatusText()

std::string getStatusText ( )

◆ isCurrentTargetNear()

bool isCurrentTargetNear ( ) const

◆ isCurrentTargetReached()

bool isCurrentTargetReached ( ) const

◆ isFinalTargetNear()

bool isFinalTargetNear ( ) const

◆ isFinalTargetReached()

bool isFinalTargetReached ( ) const

◆ isLastWaypoint()

bool isLastWaypoint ( ) const

◆ setConfig()

void setConfig ( const CartesianWaypointControllerConfig & cfg)

◆ setCurrentJointVelocity()

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

◆ setFeedForwardVelocity() [1/2]

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

◆ setFeedForwardVelocity() [2/2]

void setFeedForwardVelocity ( const Eigen::Vector6f & feedForwardVelocity)

◆ setNullSpaceControl()

void setNullSpaceControl ( bool enabled)

◆ setTarget()

void setTarget ( const Eigen::Matrix4f & target)

◆ setWaypoints()

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

◆ skipToClosestWaypoint()

size_t skipToClosestWaypoint ( float rad2mmFactor)

◆ swapWaypoints()

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

Member Data Documentation

◆ autoClearFeedForward

bool autoClearFeedForward = true

◆ cartesianVelocity

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

◆ ctrlCartesianPos2Vel

CartesianPositionController ctrlCartesianPos2Vel

◆ ctrlCartesianVelWithRamps

CartesianVelocityControllerWithRamp ctrlCartesianVelWithRamps

◆ currentWaypointIndex

size_t currentWaypointIndex = 0.f

◆ feedForwardVelocity

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

◆ jointLimitAvoidanceScale

float jointLimitAvoidanceScale = 0.f

◆ KpJointLimitAvoidance

float KpJointLimitAvoidance = 0.f

◆ nullSpaceControlEnabled

bool nullSpaceControlEnabled = true

◆ thresholdOrientationNear

float thresholdOrientationNear = 0.f

◆ thresholdOrientationReached

float thresholdOrientationReached = 0.f

◆ thresholdPositionNear

float thresholdPositionNear = 0.f

◆ thresholdPositionReached

float thresholdPositionReached = 0.f

◆ waypoints

std::vector<Eigen::Matrix4f> waypoints

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