Getting started

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

Installation

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

Video Walkthrough

Follow along with https://www.youtube.com/watch?v=9u5bwFHF8tUor https://youtu.be/CnjyYcLV8PQ

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 and SIC 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

Troubleshoot (Could not create server TCP listening socket *:6379: bind: Address already in use)

If you encounter the error Could not create server TCP listening socket *:6379: bind: Address already in use., please use the following command to stop the Redis server first

sudo systemctl stop redis-server.service

And, if you wish to prevent Redis server from starting automatically at boot, you can run

sudo systemctl disable redis-server.service

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

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

Running a local demo

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

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

Note: This demo requires you to have the OpenCV installed.

And you should get the following output:

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

Troubleshoot

  • You might get a warning to allow the python script to access your camera. Click allow, and start demo_desktop_camera.py again.

 

Running a NAO robot demo

To run a demo with a NAO robot, see .

Advanced

If you would like to dive deeper, you can use docker exec -it <Container ID> redis-cli in a terminal to use the Redis command line interface; see https://redis.io/docs/ui/cli/ for documentation of how to use this.

In Docker Desktop you can easily copy the container ID to a clipboard: