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

A class that implements the controller for reaching the FGS state for the strategy- $\beta$. It closes the fingers and moves the arm. More...

#include <fog/reach_fgs_beta.h>

+ Inheritance diagram for fog::ReachFGSBeta:
+ Collaboration diagram for fog::ReachFGSBeta:

Public Member Functions

 ReachFGSBeta (const std::shared_ptr< arl::robot::Robot > &arm, const std::shared_ptr< arl::robot::Robot > &hand, const std::shared_ptr< arl::viz::RosStatePublisher > &viz, const std::shared_ptr< arl::robot::Controller > &finger_compliance)
 

Protected Member Functions

void measure ()
 
void update ()
 
void command ()
 
void init ()
 
bool stop ()
 

Private Member Functions

arma::vec multiplyPoseVector (const arma::mat &pose, const arma::vec &position)
 
arma::vec updateArmWithClik (const arma::vec &linear_vel)
 

Private Attributes

std::shared_ptr
< arl::robot::Robot > 
hand_
 
std::shared_ptr
< arl::viz::RosStatePublisher > 
viz_
 
arma::vec arm_position_
 
arma::mat arm_orientation_
 
arma::mat arm_pose_
 
arma::mat arm_jac_
 
arma::vec arm_jnt_vel_
 
arma::vec arm_task_vel_
 
arl::math::Clik clik_
 
unsigned int arm_control_strategy_
 
arma::vec hand_vel_msr_
 
std::shared_ptr
< arl::robot::Controller > 
finger_compliance_
 
double norm_hand_vel_msr_prev_
 
arma::vec initial_hand_position_
 
arma::mat initial_hand_orientation_
 
arma::vec hand_position_
 
arma::mat hand_orientation_
 

Detailed Description

A class that implements the controller for reaching the FGS state for the strategy- $\beta$. It closes the fingers and moves the arm.

Constructor & Destructor Documentation

fog::ReachFGSBeta::ReachFGSBeta ( const std::shared_ptr< arl::robot::Robot > &  arm,
const std::shared_ptr< arl::robot::Robot > &  hand,
const std::shared_ptr< arl::viz::RosStatePublisher > &  viz,
const std::shared_ptr< arl::robot::Controller > &  finger_compliance 
)

Member Function Documentation

void fog::ReachFGSBeta::command ( )
protected
void fog::ReachFGSBeta::init ( )
protected

Initialize CLIK for the arm

Set the robot arma to velocity control

void fog::ReachFGSBeta::measure ( )
protected
arma::vec fog::ReachFGSBeta::multiplyPoseVector ( const arma::mat &  pose,
const arma::vec &  position 
)
private
bool fog::ReachFGSBeta::stop ( )
protected
void fog::ReachFGSBeta::update ( )
protected

+ Here is the call graph for this function:

arma::vec fog::ReachFGSBeta::updateArmWithClik ( const arma::vec &  linear_vel)
private

Function that calculates the projection/rotation of the vector next_command to the plain defined by V (vector from wrist to object) and Z (the Z axis of the object frame)

Member Data Documentation

unsigned int fog::ReachFGSBeta::arm_control_strategy_
private
arma::mat fog::ReachFGSBeta::arm_jac_
private
arma::vec fog::ReachFGSBeta::arm_jnt_vel_
private
arma::mat fog::ReachFGSBeta::arm_orientation_
private
arma::mat fog::ReachFGSBeta::arm_pose_
private
arma::vec fog::ReachFGSBeta::arm_position_
private
arma::vec fog::ReachFGSBeta::arm_task_vel_
private
arl::math::Clik fog::ReachFGSBeta::clik_
private
std::shared_ptr<arl::robot::Controller> fog::ReachFGSBeta::finger_compliance_
private
std::shared_ptr<arl::robot::Robot> fog::ReachFGSBeta::hand_
private
arma::mat fog::ReachFGSBeta::hand_orientation_
private
arma::vec fog::ReachFGSBeta::hand_position_
private
arma::vec fog::ReachFGSBeta::hand_vel_msr_
private
arma::mat fog::ReachFGSBeta::initial_hand_orientation_
private
arma::vec fog::ReachFGSBeta::initial_hand_position_
private
double fog::ReachFGSBeta::norm_hand_vel_msr_prev_
private
std::shared_ptr<arl::viz::RosStatePublisher> fog::ReachFGSBeta::viz_
private