Skip to main content

qiBullet ci codecov pypi Downloads Github discussions docs

Bullet-based python simulation for SoftBank Robotics' robots.

Installation

The following modules are required:

  • numpy
  • pybullet

The qiBullet module can be installed via pip, for python 2.7 and python 3:

pip install --user qibullet

Additional resources (robot meshes and URDFs) are required in order to be able to spawn a Pepper, NAO or Romeo robot in the simulation. These extra resources will be installed in your home folder:

  • /home/username/.qibullet on Linux and macOS
  • C:\Users\username\.qibullet on Windows

The installation of the additional resources will automatically be triggered if you try to spawn a Pepper, NAO or Romeo for the first time. If qiBullet finds the additional resources in your local folder, the installation won't be triggered. The robot meshes are under a specific license, you will need to agree to that license in order to install them. More details on the installation process can be found on the wiki.

Usage

A robot can be spawned via the SimulationManager class:

import sys
from qibullet import SimulationManager

if __name__ == "__main__":
    simulation_manager = SimulationManager()

    # Launch a simulation instances, with using a graphical interface.
    # Please note that only one graphical interface can be launched at a time
    client_id = simulation_manager.launchSimulation(gui=True)

    # Selection of the robot type to spawn (True : Pepper, False : NAO)
    pepper_robot = True

    if pepper_robot:
      # Spawning a virtual Pepper robot, at the origin of the WORLD frame, and a
      # ground plane
      pepper = simulation_manager.spawnPepper(
          client_id,
          translation=[0, 0, 0],
          quaternion=[0, 0, 0, 1],
          spawn_ground_plane=True)
    else:
      # Or a NAO robot, at a default position
      nao = simulation_manager.spawnNao(
          client_id,
          spawn_ground_plane=True)

    # This snippet is a blocking call, just to keep the simulation opened
    if sys.version_info[0] >= 3:
      input("Press a key to end the simulation")
    else:
      raw_input("Press a key to end the simulation")
    
    # Stop the simulation
    simulation_manager.stopSimulation(client_id)
    

Or using loadRobot from the PepperVirtual class if you already have a simulated environment:

    pepper = PepperVirtual()

    pepper.loadRobot(
      translation=[0, 0, 0],
      quaternion=[0, 0, 0, 1],
      physicsClientId=client_id)

More snippets can be found in the examples folder, or on the wiki

:warning: The camera subscription system of qiBullet 1.4.0 (and lesser) is deprecated, use the new system

Documentation

The qiBullet API documentation can be found here. In order to build the documentation, the doxygen package has to be installed beforehand and the docs folder has to exist. The submodules should also be checked out:

git submodule init
git submodule update

The documentation can then be generated via the following command:

cd docs
doxygen Doxyfile

The repository also contains a wiki, providing some tutorials.

Citations

Please cite qiBullet if you use this repository in your publications:

@article{busy2019qibullet,
  title={qiBullet, a Bullet-based simulator for the Pepper and NAO robots},
  author={Busy, Maxime and Caniot, Maxime},
  journal={arXiv preprint arXiv:1909.00779},
  year={2019}
}

Troubleshooting

OpenGL driver

If you encounter the message:

Workaround for some crash in the Intel OpenGL driver on Linux/Ubuntu

Your computer is using the Intel OpenGL driver. Go to Software & Updates, Additional Drivers, and select a driver corresponding to your GPU.

License

Licensed under the Apache-2.0 License

Release files for qibullet 1.4.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for qibullet 1.4.6
File Size Uploaded
qibullet-1.4.6.tar.gz 5.7 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for qibullet 1.4.6
File Interpreter ABI Platform
qibullet-1.4.6-py3-none-any.whl Python 3 none any Details

Total release size: 11.5 MB

Release files / qibullet-1.4.6.tar.gz

Download URL qibullet-1.4.6.tar.gz
Size 5.7 MB
Tags Source
SHA-256 checksum
How to use checksums
88b1ccf77b82d317e4ad21f6f054f8731f65e4b06087e04ba01b02e3e3d03614
BLAKE2b-256 checksum
How to use checksums
21dbd0682eaf0833952681cbfec89f2b86e2bab5d3efcafec15fb354e7048844
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

Release files / qibullet-1.4.6-py3-none-any.whl

Download URL qibullet-1.4.6-py3-none-any.whl
Size 5.8 MB
Tags Python 3
SHA-256 checksum
How to use checksums
8f4a24be3b36aff6166ca8ba68e3ab2c5342ea5f25069ae8a18e9b9294e6170e
BLAKE2b-256 checksum
How to use checksums
c554ed020b1d74cabaaf637423af073e086290b3761edfd5f91c71d609c65178
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

Release history Release notifications | RSS feed

This release

1.4.6 This release

2 release files

1.4.5

2 release files

1.4.4

2 release files

1.4.3

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.12

2 release files

1.0.10

2 release files

1.0.9

2 release files

1.0.8

3 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page