CONTROLLER
TECHNICAL FIELD This application relates to a controller for use with a computer, the controller being of the type which translates an input of physical movement into an output of electrical signals. An example of this type of controller is a six degrees of freedom controller for operating a computer game or a controller for navigating the space created by 3D computer-aided design (CAD) software .
BACKGROUND ART Well known controllers for use with computers include mouses, joysticks, trackballs and touch screen panels . Such devices have a limited number of degrees of freedom, and are difficult and cumbersome to use in applications that require navigation with three or more degrees of freedom. To overcome the limitation of these devices, controllers with sensors that can detect movement in six separate degrees of freedom (hereinafter six-axis sensors) have been developed. An example of this type of controller has a handle with freedom of movement in six independent senses, namely translational movement along three orthogonal axes and independent rotation about each of those axes. The six-axis sensor is able to detect these different types of movement and produce a
corresponding electrical signal . There are two types of six-axis sensor: Misplacement' and force/torque' . Displacement sensors detect the relative displacement of two objects e.g. using optoelectronic sensors, whereas force/torque sensors demonstrate little movement; instead, they detect the forces and/or torques applied between objects. The electrical signals can be interpreted by computer software to cause changes to a display shown on a computer screen. Controllers of this type are commonly used in computer games. The number and nature of games in which six degrees of freedom are required includes the following categories : ■ First person action games ■ Third person action games ■ Space simulators ■ Flight simulators ■ Hand-to-hand combat games First person action games put the user in the shoes of the hero such that everything is seen from the hero's perspective as though looking through their eyes, whereas third person games put the user's point of view somewhat behind and above, e.g. as a third person. Modern gamers want to be able to explore and navigate the virtual environment that such games present in an efficient and intuitive manner.
A known type of computer game controller which has a displacement six-axis sensor to detect movement in six degrees of freedom is the Space Orb 360, manufactured by Spacetec IMC Corp.. The Space Orb 360 has a hand-held stationary base, to which a movable ball is attached. In use, the ball is gripped by the fingers and thumb of one hand, where it may be manipulated with six degrees of freedom about an equilibrium position. The base part is shaped to be gripped com ortably by both hands . The base part also includes additional control buttons that may be used during a game, e.g. to fire or select a weapon. Despite its ability to sense movement with six degrees of freedom, the Space Orb 360 has proved unpopular with gamers because the type of ball manipulation required to produce a desired on-screen effect was found to be counter- intuitive . Furthermore, it was found to be difficult to produce movement in only one of the six degrees of freedom; such was the nature of the controller that to effect movement in only one of the six degrees of freedom required extremely precise manipulation of the ball, which was difficult to achieve.
SUMMARY OF THE INVENTION The present invention proposes a controller which has a new mechanism which can provide up to six degrees of freedom whilst also overcoming problems associated with known six degrees of freedom controllers. The
manipulation of the controller of the present invention is fundamentally different from the controllers of the prior art . As a result of a different structural configuration of the controller of the present invention, the manipulations required to cause desired movement are more intuitive to the user. At its most general, the present invention provides a controller which senses relative movement or force between the two hands of the user with up to six degrees of freedom. In contrast, known six degrees of freedom controllers involve movement of a controlling handle relative to a fixed default position. For example, in the Space Orb 360 the hands of the user are both gripping the base part of the controller. The six- axis sensor detects movement of the ball with respect to a default position that is fixed relative to the base part; therefore in this arrangement the controller works by sensing the movement of the ball relative to the hands of the user. Likewise, the mouse and joystick, which have fewer degrees of freedom of movement, also require movement of an element with respect to a stationary or default position; relative motion of a user's hands is not detected. Thus, according to the present invention, there may be provided a controller for use with a computer, the controller having sensing means for detecting an input
movement or force; and gripping means for a user to hold the controller in both hands; wherein the gripping means includes two handles, each handle being adapted to be gripped by a respective one of the user's hands; and said sensing means being arranged to detect linear and rotational movement or force of the two handles relative to each other. The handles may be arranged relative to the sensing means so that the sensing means detects only linear and rotational movement of the two handles relative to each other. Alternatively, the handles may be arranged relative to the sensing means so that the sensing means detects only relative linear and rotational force between the two handles . Preferably, the two handles are relatively movable in six separate senses, each of which is detectable by the sensing means. In this case, the sensing means may be any known six-axis sensor. Preferably, the relative motion of the handles includes translational motion of the handles towards and away from each other in three orthogonal axes , and - relative rotational motion of the two handles about those axes. The relative movement of the user's hands in performing these six types of motion feels more intuitive than manipulating a ball using fingers and thumb. Preferably, the sensing means is located between
the two handles. Preferably, the sensing means is attached to the two handles. Preferably, the attachment to at least one of the handles is flexible to permit movement with six degrees of freedom. Both handles may be flexibly attached to be independently movable with six degrees of freedom. The controller may have a symmetric configuration where the handles are mirror images of one another with the sensing means provided between them. The relative movement of the handles may then be caused by symmetrical hand movements by the user. Again, this gives the controller a more 'natural' feel. There may be a plane of mirror symmetry between the two handles which lies through the sensing means . The handles may have a first degree of freedom of translational movement in a direction perpendicular to the plane of mirror symmetry. This direction may define an axis about which the handles can be rotated relative to one another in a twisting action; this motion may be a first degree of freedom of rotational movement. The two handles may lie substantially in a plane. The handles- may have a second degree of freedom of translational movement in a direction perpendicular to this plane. The plane may be defined as that containing the line which passes through the cross-sectional centre of the controller from the tip of one handle to the tip
of the other. The motion of the handles in said second degree of freedom of translational motion may be a shearing of the handles with respect to each other. The direction of the second degree of freedom of translational movement may define an axis about which the handles are rotated relative to one another in a swinging action; this motion may be a second degree of rotational freedom. A third degree of freedom of translational movement may be relative movement of the handles in a shearing action in a direction mutually perpendicular to the first and second degrees of freedom of translational movement. Relative rotation of the two handles about an axis defined by this direction may be a third degree of freedom of rotational movement. Preferably, the three degrees of freedom of translational movement are three mutually orthogonal directions, e.g. defining a 3D Cartesian space. The controller may be shaped like a U, an H, an inverted U, or any shape in between. Preferably, each handle includes a grip member for resting in the palm of One of the user's hands. The grip member may be ergonomically designed to provide comfort for the user when using the controller. The grip member may be shaped so that when the controller is gripped in its equilibrium position, the user has a relaxed hand position, with minimum muscle use. This helps to avoid
muscular strain when operating the controller. Controllers may be provided with different sizes of grip member to allow for different hand sizes. Preferably, each handle also includes a thumb rest to support the user's thumb when the handle is gripped. The thumb rest may be provided with one or more buttons or joysticks for providing further output signals. Further buttons may be provided on the handles at the position of the user's fingertips when the handles are gripped. The controller may also be used in cases where movement with less than six degrees of freedom is required. The handles may be arranged to move in one or more of the above described directions. For example, the controller may be used as a three-axis controller instead of existing three-axis joysticks. In this case, the handles may only be relatively movable in the three degrees of freedom of rotational movement described above .
BRIEF DESCRIPTION OF THE DRAWINGS An embodiment- of the inventi-on will now be ■described with -reference to the -drawings,- in which: Fig. 1 shows a top view of a controller which is a first embodiment of the present invention; Fig. 2 shows a side view of the controller of Fig. 1;
Fig. 3 shows a front view of the controller of Fig. 1; Fig. 4 shows an isometric view of the controller of Fig. 1; Figs. 5a-5f illustrate six degrees of freedom of relative motion of the handles of the controller of Fig.
1; Fig. 6 shows a top view of a controller which is a second embodiment of the invention; Fig. 7 shows a bottom view of the controller of
Fig. 6; Fig. 8 shows a right side view of the controller of Fig. 6; Fig. 9 shows a left side view of the controller of Fig. 6; Fig. 10 shows a front view of the controller of Fig . 6 ; Figs. 11 and 12 show isometric front and rear views of the controller of Fig. 6; Figs. 13a and 13b show isometric front and rear views respectively of a controller which is a third embodiment of -the invention; and
- . _,Figs-. -14a and 14b show isometric front and rear views respectively of a controller which is a fourth embodiment of the invention.
DETAILED DESCRIPTION
Fig. 1 illustrates a top view of a controller 10 having a left-hand handle 1 and a right-hand handle 3 connected by a pivot joint 2. The controller 10 is shaped like an inverted U, but it is possible to alter the position of the pivot joint 2 with respect to the handles 1,3 to give a U shape, an H shape or any shape in between. Pivot joint 2 is centrally positioned between the two handles 1,3. The pivot joint 2 includes a six degrees of freedom mechanism and has a six-axis sensor contained within it to allow the left-hand handle 1 to be moved or twisted with six degrees of freedom relative to the right-hand handle 3. The mechanism and sensor are surrounded by a rubber sheath. The handles are moulded plastics . The six-axis sensor contained in the pivot joint 2 may be a displacement six-axis sensor or a force/torque sensor . A displacement sensor is able to measure the relative amount of displacement and/or angular twist between the two handles 1,3 in six degrees of freedom. A known optoelectric six-axis sensor may be used, e.g. ErgoCommander 'manufactured by "3Dconnexion GmbH. In that case, the--le-ft^hand and right-hand handles 1,3- are rigidly fixed to the input and output of the sensor respectively. With a suitable mechanism, a force/torque sensor could be used. The mechanism could be a spring
arrangement or resilient elastic material, for example, and would enable the physical movements of the controller to be transformed into forces detectable by the sensor. Alternatively, the handles 1,3 are rigidly attached to the input and output of the sensor so that the relative force and/or torque between them is detected. The user therefore interacts with the controller by gripping the handles 1,3 and manipulating them relative to each other. The left-hand handle 1 is shaped to be gripped by the user's left hand, and the right-hand handle is shaped to be gripped by the user's right hand. The types of movement are described below in relation to Figs. 5a-5f. The six-axis sensor detects the relative movement of the handles 1,3 and translates it into an electrical output signal . The controller transmits a signal to a computer using a wireless radio frequency connection. A power- supply (e.g. batteries) for the radio transmitter is held within the controller. "" Alternatively', "a wired" USB' port or serial connection -coύ-ld be used to transmit a signal to the computer. The wire would enter the controller through the handles 1,3 or pivot joint 2. The computer has software to interpret the signal and produce an onscreen effect corresponding to the
relative movement of the handles 1,3. The software is able to relate the electrical signal produced by the six- axis sensor, which signal is itself indicative of the relative movement of the handles 1,3, to the control of a virtual or real third object having six degrees of freedom. An example of a virtual object is a character in a computer game. An example of a real object is a robotic arm. The controller could also be used to navigate other software applications, such as operating systems, the internet, media players and 3D modelling packages . The software and/or electronics on the controller itself can allow the user to configure the controller. Such configuration may be achieved using the software alone. The user is therefore able to assign each type of relative movement of the handles to a particular function (e.g. a type of movement of the virtual or real third object) . Other configurable elements include the sensitivity of the controller (i.e. the scaling between the amount of relative movement of the handles and the change in its corresponding function) , and the gain and wall "re'g±o'nS"'in each of 'the axes:' - ---Th-*t-he'' illustrated embodiment, there is only one flexible joint which allows six degrees of freedom because the right-hand handle 3 is fixed relative to the sensor. However, in another unillustrated embodiment, both handles may be connected to the six-axis sensor via
flexible joints which allow six degrees of freedom of movement. Each handle in this case would be independently free to move relative to the pivot joint. In both embodiments described above, the controller 10 provides resistive feedback to the user when the handles 1,3 are manipulated. This resistive feedback may be given by springs contained within the pivot joint 2. The left-hand and right-hand handles 1,3 have left and right grips la, 3a respectively which are received into the palm of the left and right hands respectively when the user grips the controller 10. The left and right grips la, 3a are oriented and shaped so that, in the resting position of the controller 10 (i.e. when no forces are applied to the handles 1,3), the user is able to adopt a grip position in which the wrist posture and joints are neutrally configured, i.e. in the most relaxed state. The grips la, 3a have a size according to the intended user, i.e. small for children and large for adults. Figs. 5a-5f illustrate the six separate senses of relative- movement of- the controller 10. Figs. 5a, 5b and 5c relate-t-o-'translational movement- of the handles 1,3, and Figs. 5d, 5e and 5f relate to rotational movement of said handles. The types of movement are explained with reference to three orthogonal axes 36,38,40 which are illustrated throughout Figs. 1-5. Fig. 1 shows two of
these axes. When seen from the top, controller 10 is symmetric about a central plane. Let us call the line lying in the plane of symmetry which passes through the centre of the pivot joint 2 the x-axis 38. We can then define the y-axis 40 as the axis perpendicular to the x- axis 38 which is in the same plane as the two handles 1,3 and also passes through the centre of the pivot joint 2. The z-axis 36 is then defined as the axis which is mutually perpendicular to the x- and y-axes 38,40. The x-, y- and z-axes 36,38,40 meet at the centre of the pivot joint 2. Fig. 5a illustrates translational movement of the handles 1,3 parallel to the x-axis 38. This is achieved by moving the handles 1,3 in opposite directions relative to one another parallel to the x-axis 38. Thus, to create a signal corresponding to movement in one direction in a first degree of freedom, the left hand moves in the direction of arrow 12a and the right hand moves in the direction of arrow 12b. This creates a shearing action along the x-axis 38. For movement in the opposite direction in that first degree of freedom, the left- and-handle r "moves "in~ 'the direction of arrow 14b and the -right-hand handle 3 -moves "in the direction of arrow 14a. Thus, movement in this axis is characterized by shearing the handles forward and backwards . This first degree of freedom could correspond to the virtual or real object rotating to the left or right about a
vertical central axis (yawing) within its environment . For example, it may allow a helicopter to rotate to the left or right about a central point in a flight simulator, or it may allow a character to turn their head to the left or right (i.e. shaking) in a first or third person game . Fig. 5b illustrates similar movement with respect to the z-axis 36. In this case the movement is characterized by shearing the handles up and down. Thus, movement in one direction in a second degree of freedom is caused by moving the right-hand handle 3 in the direction of arrow 20a and the left-hand handle 1 in the direction of arrow 20b; movement in the opposite direction in that second degree of freedom is caused by moving the right-hand handle 3 in the direction of arrow 22b and the left-hand handle 1 in the direction of arrow 22a. This second degree of freedom could correspond to the virtual or real object rolling clockwise or anticlockwise in its environment. For example, it may allow an aircraft to roll left or right around a central point in a flight simulator. Fig " 5c" illustrates "movement with respect to the
• y-cixi-s 40 "' "In this case, t e'"movement is characterized by pushing the handles 1,3 in a linear fashion in and out, i.e. towards or away from the pivot joint 2. Thus, movement in one direction in a third degree of freedom is achieved by moving the left-hand handle 1 in the
direction of arrow 28a and the right-hand handle 3 in the direction of arrow 28b, whereas movement the opposite way in that third degree of freedom is achieved by moving the left-hand handle 1 in the direction of arrow 30a and the -right-hand handle 3 in the direction of arrow 30b. The third degree of freedom could correspond to the virtual or real object pitching about a central axis in its environment. For example, it could represent an aircraft pitching forward to dive or upwards to climb in a flight simulator, or a character tilting their head forwards or backwards (i.e. nodding) in a first or third person game. Fig. 5d illustrates relative rotation of the handles about the z-axis 36. This movement is characterized by breaking open or shut the handles 1,3. Breaking open is achieved by moving the left-hand handle 1 in the direction of arrow 16a and the right-hand handle 3 in the direction of arrow 16b. Breaking shut is achieved by moving the left-hand handle 1 in the direction of arrow 18a and the right-hand handle 3 in the direction of arrow 18b. This motion defines a fourth degree of freedom. This movement could correspond to the virtual" or' real object be'ing controlled moving forwards or backwards within its environment". For example," it may allow a character to walk forward or backward whilst exploring its environment in a first or third person game, or it could represent a vehicle accelerating and braking in a racing simulator.
Fig. 5e illustrates relative rotation of the handles 1,3 about the z-axis 38. The movement is characterized by breaking up or down the handles 1,3. Breaking up is achieved by moving the left-hand handle 1 in the direction of arrow 24b and moving the right-hand handle 3 in the direction of arrow 24a, whereas breaking down is achieved by moving the left-hand handle 1 in the direction of arrow 26b and the right-hand handle 3 in the direction of arrow 26a. This motion defines a fifth degree of freedom. The movement could correspond to moving the virtual or real object up and down within its virtual environment. For example, it may allow a helicopter to move up and down in a flight simulator. Fig. 5f illustrates relative rotation of the handles 1,3 about the y-axis 40. This movement is characterized by twisting the handles 1,3 up or down. Twisting up is achieved by moving the left-hand handle 1 in the direction of arrow 32a and the right-hand handle 3 in the direction of arrow 32b, wherein twisting down is achieved by moving the left-hand handle 1 in the direction of arrow 34a and the right-hand handle 3 in the direction of arrow 34b: ' This motion defines a sixth degree of freedom*: ™ - The sixth degree""of—freedom could correspond to the virtual or real object moving to the left or right in its environment. For example, it may allow a character to pan left or right in a first or third person action game to avoid an enemy.
Essentially, all that is required is to match the six degrees of freedom of relative movement of the handles 1,3 illustrated in Figs. 5a-5f with six degrees of freedom of movement required by the virtual or real object to be controlled. The controller 10 is configurable to allow the user to choose which controller movement should correspond to which object movement. An example is given in Table 1.
Table 1: Matching controller and object movements
In addition to the components of the controller described above, additional command buttons are integrated into the left-hand and right-hand handles 1,3. The command buttons are provided close to the location of the user's thumbs when the handles are gripped. Furthermore, trigger-type controls may be provided on the handles for operation by the user's index finger. An example of command button configuration is shown in Figs. 6 to 12, which illustrate a second embodiment of
the invention. Fig. 6 shows a top view of the controller. A first command button pad 60 is provided on the top side of the right-hand handle 3 near to the pivot joint 2. This is a position which corresponds to the user's thumb position when the handle is gripped. The first command button pad 60 has four action buttons 62 which are operable by the user's thumb. A second command button pad 64 is provided on the top side of the left hand handle 1 near to the pivot joint 2. It too is therefore located in a position which corresponds to the position of a user' s thumb when the handle is gripped. The second control pad 64 has a directional button pad 66 which is operable by the user's thumb. The directional button pad 66 may be replaced by a joystick 80 or a touch pad 82 as shown in Figs. 13 and 14 respectively. Fig. 7 shows a bottom view of the controller. Two trigger buttons 70 are provided towards the front of the controller at the end of the right hand handle 3 near to the pivot joint 2. This is a position where they can be activated by the user's right index finger when the handle 3 is gripped.
■—---—-— Likewise, two trigger buttons 72 are also provided towards the front of the controller at the end of the left hand handle 1 near to the pivot joint 2, so that they are operable by the user's left index finger.
The position and shape of the trigger buttons and command buttons can be seen in further detail in Figs . 8 to 12. The handles 1, 3 of the controllers shown in Fig. 13 and 14 have grip pads 100, 300 which provide a comfortable hold for the user. To establish the most desirable shape of the controller, it is necessary to consider a range of hand dimensions to determine the size and diameter of the grip handles and the position and layout of the command buttons. Typical dimensions included: • Finger grip diameter - used to support the development of the grip handles; • Thumb length/thumb height from wrist - used to assist in determining the correct position of the command buttons; • Index finger length/index finger height (from line through wrist crease) - used to support the development of the trigger-type controls. The concept of a hand-held controller may be considered similar to that of a hand-held tool. Thus, similar considerations are made when designing a handheld controller with regard to the biomechanics of the hands, wrists and arms. These can be summarised as: • Understanding wrist posture and angle of the forearm in relation to the grip hands; • Avoid extreme and awkward joint positions -
specifically addressing wrist flexion/extension, abduction/adduction and supination and pronation; • Bend the tool, not the wrist; • Static and dynamic loading of muscle groups; • Minimise excessive gripping forces; • Minimise the amount of force required to operate triggers and buttons . Thus, one or more of the following issues are addressed when determining the layout and configuration of the controller: Control motion expectancy and stereotypes; Control dynamics (i.e. motion, resistance and feedback) ; Control handle shape; • Functional principles for determining the location and arrangement of controls; Command button configuration; Grouping of push buttons ; Shape of push buttons; • Suitable push button forces; Position of push button; The design of trigger-type
'controls; The mass and balance of the controller. A person skilled in the art will appreciate that the ideas expressed in the embodiments can be achieved in ways other than specifically described.