wbc
wbc::JointLimitAvoidanceController Class Reference

#include <JointLimitAvoidanceController.hpp>

Inheritance diagram for wbc::JointLimitAvoidanceController:
wbc::PotentialFieldsController

Public Member Functions

 JointLimitAvoidanceController (const types::JointLimits &joint_limits, const std::vector< std::string > joint_names, const Eigen::VectorXd &influence_distance)
 
const types::JointCommandupdate (const types::JointState &feedback)
 update Compute control output
 
void setEpsilon (const double eps)
 
- Public Member Functions inherited from wbc::PotentialFieldsController
 PotentialFieldsController (const uint _dimension)
 
void applySaturation (const Eigen::VectorXd &in, Eigen::VectorXd &out)
 Apply Saturation on the control output. If one or more values of <in> are bigger than the Corrresponding entry of <max>, all values will be scaled down according to the biggest ratio eta = in_i / max,i.
 
void setFields (const std::vector< PotentialFieldPtr > &_fields)
 
std::vector< PotentialFieldInfogetFieldInfos ()
 
void clearFields ()
 
void setPGain (const Eigen::VectorXd &gain)
 
void setMaxControlOutput (const Eigen::VectorXd &new_max_control_output)
 
Eigen::VectorXd getMaxControlOutput ()
 
Eigen::VectorXd getPGain ()
 
const std::vector< PotentialFieldPtr > & getFields ()
 
uint getDimension ()
 

Protected Attributes

types::JointLimits joint_limits
 
types::JointCommand joints_control_output
 
double epsilon
 
- Protected Attributes inherited from wbc::PotentialFieldsController
Eigen::VectorXd p_gain
 
Eigen::VectorXd max_ctrl_output
 
Eigen::VectorXd control_output
 
std::vector< PotentialFieldPtrfields
 
std::vector< PotentialFieldInfofield_infos
 
uint dimension
 

Constructor & Destructor Documentation

◆ JointLimitAvoidanceController()

wbc::JointLimitAvoidanceController::JointLimitAvoidanceController ( const types::JointLimits & joint_limits,
const std::vector< std::string > joint_names,
const Eigen::VectorXd & influence_distance )

Member Function Documentation

◆ setEpsilon()

void wbc::JointLimitAvoidanceController::setEpsilon ( const double eps)
inline

Value to avoid nunmerical issues close to the joint limits. Default is 1e-9

◆ update()

const types::JointCommand & wbc::JointLimitAvoidanceController::update ( const types::JointState & feedback)

update Compute control output

Returns
Control output. Size will be same as dimension.

Member Data Documentation

◆ epsilon

double wbc::JointLimitAvoidanceController::epsilon
protected

◆ joint_limits

types::JointLimits wbc::JointLimitAvoidanceController::joint_limits
protected

◆ joints_control_output

types::JointCommand wbc::JointLimitAvoidanceController::joints_control_output
protected

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