qibullet


Nameqibullet JSON
Version 1.4.6 PyPI version JSON
download
home_pagehttps://github.com/softbankrobotics-research/qibullet
SummaryBullet-based simulation for SoftBank Robotics' robots
upload_time2022-12-30 10:50:58
maintainer
docs_urlNone
authorMaxime Busy, Maxime Caniot
requires_python
license
keywords physics simulation robotics naoqi softbank pepper nao romeo robot
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # qiBullet [![ci](https://github.com/softbankrobotics-research/qibullet/workflows/ci/badge.svg?branch=master)](https://github.com/softbankrobotics-research/qibullet/actions?query=workflow%3Aci) [![codecov](https://codecov.io/gh/softbankrobotics-research/qibullet/branch/master/graph/badge.svg)](https://codecov.io/gh/softbankrobotics-research/qibullet) [![pypi](https://img.shields.io/pypi/v/qibullet.svg)](https://pypi.org/project/qibullet/) [![Downloads](https://pepy.tech/badge/qibullet)](https://pepy.tech/project/qibullet) [![Github discussions](https://img.shields.io/github/discussions/softbankrobotics-research/qibullet?color=blue&logo=github)](https://github.com/softbankrobotics-research/qibullet/discussions) [![docs](https://img.shields.io/badge/docs-online-success?logo=githubpages)](https://softbankrobotics-research.github.io/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:
```bash
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](https://github.com/softbankrobotics-research/qibullet/tree/master/qibullet/robot_data/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](https://github.com/softbankrobotics-research/qibullet/wiki).

## Usage
A robot can be spawned via the SimulationManager class:
```python
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:
```python
    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](https://github.com/softbankrobotics-research/qibullet/tree/master/examples), or on the [wiki](https://github.com/softbankrobotics-research/qibullet/wiki)

> :warning: The camera subscription system of qiBullet 1.4.0 (and lesser) is __deprecated__, use the [new system](https://github.com/softbankrobotics-research/qibullet/wiki/Tutorials:-Virtual-Robot#cameras)

## Documentation
The qiBullet __API documentation__ can be found [here](https://softbankrobotics-research.github.io/qibullet/). 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:
```bash
git submodule init
git submodule update
```

The documentation can then be generated via the following command:
```bash
cd docs
doxygen Doxyfile
```

The repository also contains a [wiki](https://github.com/softbankrobotics-research/qibullet/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](LICENSE)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/softbankrobotics-research/qibullet",
    "name": "qibullet",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "physics simulation,robotics,naoqi,softbank,pepper,nao,romeo,robot",
    "author": "Maxime Busy, Maxime Caniot",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/21/db/d0682eaf0833952681cbfec89f2b86e2bab5d3efcafec15fb354e7048844/qibullet-1.4.6.tar.gz",
    "platform": null,
    "description": "# qiBullet [![ci](https://github.com/softbankrobotics-research/qibullet/workflows/ci/badge.svg?branch=master)](https://github.com/softbankrobotics-research/qibullet/actions?query=workflow%3Aci) [![codecov](https://codecov.io/gh/softbankrobotics-research/qibullet/branch/master/graph/badge.svg)](https://codecov.io/gh/softbankrobotics-research/qibullet) [![pypi](https://img.shields.io/pypi/v/qibullet.svg)](https://pypi.org/project/qibullet/) [![Downloads](https://pepy.tech/badge/qibullet)](https://pepy.tech/project/qibullet) [![Github discussions](https://img.shields.io/github/discussions/softbankrobotics-research/qibullet?color=blue&logo=github)](https://github.com/softbankrobotics-research/qibullet/discussions) [![docs](https://img.shields.io/badge/docs-online-success?logo=githubpages)](https://softbankrobotics-research.github.io/qibullet/)\n\n__Bullet-based__ python simulation for __SoftBank Robotics'__ robots.\n\n\n\n## Installation\n\nThe following modules are required:\n* __numpy__\n* __pybullet__\n\nThe qiBullet module can be installed via pip, for python 2.7 and python 3:\n```bash\npip install --user qibullet\n```\n\nAdditional 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:\n* `/home/username/.qibullet` on Linux and macOS\n* `C:\\Users\\username\\.qibullet` on Windows\n\nThe 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](https://github.com/softbankrobotics-research/qibullet/tree/master/qibullet/robot_data/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](https://github.com/softbankrobotics-research/qibullet/wiki).\n\n## Usage\nA robot can be spawned via the SimulationManager class:\n```python\nimport sys\nfrom qibullet import SimulationManager\n\nif __name__ == \"__main__\":\n    simulation_manager = SimulationManager()\n\n    # Launch a simulation instances, with using a graphical interface.\n    # Please note that only one graphical interface can be launched at a time\n    client_id = simulation_manager.launchSimulation(gui=True)\n\n    # Selection of the robot type to spawn (True : Pepper, False : NAO)\n    pepper_robot = True\n\n    if pepper_robot:\n      # Spawning a virtual Pepper robot, at the origin of the WORLD frame, and a\n      # ground plane\n      pepper = simulation_manager.spawnPepper(\n          client_id,\n          translation=[0, 0, 0],\n          quaternion=[0, 0, 0, 1],\n          spawn_ground_plane=True)\n    else:\n      # Or a NAO robot, at a default position\n      nao = simulation_manager.spawnNao(\n          client_id,\n          spawn_ground_plane=True)\n\n    # This snippet is a blocking call, just to keep the simulation opened\n    if sys.version_info[0] >= 3:\n      input(\"Press a key to end the simulation\")\n    else:\n      raw_input(\"Press a key to end the simulation\")\n    \n    # Stop the simulation\n    simulation_manager.stopSimulation(client_id)\n    \n```\n\nOr using loadRobot from the PepperVirtual class if you already have a simulated environment:\n```python\n    pepper = PepperVirtual()\n\n    pepper.loadRobot(\n      translation=[0, 0, 0],\n      quaternion=[0, 0, 0, 1],\n      physicsClientId=client_id)\n```\n\nMore snippets can be found in the [examples folder](https://github.com/softbankrobotics-research/qibullet/tree/master/examples), or on the [wiki](https://github.com/softbankrobotics-research/qibullet/wiki)\n\n> :warning: The camera subscription system of qiBullet 1.4.0 (and lesser) is __deprecated__, use the [new system](https://github.com/softbankrobotics-research/qibullet/wiki/Tutorials:-Virtual-Robot#cameras)\n\n## Documentation\nThe qiBullet __API documentation__ can be found [here](https://softbankrobotics-research.github.io/qibullet/). 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:\n```bash\ngit submodule init\ngit submodule update\n```\n\nThe documentation can then be generated via the following command:\n```bash\ncd docs\ndoxygen Doxyfile\n```\n\nThe repository also contains a [wiki](https://github.com/softbankrobotics-research/qibullet/wiki), providing some tutorials.\n\n## Citations\nPlease cite qiBullet if you use this repository in your publications:\n```\n@article{busy2019qibullet,\n  title={qiBullet, a Bullet-based simulator for the Pepper and NAO robots},\n  author={Busy, Maxime and Caniot, Maxime},\n  journal={arXiv preprint arXiv:1909.00779},\n  year={2019}\n}\n```\n\n## Troubleshooting\n\n### OpenGL driver\nIf you encounter the message:\n> Workaround for some crash in the Intel OpenGL driver on Linux/Ubuntu\n\nYour computer is using the Intel OpenGL driver. Go to __Software & Updates__, __Additional Drivers__, and select a driver corresponding to your GPU.\n\n## License\nLicensed under the [Apache-2.0 License](LICENSE)\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Bullet-based simulation for SoftBank Robotics' robots",
    "version": "1.4.6",
    "split_keywords": [
        "physics simulation",
        "robotics",
        "naoqi",
        "softbank",
        "pepper",
        "nao",
        "romeo",
        "robot"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "5e08a70f35e53571558d4e61698a48ec",
                "sha256": "8f4a24be3b36aff6166ca8ba68e3ab2c5342ea5f25069ae8a18e9b9294e6170e"
            },
            "downloads": -1,
            "filename": "qibullet-1.4.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "5e08a70f35e53571558d4e61698a48ec",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 5765473,
            "upload_time": "2022-12-30T10:50:56",
            "upload_time_iso_8601": "2022-12-30T10:50:56.994360Z",
            "url": "https://files.pythonhosted.org/packages/c5/54/ed020b1d74cabaaf637423af073e086290b3761edfd5f91c71d609c65178/qibullet-1.4.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "4300fe0adabed7f3b7f9e01e0ccdf23a",
                "sha256": "88b1ccf77b82d317e4ad21f6f054f8731f65e4b06087e04ba01b02e3e3d03614"
            },
            "downloads": -1,
            "filename": "qibullet-1.4.6.tar.gz",
            "has_sig": false,
            "md5_digest": "4300fe0adabed7f3b7f9e01e0ccdf23a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 5721212,
            "upload_time": "2022-12-30T10:50:58",
            "upload_time_iso_8601": "2022-12-30T10:50:58.736057Z",
            "url": "https://files.pythonhosted.org/packages/21/db/d0682eaf0833952681cbfec89f2b86e2bab5d3efcafec15fb354e7048844/qibullet-1.4.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-12-30 10:50:58",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "softbankrobotics-research",
    "github_project": "qibullet",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "qibullet"
}
        
Elapsed time: 0.02583s