What is ScenarIO

What is ScenarIO#

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

It mainly provides the following C++ interfaces:

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 (APIs), a simulated back-end that interacts with Gz sim. 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++ (Core APIs, Gazebo APIs) or from Python (core, gazebo).

If you’re interested to know the reasons why we started developing ScenarIO and why we selected Gz sim for our simulations, visit the Motivations section.