The apparent gravity force acting on the end-effector of a haptic device depends on its position inside the workspace through a non-linear relationship, and it is not necessarily aligned with the actual direction of gravity. Setting up an exact gravity compensation algorithm for a given device requires to know the actual direction of gravity force, the kinematical and dynamical models, and finally it must be formulated in the joint-space.

Libralis works for all existing 3DoF haptic devices, for which the problem can be formalized directly in the 3D task space instead of the joint space. It implements an estimation-based piece-wise linear approximation of the nonlinear relationship between the apparent gravity and the end-effector position, thus removing all dependencies on the mechanical models and on the real direction of the gravity force.

Libralis Tuner allows to perform an off-line recursive algorithm to automatically estimate the required gravity compensation terms to be applied to the end-effector at a given set of positions, corresponding to the vertices of a cubic grid contained into the device workspace. First, the Tuner creates a cubic grid forming a parallelepipedon contained inside the device workspace. Then a recursive procedure is applied to estimate the gravity compensation term which is required at each vertex of the grid. The required gravity compensation term is estimated using a proportional-derivative (PD) position controller, whose parameters depend on the mass estimated at the previous step. The same PD controller is also used to actively move the end-effector to each vertex of the grid, so that the precedure can be automatically run. Finally, the Tuner stores the acquired gravity data in a user-defined file.

The on-line gravity compensation is performed by recovering the data from the off-line saved files. Libralis SDK provides developers with the methods to select and load the desired file, to recover the stored data and to apply gravity compensation directly in the haptic servo-loop. Reffering to the figure (a), the compensation term at each position X inside the cubic grid is computed on-line using the trilinear interpolation between the gravity values Gi estimated at the vertices of the cube containing X. At each position X falling outside the grid, its projection on the nearest cube face is computed, and the compensation term is approximated by interpolating the required force for the projected point, as shown in figure (b).

Experiments shown that the effects of gravity can be compensated almost homogeneously with respect to end-effector position in the workspace, independently from the device kinematics and from the particular orientation in which the haptic device has been displaced.