https://github.com/mit-spark/dcist-2025-scenegraphlab
Lab at the DCIST 2025 PI meeting focusing on 3D scene graphs
https://github.com/mit-spark/dcist-2025-scenegraphlab
Last synced: 11 months ago
JSON representation
Lab at the DCIST 2025 PI meeting focusing on 3D scene graphs
- Host: GitHub
- URL: https://github.com/mit-spark/dcist-2025-scenegraphlab
- Owner: MIT-SPARK
- Created: 2025-06-04T17:15:25.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-10T19:41:17.000Z (about 1 year ago)
- Last Synced: 2025-06-10T20:36:30.014Z (about 1 year ago)
- Language: Python
- Size: 31.3 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# DCIST PI Meeting 2025 Labs Metric Semantic SLAM and Scene Graphs
Welcome to our lab!
This repository contains activities that focus on 3D scene graphs and how to use [spark_dsg](https://github.com/MIT-SPARK/Spark-DSG) to work with them.
If you are looking for the handout and activities for working with neural SDF representations, they can be found [here](https://github.com/hwcao17/MISO-DCIST-Lab).
### Requirements
This lab requires a laptop with at least python 3.8 installed and familiarity with python. However, we recommend using Ubuntu 24.04 if possible.
> :warning: **Warning**
> We have done our best to support platforms other than Linux, but have no experience developing on macOS or Windows.
> We will not be able to diagnose build and installation issues for `spark_dsg`.
> However, it is possible to work with the example scene graphs using `networkx` in a limited capacity without `spark_dsg`.
### Objectives
Objectives for this lab include:
1. Familiarizing you with our version of the 3D scene graph data structure
2. Introducing you to [spark_dsg](https://github.com/MIT-SPARK/Spark-DSG) and the available API to work with scene graphs:
- Layers, nodes, edges, and attributes
- Graph structure and working with hierarchy
- Working with external libraries
3. Getting feedback on `spark_dsg`
### Getting Started
Getting the Lab
First, clone this lab
```shell
git clone https://github.com/MIT-SPARK/DCIST-2025-SceneGraphLab
```
Open the root directory of the repository in the terminal.
We assume you have a virtual python environment set up for this lab. If not, you can follow the instructions below.
Creating a Python Virtual Environment on Linux
```shell
# You may need to install the following requirements if you don't have them
# For ubuntu, this looks like:
# sudo apt install python3-venv python3-pip
python3 -m venv dcist_lab_env
```
Setting up Your Environment
Source your environment and install the requirements
```shell
# Use the appropriate invocation for your environment type
source dcist_lab_env/bin/activate
pip install -e .
# optionally install torch for one of the examples:
pip3 install torch --index-url https://download.pytorch.org/whl/cpu
```
Opening up the Lab
Start the notebook
```shell
jupyter notebook
```
If you haven't worked with jupyter notebooks and `jupytext` before, you can open the notebook by right-clicking on `exercises.py` as in the screenshot below:

### Other Activities
See [here](https://github.com/MIT-SPARK/Hydra-ROS/blob/feature/ros2_docker/doc/ros2_setup.md#docker) for some information on getting Hydra set up with `docker` in ROS2.
### Feedback
Please consider chatting with us during the lab session if you have any feedback about `spark_dsg`!