Skip to content

Commit

Permalink
Remove unused initial_pose
Browse files Browse the repository at this point in the history
  • Loading branch information
Eddasol committed Feb 6, 2025
1 parent c0c9617 commit 8a59a59
Show file tree
Hide file tree
Showing 6 changed files with 14 additions and 57 deletions.
33 changes: 3 additions & 30 deletions src/isar/apis/schedule/scheduling_controller.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,6 @@ def start_mission_by_id(
title="Mission ID",
description="ID-number for predefined mission",
),
initial_pose: Optional[InputPose] = Body(
default=None,
description="The starting point of the mission. Used for initial "
"localization of robot",
embed=True,
),
return_pose: Optional[InputPose] = Body(
default=None,
description="End pose of the mission. The robot return to the specified "
Expand All @@ -72,15 +66,9 @@ def start_mission_by_id(
mission=mission, robot_capabilities=robot_settings.CAPABILITIES
)

initial_pose_alitra: Optional[Pose] = (
initial_pose.to_alitra_pose() if initial_pose else None
)

self.logger.info(f"Starting mission with ISAR Mission ID: '{mission.id}'")

self.scheduling_utilities.start_mission(
mission=mission, initial_pose=initial_pose_alitra
)
self.scheduling_utilities.start_mission(mission=mission)

return self._api_response(mission)

Expand All @@ -92,12 +80,6 @@ def start_mission(
title="Mission Definition",
description="Description of the mission in json format",
),
initial_pose: Optional[InputPose] = Body(
default=None,
description="The starting point of the mission. Used for initial "
"localization of robot",
embed=True,
),
return_pose: Optional[InputPose] = Body(
default=None,
description="End pose of the mission. The robot return to the specified "
Expand Down Expand Up @@ -135,14 +117,8 @@ def start_mission(
mission=mission, robot_capabilities=robot_settings.CAPABILITIES
)

initial_pose_alitra: Optional[Pose] = (
initial_pose.to_alitra_pose() if initial_pose else None
)

self.logger.info(f"Starting mission: {mission.id}")
self.scheduling_utilities.start_mission(
mission=mission, initial_pose=initial_pose_alitra
)
self.scheduling_utilities.start_mission(mission=mission)
return self._api_response(mission)

def pause_mission(self) -> ControlMissionResponse:
Expand Down Expand Up @@ -245,10 +221,7 @@ def start_move_arm_mission(
self.logger.info(
f"Starting move arm mission with ISAR Mission ID: '{mission.id}'"
)
self.scheduling_utilities.start_mission(
mission=mission,
initial_pose=None,
)
self.scheduling_utilities.start_mission(mission=mission)
return self._api_response(mission)

def _api_response(self, mission: Mission) -> StartMissionResponse:
Expand Down
4 changes: 0 additions & 4 deletions src/isar/models/communication/message.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,8 @@
from dataclasses import dataclass
from typing import Optional

from alitra import Pose

from robot_interface.models.mission.mission import Mission


@dataclass
class StartMissionMessage:
mission: Mission
initial_pose: Optional[Pose]
9 changes: 2 additions & 7 deletions src/isar/services/utilities/scheduling_utilities.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,8 @@
from copy import deepcopy
from http import HTTPStatus
from queue import Empty
from typing import Any, List, Optional, Set
from typing import Any, List, Set

from alitra import Pose
from fastapi import HTTPException
from injector import inject
from requests import HTTPError
Expand Down Expand Up @@ -141,7 +140,6 @@ def verify_state_machine_ready_to_receive_mission(self, state: States) -> bool:
def start_mission(
self,
mission: Mission,
initial_pose: Optional[Pose],
) -> None:
"""Start mission
Expand All @@ -152,10 +150,7 @@ def start_mission(
"""
try:
self._send_command(
StartMissionMessage(
mission=deepcopy(mission),
initial_pose=initial_pose,
),
StartMissionMessage(mission=deepcopy(mission)),
self.queues.start_mission,
)
except QueueTimeoutError:
Expand Down
8 changes: 2 additions & 6 deletions src/isar/state_machine/state_machine.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
from datetime import datetime, timezone
from typing import Deque, List, Optional

from alitra import Pose
from injector import inject
from transitions import Machine
from transitions.core import State
Expand Down Expand Up @@ -205,7 +204,6 @@ def __init__(

self.current_mission: Optional[Mission] = None
self.current_task: Optional[TASKS] = None
self.initial_pose: Optional[Pose] = None

self.current_state: State = States(self.state) # type: ignore

Expand Down Expand Up @@ -380,17 +378,15 @@ def reset_state_machine(self) -> None:
self.logger.info("Resetting state machine")
self.current_task = None
self.current_mission = None
self.initial_pose = None

def start_mission(self, mission: Mission, initial_pose: Pose):
def start_mission(self, mission: Mission):
"""Starts a scheduled mission."""
self.current_mission = mission
self.initial_pose = initial_pose

self.task_selector.initialize(tasks=self.current_mission.tasks)

def get_initialize_params(self):
return InitializeParams(initial_pose=self.initial_pose)
return InitializeParams()

def should_start_mission(self) -> Optional[StartMissionMessage]:
try:
Expand Down
5 changes: 1 addition & 4 deletions src/isar/state_machine/states/idle.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,10 +58,7 @@ def _run(self) -> None:
self.state_machine.should_start_mission()
)
if start_mission:
self.state_machine.start_mission(
mission=start_mission.mission,
initial_pose=start_mission.initial_pose,
)
self.state_machine.start_mission(mission=start_mission.mission)
transition = self.state_machine.mission_started # type: ignore
break
time.sleep(self.state_machine.sleep_time)
Expand Down
12 changes: 6 additions & 6 deletions tests/isar/state_machine/test_state_machine.py
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ def test_state_machine_transitions_when_running_full_mission(
mission: Mission = Mission(name="Dummy misson", tasks=[task_1, task_2])

scheduling_utilities: SchedulingUtilities = injector.get(SchedulingUtilities)
scheduling_utilities.start_mission(mission=mission, initial_pose=None)
scheduling_utilities.start_mission(mission=mission)
time.sleep(0.21) # Slightly more than the StateMachine sleep time

assert state_machine_thread.state_machine.transitions_list == deque(
Expand Down Expand Up @@ -123,7 +123,7 @@ def test_state_machine_failed_dependency(
state_machine_thread.start()

scheduling_utilities: SchedulingUtilities = injector.get(SchedulingUtilities)
scheduling_utilities.start_mission(mission=mission, initial_pose=None)
scheduling_utilities.start_mission(mission=mission)
time.sleep(0.21) # Allow the state machine to transition through the mission

assert state_machine_thread.state_machine.transitions_list == deque(
Expand All @@ -147,7 +147,7 @@ def test_state_machine_with_successful_collection(
mission: Mission = Mission(name="Dummy misson", tasks=[MockTask.take_image()])
scheduling_utilities: SchedulingUtilities = injector.get(SchedulingUtilities)

scheduling_utilities.start_mission(mission=mission, initial_pose=None)
scheduling_utilities.start_mission(mission=mission)
time.sleep(0.11) # Slightly more than the StateMachine sleep time

expected_stored_items = 1
Expand Down Expand Up @@ -175,7 +175,7 @@ def test_state_machine_with_unsuccessful_collection(
mission: Mission = Mission(name="Dummy misson", tasks=[MockTask.take_image()])
scheduling_utilities: SchedulingUtilities = injector.get(SchedulingUtilities)

scheduling_utilities.start_mission(mission=mission, initial_pose=None)
scheduling_utilities.start_mission(mission=mission)
time.sleep(0.11) # Slightly more than the StateMachine sleep time

expected_stored_items = 0
Expand Down Expand Up @@ -203,7 +203,7 @@ def test_state_machine_with_successful_mission_stop(
mocker.patch.object(MockRobot, "task_status", return_value=TaskStatus.InProgress)

scheduling_utilities: SchedulingUtilities = injector.get(SchedulingUtilities)
scheduling_utilities.start_mission(mission=mission, initial_pose=None)
scheduling_utilities.start_mission(mission=mission)
time.sleep(0.11) # Slightly more than the StateMachine sleep time
scheduling_utilities.stop_mission()

Expand Down Expand Up @@ -235,7 +235,7 @@ def test_state_machine_with_unsuccessful_mission_stop(

state_machine_thread.start()

scheduling_utilities.start_mission(mission=mission, initial_pose=None)
scheduling_utilities.start_mission(mission=mission)
time.sleep(0.11) # Slightly more than the StateMachine sleep time
scheduling_utilities.stop_mission()

Expand Down

0 comments on commit 8a59a59

Please sign in to comment.