...
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 (
logger.jar
in the cbsr-local directory; 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.
...