Software

The software being created for this project includes the following:

  1. Python code to control the NAO robot
  2. Arduino code to control our Arduino Mega microcontroller

Python Code & Choregraphe

In order to control the NAO robot, we will be writing custom Python code to be run in the Choregraphe integrated development environment (IDE). Choregraphe is a programming environment made specifically by the manufacturers of NAO as a means of allowing users to program NAO’s behaviors and run custom code on their NAO robot. A visual, drag-and-drop method of programming is available in Choregraphe, and will be utilized to implement the speech recognition necessary for this project, since all NAO robots come with a working speech recognition engine out of the box; however, custom Python code also needs to be written and integrated within Choregraphe to allow for serial communication between the NAO and our Arduino microcontroller.

Arduino Code

We will also be writing custom Arduino code to control our microcontroller. Arduino is a C-like language that comes with its own set of libraries, including Servo, Serial, and others. The main function of the Arduino code will be to communicate with our NAO robot using serial communication over a USB cable, and to operate the servo motors integrated onto our NAO’s fabricated headset and backpack in order to manipulate the NAO’s fabricated facial features to express the correct emotion based on the speech recognized by the NAO robot. The Arduino code will be written and compiled using the Arduino IDE.