Introduction: Spiderbot V2 Robot Car
Spiderbot V2 is an upgrade version of my last project: https://www.instructables.com/id/3D-printed-Transformers-Robot-Spiderbot/
The Spiderbot is inspired by the "Transformers". It is a RC quadruped robot and has two modes of operation: spider and vehicle, just like the robots in "Transformers". It is Arduino-based and controlled by Android phone using Bluetooth.
In this version, the inverse kinematics was included for a better robot movement. The normal wheel in the last version was replaced by the omni wheel, it provides higher mobility in vehicle mode.
You should check out the Youtube video demonstration first!
Hope you like it!
Step 1: Materials and Skills Required
Electronic Parts
- Arduino ProMini x1
- EMAX ES08MA II 12g Mini Metal Gear Analog Servo x12
- Adafruit 16-Channel 12-bit PWM/Servo Driver x1
- Bluetooth HC-05 module x1
- H-bridge motor driver IC L293D x2
- 300RPM 6V N20 DC Geared Motor x4
- Hobbywing UBEC-8A 2-6S Lipo Input 8A UBEC for RC Model x1
- UniHobby 38mm Double Plastic Omni Wheel with 4mm mounting couplings x4
- 50x23x25mm Steel Ball Omni Wheel x1
- LION Power 7.4V 900MAH 25C LiPo Battery x1
- JST-socket battery cable x1
- 7cm x 5cm Perfboard x1
- Some wires, pin headers and socket, switches
Mechanical Parts
- M2 x 10mm Round Head screws and nuts x50
- M1.2 x 6mm Countersunk Head Self-tapping screw x30
- 3D printings
Skills Required
- Soldering
Step 2: Prepare 3D Printed Body
3D Parts Needed
The zip file includes 11 files. To build the robot, you need to print:
- Body.stl x1
- Cover.stl x1
- Connect.stl x8
- Coxa.stl x2
- Coxa_mirror.stl x2
- Femur.stl x2
- Femur_Connect.stl x4
- Femur_Mirror.stl x2
- Tibia.stl x4
- Tibia_Connect.stl x4
- Toe.stl x4
Attachments
Step 3: Solder the Main Board
Before assembling the body frame, we have to make the main board. It is because the servos need to be initialized to zero position before attaching to the servo arms.
To make the main board:
- Cut out 3 rows of the perfboard as shown in the above image.
- Place the Arduino Mini, HC-05, two L293D, 4 2-pin headers, 5-pin socket and switch on perfboard as shown above
- Solder and connect the components together according to the schematic using wires
- After soldered all connections, it would look like the image above.
https://drive.google.com/file/d/1JmwV66b29WVJqhUEg4nHHdO0cc1QmIgX/view?usp=drivesdk
Step 4: Assemble the Parts
Omni Wheel
Assemble the omni wheel, attach the toe on it. Solder two 30cm wires to the DC motors. Then connect the DC motor and wheel.
Tibia
Attach the servo into the tibia. Then, place omni wheel inside the hole of tibia and screw with the cover.
Femur
Attach the one side of servo into the femur, place the femur connect in between servo and femur.
Coxa
Attach the servo into the coxa.
Body
Attach the steel ball under the body
Step 5: Connect Servos to PWM Driver
On the PWM driver, there are 16 channels and we only use 12 of it.
Connect the servos according to the list below:
Leg 1:
- Coxa -> Channel 0
- Femur -> Channel 1
- Tibia -> Channel 2
Leg 2:
- Coxa -> Channel 4
- Femur -> Channel 5
- Tibia -> Channel 6
Leg 3:
- Coxa -> Channel 8
- Femur -> Channel 9
- Tibia -> Channel 10
Leg 4:
- Coxa -> Channel 12
- Femur -> Channel 13
- Tibia -> Channel 14
Then connect the PWM driver to the main board.
Solder the battery to the UBEC together with main power switch and connect it to the PWM driver.
Step 6: Initialize Servos
Download the attached code
Uncomment the initialize code and upload it to Arduino.
Turn off the bluetooth power switch before uploading code.
Turn the power on, and then assemble the parts together like the image shown above.
Tighten the screws of servo arms to fix the position.
The code is modified from https://github.com/anoochit/arduino-quadruped-robot
Attachments
Step 7: Add the Cover
After initialized the servos, comment the initialize code and upload to Arduino again.
Place the cover on top of the robot and add connect to fix the position.
Step 8: Android App Control
Download the app from
https://github.com/anoochit/android-robot-bluetooth-joystick
Setup control command according to the Arduino code.
And all done~