00001
00002 #ifndef EE_CART_IMPED_MSGS_MESSAGE_EECARTIMPEDFEEDBACK_H
00003 #define EE_CART_IMPED_MSGS_MESSAGE_EECARTIMPEDFEEDBACK_H
00004 #include <string>
00005 #include <vector>
00006 #include <map>
00007 #include <ostream>
00008 #include "ros/serialization.h"
00009 #include "ros/builtin_message_traits.h"
00010 #include "ros/message_operations.h"
00011 #include "ros/time.h"
00012
00013 #include "ros/macros.h"
00014
00015 #include "ros/assert.h"
00016
00017 #include "std_msgs/Header.h"
00018 #include "ee_cart_imped_msgs/StiffPoint.h"
00019 #include "ee_cart_imped_msgs/StiffPoint.h"
00020 #include "ee_cart_imped_msgs/StiffPoint.h"
00021 #include "ee_cart_imped_msgs/StiffPoint.h"
00022
00023 namespace ee_cart_imped_msgs
00024 {
00025 template <class ContainerAllocator>
00026 struct EECartImpedFeedback_ {
00027 typedef EECartImpedFeedback_<ContainerAllocator> Type;
00028
00029 EECartImpedFeedback_()
00030 : header()
00031 , goal()
00032 , initial_point()
00033 , desired()
00034 , actual_pose()
00035 , effort_sq_error(0.0)
00036 , requested_joint_efforts()
00037 , actual_joint_efforts()
00038 , running_time()
00039 {
00040 }
00041
00042 EECartImpedFeedback_(const ContainerAllocator& _alloc)
00043 : header(_alloc)
00044 , goal(_alloc)
00045 , initial_point(_alloc)
00046 , desired(_alloc)
00047 , actual_pose(_alloc)
00048 , effort_sq_error(0.0)
00049 , requested_joint_efforts(_alloc)
00050 , actual_joint_efforts(_alloc)
00051 , running_time()
00052 {
00053 }
00054
00055 typedef ::std_msgs::Header_<ContainerAllocator> _header_type;
00056 ::std_msgs::Header_<ContainerAllocator> header;
00057
00058 typedef std::vector< ::ee_cart_imped_msgs::StiffPoint_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::ee_cart_imped_msgs::StiffPoint_<ContainerAllocator> >::other > _goal_type;
00059 std::vector< ::ee_cart_imped_msgs::StiffPoint_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::ee_cart_imped_msgs::StiffPoint_<ContainerAllocator> >::other > goal;
00060
00061 typedef ::ee_cart_imped_msgs::StiffPoint_<ContainerAllocator> _initial_point_type;
00062 ::ee_cart_imped_msgs::StiffPoint_<ContainerAllocator> initial_point;
00063
00064 typedef ::ee_cart_imped_msgs::StiffPoint_<ContainerAllocator> _desired_type;
00065 ::ee_cart_imped_msgs::StiffPoint_<ContainerAllocator> desired;
00066
00067 typedef ::ee_cart_imped_msgs::StiffPoint_<ContainerAllocator> _actual_pose_type;
00068 ::ee_cart_imped_msgs::StiffPoint_<ContainerAllocator> actual_pose;
00069
00070 typedef double _effort_sq_error_type;
00071 double effort_sq_error;
00072
00073 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _requested_joint_efforts_type;
00074 std::vector<double, typename ContainerAllocator::template rebind<double>::other > requested_joint_efforts;
00075
00076 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _actual_joint_efforts_type;
00077 std::vector<double, typename ContainerAllocator::template rebind<double>::other > actual_joint_efforts;
00078
00079 typedef ros::Duration _running_time_type;
00080 ros::Duration running_time;
00081
00082
00083 typedef boost::shared_ptr< ::ee_cart_imped_msgs::EECartImpedFeedback_<ContainerAllocator> > Ptr;
00084 typedef boost::shared_ptr< ::ee_cart_imped_msgs::EECartImpedFeedback_<ContainerAllocator> const> ConstPtr;
00085 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00086 };
00087 typedef ::ee_cart_imped_msgs::EECartImpedFeedback_<std::allocator<void> > EECartImpedFeedback;
00088
00089 typedef boost::shared_ptr< ::ee_cart_imped_msgs::EECartImpedFeedback> EECartImpedFeedbackPtr;
00090 typedef boost::shared_ptr< ::ee_cart_imped_msgs::EECartImpedFeedback const> EECartImpedFeedbackConstPtr;
00091
00092
00093 template<typename ContainerAllocator>
00094 std::ostream& operator<<(std::ostream& s, const ::ee_cart_imped_msgs::EECartImpedFeedback_<ContainerAllocator> & v)
00095 {
00096 ros::message_operations::Printer< ::ee_cart_imped_msgs::EECartImpedFeedback_<ContainerAllocator> >::stream(s, "", v);
00097 return s;}
00098
00099 }
00100
00101 namespace ros
00102 {
00103 namespace message_traits
00104 {
00105 template<class ContainerAllocator> struct IsMessage< ::ee_cart_imped_msgs::EECartImpedFeedback_<ContainerAllocator> > : public TrueType {};
00106 template<class ContainerAllocator> struct IsMessage< ::ee_cart_imped_msgs::EECartImpedFeedback_<ContainerAllocator> const> : public TrueType {};
00107 template<class ContainerAllocator>
00108 struct MD5Sum< ::ee_cart_imped_msgs::EECartImpedFeedback_<ContainerAllocator> > {
00109 static const char* value()
00110 {
00111 return "4106b02683301dac2003809bdf610591";
00112 }
00113
00114 static const char* value(const ::ee_cart_imped_msgs::EECartImpedFeedback_<ContainerAllocator> &) { return value(); }
00115 static const uint64_t static_value1 = 0x4106b02683301dacULL;
00116 static const uint64_t static_value2 = 0x2003809bdf610591ULL;
00117 };
00118
00119 template<class ContainerAllocator>
00120 struct DataType< ::ee_cart_imped_msgs::EECartImpedFeedback_<ContainerAllocator> > {
00121 static const char* value()
00122 {
00123 return "ee_cart_imped_msgs/EECartImpedFeedback";
00124 }
00125
00126 static const char* value(const ::ee_cart_imped_msgs::EECartImpedFeedback_<ContainerAllocator> &) { return value(); }
00127 };
00128
00129 template<class ContainerAllocator>
00130 struct Definition< ::ee_cart_imped_msgs::EECartImpedFeedback_<ContainerAllocator> > {
00131 static const char* value()
00132 {
00133 return "# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\
00134 #feedback\n\
00135 #current pose and squared error in force \n\
00136 #and the running time of this goal so far\n\
00137 Header header\n\
00138 ee_cart_imped_msgs/StiffPoint[] goal\n\
00139 ee_cart_imped_msgs/StiffPoint initial_point\n\
00140 ee_cart_imped_msgs/StiffPoint desired\n\
00141 ee_cart_imped_msgs/StiffPoint actual_pose\n\
00142 float64 effort_sq_error\n\
00143 float64[] requested_joint_efforts\n\
00144 float64[] actual_joint_efforts\n\
00145 duration running_time\n\
00146 \n\
00147 \n\
00148 \n\
00149 ================================================================================\n\
00150 MSG: std_msgs/Header\n\
00151 # Standard metadata for higher-level stamped data types.\n\
00152 # This is generally used to communicate timestamped data \n\
00153 # in a particular coordinate frame.\n\
00154 # \n\
00155 # sequence ID: consecutively increasing ID \n\
00156 uint32 seq\n\
00157 #Two-integer timestamp that is expressed as:\n\
00158 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00159 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00160 # time-handling sugar is provided by the client library\n\
00161 time stamp\n\
00162 #Frame this data is associated with\n\
00163 # 0: no frame\n\
00164 # 1: global frame\n\
00165 string frame_id\n\
00166 \n\
00167 ================================================================================\n\
00168 MSG: ee_cart_imped_msgs/StiffPoint\n\
00169 Header header\n\
00170 #The pose to achieve in the stiffness directions\n\
00171 geometry_msgs/Pose pose\n\
00172 #Wrench or stiffness for each dimension\n\
00173 geometry_msgs/Wrench wrench_or_stiffness\n\
00174 #The following are True if a force/torque should\n\
00175 #be exerted and False if a stiffness should be used.\n\
00176 bool isForceX\n\
00177 bool isForceY\n\
00178 bool isForceZ\n\
00179 bool isTorqueX\n\
00180 bool isTorqueY\n\
00181 bool isTorqueZ\n\
00182 #The time from the start of the trajectory that this\n\
00183 #point should be achieved.\n\
00184 duration time_from_start\n\
00185 ================================================================================\n\
00186 MSG: geometry_msgs/Pose\n\
00187 # A representation of pose in free space, composed of postion and orientation. \n\
00188 Point position\n\
00189 Quaternion orientation\n\
00190 \n\
00191 ================================================================================\n\
00192 MSG: geometry_msgs/Point\n\
00193 # This contains the position of a point in free space\n\
00194 float64 x\n\
00195 float64 y\n\
00196 float64 z\n\
00197 \n\
00198 ================================================================================\n\
00199 MSG: geometry_msgs/Quaternion\n\
00200 # This represents an orientation in free space in quaternion form.\n\
00201 \n\
00202 float64 x\n\
00203 float64 y\n\
00204 float64 z\n\
00205 float64 w\n\
00206 \n\
00207 ================================================================================\n\
00208 MSG: geometry_msgs/Wrench\n\
00209 # This represents force in free space, seperated into \n\
00210 # it's linear and angular parts. \n\
00211 Vector3 force\n\
00212 Vector3 torque\n\
00213 \n\
00214 ================================================================================\n\
00215 MSG: geometry_msgs/Vector3\n\
00216 # This represents a vector in free space. \n\
00217 \n\
00218 float64 x\n\
00219 float64 y\n\
00220 float64 z\n\
00221 ";
00222 }
00223
00224 static const char* value(const ::ee_cart_imped_msgs::EECartImpedFeedback_<ContainerAllocator> &) { return value(); }
00225 };
00226
00227 template<class ContainerAllocator> struct HasHeader< ::ee_cart_imped_msgs::EECartImpedFeedback_<ContainerAllocator> > : public TrueType {};
00228 template<class ContainerAllocator> struct HasHeader< const ::ee_cart_imped_msgs::EECartImpedFeedback_<ContainerAllocator> > : public TrueType {};
00229 }
00230 }
00231
00232 namespace ros
00233 {
00234 namespace serialization
00235 {
00236
00237 template<class ContainerAllocator> struct Serializer< ::ee_cart_imped_msgs::EECartImpedFeedback_<ContainerAllocator> >
00238 {
00239 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00240 {
00241 stream.next(m.header);
00242 stream.next(m.goal);
00243 stream.next(m.initial_point);
00244 stream.next(m.desired);
00245 stream.next(m.actual_pose);
00246 stream.next(m.effort_sq_error);
00247 stream.next(m.requested_joint_efforts);
00248 stream.next(m.actual_joint_efforts);
00249 stream.next(m.running_time);
00250 }
00251
00252 ROS_DECLARE_ALLINONE_SERIALIZER;
00253 };
00254 }
00255 }
00256
00257 namespace ros
00258 {
00259 namespace message_operations
00260 {
00261
00262 template<class ContainerAllocator>
00263 struct Printer< ::ee_cart_imped_msgs::EECartImpedFeedback_<ContainerAllocator> >
00264 {
00265 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::ee_cart_imped_msgs::EECartImpedFeedback_<ContainerAllocator> & v)
00266 {
00267 s << indent << "header: ";
00268 s << std::endl;
00269 Printer< ::std_msgs::Header_<ContainerAllocator> >::stream(s, indent + " ", v.header);
00270 s << indent << "goal[]" << std::endl;
00271 for (size_t i = 0; i < v.goal.size(); ++i)
00272 {
00273 s << indent << " goal[" << i << "]: ";
00274 s << std::endl;
00275 s << indent;
00276 Printer< ::ee_cart_imped_msgs::StiffPoint_<ContainerAllocator> >::stream(s, indent + " ", v.goal[i]);
00277 }
00278 s << indent << "initial_point: ";
00279 s << std::endl;
00280 Printer< ::ee_cart_imped_msgs::StiffPoint_<ContainerAllocator> >::stream(s, indent + " ", v.initial_point);
00281 s << indent << "desired: ";
00282 s << std::endl;
00283 Printer< ::ee_cart_imped_msgs::StiffPoint_<ContainerAllocator> >::stream(s, indent + " ", v.desired);
00284 s << indent << "actual_pose: ";
00285 s << std::endl;
00286 Printer< ::ee_cart_imped_msgs::StiffPoint_<ContainerAllocator> >::stream(s, indent + " ", v.actual_pose);
00287 s << indent << "effort_sq_error: ";
00288 Printer<double>::stream(s, indent + " ", v.effort_sq_error);
00289 s << indent << "requested_joint_efforts[]" << std::endl;
00290 for (size_t i = 0; i < v.requested_joint_efforts.size(); ++i)
00291 {
00292 s << indent << " requested_joint_efforts[" << i << "]: ";
00293 Printer<double>::stream(s, indent + " ", v.requested_joint_efforts[i]);
00294 }
00295 s << indent << "actual_joint_efforts[]" << std::endl;
00296 for (size_t i = 0; i < v.actual_joint_efforts.size(); ++i)
00297 {
00298 s << indent << " actual_joint_efforts[" << i << "]: ";
00299 Printer<double>::stream(s, indent + " ", v.actual_joint_efforts[i]);
00300 }
00301 s << indent << "running_time: ";
00302 Printer<ros::Duration>::stream(s, indent + " ", v.running_time);
00303 }
00304 };
00305
00306
00307 }
00308 }
00309
00310 #endif // EE_CART_IMPED_MSGS_MESSAGE_EECARTIMPEDFEEDBACK_H
00311