24 #ifndef THORMANG3_MANIPULATION_MODULE_MANIPULATION_MODULE_H_ 25 #define THORMANG3_MANIPULATION_MODULE_MANIPULATION_MODULE_H_ 31 #include <std_msgs/Int16.h> 32 #include <std_msgs/Float64.h> 33 #include <std_msgs/String.h> 34 #include <geometry_msgs/Pose.h> 35 #include <boost/thread.hpp> 36 #include <eigen3/Eigen/Eigen> 37 #include <yaml-cpp/yaml.h> 39 #include "robotis_controller_msgs/JointCtrlModule.h" 40 #include "robotis_controller_msgs/StatusMsg.h" 42 #include "thormang3_manipulation_module_msgs/JointPose.h" 43 #include "thormang3_manipulation_module_msgs/KinematicsPose.h" 44 #include "thormang3_manipulation_module_msgs/GetJointPose.h" 45 #include "thormang3_manipulation_module_msgs/GetKinematicsPose.h" 69 thormang3_manipulation_module_msgs::GetJointPose::Response &res);
71 thormang3_manipulation_module_msgs::GetKinematicsPose::Response &res);
80 void process(std::map<std::string, robotis_framework::Dynamixel *> dxls, std::map<std::string, double> sensors);
Eigen::VectorXd present_joint_position_
Eigen::MatrixXd goal_joint_tra_
boost::thread * traj_generate_tread_
double control_cycle_sec_
Eigen::MatrixXd ik_start_rotation_
void kinematicsPoseMsgCallback(const thormang3_manipulation_module_msgs::KinematicsPose::ConstPtr &msg)
ros::Publisher status_msg_pub_
void taskTrajGenerateProc()
void jointTrajGenerateProc()
Eigen::VectorXd goal_joint_position_
ros::Publisher movement_done_pub_
void initialize(const int control_cycle_msec, robotis_framework::Robot *robot)
void jointPoseMsgCallback(const thormang3_manipulation_module_msgs::JointPose::ConstPtr &msg)
thormang3_manipulation_module_msgs::KinematicsPose goal_kinematics_pose_msg_
bool getJointPoseCallback(thormang3_manipulation_module_msgs::GetJointPose::Request &req, thormang3_manipulation_module_msgs::GetJointPose::Response &res)
void parseIniPoseData(const std::string &path)
thormang3_manipulation_module_msgs::JointPose goal_joint_pose_msg_
Eigen::MatrixXd ik_target_rotation_
void setInverseKinematics(int cnt, Eigen::MatrixXd start_rotation)
KinematicsDynamics * robotis_
void parseData(const std::string &path)
Eigen::MatrixXd ik_target_position_
std::map< std::string, int > joint_name_to_id_
void initPoseMsgCallback(const std_msgs::String::ConstPtr &msg)
Eigen::MatrixXd ik_weight_
bool getKinematicsPoseCallback(thormang3_manipulation_module_msgs::GetKinematicsPose::Request &req, thormang3_manipulation_module_msgs::GetKinematicsPose::Response &res)
void publishStatusMsg(unsigned int type, std::string msg)
void process(std::map< std::string, robotis_framework::Dynamixel * > dxls, std::map< std::string, double > sensors)
std_msgs::String movement_done_msg_
Eigen::MatrixXd goal_task_tra_
Eigen::VectorXd init_joint_position_
void initPoseTrajGenerateProc()
virtual ~ManipulationModule()
boost::thread queue_thread_