Horizontal Travel Robot Arm

by pacogarcia3 in Workshop > 3D Printing

8880 Views, 39 Favorites, 0 Comments

Horizontal Travel Robot Arm

Finished Product 2.jpg
Finished Product Range.jpg
Finished Product 4_HTA0.jpg
Finished Product 3.jpg
Finished Product 1.jpg
01wide.jpg

This is the first product I built with an open design. It's a slight modification of a robotic arm and I built this with the intention of enabling practical and useful product movements.

The objective is to help you very quickly build an arm that enables you to add intelligence to it. I will publish the control libraries and image detection logic once I finish this first push of documentation.

Learn more at: https://www.fdxlabs.com/products/horizontal-travel...

Summary Specs

0.88 lbs (0.4 kg) tested max payload

Vertical travel Z-axis: 6.8 inches (17.3 cm)

Reach Y-axis: 10.2 in (26 cm)Customizable

Horizontal travel X-axis (3.3 ft (1 m) as tested.

Bill of Materials & Screw Guide

Attached is the entire list of materials you will need.

.STL files available here:

https://www.thingiverse.com/thing:3509006

Gather All the Materials

01wide.jpg

This is the entire build materials, and this image follows the logical position of each of the components. You can refer this continuously as a map of the build.

Build the Grip

HTA0_Grip_01.jpg
HTA0_Grip_02.jpg
HTA0_Grip_02b.jpg
HTA0_Grip_02c.jpg
HTA0_Grip_03_a.jpg
HTA0_Grip_h_03b_a.jpg
HTA0_Grip_05_a.jpg
HTA0_Grip_06.jpg
HTA0_Grip_07.jpg
HTA0_Grip_09_a.jpg
HTA0_Grip_10.jpg
HTA0_Grip_11.jpg
HTA0_Grip_12.jpg
HTA0_Grip_13.jpg
HTA0_Grip_14.jpg
HTA0_Grip_15b.jpg
HTA0_Grip_17.jpg
HTA0_Grip_20.jpg
HTA0_Grip_19.jpg

Make sure that you center your servo before finishing the assembly of the servo gear.


Materials Required

Grip 3d Printer parts

7 – M3 Screws 12 mm

7 – M3 Locking Nuts

2 – M2 Screws 6mm

2 – M2 Nuts

1 – MicroServo including Horn and Horn Screw/Washer

Build the Base

HTA0_Base_01.jpg
HTA0_Base_02.jpg
HTA0_Base_03.jpg
HTA0_Base_04_a.jpg
HTA0_Base_05.jpg

Materials Required

Base 3d Printed Part

2 – 2020 T-Slot profile 100mm length

4 – M3 Screws 8 mm

4 – M3 washers

4 – M3 T-Nuts

1 – 3mm diameter Aluminum rod

Build the Arms

HTA0_Arms_01a.jpg
HTA0_Arms_01b.jpg
HTA0_Arms_01c.jpg
HTA0_Arms_02a.jpg
HTA0_Arms_02b.jpg
HTA0_Arms_02b_a.jpg
HTA0_Arms_02d_a.jpg
HTA0_Arms_03e.jpg
HTA0_Arms_04a.jpg
HTA0_Arms_04b_a.jpg
HTA0_Arms_04c_a.jpg
HTA0_Arms_04f_a.jpg
HTA0_Arms_04e_a.jpg
HTA0_Arms_04g_a.jpg
HTA0_Arms_03b_a.jpg
HTA0_Arms_03a.jpg
HTA0_Arms_03d.jpg
HTA0_Arms_03c_a.jpg
HTA0_Arms_04i_a.jpg
HTA0_Arms_05a_a.jpg
HTA0_Arms_07e_a.jpg
HTA0_Arms_06a.jpg
HTA0_Arms_06cc_a.jpg
HTA0_Arms_06e.jpg
HTA0_Arms_06d_a.jpg
HTA0_Arms_06f_a.jpg
HTA0_Arms_06g_a.jpg
HTA0_Arms_06l.jpg
HTA0_Arms_07c_a.jpg
HTA0_Arms_07g.jpg

Materials Required

3d Printed Arms

2 – M2 8mm Screws

1 – M2 6mm Screws

3 – M2 Nuts

2 – 3mm Aluminum Rod

2 – M3 20 mm Screw

2 – M3 16 mm Screw

1 – 12mm Screw

5 – M3 Locking Nylon Nuts

11 – MR63ZZ Bearings

Attach Grip

HTA0_ArmsGrip_01.jpg
HTA0_ArmsGrip_03.jpg
HTA0_ArmsGrip_02.jpg
HTA0_ArmsGrip_04.jpg
HTA0_ArmsGrip_06.jpg
HTA0_ArmsGrip_07.jpg

Materials Required

Grip AssemblyArm Assembly

1 – M3 20 mm Screw

1 – M3 16 mm Screw

2 – M3 Locking Nylon Nuts

3 – MR63ZZ Bearings

Attach Servos

HTA0_ServoBase_01.jpg
HTA0_ServoBase_01_a.jpg
HTA0_ServoBase_03.jpg
HTA0_ServoBase_04_a.jpg
HTA0_ServoBase_04b_a.jpg
HTA0_ServoBase_05_a.jpg
HTA0_ServoBase_06_a.jpg
HTA0_ServoBase_08_a.jpg
HTA0_ServoBase_10.jpg
HTA0_ServoBase_15.jpg
HTA0_ServoBase_16f1_a.jpg
HTA0_ServoBase_16f2_a.jpg

Make sure that you center the servos at a ~45 degree angle, as shown in the pictures with the arduino before coupling them to the arm.

The arms have to be at a ~45 degree angle as shown at the "center position" of each servo, this will be crucial to have optimal range of motion.

Materials Required:

3d printer Servo mounts

2 – Servos2 – M

3 Screws 6 mm (Horn screws can be an alternative)

4 – M4 Screws 14mm

4 – M4 Washers

4 – M4 Nuts

Add Bearings

HTA0_BaseBearings_01_a.jpg
HTA0_BaseBearings_03.jpg
HTA0_BaseBearings_04.jpg
HTA0_BaseBearings_05.jpg
HTA0_BaseBearings_08.jpg
HTA0_BaseBearings_09.jpg
HTA0_Carriage_04.jpg

Materials Required

Bearing Plate 3d Print

8 – M4 10mm Screws

8 – M4 Washer

2 – SC8UU Linear Bearing Block

Cable Management Snapshots

Finished Product 4_HTA0.jpg
HTA0_Carriage_11_a.jpg
HTA0_Carriage_07.jpg
HTA0_Cable_01.jpg
HTA0_Cable_03.jpg
HTA0_Cable_04.jpg
HTA0_Carriage_10.jpg

Carriage Assembly

HTA0_Carriage_08.jpg
HTA0_Carriage_05.jpg
HTA0_Carriage_01.jpg
HTA0_Carriage_02.jpg
HTA0_Carriage_03.jpg

Camera

HTA0_Camera_02.jpg
HTA0_Camera_01.jpg

Wiring Diagram

SystemDiagram.jpg

The objective of the robot is for it to be surprising simple. I'm using a Raspberry Pi with a PiCamera, connected by USB interface to an Arduino.

The Arduino directly controls the servo motors, and uses an A4988 Stepper motor driver to control the X-Axis stepper motor.

For power, I used an ATX Power Supply to power the entire system, using an LM2596 voltage regulator to obtain the 6.8 volts required by the large servos. Everything else is consuming 5v or 12v directly from the power supply.

Software

software_stack.jpg

You can find the code repository I'm using here:

https://github.com/pacogarcia3/hta0-horizontal-rob...

The most challenging part is the Computer Vision with a single camera, and you can find more explanation on my blog post here:

https://www.fdxlabs.com/calculate-x-y-z-real-world...