Long-Horizon Manipulation Planning with Functional Object-Oriented Networks