Software¶
This section outlines the key components of the software stack for DOGlove, including communication protocols, servo control, feedback mechanisms, and calibration.
Communication Between PC and Main Board¶
- UART Package – Used for low-level serial communication. 
- Vibration Package – Responsible for encoding and transmitting vibration feedback. 
- UDP – Used for real-time data streaming between the glove and host computer. 
Servo Data Path¶
- UDP – Servo position commands and sensor data are transmitted over UDP for low-latency control. 
Haptic + Force Feedback¶
- Force Sensor Readings – Captures contact forces at the robot fingertips. 
- Force Feedback Activation Threshold – 
 When the measured force exceeds a preset threshold, force feedback is enabled by turning on- servo.torque.- To adjust the stiffness of the force feedback, modify the - Kpgain parameter.
 
- Vibration Activation Threshold – 
 When a separate threshold is crossed, the MCU sends vibration commands to the glove.- You can adjust the vibration pattern and duration using the TI vibration library. 
 
Forward and Inverse Kinematics (FK & IK)¶
- Add the site name in the corresponding - .xmlfile to support FK/IK calculations for the pinky finger.
Calibration: Scale and Shift¶
To ensure realistic hand motion mapping, we apply scale and shift adjustments:
- Finger Length Discrepancy → Scale Factor 
 Scale the glove’s finger motion to match the relative lengths of the robotic hand.
- Finger Distance Discrepancy → Shift Offset 
 Adjust for base position differences between fingers to ensure accurate positioning.
The goal is simple: when the real thumb and index finger touch, the robot’s thumb and index should touch as well.