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".
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.
- Virtual System Integration: Maps nonlinear robot dynamics into a linear virtual system.
- Generalizable Learning: Transfers learned control policies across arbitrary trajectories.
- Trajectory Basis Learning: Builds foundational trajectory knowledge to enable generalization.
- Safety Mechanisms: Prevents damage during unexpected resistance encounters.
-
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.
-
Object Grasping with Unknown Properties:
- Grasps objects with unknown mass and inertia properties.
- Transfers learned behaviors across arbitrary trajectories.
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
-
Clone the Repository:
git clone --recurse-submodules https://github.com/Debojit-D/ILC-for-Manipulation-and-Grasping.git cd ILC-for-Manipulation-and-Grasping
-
Install Dependencies:
sudo apt-get install ros-noetic-desktop-full pip install -r requirements.txt
-
Build the Workspace:
cd ManipulatorX_ws catkin_make source devel/setup.bash
-
Run Simulation/Experiments:
roslaunch open_manipulator_simulations simulation.launch
- ✅ 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.
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
Contributions are welcome! Please open an issue or submit a pull request to contribute to this project.
- Debojit Das
- 📧 [email protected]
- LinkedIn | Twitter
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! 🚀