#include <wam_ikac.h>
Public Member Functions | |
void | ikPub (void) |
WamIKAC () | |
Private Member Functions | |
void | joint_states_callback (const sensor_msgs::JointState::ConstPtr &msg) |
bool | wamikCallback (iri_wam_common_msgs::wamInverseKinematics::Request &req, iri_wam_common_msgs::wamInverseKinematics::Response &res) |
bool | wamikCallbackFromPose (iri_wam_common_msgs::wamInverseKinematicsFromPose::Request &req, iri_wam_common_msgs::wamInverseKinematicsFromPose::Response &res) |
Static Private Member Functions | |
static void | basicsols (Eigen::MatrixXd qsol, Eigen::MatrixXd &qaux, Eigen::VectorXd sol) |
static void | bestsol (Eigen::MatrixXd qsol, Eigen::VectorXd sol, Eigen::VectorXd qref, Eigen::VectorXd &q, double &potq) |
static void | DHmatrix (double alpha, double a, double d, double &theta, Eigen::MatrixXd &T) |
static void | exactikine (Eigen::MatrixXd T0, double q10, Eigen::MatrixXd &qsol, Eigen::VectorXd &sol) |
static void | filtersols (Eigen::MatrixXd qsol, Eigen::VectorXd &sol) |
static void | getq1 (Eigen::VectorXd cjoints, float i, double &q10, double step) |
static bool | ik (std::vector< double > pose, std::vector< double > currentjoints, std::vector< double > &joints) |
static void | initialelbows (Eigen::VectorXd q, Eigen::MatrixXd T0, Eigen::VectorXd &PL, Eigen::VectorXd &PJ) |
static void | optimizesol (Eigen::MatrixXd q, Eigen::MatrixXd T0, Eigen::VectorXd &qbest, double &potq, Eigen::VectorXd qref) |
static void | potentialfunction (Eigen::VectorXd qref, Eigen::VectorXd &q, double &potq) |
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) |
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_ |
tf::TransformListener | listener_ |
ros::NodeHandle | nh_ |
tf::StampedTransform | tcp_H_wam7_ |
ros::ServiceServer | wamik_server |
ros::ServiceServer | wamik_server_fromPose |
Definition at line 26 of file wam_ikac.h.
WamIKAC::WamIKAC | ( | ) |
Definition at line 10 of file wam_ikac.cpp.
void WamIKAC::basicsols | ( | Eigen::MatrixXd | qsol, |
Eigen::MatrixXd & | qaux, | ||
Eigen::VectorXd | sol | ||
) | [static, private] |
Definition at line 464 of file wam_ikac.cpp.
void WamIKAC::bestsol | ( | Eigen::MatrixXd | qsol, |
Eigen::VectorXd | sol, | ||
Eigen::VectorXd | qref, | ||
Eigen::VectorXd & | q, | ||
double & | potq | ||
) | [static, private] |
Definition at line 622 of file wam_ikac.cpp.
void WamIKAC::DHmatrix | ( | double | alpha, |
double | a, | ||
double | d, | ||
double & | theta, | ||
Eigen::MatrixXd & | T | ||
) | [static, private] |
Definition at line 350 of file wam_ikac.cpp.
void WamIKAC::exactikine | ( | Eigen::MatrixXd | T0, |
double | q10, | ||
Eigen::MatrixXd & | qsol, | ||
Eigen::VectorXd & | sol | ||
) | [static, private] |
Definition at line 373 of file wam_ikac.cpp.
void WamIKAC::filtersols | ( | Eigen::MatrixXd | qsol, |
Eigen::VectorXd & | sol | ||
) | [static, private] |
Definition at line 323 of file wam_ikac.cpp.
void WamIKAC::getq1 | ( | Eigen::VectorXd | cjoints, |
float | i, | ||
double & | q10, | ||
double | step | ||
) | [static, private] |
Definition at line 614 of file wam_ikac.cpp.
bool WamIKAC::ik | ( | std::vector< double > | pose, |
std::vector< double > | currentjoints, | ||
std::vector< double > & | joints | ||
) | [static, private] |
Definition at line 183 of file wam_ikac.cpp.
void WamIKAC::ikPub | ( | void | ) |
Definition at line 45 of file wam_ikac.cpp.
void WamIKAC::initialelbows | ( | Eigen::VectorXd | q, |
Eigen::MatrixXd | T0, | ||
Eigen::VectorXd & | PL, | ||
Eigen::VectorXd & | PJ | ||
) | [static, private] |
Definition at line 688 of file wam_ikac.cpp.
void WamIKAC::joint_states_callback | ( | const sensor_msgs::JointState::ConstPtr & | msg | ) | [private] |
Definition at line 54 of file wam_ikac.cpp.
void WamIKAC::optimizesol | ( | Eigen::MatrixXd | q, |
Eigen::MatrixXd | T0, | ||
Eigen::VectorXd & | qbest, | ||
double & | potq, | ||
Eigen::VectorXd | qref | ||
) | [static, private] |
Definition at line 501 of file wam_ikac.cpp.
void WamIKAC::potentialfunction | ( | Eigen::VectorXd | qref, |
Eigen::VectorXd & | q, | ||
double & | potq | ||
) | [static, private] |
Definition at line 644 of file wam_ikac.cpp.
void WamIKAC::skewop | ( | Eigen::Matrix3d & | M, |
Eigen::Vector3d | v | ||
) | [static, private] |
Definition at line 604 of file wam_ikac.cpp.
void WamIKAC::soltrig | ( | double | a, |
double | b, | ||
double | c, | ||
Eigen::MatrixXd & | q2sol2 | ||
) | [static, private] |
Definition at line 709 of file wam_ikac.cpp.
void WamIKAC::sphericalikine | ( | Eigen::MatrixXd | T0, |
Eigen::MatrixXd | T4, | ||
Eigen::Vector2d & | q5, | ||
Eigen::Vector2d & | q6, | ||
Eigen::Vector2d & | q7 | ||
) | [static, private] |
Definition at line 669 of file wam_ikac.cpp.
bool WamIKAC::wamikCallback | ( | iri_wam_common_msgs::wamInverseKinematics::Request & | req, |
iri_wam_common_msgs::wamInverseKinematics::Response & | res | ||
) | [private] |
Definition at line 128 of file wam_ikac.cpp.
bool WamIKAC::wamikCallbackFromPose | ( | iri_wam_common_msgs::wamInverseKinematicsFromPose::Request & | req, |
iri_wam_common_msgs::wamInverseKinematicsFromPose::Response & | res | ||
) | [private] |
Definition at line 62 of file wam_ikac.cpp.
std::vector<double> WamIKAC::currentjoints_ [private] |
Definition at line 42 of file wam_ikac.h.
sensor_msgs::JointState WamIKAC::ik_joints_msg [private] |
Definition at line 35 of file wam_ikac.h.
ros::Publisher WamIKAC::ik_joints_publisher_ [private] |
Definition at line 36 of file wam_ikac.h.
ros::ServiceClient WamIKAC::joint_move_client [private] |
Definition at line 51 of file wam_ikac.h.
iri_wam_common_msgs::joints_move WamIKAC::joint_move_srv [private] |
Definition at line 52 of file wam_ikac.h.
Definition at line 40 of file wam_ikac.h.
Eigen::VectorXd WamIKAC::joints_ [private] |
Definition at line 37 of file wam_ikac.h.
tf::TransformListener WamIKAC::listener_ [private] |
Definition at line 30 of file wam_ikac.h.
ros::NodeHandle WamIKAC::nh_ [private] |
Definition at line 28 of file wam_ikac.h.
tf::StampedTransform WamIKAC::tcp_H_wam7_ [private] |
Definition at line 31 of file wam_ikac.h.
ros::ServiceServer WamIKAC::wamik_server [private] |
Definition at line 47 of file wam_ikac.h.
Definition at line 45 of file wam_ikac.h.