Lichtblick is an integrated visualization and diagnosis tool for robotics, available in your browser or as a desktop app on Linux, Windows, and macOS.
Try Lichtblick now in your browser!
No installation required - experience the full power of Lichtblick directly in your web browser!
Looking for guidance on using Lichtblick? Check out our official documentation here!
We are actively updating our documentation with new features, stay tunned! π
Dependencies:
- Node.js v16.10+
To run lichtblick via docker you can run:
docker run --rm -p 8080:8080 ghcr.io/lichtblick-suite/lichtblick:latestAnd open in your browser: http://localhost:8080/
Clone the repository:
Please after cloning the repo you need to download some stuff from git lfs with:
git lfs pullAfter that just build the container with:
docker build -t local-foxglove .$ git lfs pullEnable corepack:
$ corepack enableInstall packages from package.json:
$ yarn install# To build the desktop apps:
$ yarn run desktop:build:prod # compile necessary files
- yarn run package:win # Package for windows
- yarn run package:darwin # Package for macOS
- yarn run package:linux # Package for linux
# To build the web app:
$ yarn run web:build:prod
# To build and run the web app using docker:
$ docker build . -t lichtblick
$ docker run -p 8080:8080 lichtblick
# It is possible to clean up build files using the following command:
$ yarn run clean- The desktop builds are located in the
distdirectory, and the web builds are found in theweb/.webpackdirectory.
When installing the .tar.gz package, unlike the .deb, system dependencies are not installed automatically.
In many cases, if you already have Google Chrome or another Chromium-based application installed, Lichtblick will run fine since these applications bring most of the required libraries.
However, if you see errors about missing libraries when launching Lichtblick, you will need to install them manually. The most common missing dependencies are:
libgtk-3-0libatk1.0-0libatk-bridge2.0-0libatspi2.0-0libnss3libnspr4libasound2libcups2libnotify4libxtst6xdg-utilslibdrm2libgbm1libxcb-dri3-0
Example (Debian/Ubuntu):
sudo apt-get update && sudo apt-get install libgtk-3-0 libatk1.0-0 libatk-bridge2.0-0 libatspi2.0-0 libnss3 libnspr4 libasound2 libcups2 libnotify4 libxtst6 xdg-utils libdrm2 libgbm1 libxcb-dri3-0π Recommendation: if using the .tar.gz, always check the error messages in the terminal. They will indicate which library is missing so you can install it manually.
docker run --rm -p "8080:8080" local-foxgloveLichtblick Suite will be accessible in your browser at localhost:8080.
The build process takes some minutes, so it is not practical to rebuild the container every time you make a change. You can use the following command to mount the local source code into the container and run the development server. But first, you need to modify the Dockerfile to comment the release part. For that, comment ALL lines from line 7 to the end of the Dockerfile. Then rebuild. After that, you can run the following command:
docker run --rm -it -p "8080:8080" --volume "${PWD}":"/src" --entrypoint bash local-foxgloveIt should open a bash terminal inside the container. Then you can run the following commands to start the development server:
yarn install
yarn run web:serveIt will server the web app and recompile interactively when you make changes. You can access the web app at localhost:8080.
Bind-mount a layout JSON file at /foxglove/default-layout.json to set the default layout used when loading Studio from the Docker image.
We developed a new player compatible with also our own fork of rosboard. To use it, you need to follow the instructions below:
-
Use this Foxglove Fork: You will need to use the KiwiCampus fork for this project or a derived version.
-
Use our Rosboard Fork: You will need to use the KiwiCampus fork for Rosboard on the robot you want to connect to.
LIBGL_ALWAYS_SOFTWARE set to 1:
$ LIBGL_ALWAYS_SOFTWARE=1 yarn desktop:start-
Connecting to Rosboard: Similar to other available protocols (such as Rosbridge and Foxglove websocket), you can connect to Rosboard by following these steps:
- Open the application.
- Navigate to
File->Open connection.... - Select
Rosboardfrom the list of available protocols. - Paste your websocket URL running Rosboard. Remeber it takes the form
ws://<ip>:<port>/rosboard/v1. - Click
Open.
- Note: Ensure that your Rosboard instance is running and accessible via the websocket URL you intend to use.
Lichtblick follows an open core licensing model. Most functionality is available in this repository, and can be reproduced or modified per the terms of the Mozilla Public License v2.0.
Contributions are welcome! Lichtblick is primarily built in TypeScript and ReactJS. All potential contributors must agree to the Contributor License Agreement outlined in CONTRIBUTING.md.
Lichtblick originally began as a fork of Foxglove Studio, an open-source project developed by Foxglove.
