From 1a94d43f9d99a1c58af46f6c5dc8d8c0f267915a Mon Sep 17 00:00:00 2001 From: Javier Izquierdo Hernandez Date: Mon, 12 May 2025 09:27:05 +0200 Subject: [PATCH 01/21] Add compile --- manager/manager/manager.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/manager/manager/manager.py b/manager/manager/manager.py index 113fc84..d6862c0 100644 --- a/manager/manager/manager.py +++ b/manager/manager/manager.py @@ -295,7 +295,7 @@ def prepare_custom_universe(self, cfg_dict): if cfg_dict["zip"].startswith("data:"): _, _, zip_file = cfg_dict["zip"].partition("base64,") - universe_ref = "/workspace/worlds/" + cfg_dict["name"] + universe_ref = "/workspace/worlds/src/" + cfg_dict["name"] zip_destination = universe_ref + ".zip" with open(zip_destination, "wb") as result: result.write(base64.b64decode(zip_file)) @@ -308,6 +308,15 @@ def prepare_custom_universe(self, cfg_dict): zip_ref = zipfile.ZipFile(zip_destination, "r") zip_ref.extractall(universe_folder + "/") zip_ref.close() + #TODO: compile workspace RUN /bin/bash -c "source /opt/ros/humble/setup.bash; colcon build --symlink-install" + self.application_process = subprocess.Popen( + ["cd /workspace/worlds &&", "colcon build --symlink-install", "cd ../.."], + stdout=sys.stdout, + stderr=subprocess.STDOUT, + bufsize=1024, + universal_newlines=True, + ) + def on_prepare_visualization(self, event): @@ -328,7 +337,7 @@ def on_prepare_visualization(self, event): self.gui_server = Server(2303, self.update) self.gui_server.start() elif self.visualization_type in ["bt_studio", "bt_studio_gz"]: - self.gui_server = FileWatchdog('/tmp/tree_state', self.update_bt_studio) # TODO: change if type bt + self.gui_server = FileWatchdog('/tmp/tree_state', self.update_bt_studio) self.gui_server.start() LogManager.logger.info("Visualization transition finished") @@ -569,7 +578,6 @@ def on_code_autocomplete(self, event): except Exception as e: LogManager.logger.info('Error formating code' + str(e)) - def on_run_application(self, event): def find_docker_console(): """Search console in docker different of /dev/pts/0""" From f0f6d7993c6f5c18e357655ba05b9eb78c01b474 Mon Sep 17 00:00:00 2001 From: Javier Izquierdo Hernandez Date: Mon, 12 May 2025 09:40:16 +0200 Subject: [PATCH 02/21] Change order --- manager/manager/manager.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/manager/manager/manager.py b/manager/manager/manager.py index d6862c0..5315856 100644 --- a/manager/manager/manager.py +++ b/manager/manager/manager.py @@ -296,15 +296,15 @@ def prepare_custom_universe(self, cfg_dict): _, _, zip_file = cfg_dict["zip"].partition("base64,") universe_ref = "/workspace/worlds/src/" + cfg_dict["name"] - zip_destination = universe_ref + ".zip" - with open(zip_destination, "wb") as result: - result.write(base64.b64decode(zip_file)) - # Create the folder if it doesn't exist universe_folder = universe_ref + "/" if not os.path.exists(universe_folder): os.makedirs(universe_folder) + zip_destination = universe_ref + ".zip" + with open(zip_destination, "wb") as result: + result.write(base64.b64decode(zip_file)) + zip_ref = zipfile.ZipFile(zip_destination, "r") zip_ref.extractall(universe_folder + "/") zip_ref.close() From 20699cec91cc8e3b2abf035556b6ebba61800942 Mon Sep 17 00:00:00 2001 From: Javier Izquierdo Hernandez Date: Mon, 12 May 2025 09:55:12 +0200 Subject: [PATCH 03/21] Change command --- manager/manager/manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manager/manager/manager.py b/manager/manager/manager.py index 5315856..a4b1221 100644 --- a/manager/manager/manager.py +++ b/manager/manager/manager.py @@ -310,7 +310,7 @@ def prepare_custom_universe(self, cfg_dict): zip_ref.close() #TODO: compile workspace RUN /bin/bash -c "source /opt/ros/humble/setup.bash; colcon build --symlink-install" self.application_process = subprocess.Popen( - ["cd /workspace/worlds &&", "colcon build --symlink-install", "cd ../.."], + "cd /workspace/worlds && colcon build --symlink-install && cd ../..", stdout=sys.stdout, stderr=subprocess.STDOUT, bufsize=1024, From d3396119dc22905273ee1f5a54e18d6d96c526e9 Mon Sep 17 00:00:00 2001 From: Javier Izquierdo Hernandez Date: Mon, 12 May 2025 10:04:14 +0200 Subject: [PATCH 04/21] TEst again --- manager/manager/manager.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/manager/manager/manager.py b/manager/manager/manager.py index a4b1221..228f1c9 100644 --- a/manager/manager/manager.py +++ b/manager/manager/manager.py @@ -309,13 +309,14 @@ def prepare_custom_universe(self, cfg_dict): zip_ref.extractall(universe_folder + "/") zip_ref.close() #TODO: compile workspace RUN /bin/bash -c "source /opt/ros/humble/setup.bash; colcon build --symlink-install" - self.application_process = subprocess.Popen( - "cd /workspace/worlds && colcon build --symlink-install && cd ../..", - stdout=sys.stdout, - stderr=subprocess.STDOUT, - bufsize=1024, - universal_newlines=True, - ) + os.system("cd /workspace/worlds && colcon build --symlink-install && cd ../..") + # subprocess.Popen( + # "cd /workspace/worlds && colcon build --symlink-install && cd ../..", + # stdout=sys.stdout, + # stderr=subprocess.STDOUT, + # bufsize=1024, + # universal_newlines=True, + # ) def on_prepare_visualization(self, event): From e272cf95dd9f3b4adfdd3261fb4b8d120d86de0f Mon Sep 17 00:00:00 2001 From: Javier Izquierdo Hernandez Date: Mon, 12 May 2025 10:11:16 +0200 Subject: [PATCH 05/21] Add source --- manager/manager/manager.py | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/manager/manager/manager.py b/manager/manager/manager.py index 228f1c9..aad306a 100644 --- a/manager/manager/manager.py +++ b/manager/manager/manager.py @@ -308,16 +308,8 @@ def prepare_custom_universe(self, cfg_dict): zip_ref = zipfile.ZipFile(zip_destination, "r") zip_ref.extractall(universe_folder + "/") zip_ref.close() - #TODO: compile workspace RUN /bin/bash -c "source /opt/ros/humble/setup.bash; colcon build --symlink-install" - os.system("cd /workspace/worlds && colcon build --symlink-install && cd ../..") - # subprocess.Popen( - # "cd /workspace/worlds && colcon build --symlink-install && cd ../..", - # stdout=sys.stdout, - # stderr=subprocess.STDOUT, - # bufsize=1024, - # universal_newlines=True, - # ) + os.system("cd /workspace/worlds && colcon build --symlink-install && source install/setup.bash && cd ../..") def on_prepare_visualization(self, event): From 6d7a8ab8ec6d2dc09ab3a1ed80b8c24c7a5049bb Mon Sep 17 00:00:00 2001 From: Javier Izquierdo Hernandez Date: Wed, 14 May 2025 10:59:15 +0200 Subject: [PATCH 06/21] Add ros source --- manager/manager/manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manager/manager/manager.py b/manager/manager/manager.py index aad306a..e3ec403 100644 --- a/manager/manager/manager.py +++ b/manager/manager/manager.py @@ -309,7 +309,7 @@ def prepare_custom_universe(self, cfg_dict): zip_ref.extractall(universe_folder + "/") zip_ref.close() - os.system("cd /workspace/worlds && colcon build --symlink-install && source install/setup.bash && cd ../..") + os.system("cd /workspace/worlds && source /opt/ros/humble/setup.bash && colcon build --symlink-install && source install/setup.bash && cd ../..") def on_prepare_visualization(self, event): From cf1df78563d312b050545c191bc48e029f0d9b37 Mon Sep 17 00:00:00 2001 From: Javier Izquierdo Hernandez Date: Wed, 14 May 2025 11:17:02 +0200 Subject: [PATCH 07/21] Test again --- manager/manager/manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manager/manager/manager.py b/manager/manager/manager.py index e3ec403..97ef4b3 100644 --- a/manager/manager/manager.py +++ b/manager/manager/manager.py @@ -309,7 +309,7 @@ def prepare_custom_universe(self, cfg_dict): zip_ref.extractall(universe_folder + "/") zip_ref.close() - os.system("cd /workspace/worlds && source /opt/ros/humble/setup.bash && colcon build --symlink-install && source install/setup.bash && cd ../..") + os.system('/bin/bash -c "cd /workspace/worlds;source /opt/ros/humble/setup.bash; colcon build --symlink-install; source install/setup.bash; cd ../..') def on_prepare_visualization(self, event): From 6c2d2b26aba7f9066b0738fb09065fff40a8f6f7 Mon Sep 17 00:00:00 2001 From: Javier Izquierdo Hernandez Date: Wed, 14 May 2025 11:24:37 +0200 Subject: [PATCH 08/21] Fix typo --- manager/manager/manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manager/manager/manager.py b/manager/manager/manager.py index 97ef4b3..368bb8c 100644 --- a/manager/manager/manager.py +++ b/manager/manager/manager.py @@ -309,7 +309,7 @@ def prepare_custom_universe(self, cfg_dict): zip_ref.extractall(universe_folder + "/") zip_ref.close() - os.system('/bin/bash -c "cd /workspace/worlds;source /opt/ros/humble/setup.bash; colcon build --symlink-install; source install/setup.bash; cd ../..') + os.system('/bin/bash -c "cd /workspace/worlds; source /opt/ros/humble/setup.bash; colcon build --symlink-install; source install/setup.bash; cd ../.."') def on_prepare_visualization(self, event): From bc3d9ba02815ae94c40259536058b1120c2909da Mon Sep 17 00:00:00 2001 From: Javier Izquierdo Hernandez Date: Wed, 14 May 2025 12:24:18 +0200 Subject: [PATCH 09/21] Add debug trace --- manager/manager/docker_thread/docker_thread.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manager/manager/docker_thread/docker_thread.py b/manager/manager/docker_thread/docker_thread.py index 9f5564b..906bac6 100644 --- a/manager/manager/docker_thread/docker_thread.py +++ b/manager/manager/docker_thread/docker_thread.py @@ -3,7 +3,7 @@ import subprocess import os import signal - +import sys @@ -16,7 +16,7 @@ def __init__(self, cmd, shell=True): self.shell=shell def run(self): - self.process = subprocess.Popen(self.cmd, shell=self.shell, stdout=subprocess.PIPE, stderr=subprocess.PIPE, start_new_session=True, + self.process = subprocess.Popen(self.cmd, shell=self.shell, stdout=sys.stdout, stderr=subprocess.PIPE, start_new_session=True, bufsize=1024, universal_newlines=True) self.process.communicate() From e6a22fd188544688d2ae62a02dfb432e1b4c04e5 Mon Sep 17 00:00:00 2001 From: Javier Izquierdo Hernandez Date: Wed, 14 May 2025 12:37:07 +0200 Subject: [PATCH 10/21] Test source .env --- manager/manager/launcher/launcher_gzsim_view.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/manager/manager/launcher/launcher_gzsim_view.py b/manager/manager/launcher/launcher_gzsim_view.py index 2f26856..dabf5a4 100644 --- a/manager/manager/launcher/launcher_gzsim_view.py +++ b/manager/manager/launcher/launcher_gzsim_view.py @@ -29,6 +29,7 @@ def run(self, config_file, callback): if config_file is None: config_file = "/opt/jderobot/Launchers/visualization/default.config" + enviroment = "source /.env;" # Configure browser screen width and height for gz GUI gzclient_config_cmds = f"sed -i 's/.*<\/width>/{self.width}<\/width>/; s/.*<\/height>/{self.height}<\/height>/' {config_file};" @@ -38,12 +39,12 @@ def run(self, config_file, callback): self.display, self.internal_port, self.external_port, DRI_PATH ) # Write display config and start gzclient - gzclient_cmd = f"export DISPLAY={self.display}; {gzclient_config_cmds} export VGL_DISPLAY={DRI_PATH}; vglrun gz sim -g -v4 --gui-config {config_file}" + gzclient_cmd = f"{enviroment}export DISPLAY={self.display}; {gzclient_config_cmds} export VGL_DISPLAY={DRI_PATH}; vglrun gz sim -g -v4 --gui-config {config_file}" else: # Starts xserver, x11vnc and novnc self.gz_vnc.start_vnc(self.display, self.internal_port, self.external_port) # Write display config and start gzclient - gzclient_cmd = f"export DISPLAY={self.display}; {gzclient_config_cmds} gz sim -g -v4 --gui-config {config_file}" + gzclient_cmd = f"{enviroment}export DISPLAY={self.display}; {gzclient_config_cmds} gz sim -g -v4 --gui-config {config_file}" gzclient_thread = DockerThread(gzclient_cmd) gzclient_thread.start() From 9890237d1c5e7d2ec58aabc92b2627de1970b13c Mon Sep 17 00:00:00 2001 From: Javier Izquierdo Hernandez Date: Wed, 14 May 2025 12:48:05 +0200 Subject: [PATCH 11/21] Add more .env --- manager/manager/launcher/launcher_robot_ros2_api.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/manager/manager/launcher/launcher_robot_ros2_api.py b/manager/manager/launcher/launcher_robot_ros2_api.py index 23f568c..02664e4 100644 --- a/manager/manager/launcher/launcher_robot_ros2_api.py +++ b/manager/manager/launcher/launcher_robot_ros2_api.py @@ -22,6 +22,8 @@ def run(self, robot_pose, callback): logging.getLogger("roslaunch").setLevel(logging.CRITICAL) + enviroment = "source /.env;" + xserver_cmd = f"/usr/bin/Xorg -quiet -noreset +extension GLX +extension RANDR +extension RENDER -logfile ./xdummy.log -config ./xorg.conf :0" xserver_thread = DockerThread(xserver_cmd) xserver_thread.start() @@ -31,10 +33,10 @@ def run(self, robot_pose, callback): if ACCELERATION_ENABLED: exercise_launch_cmd = ( - f"export VGL_DISPLAY={DRI_PATH}; vglrun {ROBOT_POSE} ros2 launch {self.launch_file}" + f"{enviroment}export VGL_DISPLAY={DRI_PATH}; vglrun {ROBOT_POSE} ros2 launch {self.launch_file}" ) else: - exercise_launch_cmd = f"{ROBOT_POSE} ros2 launch {self.launch_file}" + exercise_launch_cmd = f"{enviroment}{ROBOT_POSE} ros2 launch {self.launch_file}" exercise_launch_thread = DockerThread(exercise_launch_cmd) exercise_launch_thread.start() From 9d2c7fcb04cdab5e799b3b2282e9de17684668cb Mon Sep 17 00:00:00 2001 From: Javier Izquierdo Hernandez Date: Wed, 14 May 2025 13:12:17 +0200 Subject: [PATCH 12/21] Remove source --- manager/manager/launcher/launcher_gzsim_view.py | 5 ++--- manager/manager/launcher/launcher_robot_ros2_api.py | 6 ++---- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/manager/manager/launcher/launcher_gzsim_view.py b/manager/manager/launcher/launcher_gzsim_view.py index dabf5a4..2f26856 100644 --- a/manager/manager/launcher/launcher_gzsim_view.py +++ b/manager/manager/launcher/launcher_gzsim_view.py @@ -29,7 +29,6 @@ def run(self, config_file, callback): if config_file is None: config_file = "/opt/jderobot/Launchers/visualization/default.config" - enviroment = "source /.env;" # Configure browser screen width and height for gz GUI gzclient_config_cmds = f"sed -i 's/.*<\/width>/{self.width}<\/width>/; s/.*<\/height>/{self.height}<\/height>/' {config_file};" @@ -39,12 +38,12 @@ def run(self, config_file, callback): self.display, self.internal_port, self.external_port, DRI_PATH ) # Write display config and start gzclient - gzclient_cmd = f"{enviroment}export DISPLAY={self.display}; {gzclient_config_cmds} export VGL_DISPLAY={DRI_PATH}; vglrun gz sim -g -v4 --gui-config {config_file}" + gzclient_cmd = f"export DISPLAY={self.display}; {gzclient_config_cmds} export VGL_DISPLAY={DRI_PATH}; vglrun gz sim -g -v4 --gui-config {config_file}" else: # Starts xserver, x11vnc and novnc self.gz_vnc.start_vnc(self.display, self.internal_port, self.external_port) # Write display config and start gzclient - gzclient_cmd = f"{enviroment}export DISPLAY={self.display}; {gzclient_config_cmds} gz sim -g -v4 --gui-config {config_file}" + gzclient_cmd = f"export DISPLAY={self.display}; {gzclient_config_cmds} gz sim -g -v4 --gui-config {config_file}" gzclient_thread = DockerThread(gzclient_cmd) gzclient_thread.start() diff --git a/manager/manager/launcher/launcher_robot_ros2_api.py b/manager/manager/launcher/launcher_robot_ros2_api.py index 02664e4..23f568c 100644 --- a/manager/manager/launcher/launcher_robot_ros2_api.py +++ b/manager/manager/launcher/launcher_robot_ros2_api.py @@ -22,8 +22,6 @@ def run(self, robot_pose, callback): logging.getLogger("roslaunch").setLevel(logging.CRITICAL) - enviroment = "source /.env;" - xserver_cmd = f"/usr/bin/Xorg -quiet -noreset +extension GLX +extension RANDR +extension RENDER -logfile ./xdummy.log -config ./xorg.conf :0" xserver_thread = DockerThread(xserver_cmd) xserver_thread.start() @@ -33,10 +31,10 @@ def run(self, robot_pose, callback): if ACCELERATION_ENABLED: exercise_launch_cmd = ( - f"{enviroment}export VGL_DISPLAY={DRI_PATH}; vglrun {ROBOT_POSE} ros2 launch {self.launch_file}" + f"export VGL_DISPLAY={DRI_PATH}; vglrun {ROBOT_POSE} ros2 launch {self.launch_file}" ) else: - exercise_launch_cmd = f"{enviroment}{ROBOT_POSE} ros2 launch {self.launch_file}" + exercise_launch_cmd = f"{ROBOT_POSE} ros2 launch {self.launch_file}" exercise_launch_thread = DockerThread(exercise_launch_cmd) exercise_launch_thread.start() From b9b699dcba7b103aa7d89a388c2d4a3ef90b6345 Mon Sep 17 00:00:00 2001 From: Javier Izquierdo Hernandez Date: Wed, 14 May 2025 15:23:38 +0200 Subject: [PATCH 13/21] Test source again --- manager/manager/launcher/launcher_gzsim_view.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manager/manager/launcher/launcher_gzsim_view.py b/manager/manager/launcher/launcher_gzsim_view.py index 2f26856..2015d15 100644 --- a/manager/manager/launcher/launcher_gzsim_view.py +++ b/manager/manager/launcher/launcher_gzsim_view.py @@ -43,7 +43,7 @@ def run(self, config_file, callback): # Starts xserver, x11vnc and novnc self.gz_vnc.start_vnc(self.display, self.internal_port, self.external_port) # Write display config and start gzclient - gzclient_cmd = f"export DISPLAY={self.display}; {gzclient_config_cmds} gz sim -g -v4 --gui-config {config_file}" + gzclient_cmd = f"source workspace/worlds/install/setup.bash;export DISPLAY={self.display}; {gzclient_config_cmds} gz sim -g -v4 --gui-config {config_file}" gzclient_thread = DockerThread(gzclient_cmd) gzclient_thread.start() From f35803834575cf9cb90d02131a4a4fd52713da90 Mon Sep 17 00:00:00 2001 From: Javier Izquierdo Hernandez Date: Wed, 14 May 2025 15:33:33 +0200 Subject: [PATCH 14/21] Change source again --- manager/manager/launcher/launcher_gzsim_view.py | 2 +- manager/manager/launcher/launcher_ros2_api.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/manager/manager/launcher/launcher_gzsim_view.py b/manager/manager/launcher/launcher_gzsim_view.py index 2015d15..2f26856 100644 --- a/manager/manager/launcher/launcher_gzsim_view.py +++ b/manager/manager/launcher/launcher_gzsim_view.py @@ -43,7 +43,7 @@ def run(self, config_file, callback): # Starts xserver, x11vnc and novnc self.gz_vnc.start_vnc(self.display, self.internal_port, self.external_port) # Write display config and start gzclient - gzclient_cmd = f"source workspace/worlds/install/setup.bash;export DISPLAY={self.display}; {gzclient_config_cmds} gz sim -g -v4 --gui-config {config_file}" + gzclient_cmd = f"export DISPLAY={self.display}; {gzclient_config_cmds} gz sim -g -v4 --gui-config {config_file}" gzclient_thread = DockerThread(gzclient_cmd) gzclient_thread.start() diff --git a/manager/manager/launcher/launcher_ros2_api.py b/manager/manager/launcher/launcher_ros2_api.py index da9220a..180f466 100644 --- a/manager/manager/launcher/launcher_ros2_api.py +++ b/manager/manager/launcher/launcher_ros2_api.py @@ -32,7 +32,7 @@ def run(self, callback): f"export VGL_DISPLAY={DRI_PATH}; vglrun ros2 launch {self.launch_file}" ) else: - exercise_launch_cmd = f"ros2 launch {self.launch_file}" + exercise_launch_cmd = f"source workspace/worlds/install/setup.bash;ros2 launch {self.launch_file}" exercise_launch_thread = DockerThread(exercise_launch_cmd) exercise_launch_thread.start() From 2ec0aa3b029a925d1b64cc8fd94f71d17557abf7 Mon Sep 17 00:00:00 2001 From: Javier Izquierdo Hernandez Date: Wed, 14 May 2025 15:57:53 +0200 Subject: [PATCH 15/21] More tests --- manager/manager/launcher/launcher_ros2_api.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manager/manager/launcher/launcher_ros2_api.py b/manager/manager/launcher/launcher_ros2_api.py index 180f466..af76746 100644 --- a/manager/manager/launcher/launcher_ros2_api.py +++ b/manager/manager/launcher/launcher_ros2_api.py @@ -29,10 +29,10 @@ def run(self, callback): if ACCELERATION_ENABLED: exercise_launch_cmd = ( - f"export VGL_DISPLAY={DRI_PATH}; vglrun ros2 launch {self.launch_file}" + f"echo AAAAA;source workspace/worlds/install/setup.bash;export VGL_DISPLAY={DRI_PATH}; vglrun ros2 launch {self.launch_file}" ) else: - exercise_launch_cmd = f"source workspace/worlds/install/setup.bash;ros2 launch {self.launch_file}" + exercise_launch_cmd = f"echo AAAAA;source workspace/worlds/install/setup.bash;ros2 launch {self.launch_file}" exercise_launch_thread = DockerThread(exercise_launch_cmd) exercise_launch_thread.start() From 84b7375cc2a47e7a065d889ff07a5997c8e54001 Mon Sep 17 00:00:00 2001 From: Javier Izquierdo Hernandez Date: Wed, 14 May 2025 16:27:16 +0200 Subject: [PATCH 16/21] Change source --- manager/manager/launcher/launcher_ros2_api.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manager/manager/launcher/launcher_ros2_api.py b/manager/manager/launcher/launcher_ros2_api.py index af76746..949367d 100644 --- a/manager/manager/launcher/launcher_ros2_api.py +++ b/manager/manager/launcher/launcher_ros2_api.py @@ -29,10 +29,10 @@ def run(self, callback): if ACCELERATION_ENABLED: exercise_launch_cmd = ( - f"echo AAAAA;source workspace/worlds/install/setup.bash;export VGL_DISPLAY={DRI_PATH}; vglrun ros2 launch {self.launch_file}" + f"source /workspace/worlds/install/setup.bash;export VGL_DISPLAY={DRI_PATH}; vglrun ros2 launch {self.launch_file}" ) else: - exercise_launch_cmd = f"echo AAAAA;source workspace/worlds/install/setup.bash;ros2 launch {self.launch_file}" + exercise_launch_cmd = f"source /workspace/worlds/install/setup.bash;ros2 launch {self.launch_file}" exercise_launch_thread = DockerThread(exercise_launch_cmd) exercise_launch_thread.start() From 1671760acf9b1b1eab4577f84e19999cd2263699 Mon Sep 17 00:00:00 2001 From: Javier Izquierdo Hernandez Date: Wed, 14 May 2025 16:43:15 +0200 Subject: [PATCH 17/21] Test with bash --- manager/manager/docker_thread/docker_thread.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manager/manager/docker_thread/docker_thread.py b/manager/manager/docker_thread/docker_thread.py index 906bac6..cf34a6b 100644 --- a/manager/manager/docker_thread/docker_thread.py +++ b/manager/manager/docker_thread/docker_thread.py @@ -17,7 +17,7 @@ def __init__(self, cmd, shell=True): def run(self): self.process = subprocess.Popen(self.cmd, shell=self.shell, stdout=sys.stdout, stderr=subprocess.PIPE, start_new_session=True, - bufsize=1024, universal_newlines=True) + bufsize=1024, universal_newlines=True, executable="/bin/bash") self.process.communicate() def terminate(self): From c813c8281eeff2ad712605690310cbd78efeaa26 Mon Sep 17 00:00:00 2001 From: Javier Izquierdo Hernandez Date: Wed, 14 May 2025 19:20:22 +0200 Subject: [PATCH 18/21] Test .sh --- manager/manager/docker_thread/docker_thread.py | 5 ++--- manager/manager/launcher/launcher_ros2_api.py | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/manager/manager/docker_thread/docker_thread.py b/manager/manager/docker_thread/docker_thread.py index cf34a6b..2b517e9 100644 --- a/manager/manager/docker_thread/docker_thread.py +++ b/manager/manager/docker_thread/docker_thread.py @@ -3,7 +3,6 @@ import subprocess import os import signal -import sys @@ -16,8 +15,8 @@ def __init__(self, cmd, shell=True): self.shell=shell def run(self): - self.process = subprocess.Popen(self.cmd, shell=self.shell, stdout=sys.stdout, stderr=subprocess.PIPE, start_new_session=True, - bufsize=1024, universal_newlines=True, executable="/bin/bash") + self.process = subprocess.Popen(self.cmd, shell=self.shell, stdout=subprocess.PIPE, stderr=subprocess.PIPE, start_new_session=True, + bufsize=1024, universal_newlines=True) self.process.communicate() def terminate(self): diff --git a/manager/manager/launcher/launcher_ros2_api.py b/manager/manager/launcher/launcher_ros2_api.py index 949367d..2f32722 100644 --- a/manager/manager/launcher/launcher_ros2_api.py +++ b/manager/manager/launcher/launcher_ros2_api.py @@ -29,10 +29,10 @@ def run(self, callback): if ACCELERATION_ENABLED: exercise_launch_cmd = ( - f"source /workspace/worlds/install/setup.bash;export VGL_DISPLAY={DRI_PATH}; vglrun ros2 launch {self.launch_file}" + f"source /workspace/worlds/install/setup.sh;export VGL_DISPLAY={DRI_PATH}; vglrun ros2 launch {self.launch_file}" ) else: - exercise_launch_cmd = f"source /workspace/worlds/install/setup.bash;ros2 launch {self.launch_file}" + exercise_launch_cmd = f"source /workspace/worlds/install/setup.sh;ros2 launch {self.launch_file}" exercise_launch_thread = DockerThread(exercise_launch_cmd) exercise_launch_thread.start() From 3e4f91f330efb58882aafa8727eda609dcdfff91 Mon Sep 17 00:00:00 2001 From: Javier Izquierdo Hernandez Date: Wed, 14 May 2025 19:30:42 +0200 Subject: [PATCH 19/21] Revert changes --- manager/manager/docker_thread/docker_thread.py | 2 +- manager/manager/launcher/launcher_ros2_api.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/manager/manager/docker_thread/docker_thread.py b/manager/manager/docker_thread/docker_thread.py index 2b517e9..4fda16a 100644 --- a/manager/manager/docker_thread/docker_thread.py +++ b/manager/manager/docker_thread/docker_thread.py @@ -16,7 +16,7 @@ def __init__(self, cmd, shell=True): def run(self): self.process = subprocess.Popen(self.cmd, shell=self.shell, stdout=subprocess.PIPE, stderr=subprocess.PIPE, start_new_session=True, - bufsize=1024, universal_newlines=True) + bufsize=1024, universal_newlines=True, executable="/bin/bash") self.process.communicate() def terminate(self): diff --git a/manager/manager/launcher/launcher_ros2_api.py b/manager/manager/launcher/launcher_ros2_api.py index 2f32722..949367d 100644 --- a/manager/manager/launcher/launcher_ros2_api.py +++ b/manager/manager/launcher/launcher_ros2_api.py @@ -29,10 +29,10 @@ def run(self, callback): if ACCELERATION_ENABLED: exercise_launch_cmd = ( - f"source /workspace/worlds/install/setup.sh;export VGL_DISPLAY={DRI_PATH}; vglrun ros2 launch {self.launch_file}" + f"source /workspace/worlds/install/setup.bash;export VGL_DISPLAY={DRI_PATH}; vglrun ros2 launch {self.launch_file}" ) else: - exercise_launch_cmd = f"source /workspace/worlds/install/setup.sh;ros2 launch {self.launch_file}" + exercise_launch_cmd = f"source /workspace/worlds/install/setup.bash;ros2 launch {self.launch_file}" exercise_launch_thread = DockerThread(exercise_launch_cmd) exercise_launch_thread.start() From 902fdecc95361b3c57d7cd19b47448facd6911bd Mon Sep 17 00:00:00 2001 From: Javier Izquierdo Hernandez Date: Thu, 15 May 2025 10:32:42 +0200 Subject: [PATCH 20/21] Change source --- manager/manager/launcher/launcher_ros2_api.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manager/manager/launcher/launcher_ros2_api.py b/manager/manager/launcher/launcher_ros2_api.py index 949367d..17feb1b 100644 --- a/manager/manager/launcher/launcher_ros2_api.py +++ b/manager/manager/launcher/launcher_ros2_api.py @@ -29,10 +29,10 @@ def run(self, callback): if ACCELERATION_ENABLED: exercise_launch_cmd = ( - f"source /workspace/worlds/install/setup.bash;export VGL_DISPLAY={DRI_PATH}; vglrun ros2 launch {self.launch_file}" + f"source /.env;export VGL_DISPLAY={DRI_PATH}; vglrun ros2 launch {self.launch_file}" ) else: - exercise_launch_cmd = f"source /workspace/worlds/install/setup.bash;ros2 launch {self.launch_file}" + exercise_launch_cmd = f"source /.env;ros2 launch {self.launch_file}" exercise_launch_thread = DockerThread(exercise_launch_cmd) exercise_launch_thread.start() From d5c2f6a49e26381e17ec1cbf5d44f0e2f9deb326 Mon Sep 17 00:00:00 2001 From: Javier Izquierdo Hernandez Date: Fri, 16 May 2025 13:03:46 +0200 Subject: [PATCH 21/21] Clean old files --- manager/manager/manager.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/manager/manager/manager.py b/manager/manager/manager.py index 368bb8c..f6ee149 100644 --- a/manager/manager/manager.py +++ b/manager/manager/manager.py @@ -296,6 +296,10 @@ def prepare_custom_universe(self, cfg_dict): _, _, zip_file = cfg_dict["zip"].partition("base64,") universe_ref = "/workspace/worlds/src/" + cfg_dict["name"] + # Remove old content + if os.path.exists("/workspace/worlds"): + shutil.rmtree("/workspace/worlds", ignore_errors=False) + # Create the folder if it doesn't exist universe_folder = universe_ref + "/" if not os.path.exists(universe_folder):