Vorpal Robotics Wiki
Log in

Vorpal The Hexapod Assembly Instructions

From Vorpal Robotics Wiki
Revision as of 15:01, 26 July 2017 by Vorpalwiki (talk | contribs) (ROBOT BOM)

Vorpal Hexapod Quick Links:

BILL OF MATERIALS (BOM) FOR VORPAL H12 HEXAPOD

Note: These instructions assume you have purchased a kit from us. If you are sourcing your own parts, you need to build the switch/battery connector assembly. For diagrams see Vorpal Combat Hexapod Battery/Switch Construction.

ROBOT BOM

Choking-Hazard-Image.jpg

  • Electronics:
    • Beeper and 3 wire Beeper cable
    • Arduino Nano (marked R to indicate it is pre-loaded with robot software)
    • Potentiometer with 3 wires pre-soldered
    • 1 x HC06 BlueTooth Module with 4 x F-F jumper wires for making connections (Note: the HC05 has six pins but only four are used in this project)
    • 1 x Servo Controller module with F-F jumper wires for making connections, plus 1 two-pin shunt tying V+ to VCC
    • 12 x MG90 micro servo motors and associated servo horns
    • 1 x Battery holder for six AAA cells with female JST connector
    • 1 x Power distribution wiring with male JST connector, on/off switch, and female connectors to distribute power.
  • 3D Printed Parts:
    • 1 x Chassis
    • 1 x Top
    • 6 x Legs
    • 1 x Switch bracket
    • 6 x Servo braces
    • 1 x Electronics Caddy
    • 1 x Stand
    • 1 x Eye/glasses Decoration
    • 1 x Joust game accessory
    • 1 x Capture the Flag game accessory and flag
    • 1 x Kung Fu game accessory
  • Miscellaneous:
    • 12 x 6.35mm (1/4") diameter polypropylene solid balls (used for servo bearings). You may substitute similar materials such as HDPE or nylon balls of the same size.
    • 20 x 10mm diameter ceramic magnet, north pole marked. 6 are for robot top, 1 for eye/glasses decoration, 7 for Capture-the-Flag and Joust accessories, 6 for Kung Fu accessory.
    • 12 x socket head cap screw, 2.5mm diameter by 8mm long
    • 2 x #6-32 x 1/2" screw to fasten on/off switch bracket
    • 1 x L shaped hex driver for both kinds of screw

GAMEPAD BOM

  • Electronics:
    • 1 x Battery/Switch Wiring Unit with 9v battery clip. (Note: the gamepad requires no BEC so you can use this fact to distinguish from the robot wiring unit)
    • 1 x four by four button matrix with associated connecting wires
    • 1 x Dpad Button module with associated connecting wires
    • 1 x HC05 Bluetooth module and four wires to connect it
    • 1 x Ardunio Nano (marked "C" to indicate it is pre-loaded with Controller software)
  • 3D Printed Plastic Parts:
    • 1 x Gamepad base plastic part
    • 1 x Gamepad top plastic part
    • 1 x Gamepad button matrix cover
    • 1 x Switch Adapter
  • Fasteners:
    • 4 x #6-32 x 1/4" screw for button matrix cover
    • 4 x #6-32 x 1/2" screw for Dpad button module
    • 4 x #6-32 x 1" screw to hold cover on gamepad
    • 1 x USB cable A to mini for connecting gamepad to computer for ScratchX programming

3D Printing the Plastic Parts

If you are 3D printing the plastic parts (as opposed to buying them pre-printed), here are some tips.

  • RECOMMENDED PLASTIC is PETG. This plastic is easy to print, comes in both solid and translucent colors, and has virtually no odor while printing so it is classroom friendly. The main advantage is that it is "springy" and has some give to it, and tends not to break or shatter. The VCH project has several parts that need this springy consistency to work properly. It is possible to use ABS as well. PLA tends to be too brittle.
  • If you do print with a more brittle plastic, it would help to coat the parts with a 3D printing fill epoxy such as XTC-3D (available through Amazon or other suppliers). This will make the parts stronger. Do not coat inside the servo mount holes as this may take up too much room to let the servos fit easily. Only coat the outsides of the parts. The most critical parts to coat would be the servo brackets.
  • We print using the following settings:
    • 0.38 layer thickness
    • 1mm walls
    • 0.76mm top and bottom layers
    • 15% infill
  • You can print with thinner layers if your printer does not support 0.38mm, but it will take longer.
  • There are versions of several of the parts with and without brims. The brims help parts stick to your print bed so they come out correctly. If you use the brim version of parts, clean them up by pulling the brims off with pliers or snipping them off with angle cutters or even scissors. The brims are very thin.

Building the Robot

You will need the following tools:

  • 2mm hex key. A 3/32 inch hex key will also work.
  • A marker that can write on dark plastic and still be seen, such as Sharpie Metallic or Sharpie Oil markers, is the easiest way to mark servo wires. If you don't have this, you could use clear tape and paper to tape wire labels near the socket end of the servo cable.
  • STEP 1: Insert servos in the chassis. The wire coming out of the servo sticks out away from the robot, the servo shaft would face down toward the table top. As you insert the servo, slowly press it into place until it clicks in under the small tab on one side of the servo holder. Immediately mark the black connector at the end of the wire to indicate the servo number (which is engraved in the top of the servo holder, a number between 0 and 5). A metallic sharpie pen works very well for this, or an oil paint sharpie. Insert the 1-prong servo horn on the servo. DO NOT turn the servo shaft by hand, this can damage a new servo. Thread the wire through the top servo wire guide hole, and into the center of the chassis.

Insert Servo in Chassis Insert Servo in Chassis Insert Servo in Chassis

  • STEP 2: Insert the servos in the Legs. The technique is very similar. Each leg has a large number on it, this is the leg number, they run from 6 to 11. Again, write this number on the black connector at the end of the servo wire. PRO TIP: For 6 and 9, underline the number so you don't read them upside down!

Insert Servo in Legs Insert Servo in Chassis Insert Servo in Legs

  • STEP 3: Thread each leg servo wire into the bottom wire guide slot on the chassis. Each leg servo should be matched with a hip servo plus 6. For example, the leg marked 6 should be threaded through the wire guide on hip servo 0, leg 7 goes with hip 1, leg 8 goes with hip 2, etc. Add 6 to the hip number to get the leg number.
  • STEP 4: Build the electrical system., You need to power up the servos and make them seek to the 90 degree position, this will allow you to adjust the legs properly for walking.
    • STEP 4A: Push the potentiometer shaft into the hole on the chassis meant for this purpose. The wires coming out of the potentiometer should be pointing down. Put the retaining nut on the potentiometer. Turn it all the way counter clockwise, then insert the knob so it points to STP.
    • STEP 4B: Put the on/off switch into the chassis, lining up the holes of the switch adapter with the two matching holes in the chassis. Insert a #6-32 1/2" screw from the outside and turn it to secure one side of the switch, repeat for the other side.
    • STEP 4C: Make the connections listed in the ELECTRICAL CONNECTIONS section of these instructions below. Be extremely careful about the power connections. Double check all connections before powering on.
  • STEP 5: Power up! Make sure the on/off switch is off, and the knob is turned to STP. Connect a battery (6 x AAA rechargeable such as NIMH) and power on the robot using the on/off switch. The servos should all move. If the robot does not move at all, turn the switch off and check your connections again.
  • STEP 6: Adjust Servo Horns. The servos are not at 90 degrees when the knob is all the way counter clockwise. turn the knob very slightly clockwise and you will see all the leg servos twitch. This is "adjust servo horn mode". All servos are now at their halfway point, 90 degrees. Now you need to take off each servo horn and adjust it so it comes straight out. Now, you will not always be able to make the horn come totally straight out. This is because there are only 22 little groves (splines) in each shaft, meaning you can in general only come within about 8 degrees of perfect. This amount of error is acceptable, just get it as close as you can. Do this for all hip and knee servos. Do not insert any screws yet.
  • STEP 7: Assemble the Servo Brackets. The servo brackets come in two U-shaped parts that are identical. Line them up as shown in the illustration. The two raised circles should be next to each other for proper orientation. Hold one bracket in each hand, the ends of the U-shape between your thumb and forefinger as shown. Now, gently squeeze as you push them together, squeeze just enough so they slide into place. If you squeeze too hard, some kinds of plastic may break, PETG is best for this part because it's a little more flexible than most other types. When they seat together, release the pressure and you should have a strong bond between the parts with no screws or glue required! Repeat the process until you have six double brackets.
  • STEP 8: Attach Servo Brackets. The servo brackets connect the hips to the knees. They only go on one way. You need to very slightly bend the U shaped piece while inserting the bracket onto the servo. If you printed these parts using a brittle plastic, they may break, that's why we recommend PETG plastic for at least these pieces. (Usually ABS will also work, however it depends on the brand. PLA seems to be the most brittle of the commonly used 3D plastics and we don't recommend it for this part). First put the bracket on the hip servo (chassis) then the knee servo (leg).
  • STEP 9: Test Knee Positions. Turn the knob fully counter clockwise (to STP) and the robot will go into "stand still" mode. Place it on a level surface such as a table top. Do all of the legs touch the ground? If one or more legs don't touch the ground, you need to adjust the servo horn on the knee a little bit so it does touch. Gently pull off the servo bracket. Pull the servo horn off, and put it back on just a little bit moved so the leg would move closer to the ground. Put the servo bracket back on, and see how it looks. Do this until all legs are at least slightly touching the ground. Again, you can't necessarily be perfect due to the 8 degree increments the servo horns can be moved. But you should be able to be close enough that all legs at least slightly touch the ground.
  • STEP 10: Insert Servo Screws. Now that the legs are adjusted, you can insert the M2.5x8 screws into the servo horns to lock them in place. Note that you will NOT be using the screws that were in the little bag the servos came in, you'll be using the separate pack of screws, which are longer than the ones in the servo bag. Do not overtighten these screws, as you could possibly crack the servo brackets. Just turn the screws until you start to feel resistance, then turn a quarter turn more and stop.
  • STEP 11: Test Individual Servos. To test whether every servo is working, put the robot on its stand. Then start with the knob on STP, then slowly turn it clockwise. First the servos will go into adjust mode, you used that a moment ago to set the servo horns. But, keep going, and the robot will go into "individual servo test mode". In this mode, every hip servo will move, one by one. When all the hips have moved, every leg will move, one by one. You should see every servo move, in order. If some don't move, check your connections. A common error is to plug a servo connector into the servo controller backwards (i.e. the brown wire is matched with the yellow pin instead of the black pin).
  • STEP 12: Test Using Demo Mode. Ok, everything looks good, so time for a full test. Turn the knob to STP, then take the robot off the stand and put it on the floor. Turn the knob to DEMO, and the robot will go through a series of movements to demonstrate some of the things it can do. The full demo only takes about 30 seconds, then repeats. Here, you are looking for the robot to, for example, be able to get back up off the floor after doing some of its dance moves. If the robot struggles to get off the floor, you may have a battery that is not fully charged, or there may be too much friction between the servo bracket and the little ball socket it sits in. A tiny bit of silicone lubricant will usually fix that problem, or just make sure those parts are cleaned up from 3D printing and don't have an excess strands of material that are causing friction. See "Trouble Shooting" for more information about different kinds of issues that can occur.

Building the Gamepad

To go beyond demo mode, you need to build the Vorpal Gamepad. The Vorpal Gamepad allows you to call up many different actions by the hexapod such as walking, turning, dancing, or fighting. The gamepad can also be used as a transmitter to allow Scratch programs to wirelessly control your robot from a computer.

  • STEP 1: Attach cables to the button matrix. Pull 8 wires off the Dupont wire bundle. The colors don't really matter so just take 8 adjacent wires and leave them together if possible. Carefully push these 8 wires, in order, onto the pins coming out of the 4x4 button matrix. Make sure the wire connectors don't "swap places" by twisting under each other, it is very important that the order be correct.


  • STEP 2: Attach cables to the yellow DPAD buttons. Pull three wires off the Dupont wire bundle of the following colors: red, black, white. Plug the white wire into the yellow DPAD button module's pin marked S (signal). The middle pin gets the red wire, and the pin marked "-" gets the black wire.
  • STEP 3: Install the switch. Take the switch/battery assembly and use two #6-32 screws 1/2" long to attach it on the inside wall of the gamepad base, in the rectangular hole. DO NOT OVER TIGHTEN THE SCREWS. The switch assembly has tiny markings for on and off, the markings are the numbers 0 and 1. Make sure the "1" is oriented in the same direction as the "1" engraved on the outside of the gamepad base near the switch hole.
  • STEP 4: Place the buttons." Place the 4x4 button matrix and also the yellow DPAD button module in the matching places on the button bracket. The yellow DPAD buttons should be placed down first, and you may need to slightly bend the pins downward. The 4x4 button matrix also should have its pins slightly bent downward, then its wires will go on top of the wires coming out of the yellow DPAD button module.
  • STEP 5: Connect the electrical system wires. Using the connections indicated in the section below on electrical wiring, plug in all the wires for the Arduino Nano and HC05 Bluetooth module.
  • STEP 6: Insert the Arduino Nano. The Arduino Nano should be oriented such that its USB port is coming out the square hole on the left side of the base, and all the outgoing wires from the Nano are coming out toward the front of the base. Once in place, gently push the side of the Nano opposite of the USB port until it clicks into place, securing it.
  • STEP 7: Insert the HC05 Bluetooth Module. Slip the HC05 Bluetooth module under the U shaped bracket near the center of the gamepad base. Its lights should be facing upward, they will be visible through holes in the top of the gamepad and this helps you know that the gamepad is turned on.
  • STEP 8: Put it all together. Put the 9v battery clip inside the battery box area of the base. Place the button bracket on top of the base, then place the gamepad top on the button bracket, sandwiching the button modules in place. Align the four screw holes in the corners with the matching holes on the base and secure with four #6-32 screws 1/2" long. DO NOT OVER TIGHTEN. NOTE: You might want to just put two screws in, and don't even put them all the way in, until you test the gamepad. In that way, if it does not work, you can easily open it back up to check connections.
  • STEP 8: Test! Turn the switch to "0" (off). Connect a 9v battery to the 9v battery clip then slide the battery door onto the base. Turn the switch to "1" (on). Lights should be visible through the holes. Turn the hexapod's dial all the way clockwise, to "BT" thus putting it in Bluetooth mode. Turn the hexapod on and wait a few seconds for it to completely boot. Try to control the robot! Try hitting each of the top three rows of 4x4 matrix buttons (W, F, D) one by one, and test to make sure every mode functions. If most modes work but a couple do not, you may have swapped some wires coming off the matrix.
  • STEP 9: Decorate If desired, use a marker to darken the Vorpal "V" symbol, the W, F, D, R markings, the 0 and 1 switch markings, and the record/play symbols under the 4x4 button matrix. This will make them more visible as well as making the gamepad look better. We like using oil based paint markers. For dark colored plastics, use a white oil paint marker, for light colored plastics use black.

Electrical Connections: Robot

NOTE: These are the official RELEASE 1 connections. If you have an older prototype (you can tell because the gamepad has no SD card reader in the older version) then please see Vorpal Combat Hexapod Prototype Electrical Connections.

NANO PIN CONNECTIONS

  • Digital IO Pins:
    • D0, D1 are reserved because they are used for uploading programs to the robot.
    • D2 Bluetooth Module Rx
    • D3 Bluetooth Module Tx
    • D4 Beeper Signal (white wire)
    • D5 and D6 are reserved for the optional HC-SR04 ultrasonic rangefinder sensor accessory.
    • D7 through D9 are reserved for future expansion.
    • D10 through D13 are reserved for the optional CMUCAM5 (Pixie) sensor accessory.
  • Analog Pins:
    • A0 Potentiometer signal (white wire)
    • A1 Potentiometer Power (red wire)
    • A2 Potentiometer Ground (black wire)
    • A3 is reserved for the optional light sensor.
    • A4 Servo Controller SDA
    • A5 Servo Controller SCL
    • A6 and A7 are reserved for future sensors.
  • Power Pins:
    • VIN pin on Nano connects to Battery positive (the red Dupont connector coming off near the switch on the wiring module)
    • GND pin on Nano connects to Battery negative (the black Dupont connector coming off the battery black wire)
    • second GND pin on Nano (there are two GND pins on the Nano) connects to the GND pin on the HC06 module
    • +5V on Nano connects to HC06 +5V Pin

IMPORTANT NOTE: The red Dupont connector coming off the switch/battery assembly must go to VIN and never +5V, because the battery voltage is much higher than +5 volts. You will more or less instantly destroy your Nano if you put unregulated battery power directly into the +5V pin. The VIN pin has its own voltage regulator. The +5V pin on the Nano will be used to provide regulated power to the Bluetooth module.

Bluetooth Module Power

  • +5V on HC06 connects to Nano +5V pin
  • GND on HC06 connects to either of the two Nano GND pins

Beeper Power

  • Connect the beeper V+ and ground (marked "-") pins (red and black respectively) to Port 14 of the Servo Controller, matching black and red wires to black and red pins on the Servo Controller.

Servo Controller

  • Connect the 12 servos to port numbers corresponding to the servo marking (0 to 11). Make sure the signal wire (yellow) is oriented correctly.
  • Connect the switch/battery module output to an unused servo port power and ground. Make sure the red wire is going to VCC and black wire to GND.
  • On one short side of the Servo Controller you will find a VCC and VIN pin right next to each other. Use a shunt (small black connector that goes over two pins) to connect those together if one is not already installed. This shunt causes both the servos and the microprocessor to run at the same +5V level.
  • SDA and SCL go to A4 and A5 on the Nano, respectively.

Robot Screw Sizes

  • Servo horn screws: 12 x M2.5 by 8mm long
  • Switch assembly: 2 x #6-32 by 1/2" long

Electrical Connectons: Gamepad

Note: These connections are for the Kickstarter Release 1 product. If you have an older prototype (the gamepad does not have an SD card reader in the prototype) then please see Vorpal Combat Hexapod Prototype Electrical Connections.

NANO PIN CONNECTIONS

  • D2 through D9 are connected to the button matrix pins.Looking from the top of the button matrix module, the rightmost button matrix pin goes to D9, second to right to D8, etc.
  • D10 SD card SS
  • D11 SD card MOSI
  • D12 SD card MISO
  • D13 SD card SCL
  • A0 Dpad Signal (white wire)
  • A1 Dpad VCC (red wire)
  • A2 Dpad GND (black wire)
  • A3, A4, A5 Unused
  • A6 HC05 Tx
  • A7 HC05 Rx
  • VIN battery/switch positive (red wire)
  • GND Either ground on the Nano goes to the battery/switch negative (black wire)
  • ICSP pin 4 (see diagram): SD card reader GND
  • ICSP pin 6 (see diagram): SD card reader VCC

GAMEPAD: Screw Sizes

  • Switch assembly, 2 x #6-32 by 1/2" long
  • Gamepad Cover, 4 x #6-32 by 1/2" long