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