asterism 0.3.0 → 0.4.1

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.
Files changed (102) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +149 -0
  3. data/NOTICE +12 -7
  4. data/README.md +305 -74
  5. data/data/msgs/LICENSE-BSD-3-Clause-tf2_msgs.txt +29 -0
  6. data/data/msgs/NOTICE +19 -13
  7. data/data/msgs/builtin_interfaces/msg/Duration.rb +4 -0
  8. data/data/msgs/builtin_interfaces/msg/Time.rb +4 -0
  9. data/data/msgs/diagnostic_msgs/msg/DiagnosticArray.rb +40 -0
  10. data/data/msgs/diagnostic_msgs/msg/DiagnosticStatus.rb +55 -0
  11. data/data/msgs/diagnostic_msgs/msg/KeyValue.rb +37 -0
  12. data/data/msgs/example_interfaces/srv/AddTwoInts.rb +7 -0
  13. data/data/msgs/geometry_msgs/msg/Accel.rb +4 -0
  14. data/data/msgs/geometry_msgs/msg/AccelStamped.rb +4 -0
  15. data/data/msgs/geometry_msgs/msg/Point.rb +5 -0
  16. data/data/msgs/geometry_msgs/msg/Point32.rb +5 -0
  17. data/data/msgs/geometry_msgs/msg/PointStamped.rb +4 -0
  18. data/data/msgs/geometry_msgs/msg/Pose.rb +4 -0
  19. data/data/msgs/geometry_msgs/msg/Pose2D.rb +5 -0
  20. data/data/msgs/geometry_msgs/msg/PoseStamped.rb +4 -0
  21. data/data/msgs/geometry_msgs/msg/PoseWithCovariance.rb +39 -0
  22. data/data/msgs/geometry_msgs/msg/Quaternion.rb +6 -0
  23. data/data/msgs/geometry_msgs/msg/QuaternionStamped.rb +4 -0
  24. data/data/msgs/geometry_msgs/msg/Transform.rb +4 -0
  25. data/data/msgs/geometry_msgs/msg/TransformStamped.rb +5 -0
  26. data/data/msgs/geometry_msgs/msg/Twist.rb +4 -0
  27. data/data/msgs/geometry_msgs/msg/TwistStamped.rb +4 -0
  28. data/data/msgs/geometry_msgs/msg/TwistWithCovariance.rb +39 -0
  29. data/data/msgs/geometry_msgs/msg/Vector3.rb +5 -0
  30. data/data/msgs/geometry_msgs/msg/Vector3Stamped.rb +4 -0
  31. data/data/msgs/geometry_msgs/msg/Wrench.rb +4 -0
  32. data/data/msgs/geometry_msgs/msg/WrenchStamped.rb +4 -0
  33. data/data/msgs/nav_msgs/msg/MapMetaData.rb +52 -0
  34. data/data/msgs/nav_msgs/msg/OccupancyGrid.rb +44 -0
  35. data/data/msgs/nav_msgs/msg/Odometry.rb +49 -0
  36. data/data/msgs/nav_msgs/msg/Path.rb +40 -0
  37. data/data/msgs/rcl_interfaces/msg/Log.rb +64 -0
  38. data/data/msgs/rcl_interfaces/msg/Parameter.rb +39 -0
  39. data/data/msgs/rcl_interfaces/msg/ParameterEvent.rb +52 -0
  40. data/data/msgs/rcl_interfaces/msg/ParameterValue.rb +69 -0
  41. data/data/msgs/sensor_msgs/msg/BatteryState.rb +18 -0
  42. data/data/msgs/sensor_msgs/msg/CompressedImage.rb +43 -0
  43. data/data/msgs/sensor_msgs/msg/FluidPressure.rb +5 -0
  44. data/data/msgs/sensor_msgs/msg/Illuminance.rb +5 -0
  45. data/data/msgs/sensor_msgs/msg/Imu.rb +9 -0
  46. data/data/msgs/sensor_msgs/msg/JointState.rb +7 -0
  47. data/data/msgs/sensor_msgs/msg/LaserScan.rb +71 -0
  48. data/data/msgs/sensor_msgs/msg/MagneticField.rb +5 -0
  49. data/data/msgs/sensor_msgs/msg/NavSatFix.rb +9 -0
  50. data/data/msgs/sensor_msgs/msg/NavSatStatus.rb +4 -0
  51. data/data/msgs/sensor_msgs/msg/PointCloud2.rb +68 -0
  52. data/data/msgs/sensor_msgs/msg/PointField.rb +53 -0
  53. data/data/msgs/sensor_msgs/msg/Range.rb +9 -0
  54. data/data/msgs/sensor_msgs/msg/RelativeHumidity.rb +5 -0
  55. data/data/msgs/sensor_msgs/msg/Temperature.rb +5 -0
  56. data/data/msgs/std_msgs/msg/Bool.rb +3 -0
  57. data/data/msgs/std_msgs/msg/Byte.rb +3 -0
  58. data/data/msgs/std_msgs/msg/ByteMultiArray.rb +4 -0
  59. data/data/msgs/std_msgs/msg/Char.rb +3 -0
  60. data/data/msgs/std_msgs/msg/ColorRGBA.rb +6 -0
  61. data/data/msgs/std_msgs/msg/Empty.rb +1 -0
  62. data/data/msgs/std_msgs/msg/Float32.rb +3 -0
  63. data/data/msgs/std_msgs/msg/Float32MultiArray.rb +4 -0
  64. data/data/msgs/std_msgs/msg/Float64.rb +3 -0
  65. data/data/msgs/std_msgs/msg/Float64MultiArray.rb +4 -0
  66. data/data/msgs/std_msgs/msg/Header.rb +4 -0
  67. data/data/msgs/std_msgs/msg/Int16.rb +3 -0
  68. data/data/msgs/std_msgs/msg/Int16MultiArray.rb +4 -0
  69. data/data/msgs/std_msgs/msg/Int32.rb +3 -0
  70. data/data/msgs/std_msgs/msg/Int32MultiArray.rb +4 -0
  71. data/data/msgs/std_msgs/msg/Int64.rb +3 -0
  72. data/data/msgs/std_msgs/msg/Int64MultiArray.rb +4 -0
  73. data/data/msgs/std_msgs/msg/Int8.rb +3 -0
  74. data/data/msgs/std_msgs/msg/Int8MultiArray.rb +4 -0
  75. data/data/msgs/std_msgs/msg/MultiArrayDimension.rb +5 -0
  76. data/data/msgs/std_msgs/msg/MultiArrayLayout.rb +4 -0
  77. data/data/msgs/std_msgs/msg/String.rb +3 -0
  78. data/data/msgs/std_msgs/msg/UInt16.rb +3 -0
  79. data/data/msgs/std_msgs/msg/UInt16MultiArray.rb +4 -0
  80. data/data/msgs/std_msgs/msg/UInt32.rb +3 -0
  81. data/data/msgs/std_msgs/msg/UInt32MultiArray.rb +4 -0
  82. data/data/msgs/std_msgs/msg/UInt64.rb +3 -0
  83. data/data/msgs/std_msgs/msg/UInt64MultiArray.rb +4 -0
  84. data/data/msgs/std_msgs/msg/UInt8.rb +3 -0
  85. data/data/msgs/std_msgs/msg/UInt8MultiArray.rb +4 -0
  86. data/data/msgs/tf2_msgs/msg/TFMessage.rb +35 -0
  87. data/data/msgs/visualization_msgs/msg/Marker.rb +132 -0
  88. data/data/msgs/visualization_msgs/msg/MarkerArray.rb +35 -0
  89. data/data/msgs/visualization_msgs/msg/MeshFile.rb +37 -0
  90. data/data/msgs/visualization_msgs/msg/UVCoordinate.rb +37 -0
  91. data/lib/asterism/cruby/objects.rb +25 -10
  92. data/lib/asterism/cruby/ros.rb +6 -4
  93. data/lib/asterism/cruby/zenoh.rb +190 -60
  94. data/lib/asterism/version.rb +1 -1
  95. data/lib/asterism.rb +2 -2
  96. data/mrblib/asterism.rb +112 -19
  97. data/mrblib/cdr.rb +5 -1
  98. data/mrblib/future.rb +11 -2
  99. data/mrblib/proxy.rb +13 -3
  100. data/mrblib/ros.rb +189 -44
  101. data/tools/asterism_msggen.rb +32 -5
  102. metadata +29 -4
@@ -0,0 +1,49 @@
1
+ # nav_msgs/msg/Odometry (ROS 2 jazzy), generated by asterism_msggen.rb from
2
+ # Odometry.msg of the package nav_msgs.
3
+ # License: Apache License 2.0, as the definition (package.xml of nav_msgs).
4
+ # Do not edit; regenerate instead.
5
+
6
+ ::Asterism::ROS.require_type("geometry_msgs/msg/PoseWithCovariance")
7
+ ::Asterism::ROS.require_type("geometry_msgs/msg/TwistWithCovariance")
8
+ ::Asterism::ROS.require_type("std_msgs/msg/Header")
9
+
10
+ module ::Asterism::ROS::NavMsgs
11
+ end
12
+
13
+ class ::Asterism::ROS::NavMsgs::Odometry < ::Asterism::ROS::Message
14
+ ROS_NAME = "nav_msgs/msg/Odometry"
15
+ TYPE_NAME = "nav_msgs::msg::dds_::Odometry_"
16
+ TYPE_HASH = "RIHS01_3cc97dc7fb7502f8714462c526d369e35b603cfc34d946e3f2eda2766dfec6e0"
17
+ FIELDS = [:header, :child_frame_id, :pose, :twist]
18
+ FIELD_TYPES = [
19
+ ["header", "std_msgs/msg/Header", "scalar", "std_msgs/msg/Header", nil, nil],
20
+ ["child_frame_id", "string", "scalar", nil, nil, nil],
21
+ ["pose", "geometry_msgs/msg/PoseWithCovariance", "scalar", "geometry_msgs/msg/PoseWithCovariance", nil, nil],
22
+ ["twist", "geometry_msgs/msg/TwistWithCovariance", "scalar", "geometry_msgs/msg/TwistWithCovariance", nil, nil]
23
+ ]
24
+
25
+ attr_accessor :header, :child_frame_id, :pose, :twist
26
+
27
+ def initialize(header: nil, child_frame_id: nil, pose: nil, twist: nil)
28
+ @header = ::Asterism::ROS::StdMsgs::Header.from(header)
29
+ @child_frame_id = child_frame_id.nil? ? "" : child_frame_id
30
+ @pose = ::Asterism::ROS::GeometryMsgs::PoseWithCovariance.from(pose)
31
+ @twist = ::Asterism::ROS::GeometryMsgs::TwistWithCovariance.from(twist)
32
+ end
33
+
34
+ def self.write(w, m)
35
+ ::Asterism::ROS::StdMsgs::Header.write(w, ::Asterism::ROS::StdMsgs::Header.from(m.header))
36
+ w.string(m.child_frame_id)
37
+ ::Asterism::ROS::GeometryMsgs::PoseWithCovariance.write(w, ::Asterism::ROS::GeometryMsgs::PoseWithCovariance.from(m.pose))
38
+ ::Asterism::ROS::GeometryMsgs::TwistWithCovariance.write(w, ::Asterism::ROS::GeometryMsgs::TwistWithCovariance.from(m.twist))
39
+ end
40
+
41
+ def self.read(r)
42
+ m = new
43
+ m.header = ::Asterism::ROS::StdMsgs::Header.read(r)
44
+ m.child_frame_id = r.string
45
+ m.pose = ::Asterism::ROS::GeometryMsgs::PoseWithCovariance.read(r)
46
+ m.twist = ::Asterism::ROS::GeometryMsgs::TwistWithCovariance.read(r)
47
+ m
48
+ end
49
+ end
@@ -0,0 +1,40 @@
1
+ # nav_msgs/msg/Path (ROS 2 jazzy), generated by asterism_msggen.rb from
2
+ # Path.msg of the package nav_msgs.
3
+ # License: Apache License 2.0, as the definition (package.xml of nav_msgs).
4
+ # Do not edit; regenerate instead.
5
+
6
+ ::Asterism::ROS.require_type("geometry_msgs/msg/PoseStamped")
7
+ ::Asterism::ROS.require_type("std_msgs/msg/Header")
8
+
9
+ module ::Asterism::ROS::NavMsgs
10
+ end
11
+
12
+ class ::Asterism::ROS::NavMsgs::Path < ::Asterism::ROS::Message
13
+ ROS_NAME = "nav_msgs/msg/Path"
14
+ TYPE_NAME = "nav_msgs::msg::dds_::Path_"
15
+ TYPE_HASH = "RIHS01_1957a5bb3cee5da65c4e52e52b65a93df227efce4c20f8458b36e73066ca334b"
16
+ FIELDS = [:header, :poses]
17
+ FIELD_TYPES = [
18
+ ["header", "std_msgs/msg/Header", "scalar", "std_msgs/msg/Header", nil, nil],
19
+ ["poses", "geometry_msgs/msg/PoseStamped", "sequence", "geometry_msgs/msg/PoseStamped", nil, nil]
20
+ ]
21
+
22
+ attr_accessor :header, :poses
23
+
24
+ def initialize(header: nil, poses: nil)
25
+ @header = ::Asterism::ROS::StdMsgs::Header.from(header)
26
+ @poses = poses.nil? ? [] : poses.map { |e| ::Asterism::ROS::GeometryMsgs::PoseStamped.from(e) }
27
+ end
28
+
29
+ def self.write(w, m)
30
+ ::Asterism::ROS::StdMsgs::Header.write(w, ::Asterism::ROS::StdMsgs::Header.from(m.header))
31
+ w.structs(::Asterism::ROS::GeometryMsgs::PoseStamped, m.poses, nil, nil)
32
+ end
33
+
34
+ def self.read(r)
35
+ m = new
36
+ m.header = ::Asterism::ROS::StdMsgs::Header.read(r)
37
+ m.poses = r.structs(::Asterism::ROS::GeometryMsgs::PoseStamped, nil)
38
+ m
39
+ end
40
+ end
@@ -0,0 +1,64 @@
1
+ # rcl_interfaces/msg/Log (ROS 2 jazzy), generated by asterism_msggen.rb from
2
+ # Log.msg of the package rcl_interfaces.
3
+ # License: Apache License 2.0, as the definition (package.xml of rcl_interfaces).
4
+ # Do not edit; regenerate instead.
5
+
6
+ ::Asterism::ROS.require_type("builtin_interfaces/msg/Time")
7
+
8
+ module ::Asterism::ROS::RclInterfaces
9
+ end
10
+
11
+ class ::Asterism::ROS::RclInterfaces::Log < ::Asterism::ROS::Message
12
+ ROS_NAME = "rcl_interfaces/msg/Log"
13
+ TYPE_NAME = "rcl_interfaces::msg::dds_::Log_"
14
+ TYPE_HASH = "RIHS01_e28ce254ca8abc06abf92773b74602cdbf116ed34fbaf294fb9f81da9f318eac"
15
+ FIELDS = [:stamp, :level, :name, :msg, :file, :function, :line]
16
+ FIELD_TYPES = [
17
+ ["stamp", "builtin_interfaces/msg/Time", "scalar", "builtin_interfaces/msg/Time", nil, nil],
18
+ ["level", "uint8", "scalar", nil, nil, nil],
19
+ ["name", "string", "scalar", nil, nil, nil],
20
+ ["msg", "string", "scalar", nil, nil, nil],
21
+ ["file", "string", "scalar", nil, nil, nil],
22
+ ["function", "string", "scalar", nil, nil, nil],
23
+ ["line", "uint32", "scalar", nil, nil, nil]
24
+ ]
25
+ DEBUG = 10
26
+ INFO = 20
27
+ WARN = 30
28
+ ERROR = 40
29
+ FATAL = 50
30
+
31
+ attr_accessor :stamp, :level, :name, :msg, :file, :function, :line
32
+
33
+ def initialize(stamp: nil, level: nil, name: nil, msg: nil, file: nil, function: nil, line: nil)
34
+ @stamp = ::Asterism::ROS::BuiltinInterfaces::Time.from(stamp)
35
+ @level = level.nil? ? 0 : level
36
+ @name = name.nil? ? "" : name
37
+ @msg = msg.nil? ? "" : msg
38
+ @file = file.nil? ? "" : file
39
+ @function = function.nil? ? "" : function
40
+ @line = line.nil? ? 0 : line
41
+ end
42
+
43
+ def self.write(w, m)
44
+ ::Asterism::ROS::BuiltinInterfaces::Time.write(w, ::Asterism::ROS::BuiltinInterfaces::Time.from(m.stamp))
45
+ w.uint8(m.level)
46
+ w.string(m.name)
47
+ w.string(m.msg)
48
+ w.string(m.file)
49
+ w.string(m.function)
50
+ w.uint32(m.line)
51
+ end
52
+
53
+ def self.read(r)
54
+ m = new
55
+ m.stamp = ::Asterism::ROS::BuiltinInterfaces::Time.read(r)
56
+ m.level = r.uint8
57
+ m.name = r.string
58
+ m.msg = r.string
59
+ m.file = r.string
60
+ m.function = r.string
61
+ m.line = r.uint32
62
+ m
63
+ end
64
+ end
@@ -0,0 +1,39 @@
1
+ # rcl_interfaces/msg/Parameter (ROS 2 jazzy), generated by asterism_msggen.rb from
2
+ # Parameter.msg of the package rcl_interfaces.
3
+ # License: Apache License 2.0, as the definition (package.xml of rcl_interfaces).
4
+ # Do not edit; regenerate instead.
5
+
6
+ ::Asterism::ROS.require_type("rcl_interfaces/msg/ParameterValue")
7
+
8
+ module ::Asterism::ROS::RclInterfaces
9
+ end
10
+
11
+ class ::Asterism::ROS::RclInterfaces::Parameter < ::Asterism::ROS::Message
12
+ ROS_NAME = "rcl_interfaces/msg/Parameter"
13
+ TYPE_NAME = "rcl_interfaces::msg::dds_::Parameter_"
14
+ TYPE_HASH = "RIHS01_ddfe6442cffc462317adb5c92536a7b6dd55858c5c3e1e328165a6b73c2831af"
15
+ FIELDS = [:name, :value]
16
+ FIELD_TYPES = [
17
+ ["name", "string", "scalar", nil, nil, nil],
18
+ ["value", "rcl_interfaces/msg/ParameterValue", "scalar", "rcl_interfaces/msg/ParameterValue", nil, nil]
19
+ ]
20
+
21
+ attr_accessor :name, :value
22
+
23
+ def initialize(name: nil, value: nil)
24
+ @name = name.nil? ? "" : name
25
+ @value = ::Asterism::ROS::RclInterfaces::ParameterValue.from(value)
26
+ end
27
+
28
+ def self.write(w, m)
29
+ w.string(m.name)
30
+ ::Asterism::ROS::RclInterfaces::ParameterValue.write(w, ::Asterism::ROS::RclInterfaces::ParameterValue.from(m.value))
31
+ end
32
+
33
+ def self.read(r)
34
+ m = new
35
+ m.name = r.string
36
+ m.value = ::Asterism::ROS::RclInterfaces::ParameterValue.read(r)
37
+ m
38
+ end
39
+ end
@@ -0,0 +1,52 @@
1
+ # rcl_interfaces/msg/ParameterEvent (ROS 2 jazzy), generated by asterism_msggen.rb from
2
+ # ParameterEvent.msg of the package rcl_interfaces.
3
+ # License: Apache License 2.0, as the definition (package.xml of rcl_interfaces).
4
+ # Do not edit; regenerate instead.
5
+
6
+ ::Asterism::ROS.require_type("builtin_interfaces/msg/Time")
7
+ ::Asterism::ROS.require_type("rcl_interfaces/msg/Parameter")
8
+
9
+ module ::Asterism::ROS::RclInterfaces
10
+ end
11
+
12
+ class ::Asterism::ROS::RclInterfaces::ParameterEvent < ::Asterism::ROS::Message
13
+ ROS_NAME = "rcl_interfaces/msg/ParameterEvent"
14
+ TYPE_NAME = "rcl_interfaces::msg::dds_::ParameterEvent_"
15
+ TYPE_HASH = "RIHS01_043e627780fcad87a22d225bc2a037361dba713fca6a6b9f4b869a5aa0393204"
16
+ FIELDS = [:stamp, :node, :new_parameters, :changed_parameters, :deleted_parameters]
17
+ FIELD_TYPES = [
18
+ ["stamp", "builtin_interfaces/msg/Time", "scalar", "builtin_interfaces/msg/Time", nil, nil],
19
+ ["node", "string", "scalar", nil, nil, nil],
20
+ ["new_parameters", "rcl_interfaces/msg/Parameter", "sequence", "rcl_interfaces/msg/Parameter", nil, nil],
21
+ ["changed_parameters", "rcl_interfaces/msg/Parameter", "sequence", "rcl_interfaces/msg/Parameter", nil, nil],
22
+ ["deleted_parameters", "rcl_interfaces/msg/Parameter", "sequence", "rcl_interfaces/msg/Parameter", nil, nil]
23
+ ]
24
+
25
+ attr_accessor :stamp, :node, :new_parameters, :changed_parameters, :deleted_parameters
26
+
27
+ def initialize(stamp: nil, node: nil, new_parameters: nil, changed_parameters: nil, deleted_parameters: nil)
28
+ @stamp = ::Asterism::ROS::BuiltinInterfaces::Time.from(stamp)
29
+ @node = node.nil? ? "" : node
30
+ @new_parameters = new_parameters.nil? ? [] : new_parameters.map { |e| ::Asterism::ROS::RclInterfaces::Parameter.from(e) }
31
+ @changed_parameters = changed_parameters.nil? ? [] : changed_parameters.map { |e| ::Asterism::ROS::RclInterfaces::Parameter.from(e) }
32
+ @deleted_parameters = deleted_parameters.nil? ? [] : deleted_parameters.map { |e| ::Asterism::ROS::RclInterfaces::Parameter.from(e) }
33
+ end
34
+
35
+ def self.write(w, m)
36
+ ::Asterism::ROS::BuiltinInterfaces::Time.write(w, ::Asterism::ROS::BuiltinInterfaces::Time.from(m.stamp))
37
+ w.string(m.node)
38
+ w.structs(::Asterism::ROS::RclInterfaces::Parameter, m.new_parameters, nil, nil)
39
+ w.structs(::Asterism::ROS::RclInterfaces::Parameter, m.changed_parameters, nil, nil)
40
+ w.structs(::Asterism::ROS::RclInterfaces::Parameter, m.deleted_parameters, nil, nil)
41
+ end
42
+
43
+ def self.read(r)
44
+ m = new
45
+ m.stamp = ::Asterism::ROS::BuiltinInterfaces::Time.read(r)
46
+ m.node = r.string
47
+ m.new_parameters = r.structs(::Asterism::ROS::RclInterfaces::Parameter, nil)
48
+ m.changed_parameters = r.structs(::Asterism::ROS::RclInterfaces::Parameter, nil)
49
+ m.deleted_parameters = r.structs(::Asterism::ROS::RclInterfaces::Parameter, nil)
50
+ m
51
+ end
52
+ end
@@ -0,0 +1,69 @@
1
+ # rcl_interfaces/msg/ParameterValue (ROS 2 jazzy), generated by asterism_msggen.rb from
2
+ # ParameterValue.msg of the package rcl_interfaces.
3
+ # License: Apache License 2.0, as the definition (package.xml of rcl_interfaces).
4
+ # Do not edit; regenerate instead.
5
+
6
+ module ::Asterism::ROS::RclInterfaces
7
+ end
8
+
9
+ class ::Asterism::ROS::RclInterfaces::ParameterValue < ::Asterism::ROS::Message
10
+ ROS_NAME = "rcl_interfaces/msg/ParameterValue"
11
+ TYPE_NAME = "rcl_interfaces::msg::dds_::ParameterValue_"
12
+ TYPE_HASH = "RIHS01_115fc089a387e23c7ecd3525c9189c379109119d6ab82e8dfbde0fdf6a7f9b68"
13
+ FIELDS = [:type, :bool_value, :integer_value, :double_value, :string_value, :byte_array_value, :bool_array_value, :integer_array_value, :double_array_value, :string_array_value]
14
+ FIELD_TYPES = [
15
+ ["type", "uint8", "scalar", nil, nil, nil],
16
+ ["bool_value", "bool", "scalar", nil, nil, nil],
17
+ ["integer_value", "int64", "scalar", nil, nil, nil],
18
+ ["double_value", "float64", "scalar", nil, nil, nil],
19
+ ["string_value", "string", "scalar", nil, nil, nil],
20
+ ["byte_array_value", "byte", "sequence", nil, nil, nil],
21
+ ["bool_array_value", "bool", "sequence", nil, nil, nil],
22
+ ["integer_array_value", "int64", "sequence", nil, nil, nil],
23
+ ["double_array_value", "float64", "sequence", nil, nil, nil],
24
+ ["string_array_value", "string", "sequence", nil, nil, nil]
25
+ ]
26
+
27
+ attr_accessor :type, :bool_value, :integer_value, :double_value, :string_value, :byte_array_value, :bool_array_value, :integer_array_value, :double_array_value, :string_array_value
28
+
29
+ def initialize(type: nil, bool_value: nil, integer_value: nil, double_value: nil, string_value: nil, byte_array_value: nil, bool_array_value: nil, integer_array_value: nil, double_array_value: nil, string_array_value: nil)
30
+ @type = type.nil? ? 0 : type
31
+ @bool_value = bool_value.nil? ? false : bool_value
32
+ @integer_value = integer_value.nil? ? 0 : integer_value
33
+ @double_value = double_value.nil? ? 0.0 : double_value
34
+ @string_value = string_value.nil? ? "" : string_value
35
+ @byte_array_value = byte_array_value.nil? ? "" : byte_array_value
36
+ @bool_array_value = bool_array_value.nil? ? [] : bool_array_value
37
+ @integer_array_value = integer_array_value.nil? ? [] : integer_array_value
38
+ @double_array_value = double_array_value.nil? ? [] : double_array_value
39
+ @string_array_value = string_array_value.nil? ? [] : string_array_value
40
+ end
41
+
42
+ def self.write(w, m)
43
+ w.uint8(m.type)
44
+ w.bool(m.bool_value)
45
+ w.int64(m.integer_value)
46
+ w.float64(m.double_value)
47
+ w.string(m.string_value)
48
+ w.bytes(m.byte_array_value, nil, nil)
49
+ w.array(:bool, m.bool_array_value, nil, nil)
50
+ w.array(:int64, m.integer_array_value, nil, nil)
51
+ w.array(:float64, m.double_array_value, nil, nil)
52
+ w.array(:string, m.string_array_value, nil, nil, nil)
53
+ end
54
+
55
+ def self.read(r)
56
+ m = new
57
+ m.type = r.uint8
58
+ m.bool_value = r.bool
59
+ m.integer_value = r.int64
60
+ m.double_value = r.float64
61
+ m.string_value = r.string
62
+ m.byte_array_value = r.bytes(nil)
63
+ m.bool_array_value = r.array(:bool, nil)
64
+ m.integer_array_value = r.array(:int64, nil)
65
+ m.double_array_value = r.array(:float64, nil)
66
+ m.string_array_value = r.array(:string, nil)
67
+ m
68
+ end
69
+ end
@@ -13,6 +13,24 @@ class ::Asterism::ROS::SensorMsgs::BatteryState < ::Asterism::ROS::Message
13
13
  TYPE_NAME = "sensor_msgs::msg::dds_::BatteryState_"
14
14
  TYPE_HASH = "RIHS01_4bee5dfce981c98faa6828b868307a0a73f992ed0789f374ee96c8f840e69741"
15
15
  FIELDS = [:header, :voltage, :temperature, :current, :charge, :capacity, :design_capacity, :percentage, :power_supply_status, :power_supply_health, :power_supply_technology, :present, :cell_voltage, :cell_temperature, :location, :serial_number]
16
+ FIELD_TYPES = [
17
+ ["header", "std_msgs/msg/Header", "scalar", "std_msgs/msg/Header", nil, nil],
18
+ ["voltage", "float32", "scalar", nil, nil, nil],
19
+ ["temperature", "float32", "scalar", nil, nil, nil],
20
+ ["current", "float32", "scalar", nil, nil, nil],
21
+ ["charge", "float32", "scalar", nil, nil, nil],
22
+ ["capacity", "float32", "scalar", nil, nil, nil],
23
+ ["design_capacity", "float32", "scalar", nil, nil, nil],
24
+ ["percentage", "float32", "scalar", nil, nil, nil],
25
+ ["power_supply_status", "uint8", "scalar", nil, nil, nil],
26
+ ["power_supply_health", "uint8", "scalar", nil, nil, nil],
27
+ ["power_supply_technology", "uint8", "scalar", nil, nil, nil],
28
+ ["present", "bool", "scalar", nil, nil, nil],
29
+ ["cell_voltage", "float32", "sequence", nil, nil, nil],
30
+ ["cell_temperature", "float32", "sequence", nil, nil, nil],
31
+ ["location", "string", "scalar", nil, nil, nil],
32
+ ["serial_number", "string", "scalar", nil, nil, nil]
33
+ ]
16
34
  POWER_SUPPLY_STATUS_UNKNOWN = 0
17
35
  POWER_SUPPLY_STATUS_CHARGING = 1
18
36
  POWER_SUPPLY_STATUS_DISCHARGING = 2
@@ -0,0 +1,43 @@
1
+ # sensor_msgs/msg/CompressedImage (ROS 2 jazzy), generated by asterism_msggen.rb from
2
+ # CompressedImage.msg of the package sensor_msgs.
3
+ # License: Apache License 2.0, as the definition (package.xml of sensor_msgs).
4
+ # Do not edit; regenerate instead.
5
+
6
+ ::Asterism::ROS.require_type("std_msgs/msg/Header")
7
+
8
+ module ::Asterism::ROS::SensorMsgs
9
+ end
10
+
11
+ class ::Asterism::ROS::SensorMsgs::CompressedImage < ::Asterism::ROS::Message
12
+ ROS_NAME = "sensor_msgs/msg/CompressedImage"
13
+ TYPE_NAME = "sensor_msgs::msg::dds_::CompressedImage_"
14
+ TYPE_HASH = "RIHS01_15640771531571185e2efc8a100baf923961a4d15d5569652e6cb6691e8e371a"
15
+ FIELDS = [:header, :format, :data]
16
+ FIELD_TYPES = [
17
+ ["header", "std_msgs/msg/Header", "scalar", "std_msgs/msg/Header", nil, nil],
18
+ ["format", "string", "scalar", nil, nil, nil],
19
+ ["data", "uint8", "sequence", nil, nil, nil]
20
+ ]
21
+
22
+ attr_accessor :header, :format, :data
23
+
24
+ def initialize(header: nil, format: nil, data: nil)
25
+ @header = ::Asterism::ROS::StdMsgs::Header.from(header)
26
+ @format = format.nil? ? "" : format
27
+ @data = data.nil? ? "" : data
28
+ end
29
+
30
+ def self.write(w, m)
31
+ ::Asterism::ROS::StdMsgs::Header.write(w, ::Asterism::ROS::StdMsgs::Header.from(m.header))
32
+ w.string(m.format)
33
+ w.bytes(m.data, nil, nil)
34
+ end
35
+
36
+ def self.read(r)
37
+ m = new
38
+ m.header = ::Asterism::ROS::StdMsgs::Header.read(r)
39
+ m.format = r.string
40
+ m.data = r.bytes(nil)
41
+ m
42
+ end
43
+ end
@@ -13,6 +13,11 @@ class ::Asterism::ROS::SensorMsgs::FluidPressure < ::Asterism::ROS::Message
13
13
  TYPE_NAME = "sensor_msgs::msg::dds_::FluidPressure_"
14
14
  TYPE_HASH = "RIHS01_22dfb2b145a0bd5a31a1ac3882a1b32148b51d9b2f3bab250290d66f3595bc32"
15
15
  FIELDS = [:header, :fluid_pressure, :variance]
16
+ FIELD_TYPES = [
17
+ ["header", "std_msgs/msg/Header", "scalar", "std_msgs/msg/Header", nil, nil],
18
+ ["fluid_pressure", "float64", "scalar", nil, nil, nil],
19
+ ["variance", "float64", "scalar", nil, nil, nil]
20
+ ]
16
21
 
17
22
  attr_accessor :header, :fluid_pressure, :variance
18
23
 
@@ -13,6 +13,11 @@ class ::Asterism::ROS::SensorMsgs::Illuminance < ::Asterism::ROS::Message
13
13
  TYPE_NAME = "sensor_msgs::msg::dds_::Illuminance_"
14
14
  TYPE_HASH = "RIHS01_b954b25f452fcf81a91c9c2a7e3b3fd85c4c873d452aecb3cfd8fd1da732a22d"
15
15
  FIELDS = [:header, :illuminance, :variance]
16
+ FIELD_TYPES = [
17
+ ["header", "std_msgs/msg/Header", "scalar", "std_msgs/msg/Header", nil, nil],
18
+ ["illuminance", "float64", "scalar", nil, nil, nil],
19
+ ["variance", "float64", "scalar", nil, nil, nil]
20
+ ]
16
21
 
17
22
  attr_accessor :header, :illuminance, :variance
18
23
 
@@ -15,6 +15,15 @@ class ::Asterism::ROS::SensorMsgs::Imu < ::Asterism::ROS::Message
15
15
  TYPE_NAME = "sensor_msgs::msg::dds_::Imu_"
16
16
  TYPE_HASH = "RIHS01_7d9a00ff131080897a5ec7e26e315954b8eae3353c3f995c55faf71574000b5b"
17
17
  FIELDS = [:header, :orientation, :orientation_covariance, :angular_velocity, :angular_velocity_covariance, :linear_acceleration, :linear_acceleration_covariance]
18
+ FIELD_TYPES = [
19
+ ["header", "std_msgs/msg/Header", "scalar", "std_msgs/msg/Header", nil, nil],
20
+ ["orientation", "geometry_msgs/msg/Quaternion", "scalar", "geometry_msgs/msg/Quaternion", nil, nil],
21
+ ["orientation_covariance", "float64", "array", nil, 9, nil],
22
+ ["angular_velocity", "geometry_msgs/msg/Vector3", "scalar", "geometry_msgs/msg/Vector3", nil, nil],
23
+ ["angular_velocity_covariance", "float64", "array", nil, 9, nil],
24
+ ["linear_acceleration", "geometry_msgs/msg/Vector3", "scalar", "geometry_msgs/msg/Vector3", nil, nil],
25
+ ["linear_acceleration_covariance", "float64", "array", nil, 9, nil]
26
+ ]
18
27
 
19
28
  attr_accessor :header, :orientation, :orientation_covariance, :angular_velocity, :angular_velocity_covariance, :linear_acceleration, :linear_acceleration_covariance
20
29
 
@@ -13,6 +13,13 @@ class ::Asterism::ROS::SensorMsgs::JointState < ::Asterism::ROS::Message
13
13
  TYPE_NAME = "sensor_msgs::msg::dds_::JointState_"
14
14
  TYPE_HASH = "RIHS01_a13ee3a330e346c9d87b5aa18d24e11690752bd33a0350f11c5882bc9179260e"
15
15
  FIELDS = [:header, :name, :position, :velocity, :effort]
16
+ FIELD_TYPES = [
17
+ ["header", "std_msgs/msg/Header", "scalar", "std_msgs/msg/Header", nil, nil],
18
+ ["name", "string", "sequence", nil, nil, nil],
19
+ ["position", "float64", "sequence", nil, nil, nil],
20
+ ["velocity", "float64", "sequence", nil, nil, nil],
21
+ ["effort", "float64", "sequence", nil, nil, nil]
22
+ ]
16
23
 
17
24
  attr_accessor :header, :name, :position, :velocity, :effort
18
25
 
@@ -0,0 +1,71 @@
1
+ # sensor_msgs/msg/LaserScan (ROS 2 jazzy), generated by asterism_msggen.rb from
2
+ # LaserScan.msg of the package sensor_msgs.
3
+ # License: Apache License 2.0, as the definition (package.xml of sensor_msgs).
4
+ # Do not edit; regenerate instead.
5
+
6
+ ::Asterism::ROS.require_type("std_msgs/msg/Header")
7
+
8
+ module ::Asterism::ROS::SensorMsgs
9
+ end
10
+
11
+ class ::Asterism::ROS::SensorMsgs::LaserScan < ::Asterism::ROS::Message
12
+ ROS_NAME = "sensor_msgs/msg/LaserScan"
13
+ TYPE_NAME = "sensor_msgs::msg::dds_::LaserScan_"
14
+ TYPE_HASH = "RIHS01_64c191398013af96509d518dac71d5164f9382553fce5c1f8cca5be7924bd828"
15
+ FIELDS = [:header, :angle_min, :angle_max, :angle_increment, :time_increment, :scan_time, :range_min, :range_max, :ranges, :intensities]
16
+ FIELD_TYPES = [
17
+ ["header", "std_msgs/msg/Header", "scalar", "std_msgs/msg/Header", nil, nil],
18
+ ["angle_min", "float32", "scalar", nil, nil, nil],
19
+ ["angle_max", "float32", "scalar", nil, nil, nil],
20
+ ["angle_increment", "float32", "scalar", nil, nil, nil],
21
+ ["time_increment", "float32", "scalar", nil, nil, nil],
22
+ ["scan_time", "float32", "scalar", nil, nil, nil],
23
+ ["range_min", "float32", "scalar", nil, nil, nil],
24
+ ["range_max", "float32", "scalar", nil, nil, nil],
25
+ ["ranges", "float32", "sequence", nil, nil, nil],
26
+ ["intensities", "float32", "sequence", nil, nil, nil]
27
+ ]
28
+
29
+ attr_accessor :header, :angle_min, :angle_max, :angle_increment, :time_increment, :scan_time, :range_min, :range_max, :ranges, :intensities
30
+
31
+ def initialize(header: nil, angle_min: nil, angle_max: nil, angle_increment: nil, time_increment: nil, scan_time: nil, range_min: nil, range_max: nil, ranges: nil, intensities: nil)
32
+ @header = ::Asterism::ROS::StdMsgs::Header.from(header)
33
+ @angle_min = angle_min.nil? ? 0.0 : angle_min
34
+ @angle_max = angle_max.nil? ? 0.0 : angle_max
35
+ @angle_increment = angle_increment.nil? ? 0.0 : angle_increment
36
+ @time_increment = time_increment.nil? ? 0.0 : time_increment
37
+ @scan_time = scan_time.nil? ? 0.0 : scan_time
38
+ @range_min = range_min.nil? ? 0.0 : range_min
39
+ @range_max = range_max.nil? ? 0.0 : range_max
40
+ @ranges = ranges.nil? ? [] : ranges
41
+ @intensities = intensities.nil? ? [] : intensities
42
+ end
43
+
44
+ def self.write(w, m)
45
+ ::Asterism::ROS::StdMsgs::Header.write(w, ::Asterism::ROS::StdMsgs::Header.from(m.header))
46
+ w.float32(m.angle_min)
47
+ w.float32(m.angle_max)
48
+ w.float32(m.angle_increment)
49
+ w.float32(m.time_increment)
50
+ w.float32(m.scan_time)
51
+ w.float32(m.range_min)
52
+ w.float32(m.range_max)
53
+ w.array(:float32, m.ranges, nil, nil)
54
+ w.array(:float32, m.intensities, nil, nil)
55
+ end
56
+
57
+ def self.read(r)
58
+ m = new
59
+ m.header = ::Asterism::ROS::StdMsgs::Header.read(r)
60
+ m.angle_min = r.float32
61
+ m.angle_max = r.float32
62
+ m.angle_increment = r.float32
63
+ m.time_increment = r.float32
64
+ m.scan_time = r.float32
65
+ m.range_min = r.float32
66
+ m.range_max = r.float32
67
+ m.ranges = r.array(:float32, nil)
68
+ m.intensities = r.array(:float32, nil)
69
+ m
70
+ end
71
+ end
@@ -14,6 +14,11 @@ class ::Asterism::ROS::SensorMsgs::MagneticField < ::Asterism::ROS::Message
14
14
  TYPE_NAME = "sensor_msgs::msg::dds_::MagneticField_"
15
15
  TYPE_HASH = "RIHS01_e80f32f56a20486c9923008fc1a1db07bbb273cbbf6a5b3bfa00835ee00e4dff"
16
16
  FIELDS = [:header, :magnetic_field, :magnetic_field_covariance]
17
+ FIELD_TYPES = [
18
+ ["header", "std_msgs/msg/Header", "scalar", "std_msgs/msg/Header", nil, nil],
19
+ ["magnetic_field", "geometry_msgs/msg/Vector3", "scalar", "geometry_msgs/msg/Vector3", nil, nil],
20
+ ["magnetic_field_covariance", "float64", "array", nil, 9, nil]
21
+ ]
17
22
 
18
23
  attr_accessor :header, :magnetic_field, :magnetic_field_covariance
19
24
 
@@ -14,6 +14,15 @@ class ::Asterism::ROS::SensorMsgs::NavSatFix < ::Asterism::ROS::Message
14
14
  TYPE_NAME = "sensor_msgs::msg::dds_::NavSatFix_"
15
15
  TYPE_HASH = "RIHS01_62223ab3fe210a15976021da7afddc9e200dc9ec75231c1b6a557fc598a65404"
16
16
  FIELDS = [:header, :status, :latitude, :longitude, :altitude, :position_covariance, :position_covariance_type]
17
+ FIELD_TYPES = [
18
+ ["header", "std_msgs/msg/Header", "scalar", "std_msgs/msg/Header", nil, nil],
19
+ ["status", "sensor_msgs/msg/NavSatStatus", "scalar", "sensor_msgs/msg/NavSatStatus", nil, nil],
20
+ ["latitude", "float64", "scalar", nil, nil, nil],
21
+ ["longitude", "float64", "scalar", nil, nil, nil],
22
+ ["altitude", "float64", "scalar", nil, nil, nil],
23
+ ["position_covariance", "float64", "array", nil, 9, nil],
24
+ ["position_covariance_type", "uint8", "scalar", nil, nil, nil]
25
+ ]
17
26
  COVARIANCE_TYPE_UNKNOWN = 0
18
27
  COVARIANCE_TYPE_APPROXIMATED = 1
19
28
  COVARIANCE_TYPE_DIAGONAL_KNOWN = 2
@@ -11,6 +11,10 @@ class ::Asterism::ROS::SensorMsgs::NavSatStatus < ::Asterism::ROS::Message
11
11
  TYPE_NAME = "sensor_msgs::msg::dds_::NavSatStatus_"
12
12
  TYPE_HASH = "RIHS01_d1ed3befa628e09571bd273b888ba1c1fd187c9a5e0006b385d7e5e9095a3204"
13
13
  FIELDS = [:status, :service]
14
+ FIELD_TYPES = [
15
+ ["status", "int8", "scalar", nil, nil, nil],
16
+ ["service", "uint16", "scalar", nil, nil, nil]
17
+ ]
14
18
  STATUS_UNKNOWN = -2
15
19
  STATUS_NO_FIX = -1
16
20
  STATUS_FIX = 0
@@ -0,0 +1,68 @@
1
+ # sensor_msgs/msg/PointCloud2 (ROS 2 jazzy), generated by asterism_msggen.rb from
2
+ # PointCloud2.msg of the package sensor_msgs.
3
+ # License: Apache License 2.0, as the definition (package.xml of sensor_msgs).
4
+ # Do not edit; regenerate instead.
5
+
6
+ ::Asterism::ROS.require_type("sensor_msgs/msg/PointField")
7
+ ::Asterism::ROS.require_type("std_msgs/msg/Header")
8
+
9
+ module ::Asterism::ROS::SensorMsgs
10
+ end
11
+
12
+ class ::Asterism::ROS::SensorMsgs::PointCloud2 < ::Asterism::ROS::Message
13
+ ROS_NAME = "sensor_msgs/msg/PointCloud2"
14
+ TYPE_NAME = "sensor_msgs::msg::dds_::PointCloud2_"
15
+ TYPE_HASH = "RIHS01_9198cabf7da3796ae6fe19c4cb3bdd3525492988c70522628af5daa124bae2b5"
16
+ FIELDS = [:header, :height, :width, :fields, :is_bigendian, :point_step, :row_step, :data, :is_dense]
17
+ FIELD_TYPES = [
18
+ ["header", "std_msgs/msg/Header", "scalar", "std_msgs/msg/Header", nil, nil],
19
+ ["height", "uint32", "scalar", nil, nil, nil],
20
+ ["width", "uint32", "scalar", nil, nil, nil],
21
+ ["fields", "sensor_msgs/msg/PointField", "sequence", "sensor_msgs/msg/PointField", nil, nil],
22
+ ["is_bigendian", "bool", "scalar", nil, nil, nil],
23
+ ["point_step", "uint32", "scalar", nil, nil, nil],
24
+ ["row_step", "uint32", "scalar", nil, nil, nil],
25
+ ["data", "uint8", "sequence", nil, nil, nil],
26
+ ["is_dense", "bool", "scalar", nil, nil, nil]
27
+ ]
28
+
29
+ attr_accessor :header, :height, :width, :fields, :is_bigendian, :point_step, :row_step, :data, :is_dense
30
+
31
+ def initialize(header: nil, height: nil, width: nil, fields: nil, is_bigendian: nil, point_step: nil, row_step: nil, data: nil, is_dense: nil)
32
+ @header = ::Asterism::ROS::StdMsgs::Header.from(header)
33
+ @height = height.nil? ? 0 : height
34
+ @width = width.nil? ? 0 : width
35
+ @fields = fields.nil? ? [] : fields.map { |e| ::Asterism::ROS::SensorMsgs::PointField.from(e) }
36
+ @is_bigendian = is_bigendian.nil? ? false : is_bigendian
37
+ @point_step = point_step.nil? ? 0 : point_step
38
+ @row_step = row_step.nil? ? 0 : row_step
39
+ @data = data.nil? ? "" : data
40
+ @is_dense = is_dense.nil? ? false : is_dense
41
+ end
42
+
43
+ def self.write(w, m)
44
+ ::Asterism::ROS::StdMsgs::Header.write(w, ::Asterism::ROS::StdMsgs::Header.from(m.header))
45
+ w.uint32(m.height)
46
+ w.uint32(m.width)
47
+ w.structs(::Asterism::ROS::SensorMsgs::PointField, m.fields, nil, nil)
48
+ w.bool(m.is_bigendian)
49
+ w.uint32(m.point_step)
50
+ w.uint32(m.row_step)
51
+ w.bytes(m.data, nil, nil)
52
+ w.bool(m.is_dense)
53
+ end
54
+
55
+ def self.read(r)
56
+ m = new
57
+ m.header = ::Asterism::ROS::StdMsgs::Header.read(r)
58
+ m.height = r.uint32
59
+ m.width = r.uint32
60
+ m.fields = r.structs(::Asterism::ROS::SensorMsgs::PointField, nil)
61
+ m.is_bigendian = r.bool
62
+ m.point_step = r.uint32
63
+ m.row_step = r.uint32
64
+ m.data = r.bytes(nil)
65
+ m.is_dense = r.bool
66
+ m
67
+ end
68
+ end