Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lichtblick does not connect to ROS2 bridge #260

Closed
SvenMuc opened this issue Nov 14, 2024 · 4 comments
Closed

Lichtblick does not connect to ROS2 bridge #260

SvenMuc opened this issue Nov 14, 2024 · 4 comments
Labels
bug Something isn't working

Comments

@SvenMuc
Copy link

SvenMuc commented Nov 14, 2024

Description
Lichtblick does not connect to ROS2 bridge on systems with ROS2 Jazzy.

  • Version: 1.7.0
  • Platform: Ubuntu 24.04.1 LTS + ROS Jazzy
  • Data source (e.g. bag file, mcap file, rosbridge, ROS 1/2 native): ROS Jazzy and mcap replay

Steps To Reproduce

  1. Launch ROS2 bridge ros2 launch foxglove_bridge foxglove_bridge_launch.xml
  2. Run Lichtblick tool and connect via ROS2 bridge (ws://localhost:8765)

image

Ros2 Bridge Log

ros2 launch foxglove_bridge foxglove_bridge_launch.xml
[INFO] [launch]: All log files can be found below /home/XXX/.ros/log/2024-11-14-09-46-38-656236-D2209234-59676
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [foxglove_bridge-1]: process started with pid [59680]
[foxglove_bridge-1] [WARN] [1731573998.785070978] [rcl]: ROS_LOCALHOST_ONLY is deprecated but still honored if it is enabled. Use ROS_AUTOMATIC_DISCOVERY_RANGE and ROS_STATIC_PEERS instead.
[foxglove_bridge-1] [WARN] [1731573998.785082788] [rcl]: 'localhost_only' is enabled, 'automatic_discovery_range' and 'static_peers' will be ignored.
[foxglove_bridge-1] [INFO] [1731573998.798865835] [foxglove_bridge_component_manager]: Load Library: /opt/ros/jazzy/lib/libfoxglove_bridge_component.so
[foxglove_bridge-1] [INFO] [1731573998.804425503] [foxglove_bridge_component_manager]: Found class: rclcpp_components::NodeFactoryTemplate<foxglove_bridge::FoxgloveBridge>
[foxglove_bridge-1] [INFO] [1731573998.804441447] [foxglove_bridge_component_manager]: Instantiate class: rclcpp_components::NodeFactoryTemplate<foxglove_bridge::FoxgloveBridge>
[foxglove_bridge-1] [INFO] [1731573998.806279325] [foxglove_bridge]: Starting foxglove_bridge (jazzy, 0.8.0@) with WebSocket++/0.8.2
[foxglove_bridge-1] [INFO] [1731573998.806550425] [foxglove_bridge]: [WS] Server running without TLS
[foxglove_bridge-1] [INFO] [1731573998.806702474] [foxglove_bridge]: [WS] WebSocket server listening at ws://0.0.0.0:8765
[foxglove_bridge-1] [INFO] [1731573998.806706530] [foxglove_bridge]: [WS] WebSocket server run loop started
[foxglove_bridge-1] [INFO] [1731574024.941844691] [foxglove_bridge]: [WS] Rejecting client 127.0.0.1:43646 which did not declare support for subprotocol foxglove.websocket.v1
[foxglove_bridge-1] [ERROR] [1731574024.941935779] [foxglove_bridge]: [WS] Handshake ended with HTTP error: 400
[foxglove_bridge-1] [INFO] [1731574028.125915841] [foxglove_bridge]: [WS] Rejecting client 127.0.0.1:43652 which did not declare support for subprotocol foxglove.websocket.v1
[foxglove_bridge-1] [ERROR] [1731574028.126055366] [foxglove_bridge]: [WS] Handshake ended with HTTP error: 400
[foxglove_bridge-1] [INFO] [1731574031.132082523] [foxglove_bridge]: [WS] Rejecting client 127.0.0.1:42924 which did not declare support for subprotocol foxglove.websocket.v1
[foxglove_bridge-1] [ERROR] [1731574031.132167467] [foxglove_bridge]: [WS] Handshake ended with HTTP error: 400
[foxglove_bridge-1] [INFO] [1731574034.137387822] [foxglove_bridge]: [WS] Rejecting client 127.0.0.1:42938 which did not declare support for subprotocol foxglove.websocket.v1
[foxglove_bridge-1] [ERROR] [1731574034.137493187] [foxglove_bridge]: [WS] Handshake ended with HTTP error: 400

Expected Behavior
Lichtblick connects to ros2 bridge correctly. On machines with ROS2 Humble everything works as expected.

@SvenMuc SvenMuc added the bug Something isn't working label Nov 14, 2024
@SvenMuc SvenMuc changed the title Lichtblick does not connect ROS2 bridge Lichtblick does not connect to ROS2 bridge Nov 14, 2024
@laisspportugal
Copy link
Contributor

Hello @SvenMuc, thank you for your feedback and report.
We are going to investigate it internally and let you know as soon as we have more information about it.

Best regards,
Lichtblick Team

@tik0
Copy link

tik0 commented Jan 13, 2025

@SvenMuc have you tried the updated version 1.8.0?

@aneuwald-ctw
Copy link
Contributor

aneuwald-ctw commented Feb 5, 2025

Hey @SvenMuc, sorry about the delay!

We tried to replicate your issue on our latest release, v1.9.0, using the same commands you provided. Everything worked as expected. My testing was done on macOS using Docker, and we also verified it on WSL without any issues. To ensure consistency, we followed this Foxglove guide for ROS 2 setup: Installing ROS 2 on macOS with Docker.

Image

Additionally, we tested on v1.7.0, and it also worked as expected.

After investigating, we found that the issue comes from using the ROS bridge connection instead of the Foxglove bridge connection. When using the Foxglove bridge, everything works as expected. Could you try switching to the Foxglove bridge and see if that resolves your issue?

Since we’ve confirmed this as the root cause, we’ll go ahead and close the issue for now. However, feel free to reopen it or reach out if you need further assistance.

Thanks for using Lichtblick! 🚀

@aneuwald-ctw
Copy link
Contributor

Additionally, we tested to run a native ROS 2 bridge, using the command:

ros2 launch rosbridge_server rosbridge_websocket_launch.xml

That way, it creates a proper ROS 2 bridge using the port 9090, and than you can successfully connect to Lichtblick.

Image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants