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.
- isar/config/predefined_missions/default.json +24 -27
- isar/config/settings.py +1 -0
- isar/state_machine/transitions/functions/start_mission.py +4 -3
- isar/storage/slimm_storage.py +8 -8
- isar/storage/uploader.py +3 -3
- isar/storage/utilities.py +17 -14
- {isar-1.29.0.dist-info → isar-1.30.1.dist-info}/METADATA +1 -1
- {isar-1.29.0.dist-info → isar-1.30.1.dist-info}/RECORD +13 -13
- {isar-1.29.0.dist-info → isar-1.30.1.dist-info}/WHEEL +1 -1
- robot_interface/models/inspection/inspection.py +3 -2
- {isar-1.29.0.dist-info → isar-1.30.1.dist-info}/entry_points.txt +0 -0
- {isar-1.29.0.dist-info → isar-1.30.1.dist-info}/licenses/LICENSE +0 -0
- {isar-1.29.0.dist-info → isar-1.30.1.dist-info}/top_level.txt +0 -0
|
@@ -9,22 +9,30 @@
|
|
|
9
9
|
"x": -2,
|
|
10
10
|
"y": -2,
|
|
11
11
|
"z": 0,
|
|
12
|
-
"frame": {
|
|
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": {
|
|
21
|
+
"frame": {
|
|
22
|
+
"name": "asset"
|
|
23
|
+
}
|
|
20
24
|
},
|
|
21
|
-
"frame": {
|
|
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": {
|
|
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": {
|
|
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": {
|
|
54
|
+
"frame": {
|
|
55
|
+
"name": "asset"
|
|
56
|
+
}
|
|
45
57
|
},
|
|
46
|
-
"frame": {
|
|
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": {
|
|
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
|
@@ -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
|
-
|
|
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()
|
isar/storage/slimm_storage.py
CHANGED
|
@@ -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.
|
|
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.
|
|
122
|
-
"ImageMetadata.Y": str(inspection.metadata.
|
|
123
|
-
"ImageMetadata.Z": str(inspection.metadata.
|
|
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.
|
|
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.
|
|
170
|
-
"VideoMetadata.Y": str(inspection.metadata.
|
|
171
|
-
"VideoMetadata.Z": str(inspection.metadata.
|
|
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.
|
|
217
|
-
y=inspection.metadata.
|
|
218
|
-
z=inspection.metadata.
|
|
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
|
-
"
|
|
60
|
+
"data_files": [
|
|
46
61
|
{
|
|
47
62
|
"folder": f"/{get_foldername(mission=mission)}",
|
|
48
|
-
"
|
|
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
|
}
|
|
@@ -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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
105
|
-
isar/storage/utilities.py,sha256=
|
|
106
|
-
isar-1.
|
|
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=
|
|
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.
|
|
131
|
-
isar-1.
|
|
132
|
-
isar-1.
|
|
133
|
-
isar-1.
|
|
134
|
-
isar-1.
|
|
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,,
|
|
@@ -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
|
-
|
|
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)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|