Program Listing for File OctomapToGridmapDemo.hpp

Return to documentation for file (/tmp/ws/src/grid_map/grid_map_demos/include/grid_map_demos/OctomapToGridmapDemo.hpp)

/*
 * OctomapToGridmapDemo.hpp
 *
 *  Created on: May 03, 2017
 *      Author: Jeff Delmerico
 *   Institute: University of Zürich, Robotics and Perception Group
 */

#ifndef GRID_MAP_DEMOS__OCTOMAPTOGRIDMAPDEMO_HPP_
#define GRID_MAP_DEMOS__OCTOMAPTOGRIDMAPDEMO_HPP_

#include <grid_map_ros/grid_map_ros.hpp>
#include <octomap_msgs/srv/get_octomap.hpp>
#include <rclcpp/rclcpp.hpp>
#include <string>

namespace grid_map_demos
{

class OctomapToGridmapDemo : public rclcpp::Node
{
public:
  using GetOctomapSrv = octomap_msgs::srv::GetOctomap;
  using OctomapMessage = octomap_msgs::msg::Octomap;

  OctomapToGridmapDemo();

  virtual ~OctomapToGridmapDemo();

  bool readParameters();

  void convertAndPublishMap();

private:
  rclcpp::Publisher<grid_map_msgs::msg::GridMap>::SharedPtr gridMapPublisher_;

  rclcpp::Publisher<OctomapMessage>::SharedPtr octomapPublisher_;

  grid_map::GridMap map_;

  std::string octomapServiceTopic_;

  rclcpp::Client<GetOctomapSrv>::SharedPtr client_;

  float minX_;
  float maxX_;
  float minY_;
  float maxY_;
  float minZ_;
  float maxZ_;
};

}  // namespace grid_map_demos
#endif  // GRID_MAP_DEMOS__OCTOMAPTOGRIDMAPDEMO_HPP_