New interfaces are provided by plugins and are dynamically loaded into OpenRAVE. All interfaces are derived from the OpenRAVE::InterfaceBase class and contain basic information such as the type, the owning environment, setting user data, cloning, and allowing custom string commands to be sent.
Every interface can have its own custom commands. Sending help will return a list of all the commands the interface supports (think of it as a command-line way of sending commands to the interface). The GetDescription() returns a string briefly explaining the functionality, the authors, and the license of the plugin.
Ability to register custom xml reader interfaces.