Website • Paper • Quickstart • Video
- x86-64 Linux platform. Support for other platforms is coming.
- Ubuntu 22.04+ or another Linux distribution with
GLIBC >= 2.35,GLIBCXX >= 3.4.30, andCXXABI >= 1.3.13 uvpackage manager- A working NVIDIA driver compatible with Isaac Sim requirements
We use uv for package management. If you don't have it installed, please refer to Installing uv.
# Install host tools (for Debian/Ubuntu)
sudo apt install build-essential wget xz-utils zstd git
# Clone the repository
git clone --recursive https://github.com/intelligent-control-lab/BrickSim BrickSim
cd BrickSim
# Set up the Python environment
# This will also install Isaac Sim 5.1, Isaac Lab, and the BrickSim package
uv sync --locked# Launch the assembly demo in Isaac Sim
./scripts/launch_isaacsim.sh demos/demo_assembly.pyOther demos include:
demos/demo_inhand.pyfor in-hand manipulation experimentsdemos/demo_keyboard_teleop.pyfor keyboard-driven interactiondemos/demo_teleop.pyfor teleoperation, recording, and replay workflows- The teleoperation demo expects the
lerobotpackage plus a configured leader device path insidedemos/demo_teleop.py.
- The teleoperation demo expects the
| Path | Purpose |
|---|---|
native/ |
C++26 core |
exts/bricksim/ |
Python extension and API |
demos/ |
Demos |
resources/ |
USD assets, robot assets, and brick datasets |
scripts/ |
Utility scripts |
Generate the Pyright and ty configuration for type analysis and completion in editors like VSCode:
uv run python scripts/generate_type_configs.pyWe recommend installing the ty extension for VSCode auto-completion, as it's much faster at handling Isaac Sim's many dependencies.
If you make changes to the C++ code in native/, you need to re-compile the native extension for the changes to take effect.
./scripts/build.sh
# To also build & run the tests, use:
RUN_TESTS=1 ./scripts/build.sh