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,141 @@
1
+ """
2
+ Generated by Eclipse Cyclone DDS idlc Python Backend
3
+ Cyclone DDS IDL version: v11.0.1
4
+ Module: spatial.sensing.radio
5
+ IDL file: radio.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.radio/1.8"
31
+ Time = types.typedef['spatialdds_idl18.spatial.sensing.radio.Time', 'spatialdds_idl18.builtin.Time']
32
+ PoseSE3 = types.typedef['spatialdds_idl18.spatial.sensing.radio.PoseSE3', 'spatialdds_idl18.spatial.core.PoseSE3']
33
+ FrameRef = types.typedef['spatialdds_idl18.spatial.sensing.radio.FrameRef', 'spatialdds_idl18.spatial.common.FrameRef']
34
+ MetaKV = types.typedef['spatialdds_idl18.spatial.sensing.radio.MetaKV', 'spatialdds_idl18.spatial.common.MetaKV']
35
+ StreamMeta = types.typedef['spatialdds_idl18.spatial.sensing.radio.StreamMeta', 'spatialdds_idl18.spatial.sensing.common.StreamMeta']
36
+ @annotate.final
37
+ class RadioType(idl.IdlEnum, typename="spatial.sensing.radio.RadioType", default="WIFI"):
38
+ WIFI = 0
39
+ BLE = 1
40
+ BT_CLASSIC = 2
41
+ UWB = 3
42
+ CELLULAR = 4
43
+ LORA = 5
44
+ OTHER_RADIO = 255
45
+ @annotate.final
46
+ class WifiBand(idl.IdlEnum, typename="spatial.sensing.radio.WifiBand", default="BAND_UNKNOWN"):
47
+ BAND_UNKNOWN = 0
48
+ BAND_2_4GHZ = 1
49
+ BAND_5GHZ = 2
50
+ BAND_6GHZ = 3
51
+ BAND_60GHZ = 4
52
+ @annotate.final
53
+ class RadioMeasurementKind(idl.IdlEnum, typename="spatial.sensing.radio.RadioMeasurementKind", default="RSSI"):
54
+ RSSI = 0
55
+ RTT_NS = 1
56
+ AOA_DEG = 2
57
+ RANGE_M = 3
58
+ RSRP = 4
59
+ CSI_REF = 5
60
+ OTHER_MEASURE = 255
61
+
62
+ @dataclass
63
+ @annotate.appendable
64
+ @annotate.autoid("sequential")
65
+ class RadioObservation(idl.IdlStruct, typename="spatial.sensing.radio.RadioObservation"):
66
+ identifier: str
67
+ measurement_kind: 'spatialdds_idl18.spatial.sensing.radio.RadioMeasurementKind'
68
+ value: types.float32
69
+ has_frequency: bool
70
+ frequency_mhz: types.float32
71
+ has_band: bool
72
+ band: 'spatialdds_idl18.spatial.sensing.radio.WifiBand'
73
+ has_ssid: bool
74
+ ssid: str
75
+ has_channel: bool
76
+ channel: types.uint16
77
+ has_major_minor: bool
78
+ major: types.uint16
79
+ minor: types.uint16
80
+ has_tx_power: bool
81
+ tx_power_dbm: types.int8
82
+ has_range: bool
83
+ range_m: types.float32
84
+ has_range_std: bool
85
+ range_std_m: types.float32
86
+ has_aoa_azimuth: bool
87
+ aoa_azimuth_deg: types.float32
88
+ has_aoa_elevation: bool
89
+ aoa_elevation_deg: types.float32
90
+ has_noise_floor: bool
91
+ noise_floor_dbm: types.float32
92
+ has_measurement_count: bool
93
+ measurement_count: types.uint8
94
+
95
+
96
+ @dataclass
97
+ @annotate.appendable
98
+ @annotate.autoid("sequential")
99
+ class RadioScan(idl.IdlStruct, typename="spatial.sensing.radio.RadioScan"):
100
+ sensor_id: str
101
+ annotate.key("sensor_id")
102
+ radio_type: 'spatialdds_idl18.spatial.sensing.radio.RadioType'
103
+ scan_seq: types.uint64
104
+ stamp: 'spatialdds_idl18.spatial.sensing.radio.Time'
105
+ has_scan_duration: bool
106
+ scan_duration_s: types.float32
107
+ observations: types.sequence['spatialdds_idl18.spatial.sensing.radio.RadioObservation', 256]
108
+ has_aggregation_window: bool
109
+ aggregation_window_s: types.float32
110
+ source_id: str
111
+ has_sensor_pose: bool
112
+ sensor_pose: 'spatialdds_idl18.spatial.sensing.radio.PoseSE3'
113
+ pose_frame_ref: 'spatialdds_idl18.spatial.sensing.radio.FrameRef'
114
+ schema_version: str
115
+
116
+
117
+ @dataclass
118
+ @annotate.appendable
119
+ @annotate.autoid("sequential")
120
+ class RadioSensorMeta(idl.IdlStruct, typename="spatial.sensing.radio.RadioSensorMeta"):
121
+ sensor_id: str
122
+ annotate.key("sensor_id")
123
+ base: 'spatialdds_idl18.spatial.sensing.radio.StreamMeta'
124
+ radio_type: 'spatialdds_idl18.spatial.sensing.radio.RadioType'
125
+ has_rssi: bool
126
+ has_rtt: bool
127
+ has_aoa: bool
128
+ has_csi: bool
129
+ has_wifi_bands: bool
130
+ supported_bands: types.sequence['spatialdds_idl18.spatial.sensing.radio.WifiBand', 4]
131
+ has_ble_version: bool
132
+ ble_version: str
133
+ device_model: str
134
+ platform: str
135
+ has_max_observations: bool
136
+ max_observations: types.uint16
137
+ has_typical_scan_duration: bool
138
+ typical_scan_duration_s: types.float32
139
+ schema_version: str
140
+
141
+
@@ -0,0 +1,25 @@
1
+ """
2
+ Generated by Eclipse Cyclone DDS idlc Python Backend
3
+ Cyclone DDS IDL version: v11.0.1
4
+ Module: spatial.sensing.rf_beam
5
+
6
+ """
7
+
8
+ from ._rf_beam import BeamSweepType, BlobRef, Codec, FrameHeader, FrameQuality, FrameRef, MODULE_ID, PoseSE3, PowerUnit, RfBeamArraySet, RfBeamFrame, RfBeamMeta, SampleType, StreamMeta, Time
9
+ __all__ = [
10
+ "BeamSweepType",
11
+ "BlobRef",
12
+ "Codec",
13
+ "FrameHeader",
14
+ "FrameQuality",
15
+ "FrameRef",
16
+ "MODULE_ID",
17
+ "PoseSE3",
18
+ "PowerUnit",
19
+ "RfBeamArraySet",
20
+ "RfBeamFrame",
21
+ "RfBeamMeta",
22
+ "SampleType",
23
+ "StreamMeta",
24
+ "Time",
25
+ ]
@@ -0,0 +1,117 @@
1
+ """
2
+ Generated by Eclipse Cyclone DDS idlc Python Backend
3
+ Cyclone DDS IDL version: v11.0.1
4
+ Module: spatial.sensing.rf_beam
5
+ IDL file: rf_beam.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.rf_beam/1.8"
31
+ Time = types.typedef['spatialdds_idl18.spatial.sensing.rf_beam.Time', 'spatialdds_idl18.builtin.Time']
32
+ PoseSE3 = types.typedef['spatialdds_idl18.spatial.sensing.rf_beam.PoseSE3', 'spatialdds_idl18.spatial.core.PoseSE3']
33
+ BlobRef = types.typedef['spatialdds_idl18.spatial.sensing.rf_beam.BlobRef', 'spatialdds_idl18.spatial.core.BlobRef']
34
+ FrameRef = types.typedef['spatialdds_idl18.spatial.sensing.rf_beam.FrameRef', 'spatialdds_idl18.spatial.common.FrameRef']
35
+ StreamMeta = types.typedef['spatialdds_idl18.spatial.sensing.rf_beam.StreamMeta', 'spatialdds_idl18.spatial.sensing.common.StreamMeta']
36
+ FrameHeader = types.typedef['spatialdds_idl18.spatial.sensing.rf_beam.FrameHeader', 'spatialdds_idl18.spatial.sensing.common.FrameHeader']
37
+ FrameQuality = types.typedef['spatialdds_idl18.spatial.sensing.rf_beam.FrameQuality', 'spatialdds_idl18.spatial.sensing.common.FrameQuality']
38
+ Codec = types.typedef['spatialdds_idl18.spatial.sensing.rf_beam.Codec', 'spatialdds_idl18.spatial.sensing.common.Codec']
39
+ SampleType = types.typedef['spatialdds_idl18.spatial.sensing.rf_beam.SampleType', 'spatialdds_idl18.spatial.sensing.common.SampleType']
40
+ @annotate.final
41
+ class BeamSweepType(idl.IdlEnum, typename="spatial.sensing.rf_beam.BeamSweepType", default="EXHAUSTIVE"):
42
+ EXHAUSTIVE = 0
43
+ HIERARCHICAL = 1
44
+ TRACKING = 2
45
+ PARTIAL = 3
46
+ OTHER = 255
47
+ @annotate.final
48
+ class PowerUnit(idl.IdlEnum, typename="spatial.sensing.rf_beam.PowerUnit", default="DBM"):
49
+ DBM = 0
50
+ LINEAR_MW = 1
51
+ RSRP = 2
52
+ OTHER_UNIT = 255
53
+
54
+ @dataclass
55
+ @annotate.appendable
56
+ @annotate.autoid("sequential")
57
+ class RfBeamMeta(idl.IdlStruct, typename="spatial.sensing.rf_beam.RfBeamMeta"):
58
+ stream_id: str
59
+ annotate.key("stream_id")
60
+ base: 'spatialdds_idl18.spatial.sensing.rf_beam.StreamMeta'
61
+ center_freq_ghz: types.float32
62
+ has_bandwidth: bool
63
+ bandwidth_ghz: types.float32
64
+ n_elements: types.uint16
65
+ n_beams: types.uint16
66
+ fov_az_deg: types.float32
67
+ has_fov_el: bool
68
+ fov_el_deg: types.float32
69
+ has_array_index: bool
70
+ array_index: types.uint8
71
+ array_label: str
72
+ codebook_type: str
73
+ has_mimo_config: bool
74
+ n_tx: types.uint16
75
+ n_rx: types.uint16
76
+ power_unit: 'spatialdds_idl18.spatial.sensing.rf_beam.PowerUnit'
77
+ schema_version: str
78
+
79
+
80
+ @dataclass
81
+ @annotate.appendable
82
+ @annotate.autoid("sequential")
83
+ class RfBeamFrame(idl.IdlStruct, typename="spatial.sensing.rf_beam.RfBeamFrame"):
84
+ stream_id: str
85
+ annotate.key("stream_id")
86
+ frame_seq: types.uint64
87
+ hdr: 'spatialdds_idl18.spatial.sensing.rf_beam.FrameHeader'
88
+ sweep_type: 'spatialdds_idl18.spatial.sensing.rf_beam.BeamSweepType'
89
+ power: types.sequence[types.float32, 1024]
90
+ beam_indices: types.sequence[types.uint16, 1024]
91
+ has_best_beam: bool
92
+ best_beam_idx: types.uint16
93
+ best_beam_power: types.float32
94
+ has_blockage_state: bool
95
+ is_blocked: bool
96
+ blockage_confidence: types.float32
97
+ has_snr_db: bool
98
+ snr_db: types.float32
99
+ has_quality: bool
100
+ quality: 'spatialdds_idl18.spatial.sensing.rf_beam.FrameQuality'
101
+
102
+
103
+ @dataclass
104
+ @annotate.appendable
105
+ @annotate.autoid("sequential")
106
+ class RfBeamArraySet(idl.IdlStruct, typename="spatial.sensing.rf_beam.RfBeamArraySet"):
107
+ set_id: str
108
+ annotate.key("set_id")
109
+ frame_seq: types.uint64
110
+ stamp: 'spatialdds_idl18.spatial.sensing.rf_beam.Time'
111
+ arrays: types.sequence['spatialdds_idl18.spatial.sensing.rf_beam.RfBeamFrame', 8]
112
+ has_overall_best: bool
113
+ overall_best_array_idx: types.uint16
114
+ overall_best_beam_idx: types.uint16
115
+ overall_best_power: types.float32
116
+
117
+
@@ -0,0 +1,36 @@
1
+ """
2
+ Generated by Eclipse Cyclone DDS idlc Python Backend
3
+ Cyclone DDS IDL version: v11.0.1
4
+ Module: spatial.sensing.vision
5
+
6
+ """
7
+
8
+ from ._vision import Axis, BlobRef, CamIntrinsics, CamModel, Codec, ColorSpace, Distortion, FrameHeader, FrameQuality, FrameRef, Keypoint2D, MODULE_ID, PayloadKind, PixFormat, PoseSE3, ROI, ROIReply, ROIRequest, RigRole, SampleType, StreamMeta, Time, Track2D, VisionDetections, VisionFrame, VisionMeta
9
+ __all__ = [
10
+ "Axis",
11
+ "BlobRef",
12
+ "CamIntrinsics",
13
+ "CamModel",
14
+ "Codec",
15
+ "ColorSpace",
16
+ "Distortion",
17
+ "FrameHeader",
18
+ "FrameQuality",
19
+ "FrameRef",
20
+ "Keypoint2D",
21
+ "MODULE_ID",
22
+ "PayloadKind",
23
+ "PixFormat",
24
+ "PoseSE3",
25
+ "ROI",
26
+ "ROIReply",
27
+ "ROIRequest",
28
+ "RigRole",
29
+ "SampleType",
30
+ "StreamMeta",
31
+ "Time",
32
+ "Track2D",
33
+ "VisionDetections",
34
+ "VisionFrame",
35
+ "VisionMeta",
36
+ ]
@@ -0,0 +1,170 @@
1
+ """
2
+ Generated by Eclipse Cyclone DDS idlc Python Backend
3
+ Cyclone DDS IDL version: v11.0.1
4
+ Module: spatial.sensing.vision
5
+ IDL file: vision.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.vision/1.8"
31
+ Time = types.typedef['spatialdds_idl18.spatial.sensing.vision.Time', 'spatialdds_idl18.builtin.Time']
32
+ PoseSE3 = types.typedef['spatialdds_idl18.spatial.sensing.vision.PoseSE3', 'spatialdds_idl18.spatial.core.PoseSE3']
33
+ BlobRef = types.typedef['spatialdds_idl18.spatial.sensing.vision.BlobRef', 'spatialdds_idl18.spatial.core.BlobRef']
34
+ FrameRef = types.typedef['spatialdds_idl18.spatial.sensing.vision.FrameRef', 'spatialdds_idl18.spatial.common.FrameRef']
35
+ Codec = types.typedef['spatialdds_idl18.spatial.sensing.vision.Codec', 'spatialdds_idl18.spatial.sensing.common.Codec']
36
+ PayloadKind = types.typedef['spatialdds_idl18.spatial.sensing.vision.PayloadKind', 'spatialdds_idl18.spatial.sensing.common.PayloadKind']
37
+ SampleType = types.typedef['spatialdds_idl18.spatial.sensing.vision.SampleType', 'spatialdds_idl18.spatial.sensing.common.SampleType']
38
+ Axis = types.typedef['spatialdds_idl18.spatial.sensing.vision.Axis', 'spatialdds_idl18.spatial.sensing.common.Axis']
39
+ ROI = types.typedef['spatialdds_idl18.spatial.sensing.vision.ROI', 'spatialdds_idl18.spatial.sensing.common.ROI']
40
+ StreamMeta = types.typedef['spatialdds_idl18.spatial.sensing.vision.StreamMeta', 'spatialdds_idl18.spatial.sensing.common.StreamMeta']
41
+ FrameHeader = types.typedef['spatialdds_idl18.spatial.sensing.vision.FrameHeader', 'spatialdds_idl18.spatial.sensing.common.FrameHeader']
42
+ FrameQuality = types.typedef['spatialdds_idl18.spatial.sensing.vision.FrameQuality', 'spatialdds_idl18.spatial.sensing.common.FrameQuality']
43
+ ROIRequest = types.typedef['spatialdds_idl18.spatial.sensing.vision.ROIRequest', 'spatialdds_idl18.spatial.sensing.common.ROIRequest']
44
+ ROIReply = types.typedef['spatialdds_idl18.spatial.sensing.vision.ROIReply', 'spatialdds_idl18.spatial.sensing.common.ROIReply']
45
+ @annotate.final
46
+ class CamModel(idl.IdlEnum, typename="spatial.sensing.vision.CamModel", default="PINHOLE"):
47
+ PINHOLE = 0
48
+ FISHEYE_EQUIDISTANT = 1
49
+ KB_4 = 2
50
+ OMNI = 3
51
+ @annotate.final
52
+ class Distortion(idl.IdlEnum, typename="spatial.sensing.vision.Distortion", default="NONE"):
53
+ NONE = 0
54
+ RADTAN = 1
55
+ KANNALA_BRANDT = 2
56
+ @annotate.final
57
+ class PixFormat(idl.IdlEnum, typename="spatial.sensing.vision.PixFormat", default="UNKNOWN"):
58
+ UNKNOWN = 0
59
+ YUV420 = 1
60
+ RGB8 = 2
61
+ BGR8 = 3
62
+ RGBA8 = 4
63
+ DEPTH16 = 5
64
+ RAW10 = 10
65
+ RAW12 = 12
66
+ RAW16 = 16
67
+ @annotate.final
68
+ class ColorSpace(idl.IdlEnum, typename="spatial.sensing.vision.ColorSpace", default="SRGB"):
69
+ SRGB = 0
70
+ REC709 = 1
71
+ REC2020 = 2
72
+ LINEAR = 10
73
+ @annotate.final
74
+ class RigRole(idl.IdlEnum, typename="spatial.sensing.vision.RigRole", default="LEFT"):
75
+ LEFT = 0
76
+ RIGHT = 1
77
+ CENTER = 2
78
+ FRONT = 3
79
+ FRONT_LEFT = 4
80
+ FRONT_RIGHT = 5
81
+ BACK = 6
82
+ BACK_LEFT = 7
83
+ BACK_RIGHT = 8
84
+ AUX = 9
85
+ PANORAMIC = 10
86
+ EQUIRECTANGULAR = 11
87
+
88
+ @dataclass
89
+ @annotate.appendable
90
+ @annotate.autoid("sequential")
91
+ class CamIntrinsics(idl.IdlStruct, typename="spatial.sensing.vision.CamIntrinsics"):
92
+ model: 'spatialdds_idl18.spatial.sensing.vision.CamModel'
93
+ width: types.uint16
94
+ height: types.uint16
95
+ fx: types.float32
96
+ fy: types.float32
97
+ cx: types.float32
98
+ cy: types.float32
99
+ dist: 'spatialdds_idl18.spatial.sensing.vision.Distortion'
100
+ dist_params: types.sequence[types.float32, 16]
101
+ shutter_us: types.float32
102
+ readout_us: types.float32
103
+ pix: 'spatialdds_idl18.spatial.sensing.vision.PixFormat'
104
+ color: 'spatialdds_idl18.spatial.sensing.vision.ColorSpace'
105
+ calib_version: str
106
+
107
+
108
+ @dataclass
109
+ @annotate.appendable
110
+ @annotate.autoid("sequential")
111
+ class VisionMeta(idl.IdlStruct, typename="spatial.sensing.vision.VisionMeta"):
112
+ stream_id: str
113
+ annotate.key("stream_id")
114
+ base: 'spatialdds_idl18.spatial.sensing.vision.StreamMeta'
115
+ K: 'spatialdds_idl18.spatial.sensing.vision.CamIntrinsics'
116
+ role: 'spatialdds_idl18.spatial.sensing.vision.RigRole'
117
+ rig_id: str
118
+ codec: 'spatialdds_idl18.spatial.sensing.vision.Codec'
119
+ pix: 'spatialdds_idl18.spatial.sensing.vision.PixFormat'
120
+ color: 'spatialdds_idl18.spatial.sensing.vision.ColorSpace'
121
+ schema_version: str
122
+
123
+
124
+ @dataclass
125
+ @annotate.appendable
126
+ @annotate.autoid("sequential")
127
+ class VisionFrame(idl.IdlStruct, typename="spatial.sensing.vision.VisionFrame"):
128
+ stream_id: str
129
+ annotate.key("stream_id")
130
+ frame_seq: types.uint64
131
+ hdr: 'spatialdds_idl18.spatial.sensing.vision.FrameHeader'
132
+ codec: 'spatialdds_idl18.spatial.sensing.vision.Codec'
133
+ pix: 'spatialdds_idl18.spatial.sensing.vision.PixFormat'
134
+ color: 'spatialdds_idl18.spatial.sensing.vision.ColorSpace'
135
+ has_line_readout_us: bool
136
+ line_readout_us: types.float32
137
+ rectified: bool
138
+ is_key_frame: bool
139
+ quality: 'spatialdds_idl18.spatial.sensing.vision.FrameQuality'
140
+
141
+
142
+ @dataclass
143
+ @annotate.appendable
144
+ @annotate.autoid("sequential")
145
+ class Keypoint2D(idl.IdlStruct, typename="spatial.sensing.vision.Keypoint2D"):
146
+ u: types.float32
147
+ v: types.float32
148
+ score: types.float32
149
+
150
+
151
+ @dataclass
152
+ @annotate.appendable
153
+ @annotate.autoid("sequential")
154
+ class Track2D(idl.IdlStruct, typename="spatial.sensing.vision.Track2D"):
155
+ id: types.uint64
156
+ trail: types.sequence['spatialdds_idl18.spatial.sensing.vision.Keypoint2D', 8192]
157
+
158
+
159
+ @dataclass
160
+ @annotate.appendable
161
+ @annotate.autoid("sequential")
162
+ class VisionDetections(idl.IdlStruct, typename="spatial.sensing.vision.VisionDetections"):
163
+ stream_id: str
164
+ annotate.key("stream_id")
165
+ frame_seq: types.uint64
166
+ stamp: 'spatialdds_idl18.spatial.sensing.vision.Time'
167
+ keypoints: types.sequence['spatialdds_idl18.spatial.sensing.vision.Keypoint2D', 8192]
168
+ tracks: types.sequence['spatialdds_idl18.spatial.sensing.vision.Track2D', 2048]
169
+
170
+
@@ -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.slam_frontend
5
+
6
+ """
7
+
8
+ from ._slam_frontend import CameraInfo, DistortionModelKind, Feature2D, FeatureMatch, FrameRef, KeyframeFeatures, Landmark, MODULE_ID, MatchSet, Time, TrackObs, Tracklet
9
+ __all__ = [
10
+ "CameraInfo",
11
+ "DistortionModelKind",
12
+ "Feature2D",
13
+ "FeatureMatch",
14
+ "FrameRef",
15
+ "KeyframeFeatures",
16
+ "Landmark",
17
+ "MODULE_ID",
18
+ "MatchSet",
19
+ "Time",
20
+ "TrackObs",
21
+ "Tracklet",
22
+ ]
@@ -0,0 +1,144 @@
1
+ """
2
+ Generated by Eclipse Cyclone DDS idlc Python Backend
3
+ Cyclone DDS IDL version: v11.0.1
4
+ Module: spatial.slam_frontend
5
+ IDL file: slam_frontend.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
+
27
+
28
+ MODULE_ID = "spatial.slam_frontend/1.8"
29
+ Time = types.typedef['spatialdds_idl18.spatial.slam_frontend.Time', 'spatialdds_idl18.builtin.Time']
30
+ FrameRef = types.typedef['spatialdds_idl18.spatial.slam_frontend.FrameRef', 'spatialdds_idl18.spatial.common.FrameRef']
31
+ @annotate.final
32
+ class DistortionModelKind(idl.IdlEnum, typename="spatial.slam_frontend.DistortionModelKind", default="NONE"):
33
+ NONE = 0
34
+ RADTAN = 1
35
+ EQUIDISTANT = 2
36
+ KANNALA_BRANDT = 3
37
+
38
+ @dataclass
39
+ @annotate.appendable
40
+ @annotate.autoid("sequential")
41
+ class CameraInfo(idl.IdlStruct, typename="spatial.slam_frontend.CameraInfo"):
42
+ camera_id: str
43
+ annotate.key("camera_id")
44
+ width: types.uint32
45
+ height: types.uint32
46
+ fx: types.float64
47
+ fy: types.float64
48
+ cx: types.float64
49
+ cy: types.float64
50
+ dist_kind: 'spatialdds_idl18.spatial.slam_frontend.DistortionModelKind'
51
+ dist: types.sequence[types.float64, 8]
52
+ frame_ref: 'spatialdds_idl18.spatial.slam_frontend.FrameRef'
53
+ stamp: 'spatialdds_idl18.spatial.slam_frontend.Time'
54
+
55
+
56
+ @dataclass
57
+ @annotate.appendable
58
+ @annotate.autoid("sequential")
59
+ class Feature2D(idl.IdlStruct, typename="spatial.slam_frontend.Feature2D"):
60
+ u: types.float64
61
+ v: types.float64
62
+ scale: types.float32
63
+ angle: types.float32
64
+ score: types.float32
65
+
66
+
67
+ @dataclass
68
+ @annotate.appendable
69
+ @annotate.autoid("sequential")
70
+ class KeyframeFeatures(idl.IdlStruct, typename="spatial.slam_frontend.KeyframeFeatures"):
71
+ node_id: str
72
+ annotate.key("node_id")
73
+ camera_id: str
74
+ desc_type: str
75
+ desc_len: types.uint32
76
+ row_major: bool
77
+ keypoints: types.sequence['spatialdds_idl18.spatial.slam_frontend.Feature2D', 4096]
78
+ descriptors: types.sequence[types.uint8, 65535]
79
+ stamp: 'spatialdds_idl18.spatial.slam_frontend.Time'
80
+ source_id: str
81
+ seq: types.uint64
82
+
83
+
84
+ @dataclass
85
+ @annotate.appendable
86
+ @annotate.autoid("sequential")
87
+ class FeatureMatch(idl.IdlStruct, typename="spatial.slam_frontend.FeatureMatch"):
88
+ node_id_a: str
89
+ idx_a: types.uint32
90
+ node_id_b: str
91
+ idx_b: types.uint32
92
+ score: types.float32
93
+
94
+
95
+ @dataclass
96
+ @annotate.appendable
97
+ @annotate.autoid("sequential")
98
+ class MatchSet(idl.IdlStruct, typename="spatial.slam_frontend.MatchSet"):
99
+ match_id: str
100
+ annotate.key("match_id")
101
+ matches: types.sequence['spatialdds_idl18.spatial.slam_frontend.FeatureMatch', 8192]
102
+ stamp: 'spatialdds_idl18.spatial.slam_frontend.Time'
103
+ source_id: str
104
+
105
+
106
+ @dataclass
107
+ @annotate.appendable
108
+ @annotate.autoid("sequential")
109
+ class Landmark(idl.IdlStruct, typename="spatial.slam_frontend.Landmark"):
110
+ lm_id: str
111
+ annotate.key("lm_id")
112
+ map_id: str
113
+ p: 'spatialdds_idl18.spatial.common.Vec3'
114
+ has_cov: bool
115
+ cov: 'spatialdds_idl18.spatial.common.Mat3x3'
116
+ desc: types.sequence[types.uint8, 4096]
117
+ desc_type: str
118
+ stamp: 'spatialdds_idl18.spatial.slam_frontend.Time'
119
+ source_id: str
120
+ seq: types.uint64
121
+
122
+
123
+ @dataclass
124
+ @annotate.appendable
125
+ @annotate.autoid("sequential")
126
+ class TrackObs(idl.IdlStruct, typename="spatial.slam_frontend.TrackObs"):
127
+ node_id: str
128
+ u: types.float64
129
+ v: types.float64
130
+
131
+
132
+ @dataclass
133
+ @annotate.appendable
134
+ @annotate.autoid("sequential")
135
+ class Tracklet(idl.IdlStruct, typename="spatial.slam_frontend.Tracklet"):
136
+ track_id: str
137
+ annotate.key("track_id")
138
+ has_lm_id: bool
139
+ lm_id: str
140
+ obs: types.sequence['spatialdds_idl18.spatial.slam_frontend.TrackObs', 64]
141
+ source_id: str
142
+ stamp: 'spatialdds_idl18.spatial.slam_frontend.Time'
143
+
144
+
@@ -0,0 +1,20 @@
1
+ """
2
+ Generated by Eclipse Cyclone DDS idlc Python Backend
3
+ Cyclone DDS IDL version: v11.0.1
4
+ Module: spatial.vio
5
+
6
+ """
7
+
8
+ from ._vio import FrameRef, FusedState, FusionMode, FusionSourceKind, ImuInfo, ImuSample, MODULE_ID, MagnetometerSample, SensorFusionSample, Time
9
+ __all__ = [
10
+ "FrameRef",
11
+ "FusedState",
12
+ "FusionMode",
13
+ "FusionSourceKind",
14
+ "ImuInfo",
15
+ "ImuSample",
16
+ "MODULE_ID",
17
+ "MagnetometerSample",
18
+ "SensorFusionSample",
19
+ "Time",
20
+ ]