isar 1.25.7__py3-none-any.whl → 1.25.8__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 +0 -38
- isar/apis/models/start_mission_definition.py +0 -20
- isar/apis/schedule/scheduling_controller.py +0 -55
- {isar-1.25.7.dist-info → isar-1.25.8.dist-info}/METADATA +1 -1
- {isar-1.25.7.dist-info → isar-1.25.8.dist-info}/RECORD +11 -11
- robot_interface/models/mission/mission.py +0 -2
- robot_interface/models/mission/task.py +0 -22
- {isar-1.25.7.dist-info → isar-1.25.8.dist-info}/LICENSE +0 -0
- {isar-1.25.7.dist-info → isar-1.25.8.dist-info}/WHEEL +0 -0
- {isar-1.25.7.dist-info → isar-1.25.8.dist-info}/entry_points.txt +0 -0
- {isar-1.25.7.dist-info → isar-1.25.8.dist-info}/top_level.txt +0 -0
isar/apis/api.py
CHANGED
|
@@ -212,44 +212,6 @@ class API:
|
|
|
212
212
|
},
|
|
213
213
|
},
|
|
214
214
|
)
|
|
215
|
-
router.add_api_route(
|
|
216
|
-
path="/schedule/drive-to",
|
|
217
|
-
endpoint=self.scheduling_controller.drive_to,
|
|
218
|
-
methods=["POST"],
|
|
219
|
-
dependencies=[authentication_dependency],
|
|
220
|
-
summary="Drive to the provided pose",
|
|
221
|
-
deprecated=True,
|
|
222
|
-
responses={
|
|
223
|
-
HTTPStatus.OK.value: {
|
|
224
|
-
"description": "Drive to succesfully started",
|
|
225
|
-
},
|
|
226
|
-
HTTPStatus.CONFLICT.value: {
|
|
227
|
-
"description": "Conflict - Invalid command in the current state",
|
|
228
|
-
},
|
|
229
|
-
HTTPStatus.INTERNAL_SERVER_ERROR.value: {
|
|
230
|
-
"description": "Internal Server Error - Current state of state machine unknown",
|
|
231
|
-
},
|
|
232
|
-
},
|
|
233
|
-
)
|
|
234
|
-
router.add_api_route(
|
|
235
|
-
path="/schedule/start-localization-mission",
|
|
236
|
-
endpoint=self.scheduling_controller.start_localization_mission,
|
|
237
|
-
methods=["POST"],
|
|
238
|
-
dependencies=[authentication_dependency],
|
|
239
|
-
summary="Localize at the provided pose",
|
|
240
|
-
deprecated=True,
|
|
241
|
-
responses={
|
|
242
|
-
HTTPStatus.OK.value: {
|
|
243
|
-
"description": "Localization succesfully started",
|
|
244
|
-
},
|
|
245
|
-
HTTPStatus.CONFLICT.value: {
|
|
246
|
-
"description": "Conflict - Invalid command in the current state",
|
|
247
|
-
},
|
|
248
|
-
HTTPStatus.INTERNAL_SERVER_ERROR.value: {
|
|
249
|
-
"description": "Internal Server Error - Current state of state machine unknown",
|
|
250
|
-
},
|
|
251
|
-
},
|
|
252
|
-
)
|
|
253
215
|
router.add_api_route(
|
|
254
216
|
path="/schedule/move_arm/{arm_pose_literal}",
|
|
255
217
|
endpoint=self.scheduling_controller.start_move_arm_mission,
|
|
@@ -10,8 +10,6 @@ from isar.mission_planner.mission_planner_interface import MissionPlannerError
|
|
|
10
10
|
from robot_interface.models.mission.mission import Mission
|
|
11
11
|
from robot_interface.models.mission.task import (
|
|
12
12
|
TASKS,
|
|
13
|
-
DockingProcedure,
|
|
14
|
-
Localize,
|
|
15
13
|
RecordAudio,
|
|
16
14
|
ReturnToHome,
|
|
17
15
|
TakeImage,
|
|
@@ -34,9 +32,7 @@ class InspectionTypes(str, Enum):
|
|
|
34
32
|
|
|
35
33
|
class TaskType(str, Enum):
|
|
36
34
|
Inspection = "inspection"
|
|
37
|
-
Localization = "localization"
|
|
38
35
|
ReturnToHome = "return_to_home"
|
|
39
|
-
Dock = "dock"
|
|
40
36
|
|
|
41
37
|
|
|
42
38
|
class StartMissionInspectionDefinition(BaseModel):
|
|
@@ -60,8 +56,6 @@ class StartMissionDefinition(BaseModel):
|
|
|
60
56
|
tasks: List[StartMissionTaskDefinition]
|
|
61
57
|
name: Optional[str] = None
|
|
62
58
|
start_pose: Optional[InputPose] = None
|
|
63
|
-
dock: Optional[bool] = Field(default=False)
|
|
64
|
-
undock: Optional[bool] = Field(default=False)
|
|
65
59
|
|
|
66
60
|
|
|
67
61
|
def to_isar_mission(
|
|
@@ -94,20 +88,14 @@ def to_isar_mission(
|
|
|
94
88
|
tasks=isar_tasks,
|
|
95
89
|
name=isar_mission_name,
|
|
96
90
|
start_pose=start_pose,
|
|
97
|
-
dock=start_mission_definition.dock,
|
|
98
|
-
undock=start_mission_definition.undock,
|
|
99
91
|
)
|
|
100
92
|
|
|
101
93
|
|
|
102
94
|
def to_isar_task(task_definition: StartMissionTaskDefinition) -> TASKS:
|
|
103
95
|
if task_definition.type == TaskType.Inspection:
|
|
104
96
|
return to_inspection_task(task_definition)
|
|
105
|
-
elif task_definition.type == TaskType.Localization:
|
|
106
|
-
return to_localization_task(task_definition)
|
|
107
97
|
elif task_definition.type == TaskType.ReturnToHome:
|
|
108
98
|
return create_return_to_home_task(task_definition)
|
|
109
|
-
elif task_definition.type == TaskType.Dock:
|
|
110
|
-
return create_dock_task()
|
|
111
99
|
else:
|
|
112
100
|
raise MissionPlannerError(
|
|
113
101
|
f"Failed to create task: '{task_definition.type}' is not a valid"
|
|
@@ -231,19 +219,11 @@ def to_inspection_task(task_definition: StartMissionTaskDefinition) -> TASKS:
|
|
|
231
219
|
)
|
|
232
220
|
|
|
233
221
|
|
|
234
|
-
def to_localization_task(task_definition: StartMissionTaskDefinition) -> Localize:
|
|
235
|
-
return Localize(localization_pose=task_definition.pose.to_alitra_pose())
|
|
236
|
-
|
|
237
|
-
|
|
238
222
|
def create_return_to_home_task(
|
|
239
223
|
task_definition: StartMissionTaskDefinition,
|
|
240
224
|
) -> ReturnToHome:
|
|
241
225
|
return ReturnToHome(pose=task_definition.pose.to_alitra_pose())
|
|
242
226
|
|
|
243
227
|
|
|
244
|
-
def create_dock_task() -> DockingProcedure:
|
|
245
|
-
return DockingProcedure(behavior="dock")
|
|
246
|
-
|
|
247
|
-
|
|
248
228
|
def _build_mission_name() -> str:
|
|
249
229
|
return f"{settings.PLANT_SHORT_NAME}{settings.ROBOT_NAME}{int(time.time())}"
|
|
@@ -24,7 +24,6 @@ from robot_interface.models.mission.mission import Mission
|
|
|
24
24
|
from robot_interface.models.mission.task import (
|
|
25
25
|
TASKS,
|
|
26
26
|
InspectionTask,
|
|
27
|
-
Localize,
|
|
28
27
|
MoveArm,
|
|
29
28
|
ReturnToHome,
|
|
30
29
|
)
|
|
@@ -203,60 +202,6 @@ class SchedulingController:
|
|
|
203
202
|
)
|
|
204
203
|
return stop_mission_response
|
|
205
204
|
|
|
206
|
-
def drive_to(
|
|
207
|
-
self,
|
|
208
|
-
target_pose: InputPose = Body(
|
|
209
|
-
default=None,
|
|
210
|
-
title="Target Pose",
|
|
211
|
-
description="The target pose for the drive_to task",
|
|
212
|
-
),
|
|
213
|
-
) -> StartMissionResponse:
|
|
214
|
-
self.logger.info("Received request to start new drive-to mission")
|
|
215
|
-
|
|
216
|
-
state: States = self.scheduling_utilities.get_state()
|
|
217
|
-
|
|
218
|
-
self.scheduling_utilities.verify_state_machine_ready_to_receive_mission(state)
|
|
219
|
-
|
|
220
|
-
pose: Pose = target_pose.to_alitra_pose()
|
|
221
|
-
mission: Mission = Mission(
|
|
222
|
-
name="Drive to pose", tasks=[ReturnToHome(pose=pose)]
|
|
223
|
-
)
|
|
224
|
-
|
|
225
|
-
self.logger.info(
|
|
226
|
-
f"Starting drive to mission with ISAR Mission ID: '{mission.id}'"
|
|
227
|
-
)
|
|
228
|
-
self.scheduling_utilities.start_mission(mission=mission, initial_pose=None)
|
|
229
|
-
return self._api_response(mission)
|
|
230
|
-
|
|
231
|
-
def start_localization_mission(
|
|
232
|
-
self,
|
|
233
|
-
localization_pose: InputPose = Body(
|
|
234
|
-
default=None,
|
|
235
|
-
embed=True,
|
|
236
|
-
title="Localization Pose",
|
|
237
|
-
description="The current position of the robot",
|
|
238
|
-
),
|
|
239
|
-
) -> StartMissionResponse:
|
|
240
|
-
self.logger.info("Received request to start new localization mission")
|
|
241
|
-
|
|
242
|
-
state: States = self.scheduling_utilities.get_state()
|
|
243
|
-
|
|
244
|
-
self.scheduling_utilities.verify_state_machine_ready_to_receive_mission(state)
|
|
245
|
-
|
|
246
|
-
pose: Pose = localization_pose.to_alitra_pose()
|
|
247
|
-
mission: Mission = Mission(
|
|
248
|
-
name="Localization mission", tasks=[Localize(localization_pose=pose)]
|
|
249
|
-
)
|
|
250
|
-
|
|
251
|
-
self.logger.info(
|
|
252
|
-
f"Starting localization mission with ISAR Mission ID: '{mission.id}'"
|
|
253
|
-
)
|
|
254
|
-
self.scheduling_utilities.start_mission(
|
|
255
|
-
mission=mission,
|
|
256
|
-
initial_pose=None,
|
|
257
|
-
)
|
|
258
|
-
return self._api_response(mission)
|
|
259
|
-
|
|
260
205
|
def start_move_arm_mission(
|
|
261
206
|
self,
|
|
262
207
|
arm_pose_literal: str = Path(
|
|
@@ -2,13 +2,13 @@ isar/__init__.py,sha256=cH8p8bVveu3FUL6kBhldcSlLaoHgD82Kd0-SwSNfGXw,87
|
|
|
2
2
|
isar/modules.py,sha256=BeBg2kJi1q-7DzupOM3jFloeMScRk7qkNog9-yGwV5c,7355
|
|
3
3
|
isar/script.py,sha256=AHt1azidHit-fX3NnoXxJ5Eas-c30J3hFFOGGVrg084,5916
|
|
4
4
|
isar/apis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
-
isar/apis/api.py,sha256=
|
|
5
|
+
isar/apis/api.py,sha256=ARf7-GsjTSqWj9UOSiEJ1YnSF-fH7Tr0-mkkfL10MZ4,12620
|
|
6
6
|
isar/apis/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
7
|
isar/apis/models/models.py,sha256=HzLaWhjAv0uJRBWipIgYg_F75eaQ5jl9Pi4UnYbDJ-M,1749
|
|
8
|
-
isar/apis/models/start_mission_definition.py,sha256=
|
|
8
|
+
isar/apis/models/start_mission_definition.py,sha256=g9sgXu4RntckDQ87hi-hDTpgzojhJyxAJJGjEvmfg1g,8636
|
|
9
9
|
isar/apis/robot_control/robot_controller.py,sha256=o3WuEV30nduIiKF4pK6oNLUsmHyFal9--umjuDHx7h0,1150
|
|
10
10
|
isar/apis/schedule/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
|
-
isar/apis/schedule/scheduling_controller.py,sha256=
|
|
11
|
+
isar/apis/schedule/scheduling_controller.py,sha256=1ipvPxZWl32TDxFY65ldUdDCvJfhgYxFEQv4eWayFCg,9461
|
|
12
12
|
isar/apis/security/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
13
|
isar/apis/security/authentication.py,sha256=TI8U9Y_L6ihHLMeM50ZONd5EPfuHdw_XMU_Q987W4AY,1975
|
|
14
14
|
isar/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -95,9 +95,9 @@ robot_interface/models/initialize/initialize_params.py,sha256=2eG5Aq5bDKU6tVkaUM
|
|
|
95
95
|
robot_interface/models/inspection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
96
96
|
robot_interface/models/inspection/inspection.py,sha256=Q8vyiTMV2Ws1B4N10kQ3C1AZkck0Mh5pwOyWux7OQms,2318
|
|
97
97
|
robot_interface/models/mission/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
98
|
-
robot_interface/models/mission/mission.py,sha256=
|
|
98
|
+
robot_interface/models/mission/mission.py,sha256=GR_X9-dIf-15oogfv_c6JNIKnTIk5u80rWLNUk95xm0,738
|
|
99
99
|
robot_interface/models/mission/status.py,sha256=48y8HEiT7QQbMLBUBYxXR92iZOrnBOukPZ7o09CCR1Q,686
|
|
100
|
-
robot_interface/models/mission/task.py,sha256=
|
|
100
|
+
robot_interface/models/mission/task.py,sha256=XDbckORORBLuokHm1OQlPPqB6vygsMZEuPTm0rYP9Js,4896
|
|
101
101
|
robot_interface/models/robots/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
102
102
|
robot_interface/models/robots/battery_state.py,sha256=ktOtJ8ltdK0k_i7BoqYfhc5dbOzIG6Oo-uWC67fCWio,98
|
|
103
103
|
robot_interface/models/robots/media.py,sha256=8A-CuuubfngzPprs6zWB9hSaqe3jzgsE8rcCzRX2Uto,227
|
|
@@ -108,9 +108,9 @@ robot_interface/telemetry/payloads.py,sha256=_Ph2f1M5f18fTJ7Jrd3JCeXhfZzg6i3THlF
|
|
|
108
108
|
robot_interface/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
109
109
|
robot_interface/utilities/json_service.py,sha256=nU2Q_3P9Fq9hs6F_wtUjWtHfl_g1Siy-yDhXXSKwHwg,1018
|
|
110
110
|
robot_interface/utilities/uuid_string_factory.py,sha256=_NQIbBQ56w0qqO0MUDP6aPpHbxW7ATRhK8HnQiBSLkc,76
|
|
111
|
-
isar-1.25.
|
|
112
|
-
isar-1.25.
|
|
113
|
-
isar-1.25.
|
|
114
|
-
isar-1.25.
|
|
115
|
-
isar-1.25.
|
|
116
|
-
isar-1.25.
|
|
111
|
+
isar-1.25.8.dist-info/LICENSE,sha256=3fc2-ebLwHWwzfQbulGNRdcNob3SBQeCfEVUDYxsuqw,14058
|
|
112
|
+
isar-1.25.8.dist-info/METADATA,sha256=qfIwJDLO6pRE6TM3V9DhRj-4E1QBeTKx4E3eZyRI_0s,30578
|
|
113
|
+
isar-1.25.8.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
114
|
+
isar-1.25.8.dist-info/entry_points.txt,sha256=TFam7uNNw7J0iiDYzsH2gfG0u1eV1wh3JTw_HkhgKLk,49
|
|
115
|
+
isar-1.25.8.dist-info/top_level.txt,sha256=UwIML2RtuQKCyJJkatcSnyp6-ldDjboB9k9JgKipO-U,21
|
|
116
|
+
isar-1.25.8.dist-info/RECORD,,
|
|
@@ -14,7 +14,5 @@ class Mission(BaseModel):
|
|
|
14
14
|
tasks: List[TASKS] = Field(default_factory=list, frozen=True)
|
|
15
15
|
name: str = Field(frozen=True)
|
|
16
16
|
start_pose: Optional[Pose] = Field(default=None, frozen=True)
|
|
17
|
-
dock: bool = Field(default=False, frozen=True)
|
|
18
|
-
undock: bool = Field(default=False, frozen=True)
|
|
19
17
|
status: MissionStatus = MissionStatus.NotStarted
|
|
20
18
|
error_message: Optional[ErrorMessage] = Field(default=None)
|
|
@@ -20,7 +20,6 @@ from robot_interface.utilities.uuid_string_factory import uuid4_string
|
|
|
20
20
|
|
|
21
21
|
class TaskTypes(str, Enum):
|
|
22
22
|
ReturnToHome = "return_to_home"
|
|
23
|
-
Localize = "localize"
|
|
24
23
|
MoveArm = "move_arm"
|
|
25
24
|
TakeImage = "take_image"
|
|
26
25
|
TakeThermalImage = "take_thermal_image"
|
|
@@ -28,7 +27,6 @@ class TaskTypes(str, Enum):
|
|
|
28
27
|
TakeThermalVideo = "take_thermal_video"
|
|
29
28
|
TakeGasMeasurement = "take_gas_measurement"
|
|
30
29
|
RecordAudio = "record_audio"
|
|
31
|
-
DockingProcedure = "docking_procedure"
|
|
32
30
|
|
|
33
31
|
|
|
34
32
|
class ZoomDescription(BaseModel):
|
|
@@ -71,15 +69,6 @@ class InspectionTask(Task):
|
|
|
71
69
|
return Inspection
|
|
72
70
|
|
|
73
71
|
|
|
74
|
-
class DockingProcedure(Task):
|
|
75
|
-
"""
|
|
76
|
-
Task which causes the robot to dock or undock
|
|
77
|
-
"""
|
|
78
|
-
|
|
79
|
-
behavior: Literal["dock", "undock"] = Field(default=None)
|
|
80
|
-
type: Literal[TaskTypes.DockingProcedure] = TaskTypes.DockingProcedure
|
|
81
|
-
|
|
82
|
-
|
|
83
72
|
class ReturnToHome(Task):
|
|
84
73
|
"""
|
|
85
74
|
Task which cases the robot to return home
|
|
@@ -89,15 +78,6 @@ class ReturnToHome(Task):
|
|
|
89
78
|
type: Literal[TaskTypes.ReturnToHome] = TaskTypes.ReturnToHome
|
|
90
79
|
|
|
91
80
|
|
|
92
|
-
class Localize(Task):
|
|
93
|
-
"""
|
|
94
|
-
Task which causes the robot to localize
|
|
95
|
-
"""
|
|
96
|
-
|
|
97
|
-
localization_pose: Pose = Field(default=None)
|
|
98
|
-
type: Literal[TaskTypes.Localize] = TaskTypes.Localize
|
|
99
|
-
|
|
100
|
-
|
|
101
81
|
class MoveArm(Task):
|
|
102
82
|
"""
|
|
103
83
|
Task which causes the robot to move its arm
|
|
@@ -197,7 +177,6 @@ class TakeGasMeasurement(InspectionTask):
|
|
|
197
177
|
|
|
198
178
|
TASKS = Union[
|
|
199
179
|
ReturnToHome,
|
|
200
|
-
Localize,
|
|
201
180
|
MoveArm,
|
|
202
181
|
TakeImage,
|
|
203
182
|
TakeThermalImage,
|
|
@@ -205,5 +184,4 @@ TASKS = Union[
|
|
|
205
184
|
TakeThermalVideo,
|
|
206
185
|
TakeGasMeasurement,
|
|
207
186
|
RecordAudio,
|
|
208
|
-
DockingProcedure,
|
|
209
187
|
]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|