PositionControllerHelper Class Reference

#include <RobotAPI/libraries/RobotStatechartHelpers/PositionControllerHelper.h>

Classes

struct  NullspaceOptimizationArgs
 

Public Member Functions

void addWaypoint (const Eigen::Matrix4f &waypoint)
 
void clearFeedForwardVelocity ()
 
const Eigen::Matrix4f & getCurrentTarget () const
 
const Eigen::Vector3f getCurrentTargetPosition () const
 
float getOrientationError () const
 
float getPositionError () const
 
std::string getStatusText ()
 
void immediateHardStop (bool clearTargets=true)
 
bool isCurrentTargetNear () const
 
bool isCurrentTargetReached () const
 
bool isFinalTargetNear () const
 
bool isFinalTargetReached () const
 
bool isLastWaypoint () const
 
 PositionControllerHelper (const VirtualRobot::RobotNodePtr &tcp, const VelocityControllerHelperPtr &velocityControllerHelper, const Eigen::Matrix4f &target)
 
 PositionControllerHelper (const VirtualRobot::RobotNodePtr &tcp, const VelocityControllerHelperPtr &velocityControllerHelper, const std::vector< Eigen::Matrix4f > &waypoints)
 
 PositionControllerHelper (const VirtualRobot::RobotNodePtr &tcp, const VelocityControllerHelperPtr &velocityControllerHelper, const std::vector< PosePtr > &waypoints)
 
void readConfig (const CartesianPositionControllerConfigBase &config)
 
void readConfig (const CartesianPositionControllerConfigBasePtr &config)
 
void setFeedForwardVelocity (const Eigen::Vector3f &feedForwardVelocityPos, const Eigen::Vector3f &feedForwardVelocityOri)
 
void setFeedForwardVelocity (const Eigen::Vector6f &feedForwardVelocity)
 
void setNewWaypoints (const std::vector< Eigen::Matrix4f > &waypoints)
 
void setNewWaypoints (const std::vector< PosePtr > &waypoints)
 
void setNullSpaceControl (bool enabled)
 
void setTarget (const Eigen::Matrix4f &target)
 
size_t skipToClosestWaypoint (float rad2mmFactor)
 
void update ()
 
void updateRead ()
 
void updateWrite ()
 

Static Public Member Functions

static bool OptimizeNullspace (const VirtualRobot::RobotNodePtr &tcp, const VirtualRobot::RobotNodeSetPtr &rns, const Eigen::Matrix4f &target, const NullspaceOptimizationArgs &args=NullspaceOptimizationArgs())
 OptimizeNullspace.
 

Public Attributes

bool autoClearFeedForward = true
 
size_t currentWaypointIndex = 0
 
Eigen::Vector6f feedForwardVelocity = Eigen::Vector6f::Zero()
 
CartesianPositionController posController
 
float thresholdOrientationNear = 0
 
float thresholdOrientationReached = 0
 
float thresholdPositionNear = 0
 
float thresholdPositionReached = 0
 
VelocityControllerHelperPtr velocityControllerHelper
 
std::vector< Eigen::Matrix4f > waypoints
 

Constructor & Destructor Documentation

◆ PositionControllerHelper() [1/3]

PositionControllerHelper ( const VirtualRobot::RobotNodePtr & tcp,
const VelocityControllerHelperPtr & velocityControllerHelper,
const Eigen::Matrix4f & target )

◆ PositionControllerHelper() [2/3]

PositionControllerHelper ( const VirtualRobot::RobotNodePtr & tcp,
const VelocityControllerHelperPtr & velocityControllerHelper,
const std::vector< Eigen::Matrix4f > & waypoints )

◆ PositionControllerHelper() [3/3]

PositionControllerHelper ( const VirtualRobot::RobotNodePtr & tcp,
const VelocityControllerHelperPtr & velocityControllerHelper,
const std::vector< PosePtr > & waypoints )

Member Function Documentation

◆ addWaypoint()

void addWaypoint ( const Eigen::Matrix4f & waypoint)

◆ 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 ( )

◆ immediateHardStop()

void immediateHardStop ( bool clearTargets = true)

◆ isCurrentTargetNear()

bool isCurrentTargetNear ( ) const

◆ isCurrentTargetReached()

bool isCurrentTargetReached ( ) const

◆ isFinalTargetNear()

bool isFinalTargetNear ( ) const

◆ isFinalTargetReached()

bool isFinalTargetReached ( ) const

◆ isLastWaypoint()

bool isLastWaypoint ( ) const

◆ OptimizeNullspace()

bool OptimizeNullspace ( const VirtualRobot::RobotNodePtr & tcp,
const VirtualRobot::RobotNodeSetPtr & rns,
const Eigen::Matrix4f & target,
const NullspaceOptimizationArgs & args = NullspaceOptimizationArgs() )
static

OptimizeNullspace.

Parameters
tcp
rns
targettarget pose in root frame of the robot
args
Returns

◆ readConfig() [1/2]

void readConfig ( const CartesianPositionControllerConfigBase & config)

◆ readConfig() [2/2]

void readConfig ( const CartesianPositionControllerConfigBasePtr & config)

◆ setFeedForwardVelocity() [1/2]

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

◆ setFeedForwardVelocity() [2/2]

void setFeedForwardVelocity ( const Eigen::Vector6f & feedForwardVelocity)

◆ setNewWaypoints() [1/2]

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

◆ setNewWaypoints() [2/2]

void setNewWaypoints ( const std::vector< PosePtr > & waypoints)

◆ setNullSpaceControl()

void setNullSpaceControl ( bool enabled)

◆ setTarget()

void setTarget ( const Eigen::Matrix4f & target)

◆ skipToClosestWaypoint()

size_t skipToClosestWaypoint ( float rad2mmFactor)

◆ update()

void update ( )

◆ updateRead()

void updateRead ( )

◆ updateWrite()

void updateWrite ( )

Member Data Documentation

◆ autoClearFeedForward

bool autoClearFeedForward = true

◆ currentWaypointIndex

size_t currentWaypointIndex = 0

◆ feedForwardVelocity

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

◆ posController

◆ thresholdOrientationNear

float thresholdOrientationNear = 0

◆ thresholdOrientationReached

float thresholdOrientationReached = 0

◆ thresholdPositionNear

float thresholdPositionNear = 0

◆ thresholdPositionReached

float thresholdPositionReached = 0

◆ velocityControllerHelper

VelocityControllerHelperPtr velocityControllerHelper

◆ waypoints

std::vector<Eigen::Matrix4f> waypoints

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