andino_lichtblick
May 26, 2025 ยท View on GitHub
Description
Integrates the andino_gz package with Lichtblick, enabling out-of-the-box visualization, teleoperation and navigation.
Teleoperation

Navigation

Layout

| No. | Element |
|---|---|
| 1 | Panel settings |
| 2 | Robot/sensor visualization |
| 3 | Camera |
| 4 | Wheel 1/2 velocity plot |
| 5 | Teleoperation |
The default layout file is located in /andino_lichtblick/andino_layout/andino_layout.json
Layouts can be modified and imported/exported from the layout tab inside lichtblick.
Architecture
graph TD;
Robot/Simulation --> WebSocket_Bridge[WebSocket Bridge:9000];
WebClient --> Lichtblick[Lichtblick Backend:8080];
WebClient --> WebSocket_Bridge;
The default behaviour creates two different robot_description topics, /robot_description and /robot_description_lichtblick, this was to deal with Gazebo expecting a file:// URI for the robot mesh files and foxglove_bridge + Lichtblick expecting a package:// URI.
The default asset_uri_allowlist for the foxglove_bridge websocket server, which restricts which exprssions can be present in the names of files sent over the server, has been changed to be compatible with the names of mesh files used by this repository.
Developer Notes
Install pre-commit:
pip install pre-commit
pre-commit install # Inside the repository's root directory
git submodule update --init --recursive
Build
Ensure that the submodule is present:
git submodule update --init --recursive
To build the docker images run the following:
docker compose -f docker/docker-compose.yml build
Run
Run the Containers
xhost +local:docker
docker compose -f docker/docker-compose.yml up
Open Lichtblick
http://localhost:8080/ -> Open connection -> ws://localhost:9000 -> Open