Go to the documentation of this file.
40 #include <std_msgs/Float64.h>
45 static const char LOGNAME[] =
"collision_check";
56 , parameters_(parameters)
58 , self_velocity_scale_coefficient_(-log(0.001) / parameters.self_collision_proximity_threshold)
59 , scene_velocity_scale_coefficient_(-log(0.001) / parameters.scene_collision_proximity_threshold)
60 , period_(1. / parameters_.collision_check_rate)
69 "Collision check rate is low, increase it in yaml file if CPU allows");
117 auto& acm = scene->getAllowedCollisionMatrix();
197 auto msg = moveit::util::make_shared_from_pool<std_msgs::Float64>();
#define ROS_WARN_STREAM_THROTTLE_NAMED(period, name, args)
const ServoParameters & parameters_
void setPaused(bool paused)
Pause or unpause processing servo commands while keeping the timers alive.
constexpr size_t ROS_QUEUE_SIZE
robot_state::RobotStatePtr current_state_
void start()
start the Timer that regulates collision check rate
WallDuration last_duration
const double self_velocity_scale_coefficient_
double self_collision_proximity_threshold
std::string move_group_name
const double scene_velocity_scale_coefficient_
double prev_collision_distance_
double current_collision_distance_
void publish(const boost::shared_ptr< M > &message) const
constexpr size_t ROS_LOG_THROTTLE_PERIOD
Publisher advertise(AdvertiseOptions &ops)
CollisionCheck(ros::NodeHandle &nh, const moveit_servo::ServoParameters ¶meters, const planning_scene_monitor::PlanningSceneMonitorPtr &planning_scene_monitor)
Constructor.
std::string collision_check_type
planning_scene_monitor::PlanningSceneMonitorPtr planning_scene_monitor_
static const char LOGNAME[]
collision_detection::CollisionResult collision_result_
collision_detection::CollisionRequest collision_request_
ros::Subscriber worst_case_stop_time_sub_
void run(const ros::TimerEvent &timer_event)
Run one iteration of collision checking.
Subscriber subscribe(const std::string &topic, uint32_t queue_size, const boost::function< void(C)> &callback, const VoidConstPtr &tracked_object=VoidConstPtr(), const TransportHints &transport_hints=TransportHints())
double est_time_to_collision_
double scene_collision_proximity_threshold
double collision_check_rate
struct ros::TimerEvent::@0 profile
double min_allowable_collision_distance
double worst_case_stop_time_
double scene_collision_distance_
void worstCaseStopTimeCB(const std_msgs::Float64ConstPtr &msg)
Callback for stopping time, from the thread that is aware of velocity and acceleration.
double collision_distance_safety_factor
CollisionCheckType collision_check_type_
double self_collision_distance_
planning_scene_monitor::LockedPlanningSceneRO getLockedPlanningSceneRO() const
Get a read-only copy of the planning scene.
EIGEN_MAKE_ALIGNED_OPERATOR_NEW void clear()
ros::Publisher collision_velocity_scale_pub_
Timer createTimer(Duration period, const TimerCallback &callback, bool oneshot=false, bool autostart=true) const
double derivative_of_collision_distance_
static const double MIN_RECOMMENDED_COLLISION_RATE
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