Web_teleop no screen session found

I am trying to run the Web Teleop demo on stretch3. I run
./launch_interface.sh in the ~/ament_ws/src/stretch_web_teleop directory.

The result is the following terminal output:

Done!
No screen session found.
[PM2] Spawning PM2 daemon with pm2_home=/home/hello-robot/.pm2
[PM2] PM2 Successfully daemonized
[PM2][WARN] No process found
[PM2] [v] All Applications Stopped
[PM2] [v] PM2 Daemon Stopped
[PM2] Spawning PM2 daemon with pm2_home=/home/hello-robot/.pm2
[PM2] PM2 Successfully daemonized
[PM2] Starting /usr/bin/npm in fork_mode (1 instance)
[PM2] Done.

Visit the URL(s) below to see the web interface:
https://localhost/operator
https://10.4.4.63/operator

When trying to access the webpage (on the same wifi) on another computer, it says the site cannot be reached. Even on the stretch computer itself using localhost, I cannot access the page.

Previously, I had the following output:

Done!
No screen session found.
[PM2] Spawning PM2 daemon with pm2_home=/home/hello-robot/.pm2
[PM2] PM2 Successfully daemonized
[PM2][WARN] No process found
[PM2] [v] All Applications Stopped
[PM2] [v] PM2 Daemon Stopped
Warning: Ignoring extra certs from /home/hello-robot/ament_ws/src/stretch_web_teleop/certificates/rootCA.pem, load failed: error:80000002:system library::No such file or directory
[PM2] Spawning PM2 daemon with pm2_home=/home/hello-robot/.pm2
[PM2] PM2 Successfully daemonized
[PM2] Starting /usr/bin/npm in fork_mode (1 instance)
[PM2] Done.
Warning: Ignoring extra certs from /home/hello-robot/ament_ws/src/stretch_web_teleop/certificates/rootCA.pem, load failed: error:80000002:system library::No such file or directory
Warning: Ignoring extra certs from /home/hello-robot/ament_ws/src/stretch_web_teleop/certificates/rootCA.pem, load failed: error:80000002:system library::No such file or directory

Visit the URL(s) below to see the web interface:
https://localhost/operator
https://172.20.10.2/operator

To debug, I ran pm2 logs which gave me the following output:

[TAILING] Tailing last 15 lines for [all] processes (change the value with --lines option)
/home/hello-robot/.pm2/pm2.log last 15 lines:
PM2        | 2025-01-13T12:57:29: PM2 log: App [stretch_web_teleop:0] online
PM2        | 2025-01-13T12:57:29: PM2 log: App [stretch_web_teleop:0] exited with code [127] via signal [SIGINT]
PM2        | 2025-01-13T12:57:29: PM2 log: App [stretch_web_teleop:0] starting in -fork mode-
PM2        | 2025-01-13T12:57:29: PM2 log: App [stretch_web_teleop:0] online
PM2        | 2025-01-13T12:57:29: PM2 log: App [stretch_web_teleop:0] exited with code [127] via signal [SIGINT]
PM2        | 2025-01-13T12:57:29: PM2 log: App [stretch_web_teleop:0] starting in -fork mode-
PM2        | 2025-01-13T12:57:29: PM2 log: App [stretch_web_teleop:0] online
PM2        | 2025-01-13T12:57:29: PM2 log: App [stretch_web_teleop:0] exited with code [127] via signal [SIGINT]
PM2        | 2025-01-13T12:57:29: PM2 log: App [stretch_web_teleop:0] starting in -fork mode-
PM2        | 2025-01-13T12:57:29: PM2 log: App [stretch_web_teleop:0] online
PM2        | 2025-01-13T12:57:29: PM2 log: App [stretch_web_teleop:0] exited with code [127] via signal [SIGINT]
PM2        | 2025-01-13T12:57:29: PM2 log: App [stretch_web_teleop:0] starting in -fork mode-
PM2        | 2025-01-13T12:57:29: PM2 log: App [stretch_web_teleop:0] online
PM2        | 2025-01-13T12:57:29: PM2 log: App [stretch_web_teleop:0] exited with code [127] via signal [SIGINT]
PM2        | 2025-01-13T12:57:29: PM2 log: Script /usr/bin/npm had too many unstable restarts (16). Stopped. "errored"

/home/hello-robot/.pm2/logs/server-out.log last 15 lines:
1|server   | operator Set(1) { '1DNIirLZp6rBpGc8AAAG' }
1|server   | could not connect because robot is not available
1|server   | new socket.io connection
1|server   | operator Set(1) { '1DNIirLZp6rBpGc8AAAG' }
1|server   | could not connect because robot is not available
1|server   | operator Set(1) { '1DNIirLZp6rBpGc8AAAG' }
1|server   | could not connect because robot is not available
1|server   | operator Set(1) { '1DNIirLZp6rBpGc8AAAG' }
1|server   | could not connect because robot is not available
1|server   | operator Set(1) { '1DNIirLZp6rBpGc8AAAG' }
1|server   | could not connect because robot is not available
1|server   | operator Set(1) { '1DNIirLZp6rBpGc8AAAG' }
1|server   | could not connect because robot is not available
1|server   | operator Set(1) { '1DNIirLZp6rBpGc8AAAG' }
1|server   | could not connect because robot is not available

/home/hello-robot/.pm2/logs/start-robot-browser-out.log last 15 lines:
2|start_ro | Got a publisher on topic /camera/color/image_raw/rotated/compressed
2|start_ro | Got a publisher on topic /navigation_camera/image_raw/rotated/compressed
2|start_ro | Got a publisher on topic /gripper_camera/image_raw/cropped/compressed
2|start_ro | No publisher on topic /stretch/joint_states
2|start_ro | Required ROS nodes are not yet loaded. Reconnecting.
2|start_ro | Reconnecting to ROS...
2|start_ro | Connection to ROS has been closed.
2|start_ro | Reconnecting to ROS...
2|start_ro | Connected to ROS.
2|start_ro | Checking ROS connection...
2|start_ro | Got a publisher on topic /camera/color/image_raw/rotated/compressed
2|start_ro | Got a publisher on topic /gripper_camera/image_raw/cropped/compressed
2|start_ro | No publisher on topic /stretch/joint_states
2|start_ro | Required ROS nodes are not yet loaded. Reconnecting.
2|start_ro | Got a publisher on topic /navigation_camera/image_raw/rotated/compressed

/home/hello-robot/.pm2/logs/server-error.log last 15 lines:
1|server   | Require stack:
1|server   | - /home/hello-robot/ament_ws/src/stretch_web_teleop/server.js
1|server   |     at Module._resolveFilename (node:internal/modules/cjs/loader:1142:15)
1|server   |     at Hook._require.Module.require (/usr/lib/node_modules/pm2/node_modules/require-in-the-middle/index.js:81:25)
1|server   |     at require (node:internal/modules/helpers:179:18)
1|server   |     at Object.<anonymous> (/home/hello-robot/ament_ws/src/stretch_web_teleop/server.js:2:1)
1|server   |     at Module._compile (node:internal/modules/cjs/loader:1368:14)
1|server   |     at Module._extensions..js (node:internal/modules/cjs/loader:1426:10)
1|server   |     at Module.load (node:internal/modules/cjs/loader:1205:32)
1|server   |     at Module._load (node:internal/modules/cjs/loader:1021:12)
1|server   |     at Object.<anonymous> (/usr/lib/node_modules/pm2/lib/ProcessContainerFork.js:33:23)
1|server   |     at Module._compile (node:internal/modules/cjs/loader:1368:14) {
1|server   |   code: 'MODULE_NOT_FOUND',
1|server   |   requireStack: [ '/home/hello-robot/ament_ws/src/stretch_web_teleop/server.js' ]
1|server   | }

/home/hello-robot/.pm2/logs/start-robot-browser-error.log last 15 lines:
2|start_ro |     at Module._resolveFilename (node:internal/modules/cjs/loader:1142:15)
2|start_ro |     at Hook._require.Module.require (/usr/lib/node_modules/pm2/node_modules/require-in-the-middle/index.js:81:25)
2|start_ro |     at require (node:internal/modules/helpers:179:18)
2|start_ro |     at Object.<anonymous> (/home/hello-robot/ament_ws/src/stretch_web_teleop/start_robot_browser.js:2:21)
2|start_ro |     at Module._compile (node:internal/modules/cjs/loader:1368:14)
2|start_ro |     at Module._extensions..js (node:internal/modules/cjs/loader:1426:10)
2|start_ro |     at Module.load (node:internal/modules/cjs/loader:1205:32)
2|start_ro |     at Module._load (node:internal/modules/cjs/loader:1021:12)
2|start_ro |     at Object.<anonymous> (/usr/lib/node_modules/pm2/lib/ProcessContainerFork.js:33:23)
2|start_ro |     at Module._compile (node:internal/modules/cjs/loader:1368:14) {
2|start_ro |   code: 'MODULE_NOT_FOUND',
2|start_ro |   requireStack: [
2|start_ro |     '/home/hello-robot/ament_ws/src/stretch_web_teleop/start_robot_browser.js'
2|start_ro |   ]
2|start_ro | }

/home/hello-robot/.pm2/logs/stretch-web-teleop-out.log last 15 lines:
0|stretch_ | > stretch_web_teleop@0.1.0 localstorage
0|stretch_ | > webpack --mode development --progress --env storage='localstorage'
0|stretch_ | 
0|stretch_ | 
0|stretch_ | > stretch_web_teleop@0.1.0 localstorage
0|stretch_ | > webpack --mode development --progress --env storage='localstorage'
0|stretch_ | 
0|stretch_ | 
0|stretch_ | > stretch_web_teleop@0.1.0 localstorage
0|stretch_ | > webpack --mode development --progress --env storage='localstorage'
0|stretch_ | 
0|stretch_ | 
0|stretch_ | > stretch_web_teleop@0.1.0 localstorage
0|stretch_ | > webpack --mode development --progress --env storage='localstorage'
0|stretch_ | 

/home/hello-robot/.pm2/logs/stretch-web-teleop-error.log last 15 lines:
0|stretch_ | sh: 1: webpack: not found
0|stretch_ | Warning: Ignoring extra certs from /home/hello-robot/ament_ws/src/stretch_web_teleop/certificates/rootCA.pem, load failed: error:80000002:system library::No such file or directory
0|stretch_ | sh: 1: webpack: not found
0|stretch_ | Warning: Ignoring extra certs from /home/hello-robot/ament_ws/src/stretch_web_teleop/certificates/rootCA.pem, load failed: error:80000002:system library::No such file or directory
0|stretch_ | sh: 1: webpack: not found
0|stretch_ | Warning: Ignoring extra certs from /home/hello-robot/ament_ws/src/stretch_web_teleop/certificates/rootCA.pem, load failed: error:80000002:system library::No such file or directory
0|stretch_ | sh: 1: webpack: not found
0|stretch_ | Warning: Ignoring extra certs from /home/hello-robot/ament_ws/src/stretch_web_teleop/certificates/rootCA.pem, load failed: error:80000002:system library::No such file or directory
0|stretch_ | sh: 1: webpack: not found
0|stretch_ | Warning: Ignoring extra certs from /home/hello-robot/ament_ws/src/stretch_web_teleop/certificates/rootCA.pem, load failed: error:80000002:system library::No such file or directory
0|stretch_ | sh: 1: webpack: not found
0|stretch_ | Warning: Ignoring extra certs from /home/hello-robot/ament_ws/src/stretch_web_teleop/certificates/rootCA.pem, load failed: error:80000002:system library::No such file or directory
0|stretch_ | sh: 1: webpack: not found
0|stretch_ | Warning: Ignoring extra certs from /home/hello-robot/ament_ws/src/stretch_web_teleop/certificates/rootCA.pem, load failed: error:80000002:system library::No such file or directory
0|stretch_ | sh: 1: webpack: not found

To fix this, I ran sudo npm install -g webpack webpack-cli. Furthermore, I created a CA certificate using openssl genrsa -aes256 -out rootCA.key 2048 and openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem in the ~/ament_ws/src/stretch_web_teleop/certificates, which results in the initial output at the start of this post.

Are there further log files somewhere that could guide me?

  • Maybe I need to rebuild the ament_ws?
  • Something feels off with the “No screen session found” and “No process found” warnings
1 Like

ANSWER:

I have solved this issue by following the directions here to update the ROS workspace.

  • The issue was related to an outdated python package, which updating the workspace solved.
  • In addition, make sure your network doesn’t block accessing the web teleop web address within the same network.
1 Like