Introduction: Monty Python's Argument Bot

About: Hi, we’re Dane & Nicole, two makers that create stuff, which we happily share with you!

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

Step 1: Project Video

Step 2: Head

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!

Step 3: Electronics

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!

Step 4: Linear Actuator

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!

Step 5: Dialogflow

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!

Step 6: Overview and Code

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.

Step 7: Result!

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