Monty Python's Argument Bot

About the project

In need of a good argument? Try the argument bot! A robot based on Monty Python's Flying Circus argument sketch.

Items used in this project

Hardware components

Raspberry Pi 3 Model B Raspberry Pi 3 Model B x 1
Google AIY Kit Google AIY Kit x 1
Tower Pro MG995 Tower Pro MG995 x 1

Software apps and online services

Multitool, Screwdriver Multitool, Screwdriver
Scissors, Free Fall Scissors, Free Fall
Google Dialogflow Google Dialogflow

Hand tools and fabrication machines

Printer Printer x 1
Glue Glue x 1
Screw Screw x 1
3D Printer (generic) 3D Printer (generic) x 1
Photo Editing Software Photo Editing Software x 1

Story

Original Monty Python sketch

Project Video

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!

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!

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.

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

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!

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:

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

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

4-5This 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.

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

Result!

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

Schematics, diagrams and documents

Dataflow

CAD, enclosures and custom parts

Linear Actuator

Go to download

Code

arguCode.py

Credits

Photo of 8BitsAndAByte

8BitsAndAByte

We’re Dane & Nicole, two makers that create tremendously terrible tech, which we happily share with you on our channel! https://www.youtube.com/c/8bitsandabyte

   

Leave your feedback...