Skip to main content

Interactive URDF spherization tool using Viser for collision approximation

Project description

Bubblify: Interactive URDF Spherization Tool

Overview

Bubblify is an interactive tool for creating spherical approximations of robot geometries directly from Universal Robot Description Format (URDF) specifications. It provides an intuitive 3D interface for placing collision spheres on robot links, enabling efficient collision checking for motion planning applications.

Spherized meshes can significantly reduce the computational load of collision detection, have better support across simulators, and maintain accurate approximations of the source robot model while fixing mesh defects.

Installation

codecov

Install Bubblify directly from PyPI:

pip install bubblify

Usage

Basic Usage

Launch Bubblify with a URDF file:

bubblify --urdf_path path/to/your/robot.urdf

Command Line Options

  • --urdf_path (required): Path to the URDF file to spherize
  • --spherization_yml (optional): Load an existing spherization configuration
  • --port (optional): Port for the web interface (default: 8080)
  • --show_collision (optional): Display collision meshes (default: False)

Example Commands

# Basic usage
bubblify --urdf_path ./assets/xarm6/xarm6_rs.urdf

# Load with existing spherization
bubblify --urdf_path ./assets/xarm6/xarm6_rs.urdf --spherization_yml ./config/xarm6_spheres.yml

# Custom port and show collision meshes
bubblify --urdf_path ./robot.urdf --port 8081 --show_collision

Interactive Features

Demo Video

Your browser does not support the video tag.

Benefits for Motion Planning

Spherical approximations offer several key advantages for robotics applications:

Computational Efficiency

  • Fast Collision Detection: Sphere-sphere and sphere-primitive collision checks are computationally simple
  • Reduced Query Time: Orders of magnitude faster than mesh-based collision detection
  • Real-time Planning: Enables real-time motion planning for complex robots

Robustness

  • Numerical Stability: Spheres eliminate mesh artifacts and numerical precision issues
  • Consistent Geometry: Uniform collision representation across different simulators
  • Simplified Physics: More stable physics simulation with primitive shapes

Motion Planning Integration

  • Sampling-based Planners: Faster collision checking enables more thorough space exploration
  • Optimization-based Methods: Smooth distance gradients improve trajectory optimization
  • Multi-robot Systems: Efficient collision checking scales better with robot count

Compatible Motion Planning Libraries

Bubblify's spherized URDFs and YAMLs work with modern motion planning frameworks:

  • cuRobo: NVIDIA's CUDA-accelerated motion planning library
  • VAMP: Vectorized Approximate Motion Planning

File Formats

Input

  • URDF Files: Standard Robot Description Format with visual and collision meshes

Output

  • Spherized URDF: New URDF file with collision geometries replaced by spheres
  • Configuration YAML: Spherization parameters for reproducible results

Example Configuration

spheres:
  - link: "base_link"
    position: [0.0, 0.0, 0.1]
    radius: 0.08
  - link: "link1"
    position: [0.0, 0.0, 0.15]
    radius: 0.06

Contributing

Contributions are welcome! Please feel free to submit issues, feature requests, or pull requests.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bubblify-0.1.0.tar.gz (29.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bubblify-0.1.0-py3-none-any.whl (17.3 kB view details)

Uploaded Python 3

File details

Details for the file bubblify-0.1.0.tar.gz.

File metadata

  • Download URL: bubblify-0.1.0.tar.gz
  • Upload date:
  • Size: 29.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.5

File hashes

Hashes for bubblify-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4fa6edeafea65fa0d1c21b2fdc63967f9a009b12a338a14bded099c3ddd458a3
MD5 a3bff5da6b1701244b603707ed518e2a
BLAKE2b-256 865894b29e254a75dd6ac33e8e03899355b73b734ceb8b8e6b465a0724016b34

See more details on using hashes here.

File details

Details for the file bubblify-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: bubblify-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 17.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.5

File hashes

Hashes for bubblify-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 39d419a4021788181cb5f0004234d8f73c9d75701d89526d0c91079850fdf232
MD5 6e05e135d96a648f84bf172ed7835264
BLAKE2b-256 25119b0f0c3a23c77364723ed7368b4b2ee16f9d3aa66b8a0cb9d0bb8323f50f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page