Skip to content

mir-robots/Foxglove-MiR

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MiR Development

Currently main is based on Foxglove release/v1.86.1

Repos/Branches Explained

  • main is the most up to date MiR Foxglove product
  • Foxglove-main is the most up to date open-sourced foxglove repo/project

To update main from the latest foxglove

  1. Make a new branch called mirRelease-X based off of main
  2. Pull latest on Foxglove-main
  3. Merge Foxglove-main into main

Todo

Move the following files over from the original MiR Project

ORIGINAL FILE -> NEW FILE NAME(S)

  • DONE Markers.ts -> RenderableMarker.ts

  • DONE OccupancyGrids.ts -> OccupancyGrids.ts

  • DONE PointCloudsAndLaserScans.ts -> PointClouds.ts & LaserScans.ts

  • DONE PoseArrays.ts -> PoseArrays.ts

  • DONE defaultLayout.ts -> defaultLayout.ts

  • DONE ros.ts -> ros.ts

  • To find all changes made to the original Foxglove - click here

  • To find the changes where foxglove seperated PointClouds and Laser Scans - click here

  • To find the changes where foxglove heavily changed PointClouds - click here

  • To find all changes like the 2 below, see all the PRs surrounding the file - click here

Branches

  • main - mir branch with latest foxglove release
  • foxglove-main - branch in sync with Foxglove:main
  • foxglove/release/*** - release from Foxglove

Dependencies

  • Node.js v16.10+
  • Git LFS

Getting Started

  1. Clone the repo
  2. Run git lfs pull to ensure Git LFS objects are up to date
  3. Run corepack enable and yarn install (should take 5 minutes to finish)
  4. To run the project, refer to below

Running the Project Locally

# To launch the app:
yarn install
yarn web:serve

# To launch the storybook:
yarn install
yarn storybook
  1. Visit localhost:8080 to see the locally run Foxglove dashboard

Using/Testing Foxglove

  • Foxglove display an abundence of information based on an imported file, these files are .bag files.

Download a .bag file

  • We have these files located in the Azure Cloud under the processed folder, labaled as foxglove_filtered.bag
  • Or, we have a few demo files here under the testBags folder

Importing a .bag file

  1. Download a .bag file from one of the sources above
  2. In your locally hosted foxglove dashboard, click on the foxglove icon on the top left
  3. Go to File > Open
  4. Select the file you downloaded in step 1

Other useful commands

yarn run          # list available commands
yarn lint         # lint all files
yarn test         # run all tests
yarn test:watch   # run tests on changed files

Deployment

The app is currently built and deployed from a developer machine:

# Build the app
yarn install --immutable
rm -r web/.webpack/*
yarn run web:build:prod

# Specify target Azure storage account
StorageAccountName="stplaymladev" # or "stplaymlaprodweu" for production

# Remove existing files
az storage blob delete-batch --source '$web' --pattern "*" --account-name $StorageAccountName --auth-mode login

# Upload index.html without caching
az storage blob upload --file web/.webpack/index.html --container-name '$web' --name 'index.html' --account-name $StorageAccountName --content-cache 'no-store, must-revalidate' --auth-mode login

# Overwrite all other files with default caching
az storage blob upload-batch --destination '$web' --source web/.webpack --account-name $StorageAccountName --overwrite False --auth-mode login

For more info

  • View the buried original documentation about contributing here






Accelerate your robotics development


Foxglove Studio



Download   •   Docs   •   Blog   •   Slack   •   Twitter   •   Contact Us

Foxglove is an integrated visualization and diagnosis tool for robotics.

Foxglove Studio screenshot


To learn more, visit the following resources:

About  •  Documentation  •  Release notes  •  Blog

You can join us on the following platforms to ask questions, share feedback, and stay up to date on what our team is working on:

GitHub Discussions  •  Slack  •  Newsletter  •  Twitter  •  LinkedIn


Installation

Foxglove Studio is available online at studio.foxglove.dev, or desktop releases can be downloaded from foxglove.dev/download.

Open Source

Foxglove Studio 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.

The official binary distributions available at studio.foxglove.dev or foxglove.dev/download incorporate some closed-source functionality, such as integration with Foxglove Data Platform, multiple layouts, private extensions, and more. For more information on free and paid features, see our Pricing.

Self-hosting

Foxglove Studio can be self-hosted using our docker image. Please note that this build does not contain any closed source functionality.

docker run --rm -p "8080:8080" ghcr.io/foxglove/studio:latest

Foxglove Studio will be accessible in your browser 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.

docker run --rm -p "8080:8080" -v /path/to/custom_layout.json:/foxglove/default-layout.json ghcr.io/foxglove/studio:latest

Contributing

Foxglove Studio is written in TypeScript – contributions are welcome!

Note: All contributors must agree to our Contributor License Agreement. See CONTRIBUTING.md for more details.

Credits

Foxglove Studio originally began as a fork of Webviz, an open source project developed by Cruise. Most of the Webviz code has been rewritten, but some files still carry a Cruise license header where appropriate.

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 99.5%
  • Other 0.5%