Skip to content

Commit

Permalink
Merge pull request #32 from JdeRobot/issue-30
Browse files Browse the repository at this point in the history
Issue 30 - Added Teleoperator Launcher
  • Loading branch information
ReyDoran authored Jun 12, 2023
2 parents 6a968eb + 1cbe292 commit ce089e4
Showing 1 changed file with 43 additions and 0 deletions.
43 changes: 43 additions & 0 deletions manager/manager/launcher/launcher_teleoperator_ros2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
from src.manager.manager.launcher.launcher_interface import ILauncher
from src.manager.manager.docker_thread.docker_thread import DockerThread
import time
import os
import stat


class LauncherTeleoperatorRos2(ILauncher):
running = False
threads = []

def run(self, callback):
DRI_PATH = os.path.join("/dev/dri", os.environ.get("DRI_NAME", "card0"))
ACCELERATION_ENABLED = self.check_device(DRI_PATH)

if (ACCELERATION_ENABLED):
teleop_cmd = f"export VGL_DISPLAY={DRI_PATH}; vglrun python3 /opt/jderobot/utils/model_teleoperator.py 0.0.0.0"
else:
teleop_cmd = f"python3 /opt/jderobot/utils/model_teleoperator.py 0.0.0.0"

teleop_thread = DockerThread(teleop_cmd)
teleop_thread.start()
self.threads.append(teleop_thread)

self.running = True

def check_device(self, device_path):
try:
return stat.S_ISCHR(os.lstat(device_path)[stat.ST_MODE])
except:
return False

def is_running(self):
return self.running

def terminate(self):
for thread in self.threads:
thread.terminate()
thread.join()
self.running = False

def died(self):
pass

0 comments on commit ce089e4

Please sign in to comment.