diff --git a/README.md b/README.md index df0262e..54cefde 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -# uav_simulator -轻量化的无人机仿真器 +# flag planner +轻量化的无人机规划仿真器 ## Table of Contents * [介绍](#介绍) diff --git a/include_msg/apriltag_ros/AnalyzeSingleImage.h b/include_msg/apriltag_ros/AnalyzeSingleImage.h new file mode 100644 index 0000000..60aa6ea --- /dev/null +++ b/include_msg/apriltag_ros/AnalyzeSingleImage.h @@ -0,0 +1,123 @@ +// Generated by gencpp from file apriltag_ros/AnalyzeSingleImage.msg +// DO NOT EDIT! + + +#ifndef APRILTAG_ROS_MESSAGE_ANALYZESINGLEIMAGE_H +#define APRILTAG_ROS_MESSAGE_ANALYZESINGLEIMAGE_H + +#include + + +#include +#include + + +namespace apriltag_ros +{ + +struct AnalyzeSingleImage +{ + +typedef AnalyzeSingleImageRequest Request; +typedef AnalyzeSingleImageResponse Response; +Request request; +Response response; + +typedef Request RequestType; +typedef Response ResponseType; + +}; // struct AnalyzeSingleImage +} // namespace apriltag_ros + + +namespace ros +{ +namespace service_traits +{ + + +template<> +struct MD5Sum< ::apriltag_ros::AnalyzeSingleImage > { + static const char* value() + { + return "d60d994450f73cbdba772751d78c9952"; + } + + static const char* value(const ::apriltag_ros::AnalyzeSingleImage&) { return value(); } +}; + +template<> +struct DataType< ::apriltag_ros::AnalyzeSingleImage > { + static const char* value() + { + return "apriltag_ros/AnalyzeSingleImage"; + } + + static const char* value(const ::apriltag_ros::AnalyzeSingleImage&) { return value(); } +}; + + +// service_traits::MD5Sum< ::apriltag_ros::AnalyzeSingleImageRequest> should match +// service_traits::MD5Sum< ::apriltag_ros::AnalyzeSingleImage > +template<> +struct MD5Sum< ::apriltag_ros::AnalyzeSingleImageRequest> +{ + static const char* value() + { + return MD5Sum< ::apriltag_ros::AnalyzeSingleImage >::value(); + } + static const char* value(const ::apriltag_ros::AnalyzeSingleImageRequest&) + { + return value(); + } +}; + +// service_traits::DataType< ::apriltag_ros::AnalyzeSingleImageRequest> should match +// service_traits::DataType< ::apriltag_ros::AnalyzeSingleImage > +template<> +struct DataType< ::apriltag_ros::AnalyzeSingleImageRequest> +{ + static const char* value() + { + return DataType< ::apriltag_ros::AnalyzeSingleImage >::value(); + } + static const char* value(const ::apriltag_ros::AnalyzeSingleImageRequest&) + { + return value(); + } +}; + +// service_traits::MD5Sum< ::apriltag_ros::AnalyzeSingleImageResponse> should match +// service_traits::MD5Sum< ::apriltag_ros::AnalyzeSingleImage > +template<> +struct MD5Sum< ::apriltag_ros::AnalyzeSingleImageResponse> +{ + static const char* value() + { + return MD5Sum< ::apriltag_ros::AnalyzeSingleImage >::value(); + } + static const char* value(const ::apriltag_ros::AnalyzeSingleImageResponse&) + { + return value(); + } +}; + +// service_traits::DataType< ::apriltag_ros::AnalyzeSingleImageResponse> should match +// service_traits::DataType< ::apriltag_ros::AnalyzeSingleImage > +template<> +struct DataType< ::apriltag_ros::AnalyzeSingleImageResponse> +{ + static const char* value() + { + return DataType< ::apriltag_ros::AnalyzeSingleImage >::value(); + } + static const char* value(const ::apriltag_ros::AnalyzeSingleImageResponse&) + { + return value(); + } +}; + +} // namespace service_traits +} // namespace ros + +#endif // APRILTAG_ROS_MESSAGE_ANALYZESINGLEIMAGE_H diff --git a/include_msg/apriltag_ros/AnalyzeSingleImageRequest.h b/include_msg/apriltag_ros/AnalyzeSingleImageRequest.h new file mode 100644 index 0000000..7da56b3 --- /dev/null +++ b/include_msg/apriltag_ros/AnalyzeSingleImageRequest.h @@ -0,0 +1,398 @@ +// Generated by gencpp from file apriltag_ros/AnalyzeSingleImageRequest.msg +// DO NOT EDIT! + + +#ifndef APRILTAG_ROS_MESSAGE_ANALYZESINGLEIMAGEREQUEST_H +#define APRILTAG_ROS_MESSAGE_ANALYZESINGLEIMAGEREQUEST_H + + +#include +#include +#include + +#include +#include +#include +#include + +#include + +namespace apriltag_ros +{ +template +struct AnalyzeSingleImageRequest_ +{ + typedef AnalyzeSingleImageRequest_ Type; + + AnalyzeSingleImageRequest_() + : full_path_where_to_get_image() + , full_path_where_to_save_image() + , camera_info() { + } + AnalyzeSingleImageRequest_(const ContainerAllocator& _alloc) + : full_path_where_to_get_image(_alloc) + , full_path_where_to_save_image(_alloc) + , camera_info(_alloc) { + (void)_alloc; + } + + + + typedef std::basic_string, typename ContainerAllocator::template rebind::other > _full_path_where_to_get_image_type; + _full_path_where_to_get_image_type full_path_where_to_get_image; + + typedef std::basic_string, typename ContainerAllocator::template rebind::other > _full_path_where_to_save_image_type; + _full_path_where_to_save_image_type full_path_where_to_save_image; + + typedef ::sensor_msgs::CameraInfo_ _camera_info_type; + _camera_info_type camera_info; + + + + + + typedef boost::shared_ptr< ::apriltag_ros::AnalyzeSingleImageRequest_ > Ptr; + typedef boost::shared_ptr< ::apriltag_ros::AnalyzeSingleImageRequest_ const> ConstPtr; + +}; // struct AnalyzeSingleImageRequest_ + +typedef ::apriltag_ros::AnalyzeSingleImageRequest_ > AnalyzeSingleImageRequest; + +typedef boost::shared_ptr< ::apriltag_ros::AnalyzeSingleImageRequest > AnalyzeSingleImageRequestPtr; +typedef boost::shared_ptr< ::apriltag_ros::AnalyzeSingleImageRequest const> AnalyzeSingleImageRequestConstPtr; + +// constants requiring out of line definition + + + +template +std::ostream& operator<<(std::ostream& s, const ::apriltag_ros::AnalyzeSingleImageRequest_ & v) +{ +ros::message_operations::Printer< ::apriltag_ros::AnalyzeSingleImageRequest_ >::stream(s, "", v); +return s; +} + + +template +bool operator==(const ::apriltag_ros::AnalyzeSingleImageRequest_ & lhs, const ::apriltag_ros::AnalyzeSingleImageRequest_ & rhs) +{ + return lhs.full_path_where_to_get_image == rhs.full_path_where_to_get_image && + lhs.full_path_where_to_save_image == rhs.full_path_where_to_save_image && + lhs.camera_info == rhs.camera_info; +} + +template +bool operator!=(const ::apriltag_ros::AnalyzeSingleImageRequest_ & lhs, const ::apriltag_ros::AnalyzeSingleImageRequest_ & rhs) +{ + return !(lhs == rhs); +} + + +} // namespace apriltag_ros + +namespace ros +{ +namespace message_traits +{ + + + + + +template +struct IsFixedSize< ::apriltag_ros::AnalyzeSingleImageRequest_ > + : FalseType + { }; + +template +struct IsFixedSize< ::apriltag_ros::AnalyzeSingleImageRequest_ const> + : FalseType + { }; + +template +struct IsMessage< ::apriltag_ros::AnalyzeSingleImageRequest_ > + : TrueType + { }; + +template +struct IsMessage< ::apriltag_ros::AnalyzeSingleImageRequest_ const> + : TrueType + { }; + +template +struct HasHeader< ::apriltag_ros::AnalyzeSingleImageRequest_ > + : FalseType + { }; + +template +struct HasHeader< ::apriltag_ros::AnalyzeSingleImageRequest_ const> + : FalseType + { }; + + +template +struct MD5Sum< ::apriltag_ros::AnalyzeSingleImageRequest_ > +{ + static const char* value() + { + return "ce260db7e8fcb58cbea397e93c5438a4"; + } + + static const char* value(const ::apriltag_ros::AnalyzeSingleImageRequest_&) { return value(); } + static const uint64_t static_value1 = 0xce260db7e8fcb58cULL; + static const uint64_t static_value2 = 0xbea397e93c5438a4ULL; +}; + +template +struct DataType< ::apriltag_ros::AnalyzeSingleImageRequest_ > +{ + static const char* value() + { + return "apriltag_ros/AnalyzeSingleImageRequest"; + } + + static const char* value(const ::apriltag_ros::AnalyzeSingleImageRequest_&) { return value(); } +}; + +template +struct Definition< ::apriltag_ros::AnalyzeSingleImageRequest_ > +{ + static const char* value() + { + return "# Service which takes in:\n" +"#\n" +"# full_path_to_image : full path to a .jpg image\n" +"#\n" +"# and returns:\n" +"#\n" +"# pose : the pose of the tag in the camera frame\n" +"# tag_detection_image : an image with the detected tag's border highlighted and payload value printed\n" +"\n" +"string full_path_where_to_get_image\n" +"string full_path_where_to_save_image\n" +"sensor_msgs/CameraInfo camera_info\n" +"\n" +"================================================================================\n" +"MSG: sensor_msgs/CameraInfo\n" +"# This message defines meta information for a camera. It should be in a\n" +"# camera namespace on topic \"camera_info\" and accompanied by up to five\n" +"# image topics named:\n" +"#\n" +"# image_raw - raw data from the camera driver, possibly Bayer encoded\n" +"# image - monochrome, distorted\n" +"# image_color - color, distorted\n" +"# image_rect - monochrome, rectified\n" +"# image_rect_color - color, rectified\n" +"#\n" +"# The image_pipeline contains packages (image_proc, stereo_image_proc)\n" +"# for producing the four processed image topics from image_raw and\n" +"# camera_info. The meaning of the camera parameters are described in\n" +"# detail at http://www.ros.org/wiki/image_pipeline/CameraInfo.\n" +"#\n" +"# The image_geometry package provides a user-friendly interface to\n" +"# common operations using this meta information. If you want to, e.g.,\n" +"# project a 3d point into image coordinates, we strongly recommend\n" +"# using image_geometry.\n" +"#\n" +"# If the camera is uncalibrated, the matrices D, K, R, P should be left\n" +"# zeroed out. In particular, clients may assume that K[0] == 0.0\n" +"# indicates an uncalibrated camera.\n" +"\n" +"#######################################################################\n" +"# Image acquisition info #\n" +"#######################################################################\n" +"\n" +"# Time of image acquisition, camera coordinate frame ID\n" +"Header header # Header timestamp should be acquisition time of image\n" +" # Header frame_id should be optical frame of camera\n" +" # origin of frame should be optical center of camera\n" +" # +x should point to the right in the image\n" +" # +y should point down in the image\n" +" # +z should point into the plane of the image\n" +"\n" +"\n" +"#######################################################################\n" +"# Calibration Parameters #\n" +"#######################################################################\n" +"# These are fixed during camera calibration. Their values will be the #\n" +"# same in all messages until the camera is recalibrated. Note that #\n" +"# self-calibrating systems may \"recalibrate\" frequently. #\n" +"# #\n" +"# The internal parameters can be used to warp a raw (distorted) image #\n" +"# to: #\n" +"# 1. An undistorted image (requires D and K) #\n" +"# 2. A rectified image (requires D, K, R) #\n" +"# The projection matrix P projects 3D points into the rectified image.#\n" +"#######################################################################\n" +"\n" +"# The image dimensions with which the camera was calibrated. Normally\n" +"# this will be the full camera resolution in pixels.\n" +"uint32 height\n" +"uint32 width\n" +"\n" +"# The distortion model used. Supported models are listed in\n" +"# sensor_msgs/distortion_models.h. For most cameras, \"plumb_bob\" - a\n" +"# simple model of radial and tangential distortion - is sufficient.\n" +"string distortion_model\n" +"\n" +"# The distortion parameters, size depending on the distortion model.\n" +"# For \"plumb_bob\", the 5 parameters are: (k1, k2, t1, t2, k3).\n" +"float64[] D\n" +"\n" +"# Intrinsic camera matrix for the raw (distorted) images.\n" +"# [fx 0 cx]\n" +"# K = [ 0 fy cy]\n" +"# [ 0 0 1]\n" +"# Projects 3D points in the camera coordinate frame to 2D pixel\n" +"# coordinates using the focal lengths (fx, fy) and principal point\n" +"# (cx, cy).\n" +"float64[9] K # 3x3 row-major matrix\n" +"\n" +"# Rectification matrix (stereo cameras only)\n" +"# A rotation matrix aligning the camera coordinate system to the ideal\n" +"# stereo image plane so that epipolar lines in both stereo images are\n" +"# parallel.\n" +"float64[9] R # 3x3 row-major matrix\n" +"\n" +"# Projection/camera matrix\n" +"# [fx' 0 cx' Tx]\n" +"# P = [ 0 fy' cy' Ty]\n" +"# [ 0 0 1 0]\n" +"# By convention, this matrix specifies the intrinsic (camera) matrix\n" +"# of the processed (rectified) image. That is, the left 3x3 portion\n" +"# is the normal camera intrinsic matrix for the rectified image.\n" +"# It projects 3D points in the camera coordinate frame to 2D pixel\n" +"# coordinates using the focal lengths (fx', fy') and principal point\n" +"# (cx', cy') - these may differ from the values in K.\n" +"# For monocular cameras, Tx = Ty = 0. Normally, monocular cameras will\n" +"# also have R = the identity and P[1:3,1:3] = K.\n" +"# For a stereo pair, the fourth column [Tx Ty 0]' is related to the\n" +"# position of the optical center of the second camera in the first\n" +"# camera's frame. We assume Tz = 0 so both cameras are in the same\n" +"# stereo image plane. The first camera always has Tx = Ty = 0. For\n" +"# the right (second) camera of a horizontal stereo pair, Ty = 0 and\n" +"# Tx = -fx' * B, where B is the baseline between the cameras.\n" +"# Given a 3D point [X Y Z]', the projection (x, y) of the point onto\n" +"# the rectified image is given by:\n" +"# [u v w]' = P * [X Y Z 1]'\n" +"# x = u / w\n" +"# y = v / w\n" +"# This holds for both images of a stereo pair.\n" +"float64[12] P # 3x4 row-major matrix\n" +"\n" +"\n" +"#######################################################################\n" +"# Operational Parameters #\n" +"#######################################################################\n" +"# These define the image region actually captured by the camera #\n" +"# driver. Although they affect the geometry of the output image, they #\n" +"# may be changed freely without recalibrating the camera. #\n" +"#######################################################################\n" +"\n" +"# Binning refers here to any camera setting which combines rectangular\n" +"# neighborhoods of pixels into larger \"super-pixels.\" It reduces the\n" +"# resolution of the output image to\n" +"# (width / binning_x) x (height / binning_y).\n" +"# The default values binning_x = binning_y = 0 is considered the same\n" +"# as binning_x = binning_y = 1 (no subsampling).\n" +"uint32 binning_x\n" +"uint32 binning_y\n" +"\n" +"# Region of interest (subwindow of full camera resolution), given in\n" +"# full resolution (unbinned) image coordinates. A particular ROI\n" +"# always denotes the same window of pixels on the camera sensor,\n" +"# regardless of binning settings.\n" +"# The default setting of roi (all values 0) is considered the same as\n" +"# full resolution (roi.width = width, roi.height = height).\n" +"RegionOfInterest roi\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +"\n" +"================================================================================\n" +"MSG: sensor_msgs/RegionOfInterest\n" +"# This message is used to specify a region of interest within an image.\n" +"#\n" +"# When used to specify the ROI setting of the camera when the image was\n" +"# taken, the height and width fields should either match the height and\n" +"# width fields for the associated image; or height = width = 0\n" +"# indicates that the full resolution image was captured.\n" +"\n" +"uint32 x_offset # Leftmost pixel of the ROI\n" +" # (0 if the ROI includes the left edge of the image)\n" +"uint32 y_offset # Topmost pixel of the ROI\n" +" # (0 if the ROI includes the top edge of the image)\n" +"uint32 height # Height of ROI\n" +"uint32 width # Width of ROI\n" +"\n" +"# True if a distinct rectified ROI should be calculated from the \"raw\"\n" +"# ROI in this message. Typically this should be False if the full image\n" +"# is captured (ROI not used), and True if a subwindow is captured (ROI\n" +"# used).\n" +"bool do_rectify\n" +; + } + + static const char* value(const ::apriltag_ros::AnalyzeSingleImageRequest_&) { return value(); } +}; + +} // namespace message_traits +} // namespace ros + +namespace ros +{ +namespace serialization +{ + + template struct Serializer< ::apriltag_ros::AnalyzeSingleImageRequest_ > + { + template inline static void allInOne(Stream& stream, T m) + { + stream.next(m.full_path_where_to_get_image); + stream.next(m.full_path_where_to_save_image); + stream.next(m.camera_info); + } + + ROS_DECLARE_ALLINONE_SERIALIZER + }; // struct AnalyzeSingleImageRequest_ + +} // namespace serialization +} // namespace ros + +namespace ros +{ +namespace message_operations +{ + +template +struct Printer< ::apriltag_ros::AnalyzeSingleImageRequest_ > +{ + template static void stream(Stream& s, const std::string& indent, const ::apriltag_ros::AnalyzeSingleImageRequest_& v) + { + s << indent << "full_path_where_to_get_image: "; + Printer, typename ContainerAllocator::template rebind::other > >::stream(s, indent + " ", v.full_path_where_to_get_image); + s << indent << "full_path_where_to_save_image: "; + Printer, typename ContainerAllocator::template rebind::other > >::stream(s, indent + " ", v.full_path_where_to_save_image); + s << indent << "camera_info: "; + s << std::endl; + Printer< ::sensor_msgs::CameraInfo_ >::stream(s, indent + " ", v.camera_info); + } +}; + +} // namespace message_operations +} // namespace ros + +#endif // APRILTAG_ROS_MESSAGE_ANALYZESINGLEIMAGEREQUEST_H diff --git a/include_msg/apriltag_ros/AnalyzeSingleImageResponse.h b/include_msg/apriltag_ros/AnalyzeSingleImageResponse.h new file mode 100644 index 0000000..4ce1afb --- /dev/null +++ b/include_msg/apriltag_ros/AnalyzeSingleImageResponse.h @@ -0,0 +1,275 @@ +// Generated by gencpp from file apriltag_ros/AnalyzeSingleImageResponse.msg +// DO NOT EDIT! + + +#ifndef APRILTAG_ROS_MESSAGE_ANALYZESINGLEIMAGERESPONSE_H +#define APRILTAG_ROS_MESSAGE_ANALYZESINGLEIMAGERESPONSE_H + + +#include +#include +#include + +#include +#include +#include +#include + +#include + +namespace apriltag_ros +{ +template +struct AnalyzeSingleImageResponse_ +{ + typedef AnalyzeSingleImageResponse_ Type; + + AnalyzeSingleImageResponse_() + : tag_detections() { + } + AnalyzeSingleImageResponse_(const ContainerAllocator& _alloc) + : tag_detections(_alloc) { + (void)_alloc; + } + + + + typedef ::apriltag_ros::AprilTagDetectionArray_ _tag_detections_type; + _tag_detections_type tag_detections; + + + + + + typedef boost::shared_ptr< ::apriltag_ros::AnalyzeSingleImageResponse_ > Ptr; + typedef boost::shared_ptr< ::apriltag_ros::AnalyzeSingleImageResponse_ const> ConstPtr; + +}; // struct AnalyzeSingleImageResponse_ + +typedef ::apriltag_ros::AnalyzeSingleImageResponse_ > AnalyzeSingleImageResponse; + +typedef boost::shared_ptr< ::apriltag_ros::AnalyzeSingleImageResponse > AnalyzeSingleImageResponsePtr; +typedef boost::shared_ptr< ::apriltag_ros::AnalyzeSingleImageResponse const> AnalyzeSingleImageResponseConstPtr; + +// constants requiring out of line definition + + + +template +std::ostream& operator<<(std::ostream& s, const ::apriltag_ros::AnalyzeSingleImageResponse_ & v) +{ +ros::message_operations::Printer< ::apriltag_ros::AnalyzeSingleImageResponse_ >::stream(s, "", v); +return s; +} + + +template +bool operator==(const ::apriltag_ros::AnalyzeSingleImageResponse_ & lhs, const ::apriltag_ros::AnalyzeSingleImageResponse_ & rhs) +{ + return lhs.tag_detections == rhs.tag_detections; +} + +template +bool operator!=(const ::apriltag_ros::AnalyzeSingleImageResponse_ & lhs, const ::apriltag_ros::AnalyzeSingleImageResponse_ & rhs) +{ + return !(lhs == rhs); +} + + +} // namespace apriltag_ros + +namespace ros +{ +namespace message_traits +{ + + + + + +template +struct IsFixedSize< ::apriltag_ros::AnalyzeSingleImageResponse_ > + : FalseType + { }; + +template +struct IsFixedSize< ::apriltag_ros::AnalyzeSingleImageResponse_ const> + : FalseType + { }; + +template +struct IsMessage< ::apriltag_ros::AnalyzeSingleImageResponse_ > + : TrueType + { }; + +template +struct IsMessage< ::apriltag_ros::AnalyzeSingleImageResponse_ const> + : TrueType + { }; + +template +struct HasHeader< ::apriltag_ros::AnalyzeSingleImageResponse_ > + : FalseType + { }; + +template +struct HasHeader< ::apriltag_ros::AnalyzeSingleImageResponse_ const> + : FalseType + { }; + + +template +struct MD5Sum< ::apriltag_ros::AnalyzeSingleImageResponse_ > +{ + static const char* value() + { + return "252b618af4df2baf843a5edd035f3c2c"; + } + + static const char* value(const ::apriltag_ros::AnalyzeSingleImageResponse_&) { return value(); } + static const uint64_t static_value1 = 0x252b618af4df2bafULL; + static const uint64_t static_value2 = 0x843a5edd035f3c2cULL; +}; + +template +struct DataType< ::apriltag_ros::AnalyzeSingleImageResponse_ > +{ + static const char* value() + { + return "apriltag_ros/AnalyzeSingleImageResponse"; + } + + static const char* value(const ::apriltag_ros::AnalyzeSingleImageResponse_&) { return value(); } +}; + +template +struct Definition< ::apriltag_ros::AnalyzeSingleImageResponse_ > +{ + static const char* value() + { + return "apriltag_ros/AprilTagDetectionArray tag_detections\n" +"\n" +"================================================================================\n" +"MSG: apriltag_ros/AprilTagDetectionArray\n" +"std_msgs/Header header\n" +"AprilTagDetection[] detections\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +"\n" +"================================================================================\n" +"MSG: apriltag_ros/AprilTagDetection\n" +"# Tag ID(s). If a standalone tag, this is a vector of size 1. If a tag bundle,\n" +"# this is a vector containing the IDs of each tag in the bundle.\n" +"int32[] id\n" +"\n" +"# Tag size(s). If a standalone tag, this is a vector of size 1. If a tag bundle,\n" +"# this is a vector containing the sizes of each tag in the bundle, in the same\n" +"# order as the IDs above.\n" +"float64[] size\n" +"\n" +"# Pose in the camera frame, obtained from homography transform. If a standalone\n" +"# tag, the homography is from the four tag corners. If a tag bundle, the\n" +"# homography is from at least the four corners of one member tag and at most the\n" +"# four corners of all member tags.\n" +"geometry_msgs/PoseWithCovarianceStamped pose\n" +"================================================================================\n" +"MSG: geometry_msgs/PoseWithCovarianceStamped\n" +"# This expresses an estimated pose with a reference coordinate frame and timestamp\n" +"\n" +"Header header\n" +"PoseWithCovariance pose\n" +"\n" +"================================================================================\n" +"MSG: geometry_msgs/PoseWithCovariance\n" +"# This represents a pose in free space with uncertainty.\n" +"\n" +"Pose pose\n" +"\n" +"# Row-major representation of the 6x6 covariance matrix\n" +"# The orientation parameters use a fixed-axis representation.\n" +"# In order, the parameters are:\n" +"# (x, y, z, rotation about X axis, rotation about Y axis, rotation about Z axis)\n" +"float64[36] covariance\n" +"\n" +"================================================================================\n" +"MSG: geometry_msgs/Pose\n" +"# A representation of pose in free space, composed of position and orientation. \n" +"Point position\n" +"Quaternion orientation\n" +"\n" +"================================================================================\n" +"MSG: geometry_msgs/Point\n" +"# This contains the position of a point in free space\n" +"float64 x\n" +"float64 y\n" +"float64 z\n" +"\n" +"================================================================================\n" +"MSG: geometry_msgs/Quaternion\n" +"# This represents an orientation in free space in quaternion form.\n" +"\n" +"float64 x\n" +"float64 y\n" +"float64 z\n" +"float64 w\n" +; + } + + static const char* value(const ::apriltag_ros::AnalyzeSingleImageResponse_&) { return value(); } +}; + +} // namespace message_traits +} // namespace ros + +namespace ros +{ +namespace serialization +{ + + template struct Serializer< ::apriltag_ros::AnalyzeSingleImageResponse_ > + { + template inline static void allInOne(Stream& stream, T m) + { + stream.next(m.tag_detections); + } + + ROS_DECLARE_ALLINONE_SERIALIZER + }; // struct AnalyzeSingleImageResponse_ + +} // namespace serialization +} // namespace ros + +namespace ros +{ +namespace message_operations +{ + +template +struct Printer< ::apriltag_ros::AnalyzeSingleImageResponse_ > +{ + template static void stream(Stream& s, const std::string& indent, const ::apriltag_ros::AnalyzeSingleImageResponse_& v) + { + s << indent << "tag_detections: "; + s << std::endl; + Printer< ::apriltag_ros::AprilTagDetectionArray_ >::stream(s, indent + " ", v.tag_detections); + } +}; + +} // namespace message_operations +} // namespace ros + +#endif // APRILTAG_ROS_MESSAGE_ANALYZESINGLEIMAGERESPONSE_H diff --git a/include_msg/apriltag_ros/AprilTagDetection.h b/include_msg/apriltag_ros/AprilTagDetection.h new file mode 100644 index 0000000..9ec72c5 --- /dev/null +++ b/include_msg/apriltag_ros/AprilTagDetection.h @@ -0,0 +1,292 @@ +// Generated by gencpp from file apriltag_ros/AprilTagDetection.msg +// DO NOT EDIT! + + +#ifndef APRILTAG_ROS_MESSAGE_APRILTAGDETECTION_H +#define APRILTAG_ROS_MESSAGE_APRILTAGDETECTION_H + + +#include +#include +#include + +#include +#include +#include +#include + +#include + +namespace apriltag_ros +{ +template +struct AprilTagDetection_ +{ + typedef AprilTagDetection_ Type; + + AprilTagDetection_() + : id() + , size() + , pose() { + } + AprilTagDetection_(const ContainerAllocator& _alloc) + : id(_alloc) + , size(_alloc) + , pose(_alloc) { + (void)_alloc; + } + + + + typedef std::vector::other > _id_type; + _id_type id; + + typedef std::vector::other > _size_type; + _size_type size; + + typedef ::geometry_msgs::PoseWithCovarianceStamped_ _pose_type; + _pose_type pose; + + + + + + typedef boost::shared_ptr< ::apriltag_ros::AprilTagDetection_ > Ptr; + typedef boost::shared_ptr< ::apriltag_ros::AprilTagDetection_ const> ConstPtr; + +}; // struct AprilTagDetection_ + +typedef ::apriltag_ros::AprilTagDetection_ > AprilTagDetection; + +typedef boost::shared_ptr< ::apriltag_ros::AprilTagDetection > AprilTagDetectionPtr; +typedef boost::shared_ptr< ::apriltag_ros::AprilTagDetection const> AprilTagDetectionConstPtr; + +// constants requiring out of line definition + + + +template +std::ostream& operator<<(std::ostream& s, const ::apriltag_ros::AprilTagDetection_ & v) +{ +ros::message_operations::Printer< ::apriltag_ros::AprilTagDetection_ >::stream(s, "", v); +return s; +} + + +template +bool operator==(const ::apriltag_ros::AprilTagDetection_ & lhs, const ::apriltag_ros::AprilTagDetection_ & rhs) +{ + return lhs.id == rhs.id && + lhs.size == rhs.size && + lhs.pose == rhs.pose; +} + +template +bool operator!=(const ::apriltag_ros::AprilTagDetection_ & lhs, const ::apriltag_ros::AprilTagDetection_ & rhs) +{ + return !(lhs == rhs); +} + + +} // namespace apriltag_ros + +namespace ros +{ +namespace message_traits +{ + + + + + +template +struct IsFixedSize< ::apriltag_ros::AprilTagDetection_ > + : FalseType + { }; + +template +struct IsFixedSize< ::apriltag_ros::AprilTagDetection_ const> + : FalseType + { }; + +template +struct IsMessage< ::apriltag_ros::AprilTagDetection_ > + : TrueType + { }; + +template +struct IsMessage< ::apriltag_ros::AprilTagDetection_ const> + : TrueType + { }; + +template +struct HasHeader< ::apriltag_ros::AprilTagDetection_ > + : FalseType + { }; + +template +struct HasHeader< ::apriltag_ros::AprilTagDetection_ const> + : FalseType + { }; + + +template +struct MD5Sum< ::apriltag_ros::AprilTagDetection_ > +{ + static const char* value() + { + return "090173a6e2b6c8fd96ce000fe9378b4e"; + } + + static const char* value(const ::apriltag_ros::AprilTagDetection_&) { return value(); } + static const uint64_t static_value1 = 0x090173a6e2b6c8fdULL; + static const uint64_t static_value2 = 0x96ce000fe9378b4eULL; +}; + +template +struct DataType< ::apriltag_ros::AprilTagDetection_ > +{ + static const char* value() + { + return "apriltag_ros/AprilTagDetection"; + } + + static const char* value(const ::apriltag_ros::AprilTagDetection_&) { return value(); } +}; + +template +struct Definition< ::apriltag_ros::AprilTagDetection_ > +{ + static const char* value() + { + return "# Tag ID(s). If a standalone tag, this is a vector of size 1. If a tag bundle,\n" +"# this is a vector containing the IDs of each tag in the bundle.\n" +"int32[] id\n" +"\n" +"# Tag size(s). If a standalone tag, this is a vector of size 1. If a tag bundle,\n" +"# this is a vector containing the sizes of each tag in the bundle, in the same\n" +"# order as the IDs above.\n" +"float64[] size\n" +"\n" +"# Pose in the camera frame, obtained from homography transform. If a standalone\n" +"# tag, the homography is from the four tag corners. If a tag bundle, the\n" +"# homography is from at least the four corners of one member tag and at most the\n" +"# four corners of all member tags.\n" +"geometry_msgs/PoseWithCovarianceStamped pose\n" +"================================================================================\n" +"MSG: geometry_msgs/PoseWithCovarianceStamped\n" +"# This expresses an estimated pose with a reference coordinate frame and timestamp\n" +"\n" +"Header header\n" +"PoseWithCovariance pose\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +"\n" +"================================================================================\n" +"MSG: geometry_msgs/PoseWithCovariance\n" +"# This represents a pose in free space with uncertainty.\n" +"\n" +"Pose pose\n" +"\n" +"# Row-major representation of the 6x6 covariance matrix\n" +"# The orientation parameters use a fixed-axis representation.\n" +"# In order, the parameters are:\n" +"# (x, y, z, rotation about X axis, rotation about Y axis, rotation about Z axis)\n" +"float64[36] covariance\n" +"\n" +"================================================================================\n" +"MSG: geometry_msgs/Pose\n" +"# A representation of pose in free space, composed of position and orientation. \n" +"Point position\n" +"Quaternion orientation\n" +"\n" +"================================================================================\n" +"MSG: geometry_msgs/Point\n" +"# This contains the position of a point in free space\n" +"float64 x\n" +"float64 y\n" +"float64 z\n" +"\n" +"================================================================================\n" +"MSG: geometry_msgs/Quaternion\n" +"# This represents an orientation in free space in quaternion form.\n" +"\n" +"float64 x\n" +"float64 y\n" +"float64 z\n" +"float64 w\n" +; + } + + static const char* value(const ::apriltag_ros::AprilTagDetection_&) { return value(); } +}; + +} // namespace message_traits +} // namespace ros + +namespace ros +{ +namespace serialization +{ + + template struct Serializer< ::apriltag_ros::AprilTagDetection_ > + { + template inline static void allInOne(Stream& stream, T m) + { + stream.next(m.id); + stream.next(m.size); + stream.next(m.pose); + } + + ROS_DECLARE_ALLINONE_SERIALIZER + }; // struct AprilTagDetection_ + +} // namespace serialization +} // namespace ros + +namespace ros +{ +namespace message_operations +{ + +template +struct Printer< ::apriltag_ros::AprilTagDetection_ > +{ + template static void stream(Stream& s, const std::string& indent, const ::apriltag_ros::AprilTagDetection_& v) + { + s << indent << "id[]" << std::endl; + for (size_t i = 0; i < v.id.size(); ++i) + { + s << indent << " id[" << i << "]: "; + Printer::stream(s, indent + " ", v.id[i]); + } + s << indent << "size[]" << std::endl; + for (size_t i = 0; i < v.size.size(); ++i) + { + s << indent << " size[" << i << "]: "; + Printer::stream(s, indent + " ", v.size[i]); + } + s << indent << "pose: "; + s << std::endl; + Printer< ::geometry_msgs::PoseWithCovarianceStamped_ >::stream(s, indent + " ", v.pose); + } +}; + +} // namespace message_operations +} // namespace ros + +#endif // APRILTAG_ROS_MESSAGE_APRILTAGDETECTION_H diff --git a/include_msg/apriltag_ros/AprilTagDetectionArray.h b/include_msg/apriltag_ros/AprilTagDetectionArray.h new file mode 100644 index 0000000..04f0b7b --- /dev/null +++ b/include_msg/apriltag_ros/AprilTagDetectionArray.h @@ -0,0 +1,287 @@ +// Generated by gencpp from file apriltag_ros/AprilTagDetectionArray.msg +// DO NOT EDIT! + + +#ifndef APRILTAG_ROS_MESSAGE_APRILTAGDETECTIONARRAY_H +#define APRILTAG_ROS_MESSAGE_APRILTAGDETECTIONARRAY_H + + +#include +#include +#include + +#include +#include +#include +#include + +#include +#include + +namespace apriltag_ros +{ +template +struct AprilTagDetectionArray_ +{ + typedef AprilTagDetectionArray_ Type; + + AprilTagDetectionArray_() + : header() + , detections() { + } + AprilTagDetectionArray_(const ContainerAllocator& _alloc) + : header(_alloc) + , detections(_alloc) { + (void)_alloc; + } + + + + typedef ::std_msgs::Header_ _header_type; + _header_type header; + + typedef std::vector< ::apriltag_ros::AprilTagDetection_ , typename ContainerAllocator::template rebind< ::apriltag_ros::AprilTagDetection_ >::other > _detections_type; + _detections_type detections; + + + + + + typedef boost::shared_ptr< ::apriltag_ros::AprilTagDetectionArray_ > Ptr; + typedef boost::shared_ptr< ::apriltag_ros::AprilTagDetectionArray_ const> ConstPtr; + +}; // struct AprilTagDetectionArray_ + +typedef ::apriltag_ros::AprilTagDetectionArray_ > AprilTagDetectionArray; + +typedef boost::shared_ptr< ::apriltag_ros::AprilTagDetectionArray > AprilTagDetectionArrayPtr; +typedef boost::shared_ptr< ::apriltag_ros::AprilTagDetectionArray const> AprilTagDetectionArrayConstPtr; + +// constants requiring out of line definition + + + +template +std::ostream& operator<<(std::ostream& s, const ::apriltag_ros::AprilTagDetectionArray_ & v) +{ +ros::message_operations::Printer< ::apriltag_ros::AprilTagDetectionArray_ >::stream(s, "", v); +return s; +} + + +template +bool operator==(const ::apriltag_ros::AprilTagDetectionArray_ & lhs, const ::apriltag_ros::AprilTagDetectionArray_ & rhs) +{ + return lhs.header == rhs.header && + lhs.detections == rhs.detections; +} + +template +bool operator!=(const ::apriltag_ros::AprilTagDetectionArray_ & lhs, const ::apriltag_ros::AprilTagDetectionArray_ & rhs) +{ + return !(lhs == rhs); +} + + +} // namespace apriltag_ros + +namespace ros +{ +namespace message_traits +{ + + + + + +template +struct IsFixedSize< ::apriltag_ros::AprilTagDetectionArray_ > + : FalseType + { }; + +template +struct IsFixedSize< ::apriltag_ros::AprilTagDetectionArray_ const> + : FalseType + { }; + +template +struct IsMessage< ::apriltag_ros::AprilTagDetectionArray_ > + : TrueType + { }; + +template +struct IsMessage< ::apriltag_ros::AprilTagDetectionArray_ const> + : TrueType + { }; + +template +struct HasHeader< ::apriltag_ros::AprilTagDetectionArray_ > + : TrueType + { }; + +template +struct HasHeader< ::apriltag_ros::AprilTagDetectionArray_ const> + : TrueType + { }; + + +template +struct MD5Sum< ::apriltag_ros::AprilTagDetectionArray_ > +{ + static const char* value() + { + return "2b6c03434883a5c9897c13b5594dbd91"; + } + + static const char* value(const ::apriltag_ros::AprilTagDetectionArray_&) { return value(); } + static const uint64_t static_value1 = 0x2b6c03434883a5c9ULL; + static const uint64_t static_value2 = 0x897c13b5594dbd91ULL; +}; + +template +struct DataType< ::apriltag_ros::AprilTagDetectionArray_ > +{ + static const char* value() + { + return "apriltag_ros/AprilTagDetectionArray"; + } + + static const char* value(const ::apriltag_ros::AprilTagDetectionArray_&) { return value(); } +}; + +template +struct Definition< ::apriltag_ros::AprilTagDetectionArray_ > +{ + static const char* value() + { + return "std_msgs/Header header\n" +"AprilTagDetection[] detections\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +"\n" +"================================================================================\n" +"MSG: apriltag_ros/AprilTagDetection\n" +"# Tag ID(s). If a standalone tag, this is a vector of size 1. If a tag bundle,\n" +"# this is a vector containing the IDs of each tag in the bundle.\n" +"int32[] id\n" +"\n" +"# Tag size(s). If a standalone tag, this is a vector of size 1. If a tag bundle,\n" +"# this is a vector containing the sizes of each tag in the bundle, in the same\n" +"# order as the IDs above.\n" +"float64[] size\n" +"\n" +"# Pose in the camera frame, obtained from homography transform. If a standalone\n" +"# tag, the homography is from the four tag corners. If a tag bundle, the\n" +"# homography is from at least the four corners of one member tag and at most the\n" +"# four corners of all member tags.\n" +"geometry_msgs/PoseWithCovarianceStamped pose\n" +"================================================================================\n" +"MSG: geometry_msgs/PoseWithCovarianceStamped\n" +"# This expresses an estimated pose with a reference coordinate frame and timestamp\n" +"\n" +"Header header\n" +"PoseWithCovariance pose\n" +"\n" +"================================================================================\n" +"MSG: geometry_msgs/PoseWithCovariance\n" +"# This represents a pose in free space with uncertainty.\n" +"\n" +"Pose pose\n" +"\n" +"# Row-major representation of the 6x6 covariance matrix\n" +"# The orientation parameters use a fixed-axis representation.\n" +"# In order, the parameters are:\n" +"# (x, y, z, rotation about X axis, rotation about Y axis, rotation about Z axis)\n" +"float64[36] covariance\n" +"\n" +"================================================================================\n" +"MSG: geometry_msgs/Pose\n" +"# A representation of pose in free space, composed of position and orientation. \n" +"Point position\n" +"Quaternion orientation\n" +"\n" +"================================================================================\n" +"MSG: geometry_msgs/Point\n" +"# This contains the position of a point in free space\n" +"float64 x\n" +"float64 y\n" +"float64 z\n" +"\n" +"================================================================================\n" +"MSG: geometry_msgs/Quaternion\n" +"# This represents an orientation in free space in quaternion form.\n" +"\n" +"float64 x\n" +"float64 y\n" +"float64 z\n" +"float64 w\n" +; + } + + static const char* value(const ::apriltag_ros::AprilTagDetectionArray_&) { return value(); } +}; + +} // namespace message_traits +} // namespace ros + +namespace ros +{ +namespace serialization +{ + + template struct Serializer< ::apriltag_ros::AprilTagDetectionArray_ > + { + template inline static void allInOne(Stream& stream, T m) + { + stream.next(m.header); + stream.next(m.detections); + } + + ROS_DECLARE_ALLINONE_SERIALIZER + }; // struct AprilTagDetectionArray_ + +} // namespace serialization +} // namespace ros + +namespace ros +{ +namespace message_operations +{ + +template +struct Printer< ::apriltag_ros::AprilTagDetectionArray_ > +{ + template static void stream(Stream& s, const std::string& indent, const ::apriltag_ros::AprilTagDetectionArray_& v) + { + s << indent << "header: "; + s << std::endl; + Printer< ::std_msgs::Header_ >::stream(s, indent + " ", v.header); + s << indent << "detections[]" << std::endl; + for (size_t i = 0; i < v.detections.size(); ++i) + { + s << indent << " detections[" << i << "]: "; + s << std::endl; + s << indent; + Printer< ::apriltag_ros::AprilTagDetection_ >::stream(s, indent + " ", v.detections[i]); + } + } +}; + +} // namespace message_operations +} // namespace ros + +#endif // APRILTAG_ROS_MESSAGE_APRILTAGDETECTIONARRAY_H diff --git a/include_msg/bspline_race/BsplineTraj.h b/include_msg/bspline_race/BsplineTraj.h new file mode 100644 index 0000000..188f4c3 --- /dev/null +++ b/include_msg/bspline_race/BsplineTraj.h @@ -0,0 +1,313 @@ +// Generated by gencpp from file bspline_race/BsplineTraj.msg +// DO NOT EDIT! + + +#ifndef BSPLINE_RACE_MESSAGE_BSPLINETRAJ_H +#define BSPLINE_RACE_MESSAGE_BSPLINETRAJ_H + + +#include +#include +#include + +#include +#include +#include +#include + +#include +#include +#include +#include + +namespace bspline_race +{ +template +struct BsplineTraj_ +{ + typedef BsplineTraj_ Type; + + BsplineTraj_() + : header() + , position() + , velocity() + , acceleration() + , yaw(0.0) + , yaw_rate(0.0) { + } + BsplineTraj_(const ContainerAllocator& _alloc) + : header(_alloc) + , position(_alloc) + , velocity(_alloc) + , acceleration(_alloc) + , yaw(0.0) + , yaw_rate(0.0) { + (void)_alloc; + } + + + + typedef ::std_msgs::Header_ _header_type; + _header_type header; + + typedef std::vector< ::geometry_msgs::PoseStamped_ , typename ContainerAllocator::template rebind< ::geometry_msgs::PoseStamped_ >::other > _position_type; + _position_type position; + + typedef std::vector< ::geometry_msgs::PoseStamped_ , typename ContainerAllocator::template rebind< ::geometry_msgs::PoseStamped_ >::other > _velocity_type; + _velocity_type velocity; + + typedef std::vector< ::geometry_msgs::PoseStamped_ , typename ContainerAllocator::template rebind< ::geometry_msgs::PoseStamped_ >::other > _acceleration_type; + _acceleration_type acceleration; + + typedef float _yaw_type; + _yaw_type yaw; + + typedef float _yaw_rate_type; + _yaw_rate_type yaw_rate; + + + + + + typedef boost::shared_ptr< ::bspline_race::BsplineTraj_ > Ptr; + typedef boost::shared_ptr< ::bspline_race::BsplineTraj_ const> ConstPtr; + +}; // struct BsplineTraj_ + +typedef ::bspline_race::BsplineTraj_ > BsplineTraj; + +typedef boost::shared_ptr< ::bspline_race::BsplineTraj > BsplineTrajPtr; +typedef boost::shared_ptr< ::bspline_race::BsplineTraj const> BsplineTrajConstPtr; + +// constants requiring out of line definition + + + +template +std::ostream& operator<<(std::ostream& s, const ::bspline_race::BsplineTraj_ & v) +{ +ros::message_operations::Printer< ::bspline_race::BsplineTraj_ >::stream(s, "", v); +return s; +} + + +template +bool operator==(const ::bspline_race::BsplineTraj_ & lhs, const ::bspline_race::BsplineTraj_ & rhs) +{ + return lhs.header == rhs.header && + lhs.position == rhs.position && + lhs.velocity == rhs.velocity && + lhs.acceleration == rhs.acceleration && + lhs.yaw == rhs.yaw && + lhs.yaw_rate == rhs.yaw_rate; +} + +template +bool operator!=(const ::bspline_race::BsplineTraj_ & lhs, const ::bspline_race::BsplineTraj_ & rhs) +{ + return !(lhs == rhs); +} + + +} // namespace bspline_race + +namespace ros +{ +namespace message_traits +{ + + + + + +template +struct IsFixedSize< ::bspline_race::BsplineTraj_ > + : FalseType + { }; + +template +struct IsFixedSize< ::bspline_race::BsplineTraj_ const> + : FalseType + { }; + +template +struct IsMessage< ::bspline_race::BsplineTraj_ > + : TrueType + { }; + +template +struct IsMessage< ::bspline_race::BsplineTraj_ const> + : TrueType + { }; + +template +struct HasHeader< ::bspline_race::BsplineTraj_ > + : TrueType + { }; + +template +struct HasHeader< ::bspline_race::BsplineTraj_ const> + : TrueType + { }; + + +template +struct MD5Sum< ::bspline_race::BsplineTraj_ > +{ + static const char* value() + { + return "7a06ed7c3a765758a36274e2972cf0f0"; + } + + static const char* value(const ::bspline_race::BsplineTraj_&) { return value(); } + static const uint64_t static_value1 = 0x7a06ed7c3a765758ULL; + static const uint64_t static_value2 = 0xa36274e2972cf0f0ULL; +}; + +template +struct DataType< ::bspline_race::BsplineTraj_ > +{ + static const char* value() + { + return "bspline_race/BsplineTraj"; + } + + static const char* value(const ::bspline_race::BsplineTraj_&) { return value(); } +}; + +template +struct Definition< ::bspline_race::BsplineTraj_ > +{ + static const char* value() + { + return "std_msgs/Header header\n" +"\n" +"geometry_msgs/PoseStamped[] position\n" +"geometry_msgs/PoseStamped[] velocity\n" +"geometry_msgs/PoseStamped[] acceleration\n" +"\n" +"float32 yaw\n" +"float32 yaw_rate\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +"\n" +"================================================================================\n" +"MSG: geometry_msgs/PoseStamped\n" +"# A Pose with reference coordinate frame and timestamp\n" +"Header header\n" +"Pose pose\n" +"\n" +"================================================================================\n" +"MSG: geometry_msgs/Pose\n" +"# A representation of pose in free space, composed of position and orientation. \n" +"Point position\n" +"Quaternion orientation\n" +"\n" +"================================================================================\n" +"MSG: geometry_msgs/Point\n" +"# This contains the position of a point in free space\n" +"float64 x\n" +"float64 y\n" +"float64 z\n" +"\n" +"================================================================================\n" +"MSG: geometry_msgs/Quaternion\n" +"# This represents an orientation in free space in quaternion form.\n" +"\n" +"float64 x\n" +"float64 y\n" +"float64 z\n" +"float64 w\n" +; + } + + static const char* value(const ::bspline_race::BsplineTraj_&) { return value(); } +}; + +} // namespace message_traits +} // namespace ros + +namespace ros +{ +namespace serialization +{ + + template struct Serializer< ::bspline_race::BsplineTraj_ > + { + template inline static void allInOne(Stream& stream, T m) + { + stream.next(m.header); + stream.next(m.position); + stream.next(m.velocity); + stream.next(m.acceleration); + stream.next(m.yaw); + stream.next(m.yaw_rate); + } + + ROS_DECLARE_ALLINONE_SERIALIZER + }; // struct BsplineTraj_ + +} // namespace serialization +} // namespace ros + +namespace ros +{ +namespace message_operations +{ + +template +struct Printer< ::bspline_race::BsplineTraj_ > +{ + template static void stream(Stream& s, const std::string& indent, const ::bspline_race::BsplineTraj_& v) + { + s << indent << "header: "; + s << std::endl; + Printer< ::std_msgs::Header_ >::stream(s, indent + " ", v.header); + s << indent << "position[]" << std::endl; + for (size_t i = 0; i < v.position.size(); ++i) + { + s << indent << " position[" << i << "]: "; + s << std::endl; + s << indent; + Printer< ::geometry_msgs::PoseStamped_ >::stream(s, indent + " ", v.position[i]); + } + s << indent << "velocity[]" << std::endl; + for (size_t i = 0; i < v.velocity.size(); ++i) + { + s << indent << " velocity[" << i << "]: "; + s << std::endl; + s << indent; + Printer< ::geometry_msgs::PoseStamped_ >::stream(s, indent + " ", v.velocity[i]); + } + s << indent << "acceleration[]" << std::endl; + for (size_t i = 0; i < v.acceleration.size(); ++i) + { + s << indent << " acceleration[" << i << "]: "; + s << std::endl; + s << indent; + Printer< ::geometry_msgs::PoseStamped_ >::stream(s, indent + " ", v.acceleration[i]); + } + s << indent << "yaw: "; + Printer::stream(s, indent + " ", v.yaw); + s << indent << "yaw_rate: "; + Printer::stream(s, indent + " ", v.yaw_rate); + } +}; + +} // namespace message_operations +} // namespace ros + +#endif // BSPLINE_RACE_MESSAGE_BSPLINETRAJ_H diff --git a/include_msg/fsm/command_acc.h b/include_msg/fsm/command_acc.h new file mode 100644 index 0000000..25d14ab --- /dev/null +++ b/include_msg/fsm/command_acc.h @@ -0,0 +1,357 @@ +// Generated by gencpp from file fsm/command_acc.msg +// DO NOT EDIT! + + +#ifndef FSM_MESSAGE_COMMAND_ACC_H +#define FSM_MESSAGE_COMMAND_ACC_H + + +#include +#include +#include + +#include +#include +#include +#include + +#include + +namespace fsm +{ +template +struct command_acc_ +{ + typedef command_acc_ Type; + + command_acc_() + : header() + , comid(0) + , command(0) + , sub_mode(0) + , ready(0) + , cmdd(0) + , pos_sp() + , vel_sp() + , acc_sp() + , yaw_sp(0.0) + , yaw_rate_sp(0.0) { + pos_sp.assign(0.0); + + vel_sp.assign(0.0); + + acc_sp.assign(0.0); + } + command_acc_(const ContainerAllocator& _alloc) + : header(_alloc) + , comid(0) + , command(0) + , sub_mode(0) + , ready(0) + , cmdd(0) + , pos_sp() + , vel_sp() + , acc_sp() + , yaw_sp(0.0) + , yaw_rate_sp(0.0) { + (void)_alloc; + pos_sp.assign(0.0); + + vel_sp.assign(0.0); + + acc_sp.assign(0.0); + } + + + + typedef ::std_msgs::Header_ _header_type; + _header_type header; + + typedef uint32_t _comid_type; + _comid_type comid; + + typedef uint8_t _command_type; + _command_type command; + + typedef uint8_t _sub_mode_type; + _sub_mode_type sub_mode; + + typedef uint8_t _ready_type; + _ready_type ready; + + typedef uint8_t _cmdd_type; + _cmdd_type cmdd; + + typedef boost::array _pos_sp_type; + _pos_sp_type pos_sp; + + typedef boost::array _vel_sp_type; + _vel_sp_type vel_sp; + + typedef boost::array _acc_sp_type; + _acc_sp_type acc_sp; + + typedef float _yaw_sp_type; + _yaw_sp_type yaw_sp; + + typedef float _yaw_rate_sp_type; + _yaw_rate_sp_type yaw_rate_sp; + + + + + + typedef boost::shared_ptr< ::fsm::command_acc_ > Ptr; + typedef boost::shared_ptr< ::fsm::command_acc_ const> ConstPtr; + +}; // struct command_acc_ + +typedef ::fsm::command_acc_ > command_acc; + +typedef boost::shared_ptr< ::fsm::command_acc > command_accPtr; +typedef boost::shared_ptr< ::fsm::command_acc const> command_accConstPtr; + +// constants requiring out of line definition + + + +template +std::ostream& operator<<(std::ostream& s, const ::fsm::command_acc_ & v) +{ +ros::message_operations::Printer< ::fsm::command_acc_ >::stream(s, "", v); +return s; +} + + +template +bool operator==(const ::fsm::command_acc_ & lhs, const ::fsm::command_acc_ & rhs) +{ + return lhs.header == rhs.header && + lhs.comid == rhs.comid && + lhs.command == rhs.command && + lhs.sub_mode == rhs.sub_mode && + lhs.ready == rhs.ready && + lhs.cmdd == rhs.cmdd && + lhs.pos_sp == rhs.pos_sp && + lhs.vel_sp == rhs.vel_sp && + lhs.acc_sp == rhs.acc_sp && + lhs.yaw_sp == rhs.yaw_sp && + lhs.yaw_rate_sp == rhs.yaw_rate_sp; +} + +template +bool operator!=(const ::fsm::command_acc_ & lhs, const ::fsm::command_acc_ & rhs) +{ + return !(lhs == rhs); +} + + +} // namespace fsm + +namespace ros +{ +namespace message_traits +{ + + + + + +template +struct IsFixedSize< ::fsm::command_acc_ > + : FalseType + { }; + +template +struct IsFixedSize< ::fsm::command_acc_ const> + : FalseType + { }; + +template +struct IsMessage< ::fsm::command_acc_ > + : TrueType + { }; + +template +struct IsMessage< ::fsm::command_acc_ const> + : TrueType + { }; + +template +struct HasHeader< ::fsm::command_acc_ > + : TrueType + { }; + +template +struct HasHeader< ::fsm::command_acc_ const> + : TrueType + { }; + + +template +struct MD5Sum< ::fsm::command_acc_ > +{ + static const char* value() + { + return "31e2116d0a2fc1d6c4f7df261378aa15"; + } + + static const char* value(const ::fsm::command_acc_&) { return value(); } + static const uint64_t static_value1 = 0x31e2116d0a2fc1d6ULL; + static const uint64_t static_value2 = 0xc4f7df261378aa15ULL; +}; + +template +struct DataType< ::fsm::command_acc_ > +{ + static const char* value() + { + return "fsm/command_acc"; + } + + static const char* value(const ::fsm::command_acc_&) { return value(); } +}; + +template +struct Definition< ::fsm::command_acc_ > +{ + static const char* value() + { + return "\n" +"std_msgs/Header header\n" +"\n" +"#enum Command\n" +"#{\n" +"# Move_ENU,\n" +"# Move_Body,\n" +"# Hold,\n" +"# Land,\n" +"# Disarm,\n" +"# Failsafe_land,\n" +"# Custom\n" +"#};\n" +"\n" +"# sub_mode 2-bit value:\n" +"# 0 for position, 1 for vel, 1st for xy, 2nd for z.\n" +"# xy position xy velocity\n" +"# z position 0b00(0) 0b10(2)\n" +"# z velocity 0b01(1) 0b11(3)\n" +"#\n" +"\n" +"uint32 comid\n" +"uint8 command\n" +"uint8 sub_mode\n" +"uint8 ready\n" +"uint8 cmdd\n" +"float32[3] pos_sp ## [m]\n" +"float32[3] vel_sp ## [m/s]\n" +"float32[3] acc_sp\n" +"float32 yaw_sp ## [du]\n" +"float32 yaw_rate_sp\n" +"\n" +"\n" +"\n" +"================================================================================\n" +"MSG: std_msgs/Header\n" +"# Standard metadata for higher-level stamped data types.\n" +"# This is generally used to communicate timestamped data \n" +"# in a particular coordinate frame.\n" +"# \n" +"# sequence ID: consecutively increasing ID \n" +"uint32 seq\n" +"#Two-integer timestamp that is expressed as:\n" +"# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n" +"# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n" +"# time-handling sugar is provided by the client library\n" +"time stamp\n" +"#Frame this data is associated with\n" +"string frame_id\n" +; + } + + static const char* value(const ::fsm::command_acc_&) { return value(); } +}; + +} // namespace message_traits +} // namespace ros + +namespace ros +{ +namespace serialization +{ + + template struct Serializer< ::fsm::command_acc_ > + { + template inline static void allInOne(Stream& stream, T m) + { + stream.next(m.header); + stream.next(m.comid); + stream.next(m.command); + stream.next(m.sub_mode); + stream.next(m.ready); + stream.next(m.cmdd); + stream.next(m.pos_sp); + stream.next(m.vel_sp); + stream.next(m.acc_sp); + stream.next(m.yaw_sp); + stream.next(m.yaw_rate_sp); + } + + ROS_DECLARE_ALLINONE_SERIALIZER + }; // struct command_acc_ + +} // namespace serialization +} // namespace ros + +namespace ros +{ +namespace message_operations +{ + +template +struct Printer< ::fsm::command_acc_ > +{ + template static void stream(Stream& s, const std::string& indent, const ::fsm::command_acc_& v) + { + s << indent << "header: "; + s << std::endl; + Printer< ::std_msgs::Header_ >::stream(s, indent + " ", v.header); + s << indent << "comid: "; + Printer::stream(s, indent + " ", v.comid); + s << indent << "command: "; + Printer::stream(s, indent + " ", v.command); + s << indent << "sub_mode: "; + Printer::stream(s, indent + " ", v.sub_mode); + s << indent << "ready: "; + Printer::stream(s, indent + " ", v.ready); + s << indent << "cmdd: "; + Printer::stream(s, indent + " ", v.cmdd); + s << indent << "pos_sp[]" << std::endl; + for (size_t i = 0; i < v.pos_sp.size(); ++i) + { + s << indent << " pos_sp[" << i << "]: "; + Printer::stream(s, indent + " ", v.pos_sp[i]); + } + s << indent << "vel_sp[]" << std::endl; + for (size_t i = 0; i < v.vel_sp.size(); ++i) + { + s << indent << " vel_sp[" << i << "]: "; + Printer::stream(s, indent + " ", v.vel_sp[i]); + } + s << indent << "acc_sp[]" << std::endl; + for (size_t i = 0; i < v.acc_sp.size(); ++i) + { + s << indent << " acc_sp[" << i << "]: "; + Printer::stream(s, indent + " ", v.acc_sp[i]); + } + s << indent << "yaw_sp: "; + Printer::stream(s, indent + " ", v.yaw_sp); + s << indent << "yaw_rate_sp: "; + Printer::stream(s, indent + " ", v.yaw_rate_sp); + } +}; + +} // namespace message_operations +} // namespace ros + +#endif // FSM_MESSAGE_COMMAND_ACC_H