Devices

Under this page you can find more information about some of the (composite) devices that can currently interact with the SIC framework:

Adding new devices

The code for all current devices can be found at Bitbucket and Bitbucket. There are two shared libraries that handle a lot of the common logic that is needed to interact with our framework: one for Python-based integrations (our robot-installer installs this on Nao/Pepper robots for example) and one for Java-based integrations (using Maven, used in all non-NAOqi devices currently). There are 9 different types of devices supported within the framework at this time:

  • Cameras

  • Microphones

  • Robot bodies

  • Speakers

  • Browsers

  • Google Assistant-enabled devices

  • GUI controllers (custom external programs interacting with the framework)

  • Puppets (a special instance of a robot body that can only receive motion inputs)

  • Loggers (used to aggregate logs, grouped in sessions, from multiple sources in a single CSV)

One physical Pepper robot for example is thus composed of multiple ‘SIC devices’. Adding an additional device-type requires updates to the connectors (EIS and Python), as would adding entirely new inputs and/or outputs (i.e. by adding additional handlers in those connectors). However, adding a new device of an existing type without any unique handling will work without any adjustments elsewhere. Take a look at the code of the existing devices or our Architecture page for more insights.

If you developed support for an additional device, feel free to open a pull request to our repositories!