Skip to main content

SCENe interfAces for Robot Input/Output.

Project description

ScenarIO

C++ standard Size Lines Python CI/CD

Version Python versions Status Format License

SCENe interfAces for Robot Input / Output.

Description

ScenarIO is a C++ abstraction layer to interact with simulated and real robots.

It mainly provides the following C++ interfaces:

  • scenario::core::World
  • scenario::core::Model
  • scenario::core::Link
  • scenario::core::Joint

These interfaces can be implemented to operate on different scenarios, including robots operating on either simulated worlds or in real-time.

ScenarIO currently fully implements Gazebo ScenarIO, a simulated back-end that interacts with Ignition Gazebo. The result allows stepping the simulator programmatically, ensuring a fully reproducible behaviour. It relates closely to other projects like pybullet and mujoco-py.

A real-time backend that interacts with the YARP middleware is under development.

ScenarIO can be used either from C++ (APIs) or from Python (APIs).

If you're interested to know the reasons why we started developing ScenarIO and why we selected Ignition Gazebo for our simulations, visit the Motivations section of the website.

Installation

ScenarIO only supports a single distribution of the Ignition suite. Visit our Support Policy to check the distribution currently supported.

Then, install the supported Ignition suite following the official instructions.

Python

Execute, preferably in a virtual environment:

pip install scenario

C++

You can either clone and install the standalone project:

git clone https://github.com/robotology/gym-ignition
cd gym-ignition/scenario
cmake -S . -B build/
cmake --build build/ --target install

or include it in your CMake project with FetchContent.

Usage

You can find some examples that show the usage of ScenarIO in the Getting Started section of the website.

Contributing

Please visit the Limitations section of the website and check the good first issue and help wanted issues.

You can visit our community forum hosted in GitHub Discussions. Even without coding skills, replying user's questions is a great way of contributing. If you use ScenarIO in your application and want to show it off, visit the Show and tell section!

Pull requests are welcome.

For major changes, please open a discussion first to propose what you would like to change.

Citation

@INPROCEEDINGS{ferigo2020gymignition,
    title={Gym-Ignition: Reproducible Robotic Simulations for Reinforcement Learning},
    author={D. {Ferigo} and S. {Traversaro} and G. {Metta} and D. {Pucci}},
    booktitle={2020 IEEE/SICE International Symposium on System Integration (SII)},
    year={2020},
    pages={885-890},
    doi={10.1109/SII46433.2020.9025951}
} 

License

LGPL v2.1 or any later version.

We vendor some resources from the Ignition code base. For this reason, Gazebo ScenarIO is double-licensed with the Apache License.

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

scenario-1.2.3.dev164.tar.gz (152.1 kB view details)

Uploaded Source

Built Distributions

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

File details

Details for the file scenario-1.2.3.dev164.tar.gz.

File metadata

  • Download URL: scenario-1.2.3.dev164.tar.gz
  • Upload date:
  • Size: 152.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for scenario-1.2.3.dev164.tar.gz
Algorithm Hash digest
SHA256 f4ab955753d1bf6008ffdb7bedf662caaa0e01d7d8b6f392106dec330f9e1743
MD5 af7c24d9b112f0f79509a816b8bd0548
BLAKE2b-256 1aa71193ba0c6ef65a66151970736fad60b372c219193adb198c3d97d53b00e6

See more details on using hashes here.

File details

Details for the file scenario-1.2.3.dev164-cp39-cp39-manylinux2014_x86_64.whl.

File metadata

  • Download URL: scenario-1.2.3.dev164-cp39-cp39-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: CPython 3.9
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for scenario-1.2.3.dev164-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3535dbfdaff9878aa86501adc0b053a2e619117b5d2eedf65d4c88eccd3e323d
MD5 e157eb7a7c1206a797a49f564a549f86
BLAKE2b-256 de47a63f51e6cc53b65b4419498563095d6048994c3df0061c95c8cada176068

See more details on using hashes here.

File details

Details for the file scenario-1.2.3.dev164-cp38-cp38-manylinux2014_x86_64.whl.

File metadata

  • Download URL: scenario-1.2.3.dev164-cp38-cp38-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for scenario-1.2.3.dev164-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 86c4dab67ffe3de01b4fa5cdb76b17f4f388be3c9c7591cb706fec8534340a4a
MD5 ccc30896b5d0d9c22820ca738c8fe856
BLAKE2b-256 f4b9516e4756a72920a258344404f3206582ae5be82dea1f1d21c17174e89c1f

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