Monty Python's Argument Bot

by 8BitsAndAByte in Circuits > Raspberry Pi

19793 Views, 96 Favorites, 0 Comments

Monty Python's Argument Bot

00.png

In need of a good argument? Try the argument bot!
A robot based on Monty Python's Flying Circus argument sketch. We're sure it will revolutionize the argument industry!

Supplies

As an Amazon Associate I earn from qualifying purchases you make using my affiliate links.

Project Video

Monty Python's Argument Bot

Head

01.png
02.png
03.png
04.gif

First things first, we need a person to argue with, and there is none better than the face of the original argument consultant, Mr. John Cleese.

After finding a nice picture online, we use photo editing software to cut out his head and create two separate parts; just his chin, and his full face with a black patch for a mouth.

Once we are happy with the result, we print said parts on some thick paper.
Now all that's left to do is cut neatly along the lines and try out our newly created cutout animation!

Electronics

05.png
06.png

Making Mr. Cleese talk by hand is fun, but it isn't a robot just yet. For that we need some electronics:

  • Raspberry Pi 3B+
  • Google AIY Voicekit
  • Tower Pro MG995

There are great tutorials on getting started with the AIY Kit and working with servos.

After following these guides we are ready to move on the next bit, well done!

Linear Actuator

07.png
08.png
09.png
10.png
11.png
12.png
14.png
15.png
16.png

The crux of this projects is the linear actuator. It is an addition to our servo to make sure we can move the chin up and down. We don't want to reinvent the wheel so we used this one, thanks davelnewton!

We made some minor changes to make it stand on itself and make it easy to attach both the chin and face.

The altered linear actuator is added in attachment to this step.

After assembling and gluing everything we can also run the test code, look at him wag his chin!

Downloads

Dialogflow

17.png
18.png
19.png

With all the physical work done, now it's time to add the ability to argue. Queue Dialogflow, Google's chatbot service. They also have a great quick start.

After all the setup is done, it's time to add all our intents, the more the merrier!

Overview and Code

cleeeeeeese.png

Last but not least we need to write some code. No worries, it's added as well.
Here is an overview of how the full project works:

1
The microphone picks up someone speaking and records the audio.

2-3
Using some Google magic (Speech-To-Text) we extract the text from the audio.

4-5
This text is sent to our chatbot (Dialogflow) and is matched with an intent. After which one of the possible answers is sent back to the Raspberry Pi.

6
Using Text-To-Speech, the text is converted to audio and played via the speaker, while we also move the chin up and down.

Downloads

Result!

final.gif

We have a strict looking face with lifelike movements and the ability to counter any position, let the bickering commence!