Introduction: "Miles" the Quadruped Spider Robot

About: Hobbyist, Content based on Robotics, electronics, PCB designing, animation and much more

Based on Arduino Nano , Miles is a spider robot that uses its 4 Legs to walk and maneuver. It uses 8 SG90 / MG90 Servo motors as actuators for the legs, consists of a custom PCB made to power and control the servos and the Arduino Nano.PCB has dedicated slots for IMU module, Bluetooth module and even IR sensor array to make the robot autonomous. Body is made from laser cut 3mm acrylic sheets, can be 3D printed as well. Its a great project for enthusiasts to explore inverse kinematics in robotics.

The code and libraries,Gerber files and STL/step files for project will be made available on request. Miles is also available as a Kit, DM for details.

This project is inspired by mePed (www.meped.io) and utilizes an upgraded code inspired by it.

Supplies

Components needed:

Optional are marked as ~

  • Miles PCB (1)
  • Miles Mechanical Body parts
  • SG90/MG90 servo motors (12)
  • Aduino Nano (1)
  • LM7805 Voltage regulator (6)
  • Slide Switch (1)
  • 0.33uF Electrolytic cap (2)
  • 0.1uF electrolytic cap (1)
  • 3.08mm 2 pin Pheonix connector (1)
  • 2 pin Relimate connector (1)~
  • 10 pin Relimate Connector (1)~
  • 4 in Relimate connector (1)~
  • Male header pins for servo Connectors

Step 1: Designing the Schematic and PCBs

I design my PCBs in Altium software (to download click here) . 12 SG90/MG90 servos can consume upto 4-5 Amps if all working simultaneously, thus the design requires higher current output capabilities. I've used 7805 Voltage regulator for powering the servos, but it can output max 1 Amp current. To solve this issue, 6 LM7805 ICs are connected in parallel to increase current output.

Schematics and Gerber can be found here.

Features of this design include:

  • MPU6050/9250 is used for angle measurement
  • Upto 6 Amp current output
  • Isolated Servo power supply
  • HCsr04 Ultrasonic Sensor output
  • Peripherals for Bluetooth and I2C are also provided.
  • All analog pins are provided on a Relimate for connector of Sensors and actuators
  • 12 Servo outputs
  • Power Indication LED

Specifications of PCB:

  • Size of the PCB is 77 x 94 mm
  • 2 layer FR4
  • 1.6 mm

Step 2: Soldering the Components and Uploading the Code

Solder the components in ascending order of the heights of the components, starting with SMD components first.

There's only one SMD resistor in this design. Add female header pins for Arduino and LM7805 so that it can be replaced if necessary. Solder male header pins for servo connectors and other components in place.

The design has separate 5V for the servos and Arduino. Check for shorts with ground at all individual power rails i.e Arduino 5V output, Servo VCC output and input 12V phoenix.

Once the PCB is checked for shorts, Arduino is ready to be programmed. The test code is available on my github (Click here). Upload the test code and Assemble the whole robot.

Step 3: Assembling the Laser Cut Body:

There are total 26 parts in the design that can be 3D printed or laser cut out of 2mm Acrylic sheets. I've used Red and Blue 2mm Acrylic sheets to give the robot a Spiderman look.

The body consists of several links that can be fixed using M2 and M3 nut bolts. Servos are fixed with M2 nut bolts. Make sure to add the batteries and PCB inside the main body before fixing the top enclosure plate.

Necessary files can be found on my github (Click here)

Step 4: Wiring Everything Up and Testing the Robot:

Now end by connecting the Servos in the order given below:

(D2) Front Left Pivot Servo

(D3) Front Left Lift Servo

(D4) Back Left Pivot Servo

(D5) Back Left Lift Servo

(D6) Back Right Pivot Servo

(D7) Back Right Lift Servo

(D8) Front Right Pivot Servo

(D9) Front Right Lift Servo

Start the robot using the slide switch!

Step 5: Future Improvements:

  • Inverse Kinematics:

The current code utilizes positional approach where we provide the angles to which servo should move to attain certain movement. Inverse kinematics will give the robot a more sophisticated approach at walking.

  • Bluetooth App Control:

The UART connector on the PCB allows the user to attach a bluetooth module such as HC-05 to wirelessly control the robot using a smartphone.

Robots Contest

Participated in the
Robots Contest