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.