Introduction: How to Build Sauron the Lord of the Robots
Are you a fan of Lord Of The Rings movie series? If so for sure you know "Sauron"!
In this instructable we will build a human size semi-humanoid robot looks like Sauron :)
The robot has two 3 DOF arms and a 3 DOF head and a fixed base.
Sauron the robot can operate in three modes and you can switch between these modes using two push buttons attached to two digital Input pins:
1. Standby Mode
This mode for show casing the robot in any event, The robot perform sequence of movements to attract the attendees.
2. Game pad Mode
In this mode the event attendee can control the robot using the Gamepad shield from 1Sheeld Application.
3. Imitation Mode
In this mode the robot can imitates the event attendee movements like the kid in Real Steal Movie.
So you will wear a gloves with your smart phone fixed on it and the Arduino will read your smart phone sensors values like orientation and gyroscope then use these values to control the robot's arms.
I have made this project to participate in New York Maker Faire to make children happy and inspire them to use modern technologies especially developing platforms such as Arduino and 1Sheeld to build their movie characters like ATOM in Real Steal movie or Sauron from The Lord Of The Rings movie series.
I've included all the needed files ( CAD drawings, Circuits schematics and layouts, Arduino codes and dxf files for laser cutter) to help any one to build his own Sauron :)
Lets start building the Lord Of The Robots.
Step 1: Building the Robot's Head
To save time and effort I decided not to reinvent the wheel, so instead of designing a new robotic head I used this fantastic open source robotic head "Fritz" from xyzbot. I download their laser cutter files then I used a laser cutter in a nearby makerspace to cut the head parts.
In my case I tried to reduce the time and the cost so I skipped 3D printing the eyes parts then I skipped the lips and the eyebrows.
I used 3mm plywood sheet to implement the head parts, after cutting these parts using the laser cutter please follow the attached video to assemble the kit but take care of these points.
1. You will skip assembling the base.
2. You will skip all the steps related to the 3D printed parts of the eyes.
3. You will skip all the steps related to the eyebrows and the lips.
Step 2: Building the Robot's Body
As usual I build my projects to be portable to be easily assembled in a short time if I will travel with it to attend an event like Maker Faire so I built the robot's body using Artelon rods and 3mm plywood sheets.
I used Tongue and Groove Joints to fix the chest with shoulders, neck and the back. Then I used 4mm x 20mm screws to fix the wooden frame with Artelon skeleton and 12mm x 30mm screw to fix the Artelon skeleton with the robot's base.
I used 4mm x 10mm screw to fix the servo motors with wooden frame.
The Artelon skeleton consists of 5 parts:
1. The basic rod is made of 50mm Artelon rod.
2. The Skeleton is made of 25mm Artelon rod
3. The width rods -> the robot has 3 part to fix the chest with the back with the help of the Artelon skeleton, these parts are made of 15mm Artelon rod.
You can check the attached drawings for more information ab out the manufacturing all these parts.
Step 3: Creating the Robot's Base
- I used Solidworks to design this base to fix the robot to my desk, you can use the three screws to fix it to the desk or you can use two 4 inch C clamps.
- I used 6mm sheet metal to manufacture this base, and I made these openings to reduce its weight.
- I used 12mm x 30mm screw to fix the base with the Artelon skeleton.
- You can use the attached .dxf file to implement yours.
Step 4: Building the Robot's Arms
The robot's arms were the biggest challenging point in this project. I wanted them to be modular and easily assembled and dissembled as possible to be enable me to travel with the robot to United States.
I wanted these arms to be general purpose and I can modify them easily. If I wanted this robot to be a pirate I can use a sword and a hook and if I wanted the robot to be a boxer like Atom in Real Steal movie I can add two fists and I can add two grippers to make him a general purpose robot, So I designed the forearm joint for this purpose.
I used 3mm plywood sheets to implement the arm frame and aluminum pan tilt for the shoulder joints then I used Balsa sheets to cut the weapons the sword and the hook.
I used Solidworks to calculate the required torque and the result was that I need to use 3kg/cm servo motors but I used larger motors to make the robot to lift some thing.
Instead of doing a lot of machining on the lathe to implement the forearm joints I used Autodesk 123D Make to split them into a rack of slices, then I used the laser cutter to cut them.
I attached the robotic arm design on Solidworks so you can make your modifications and calculate the torque.
Step 5: Sauron Helmet and Armor Cosplay
Till now the robot looks like ATOM from real Steal movie, let help ATOM to be Sauron :D
My friend Kareem helped me to implement the cosplay we followed these fantastic instructables to build the robot's helmet and armor, but I modified them slightly to fit the robot dimensions.
If you have any questions about the cosplay part you can ask him via his FB page
Thanks to Nate Space.
Step 6: The Robot's Electronics
1. I used Arduino Mega with 1Sheeld to control the robot's arms and head servo motors.
2. I used 5V/5A power supply to power the motors and the Arduino.
3. I used small breadboard to connect all the motors Vcc and GND together with the power supply
4. I used 1Sheeld to control the robot using my smart phone.1Sheeld is a rapid prototyping platform for Arduino that allows you to tap into your smartphone's sensors and capabilities and lets you use them in your Arduino projects. Basically, It is a hardware shield that sits on top of your Arduino board and communicates over Bluetooth to this Android app, to transfer data between it and your smartphone.
1Sheeld Mobile Application has a long list of shields, you should select Gamepad shield, Orientation shield, Music Player shield, Terminal Shield and toggle button from this list.
1. Gamepad Shield which is a GUI on my smartphone that has some buttons like PlayStation joystick and connected to Arduino through Bluetooth and i used it control the servo motors manually. When you press on any button from Gamepad shield the application will send data to 1Sheeld then Arduino will control the servo motors of the robot's arms and head.
2. Orientation Shield: I wear a gloves with my smartphone fixed on it then I map the values from the smartphone sensors to send it as angles to the servo motors.
3. Music Player Shield: I use music player shield to play a sound track that has Sauron voice when he move his mouth up and down.
4. Toggle button Shield: I use this shield to choose the desired mode instead of adding physical push buttons
5. Terminal Shield: I use this shield instead of using Arduino IDE serial monitor because 1Sheeld can not communicate with the PC and the Bluetooth module at the same time.
Step 7: The Arduino Code
Step 1: Place your 1Sheeld on your Arduino board then plug the Arduino to your laptop or PC.
Step 2: Download 1Sheeld Application onto your smart phone. The app is available on the Google play store at http://1sheeld.com/app
Step 3: Download 1Sheeld library Download OneSheeld library to your computer through this link.
Step 4: Extract the folder, copy it, and paste it in your Arduino libraries directory.
Step 5: Open my Arduino Sketch ( you will find it in the attached files)
Step 6: Upload your sketch
Here comes the most important part of the whole tutorial, switch 1Sheeld to the Uploading-mode (this is the switch labeled UART Switch on the board) before you upload your sketch to the Arduino board to avoid serial conflicts between 1Sheeld and Arduino, then press the Upload button in the IDE.
Upload mode is turned on when the UART switch is pushed away from the 1Sheeld logo. Once you have completed your upload you need to switch 1Sheeld back to the operating mode.
Don’t forget! If you don’t switch the UART Switch back to the operating mode your project will not work properly as you will have no communication between 1Sheeld and the Arduino board. Operating mode is turned on when the UART switch is pushed closest to the 1Sheeld logo.
Step 7: Use 1Sheeld Application Open 1Sheeld application on your Android smart phone. The application will first scan over Bluetooth for your 1Sheeld, it will take a few seconds and the phone will find it. Once it appears on your screen as 1Sheeld #xxxx, you will be required to enter the pairing code (the default pairing code is 1234) and connect to 1Sheeld via Bluetooth.
NOTE: If you are having trouble please make sure the Bluetooth is turned on for your Android phone and that the Android phone is close to your 1Sheeld.
Step 8 : Select Gamepad Shield, Orientation Shield, Music Player Shield and Toggle button Shield and Terminal shield from the shields list and press on the multiple shields icon at the top right of the app.
Step 9: Once you power the robot, it will operate in the standby mode by default if you want to control it manually using Gamepad access the toggle button shield and choose pin 2 then press On. If you want to return back to the standby mode press OFF.
Step 10: If you want to control it manually using Orientation Sensor access the toggle button shield and choose pin 3 then press On. and make sure that pin 2 status is LOW.
Step 8: Sauron in Maker Faire New York
Now lets watch Sauron between his fans in Maker Faire New York :)
Step 9: Future Work
Regards this instructable:
I will record a video for me wile assembling the robot then trying the three modes
Regards the robot's head:
In this iteration I decided to reduce the cost so I used only 3 motors in the head, In the next iteration I will add the rest of motors and I will 3D print the eyes parts like (eyelid, eyebracket, eyering, clevis pin, eyeball shell)
Regards the robot's base:
I will replace the fixed base with a 4 mecanum wheel robot base to give the robot the ability to move freely.
I finished designing the base on Solidworks but I have no time to merge it with the robot.