rosruby_msgs 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/actionlib_msgs/GoalID.rb +106 -0
- data/lib/actionlib_msgs/GoalStatus.rb +160 -0
- data/lib/actionlib_msgs/GoalStatusArray.rb +207 -0
- data/lib/actionlib_tutorials/AveragingAction.rb +322 -0
- data/lib/actionlib_tutorials/AveragingActionFeedback.rb +213 -0
- data/lib/actionlib_tutorials/AveragingActionGoal.rb +167 -0
- data/lib/actionlib_tutorials/AveragingActionResult.rb +209 -0
- data/lib/actionlib_tutorials/AveragingFeedback.rb +93 -0
- data/lib/actionlib_tutorials/AveragingGoal.rb +85 -0
- data/lib/actionlib_tutorials/AveragingResult.rb +87 -0
- data/lib/actionlib_tutorials/FibonacciAction.rb +334 -0
- data/lib/actionlib_tutorials/FibonacciActionFeedback.rb +216 -0
- data/lib/actionlib_tutorials/FibonacciActionGoal.rb +167 -0
- data/lib/actionlib_tutorials/FibonacciActionResult.rb +214 -0
- data/lib/actionlib_tutorials/FibonacciFeedback.rb +93 -0
- data/lib/actionlib_tutorials/FibonacciGoal.rb +85 -0
- data/lib/actionlib_tutorials/FibonacciResult.rb +91 -0
- data/lib/geometry_msgs/Point.rb +88 -0
- data/lib/geometry_msgs/Point32.rb +94 -0
- data/lib/geometry_msgs/PointStamped.rb +133 -0
- data/lib/geometry_msgs/Polygon.rb +112 -0
- data/lib/geometry_msgs/PolygonStamped.rb +159 -0
- data/lib/geometry_msgs/Pose.rb +110 -0
- data/lib/geometry_msgs/Pose2D.rb +88 -0
- data/lib/geometry_msgs/PoseArray.rb +174 -0
- data/lib/geometry_msgs/PoseStamped.rb +150 -0
- data/lib/geometry_msgs/PoseWithCovariance.rb +125 -0
- data/lib/geometry_msgs/PoseWithCovarianceStamped.rb +169 -0
- data/lib/geometry_msgs/Quaternion.rb +91 -0
- data/lib/geometry_msgs/QuaternionStamped.rb +136 -0
- data/lib/geometry_msgs/Transform.rb +111 -0
- data/lib/geometry_msgs/TransformStamped.rb +168 -0
- data/lib/geometry_msgs/Twist.rb +100 -0
- data/lib/geometry_msgs/TwistStamped.rb +140 -0
- data/lib/geometry_msgs/TwistWithCovariance.rb +115 -0
- data/lib/geometry_msgs/TwistWithCovarianceStamped.rb +158 -0
- data/lib/geometry_msgs/Vector3.rb +88 -0
- data/lib/geometry_msgs/Vector3Stamped.rb +133 -0
- data/lib/geometry_msgs/Wrench.rb +101 -0
- data/lib/geometry_msgs/WrenchStamped.rb +141 -0
- data/lib/nav_msgs/GetMap.rb +280 -0
- data/lib/nav_msgs/GetPlan.rb +406 -0
- data/lib/nav_msgs/GridCells.rb +153 -0
- data/lib/nav_msgs/MapMetaData.rb +130 -0
- data/lib/nav_msgs/OccupancyGrid.rb +187 -0
- data/lib/nav_msgs/Odometry.rb +223 -0
- data/lib/nav_msgs/Path.rb +205 -0
- data/lib/roscpp/Empty.rb +166 -0
- data/lib/roscpp/GetLoggers.rb +205 -0
- data/lib/roscpp/Logger.rb +98 -0
- data/lib/roscpp/SetLoggerLevel.rb +189 -0
- data/lib/roscpp_tutorials/TwoInts.rb +185 -0
- data/lib/rosgraph_msgs/Clock.rb +90 -0
- data/lib/rosgraph_msgs/Log.rb +210 -0
- data/lib/sensor_msgs/CameraInfo.rb +325 -0
- data/lib/sensor_msgs/ChannelFloat32.rb +122 -0
- data/lib/sensor_msgs/CompressedImage.rb +151 -0
- data/lib/sensor_msgs/Image.rb +179 -0
- data/lib/sensor_msgs/Imu.rb +193 -0
- data/lib/sensor_msgs/JointState.rb +195 -0
- data/lib/sensor_msgs/Joy.rb +141 -0
- data/lib/sensor_msgs/JoyFeedback.rb +104 -0
- data/lib/sensor_msgs/JoyFeedbackArray.rb +116 -0
- data/lib/sensor_msgs/LaserScan.rb +178 -0
- data/lib/sensor_msgs/NavSatFix.rb +215 -0
- data/lib/sensor_msgs/NavSatStatus.rb +115 -0
- data/lib/sensor_msgs/PointCloud.rb +222 -0
- data/lib/sensor_msgs/PointCloud2.rb +226 -0
- data/lib/sensor_msgs/PointField.rb +119 -0
- data/lib/sensor_msgs/Range.rb +157 -0
- data/lib/sensor_msgs/RegionOfInterest.rb +106 -0
- data/lib/sensor_msgs/SetCameraInfo.rb +437 -0
- data/lib/sensor_msgs/TimeReference.rb +140 -0
- data/lib/std_msgs/Bool.rb +83 -0
- data/lib/std_msgs/Byte.rb +83 -0
- data/lib/std_msgs/ByteMultiArray.rb +165 -0
- data/lib/std_msgs/Char.rb +82 -0
- data/lib/std_msgs/ColorRGBA.rb +89 -0
- data/lib/std_msgs/Duration.rb +87 -0
- data/lib/std_msgs/Empty.rb +75 -0
- data/lib/std_msgs/Float32.rb +82 -0
- data/lib/std_msgs/Float32MultiArray.rb +165 -0
- data/lib/std_msgs/Float64.rb +82 -0
- data/lib/std_msgs/Float64MultiArray.rb +165 -0
- data/lib/std_msgs/Header.rb +112 -0
- data/lib/std_msgs/Int16.rb +83 -0
- data/lib/std_msgs/Int16MultiArray.rb +165 -0
- data/lib/std_msgs/Int32.rb +82 -0
- data/lib/std_msgs/Int32MultiArray.rb +165 -0
- data/lib/std_msgs/Int64.rb +82 -0
- data/lib/std_msgs/Int64MultiArray.rb +165 -0
- data/lib/std_msgs/Int8.rb +83 -0
- data/lib/std_msgs/Int8MultiArray.rb +165 -0
- data/lib/std_msgs/MultiArrayDimension.rb +95 -0
- data/lib/std_msgs/MultiArrayLayout.rb +141 -0
- data/lib/std_msgs/String.rb +87 -0
- data/lib/std_msgs/Time.rb +87 -0
- data/lib/std_msgs/UInt16.rb +83 -0
- data/lib/std_msgs/UInt16MultiArray.rb +165 -0
- data/lib/std_msgs/UInt32.rb +81 -0
- data/lib/std_msgs/UInt32MultiArray.rb +165 -0
- data/lib/std_msgs/UInt64.rb +82 -0
- data/lib/std_msgs/UInt64MultiArray.rb +165 -0
- data/lib/std_msgs/UInt8.rb +83 -0
- data/lib/std_msgs/UInt8MultiArray.rb +168 -0
- data/lib/std_srvs/Empty.rb +166 -0
- data/lib/stereo_msgs/DisparityImage.rb +261 -0
- data/lib/tf/FrameGraph.rb +179 -0
- data/lib/tf/tfMessage.rb +202 -0
- data/lib/trajectory_msgs/JointTrajectory.rb +198 -0
- data/lib/trajectory_msgs/JointTrajectoryPoint.rb +125 -0
- data/lib/visualization_msgs/ImageMarker.rb +238 -0
- data/lib/visualization_msgs/InteractiveMarker.rb +651 -0
- data/lib/visualization_msgs/InteractiveMarkerControl.rb +469 -0
- data/lib/visualization_msgs/InteractiveMarkerFeedback.rb +235 -0
- data/lib/visualization_msgs/InteractiveMarkerInit.rb +707 -0
- data/lib/visualization_msgs/InteractiveMarkerPose.rb +166 -0
- data/lib/visualization_msgs/InteractiveMarkerUpdate.rb +825 -0
- data/lib/visualization_msgs/Marker.rb +318 -0
- data/lib/visualization_msgs/MarkerArray.rb +349 -0
- data/lib/visualization_msgs/MenuEntry.rb +168 -0
- metadata +123 -2
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# autogenerated by genmsg_ruby from NavSatStatus.msg. Do not edit.
|
|
2
|
+
require 'ros/message'
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
module Sensor_msgs
|
|
6
|
+
|
|
7
|
+
class NavSatStatus <::ROS::Message
|
|
8
|
+
def self.md5sum
|
|
9
|
+
"331cdbddfa4bc96ffc3b9ad98900a54c"
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def self.type
|
|
13
|
+
"sensor_msgs/NavSatStatus"
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def has_header?
|
|
17
|
+
false
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def message_definition
|
|
21
|
+
"# Navigation Satellite fix status for any Global Navigation Satellite System
|
|
22
|
+
|
|
23
|
+
# Whether to output an augmented fix is determined by both the fix
|
|
24
|
+
# type and the last time differential corrections were received. A
|
|
25
|
+
# fix is valid when status >= STATUS_FIX.
|
|
26
|
+
|
|
27
|
+
int8 STATUS_NO_FIX = -1 # unable to fix position
|
|
28
|
+
int8 STATUS_FIX = 0 # unaugmented fix
|
|
29
|
+
int8 STATUS_SBAS_FIX = 1 # with satellite-based augmentation
|
|
30
|
+
int8 STATUS_GBAS_FIX = 2 # with ground-based augmentation
|
|
31
|
+
|
|
32
|
+
int8 status
|
|
33
|
+
|
|
34
|
+
# Bits defining which Global Navigation Satellite System signals were
|
|
35
|
+
# used by the receiver.
|
|
36
|
+
|
|
37
|
+
uint16 SERVICE_GPS = 1
|
|
38
|
+
uint16 SERVICE_GLONASS = 2
|
|
39
|
+
uint16 SERVICE_COMPASS = 4 # includes BeiDou.
|
|
40
|
+
uint16 SERVICE_GALILEO = 8
|
|
41
|
+
|
|
42
|
+
uint16 service
|
|
43
|
+
|
|
44
|
+
"
|
|
45
|
+
end
|
|
46
|
+
# Pseudo-constants
|
|
47
|
+
STATUS_NO_FIX = -1
|
|
48
|
+
STATUS_FIX = 0
|
|
49
|
+
STATUS_SBAS_FIX = 1
|
|
50
|
+
STATUS_GBAS_FIX = 2
|
|
51
|
+
SERVICE_GPS = 1
|
|
52
|
+
SERVICE_GLONASS = 2
|
|
53
|
+
SERVICE_COMPASS = 4
|
|
54
|
+
SERVICE_GALILEO = 8
|
|
55
|
+
|
|
56
|
+
attr_accessor :status, :service
|
|
57
|
+
|
|
58
|
+
@@struct_cS = ::ROS::Struct.new("cS")
|
|
59
|
+
|
|
60
|
+
@@struct_L = ::ROS::Struct.new("L")
|
|
61
|
+
@@slot_types = ['int8','uint16']
|
|
62
|
+
|
|
63
|
+
def initialize
|
|
64
|
+
# Constructor. Any message fields that are implicitly/explicitly
|
|
65
|
+
# set to None will be assigned a default value. The recommend
|
|
66
|
+
# use is keyword arguments as this is more robust to future message
|
|
67
|
+
# changes. You cannot mix in-order arguments and keyword arguments.
|
|
68
|
+
#
|
|
69
|
+
# The available fields are:
|
|
70
|
+
# status,service
|
|
71
|
+
#
|
|
72
|
+
# @param args: complete set of field values, in .msg order
|
|
73
|
+
# @param kwds: use keyword arguments corresponding to message field names
|
|
74
|
+
# to set specific fields.
|
|
75
|
+
#
|
|
76
|
+
|
|
77
|
+
# message fields cannot be None, assign default values for those that are
|
|
78
|
+
@status = 0
|
|
79
|
+
@service = 0
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
def _get_types
|
|
83
|
+
# internal API method
|
|
84
|
+
return @slot_types
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
def serialize(buff)
|
|
88
|
+
# serialize message into buffer
|
|
89
|
+
# @param buff: buffer
|
|
90
|
+
# @type buff: StringIO
|
|
91
|
+
begin
|
|
92
|
+
buff.write(@@struct_cS.pack(@status, @service))
|
|
93
|
+
rescue => exception
|
|
94
|
+
raise "some erro in serialize: #{exception}"
|
|
95
|
+
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
def deserialize(str)
|
|
100
|
+
# unpack serialized message in str into this message instance
|
|
101
|
+
# @param str: byte array of serialized message
|
|
102
|
+
# @type str: str
|
|
103
|
+
|
|
104
|
+
begin
|
|
105
|
+
end_point = 0
|
|
106
|
+
start = end_point
|
|
107
|
+
end_point += ROS::Struct::calc_size('cS')
|
|
108
|
+
(@status, @service,) = @@struct_cS.unpack(str[start..(end_point-1)])
|
|
109
|
+
return self
|
|
110
|
+
rescue => exception
|
|
111
|
+
raise "message DeserializationError: #{exception}" #most likely buffer underfill
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
end # end of class
|
|
115
|
+
end # end of module
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
# autogenerated by genmsg_ruby from PointCloud.msg. Do not edit.
|
|
2
|
+
require 'ros/message'
|
|
3
|
+
|
|
4
|
+
require "std_msgs/Header"
|
|
5
|
+
require "sensor_msgs/ChannelFloat32"
|
|
6
|
+
require "geometry_msgs/Point32"
|
|
7
|
+
|
|
8
|
+
module Sensor_msgs
|
|
9
|
+
|
|
10
|
+
class PointCloud <::ROS::Message
|
|
11
|
+
def self.md5sum
|
|
12
|
+
"d8e9c3f5afbdd8a130fd1d2763945fca"
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def self.type
|
|
16
|
+
"sensor_msgs/PointCloud"
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def has_header?
|
|
20
|
+
true
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def message_definition
|
|
24
|
+
"# This message holds a collection of 3d points, plus optional additional
|
|
25
|
+
# information about each point.
|
|
26
|
+
|
|
27
|
+
# Time of sensor data acquisition, coordinate frame ID.
|
|
28
|
+
Header header
|
|
29
|
+
|
|
30
|
+
# Array of 3d points. Each Point32 should be interpreted as a 3d point
|
|
31
|
+
# in the frame given in the header.
|
|
32
|
+
geometry_msgs/Point32[] points
|
|
33
|
+
|
|
34
|
+
# Each channel should have the same number of elements as points array,
|
|
35
|
+
# and the data in each channel should correspond 1:1 with each point.
|
|
36
|
+
# Channel names in common practice are listed in ChannelFloat32.msg.
|
|
37
|
+
ChannelFloat32[] channels
|
|
38
|
+
|
|
39
|
+
================================================================================
|
|
40
|
+
MSG: std_msgs/Header
|
|
41
|
+
# Standard metadata for higher-level stamped data types.
|
|
42
|
+
# This is generally used to communicate timestamped data
|
|
43
|
+
# in a particular coordinate frame.
|
|
44
|
+
#
|
|
45
|
+
# sequence ID: consecutively increasing ID
|
|
46
|
+
uint32 seq
|
|
47
|
+
#Two-integer timestamp that is expressed as:
|
|
48
|
+
# * stamp.secs: seconds (stamp_secs) since epoch
|
|
49
|
+
# * stamp.nsecs: nanoseconds since stamp_secs
|
|
50
|
+
# time-handling sugar is provided by the client library
|
|
51
|
+
time stamp
|
|
52
|
+
#Frame this data is associated with
|
|
53
|
+
# 0: no frame
|
|
54
|
+
# 1: global frame
|
|
55
|
+
string frame_id
|
|
56
|
+
|
|
57
|
+
================================================================================
|
|
58
|
+
MSG: geometry_msgs/Point32
|
|
59
|
+
# This contains the position of a point in free space(with 32 bits of precision).
|
|
60
|
+
# It is recommeded to use Point wherever possible instead of Point32.
|
|
61
|
+
#
|
|
62
|
+
# This recommendation is to promote interoperability.
|
|
63
|
+
#
|
|
64
|
+
# This message is designed to take up less space when sending
|
|
65
|
+
# lots of points at once, as in the case of a PointCloud.
|
|
66
|
+
|
|
67
|
+
float32 x
|
|
68
|
+
float32 y
|
|
69
|
+
float32 z
|
|
70
|
+
================================================================================
|
|
71
|
+
MSG: sensor_msgs/ChannelFloat32
|
|
72
|
+
# This message is used by the PointCloud message to hold optional data
|
|
73
|
+
# associated with each point in the cloud. The length of the values
|
|
74
|
+
# array should be the same as the length of the points array in the
|
|
75
|
+
# PointCloud, and each value should be associated with the corresponding
|
|
76
|
+
# point.
|
|
77
|
+
|
|
78
|
+
# Channel names in existing practice include:
|
|
79
|
+
# \"u\", \"v\" - row and column (respectively) in the left stereo image.
|
|
80
|
+
# This is opposite to usual conventions but remains for
|
|
81
|
+
# historical reasons. The newer PointCloud2 message has no
|
|
82
|
+
# such problem.
|
|
83
|
+
# \"rgb\" - For point clouds produced by color stereo cameras. uint8
|
|
84
|
+
# (R,G,B) values packed into the least significant 24 bits,
|
|
85
|
+
# in order.
|
|
86
|
+
# \"intensity\" - laser or pixel intensity.
|
|
87
|
+
# \"distance\"
|
|
88
|
+
|
|
89
|
+
# The channel name should give semantics of the channel (e.g.
|
|
90
|
+
# \"intensity\" instead of \"value\").
|
|
91
|
+
string name
|
|
92
|
+
|
|
93
|
+
# The values array should be 1-1 with the elements of the associated
|
|
94
|
+
# PointCloud.
|
|
95
|
+
float32[] values
|
|
96
|
+
|
|
97
|
+
"
|
|
98
|
+
end
|
|
99
|
+
attr_accessor :header, :points, :channels
|
|
100
|
+
|
|
101
|
+
@@struct_L3 = ::ROS::Struct.new("L3")
|
|
102
|
+
@@struct_f3 = ::ROS::Struct.new("f3")
|
|
103
|
+
|
|
104
|
+
@@struct_L = ::ROS::Struct.new("L")
|
|
105
|
+
@@slot_types = ['Header','geometry_msgs/Point32[]','sensor_msgs/ChannelFloat32[]']
|
|
106
|
+
|
|
107
|
+
def initialize
|
|
108
|
+
# Constructor. Any message fields that are implicitly/explicitly
|
|
109
|
+
# set to None will be assigned a default value. The recommend
|
|
110
|
+
# use is keyword arguments as this is more robust to future message
|
|
111
|
+
# changes. You cannot mix in-order arguments and keyword arguments.
|
|
112
|
+
#
|
|
113
|
+
# The available fields are:
|
|
114
|
+
# header,points,channels
|
|
115
|
+
#
|
|
116
|
+
# @param args: complete set of field values, in .msg order
|
|
117
|
+
# @param kwds: use keyword arguments corresponding to message field names
|
|
118
|
+
# to set specific fields.
|
|
119
|
+
#
|
|
120
|
+
|
|
121
|
+
# message fields cannot be None, assign default values for those that are
|
|
122
|
+
@header = Std_msgs::Header.new
|
|
123
|
+
@points = []
|
|
124
|
+
@channels = []
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
def _get_types
|
|
128
|
+
# internal API method
|
|
129
|
+
return @slot_types
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
def serialize(buff)
|
|
133
|
+
# serialize message into buffer
|
|
134
|
+
# @param buff: buffer
|
|
135
|
+
# @type buff: StringIO
|
|
136
|
+
begin
|
|
137
|
+
buff.write(@@struct_L3.pack(@header.seq, @header.stamp.secs, @header.stamp.nsecs))
|
|
138
|
+
_x = @header.frame_id
|
|
139
|
+
length = _x.length
|
|
140
|
+
buff.write([length, _x].pack("La#{length}"))
|
|
141
|
+
length = @points.length
|
|
142
|
+
buff.write(@@struct_L.pack(length))
|
|
143
|
+
for val1 in @points
|
|
144
|
+
_x = val1
|
|
145
|
+
buff.write(@@struct_f3.pack(_x.x, _x.y, _x.z))
|
|
146
|
+
end
|
|
147
|
+
length = @channels.length
|
|
148
|
+
buff.write(@@struct_L.pack(length))
|
|
149
|
+
for val1 in @channels
|
|
150
|
+
_x = val1.name
|
|
151
|
+
length = _x.length
|
|
152
|
+
buff.write([length, _x].pack("La#{length}"))
|
|
153
|
+
length = val1.values.length
|
|
154
|
+
buff.write(@@struct_L.pack(length))
|
|
155
|
+
pattern = "f#{length}"
|
|
156
|
+
buff.write(*val1.values.pack(pattern))
|
|
157
|
+
end
|
|
158
|
+
rescue => exception
|
|
159
|
+
raise "some erro in serialize: #{exception}"
|
|
160
|
+
|
|
161
|
+
end
|
|
162
|
+
end
|
|
163
|
+
|
|
164
|
+
def deserialize(str)
|
|
165
|
+
# unpack serialized message in str into this message instance
|
|
166
|
+
# @param str: byte array of serialized message
|
|
167
|
+
# @type str: str
|
|
168
|
+
|
|
169
|
+
begin
|
|
170
|
+
if @header == nil
|
|
171
|
+
@header = Std_msgs::Header.new
|
|
172
|
+
end
|
|
173
|
+
end_point = 0
|
|
174
|
+
start = end_point
|
|
175
|
+
end_point += ROS::Struct::calc_size('L3')
|
|
176
|
+
(@header.seq, @header.stamp.secs, @header.stamp.nsecs,) = @@struct_L3.unpack(str[start..(end_point-1)])
|
|
177
|
+
start = end_point
|
|
178
|
+
end_point += 4
|
|
179
|
+
(length,) = @@struct_L.unpack(str[start..(end_point-1)])
|
|
180
|
+
start = end_point
|
|
181
|
+
end_point += length
|
|
182
|
+
@header.frame_id = str[start..(end_point-1)]
|
|
183
|
+
start = end_point
|
|
184
|
+
end_point += 4
|
|
185
|
+
(length,) = @@struct_L.unpack(str[start..(end_point-1)])
|
|
186
|
+
@points = []
|
|
187
|
+
length.times do
|
|
188
|
+
val1 = Geometry_msgs::Point32.new
|
|
189
|
+
_x = val1
|
|
190
|
+
start = end_point
|
|
191
|
+
end_point += ROS::Struct::calc_size('f3')
|
|
192
|
+
(_x.x, _x.y, _x.z,) = @@struct_f3.unpack(str[start..(end_point-1)])
|
|
193
|
+
@points.push(val1)
|
|
194
|
+
end
|
|
195
|
+
start = end_point
|
|
196
|
+
end_point += 4
|
|
197
|
+
(length,) = @@struct_L.unpack(str[start..(end_point-1)])
|
|
198
|
+
@channels = []
|
|
199
|
+
length.times do
|
|
200
|
+
val1 = Sensor_msgs::ChannelFloat32.new
|
|
201
|
+
start = end_point
|
|
202
|
+
end_point += 4
|
|
203
|
+
(length,) = @@struct_L.unpack(str[start..(end_point-1)])
|
|
204
|
+
start = end_point
|
|
205
|
+
end_point += length
|
|
206
|
+
val1.name = str[start..(end_point-1)]
|
|
207
|
+
start = end_point
|
|
208
|
+
end_point += 4
|
|
209
|
+
(length,) = @@struct_L.unpack(str[start..(end_point-1)])
|
|
210
|
+
pattern = "f#{length}"
|
|
211
|
+
start = end_point
|
|
212
|
+
end_point += ROS::Struct::calc_size("#{pattern}")
|
|
213
|
+
val1.values = str[start..(end_point-1)].unpack(pattern)
|
|
214
|
+
@channels.push(val1)
|
|
215
|
+
end
|
|
216
|
+
return self
|
|
217
|
+
rescue => exception
|
|
218
|
+
raise "message DeserializationError: #{exception}" #most likely buffer underfill
|
|
219
|
+
end
|
|
220
|
+
end
|
|
221
|
+
end # end of class
|
|
222
|
+
end # end of module
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
# autogenerated by genmsg_ruby from PointCloud2.msg. Do not edit.
|
|
2
|
+
require 'ros/message'
|
|
3
|
+
|
|
4
|
+
require "std_msgs/Header"
|
|
5
|
+
require "sensor_msgs/PointField"
|
|
6
|
+
|
|
7
|
+
module Sensor_msgs
|
|
8
|
+
|
|
9
|
+
class PointCloud2 <::ROS::Message
|
|
10
|
+
def self.md5sum
|
|
11
|
+
"1158d486dd51d683ce2f1be655c3c181"
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def self.type
|
|
15
|
+
"sensor_msgs/PointCloud2"
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def has_header?
|
|
19
|
+
true
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def message_definition
|
|
23
|
+
"# This message holds a collection of N-dimensional points, which may
|
|
24
|
+
# contain additional information such as normals, intensity, etc. The
|
|
25
|
+
# point data is stored as a binary blob, its layout described by the
|
|
26
|
+
# contents of the \"fields\" array.
|
|
27
|
+
|
|
28
|
+
# The point cloud data may be organized 2d (image-like) or 1d
|
|
29
|
+
# (unordered). Point clouds organized as 2d images may be produced by
|
|
30
|
+
# camera depth sensors such as stereo or time-of-flight.
|
|
31
|
+
|
|
32
|
+
# Time of sensor data acquisition, and the coordinate frame ID (for 3d
|
|
33
|
+
# points).
|
|
34
|
+
Header header
|
|
35
|
+
|
|
36
|
+
# 2D structure of the point cloud. If the cloud is unordered, height is
|
|
37
|
+
# 1 and width is the length of the point cloud.
|
|
38
|
+
uint32 height
|
|
39
|
+
uint32 width
|
|
40
|
+
|
|
41
|
+
# Describes the channels and their layout in the binary data blob.
|
|
42
|
+
PointField[] fields
|
|
43
|
+
|
|
44
|
+
bool is_bigendian # Is this data bigendian?
|
|
45
|
+
uint32 point_step # Length of a point in bytes
|
|
46
|
+
uint32 row_step # Length of a row in bytes
|
|
47
|
+
uint8[] data # Actual point data, size is (row_step*height)
|
|
48
|
+
|
|
49
|
+
bool is_dense # True if there are no invalid points
|
|
50
|
+
|
|
51
|
+
================================================================================
|
|
52
|
+
MSG: std_msgs/Header
|
|
53
|
+
# Standard metadata for higher-level stamped data types.
|
|
54
|
+
# This is generally used to communicate timestamped data
|
|
55
|
+
# in a particular coordinate frame.
|
|
56
|
+
#
|
|
57
|
+
# sequence ID: consecutively increasing ID
|
|
58
|
+
uint32 seq
|
|
59
|
+
#Two-integer timestamp that is expressed as:
|
|
60
|
+
# * stamp.secs: seconds (stamp_secs) since epoch
|
|
61
|
+
# * stamp.nsecs: nanoseconds since stamp_secs
|
|
62
|
+
# time-handling sugar is provided by the client library
|
|
63
|
+
time stamp
|
|
64
|
+
#Frame this data is associated with
|
|
65
|
+
# 0: no frame
|
|
66
|
+
# 1: global frame
|
|
67
|
+
string frame_id
|
|
68
|
+
|
|
69
|
+
================================================================================
|
|
70
|
+
MSG: sensor_msgs/PointField
|
|
71
|
+
# This message holds the description of one point entry in the
|
|
72
|
+
# PointCloud2 message format.
|
|
73
|
+
uint8 INT8 = 1
|
|
74
|
+
uint8 UINT8 = 2
|
|
75
|
+
uint8 INT16 = 3
|
|
76
|
+
uint8 UINT16 = 4
|
|
77
|
+
uint8 INT32 = 5
|
|
78
|
+
uint8 UINT32 = 6
|
|
79
|
+
uint8 FLOAT32 = 7
|
|
80
|
+
uint8 FLOAT64 = 8
|
|
81
|
+
|
|
82
|
+
string name # Name of field
|
|
83
|
+
uint32 offset # Offset from start of point struct
|
|
84
|
+
uint8 datatype # Datatype enumeration, see above
|
|
85
|
+
uint32 count # How many elements in the field
|
|
86
|
+
|
|
87
|
+
"
|
|
88
|
+
end
|
|
89
|
+
attr_accessor :header, :height, :width, :fields, :is_bigendian, :point_step, :row_step, :data, :is_dense
|
|
90
|
+
|
|
91
|
+
@@struct_LCL = ::ROS::Struct.new("LCL")
|
|
92
|
+
@@struct_L3 = ::ROS::Struct.new("L3")
|
|
93
|
+
@@struct_C = ::ROS::Struct.new("C")
|
|
94
|
+
@@struct_L2 = ::ROS::Struct.new("L2")
|
|
95
|
+
@@struct_CL2 = ::ROS::Struct.new("CL2")
|
|
96
|
+
|
|
97
|
+
@@struct_L = ::ROS::Struct.new("L")
|
|
98
|
+
@@slot_types = ['Header','uint32','uint32','sensor_msgs/PointField[]','bool','uint32','uint32','uint8[]','bool']
|
|
99
|
+
|
|
100
|
+
def initialize
|
|
101
|
+
# Constructor. Any message fields that are implicitly/explicitly
|
|
102
|
+
# set to None will be assigned a default value. The recommend
|
|
103
|
+
# use is keyword arguments as this is more robust to future message
|
|
104
|
+
# changes. You cannot mix in-order arguments and keyword arguments.
|
|
105
|
+
#
|
|
106
|
+
# The available fields are:
|
|
107
|
+
# header,height,width,fields,is_bigendian,point_step,row_step,data,is_dense
|
|
108
|
+
#
|
|
109
|
+
# @param args: complete set of field values, in .msg order
|
|
110
|
+
# @param kwds: use keyword arguments corresponding to message field names
|
|
111
|
+
# to set specific fields.
|
|
112
|
+
#
|
|
113
|
+
|
|
114
|
+
# message fields cannot be None, assign default values for those that are
|
|
115
|
+
@header = Std_msgs::Header.new
|
|
116
|
+
@height = 0
|
|
117
|
+
@width = 0
|
|
118
|
+
@fields = []
|
|
119
|
+
@is_bigendian = false
|
|
120
|
+
@point_step = 0
|
|
121
|
+
@row_step = 0
|
|
122
|
+
@data = ''
|
|
123
|
+
@is_dense = false
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
def _get_types
|
|
127
|
+
# internal API method
|
|
128
|
+
return @slot_types
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
def serialize(buff)
|
|
132
|
+
# serialize message into buffer
|
|
133
|
+
# @param buff: buffer
|
|
134
|
+
# @type buff: StringIO
|
|
135
|
+
begin
|
|
136
|
+
buff.write(@@struct_L3.pack(@header.seq, @header.stamp.secs, @header.stamp.nsecs))
|
|
137
|
+
_x = @header.frame_id
|
|
138
|
+
length = _x.length
|
|
139
|
+
buff.write([length, _x].pack("La#{length}"))
|
|
140
|
+
buff.write(@@struct_L2.pack(@height, @width))
|
|
141
|
+
length = @fields.length
|
|
142
|
+
buff.write(@@struct_L.pack(length))
|
|
143
|
+
for val1 in @fields
|
|
144
|
+
_x = val1.name
|
|
145
|
+
length = _x.length
|
|
146
|
+
buff.write([length, _x].pack("La#{length}"))
|
|
147
|
+
_x = val1
|
|
148
|
+
buff.write(@@struct_LCL.pack(_x.offset, _x.datatype, _x.count))
|
|
149
|
+
end
|
|
150
|
+
buff.write(@@struct_CL2.pack(@is_bigendian, @point_step, @row_step))
|
|
151
|
+
_x = @data
|
|
152
|
+
length = _x.length
|
|
153
|
+
# - if encoded as a list instead, serialize as bytes instead of string
|
|
154
|
+
if type(_x) in [list, tuple]
|
|
155
|
+
buff.write([length, *_x].pack("La#{length}"))
|
|
156
|
+
else
|
|
157
|
+
buff.write([length, _x].pack("La#{length}"))
|
|
158
|
+
end
|
|
159
|
+
buff.write(@@struct_C.pack(@is_dense))
|
|
160
|
+
rescue => exception
|
|
161
|
+
raise "some erro in serialize: #{exception}"
|
|
162
|
+
|
|
163
|
+
end
|
|
164
|
+
end
|
|
165
|
+
|
|
166
|
+
def deserialize(str)
|
|
167
|
+
# unpack serialized message in str into this message instance
|
|
168
|
+
# @param str: byte array of serialized message
|
|
169
|
+
# @type str: str
|
|
170
|
+
|
|
171
|
+
begin
|
|
172
|
+
if @header == nil
|
|
173
|
+
@header = Std_msgs::Header.new
|
|
174
|
+
end
|
|
175
|
+
end_point = 0
|
|
176
|
+
start = end_point
|
|
177
|
+
end_point += ROS::Struct::calc_size('L3')
|
|
178
|
+
(@header.seq, @header.stamp.secs, @header.stamp.nsecs,) = @@struct_L3.unpack(str[start..(end_point-1)])
|
|
179
|
+
start = end_point
|
|
180
|
+
end_point += 4
|
|
181
|
+
(length,) = @@struct_L.unpack(str[start..(end_point-1)])
|
|
182
|
+
start = end_point
|
|
183
|
+
end_point += length
|
|
184
|
+
@header.frame_id = str[start..(end_point-1)]
|
|
185
|
+
start = end_point
|
|
186
|
+
end_point += ROS::Struct::calc_size('L2')
|
|
187
|
+
(@height, @width,) = @@struct_L2.unpack(str[start..(end_point-1)])
|
|
188
|
+
start = end_point
|
|
189
|
+
end_point += 4
|
|
190
|
+
(length,) = @@struct_L.unpack(str[start..(end_point-1)])
|
|
191
|
+
@fields = []
|
|
192
|
+
length.times do
|
|
193
|
+
val1 = Sensor_msgs::PointField.new
|
|
194
|
+
start = end_point
|
|
195
|
+
end_point += 4
|
|
196
|
+
(length,) = @@struct_L.unpack(str[start..(end_point-1)])
|
|
197
|
+
start = end_point
|
|
198
|
+
end_point += length
|
|
199
|
+
val1.name = str[start..(end_point-1)]
|
|
200
|
+
_x = val1
|
|
201
|
+
start = end_point
|
|
202
|
+
end_point += ROS::Struct::calc_size('LCL')
|
|
203
|
+
(_x.offset, _x.datatype, _x.count,) = @@struct_LCL.unpack(str[start..(end_point-1)])
|
|
204
|
+
@fields.push(val1)
|
|
205
|
+
end
|
|
206
|
+
start = end_point
|
|
207
|
+
end_point += ROS::Struct::calc_size('CL2')
|
|
208
|
+
(@is_bigendian, @point_step, @row_step,) = @@struct_CL2.unpack(str[start..(end_point-1)])
|
|
209
|
+
@is_bigendian = bool(@is_bigendian)
|
|
210
|
+
start = end_point
|
|
211
|
+
end_point += 4
|
|
212
|
+
(length,) = @@struct_L.unpack(str[start..(end_point-1)])
|
|
213
|
+
start = end_point
|
|
214
|
+
end_point += length
|
|
215
|
+
@data = str[start..(end_point-1)]
|
|
216
|
+
start = end_point
|
|
217
|
+
end_point += ROS::Struct::calc_size('C')
|
|
218
|
+
(@is_dense,) = @@struct_C.unpack(str[start..(end_point-1)])
|
|
219
|
+
@is_dense = bool(@is_dense)
|
|
220
|
+
return self
|
|
221
|
+
rescue => exception
|
|
222
|
+
raise "message DeserializationError: #{exception}" #most likely buffer underfill
|
|
223
|
+
end
|
|
224
|
+
end
|
|
225
|
+
end # end of class
|
|
226
|
+
end # end of module
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# autogenerated by genmsg_ruby from PointField.msg. Do not edit.
|
|
2
|
+
require 'ros/message'
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
module Sensor_msgs
|
|
6
|
+
|
|
7
|
+
class PointField <::ROS::Message
|
|
8
|
+
def self.md5sum
|
|
9
|
+
"268eacb2962780ceac86cbd17e328150"
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def self.type
|
|
13
|
+
"sensor_msgs/PointField"
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def has_header?
|
|
17
|
+
false
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def message_definition
|
|
21
|
+
"# This message holds the description of one point entry in the
|
|
22
|
+
# PointCloud2 message format.
|
|
23
|
+
uint8 INT8 = 1
|
|
24
|
+
uint8 UINT8 = 2
|
|
25
|
+
uint8 INT16 = 3
|
|
26
|
+
uint8 UINT16 = 4
|
|
27
|
+
uint8 INT32 = 5
|
|
28
|
+
uint8 UINT32 = 6
|
|
29
|
+
uint8 FLOAT32 = 7
|
|
30
|
+
uint8 FLOAT64 = 8
|
|
31
|
+
|
|
32
|
+
string name # Name of field
|
|
33
|
+
uint32 offset # Offset from start of point struct
|
|
34
|
+
uint8 datatype # Datatype enumeration, see above
|
|
35
|
+
uint32 count # How many elements in the field
|
|
36
|
+
|
|
37
|
+
"
|
|
38
|
+
end
|
|
39
|
+
# Pseudo-constants
|
|
40
|
+
INT8 = 1
|
|
41
|
+
UINT8 = 2
|
|
42
|
+
INT16 = 3
|
|
43
|
+
UINT16 = 4
|
|
44
|
+
INT32 = 5
|
|
45
|
+
UINT32 = 6
|
|
46
|
+
FLOAT32 = 7
|
|
47
|
+
FLOAT64 = 8
|
|
48
|
+
|
|
49
|
+
attr_accessor :name, :offset, :datatype, :count
|
|
50
|
+
|
|
51
|
+
@@struct_LCL = ::ROS::Struct.new("LCL")
|
|
52
|
+
|
|
53
|
+
@@struct_L = ::ROS::Struct.new("L")
|
|
54
|
+
@@slot_types = ['string','uint32','uint8','uint32']
|
|
55
|
+
|
|
56
|
+
def initialize
|
|
57
|
+
# Constructor. Any message fields that are implicitly/explicitly
|
|
58
|
+
# set to None will be assigned a default value. The recommend
|
|
59
|
+
# use is keyword arguments as this is more robust to future message
|
|
60
|
+
# changes. You cannot mix in-order arguments and keyword arguments.
|
|
61
|
+
#
|
|
62
|
+
# The available fields are:
|
|
63
|
+
# name,offset,datatype,count
|
|
64
|
+
#
|
|
65
|
+
# @param args: complete set of field values, in .msg order
|
|
66
|
+
# @param kwds: use keyword arguments corresponding to message field names
|
|
67
|
+
# to set specific fields.
|
|
68
|
+
#
|
|
69
|
+
|
|
70
|
+
# message fields cannot be None, assign default values for those that are
|
|
71
|
+
@name = ''
|
|
72
|
+
@offset = 0
|
|
73
|
+
@datatype = 0
|
|
74
|
+
@count = 0
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
def _get_types
|
|
78
|
+
# internal API method
|
|
79
|
+
return @slot_types
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
def serialize(buff)
|
|
83
|
+
# serialize message into buffer
|
|
84
|
+
# @param buff: buffer
|
|
85
|
+
# @type buff: StringIO
|
|
86
|
+
begin
|
|
87
|
+
_x = @name
|
|
88
|
+
length = _x.length
|
|
89
|
+
buff.write([length, _x].pack("La#{length}"))
|
|
90
|
+
buff.write(@@struct_LCL.pack(@offset, @datatype, @count))
|
|
91
|
+
rescue => exception
|
|
92
|
+
raise "some erro in serialize: #{exception}"
|
|
93
|
+
|
|
94
|
+
end
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
def deserialize(str)
|
|
98
|
+
# unpack serialized message in str into this message instance
|
|
99
|
+
# @param str: byte array of serialized message
|
|
100
|
+
# @type str: str
|
|
101
|
+
|
|
102
|
+
begin
|
|
103
|
+
end_point = 0
|
|
104
|
+
start = end_point
|
|
105
|
+
end_point += 4
|
|
106
|
+
(length,) = @@struct_L.unpack(str[start..(end_point-1)])
|
|
107
|
+
start = end_point
|
|
108
|
+
end_point += length
|
|
109
|
+
@name = str[start..(end_point-1)]
|
|
110
|
+
start = end_point
|
|
111
|
+
end_point += ROS::Struct::calc_size('LCL')
|
|
112
|
+
(@offset, @datatype, @count,) = @@struct_LCL.unpack(str[start..(end_point-1)])
|
|
113
|
+
return self
|
|
114
|
+
rescue => exception
|
|
115
|
+
raise "message DeserializationError: #{exception}" #most likely buffer underfill
|
|
116
|
+
end
|
|
117
|
+
end
|
|
118
|
+
end # end of class
|
|
119
|
+
end # end of module
|