36 #define BOOST_PARAMETER_MAX_ARITY 7
38 #include <pcl/common/angles.h>
40 #include <std_msgs/Int32.h>
46 DiagnosticNodelet::onInit();
50 pub_pose_ = advertise<geometry_msgs::PoseStamped>(*pnh_,
"output/pose", 1);
51 pub_mask_ = advertise<sensor_msgs::Image>(*pnh_,
"output/mask", 1);
54 *pnh_,
"output/mask_indices", 1);
56 *pnh_,
"output/left_image", 1);
58 *pnh_,
"output/left_camera_info", 1);
60 *pnh_,
"output/right_camera_info", 1);
62 *pnh_,
"output/disparity", 1);
64 *pnh_,
"output/count", 1);
80 const geometry_msgs::Pose& new_pose)
82 Eigen::Affine3d new_affine;
84 for (
size_t i = 0;
i <
poses_.size();
i++) {
86 Eigen::Affine3d affine;
89 Eigen::Affine3d diff = affine.inverse() * new_affine;
90 double positional_difference = diff.translation().norm();
92 Eigen::AngleAxisd rotational_difference(diff.rotation());
110 sync_ = boost::make_shared<message_filters::Synchronizer<SyncPolicy> >(100);
141 const geometry_msgs::PoseStamped::ConstPtr& pose,
142 const sensor_msgs::Image::ConstPtr& mask,
143 const PCLIndicesMsg::ConstPtr& mask_indices,
144 const sensor_msgs::Image::ConstPtr& left_image,
145 const sensor_msgs::CameraInfo::ConstPtr& left_cam_info,
146 const sensor_msgs::CameraInfo::ConstPtr& right_cam_info,
147 const stereo_msgs::DisparityImage::ConstPtr& disparity)
163 std_msgs::Int32
count;