Question: Effectiveness of Learnt Grasping Strategy
peterdavidfagan opened this issue · comments
I am in the process of reimplementing contact_graspnet
so I can use it in my own research. One item that crossed my mind is the fact that while a stable grasp may be achievable with the given method, the grasp may be suboptimal for subsequent task completion.
For instance suppose I wish to place an object on a cluttered shelf, how I grasped the object will become quite important for solving this task.
Do you have thoughts and/or opinions on approaches that tackle the above problem? Maybe there is a loss term that can be introduced to help ensure the chosen grasp provides sufficient manoeuvrability.
Or maybe how grasps are being evaluated could be altered?
Thanks for sharing your opinion @danialdunson.
Hi @peterdavidfagan,
Concerning your idea of retraining: Yes, the Contact-GraspNet framework could be extended to predict a per-grasp-point suitability for different tasks. There are some works on task-specific grasping in literature, e.g. https://arxiv.org/pdf/2011.06431.pdf, and I also saw a paper that I can't disclose here that applied something similar to Contact-GraspNet. However, this way is kind of limited to few tasks and also has no information about the environment, e.g. where the cluttered shelf is located wrt. the robot which can have an impact on suitable grasps.
Of course there are easier ways to solve the specific shelve task without re-training, e.g. by simply filtering out top-grasps. If this is insufficient you can infer your planner with different Contact-GraspNet predicitions and see if the robot can execute the task without collision.
If this is still insufficient, the next step is to determine whether your grasped object won't collide and will be stable after placing assuming the same z-orientation. Full tasks are complex, I recommend this recent paper which uses Contact-GraspNet for re-arranging objects in shelves:
https://arxiv.org/pdf/2304.09302.pdf
Thanks @MartinSmeyer for the detailed response to my question.