LinkerHand Python SDK
- Ensure that the LinkerHand is not under other controls, such as
linker_hand_sdk_ros, motion capture glove control, or other topics controlling the LinkerHand, to avoid conflicts. - Secure the LinkerHand to prevent it from falling during movement.
- Ensure the LinkerHand power supply and USB-to-CAN connection are correct.
You can run the examples after installing the requirements.txt. Only Python3 is supported.
-
Download
git clone https://github.com/linkerbotai/linker_hand_python_sdk.git
-
Install
pip3 install -r requirements.txt
Note: Due to a bug in the Python 485 interface of the current RM65 from Reeman, this feature is temporarily unsupported.
Edit the config/setting.yaml configuration file and modify the parameters according to the comments in the file. RML (Reeman API2) controls the LinkerHand via 485 protocol communication through the Reeman robotic arm.
MODBUS: "None" or "RML"
Linker Hand API for Python Document
-
-
- Added support for L21
-
- Added support for matrix pressure sensors
-
- Added support for L10 Mujoco simulation
-
-
- Added support for LinkerHand L7/L20/L25 versions
-
- Added support for LinkerHand L10 version
- Added GUI control for L10 LinkerHand
- Added GUI display for L10 LinkerHand pressure sensor graphical data
- Added partial example source code
-
Position and Finger Joint Mapping Table
L7: ["Thumb flexion", "Thumb abduction", "Index flexion", "Middle flexion", "Ring flexion", "Little flexion", "Thumb rotation"]
L10: ["Thumb base", "Thumb abduction", "Index base", "Middle base", "Ring base", "Little base", "Index abduction", "Ring abduction", "Little abduction", "Thumb rotation"]
L20: ["Thumb base", "Index base", "Middle base", "Ring base", "Little base", "Thumb abduction", "Index abduction", "Middle abduction", "Ring abduction", "Little abduction", "Thumb roll", "Reserved", "Reserved", "Reserved", "Reserved", "Thumb tip", "Index tip", "Middle tip", "Ring tip", "Little tip"]
L21: ["Thumb base", "Index base", "Middle base", "Ring base", "Little base", "Thumb abduction", "Index abduction", "Middle abduction", "Ring abduction", "Little abduction", "Thumb roll", "Reserved", "Reserved", "Reserved", "Reserved", "Thumb middle", "Reserved", "Reserved", "Reserved", "Reserved", "Thumb tip", "Index tip", "Middle tip", "Ring tip", "Little tip"]
L25: ["Thumb base", "Index base", "Middle base", "Ring base", "Little base", "Thumb abduction", "Index abduction", "Middle abduction", "Ring abduction", "Little abduction", "Thumb roll", "Reserved", "Reserved", "Reserved", "Reserved", "Thumb middle", "Index middle", "Middle middle", "Ring middle", "Little middle", "Thumb tip", "Index tip", "Middle tip", "Ring tip", "Little tip"]
Before running, please modify the configuration information in setting.yaml to match the actual LinkerHand you are controlling.
-
0000-gui_control # python3 gui_control.py
-
0007-linker_hand_get_force # python3 get_force.py --hand_joint L10 --hand_type right
-
0008-linker_hand_get_speed # python3 get_set_speed.py --hand_joint L10 --hand_type right --speed 100 123 211 121 222 (Note: For L7, the speed parameter requires 7 values; others require 5.)
-
0009-linker_hand_get_state # python3 get_set_state.py --hand_joint L10 --hand_type right --position 100 123 211 121 222 255 255 255 255 255 (The number of position parameters should match the Position and Finger Joint Mapping Table.)