Skip to content

Latest commit

 

History

History
123 lines (90 loc) · 4.5 KB

File metadata and controls

123 lines (90 loc) · 4.5 KB

🛠️ Updated README for Your GitHub Repository


🚀 Iterative Learning for Manipulation and Grasping Against Unknown Resistance Fields

Generalizable to Arbitrary Trajectories

This repository contains the implementation and supporting resources for the research paper:
"Iterative Learning for Manipulation and Grasping Against Unknown Resistance Fields that is Generalizable to Arbitrary Trajectories".


📚 About the Project

This project presents a novel Iterative Learning Control (ILC) framework designed to enable robotic manipulators to adapt and generalize control strategies across unknown resistance fields and arbitrary trajectories.

Key contributions include:

  • 📊 Direct and Safe Deployment: No prior training required in simulations or hardware setups.
  • Rapid Learning: Adaptation to new trajectories in just a few trials.
  • 💻 Computational Simplicity: Optimized for edge-device deployments.
  • 🤖 Generalization Framework: Transfer learned behaviors to new, unseen trajectories without extensive re-learning.

🔑 Core Components

  1. Virtual System Integration: Maps nonlinear robot dynamics into a linear virtual system.
  2. Generalizable Learning: Transfers learned control policies across arbitrary trajectories.
  3. Trajectory Basis Learning: Builds foundational trajectory knowledge to enable generalization.
  4. Safety Mechanisms: Prevents damage during unexpected resistance encounters.

🤖 Applications

  1. Material Cutting with Unknown Resistance:

    • Robot learns resistance characteristics of different materials (e.g., banana, cucumber).
    • Demonstrates safe adaptation and halting upon encountering unexpected resistance.
  2. Object Grasping with Unknown Properties:

    • Grasps objects with unknown mass and inertia properties.
    • Transfers learned behaviors across arbitrary trajectories.

📂 Repository Structure

ManipulatorX_ws/src
├── open_manipulator          # Submodule: OpenMANIPULATOR framework
├── open_manipulator_controls # Submodule: Control scripts for manipulator
├── open_manipulator_dependencies # Submodule: Dependencies for manipulator
├── open_manipulator_msgs     # Submodule: ROS message definitions
├── open_manipulator_simulations # Submodule: Simulation environments
├── Trial_Codes              # Experimental and test scripts
├── README.md                # This file
└── CMakeLists.txt           # Build configuration

🛠️ Setup Instructions

  1. Clone the Repository:

    git clone --recurse-submodules https://github.com/Debojit-D/ILC-for-Manipulation-and-Grasping.git
    cd ILC-for-Manipulation-and-Grasping
  2. Install Dependencies:

    sudo apt-get install ros-noetic-desktop-full
    pip install -r requirements.txt
  3. Build the Workspace:

    cd ManipulatorX_ws
    catkin_make
    source devel/setup.bash
  4. Run Simulation/Experiments:

    roslaunch open_manipulator_simulations simulation.launch

📊 Key Results

  • ✅ Rapid adaptation across new trajectories within 3–4 trials.
  • ✅ Stable grasp during object manipulation tasks.
  • ✅ Demonstrated safety during unexpected resistance encounters.
  • ✅ Efficient deployment on edge devices.

📖 Reference Paper

Title: Iterative Learning for Manipulation and Grasping Against Unknown Resistance Fields that is Generalizable to Arbitrary Trajectories
Authors: Barat S., Suyash Patidar, Debojit Das, Shreyas Kumar, Shail Jadav, Harish J. Palanthandalam Madapusi
Affiliation: IIT Gandhinagar Robotics Laboratory

📑 Read the Full Paper (PDF)


🤝 Contributing

Contributions are welcome! Please open an issue or submit a pull request to contribute to this project.


📫 Contact


📝 Acknowledgements

This work is supported by:

  • Science and Engineering Research Board (SERB) under grant numbers CRG/2022/005196 and MTR/2021/000225.
  • Prime Minister’s Research Fellowship (PMRF).

Special thanks to IIT Gandhinagar Robotics Laboratory for providing computational and research support.


Let me know if you'd like further tweaks or additional sections! 🚀