  Performing object retrieval tasks in messy real-world workspaces involves the
challenges of \emph{uncertainty} and \emph{clutter}. One option is to solve
retrieval problems via a sequence of prehensile pick-n-place operations, which
can be computationally expensive to compute in highly-cluttered scenarios and
also inefficient to execute. The proposed framework selects the option of
performing non-prehensile actions, such as pushing, to clean a cluttered
workspace to allow a robotic arm to retrieve a target object. Non-prehensile
actions, allow to interact simultaneously with multiple objects, which can
speed up execution. At the same time, they can significantly increase
uncertainty as it is not easy to accurately estimate the outcome of a pushing
operation in clutter. The proposed framework integrates topological tools and
Monte-Carlo tree search to achieve effective and robust pushing for object
retrieval problems. In particular, it proposes using persistent homology to
automatically identify manageable clustering of blocking objects in the
workspace without the need for manually adjusting hyper-parameters.
Furthermore, MCTS uses this information to explore feasible actions to push
groups of objects together, aiming to minimize the number of pushing actions
needed to clear the path to the target object. Real-world experiments using a
Baxter robot, which involves some noise in actuation, show that the proposed
framework achieves a higher success rate in solving retrieval tasks in dense
clutter compared to state-of-the-art alternatives. Moreover, it produces
high-quality solutions with a small number of pushing actions improving the
overall execution time. More critically, it is robust enough that it allows to
plan the sequence of actions offline and then execute them reliably online with
Baxter.
