This is diagram of the basic architecture for our version of Reachy. It is base on a Pub/Sub design pattern. Mosquitto is being used for the MQTT message server. The major components for the system are the following:
The components in the system communicate by sending messages on the message queue. The Sound, Computer Vision and Body components will not communicate directly to each other. They will only talk to the Main Controller. When the Main Controller receives a message from one of the other components, it will decide what messages need to be sent out, if any.
Speech Synthesis
Speech Recognition
Facial Recognition