  Robotic in-hand manipulation has been a long-standing challenge due to the
complexity of modelling hand and object in contact and of coordinating finger
motion for complex manipulation sequences. To address these challenges, the
majority of prior work has either focused on model-based, low-level controllers
or on model-free deep reinforcement learning that each have their own
limitations. We propose a hierarchical method that relies on traditional,
model-based controllers on the low-level and learned policies on the mid-level.
The low-level controllers can robustly execute different manipulation
primitives (reposing, sliding, flipping). The mid-level policy orchestrates
these primitives. We extensively evaluate our approach in simulation with a
3-fingered hand that controls three degrees of freedom of elongated objects. We
show that our approach can move objects between almost all the possible poses
in the workspace while keeping them firmly grasped. We also show that our
approach is robust to inaccuracies in the object models and to observation
noise. Finally, we show how our approach generalizes to objects of other
shapes.
