wam_ik.h
Go to the documentation of this file.
00001 #ifndef _WAM_IK_H_
00002 #define _WAM_IK_H_
00003 
00004 #include <math.h>
00005 #include <Eigen/StdVector>
00006 #include <Eigen/Dense>
00007 #include <string>
00008 #include "ros/this_node.h"
00009 #include "ros/names.h"
00010 #include "ros/node_handle.h"
00011 #include "ros/rate.h"
00012 extern "C" {
00013   #include "wamik.h" //kaijen wam IK library
00014 }
00015 
00016 // [publisher subscriber headers]
00017 #include "sensor_msgs/JointState.h"
00018 
00019 // [service client headers]
00020 #include "iri_wam_common_msgs/pose_move.h"
00021 #include "iri_wam_common_msgs/joints_move.h"
00022 #include "iri_wam_common_msgs/wamInverseKinematics.h"
00023 
00024 // [action server client headers]
00025 
00026 class WamIK {
00027   private:
00028     ros::NodeHandle nh_;
00029     // [publisher attributes]
00030         sensor_msgs::JointState ik_joints_msg;
00031     ros::Publisher ik_joints_publisher_;
00032     Eigen::VectorXd joints_;
00033 
00034     // [subscriber attributes]
00035     ros::Subscriber joint_states_subscriber;
00036     void joint_states_callback(const sensor_msgs::JointState::ConstPtr& msg);
00037     std::vector<double> currentjoints;
00038 
00039     // [service attributes]
00040     ros::ServiceServer pose_move_server;
00041     bool pose_moveCallback(iri_wam_common_msgs::pose_move::Request &req, iri_wam_common_msgs::pose_move::Response &res);
00042     ros::ServiceServer wamik_server;
00043     bool wamikCallback(iri_wam_common_msgs::wamInverseKinematics::Request &req, iri_wam_common_msgs::wamInverseKinematics::Response &res);
00044 
00045     // [client attributes]
00046     ros::ServiceClient joint_move_client;
00047     iri_wam_common_msgs::joints_move joint_move_srv;
00048     static bool ik(std::vector<double> pose, std::vector<double> currentjoints, std::vector<double>& joints);
00049 
00050     // [action server attributes]
00051 
00052     // [action client attributes]
00053 
00054   protected:
00055   public:
00056     WamIK();
00057     void ikPub(void);
00058   
00059 };
00060 #endif


iri_wam_ik
Author(s): Adria Colomer
autogenerated on Fri Dec 6 2013 20:07:41