Go to the documentation of this file.
45 static const std::string
LOGNAME =
"servo_node";
51 constexpr
double ROBOT_STATE_WAIT_TIME = 10.0;
73 ROBOT_STATE_WAIT_TIME))
87 std::size_t error = 0;
129 double collision_proximity_threshold;
133 if (nh.
hasParam(
"collision_proximity_threshold") &&
136 ROS_WARN_NAMED(
LOGNAME,
"'collision_proximity_threshold' parameter is deprecated, and has been replaced by separate"
137 "'self_collision_proximity_threshold' and 'scene_collision_proximity_threshold' "
138 "parameters. Please update the servoing yaml file.");
139 if (!have_self_collision_proximity_threshold)
142 have_self_collision_proximity_threshold =
true;
144 if (!have_scene_collision_proximity_threshold)
147 have_scene_collision_proximity_threshold =
true;
150 error += !have_self_collision_proximity_threshold;
151 error += !have_scene_collision_proximity_threshold;
162 ROS_WARN_NAMED(
LOGNAME,
"'status_topic' parameter is missing. Recently renamed from 'warning_topic'. Please update "
163 "the servoing yaml file.");
167 if (nh.
hasParam(
"low_latency_mode"))
173 ROS_WARN_NAMED(
LOGNAME,
"'low_latency_mode' is a new parameter that runs servo calc immediately after receiving "
174 "input. Setting to the default value of false.");
184 "greater than zero. Check yaml file.");
190 "Parameter 'num_outgoing_halt_msgs_to_publish' should be greater than zero. Check yaml file.");
196 "should be greater than 'lower_singularity_threshold.' "
203 "and 'lower_singularity_threshold' should be "
204 "greater than zero. Check yaml file.");
210 "greater than zero. Check yaml file.");
216 "greater than or equal to zero. Check yaml file.");
222 "'speed_units'. Check yaml file.");
229 "'trajectory_msgs/JointTrajectory' or "
230 "'std_msgs/Float64MultiArray'. Check yaml file.");
237 "publish_joint_velocities / "
238 "publish_joint_accelerations must be true. Check "
246 "you must select positions OR velocities.");
258 "greater than zero. Check yaml file.");
264 "greater than zero. Check yaml file.");
270 "than or equal to 'scene_collision_proximity_threshold'. Check yaml file.");
275 "greater than zero. Check yaml file.");
281 "greater than or equal to 1. Check yaml file.");
287 "greater than zero. Check yaml file.");
std::unique_ptr< ServoCalcs > servo_calcs_
bool get(const std::string &parent_name, const ros::NodeHandle &nh, const std::string ¶m_name, bool &value)
double incoming_command_timeout
void setPaused(bool paused)
Pause or unpause processing servo commands while keeping the timers alive.
Servo(ros::NodeHandle &nh, const planning_scene_monitor::PlanningSceneMonitorPtr &planning_scene_monitor)
bool getEEFrameTransform(Eigen::Isometry3d &transform)
const ServoParameters & getParameters() const
Get the parameters used by servo node.
double self_collision_proximity_threshold
std::string joint_command_in_topic
int num_outgoing_halt_msgs_to_publish
std::string move_group_name
template Halfspace< double > transform(const Halfspace< double > &a, const Transform3< double > &tf)
std::string command_out_type
#define ROS_FATAL_NAMED(name,...)
std::string planning_frame
std::string collision_check_type
std::unique_ptr< CollisionCheck > collision_checker_
double joint_limit_margin
std::string ee_frame_name
bool hasParam(const std::string &key) const
std::string cartesian_command_in_topic
double scene_collision_proximity_threshold
double collision_check_rate
double lower_singularity_threshold
double min_allowable_collision_distance
double hard_stop_singularity_threshold
double collision_distance_safety_factor
bool publish_joint_positions
std::string robot_link_command_frame
bool getCommandFrameTransform(Eigen::Isometry3d &transform)
#define ROS_WARN_NAMED(name,...)
static const std::string LOGNAME
std::string command_in_type
std::string command_out_topic
bool publish_joint_velocities
planning_scene_monitor::PlanningSceneMonitorPtr planning_scene_monitor_
double low_pass_filter_coeff
void shutdownIfError(const std::string &parent_name, std::size_t error_count)
bool publish_joint_accelerations
void start()
start servo node
ServoParameters parameters_
moveit_servo
Author(s): Brian O'Neil, Andy Zelenak
, Blake Anderson, Alexander Rössler , Tyler Weaver
autogenerated on Sat May 3 2025 02:27:56