Public Member Functions | Private Member Functions | Private Attributes | List of all members
moveit_servo::CollisionCheck Class Reference

#include <collision_check.h>

Public Member Functions

 CollisionCheck (ros::NodeHandle &nh, const moveit_servo::ServoParameters &parameters, const planning_scene_monitor::PlanningSceneMonitorPtr &planning_scene_monitor)
 Constructor. More...
 
void setPaused (bool paused)
 Pause or unpause processing servo commands while keeping the timers alive. More...
 
void start ()
 start the Timer that regulates collision check rate More...
 
 ~CollisionCheck ()
 

Private Member Functions

planning_scene_monitor::LockedPlanningSceneRO getLockedPlanningSceneRO () const
 Get a read-only copy of the planning scene. More...
 
void run (const ros::TimerEvent &timer_event)
 Run one iteration of collision checking. More...
 
void worstCaseStopTimeCB (const std_msgs::Float64ConstPtr &msg)
 Callback for stopping time, from the thread that is aware of velocity and acceleration. More...
 

Private Attributes

CollisionCheckType collision_check_type_
 
bool collision_detected_ = false
 
collision_detection::CollisionRequest collision_request_
 
collision_detection::CollisionResult collision_result_
 
ros::Publisher collision_velocity_scale_pub_
 
double current_collision_distance_ = 0
 
robot_state::RobotStatePtr current_state_
 
double derivative_of_collision_distance_ = 0
 
double est_time_to_collision_ = 0
 
ros::Subscriber joint_state_sub_
 
ros::NodeHandle nh_
 
const ServoParametersparameters_
 
bool paused_ = false
 
ros::Duration period_
 
planning_scene_monitor::PlanningSceneMonitorPtr planning_scene_monitor_
 
double prev_collision_distance_ = 0
 
double safety_factor_ = 1000
 
double scene_collision_distance_ = 0
 
const double scene_velocity_scale_coefficient_
 
double self_collision_distance_ = 0
 
const double self_velocity_scale_coefficient_
 
ros::Timer timer_
 
double velocity_scale_ = 1
 
double worst_case_stop_time_ = std::numeric_limits<double>::max()
 
ros::Subscriber worst_case_stop_time_sub_
 

Detailed Description

Definition at line 94 of file collision_check.h.

Constructor & Destructor Documentation

◆ CollisionCheck()

moveit_servo::CollisionCheck::CollisionCheck ( ros::NodeHandle nh,
const moveit_servo::ServoParameters parameters,
const planning_scene_monitor::PlanningSceneMonitorPtr &  planning_scene_monitor 
)

Constructor.

Parameters
parameterscommon settings of moveit_servo
planning_scene_monitorPSM should have scene monitor and state monitor already started when passed into this class

Definition at line 53 of file collision_check.cpp.

◆ ~CollisionCheck()

moveit_servo::CollisionCheck::~CollisionCheck ( )
inline

Definition at line 105 of file collision_check.h.

Member Function Documentation

◆ getLockedPlanningSceneRO()

planning_scene_monitor::LockedPlanningSceneRO moveit_servo::CollisionCheck::getLockedPlanningSceneRO ( ) const
private

Get a read-only copy of the planning scene.

Definition at line 85 of file collision_check.cpp.

◆ run()

void moveit_servo::CollisionCheck::run ( const ros::TimerEvent timer_event)
private

Run one iteration of collision checking.

Definition at line 95 of file collision_check.cpp.

◆ setPaused()

void moveit_servo::CollisionCheck::setPaused ( bool  paused)

Pause or unpause processing servo commands while keeping the timers alive.

Definition at line 208 of file collision_check.cpp.

◆ start()

void moveit_servo::CollisionCheck::start ( )

start the Timer that regulates collision check rate

Definition at line 90 of file collision_check.cpp.

◆ worstCaseStopTimeCB()

void moveit_servo::CollisionCheck::worstCaseStopTimeCB ( const std_msgs::Float64ConstPtr &  msg)
private

Callback for stopping time, from the thread that is aware of velocity and acceleration.

Definition at line 203 of file collision_check.cpp.

Member Data Documentation

◆ collision_check_type_

CollisionCheckType moveit_servo::CollisionCheck::collision_check_type_
private

Definition at line 140 of file collision_check.h.

◆ collision_detected_

bool moveit_servo::CollisionCheck::collision_detected_ = false
private

Definition at line 144 of file collision_check.h.

◆ collision_request_

collision_detection::CollisionRequest moveit_servo::CollisionCheck::collision_request_
private

Definition at line 159 of file collision_check.h.

◆ collision_result_

collision_detection::CollisionResult moveit_servo::CollisionCheck::collision_result_
private

Definition at line 160 of file collision_check.h.

◆ collision_velocity_scale_pub_

ros::Publisher moveit_servo::CollisionCheck::collision_velocity_scale_pub_
private

Definition at line 166 of file collision_check.h.

◆ current_collision_distance_

double moveit_servo::CollisionCheck::current_collision_distance_ = 0
private

Definition at line 148 of file collision_check.h.

◆ current_state_

robot_state::RobotStatePtr moveit_servo::CollisionCheck::current_state_
private

Definition at line 135 of file collision_check.h.

◆ derivative_of_collision_distance_

double moveit_servo::CollisionCheck::derivative_of_collision_distance_ = 0
private

Definition at line 149 of file collision_check.h.

◆ est_time_to_collision_

double moveit_servo::CollisionCheck::est_time_to_collision_ = 0
private

Definition at line 151 of file collision_check.h.

◆ joint_state_sub_

ros::Subscriber moveit_servo::CollisionCheck::joint_state_sub_
private

Definition at line 165 of file collision_check.h.

◆ nh_

ros::NodeHandle moveit_servo::CollisionCheck::nh_
private

Definition at line 126 of file collision_check.h.

◆ parameters_

const ServoParameters& moveit_servo::CollisionCheck::parameters_
private

Definition at line 129 of file collision_check.h.

◆ paused_

bool moveit_servo::CollisionCheck::paused_ = false
private

Definition at line 145 of file collision_check.h.

◆ period_

ros::Duration moveit_servo::CollisionCheck::period_
private

Definition at line 164 of file collision_check.h.

◆ planning_scene_monitor_

planning_scene_monitor::PlanningSceneMonitorPtr moveit_servo::CollisionCheck::planning_scene_monitor_
private

Definition at line 132 of file collision_check.h.

◆ prev_collision_distance_

double moveit_servo::CollisionCheck::prev_collision_distance_ = 0
private

Definition at line 150 of file collision_check.h.

◆ safety_factor_

double moveit_servo::CollisionCheck::safety_factor_ = 1000
private

Definition at line 152 of file collision_check.h.

◆ scene_collision_distance_

double moveit_servo::CollisionCheck::scene_collision_distance_ = 0
private

Definition at line 143 of file collision_check.h.

◆ scene_velocity_scale_coefficient_

const double moveit_servo::CollisionCheck::scene_velocity_scale_coefficient_
private

Definition at line 156 of file collision_check.h.

◆ self_collision_distance_

double moveit_servo::CollisionCheck::self_collision_distance_ = 0
private

Definition at line 142 of file collision_check.h.

◆ self_velocity_scale_coefficient_

const double moveit_servo::CollisionCheck::self_velocity_scale_coefficient_
private

Definition at line 155 of file collision_check.h.

◆ timer_

ros::Timer moveit_servo::CollisionCheck::timer_
private

Definition at line 163 of file collision_check.h.

◆ velocity_scale_

double moveit_servo::CollisionCheck::velocity_scale_ = 1
private

Definition at line 141 of file collision_check.h.

◆ worst_case_stop_time_

double moveit_servo::CollisionCheck::worst_case_stop_time_ = std::numeric_limits<double>::max()
private

Definition at line 153 of file collision_check.h.

◆ worst_case_stop_time_sub_

ros::Subscriber moveit_servo::CollisionCheck::worst_case_stop_time_sub_
private

Definition at line 167 of file collision_check.h.


The documentation for this class was generated from the following files:


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