Skip to content

BulletLab v0.1.4

Choose a tag to compare

@NuclearVenom NuclearVenom released this 29 Jun 08:55
· 21 commits to main since this release

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