A class that implements the controller for reaching the PGS state. It reads feedback from the position of the fingeres and commands the task velocity of the arm.
More...
#include <fog/reach_pgs_beta.h>
|
| ReachPGSBeta (const std::shared_ptr< arl::robot::Robot > &arm, const std::shared_ptr< arl::robot::Robot > &hand, const std::shared_ptr< arl::robot::Sensor > &sensor, const std::shared_ptr< arl::viz::RosStatePublisher > &viz, double initial_velocity, double theta, double phi) |
| The default constructor. More...
|
|
A class that implements the controller for reaching the PGS state. It reads feedback from the position of the fingeres and commands the task velocity of the arm.
fog::ReachPGSBeta::ReachPGSBeta |
( |
const std::shared_ptr< arl::robot::Robot > & |
arm, |
|
|
const std::shared_ptr< arl::robot::Robot > & |
hand, |
|
|
const std::shared_ptr< arl::robot::Sensor > & |
sensor, |
|
|
const std::shared_ptr< arl::viz::RosStatePublisher > & |
viz, |
|
|
double |
initial_velocity, |
|
|
double |
theta, |
|
|
double |
phi |
|
) |
| |
The default constructor.
- Parameters
-
arm | The interface with the robot arm |
hand | The interface with the robot hand |
h | The model of the hand as it is considered in this work |
initial_velocity | The amplitude of the initial velocity of the arm |
void fog::ReachPGSBeta::command |
( |
| ) |
|
|
protected |
void fog::ReachPGSBeta::init |
( |
| ) |
|
|
protected |
Initialize CLIK for the arm
Set the first time the prev position
Epsilon
Measure the initial orientation of the arm This orientation it is assumed to be the orientation of the IGS
Set the initial velocity of the arm, which has an initial ampitude and the direction of the z-axis (the axis coming out of the palm).
Set the robot arma to velocity control
void fog::ReachPGSBeta::measure |
( |
| ) |
|
|
protected |
vec fog::ReachPGSBeta::multiplyPoseVector |
( |
const arma::mat & |
pose, |
|
|
const arma::vec & |
position |
|
) |
| |
|
private |
void fog::ReachPGSBeta::projectionToPlane |
( |
const arma::vec & |
V, |
|
|
const arma::vec & |
Z, |
|
|
arma::vec & |
next_command |
|
) |
| |
|
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)
Normalize the projection and scale it with the initial norm of next command. This is equivelant to a rotation
bool fog::ReachPGSBeta::stop |
( |
| ) |
|
|
protected |
void fog::ReachPGSBeta::update |
( |
| ) |
|
|
protected |
arma::vec fog::ReachPGSBeta::updateArmWithClik |
( |
const arma::vec & |
linear_vel | ) |
|
|
private |
unsigned int fog::ReachPGSBeta::arm_control_strategy_ |
|
private |
arma::mat fog::ReachPGSBeta::arm_jac_ |
|
private |
arma::vec fog::ReachPGSBeta::arm_jnt_vel_ |
|
private |
arma::mat fog::ReachPGSBeta::arm_orientation_ |
|
private |
arma::mat fog::ReachPGSBeta::arm_pose_ |
|
private |
arma::vec fog::ReachPGSBeta::arm_position_ |
|
private |
arma::vec fog::ReachPGSBeta::arm_wrench_ |
|
private |
arma::vec fog::ReachPGSBeta::arm_wrench_base_ |
|
private |
arl::math::Clik fog::ReachPGSBeta::clik_ |
|
private |
unsigned int fog::ReachPGSBeta::counter_ |
|
private |
arma::vec fog::ReachPGSBeta::direction_centroid_ |
|
private |
double fog::ReachPGSBeta::epsilon_ |
|
private |
std::vector<arma::mat> fog::ReachPGSBeta::finger_orientation_ |
|
private |
std::vector<arma::vec> fog::ReachPGSBeta::finger_pos_ |
|
private |
std::vector<arma::vec> fog::ReachPGSBeta::finger_pos_prev_ |
|
private |
bool fog::ReachPGSBeta::first_time_ |
|
private |
std::shared_ptr<arl::robot::Sensor> fog::ReachPGSBeta::ft_sensor |
|
private |
std::shared_ptr<arl::robot::Robot> fog::ReachPGSBeta::hand_ |
|
private |
arma::vec fog::ReachPGSBeta::hand_centroid_ |
|
private |
arma::vec fog::ReachPGSBeta::hand_centroid_prev_ |
|
private |
arma::vec fog::ReachPGSBeta::hand_delta_p_ |
|
private |
int fog::ReachPGSBeta::hand_delta_p_filter_ |
|
private |
double fog::ReachPGSBeta::hand_delta_p_init_norm_ |
|
private |
arma::vec fog::ReachPGSBeta::hand_jnt_torques_ |
|
private |
double fog::ReachPGSBeta::initial_velocity_ |
|
private |
double fog::ReachPGSBeta::phi |
|
private |
double fog::ReachPGSBeta::theta |
|
private |
arma::vec fog::ReachPGSBeta::v_G_ |
|
private |
arma::vec fog::ReachPGSBeta::v_G_init_ |
|
private |
std::shared_ptr<arl::viz::RosStatePublisher> fog::ReachPGSBeta::viz_ |
|
private |