void HeightmapToPointCloud::onInit() { DiagnosticNodelet::onInit(); pub_config_ = pnh_->advertise<jsk_recognition_msgs::HeightmapConfig>( "output/config", 1); sub_config_ = pnh_->subscribe( getHeightmapConfigTopic(pnh_->resolveName("input")), 1, &HeightmapToPointCloud::configCallback, this); pub_ = advertise<sensor_msgs::PointCloud2>(*pnh_, "output", 1); onInitPostProcess(); }
void HeightmapMorphologicalFiltering::onInit() { DiagnosticNodelet::onInit(); pub_config_ = pnh_->advertise<jsk_recognition_msgs::HeightmapConfig>("output/config", 1, true); srv_ = boost::make_shared <dynamic_reconfigure::Server<Config> > (*pnh_); typename dynamic_reconfigure::Server<Config>::CallbackType f = boost::bind (&HeightmapMorphologicalFiltering::configCallback, this, _1, _2); srv_->setCallback (f); pnh_->param("max_queue_size", max_queue_size_, 10); pub_ = advertise<sensor_msgs::Image>(*pnh_, "output", 1); sub_config_ = pnh_->subscribe(getHeightmapConfigTopic(pnh_->resolveName("input")), 1, &HeightmapMorphologicalFiltering::configTopicCallback, this); }
void HeightmapTimeAccumulation::onInit() { ConnectionBasedNodelet::onInit(); pub_config_ = pnh_->advertise<jsk_recognition_msgs::HeightmapConfig>( "output/config", 1, true); sub_config_ = pnh_->subscribe( getHeightmapConfigTopic(pnh_->resolveName("input")), 1, &HeightmapTimeAccumulation::configCallback, this); if (!pnh_->getParam("center_frame_id", center_frame_id_)) { JSK_NODELET_FATAL("no ~center_frame_id is specified"); return; } if (!pnh_->getParam("fixed_frame_id", fixed_frame_id_)) { JSK_NODELET_FATAL("no ~fixed_frame_id is specified"); return; } int tf_queue_size; pnh_->param("tf_queue_size", tf_queue_size, 10); prev_from_center_to_fixed_ = Eigen::Affine3f::Identity(); tf_ = TfListenerSingleton::getInstance(); pub_output_ = pnh_->advertise<sensor_msgs::Image>("output", 1, true); sub_previous_pointcloud_ = pnh_->subscribe<sensor_msgs::PointCloud2>( "input/prev_pointcloud", 5, &HeightmapTimeAccumulation::prevPointCloud, this); sub_heightmap_.subscribe(*pnh_, "input", 10); tf_filter_.reset(new tf::MessageFilter<sensor_msgs::Image>( sub_heightmap_, *tf_, fixed_frame_id_, tf_queue_size)); tf_filter_->registerCallback( boost::bind( &HeightmapTimeAccumulation::accumulate, this, _1)); srv_reset_ = pnh_->advertiseService("reset", &HeightmapTimeAccumulation::resetCallback, this); onInitPostProcess(); }