IRI ROS Specific Driver Class. More...
#include <pose_based_vs_alg.h>
Public Types | |
typedef iri_pose_based_vs::PoseBasedVsConfig | Config |
define config type | |
Public Member Functions | |
void | config_update (Config &new_cfg, uint32_t level=0) |
config update | |
void | lock (void) |
Lock Algorithm. | |
void | pose_vs (const std::vector< double > ¤t_pose, const std::vector< double > &desired_pose, const std::vector< double > &kp, const std::vector< double > &kd, const std::vector< double > &ki, const double &i_lim, const double &dt, std::vector< double > &cam_vel) |
Main algorithm. | |
PoseBasedVsAlgorithm (void) | |
constructor | |
bool | try_enter (void) |
Tries Access to Algorithm. | |
void | unlock (void) |
Unlock Algorithm. | |
double | updatePid (double error, double dt, double i) |
PID. | |
~PoseBasedVsAlgorithm (void) | |
Destructor. | |
Public Attributes | |
Config | config_ |
config variable | |
Protected Attributes | |
CMutex | alg_mutex_ |
define config type | |
std::vector< double > | cam_vel_ |
double | cmd_ |
std::vector< double > | current_pose_ |
std::vector< double > | d_error_ |
std::vector< double > | desired_pose_ |
double | dt_ |
std::vector< double > | i_error_ |
double | i_lim_ |
std::vector< double > | kd_ |
std::vector< double > | ki_ |
std::vector< double > | kp_ |
std::vector< double > | p_error_ |
std::vector< double > | p_error_last_ |
IRI ROS Specific Driver Class.
Definition at line 47 of file pose_based_vs_alg.h.
typedef iri_pose_based_vs::PoseBasedVsConfig PoseBasedVsAlgorithm::Config |
define config type
Define a Config type with the PoseBasedVsConfig. All driver implementations will then use the same variable type Config.
Definition at line 82 of file pose_based_vs_alg.h.
constructor
In this constructor parameters related to the specific driver can be initalized. Those parameters can be also set in the openDriver() function. Attributes from the main node driver class IriBaseDriver such as loop_rate, may be also overload here.
Definition at line 3 of file pose_based_vs_alg.cpp.
Destructor.
This destructor is called when the object is about to be destroyed.
Definition at line 7 of file pose_based_vs_alg.cpp.
void PoseBasedVsAlgorithm::config_update | ( | Config & | new_cfg, |
uint32_t | level = 0 |
||
) |
config update
In this function the driver parameters must be updated with the input config variable. Then the new configuration state will be stored in the Config attribute.
new_cfg | the new driver configuration state |
level | level in which the update is taken place |
Definition at line 11 of file pose_based_vs_alg.cpp.
void PoseBasedVsAlgorithm::lock | ( | void | ) | [inline] |
Lock Algorithm.
Locks access to the Algorithm class
Definition at line 107 of file pose_based_vs_alg.h.
void PoseBasedVsAlgorithm::pose_vs | ( | const std::vector< double > & | current_pose, |
const std::vector< double > & | desired_pose, | ||
const std::vector< double > & | kp, | ||
const std::vector< double > & | kd, | ||
const std::vector< double > & | ki, | ||
const double & | i_lim, | ||
const double & | dt, | ||
std::vector< double > & | cam_vel | ||
) |
Main algorithm.
Pose Based Visual Servoing algorithm call.
Definition at line 22 of file pose_based_vs_alg.cpp.
bool PoseBasedVsAlgorithm::try_enter | ( | void | ) | [inline] |
Tries Access to Algorithm.
Tries access to Algorithm
Definition at line 123 of file pose_based_vs_alg.h.
void PoseBasedVsAlgorithm::unlock | ( | void | ) | [inline] |
Unlock Algorithm.
Unlocks access to the Algorithm class
Definition at line 114 of file pose_based_vs_alg.h.
double PoseBasedVsAlgorithm::updatePid | ( | double | error, |
double | dt, | ||
double | i | ||
) |
CMutex PoseBasedVsAlgorithm::alg_mutex_ [protected] |
define config type
Define a Config type with the PoseBasedVsConfig. All driver implementations will then use the same variable type Config.
Definition at line 56 of file pose_based_vs_alg.h.
std::vector<double> PoseBasedVsAlgorithm::cam_vel_ [protected] |
Definition at line 60 of file pose_based_vs_alg.h.
double PoseBasedVsAlgorithm::cmd_ [protected] |
Definition at line 73 of file pose_based_vs_alg.h.
config variable
This variable has all the driver parameters defined in the cfg config file. Is updated everytime function config_update() is called.
Definition at line 90 of file pose_based_vs_alg.h.
std::vector<double> PoseBasedVsAlgorithm::current_pose_ [protected] |
Definition at line 60 of file pose_based_vs_alg.h.
std::vector<double> PoseBasedVsAlgorithm::d_error_ [protected] |
Definition at line 68 of file pose_based_vs_alg.h.
std::vector<double> PoseBasedVsAlgorithm::desired_pose_ [protected] |
Definition at line 60 of file pose_based_vs_alg.h.
double PoseBasedVsAlgorithm::dt_ [protected] |
Definition at line 62 of file pose_based_vs_alg.h.
std::vector<double> PoseBasedVsAlgorithm::i_error_ [protected] |
Definition at line 69 of file pose_based_vs_alg.h.
double PoseBasedVsAlgorithm::i_lim_ [protected] |
Definition at line 63 of file pose_based_vs_alg.h.
std::vector<double> PoseBasedVsAlgorithm::kd_ [protected] |
Definition at line 71 of file pose_based_vs_alg.h.
std::vector<double> PoseBasedVsAlgorithm::ki_ [protected] |
Definition at line 72 of file pose_based_vs_alg.h.
std::vector<double> PoseBasedVsAlgorithm::kp_ [protected] |
Definition at line 70 of file pose_based_vs_alg.h.
std::vector<double> PoseBasedVsAlgorithm::p_error_ [protected] |
Definition at line 67 of file pose_based_vs_alg.h.
std::vector<double> PoseBasedVsAlgorithm::p_error_last_ [protected] |
Definition at line 66 of file pose_based_vs_alg.h.