19 #ifndef OPEN_MANIPULATOR_CONTROLLER_H 20 #define OPEN_MANIPULATOR_CONTROLLER_H 23 #include <sensor_msgs/JointState.h> 24 #include <geometry_msgs/PoseStamped.h> 25 #include <std_msgs/Float64.h> 26 #include <std_msgs/String.h> 27 #include <std_msgs/Empty.h> 28 #include <boost/thread.hpp> 39 #include <moveit_msgs/DisplayTrajectory.h> 40 #include <moveit_msgs/ExecuteTrajectoryActionGoal.h> 41 #include <moveit_msgs/MoveGroupActionGoal.h> 42 #include <trajectory_msgs/JointTrajectory.h> 43 #include <trajectory_msgs/JointTrajectoryPoint.h> 45 #include "open_manipulator_msgs/SetJointPosition.h" 46 #include "open_manipulator_msgs/SetKinematicsPose.h" 47 #include "open_manipulator_msgs/SetDrawingTrajectory.h" 48 #include "open_manipulator_msgs/SetActuatorState.h" 49 #include "open_manipulator_msgs/GetJointPosition.h" 50 #include "open_manipulator_msgs/GetKinematicsPose.h" 51 #include "open_manipulator_msgs/OpenManipulatorState.h" 141 open_manipulator_msgs::SetJointPosition::Response &res);
144 open_manipulator_msgs::SetKinematicsPose::Response &res);
147 open_manipulator_msgs::SetKinematicsPose::Response &res);
150 open_manipulator_msgs::SetKinematicsPose::Response &res);
153 open_manipulator_msgs::SetKinematicsPose::Response &res);
156 open_manipulator_msgs::SetKinematicsPose::Response &res);
159 open_manipulator_msgs::SetKinematicsPose::Response &res);
162 open_manipulator_msgs::SetJointPosition::Response &res);
165 open_manipulator_msgs::SetKinematicsPose::Response &res);
168 open_manipulator_msgs::SetKinematicsPose::Response &res);
171 open_manipulator_msgs::SetKinematicsPose::Response &res);
174 open_manipulator_msgs::SetJointPosition::Response &res);
177 open_manipulator_msgs::SetActuatorState::Response &res);
180 open_manipulator_msgs::SetDrawingTrajectory::Response &res);
183 open_manipulator_msgs::SetJointPosition::Response &res);
186 open_manipulator_msgs::SetKinematicsPose::Response &res);
189 open_manipulator_msgs::GetJointPosition::Response &res);
192 open_manipulator_msgs::GetKinematicsPose::Response &res);
206 bool calcPlannedPath(
const std::string planning_group, open_manipulator_msgs::KinematicsPose msg);
211 #endif //OPEN_MANIPULATOR_CONTROLLER_H ros::Subscriber open_manipulator_option_sub_
ros::Subscriber display_planned_path_sub_
bool param(const std::string ¶m_name, T ¶m_val, const T &default_val)
ros::ServiceServer goal_task_space_path_orientation_only_server_
void executeTrajGoalCallback(const moveit_msgs::ExecuteTrajectoryActionGoal::ConstPtr &msg)
bool goalToolControlCallback(open_manipulator_msgs::SetJointPosition::Request &req, open_manipulator_msgs::SetJointPosition::Response &res)
ros::ServiceServer get_kinematics_pose_server_
bool goalTaskSpacePathOrientationOnlyCallback(open_manipulator_msgs::SetKinematicsPose::Request &req, open_manipulator_msgs::SetKinematicsPose::Response &res)
std::vector< ros::Publisher > gazebo_goal_joint_position_pub_
ros::Subscriber move_group_goal_sub_
void process(double time)
void displayPlannedPathCallback(const moveit_msgs::DisplayTrajectory::ConstPtr &msg)
ros::ServiceServer goal_joint_space_path_server_
bool goalTaskSpacePathCallback(open_manipulator_msgs::SetKinematicsPose::Request &req, open_manipulator_msgs::SetKinematicsPose::Response &res)
static void * timerThread(void *param)
ros::ServiceServer goal_joint_space_path_from_present_server_
void moveGroupGoalCallback(const moveit_msgs::MoveGroupActionGoal::ConstPtr &msg)
bool goalTaskSpacePathFromPresentOrientationOnlyCallback(open_manipulator_msgs::SetKinematicsPose::Request &req, open_manipulator_msgs::SetKinematicsPose::Response &res)
ros::ServiceServer goal_joint_space_path_to_kinematics_orientation_server_
void publishJointStates()
ros::ServiceServer goal_drawing_trajectory_server_
bool goalTaskSpacePathPositionOnlyCallback(open_manipulator_msgs::SetKinematicsPose::Request &req, open_manipulator_msgs::SetKinematicsPose::Response &res)
void moveitTimer(double present_time)
ros::ServiceServer goal_task_space_path_position_only_server_
ros::ServiceServer set_actuator_state_server_
bool setActuatorStateCallback(open_manipulator_msgs::SetActuatorState::Request &req, open_manipulator_msgs::SetActuatorState::Response &res)
void publishGazeboCommand()
void openManipulatorOptionCallback(const std_msgs::String::ConstPtr &msg)
ros::NodeHandle node_handle_
ros::ServiceServer goal_task_space_path_from_present_server_
bool goalTaskSpacePathFromPresentCallback(open_manipulator_msgs::SetKinematicsPose::Request &req, open_manipulator_msgs::SetKinematicsPose::Response &res)
ros::ServiceServer set_kinematics_pose_server_
ros::ServiceServer goal_joint_space_path_to_kinematics_position_server_
bool goalJointSpacePathFromPresentCallback(open_manipulator_msgs::SetJointPosition::Request &req, open_manipulator_msgs::SetJointPosition::Response &res)
double moveit_sampling_time_
OpenManipulatorController(std::string usb_port, std::string baud_rate)
bool goalJointSpacePathCallback(open_manipulator_msgs::SetJointPosition::Request &req, open_manipulator_msgs::SetJointPosition::Response &res)
bool goalJointSpacePathToKinematicsPoseCallback(open_manipulator_msgs::SetKinematicsPose::Request &req, open_manipulator_msgs::SetKinematicsPose::Response &res)
ros::ServiceServer goal_task_space_path_server_
ros::NodeHandle priv_node_handle_
bool setKinematicsPoseMsgCallback(open_manipulator_msgs::SetKinematicsPose::Request &req, open_manipulator_msgs::SetKinematicsPose::Response &res)
bool goalTaskSpacePathFromPresentPositionOnlyCallback(open_manipulator_msgs::SetKinematicsPose::Request &req, open_manipulator_msgs::SetKinematicsPose::Response &res)
ros::ServiceServer get_joint_position_server_
void publishCallback(const ros::TimerEvent &)
ros::Publisher open_manipulator_states_pub_
~OpenManipulatorController()
ros::ServiceServer goal_task_space_path_from_present_position_only_server_
OpenManipulator open_manipulator_
ros::ServiceServer set_joint_position_server_
bool goalDrawingTrajectoryCallback(open_manipulator_msgs::SetDrawingTrajectory::Request &req, open_manipulator_msgs::SetDrawingTrajectory::Response &res)
bool calcPlannedPath(const std::string planning_group, open_manipulator_msgs::JointPosition msg)
ros::ServiceServer goal_tool_control_server_
ros::ServiceServer goal_joint_space_path_to_kinematics_pose_server_
ros::Subscriber execute_traj_goal_sub_
bool goalJointSpacePathToKinematicsPositionCallback(open_manipulator_msgs::SetKinematicsPose::Request &req, open_manipulator_msgs::SetKinematicsPose::Response &res)
ros::Publisher open_manipulator_joint_states_pub_
void publishOpenManipulatorStates()
double getControlPeriod(void)
moveit::planning_interface::MoveGroupInterface * move_group_
bool goalJointSpacePathToKinematicsOrientationCallback(open_manipulator_msgs::SetKinematicsPose::Request &req, open_manipulator_msgs::SetKinematicsPose::Response &res)
ros::Publisher moveit_update_start_state_pub_
std::vector< ros::Publisher > open_manipulator_kinematics_pose_pub_
trajectory_msgs::JointTrajectory joint_trajectory_
ros::ServiceServer goal_task_space_path_from_present_orientation_only_server_
bool setJointPositionMsgCallback(open_manipulator_msgs::SetJointPosition::Request &req, open_manipulator_msgs::SetJointPosition::Response &res)
bool getJointPositionMsgCallback(open_manipulator_msgs::GetJointPosition::Request &req, open_manipulator_msgs::GetJointPosition::Response &res)
bool getKinematicsPoseMsgCallback(open_manipulator_msgs::GetKinematicsPose::Request &req, open_manipulator_msgs::GetKinematicsPose::Response &res)
void publishKinematicsPose()