Go to previous article
Go to next article
Return to the 1994 VR Table of Contents
By: Louis B. Rosenberg, Bernie G. Jackson
2483 Old Middlefield Way
Mountain View CA 94043
Phone: 415-960-6882 Fax: 415-960-6977
The Immersion Interface Box (TM) from Immersion Corp. is a small, inexpensive electronics module that connects to the serial port of any computer system and allows for the integration of a wide variety of human interface peripherals. Immersion Corp. provides a complete line of foot pedals and hand controllers for use with the Immersion Interface Box. Up to 4 analog peripherals and 4 digital peripherals can be connected simultaneously to a single computer. Thus developers can use this system to create unique human interface paradigms for custom applications such as a gas-pedal/break-pedal metaphor for moving through a simulated environment. This paper describes the Immersion Interface Box as well as the available peripherals. It discusses the software library which makes the Interface Box simple to incorporate into any PC or UNIX based workstation. The paper also describes a variety of novel human interface methodologies developed around the Immersion Interface Box which make use of various foot pedal controllers for interacting with virtual environments. Such foot based human interface methodologies provide access to virtual environments for those people who have limited use of their upper limbs.
A wide variety of human interface peripherals currently exist which allow people to issue commands to computer systems. From the standard mouse and keyboard, to trackballs, lightpens, and joysticks, almost all human interface tools available on the consumer market are hand-based. Even in the emerging field of Virtual Reality, human computer interaction is dominated by hand-based human interface tools such as the Flying-Mouse (TM), the Spaceball (TM), and the Immersion Probe (TM) 3D stylus system. Even in tasks which are natural for foot based interfaces, such as navigation through immersive environments, foot based interaction tools have been largely ignored. Why? At Immersion Human Interface Corporation, we feel that the lack of applications which implement pedal driven interfaces for traditional computing and virtual reality applications is largely the result of an absence of consumer products for interfacing analog and digital foot pedals to computer systems. It is for this reason that Immersion Corp. has introduced the Immersion Interface Box into the consumer marketplace. This small electronics module plugs into the serial port of any computer platform (i.e. PC, SGI, Macintosh, SUN, or other UNIX) and allows for the implementation of up to eight human interface peripherals simultaneously. Immersion Corp. provides a wide variety of peripherals for use with the Interface Box which include many styles of both analog and digital foot pedals. The Interface Box is also designed so that developers can easily construct and integrate their own user interface peripherals.
The Immersion Interface Box
The Immersion Interface Box is a small electronics module which plugs into the serial port of most computer systems. On the front panel of the Interface Box are eight sockets into which the user can connect up to four digital and four analog peripheral devices simultaneously. Inside the box is a Motorola 68HC11 microprocessor which rapidly monitors the connected peripherals and communicates their status to your computer through the serial port. Data can be retrieved at sampling rates of up to 7.2 kHz, and the analog peripherals are reported with 8 bit resolution per channel. A wide variety of peripherals are available for use with the Interface Box which include analog foot pedals, digital foot pedals, analog knobs, analog sliders, and digital hand switches. The Interface Box documentation also explains in simple terms how developers can construct their own custom peripherals for use with the Interface Box platform.
2.2 Interface Box Peripherals
Both analog and digital peripherals are supported by the Immersion Interface Box. Each digital peripheral supplies a TTL signal that can be either ON or OFF. The digital input ports are designed to accept a passive switch, with no external electronics required. The digital input ports can also accept inputs from active TTL logic circuits. Standard foot pedals and hand-held switches are supplied by Immersion Corp. for use with the digital input ports, and the user can also create custom peripherals consisting of a simple switch or TTL/CMOS logic circuit.
Each analog peripheral must supply a voltage from zero to five volts. The analog input ports are designed so that a passive potentiometer can act as an analog peripheral, with no external electronics. Alternatively, an external circuit can provide the analog signal, perhaps as the amplified output of a discrete sensor. Standard analog peripherals provided with the Immersion Interface Box include foot pedals, rotary knobs, joysticks, and linear sliders. In addition, it is easy for the user to build their own analog peripherals consisting of a simple potentiometer or any external circuit with a suitable output voltage range.
2.3 Using the Developers Programming Library
The Immersion Interface Box comes standard with a software package known as the Developer's Programming Library. This is a library of routines written in C which makes it very easy for developers to integrate the Interface Box system into their software applications.
The Developers Programming Library takes care of all low-level programming tasks, such as opening and closing the serial port and decoding incoming data from the Interface Box. An Interface Box programmer does not get caught up in these issues, but is instead free to think about higher-level issues such as the design of an intuitive software interface. This is a departure from the traditional approach to peripheral driver software, in which users are assumed to have extensive knowledge of their computer systems internal hardware-level workings. The Developers Programming Library makes the Immersion Interface Box a self-contained interface tool that is immediately ready to become an integral part of any custom software application.
2.4 Mouse Emulation
For those wanting to use the Immersion Interface Box system without programming a custom application, the Immersion Interface Box can be configured to work with most commercial software. This is because the Immersion Interface Box can be set up in Mouse Emulation Mode. This allows the values which are captured from the Interface Box to be routed directly to your computers mouse driver. Any software that uses a standard mouse will then be "fooled" and will respond to Interface Box data that mimics what is normally received from a mouse. Using this mode, the Immersion Interface Box can be set up to directly replace the computer's mouse with foot pedals, knobs, sliders, or any other custom peripherals one might devise.
For instance, a pair of analog foot pedals can control the x and y axes of the mouse cursor while a digital pedal controls the mouse button. By simply attaching these pedals to the Immersion Interface Box and running the Mouse Emulation Setup program, a user can set up a foot controller for standard mouse based computer applications. This is ideal for developing software interfaces for the disabled or for creating hands-free interfaces for unique computing applications.
3. Foot Based Interfaces to Virtual Environments
Using the Immersion Interface Box Platform, Immersion Corp. has experimented with a number of foot based interfaces for interacting effectively with virtual environments. Two basic applications explored have been the use of foot based interfaces for navigation through virtual worlds and manipulation of virtual objects. Each of these will be addressed separately in the following two sections.
3.1 Pedal Metaphors for Navigating through Virtual Worlds.
3.1.1: Driving Metaphor: Using two pedals, we have implemented a simple scheme for navigating though virtual worlds by emulating the traversal of a ground vehicle such as a car. One pedal controls the user's velocity while the other pedal acts as the steering wheel and controls the user's heading. Casual testing has shown this foot based navigation metaphor to be highly effective. The primary drawback is that it can be difficult to navigate near tight corners, due to limitations in turning radius.
3.1.2: Tank Metaphor: This metaphor solves the turning-radius problem by simulating a "tank" vehicle with two independently-controlled treads. While operation of a tank is less widely familiar than operation of an automobile, this metaphors physical symmetry and simplicity make it easy to learn and use and provide a high degree of control.
To understand this method, imagine that each pedal independently controls the speed of rotation of the treads on either side of an imaginary tank in which the user is seated. If both pedals are depressed equally, both treads will spin at equal velocity, and the user will move forward in the virtual environment with a speed proportional to the depression of the pedals. If the two pedals are depressed by different amounts, the user will move in an arc proportional to the difference between the two pedals. If only one pedal is depressed, the tank will pivot about the other tread, having a very small turning radius.
To achieve a turning radius of zero (i.e. to spin in place), the user simply needs to make the treads spin in opposite directions. This requires a foot based metaphor which allows control of both the direction and velocity of tread motion. This can be done easily by using analog pedals which pivot about their center points, so that they can be depressed forwards with the toe or backwards with the heel. Depressing each pedal by equal amounts but in opposite directions will allow you to spin in place with an angular velocity proportional to the depression of the pedals.
3.1.3: Airplane Metaphor: The Airplane metaphor allows the user to navigate freely through virtual environments in full three-dimensional space. There are several different ways to translate control of an airplane to a foot-based system.
The most realistic approach is to use one analog pedal for each axis of a standard flight stick. Rocking one pedal backwards or forwards is analogous to rocking the flight stick backwards or forwards. This controls the pitch (or angle of attack) of the airplane and allows the user to control that aspect of their heading (i.e. to climb or dive). The other pedal corresponds to left-right motions of the control stick, causing the imaginary craft to roll one way or the other, entering a banking turn. The craft's velocity is simply considered constant. This approach is mainly appropriate for simulations in which the user is specifically intended to be in flight, but in other applications the user can be confused by the rolling horizon and by lack of familiarity with flight dynamics.
A second approach simplifies the above scheme by always keeping the horizon level. This time, the left-right control pedal does not make the craft bank. Instead it simply changes the crafts horizontal heading; a viewer looking from directly above the craft would see it simply spin clockwise or counterclockwise. Since the craft never banks, any climbing or diving always causes purely vertical travel, and the effects of both pedals are independent of the current direction of travel. This is not realistic in terms of an actual airplane, but it is a much simpler way to navigate in three dimensions. The user has direct control of their heading, and the user interface is not complicated by considerations of flight dynamics.
A third approach combines the two foot controls described above into a single interface tool by using a special two-axis foot pedal designed by Immersion Corp. This pedal allows one foot to point up or down and side to side, thereby controlling both horizontal and vertical headings at once. The other foot uses a standard analog pedal to control velocity. Although this implementation requires more complex hardware, it gives the user independent control of speed and heading and thus provides a more flexible interface paradigm.
3.2 Pedal Metaphors for Manipulating Virtual Objects:
In addition to controlling travel through virtual environments, foot based interfaces for VR systems can be used to manipulate virtual objects for viewing or world-building purposes. The following sections describe a few simple foot-based metaphors.
3.2.1 Spin-Zoom Metaphor: This is perhaps the simplest way to manipulate an object with two pedals. One pedal spins the object about its major (longest) axis, while the other pedal zooms in or out. This allows the user to see the object from any side, at any magnification. However, only a side view is allowed; the user does not have access to top views or non-orthogonal views. For many applications, this is sufficient, and its simplicity is very appealing.
3.2.2 Tilt-zoom Metaphor: The user can be given more control by adding a third pedal. One pedal controls the object's tilt in the direction towards the viewer, a second pedal controls its tilt from left to right, and the third pedal controls the users zoom. Although the user cannot control all three pedals at once, it is not generally necessary to be able to zoom while simultaneously rotating an object. The user can primarily use the two tilt pedals and only move to the zoom pedal when needing to change the magnification. This is made possible by using a zoom pedal that will maintain its current setting when the foot stops applying pressure.
3.2.3 XYZ Translation Metaphor: In order to place an object in a virtual world or scene, three pedals can be used to control its Cartesian world coordinates. As above, the third pedal is chosen such that it only needs to be used occasionally. It is natural to assign the vertical axis (Z) to the third pedal, suggesting that the user first set the objects desired altitude and then place it in the X and Y directions. Small Z adjustments can be made from time to time to align the object in the scene.
A complete world- or scene-building system might allow the user to switch between two modes. In one mode, three pedals are used in the Tilt-Zoom Metaphor presented above, while the other mode uses the XYZ Translation Metaphor. The user can then fully design a three-dimensional scene or virtual world.
Our initial development efforts with foot based interfaces for virtual environments have demonstrated that the simple implementation of a few analog pedals can provide very effective means of interacting with virtual environments. From navigation through virtual worlds, to the manipulation of virtual objects, simple foot based controls provide a hands-free alternative to traditional interface schemes. Foot based systems can even provide superior interfaces to hand based systems, when metaphors such as the Driving or Tank Control are used. From our initial experience with foot based navigation and manipulation metaphors, we feel that such paradigms deserve continued development and testing. These paradigms have the potential to provide not only alternative user interface modes to the physically disabled, but also improved human-computer interaction for the general user population.
5. Additional Information
For additional information concerning foot based user
interface peripherals, contact Immersion Corp. by calling (415)
or sending Email to: firstname.lastname@example.org.
Go to previous article
Go to next article
Return to the 1994 VR Table of Contents
Return to the Table of Proceedings