Modularity is the key! With the release of NRP 4.0 simulations in the NRP now implement a hub-and-spoke architecture by which way a central “hub” component (referred to as NRP-core) orchestrates the execution of all others simulation-related components. These “spoke” modules can be heterogeneous in nature and function and their number is not prescribed. This enables the NRP to use a wide variety of simulators (e.g., Gazebo, NEST, Unity, MuJoCo, PyBullet, EDLUT, OpenSim) and create complex control architecture by composing various components.
In NRP 4.0, NRP-core still keeps the essence of the transfer function (TF) framework offered by the legacy NRP. Users can decouple the computational features of individual modules from the definition of the connections that exist between them. Finally, a new API allows easy integration of NRP-based experiments into standard learning frameworks (Stable Baselines, for example) in place of OpenAI Gym environments.