mrpt_sensorlib.h
Go to the documentation of this file.
1 /* mrpt_sensorlib ROS package
2  *
3  * Copyright 2021-2022, Jose Luis Blanco Claraco
4  * License: BSD 3-Clause License
5  */
6 
7 #pragma once
8 
9 #include <ros/ros.h>
10 #include <mrpt/hwdrivers/CGenericSensor.h>
11 #include <mrpt/io/CFileGZOutputStream.h>
12 #include <optional>
13 #include <mrpt/obs/obs_frwds.h>
14 
15 namespace mrpt_sensorlib
16 {
23 {
24  public:
26  virtual ~GenericSensorNode();
27 
29  virtual void init_from_config_file(int argc, char** argv);
30 
31  virtual void init_from_template_and_parameters(int argc, char** argv);
32 
34  void run();
35 
36  protected:
39 
40  std::optional<std::string> cfgfilename_;
41  std::shared_ptr<mrpt::config::CConfigFileBase> cfgfile_;
42  std::string cfg_section_{"SENSOR1"};
43 
44  mrpt::hwdrivers::CGenericSensor::Ptr sensor_;
45  std::string out_rawlog_prefix_;
46  mrpt::io::CFileGZOutputStream out_rawlog_;
48 
50  virtual void internal_init();
51 
52  virtual void process_sensor_specific()
53  { /*do nothing by default*/
54  }
55  virtual void init_sensor_specific()
56  { /*do nothing by default*/
57  }
58 
60  virtual void on_observation(const mrpt::obs::CObservation::Ptr& o);
61 
62  virtual void on_observation_velodyne(
63  const mrpt::obs::CObservationVelodyneScan& o);
64 };
65 
66 } // namespace mrpt_sensorlib
mrpt_sensorlib::GenericSensorNode::process_sensor_specific
virtual void process_sensor_specific()
Definition: mrpt_sensorlib.h:52
ros.h
mrpt_sensorlib::GenericSensorNode::on_observation
virtual void on_observation(const mrpt::obs::CObservation::Ptr &o)
Definition: mrpt_sensorlib.cpp:199
mrpt_sensorlib::GenericSensorNode::cfgfilename_
std::optional< std::string > cfgfilename_
Definition: mrpt_sensorlib.h:40
mrpt_sensorlib::GenericSensorNode::internal_init
virtual void internal_init()
Definition: mrpt_sensorlib.cpp:27
mrpt_sensorlib::GenericSensorNode::GenericSensorNode
GenericSensorNode()
Definition: mrpt_sensorlib.cpp:23
mrpt_sensorlib::GenericSensorNode::cfg_section_
std::string cfg_section_
Definition: mrpt_sensorlib.h:42
mrpt_sensorlib::GenericSensorNode::cfgfile_
std::shared_ptr< mrpt::config::CConfigFileBase > cfgfile_
Definition: mrpt_sensorlib.h:41
mrpt_sensorlib::GenericSensorNode
Definition: mrpt_sensorlib.h:22
mrpt_sensorlib::GenericSensorNode::out_rawlog_prefix_
std::string out_rawlog_prefix_
If non-empty, write to rawlog.
Definition: mrpt_sensorlib.h:45
mrpt_sensorlib::GenericSensorNode::sensor_
mrpt::hwdrivers::CGenericSensor::Ptr sensor_
Definition: mrpt_sensorlib.h:44
mrpt_sensorlib::GenericSensorNode::init_from_template_and_parameters
virtual void init_from_template_and_parameters(int argc, char **argv)
Definition: mrpt_sensorlib.cpp:114
mrpt_sensorlib::GenericSensorNode::run
void run()
Definition: mrpt_sensorlib.cpp:161
mrpt_sensorlib::GenericSensorNode::init_sensor_specific
virtual void init_sensor_specific()
Definition: mrpt_sensorlib.h:55
mrpt_sensorlib::GenericSensorNode::out_rawlog_
mrpt::io::CFileGZOutputStream out_rawlog_
Definition: mrpt_sensorlib.h:46
mrpt_sensorlib::GenericSensorNode::on_observation_velodyne
virtual void on_observation_velodyne(const mrpt::obs::CObservationVelodyneScan &o)
Definition: mrpt_sensorlib.cpp:217
mrpt_sensorlib::GenericSensorNode::nh_
ros::NodeHandle nh_
Definition: mrpt_sensorlib.h:37
mrpt_sensorlib::GenericSensorNode::init_from_config_file
virtual void init_from_config_file(int argc, char **argv)
Definition: mrpt_sensorlib.cpp:90
mrpt_sensorlib
Definition: mrpt_sensorlib.h:15
mrpt_sensorlib::GenericSensorNode::nhlocal_
ros::NodeHandle nhlocal_
Definition: mrpt_sensorlib.h:38
mrpt_sensorlib::GenericSensorNode::~GenericSensorNode
virtual ~GenericSensorNode()
Definition: mrpt_sensorlib.cpp:25
ros::NodeHandle
mrpt_sensorlib::GenericSensorNode::rawlog_GZ_compress_level_
int rawlog_GZ_compress_level_
Definition: mrpt_sensorlib.h:47


mrpt_sensorlib
Author(s): Jose-Luis Blanco-Claraco
autogenerated on Wed Jun 14 2023 02:56:31