wbc
wbc::JointLimitAvoidanceController Class Reference

#include <JointLimitAvoidanceController.hpp>

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

Public Member Functions

 JointLimitAvoidanceController (const base::JointLimits &limits, const base::VectorXd &influence_distance)
 
const base::commands::Joints & update (const base::samples::Joints &feedback)
 update Compute control output
 
void setJointLimits (const base::JointLimits &limits)
 setJointLimits set upper and lower joint limits for the controller
 
void setEpsilon (const double eps)
 
- Public Member Functions inherited from wbc::PotentialFieldsController
 PotentialFieldsController (const uint _dimension)
 
void applySaturation (const base::VectorXd &in, base::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 base::VectorXd &gain)
 
void setMaxControlOutput (const base::VectorXd &new_max_control_output)
 
base::VectorXd getMaxControlOutput ()
 
base::VectorXd getPGain ()
 
const std::vector< PotentialFieldPtr > & getFields ()
 
uint getDimension ()
 

Protected Attributes

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

Constructor & Destructor Documentation

◆ JointLimitAvoidanceController()

wbc::JointLimitAvoidanceController::JointLimitAvoidanceController ( const base::JointLimits & limits,
const base::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

◆ setJointLimits()

void wbc::JointLimitAvoidanceController::setJointLimits ( const base::JointLimits & limits)

setJointLimits set upper and lower joint limits for the controller

Parameters
joint_limits

◆ update()

const base::commands::Joints & wbc::JointLimitAvoidanceController::update ( const base::samples::Joints & 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

base::JointLimits wbc::JointLimitAvoidanceController::joint_limits
protected

◆ joints_control_output

base::commands::Joints wbc::JointLimitAvoidanceController::joints_control_output
protected

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