this is a typical user case in which a mechanical collaboration is needed. I would suggest to have a look at: