Flat Object Grasping Library (FOG)  0.2.1
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
fog::FingerCompliance Class Reference

Implements a controller for active compliance of the hand's fingers. More...

#include <finger_compliance.h>

+ Inheritance diagram for fog::FingerCompliance:
+ Collaboration diagram for fog::FingerCompliance:

Public Member Functions

 FingerCompliance (std::shared_ptr< arl::robot::Robot > hand)
 The default contructor of the controller. More...
 
void reference (const arma::mat &ref)
 
void setPositionReference (const Eigen::Vector3d &x_ref)
 

Protected Member Functions

void init ()
 Initializes the controller (runs only once in the beginning). More...
 
void update ()
 Runs the calculations in each controller cycle. More...
 
bool stop ()
 

Private Member Functions

void updateHand ()
 
void updateAdmittance ()
 
void updateCompliance ()
 
void updateRef ()
 

Private Attributes

arma::vec hand_torque_msr_
 
arma::vec hand_vel_cmd_
 
arma::vec hand_pos_msr_
 
arma::vec hand_pos_init_
 
arma::mat hand_gain_
 
std::vector
< arl::math::Admittance > 
admittance
 
arma::vec hand_pos_ref_
 
arma::vec hand_pos_ref_prev_
 
arma::vec hand_pos_ref_des_
 
double admittance_position_correction
 
double admittance_zeta
 
double admittance_ts
 
double admittance_stiffness
 
unsigned int hand_control_strategy
 
arl::utils::Timer ref_timer_
 
double ref_time_
 
double ref_duration_
 

Detailed Description

Implements a controller for active compliance of the hand's fingers.

Constructor & Destructor Documentation

fog::FingerCompliance::FingerCompliance ( std::shared_ptr< arl::robot::Robot >  hand)

The default contructor of the controller.

Parameters
handA pointer to the robot hand.

Member Function Documentation

void fog::FingerCompliance::init ( )
protected

Initializes the controller (runs only once in the beginning).

void fog::FingerCompliance::reference ( const arma::mat &  ref)
void fog::FingerCompliance::setPositionReference ( const Eigen::Vector3d &  x_ref)
bool fog::FingerCompliance::stop ( )
protected
void fog::FingerCompliance::update ( )
protected

Runs the calculations in each controller cycle.

+ Here is the call graph for this function:

void fog::FingerCompliance::updateAdmittance ( )
private

+ Here is the call graph for this function:

void fog::FingerCompliance::updateCompliance ( )
private
void fog::FingerCompliance::updateHand ( )
private
void fog::FingerCompliance::updateRef ( )
private

Member Data Documentation

std::vector<arl::math::Admittance> fog::FingerCompliance::admittance
private
double fog::FingerCompliance::admittance_position_correction
private
double fog::FingerCompliance::admittance_stiffness
private
double fog::FingerCompliance::admittance_ts
private
double fog::FingerCompliance::admittance_zeta
private
unsigned int fog::FingerCompliance::hand_control_strategy
private
arma::mat fog::FingerCompliance::hand_gain_
private
arma::vec fog::FingerCompliance::hand_pos_init_
private
arma::vec fog::FingerCompliance::hand_pos_msr_
private
arma::vec fog::FingerCompliance::hand_pos_ref_
private
arma::vec fog::FingerCompliance::hand_pos_ref_des_
private
arma::vec fog::FingerCompliance::hand_pos_ref_prev_
private
arma::vec fog::FingerCompliance::hand_torque_msr_
private
arma::vec fog::FingerCompliance::hand_vel_cmd_
private
double fog::FingerCompliance::ref_duration_
private
double fog::FingerCompliance::ref_time_
private
arl::utils::Timer fog::FingerCompliance::ref_timer_
private