Building a robot is only half the battle, because you also need a way to control it. Something like a rover may work with a simple joystick or even typed commands. But complex robots often have many motors and controlling those all directly becomes a challenge. That’s why Will Cogley chose motion control for his bionic hand.
This is the newest iteration of a project that Cogley first started a few years ago. It is robotic hand meant to mimic a human hand as much as possible. Human fingers do not contain muscles. Instead, muscles in the forearms and palms pull on tendons to move the fingers. Cogley’s bionic hand works in a similar manner by using servo motors in the forearm to pull on cables that actuate the fingers. An Arduino UNO Rev3 moves the servos according to commands from a PC, but Cogley needed a way to streamline those commands.
Cogley chose a Leap Motion Controller for this job. It can track the motion of the user’s hand in near real-time and update a 3D model on the computer to reflect that. It displays that model in Unity, which is a 3D game engine that has the flexibility to perform in applications like this. Unity can determine the angle of each joint and Cogley was able to take advantage of the Uduino plugin to send servo commands to the Arduino based on those angles.