Bullet-based simulation for SoftBank Robotics' robots
Project description
qiBullet
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 ressources (robot meshes and URDFs) are required in order to be able to spawn a Pepper, NAO or Romeo robot in the simulation. These extra ressources will be installed in your home folder:
/home/username/.qibullet
on Linux and macOSC:\Users\username\.qibullet
on Windows
The installation of the additional ressources will automatically be triggered if you try to spawn a Pepper, NAO or Romeo for the first time. If qiBullet finds the additional ressources 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:
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)
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
Documentation
The qiBullet API documentation can be found here. The documentation can be generated via the following command (the doxygen package has to be installed beforehand, and the docs folder has to exist):
cd docs
doxygen
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file qibullet-1.3.1.tar.gz
.
File metadata
- Download URL: qibullet-1.3.1.tar.gz
- Upload date:
- Size: 5.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.9.1 setuptools/41.0.1 requests-toolbelt/0.8.0 tqdm/4.29.0 CPython/2.7.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9856b8fb90c1de97ccf8393bf43602a9b5bad6377772633b2bd50b7a765bb3ab |
|
MD5 | 016895a80a1567a274065bf868c000d9 |
|
BLAKE2b-256 | b581256b911a624d1cb682a2f1151718cd2fbd3534667f7a9bc6e77c59517720 |
File details
Details for the file qibullet-1.3.1-py3-none-any.whl
.
File metadata
- Download URL: qibullet-1.3.1-py3-none-any.whl
- Upload date:
- Size: 5.5 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.9.1 setuptools/41.0.1 requests-toolbelt/0.8.0 tqdm/4.29.0 CPython/2.7.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | db6946db5e8874b0d4a20bdf8a5465450527844d064cee295f2426670ec962c8 |
|
MD5 | e27ce0b185a9802287c1fb604957a41f |
|
BLAKE2b-256 | a32cc345a3c4693440a6e75f5a51a2716ffcf73a018abb8209eea407b8abcd1d |