`Bathiche et al.
`
`(10) Patent NO.: US 7,145,551 BI
`(45) Date of Patent:
`Dec. 5,2006
`
`(54) TWO-HANDED COMPUTER INPUT DEVICE
`WITH ORIENTATION SENSOR
`
`(75)
`
`Inventors: Steven Bathiche, Seattle, WA (US);
`Mark K. Svancarek, Redmond, WA
`(US); Matthew J. Stipes, Woodinville,
`WA (US); Aditha M. Adams, Seattle,
`WA (US); Thomas W. Brooks, Seattle,
`WA (US); Melissa S. Jacobson, Seattle,
`WA (US); Wolfgang A. Mack, Seattle,
`WA (US)
`
`(73) Assignee: Microsoft Corporation, Redmond, WA
`(US)
`
`( * ) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 892 days.
`
`(21) Appl. No.: 091251,519
`
`(22) Filed:
`
`Feb. 17, 1999
`
`(51) Int. C1.
`G09G 5/08
`(2006.01)
`(52) U.S. C1. ........................................ 3451158; 463137
`(58) Field of Classification Search ................ 3401711,
`3401706; 341122; 3451161, 158, 169, 7,
`3451156; 463137, 38, 3; 2731148 B; 3651428,
`3651629, 634,636,641,731,733,740,760,
`3651764; 35811.15, 1.18; 7071201, 203,
`7071217, 219, 10; 7091201, 206, 217, 219;
`7151517, 522, 526, 527, 530, 513
`See application file for complete search history.
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`5,059,958 A * 1011991 Jacobs et al. ............... 3401706
`
`5,189,403 A * 211993 Franz et al. ................ 3401711
`5,396,265 A * 311995 Ulrich et al. ............... 3451158
`5,410,333 A * 411995 Conway ..................... 3451169
`5,624,117 A * 411997 Ohkubo et al. ......... 2731148 B
`5,643,087 A * 711997 Marcus et al. ................ 463138
`5,721,842 A * 211998 Beasley et al. ............. 3951311
`5,786,807 A * 711998 Couch et al. ............... 3451161
`5,820,462 A * 1011998 Yukoi et al. .................. 463137
`5,838,304 A * 1111998 Hall ........................... 3451157
`5,874,906 A * 211999 Willner et al. ................ 341122
`6,068,554 A *
`512000 Tyler ........................... 463138
`6,069,594 A *
`512000 Barnes et al. .................. 34517
`
`* cited by examiner
`Primary Examiner-Sumati Lefkowitz
`Assistant Examiner-Srilakshmi K Kumar
`(74) Attorney, Agent, or Firm-Leanne
`Westman, Champlin & Kelly, P.A.
`
`(57)
`
`ABSTRACT
`
`R. Taveggia;
`
`A hand held computer input device includes a first housing
`portion having at least one user actuable input device. A first
`extending handle is coupled to, and extends away from, the
`first housing portion. A second handle is also coupled to, and
`extends away from, the first housing portion. An orientation
`sensor is coupled to the first housing and is configured to
`sense a physical orientation of the first housing portion. The
`orientation sensor provides an orientation signal indicative
`of the physical orientation sensed.
`
`13 Claims, 11 Drawing Sheets
`
`Parrot Ex. 1008
`
`
`
`U.S. Patent
`
`Dec. 5,2006
`
`Sheet 1 of 11
`
`DISPLAY
`DEVICE 16
`
`4
`
`COMPUTER
`20
`
`FIG. 1
`
`
`
`U.S. Patent
`US. Patent
`
`Dec. 5,2006
`Dec. 5,2006
`
`Sheet 2 of 11
`Sheet 2 0f 11
`
`US 7,145,551 B1
`
`FIG. 2
`FIG. 2
`
` COMPUTER 20
`
`_____
`
`
`
`U.S. Patent
`US. Patent
`
`Dec. 5,2006
`Dec. 5,2006
`
`Sheet 3 of 11
`Sheet 3 0f 11
`
`US 7,145,551 B1
`
`/’
`
`I
`
`re
`
`
`
`
`
`U.S. Patent
`US. Patent
`
`Dec. 5,2006
`Dec. 5,2006
`
`Sheet 4 of 11
`Sheet 4 0f 11
`
`US 7,145,551 B1
`
`A
`A»
`
`/0L/
`My
`
`
`
`
`
`U.S. Patent
`
`Dec. 5,2006
`
`Sheet 5 of 11
`
`BIT
`0
`
`1
`
` 2
`
`3
`
`4
`
`5
`
`-
`
`6
`
`7
`
`
`
`FIG. 5
`
`BYTE 0
`
`BYTE I
`BYTE 2
`BYTE 3
`BYTE 4
`BYTE 5
`
`0,MAXM--
`
`T
`
`Y-AXIS
`(PITCH)
`
`MAX, MAXI2
`
`
`
`U.S. Patent
`
`Dec. 5,2006
`
`Sheet 6 of 11
`
`SENSOR
`CALIBRATION
`CIRCUIT 110
`
`X AND Y AXIS
`TILT SENSORS
`AND CIRCUITRY
`108
`
`AID
`CONVERTER
`120
`
`+ MICROCONTROLLER 106
`b.
`
`TO COMPUTER
`
`b
`
`MODE
`INDICATOR
`
`BUTTON
`ARRAY 112
`
`ZONE
`CALIBRATION
`CIRCUIT 114
`
`WHEEL
`ENCODER
`CIRCUIT 116
`
`FIG. 4
`
`
`
`U.S. Patent
`
`Dec. 5,2006
`
`Sheet 7 of 11
`
`US 7,145,551 BI
`
`1 24
`
`RECEIVE AND
`FILTER X,Y
`INFO
`
`FIG. 6
`
`POLL BUTTON
`ARRAY AND WHEEL
`ENCODER
`
`130
`
`132
`
`134
`
`YES
`
`7
`
`SET SENSOR
`MODE FLAG
`
`4
`
`SET MODE
`INDICATOR TO
`SHOWSENSOR
`MODE
`
`'I
`
`ASSEMBLE PACKET
`INCLUDING XY INFO,
`DPAD INFO AND
`REMAINING INFO
`
`136
`
`I
`
`4
`'I
`
`SEND
`PACKET
`
`138
`1
`
`SET BITS DO
`TOD3TO
`NULL VALUE
`
`140
`
`v
`REPLACE XY INFO
`WITH VALUES BASED
`ON DPAD INPUT
`
`142
`
`RESET
`SENSOR
`MODE FLAG.
`
`v
`SET MODE
`INDICATOR TO
`SHOW DISCRETE
`MODE
`
`144 -
`
`v
`ASSEMBLE
`REMAINING
`PACKET
`I
`
`I
`
`146
`u
`
`
`
`U.S. Patent
`US. Patent
`
`Dec. 5,2006
`Dec. 5,2006
`
`Sheet 8 of 11
`Sheet 8 0f 11
`
`US 7,145,551 B1
`
`
`COMPUTER 20
`
`
`FOCUS
`OPERATING
`
`
`APPLICATION
`SYSTEM (03)
`
`
`154
`35
`
`
`MESSAGE
`HOOK
`PROCEDURES
`152
`
`
`
`
`
`DRIVER 150
`
`
`
`INTERFACE
`148
`
`
`
`
`
`FIG. 7
`FIG. 7
`
`
`
`U.S. Patent
`
`Dec. 5,2006
`
`Sheet 9 of 11
`
`INPUT
`DEVICE
`
`PACKET TO
`INTERFACE
`
`PACKET AT
`I INTERFACE I
`
`EXECUTE
`MESSAGE HOOK
`
`I PROCEDURES I
`
`RECEIVE
`PACKET AT
`APPLICATION
`
`164
`
`PACKET TO
`DRIVER
`
`EXAMINE
`MODE BIT
`
`\1
`
`PACKET TO
`
`168
`
`REPLACE XY INFO
`WITH VALUES BASED
`ON MULIT-SWITCH
`DEVICE
`CONFIGURATION
`170
`
`SET MULTI-SWITCH
`DEVICE INFO TO
`NULL SETTING
`
`178
`
`MANIPULATE OBJECT
`BEING DISPLAYED SO
`VALUES IN XY FIELD
`CORRESPOND TO
`MOVEMENT OF
`DISPLAYED OBJECT
`
`TAKE OTHER
`ACTIONS BASED
`
`ON PACKET INFO no
`I -
`
`
`
`U.S. Patent
`US. Patent
`
`Dec. 5,2006
`Dec. 5,2006
`
`Sheet 10 0f 11
`Sheet 10 of 11
`
`US 7,145,551 BI
`US 7,145,551 B1
`
`
`
`
`
`U.S. Patent
`US. Patent
`
`Dec. 5,2006
`Dec. 5,2006
`
`Sheet 11 0f 11
`Sheet 11 of 11
`
`US 7,145,551 BI
`US 7,145,551 B1
`
`
`
`
`
`US 7,145,551 B1
`
`1
`TWO-HANDED COMPUTER INPUT DEVICE
`WITH ORIENTATION SENSOR
`
`REFERENCE TO CO-PENDING APPLICATIONS
`
`2
`translational movement (moving a joystick along the X or Y
`axis) while attempting to perform a rotational movement
`(while attempting to rotate the joystick). Such interface
`between these degrees of freedom is cross-axis interference.
`5 It is believed that the tendency toward cross-axis interfer-
`ence increases quadratically with each added degree of
`Reference is made to the following U.S. patent applica-
`freedom to any given input mode.
`tions:
`This same type of problem can be found in free-space type
`U.S. patent application Ser. No. 091251,5 19 filed on even
`user input devices. For example, one commercially available
`date herewith, entitled TWO-HANDED COMPUTER
`INPUT DEVICE WITH ORIENTATION SENSOR AND l o free-space type user input device is a globe or sphere which
`MULTIPLE MODES OF OPERATION, which is assigned
`is provided with orientation sensors that sense movement of
`to the same assignee as the present application and filed on
`the sphere about a pitch axis, a roll axis, and a yaw axis. It
`is very difficult for a user to attempt to execute rotation about
`even date herewith;
`the yaw axis without unintentionally executing rotation
`U.S. patent application Ser. No. 291097,150 filed Nov. 30, 15 about either the pitch axis, the roll axis, or both,
`1998, entitled "INPUT DEVICE", and assigned to the same
`Other types of free-space user input devices also exhibit
`assignee as the present
`(and which is
`other problems, For example, the Jacobs et al, U,S, Pat, No,
`fully incorporated by reference); and
`5,059,958 discloses a tilt sensitive non-joystick control box.
`U.S. patent application Ser. No. 091108,002 filed Jun. 30,
`However, the input device is simply a box with two buttons
`998,
`INPUT
`20 and with a tilt sensor disposed therein. Since one of the input
`and assigned to the same
`INCLINATION
`modes in the Jacobs et al. device is a tilt or orientation input,
`assignee as the present application.
`the configuration of the Jacobs et al. device can promote
`ergonomically deficient hand position resulting in fatigue or
`discomfort. For example, when attempting to manipulate the
`25 Jacobs et al. device, the user may be required to maintain
`hand and wrist positions outside of ergonomically neutral
`flexion/extension and ulnar deviation ranges. Similarly,
`Jacobs et a]. provides a very limited number of input modes.
`
`The present invention relates to a computer input device.
`
`More ~articularl~, the Present invention relates to a two-
`handed
`device with an
`disposed thereon.
`Many different types of user input devices are currently 30
`used for providing user input information to a computer.
`Such user input devices can include, for example, a point
`A hand held computer input device includes a first hous-
`and click device (which is commonly referred to as a
`ing portion having at least one user actuable input device. A
`computer mouse), a keyboard, a joystick, and a track ball.
`first extending handle is coupled to, and extends away from,
`Such user input devices all typically sense the n~~vement of 35 the first housing portion. A second handle is also coupled to,
`a movable element relative to a fixed base or housing portion
`An orien-
`and
`away from, the first housing
`and provide the computer with an input signal indicative of
`tation sensor is coupled t~ the first housing and is
`that relative movement.
`to sense a physical orientation of the first housing portion.
`Recently, free-space type user input devices have been
`The orientation sensor provides an orientation signal indica-
`introduced. Such devices use gravity sensing accelerometers 40 tive of the physical orientation sensed.
`to sense inclination of the user input device, in free space,
`The orientation can then be transmitted to the computer in
`relative to a gravity factor. Where a plurality of such sensors
`a data packet having an orientation field containing orien-
`are provided, the sensors sense inclination of the user input
`tation information.
`device about a plurality of inclination axes. Such informa-
`The device is operable in a number of different modes. In
`tion is provided to a computer to control a cursor, a player, 45 one mode, the orientation information is used to control a
`display, while in another mode, multiple-switch information,
`or a vehicle inside of a computer application or simulation,
`for example.
`from a multiple-switch device is used. In either case, only
`Many such input devices have one or more input modes.
`two degrees of freedom are assigned to any given input
`An input mode can be thought of as an input scheme that has
`mode.
`a particular form, which is mutually-exclusive (or indepen- 50
`Similarly, the present invention can include shapes and
`dent) of any other form of input. For example, pressing a
`dimensions and sensing ranges, along with actuator layouts,
`button may be one type of input mode, while pushing a
`that accommodate ergonomically desirable operation.
`joystick to one side or another, is another type of input mode,
`which is independent of the button pushing mode.
`Some types of user input devices assign more than two 55
`FIG. 1 is a block diagram of a computer system in which
`degrees of freedom to a single input mode. For example, a
`the input device in accordance with the present invention
`joystick which can be pushed along an X-axis, or a Y-axis
`Can be utik~ed.
`has two degrees of freedom, while a joystick which can be
`FIG. 2 is a block diagram of a computer which can be
`pushed along an X or Y axis and which also can be rotated
`about its longitudinal axis to provide an input to the corn- 60 used with the input device in accordance with the present
`invention.
`puter, has three degrees of freedom. It has been found that
`FIGS. 3A and 3B illustrate physical orientation sensing in
`this type of user input device (one which provides more than
`accordance with one feature of the present invention.
`two degrees of freedom per input mode) can exhibit a high
`FIG. 3C illustrates an output from the input device in
`degree of cross-axis interference. Cross-axis interference
`can be characterized by a user unintentionally actuating one 65 accordance with one aspect of the present invention.
`FIG. 4 is a high level functional block diagram of the
`degree of freedom while trying to actuate a separate degree
`present invention of the input device shown in FIG. 1.
`of freedom. In other words, it is very dificult to prevent
`
`BACKGROUND OF THE INVENTION
`
`SUMMARY OF THE INVENTION
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`
`
`DETAILED DESCRIPTION OF THE
`ILLUSTRATIVE EMBODIMENTS
`
`FIG. 5 illustrates one embodiment of the an information
`packet generated by the input device illustrated in FIG. 4.
`FIG. 6 is a flow diagram illustrating the operation of the
`input device shown in FIG. 4 in generating an information
`packet.
`FIG. 7 is a functional block diagram of a computer
`coupled to the input device illustrated in FIG. 1.
`FIG. 8 is a flow diagram illustrating the operation of
`computer 20 in receiving and manipulating an information
`packet from the input device.
`FIGS. 9A-9C illustrate certain ergonomic features in
`accordance with one aspect of the present invention.
`
`personal computer or other computing device. Generally,
`program modules include routine programs, objects, com-
`ponents, data structures, etc. that perform particular tasks or
`implement particular abstract data types. Moreover, those
`5 skilled in the art will appreciate that the invention may be
`practiced with other computer system configurations,
`including hand-held devices, multiprocessor systems,
`microprocessor-based or programmable consumer electron-
`ics, network PCs, minicomputers, mainframe computers,
`10 and the like. The invention is also applicable in distributed
`computing environments where tasks are performed by
`remote processing devices that are linked through a com-
`munications network. In a distributed computing environ-
`ment, program modules may be located in both local and
`15 remote memory storage devices.
`With reference to FIG. 2, an exemplary environment for
`FIG. 1 is a partial block and partial pictorial diagram of
`the invention includes a general purpose computing device
`system 10 in accordance with one aspect of the present
`in the form of conventional personal computer 20, including
`invention. System 10 includes input device 14, computer
`processing unit 21, a system memory 22, and a system bus
`display device 16 and computer 20. Computer input device 20 23 that couples various system components including the
`14, in accordance with one aspect of the present invention,
`system memory to the processing unit 21. The system bus 23
`is provided with one or more orientation sensors which are
`may be any of several types of bus structures including a
`arranged to sense the physical orientation of computer input
`memory bus or memory controller, a peripheral bus, and a
`device 14 in space. Computer input device 14 is also
`local bus using any of a variety of bus architectures. The
`provided with an array 22 of buttons, a rotatable wheel 24, 25 system memory includes read only memory (ROM) 24 a
`random access memory (RAM) 25. A basic inputioutput
`a multiple switch input device 26 (such as a direction pad or
`hat switch), a shift button 28, a mode switch button 30, one
`system 26 (BIOS), containing the basic routine that helps to
`or more auxiliary buttons 32, and one or more triggers
`transfer information between elements within the personal
`(shown in greater detail in FIG. 3A). FIG. 1 also shows that
`computer 20, such as during start-up, is stored in ROM 24.
`user input device 14 has an upper housing portion which 30 The personal computer 20 further includes a hard disk drive
`exposes a control region or pad 15 and two depending
`27 for reading from and writing to a hard disk (not shown),
`handles 17 and 19, which depend from the control region 15
`a magnetic disk drive 28 for reading from or writing to
`removable magnetic disk 29, and an optical disk drive 30 for
`and are sized to fit comfortably within the hand of the user.
`Computer input device 14 includes a controller which
`reading from or writing to a removable optical disk 31 such
`receives information indicative of the various buttons, 35 as a CD ROM or other optical media. The hard disk drive 27,
`wheels, and orientation sensors on input device 14 and
`magnetic disk drive 28, and optical disk drive 30 are
`connected to the system bus 23 by a hard disk drive interface
`generates an information packet indicative of that informa-
`tion. The information packet is provided to computer 20
`32, magnetic disk drive interface 33, and an optical drive
`interface 34, respectively. The drives and the associated
`(one embodiment of which is described in greater detail in
`FIG. 2). Computer 20 illustratively includes an application 40 computer-readable media provide nonvolatile storage of
`program, such as a game or other program which utilizes the
`computer readable instructions, data structures, program
`information packet from input device 14. Computer 20
`modules and other data for the personal computer 20.
`operates to provide the information packet from input device
`Although the exemplary environment described herein
`14 to the application program running on computer 20,
`employs a hard disk, a removable magnetic disk 29 and a
`which can use the information to manipulate an object being 45 removable optical disk 31, it should be appreciated by those
`displayed on display device 16. In an illustrative embodi-
`skilled in the art that other types of computer readable media
`ment, computer 20 is a personal computer, and display
`which can store data that is accessible by a computer, such
`device 16 is a CRT-type monitor. However, computer 20 can
`as magnetic cassettes, flash memory cards, digital video
`take other forms as well, such as a dedicated gaming
`disks, Bernoulli cartridges, random access memories
`computer platform, examples of which include those sold 50 (RAMS), read only memory (ROM), and the like, may also
`under the tradenames Sega Dreamcast, Sony Playstation,
`be used in the exemplary operating environment.
`and Nintendo or other dedicated simulation or control com-
`A number of program modules may be stored on the hard
`puters. Similarly, display device 16 can include many dif-
`disk, magnetic disk 29, optical disk 31, ROM 24 or RAM 25,
`ferent types of displays including a television display, LCD
`including an operating system 35, one or more application
`displays, plasma displays, to name a few.
`55 programs 36, other program modules 37, and program data
`Of course, the information packet provided by computer
`38. A user may enter commands and information into the
`input device 14 to computer 20 can be used by computer 20
`personal computer 20 through input devices such as a
`(and the application program running thereon) to control
`keyboard 42 and pointing device 40. Other input devices
`other items, other than a display device 16. However, the
`(not shown) may include a microphone, joystick, game pad,
`present invention will be described primarily with respect to 60 satellite dish, scanner, or the like. These and other input
`controlling display device 16, for the sake of clarity.
`devices are often connected to the processing unit 21
`FIG. 2 and the related discussion are intended to provide
`through a serial port interface 46 that is coupled to the
`system bus 23, but may be connected by other interfaces,
`a brief, general description of a suitable computing envi-
`ronment in which the invention may be implemented.
`such as a sound card, a parallel port, a game port or a
`Although not required, the invention will be described, at 65 universal serial bus (USB). The monitor 16 or other type of
`display device is also connected to the system bus 23 via an
`least in part, in the general context of computer-executable
`interface, such as a video adapter 48. In addition to the
`instructions, such as program modules, being executed by a
`
`
`
`,
`
`
`
`L
`
`monitor 16, personal computers may typically include other
`sense the pitching and rolling movement of user input device
`14 and provide a signal indicative thereof. This signal, as
`peripheral output devices such as a speaker and printers (not
`shown).
`discussed briefly with respect to FIG. 1, can be provided to
`The personal computer 20 may operate in a networked
`computer 20 and used to control an object on a visual display
`environment using logic connections to one or more remote
`5 screen. For example, in FIG. 3A, an airplane 104 is illus-
`computers, such as a remote computer 49. The remote
`trated on the visual display screen of display device 16. As
`computer 49 may be another personal computer, a server, a
`the user rotates user input device 14 about the pitch axis (or
`router, a network PC, a peer device or other network node,
`Y axis), computer 20 controls airplane 14 on display device
`and typically includes many or all of the elements described
`16 such that its physical orientation pitches in a similar
`above relative to the personal computer 20, although only a
`10 fashion. In this way, the physical orientation or pitching
`memory storage device 50 has been illustrated in FIG. 2. The
`movement of user input device 14 is mapped directly to
`logic connections depicted in FIG. 2 include a local are
`obiect 104 on the screen of visual disnlav device 16.
`network (LAN) 51 and a wide area network (WAN) 52. Such
`Similarly, as illustrated in FIG. 38, as the user rotates user
`input device 14 about the roll axis (or X axis), computer 20
`in
`enter-
`are
`prise-wide computer network intranets and the Internet.
`15 receives such information and controls object 104 on the
`When used in a LAN networking
`the per-
`screen of display device 16 such that the object rolls in a
`sonal computer 20 is connected to the local area network 51
`fashion, Therefore, the rolling movement of
`53. When used in a
`through a network interface Or
`puter input device 14 is mapped directly to rolling move-
`the persona' computer 20
`WAN networkng
`ment of object 104. Of course, the user can manipulate input
`typically includes a modem 54 or other means for establish- 20 device 14 to execute pitch and roll movement simulta-
`ing communications Over the wide area network 52, such as
`neously with respect to both the pitch and roll axes.
`that
`the Internet. The modem 54, which may be
`Or
`instance, computer 20 illustratively controls object 104 such
`external, is connected to the system bus 23 via the serial port
`that the physical orientation of object 104 is similar to that
`interface 46. In a
`Program
`of computer input device 14, in that object 104 pitches and
`depicted relative to the personal computer 20, or portions 25 rolls at angles similar to those sensed by the orientation
`thereof, may be stored in the remote memory storage
`sensors in computer input device 14.
`devices. It will be appreciated that the network connections
`FIG. 3C illustrates one way in which the inclination or
`shown are exemplary and other means of establishing a
`orientation sensing values can be determined for the infor-
`communications link between the computers may be used,
`When computer 20 is a dedicated computer, the specific 3o mation packet which is transmitted back to computer 20.
`arcbtecture may differ from that illustrated in FIG, 2, The
`the and
`3c
`an array
`plotted
`axes' In the very center of the array is a
`labeled
`differences, however, are of no great consequence. All such
`maxi2, maxi2. This point
`computers include a mechanism for executing computer
`user
`device
`14 being in a completely neutral position, in which it is not
`software andor hardware that receives information from
`input devices 14 and utilizes the information received to 35 rotated about either the pitch or the roll axes beyond the
`position illustrated in FIG. 3A. As user input device 14 is
`modify the behavior or appearance of software andor hard-
`rotated about the roll axis (the X axis) the X value in the
`ware. Often, this results in a change that is visible on a
`array illustrated in FIG. 3C either increases or decreases,
`display device.
`depending upon the direction of rotation. Similarly, the Y
`FIG, 3A is a side view of one embodiment of input device
`14 and illustrates that computer input device 14 is provided 40
`in the
`which
`(the
`to rotation
`about the pitch axis) either increases or decreases as user
`with one or more triggers 101 located on a fornard portion
`input device 14 is rotated about the pitch axis, again depend-
`of user input device 14, for actuation by the user,s index
`the direction
`ing 'POn
`rotation.
`finger when the user's hand is located on depending handles
`Therefore, the upper left hand corner of the array has a
`17 and 19. While only one trigger 101 is shown in FIG. 3A,
`it will be appreciated that a second trigger 101 is disposed 45 value 0, 0, which corresponds to user input device being
`identically on the opposite side of device 14 from that shown
`rotated to the n ~ x i m u m sensing angle about both the pitch
`and roll axes. The lower right hand corner has a value max,
`in FIG. 3A.
`max, which corresponds to user input device being rotated
`FIGS, 3A and 3B also illustrate physical orientation
`to the opposite maximum sensing angle (in the opposite
`sensing in accordance with one aspect of the present inven-
`tion. In FIG. 3A, a side view of computer input device 14 is 50 direction) about the pitch and roll axes. Another illustrative
`point is labeled on the array in FIG. 3C and contains an
`illustrated relative to X, Y and Z axes. In the embodiment
`illustrative value 375, 50. This indicates that the physical
`illustrated in FIG. 3A, the X and Y axes lie
`in
`a horizontal plane while the z axis lies in a
`orientation of computer input device 14 corresponds to a
`position which is slightly below the neutral position along
`vertical plane. FIG. 3B illustrates computer input device 14
`relative to the X, Y and Z axes, but rotated 90 degrees from 55 the '011 axis, and quite far below the neutral position along
`the pitch axis. Of course, the array can be sized with any
`the view shown in FIG, 3A. ~
`
`
`
`
` ,~~hthe view shown in FIG,
`
`desired number of points, depending on such things as the
`3B is from the rear (or user side) of computer input device
`resolution of the orientation sensors, desired sensitivity, and
`14.
`desired dead zones in the sensing range. In this way, the
`In the embodiment illustrated in FIGS. 3A and 3B, the Y
`axis can be referred to as the pitch axis and the x axis can 6O hardware and software features of the present invention (as
`be referred to as the roll axis. Therefore, as user input device
`described in greater detail below) can be used together to
`14 rotates about the Y axis, user input device 14 pitches
`provide the total user experience.
`forward and backward as indicated by arrow 100. Similarly,
`FIG. 4 is a more detailed block diagram of user input
`as user input device 14 rotates about the X axis, user input
`device 14. FIG. 4 illustrates that user input device 14
`65 includes controller 106, X and Y tilt sensors and circuitry
`device 14 rolls side-to-side, as illustrated by arrow 102.
`Computer input device 14 includes sensing devices,
`108, sensor calibration circuit 110, button array 112 (which
`includes buttons 22, 28, 30, and 32, as well as triggers 101.
`described in greater detail later in the application, which
`
`
`
`Wheel encoder 116 is arranged relative to rotatable wheel
`Computer input device 14 also includes zone calibration
`24 on computer input device 14 to sense rotation, and the
`circuit 114, wheel encoder circuit 116, and mode indicator
`direction of rotation, of wheel 24. Wheel encoder circuit 116
`118.
`One illustrative embodiment of X and Y axis tilt sensors
`is simply a conventional rotational encoder circuit, such as
`and related circuitry 108 are described in greater detail in the 5
`that used to track rotation of a mouse wheel. One such wheel
`encoder circuit is described in U.S. Pat. No. 5,473,344,
`above-identified U.S. patent application which is hereby
`entitled 3-D CURSOR POSITIONING DEVICE, issued on
`fully incorporated by reference. Briefly, the illustrative sen-
`sors include accelerometers which have a sensitive axis.
`Dec. 5, 1995, assigned to the same assignee as the present
`application, and which is hereby incorporated by reference.
`Two such accelerometers are illustratively placed, at right
`angles to one another, and are offset by approximately 45 10 Other sensors can also be used, such as optical or mechani-
`degrees from the primary sensing axes of input device 14
`cal sensors or other types of electrical sensors, any of which
`can be used to sense rotation of wheel 24.
`(i.e., from the pitch and roll axes). Thus, as the input device
`14 is rotated about the pitch and roll axes, the signals from
`Mode indicator 118, in one illustrative embodiment, is a
`both of the accelerometers are used to obtain an ultimate
`light emitting diode (LED) which can assume either a red or
`orientation value based on an offset of the accelerometers 15 a green color (or other colors). As is described in greater
`detail below, switch 30 can be used to change the mode of
`from the gravity vector. Of course, the accelerometers need
`operation of computer input device 14. Therefore, with each
`not be offset from the primary sensing axes at all and can be
`depression of button 30, microcontroller 106 provides an
`placed at any other desired angle relative to one another,
`output to mode indicator 118 changing the color of the LED.
`other than ninety degrees.
`The signal from the accelerometers is provided to an 20 In addition, the LED which embodiesmode indicator 118 is
`analog-to-digital (AID) converter 120. In the illustrative
`also illustratively configurable with different luminous set-
`embodiment, converter 120 is integral with microcontroller
`tings (such as dim and bright settings). In order to accom-
`106. Of course, other discrete AID converters can be used as
`modate users who encounter difficulty distinguishing
`well. In one illustrative embodiment, X and Y axis tilt
`between red and green, controller 106 also illustratively
`sensors are made under the manufacturer designation num- 25 changes the luminous setting as it changes the color of the
`LED, so that the user has a more easily identifiable visual
`ber ADXL202 from Analog Devices. However, as is noted
`in the co-pending related patent application, any sensor
`indication of mode changes.
`Microcontroller 106 is also provided with an output
`which is suitable for sensing orientation or rotation about the
`suitable for being coupled to computer 20. In one illustrative
`pitch and roll axes can be used.
`In order to calibrate the X and Y axis tilt sensors and 30 embodiment, the output provided by microcontroller 106 is
`related circuitry 108, computer input device 14 is illustra-
`provided according to a game port protocol. In another
`tively placed in a test fixture which can be rotated among
`illustrative embodiment, the output from microcontroller
`106 is according to a universal serial bus (USB) protocol.
`precisely known angles. The computer input device is then
`rotated to a number of precisely known angles and the values
`Similarly, a USB converter cable can be coupled between
`output by X and Y axis tilt sensors 108 is trimmed to a 35 microcontroller 106 and computer 20 to accommodate the
`desired value using sensor calibration circuit 110, which in
`necessary transmission of data.
`one embodiment is simply a circuit of trim potentiometers
`Prior to discussing packet formation, it should be noted
`arranged to trim the output values of the X and Y tilt sensors.
`that computer input device 14, as briefly mentioned above,
`Other calibration circuits can be used as well, such as active
`may be operated in at least two different modes of operation.
`switching elements or signal level shifters.
`40 In the first mode of operation (referred to as the sensor
`mode) the X and Y axis tilt sensors 108 generate orientation
`Button array 112, in one illustrative embodiment, is
`simply an array of switches which provide signals indicative
`information indicative of the physical orientation of com-
`of their closure to microcontroller 106. Therefore, as any of
`puter input device 14 and provide that information to
`the buttons 22, 28, 30, 32 or triggers 101 are depressed by
`microcontroller 106 through AID converter 120. The appli-
`the user, the depression of those buttons or triggers causes a 45 cation program on computer 20 which is controlling the
`switch closure which is sensed by microcontroller 106.
`visual display uses the orientation information from X and
`Y tilt sensors 108 to control the display.
`Array 112 can also include optical sensors, capacitive sen-
`However, computer input device 14 can also illustratively
`sors, etc.
`Zone calibration circuit 114 is used to trim the active
`be used in a different mod