Game Development Reference
In-Depth Information
Avatar
F
F
F
F
Operator
Operator
collision
Operator
Virtual wall
(init)
(a)
(b)
Figure 16.2 Instability during an interaction with a rigid object. The movement is initially free (init), the
collision occurs in the form of an interpenetration (a), then an ejection (b). Phases (a) and
(b) alternate at high frequency
operator's hand move in such a way that the virtual object loses the contact in the next
step. The state of the interaction then alternates between contact and non-contact cre-
ating vibrations in the device. This instability is resolved by making the device passive
(refer to chapter 9 “Control of a force feedback interface'' of this topic) and requires
updating the force set point at frequencies between 300Hz and 1 kHz (or even 2 kHz).
The problem is that it is often impossible to create a standard simulation loop with
complex environments in a single millisecond. It thus becomes difficult to respect the
frequency constraint.
In the latter part of this chapter, we will first see how the simulation can calculate
the haptic rendering parameters. Then we will discuss the methods that allow the
simulation to respect the frequency constraints imposed by haptic rendering.
16.2 CALCULATION OF HAPTIC RENDERING
Figure 16.3 illustrates the calculation principle of haptic rendering. The position or
the speed of the terminal point of the haptic interface determine (directly or through a
force) the position of the virtual sphere within the virtual environment. The collision
detection algorithms inform the dynamic simulator about a possible collision. If there
is no contact, the control system of the device has to emulate the dynamics of the
virtual object (inertial effect, weight or other effects). When a contact is detected, the
reaction force or a position constraint is calculated and sent to the control system as a
set point.
16.2.1 Rendering by impedance patterns:
calculation of forces
In case of an impedance pattern, the forces to be sent to the operator are calculated
on the basis of the positions measured by the haptic device. Depending on the device,
these forces correspond to a force vector (in case of a 3DOF, point-based device) or to
a resultant and a torque (a 6DOF system, describing the movement of a rigid object).
The measured position determines the avatar's imposed position in the simulation.
The forces to be sent are derived from response calculation techniques, described in