This stack provides a software associated with the ICRA2012 submission titled: A Generalized Framework for Opening Doors and Drawers in Kitchen Environments.

In the paper, we present a generalized framework for robustly operating previously unknown cabinets in kitchen environments. Our framework consists of the following four components: (1) a module for detecting both Lambertian and non-Lambertian (i.e. specular) handles, (2) a module for opening and closing novel cabinets using impedance control and for learning their kinematic models, (3) a module for storing and retrieving information about these objects in the map, (4) a module for reliably operating cabinets of which the kinematic model is known. The presented work is the result of a collaboration of three PR2 beta sites. We rigorously evaluated our approach on 29 cabinets in five real kitchens located at our institutions. These kitchens contained 13 drawers, 12 doors, 2 refrigerators and 2 dishwashers. We evaluated the overall performance of detecting the handle of a novel cabinet, operating it twice and storing its model in a semantic map. We found that our approach was successful in 51.9% of all 104 trials. By carefully inspecting the failure cases, we found that the robot was often not strong enough (27.9%) to open the heavier cabinets. Less frequently, the robot failed to detect the handle (6.7%) or the gripper slipped off during operation (6.2%). Notably, opening known cabinets (of which the kinematic model had already been learned) always succeeded. As a result, we contribute along with this paper a well-tested building block of open-source software for future robotic service applications.


Installation Instructions

Handle Detector

git clone

Articulation Model Estimation

svn co

3D Reconstruction, Base Pose Finding

svn co

Report a Bug


Wiki: pr2_cabinet_opening (last edited 2012-12-07 13:05:49 by Lorenz Mösenlechner)