This section describes the interfaces exposed by your robot (or simulator) to allow upstream receipt of data from on-board sensors and downstream transmission of command signals for the on-board mechanical actuators and supplementary output and control systems.


There is more than one way to work with a MIRO robot (or simulation), as described under Profiles, which leads to different methods for connecting to these interfaces. Briefly, the ways you can connect to your robot are as follows.

  1. Using the Simulation, talking to the "robot" over the ROS interface.
  2. On-board, in P3, talking directly through the USB link to the embedded P2[1].
  3. On-board, in P3, talking through the ROS interface exposed by miro_bridge (which bridges signals to the USB link).
  4. Off-board, using the ROS interface exposed to the network by miro_bridge.

[1] This profile is experimental and is not yet supported.

In all these cases, the interfaces exposed are much the same in their content, though they are packaged a little differently for the native (USB/TCP) and ROS cases. The likely starting point for most developers will be off-board using ROS packaging, as shown in the image below, so we will use this configuration as the basis for the descriptions in this section. Nonetheless, the information in this section applies to all of these cases, packaging details aside.

Using the simulator looks, to your software, much the same as using the physical robot (though not all faculties of the physical robot are present in the simulator).


The interfaces exposed by MIRO are three, each offering access to a subset of MIRO's faculties, so that individual signal streams are grouped by faculty. For some applications, just one of these interfaces will provide sufficient access (for instance, using MIRO as a simple robot platform will require only the Platform Interface). For some other applications, elements of more than one or even all of these interfaces may be usefully used in concert—conversely, not all elements of all interfaces can usefully be used together.

Platform Interface

The Platform Interface interface provides direct access to the physical (or simulated) robot, its various sensors and actuators, and its supplementary output systems (sound and light emitters). Using this interface you will find MIRO to be a familiar robotic system with familiar inputs and outputs.

Core Interface

The Core Interface provides access to MIRO's Biomimetic Core, which offers control elements based on research into the operation of the mammalian brain. Importantly, the Biomimetic Core controls the platform through the same Platform Interface discussed above. Therefore, when a particular element of the Biomimetic Core is enabled, a particular subset of the control signals available on the Platform Interface will become unavailable for control.

For instance, enabling affective expression through the ears will overwrite any control signal sent to the ears over the Platform Interface; enabling biomimetic body control will render direct control of joint angles through the Platform Interface ineffective. The particulars of these relationships are described in detail in the documentation for the Biomimetic Core.

Bridge Interface

The Bridge Interface provides access to the bridge in P3, if it is running. This allows changes to the bridge configuration and also access to the audio streaming function of the bridge.


Access to MIRO's faculties is grouped into a number of interfaces