Agimus is a software framework aimed at controlling robot motions in manipulation tasks, automatically instanciating visual servoing on sections of the planned trajectory where the robot is about to grasp an object or to put an object on a plane surface.
The input to Agimus is a reference manipulation motion planned by HPP to manipulate an object. Based on information about the object and grippers (whether they display apriltags) that enable them to be localized by a camera, the software instantiates visual servoing task:
- between the gripper and the object to grasp in pregrasp phase,
- between a contact surface and an object when the robot is about to put the object on the surface or lift it from the surface.
An example of manipulation motion planned by HPP is available here. The execution by Agimus is displayed here.
Agimus is composed of the following packages
- agimus: implements the finite-state machine that triggers the right controller at the right time,
- agimus-hpp: connection between HPP and Agimus,
- agimus-sot: implementation of visual servoing controller into the Stack-of-Tasks.