isar 1.29.0__py3-none-any.whl → 1.30.1__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.

Potentially problematic release.


This version of isar might be problematic. Click here for more details.

@@ -9,22 +9,30 @@
9
9
  "x": -2,
10
10
  "y": -2,
11
11
  "z": 0,
12
- "frame": {"name": "asset"}
12
+ "frame": {
13
+ "name": "asset"
14
+ }
13
15
  },
14
16
  "orientation": {
15
17
  "x": 0,
16
18
  "y": 0,
17
19
  "z": 0.4794255,
18
20
  "w": 0.8775826,
19
- "frame": {"name": "asset"}
21
+ "frame": {
22
+ "name": "asset"
23
+ }
20
24
  },
21
- "frame": {"name": "asset"}
25
+ "frame": {
26
+ "name": "asset"
27
+ }
22
28
  },
23
29
  "target": {
24
30
  "x": 2,
25
31
  "y": 2,
26
32
  "z": 0,
27
- "frame": {"name": "asset"}
33
+ "frame": {
34
+ "name": "asset"
35
+ }
28
36
  }
29
37
  },
30
38
  {
@@ -34,41 +42,30 @@
34
42
  "x": -2,
35
43
  "y": 2,
36
44
  "z": 0,
37
- "frame": {"name": "asset"}
45
+ "frame": {
46
+ "name": "asset"
47
+ }
38
48
  },
39
49
  "orientation": {
40
50
  "x": 0,
41
51
  "y": 0,
42
52
  "z": 0.4794255,
43
53
  "w": 0.8775826,
44
- "frame": {"name": "asset"}
54
+ "frame": {
55
+ "name": "asset"
56
+ }
45
57
  },
46
- "frame": {"name": "asset"}
58
+ "frame": {
59
+ "name": "asset"
60
+ }
47
61
  },
48
62
  "target": {
49
63
  "x": 2,
50
64
  "y": 2,
51
65
  "z": 0,
52
- "frame": {"name": "asset"}
53
- }
54
- },
55
- {
56
- "type": "return_to_home",
57
- "pose": {
58
- "position": {
59
- "x": 2,
60
- "y": 2,
61
- "z": 0,
62
- "frame": {"name": "asset"}
63
- },
64
- "orientation": {
65
- "x": 0,
66
- "y": 0,
67
- "z": 0.4794255,
68
- "w": 0.8775826,
69
- "frame": {"name": "asset"}
70
- },
71
- "frame": {"name": "asset"}
66
+ "frame": {
67
+ "name": "asset"
68
+ }
72
69
  }
73
70
  }
74
71
  ]
isar/config/settings.py CHANGED
@@ -284,6 +284,7 @@ class Settings(BaseSettings):
284
284
  "TOPIC_ISAR_ROBOT_INFO",
285
285
  "TOPIC_ISAR_ROBOT_HEARTBEAT",
286
286
  "TOPIC_ISAR_INSPECTION_RESULT",
287
+ "TOPIC_ISAR_INSPECTION_VALUE",
287
288
  )
288
289
  @classmethod
289
290
  def prefix_isar_topics(cls, v: Any, info: ValidationInfo):
@@ -18,10 +18,11 @@ def put_start_mission_on_queue(state_machine: "StateMachine") -> bool:
18
18
 
19
19
  def initiate_mission(state_machine: "StateMachine") -> bool:
20
20
  state_machine.logger.info(
21
- f"Initialization successful. Starting new mission: "
22
- f"{state_machine.current_mission.id}"
21
+ "Initialization successful. Starting new mission:\n"
22
+ f" Mission ID: {state_machine.current_mission.id}\n"
23
+ f" Mission Name: {state_machine.current_mission.name}\n"
24
+ f" Number of Tasks: {len(state_machine.current_mission.tasks)}"
23
25
  )
24
- state_machine.log_mission_overview(mission=state_machine.current_mission)
25
26
 
26
27
  state_machine.current_mission.status = MissionStatus.InProgress
27
28
  state_machine.publish_mission_status()
@@ -102,7 +102,7 @@ class SlimmStorage(StorageInterface):
102
102
  filename: str, inspection: Inspection, mission: Mission
103
103
  ) -> MultipartEncoder:
104
104
  array_of_orientation = (
105
- inspection.metadata.pose.orientation.to_quat_array().tolist()
105
+ inspection.metadata.robot_pose.orientation.to_quat_array().tolist()
106
106
  )
107
107
  multiform_body: MultipartEncoder = MultipartEncoder(
108
108
  fields={
@@ -118,9 +118,9 @@ class SlimmStorage(StorageInterface):
118
118
  "Mission.MissionId": mission.id,
119
119
  "Mission.Client": "Equinor",
120
120
  "ImageMetadata.Timestamp": inspection.metadata.start_time.isoformat(), # noqa: E501
121
- "ImageMetadata.X": str(inspection.metadata.pose.position.x),
122
- "ImageMetadata.Y": str(inspection.metadata.pose.position.y),
123
- "ImageMetadata.Z": str(inspection.metadata.pose.position.z),
121
+ "ImageMetadata.X": str(inspection.metadata.robot_pose.position.x),
122
+ "ImageMetadata.Y": str(inspection.metadata.robot_pose.position.y),
123
+ "ImageMetadata.Z": str(inspection.metadata.robot_pose.position.z),
124
124
  "ImageMetadata.CameraOrientation1": str(array_of_orientation[0]),
125
125
  "ImageMetadata.CameraOrientation2": str(array_of_orientation[1]),
126
126
  "ImageMetadata.CameraOrientation3": str(array_of_orientation[2]),
@@ -148,7 +148,7 @@ class SlimmStorage(StorageInterface):
148
148
  mission: Mission,
149
149
  ) -> MultipartEncoder:
150
150
  array_of_orientation = (
151
- inspection.metadata.pose.orientation.to_quat_array().tolist()
151
+ inspection.metadata.robot_pose.orientation.to_quat_array().tolist()
152
152
  )
153
153
  multiform_body: MultipartEncoder = MultipartEncoder(
154
154
  fields={
@@ -166,9 +166,9 @@ class SlimmStorage(StorageInterface):
166
166
  "VideoMetadata.Timestamp": inspection.metadata.start_time.isoformat(), # noqa: E501
167
167
  # Converting to int because SLIMM expects an int, while we use floats in operations.
168
168
  "VideoMetadata.Duration": str(int(inspection.metadata.duration)), # type: ignore
169
- "VideoMetadata.X": str(inspection.metadata.pose.position.x),
170
- "VideoMetadata.Y": str(inspection.metadata.pose.position.y),
171
- "VideoMetadata.Z": str(inspection.metadata.pose.position.z),
169
+ "VideoMetadata.X": str(inspection.metadata.robot_pose.position.x),
170
+ "VideoMetadata.Y": str(inspection.metadata.robot_pose.position.y),
171
+ "VideoMetadata.Z": str(inspection.metadata.robot_pose.position.z),
172
172
  "VideoMetadata.CameraOrientation1": str(array_of_orientation[0]),
173
173
  "VideoMetadata.CameraOrientation2": str(array_of_orientation[1]),
174
174
  "VideoMetadata.CameraOrientation3": str(array_of_orientation[2]),
isar/storage/uploader.py CHANGED
@@ -213,9 +213,9 @@ class Uploader:
213
213
  inspection_description=inspection.metadata.inspection_description,
214
214
  value=inspection.value,
215
215
  unit=inspection.unit,
216
- x=inspection.metadata.pose.position.x,
217
- y=inspection.metadata.pose.position.y,
218
- z=inspection.metadata.pose.position.z,
216
+ x=inspection.metadata.robot_pose.position.x,
217
+ y=inspection.metadata.robot_pose.position.y,
218
+ z=inspection.metadata.robot_pose.position.z,
219
219
  timestamp=inspection.metadata.start_time,
220
220
  )
221
221
  self.mqtt_publisher.publish(
isar/storage/utilities.py CHANGED
@@ -41,23 +41,26 @@ def construct_metadata_file(
41
41
  "isar_id": settings.ISAR_ID,
42
42
  "robot_name": settings.ROBOT_NAME,
43
43
  "inspection_description": inspection.metadata.inspection_description,
44
+ "tag": inspection.metadata.tag_id,
45
+ "robot_pose": {
46
+ "position": {
47
+ "x": inspection.metadata.robot_pose.position.x,
48
+ "y": inspection.metadata.robot_pose.position.y,
49
+ "z": inspection.metadata.robot_pose.position.z,
50
+ },
51
+ "orientation": inspection.metadata.robot_pose.orientation.to_quat_array(),
52
+ },
53
+ "target_position": {
54
+ "x": inspection.metadata.target_position.x,
55
+ "y": inspection.metadata.target_position.y,
56
+ "z": inspection.metadata.target_position.z,
57
+ },
58
+ "timestamp": inspection.metadata.start_time,
44
59
  },
45
- "data": [
60
+ "data_files": [
46
61
  {
47
62
  "folder": f"/{get_foldername(mission=mission)}",
48
- "files": [
49
- {
50
- "file_name": filename,
51
- "timestamp": inspection.metadata.start_time,
52
- "x": inspection.metadata.pose.position.x,
53
- "y": inspection.metadata.pose.position.y,
54
- "z": inspection.metadata.pose.position.z,
55
- "tag": inspection.metadata.tag_id,
56
- "additional_media_metadata": {
57
- "orientation": inspection.metadata.pose.orientation.to_quat_array() # noqa: E501
58
- },
59
- }
60
- ],
63
+ "file_name": filename,
61
64
  }
62
65
  ],
63
66
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: isar
3
- Version: 1.29.0
3
+ Version: 1.30.1
4
4
  Summary: Integration and Supervisory control of Autonomous Robots
5
5
  Author-email: Equinor ASA <fg_robots_dev@equinor.com>
6
6
  License: Eclipse Public License version 2.0
@@ -16,7 +16,7 @@ isar/config/configuration_error.py,sha256=rO6WOhafX6xvVib8WxV-eY483Z0PpN-9PxGsq5
16
16
  isar/config/log.py,sha256=SzEWbzXU1DpN7YONIRT8k0zBOGm_qVkXlJuuZtb8STc,2300
17
17
  isar/config/logging.conf,sha256=mYO1xf27gAopEMHhGzY7-mwyfN16rwRLkPNMvy3zn2g,1127
18
18
  isar/config/settings.env,sha256=cLIlcXTM8x0N-6XjXmC0Qclx5dfDC6myqa25tvVwmRw,500
19
- isar/config/settings.py,sha256=pXRWjvnLIlOJIXlYVJq16AqZPjotkTH7-y6dVj3cQew,13076
19
+ isar/config/settings.py,sha256=IM1T8rIo7DaOvLRlrgtftgdJ0cGohn52ByP-ZRD3AB8,13115
20
20
  isar/config/certs/ca-cert.pem,sha256=qoNljfad_qcMxhXJIUMLd7nT-Qwf_d4dYSdoOFEOE8I,2179
21
21
  isar/config/keyvault/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
22
  isar/config/keyvault/keyvault_error.py,sha256=zvPCsZLjboxsxthYkxpRERCTFxYV8R5WmACewAUQLwk,41
@@ -33,7 +33,7 @@ isar/config/predefined_mission_definition/default_exr.json,sha256=diSi4KMnGQY01Z
33
33
  isar/config/predefined_mission_definition/default_mission.json,sha256=NAspX-kTaHh9VygJGrytJGNjebEIPbiTnWHhj7qt9rk,2722
34
34
  isar/config/predefined_mission_definition/default_turtlebot.json,sha256=20ee7q1EIx7bIIojMucSwdBafuCG5sewbMQn9gJuPEo,3704
35
35
  isar/config/predefined_missions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
- isar/config/predefined_missions/default.json,sha256=EDMfPQi2D_517jlfeU2BBFySkbvhYG7uEK6cbiK7DRM,1464
36
+ isar/config/predefined_missions/default.json,sha256=NWo9y5noPmpjlNUxLnZK95Sz7DIEaUR-ISYlw3MP8i0,1251
37
37
  isar/config/predefined_missions/default_turtlebot.json,sha256=8Vk1_0P0BBsG0vwh4vwIYINiiWioErHZ0Ppjq3ctaPM,2143
38
38
  isar/mission_planner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
39
  isar/mission_planner/local_planner.py,sha256=6JxAR_V2JB-pVzZ8xajRa1tlKO3d3x-5oe-5NodgkvU,2579
@@ -93,17 +93,17 @@ isar/state_machine/transitions/functions/pause.py,sha256=aoDkq2nV6wBY0YQX3KbjvBR
93
93
  isar/state_machine/transitions/functions/resume.py,sha256=9KQjH_6YBGyxFhb7G5dgDe3WH0xHawhEIw6yTVEm9os,998
94
94
  isar/state_machine/transitions/functions/return_home.py,sha256=UlniwYvpz74hxqgN0TyVv3LCmiMsqsosKEtEGLqkNj0,1139
95
95
  isar/state_machine/transitions/functions/robot_status.py,sha256=xhKZ5u_X8uDvnhvGnAIABuKaPXeVqFjkgj4H2Om-j_A,1013
96
- isar/state_machine/transitions/functions/start_mission.py,sha256=w8UDiq9pOHu-ei61ng6rWGjfrh6nk_qSokEVdzBHwzY,2516
96
+ isar/state_machine/transitions/functions/start_mission.py,sha256=NXFLEWZ5ZbsulbIQVgDz2mRUOULP3mfpgSheiw4LSYw,2593
97
97
  isar/state_machine/transitions/functions/stop.py,sha256=aIj3EPnpgNLdsJwOK1ehhI1TpenQa9JjBxZH0Nm6dLg,1649
98
98
  isar/state_machine/transitions/functions/utils.py,sha256=Wa72Ocq4QT1E6qkpEJZQ3h5o33pGvx7Tlkt2JZ2Grbk,314
99
99
  isar/storage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
100
100
  isar/storage/blob_storage.py,sha256=Qci6bO508nlTHKPuPtVU5QcvGA4T7mv8cFrKWRcfw4g,3226
101
101
  isar/storage/local_storage.py,sha256=Bnmoi5gyN8r-oRh0aHrOdGqaH3JqRScFKMRXYojW5kY,1855
102
- isar/storage/slimm_storage.py,sha256=4YsQ1RBztfx6n3pEblwb5G3ndoQN_IZm7bujRktpTx4,8748
102
+ isar/storage/slimm_storage.py,sha256=DwrryuiddMf5eRmjt3Di0f1GuoTG2faQTfRh378GHu0,8796
103
103
  isar/storage/storage_interface.py,sha256=DYDry4I7aZpDHJhsBF6s8zrgokFAc7fdKJKfA8AvL7o,828
104
- isar/storage/uploader.py,sha256=TS_O0p-zlHk4DZyotNjygxxU5JvKuzoi4VIYbU7faT4,9505
105
- isar/storage/utilities.py,sha256=TcNYyF4nj7egEzBvYblr3IWFXLeqlXS6V7DQxgxNzj0,3340
106
- isar-1.29.0.dist-info/licenses/LICENSE,sha256=3fc2-ebLwHWwzfQbulGNRdcNob3SBQeCfEVUDYxsuqw,14058
104
+ isar/storage/uploader.py,sha256=HAC3ssuPQCQ1xH4aTQfHIaq-ZoEzKwONWmsAOpNXOzw,9523
105
+ isar/storage/utilities.py,sha256=oLH0Rp7UtrQQdilfITnmXO1Z0ExdeDhBImYHid55vBA,3449
106
+ isar-1.30.1.dist-info/licenses/LICENSE,sha256=3fc2-ebLwHWwzfQbulGNRdcNob3SBQeCfEVUDYxsuqw,14058
107
107
  robot_interface/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
108
108
  robot_interface/robot_interface.py,sha256=9I6c_7Qi8lOwb8M96p12iX2KwrRhcAXz1Ug_tnBEKcU,7821
109
109
  robot_interface/test_robot_interface.py,sha256=FV1urn7SbsMyWBIcTKjsBwAG4IsXeZ6pLHE0mA9EGGs,692
@@ -112,7 +112,7 @@ robot_interface/models/exceptions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
112
112
  robot_interface/models/exceptions/robot_exceptions.py,sha256=VrsWPf4g0qN5sJRKhc3ER_Wt5drK0MZRuECU-csIlDA,10026
113
113
  robot_interface/models/initialize/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
114
114
  robot_interface/models/inspection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
115
- robot_interface/models/inspection/inspection.py,sha256=tDqSi_x-vq5nwN0SVLXRRjKbfSbm7Y5DTHxjhuX8tOA,2474
115
+ robot_interface/models/inspection/inspection.py,sha256=2T8czQcNt9J1M96tKGQA6P3s5CikdZ7-0RevXQ4-CfA,2520
116
116
  robot_interface/models/mission/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
117
117
  robot_interface/models/mission/mission.py,sha256=MQ9p5cuclLXexaZu9bkDh5-aN99eunvYC0vP-Z_kUwI,960
118
118
  robot_interface/models/mission/status.py,sha256=UOCARLfLxLFXJEjfIH7aXYXO7xajOKBJsxz-Wd6gZQ4,740
@@ -127,8 +127,8 @@ robot_interface/telemetry/payloads.py,sha256=78EVedDyRhYIquwXWdwjhA3RntMboCcuPWE
127
127
  robot_interface/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
128
128
  robot_interface/utilities/json_service.py,sha256=qkzVkb60Gi_pto-b5n1vNzCrQze2yqgIJqSLNLYj1Fg,1034
129
129
  robot_interface/utilities/uuid_string_factory.py,sha256=_NQIbBQ56w0qqO0MUDP6aPpHbxW7ATRhK8HnQiBSLkc,76
130
- isar-1.29.0.dist-info/METADATA,sha256=Gl_4L-DbxpGB4jw-U8hDzhL7ksj3HyjiQca5Hl-rRwQ,30709
131
- isar-1.29.0.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
132
- isar-1.29.0.dist-info/entry_points.txt,sha256=TFam7uNNw7J0iiDYzsH2gfG0u1eV1wh3JTw_HkhgKLk,49
133
- isar-1.29.0.dist-info/top_level.txt,sha256=UwIML2RtuQKCyJJkatcSnyp6-ldDjboB9k9JgKipO-U,21
134
- isar-1.29.0.dist-info/RECORD,,
130
+ isar-1.30.1.dist-info/METADATA,sha256=xUgD7-Nd_NsYwXuICFQcwldiAqSfrw8cMwJ3-hLQpb4,30709
131
+ isar-1.30.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
132
+ isar-1.30.1.dist-info/entry_points.txt,sha256=TFam7uNNw7J0iiDYzsH2gfG0u1eV1wh3JTw_HkhgKLk,49
133
+ isar-1.30.1.dist-info/top_level.txt,sha256=UwIML2RtuQKCyJJkatcSnyp6-ldDjboB9k9JgKipO-U,21
134
+ isar-1.30.1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.8.0)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -3,14 +3,15 @@ from dataclasses import dataclass, field
3
3
  from datetime import datetime
4
4
  from typing import Optional, Type
5
5
 
6
- from alitra import Pose
6
+ from alitra import Pose, Position
7
7
  from pydantic import BaseModel, Field
8
8
 
9
9
 
10
10
  @dataclass
11
11
  class InspectionMetadata(ABC):
12
12
  start_time: datetime
13
- pose: Pose
13
+ robot_pose: Pose
14
+ target_position: Position
14
15
  file_type: str
15
16
  tag_id: Optional[str] = field(default=None, init=False)
16
17
  inspection_description: Optional[str] = field(default=None, init=False)