Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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.

Metadata

Release files for scenario 1.2.3.dev127

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

Source distribution (sdist)

Source distribution for scenario 1.2.3.dev127
File Size Uploaded
scenario-1.2.3.dev127.tar.gz 150.7 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for scenario 1.2.3.dev127
File Interpreter ABI Platform
scenario-1.2.3.dev127-cp39-cp39-manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
scenario-1.2.3.dev127-cp38-cp38-manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details

Total release size: 8.5 MB

Release files / scenario-1.2.3.dev127.tar.gz

Download URL scenario-1.2.3.dev127.tar.gz
Size 150.7 kB
Tags Source
SHA-256 checksum
How to use checksums
7bcbcb5ba9a19e4f4ce4eac183e44fd7522fb68437ead8e84628db5da7685d12
BLAKE2b-256 checksum
How to use checksums
e76bf3cbd2fa3de080fb4b0eb89b028128a785c639c763544c0396c00ab2ad64
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.6

Release files / scenario-1.2.3.dev127-cp39-cp39-manylinux2014_x86_64.whl

Download URL scenario-1.2.3.dev127-cp39-cp39-manylinux2014_x86_64.whl
Size 4.2 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
3824fd3a176b06244bf07b3f6c2f9ddf8dc11a3ab40ec5872d04afb2dcbb36ab
BLAKE2b-256 checksum
How to use checksums
48c0dd552937a5fd7d72d126f8fb5ab91e4aec4f7222090d9e6186fddd03ebe6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.6

Release files / scenario-1.2.3.dev127-cp38-cp38-manylinux2014_x86_64.whl

Download URL scenario-1.2.3.dev127-cp38-cp38-manylinux2014_x86_64.whl
Size 4.2 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
122c2e7c175025fd38cfe5768f1cdf29bd3caec76bfa1e211b809124d3d22103
BLAKE2b-256 checksum
How to use checksums
24fc7e27375f94494c66dd2c9cc2b2a241f247f2fc9e0df8708f45b2c4cdada4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.6

Release history Release notifications | RSS feed

1.3.1

3 release files

1.3.0

3 release files

This release

1.2.3.dev127 This release

3 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