Skip to content

kiwicampus/studio

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5,843 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Lichtblick

Stars Badge Forks Badge Pull Requests Badge Issues Badge Versions Badge GitHub contributors License: MPL 2.0

Lichtblick is an integrated visualization and diagnosis tool for robotics, available in your browser or as a desktop app on Linux, Windows, and macOS.

Lichtblick screenshot

πŸš€ Try Lichtblick

Try Lichtblick now in your browser!

No installation required - experience the full power of Lichtblick directly in your web browser!

πŸ“– Documentation

Looking for guidance on using Lichtblick? Check out our official documentation here!

We are actively updating our documentation with new features, stay tunned! πŸš€

Dependencies:


πŸš€ Getting started

🐳 From Docker

To run lichtblick via docker you can run:

docker run --rm -p 8080:8080 ghcr.io/lichtblick-suite/lichtblick:latest

And open in your browser: http://localhost:8080/

πŸ“‘ From source code

Clone the repository:

Building the container

Please after cloning the repo you need to download some stuff from git lfs with:

git lfs pull

After that just build the container with:

docker build -t local-foxglove .

Without docker

$ git lfs pull

Enable corepack:

$ corepack enable

Install 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 dist directory, and the web builds are found in the web/.webpack directory.

⚠️ Note on Linux dependencies (.tar.gz only)

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-0
  • libatk1.0-0
  • libatk-bridge2.0-0
  • libatspi2.0-0
  • libnss3
  • libnspr4
  • libasound2
  • libcups2
  • libnotify4
  • libxtst6
  • xdg-utils
  • libdrm2
  • libgbm1
  • libxcb-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.

Running the container

docker run --rm -p "8080:8080" local-foxglove

Lichtblick Suite will be accessible in your browser at localhost:8080.

Developing with the container

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-foxglove

It 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:serve

It will server the web app and recompile interactively when you make changes. You can access the web app at localhost:8080.

Overriding the default layout

Bind-mount a layout JSON file at /foxglove/default-layout.json to set the default layout used when loading Studio from the Docker image.

Using with Rosboard

We developed a new player compatible with also our own fork of rosboard. To use it, you need to follow the instructions below:

  1. Use this Foxglove Fork: You will need to use the KiwiCampus fork for this project or a derived version.

  2. Use our Rosboard Fork: You will need to use the KiwiCampus fork for Rosboard on the robot you want to connect to.

⚠️ Ubuntu users: the application may present some issues using GPU. In order to bypass the GPU and process it using directly the CPU (software), please run lichtblick using the variable LIBGL_ALWAYS_SOFTWARE set to 1:

$ LIBGL_ALWAYS_SOFTWARE=1 yarn desktop:start
  1. 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 Rosboard from 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.

πŸ“ License (Open Source)

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.

🀝 Contributing

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.

⭐ Credits

Lichtblick originally began as a fork of Foxglove Studio, an open-source project developed by Foxglove.

About

Robotics visualization and debugging

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 99.6%
  • Other 0.4%