42 static const std::string
LOGNAME =
"jog_interface_base";
53 std::size_t error = 0;
56 std::string parameter_ns;
58 if (parameter_ns.empty())
63 "value=\"left_jog_server\" />");
96 bool have_scene_collision_proximity_threshold =
99 double collision_proximity_threshold;
100 if (n.
hasParam(parameter_ns +
"/collision_proximity_threshold") &&
101 rosparam_shortcuts::get(
"", n, parameter_ns +
"/collision_proximity_threshold", collision_proximity_threshold))
103 ROS_WARN_NAMED(
LOGNAME,
"'collision_proximity_threshold' parameter is deprecated, and has been replaced by separate" 104 "'self_collision_proximity_threshold' and 'scene_collision_proximity_threshold' " 105 "parameters. Please update the jogging yaml file.");
106 if (!have_self_collision_proximity_threshold)
109 have_self_collision_proximity_threshold =
true;
111 if (!have_scene_collision_proximity_threshold)
114 have_scene_collision_proximity_threshold =
true;
117 error += !have_self_collision_proximity_threshold;
118 error += !have_scene_collision_proximity_threshold;
138 ROS_WARN_NAMED(
LOGNAME,
"'status_topic' parameter is missing. Recently renamed from 'warning_topic'. Please update " 139 "the jogging yaml file.");
149 "greater than zero. Check yaml file.");
155 "Parameter 'num_outgoing_halt_msgs_to_publish' should be greater than zero. Check yaml file.");
161 "should be greater than 'lower_singularity_threshold.' " 168 "and 'lower_singularity_threshold' should be " 169 "greater than zero. Check yaml file.");
175 "greater than zero. Check yaml file.");
181 "greater than zero. Check yaml file.");
187 "than or equal to 'scene_collision_proximity_threshold'. Check yaml file.");
192 "greater than zero. Check yaml file.");
198 "greater than zero. Check yaml file.");
204 "'speed_units'. Check yaml file.");
211 "'trajectory_msgs/JointTrajectory' or " 212 "'std_msgs/Float64MultiArray'. Check yaml file.");
219 "publish_joint_velocities / " 220 "publish_joint_accelerations must be true. Check " 228 "you must select positions OR velocities.");
234 "greater than zero. Check yaml file.");
250 moveit_msgs::ChangeDriftDimensions::Response& res)
265 moveit_msgs::ChangeControlDimensions::Response& res)
std::unique_ptr< CollisionCheckThread > collision_checker_
bool publish_joint_accelerations
planning_scene_monitor::PlanningSceneMonitorPtr planning_scene_monitor_
#define ROS_ERROR_STREAM_NAMED(name, args)
#define ROS_WARN_NAMED(name,...)
double hard_stop_singularity_threshold
bool publish_joint_positions
static const std::string LOGNAME
double incoming_command_timeout
sensor_msgs::JointState joints
bool startCollisionCheckThread()
Start collision checking.
std::string planning_frame
std::unique_ptr< std::thread > jog_calc_thread_
double low_pass_filter_coeff
double joint_limit_margin
std::string command_out_type
std::atomic_bool drift_dimensions[6]
double collision_check_rate
std::unique_ptr< std::thread > collision_check_thread_
std::string cartesian_command_in_topic
std::string joint_command_in_topic
bool publish_joint_velocities
std::atomic_bool control_dimensions[6]
double lower_singularity_threshold
std::unique_ptr< JogCalcs > jog_calcs_
ROSCPP_DECL bool get(const std::string &key, std::string &s)
JogArmShared shared_variables_
std::string robot_link_command_frame
bool changeDriftDimensions(moveit_msgs::ChangeDriftDimensions::Request &req, moveit_msgs::ChangeDriftDimensions::Response &res)
int num_outgoing_halt_msgs_to_publish
double scene_collision_proximity_threshold
bool stopCollisionCheckThread()
Stop collision checking.
bool stopJogCalcThread()
Stop the main calculation thread.
bool hasParam(const std::string &key) const
void shutdownIfError(const std::string &parent_name, std::size_t error_count)
bool changeControlDimensions(moveit_msgs::ChangeControlDimensions::Request &req, moveit_msgs::ChangeControlDimensions::Response &res)
Start the main calculation thread.
std::string move_group_name
bool startJogCalcThread()
bool readParameters(ros::NodeHandle &n)
void jointsCB(const sensor_msgs::JointStateConstPtr &msg)
Update the joints of the robot.
std::string command_in_type
double self_collision_proximity_threshold
std::string command_out_topic
bool get(const std::string &parent_name, const ros::NodeHandle &nh, const std::string ¶m_name, bool &value)
JogArmParameters ros_parameters_