Bullet-based python simulation for SoftBank Robotics' robots.
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
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)
# 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)
# 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 in the repository wiki
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.
Please cite qiBullet if you use this repository in your publications:
Paper coming soon...
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.
Licensed under the Apache-2.0 License