JinvExperimentalControllerState.h
Go to the documentation of this file.
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-groovy-pr2_object_manipulation/doc_stacks/2014-10-06_11-30-38.833395/pr2_object_manipulation/manipulation/pr2_manipulation_controllers/msg/JinvExperimentalControllerState.msg */
00002 #ifndef PR2_MANIPULATION_CONTROLLERS_MESSAGE_JINVEXPERIMENTALCONTROLLERSTATE_H
00003 #define PR2_MANIPULATION_CONTROLLERS_MESSAGE_JINVEXPERIMENTALCONTROLLERSTATE_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 "geometry_msgs/PoseStamped.h"
00019 #include "geometry_msgs/PoseStamped.h"
00020 #include "geometry_msgs/PoseStamped.h"
00021 #include "geometry_msgs/Twist.h"
00022 #include "geometry_msgs/Twist.h"
00023 #include "geometry_msgs/Twist.h"
00024 #include "geometry_msgs/Wrench.h"
00025 #include "std_msgs/Float64MultiArray.h"
00026 #include "std_msgs/Float64MultiArray.h"
00027 
00028 namespace pr2_manipulation_controllers
00029 {
00030 template <class ContainerAllocator>
00031 struct JinvExperimentalControllerState_ {
00032   typedef JinvExperimentalControllerState_<ContainerAllocator> Type;
00033 
00034   JinvExperimentalControllerState_()
00035   : header()
00036   , x()
00037   , x_desi()
00038   , x_desi_filtered()
00039   , x_err()
00040   , xd()
00041   , xd_desi()
00042   , F()
00043   , q_proxy()
00044   , qd_pose()
00045   , qd_posture()
00046   , qd_posture_raw()
00047   , qd_desi()
00048   , tau()
00049   , J()
00050   , N()
00051   , J_singular_values()
00052   , df(0.0)
00053   , dx(0.0)
00054   , Df(0.0)
00055   , Dx(0.0)
00056   , stiffness(0.0)
00057   , compliance(0.0)
00058   {
00059   }
00060 
00061   JinvExperimentalControllerState_(const ContainerAllocator& _alloc)
00062   : header(_alloc)
00063   , x(_alloc)
00064   , x_desi(_alloc)
00065   , x_desi_filtered(_alloc)
00066   , x_err(_alloc)
00067   , xd(_alloc)
00068   , xd_desi(_alloc)
00069   , F(_alloc)
00070   , q_proxy(_alloc)
00071   , qd_pose(_alloc)
00072   , qd_posture(_alloc)
00073   , qd_posture_raw(_alloc)
00074   , qd_desi(_alloc)
00075   , tau(_alloc)
00076   , J(_alloc)
00077   , N(_alloc)
00078   , J_singular_values(_alloc)
00079   , df(0.0)
00080   , dx(0.0)
00081   , Df(0.0)
00082   , Dx(0.0)
00083   , stiffness(0.0)
00084   , compliance(0.0)
00085   {
00086   }
00087 
00088   typedef  ::std_msgs::Header_<ContainerAllocator>  _header_type;
00089    ::std_msgs::Header_<ContainerAllocator>  header;
00090 
00091   typedef  ::geometry_msgs::PoseStamped_<ContainerAllocator>  _x_type;
00092    ::geometry_msgs::PoseStamped_<ContainerAllocator>  x;
00093 
00094   typedef  ::geometry_msgs::PoseStamped_<ContainerAllocator>  _x_desi_type;
00095    ::geometry_msgs::PoseStamped_<ContainerAllocator>  x_desi;
00096 
00097   typedef  ::geometry_msgs::PoseStamped_<ContainerAllocator>  _x_desi_filtered_type;
00098    ::geometry_msgs::PoseStamped_<ContainerAllocator>  x_desi_filtered;
00099 
00100   typedef  ::geometry_msgs::Twist_<ContainerAllocator>  _x_err_type;
00101    ::geometry_msgs::Twist_<ContainerAllocator>  x_err;
00102 
00103   typedef  ::geometry_msgs::Twist_<ContainerAllocator>  _xd_type;
00104    ::geometry_msgs::Twist_<ContainerAllocator>  xd;
00105 
00106   typedef  ::geometry_msgs::Twist_<ContainerAllocator>  _xd_desi_type;
00107    ::geometry_msgs::Twist_<ContainerAllocator>  xd_desi;
00108 
00109   typedef  ::geometry_msgs::Wrench_<ContainerAllocator>  _F_type;
00110    ::geometry_msgs::Wrench_<ContainerAllocator>  F;
00111 
00112   typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other >  _q_proxy_type;
00113   std::vector<double, typename ContainerAllocator::template rebind<double>::other >  q_proxy;
00114 
00115   typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other >  _qd_pose_type;
00116   std::vector<double, typename ContainerAllocator::template rebind<double>::other >  qd_pose;
00117 
00118   typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other >  _qd_posture_type;
00119   std::vector<double, typename ContainerAllocator::template rebind<double>::other >  qd_posture;
00120 
00121   typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other >  _qd_posture_raw_type;
00122   std::vector<double, typename ContainerAllocator::template rebind<double>::other >  qd_posture_raw;
00123 
00124   typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other >  _qd_desi_type;
00125   std::vector<double, typename ContainerAllocator::template rebind<double>::other >  qd_desi;
00126 
00127   typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other >  _tau_type;
00128   std::vector<double, typename ContainerAllocator::template rebind<double>::other >  tau;
00129 
00130   typedef  ::std_msgs::Float64MultiArray_<ContainerAllocator>  _J_type;
00131    ::std_msgs::Float64MultiArray_<ContainerAllocator>  J;
00132 
00133   typedef  ::std_msgs::Float64MultiArray_<ContainerAllocator>  _N_type;
00134    ::std_msgs::Float64MultiArray_<ContainerAllocator>  N;
00135 
00136   typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other >  _J_singular_values_type;
00137   std::vector<double, typename ContainerAllocator::template rebind<double>::other >  J_singular_values;
00138 
00139   typedef double _df_type;
00140   double df;
00141 
00142   typedef double _dx_type;
00143   double dx;
00144 
00145   typedef double _Df_type;
00146   double Df;
00147 
00148   typedef double _Dx_type;
00149   double Dx;
00150 
00151   typedef double _stiffness_type;
00152   double stiffness;
00153 
00154   typedef double _compliance_type;
00155   double compliance;
00156 
00157 
00158   typedef boost::shared_ptr< ::pr2_manipulation_controllers::JinvExperimentalControllerState_<ContainerAllocator> > Ptr;
00159   typedef boost::shared_ptr< ::pr2_manipulation_controllers::JinvExperimentalControllerState_<ContainerAllocator>  const> ConstPtr;
00160   boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00161 }; // struct JinvExperimentalControllerState
00162 typedef  ::pr2_manipulation_controllers::JinvExperimentalControllerState_<std::allocator<void> > JinvExperimentalControllerState;
00163 
00164 typedef boost::shared_ptr< ::pr2_manipulation_controllers::JinvExperimentalControllerState> JinvExperimentalControllerStatePtr;
00165 typedef boost::shared_ptr< ::pr2_manipulation_controllers::JinvExperimentalControllerState const> JinvExperimentalControllerStateConstPtr;
00166 
00167 
00168 template<typename ContainerAllocator>
00169 std::ostream& operator<<(std::ostream& s, const  ::pr2_manipulation_controllers::JinvExperimentalControllerState_<ContainerAllocator> & v)
00170 {
00171   ros::message_operations::Printer< ::pr2_manipulation_controllers::JinvExperimentalControllerState_<ContainerAllocator> >::stream(s, "", v);
00172   return s;}
00173 
00174 } // namespace pr2_manipulation_controllers
00175 
00176 namespace ros
00177 {
00178 namespace message_traits
00179 {
00180 template<class ContainerAllocator> struct IsMessage< ::pr2_manipulation_controllers::JinvExperimentalControllerState_<ContainerAllocator> > : public TrueType {};
00181 template<class ContainerAllocator> struct IsMessage< ::pr2_manipulation_controllers::JinvExperimentalControllerState_<ContainerAllocator>  const> : public TrueType {};
00182 template<class ContainerAllocator>
00183 struct MD5Sum< ::pr2_manipulation_controllers::JinvExperimentalControllerState_<ContainerAllocator> > {
00184   static const char* value() 
00185   {
00186     return "c2742b55214fde97464aa5cf7938daf0";
00187   }
00188 
00189   static const char* value(const  ::pr2_manipulation_controllers::JinvExperimentalControllerState_<ContainerAllocator> &) { return value(); } 
00190   static const uint64_t static_value1 = 0xc2742b55214fde97ULL;
00191   static const uint64_t static_value2 = 0x464aa5cf7938daf0ULL;
00192 };
00193 
00194 template<class ContainerAllocator>
00195 struct DataType< ::pr2_manipulation_controllers::JinvExperimentalControllerState_<ContainerAllocator> > {
00196   static const char* value() 
00197   {
00198     return "pr2_manipulation_controllers/JinvExperimentalControllerState";
00199   }
00200 
00201   static const char* value(const  ::pr2_manipulation_controllers::JinvExperimentalControllerState_<ContainerAllocator> &) { return value(); } 
00202 };
00203 
00204 template<class ContainerAllocator>
00205 struct Definition< ::pr2_manipulation_controllers::JinvExperimentalControllerState_<ContainerAllocator> > {
00206   static const char* value() 
00207   {
00208     return "Header header\n\
00209 geometry_msgs/PoseStamped x\n\
00210 geometry_msgs/PoseStamped x_desi\n\
00211 geometry_msgs/PoseStamped x_desi_filtered\n\
00212 geometry_msgs/Twist x_err\n\
00213 geometry_msgs/Twist xd\n\
00214 geometry_msgs/Twist xd_desi\n\
00215 geometry_msgs/Wrench F\n\
00216 float64[] q_proxy\n\
00217 float64[] qd_pose\n\
00218 float64[] qd_posture\n\
00219 float64[] qd_posture_raw\n\
00220 float64[] qd_desi\n\
00221 float64[] tau\n\
00222 std_msgs/Float64MultiArray J\n\
00223 std_msgs/Float64MultiArray N\n\
00224 \n\
00225 float64[] J_singular_values\n\
00226 \n\
00227 # Environmental stiffness\n\
00228 float64 df\n\
00229 float64 dx\n\
00230 float64 Df\n\
00231 float64 Dx\n\
00232 float64 stiffness\n\
00233 float64 compliance\n\
00234 \n\
00235 ================================================================================\n\
00236 MSG: std_msgs/Header\n\
00237 # Standard metadata for higher-level stamped data types.\n\
00238 # This is generally used to communicate timestamped data \n\
00239 # in a particular coordinate frame.\n\
00240 # \n\
00241 # sequence ID: consecutively increasing ID \n\
00242 uint32 seq\n\
00243 #Two-integer timestamp that is expressed as:\n\
00244 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00245 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00246 # time-handling sugar is provided by the client library\n\
00247 time stamp\n\
00248 #Frame this data is associated with\n\
00249 # 0: no frame\n\
00250 # 1: global frame\n\
00251 string frame_id\n\
00252 \n\
00253 ================================================================================\n\
00254 MSG: geometry_msgs/PoseStamped\n\
00255 # A Pose with reference coordinate frame and timestamp\n\
00256 Header header\n\
00257 Pose pose\n\
00258 \n\
00259 ================================================================================\n\
00260 MSG: geometry_msgs/Pose\n\
00261 # A representation of pose in free space, composed of postion and orientation. \n\
00262 Point position\n\
00263 Quaternion orientation\n\
00264 \n\
00265 ================================================================================\n\
00266 MSG: geometry_msgs/Point\n\
00267 # This contains the position of a point in free space\n\
00268 float64 x\n\
00269 float64 y\n\
00270 float64 z\n\
00271 \n\
00272 ================================================================================\n\
00273 MSG: geometry_msgs/Quaternion\n\
00274 # This represents an orientation in free space in quaternion form.\n\
00275 \n\
00276 float64 x\n\
00277 float64 y\n\
00278 float64 z\n\
00279 float64 w\n\
00280 \n\
00281 ================================================================================\n\
00282 MSG: geometry_msgs/Twist\n\
00283 # This expresses velocity in free space broken into its linear and angular parts.\n\
00284 Vector3  linear\n\
00285 Vector3  angular\n\
00286 \n\
00287 ================================================================================\n\
00288 MSG: geometry_msgs/Vector3\n\
00289 # This represents a vector in free space. \n\
00290 \n\
00291 float64 x\n\
00292 float64 y\n\
00293 float64 z\n\
00294 ================================================================================\n\
00295 MSG: geometry_msgs/Wrench\n\
00296 # This represents force in free space, separated into\n\
00297 # its linear and angular parts.\n\
00298 Vector3  force\n\
00299 Vector3  torque\n\
00300 \n\
00301 ================================================================================\n\
00302 MSG: std_msgs/Float64MultiArray\n\
00303 # Please look at the MultiArrayLayout message definition for\n\
00304 # documentation on all multiarrays.\n\
00305 \n\
00306 MultiArrayLayout  layout        # specification of data layout\n\
00307 float64[]         data          # array of data\n\
00308 \n\
00309 \n\
00310 ================================================================================\n\
00311 MSG: std_msgs/MultiArrayLayout\n\
00312 # The multiarray declares a generic multi-dimensional array of a\n\
00313 # particular data type.  Dimensions are ordered from outer most\n\
00314 # to inner most.\n\
00315 \n\
00316 MultiArrayDimension[] dim # Array of dimension properties\n\
00317 uint32 data_offset        # padding bytes at front of data\n\
00318 \n\
00319 # Accessors should ALWAYS be written in terms of dimension stride\n\
00320 # and specified outer-most dimension first.\n\
00321 # \n\
00322 # multiarray(i,j,k) = data[data_offset + dim_stride[1]*i + dim_stride[2]*j + k]\n\
00323 #\n\
00324 # A standard, 3-channel 640x480 image with interleaved color channels\n\
00325 # would be specified as:\n\
00326 #\n\
00327 # dim[0].label  = \"height\"\n\
00328 # dim[0].size   = 480\n\
00329 # dim[0].stride = 3*640*480 = 921600  (note dim[0] stride is just size of image)\n\
00330 # dim[1].label  = \"width\"\n\
00331 # dim[1].size   = 640\n\
00332 # dim[1].stride = 3*640 = 1920\n\
00333 # dim[2].label  = \"channel\"\n\
00334 # dim[2].size   = 3\n\
00335 # dim[2].stride = 3\n\
00336 #\n\
00337 # multiarray(i,j,k) refers to the ith row, jth column, and kth channel.\n\
00338 ================================================================================\n\
00339 MSG: std_msgs/MultiArrayDimension\n\
00340 string label   # label of given dimension\n\
00341 uint32 size    # size of given dimension (in type units)\n\
00342 uint32 stride  # stride of given dimension\n\
00343 ";
00344   }
00345 
00346   static const char* value(const  ::pr2_manipulation_controllers::JinvExperimentalControllerState_<ContainerAllocator> &) { return value(); } 
00347 };
00348 
00349 template<class ContainerAllocator> struct HasHeader< ::pr2_manipulation_controllers::JinvExperimentalControllerState_<ContainerAllocator> > : public TrueType {};
00350 template<class ContainerAllocator> struct HasHeader< const ::pr2_manipulation_controllers::JinvExperimentalControllerState_<ContainerAllocator> > : public TrueType {};
00351 } // namespace message_traits
00352 } // namespace ros
00353 
00354 namespace ros
00355 {
00356 namespace serialization
00357 {
00358 
00359 template<class ContainerAllocator> struct Serializer< ::pr2_manipulation_controllers::JinvExperimentalControllerState_<ContainerAllocator> >
00360 {
00361   template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00362   {
00363     stream.next(m.header);
00364     stream.next(m.x);
00365     stream.next(m.x_desi);
00366     stream.next(m.x_desi_filtered);
00367     stream.next(m.x_err);
00368     stream.next(m.xd);
00369     stream.next(m.xd_desi);
00370     stream.next(m.F);
00371     stream.next(m.q_proxy);
00372     stream.next(m.qd_pose);
00373     stream.next(m.qd_posture);
00374     stream.next(m.qd_posture_raw);
00375     stream.next(m.qd_desi);
00376     stream.next(m.tau);
00377     stream.next(m.J);
00378     stream.next(m.N);
00379     stream.next(m.J_singular_values);
00380     stream.next(m.df);
00381     stream.next(m.dx);
00382     stream.next(m.Df);
00383     stream.next(m.Dx);
00384     stream.next(m.stiffness);
00385     stream.next(m.compliance);
00386   }
00387 
00388   ROS_DECLARE_ALLINONE_SERIALIZER;
00389 }; // struct JinvExperimentalControllerState_
00390 } // namespace serialization
00391 } // namespace ros
00392 
00393 namespace ros
00394 {
00395 namespace message_operations
00396 {
00397 
00398 template<class ContainerAllocator>
00399 struct Printer< ::pr2_manipulation_controllers::JinvExperimentalControllerState_<ContainerAllocator> >
00400 {
00401   template<typename Stream> static void stream(Stream& s, const std::string& indent, const  ::pr2_manipulation_controllers::JinvExperimentalControllerState_<ContainerAllocator> & v) 
00402   {
00403     s << indent << "header: ";
00404 s << std::endl;
00405     Printer< ::std_msgs::Header_<ContainerAllocator> >::stream(s, indent + "  ", v.header);
00406     s << indent << "x: ";
00407 s << std::endl;
00408     Printer< ::geometry_msgs::PoseStamped_<ContainerAllocator> >::stream(s, indent + "  ", v.x);
00409     s << indent << "x_desi: ";
00410 s << std::endl;
00411     Printer< ::geometry_msgs::PoseStamped_<ContainerAllocator> >::stream(s, indent + "  ", v.x_desi);
00412     s << indent << "x_desi_filtered: ";
00413 s << std::endl;
00414     Printer< ::geometry_msgs::PoseStamped_<ContainerAllocator> >::stream(s, indent + "  ", v.x_desi_filtered);
00415     s << indent << "x_err: ";
00416 s << std::endl;
00417     Printer< ::geometry_msgs::Twist_<ContainerAllocator> >::stream(s, indent + "  ", v.x_err);
00418     s << indent << "xd: ";
00419 s << std::endl;
00420     Printer< ::geometry_msgs::Twist_<ContainerAllocator> >::stream(s, indent + "  ", v.xd);
00421     s << indent << "xd_desi: ";
00422 s << std::endl;
00423     Printer< ::geometry_msgs::Twist_<ContainerAllocator> >::stream(s, indent + "  ", v.xd_desi);
00424     s << indent << "F: ";
00425 s << std::endl;
00426     Printer< ::geometry_msgs::Wrench_<ContainerAllocator> >::stream(s, indent + "  ", v.F);
00427     s << indent << "q_proxy[]" << std::endl;
00428     for (size_t i = 0; i < v.q_proxy.size(); ++i)
00429     {
00430       s << indent << "  q_proxy[" << i << "]: ";
00431       Printer<double>::stream(s, indent + "  ", v.q_proxy[i]);
00432     }
00433     s << indent << "qd_pose[]" << std::endl;
00434     for (size_t i = 0; i < v.qd_pose.size(); ++i)
00435     {
00436       s << indent << "  qd_pose[" << i << "]: ";
00437       Printer<double>::stream(s, indent + "  ", v.qd_pose[i]);
00438     }
00439     s << indent << "qd_posture[]" << std::endl;
00440     for (size_t i = 0; i < v.qd_posture.size(); ++i)
00441     {
00442       s << indent << "  qd_posture[" << i << "]: ";
00443       Printer<double>::stream(s, indent + "  ", v.qd_posture[i]);
00444     }
00445     s << indent << "qd_posture_raw[]" << std::endl;
00446     for (size_t i = 0; i < v.qd_posture_raw.size(); ++i)
00447     {
00448       s << indent << "  qd_posture_raw[" << i << "]: ";
00449       Printer<double>::stream(s, indent + "  ", v.qd_posture_raw[i]);
00450     }
00451     s << indent << "qd_desi[]" << std::endl;
00452     for (size_t i = 0; i < v.qd_desi.size(); ++i)
00453     {
00454       s << indent << "  qd_desi[" << i << "]: ";
00455       Printer<double>::stream(s, indent + "  ", v.qd_desi[i]);
00456     }
00457     s << indent << "tau[]" << std::endl;
00458     for (size_t i = 0; i < v.tau.size(); ++i)
00459     {
00460       s << indent << "  tau[" << i << "]: ";
00461       Printer<double>::stream(s, indent + "  ", v.tau[i]);
00462     }
00463     s << indent << "J: ";
00464 s << std::endl;
00465     Printer< ::std_msgs::Float64MultiArray_<ContainerAllocator> >::stream(s, indent + "  ", v.J);
00466     s << indent << "N: ";
00467 s << std::endl;
00468     Printer< ::std_msgs::Float64MultiArray_<ContainerAllocator> >::stream(s, indent + "  ", v.N);
00469     s << indent << "J_singular_values[]" << std::endl;
00470     for (size_t i = 0; i < v.J_singular_values.size(); ++i)
00471     {
00472       s << indent << "  J_singular_values[" << i << "]: ";
00473       Printer<double>::stream(s, indent + "  ", v.J_singular_values[i]);
00474     }
00475     s << indent << "df: ";
00476     Printer<double>::stream(s, indent + "  ", v.df);
00477     s << indent << "dx: ";
00478     Printer<double>::stream(s, indent + "  ", v.dx);
00479     s << indent << "Df: ";
00480     Printer<double>::stream(s, indent + "  ", v.Df);
00481     s << indent << "Dx: ";
00482     Printer<double>::stream(s, indent + "  ", v.Dx);
00483     s << indent << "stiffness: ";
00484     Printer<double>::stream(s, indent + "  ", v.stiffness);
00485     s << indent << "compliance: ";
00486     Printer<double>::stream(s, indent + "  ", v.compliance);
00487   }
00488 };
00489 
00490 
00491 } // namespace message_operations
00492 } // namespace ros
00493 
00494 #endif // PR2_MANIPULATION_CONTROLLERS_MESSAGE_JINVEXPERIMENTALCONTROLLERSTATE_H
00495 


pr2_manipulation_controllers
Author(s): Kaijen Hsiao, Stu Glaser, Adam Leeper
autogenerated on Mon Oct 6 2014 12:10:46