Go to the documentation of this file.
22 #ifndef OUTPUT_ROS_NODE_H
23 #define OUTPUT_ROS_NODE_H
25 #include <boost/python.hpp>
39 template<
class MSG_TYPE>
48 unsigned int computePeriod = 1) :
53 {
return "RosPublisher"; }
63 rosProxy->
publish(this->
id(), *data);
66 "\". NRPCoreSim is not connected to ROS and this node can't publish. Add \"ROSNode\" parameter to your experiment configuration");
72 void sendBatchMsg(
const std::string& ,
const std::vector<const MSG_TYPE*>& )
override
79 template<
class MSG_TYPE>
85 bool publishFromCache =
false,
86 unsigned int computePeriod = 1) :
88 publishFromCache, computePeriod)
98 #endif //OUTPUT_ROS_NODE_H
static void warn(const FormatString &fmt, const Args &...args)
NRP logging function with message formatting for warning level.
Definition: nrp_logger.h:149
unsigned int _computePeriod
Definition: output_edge.h:173
Definition: nrp_ros_proxy.h:30
bool _publishFromCache
Definition: output_edge.h:172
OutputROSEdge(const std::string &keyword, const std::string &address, bool publishFromCache=false, unsigned int computePeriod=1)
Definition: output_node.h:84
std::string _id
Definition: output_edge.h:170
Definition: computational_node_policies.h:47
Definition: output_node.h:80
bool publishFromCache()
Definition: output_node.h:109
const std::string & id() const
Returns the node 'id'.
Definition: computational_node.h:57
Helper class used to implement Python output edge decorators.
Definition: output_edge.h:36
static NRPROSProxy & getInstance()
Get singleton instance of NRPROSProxy.
Definition: nrp_ros_proxy.cpp:26
Implementation of an output node in the computation graph.
Definition: output_node.h:38
OutputROSNode(const std::string &id, bool publishFromCache=false, unsigned int computePeriod=1)
Constructor.
Definition: output_node.h:46
std::string typeStr() const override
Returns the node 'type' as a string.
Definition: output_node.h:52
@ SERIES
Definition: computational_node_policies.h:51
static EXCEPTION logCreate(LOG_EXCEPTION_T &exception, const std::string &msg, NRPLogger::spdlog_out_fcn_t spdlogCall=NRPLogger::critical)
Definition: nrp_exceptions.h:73
void sendBatchMsg(const std::string &, const std::vector< const MSG_TYPE * > &) override
Sends out a vector of msg as a single batch, to be implemented by derived classes.
Definition: output_node.h:72
Output node used to connect a ROS publisher to the computational graph.
Definition: output_node.h:40
void sendSingleMsg(const std::string &, const MSG_TYPE *data) override
Sends out a single msg, to be implemented by derived classes.
Definition: output_node.h:57
OutputROSNode< MSG_TYPE > * makeNewNode() override
Definition: output_node.h:93
PublishFormatPolicy
Defines how output nodes send stored msgs.
Definition: computational_node_policies.h:50
void publish(const std::string &address, const MSG_TYPE &msg, size_t queueSize=10)
Publishes 'msg' to ROS topic 'address'.
Definition: nrp_ros_proxy.h:62