Introduction
Laptops/Computers are referred to as a device where a particular device is compromised of sensors and actuators. In order to collect and send data to and from the SIC framework, drivers have been provided to emulate the various sensors and actuators used in SICprovide a large number of functionalities for the SIC framework. They can be used as stand-alone devices, as emulators for Pepper/Nao robots , or as Tablets/Phones/Browsers.
Sensors and Actuators
The following sensors and actuators have been provided in the following format: Sensor/Actuator - driver name where each driver is a JAR file(if applicable).
Microphone -
computer-microphone.jar
...
Camera -
computer-
...
camera.jar
Docker service: stream_video
Browser -
computer-
...
Dependencies
The independent usage of sensors and actuators does not have any dependencies besides running the respective drivers themselves. However, there are two cases where you might have dependencies:
Communication with robot/s: Considering that the intention is to emulate a robot’s responses on your device, and not use an actual robot, you must first launch
computer-robot
. Thereafter depending on the context of your usage, you might need to run the required sensors/actuators drivers.Using a web browser: In order to do so, you must launch
computer-browser
as well as the webserver service. Depending on the context of your usage, you might need to run the required sensors/actuators for that particular use case.
How to Use
An example will be used to demonstrate where these drivers come in handy. Assume one wishes to use sentiment analysis strictly on a laptop/computer, in order to do so you will need to launch the following JAR files to communicate with the SIC framework: computer-microphone
and computer-robot
.
...
browser.jar
Docker service: webserver
the driver automatically launches a Chrome window that displays the page as rendered by the
webserver
service. See the Tablets/Phone/Browsers page for more information.
Speaker * -
computer-speaker.jar
Docker service: stream_audio
can be used for generic audio playing, as well as text-to-speech with eSpeak
Robot -
computer-robot.jar
can be used for emulating Pepper/Nao robots
The drivers are run from the sic-local folder and have been provided as a JAR in the format computer-*. To use these JARs, you need to have run them, Java 8 or later is required to be installed on your machine. Launch one of the local devices by either double-clicking the drivers or using the BAT (Windows) or SH (Linux/Mac) file. With a locally running SIC framework you can always just press OK in the initial dialog box that appears. The full list of available drivers is as follows:
computer-browser
: automatically launches a Chrome window that displays the page as rendered by the webserver service. See Tablets/Phones/Browsers for more information.computer-camera
: can feed the video of the webcam on your machine into the framework.computer-microphone
: can feed the audio of the microphone on your machine into the framework.computer-robot
: emulates the responses (mainly events) that a Nao or Pepper robot would generate.computer-speakers
: uses eSpeak for local text-to-speech and plays generic audio too.
Limitations
The available drivers work as intended on Linux and Windows. Currently, the drivers do not function as intended on Macintosh
* computer speakers always use eSpeak for text-to-speech purposes unless a service uses DialogFlow or Google’s text-to-speech. Windows and Linux have eSpeak by default, however, macOS does not. Therefore install eSpeak from brew: brew install espeak for MacOs.
Dependencies
The independent usage of sensors and actuators do not have any dependencies by themselves. Instead, services are dependent on them. So, depending on the services run, the necessary sensor/actuator should be used accordingly.
How to Use
An example will be used to demonstrate how these drivers are used. Assume this example needs to be run.
start Docker with the required
text_to_speech
servicestart
computer-robot.jar
,computer-speakers.jar
Important: If you are operating on a MacBook, kindly ensure you launch these drivers on a terminal.
the example emulates Text-to-Speech on a robot; hence we need to use both a robot emulator and the speakers as actuators.
run the example
Limitations
The available drivers have been tested on Windows 10 and Ubuntu 20.04. macOS can also be used but has not been as extensively tested and compatibility and support for it are limited.