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 a user object moved by the user, such as a joystick. The microprocessor
controls actuators to provide forces on the user object and provides the sensor
data to a host computer that is coupled to the interface device. The host computer
sends high level host commands to the local microprocessor, and the microprocessor
independently implements a local reflex process based on the high level command
to provide force values to the actuators using sensor data and other parameters.
A provided host command protocol includes a variety of different types of host
commands and associated command parameters. By providing a relatively small set
of high level host commands and parameters which are translated into a panoply
of forces, the protocol further shifts the computational burden from the host computer
to the local microprocessor and allows a software developer to easily create force
feedback applications.