ECE434 Project - Mandroid

Revision as of 09:48, 22 October 2020 by Turnerdm (talk | contribs) (Created page with "Mandroid {{DylanHead}} Team members: Dylan Turner == Grading Template == I'm using the following template to grade. Each slot...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


Team members: Dylan Turner

Grading Template

I'm using the following template to grade. Each slot is 10 points. 0 = Missing, 5=OK, 10=Wow!

09 Executive Summary
09 Packaging
09 Installation Instructions 
09 User Instructions
09 Highlights
09 Theory of Operation
09 Work Breakdown
09 Future Work/Conclusions
09 Demo/Poster
00 Late
Comments: Have a good day.

Score:  90/100

(Inline Comment)

Executive Summary


A humanoid talking robot head.

The head listens to you with a microphone, formulates a response, and then replies using speech synthesis while moving its mouth.

Currently, I have PWM working on the beaglebone and a rudimentary speech synthesizer as well as speech recognition.

The primitive chat-bot, the mouth, and servo control are not working.

An example of a much more complex version of what I'm aiming for can be found here. At a minimum, this robot will respond to some speech input, move its mouth a bit, and output some speech output. If I can't build a complex chat bot in time, that's okay with me. I plan to focus on the other three parts more than anything else.


If you have hardware, consider Small Build, Big Execuition for ideas on the final packaging.

Installation Instructions

External Hardware

The dowels and wooden base are used to make a framework for holding up the mask as well as holding the beaglebone.

Another dowel is attached to a motor, which is attached to the central dowel. The motor's dowel is also connected at the other end to the base of the jaw so that the mouth can be opened.


Here's the installation commands for installing the mandroid software:

``` git clone pip3 install SpeechRecognition sudo apt install -y libsdl2-dev libsdl2-mixer-dev python3-pyaudio pybind11-dev make sudo make install ```

Here's the explanation

- Download from git

- Dependencies:
  + SDL2_mixer is required for speech synthesis: `libsdl2-dev libsdl2-mixer-dev`
  + The Python pip library `SpeechRecognition` is required for speech recognition. It relies on: `python3-pyaudio`
  + The python speech recognition library is called in C++ using pybind: `pybind11-dev`

- Build with make

- Install system service for running at start

User Instructions

Once everything is installed, how do you use the program? Give details here, so if you have a long user manual, link to it here.

Consider making it autostart for full credit.


Here is where you brag about what your project can do.

Include a YouTube demo the audio description.

Theory of Operation

Give a high level overview of the structure of your software. Are you using GStreamer? Show a diagram of the pipeline. Are you running multiple tasks? Show what they do and how they interact.

Work Breakdown

List the major tasks in your project and who did what.

Also list here what doesn't work yet and when you think it will be finished and who is finishing it.

Future Work

Suggest addition things that could be done with this project.


Give some concluding thoughts about the project. Suggest some future additions that could make it even more interesting.