Robotic hands typically use servos with positional control mechanisms such as potentiometers, resolvers, or hall effect sensors to track finger positions. However, this approach introduces several challenges:
- Increased complexity
- Higher costs
- Space constraints for servo horns and positional sensors
- Limited rotation (usually up to 180 degrees), restricting finger movement
- Reduced finger force
Alternative Approach: Linear Servos
Linear servos offer distinct advantages:
- Unlimited finger movement
- Higher force output
However, they lack built-in rotational control and require external sensors, leading to the same issues of cost, complexity, and space constraints.
Time-Based Control Method
We propose a time-based approach to finger position estimation. This method involves:
- Attaching a tactile switch to the tip of each finger to detect movement limits, reversing the movement.
- Calibrating each finger by moving it in and out multiple times at various speeds.
- Recording movement duration, servo channel, speed, and direction to build a database of motion profiles.
- Using this database to estimate finger positions based on past movement data.
A secondary program continuously updates the last recorded position of each finger based on its most recent movement, allowing the system to predict positioning with reasonable accuracy.
Our prototype uses inexpensive DS04-NFC servos controlled by a PCA-9685 servo driver, connected to a Jetson Orin AGX 64. However, any Jetson board should work.