IRI ROS Specific Driver Class. More...
#include <artag_pose_based_vs_alg.h>
Public Types | |
typedef iri_artag_pose_based_vs::ArtagPoseBasedVsConfig | Config |
define config type | |
Public Member Functions | |
ArtagPoseBasedVsAlgorithm (void) | |
constructor | |
void | config_update (Config &new_cfg, uint32_t level=0) |
config update | |
void | lock (void) |
Lock Algorithm. | |
void | pose_based_vs (const MatrixXd &desired_pose, const MatrixXd ¤t_pose, const double &dt, const MatrixXd &kp, const MatrixXd &kd, const MatrixXd &ki, const double &i_lim, MatrixXd &cam_vel) |
Main algorithm. | |
bool | try_enter (void) |
Tries Access to Algorithm. | |
void | unlock (void) |
Unlock Algorithm. | |
double | updatePid (double &error, const double &dt, const double &i) |
PID. | |
~ArtagPoseBasedVsAlgorithm (void) | |
Destructor. | |
Public Attributes | |
Config | config_ |
config variable | |
CPose_Based_Vs | pbvs |
Protected Attributes | |
CMutex | alg_mutex_ |
define config type | |
MatrixXd | cam_vel_ |
double | cmd_ |
MatrixXd | current_pose_ |
MatrixXd | d_error_ |
MatrixXd | desired_pose_ |
double | dt_ |
MatrixXd | i_error_ |
double | i_lim_ |
MatrixXd | kd_ |
MatrixXd | ki_ |
MatrixXd | kp_ |
MatrixXd | p_error_ |
MatrixXd | p_error_last_ |
IRI ROS Specific Driver Class.
Definition at line 50 of file artag_pose_based_vs_alg.h.
typedef iri_artag_pose_based_vs::ArtagPoseBasedVsConfig ArtagPoseBasedVsAlgorithm::Config |
define config type
Define a Config type with the ArtagPoseBasedVsConfig. All driver implementations will then use the same variable type Config.
Definition at line 87 of file artag_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 6 of file artag_pose_based_vs_alg.cpp.
Destructor.
This destructor is called when the object is about to be destroyed.
Definition at line 10 of file artag_pose_based_vs_alg.cpp.
void ArtagPoseBasedVsAlgorithm::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 14 of file artag_pose_based_vs_alg.cpp.
void ArtagPoseBasedVsAlgorithm::lock | ( | void | ) | [inline] |
Lock Algorithm.
Locks access to the Algorithm class
Definition at line 112 of file artag_pose_based_vs_alg.h.
void ArtagPoseBasedVsAlgorithm::pose_based_vs | ( | const MatrixXd & | desired_pose, |
const MatrixXd & | current_pose, | ||
const double & | dt, | ||
const MatrixXd & | kp, | ||
const MatrixXd & | kd, | ||
const MatrixXd & | ki, | ||
const double & | i_lim, | ||
MatrixXd & | cam_vel | ||
) |
Main algorithm.
Pose Based Visual Servoing algorithm call.
Definition at line 25 of file artag_pose_based_vs_alg.cpp.
bool ArtagPoseBasedVsAlgorithm::try_enter | ( | void | ) | [inline] |
Tries Access to Algorithm.
Tries access to Algorithm
Definition at line 128 of file artag_pose_based_vs_alg.h.
void ArtagPoseBasedVsAlgorithm::unlock | ( | void | ) | [inline] |
Unlock Algorithm.
Unlocks access to the Algorithm class
Definition at line 119 of file artag_pose_based_vs_alg.h.
double ArtagPoseBasedVsAlgorithm::updatePid | ( | double & | error, |
const double & | dt, | ||
const double & | i | ||
) |
PID.
PID update.
CMutex ArtagPoseBasedVsAlgorithm::alg_mutex_ [protected] |
define config type
Define a Config type with the ArtagPoseBasedVsConfig. All driver implementations will then use the same variable type Config.
Definition at line 59 of file artag_pose_based_vs_alg.h.
MatrixXd ArtagPoseBasedVsAlgorithm::cam_vel_ [protected] |
Definition at line 65 of file artag_pose_based_vs_alg.h.
double ArtagPoseBasedVsAlgorithm::cmd_ [protected] |
Definition at line 78 of file artag_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 95 of file artag_pose_based_vs_alg.h.
MatrixXd ArtagPoseBasedVsAlgorithm::current_pose_ [protected] |
Definition at line 63 of file artag_pose_based_vs_alg.h.
MatrixXd ArtagPoseBasedVsAlgorithm::d_error_ [protected] |
Definition at line 73 of file artag_pose_based_vs_alg.h.
MatrixXd ArtagPoseBasedVsAlgorithm::desired_pose_ [protected] |
Definition at line 64 of file artag_pose_based_vs_alg.h.
double ArtagPoseBasedVsAlgorithm::dt_ [protected] |
Definition at line 67 of file artag_pose_based_vs_alg.h.
MatrixXd ArtagPoseBasedVsAlgorithm::i_error_ [protected] |
Definition at line 74 of file artag_pose_based_vs_alg.h.
double ArtagPoseBasedVsAlgorithm::i_lim_ [protected] |
Definition at line 68 of file artag_pose_based_vs_alg.h.
MatrixXd ArtagPoseBasedVsAlgorithm::kd_ [protected] |
Definition at line 76 of file artag_pose_based_vs_alg.h.
MatrixXd ArtagPoseBasedVsAlgorithm::ki_ [protected] |
Definition at line 77 of file artag_pose_based_vs_alg.h.
MatrixXd ArtagPoseBasedVsAlgorithm::kp_ [protected] |
Definition at line 75 of file artag_pose_based_vs_alg.h.
MatrixXd ArtagPoseBasedVsAlgorithm::p_error_ [protected] |
Definition at line 72 of file artag_pose_based_vs_alg.h.
MatrixXd ArtagPoseBasedVsAlgorithm::p_error_last_ [protected] |
Definition at line 71 of file artag_pose_based_vs_alg.h.
CPose_Based_Vs ArtagPoseBasedVsAlgorithm::pbvs |
Definition at line 169 of file artag_pose_based_vs_alg.h.