Skip to content

Releases: NuclearVenom/BulletLab

BulletLab v0.2.1

Choose a tag to compare

@NuclearVenom NuclearVenom released this 12 Jul 16:22

This release focuses on making the ** Console** significantly more powerful, extensible, and enjoyable to use. It introduces a built-in command framework, enables users to easily create their own custom commands, refines the console experience, and further improves the internal architecture while maintaining full backward compatibility.

Highlights

BulletLab Console

  • Introduced a modular built-in command system for faster robotics experimentation
  • Added several native console commands for common simulation and robot operations
  • Commands are now organized into a dedicated framework instead of being embedded throughout the codebase
  • Improved the overall console workflow for interactive testing and rapid prototyping

Custom Commands

  • Introduced an official framework for creating custom console commands
  • Users can add new commands with minimal boilerplate by simply creating Python command modules
  • Custom commands integrate seamlessly with the existing console and behave exactly like built-in commands
  • Designed the architecture to be clean, maintainable, and easily extensible for future community contributions

Console Experience

  • Refined the command-line interface with a cleaner and more professional appearance
  • Added clearer status messages and announcements during command execution
  • Improved progress reporting and visual feedback throughout console operations
  • Enhanced usability while preserving the lightweight and responsive nature of the console

Documentation

  • Added comprehensive documentation for the new console architecture
  • Introduced guides for developing custom commands
  • Expanded the Cookbook with practical examples for both built-in and user-defined commands
  • Updated API documentation and examples to reflect the new command framework

Project Improvements

  • Refined the internal command architecture for better maintainability
  • Improved code organization by separating console functionality into dedicated modules
  • Removed redundant implementation and simplified the command registration process
  • Improved API consistency, stability, and overall developer experience
  • Continued polishing the project for a more professional open-source release

About BulletLab

BulletLab is a robotics experimentation framework built on PyBullet that transforms robots into intuitive Python objects while providing modern tooling for simulation, visualization, telemetry, and robotics experimentation.

Its official package registry, BulletLab Arsenal, provides curated and verified robotics assets—including robots, worlds, sensors, controllers, datasets, and benchmarks—that can be installed or loaded directly from within BulletLab.

Installation

pip install --upgrade bulletlab

Links

Documentation: https://nuclearvenom.github.io/BulletLab/
Repository: https://github.com/NuclearVenom/BulletLab
BulletLab Arsenal: https://github.com/NuclearVenom/BulletLab-Arsenal

BulletLab v0.2.0

Choose a tag to compare

@NuclearVenom NuclearVenom released this 01 Jul 12:03

This release introduces the first official integration between BulletLab and BulletLab Arsenal, making verified robotics assets installable and directly loadable from the official registry while significantly improving the project's architecture, documentation, and overall developer experience.

Highlights

BulletLab Arsenal Integration

  • Introduced Robot.install() for permanently installing verified robot packages from BulletLab Arsenal
  • Extended Robot.load() to support direct loading from Arsenal using the new URI format:
Robot.load("arsenal:reference_bot")
Robot.load("arsenal:unitree_g1/g1_29dof")
  • Added automatic temporary caching for Arsenal-loaded assets with session-based cleanup
  • Preserved full backward compatibility with existing local file loading

Package Management

  • Added support for loading default robot models or explicitly selecting models within a package
  • Implemented automatic dependency resolution for URDFs and required mesh assets
  • Added configurable installation locations for permanent package downloads
  • Designed the infrastructure for future support of Worlds, Sensors, Controllers, Datasets and Benchmarks

Documentation

  • Introduced comprehensive documentation for BulletLab Arsenal and its role within the BulletLab ecosystem
  • Updated the README to present Arsenal as the official package registry for BulletLab
  • Added installation and loading examples covering both local and Arsenal-based workflows
  • Improved project navigation, examples, API documentation, and user guides

Project Improvements

  • Performed a repository-wide audit of the codebase
  • Removed obsolete code, outdated documentation, and inconsistencies
  • Improved API consistency and internal architecture
  • Refined error handling and overall code quality
  • Polished the project for a more professional open-source release

About BulletLab

BulletLab is a robotics experimentation framework built on PyBullet that transforms robots into intuitive Python objects while providing modern tooling for simulation, visualization, telemetry, and robotics experimentation.

Its official package registry, BulletLab Arsenal, provides curated and verified robotics assets—including robots, worlds, sensors, controllers, datasets, and benchmarks—that can be installed or loaded directly from within BulletLab.

Installation

pip install --upgrade bulletlab

Links

Documentation: https://nuclearvenom.github.io/BulletLab/
Repository: https://github.com/NuclearVenom/BulletLab
BulletLab Arsenal: https://github.com/NuclearVenom/BulletLab-Arsenal

BulletLab v0.1.5

Choose a tag to compare

@NuclearVenom NuclearVenom released this 30 Jun 08:55

This release focuses on establishing BulletLab as a mature open-source project by introducing repository governance, contributor guidelines, software citation support, and long-term project planning.

Highlights

Community & Open Source

  • Added a comprehensive Contributing Guide with development setup, coding standards, pull request workflow, and documentation guidelines
  • Introduced a Code of Conduct to foster a welcoming and collaborative community
  • Added a Support Guide describing where to ask questions, report bugs, and request new features

Research & Citation

  • Added an official CITATION.cff file
  • Enabled GitHub's "Cite this repository" feature for academic software citation
  • Improved software discoverability and reproducibility for research projects

Project Governance

  • Introduced a Security Policy outlining responsible vulnerability disclosure procedures
  • Added a long-term Roadmap documenting the future direction and planned milestones of BulletLab
  • Established community health files following GitHub best practices

Documentation

  • Updated the README with links to all community resources
  • Improved project organization and repository navigation
  • Refined the repository structure for contributors and new users

About BulletLab

BulletLab is a robotics experimentation framework built on PyBullet that transforms robots into intuitive Python objects while providing modern ImGui-based controls, telemetry, visualization, and reinforcement learning workflows.

Installation

pip install --upgrade bulletlab

Links

Documentation: https://nuclearvenom.github.io/BulletLab/
Repository: https://github.com/NuclearVenom/BulletLab/

BulletLab v0.1.4

Choose a tag to compare

@NuclearVenom NuclearVenom released this 29 Jun 08:55

This release closes major PyBullet physics gaps, introducing comprehensive wrappers for terrain generation, external forces, and runtime dynamics to significantly reduce the need for raw PyBullet C-API calls.

Highlights

Terrain & Environment Construction

  • Added robust World methods for primitive obstacles (create_box, create_sphere, create_capsule)
  • Introduced World.load_heightfield for generating procedural terrain from flat lists or 2D numpy arrays
  • Added World.scatter_obstacles for rapidly populating scenes with random hazards
  • Added World.remove_body for precise runtime environment manipulation

Physics Parameters & Dynamics

  • Introduced Robot.apply_force and Robot.apply_torque for applying continuous external forces (e.g., drone thrust, wind drag) natively
  • Added Robot.set_dynamics to seamlessly alter mass, friction, restitution, and damping of any link at runtime

Robot Loading Improvements

  • Introduced an intuitive tilt parameter to Robot.load() using an axis-angle shorthand (e.g., tilt=((0, 1, 0), 30))
  • Eliminates the need for manual quaternion math when setting initial spawn orientations
  • Tilts compose safely on top of existing base orientations

Developer Experience & Documentation

  • Re-exported essential math utilities directly from the package root (from bulletlab import euler_to_quaternion, etc.)
  • Completely refactored complex examples (04_drone_parameter_tuning.py, 06_irregular_terrain.py) to demonstrate pure BulletLab abstractions without importing PyBullet
  • Added a comprehensive new World Guide to the documentation
  • Expanded the Cookbook with advanced physics and terrain generation recipes

About BulletLab

BulletLab is a robotics experimentation framework built on PyBullet that transforms robots into intuitive Python objects while providing modern ImGui-based controls, telemetry, visualization, and reinforcement learning workflows.

Installation

pip install --upgrade bulletlab

Links

Documentation: https://nuclearvenom.github.io/BulletLab/

Repository: https://github.com/NuclearVenom/BulletLab

BulletLab v0.1.3

Choose a tag to compare

@NuclearVenom NuclearVenom released this 19 Jun 19:04

This release introduces dynamic camera tracking modes, improves the interactive development workflow, and expands resources for AI-assisted robotics development.

Highlights

Dynamic Camera System

  • Added a new dynamic camera mode with three tracking variants
  • Improved robot observation and scene navigation during simulation
  • Enables more intuitive monitoring of robot behavior and experiments

Console & Scripting Improvements

  • Fixed issues in the integrated console panel
  • Improved real-time Python script execution and control
  • Enhanced interactive simulation workflows for rapid experimentation

AI & LLM Optimization

  • Expanded support for AI-assisted development workflows
  • Added practical code snippets for common robotics tasks
  • Introduced a growing cookbook of examples and usage patterns
  • Improved discoverability of framework features for coding agents and AI assistants

Developer Experience

  • Streamlined experimentation workflows
  • Improved documentation structure and accessibility
  • Continued refinement of the BulletLab development ecosystem

About BulletLab

BulletLab is a robotics experimentation framework built on PyBullet that transforms robots into intuitive Python objects while providing modern ImGui-based controls, telemetry, visualization, and reinforcement learning workflows.

Installation

pip install --upgrade bulletlab

Links

Documentation: https://nuclearvenom.github.io/BulletLab/

Repository: https://github.com/NuclearVenom/BulletLab

BulletLab v0.1.2

Choose a tag to compare

@NuclearVenom NuclearVenom released this 17 Jun 17:13

This release introduces the official BulletLab logo and visual identity, marking an important milestone in the project's evolution from an experimental framework to a recognizable robotics development platform.

Highlights

Official BulletLab Logo

  • Introduced the official BulletLab logo across the project
  • Updated documentation branding and visual identity
  • Improved project presentation and consistency

Documentation Improvements

  • Refined MkDocs configuration
  • Updated project metadata and repository information
  • Improved overall documentation experience

Package & Project Updates

  • Updated PyPI package metadata
  • General bug fixes and quality-of-life improvements
  • Continued preparation for future framework expansion

About BulletLab

BulletLab is a robotics experimentation framework built on PyBullet that transforms robots into intuitive Python objects while providing modern ImGui-based controls, telemetry, visualization, and reinforcement learning workflows.

Installation

pip install --upgrade bulletlab

Links

Documentation: https://nuclearvenom.github.io/BulletLab/

Repository: https://github.com/NuclearVenom/BulletLab

BulletLab v0.1.1

Choose a tag to compare

@NuclearVenom NuclearVenom released this 17 Jun 17:21

The first post-release update for BulletLab, focused on improving stability, package quality, and example coverage.

Highlights

Bug Fixes

  • Fixed multiple framework bugs discovered after the initial public release
  • Improved overall reliability and consistency across the API

Joint & Reset System Improvements

  • Fixed reset-related issues affecting robot state initialization
  • Improved robot reset behavior and simulation reproducibility

Package Metadata Improvements

  • Refined PyPI package metadata
  • Improved package distribution and installation experience
  • Updated project information and package configuration

New Example

  • Added Example 06: Husky Robot in Irregular Terrain
  • Demonstrates BulletLab's ability to work with mobile robots in challenging environments
  • Provides a foundation for navigation, autonomy, and reinforcement learning experiments

About BulletLab

BulletLab is a robotics experimentation framework built on PyBullet that transforms robots into intuitive Python objects while providing modern ImGui-based controls, telemetry, visualization, and reinforcement learning workflows.

Installation

pip install --upgrade bulletlab

Links

Documentation: https://nuclearvenom.github.io/BulletLab/

Repository: https://github.com/NuclearVenom/BulletLab

BulletLab v0.1.0

Choose a tag to compare

@NuclearVenom NuclearVenom released this 17 Jun 17:27

First public release of BulletLab.

BulletLab is a robotics experimentation framework built on PyBullet that transforms robots into intuitive Python objects while providing modern tooling for simulation, visualization, telemetry, and reinforcement learning workflows.

Initial Features

Object-Oriented Robot API

  • Robots represented as structured Python objects
  • Named joints and links instead of raw PyBullet IDs
  • Simplified robot interaction and state access

Joint System

  • Joint discovery and enumeration
  • Position, velocity, and torque control
  • Runtime joint inspection and manipulation

Link System

  • Link discovery and enumeration
  • Dynamic property access
  • Runtime modification of physical parameters

Telemetry System

  • Real-time telemetry channels
  • History recording and data collection
  • Structured experiment monitoring

ImGui-Based User Interface

  • Modern control panels separated from PyBullet visualization
  • Interactive simulation controls
  • Extensible UI architecture

Experimentation Tools

  • Data logging utilities
  • CSV export support
  • Foundation for robotics research workflows

Documentation

  • Initial MkDocs documentation site
  • Installation and API reference guides
  • Getting-started examples

Vision

BulletLab aims to provide a higher-level robotics experimentation environment on top of PyBullet, enabling rapid prototyping, testing, visualization, and reinforcement learning research through a clean Python-first interface.