Course: MEGN 200 Final Project
Role: Mechanical design, CAD, prototyping, assembly, and system integration
Partner: Zachary Wolf, software lead
CAD: SolidWorks
Controls: Arduino, Python, OpenCV, MediaPipe, serial communication
Key Features: 3D-printed hand, tendon-driven fingers, servo actuation, camera-based gesture control
This demo shows the final MEGN 200 robotic hand prototype responding to hand gestures through a camera-based control system. The physical hand uses servo-driven tendons to move the fingers, while the software maps detected hand poses into calibrated servo commands.
For our MEGN 200 final project, Zachary Wolf and I built a benchtop prototype of a tendon-driven robotic hand. The project was motivated by remote manipulation in hazardous environments, where a human operator may need dexterity without directly entering a dangerous area.
The concept was a 3D-printed robotic hand with internally routed tendons, servo actuation, and camera-based control. The early design targeted a more complex multi-degree-of-freedom hand with an opposable thumb and finger adduction, but the final prototype prioritized reliable finger flexion, clean mechanical packaging, and a robust fist/open-hand motion.
The hand was designed around tendon-driven finger flexion. Instead of placing actuators directly inside each finger, servos pull tendons routed through the palm and finger joints. This kept the fingers smaller and made the design better suited to 3D printing, but it introduced challenges with routing, friction, tendon stretch, and nonlinear motion.
The initial concept explored approximately 9 degrees of freedom: an opposable thumb, adduction for selected fingers, and flexion across the remaining fingers. As the prototype developed, we simplified the final system to prioritize reliable closure into a fist over more complex lateral finger motion. That tradeoff made the final demo more achievable and improved the robustness of the mechanism.
Zachary Wolf led the software and camera-control system.
The software side used a webcam, OpenCV, and MediaPipe hand tracking to detect the operator's hand pose. Detected finger positions were normalized, filtered, and mapped to calibrated servo positions. The Python program then sent comma-separated servo commands over serial to an Arduino, which drove the physical hand.
The control software also included gesture-based modes, including rock-paper-scissors and a memory game mode. These modes used detected hand gestures to command predefined servo poses such as open hand, fist, and scissors.
A major challenge was balancing dexterity against reliability. The original concept included lateral finger motion and additional degrees of freedom, but that added mechanical complexity, tendon routing issues, and software calibration problems. Near the end of the project, we chose to simplify the final hand so it could close more reliably and present a cleaner, more complete demo.
The main mechanical issues were tendon friction, side-to-side finger play, cable clutter, and packaging the servos and Arduino cleanly. The final direction focused on producing a visually presentable, mechanically understandable prototype rather than chasing every planned degree of freedom.
This project was completed by Silas Askew and Zachary Wolf for MEGN 200. I led the mechanical design, CAD, prototyping, and physical integration. Zachary Wolf led the software system, including the camera-based hand tracking and gesture-control code.
My next step for this project is to design, build, and program a fully opposable thumb prototype. The original hand concept included a thumb with multiple axes of motion, but that portion was simplified for the final course demo to keep the project reliable and achievable. A dedicated thumb prototype would let me focus on the hardest mechanical problem in the hand: compact tendon routing, multi-axis motion, and software calibration for more human-like grasping.
← Back to Projects