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 scenar-io

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

scenar_io-1.2.3.dev86.tar.gz (151.4 kB view details)

Uploaded Source

Built Distributions

File details

Details for the file scenar_io-1.2.3.dev86.tar.gz.

File metadata

  • Download URL: scenar_io-1.2.3.dev86.tar.gz
  • Upload date:
  • Size: 151.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for scenar_io-1.2.3.dev86.tar.gz
Algorithm Hash digest
SHA256 0f83792f4d28677493886f478c013cccf41672c8157f31c4335ca46abe2476d6
MD5 a992d3d8938d678b2cdc6679ad02d586
BLAKE2b-256 7686590594af16c50d5aba35c004e18b29d60195ba46fd9a44bb43d9794feb98

See more details on using hashes here.

File details

Details for the file scenar_io-1.2.3.dev86-cp39-cp39-manylinux2014_x86_64.whl.

File metadata

  • Download URL: scenar_io-1.2.3.dev86-cp39-cp39-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 4.3 MB
  • Tags: CPython 3.9
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for scenar_io-1.2.3.dev86-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 51ffd1bd5eb87a417df28e3d134652446da758e0a623b6333d8cc2ef64ceb9e3
MD5 804b1ba0c6be4dc17eac512e695a80b5
BLAKE2b-256 8b58f40b385843bb0b14751b31c6224278416fea8a0451a36c7b4756216edcff

See more details on using hashes here.

File details

Details for the file scenar_io-1.2.3.dev86-cp38-cp38-manylinux2014_x86_64.whl.

File metadata

  • Download URL: scenar_io-1.2.3.dev86-cp38-cp38-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 4.3 MB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for scenar_io-1.2.3.dev86-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1be180cf3d60355007fbfc3e9c009727465d389450ddd1f10366fabff7ee1f55
MD5 1a39fa709666d09c3fb1550e03f16322
BLAKE2b-256 c047e59fa73109a08e07da7409b4c50df382d683df5a40c1adf08d2cbc4e2108

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page