Haptic SDK: Glossary

Glossary

Glossary

This page describes some of the technical expressions commonly used in the documentation. The expressions listed below regroup SDK features and technical definitions relevant to the field of haptics and control theory.

Initialization
Initialization is necessary to obtain accurate, reproducible localization of the end-effector within the workspace of the device. Force Dimension haptic devices are designed in such a way that there can be no drift of the calibration over time, so the procedure only needs to be performed once when the device is powered on. The calibration procedure consists in placing the calibration pole in the dedicated calibration pit. The device detects when the calibration position is reached and the status LED stops blinking.

Controller
The electronic controller is responsible for the real-time behavior of the device. It connects to the host computer and provides the low-level safety features such as velocity thresholding and communication timeouts.

Default Device
In a multiple devices utilization, the SDK keeps an internal ID of one of the devices. All the SDK calls that do not explicitly mention a device ID are directed to the default device. The default device can be determined by calling dhdGetDeviceID(). The default device can be changed by calling dhdSetDevice(). Calls to dhdOpen() change the default device ID to the last successfully opened device.

Electromagnetic Brakes
In BRAKES mode, the device motor circuits are shortcut to produce electromagnetic viscosity. The viscosity is sufficient to prevent the device from falling too hard onto if forces are disabled abruptly, either by pressing the force button or by action of a safety feature.

Gravity Compensation
To prevent user fatigue and to increase accuracy during manipulation, Force Dimension haptic devices features gravity compensation. When gravity compensation is enabled, the weights of the arms and of the end-effector are taken into account and a vertical force is dynamically applied to the end-effector on top of the user command. Please note that gravity compensation is computed on the host computer, and therefore only gets applied whenever a force command is sent to the device by the application. By default, gravity compensation is enabled and dhdSetForce() compensates for the device weight. Gravity compensation can be disabled by calling dhdSetGravityCompensation().

Single Device Calls
When used with a single Force Dimension haptic device, programmers should use the single device version of the functions. Single device calls use the null default device ID, unlike the multiple devices SDK calls, which explicitly take the device ID as a last argument.

Velocity Threshold
Every Force Dimension haptic device features a safety feature that prevents the device from accelerating without control. If the control unit detects that the velocity of the end-effector is higher than the programmed security limit, the forces are automatically disabled and the device brakes are engaged to prevent a possibly dangerous acceleration from the device. This velocity threshold can be adjusted or removed by calling dhdSetVelocityThreshold().

Watchdog Threshold
Force Dimension haptic devices with firmware version greater or equal to 3.0 features a safety feature that disables forces on the device if no communication is received by the controller for a given amount of time. If the control unit does not receive an expected input, the forces are automatically disabled and the device brakes are engaged to prevent potentially dangerous device behavior. This time duration of the watchdog feature can be adjusted or removed by calling dhdSetWatchdog().

Wrist Calibration
For 6 DOF Force Dimension devices, the controller performs a calibration procedure at power-up. This procedure is fully automated and does not require any user intervention during the few seconds it lasts. The calibration can be repeated without power-cycling the device by calling dhdCalibrateWrist().

COM operating Mode
USB operations can be executed in two different modes: DHD_COM_MODE_SYNC and DHD_COM_MODE_ASYNC. Other operation modes are reported for virtual devices (DHD_COM_MODE_VIRTUAL) and devices that are connected over the network (DHD_COM_MODE_NETWORK). Please check the documentation of each mode for details.