9 #ifndef DYNAMIC_GRAPH_ROS_DG_TO_ROS_HH 10 #define DYNAMIC_GRAPH_ROS_DG_TO_ROS_HH 14 #include <boost/format.hpp> 16 #include <std_msgs/Float64.h> 17 #include <std_msgs/UInt32.h> 18 #include "dynamic_graph_manager/Matrix.h" 19 #include "dynamic_graph_manager/Vector.h" 21 #include "geometry_msgs/Transform.h" 22 #include "geometry_msgs/TransformStamped.h" 23 #include "geometry_msgs/Twist.h" 24 #include "geometry_msgs/TwistStamped.h" 25 #include "geometry_msgs/Vector3Stamped.h" 27 #include <dynamic-graph/linear-algebra.h> 28 #include <dynamic-graph/signal-ptr.h> 29 #include <dynamic-graph/signal-time-dependent.h> 33 #define MAKE_SIGNAL_STRING(NAME, IS_INPUT, OUTPUT_TYPE, SIGNAL_NAME) \ 35 typeid(*this).name(), NAME, IS_INPUT, OUTPUT_TYPE, SIGNAL_NAME) 39 typedef dynamicgraph::Vector Vector;
40 typedef dynamicgraph::Matrix Matrix;
63 template <
typename SotType>
70 typedef std_msgs::Float64 ros_t;
71 typedef std_msgs::Float64ConstPtr ros_const_ptr_t;
72 typedef dynamicgraph::Signal<dg_t, int> signal_t;
73 typedef dynamicgraph::SignalPtr<dg_t, int> signalIn_t;
74 typedef boost::function<dg_t&(dg_t&, int)>
callback_t;
76 static const char* signalTypeName;
79 static void setDefault(S& s)
84 static void setDefault(dg_t& s)
93 typedef unsigned int dg_t;
94 typedef std_msgs::UInt32 ros_t;
95 typedef std_msgs::UInt32ConstPtr ros_const_ptr_t;
96 typedef dynamicgraph::Signal<dg_t, int> signal_t;
97 typedef dynamicgraph::SignalPtr<dg_t, int> signalIn_t;
98 typedef boost::function<dg_t&(dg_t&, int)>
callback_t;
100 static const char* signalTypeName;
102 template <
typename S>
103 static void setDefault(S& s)
108 static void setDefault(dg_t& s)
118 typedef dynamic_graph_manager::Matrix ros_t;
119 typedef dynamic_graph_manager::MatrixConstPtr ros_const_ptr_t;
120 typedef dynamicgraph::SignalTimeDependent<dg_t, int> signal_t;
121 typedef dynamicgraph::SignalPtr<dg_t, int> signalIn_t;
122 typedef boost::function<dg_t&(dg_t&, int)>
callback_t;
124 static const char* signalTypeName;
126 template <
typename S>
127 static void setDefault(S& s)
134 static void setDefault(dg_t& s)
144 typedef dynamic_graph_manager::Vector ros_t;
145 typedef dynamic_graph_manager::VectorConstPtr ros_const_ptr_t;
146 typedef dynamicgraph::SignalTimeDependent<dg_t, int> signal_t;
147 typedef dynamicgraph::SignalPtr<dg_t, int> signalIn_t;
148 typedef boost::function<dg_t&(dg_t&, int)>
callback_t;
150 static const char* signalTypeName;
152 template <
typename S>
153 static void setDefault(S& s)
160 static void setDefault(dg_t& s)
170 typedef geometry_msgs::Vector3 ros_t;
171 typedef geometry_msgs::Vector3ConstPtr ros_const_ptr_t;
172 typedef dynamicgraph::SignalTimeDependent<dg_t, int> signal_t;
173 typedef dynamicgraph::SignalPtr<dg_t, int> signalIn_t;
174 typedef boost::function<dg_t&(dg_t&, int)>
callback_t;
176 static const char* signalTypeName;
178 template <
typename S>
179 static void setDefault(S& s)
181 Vector v(Vector::Zero(3));
185 static void setDefault(dg_t& s)
194 typedef MatrixHomogeneous dg_t;
195 typedef geometry_msgs::Transform ros_t;
196 typedef geometry_msgs::TransformConstPtr ros_const_ptr_t;
197 typedef dynamicgraph::SignalTimeDependent<dg_t, int> signal_t;
198 typedef dynamicgraph::SignalPtr<dg_t, int> signalIn_t;
199 typedef boost::function<dg_t&(dg_t&, int)>
callback_t;
201 static const char* signalTypeName;
203 template <
typename S>
204 static void setDefault(S& s)
210 static void setDefault(dg_t& s)
220 typedef geometry_msgs::Twist ros_t;
221 typedef geometry_msgs::TwistConstPtr ros_const_ptr_t;
222 typedef dynamicgraph::SignalTimeDependent<dg_t, int> signal_t;
223 typedef dynamicgraph::SignalPtr<dg_t, int> signalIn_t;
224 typedef boost::function<dg_t&(dg_t&, int)>
callback_t;
226 static const char* signalTypeName;
228 template <
typename S>
229 static void setDefault(S& s)
236 static void setDefault(dg_t& s)
247 typedef geometry_msgs::Vector3Stamped ros_t;
248 typedef geometry_msgs::Vector3StampedConstPtr ros_const_ptr_t;
249 typedef dynamicgraph::SignalTimeDependent<dg_t, int> signal_t;
250 typedef dynamicgraph::SignalPtr<dg_t, int> signalIn_t;
251 typedef boost::function<dg_t&(dg_t&, int)>
callback_t;
253 static const char* signalTypeName;
255 template <
typename S>
256 static void setDefault(S& s)
266 typedef MatrixHomogeneous dg_t;
267 typedef geometry_msgs::TransformStamped ros_t;
268 typedef geometry_msgs::TransformStampedConstPtr ros_const_ptr_t;
269 typedef dynamicgraph::SignalTimeDependent<dg_t, int> signal_t;
270 typedef dynamicgraph::SignalPtr<dg_t, int> signalIn_t;
271 typedef boost::function<dg_t&(dg_t&, int)>
callback_t;
273 static const char* signalTypeName;
275 template <
typename S>
276 static void setDefault(S& s)
287 typedef geometry_msgs::TwistStamped ros_t;
288 typedef geometry_msgs::TwistStampedConstPtr ros_const_ptr_t;
289 typedef dynamicgraph::SignalTimeDependent<dg_t, int> signal_t;
290 typedef dynamicgraph::SignalPtr<dg_t, int> signalIn_t;
291 typedef boost::function<dg_t&(dg_t&, int)>
callback_t;
293 static const char* signalTypeName;
295 template <
typename S>
296 static void setDefault(S& s)
302 inline std::string makeSignalString(
const std::string& className,
303 const std::string& instanceName,
305 const std::string& signalType,
306 const std::string& signalName)
308 boost::format fmt(
"%s(%s)::%s(%s)::%s");
309 fmt % className % instanceName % (isInputSignal ?
"input" :
"output") %
310 signalType % signalName;
boost::function< void(int)> callback_t
Simple shortcut for code writing convenience.
Definition: ros_robot_state_publisher.hpp:43
Definition: dg_to_ros.hh:49
this is this package namespace in order to avoid naming conflict
Definition: device.hh:22
Definition: dg_to_ros.hh:52
DgToRos trait type.
Definition: dg_to_ros.hh:64