A method and apparatus for controlling and providing force feedback using
an interface device manipulated by a user. A microprocessor is provided
local to the interface device and reads sensor data from sensors that
describes the position and/or other information about an object grasped
and moved by the user, such as a joystick. The microprocessor provides
the sensor data to a host computer that is coupled to the interface
device by a communication bus that preferably includes a serial
interface. In a "host-controlled" embodiment, the host computer
calculates force values using the sensor data and other parameters of a
host application program and sends the force values to the local
microprocessor, which directly provides the force values to actuators to
apply forces to the user object. In a "reflex" embodiment, the host
computer sends high level supervisory commands to the local
microprocessor, and the microprocessor independently implements a local
process based on the high level command for reading sensor data and
providing force values to the actuators using sensor data and other
parameters.