The Haptically-enabled and Afforable framework to control of Non-anthropomorphic robot manipulators for Data gatheringY (HANDY) is a very affordable data glove and ROS software stack to allow anyone to capture dexterous manipulation data.
The 3d model can be found at this public onshape project.
The lenghts of the linkages can be changed by editing variables in the Passive Link file or configuration values in Main Assembly. The size of the finger mounts can be edited similarly in Finger Trap Net. It is highly recommended to use onshape-to-robot to convert the assembly into a URDF. The assembly, URDF has already been set up for this purpose and the config file here has been configured to point to the correct file. You will need to change this to your own URL if you are making modifications.
All parts can be printed in PLA at 0.16mm layer height. The following off the shelf components are required to assemble the Handy (5 fingered configuration):
- 10 of 6mm x 1mm diametrically magnetised magnet (found here)
- 20 of M2x3.2x2.5mm heat set insert with OD
- 20 M2x6mm screws
- 1 Mini Breadboard
- ESP32-S3 pyqt
All the gerber files for the PCB are found here and can be ordered from a manufacturer like JLCPCB for a low price. The component list is included in the KiCad project.
The firmware exists as a platformio project in the firmware folder. This can be modified to work on any ESP-32 based microcontroller by selecting the appropriate chip in platformio.ini.
The ROS nodes are written for ROS2 Humble. To install, simply clone this repo into your ros_ws/src/ folder and colcon build in your workspace. Note that rosdeps are not properly setup so some work may need to done manually installing required python packages.
After sourcing the workspace, running ros2 launch handy handy.launch.py should deploy the software stack including the kinematic mapping to 2 fingered manipulator. This can be visualised in rviz.
Here are some examples of Handy being used for manipulation tasks:
Rotation.mp4
Translation.mp4
If you have any problems (I suspect you will), feel free to reach out to me through email or discord.
