19.4 -> Implementation
This implementation section brings together the full system, showing how the compliant finger mechanism is integrated with fabrication methods, mechanical assembly, and electronics to create a functional, controllable device. While the earlier design process focused on developing and validating the finger mechanism itself, this stage highlights how those components are physically realized and connected with hardware and software to produce coordinated motion.
Fabrication
All parts of the finger and the testbench for both fingers were 3D printed in PLA on a QIDI Q2. A few parts, specifically those interacting with metal components, such as the axles and set screws, were printed with more walls to meet the required strength for the servo motor's output force. Mounting plates were designed to be modular, and the fingers were not tied to the base to prevent filament waste.
Slicing for parts with different wall and infill settings is shown below. The servo attachment in the middle has thicker walls to support threading a set screw and to withstand the servo's force, while a tensioner for the belts in the bottom right is printed with solid infill to prevent warping under high force from the belts.
The system is mounted on a laser-cut wooden base produced at Texas Inventionworks, which was also engraved to improve visual presentation.
The axle from the motor was modified into a D-shaft using a milling machine to prevent slipping due to the servo’s powerful output and the force from the contact with objects. This slippage was one of the biggest problems throughout the implementation and refining stages of development. The modification is depicted below.
Assembly
The full system is built on an M3 platform using various lengths of bolt and locking nuts to make sure the assembly was able to move fluidly without disassembling during testing and presentation. More information is found in “19.2 - Design Process” in the final BOM.
To interface the movement of both fingers with a single actuator, belts and couplers were purchased to transfer the motion. All stainless steel axles were held in place with bearings to reduce friction in the system. To mount the motor, the system features a removable card insert, allowing the motor to be easily inserted and removed without unscrewing any hardware. This feature is shown in the figure below:
Figure 4. CAD Model of Removable Motor Card (Gray) | Figure 5. Motor embedded into assembly |
|---|
To increase grip, foam tape is added to the fingertips of each finger. This is crucial for grabbing, as PLA is very slick, and the foam allows some deformation to conform to different objects.
Figure 6. Fingers with Foam Tips Added | Figure 7. Foam (0.25” Thickness) |
|---|
After properly plugging in all devices to the microcontroller, all the components are placed inside a case, and the joystick is mounted on top, secured in a loose press fit. The printed case and final assembly with everything implemented is shown below:
Figure 8. Box for Electronics and Joystick on Top | Figure 9. Final Assembly with Electronics inside Box |
|---|
Through this assembly process, we ensured the compliant finger mechanism sustained functionality and robustness while appearing professional with no loose wiring.
Electronics and Circuitry
The layout for the circuit inside the electronics box is shown below. There are five parts in total, including the microcontroller itself. The microcontroller commands the servo and receives input from the joystick. The motor driver acts as a buck converter to step down the battery’s 9V to the required 5V for the microcontroller, servo, and the joystick.
This setup enables reliable control of the finger motion while maintaining a compact and self-contained system.
Software Development
The movement of both fingers is controlled by one servo in the back. We programmed the fingers to respond to joystick input as described below.
The Arduino sketch below controls the servo motor using the joystick’s Y-axis input. Every 20ms loop, the analog Y-axis value is read, and when outside the deadzone, the joystick’s deflection is scaled and multiplied by a speed factor (1.5 degrees/iteration) to calculate a small position delta, which is then added to the target servo position and clamped between 0 and 90 degrees (motor limits imposed by us). This new position is written to the servo, and a new loop starts.
As a result, we are able to control both fingers in opening and closing around different objects using the joystick and programmed script. The program was made such that fine adjustments could be made using the joystick and subtle movements from an operator.