00001
00002 #ifndef HRPSYS_GAZEBO_MSGS_MESSAGE_ROBOTSTATE_H
00003 #define HRPSYS_GAZEBO_MSGS_MESSAGE_ROBOTSTATE_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 "hrpsys_gazebo_msgs/NamedImu.h"
00019 #include "hrpsys_gazebo_msgs/NamedWrench.h"
00020
00021 namespace hrpsys_gazebo_msgs
00022 {
00023 template <class ContainerAllocator>
00024 struct RobotState_ {
00025 typedef RobotState_<ContainerAllocator> Type;
00026
00027 RobotState_()
00028 : header()
00029 , position()
00030 , velocity()
00031 , effort()
00032 , kp_position()
00033 , ki_position()
00034 , kd_position()
00035 , kp_velocity()
00036 , i_effort_min()
00037 , i_effort_max()
00038 , Imus()
00039 , sensors()
00040 {
00041 }
00042
00043 RobotState_(const ContainerAllocator& _alloc)
00044 : header(_alloc)
00045 , position(_alloc)
00046 , velocity(_alloc)
00047 , effort(_alloc)
00048 , kp_position(_alloc)
00049 , ki_position(_alloc)
00050 , kd_position(_alloc)
00051 , kp_velocity(_alloc)
00052 , i_effort_min(_alloc)
00053 , i_effort_max(_alloc)
00054 , Imus(_alloc)
00055 , sensors(_alloc)
00056 {
00057 }
00058
00059 typedef ::std_msgs::Header_<ContainerAllocator> _header_type;
00060 ::std_msgs::Header_<ContainerAllocator> header;
00061
00062 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _position_type;
00063 std::vector<double, typename ContainerAllocator::template rebind<double>::other > position;
00064
00065 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _velocity_type;
00066 std::vector<double, typename ContainerAllocator::template rebind<double>::other > velocity;
00067
00068 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _effort_type;
00069 std::vector<double, typename ContainerAllocator::template rebind<double>::other > effort;
00070
00071 typedef std::vector<float, typename ContainerAllocator::template rebind<float>::other > _kp_position_type;
00072 std::vector<float, typename ContainerAllocator::template rebind<float>::other > kp_position;
00073
00074 typedef std::vector<float, typename ContainerAllocator::template rebind<float>::other > _ki_position_type;
00075 std::vector<float, typename ContainerAllocator::template rebind<float>::other > ki_position;
00076
00077 typedef std::vector<float, typename ContainerAllocator::template rebind<float>::other > _kd_position_type;
00078 std::vector<float, typename ContainerAllocator::template rebind<float>::other > kd_position;
00079
00080 typedef std::vector<float, typename ContainerAllocator::template rebind<float>::other > _kp_velocity_type;
00081 std::vector<float, typename ContainerAllocator::template rebind<float>::other > kp_velocity;
00082
00083 typedef std::vector<float, typename ContainerAllocator::template rebind<float>::other > _i_effort_min_type;
00084 std::vector<float, typename ContainerAllocator::template rebind<float>::other > i_effort_min;
00085
00086 typedef std::vector<float, typename ContainerAllocator::template rebind<float>::other > _i_effort_max_type;
00087 std::vector<float, typename ContainerAllocator::template rebind<float>::other > i_effort_max;
00088
00089 typedef std::vector< ::hrpsys_gazebo_msgs::NamedImu_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::hrpsys_gazebo_msgs::NamedImu_<ContainerAllocator> >::other > _Imus_type;
00090 std::vector< ::hrpsys_gazebo_msgs::NamedImu_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::hrpsys_gazebo_msgs::NamedImu_<ContainerAllocator> >::other > Imus;
00091
00092 typedef std::vector< ::hrpsys_gazebo_msgs::NamedWrench_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::hrpsys_gazebo_msgs::NamedWrench_<ContainerAllocator> >::other > _sensors_type;
00093 std::vector< ::hrpsys_gazebo_msgs::NamedWrench_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::hrpsys_gazebo_msgs::NamedWrench_<ContainerAllocator> >::other > sensors;
00094
00095
00096 typedef boost::shared_ptr< ::hrpsys_gazebo_msgs::RobotState_<ContainerAllocator> > Ptr;
00097 typedef boost::shared_ptr< ::hrpsys_gazebo_msgs::RobotState_<ContainerAllocator> const> ConstPtr;
00098 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00099 };
00100 typedef ::hrpsys_gazebo_msgs::RobotState_<std::allocator<void> > RobotState;
00101
00102 typedef boost::shared_ptr< ::hrpsys_gazebo_msgs::RobotState> RobotStatePtr;
00103 typedef boost::shared_ptr< ::hrpsys_gazebo_msgs::RobotState const> RobotStateConstPtr;
00104
00105
00106 template<typename ContainerAllocator>
00107 std::ostream& operator<<(std::ostream& s, const ::hrpsys_gazebo_msgs::RobotState_<ContainerAllocator> & v)
00108 {
00109 ros::message_operations::Printer< ::hrpsys_gazebo_msgs::RobotState_<ContainerAllocator> >::stream(s, "", v);
00110 return s;}
00111
00112 }
00113
00114 namespace ros
00115 {
00116 namespace message_traits
00117 {
00118 template<class ContainerAllocator> struct IsMessage< ::hrpsys_gazebo_msgs::RobotState_<ContainerAllocator> > : public TrueType {};
00119 template<class ContainerAllocator> struct IsMessage< ::hrpsys_gazebo_msgs::RobotState_<ContainerAllocator> const> : public TrueType {};
00120 template<class ContainerAllocator>
00121 struct MD5Sum< ::hrpsys_gazebo_msgs::RobotState_<ContainerAllocator> > {
00122 static const char* value()
00123 {
00124 return "5348f3f71adb0c293ad77b60d43ec14e";
00125 }
00126
00127 static const char* value(const ::hrpsys_gazebo_msgs::RobotState_<ContainerAllocator> &) { return value(); }
00128 static const uint64_t static_value1 = 0x5348f3f71adb0c29ULL;
00129 static const uint64_t static_value2 = 0x3ad77b60d43ec14eULL;
00130 };
00131
00132 template<class ContainerAllocator>
00133 struct DataType< ::hrpsys_gazebo_msgs::RobotState_<ContainerAllocator> > {
00134 static const char* value()
00135 {
00136 return "hrpsys_gazebo_msgs/RobotState";
00137 }
00138
00139 static const char* value(const ::hrpsys_gazebo_msgs::RobotState_<ContainerAllocator> &) { return value(); }
00140 };
00141
00142 template<class ContainerAllocator>
00143 struct Definition< ::hrpsys_gazebo_msgs::RobotState_<ContainerAllocator> > {
00144 static const char* value()
00145 {
00146 return "Header header\n\
00147 \n\
00148 float64[] position\n\
00149 float64[] velocity\n\
00150 float64[] effort\n\
00151 \n\
00152 float32[] kp_position\n\
00153 float32[] ki_position\n\
00154 float32[] kd_position\n\
00155 float32[] kp_velocity\n\
00156 \n\
00157 float32[] i_effort_min\n\
00158 float32[] i_effort_max\n\
00159 \n\
00160 NamedImu[] Imus\n\
00161 \n\
00162 NamedWrench[] sensors\n\
00163 \n\
00164 ================================================================================\n\
00165 MSG: std_msgs/Header\n\
00166 # Standard metadata for higher-level stamped data types.\n\
00167 # This is generally used to communicate timestamped data \n\
00168 # in a particular coordinate frame.\n\
00169 # \n\
00170 # sequence ID: consecutively increasing ID \n\
00171 uint32 seq\n\
00172 #Two-integer timestamp that is expressed as:\n\
00173 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00174 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00175 # time-handling sugar is provided by the client library\n\
00176 time stamp\n\
00177 #Frame this data is associated with\n\
00178 # 0: no frame\n\
00179 # 1: global frame\n\
00180 string frame_id\n\
00181 \n\
00182 ================================================================================\n\
00183 MSG: hrpsys_gazebo_msgs/NamedImu\n\
00184 string name\n\
00185 geometry_msgs/Quaternion orientation\n\
00186 geometry_msgs/Vector3 angular_velocity\n\
00187 geometry_msgs/Vector3 linear_acceleration\n\
00188 \n\
00189 ================================================================================\n\
00190 MSG: geometry_msgs/Quaternion\n\
00191 # This represents an orientation in free space in quaternion form.\n\
00192 \n\
00193 float64 x\n\
00194 float64 y\n\
00195 float64 z\n\
00196 float64 w\n\
00197 \n\
00198 ================================================================================\n\
00199 MSG: geometry_msgs/Vector3\n\
00200 # This represents a vector in free space. \n\
00201 \n\
00202 float64 x\n\
00203 float64 y\n\
00204 float64 z\n\
00205 ================================================================================\n\
00206 MSG: hrpsys_gazebo_msgs/NamedWrench\n\
00207 string Name\n\
00208 geometry_msgs/Vector3 force\n\
00209 geometry_msgs/Vector3 torque\n\
00210 \n\
00211 ";
00212 }
00213
00214 static const char* value(const ::hrpsys_gazebo_msgs::RobotState_<ContainerAllocator> &) { return value(); }
00215 };
00216
00217 template<class ContainerAllocator> struct HasHeader< ::hrpsys_gazebo_msgs::RobotState_<ContainerAllocator> > : public TrueType {};
00218 template<class ContainerAllocator> struct HasHeader< const ::hrpsys_gazebo_msgs::RobotState_<ContainerAllocator> > : public TrueType {};
00219 }
00220 }
00221
00222 namespace ros
00223 {
00224 namespace serialization
00225 {
00226
00227 template<class ContainerAllocator> struct Serializer< ::hrpsys_gazebo_msgs::RobotState_<ContainerAllocator> >
00228 {
00229 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00230 {
00231 stream.next(m.header);
00232 stream.next(m.position);
00233 stream.next(m.velocity);
00234 stream.next(m.effort);
00235 stream.next(m.kp_position);
00236 stream.next(m.ki_position);
00237 stream.next(m.kd_position);
00238 stream.next(m.kp_velocity);
00239 stream.next(m.i_effort_min);
00240 stream.next(m.i_effort_max);
00241 stream.next(m.Imus);
00242 stream.next(m.sensors);
00243 }
00244
00245 ROS_DECLARE_ALLINONE_SERIALIZER;
00246 };
00247 }
00248 }
00249
00250 namespace ros
00251 {
00252 namespace message_operations
00253 {
00254
00255 template<class ContainerAllocator>
00256 struct Printer< ::hrpsys_gazebo_msgs::RobotState_<ContainerAllocator> >
00257 {
00258 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::hrpsys_gazebo_msgs::RobotState_<ContainerAllocator> & v)
00259 {
00260 s << indent << "header: ";
00261 s << std::endl;
00262 Printer< ::std_msgs::Header_<ContainerAllocator> >::stream(s, indent + " ", v.header);
00263 s << indent << "position[]" << std::endl;
00264 for (size_t i = 0; i < v.position.size(); ++i)
00265 {
00266 s << indent << " position[" << i << "]: ";
00267 Printer<double>::stream(s, indent + " ", v.position[i]);
00268 }
00269 s << indent << "velocity[]" << std::endl;
00270 for (size_t i = 0; i < v.velocity.size(); ++i)
00271 {
00272 s << indent << " velocity[" << i << "]: ";
00273 Printer<double>::stream(s, indent + " ", v.velocity[i]);
00274 }
00275 s << indent << "effort[]" << std::endl;
00276 for (size_t i = 0; i < v.effort.size(); ++i)
00277 {
00278 s << indent << " effort[" << i << "]: ";
00279 Printer<double>::stream(s, indent + " ", v.effort[i]);
00280 }
00281 s << indent << "kp_position[]" << std::endl;
00282 for (size_t i = 0; i < v.kp_position.size(); ++i)
00283 {
00284 s << indent << " kp_position[" << i << "]: ";
00285 Printer<float>::stream(s, indent + " ", v.kp_position[i]);
00286 }
00287 s << indent << "ki_position[]" << std::endl;
00288 for (size_t i = 0; i < v.ki_position.size(); ++i)
00289 {
00290 s << indent << " ki_position[" << i << "]: ";
00291 Printer<float>::stream(s, indent + " ", v.ki_position[i]);
00292 }
00293 s << indent << "kd_position[]" << std::endl;
00294 for (size_t i = 0; i < v.kd_position.size(); ++i)
00295 {
00296 s << indent << " kd_position[" << i << "]: ";
00297 Printer<float>::stream(s, indent + " ", v.kd_position[i]);
00298 }
00299 s << indent << "kp_velocity[]" << std::endl;
00300 for (size_t i = 0; i < v.kp_velocity.size(); ++i)
00301 {
00302 s << indent << " kp_velocity[" << i << "]: ";
00303 Printer<float>::stream(s, indent + " ", v.kp_velocity[i]);
00304 }
00305 s << indent << "i_effort_min[]" << std::endl;
00306 for (size_t i = 0; i < v.i_effort_min.size(); ++i)
00307 {
00308 s << indent << " i_effort_min[" << i << "]: ";
00309 Printer<float>::stream(s, indent + " ", v.i_effort_min[i]);
00310 }
00311 s << indent << "i_effort_max[]" << std::endl;
00312 for (size_t i = 0; i < v.i_effort_max.size(); ++i)
00313 {
00314 s << indent << " i_effort_max[" << i << "]: ";
00315 Printer<float>::stream(s, indent + " ", v.i_effort_max[i]);
00316 }
00317 s << indent << "Imus[]" << std::endl;
00318 for (size_t i = 0; i < v.Imus.size(); ++i)
00319 {
00320 s << indent << " Imus[" << i << "]: ";
00321 s << std::endl;
00322 s << indent;
00323 Printer< ::hrpsys_gazebo_msgs::NamedImu_<ContainerAllocator> >::stream(s, indent + " ", v.Imus[i]);
00324 }
00325 s << indent << "sensors[]" << std::endl;
00326 for (size_t i = 0; i < v.sensors.size(); ++i)
00327 {
00328 s << indent << " sensors[" << i << "]: ";
00329 s << std::endl;
00330 s << indent;
00331 Printer< ::hrpsys_gazebo_msgs::NamedWrench_<ContainerAllocator> >::stream(s, indent + " ", v.sensors[i]);
00332 }
00333 }
00334 };
00335
00336
00337 }
00338 }
00339
00340 #endif // HRPSYS_GAZEBO_MSGS_MESSAGE_ROBOTSTATE_H
00341