Skip to content

G-Abyss/ILDA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ILDA Dexterous Hand Finger Kinematics

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.

Overview

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.

Related article

ILDA灵巧手手指正逆运动学建模 https://mp.weixin.qq.com/s/CysLC0w8-a0Tx0XXKnmZPQ

Features

  • 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

Project Structure

├── 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

Quick Start

MATLAB Version

  1. Navigate to the matlab/ directory
  2. Run the example script:
    cd matlab
    example_usage

Python Version

  1. Navigate to the python/ directory
  2. Install dependencies:
    cd python
    pip install -r requirements.txt
  3. Run the example script:
    python example_usage_python.py

Usage

MATLAB Implementation

See the matlab/ directory for MATLAB-specific usage instructions.

Python Implementation

See the python/README_Python.md file for detailed Python usage instructions.

Finger Structure

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

Parameters

Please refer to the following parameters for specific meanings:[url]

Requirements

MATLAB

  • MATLAB R2018b or later
  • Image Processing Toolbox (for GIF generation)

Python

  • Python 3.7 or later
  • NumPy >= 1.21.0
  • Matplotlib >= 3.5.0 (optional, for visualization)
  • SciPy >= 1.7.0 (optional, for advanced features)

License

This project is licensed under the Apache License - see the LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Contact

For questions or issues, please open an issue on GitHub.

About

Forward and inverse kinematics calculation and simulation of ILDA dexterous hand finger model

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published