Generating on-purpose impacts with rigid robots is challenging as they may
lead to severe hardware failures due to abrupt changes in the velocities and
torques. Without dedicated hardware and controllers, robots typically operate
at a near-zero velocity in the vicinity of contacts. We assume knowing how much
of impact the hardware can absorb and focus solely on the controller aspects.
The novelty of our approach is twofold: (i) it uses the task-space inverse
dynamics formalism that we extend by seamlessly integrating impact tasks; (ii)
it does not require separate models with switches or a reset map to operate the
robot undergoing impact tasks. Our main idea lies in integrating post-impact
states prediction and impact-aware inequality constraints as part of our
existing general-purpose whole-body controller. To achieve such prediction, we
formulate task-space impacts and its spreading along the kinematic tree of a
floating-base robot with subsequent joint velocity and torque jumps. As a
result, the feasible solution set accounts for various constraints due to
expected impacts. In a multi-contact situation of under-actuated legged robots
subject to multiple impacts, we also enforce standing stability margins. By
design, our controller does not require precise knowledge of impact location
and timing. We assessed our formalism with the humanoid robot HRP-4, generating
maximum contact velocities, neither breaking established contacts nor damaging
the hardware