CGraphSlamEngine_ROS.h
Go to the documentation of this file.
1 /* +---------------------------------------------------------------------------+
2  | Mobile Robot Programming Toolkit (MRPT) |
3  | http://www.mrpt.org/ |
4  | |
5  | Copyright (c) 2005-2016, Individual contributors, see AUTHORS file |
6  | See: http://www.mrpt.org/Authors - All rights reserved. |
7  | Released under BSD License. See details in http://www.mrpt.org/License |
8  +---------------------------------------------------------------------------+ */
9 
10 #pragma once
11 
13 
14 #include <mrpt/graphslam/CGraphSlamEngine.h>
15 #include <ros/ros.h>
16 
17 namespace mrpt { namespace graphslam {
18 
24 template<class GRAPH_t=typename mrpt::graphs::CNetworkOfPoses2DInf>
25 class CGraphSlamEngine_ROS : public CGraphSlamEngine<GRAPH_t>
26 {
27 public:
28  typedef CGraphSlamEngine<GRAPH_t> parent;
29 
31  ros::NodeHandle* nh,
32  const std::string& config_file,
33  const std::string& rawlog_fname="",
34  const std::string& fname_GT="",
35  mrpt::graphslam::CWindowManager* win_manager=NULL,
36  mrpt::graphslam::deciders::CNodeRegistrationDecider<GRAPH_t>* node_reg=NULL,
37  mrpt::graphslam::deciders::CEdgeRegistrationDecider<GRAPH_t>* edge_reg=NULL,
38  mrpt::graphslam::optimizers::CGraphSlamOptimizer<GRAPH_t>* optimizer=NULL
39  );
40  virtual ~CGraphSlamEngine_ROS();
47  void setupComm();
48 
50  void initClass();
52 protected:
57  void readParams();
63  virtual void usePublishersBroadcasters();
69  void readROSParameters();
70  virtual bool _execGraphSlamStep(
71  mrpt::obs::CActionCollection::Ptr& action,
72  mrpt::obs::CSensoryFrame::Ptr& observations,
73  mrpt::obs::CObservation::Ptr& observation,
74  size_t& rawlog_entry);
75 
83  virtual void setupSubs();
84  virtual void setupPubs();
85  virtual void setupSrvs();
98 
99 
101 };
102 
103 } } // end of namespaces
104 
106 
CRegistrationDeciderOrOptimizer_ROS.h
mrpt::graphslam::CGraphSlamEngine_ROS::readParams
void readParams()
Read the problem configuration parameters.
Definition: CGraphSlamEngine_ROS_impl.h:82
mrpt::graphslam::CGraphSlamEngine_ROS::setupSrvs
virtual void setupSrvs()
Definition: CGraphSlamEngine_ROS_impl.h:132
ros.h
mrpt::graphslam::CGraphSlamEngine_ROS::parent
CGraphSlamEngine< GRAPH_t > parent
Definition: CGraphSlamEngine_ROS.h:28
mrpt
Definition: CConnectionManager.h:31
mrpt::graphslam::CGraphSlamEngine_ROS::setupComm
void setupComm()
Wrapper method around the protected setup* class methods.
Definition: CGraphSlamEngine_ROS_impl.h:108
mrpt::graphslam::CGraphSlamEngine_ROS::CGraphSlamEngine_ROS
CGraphSlamEngine_ROS(ros::NodeHandle *nh, const std::string &config_file, const std::string &rawlog_fname="", const std::string &fname_GT="", mrpt::graphslam::CWindowManager *win_manager=NULL, mrpt::graphslam::deciders::CNodeRegistrationDecider< GRAPH_t > *node_reg=NULL, mrpt::graphslam::deciders::CEdgeRegistrationDecider< GRAPH_t > *edge_reg=NULL, mrpt::graphslam::optimizers::CGraphSlamOptimizer< GRAPH_t > *optimizer=NULL)
Definition: CGraphSlamEngine_ROS_impl.h:14
mrpt::graphslam::CGraphSlamEngine_ROS
Class template that provides a wrapper around the MRPT CGraphSlamEngine class template and implements...
Definition: CGraphSlamEngine_ROS.h:25
mrpt::graphslam::CGraphSlamEngine_ROS::m_nh
ros::NodeHandle * m_nh
Definition: CGraphSlamEngine_ROS.h:51
ros::CallbackQueue
mrpt::graphslam::CGraphSlamEngine_ROS::setupSubs
virtual void setupSubs()
Definition: CGraphSlamEngine_ROS_impl.h:120
CGraphSlamEngine_ROS_impl.h
mrpt::graphslam::CGraphSlamEngine_ROS::initClass
void initClass()
Initialize object instance.
Definition: CGraphSlamEngine_ROS_impl.h:43
mrpt::graphslam::CGraphSlamEngine_ROS::readROSParameters
void readROSParameters()
Read configuration parameters from the ROS parameter server.
Definition: CGraphSlamEngine_ROS_impl.h:88
mrpt::graphslam::CGraphSlamEngine_ROS::m_queue_size
int m_queue_size
Definition: CGraphSlamEngine_ROS.h:100
mrpt::graphslam::CGraphSlamEngine_ROS::usePublishersBroadcasters
virtual void usePublishersBroadcasters()
Provide feedback about the SLAM operation.
Definition: CGraphSlamEngine_ROS_impl.h:105
mrpt::graphslam::CGraphSlamEngine_ROS::_execGraphSlamStep
virtual bool _execGraphSlamStep(mrpt::obs::CActionCollection::Ptr &action, mrpt::obs::CSensoryFrame::Ptr &observations, mrpt::obs::CObservation::Ptr &observation, size_t &rawlog_entry)
Definition: CGraphSlamEngine_ROS_impl.h:91
mrpt::graphslam::CGraphSlamEngine_ROS::custom_service_queue
ros::CallbackQueue custom_service_queue
Custom Callback queue for processing requests for the services outside the standard CallbackQueue.
Definition: CGraphSlamEngine_ROS.h:97
mrpt::graphslam::CGraphSlamEngine_ROS::setupPubs
virtual void setupPubs()
Definition: CGraphSlamEngine_ROS_impl.h:126
mrpt::graphslam::CGraphSlamEngine_ROS::~CGraphSlamEngine_ROS
virtual ~CGraphSlamEngine_ROS()
Definition: CGraphSlamEngine_ROS_impl.h:37
ros::NodeHandle


mrpt_graphslam_2d
Author(s): Nikos Koukis
autogenerated on Thu Sep 19 2024 02:26:31