36 #define BOOST_PARAMETER_MAX_ARITY 7
44 DiagnosticNodelet::onInit();
65 if (nh_->getParam(
"robot_description", content)) {
71 std::string root_link_id;
72 std::string world_frame_id;
73 pnh_->param<std::string>(
"root_link_id", root_link_id,
"BODY");
74 pnh_->param<std::string>(
"world_frame_id", world_frame_id,
"map");
76 double default_padding, default_scale;
77 pnh_->param(
"self_see_default_padding", default_padding, 0.01);
78 pnh_->param(
"self_see_default_scale", default_scale, 1.0);
79 std::vector<robot_self_filter::LinkInfo>
links;
82 if (!pnh_->hasParam(
"self_see_links")) {
86 pnh_->getParam(
"self_see_links", ssl_vals);
90 if (ssl_vals.
size() == 0) {
93 for (
int i = 0;
i < ssl_vals.
size();
i++) {
96 NODELET_WARN(
"Self see links entry %d is not a structure. Stopping processing of self see links",
i);
99 if (!ssl_vals[
i].hasMember(
"name")) {
100 NODELET_WARN(
"Self see links entry %d has no name. Stopping processing of self see links",
i);
103 li.
name = std::string(ssl_vals[
i][
"name"]);
104 if (!ssl_vals[
i].hasMember(
"padding")) {
105 NODELET_DEBUG(
"Self see links entry %d has no padding. Assuming default padding of %g",
i,default_padding);
108 li.
padding = ssl_vals[
i][
"padding"];
110 if (!ssl_vals[
i].hasMember(
"scale")) {
111 NODELET_DEBUG(
"Self see links entry %d has no scale. Assuming default scale of %g",
i,default_scale);
112 li.
scale = default_scale;
114 li.
scale = ssl_vals[
i][
"scale"];
135 jsk_recognition_msgs::CheckCollision::Response &
res)
137 sensor_msgs::JointState joint =
req.joint;
138 geometry_msgs::PoseStamped
pose =
req.pose;
144 const geometry_msgs::PoseStamped& pose)
159 Eigen::Matrix4f sensor_to_world;
161 pcl::transformPointCloud(
cloud_,
cloud_, sensor_to_world);
166 bool contain_flag =
false;
168 for (
size_t i = 0;
i <
cloud_.size();
i++) {
170 if (finite(
p.x) && finite(
p.y) && finite(
p.z) &&