spatialdds-ros 0.3.0__py3-none-any.whl

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 (87) hide show
  1. spatialdds_idl18/PROVENANCE.md +66 -0
  2. spatialdds_idl18/__init__.py +9 -0
  3. spatialdds_idl18/_field_aliases.py +26 -0
  4. spatialdds_idl18/builtin/__init__.py +11 -0
  5. spatialdds_idl18/builtin/_types.py +28 -0
  6. spatialdds_idl18/spatial/__init__.py +33 -0
  7. spatialdds_idl18/spatial/anchors/__init__.py +20 -0
  8. spatialdds_idl18/spatial/anchors/_anchors.py +102 -0
  9. spatialdds_idl18/spatial/argeo/__init__.py +22 -0
  10. spatialdds_idl18/spatial/argeo/_argeo.py +97 -0
  11. spatialdds_idl18/spatial/common/__init__.py +27 -0
  12. spatialdds_idl18/spatial/common/_types.py +104 -0
  13. spatialdds_idl18/spatial/core/GnssService/__init__.py +17 -0
  14. spatialdds_idl18/spatial/core/GnssService/_core.py +27 -0
  15. spatialdds_idl18/spatial/core/__init__.py +40 -0
  16. spatialdds_idl18/spatial/core/_core.py +338 -0
  17. spatialdds_idl18/spatial/disco/__init__.py +34 -0
  18. spatialdds_idl18/spatial/disco/_discovery.py +252 -0
  19. spatialdds_idl18/spatial/events/__init__.py +29 -0
  20. spatialdds_idl18/spatial/events/_events.py +164 -0
  21. spatialdds_idl18/spatial/events/enums/__init__.py +19 -0
  22. spatialdds_idl18/spatial/events/enums/crossing_direction_enum/__init__.py +11 -0
  23. spatialdds_idl18/spatial/events/enums/crossing_direction_enum/_events.py +25 -0
  24. spatialdds_idl18/spatial/events/enums/event_state_enum/__init__.py +11 -0
  25. spatialdds_idl18/spatial/events/enums/event_state_enum/_events.py +26 -0
  26. spatialdds_idl18/spatial/events/enums/event_type_enum/__init__.py +11 -0
  27. spatialdds_idl18/spatial/events/enums/event_type_enum/_events.py +36 -0
  28. spatialdds_idl18/spatial/events/enums/severity_enum/__init__.py +11 -0
  29. spatialdds_idl18/spatial/events/enums/severity_enum/_events.py +26 -0
  30. spatialdds_idl18/spatial/events/enums/zone_kind_enum/__init__.py +11 -0
  31. spatialdds_idl18/spatial/events/enums/zone_kind_enum/_events.py +31 -0
  32. spatialdds_idl18/spatial/mapping/__init__.py +30 -0
  33. spatialdds_idl18/spatial/mapping/_mapping.py +168 -0
  34. spatialdds_idl18/spatial/mapping/enums/__init__.py +19 -0
  35. spatialdds_idl18/spatial/mapping/enums/alignment_method/__init__.py +11 -0
  36. spatialdds_idl18/spatial/mapping/enums/alignment_method/_mapping.py +31 -0
  37. spatialdds_idl18/spatial/mapping/enums/edge_type/__init__.py +11 -0
  38. spatialdds_idl18/spatial/mapping/enums/edge_type/_mapping.py +34 -0
  39. spatialdds_idl18/spatial/mapping/enums/map_event_kind/__init__.py +11 -0
  40. spatialdds_idl18/spatial/mapping/enums/map_event_kind/_mapping.py +29 -0
  41. spatialdds_idl18/spatial/mapping/enums/map_kind/__init__.py +11 -0
  42. spatialdds_idl18/spatial/mapping/enums/map_kind/_mapping.py +32 -0
  43. spatialdds_idl18/spatial/mapping/enums/map_status/__init__.py +11 -0
  44. spatialdds_idl18/spatial/mapping/enums/map_status/_mapping.py +27 -0
  45. spatialdds_idl18/spatial/owm/__init__.py +22 -0
  46. spatialdds_idl18/spatial/owm/_owm.py +103 -0
  47. spatialdds_idl18/spatial/semantics/__init__.py +22 -0
  48. spatialdds_idl18/spatial/semantics/_semantics.py +174 -0
  49. spatialdds_idl18/spatial/sensing/__init__.py +21 -0
  50. spatialdds_idl18/spatial/sensing/common/__init__.py +34 -0
  51. spatialdds_idl18/spatial/sensing/common/_common.py +192 -0
  52. spatialdds_idl18/spatial/sensing/lidar/__init__.py +32 -0
  53. spatialdds_idl18/spatial/sensing/lidar/_lidar.py +135 -0
  54. spatialdds_idl18/spatial/sensing/rad/__init__.py +33 -0
  55. spatialdds_idl18/spatial/sensing/rad/_rad.py +191 -0
  56. spatialdds_idl18/spatial/sensing/radio/__init__.py +22 -0
  57. spatialdds_idl18/spatial/sensing/radio/_radio.py +141 -0
  58. spatialdds_idl18/spatial/sensing/rf_beam/__init__.py +25 -0
  59. spatialdds_idl18/spatial/sensing/rf_beam/_rf_beam.py +117 -0
  60. spatialdds_idl18/spatial/sensing/vision/__init__.py +36 -0
  61. spatialdds_idl18/spatial/sensing/vision/_vision.py +170 -0
  62. spatialdds_idl18/spatial/slam_frontend/__init__.py +22 -0
  63. spatialdds_idl18/spatial/slam_frontend/_slam_frontend.py +144 -0
  64. spatialdds_idl18/spatial/vio/__init__.py +20 -0
  65. spatialdds_idl18/spatial/vio/_vio.py +134 -0
  66. spatialdds_ros/__init__.py +6 -0
  67. spatialdds_ros/adapter.py +336 -0
  68. spatialdds_ros/announce.py +231 -0
  69. spatialdds_ros/config.py +293 -0
  70. spatialdds_ros/frames.py +219 -0
  71. spatialdds_ros/kinematic.py +140 -0
  72. spatialdds_ros/qos.py +101 -0
  73. spatialdds_ros/recording.py +167 -0
  74. spatialdds_ros/robot_node.py +287 -0
  75. spatialdds_ros/standalone.py +221 -0
  76. spatialdds_ros/tempo.py +114 -0
  77. spatialdds_ros/topics.py +64 -0
  78. spatialdds_ros/transport.py +170 -0
  79. spatialdds_ros-0.3.0.data/data/share/ament_index/resource_index/packages/spatialdds_ros +0 -0
  80. spatialdds_ros-0.3.0.data/data/share/spatialdds_ros/package.xml +29 -0
  81. spatialdds_ros-0.3.0.dist-info/METADATA +331 -0
  82. spatialdds_ros-0.3.0.dist-info/RECORD +87 -0
  83. spatialdds_ros-0.3.0.dist-info/WHEEL +5 -0
  84. spatialdds_ros-0.3.0.dist-info/entry_points.txt +3 -0
  85. spatialdds_ros-0.3.0.dist-info/licenses/LICENSE +21 -0
  86. spatialdds_ros-0.3.0.dist-info/top_level.txt +2 -0
  87. spatialdds_ros-0.3.0.dist-info/zip-safe +1 -0
@@ -0,0 +1,192 @@
1
+ """
2
+ Generated by Eclipse Cyclone DDS idlc Python Backend
3
+ Cyclone DDS IDL version: v11.0.1
4
+ Module: spatial.sensing.common
5
+ IDL file: common.idl
6
+
7
+ """
8
+
9
+ from dataclasses import dataclass
10
+ from enum import auto
11
+ from typing import TYPE_CHECKING, Optional
12
+
13
+ import cyclonedds.idl as idl
14
+ import cyclonedds.idl.annotations as annotate
15
+ import cyclonedds.idl.types as types
16
+
17
+ # root module import for resolving types
18
+ # generate_types.py: bind the root name the dotted
19
+ # annotations below already use, so get_type_hints works
20
+ import spatialdds_idl18
21
+ from spatialdds_idl18 import spatial
22
+
23
+ if TYPE_CHECKING:
24
+ import builtin
25
+ import spatial.common
26
+ import spatial.core
27
+
28
+
29
+ MODULE_ID = "spatial.sensing.common/1.8"
30
+ SZ_TINY = 64
31
+ SZ_SMALL = 256
32
+ SZ_MEDIUM = 2048
33
+ SZ_LARGE = 8192
34
+ SZ_XL = 32768
35
+ Time = types.typedef['spatialdds_idl18.spatial.sensing.common.Time', 'spatialdds_idl18.builtin.Time']
36
+ PoseSE3 = types.typedef['spatialdds_idl18.spatial.sensing.common.PoseSE3', 'spatialdds_idl18.spatial.core.PoseSE3']
37
+ BlobRef = types.typedef['spatialdds_idl18.spatial.sensing.common.BlobRef', 'spatialdds_idl18.spatial.core.BlobRef']
38
+ FrameRef = types.typedef['spatialdds_idl18.spatial.sensing.common.FrameRef', 'spatialdds_idl18.spatial.common.FrameRef']
39
+ @annotate.final
40
+ class AxisEncoding(idl.IdlEnum, typename="spatial.sensing.common.AxisEncoding", default="AXIS_CENTERS"):
41
+ AXIS_CENTERS = 0
42
+ AXIS_LINSPACE = 1
43
+
44
+ @dataclass
45
+ @annotate.appendable
46
+ @annotate.autoid("sequential")
47
+ class Linspace(idl.IdlStruct, typename="spatial.sensing.common.Linspace"):
48
+ start: types.float64
49
+ step: types.float64
50
+ count: types.uint32
51
+
52
+
53
+
54
+ @annotate.appendable
55
+ class AxisSpec(idl.IdlUnion, discriminator=AxisEncoding, discriminator_is_key=False, typename="spatial.sensing.common.AxisSpec"):
56
+ centers: types.case[[AxisEncoding.AXIS_CENTERS], types.sequence[types.float64, 65535]]
57
+ lin: types.case[[AxisEncoding.AXIS_LINSPACE], 'spatialdds_idl18.spatial.sensing.common.Linspace']
58
+
59
+
60
+ @dataclass
61
+ @annotate.appendable
62
+ @annotate.autoid("sequential")
63
+ class Axis(idl.IdlStruct, typename="spatial.sensing.common.Axis"):
64
+ name: str
65
+ unit: str
66
+ spec: 'spatialdds_idl18.spatial.sensing.common.AxisSpec'
67
+
68
+
69
+ @dataclass
70
+ @annotate.appendable
71
+ @annotate.autoid("sequential")
72
+ class ROI(idl.IdlStruct, typename="spatial.sensing.common.ROI"):
73
+ has_range: bool
74
+ range_min: types.float32
75
+ range_max: types.float32
76
+ has_azimuth: bool
77
+ az_min: types.float32
78
+ az_max: types.float32
79
+ has_elevation: bool
80
+ el_min: types.float32
81
+ el_max: types.float32
82
+ has_doppler: bool
83
+ dop_min: types.float32
84
+ dop_max: types.float32
85
+ has_image_roi: bool
86
+ u_min: types.int32
87
+ v_min: types.int32
88
+ u_max: types.int32
89
+ v_max: types.int32
90
+ _global: bool
91
+
92
+ @annotate.final
93
+ class Codec(idl.IdlEnum, typename="spatial.sensing.common.Codec", default="CODEC_NONE"):
94
+ CODEC_NONE = 0
95
+ LZ4 = 1
96
+ ZSTD = 2
97
+ GZIP = 3
98
+ DRACO = 10
99
+ JPEG = 20
100
+ H264 = 21
101
+ H265 = 22
102
+ AV1 = 23
103
+ FP8Q = 40
104
+ FP4Q = 41
105
+ AE_V1 = 42
106
+ PNG = 43
107
+ @annotate.final
108
+ class PayloadKind(idl.IdlEnum, typename="spatial.sensing.common.PayloadKind", default="DENSE_TILES"):
109
+ DENSE_TILES = 0
110
+ SPARSE_COO = 1
111
+ LATENT = 2
112
+ BLOB_GEOMETRY = 10
113
+ BLOB_RASTER = 11
114
+ @annotate.final
115
+ class SampleType(idl.IdlEnum, typename="spatial.sensing.common.SampleType", default="U8_MAG"):
116
+ U8_MAG = 0
117
+ F16_MAG = 1
118
+ CF16 = 2
119
+ CF32 = 3
120
+ MAGPHASE_S8 = 4
121
+
122
+ @dataclass
123
+ @annotate.appendable
124
+ @annotate.autoid("sequential")
125
+ class StreamMeta(idl.IdlStruct, typename="spatial.sensing.common.StreamMeta"):
126
+ stream_id: str
127
+ annotate.key("stream_id")
128
+ frame_ref: 'spatialdds_idl18.spatial.sensing.common.FrameRef'
129
+ T_bus_sensor: 'spatialdds_idl18.spatial.sensing.common.PoseSE3'
130
+ nominal_rate_hz: types.float64
131
+ schema_version: str
132
+
133
+
134
+ @dataclass
135
+ @annotate.appendable
136
+ @annotate.autoid("sequential")
137
+ class FrameHeader(idl.IdlStruct, typename="spatial.sensing.common.FrameHeader"):
138
+ stream_id: str
139
+ annotate.key("stream_id")
140
+ frame_seq: types.uint64
141
+ t_start: 'spatialdds_idl18.spatial.sensing.common.Time'
142
+ t_end: 'spatialdds_idl18.spatial.sensing.common.Time'
143
+ has_sensor_pose: bool
144
+ sensor_pose: 'spatialdds_idl18.spatial.sensing.common.PoseSE3'
145
+ blobs: types.sequence['spatialdds_idl18.spatial.sensing.common.BlobRef', 256]
146
+
147
+ @annotate.final
148
+ class Health(idl.IdlEnum, typename="spatial.sensing.common.Health", default="OK"):
149
+ OK = 0
150
+ DEGRADED = 1
151
+ ERROR = 2
152
+
153
+ @dataclass
154
+ @annotate.appendable
155
+ @annotate.autoid("sequential")
156
+ class FrameQuality(idl.IdlStruct, typename="spatial.sensing.common.FrameQuality"):
157
+ has_snr_db: bool
158
+ snr_db: types.float32
159
+ percent_valid: types.float32
160
+ health: 'spatialdds_idl18.spatial.sensing.common.Health'
161
+ note: str
162
+
163
+
164
+ @dataclass
165
+ @annotate.appendable
166
+ @annotate.autoid("sequential")
167
+ class ROIRequest(idl.IdlStruct, typename="spatial.sensing.common.ROIRequest"):
168
+ stream_id: str
169
+ annotate.key("stream_id")
170
+ request_id: types.uint64
171
+ t_start: 'spatialdds_idl18.spatial.sensing.common.Time'
172
+ t_end: 'spatialdds_idl18.spatial.sensing.common.Time'
173
+ roi: 'spatialdds_idl18.spatial.sensing.common.ROI'
174
+ wants_payload_kind: bool
175
+ desired_payload_kind: 'spatialdds_idl18.spatial.sensing.common.PayloadKind'
176
+ wants_codec: bool
177
+ desired_codec: 'spatialdds_idl18.spatial.sensing.common.Codec'
178
+ wants_sample_type: bool
179
+ desired_sample_type: 'spatialdds_idl18.spatial.sensing.common.SampleType'
180
+ max_bytes: types.int32
181
+
182
+
183
+ @dataclass
184
+ @annotate.appendable
185
+ @annotate.autoid("sequential")
186
+ class ROIReply(idl.IdlStruct, typename="spatial.sensing.common.ROIReply"):
187
+ stream_id: str
188
+ annotate.key("stream_id")
189
+ request_id: types.uint64
190
+ frames: types.sequence['spatialdds_idl18.spatial.sensing.common.FrameHeader', 64]
191
+
192
+
@@ -0,0 +1,32 @@
1
+ """
2
+ Generated by Eclipse Cyclone DDS idlc Python Backend
3
+ Cyclone DDS IDL version: v11.0.1
4
+ Module: spatial.sensing.lidar
5
+
6
+ """
7
+
8
+ from ._lidar import Axis, BlobRef, CloudEncoding, Codec, FrameHeader, FrameQuality, FrameRef, LidarDetection, LidarDetectionSet, LidarFrame, LidarMeta, LidarType, MODULE_ID, PayloadKind, PointLayout, PoseSE3, ROI, ROIReply, ROIRequest, SampleType, StreamMeta, Time
9
+ __all__ = [
10
+ "Axis",
11
+ "BlobRef",
12
+ "CloudEncoding",
13
+ "Codec",
14
+ "FrameHeader",
15
+ "FrameQuality",
16
+ "FrameRef",
17
+ "LidarDetection",
18
+ "LidarDetectionSet",
19
+ "LidarFrame",
20
+ "LidarMeta",
21
+ "LidarType",
22
+ "MODULE_ID",
23
+ "PayloadKind",
24
+ "PointLayout",
25
+ "PoseSE3",
26
+ "ROI",
27
+ "ROIReply",
28
+ "ROIRequest",
29
+ "SampleType",
30
+ "StreamMeta",
31
+ "Time",
32
+ ]
@@ -0,0 +1,135 @@
1
+ """
2
+ Generated by Eclipse Cyclone DDS idlc Python Backend
3
+ Cyclone DDS IDL version: v11.0.1
4
+ Module: spatial.sensing.lidar
5
+ IDL file: lidar.idl
6
+
7
+ """
8
+
9
+ from dataclasses import dataclass
10
+ from enum import auto
11
+ from typing import TYPE_CHECKING, Optional
12
+
13
+ import cyclonedds.idl as idl
14
+ import cyclonedds.idl.annotations as annotate
15
+ import cyclonedds.idl.types as types
16
+
17
+ # root module import for resolving types
18
+ # generate_types.py: bind the root name the dotted
19
+ # annotations below already use, so get_type_hints works
20
+ import spatialdds_idl18
21
+ from spatialdds_idl18 import spatial
22
+
23
+ if TYPE_CHECKING:
24
+ import builtin
25
+ import spatial.common
26
+ import spatial.core
27
+ import spatial.sensing.common
28
+
29
+
30
+ MODULE_ID = "spatial.sensing.lidar/1.8"
31
+ Time = types.typedef['spatialdds_idl18.spatial.sensing.lidar.Time', 'spatialdds_idl18.builtin.Time']
32
+ PoseSE3 = types.typedef['spatialdds_idl18.spatial.sensing.lidar.PoseSE3', 'spatialdds_idl18.spatial.core.PoseSE3']
33
+ BlobRef = types.typedef['spatialdds_idl18.spatial.sensing.lidar.BlobRef', 'spatialdds_idl18.spatial.core.BlobRef']
34
+ FrameRef = types.typedef['spatialdds_idl18.spatial.sensing.lidar.FrameRef', 'spatialdds_idl18.spatial.common.FrameRef']
35
+ Codec = types.typedef['spatialdds_idl18.spatial.sensing.lidar.Codec', 'spatialdds_idl18.spatial.sensing.common.Codec']
36
+ PayloadKind = types.typedef['spatialdds_idl18.spatial.sensing.lidar.PayloadKind', 'spatialdds_idl18.spatial.sensing.common.PayloadKind']
37
+ SampleType = types.typedef['spatialdds_idl18.spatial.sensing.lidar.SampleType', 'spatialdds_idl18.spatial.sensing.common.SampleType']
38
+ Axis = types.typedef['spatialdds_idl18.spatial.sensing.lidar.Axis', 'spatialdds_idl18.spatial.sensing.common.Axis']
39
+ ROI = types.typedef['spatialdds_idl18.spatial.sensing.lidar.ROI', 'spatialdds_idl18.spatial.sensing.common.ROI']
40
+ StreamMeta = types.typedef['spatialdds_idl18.spatial.sensing.lidar.StreamMeta', 'spatialdds_idl18.spatial.sensing.common.StreamMeta']
41
+ FrameHeader = types.typedef['spatialdds_idl18.spatial.sensing.lidar.FrameHeader', 'spatialdds_idl18.spatial.sensing.common.FrameHeader']
42
+ FrameQuality = types.typedef['spatialdds_idl18.spatial.sensing.lidar.FrameQuality', 'spatialdds_idl18.spatial.sensing.common.FrameQuality']
43
+ ROIRequest = types.typedef['spatialdds_idl18.spatial.sensing.lidar.ROIRequest', 'spatialdds_idl18.spatial.sensing.common.ROIRequest']
44
+ ROIReply = types.typedef['spatialdds_idl18.spatial.sensing.lidar.ROIReply', 'spatialdds_idl18.spatial.sensing.common.ROIReply']
45
+ @annotate.final
46
+ class LidarType(idl.IdlEnum, typename="spatial.sensing.lidar.LidarType", default="SPINNING_2D"):
47
+ SPINNING_2D = 0
48
+ MULTI_BEAM_3D = 1
49
+ SOLID_STATE = 2
50
+ @annotate.final
51
+ class CloudEncoding(idl.IdlEnum, typename="spatial.sensing.lidar.CloudEncoding", default="PCD"):
52
+ PCD = 0
53
+ PLY = 1
54
+ LAS = 2
55
+ LAZ = 3
56
+ BIN_INTERLEAVED = 4
57
+ GLTF_DRACO = 10
58
+ MPEG_PCC = 20
59
+ CUSTOM_BIN = 255
60
+ @annotate.final
61
+ class PointLayout(idl.IdlEnum, typename="spatial.sensing.lidar.PointLayout", default="XYZ_I"):
62
+ XYZ_I = 0
63
+ XYZ_I_R = 1
64
+ XYZ_I_R_N = 2
65
+ XYZ_I_R_T = 3
66
+ XYZ_I_R_T_N = 4
67
+
68
+ @dataclass
69
+ @annotate.appendable
70
+ @annotate.autoid("sequential")
71
+ class LidarMeta(idl.IdlStruct, typename="spatial.sensing.lidar.LidarMeta"):
72
+ stream_id: str
73
+ annotate.key("stream_id")
74
+ base: 'spatialdds_idl18.spatial.sensing.lidar.StreamMeta'
75
+ type: 'spatialdds_idl18.spatial.sensing.lidar.LidarType'
76
+ n_rings: types.uint16
77
+ has_range_limits: bool
78
+ min_range_m: types.float32
79
+ max_range_m: types.float32
80
+ has_horiz_fov: bool
81
+ horiz_fov_deg_min: types.float32
82
+ horiz_fov_deg_max: types.float32
83
+ has_vert_fov: bool
84
+ vert_fov_deg_min: types.float32
85
+ vert_fov_deg_max: types.float32
86
+ has_wavelength: bool
87
+ wavelength_nm: types.float32
88
+ encoding: 'spatialdds_idl18.spatial.sensing.lidar.CloudEncoding'
89
+ codec: 'spatialdds_idl18.spatial.sensing.lidar.Codec'
90
+ layout: 'spatialdds_idl18.spatial.sensing.lidar.PointLayout'
91
+ schema_version: str
92
+
93
+
94
+ @dataclass
95
+ @annotate.appendable
96
+ @annotate.autoid("sequential")
97
+ class LidarFrame(idl.IdlStruct, typename="spatial.sensing.lidar.LidarFrame"):
98
+ stream_id: str
99
+ annotate.key("stream_id")
100
+ frame_seq: types.uint64
101
+ hdr: 'spatialdds_idl18.spatial.sensing.lidar.FrameHeader'
102
+ encoding: 'spatialdds_idl18.spatial.sensing.lidar.CloudEncoding'
103
+ codec: 'spatialdds_idl18.spatial.sensing.lidar.Codec'
104
+ layout: 'spatialdds_idl18.spatial.sensing.lidar.PointLayout'
105
+ has_per_point_timestamps: bool
106
+ has_average_range_m: bool
107
+ average_range_m: types.float32
108
+ has_percent_valid: bool
109
+ percent_valid: types.float32
110
+ has_quality: bool
111
+ quality: 'spatialdds_idl18.spatial.sensing.lidar.FrameQuality'
112
+
113
+
114
+ @dataclass
115
+ @annotate.appendable
116
+ @annotate.autoid("sequential")
117
+ class LidarDetection(idl.IdlStruct, typename="spatial.sensing.lidar.LidarDetection"):
118
+ xyz_m: 'spatialdds_idl18.spatial.common.Vec3'
119
+ intensity: types.float32
120
+ ring: types.uint16
121
+ quality: types.float32
122
+
123
+
124
+ @dataclass
125
+ @annotate.appendable
126
+ @annotate.autoid("sequential")
127
+ class LidarDetectionSet(idl.IdlStruct, typename="spatial.sensing.lidar.LidarDetectionSet"):
128
+ stream_id: str
129
+ annotate.key("stream_id")
130
+ frame_seq: types.uint64
131
+ frame_ref: 'spatialdds_idl18.spatial.sensing.lidar.FrameRef'
132
+ dets: types.sequence['spatialdds_idl18.spatial.sensing.lidar.LidarDetection', 256]
133
+ stamp: 'spatialdds_idl18.spatial.sensing.lidar.Time'
134
+
135
+
@@ -0,0 +1,33 @@
1
+ """
2
+ Generated by Eclipse Cyclone DDS idlc Python Backend
3
+ Cyclone DDS IDL version: v11.0.1
4
+ Module: spatial.sensing.rad
5
+
6
+ """
7
+
8
+ from ._rad import Axis, BlobRef, Codec, FrameHeader, FrameQuality, FrameRef, MODULE_ID, PayloadKind, PoseSE3, ROI, ROIReply, ROIRequest, RadDetection, RadDetectionSet, RadDynProp, RadSensorMeta, RadSensorType, RadTensorFrame, RadTensorLayout, RadTensorMeta, SampleType, StreamMeta, Time
9
+ __all__ = [
10
+ "Axis",
11
+ "BlobRef",
12
+ "Codec",
13
+ "FrameHeader",
14
+ "FrameQuality",
15
+ "FrameRef",
16
+ "MODULE_ID",
17
+ "PayloadKind",
18
+ "PoseSE3",
19
+ "ROI",
20
+ "ROIReply",
21
+ "ROIRequest",
22
+ "RadDetection",
23
+ "RadDetectionSet",
24
+ "RadDynProp",
25
+ "RadSensorMeta",
26
+ "RadSensorType",
27
+ "RadTensorFrame",
28
+ "RadTensorLayout",
29
+ "RadTensorMeta",
30
+ "SampleType",
31
+ "StreamMeta",
32
+ "Time",
33
+ ]
@@ -0,0 +1,191 @@
1
+ """
2
+ Generated by Eclipse Cyclone DDS idlc Python Backend
3
+ Cyclone DDS IDL version: v11.0.1
4
+ Module: spatial.sensing.rad
5
+ IDL file: rad.idl
6
+
7
+ """
8
+
9
+ from dataclasses import dataclass
10
+ from enum import auto
11
+ from typing import TYPE_CHECKING, Optional
12
+
13
+ import cyclonedds.idl as idl
14
+ import cyclonedds.idl.annotations as annotate
15
+ import cyclonedds.idl.types as types
16
+
17
+ # root module import for resolving types
18
+ # generate_types.py: bind the root name the dotted
19
+ # annotations below already use, so get_type_hints works
20
+ import spatialdds_idl18
21
+ from spatialdds_idl18 import spatial
22
+
23
+ if TYPE_CHECKING:
24
+ import builtin
25
+ import spatial.common
26
+ import spatial.core
27
+ import spatial.sensing.common
28
+
29
+
30
+ MODULE_ID = "spatial.sensing.rad/1.8"
31
+ Time = types.typedef['spatialdds_idl18.spatial.sensing.rad.Time', 'spatialdds_idl18.builtin.Time']
32
+ PoseSE3 = types.typedef['spatialdds_idl18.spatial.sensing.rad.PoseSE3', 'spatialdds_idl18.spatial.core.PoseSE3']
33
+ BlobRef = types.typedef['spatialdds_idl18.spatial.sensing.rad.BlobRef', 'spatialdds_idl18.spatial.core.BlobRef']
34
+ FrameRef = types.typedef['spatialdds_idl18.spatial.sensing.rad.FrameRef', 'spatialdds_idl18.spatial.common.FrameRef']
35
+ Codec = types.typedef['spatialdds_idl18.spatial.sensing.rad.Codec', 'spatialdds_idl18.spatial.sensing.common.Codec']
36
+ StreamMeta = types.typedef['spatialdds_idl18.spatial.sensing.rad.StreamMeta', 'spatialdds_idl18.spatial.sensing.common.StreamMeta']
37
+ FrameHeader = types.typedef['spatialdds_idl18.spatial.sensing.rad.FrameHeader', 'spatialdds_idl18.spatial.sensing.common.FrameHeader']
38
+ FrameQuality = types.typedef['spatialdds_idl18.spatial.sensing.rad.FrameQuality', 'spatialdds_idl18.spatial.sensing.common.FrameQuality']
39
+ Axis = types.typedef['spatialdds_idl18.spatial.sensing.rad.Axis', 'spatialdds_idl18.spatial.sensing.common.Axis']
40
+ SampleType = types.typedef['spatialdds_idl18.spatial.sensing.rad.SampleType', 'spatialdds_idl18.spatial.sensing.common.SampleType']
41
+ PayloadKind = types.typedef['spatialdds_idl18.spatial.sensing.rad.PayloadKind', 'spatialdds_idl18.spatial.sensing.common.PayloadKind']
42
+ ROI = types.typedef['spatialdds_idl18.spatial.sensing.rad.ROI', 'spatialdds_idl18.spatial.sensing.common.ROI']
43
+ ROIRequest = types.typedef['spatialdds_idl18.spatial.sensing.rad.ROIRequest', 'spatialdds_idl18.spatial.sensing.common.ROIRequest']
44
+ ROIReply = types.typedef['spatialdds_idl18.spatial.sensing.rad.ROIReply', 'spatialdds_idl18.spatial.sensing.common.ROIReply']
45
+ @annotate.final
46
+ class RadSensorType(idl.IdlEnum, typename="spatial.sensing.rad.RadSensorType", default="SHORT_RANGE"):
47
+ SHORT_RANGE = 0
48
+ MEDIUM_RANGE = 1
49
+ LONG_RANGE = 2
50
+ IMAGING_4D = 3
51
+ SAR = 4
52
+ OTHER = 255
53
+ @annotate.final
54
+ class RadDynProp(idl.IdlEnum, typename="spatial.sensing.rad.RadDynProp", default="UNKNOWN"):
55
+ UNKNOWN = 0
56
+ MOVING = 1
57
+ STATIONARY = 2
58
+ ONCOMING = 3
59
+ CROSSING_LEFT = 4
60
+ CROSSING_RIGHT = 5
61
+ STOPPED = 6
62
+
63
+ @dataclass
64
+ @annotate.appendable
65
+ @annotate.autoid("sequential")
66
+ class RadSensorMeta(idl.IdlStruct, typename="spatial.sensing.rad.RadSensorMeta"):
67
+ stream_id: str
68
+ annotate.key("stream_id")
69
+ base: 'spatialdds_idl18.spatial.sensing.rad.StreamMeta'
70
+ sensor_type: 'spatialdds_idl18.spatial.sensing.rad.RadSensorType'
71
+ has_range_limits: bool
72
+ min_range_m: types.float32
73
+ max_range_m: types.float32
74
+ has_azimuth_fov: bool
75
+ az_fov_min_deg: types.float32
76
+ az_fov_max_deg: types.float32
77
+ has_elevation_fov: bool
78
+ el_fov_min_deg: types.float32
79
+ el_fov_max_deg: types.float32
80
+ has_velocity_limits: bool
81
+ v_min_mps: types.float32
82
+ v_max_mps: types.float32
83
+ max_detections_per_frame: types.uint32
84
+ proc_chain: str
85
+ schema_version: str
86
+
87
+
88
+ @dataclass
89
+ @annotate.appendable
90
+ @annotate.autoid("sequential")
91
+ class RadDetection(idl.IdlStruct, typename="spatial.sensing.rad.RadDetection"):
92
+ xyz_m: 'spatialdds_idl18.spatial.common.Vec3'
93
+ has_velocity_xyz: bool
94
+ velocity_xyz: 'spatialdds_idl18.spatial.common.Vec3'
95
+ has_v_r_mps: bool
96
+ v_r_mps: types.float64
97
+ has_velocity_comp_xyz: bool
98
+ velocity_comp_xyz: 'spatialdds_idl18.spatial.common.Vec3'
99
+ has_rcs_dbm2: bool
100
+ rcs_dbm2: types.float32
101
+ intensity: types.float32
102
+ quality: types.float32
103
+ has_dyn_prop: bool
104
+ dyn_prop: 'spatialdds_idl18.spatial.sensing.rad.RadDynProp'
105
+ has_pos_rms: bool
106
+ x_rms_m: types.float32
107
+ y_rms_m: types.float32
108
+ z_rms_m: types.float32
109
+ has_vel_rms: bool
110
+ vx_rms_mps: types.float32
111
+ vy_rms_mps: types.float32
112
+ vz_rms_mps: types.float32
113
+ has_ambig_state: bool
114
+ ambig_state: types.uint8
115
+ has_false_alarm_prob: bool
116
+ false_alarm_prob: types.float32
117
+ has_sensor_track_id: bool
118
+ sensor_track_id: types.uint32
119
+
120
+
121
+ @dataclass
122
+ @annotate.appendable
123
+ @annotate.autoid("sequential")
124
+ class RadDetectionSet(idl.IdlStruct, typename="spatial.sensing.rad.RadDetectionSet"):
125
+ stream_id: str
126
+ annotate.key("stream_id")
127
+ frame_seq: types.uint64
128
+ frame_ref: 'spatialdds_idl18.spatial.sensing.rad.FrameRef'
129
+ dets: types.sequence['spatialdds_idl18.spatial.sensing.rad.RadDetection', 32768]
130
+ stamp: 'spatialdds_idl18.spatial.sensing.rad.Time'
131
+ source_id: str
132
+ seq: types.uint64
133
+ proc_chain: str
134
+ has_quality: bool
135
+ quality: 'spatialdds_idl18.spatial.sensing.rad.FrameQuality'
136
+
137
+ @annotate.final
138
+ class RadTensorLayout(idl.IdlEnum, typename="spatial.sensing.rad.RadTensorLayout", default="RA_D"):
139
+ RA_D = 0
140
+ R_AZ_EL_D = 1
141
+ CH_FAST_SLOW = 2
142
+ CH_R_D = 3
143
+ CUSTOM = 255
144
+
145
+ @dataclass
146
+ @annotate.appendable
147
+ @annotate.autoid("sequential")
148
+ class RadTensorMeta(idl.IdlStruct, typename="spatial.sensing.rad.RadTensorMeta"):
149
+ stream_id: str
150
+ annotate.key("stream_id")
151
+ base: 'spatialdds_idl18.spatial.sensing.rad.StreamMeta'
152
+ sensor_type: 'spatialdds_idl18.spatial.sensing.rad.RadSensorType'
153
+ layout: 'spatialdds_idl18.spatial.sensing.rad.RadTensorLayout'
154
+ axes: types.sequence['spatialdds_idl18.spatial.sensing.rad.Axis', 8]
155
+ voxel_type: 'spatialdds_idl18.spatial.sensing.rad.SampleType'
156
+ physical_meaning: str
157
+ has_antenna_config: bool
158
+ num_tx: types.uint16
159
+ num_rx: types.uint16
160
+ num_virtual_channels: types.uint16
161
+ has_waveform_params: bool
162
+ bandwidth_hz: types.float32
163
+ center_freq_hz: types.float32
164
+ chirp_duration_s: types.float32
165
+ samples_per_chirp: types.uint32
166
+ chirps_per_frame: types.uint32
167
+ payload_kind: 'spatialdds_idl18.spatial.sensing.rad.PayloadKind'
168
+ codec: 'spatialdds_idl18.spatial.sensing.rad.Codec'
169
+ has_quant_scale: bool
170
+ quant_scale: types.float32
171
+ tile_size: types.array[types.uint32, 4]
172
+ schema_version: str
173
+
174
+
175
+ @dataclass
176
+ @annotate.appendable
177
+ @annotate.autoid("sequential")
178
+ class RadTensorFrame(idl.IdlStruct, typename="spatial.sensing.rad.RadTensorFrame"):
179
+ stream_id: str
180
+ annotate.key("stream_id")
181
+ frame_seq: types.uint64
182
+ hdr: 'spatialdds_idl18.spatial.sensing.rad.FrameHeader'
183
+ payload_kind: 'spatialdds_idl18.spatial.sensing.rad.PayloadKind'
184
+ codec: 'spatialdds_idl18.spatial.sensing.rad.Codec'
185
+ voxel_type_after_decode: 'spatialdds_idl18.spatial.sensing.rad.SampleType'
186
+ has_quant_scale: bool
187
+ quant_scale: types.float32
188
+ quality: 'spatialdds_idl18.spatial.sensing.rad.FrameQuality'
189
+ proc_chain: str
190
+
191
+
@@ -0,0 +1,22 @@
1
+ """
2
+ Generated by Eclipse Cyclone DDS idlc Python Backend
3
+ Cyclone DDS IDL version: v11.0.1
4
+ Module: spatial.sensing.radio
5
+
6
+ """
7
+
8
+ from ._radio import FrameRef, MODULE_ID, MetaKV, PoseSE3, RadioMeasurementKind, RadioObservation, RadioScan, RadioSensorMeta, RadioType, StreamMeta, Time, WifiBand
9
+ __all__ = [
10
+ "FrameRef",
11
+ "MODULE_ID",
12
+ "MetaKV",
13
+ "PoseSE3",
14
+ "RadioMeasurementKind",
15
+ "RadioObservation",
16
+ "RadioScan",
17
+ "RadioSensorMeta",
18
+ "RadioType",
19
+ "StreamMeta",
20
+ "Time",
21
+ "WifiBand",
22
+ ]