#include <wam_ikj.h>
Public Member Functions | |
void | ikPub (void) |
WamIKJ () | |
Private Member Functions | |
void | joint_states_callback (const sensor_msgs::JointState::ConstPtr &msg) |
bool | pose_moveCallback (iri_wam_common_msgs::pose_move::Request &req, iri_wam_common_msgs::pose_move::Response &res) |
bool | wamikCallback (iri_wam_common_msgs::wamInverseKinematics::Request &req, iri_wam_common_msgs::wamInverseKinematics::Response &res) |
Static Private Member Functions | |
static void | CFpseudoinverse (Eigen::MatrixXd J, Eigen::MatrixXd &Ji, double nu, double s0) |
static void | clampjoints (Eigen::VectorXd q, Eigen::MatrixXd &H) |
static Eigen::MatrixXd | cpinv (Eigen::MatrixXd J, Eigen::MatrixXd H) |
static Eigen::MatrixXd | crossprod (Eigen::MatrixXd u, Eigen::MatrixXd v) |
static void | dhfunct (Eigen::VectorXd q, Eigen::VectorXd &dH) |
static void | DHmatrix (double alpha, double a, double d, double &theta, Eigen::MatrixXd &T) |
static void | dotprod (Eigen::MatrixXd u, Eigen::MatrixXd v, double &p) |
static void | Dpseudoinverse (Eigen::MatrixXd J, Eigen::MatrixXd &Ji, double lambda) |
static void | errortrans (Eigen::MatrixXd Tcurrent, Eigen::MatrixXd Tdesired, Eigen::VectorXd &errc) |
static void | filtersols (Eigen::MatrixXd qsol, Eigen::VectorXd &sol) |
static void | fkine (Eigen::VectorXd theta, Eigen::MatrixXd &Tf, Eigen::MatrixXd &Jn) |
static void | Fpseudoinverse (Eigen::MatrixXd J, Eigen::MatrixXd &Ji, double lambda, double eps) |
static double | fubeta (double x, double beta) |
static void | HjlCONT (Eigen::VectorXd q, Eigen::MatrixXd &H, double b) |
static bool | ik (std::vector< double > pose, std::vector< double > currentjoints, std::vector< double > &joints) |
static Eigen::MatrixXd | lcpinv (Eigen::MatrixXd Q, Eigen::MatrixXd W) |
static void | manipgrad (Eigen::VectorXd q, double &man, Eigen::VectorXd &gradman) |
static void | manipulability (Eigen::MatrixXd J, double &man) |
static Eigen::VectorXd | pi2piwam (Eigen::VectorXd q) |
static void | potentialfunction (Eigen::VectorXd qref, Eigen::VectorXd &q, double &potq) |
static void | pseudoinverse (Eigen::MatrixXd J, Eigen::MatrixXd &Ji, Eigen::MatrixXd &U, Eigen::MatrixXd &V, Eigen::MatrixXd &S) |
static Eigen::MatrixXd | rcpinv (Eigen::MatrixXd Q, Eigen::MatrixXd W) |
static void | skewop (Eigen::Matrix3d &M, Eigen::Vector3d v) |
static void | soltrig (double a, double b, double c, Eigen::MatrixXd &q2sol2) |
static void | sphericalikine (Eigen::MatrixXd T0, Eigen::MatrixXd T4, Eigen::Vector2d &q5, Eigen::Vector2d &q6, Eigen::Vector2d &q7) |
static void | svdJ (Eigen::MatrixXd J, Eigen::MatrixXd &U, Eigen::MatrixXd &V, Eigen::MatrixXd &S) |
Private Attributes | |
std::vector< double > | currentjoints |
sensor_msgs::JointState | ik_joints_msg |
ros::Publisher | ik_joints_publisher_ |
ros::ServiceClient | joint_move_client |
iri_wam_common_msgs::joints_move | joint_move_srv |
ros::Subscriber | joint_states_subscriber |
Eigen::VectorXd | joints_ |
ros::NodeHandle | nh_ |
ros::ServiceServer | pose_move_server |
ros::ServiceServer | wamik_server |
WamIKJ::WamIKJ | ( | ) |
Definition at line 16 of file wam_ikj.cpp.
void WamIKJ::CFpseudoinverse | ( | Eigen::MatrixXd | J, |
Eigen::MatrixXd & | Ji, | ||
double | nu, | ||
double | s0 | ||
) | [static, private] |
Definition at line 785 of file wam_ikj.cpp.
void WamIKJ::clampjoints | ( | Eigen::VectorXd | q, |
Eigen::MatrixXd & | H | ||
) | [static, private] |
Definition at line 697 of file wam_ikj.cpp.
MatrixXd WamIKJ::cpinv | ( | Eigen::MatrixXd | J, |
Eigen::MatrixXd | H | ||
) | [static, private] |
Definition at line 583 of file wam_ikj.cpp.
MatrixXd WamIKJ::crossprod | ( | Eigen::MatrixXd | u, |
Eigen::MatrixXd | v | ||
) | [static, private] |
Definition at line 931 of file wam_ikj.cpp.
void WamIKJ::dhfunct | ( | Eigen::VectorXd | q, |
Eigen::VectorXd & | dH | ||
) | [static, private] |
Definition at line 686 of file wam_ikj.cpp.
void WamIKJ::DHmatrix | ( | double | alpha, |
double | a, | ||
double | d, | ||
double & | theta, | ||
Eigen::MatrixXd & | T | ||
) | [static, private] |
Definition at line 995 of file wam_ikj.cpp.
void WamIKJ::dotprod | ( | Eigen::MatrixXd | u, |
Eigen::MatrixXd | v, | ||
double & | p | ||
) | [static, private] |
Definition at line 914 of file wam_ikj.cpp.
void WamIKJ::Dpseudoinverse | ( | Eigen::MatrixXd | J, |
Eigen::MatrixXd & | Ji, | ||
double | lambda | ||
) | [static, private] |
Definition at line 768 of file wam_ikj.cpp.
void WamIKJ::errortrans | ( | Eigen::MatrixXd | Tcurrent, |
Eigen::MatrixXd | Tdesired, | ||
Eigen::VectorXd & | errc | ||
) | [static, private] |
Definition at line 941 of file wam_ikj.cpp.
void WamIKJ::filtersols | ( | Eigen::MatrixXd | qsol, |
Eigen::VectorXd & | sol | ||
) | [static, private] |
Definition at line 968 of file wam_ikj.cpp.
void WamIKJ::fkine | ( | Eigen::VectorXd | theta, |
Eigen::MatrixXd & | Tf, | ||
Eigen::MatrixXd & | Jn | ||
) | [static, private] |
Definition at line 883 of file wam_ikj.cpp.
void WamIKJ::Fpseudoinverse | ( | Eigen::MatrixXd | J, |
Eigen::MatrixXd & | Ji, | ||
double | lambda, | ||
double | eps | ||
) | [static, private] |
Definition at line 801 of file wam_ikj.cpp.
double WamIKJ::fubeta | ( | double | x, |
double | beta | ||
) | [static, private] |
Definition at line 680 of file wam_ikj.cpp.
void WamIKJ::HjlCONT | ( | Eigen::VectorXd | q, |
Eigen::MatrixXd & | H, | ||
double | b | ||
) | [static, private] |
Definition at line 651 of file wam_ikj.cpp.
bool WamIKJ::ik | ( | std::vector< double > | pose, |
std::vector< double > | currentjoints, | ||
std::vector< double > & | joints | ||
) | [static, private] |
Definition at line 180 of file wam_ikj.cpp.
void WamIKJ::ikPub | ( | void | ) |
Definition at line 50 of file wam_ikj.cpp.
void WamIKJ::joint_states_callback | ( | const sensor_msgs::JointState::ConstPtr & | msg | ) | [private] |
Definition at line 59 of file wam_ikj.cpp.
MatrixXd WamIKJ::lcpinv | ( | Eigen::MatrixXd | Q, |
Eigen::MatrixXd | W | ||
) | [static, private] |
Definition at line 572 of file wam_ikj.cpp.
void WamIKJ::manipgrad | ( | Eigen::VectorXd | q, |
double & | man, | ||
Eigen::VectorXd & | gradman | ||
) | [static, private] |
Definition at line 717 of file wam_ikj.cpp.
void WamIKJ::manipulability | ( | Eigen::MatrixXd | J, |
double & | man | ||
) | [static, private] |
Definition at line 711 of file wam_ikj.cpp.
VectorXd WamIKJ::pi2piwam | ( | Eigen::VectorXd | q | ) | [static, private] |
Definition at line 637 of file wam_ikj.cpp.
bool WamIKJ::pose_moveCallback | ( | iri_wam_common_msgs::pose_move::Request & | req, |
iri_wam_common_msgs::pose_move::Response & | res | ||
) | [private] |
Definition at line 67 of file wam_ikj.cpp.
void WamIKJ::potentialfunction | ( | Eigen::VectorXd | qref, |
Eigen::VectorXd & | q, | ||
double & | potq | ||
) | [static, private] |
Definition at line 1028 of file wam_ikj.cpp.
void WamIKJ::pseudoinverse | ( | Eigen::MatrixXd | J, |
Eigen::MatrixXd & | Ji, | ||
Eigen::MatrixXd & | U, | ||
Eigen::MatrixXd & | V, | ||
Eigen::MatrixXd & | S | ||
) | [static, private] |
Definition at line 739 of file wam_ikj.cpp.
MatrixXd WamIKJ::rcpinv | ( | Eigen::MatrixXd | Q, |
Eigen::MatrixXd | W | ||
) | [static, private] |
Definition at line 559 of file wam_ikj.cpp.
void WamIKJ::skewop | ( | Eigen::Matrix3d & | M, |
Eigen::Vector3d | v | ||
) | [static, private] |
Definition at line 1016 of file wam_ikj.cpp.
void WamIKJ::soltrig | ( | double | a, |
double | b, | ||
double | c, | ||
Eigen::MatrixXd & | q2sol2 | ||
) | [static, private] |
Definition at line 1073 of file wam_ikj.cpp.
void WamIKJ::sphericalikine | ( | Eigen::MatrixXd | T0, |
Eigen::MatrixXd | T4, | ||
Eigen::Vector2d & | q5, | ||
Eigen::Vector2d & | q6, | ||
Eigen::Vector2d & | q7 | ||
) | [static, private] |
Definition at line 1053 of file wam_ikj.cpp.
void WamIKJ::svdJ | ( | Eigen::MatrixXd | J, |
Eigen::MatrixXd & | U, | ||
Eigen::MatrixXd & | V, | ||
Eigen::MatrixXd & | S | ||
) | [static, private] |
Definition at line 841 of file wam_ikj.cpp.
bool WamIKJ::wamikCallback | ( | iri_wam_common_msgs::wamInverseKinematics::Request & | req, |
iri_wam_common_msgs::wamInverseKinematics::Response & | res | ||
) | [private] |
Definition at line 131 of file wam_ikj.cpp.
std::vector<double> WamIKJ::currentjoints [private] |
sensor_msgs::JointState WamIKJ::ik_joints_msg [private] |
ros::Publisher WamIKJ::ik_joints_publisher_ [private] |
ros::ServiceClient WamIKJ::joint_move_client [private] |
iri_wam_common_msgs::joints_move WamIKJ::joint_move_srv [private] |
Eigen::VectorXd WamIKJ::joints_ [private] |
ros::NodeHandle WamIKJ::nh_ [private] |
ros::ServiceServer WamIKJ::pose_move_server [private] |
ros::ServiceServer WamIKJ::wamik_server [private] |