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 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(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: isar
3
- Version: 1.25.7
3
+ Version: 1.25.8
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
@@ -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=OH-E2L8ykqbO1eDPFAgR7P-xJielhy9zKfrQs4Q85kE,14247
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=QlL3iXnA1LyeyygA2yUw6FDxG9_30vPRVjTVwjcHyH4,9358
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=9S7OtFCfO0hR9gWtj2u2oqa2Hxj9ynpcXxgqdk5liQ4,11328
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=QZBDQiOmpb4C7nNCf1PaCWwpvAc8jrhwHSznOe2YhX8,842
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=8qyobH4DJRlqdwt4lwo1k6zGexh-ccJjF7106WwJsnI,5431
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.7.dist-info/LICENSE,sha256=3fc2-ebLwHWwzfQbulGNRdcNob3SBQeCfEVUDYxsuqw,14058
112
- isar-1.25.7.dist-info/METADATA,sha256=ZiBfMORyNRsG_yt-gr4V0D_AmHOPksWV7LlNtRdKljY,30578
113
- isar-1.25.7.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
114
- isar-1.25.7.dist-info/entry_points.txt,sha256=TFam7uNNw7J0iiDYzsH2gfG0u1eV1wh3JTw_HkhgKLk,49
115
- isar-1.25.7.dist-info/top_level.txt,sha256=UwIML2RtuQKCyJJkatcSnyp6-ldDjboB9k9JgKipO-U,21
116
- isar-1.25.7.dist-info/RECORD,,
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