We wanted to create a system that allows people to effortlessly control robotic arms remotely. An example of this concept is a surgeon who can use such a system to perform a surgery remotely.

What it does

A Leap Motion tracks a human hand in real time. The movements are translated into servo motor rotations which translate into simulated finger movements on a mechanical 3D-printed hand in real time.

How we built it

A mechanical hand was 3D printed, filed, and assembled. An acrylic sheet was cut and five servo motors were attached to it. This acrylic sheet was attached to the base, which was attached to a wooden plank. Each finger contains two lengths of fishing line: one that straightens the finger when pulled and one that curls the finger when pulled. The fishing line that straightens each finger was attached to a rubber band mounted on the base of the hand. The fishing line that curls each finger was attached to a corresponding servo motor arm. The signal wires of the servo motors were connected to an Arduino Uno. The power wires were connected to a separate USB power supply. Rubber bands and cable ties were used to secure most components in place.

The software to control Wave was programmed in JavaScript using Node.js with Arduino and Leap Motion modules.

Challenges we ran into

-3D printed joints fell apart somewhat frequently. Super glue and two-part epoxy was used to reinforce the parts.

-The palm of the hand was designed for a left hand, while every other part was designed for a right hand. The plastic part had to be carved and modified extensively in order to be compatible. Various hardware also had to be secured to the hand with duct tape.

-8g micro servo motors were barely powerful enough to move the joints.

-The DVD drive stepper motor was not able to handle the weight of the hand reliably.

-9V batteries were used to power the Arduino, but when all five servos were powered at once, the Arduino would restart. A separate USB power supply was used to fix this issue.

-The acrylic plate was originally designed to accommodate four servo motors with the intention of linking two fingers to one servo motor. However, it was soon realized that micro servo motors are not powerful enough to handle more than one finger each. There was little room for a fifth servo motor, so it was mounted hanging off the edge of the plate.

-One servo motor's gear stripped and the motor stopped functioning. Luckily another broken servo motor was available. The two broken motors were disassembled and reassembled into a functioning motor.

Accomplishments that we're proud of

-Finishing a fairly complex hardware project with time to spare

-Working around dozens of obstacles

-Programming the software to control the system with no prior experience in JavaScript or Node.js

-Not messing up in the last five hours

What we learned

-Node.js, JavaScript

-That hardware projects are always more complicated than they seem

What's next for Wave

-Implementing VR

-Building a full arm for positioning in three directions

-Building a second arm

-Polishing just about every aspect of our project

+ 3 more
Share this project: