open-rmf/rmf_demos

server_uri changed failed

shufujian opened this issue · 7 comments

Bug report

Required information:

  • Operating system and version:
    • Ubuntu 20.04
  • Open-RMF installation type:
  • Open-RMF version or commit hash
    • 21.09
  • ROS distribution and version:
    • Galactic
  • ROS installation type:
    • From source

Description of the bug

When I run 'ros2 launch rmf_demos_gz leju.launch.xml headless:=1 server_uri:="ws://localhost:8000/_internal"', but server_uri did not change. Nothing show on the web.

Steps to reproduce the bug

  1. install ROS2
  2. install RMF
  3. run rmf-web
  4. run 'ros2 launch rmf_demos_gz leju.launch.xml headless:=1 server_uri:="ws://localhost:8000/_internal"'

Expected behavior

Actual behavior

Screenshots

image
image

Additional information

[simple_api_server-12] TypeError: emit() got an unexpected keyword argument 'broadcast'
[simple_api_server-12] Set Server IP to: 0.0.0.0
[simple_api_server-12] Set Server port to: 0.0.0.0:8083
[simple_api_server-12] Set RMF Websocket port to: localhost:7878
[simple_api_server-12] Starting Websocket Server
[simple_api_server-12] Starting RMF_Demos API Server: 0.0.0.0:8083, with ws://localhost:7878
[simple_api_server-12] * Serving Flask app 'rmf_demos_panel.simple_api_server'
[simple_api_server-12] * Debug mode: off
[fleet_adapter-14] [INFO] [1683603250.463764784] [tinyRobot_fleet_adapter]: Parameter [discovery_timeout] set to: 60.000000
...
...
...
[fleet_adapter-14] [WARN] [1683603985.000418458] [tinyRobot_fleet_adapter]: BroadcastClient unable to connect to [ws://localhost:8080/_internal]. Please make sure server is running. Error msg: invalid state
[fleet_adapter-14] [WARN] [1683603987.000823219] [tinyRobot_fleet_adapter]: BroadcastClient unable to connect to [ws://localhost:8080/_internal]. Please make sure server is running. Error msg: invalid state
c[fleet_adapter-14] [WARN] [1683603989.001271996] [tinyRobot_fleet_adapter]: BroadcastClient unable to connect to [ws://localhost:8080/_internal]. Please make sure server is running. Error msg: invalid state
[fleet_adapter-14] [WARN] [1683603991.001612044] [tinyRobot_fleet_adapter]: BroadcastClient unable to connect to [ws://localhost:8080/_internal]. Please make sure server is running. Error msg: invalid state

A couple things,

  • ROS 2 Galactic is already End of Life and not supported along with the 21.09 version of Open-RMF. See Readme
  • Open-RMF installation type: https://git.lejurobot.com/rmf/rmf-all.git -> not public
  • The error you've highlighted in the screenshot (please paste plain text next time) is with the simple_api_server in rmf_demos_panel and not the API server for rmf-web. Could you clarify if by "run rmf-web", you were referring to the rmf_demos_panel?

A couple things,

  • ROS 2 Galactic is already End of Life and not supported along with the 21.09 version of Open-RMF. See Readme
  • Open-RMF installation type: https://git.lejurobot.com/rmf/rmf-all.git -> not public
  • The error you've highlighted in the screenshot (please paste plain text next time) is with the simple_api_server in rmf_demos_panel and not the API server for rmf-web. Could you clarify if by "run rmf-web", you were referring to the rmf_demos_panel?

I know that ROS 2 Galactic is already EOL, but my group members choosed it.

About the Open-RMF installation type, I am really sorry. I'm just a new member for that repository, I have no right. Sorry again.

It means I run rmf-web, then I run the rmf-demo.
Readme shows that ' in order to interact with the default configuration of the web application, the server_uri launch parameter will need to be changed to ws://localhost:8000/_internal ', so I think maybe the problem is the server_uri.

You can see that I run 'ros2 launch rmf_demos_gz leju.launch.xml headless:=1 server_uri:="ws://localhost:8000/_internal"', but it didn't change.

I wanna something show on the rmf-web, but it didn't. I think the problem is the server_uri didn't change.

I'm just starting to learn this. Maybe this is a stupid question, hope you can forgive me! :)

Sorry for the delay in my response, your questions are totally valid.

I want to clarify that the printouts you shared that begin with [simple_api_server-12] ... are from the API server launched as part of the now deprecated rmf_demos_panel. This panel is launched by default as seen here.
So the printouts like

[simple_api_server-12] Starting RMF_Demos API Server: 0.0.0.0:8083, with ws://localhost:7878
[simple_api_server-12] * Serving Flask app 'rmf_demos_panel.simple_api_server'

are from this panel.

However, we no longer recommend using this panel as we now have rmf-web which has it's own API server. You should follow the instructions here to setup the rmf-web API server and front end. The default endpoint for this server is ws://localhost:8000/_internal which is what we pass as a launch argument. The fleet adapter uses this argument to try to connect with the server over websocket and exchange information.

Let me know if you followed the instructions to start the rmf-web API server.

Sorry for the delay in my response, your questions are totally valid.

I want to clarify that the printouts you shared that begin with [simple_api_server-12] ... are from the API server launched as part of the now deprecated rmf_demos_panel. This panel is launched by default as seen here. So the printouts like

[simple_api_server-12] Starting RMF_Demos API Server: 0.0.0.0:8083, with ws://localhost:7878
[simple_api_server-12] * Serving Flask app 'rmf_demos_panel.simple_api_server'

are from this panel.

However, we no longer recommend using this panel as we now have rmf-web which has it's own API server. You should follow the instructions here to setup the rmf-web API server and front end. The default endpoint for this server is ws://localhost:8000/_internal which is what we pass as a launch argument. The fleet adapter uses this argument to try to connect with the server over websocket and exchange information.

Let me know if you followed the instructions to start the rmf-web API server.

Oh! Thank you!

Were you able to solve this issue ?

Sorry for the delay in my response, your questions are totally valid.

I want to clarify that the printouts you shared that begin with [simple_api_server-12] ... are from the API server launched as part of the now deprecated rmf_demos_panel. This panel is launched by default as seen here. So the printouts like

[simple_api_server-12] Starting RMF_Demos API Server: 0.0.0.0:8083, with ws://localhost:7878
[simple_api_server-12] * Serving Flask app 'rmf_demos_panel.simple_api_server'

are from this panel.

However, we no longer recommend using this panel as we now have rmf-web which has it's own API server. You should follow the instructions here to setup the rmf-web API server and front end. The default endpoint for this server is ws://localhost:8000/_internal which is what we pass as a launch argument. The fleet adapter uses this argument to try to connect with the server over websocket and exchange information.

Let me know if you followed the instructions to start the rmf-web API server.

I have followed the same step and setup the api server and front end for rmf_web. I'm getting the same error BrodcastClient unable to connect ...