Introduction: FRITZ - ANIMATRONIC ROBOTIC HEAD
Hey guy's welcome to my instructables let's make.
Fritz -The Animatronic Robotic Head.
Fritz is open source and awesomely amazing.
It can be used for anything.
Ex: learning human emotions, receptionist, Halloween stud, flirter, singer and much more all relies on your imagination!
It can also sing songs and the best of all it has a changeable base plate so you can etch anyone’s face on it and attach to Fritz and Fritz becomes your man.
I have made two versions acrylic and plywood.
I wanted a stoned look so my friend painted my acrylic Fritz eyeball showing red nerves.
Official Link:
https://github.com/XYZbot
Step 1: Gather Parts:
Mini servo motor x11.
Normal servo motor x2.
Arduino Uno or mega x1.
Arduino sensor shield v5.0 to connect servo motors to Arduino (or make the circuit shown in next step) x1.
Ultrasonic sensor or ir sensor x1.
1000uf capacitor x1.
Male header pins.
A led for indication.
Soldering gun and soldering wire.
6v adaptor or battery (1.5AA x4).
0.032” diameter stiff wire (1 metre) (for making control wires).
Metal rod 2mm thick 30mm long.
Metal rod or wooden dowel 6mm thick 150mm long.
Springs or rubber band.
Mdf or plywood or acrylic sheet (anything between 3.2 to 3.5mm thick is recommended).
Glue.
Black marker.
Access to a laser cutter and 3d printer.
Needle Nose pliers x2.
Nut-bolts (m3).
Thin filers (to file things if they are hard to insert).
Last and most important thing A COMPUTER!!.
Note: I have also added official video showing every bits and pieces of assembling please refer that for detailed instruction of assembly.
Also the video shows a slightly different assembly procedure.
Use anyone.
The software only runs on windows.
Step 2: Assembly Video
Step 3: Laser Cut the Parts
Wash the parts to remove soot deposit on them so as to avoid your hands from getting black.
Note: do not wash mdf parts just wipe them clean with a wet cloth. Dry parts thoroughly.
If cutting on acrylic please use acrylic file do not use mdf file otherwise it will be a problem mounting motors.
Step 4: Make Control Wires for Controlling Eyeball and Eyelid Movements.
Below is the attached pdf for making control wires refer them and make them.
Horizontal wire x2.
Vertical wire x2.
Eyelid wire x4.
Step 5: Put Files for 3d Print.
Eyelid x4.
Eye form vac mould x2 (break all inner supports after printing).
Eye ring x2.
Eye bracket x2.
Celvispin x2.
Eyelid mount x2.
Step 6: Make the Circuit.
Get an Arduino Sensor Shield v5.0
Make the circuit I made it on perfboard
Step 7: Assemble the Base.
Gather these parts.
Step 8:
Assemble as per shown.
Notice the side walls (the one with trapezoidal shape) have two long tabs.
Insert the rectangular piece in the slots near them.
Attach the motor holder its opening facing the opposite side.
Step 9:
Attach the other side wall.
Step 10:
Attach front and back walls.
Step 11:
Notice after attaching the front walls thoroughly tabs will protrude out.
Attach the shoulder pieces over there.
Step 12:
Attach the circular part on top.
Step 13:
The tops hole matching with the motor holder’s hole.
Attach a normal servo motor to the base.
Insert the motor from the bottom of the base.
Align it on the motor holder.
And from the top secure it with nut-bolts.
Note: if assembling mdf or plywood parts apply some glue to parts only if required otherwise it’s a snug fit if you find material as per recommended.
Step 14: Assemble the Neck.
Gather these parts.
Step 15:
Attach the piece with slot for mounting servo motor on left of the rectangle piece and the other part to the right.
Attach the back piece.
Step 16:
To the bottom attach horn piece.
Apply glue if required.
Step 17:
Attach star shaped servo horn secure it in place with two screws from opposite side.
Step 18:
Mount normal servo motor from inside secure in place with nut-bolts.
Step 19:
Get a small sized circular servo horn mount it over laser-cut circular gear piece.
Secure in place with screws from opposite side.
Mount this assembly on neck servo motor attach screw.
Step 20: Build the Eye Box.
Gather these parts.
Step 21:
Insert the nose part in flat part with nose end facing downwards.
Notice there are two slots in the flat part.
When you insert the nose part the tabs on nose part will match with slots on flat part.
Step 22:
Attach the part with oval cuts in the slot on nose piece and align it straight into slots on flat part.
Notice on the flat part there is a small “g” cut it should be on the right with the nose part facing opposite to you.
Step 23:
Attach the two remaining parts on the sides with the round edges facing opposite to the nose parts.
Attach the back piece with the two top holes facing upwards.
Step 24:
Attach four mini servo motors to the flat part.
Insert servo wire first through the holes then mount motors and secure firmly with screws (nut-bolts if using acrylic) do not over-tighten the screws.
Do not attach motors to side walls.
Add Arduino on the back panel usb port facing down secure with nut-bolts.
Step 25:
Mount the assembled circuit over it.
Step 26:
Now on the front part the ones with oval cuts attach eye bracket with nut-bolts.
Insert celvis pin.
Attach eye ring the flat side facing you.
Align the celvis pin hole with eye ring and insert metal rod through it till other end glue the edged of rod to secure firmly.
Attach the vertical wire to the bottom hook of eyeball and horizontal wire to the side hook of eyeball.
Glue the eyeball on the eye ring paint the entire part black with a marker.
Repeat the same for other end as well.
While attaching remember not to attach wires near the nose holes.
Step 27: Assemble Eyelid Box.
Gather these parts.
Step 28:
Notice on the face panel there is one slot extra place it towards your right.
Insert servo motor in one part and secure with screws.
Mount this on left edge.
Mount other side on right edge.
Add the oval panel between both.
Apply glue if required.
Step 29:
Flip it over.
Add servo motors to remaining parts.
Step 30:
Get two eyelids place them such that the form a bowl structure.
Step 31:
Pass two nut from both holes.
Get the eyelid mount bracket align its holes with the eyelid holes and tighten both these screws such that the eyelids are free to move.
Get eyelid control wires.
Add one to the upper eyelid and other to lower eyelid.
Add a servo horn to the other end.
Repeat for the other part as well.
Remember to attach the left eyelid servo horn facing upwards and right eyelid servo horn facing downwards.
Mount each of them below the eyeball hole secure with two nut-bolt.
Step 32: Mount the Eyelid Box Onto the Eyeball Box.
While assembling carefully pass the eyelid control wire through the oval cuts on the eyeball box.
Step 33: Attach the Gear.
Gather these parts.
Sandwich the tabbed gear between the two untabbed ones fasten with two nut-bolt.
Attach this gear below the eyeball box near the place marked “g”.
Step 34: Assemble Jaw.
Gather these parts.
Step 35:
Gather these parts.
Notice one slot on the jaw is near the edge.
Mount the jaw bone with one hole near the edge slot.
Attach a servo horn to the jaw bone with three holes.
Mount this jaw bone on the other slot.
Add the bone stick between both the bones.
Apply some glue if required.
Step 36: Give It Brains.
Below is the zip file containing arduino code and software for fritz.
Also contains the source code of software if someone wants to recompile it or make some changes.
Upload the “fritz.ino” code to your board.
Now close “Arduino ide” otherwise fritz app won’t connect.
Now open “fritz.exe”.
You should see a green tab indicating “CONNECTED” this means fritz is read to rock n roll.
Now go to “options>setup motors” and change ever field to “0” this step centres our servos automatically.
While changing to zero if you get a screen "error in simulation paint overflow" do not press ok press the “X” button otherwise the screen will pop-up again and again.
Press “OK”.
Restart fritz app.
Please do this step it is very much required otherwise our servo will start buzzing.
Change the control tabs to whatever you want.
I connected this way.
2-left eyelid.
3-left eyebrow.
4-left horizontal eye.
5-right horizontal eye.
6-left lip.
7-right eyelid.
8-right eyebrow.
9-right horizontal eye.
10-right vertical eye.
11-right lip.
12-twist neck.
A0-tilt neck.
A1-jaw.
A2-ultrasonic echo pin.
A3-ultrasonic trigger pin.
A4-ir sensor.
Press “OK”.
Now connect base motor, i.e., twist neck to 12 pin.
The motor will self-enter.
Now attach neck assembly on top of it.
Carefully press it on top of the base motor secure with screw.
Now attach neck servo motor, i.e., neck tilt to A0.
Motor will self-center.
Now get the assembled face align the gear in the face with the neck gear.
Pass rod or wooden dowel through and through till the other end.
Now attach jaw motor the motor near the chin part to A1.
Mount the jaw assembly over it such that the mouth is closed secure the servo horn with screw.
Now connect all remaining motors to the board.
While connecting remember.
Inside the eye box the motors place vertical are “eye horizontal motors” and the motors place horizontal are “eye vertical motors” the motor on the left is “right eyelid” motor and the motor on the right is left “eyelid “motor.
All will enter themselves.
Attach all servo horns and secure with screws.
While attaching the eyelid servo horns notice that the eyelids are half open.
Attach the face plate.
Secure with nut-bolts.
Attach the eyebrow motors when they center add the eyebrows and secure with screws.
Attach lip horns on both sides.
Attach two springs one for top lip and other for second lip secure with spring.
Tie the centre of upper lip to the small hole on face plate.
Tie the centre of lower lip to the small hole on jaw.
Attachments
Step 37: Getting All Ready.
Now go to “options>setup motors”.
Press the minimum and maximum arrows so as to move the individual parts.
You should see the parts move in conjunction with the values.
Adjust each values for each movement press the test button when done one satisfied press the stop button.
Now uncheck the box which you finished setting so that you accidentally don’t move the parts too much to break them or someone doesn’t hack your face.
Set each and ever part and uncheck the boxes.
If you have an ultrasonic sensor or analog ir sensor attach anyone of them and you should see the value range.
Press ok when done. .
While changing to zero or whenever if you get a screen like this do not press ok press the “x” button otherwise .the screen will pop-up again and again.
These are my set of values.
Now move through the expressions on the left.
You will see the animation and our fritz move together.
Tadaa!! Fritz alive!!
Step 38: Software Overview.
Hover over the animation you will see green dots.
Click and drag those dots you will see the animation and fritz moving.
Dots resemble individual parts.
Got to “file>load audio” load a song in .wav file click on play.
Fritz will start singing.
Click on “edit” and you can cut trim the audio file and do much more things.
Load movements on top of your audio file.
So fritz sing with action!!
You can also trim paste and do lot to everything.
Edit also has a record window where you can record movements, save and play them later.
You can open preloaded sequences.
Also make one by moving individual parts and save them for later use.
Go to “behaviour” you have two options “face detect and greet” , “tell me the temperature”.
For this options to work you need to install “robo realm” machine vision software.
The last option “random messages” is just amazing.
In the window type whatever you want fritz to say.
Check “random eye movements” and “random neck” movements select a tts and click activate.
Fritz speaks it with random expressions.
The tts is built in your windows computer.
Alternately if you have ultrasonic or ir sensor connected.
Check on of the box.
Enter the distance in cm to trigger fritz.
Maximum “100 cm”.
Press activate.
Now move in front of sensor and fritz jiggles!!.
I have installed fritz at my nearest makerspace attached a ultrasonic sensor at the sensor.
This option plays stuff written inside it if you want to play some good sequence there is another option.
Go to “options>distance trigger”.
Check trigger is enabled tick a sensor enter the trigger distance press "OK".
Now load a sequence.
Move in front of the sensor fritz plays the sequence.
There some options under “Audio” they are used for only add.ing mouth movements.
Alternately you can control it using keyboard or usb based joystick.
Configure them under “options>keyboard configuration” , “options>joystick configuration”.
If you press this button the current sequence is uploaded to fritz.
When you disconnect fritz from computer and power it alternately it does the expression without voice since it has no speaker.
This works as good Halloween idea.
Step 39:
That’s it.
Make one and enjoy.
Make different face plates such as “devils face” , “sharks face” or whatever you like.
Vote for me in make it move.
Future plans.
Avoid the use of robo realm.
Make an “AI” for it just like “Mycroft”.
Make an application that runs on all platforms.
Especially that runs on raspberry pi so that fritz is a stand alone module.
If you guys make any software changes please post it.