18 #ifndef DISTANCE_MANAGER_HPP_ 19 #define DISTANCE_MANAGER_HPP_ 24 #include <boost/scoped_ptr.hpp> 30 #include <kdl/tree.hpp> 31 #include <kdl/frames.hpp> 33 #include <Eigen/Dense> 40 #include <sensor_msgs/JointState.h> 41 #include <moveit_msgs/CollisionObject.h> 42 #include "cob_srvs/SetString.h" 141 void jointstateCb(
const sensor_msgs::JointState::ConstPtr& msg);
181 cob_srvs::SetString::Response& response);
void addObstacle(const std::string &id, PtrIMarkerShape_t s)
std::vector< std::thread > self_collision_transform_threads_
std::mutex obstacle_mgr_mtx_
std::shared_ptr< IMarkerShape > PtrIMarkerShape_t
KDL::JntArray last_q_dot_
tf::TransformListener tf_listener_
std::string chain_base_link_
const std::string getRootFrame() const
ros::Publisher obstacle_distances_pub_
std::vector< std::string > joints_
void jointstateCb(const sensor_msgs::JointState::ConstPtr &msg)
void buildObstacleMesh(const moveit_msgs::CollisionObject::ConstPtr &msg, const tf::StampedTransform &transform)
boost::scoped_ptr< ShapesManager > object_of_interest_mgr_
std::string root_frame_id_
DistanceManager(ros::NodeHandle &nh)
boost::scoped_ptr< ShapesManager > obstacle_mgr_
bool registerLinkOfInterest(cob_srvs::SetString::Request &request, cob_srvs::SetString::Response &response)
std::vector< std::string > segments_
boost::scoped_ptr< AdvancedChainFkSolverVel_recursive > adv_chn_fk_solver_vel_
LinkToCollision link_to_collision_
void transformSelfCollisionLinks(const std::string link_name)
Eigen::Affine3d tf_cb_frame_bl_
ros::Publisher marker_pub_
std::string chain_tip_link_
void buildObstaclePrimitive(const moveit_msgs::CollisionObject::ConstPtr &msg, const tf::StampedTransform &transform)
void registerObstacle(const moveit_msgs::CollisionObject::ConstPtr &msg)
Eigen::Affine3d getSynchedCbToBlTransform()
void drawObjectsOfInterest()
void addObjectOfInterest(const std::string &id, PtrIMarkerShape_t s)