Dishwasher loading
A general dishwasher-loading manipulation policy in NVIDIA Isaac Lab, built on simulated dish assets I released publicly.
What it is
Loading a dishwasher looks routine, but for a robot it is a long chain of decisions: which dish to pick next, which rack and slot it belongs in, how to grasp it, and how to set it down without blocking the dishes that still have to go in. I am building a general dishwasher-loading manipulation policy in NVIDIA Isaac Lab. This is my graduate research in the Cognitive Robot Autonomy & Learning (CoRAL) Lab at Purdue, advised by Prof. Ahmed H. Qureshi.
The project is ongoing. This page covers only what is already public: the dish asset dataset on Hugging Face and the simulation repository with its figures.
What I built
- Simulated dish assets. I released the dishes as a public Hugging Face dataset, so the objects can be used outside the lab.
- A load-quality score. A scoring function rates how well a rack is loaded, and it serves as the task reward.
- A dish-placement dependency graph. It captures how placements depend on one another, and the loading planner uses it as a heuristic.
- Planner and motion generation, in progress. I am now developing the loading planner and the robot’s motion generation.
Result
There are no results to report yet, because the work is still in progress. The public pieces are the dish asset dataset and the simulation code, both linked below; the figures above come from that repository’s documentation: the rack model, one object-library entry, and the rack slots within the arm’s reach. Next, demonstrations from the planner will seed an imitation-learning policy.
