Controllable 1/11 Gardener Type Robot Soldier

by SayaNIGHT in Circuits > Robots

1389 Views, 39 Favorites, 0 Comments

Controllable 1/11 Gardener Type Robot Soldier

IMG_7997_resize.jpg
DSC06936_resize.JPG
Creating a Controllable 1/11 Gardener Type Robot Soldier

I love the movie "Castle in the Sky" which is commonly called "Raputa". In the movie, there are many interesting machines. I especially like robot soldiers. I think it seems like they are driven by an entirely different technology from the current one. There are two types of soldier robots. One is for fighting, and the other is for taking care of the garden. I prefer the gardener type, because it's very peaceful and gentle. It looks nostalgic despite being made with amazing technology. (Actually I don't think the gardener type is a soldier, but it is called "robot soldier".)

I wanted a controllable toy of this robot such as the way star wars fans want controllable BB-8 or R2-D2 toys. Some action figures are sold in some stores, but I couldn't find any controllable toys in any stores. So I decided to make one myself.

I'll share how I made it. To be honest, I don't think everyone who reads this will be able to make one. The model has some difficulties in 3D printing and assembling parts. But if you are experienced, maybe you can make one cooler than mine. Anyway I hope you enjoy reading this!

Robot Functions

  • to raise and lower the arms
  • to turn the head
  • to blink LEDs on the head
  • to make a beep
  • to walk forward and backward (To be accurate, the legs move, but I cannot say it can walk for now.)

Controller

About the controller, please see my other project "Reasonable DIY Wireless Controller".

Supplies

robotSupplies.jpg

Robot

Notes:
  1. Many sellers sell various (fake?) SG90s and MG90Ss. They might work well but might have slightly different dimensions. I designed the motor holder for motors that I bought.
  2. This DC-DC converter module may not be suitable for this project. Some converters didn't work well. I think that contributing factors might be the module's quality variance, higher current requirements than I expected during BLE connection, or my poor soldering. I'm planning to change it to Adafruit MiniBoost 5V @ 1A - TPS61023 like the controller project.

Tools

Software

  • Arduino IDE
  • Fusion360

Mechanism

walking.gif

Head

A SG90 motor connects directly to the neck. The working range is ±90°.

Arms

When the MG90S motor pulls the wire through the arm, the arm raises, and when it loosens, it lowers.

Legs

A DC motor connects to the legs using each slider-crank linkage as shown in the attached GIF. Also, using two wires per leg, when the leg floats, it opens outward; when it lands, it closes inward.

3D Printing

Print all files. Please note the following:

  1. Print two copies of each file for ArmBone.stl, Sholder.stl, SholderBase.stl and ClankPlate.stl. These files are exactly the same on the right and left.
  2. Please be careful about the printing direction for some parts to avoid supports. Especially bodyB.stl has two pocket-like structures for screw nuts. LegR/L.stl have narrow holes for wires. So I recommend to print it with a posture that does not require support inside the pockets and holes.

Painting (optional)

painting.jpg

Paint before assembling as you like. Sand the surface before painting as needed. Don't forget to paint the rivets. I used acrylic gouaches. For the first time tried weathering and adding moss.

Assembling 1

assemble1.jpg

Assemble the following components. Figures show basically the right side parts. About the left side parts, replace "R" in the STL filenames with "L" and make it symmetrical.

  1. Head: Attach two LEDs inside "head" using a hot glue gun. Then assemble the head as shown in Fig. 1. LED leads are threaded through the hole of the "neck".
  2. Hands: Assemble the right hand as shown in Fig. 2. Assemble the left hand in the same way.
  3. Arms: Thread the wire through the front of parts "ArmBone", "Shoulder" and "ShoulderBase". Don't tie the wire at this step and leave the wire longer. And assemble the right arm as shown in Fig. 3. Assemble the left arm in the same way.
  4. Arms and Hands: Attach the right hand component to the right arm as shown in Fig. 4. Assemble the left side in the same way.
  5. Legs: Assemble the right leg as shown in Fig. 5. Assemble the left leg in the same way.
  6. Leg Motor Component: Attach "LegLinkMotorR", "LegLinkMotorL", to the DC motor using screws. Attach two "ClankPlates" to the DC motor shaft. The left and right "ClankPlates" should have a phase difference of 180°. Then attach "LegLinkR", "LegLinkL", to the "LegLinkMotorR", "LegLinkMotorL" and "ClankPlates" using rivets as shown in Fig. 6.
  7. Butt: Thread the four wires through the four holes of "LegLinkMotorR/L". Don't tie the wires at this step and leave the wires longer. Then attach the "Leg Motor Component" to the "ButtF" using screws as shown in Fig. 7.
  8. Inside Body: Assemble the "ButtB", "motorHolder" and "armHolder" using screws as shown in Fig.8.
  9. Motors: Attach the "neckHorn" to the SG90 motor horn using screws. The SG90 motor horn holes for the screws need to be widened using a drill. Use the one side horn for the MG90S or cut the one side of the horn. Attach three motors to "motorHolder" using screws as shown in Fig. 9.
  10. Switch: Attach the switch to the "bodyB" using a hot glue gun as shown in Fig. 10. Be careful not to apply too much glue as the switch will not work well.

Wiring

schematics2.jpg
DSC06985.JPG
DSC06981.JPG
DSC06986.JPG

Confirm the available space for the electronic components and how to route the wire. Solder and wire all the electronic components according to the schematic diagram. The power switch is located on the back of the robot, so be careful to route the wiring through the back of the robot. I highly recommend using connectors for ease of assembly. Please see some pictures attached as an example.

Code

Code the MCU as you like. As a sample I attached my code. The robot and the controller communicate using BLE. The robot is a BLE peripheral device, and the controller is a BLE central device in my code. Upload BLEControllerCentral.ino to the controller MCU when robotSoldierPeripheral.ino is used for the robot. I recommend changing the UUIDs.

See my controller project to know how to make a controller. BLEControllerCentral.ino is exactly the same as the code in that project.

Assembling 2

assemble2.jpg

Assemble the following components.

  1. Attach the right arm components to the "armHolder" using screws as shown in Fig.11. Attach the left arm components in the same way.
  2. Tie the wire to the MG90S motor horn. Before tying, set the motor horn to the loosest position. For my code as shown in Step 6, the initial position after 'power on' is the loosest position as shown in Fig.12. Check the movement of the arm after tying. You can rotate the motor easily by hand when the power is off.
  3. Attach the "bodyB" to the "motorHolder" using screws as shown in Fig. 13.
  4. Put and connect all of the electronic components into the robot as shown in Fig. 14.
  5. Attach the head component to the "neckHorn" as shown in Fig. 15.
  6. Attach the "BreastR" and "BreastL" to the "bodyF", and then the "bodyF" to the robot as shown in Fig. 16.
  7. Attach the leg component to the robot as shown in Fig. 17. The parts "LegCoverR/L" tend to come off easily, so you can use glue after doing the next step.
  8. This is the hardest step:-( Thread the wires tied to "LegLinkMotorR/L" through the "LegR/L" as shown in Fig. 18. Tie the wire so that the leg opens outward when the foot floats and closes inward when the foot lands. Rotating the DC motor is needed to adjust the wire length.

Enjoy!

Enjoy controlling the robot and reenact your favorite scenes!