This repository contains implementations for forward and inverse kinematics calculations and simulations of the ILDA (Integrated Linkage-Driven Anthropomorphic) dexterous hand finger model in both MATLAB and Python.
The ILDA finger model is a sophisticated anthropomorphic robotic finger design that mimics human finger kinematics through integrated linkage mechanisms. This project provides comprehensive kinematic analysis tools for research and development in dexterous robotics.
ILDA灵巧手手指正逆运动学建模 https://mp.weixin.qq.com/s/CysLC0w8-a0Tx0XXKnmZPQ
- Forward Kinematics (FK): Calculate joint angles from actuator displacements
- Inverse Kinematics (IK): Calculate actuator displacements from desired joint angles
- 3D Visualization: Interactive 3D plots showing finger structure and motion
- Animation Generation: Create GIF animations demonstrating finger movements
- Dual Implementation: Available in both MATLAB and Python
- Comprehensive Documentation: Detailed comments explaining kinematic calculations
├── matlab/ # MATLAB implementation
│ ├── ILDA_FK.m # Forward kinematics calculation
│ ├── ILDA_IK.m # Inverse kinematics calculation
│ ├── ILDAFK_fig.m # Forward kinematics visualization and animation
│ ├── ILDAIK_fig.m # Inverse kinematics visualization and animation
│ └── example_usage.m # Usage examples and verification
├── python/ # Python implementation
│ ├── ilda_fk.py # Forward kinematics calculation
│ ├── ilda_ik.py # Inverse kinematics calculation
│ ├── ilda_parameters.json # Configuration file
│ ├── example_usage_python.py # Usage examples
│ ├── requirements.txt # Python dependencies
│ └── README_Python.md # Python-specific documentation
├── docs/ # Additional documentation
│ ├── Supplementary Information.pdf
│ └── Nature Communications Paper.pdf
├── README.md # Main project documentation
├── LICENSE # Apache License
└── .gitignore # Git ignore rules
- Navigate to the
matlab/directory - Run the example script:
cd matlab example_usage
- Navigate to the
python/directory - Install dependencies:
cd python pip install -r requirements.txt - Run the example script:
python example_usage_python.py
See the matlab/ directory for MATLAB-specific usage instructions.
See the python/README_Python.md file for detailed Python usage instructions.
The ILDA finger consists of three main joints:
- MCP (Metacarpophalangeal): Base joint with abduction/adduction and flexion
- PIP (Proximal Interphalangeal): Middle joint for flexion
- DIP (Distal Interphalangeal): Tip joint for fine control
Please refer to the following parameters for specific meanings:[url]
- MATLAB R2018b or later
- Image Processing Toolbox (for GIF generation)
- Python 3.7 or later
- NumPy >= 1.21.0
- Matplotlib >= 3.5.0 (optional, for visualization)
- SciPy >= 1.7.0 (optional, for advanced features)
This project is licensed under the Apache License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
For questions or issues, please open an issue on GitHub.