Robotic manipulation via imitation learning using language-conditioned policies
Top 62.6% on sourcepulse
CLIPort is an end-to-end imitation learning agent for robotic manipulation tasks, designed to learn a single, generalizable policy from limited demonstrations. It combines CLIP's semantic understanding with TransporterNets' spatial precision, enabling robots to perform tasks based on natural language instructions. The target audience includes robotics researchers and engineers seeking to develop more adaptable and language-aware robotic systems.
How It Works
CLIPort integrates CLIP's visual-language understanding with TransporterNets' spatial reasoning. It uses CLIP to interpret natural language commands (the "what") and TransporterNets to predict precise end-effector movements (the "where"). This dual-pathway approach allows for learning generalizable skills from a small number of demonstrations, bridging the gap between high-level semantic goals and low-level robotic actions.
Quick Start & Requirements
pip install -r requirements.txt
), and develop the package (python setup.py develop
).sh scripts/quickstart_download.sh
), generate test data (python cliport/demos.py
), and evaluate (python cliport/eval.py
).Highlighted Details
Maintenance & Community
The project was presented at CoRL 2021. Issues can be filed via the GitHub issue tracker.
Licensing & Compatibility
The project incorporates code from Google Ravens (Apache 2.0), OpenAI CLIP (MIT), and Pytorch-UNet (GPL 3.0). The GPL 3.0 license for the UNet component may impose restrictions on commercial use or linking in closed-source projects.
Limitations & Caveats
The code is noted as "Tired grad student" quality and currently only supports a batch size of 1 due to memory constraints. Rotation augmentation may cause issues for tasks requiring precise spatial relationships. Multi-task models are not trained on the full seen object split for certain tasks, potentially disadvantaging them compared to single-task models. The README suggests averaging evaluation metrics over multiple runs with different seeds, which is not automated.
1 year ago
1 day