ed
server.h
Go to the documentation of this file.
1 #ifndef ED_SERVER_H_
2 #define ED_SERVER_H_
3 
4 #include "ed/types.h"
5 
6 #include "ed/property_key_db.h"
8 
9 
10 #include <diagnostic_updater/diagnostic_updater.h>
11 
12 #include <ros/publisher.h>
13 
14 #include <tf2_ros/buffer.h>
15 
17 
18 #include <map>
19 #include <queue>
20 #include <vector>
21 
22 namespace tf2_ros
23 {
24 
25 class TransformListener;
26 
27 }
28 
29 namespace ed
30 {
31 
32 class Server
33 {
34 
35 public:
36  Server();
37  virtual ~Server();
38 
39  void configure(tue::Configuration& config, bool reconfigure = false);
40 
41  void initialize();
42 
43  void reset(bool keep_all_shapes = false);
44 
45  void update();
46 
47  void update(const ed::UpdateRequest& req);
48 
49  void update(const std::string& update_str, std::string& error);
50 
51  void storeEntityMeasurements(const std::string& path) const;
52 
54  {
55  boost::lock_guard<boost::mutex> lg(mutex_world_);
56  return ed::make_shared<const WorldModel>(*world_model_);
57  }
58 
59  PluginContainerPtr loadPlugin(const std::string& plugin_name, tue::Configuration config);
60 
61  void stepPlugins();
62 
63  void publishStatistics();
64 
66  {
68  }
69 
70 private:
71 
72  mutable boost::mutex mutex_world_;
73  // World model datastructure
75 
78 
80 
81  void initializeWorld();
82 
85 
88 
91 
95 
97  diagnostic_updater::Updater updater_;
98  ros::Publisher pub_stats_;
99 
102  ed::shared_ptr<tf2_ros::TransformListener> tf_listener_;
103 };
104 
105 }
106 
107 #endif
ed::Server::sensors_
std::map< std::string, SensorModulePtr > sensors_
Sensor data.
Definition: server.h:87
ed::UpdateRequest
Definition: update_request.h:24
std::string
ed::TFBufferConstPtr
shared_ptr< const tf2_ros::Buffer > TFBufferConstPtr
Definition: types.h:84
ed::Server::stepPlugins
void stepPlugins()
Definition: server.cpp:240
types.h
ed::TFBufferPtr
shared_ptr< tf2_ros::Buffer > TFBufferPtr
Definition: types.h:83
ed::Server::reset
void reset(bool keep_all_shapes=false)
Definition: server.cpp:153
vector
ed::Server::property_key_db_
PropertyKeyDB property_key_db_
Property Key DB.
Definition: server.h:90
property_key_db.h
ed::models::ModelLoader
Definition: model_loader.h:18
ed::Server::storeEntityMeasurements
void storeEntityMeasurements(const std::string &path) const
Definition: server.cpp:437
ed::Server::getPropertyKeyDBEntry
const PropertyKeyDBEntry * getPropertyKeyDBEntry(const std::string &name) const
Definition: server.h:65
queue
tue::config::ReaderWriter
ed::Server::configure
void configure(tue::Configuration &config, bool reconfigure=false)
Definition: server.cpp:49
ed::log::error
std::ostream & error()
Definition: logging.cpp:74
ed::Server::updater_
diagnostic_updater::Updater updater_
Profiling.
Definition: server.h:97
ed::PluginContainerPtr
shared_ptr< PluginContainer > PluginContainerPtr
Definition: types.h:51
tf2_ros
Definition: server.h:22
ed::Server::~Server
virtual ~Server()
Definition: server.cpp:42
ed::Server::tf_buffer_
TFBufferPtr tf_buffer_
Definition: server.h:100
ed::Server::update_requests_
std::queue< UpdateRequest > update_requests_
Definition: server.h:79
ed::Server::world_model_
WorldModelConstPtr world_model_
Definition: server.h:74
ed::Server::loadPlugin
PluginContainerPtr loadPlugin(const std::string &plugin_name, tue::Configuration config)
Definition: server.cpp:207
ed::WorldModelConstPtr
shared_ptr< const WorldModel > WorldModelConstPtr
Definition: types.h:45
ed::PropertyKeyDBEntry
Definition: property_key_db.h:13
ed::PropertyKeyDB
Definition: property_key_db.h:28
ed::Server::initializeWorld
void initializeWorld()
Definition: server.cpp:416
map
ed::Server::world_model
WorldModelConstPtr world_model() const
Definition: server.h:53
ed::Server::update
void update()
Definition: server.cpp:289
ed::Server::plugin_containers_
std::map< std::string, PluginContainerPtr > plugin_containers_
Plugins.
Definition: server.h:93
ed::Server::publishStatistics
void publishStatistics()
Definition: server.cpp:457
configuration.h
ed::Server::model_loader_
models::ModelLoader model_loader_
Model loading.
Definition: server.h:84
ed::Server::tf_buffer_const_
TFBufferConstPtr tf_buffer_const_
Definition: server.h:101
ed::Server::world_name_
std::string world_name_
World name.
Definition: server.h:77
ed::Server::initialize
void initialize()
Definition: server.cpp:142
ed::Server::pub_stats_
ros::Publisher pub_stats_
Definition: server.h:98
ed
Definition: convex_hull.h:8
ed::Server::Server
Server()
Definition: server.cpp:31
ed::PropertyKeyDB::getPropertyKeyDBEntry
const PropertyKeyDBEntry * getPropertyKeyDBEntry(const std::string &name) const
Definition: property_key_db.h:77
ed::Server::tf_listener_
ed::shared_ptr< tf2_ros::TransformListener > tf_listener_
Definition: server.h:102
ed::Server::mutex_world_
boost::mutex mutex_world_
Definition: server.h:72
ed::Server
Definition: server.h:32
ed::Server::inactive_plugin_containers_
std::map< std::string, PluginContainerPtr > inactive_plugin_containers_
Definition: server.h:94
model_loader.h
config
tue::config::ReaderWriter config