From 3578a0dfa178e7fad357a02a87d83018209c150b Mon Sep 17 00:00:00 2001 From: Marina Moreira <67443181+marinagmoreira@users.noreply.github.com> Date: Thu, 1 Aug 2024 07:35:12 -0700 Subject: [PATCH] Release 0.2.11 (#172) * Release 0.2.11 * trying to make command_astrobee not as heavy * adding nice to python script * final map configs, no teblid to teblid change --- RELEASE.md | 4 ++++ .../data/granite_survey_static.yaml | 2 +- .../survey_manager/data/iss_survey_static.yaml | 4 ++-- .../src/survey_manager/command_astrobee.py | 18 ++++++++++++++++-- debian/changelog | 6 ++++++ isaac.doxyfile | 2 +- 6 files changed, 30 insertions(+), 6 deletions(-) diff --git a/RELEASE.md b/RELEASE.md index a981101a..5d1972d9 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1,5 +1,9 @@ # Releases +## Release 0.2.11 + + * ISAAC 16 prep + ## Release 0.2.10 * ISAAC 15 prep diff --git a/astrobee/survey/survey_manager/data/granite_survey_static.yaml b/astrobee/survey/survey_manager/data/granite_survey_static.yaml index 7deb0dc6..3735fcb0 100644 --- a/astrobee/survey/survey_manager/data/granite_survey_static.yaml +++ b/astrobee/survey/survey_manager/data/granite_survey_static.yaml @@ -72,7 +72,7 @@ bays_move: maps: gra: "/data/maps/granite.map" - gro: "/data/maps/iss.map" + gro: "/res/maps/iss.map" exposure: gra: 175 diff --git a/astrobee/survey/survey_manager/data/iss_survey_static.yaml b/astrobee/survey/survey_manager/data/iss_survey_static.yaml index 7da65a00..33d21569 100644 --- a/astrobee/survey/survey_manager/data/iss_survey_static.yaml +++ b/astrobee/survey/survey_manager/data/iss_survey_static.yaml @@ -95,8 +95,8 @@ bays_pano: maps: jem: "/data/maps/20240320_lam.map" - nod2: "/data/maps/20240205_usl_abad.map" - usl: "/data/maps/20240205_usl_abad.map" + nod2: "/data/maps/20240531_isaac15_best.map" + usl: "/data/maps/20240531_ISAAC15_USL-ONLY.map" exposure: jem: 175 diff --git a/astrobee/survey/survey_manager/src/survey_manager/command_astrobee.py b/astrobee/survey/survey_manager/src/survey_manager/command_astrobee.py index e0e3e73f..72e57a7d 100755 --- a/astrobee/survey/survey_manager/src/survey_manager/command_astrobee.py +++ b/astrobee/survey/survey_manager/src/survey_manager/command_astrobee.py @@ -49,6 +49,7 @@ yaml_action_from_pddl, ) +os.nice(15) # Constants MAX_COUNTER = 10 CHUNK_SIZE = 1024 @@ -174,6 +175,7 @@ def write_output_once(self, output): self.sock_output_connected = True except socket.timeout: + time.sleep(0.1) # Add a small sleep interval at the start of the loop continue try: @@ -193,6 +195,7 @@ def thread_write_output(self, process): output_total = "" try: while not self._stop_event.is_set() and process.poll() is None: + time.sleep(0.1) # Add a small sleep interval at the start of the loop # Get output from process # loginfo("waiting for output") output = process.stdout.readline() @@ -224,6 +227,7 @@ def thread_write_output(self, process): output.encode("ascii", errors="replace")[:CHUNK_SIZE] ) except socket.timeout: + time.sleep(0.1) # Add a small sleep interval continue except (socket.error, BrokenPipeError): loginfo("writer can't send data. Receiver may have disconnected.") @@ -238,15 +242,16 @@ def thread_write_output(self, process): def read_input_once(self) -> str: while not (self.sock_input_connected or self._stop_event.is_set()): - # loginfo("waiting for connection") try: self.sock_input_conn, addr = self.sock_input.accept() self.sock_input_conn.settimeout(1) self.sock_input_connected = True break except socket.timeout: + time.sleep(0.1) # Add a small sleep interval continue while not self._stop_event.is_set(): + time.sleep(0.1) # Add a small sleep interval at the start of the loop try: request = self.sock_input_conn.recv(CHUNK_SIZE).decode( "ascii", errors="replace" @@ -258,6 +263,7 @@ def read_input_once(self) -> str: break loginfo("request") except socket.timeout: + time.sleep(0.1) # Add a small sleep interval continue except ConnectionResetError: # Connection was reset, set sock_input_connected to False @@ -271,22 +277,29 @@ def thread_read_input(self, process): try: while not self._stop_event.is_set(): while not (self.sock_input_connected or self._stop_event.is_set()): - # loginfo("waiting for connection") + time.sleep( + 0.1 + ) # Add a small sleep interval at the start of the loop try: self.sock_input_conn, addr = self.sock_input.accept() self.sock_input_conn.settimeout(1) self.sock_input_connected = True break except socket.timeout: + time.sleep(0.1) # Add a small sleep interval continue while not self._stop_event.is_set(): + time.sleep( + 0.1 + ) # Add a small sleep interval at the start of the loop try: request = self.sock_input_conn.recv(CHUNK_SIZE).decode( "ascii", errors="replace" ) break except socket.timeout: + time.sleep(0.1) # Add a small sleep interval continue except ConnectionResetError: # Connection was reset, set sock_input_connected to False @@ -597,6 +610,7 @@ def wait_plan(self): # got message if self.plan_status_needed is False: return 0 + rospy.sleep(1) return 1 diff --git a/debian/changelog b/debian/changelog index 52685700..7905e95f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +isaac (0.2.11) testing; urgency=medium + + * ISAAC 16 prep + + -- ISAAC Flight Software Tue, 02 Jul 2024 11:10:30 -0700 + isaac (0.2.10) tetsing; urgency=medium * ISAAC 15 prep diff --git a/isaac.doxyfile b/isaac.doxyfile index 3c213054..f3c1f64b 100644 --- a/isaac.doxyfile +++ b/isaac.doxyfile @@ -38,7 +38,7 @@ PROJECT_NAME = "ISAAC" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 0.2.10 +PROJECT_NUMBER = 0.2.11 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a