5 #include <sensor_msgs/LaserScan.h> 6 #include <nav_msgs/OccupancyGrid.h> 8 #include "../../ros/topic_with_transform.h" 9 #include "../../ros/laser_scan_observer.h" 10 #include "../../ros/init_utils.h" 12 #include "../../ros/launch_properties_provider.h" 18 int main(
int argc,
char** argv) {
26 double ros_map_publishing_rate, ros_tf_buffer_size;
27 int ros_filter_queue, ros_subscr_queue;
29 ros_filter_queue, ros_subscr_queue);
30 auto scan_provider = std::make_unique<TopicWithTransform<ObservT>>(
32 ros_tf_buffer_size, ros_filter_queue, ros_subscr_queue
35 slam.get(), nh, ros_map_publishing_rate);
38 slam.get(), scan_provider.get(), props);
42 slam.get(), scan_provider.get(), props);
45 auto scan_obs_pin = std::make_shared<LaserScanObserver>(
48 scan_provider->subscribe(scan_obs_pin);
std::shared_ptr< PoseCorrectionTfPublisher< ObservT > > create_pose_correction_tf_publisher(WorldObservable< MapT > *slam, TopicWithTransform< ObservT > *scan_prov, const PropertiesProvider &props)
auto init_gmapping(const PropertiesProvider &props)
GmappingWorld::MapType MapType
std::string laser_scan_2D_ros_topic_name(const PropertiesProvider &props)
ROSCPP_DECL void init(int &argc, char **argv, const std::string &name, uint32_t options=0)
bool get_use_trig_cache(const PropertiesProvider &props)
std::shared_ptr< OccupancyGridPublisher< MapT > > create_occupancy_grid_publisher(WorldObservable< MapT > *slam, ros::NodeHandle nh, double ros_map_publishing_rate)
sensor_msgs::LaserScan ObservT
ROSCPP_DECL void spin(Spinner &spinner)
std::string tf_odom_frame_id(const PropertiesProvider &props)
int main(int argc, char **argv)
void init_constants_for_ros(double &ros_tf_buffer_size, double &ros_map_rate, int &ros_filter_queue, int &ros_subscr_queue)
auto make_pose_correction_observation_stamped_publisher(WorldObservable< MapT > *slam, TopicWithTransform< ObservT > *scan_provider, const PropertiesProvider &props)
bool get_skip_exceeding_lsr(const PropertiesProvider &props)