Skip to content

Commit 8320633

Browse files
authored
Merge pull request #131 from JdeRobot/new_follow_person
[Follow person] Superthin support
2 parents 5c7d454 + f5b3800 commit 8320633

File tree

8 files changed

+396
-246
lines changed

8 files changed

+396
-246
lines changed

manager/libs/applications/compatibility/server.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,14 @@
77

88

99
class Server(threading.Thread):
10-
def __init__(self, port, callback,):
10+
def __init__(
11+
self,
12+
port,
13+
callback,
14+
):
1115
super().__init__()
1216
self.update_callback = callback
13-
self.server = WebsocketServer(port=port, host='127.0.0.1')
17+
self.server = WebsocketServer(port=port, host="127.0.0.1")
1418
self.server.set_fn_new_client(self.on_open)
1519
self.server.set_fn_client_left(self.on_close)
1620
self.server.set_fn_message_received(self.on_message)
@@ -39,9 +43,7 @@ def send(self, data):
3943
def on_message(self, client, server, message):
4044
payload = json.loads(message)
4145
self.update_callback(payload)
42-
server.send_message(client, "#ack")
43-
LogManager.logger.debug(
44-
f"Message received from template: {message[:30]}")
46+
LogManager.logger.debug(f"Message received from template: {message[:30]}")
4547

4648
def on_close(self, client, server):
4749
LogManager.logger.info("Connection with client closed")

manager/manager/launcher/launcher_console.py

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from src.manager.manager.launcher.launcher_interface import ILauncher
22
from src.manager.manager.docker_thread.docker_thread import DockerThread
33
from src.manager.manager.vnc.vnc_server import Vnc_server
4-
from src.manager.libs.process_utils import check_gpu_acceleration
4+
from src.manager.libs.process_utils import check_gpu_acceleration
55
import os
66
import stat
77
from typing import List, Any
@@ -11,22 +11,24 @@ class LauncherConsole(ILauncher):
1111
display: str
1212
internal_port: int
1313
external_port: int
14-
running:bool = False
14+
running: bool = False
1515
threads: List[Any] = []
1616
console_vnc: Any = Vnc_server()
1717

1818
def run(self, callback):
1919
DRI_PATH = os.path.join("/dev/dri", os.environ.get("DRI_NAME", "card0"))
2020
ACCELERATION_ENABLED = False
2121

22-
23-
24-
if (ACCELERATION_ENABLED):
25-
self.console_vnc.start_vnc_gpu(self.display, self.internal_port, self.external_port,DRI_PATH)
22+
if ACCELERATION_ENABLED:
23+
self.console_vnc.start_vnc_gpu(
24+
self.display, self.internal_port, self.external_port, DRI_PATH
25+
)
2626
# Write display config and start the console
2727
console_cmd = f"export VGL_DISPLAY={DRI_PATH}; export DISPLAY={self.display}; vglrun xterm -fullscreen -sb -fa 'Monospace' -fs 10 -bg black -fg white"
2828
else:
29-
self.console_vnc.start_vnc(self.display, self.internal_port, self.external_port)
29+
self.console_vnc.start_vnc(
30+
self.display, self.internal_port, self.external_port
31+
)
3032
# Write display config and start the console
3133
console_cmd = f"export DISPLAY={self.display};xterm -geometry 100x10+0+0 -fa 'Monospace' -fs 10 -bg black -fg white"
3234

@@ -35,7 +37,7 @@ def run(self, callback):
3537
self.threads.append(console_thread)
3638

3739
self.running = True
38-
40+
3941
def check_device(self, device_path):
4042
try:
4143
return stat.S_ISCHR(os.lstat(device_path)[stat.ST_MODE])
@@ -53,4 +55,4 @@ def terminate(self):
5355
self.running = False
5456

5557
def died(self):
56-
pass
58+
pass

manager/manager/launcher/launcher_gazebo_view.py

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
from src.manager.manager.launcher.launcher_interface import ILauncher
22
from src.manager.manager.docker_thread.docker_thread import DockerThread
33
from src.manager.manager.vnc.vnc_server import Vnc_server
4-
from src.manager.libs.process_utils import wait_for_process_to_start, check_gpu_acceleration
4+
from src.manager.libs.process_utils import (
5+
wait_for_process_to_start,
6+
check_gpu_acceleration,
7+
)
58
import subprocess
69
import time
710
import os
@@ -29,17 +32,15 @@ def run(self, callback):
2932
if ACCELERATION_ENABLED:
3033
# Starts xserver, x11vnc and novnc
3134
self.gz_vnc.start_vnc_gpu(
32-
self.display, self.internal_port, self.external_port, DRI_PATH)
35+
self.display, self.internal_port, self.external_port, DRI_PATH
36+
)
3337
# Write display config and start gzclient
34-
gzclient_cmd = (
35-
f"export DISPLAY={self.display}; {gzclient_config_cmds} export VGL_DISPLAY={DRI_PATH}; vglrun gzclient --verbose")
38+
gzclient_cmd = f"export DISPLAY={self.display}; {gzclient_config_cmds} export VGL_DISPLAY={DRI_PATH}; vglrun gzclient --verbose"
3639
else:
3740
# Starts xserver, x11vnc and novnc
38-
self.gz_vnc.start_vnc(
39-
self.display, self.internal_port, self.external_port)
41+
self.gz_vnc.start_vnc(self.display, self.internal_port, self.external_port)
4042
# Write display config and start gzclient
41-
gzclient_cmd = (
42-
f"export DISPLAY={self.display}; {gzclient_config_cmds} gzclient --verbose")
43+
gzclient_cmd = f"export DISPLAY={self.display}; {gzclient_config_cmds} gzclient --verbose"
4344

4445
gzclient_thread = DockerThread(gzclient_cmd)
4546
gzclient_thread.start()
@@ -70,14 +71,12 @@ def died(self):
7071
pass
7172

7273
def get_dri_path(self):
73-
directory_path = '/dev/dri'
74+
directory_path = "/dev/dri"
7475
dri_path = ""
7576
if os.path.exists(directory_path) and os.path.isdir(directory_path):
7677
files = os.listdir(directory_path)
77-
if ("card1" in files):
78-
dri_path = os.path.join(
79-
"/dev/dri", os.environ.get("DRI_NAME", "card1"))
78+
if "card1" in files:
79+
dri_path = os.path.join("/dev/dri", os.environ.get("DRI_NAME", "card1"))
8080
else:
81-
dri_path = os.path.join(
82-
"/dev/dri", os.environ.get("DRI_NAME", "card0"))
81+
dri_path = os.path.join("/dev/dri", os.environ.get("DRI_NAME", "card0"))
8382
return dri_path

manager/manager/launcher/launcher_ros2_api.py

Lines changed: 43 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,14 @@
99

1010
import logging
1111

12+
1213
class LauncherRos2Api(ILauncher):
1314
type: str
1415
module: str
1516
launch_file: str
1617
threads: List[Any] = []
1718

18-
def run(self,callback):
19+
def run(self, callback):
1920
DRI_PATH = os.path.join("/dev/dri", os.environ.get("DRI_NAME", "card0"))
2021
ACCELERATION_ENABLED = self.check_device(DRI_PATH)
2122

@@ -26,14 +27,16 @@ def run(self,callback):
2627
xserver_thread.start()
2728
self.threads.append(xserver_thread)
2829

29-
if (ACCELERATION_ENABLED):
30-
exercise_launch_cmd = f"export VGL_DISPLAY={DRI_PATH}; vglrun ros2 launch {self.launch_file}"
30+
if ACCELERATION_ENABLED:
31+
exercise_launch_cmd = (
32+
f"export VGL_DISPLAY={DRI_PATH}; vglrun ros2 launch {self.launch_file}"
33+
)
3134
else:
3235
exercise_launch_cmd = f"ros2 launch {self.launch_file}"
3336

3437
exercise_launch_thread = DockerThread(exercise_launch_cmd)
3538
exercise_launch_thread.start()
36-
39+
3740
def check_device(self, device_path):
3841
try:
3942
return stat.S_ISCHR(os.lstat(device_path)[stat.ST_MODE])
@@ -45,15 +48,39 @@ def terminate(self):
4548
for thread in self.threads:
4649
thread.terminate()
4750
thread.join()
48-
49-
kill_cmd = 'pkill -9 -f '
50-
cmd = kill_cmd + 'gzserver'
51-
subprocess.call(cmd, shell=True, stdout=subprocess.PIPE, bufsize=1024, universal_newlines=True)
52-
cmd = kill_cmd + 'spawn_model.launch.py'
53-
subprocess.call(cmd, shell=True, stdout=subprocess.PIPE, bufsize=1024, universal_newlines=True)
54-
55-
kill_cmd = 'pkill -9 -f '
56-
cmd = kill_cmd + 'gzserver'
57-
subprocess.call(cmd, shell=True, stdout=subprocess.PIPE, bufsize=1024, universal_newlines=True)
58-
cmd = kill_cmd + 'spawn_model.launch.py'
59-
subprocess.call(cmd, shell=True, stdout=subprocess.PIPE, bufsize=1024, universal_newlines=True)
51+
52+
kill_cmd = "pkill -9 -f "
53+
cmd = kill_cmd + "gzserver"
54+
subprocess.call(
55+
cmd,
56+
shell=True,
57+
stdout=subprocess.PIPE,
58+
bufsize=1024,
59+
universal_newlines=True,
60+
)
61+
cmd = kill_cmd + "spawn_model.launch.py"
62+
subprocess.call(
63+
cmd,
64+
shell=True,
65+
stdout=subprocess.PIPE,
66+
bufsize=1024,
67+
universal_newlines=True,
68+
)
69+
70+
kill_cmd = "pkill -9 -f "
71+
cmd = kill_cmd + "gzserver"
72+
subprocess.call(
73+
cmd,
74+
shell=True,
75+
stdout=subprocess.PIPE,
76+
bufsize=1024,
77+
universal_newlines=True,
78+
)
79+
cmd = kill_cmd + "spawn_model.launch.py"
80+
subprocess.call(
81+
cmd,
82+
shell=True,
83+
stdout=subprocess.PIPE,
84+
bufsize=1024,
85+
universal_newlines=True,
86+
)

0 commit comments

Comments
 (0)