Getting started with a robot

SIC

SIC is a framework for quickly getting started with social robotics by making it simple to combine complex devices such as Nao’s and powerful services such as Google Dialogflow.

Getting started with SIC consists of a few basic steps:

  1. Installing SIC

  2. Starting Redis and SIC on your device

  3. Start your program to control the robot

Installation

You can find the instructions on how to install the framework here: https://socialrobotics.atlassian.net/wiki/spaces/CBSR/pages/2180415493.

Setup

Once installed to all devices you want to use, we can start the framework.

This consists of two (or three) steps:

  1. Start Redis

  2. (Optional) Start a service, such as face detection

  3. Run your program

Starting Redis on your laptop

To enable communication between all your devices, we have to start Redis on some device.

This can be done in two ways: By starting redis yourself or using docker.

In a (WSL) terminal, start redis using

# in the `framework` folder: redis-server conf/redis/redis.conf

Start it on your laptop in the root framework framework folder (for MacOS and Windows: make sure Docker Desktop is running).

cd your/path/to/framework docker compose up redis

This should start print Container framework-redis-1 Created which means Redis is up and running.

 

Optionally, you can now start other services on your laptop, such as text to speech, by starting the service in a terminal. For example:

cd framework/sic_framework/services/text2speech python3 text2speech_service.py

or with docker

Running a demo

To start a demo, for example to show pepper’s camera output on your screen, simply execute a python script. Some demos are available in the framework/sic_framework/tests folder.

For example, to show the camera feed of the robot:

In the demo_nao_camera.py make sure to adjust the ip adress to the ip adress of your robot. If you press the chest button of the robot it will tell you it’s ip adress. Ensure you are on the same network as the robot, and then you are good to go!

To start the camera demo from the terminal, use the following commands.

Note: This demo requires you to have the OpenCV module installed, as well as have the framework installed.

If all went well, a display should pop up showing you the camera output of your robot!

API

The goal of SIC is to provide easy to use high level access to devices and services. For example, to make a NAO robot say something, run the following python script on your laptop! To see more functionality check out the framework/sic_framework/tests folder!