isar 1.11.0__py3-none-any.whl → 1.12.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.
Potentially problematic release.
This version of isar might be problematic. Click here for more details.
- isar/apis/api.py +54 -1
- isar/apis/models/start_mission_definition.py +40 -31
- isar/apis/security/authentication.py +2 -2
- isar/config/keyvault/keyvault_service.py +36 -21
- isar/config/log.py +42 -13
- isar/config/predefined_mission_definition/__init__.py +0 -0
- isar/config/predefined_mission_definition/default_mission.json +98 -0
- isar/config/predefined_mission_definition/default_turtlebot.json +136 -0
- isar/config/predefined_missions/default.json +84 -84
- isar/config/settings.env +5 -0
- isar/config/settings.py +15 -3
- isar/mission_planner/echo_planner.py +1 -1
- isar/models/mission/status.py +5 -5
- isar/models/mission_metadata/mission_metadata.py +2 -0
- isar/modules.py +3 -2
- isar/services/service_connections/request_handler.py +1 -1
- isar/state_machine/state_machine.py +9 -1
- isar/storage/slimm_storage.py +108 -44
- isar/storage/utilities.py +1 -23
- {isar-1.11.0.dist-info → isar-1.12.0.dist-info}/LICENSE +0 -0
- {isar-1.11.0.dist-info → isar-1.12.0.dist-info}/METADATA +4 -1
- {isar-1.11.0.dist-info → isar-1.12.0.dist-info}/RECORD +26 -23
- {isar-1.11.0.dist-info → isar-1.12.0.dist-info}/WHEEL +0 -0
- {isar-1.11.0.dist-info → isar-1.12.0.dist-info}/top_level.txt +0 -0
- robot_interface/models/inspection/inspection.py +3 -22
- robot_interface/models/mission/step.py +4 -30
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
isar/__init__.py,sha256=oXTcQpZYQ7jkRIem-Nq3hw9DrveoIV3-8k697XN16rA,190
|
|
2
|
-
isar/modules.py,sha256=
|
|
2
|
+
isar/modules.py,sha256=eA4n9_CZ29H7Bt7L3G8ttDLH42WX98dJVtIPHgOeVEI,7041
|
|
3
3
|
isar/apis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
-
isar/apis/api.py,sha256=
|
|
4
|
+
isar/apis/api.py,sha256=rLoqA8YXGpZCsQMm3FGXgt9Yfk6_B5Ka6Hsjq02v-D4,11288
|
|
5
5
|
isar/apis/models/__init__.py,sha256=NI1BYyN__Ogr00Qqe0XJ-9gEVPva2brXo2RJsbrS4tM,52
|
|
6
6
|
isar/apis/models/models.py,sha256=5LiQWnrlHswRlwbTnIp_RpOfbZ6lFSic7E8XWaoIodk,2212
|
|
7
|
-
isar/apis/models/start_mission_definition.py,sha256=
|
|
7
|
+
isar/apis/models/start_mission_definition.py,sha256=o_jObQ2Gbr_2uRJ3Lz6CNgPUfUW1y94XBZvBItBGo40,3325
|
|
8
8
|
isar/apis/schedule/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
9
|
isar/apis/schedule/scheduling_controller.py,sha256=PjfHBKw70rpAe1tRkhQn6kVpL2-nC8SLkDn3MGT32dA,8451
|
|
10
10
|
isar/apis/security/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
|
-
isar/apis/security/authentication.py,sha256=
|
|
11
|
+
isar/apis/security/authentication.py,sha256=sn3MgFJEevkBIOHl1nFfFzwZOzdL0jNA4RvHryQ2n8Q,2088
|
|
12
12
|
isar/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
13
|
isar/config/configuration_error.py,sha256=rO6WOhafX6xvVib8WxV-eY483Z0PpN-9PxGsq5ATfKc,46
|
|
14
|
-
isar/config/log.py,sha256=
|
|
14
|
+
isar/config/log.py,sha256=gXbzb4KvxVOD2dVkkTWttQ8w271lEkRd174CeRJ6H8M,2225
|
|
15
15
|
isar/config/logging.conf,sha256=mYO1xf27gAopEMHhGzY7-mwyfN16rwRLkPNMvy3zn2g,1127
|
|
16
|
-
isar/config/settings.env,sha256=
|
|
17
|
-
isar/config/settings.py,sha256=
|
|
16
|
+
isar/config/settings.env,sha256=aG2CAnXzxsZJhxhgx8pCa11clFtkIsXiTxc2FgXZwuw,553
|
|
17
|
+
isar/config/settings.py,sha256=qlpeOqBptgqqzI-hD8beCdTrAvGANjg5cKtRpxKUkcY,12050
|
|
18
18
|
isar/config/certs/ca-cert.pem,sha256=6XnTSkRxSb9slwXSCWxL4tjeNBprgDzPpEhBraL9RDU,2163
|
|
19
19
|
isar/config/keyvault/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
20
20
|
isar/config/keyvault/keyvault_error.py,sha256=zvPCsZLjboxsxthYkxpRERCTFxYV8R5WmACewAUQLwk,41
|
|
21
|
-
isar/config/keyvault/keyvault_service.py,sha256=
|
|
21
|
+
isar/config/keyvault/keyvault_service.py,sha256=7M6VdIElAQ_yo0d-VX4i9cqgoH_JIexoRmqS5YGIb2Y,3141
|
|
22
22
|
isar/config/maps/JSP1_intermediate_deck.json,sha256=fdotzN6MVotyLbqpIjRSrbBYM84vogLkdS585NjBnL8,826
|
|
23
23
|
isar/config/maps/JSP1_weather_deck.json,sha256=_dG3cSBI8q4_uHqHMOO5kSYqMXn85JL3_9PaH4uk1yQ,832
|
|
24
24
|
isar/config/maps/default_map.json,sha256=3CdGMr0Qn3PrL4TfUK8I5a-hotMrS_n5DKfaEORJPT4,776
|
|
@@ -26,13 +26,16 @@ isar/config/maps/klab_b.json,sha256=qXgWVUYPaTdVuomf6lQL-uRbV3Tsa6CftnzcbT3dY78,
|
|
|
26
26
|
isar/config/maps/klab_compressor.json,sha256=1Vrk5u_l4WXjrTtG4YfXlrCPbOoRs4TtYHOm0430u2A,803
|
|
27
27
|
isar/config/maps/klab_turtlebot.json,sha256=HcB79XFEdY0Wm96EssIFO4TMyAWzc2KENoqN7TbTT0k,823
|
|
28
28
|
isar/config/maps/turtleworld.json,sha256=EKLMpSK9Gu2lAN-E9l41XOaO3f9Su5n_I97mA6z7sWY,764
|
|
29
|
+
isar/config/predefined_mission_definition/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
30
|
+
isar/config/predefined_mission_definition/default_mission.json,sha256=i-sjgVRDcXKh2Lx-tauxBI3xLxLAuut_73wmLuYNgNc,3130
|
|
31
|
+
isar/config/predefined_mission_definition/default_turtlebot.json,sha256=tiXgBbE1XOT6G6UR07WChEVvj-Y9oB1qn8VBc8q3ang,4410
|
|
29
32
|
isar/config/predefined_missions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
30
|
-
isar/config/predefined_missions/default.json,sha256=
|
|
33
|
+
isar/config/predefined_missions/default.json,sha256=mRjW4kREfo-KL1LoYU_MN400tYOR8jaLZQvGE5uiqe0,2757
|
|
31
34
|
isar/config/predefined_missions/default_turtlebot.json,sha256=3w-w2EXPd3AnJ7W1bjid0QrIZ6o_-QAy4beimHr2ivc,3350
|
|
32
35
|
isar/config/predefined_poses/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
33
36
|
isar/config/predefined_poses/predefined_poses.py,sha256=fhq8JF00feDLFKNBlyWeFoLfvfs5dVb__C7CmiVbwmQ,25779
|
|
34
37
|
isar/mission_planner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
35
|
-
isar/mission_planner/echo_planner.py,sha256=
|
|
38
|
+
isar/mission_planner/echo_planner.py,sha256=xavICAZJYfnZqwAB_bTtRge_QMwrZ8H-JZPw1pZ1sSY,5674
|
|
36
39
|
isar/mission_planner/local_planner.py,sha256=QGJ3PNea6z0A0XsDfF8qm9O1H8n6xWYWeQLuB9l4_74,3067
|
|
37
40
|
isar/mission_planner/mission_planner_interface.py,sha256=5zmwtLAmtnfaQLsvx9o0Qy1YqWBZ2NVnUCV_XkTg1cE,466
|
|
38
41
|
isar/mission_planner/sequential_task_selector.py,sha256=DkEVDmmmQ-bCswN21tJlmxocj6IURhsYWNZ73dmc_Hk,624
|
|
@@ -47,16 +50,16 @@ isar/models/communication/queues/queues.py,sha256=FzoqlT4AQ4Q5Jufh6yRPV2uq5iUZd1
|
|
|
47
50
|
isar/models/communication/queues/status_queue.py,sha256=K_i01uzCu1eciDt9QlDXLBINJnuRLqm6fzrM-PY6qD0,467
|
|
48
51
|
isar/models/mission/__init__.py,sha256=OQMLlRLJl5QIPrCtUi3trGtoy_2vSqeL_aaI_JJPQ7M,81
|
|
49
52
|
isar/models/mission/mission.py,sha256=k4pJuUFwxB5JfUiPYgkskUJmd7ROOnzkdZ_p0mUc-uo,4533
|
|
50
|
-
isar/models/mission/status.py,sha256
|
|
53
|
+
isar/models/mission/status.py,sha256=-vwRX6O_bljR0q7LET8qVY195XTKpniNSiOQ--1STu4,583
|
|
51
54
|
isar/models/mission_metadata/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
52
|
-
isar/models/mission_metadata/mission_metadata.py,sha256=
|
|
55
|
+
isar/models/mission_metadata/mission_metadata.py,sha256=gsGl68i6lBodJuCn8jvAY33NDQ4ovFgU5wiWqKYCiPY,898
|
|
53
56
|
isar/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
54
57
|
isar/services/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
55
58
|
isar/services/auth/azure_credentials.py,sha256=9PlwGe5FrPRbW2dp0go7LMp8_l_FRvL8xOXotXwzRDo,364
|
|
56
59
|
isar/services/readers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
57
60
|
isar/services/readers/base_reader.py,sha256=_fNd5fb5dFeMtOvfWzIAGO-KIgl3zT19iEuzSjeZNPc,987
|
|
58
61
|
isar/services/service_connections/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
59
|
-
isar/services/service_connections/request_handler.py,sha256=
|
|
62
|
+
isar/services/service_connections/request_handler.py,sha256=0LxC0lu_HXeEf_xmJWjfEsh14oAUI97cpG1IWtBlcs4,4278
|
|
60
63
|
isar/services/service_connections/mqtt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
61
64
|
isar/services/service_connections/mqtt/mqtt_client.py,sha256=g5RJ85_dsZlHgj6saG2w0sTSetvGFWI4PW4zsb0j9DE,3516
|
|
62
65
|
isar/services/service_connections/mqtt/robot_info_publisher.py,sha256=7g4N1557ZrxnD3dXXbsI6XLvctTLiRmJOvPlEBr2PGk,1226
|
|
@@ -68,7 +71,7 @@ isar/services/utilities/queue_utilities.py,sha256=Pw3hehSwkXJNeDv-bDVDfs58VOwtt3
|
|
|
68
71
|
isar/services/utilities/scheduling_utilities.py,sha256=6EQ5G9KpBPf2dM6owH3NmxATzZe6I2oUuC7lxs3dKyM,8371
|
|
69
72
|
isar/services/utilities/threaded_request.py,sha256=py4G-_RjnIdHljmKFAcQ6ddqMmp-ZYV39Ece-dqRqjs,1874
|
|
70
73
|
isar/state_machine/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
71
|
-
isar/state_machine/state_machine.py,sha256=
|
|
74
|
+
isar/state_machine/state_machine.py,sha256=SSVPxn0OrfKTL3oOzB6RJcULZWVRot_h2UL6js94UOQ,19379
|
|
72
75
|
isar/state_machine/states_enum.py,sha256=HVg2xjZTbiqdesr0rhwl1nlj97GzgI3YQNAr3O7rcMk,272
|
|
73
76
|
isar/state_machine/states/__init__.py,sha256=7JdcGIUexNK-7nkm4vkVhgWJqjZ5VDcbc0FkmZr5jfo,207
|
|
74
77
|
isar/state_machine/states/idle.py,sha256=_0MtK8Wb305agTg4J9t2x-eUq3cnXg3KSP6J6HOM3ps,1229
|
|
@@ -81,10 +84,10 @@ isar/state_machine/states/stop_step.py,sha256=nU49HfGHFBSadLCoFn7MYecyR1OytHvDS4
|
|
|
81
84
|
isar/storage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
82
85
|
isar/storage/blob_storage.py,sha256=LbOIK1J_rQAq_xbe5wdFSWYmmvUDRmTgEWpVzXkmzDc,2899
|
|
83
86
|
isar/storage/local_storage.py,sha256=6hgGYI3l-VrHAnNHp8_UT7ANrknHQuAzCNfeic1eVX0,1843
|
|
84
|
-
isar/storage/slimm_storage.py,sha256=
|
|
87
|
+
isar/storage/slimm_storage.py,sha256=eOOyeJTitxyACD9WlURsTEym30dnYA7eAR2gplb6JSs,8670
|
|
85
88
|
isar/storage/storage_interface.py,sha256=GsfTjSW-dJrp4N9WlxopsN7ElMfLnvP5FCJSFfT09vM,741
|
|
86
89
|
isar/storage/uploader.py,sha256=NNvXYq9RIHf-w8XNdocgNamgzMNrOCfFwAOENi11klE,4719
|
|
87
|
-
isar/storage/utilities.py,sha256=
|
|
90
|
+
isar/storage/utilities.py,sha256=k7DmNfB7Een3LQF117UNigkLkdU0VZBBFA-k9CtsxFE,2827
|
|
88
91
|
robot_interface/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
89
92
|
robot_interface/robot_interface.py,sha256=ovOcfzGF3HLNpaI4lm5rOrC4GuqnwvIaJT0_ceRQSVU,4143
|
|
90
93
|
robot_interface/test_robot_interface.py,sha256=FV1urn7SbsMyWBIcTKjsBwAG4IsXeZ6pLHE0mA9EGGs,692
|
|
@@ -94,10 +97,10 @@ robot_interface/models/exceptions/robot_exceptions.py,sha256=EN-3oIEptqMUpyMscoT
|
|
|
94
97
|
robot_interface/models/initialize/__init__.py,sha256=rz5neEDr59GDbzzI_FF0DId-C-I-50l113P-h-C_QBY,48
|
|
95
98
|
robot_interface/models/initialize/initialize_params.py,sha256=UcsBm8aFgxIojgYMadaa6yOhvYXxTkCuCbjGuZexfuI,171
|
|
96
99
|
robot_interface/models/inspection/__init__.py,sha256=tMn-ka5JxcIDm-So-gUuS5Xod4uwiCMJkcnxsLaRv3k,256
|
|
97
|
-
robot_interface/models/inspection/inspection.py,sha256=
|
|
100
|
+
robot_interface/models/inspection/inspection.py,sha256=oQ--NRTctg7NKa3FtSj537doHkbljhZ3u6WSaJEMs8s,1410
|
|
98
101
|
robot_interface/models/mission/__init__.py,sha256=A-o1zkVBCS4wmAUTg6jYW-Md67nKY8nBFFDfIjCG1WE,201
|
|
99
102
|
robot_interface/models/mission/status.py,sha256=0-HVdMmxDIqDRdtlxe9Z-1KIcZu5baixnrMP6fgYZ-Y,332
|
|
100
|
-
robot_interface/models/mission/step.py,sha256=
|
|
103
|
+
robot_interface/models/mission/step.py,sha256=ZzR8DM1TCvobyq47kdIZx3SB3ez9DpVVbMDL_xtuH4k,3952
|
|
101
104
|
robot_interface/models/robots/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
102
105
|
robot_interface/models/robots/robot_model.py,sha256=pZQsqhn9hh6XE3EjMZhWMzYqg5oJ4CJ4CXeOASKvEf8,452
|
|
103
106
|
robot_interface/telemetry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -105,8 +108,8 @@ robot_interface/telemetry/mqtt_client.py,sha256=zDDbnPiBCWNnTJQWBG03Y_HutOs_ag5W
|
|
|
105
108
|
robot_interface/telemetry/payloads.py,sha256=1Y_RPue9plHmgVA6GZ4wRHXfTGghYGaQndMMdtrmFJg,960
|
|
106
109
|
robot_interface/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
107
110
|
robot_interface/utilities/json_service.py,sha256=nU2Q_3P9Fq9hs6F_wtUjWtHfl_g1Siy-yDhXXSKwHwg,1018
|
|
108
|
-
isar-1.
|
|
109
|
-
isar-1.
|
|
110
|
-
isar-1.
|
|
111
|
-
isar-1.
|
|
112
|
-
isar-1.
|
|
111
|
+
isar-1.12.0.dist-info/LICENSE,sha256=3fc2-ebLwHWwzfQbulGNRdcNob3SBQeCfEVUDYxsuqw,14058
|
|
112
|
+
isar-1.12.0.dist-info/METADATA,sha256=Ot81RoweIL0xjx6Edeg8VewWnF9JW76d_we5DH5a_tg,14690
|
|
113
|
+
isar-1.12.0.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
|
|
114
|
+
isar-1.12.0.dist-info/top_level.txt,sha256=UwIML2RtuQKCyJJkatcSnyp6-ldDjboB9k9JgKipO-U,21
|
|
115
|
+
isar-1.12.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from abc import ABC
|
|
2
2
|
from dataclasses import dataclass, field
|
|
3
3
|
from datetime import datetime
|
|
4
|
-
from typing import Optional, Type
|
|
4
|
+
from typing import List, Optional, Type
|
|
5
5
|
from uuid import UUID, uuid4
|
|
6
6
|
|
|
7
7
|
from alitra import Pose
|
|
@@ -18,8 +18,9 @@ class InspectionMetadata(ABC):
|
|
|
18
18
|
start_time: datetime
|
|
19
19
|
time_indexed_pose: TimeIndexedPose
|
|
20
20
|
file_type: str
|
|
21
|
+
analysis: Optional[List] = field(default_factory=list, init=False)
|
|
21
22
|
tag_id: Optional[str] = field(default=None, init=False)
|
|
22
|
-
additional: Optional[dict] = field(
|
|
23
|
+
additional: Optional[dict] = field(default_factory=dict, init=False)
|
|
23
24
|
|
|
24
25
|
|
|
25
26
|
@dataclass
|
|
@@ -48,42 +49,22 @@ class Inspection:
|
|
|
48
49
|
metadata: InspectionMetadata
|
|
49
50
|
data: Optional[bytes] = field(default=None, init=False)
|
|
50
51
|
|
|
51
|
-
@staticmethod
|
|
52
|
-
def get_metadata_type() -> Type[InspectionMetadata]:
|
|
53
|
-
return InspectionMetadata
|
|
54
|
-
|
|
55
52
|
|
|
56
53
|
@dataclass
|
|
57
54
|
class Image(Inspection):
|
|
58
55
|
metadata: ImageMetadata
|
|
59
56
|
|
|
60
|
-
@staticmethod
|
|
61
|
-
def get_metadata_type() -> Type[InspectionMetadata]:
|
|
62
|
-
return ImageMetadata
|
|
63
|
-
|
|
64
57
|
|
|
65
58
|
@dataclass
|
|
66
59
|
class ThermalImage(Inspection):
|
|
67
60
|
metadata: ThermalImageMetadata
|
|
68
61
|
|
|
69
|
-
@staticmethod
|
|
70
|
-
def get_metadata_type() -> Type[InspectionMetadata]:
|
|
71
|
-
return ThermalImageMetadata
|
|
72
|
-
|
|
73
62
|
|
|
74
63
|
@dataclass
|
|
75
64
|
class Video(Inspection):
|
|
76
65
|
metadata: VideoMetadata
|
|
77
66
|
|
|
78
|
-
@staticmethod
|
|
79
|
-
def get_metadata_type() -> Type[InspectionMetadata]:
|
|
80
|
-
return VideoMetadata
|
|
81
|
-
|
|
82
67
|
|
|
83
68
|
@dataclass
|
|
84
69
|
class ThermalVideo(Inspection):
|
|
85
70
|
metadata: ThermalVideoMetadata
|
|
86
|
-
|
|
87
|
-
@staticmethod
|
|
88
|
-
def get_metadata_type() -> Type[InspectionMetadata]:
|
|
89
|
-
return ThermalVideoMetadata
|
|
@@ -1,16 +1,10 @@
|
|
|
1
1
|
from dataclasses import dataclass, field
|
|
2
|
-
from typing import Any, List, Literal, Optional,
|
|
2
|
+
from typing import Any, List, Literal, Optional, Union
|
|
3
3
|
from uuid import UUID, uuid4
|
|
4
4
|
|
|
5
5
|
from alitra import Pose, Position
|
|
6
6
|
|
|
7
|
-
from robot_interface.models.inspection.inspection import
|
|
8
|
-
Image,
|
|
9
|
-
Inspection,
|
|
10
|
-
ThermalImage,
|
|
11
|
-
ThermalVideo,
|
|
12
|
-
Video,
|
|
13
|
-
)
|
|
7
|
+
from robot_interface.models.inspection.inspection import Inspection
|
|
14
8
|
from robot_interface.models.mission.status import StepStatus
|
|
15
9
|
|
|
16
10
|
|
|
@@ -63,12 +57,8 @@ class InspectionStep(Step):
|
|
|
63
57
|
inspections: List[Inspection] = field(default_factory=list, init=False)
|
|
64
58
|
tag_id: Optional[str] = field(default=None, init=False)
|
|
65
59
|
type = "inspection_type"
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
def get_inspection_type() -> Type[Inspection]:
|
|
69
|
-
return Inspection
|
|
70
|
-
|
|
71
|
-
pass
|
|
60
|
+
analysis: Optional[List] = field(default_factory=list, init=False)
|
|
61
|
+
metadata: Optional[dict] = field(default_factory=dict, init=False)
|
|
72
62
|
|
|
73
63
|
|
|
74
64
|
@dataclass
|
|
@@ -118,10 +108,6 @@ class TakeImage(InspectionStep):
|
|
|
118
108
|
target: Position
|
|
119
109
|
type: Literal["take_image"] = "take_image"
|
|
120
110
|
|
|
121
|
-
@staticmethod
|
|
122
|
-
def get_inspection_type() -> Type[Inspection]:
|
|
123
|
-
return Image
|
|
124
|
-
|
|
125
111
|
|
|
126
112
|
@dataclass
|
|
127
113
|
class TakeThermalImage(InspectionStep):
|
|
@@ -132,10 +118,6 @@ class TakeThermalImage(InspectionStep):
|
|
|
132
118
|
target: Position
|
|
133
119
|
type: Literal["take_thermal_image"] = "take_thermal_image"
|
|
134
120
|
|
|
135
|
-
@staticmethod
|
|
136
|
-
def get_inspection_type() -> Type[Inspection]:
|
|
137
|
-
return ThermalImage
|
|
138
|
-
|
|
139
121
|
|
|
140
122
|
@dataclass
|
|
141
123
|
class TakeVideo(InspectionStep):
|
|
@@ -149,10 +131,6 @@ class TakeVideo(InspectionStep):
|
|
|
149
131
|
duration: float
|
|
150
132
|
type: Literal["take_video"] = "take_video"
|
|
151
133
|
|
|
152
|
-
@staticmethod
|
|
153
|
-
def get_inspection_type() -> Type[Inspection]:
|
|
154
|
-
return Video
|
|
155
|
-
|
|
156
134
|
|
|
157
135
|
@dataclass
|
|
158
136
|
class TakeThermalVideo(InspectionStep):
|
|
@@ -166,10 +144,6 @@ class TakeThermalVideo(InspectionStep):
|
|
|
166
144
|
duration: float
|
|
167
145
|
type: Literal["take_thermal_video"] = "take_thermal_video"
|
|
168
146
|
|
|
169
|
-
@staticmethod
|
|
170
|
-
def get_inspection_type() -> Type[Inspection]:
|
|
171
|
-
return ThermalVideo
|
|
172
|
-
|
|
173
147
|
|
|
174
148
|
STEPS = Union[
|
|
175
149
|
DriveToPose,
|