Sensor Fusion Algorithms for Handheld Controllers Including Force Sensing Resistors (FSR)
Polyimide-based FSRs address the limitations of traditional FSRs by providing precise, reproducible force sensing for VR controllers, enhancing user interaction and reducing manufacturing costs.
Patent Information
- Application Number
- JP2023171475
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2018-05-18
- Filing Date
- 2023-10-02
- Publication Date
- 2025-01-22
- Estimated Expiration
- 2039-05-17
AI Technical Summary
Existing controllers with force sensing resistors (FSRs) exhibit coarse response curves, require bulky connectors, and cannot withstand high manufacturing temperatures, limiting their suitability for virtual reality applications.
The use of polyimide substrates for FSRs, which allow direct soldering to PCBs without bulky connectors and can withstand reflow ovens, providing a more precise and reproducible force-resistance response curve.
The polyimide-based FSRs offer improved sensitivity, reduced hysteresis, and monotonic response curves, enabling natural interactions in VR systems and reducing manufacturing costs.
Smart Images

Figure 0007620061000001 
Figure 0007620061000002 
Figure 0007620061000003
Abstract
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This claims priority to U.S. Provisional Patent Application No. 62 / 520,958, filed June 16, 2017, which itself claims priority as a continuation-in-part of U.S. Provisional Patent Application No. 29 / 580,635, filed October 11, 2016, which itself claims priority as a continuation-in-part of U.S. Provisional Patent Application No. 15 / 679,521, entitled “Electronic Controller with Hand Retainer and Finger Motion Detection,” filed August 17, 2017, which itself claims priority as a continuation-in-part of U.S. Provisional Patent Application No. 29 / 580,635, filed October 11, 2016, which itself claims priority as a continuation-in-part of U.S. Provisional Patent Application No. 15 / 679,521, filed August 17, 2017, entitled “Electronic Controller with Hand Retainer and Finger Motion Detection,” filed January 1, 2017, which claims priority to U.S. Provisional Patent Application No. 29 / 580,635, filed June 16, 2017, which claims priority as a continuation-in-part of U.S. Provisional Patent Application No. This is a PCT application claiming priority as a continuation-in-part of pending U.S. patent application Ser. No. 15 / 834,372, filed on February 7, entitled "Electronic Controller With Finger Detection And Adjustable Hand Retainer," which claims priority to U.S. patent application Ser. No. 15 / 984,245, filed on May 18, 2018, entitled "Sensor Fusion Algorithm For Handheld Controller Including Force Sensing Resistor (FSR)," all of which are incorporated by reference in their entireties. [Background technology]
[0002] The video game industry has grown large and important and has spawned many innovations in both software and associated hardware. A wide variety of handheld video game controllers are designed, manufactured, and sold for a variety of gaming applications. Some of these innovations are applicable outside the video game industry, such as controllers for industrial machinery, defense systems, robotics, etc. Virtual reality (VR) systems are an application of great contemporary interest and rapid technological advances both within and outside the video game industry. Controllers for VR systems must perform several different functions and often must meet strict (and sometimes competing) design constraints while optimizing certain desirable characteristics, such as ease of use. Summary of the Invention
[0003] One of the objectives of controllers used in VR systems is to mimic natural interactions such as grabbing, throwing, squeezing, etc. as closely as possible. In an effort to meet this objective, various types of sensors have been utilized, including, among others, force-sensing resistors (FSRs), which use a variable resistance to measure the amount of force applied to the FSR. However, existing controllers with FSRs tend to exhibit fairly rough response curves (e.g., force vs. resistance response curves) due to the materials used in their construction, making them useful for little more than binary (e.g., on / off) switches. This is undesirable in VR systems. Furthermore, Mylar-based FSRs require large and bulky header connectors, which means that the FSR has a large footprint, is difficult to miniaturize, and cannot be directly soldered to other components. Yet another drawback of using Mylar in the construction of FSRs is that it cannot withstand the high temperatures of a reflow oven, which limits ways to reduce the manufacturing costs of Mylar-based FSRs. Instead of using Mylar for the bottom substrate, it is also known to construct FSRs using a printed circuit board (PCB) as the bottom substrate. However, PCB boards also exhibit rough (and potentially non-monotonic) response curves, making these types of FSRs unsuitable for VR applications. Thus, there is a need in the art for improved controller designs that can improve VR systems and / or make user operation easier. [Brief description of the drawings]
[0004] [Figure 1] FIG. 1 illustrates a controller according to an exemplary embodiment of the present disclosure with the hand retainer in an open position.
[0005] [Diagram 2] Figure 2 shows the controller from Figure 1 in a user's open hand, palm up.
[0006] [Diagram 3]FIG. 3 shows the controller of FIG. 1 in a user's closed hand.
[0007] [Figure 4] Figure 4 shows the controller of Figure 1 in a user's hand, palm down.
[0008] [Diagram 5] FIG. 5 illustrates a pair of controllers according to an exemplary embodiment of the present disclosure with the hand retainers in an open position.
[0009] [Figure 6A] FIG. 6A shows a front view of a right-hand controller according to another exemplary embodiment of the present disclosure.
[0010] [Figure 6B] FIG. 6B shows a rear view of the right hand controller of FIG. 6A.
[0011] [Figure 7A] FIG. 7A shows a window for an infrared sensor according to one embodiment of the present disclosure.
[0012] [Figure 7B] FIG. 7B shows a window for an infrared sensor according to another embodiment of the present disclosure.
[0013] [Figure 8] FIG. 8 shows a side view of the right hand controller of FIG. 6A with the outer shell partially encasing the tubular housing of the controller's handle disassembled to reveal the instrumentation on its inner surface.
[0014] [Figure 9A] FIG. 9A shows a cross-section of the right hand controller of FIG. 6A with the outer shell that partially encases the tubular housing of the controller's handle exploded.
[0015] [Figure 9B] FIG. 9B shows the cross section of FIG. 9A, except with the outer shell installed in its normal operating position.
[0016] [Figure 10A] FIG. 10A shows a front view of a right hand controller according to another exemplary embodiment of the present disclosure with a partially closed hand retainer.
[0017] [Figure 10B] FIG. 10B shows a front view of the controller of FIG. 10A, except with the hand retainer fully open.
[0018] [Figure 11A] FIG. 11A shows a front view of the head and handle components of a controller including a hand retainer anchor that can move around the head, according to an exemplary embodiment of the present disclosure.
[0019] [Figure 11B] FIG. 11B shows the head and handle components of FIG. 11A, except that the faceplate has been removed from the head to expose a lockable collar portion that can facilitate selective adjustment of the hand retainer anchors about the head.
[0020] [Figure 12A] FIG. 12A shows a partially assembled controller with the hand retainer component removed according to an alternative embodiment of the present disclosure.
[0021] [Figure 12B] FIG. 12B shows an expanded view of the channel features of the controller of FIG. 12A.
[0022] [Figure 12C] FIG. 12C is a cross-sectional view of the channel shown in FIG. 12B.
[0023] [Figure 13A] FIG. 13A illustrates a force sensing resistor (FSR) according to an exemplary embodiment of the present disclosure.
[0024] [Figure 13B] FIG. 13B shows a front view of the FSR of FIG. 13A.
[0025] [Figure 13C] FIG. 13C shows a cross section of the FSR of FIG. 13B taken along section AA, the cross section showing the first substrate made of polyimide.
[0026] [Figure 14] FIG. 14 shows various elevation views of an FSR at progressive stages in an exemplary process of building the FSR.
[0027] [Figure 15] FIG. 15 illustrates an example layer of an FSR according to another embodiment of the present disclosure. FIG. 15 is not to scale. Rather, FIG. 15 is presented to illustrate example layers of material and is not intended to represent an actual cross-section of the FSR.
[0028] [Figure 16] FIG. 16 illustrates an example layer of an FSR according to another embodiment of the present disclosure. FIG. 16 is not to scale. Rather, FIG. 16 is presented to illustrate example layers of material and is not intended to represent an actual cross-section of the FSR.
[0029] [Figure 17] FIG. 17 illustrates an example layer of an FSR according to another embodiment of the present disclosure. FIG. 17 is not to scale. Rather, FIG. 17 is presented to illustrate example layers of material and is not intended to represent an actual cross-section of the FSR.
[0030] [Figure 18A] FIG. 18A shows a front view of an FSR prior to a folding step to form a complete FSR, according to another embodiment of the present disclosure.
[0031] [Figure 18B] FIG. 18B shows a front view of the FSR of FIG. 18A after the folding step has been performed.
[0032] [Figure 18C] FIG. 18C shows a cross-section of the FSR of FIG. 18A taken along section BB.
[0033] [Figure 18D] Figure 18D illustrates example layers of the FSR of Figure 18A. Figure 18D is not to scale. Rather, Figure 18D is presented to illustrate example layers of materials and is not intended to represent an actual cross-section of the FSR.
[0034] [Figure 19] FIG. 19 is a flow diagram of a sample process for manufacturing an FSR.
[0035] [Figure 20] FIG. 20 shows an example of a user interface (UI) that can be used to configure the FSR-based input mechanisms of the controller so that the electronic system operates in various pressure modes.
[0036] [Figure 21] FIG. 21 shows a force versus time graph illustrating a "hair trigger" style of soft press for FSR-based input.
[0037] [Figure 22] FIG. 22 shows a force versus time graph illustrating a "hip fire" style of soft press for FSR-based input.
[0038] [Figure 23] FIG. 23 shows the controller of FIG. 1 with various sensors located within the controller body.
[0039] [Figure 24] FIG. 24 is a flow diagram of an example process for recalibrating the FSR of a handheld controller based on touch data provided by a touch sensor.
[0040] [Diagram 25] FIG. 25 is a flow diagram of an example process for ignoring spurious inputs in an FSR of a handheld controller based on touch data provided by a touch sensor of an adjacent control.
[0041] [Figure 26] FIG. 26 is a flow diagram of an example process for adjusting the FSR input threshold of an FSR based on hand size detected by an array of proximity sensors in the handle of a handheld controller.
[0042] [Figure 27] FIG. 27 is a flow diagram of an example process for activating and deactivating control bindings of a handheld controller based on an FSR input value.
[0043] [Figure 28] FIG. 28 is a flow diagram of an example process for using a time delay to determine whether to ignore the first FSR input of multiple thresholds.
[0044] [Figure 29] FIG. 29 illustrates example components of a handheld controller, such as the controller of FIG. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0045] Described herein is, among other things, a force sensing resistor (FSR) comprised of a first substrate made of polyimide disposed beneath a resistive, flexible second substrate. The first substrate has a conductive material (e.g., a plurality of interdigitated metal fingers) disposed on its front surface. One or more spacer layers are also interposed between the first and second substrates such that a central portion of the second substrate is suspended above the first substrate. An actuator is disposed on the second substrate and transfers an applied force to the front surface of the second substrate. As this occurs, the central portion of the second substrate bends inwardly toward the first substrate, and a portion of the resistive material on the back surface of the second substrate contacts a portion of the conductive material on the front surface of the first substrate. As the applied force increases, the surface area of the conductive material that the resistive material contacts increases. Similarly, as the applied force decreases, the surface area of the conductive material that the resistive material contacts decreases. This change in surface area contact under a variable applied force causes the FSR to function as a variable resistor whose value is controlled by the applied force.
[0046] Due at least in part to the polyimide material used for the first substrate, the disclosed FSRs exhibit desirable properties for use in controllers for VR systems, among other possible end uses. For example, the use of a polyimide substrate allows for the output terminals (or leads) of the FSR to be selectively soldered directly to a substrate (e.g., PCB) without the use of bulky header connectors, thereby allowing for a smaller footprint for the FSR compared to Mylar-based FSRs that require large, bulky header connectors. Because polyimide is commonly used as the material of choice for flex circuits, the use of a polyimide substrate for the FSR allows for easy connection of the FSR to other flex circuits, reducing the manufacturing costs of the disclosed FSR compared to those of conventional FSRs. Polyimide can also withstand high temperatures, such as reflow ovens, opening the door to cost-saving manufacturing processes. Additionally, polyimide, when used as the first substrate for the disclosed FSRs, exhibits desirable properties such as less hysteresis and greater repeatability compared to conventional FSRs. Overall, the disclosed FSR having a first substrate made of polyimide exhibits a force versus resistance response curve that models a true analog input, making the FSR desirable for use in a controller for a VR system.
[0047] Also disclosed herein is a controller for an electronic system (e.g., a VR system) including the disclosed FSR having a first substrate made of polyimide. The controller can be configured to be held by a user's hand and can include a controller body. The disclosed FSR can be mounted on a plane of a structure within the controller body, such as a structure mounted within a handle of the controller body or a structure mounted below at least one thumb-operated controller included in a head of the controller body. When implemented in the controller of the electronic system, the FSR is configured to measure a resistance value corresponding to an amount of force applied to an associated portion of the controller (e.g., a force applied to an exterior surface of the handle is measured by at least one thumb-operated control, etc.).
[0048] Implementing FSRs in controllers for VR systems can expand the spectrum of natural interactions beyond current conditions using traditional controllers. For example, an electronic system and / or controller can determine, via the FSR, the force with which a user grips the handle of a controller and / or the force with which a user presses a thumb-operated control. Because the disclosed FSRs exhibit desirable response curves, such controllers can convert various force presses or squeezes into various digitized numerical values that a video game can use to control game mechanics (e.g., to smash rocks, to squeeze balloons, to switch weapons available to a game character). FSRs with desirable response characteristics can replace traditional mechanical switches to reduce user fatigue and / or to reduce accidental actuation of controls. For example, an FSR can function as a switch by detecting when an applied force exceeds a threshold. This threshold is dynamically adjusted. For example, the threshold can be adjusted to a lower value to reduce hand fatigue during gameplay (e.g., if a user frequently presses a control associated with the FSR to fire a weapon during gameplay). Conversely, the threshold can be adjusted to a higher value to reduce instances of accidental control manipulation, which can be useful in thrilling or exciting games where the user may be reactive to video game cues.
[0049] Also disclosed herein is a handheld controller including logic for implementing a sensor fusion algorithm based on force data provided by the FSR of the controller in combination with touch data or proximity data provided by an array of touch sensors or proximity sensors, respectively. An example of a sensor fusion algorithm can be used to recalibrate the FSR when an object contacts a control associated with the FSR, as detected by the touch sensor. For example, the logic can determine that an object has contacted a control on the controller body configured to be pressed based on touch data provided by the touch sensor. The logic can also determine a resistance value measured by the FSR based on force data provided by the FSR when the object contacts the control, and upon detecting a touch at the control, correlate the resistance value with a digitized FSR input value of zero to "recalibrate" the FSR.
[0050] Another example sensor fusion algorithm can be used to ignore spurious inputs detected by the FSR when an object is in contact with an adjacent control. For example, the logic can determine, based on the force data provided by the FSR, a resistance value measured by the FSR that corresponds to a digitized FSR input value that meets or exceeds a threshold value that must be met to register an FSR input event for a first control of the handheld controller. The logic can also determine, based on the touch data provided by the touch sensor when the FSR resistance value is measured by the FSR, that an object is in contact with a second control of the handheld controller that is adjacent to the first control, and can refrain from registering an FSR input event while the object is in contact with the second control.
[0051] Another exemplary sensor fusion algorithm can be used to detect the hand size of a hand gripping the handle of the controller, as detected by an array of proximity sensors, and adjust the threshold force for registering an FSR input event in the FSR according to the hand size. This can help make force-based input easier for users with smaller hands (and harder, but not harder, for users with larger hands). For example, an array of spatially distributed proximity sensors on the handle of a handheld controller can be used to determine the size of the hand gripping the handle, and the logic can adjust the threshold based on the hand size to an adjusted threshold that is met to register an FSR input event on the handle.
[0052] 1-4 show a controller 100 for an electronic system according to an exemplary embodiment of the present disclosure. The controller 100 can be utilized by an electronic system such as a VR video game system, a robot, a weapon, or a medical device. The controller 100 can include a controller body 110 having a handle 112 and a hand retainer 120 for holding the controller 100 in a user's hand (e.g., the user's left hand). The handle 112 comprises a tubular housing that can be substantially cylindrical as desired. In this context, a substantially cylindrical shape need not have a constant diameter or a perfectly circular cross section.
[0053] 1-4, controller body 110 may include a head (between handle 112 and distal end 111) that may optionally include one or more thumb-operated controls 114, 115, 116. For example, a tilt button, or other button, knob, wheel, joystick, or trackball may be considered a thumb-operated control if it can be conveniently operated by a user's thumb during normal operation while controller 100 is held in the user's hand.
[0054] The controller 100 preferably includes a tracking member 130 secured to the controller body 110 and optionally includes two noses 132, 134 each protruding from a corresponding one of two opposing distal ends of the tracking member 130. In the embodiment of FIGS. 1-4, the tracking member 130 is preferably, but not necessarily, a tracking arc having an arcuate shape. The tracking member 130 preferably includes a plurality of tracking transducers disposed therein, with at least one tracking transducer disposed on each protruding nose 132, 134. Additional tracking transducers may also be disposed on the controller body 110, with at least one distal tracking transducer preferably disposed adjacent the distal end 111.
[0055] The aforementioned tracking transducers can be tracking sensors that respond to electromagnetic radiation (e.g., infrared) emitted by the electronic system, or tracking beacons that emit electromagnetic radiation (e.g., infrared) that is received by the electronic system. For example, the electronic system can be a VR game system that broadly broadcasts, i.e., paints, pulsed infrared light toward the controller 100 with multiple tracking transducers of the tracking member 130 that are infrared sensors that can receive or block the broadcasted pulsed infrared light. The tracking transducers of each nose 132, 134 (e.g., three sensors on each nose) preferably overhang the user's hand at each distal end of the tracking member 130, and thus are better exposed (around the user's hand) to receive electromagnetic radiation emitted by the electronic system or transmit electromagnetic radiation to the electronic system at more angles without an unacceptable amount of blockage.
[0056] Preferably, the tracking member 130 and the controller body 110 are made of a substantially rigid material, such as hard plastic, and are rigidly fixed together such that they do not detectably translate or rotate relative to one another. In this manner, translational and rotational tracking of the constellation of tracking transducers in space is preferably not complicated by the movement of the tracking transducers relative to one another. For example, as shown in FIGS. 1-4, the tracking member 130 can be secured to the controller body 110 by being coupled to the controller body 110 at two locations. A hand retainer 120 can be attached to the controller 100 (either the controller body 110 or the tracking member 130) adjacent these two locations to urge the palm of the user against the outer surface of the handle 112 between the two locations.
[0057] In certain embodiments, the tracking member 130 and the controller body 110 may comprise a one-piece monolithic component having a continuity of material rather than being assembled together. For example, the tracking member 130 and the controller body 110 may be molded together by a single injection molding process step, resulting in one one-piece rigid plastic component comprising both the tracking member 130 and the controller body 110. Alternatively, the tracking member 130 and the controller body 110 may be initially manufactured separately and then assembled together. In either case, the tracking member 130 may be considered to be fixed to the controller body 110.
[0058] The hand retainer 120 is shown in an open position in FIG. 1. The hand retainer 120 can be biased to an open position by a curved elastic member 122, if desired, to facilitate insertion of the user's left hand between the hand retainer 120 and the controller body 110 when the user is gripping the controller obscuring the view with VR goggles. For example, the curved elastic member 122 can be a flexible metal strip that bends elastically, if desired, or can include an alternative plastic material such as nylon that can be substantially elastically bent. The curved elastic member 122 can be partially or completely within or covered by a cushion or cloth material 124 (e.g., a neoprene sheath) for user comfort, if desired. Alternatively, the cushion or cloth material 124 can be disposed (e.g., glued) only on the side of the curved elastic member 122 that faces the user's hand.
[0059] The hand retainer 120 can be adjusted in length, if desired, for example, by including a drawcord 126 that is tightened by a spring-loaded chock 128. The drawcord 126 can have extra length that can be used as a strap, if desired. The sheath 124 can be attached to the drawcord, if desired. In certain embodiments, the curved elastic member 122 can be preloaded by the tension of the tightened drawcord 126. In such embodiments, the tension that the curved elastic member 122 provides to the hand retainer 120 (to bias it to an open position) causes the hand retainer to automatically open when the drawcord 126 is not tightened. The present disclosure also contemplates alternative conventional methods for adjusting the length of the hand retainer 120, such as cleats, elastic bands (which temporarily stretch when the hand is inserted, applying elastic tension to press against the back of the hand), and adjustable-length hook and loop strap attachments.
[0060] The hand retainer 120 can be disposed between the handle 112 and the tracking member 130 and configured to contact the back of the user's hand. FIG. 2 shows the controller 100 in operation with the user's left hand inserted but not gripping the controller body 110. In FIG. 2, the hand retainer 120 is closed and tightened on the hand to physically bias the user's palm against the outer surface of the handle 112. In this way, when closed, the hand retainer 120 can hold the controller 100 in the hand even when the hand is not gripping the controller body 110. FIGS. 3 and 4 show the controller 100 in operation with the hand retainer 120 closed, the hand gripping the controller body 110, and the thumbs manipulating one or more thumb-operated controls (e.g., the trackpad 116).
[0061] The handle 112 of the controller body 110 preferably includes an array of proximity sensors spatially distributed partially or completely around its outer surface. The array may include a grid, but the proximity sensors of the array are not necessarily of equal size, and the spacing between them is not necessarily equal. The array of proximity sensors is preferably responsive to the proximity of a user's finger to the outer surface of the handle 112. For example, the array of proximity sensors may be a number of capacitance sensors embedded under the outer surface of the handle 112, the outer surface including an electrically insulating material. The capacitance between such an array of capacitance sensors and a portion of the user's hand is inversely proportional to the distance between them. It should be noted that the capacitance can be detected by connecting an RC oscillator circuit to the elements of the capacitance sensor array, and that the time constant of the circuit (and therefore the period and frequency of oscillation) varies with the capacitance. In this manner, the circuit can detect the release of the user's finger from the outer surface of the handle 112.
[0062] When the hand retainer 120 (e.g., hand retention strap) is tightly closed, it can help prevent the controller 100 from falling out of the hand, as well as prevent the fingers from translating excessively relative to the proximity sensor array of the handle 112 to more reliably detect finger movements. The electronic system can include algorithms that embody anatomically possible finger movements to better use detection from the proximity sensor array to render a controlled character's hand opening, pointing, or other movements of the fingers relative to the controller or relative to each other. In this manner, the user's movements of the controller 100 and / or fingers can help control a VR gaming system, a defense system, a medical system, an industrial robot or machine, or another device. In a VR system application (e.g., gaming, training, etc.), the system can render a throwing action based on the movement of the tracking transducers and render the release of a thrown object based on the detected release of the user's fingers from the outer surface of the controller's handle.
[0063] Thus, the functionality of the hand retainer 120 (to allow the user to "let go" of the controller 100 without actually releasing it from their hand or throwing or dropping it on the floor) can enable additional functionality of the electronic system being controlled. For example, if a release and regain of the user's grip on the handle 112 of the controller body 110 is detected, such release or grip can be incorporated into the game to display an object to be thrown or gripped (e.g., in VR). The hand retainer 120 can enable such functionality to be accomplished repeatedly and safely. For example, the location of the hand retainer 120 in the embodiment of Figures 1-4 can aid the tracking member 130 in protecting the back of the user's hand from impacts in the real world, for example, when the user moves in response to a prompt detected in the VR environment (e.g., while being substantially blinded by the VR goggles).
[0064] In certain embodiments, the controller 100 may include a rechargeable battery disposed within the controller body 110, and the hand retainer 120 (e.g., a hand retention strap) may include a conductive charging wire electrically coupled to the rechargeable battery. The controller 100 also preferably includes a radio frequency (RF) transmitter for communicating with the remainder of the electronic system. Such an RF transmitter may be powered by the rechargeable battery and may be responsive to the thumb operated controls 114, 115, 116, proximity sensors in the handle 112 of the controller body 110, and / or tracking sensors in the tracking member 130.
[0065] 5, in certain embodiments, controller 100 may be a left controller in a pair of controllers that includes a similar right controller 200. In certain embodiments, controllers 100 and 200 may simultaneously (together) track the movements and grasps of a user's two hands, for example, to enhance the VR experience.
[0066] FIG. 6A illustrates a front view of a right-hand controller 600 according to another exemplary embodiment of the present disclosure. FIG. 6B illustrates a rear view of the right-hand controller 600. The controller 600 has a controller body including a head 610 and a handle 612. In the embodiment of FIGS. 6A-6B, the head 610 includes at least one thumb-operated control A, B, 608, and may also include a control configured to be operated by an index finger (e.g., trigger 609). The handle 612 includes a tubular housing partially encased by an outer shell 640.
[0067] In the embodiment of FIGS. 6A-6B, the tracking member 630 is secured to the controller body at the end of the head 610 and the handle 612. The hand retainer 620 is configured to physically bias the palm of the user's hand against the outer shell 640 between the end of the head 610 and the handle 612. The hand retainer 620 is preferably disposed between the handle 612 and the tracking member 630 and may comprise a hand retention strap that is adjustable in length and configured to contact the back of the user's hand. In the embodiment of FIGS. 6A-6B, the hand retainer 620 optionally includes a draw cord 628 and may be optionally adjusted in length by a cord lock 626 (adjacent the distal end of the handle 612) that selectively prevents sliding movement by the draw cord 628 at the location of the cord lock 626.
[0068] In the embodiment of Figures 6A-6B, tracking transducers 632, 633 are disposed on the tracking member 630, with tracking transducer 633 disposed on a protruding nose at the opposing distal end of tracking member 630. Additional tracking transducers 634 are disposed in distal regions of head 610, as needed. Tracking transducers 632, 633, and 634 can be tracking sensors that respond to electromagnetic radiation (e.g., infrared) emitted by an electronic system (e.g., a virtual reality gaming system), or can be tracking beacons that emit electromagnetic radiation (e.g., infrared) that is received by the electronic system. For example, the electronic system can be a VR gaming system that broadly broadcasts, i.e., paints, pulsed infrared light toward controller 600, with tracking transducers 632, 633, and 634 being infrared sensors that can receive the broadcast pulsed infrared light. The response of such tracking sensors can be transmitted back to the electronic system, which can interpret such responses to effectively track the position and orientation of controller 600.
[0069] One or more of the tracking transducers 632, 633, 634 can be configured as shown in the embodiment of FIG. 7A, or alternatively as shown in the embodiment of FIG. 7B, or alternatively in a conventional manner not shown, as desired. The bottom part of FIG. 7A shows an exploded perspective view of an infrared sensor 750 electrically connected to a flex circuit 751, shown below a rectangular portion of an overlying windowed housing wall 755 comprising infrared opaque plastic. The windowed housing wall 755 includes a window 756. The window 756 preferably comprises infrared transparent polycarbonate plastic and may include an underside recess to accommodate the thickness of the infrared sensor 750.
[0070] According to the embodiment of FIG. 7A, the windowed housing wall (e.g., the outer structure of the tracking member 630, or the head 610 in FIG. 6A) can be manufactured from a so-called "double-shot" injection molding process such that the majority of the housing wall is manufactured from infrared-opaque plastic, but infrared-transparent plastic is disposed in the window 756 above the infrared sensor 750.
[0071] The top of FIG. 7A shows a cross-sectional view of infrared sensor 750, flex circuit 751, and windowed housing wall 755 when assembled. Infrared light, shown in FIG. 7A as three downward arrows incident on window 756 from above, passes through window 756 to be received by infrared sensor 750 below. Because housing wall 755 comprises infrared-opaque plastic, infrared light striking it does not pass through, and some can be reflected back to the window to be received by infrared sensor 750. In this way, window 756 allows infrared light to impinge on infrared sensor 750 even though most of housing wall 755 comprises infrared-opaque plastic, such that infrared sensor 750 receives infrared light only from a preferred range of angles.
[0072] Alternatively, one or more of the tracking transducers 632, 633, 634 can be configured as shown in the embodiment of Figure 7B, if desired. The bottom part of Figure 7B shows an exploded perspective view of an infrared sensor 750 electrically connected to a flex circuit 751, shown below a rectangular portion of an overlying housing wall 758 comprising an IR-transparent plastic. The housing wall 758 is coated with an infrared-opaque film 757 patterned to include a window 759 (if the infrared-opaque film 757 is not present).
[0073] The top of FIG. 7B shows a cross-sectional view of the infrared sensor 750, flex circuit 751, housing wall 758, and IR opaque film 757 when assembled. Infrared light, shown as three downward arrows incident on the housing wall 758 from above in FIG. 7B, passes through a window 759 in the infrared opaque film 757 and through the housing wall 758 where it is received by the infrared sensor 750 below. Because the housing wall 758 comprises an infrared transparent plastic, infrared light that strikes it may pass through it and be lost, or may even, perhaps unintentionally and undesirably, reach a nearby sensor via internal reflection. In this manner, the window 759 in the infrared opaque film 757 allows the infrared light to primarily impact the infrared sensor 750.
[0074] FIG. 8 shows a side view of the right hand controller 600 with the outer shell 640 partially encasing the tubular housing of the handle 612 disassembled to reveal instrumentation on its inner surface. In the embodiment of FIG. 8, the instrumentation can include an array of proximity sensors 800 spatially distributed on the inner surface of the outer shell 640, which respond to the proximity of a user's fingers to the outer shell 640. The proximity sensors 800 of the array do not necessarily have to be the same size, nor are they necessarily regularly or evenly spaced from one another. In certain embodiments, the array of proximity sensors 800 can be a plurality of capacitive sensors that can be preferably connected to a flex circuit coupled to the inner surface of the outer shell 640. In the embodiment of FIG. 8, the outer shell 640 includes a first electrical connector portion 805 that can be connected to a mating second electrical connector portion of the handle 612 (as shown in more detail in FIGS. 9A-9B).
[0075] 9A-B show a cross section of the right hand controller 600 of FIG. 6A showing that the handle of the controller can optionally comprise tubular housing portions 612a, 612b, which are longitudinally divided by an adjacent seam 613. In FIG. 9A, the outer shell 640 is shown exploded and separate from the remainder of the handle. FIG. 9B shows the cross section of FIG. 9A, except with the outer shell 640 installed in its normal operating position. In the embodiment of FIG. 9A-B, the first electrical connector portion 805 of the outer shell 640 is shown matable and connectable to the second electrical connector portion 905 of the controller handle.
[0076] 9A-9B, the outer shell 640 partially encases the tubular housings 612a, 612b, preferably overlapping the longitudinal seam 613, so that the longitudinal seam 613 can be positioned to optimize the manufacturing process rather than corresponding to a desired circumferential location of the proximity sensor array 800. In certain embodiments, the outer shell 640 overlaps a circumferential portion C of the handle tubular housings 612a, 612b, which spans an angle of at least 100 degrees and no more than 170 degrees of the entire circumference of the handle tubular housings 612a, 612b. Such a circumferential overlap can, in certain embodiments, enable the proximity sensor array 800 to sense the proximity of a desired portion of a user's fingers or palm, e.g., an area of the hand that is most indicative of grasping.
[0077] The handle tubular housing 612a, 612b need not have a circular cross-section, and the term "circumference" is used herein whether or not the handle tubular housing 612a, 612b has a circular cross-section. As used herein, the term "circumference" means the complete circumference around the handle tubular housing 612a, 612b, which can be circular if the tubular housing 612a, 612b is a perfect circular hollow cylinder, but can be a closed shape other than circular if the tubular housing is shaped as a non-circular cylinder or hollow prism.
[0078] 9A-9B, a printed circuit board (PCB) 920 can be mounted within the handle tubular housing 612a, 612b, and the second electrical connector portion 905 is electrically coupled to the PCB 920. The PCB 920 can optionally include a force sensing resistor (FSR) 922, and the controller can further include a plunger 924 that transmits a compressive force applied via the outer shell 640 inwardly relative to the FSR 922 toward the outside of the handle tubular housing 612a, 612b. In certain embodiments, the FSR 922 in conjunction with the proximity sensor array 800 can facilitate detection of both the initiation of a grip by a user and the relative strength of such a grip by a user, which can facilitate certain game play functions.
[0079] In certain embodiments, the outer shell 640 has a shell thickness (measured radially in FIGS. 9A-9B) that is less than one-third the housing wall thickness of the handle tubular housing portion 612a or 612b. In those embodiments, such thickness disparity can improve the sensitivity of the proximity sensor array 800 compared to alternative embodiments in which the proximity sensor array 800 is disposed on or in the handle tubular housing 612a, 612b.
[0080] FIG. 10A illustrates a front view of a right hand controller 200 according to another exemplary embodiment of the present disclosure with a hand retainer 220 (e.g., a hand retention strap) partially closed. FIG. 10B illustrates a front view of the controller 200, except with the hand retainer 220 fully open. In the embodiment of FIGS. 10A-B, the controller 200 includes a controller body having a head 210 and a handle 212. The head 210 is adjacent to the handle 212 at a neck region 211 of the controller 200. The handle 212 preferably includes an array of proximity sensors spatially distributed just beneath its exterior surface, and preferably responsive to the proximity of a user's fingers to the exterior surface of the handle 212.
[0081] In the embodiment of Figures 10A-10B, the head 210 includes thumb-operated controls A, B, and 208. The controller 200 also preferably includes a tracking member 230 that is secured to the controller body at the distal end of the head 210 and the handle 212. The tracking member 230 preferably includes a plurality of tracking transducers, which may be sensors that respond to electromagnetic radiation emitted by the electronic system (e.g., pulsed infrared light emitted by a virtual reality gaming system), or tracking beacons that emit electromagnetic radiation that is received by the electronic system. In the embodiment of Figures 10A-10B, the tracking member 230 is preferably, but not necessarily, a tracking arc having an arcuate shape. A hand retainer 220 is preferably disposed between the handle 212 and the tracking arc 230.
[0082] 10A-10B, the controller 200 includes a drawcord 228 and a cord lock 226 adjacent a distal end of the handle 212. The cord lock 226 can selectively prevent sliding movement of the drawcord 228 at the cord lock 226. In the embodiment of FIG. 10A, as the drawcord 228 is gradually pulled past the cord lock 226, the hand retainer 220 is tightened into a closed position (as indicated by the movement arrows shown in FIG. 10A). The closed position physically biases the palm of the user's hand against the exterior surface of the handle 212.
[0083] In the embodiment of Figures 10A-10B, the hand retainer 220 preferably includes a resilient member (e.g., an internal or external resiliently deformable strip, such as a metal strip) that biases the hand retainer 220 toward the open position shown in Figure 10B. In the embodiment of Figure 10B, when a user selectively releases the cord lock 226 and allows relative sliding of the drawcord 228, the straight-forward preload bias of the resiliently deformable resilient member naturally causes the hand retainer 220 to open (indicated by the movement arrows shown in Figure 10B). The open position can facilitate insertion or removal of a user's hand from the controller 200, especially when the user's view may be obstructed by wearing virtual reality goggles.
[0084] 11A shows a front view of the head 210 and handle 212 components of the controller 200, including the hand retainer anchor 302 that is adjustable for circumferential movement about the head 210. FIG. 11B shows the same head 210 and handle 212 components, except with the faceplate removed from the head 210 to expose a lockable collar portion 311 that can facilitate selective adjustment of the hand retainer anchor 302 about the head 210.
[0085] In the embodiment of FIG. 11B, the lockable collar portion 311 can translate along an arcuate path defined by an internal arcuate guide 315. The lockable collar portion 311 can be selectively locked by a user to prevent further movement of the anchor 302 around the circumference of the head 210. Now, referring to FIG. 4 and FIGS. 10A-11B, the resilient member of the hand retainer 220 is attached to the hand retainer anchor 302 of the head 210, which allows the hand retainer 220 to be adjusted toward or away from the user's object (between the user's thumb and finger). In certain embodiments, the resilient member of the hand retainer 220 is preferably attached to the hand retainer anchor 302 of the head 210 by a pivotable or rotatable attachment, such that the hand retainer 220 can rotate relative to the hand retainer anchor 302 at the location of the attachment. Such a degree of freedom adds to the adjustability of the position of the hand retainer anchor 302 around the circumference of the head 210.
[0086] 12A, 12B, and 12C show an alternative embodiment of a partially assembled controller 400 having a controller body including a head 410 coupled to the head at a neck region 411 and a handle 412. In the alternative embodiment of FIGS. 12A-12C, the controller body includes a channel 414 disposed adjacent to the neck region 411. A hand retainer, not shown in FIG. 12A so that channel 414 is not partially obscured, includes a resilient member 420 that terminates in a protrusion 425 that extends into channel 414.
[0087] 12B and 12C, protrusion 425 includes a catch 427 that prevents longitudinal movement of the protrusion within channel 414 when the hand retainer is in a closed position. For example, in the embodiment of FIG. 12C, catch 427 is a cam that increases friction with the inner surface of channel 414 when the relative angle of hand retainer protrusion 425 corresponds to the closed position of the hand retainer - i.e., when the closed position of the hand retainer creates tension in resilient member 420 (e.g., downward as shown in the cross section of FIG. 12C).
[0088] In contrast, when the hand retainer projection 425 is rotated to a relative angle corresponding to an open position of the hand retainer (e.g., upward as shown in cross section in FIG. 12C), friction between the catch 427 and the channel 414 is reduced and the hand retainer projection 425 can be translated within the channel 414 (as indicated by the motion arrows shown in FIG. 12B). The channel 414 is preferably oriented such that translation of the hand retainer projection along the channel 414 preferably adjusts the relative position of the hand retainer projection 425 toward or away from the object of the user's hand, e.g., so that the controller 400 can accommodate different hand sizes or finger lengths. In an alternative embodiment, the hand retainer projection 425 can be pivotally attached to the remainder of the hand retainer by a conventional pivot joint. Such a degree of rotational freedom is in addition to the adjustable translation of the hand retainer projection 425 along the channel 414.
[0089] 13A-C show different views of a force sensing resistor (FSR) 1300 according to an exemplary embodiment of the present disclosure. As shown in the cross-sectional view of the FSR 1300 in FIG. 13C, the FSR 1300 can include a first substrate 1302 made of polyimide. The FSR 1300 can further include a second substrate 1304 disposed on (or above) the first substrate 1302. The first substrate 1302 and the second substrate 1304 can be considered to be the two main substrates (or layers) of the FSR 1300, which can be considered a two-layer FSR 1300, although it should be understood that the FSR 1300 includes additional layers, as described in more detail herein. In this context, the first substrate 1302 may be considered the "bottom" or "base" substrate with respect to the two main substrates of the FSR 1300, although it should be understood that there may be a layer of material behind (or below) the first substrate 1302 (i.e., in the negative Z direction, as shown in FIG. 13C).
[0090] The first substrate 1302 has a conductive material disposed on the front surface (i.e., the surface facing the positive Z direction) of the first substrate 1302. As described in more detail with reference to FIG. 14, the conductive material may include a plurality of interdigitated metal fingers. Meanwhile, the second substrate 1304 (sometimes referred to as a resistive "film") has a resistive material disposed on the back surface (i.e., the surface facing the negative Z direction) of the second substrate 1304. The resistive material may be a semiconductor material such as an ink composition (e.g., silver ink, carbon ink, mixtures thereof, etc.) that exhibits some electrical resistance (e.g., a relatively high sheet resistance in the range of 300 kiloohms (kOhms) per square (kOhms / square) to 400 kOhms / square). Preferably, the sheet resistance of the second substrate 1304 is 350 kOhms / square, although it should be understood that other sheet resistance values may be used, including those outside the sheet resistance ranges specified herein, such as when the FSR 1300 is used in other applications, such as non-controller-based applications. Thus, the sheet resistance ranges specified herein should be understood to be non-limiting. In some embodiments, the second substrate 1304 may be made of Mylar with a resistive material disposed on the backside of the second substrate 1304. In some embodiments, the second substrate 1304 is made of polyimide with a resistive material (e.g., a conductive ink composition) on the backside. An exemplary advantage of using polyimide for the second substrate 1304 is to create an FSR 1300 that can be mass-produced using a reflow oven, whereas Mylar could not withstand such high temperatures.
[0091] The FSR 1300 may include one or more spacer layers interposed between the first substrate 1302 and the second substrate 1304, such that a central portion of the second substrate 1304 is suspended above and spaced a fixed distance from the first substrate 1302. FIG. 13C illustrates two spacer layers, including, but not limited to, a coverlay 1306 disposed on the first substrate 1302 around the periphery of the first substrate 1302, and an adhesive layer 1308 disposed on the coverlay 1306. The coverlay 1306 may be made of polyimide and thus may be the same material as the first substrate 1302. The thickness of the coverlay 1306 (measured in the Z direction) may be in the range of 10 microns to 15 microns. The thickness of the adhesive layer 1308 (measured in the Z direction) may be in the range of 50 microns to 130 microns. Thus, the total distance that the second substrate 1304 is spaced from the first substrate 1302 can be the sum of the thicknesses of one or more spacer layers (e.g., the thickness of the coverlay 1306 plus the thickness of the layer of adhesive 1308). These layers can be provided at thicknesses outside of the thickness ranges specified herein, such as when the FSR 1300 is used in other applications, such as non-controller-based applications. Thus, these thickness ranges should be understood to be non-limiting.
[0092] An actuator 1310 (such as a disk-shaped compliant plunger) can be disposed on the second substrate 1304 and is configured to transfer a force F to a front surface of the second substrate 1304. The actuator 1310 can be made of Poron, a compliant material that deforms to some degree upon application of a force to the actuator 1310. The actuator 1310 can be concentric with the center of the active area of the FSR 1300 to center the applied force F. The actuator 1310 also spans a portion of the active area of the FSR 1300 to evenly distribute the applied force F across that portion of the active area of the FSR 1300.
[0093] The thickness (measured in the Z direction) of the second substrate 1304 may be in the range of 50 microns to 130 microns. At this exemplary thickness, the second substrate 1304 is flexible. For example, the second substrate 1304 may be made of Mylar, which is flexible at thicknesses within the ranges specified above. The functional operation of the FSR 1300 relies on the flexibility of the second substrate 1304 in order for the resistive material on the back side of the second substrate 1304 to contact the conductive material on the front side of the first substrate 1302 under a compressive force F applied to the actuator 1310. The thickness (measured in the Z direction) of the first substrate 1302 may be in the range of 20 microns to 30 microns. Polyimide of this thickness is also flexible. Thus, the first substrate 1302 is also flexible. Meanwhile, the thickness (measured in the Z direction) of the actuator 1310 may be in the range of 780 microns to 810 microns. These layers may be provided at thicknesses outside of the thickness ranges specified herein, such as when the FSR1300 is used in other applications, such as non-controller-based applications, and therefore these thickness ranges should be understood to be non-limiting.
[0094] The FSR 1300 can exhibit a resistance that changes in response to a variable force F applied to the actuator 1310. For example, as the force F on the actuator 1310 increases, the resistance decreases. In this manner, the FSR 1300 can be treated as a variable resistor whose value is controlled by the applied force F. The FSR 1300 can be a "shunt mode" FSR 1300 or a "through mode" FSR 1300, but is preferably a shunt mode FSR 1300. In a shunt mode FSR 1300, the conductive material disposed on the front surface of the first substrate 1302 can be in the form of a plurality of interdigitated metal fingers. When a force F is applied to the front (or top) of the actuator 1310, the resistive material on the back surface of the second substrate 1304 comes into contact with some of the interdigitated metal fingers that shunt the metal fingers, thereby changing the resistance between the output terminals of the FSR 1300. In a through mode implementation, the conductive material on the first substrate 1302 can be a solid region of conductive material with a semiconductive (or resistive) material disposed on the conductive material, and the second substrate 1304 can have a similar structure (e.g., a region of conductive material with a solid semiconductive (or resistive) material disposed on it). The solid regions of conductive material on each substrate (1302 and 1304) are coupled to individual output terminals, and when the two substrates (1302 and 1304) come into contact under an applied force F, an excitation current can pass from one layer to the other.
[0095] At least in the recommended shunt mode implementation, the force-resistance response curve (FSR1300 resistance plotted as a function of applied force F) exhibits desirable characteristics for use in a Controller 100 / 600 in a VR system. For example, the response curve of the FSR1300 can exhibit less hysteresis and higher repeatability (from one FSR1300 to another) compared to traditional FSRs such as those using Mylar as the bottom substrate material. The load hysteresis represents the effect of previously applied force on the current FSR1300 resistance. The response curve is also monotonic, modeling a true analog input that can be leveraged for many game mechanics in a VR game system, such as smashing virtual rocks or squeezing a virtual balloon. Although the examples herein describe an applied force F, the FSR 1300 is actually sensitive to applied pressure (force x area) since an equal amount of force applied at a small point versus a larger area on the front surface of the second substrate 1304 will result in a different resistance response of the FSR 1300. Thus, the actuator 1310 is responsible for maintaining repeatability across the FSR 1300 in terms of its response curve under an applied force F.
[0096] FIG. 14 shows various front views of the FSR 1300 at progressive stages in an exemplary process of constructing the FSR 1300. In stage 1 of FIG. 14, a plurality of interdigitated metal fingers 1400 can be formed on a front surface of a polyimide first substrate 1302. The metal fingers 1400 are conductive. An exemplary conductive metal used for the metal fingers 1400 is copper, such as 1 / 3 oz. HA copper. The copper can also be gold plated. The plurality of interdigitated metal fingers 1400 can be formed using a subtractive manufacturing process. For example, prior to stage 1, the polyimide first substrate 1302 can be formed with a copper clad layer disposed on its front surface, which can be etched (e.g., by removing strips of copper material) to create the pattern of interdigitated metal fingers 1400 shown in stage 1 of FIG. 14. The size and spacing of the etched pattern can be selected to create a distance between adjacent pairs of metal fingers 1400 (measured in the Y direction) that is 0.2 millimeters (mm), and a width of each metal finger of the plurality of interdigitated metal fingers 1400 (measured in the Y direction) that is 0.2 mm. This finger width and inter-finger spacing can provide an optimal balance between maximum sensitivity of the FSR 1300 and minimized manufacturing etch resistance. Although a uniform pattern of metal fingers 1400 is shown in FIG. 14, it should be understood that other non-uniform patterns (e.g., more dense fingers toward the center and less dense fingers toward the outside) can be used. FIG. 14 shows two sets of interdigitated metal fingers 1400 that each lead to output terminals 1402 (or leads) of a two-terminal FSR 1300 having a first output terminal 1402(1) and a second output terminal 1402(2).
[0097] As mentioned above, the copper that constitutes the metal fingers 1400 can be gold plated. Thus, after etching the pattern of the interdigitated metal fingers 1400, a layer of gold plating can be deposited on the copper fingers to create the gold plated fingers. Thus, the multiple interdigitated metal fingers 1400 shown in stage 1 of FIG. 14 can represent gold plated fingers. The gold plating can be electroless nickel immersion gold (ENIG). Notably, there may be no additional copper plating on the base layer copper prior to gold plating. When adding vias to a multi-layer flex board, additional copper plating is typically applied on the base layer copper. However, adding additional copper plating on the base layer copper prior to gold plating may actually result in an undesirable increase in detected resistance compared to the disclosed FSR 1300 that does not include additional copper plating on the base layer copper prior to gold plating. Thus, by omitting the additional copper plating on the metal fingers 1400 prior to gold plating, optimal sensitivity is achieved in the FSR 1300. Thus, the copper clad layer that makes up metal finger 1400 remains exposed at the time metal finger 1400 is plated with the gold material. In this manner, the gold material is in direct contact with the base copper material of metal finger 1400 without interposing additional copper plating between the base layer copper and the gold plating.
[0098] 14, stage 2, a coverlay 1306 may be deposited on the first substrate 1302 around the periphery of the first substrate 1302. For example, the coverlay 1306 may be annular shaped to cover a peripheral portion of the metal fingers 1400, with the remaining portions of the metal fingers 1400 remaining uncovered by the coverlay 1306 after deposition. The coverlay 1306 may be made of polyimide.
[0099] In stage 3 of FIG. 14, an adhesive layer 1308 can be deposited over the coverlay 1306 such that the remaining portions of the metal fingers 1400 (portions of the metal fingers 1400 left uncovered by the coverlay 1306) are also left uncovered by the adhesive layer 1308. For example, the adhesive layer 1308 can be C-shaped such that the adhesive layer 1308 covers a substantial portion of the coverlay 1306, and such that the adhesive layer 1308 does not cover the active area of the FSR 1300. The "active area" of the FSR 1300 is shown in stage 3 of FIG. 14 as having a diameter B. Furthermore, the adhesive layer 1308 being C-shaped can leave portions of the coverlay 1306 uncovered by the adhesive layer 1308. This uncovered portion of the coverlay 1306 is shown in stage 3 of FIG. 14 as having a width w. After the second substrate 1304 is placed on top of the first substrate 1302, this uncovered portion of the coverlay 1306 forms an air gap that allows air to move in and out of the space between the first substrate 1302 and the second substrate 1304, which can prevent variations in response between sensors due to changes in atmospheric pressure. The width w of the air gap (i.e., the uncovered portion of the coverlay 1306) can be 1 mm, which is small enough to maintain symmetry of the contact surface area under an applied force and large enough for air to move in / out of the air gap. In some embodiments, the adhesive layer 1308 can be 467 adhesive from 3M® Company of Maplewood, Minnesota (i.e., 3M 467 adhesive). The coverlay 1306 and adhesive layer 1308 represent examples of spacer layers that can be provided on top of the first substrate 1302 to space the second substrate 1304 from the first substrate 1304 in a suspension manner. As previously mentioned, the thickness (measured in the Z direction) of the coverlay 1306 may be in the range of 10 microns to 15 microns, and the thickness (measured in the Z direction) of the adhesive layer 1308 may be in the range of 50 microns to 130 microns. Preferably, the thickness of the adhesive layer 1308 is made as thin as possible (e.g., at the low end of a specified thickness range) to allow for an initial response (e.g., FSR 1300 begins to detect an input) under a very light applied force F.However, these layers may be provided at thicknesses outside of the thickness ranges specified herein, such as when the FSR1300 is used in other applications, such as non-controller-based applications, and therefore these thickness ranges should be understood to be non-limiting.
[0100] In stage 4, a second substrate 1304 can be provided on the first substrate 1302. In stage 4, a central portion of the second substrate 1304 is suspended over the first substrate 1302 by one or more spacer layers (e.g., coverlay 1306 and adhesive layer 1308) interposed between the first substrate 1302 and the second substrate 1304 (see FIG. 13C). Although not shown in FIG. 14, an actuator 1310 can be attached to the front side of the second substrate 1304 to complete the construction of the FSR 1300, as shown in FIGS. 13A-C. The size of the actuator (measured in the XY plane) can span 80% of the active area of the FSR 1300 (i.e., 80% of the diameter B shown in stage 3 of FIG. 14). For example, the disk-shaped actuator 1310 can have a diameter equal to 0.8*B. In some embodiments, the overall diameter of the FSR 1300 can be 14.5 mm. With this dimension, the active area can have a diameter B of 10.5 mm, which means that the coverlay 1306 and adhesive layer 1308 can be deposited as a 2 mm ring between the first substrate 1302 and the second substrate 1304. In this embodiment, the actuator 1310 can have a diameter of 8.4 mm (i.e., 0.8*10.5 mm).
[0101] The FSR 1300 can be open circuited in the absence of an external force (or load). In some embodiments, to account for any contact between the first substrate 1302 and the second substrate 1304 under zero or negligible applied force, a threshold circuit can be used to set a threshold resistance value at which the first substrate 1302 and the second substrate 1304 are considered to be "in contact", meaning that the FSR 1300 can be open circuited until the threshold resistance value is reached, even if the two main substrates (i.e., 1302 and 1304) are actually in contact.
[0102] FIG. 15 illustrates an exemplary layer of an FSR 1300 according to another embodiment of the present disclosure. FIG. 15 is not to scale. Rather, FIG. 15 is presented to illustrate the exemplary layers of materials and is not intended to represent an actual cross-sectional view of the FSR 1300. As described above with reference to the previous figures, the FSR 1300 includes a first substrate 1302 made of polyimide, metal fingers 1400 (i.e., conductive material) disposed on the front side of the first substrate 1302, and a second substrate 1304 disposed on the first substrate 1302 with one or more spacer layers interposed between the first substrate 1302 and the second substrate 1304, as shown in FIG. 15. In this case, there are multiple spacer layers disposed between the two main substrates, including the coverlay 1306 and adhesive layer 1308 mentioned above. An actuator 1310 is also disposed on the second substrate 1304.
[0103] In the embodiment of FIG. 15, the actuator 1310 may be made of poron and may have a thickness (measured in the Z direction) of 794 microns. An actuator adhesive layer 1500 may be used to attach the actuator 1310 to the second substrate 1304. The actuator adhesive 1500 may have a thickness (measured in the Z direction) of 70 microns. A suitable adhesive for the actuator adhesive 1500 is FT 8397 adhesive from Avery Dennison, Glendale, California. In the embodiment of FIG. 15, the thickness (measured in the Z direction) of the second substrate 1304 may be 125 microns. The sheet resistance of the resistive material on the backside of the second substrate 1304 may be 350 k ohms / square. The adhesive layer 1308 may be a peel adhesive such as 3M MP467 adhesive. The thickness (measured in the Z direction) of the adhesive layer 1308 may be 50 microns. The coverlay 1306 may be made of polyimide and may have a thickness (measured in the Z direction) of 12.5 microns. A coverlay adhesive 1502 (e.g., polyethylene with adhesive on either side) may be used to attach the coverlay 1306 to the front side of the first substrate 1302 over the metal fingers 1400. The coverlay adhesive 1502 may have a thickness (measured in the Z direction) of 25 microns. The metal fingers 1400 may be made of copper (e.g., gold plated copper) and may have a thickness (measured in the Z direction) of 12.5 microns. The first substrate 1302 may have a thickness (measured in the Z direction) of 25 microns.
[0104] A pressure sensitive adhesive (PSA) 1504 can be attached to the backside of the first substrate 1302. The PSA 1504 can be 3M 467MP and can have a thickness of 50 microns. A PSA liner 1506 can be placed over the PSA 1504 and can be peeled off prior to mounting the FSR 1300 to a flat surface (e.g., the flat surface of a structure mounted inside the controller body 110).
[0105] In the connector portion of the FSR 1300, a stiffener polyimide 1508 can be attached to the backside of the first substrate 1302 using stiffener adhesive 1510. The stiffener polyimide 1508 can have a thickness (measured in the Z direction) of 137.5 microns, which can create a stiffer connector portion of the FSR 1300 for additional durability of the connector portion. The thickness (measured in the Z direction) of the stiffener adhesive can be 25 microns.
[0106] The embodiment of Figure 15 may represent an FSR 1300 suitable for mounting to a flat surface of a structure mounted within a handle 112 / 612 of a controller 100 / 600 for an electronic system (e.g., a VR system) as disclosed herein. It should be understood that thickness values, sheet resistance values, and / or materials other than those specified with reference to Figure 15 may be utilized, such as when the FSR 1300 is used in other applications, such as non-controller based applications. As such, these values and materials should be understood to be non-limiting.
[0107] FIG. 16 illustrates an exemplary layer of an FSR 1300 according to another embodiment of the present disclosure. FIG. 16 is not to scale. Rather, FIG. 16 is presented to illustrate an exemplary layer of material and is not intended to represent an actual cross-sectional view of the FSR 1300. The FSR 1300 illustrated in FIG. 16 with respect to the first substrate 1302 and the layers on the first substrate 1302 (i.e., in the positive Z direction) may have a similar structure to the FSR 1300 illustrated in FIG. 15. FIG. 16 differs from FIG. 15 in the layers below the first substrate 1302 (i.e., in the negative Z direction). Therefore, for the sake of brevity, the first substrate 1302 and the layers on the first substrate 1302 (i.e., in the positive Z direction) in FIG. 16 will not be described again, since the description of FIG. 15 can be referred to for these layers in FIG. 16.
[0108] In the embodiment of FIG. 16, the stiffener 1600 can be attached to the back of the first substrate 1302 under the body portion of the FSR 1300 using stiffener adhesive 1510. As in the embodiment of FIG. 15, the stiffener adhesive thickness (measured in the Z direction) can be 25 microns, but the stiffener 1600 is disposed under the body portion of the FSR 1300, while the polyimide 1508 is disposed under the connector portion of the FSR 1300. Furthermore, the stiffener 1600 can be an FR4 stiffener having a thickness (measured in the Z direction) of 530 microns, which is thicker than the stiffener polyimide 1508 of the embodiment of FIG. 15. The pull tab 1602 can be attached to the back of the stiffener 1600 using an adhesive layer 1604. The adhesive layer 1604 can be a pull tab adhesive, such as 3M MP467 adhesive. The adhesive layer 1604 thickness (measured in the Z direction) can be 50 microns.
[0109] The embodiment of Figure 16 may represent an FSR 1300 suitable for mounting to a plane of a structure mounted below a thumb-operated control 116 of a controller 100 / 600 for an electronic system (e.g., a VR system) as disclosed herein. It should be understood that thickness values, sheet resistance values, and / or materials other than those specified with reference to Figure 16 may be utilized, such as when the FSR 1300 is used in other applications, such as non-controller-based applications. As such, these values and materials should be understood to be non-limiting.
[0110] FIG. 17 illustrates example layers of an FSR 1300 according to another embodiment of the present disclosure. FIG. 17 is not to scale. Rather, FIG. 17 is presented to illustrate example layers of material and is not intended to represent an actual cross-sectional view of the FSR 1300. Some of the layers of the FSR 1300 illustrated in FIG. 17 can have a similar structure to the FSR 1300 illustrated in FIG. 15. However, FIG. 17 differs from FIG. 15 in several ways.
[0111] In the embodiment of FIG. 17, the thickness (measured in the Z direction) of the second substrate 1304 can be 127 microns. The adhesive layer 1308 can be a release adhesive such as 3M 468MP adhesive. For FSR 1300 that can withstand the high temperatures of a reflow oven, the adhesive layer 1308 can be a release adhesive such as 3M 9085 or 3M 9082. The thickness (measured in the Z direction) of the adhesive layer 1308 can be 125 microns. In some cases, the thickness of the adhesive layer 1308 can be 50 microns. Furthermore, the metal fingers 1400 can be made of RA copper. Furthermore, a conductive material 1700 can be disposed on the back side of the first substrate 1302. The conductive material 1700 can be HA copper or RA copper with a thickness (measured in the Z direction) of 12.5 microns. An additional coverlay 1702 can be deposited on the conductive material 1700. This additional coverlay 1702 can be made of polyimide and can be attached to the conductive material 1700 using a coverlay adhesive 1704. The thickness (measured in the Z direction) of the additional coverlay 1702 can be 12.5 microns and the thickness (measured in the Z direction) of the coverlay adhesive 1704 can be 25 microns. An adhesive layer 1706 can be disposed on the coverlay 1702. The adhesive layer 1706 can be a release adhesive such as 3M 467MP adhesive with a thickness (measured in the Z direction) of 60 microns. For FSR 1300 that can withstand the high temperatures of a reflow oven, the adhesive layer 1706 can be a release adhesive such as 3M 9085 or 3M 9082.
[0112] The embodiment of Figure 17 may represent an FSR 1300 suitable for mounting to a flat surface of a structure mounted within the controller body 110 of a non-VR controller. It should be understood that thickness values, sheet resistance values, and / or materials other than those specified with reference to Figure 17 may be utilized, such as when the FSR 1300 is used in other applications, such as non-controller based applications, and as such, these values and materials should be understood to be non-limiting.
[0113] 18A-D show an FSR 1800 according to another embodiment of the present disclosure. The FSR 1800 can have similar component layers as described for the FSR 1300, such as a first substrate 1802 made of polyimide, and a second substrate 1804 that is flexible and has a resistive material on its backside. One or more spacer layers (e.g., a coverlay 1806 and an adhesive layer 1808) can be inserted between the first substrate 1802 and the second substrate 1804.
[0114] A portion of the first substrate 1802 of the FSR 1800 of FIGS. 18B and 18C is wrapped around and also disposed on the front surface of the second substrate 1804. FIG. 18A is labeled "Before Folding" and shows the FSR 1800 before a portion of the first substrate 1802 is wrapped around the second substrate 1804. In FIG. 18A, the FSR 1800 includes a first body portion 1812(1) (sometimes referred to as the "lower balloon" 1812(1)) and a second body portion 1812(2) (sometimes referred to as the "upper balloon 1812(2)"). The lower balloon 1812(1) is connected to the upper balloon 1812(2) by a fold neck 1814 at a first end of the lower balloon 1812(1). A solder pigtail 1816 extends from a second end of the lower balloon 1812(1), with a solder pad 1818 at the end of the solder pigtail 1816. An actuator 1810 in the form of a tactile switch is disposed on the upper balloon 1812(2) such that after a folding operation, the actuator 1810 will ultimately be the front or top layer of the FSR 1800, as shown in Figures 18B and 18C. Thus, the portion of the first substrate 1802 of the FSR 1800 that is wrapped around the second substrate 1804 is the upper balloon 1812(2).
[0115] A cross section of the FSR1800 after a folding operation is shown in FIG. 18C to depict exemplary layers of the FSR1800. Some of the layers shown in FIG. 18C are described in more detail with reference to FIG. 18D. In this embodiment of FIG. 18C, a force F can be applied to an actuator 1810 (e.g., a tactile switch) to cause a variable resistance of the FSR1800 that is converted to a variable digitized value. Using a tactile switch (e.g., a switch that switches to a different binary state under application of a predefined amount of force F) for the actuator 1810 creates a dual stage FSR1800 that can output a variable resistance as an increased force F is applied after an initial "click" is heard when the tactile switch 1810 is actuated. This can help calibrate the FSR1800 with its individual actuations by assuming that the tactile switch 1810 actuates with the same amount of force F each time it is pressed. That is, the FSR 1800 can be reset to a known amount of force F associated with the actuation of the tactile switch 1810 in response to detecting the actuation of the tactile switch 1810. This can mitigate inherent inaccuracies of the FSR 1800.
[0116] As shown in Figures 18C and 18D, the FSR 1800 includes a first substrate 1802 made of polyimide having a thickness (measured in the Z direction) of 25 microns. A conductive material (e.g., metal fingers 1820 made of HA copper (e.g., gold-plated copper) shown in Figure 18D) having a thickness (measured in the Z direction) of 12.5 microns can be placed on the front side of the first substrate 1802 in the lower balloon 1812(1) such that the conductive material is below the resistive material on the second substrate 1804. A coverlay 1806 can be attached to the front side of the first substrate 1802 over the metal fingers 1820 using a coverlay adhesive 1822. The coverlay adhesive 1822 can have a thickness (measured in the Z direction) of 25 microns. The coverlay 1806 can be made of polyimide and can have a thickness (measured in the Z direction) of 12.5 microns. The adhesive layer 1808 disposed on the coverlay 1806 may be a release adhesive such as 3M MP467 adhesive. The thickness (measured in the Z direction) of the adhesive layer 1808 may be 60 microns. The thickness (measured in the Z direction) of the second substrate 1804 may be 127 microns. The sheet resistance of the resistive material on the backside of the second substrate 1804 may be 350 kOhms / square. The adhesive layer 1824 may be used to attach the upper balloon 1812(2) to the lower balloon 1812(1) when the upper balloon 1812(2) is folded over the lower balloon 1812(1) at the fold neck 1814. The adhesive layer 1824 may be 125 microns thick (measured in the Z direction). A suitable adhesive for the adhesive layer 1824 is 3M 468MP. The adhesive layer 1824 may also be C-shaped.
[0117] On the top balloon 1812(2) of the FSR1800, a first reinforcement polyimide 1834 can be attached to the front surface of the first substrate 1802 (before folding) using a reinforcement adhesive 1836. The first reinforcement polyimide 1834 can have a thickness (measured in the Z direction) of 75 microns. The thickness of the reinforcement adhesive (measured in the Z direction) can be 25 microns. Additionally, on the top balloon 1812(2) of the FSR1800, a second reinforcement polyimide 1838 can be attached to the front surface of the first reinforcement polyimide 1834 (before folding) using a layer of adhesive 1840. The second reinforcement polyimide 1838 can have a thickness (measured in the Z direction) of 75 microns. The thickness of the adhesive layer (measured in the Z direction) can be 125 microns. When the upper balloon 1812(2) is folded over the lower balloon 1812(1) at the folding neck 1814, the second stiffener polyimide 1838 contacts the second substrate 1804, as shown in FIG. 18C, and the adhesive layer 1824 adheres the two body portions 1812(1) and 1812(2) of the FSR 1800 in a stacked relationship after the folding operation. It is understood that thickness values, sheet resistance values, and / or materials other than those specified with reference to FIG. 18D can be utilized, such as when the FSR 1800 is used in other applications, such as non-controller-based applications. As such, these values and materials should be understood to be non-limiting.
[0118] 18D, a conductive material 1826 can be disposed on the backside of the first substrate 1802. The conductive material 1826 can be HA copper having a thickness (measured in the Z direction) of 12.5 microns. An additional coverlay 1828 can be deposited on the conductive material 1826. This additional coverlay 1828 can be made of polyimide and can be attached to the conductive material 1826 using a coverlay adhesive 1830. The thickness (measured in the Z direction) of the additional coverlay 1828 can be 12.5 microns and the thickness (measured in the Z direction) of the coverlay adhesive 1830 can be 25 microns. An additional coverlay 1828 and a coverlay adhesive 1830 can span the solder pigtail 1816, the lower balloon 1812(1), the folded neck 1814, and a portion of the upper balloon 1812(2), leaving a footprint (or space) for the actuator 1810 (the "button footprint" in FIG. 18D). An adhesive layer 1832 can be disposed on the additional coverlay 1828. The adhesive layer 1832 can be a release adhesive, such as 3M 468MP adhesive, 125 microns thick (measured in the Z direction). The adhesive layer 1832 can span the solder pigtail 1816 and the lower balloon 1812(1).
[0119] Although the examples of FSR1300 / 1800 are shown as having a generally circular shape, it should be understood that the FSR1300 / 1800 can be constructed with layers of different cross-sectional shapes, such as square, rectangular, etc. The FSR1300 / 1800 can be larger or smaller in overall size than the examples described herein depending on the particular application. Additionally, it should be understood that arrays of FSRs can be implemented by connecting multiple FSR1300 / 1800 together. In such arrays, the layers of FSR material can consist of long strips of material.
[0120] 19 is a flow diagram of an example process 1900 for manufacturing an FSR, such as FSR 1300 or FSR 1800, disclosed herein. The process described herein is illustrated as a collection of logical flow graph blocks, which represent a sequence of operations. The order in which the operations are described is not intended to be construed as a limitation, and any number of the operations described can be combined in any order and / or in parallel to implement the process.
[0121] At 1902 , a first substrate 1302 made of polyimide can be formed with a copper clad layer disposed on the front side of the first substrate 1302 .
[0122] At 1904, the copper clad layer may be etched to form a plurality of interdigitated copper fingers (i.e., examples of metal fingers 1400) on the front side of the first substrate 1302. The etching at block 1904 may include removing strips of copper material having a width of 0.2 mm to form a distance of 0.2 mm between adjacent pairs of copper fingers among the plurality of interdigitated copper fingers. The spacing between successive strips of removed copper material may also be kept at 0.2 mm to provide copper fingers having a width of 0.2 mm.
[0123] At 1906, a layer of gold plating may be deposited on the plurality of alternating copper fingers to form gold plated fingers. The gold plating may be ENIG.
[0124] At 1908, one or more spacer layers can be provided on the first substrate 1302 around the periphery of the first substrate 1302, thereby leaving portions of the gold plated fingers not covered by the one or more spacer layers. As indicated by sub-blocks 1910 and 1912, multiple spacer layers can be provided in two operations.
[0125] At 1910, a coverlay 1306 (e.g., made of polyimide) can be deposited on the periphery of the first substrate 1302. The coverlay 1306 can cover a peripheral portion of the gold plated fingers, with the remaining portions of the gold plated fingers left uncovered by the coverlay 1306.
[0126] At 1912, an adhesive layer 1308 may be deposited on the coverlay 1306 such that the remaining portions of the gold plated fingers are not covered by the adhesive layer 1308. Furthermore, the operation at block 1912 may include leaving portions of the coverlay 1306 uncovered by the adhesive layer 1308 to form an air gap that allows air to pass in and out of the space between the first substrate 1302 and the second substrate 1304.
[0127] At 1914, a second substrate 1304 can be provided over the first substrate 1302 such that a central portion of the second substrate 1304 is suspended over the first substrate 1302 by one or more spacer layers interposed between the first substrate 1302 and the second substrate 1304. This second substrate 1304 is flexible and has a resistive material disposed on a back surface of the second substrate 1304.
[0128] At 1916, to construct the FSR 1800, an extension portion of the first substrate 1802 is wrapped around the second substrate 1804 and attached to a front surface of the second substrate 1804, and the extension portion of the first substrate 1802 is inserted between the actuator 1810 to which it is attached and the second substrate 1804. As indicated by the dashed outline of block 1916, this operation is performed to construct the FSR 1800, but may be omitted when constructing the FSR 1300.
[0129] At 1918, the actuator 1310 can be provided on the second substrate 1304 by attaching the actuator 1310 to the front side of the second substrate 1304 to construct the FSR 1300, or by attaching the actuator 1810 (e.g., a tactile switch) to the first substrate 1802 interposed between the second substrate 1804 and the actuator 1810.
[0130] The FSR 1300 / 1800 disclosed herein can be mounted to the plane of a structure within a handheld controller, such as the controller 100 / 600 disclosed herein, which can be positioned at any suitable location within the controller body 110 to measure a resistance value corresponding to an amount of force applied to the exterior surface of the controller body 110 (e.g., force applied by a finger pressing a control, force applied by a hand gripping the handle 112 / 612). With particular reference to FIGS. 9A and 9B, the FSR 1300 / 1800 can be mounted to the plane of a PCB 920, which itself can be mounted within the tubular housing 612a, 612b of the handle 612. In this configuration, the plunger 924 can interface with the actuator 1310 / 1810 of the FSR 1300 / 1800, which can enable the transfer of a compressive force from the plunger 924 to the actuator 1310 / 1810. However, other configurations are possible in which the plunger 924 is omitted and the actuator 1310 / 1810 interfaces with a portion of the tubular housing 612a, 612b of the handle 612. With particular reference to FIG. 1, the FSR 1300 / 1800 can be mounted in the plane of a structure in the head (between the handle 112 and the distal end 111). The structure mounted in the head can be mounted below one or more of the thumb operated controls 114, 115, 116. For example, the FSR 1300 / 1800 can be positioned below the thumb operated control 116 (e.g., a track pad). Thus, when a user's thumb presses the thumb operated control 116 during operation of the controller 100, the FSR 1300 / 1800 positioned below the thumb operated control 116 can be configured to measure a resistance value corresponding to the amount of force applied to the thumb operated control 116 by the user's thumb.It should be understood that multiple FSRs 1300 / 1800 may be disposed within the controller body 110 of the controller, such as one or more FSRs 1300 / 1800 mounted within the handle 112 / 612 and one or more FSRs 1300 / 1800 mounted below one or more corresponding controls 114, 115, 116 on the head of the controller body 110.
[0131] The FSR 1300 / 1800 disclosed herein, when implemented in a controller 100 / 600, can enable variable analog inputs. For example, gripping the handle 112 / 612 or pressing a thumb-operated control (e.g., 116) with varying amounts of force can cause the resistance of the FSR 1300 / 1800 to vary in response to the applied force, and the resistance can be converted to different digitized values representing the FSR input for controlling game mechanics.
[0132] 20 illustrates an exemplary user interface (UI) 2000 that can be used to configure the FSR-based input mechanism of a handheld controller, such as controller 100 / 600, so that the electronic system operates in different modes. The UI 2000 can be output to a display of the electronic system, such as a head mounted display (HMD), or other type of display used in a personal computer (PC) or game console. The UI 2000 includes an "Activation Type" drop-down menu 2002. The "Activation Type" drop-down menu 2002 can be used to select a "soft press" type of activation for the FSR-based input mechanism (e.g., thumb operated control 116, handle 112 / 612, etc.). Here, "soft press" means a "software press" that allows the controller 100 / 600 and / or the electronic system with which the controller 100 / 600 is associated to use logic to determine when to register an FSR-based input event based on the analog input of the FSR 1300 / 1800 (e.g., an FSR resistance corresponding to a force applied to the FSR 1300 / 1800 and converted to a digitized FSR input value), and also based on additional configuration settings described below. In other words, a resistance value can be measured by the FSR 1300 / 1800, which can be converted to a digitized FSR input value. If this digitized FSR input value meets the criteria specified by the "soft press" configuration setting, then an FSR-based input event can be registered.
[0133] The UI 2000 may further include a "Binding" drop-down menu 2004 that may be used to select a PC-based input control to bind to a corresponding FSR-based input mechanism on the controller 100 / 600. Here, the binding is selected as the left mouse button, but it should be understood that the binding may be selected as other PC-based input controls. The binding may also be analog. For example, for a racing game, an FSR1300 / 1800 may be used for the accelerator pedal (e.g., the harder the user presses the FSR-based control mechanism, the faster the racing vehicle will go in the game).
[0134] The UI 2000 may further include a "Soft Press Style" drop-down menu 2006 that may be used to select one of various styles of soft press. The "Simple Threshold" style means that an FSR input event occurs when the digitized FSR input value reaches or exceeds a threshold value. Because the digitized FSR input value corresponds to a particular resistance value measured by the FSR and corresponds to a particular force applied to the FSR 1300 / 1800, this style of soft press may also be thought of as the registration of an FSR input event when the resistance value measured by the FSR reaches a threshold resistance and / or when the amount of force applied reaches a threshold force. For example, if the handle 112 / 612 of the controller 100 / 600 includes an FSR 1300 / 1800, one may squeeze the handle 112 / 612 until a threshold amount of force is reached, and accordingly, an FSR input event will be registered as a "soft press." The force required to "press" may be part of a threshold value for debounce purposes and / or to mimic a tact switch with a physical snap ratio. Thus, the "simple threshold" style can replace traditional mechanical switches. UI 200 shows that configurable soft press threshold 2008(1) can be adjusted by the user to increase or decrease the threshold that is compared to the digitized FSR input value to determine whether to register an FSR input event. The user can adjust soft press threshold 2008(1) lower (e.g., by moving the slider to the left) to reduce hand fatigue associated with actuating the FSR-based input mechanism. The user can adjust soft press threshold 2008(1) higher (e.g., by moving the slider to the right) to reduce instances where an accidental input is registered by the FSR-based input mechanism. In some cases, soft press threshold 2008(1) can be set to a default threshold for a particular game (e.g., a lower default threshold for a shooter game or a higher default threshold for an exploration game).
[0135] The "hair trigger" style allows for a baseline threshold to be set, and when the digitized FSR input value associated with the FSR1300 / 1800 meets or exceeds the baseline threshold, the binding is activated (i.e., an FSR input event is registered, similar to actuation of a button being pressed and held). A subsequent decrease in force deactivates the binding (i.e., the FSR input event is "deregistered," similar to the user releasing the button), and an increase in force after deactivating the binding reactivates the binding. In the soft press "hair trigger" style, there may be some debounce. Turning briefly to FIG. 21, an example of the "hair trigger" logic is shown in a force versus time graph 2100. The force axis can represent digitized FSR input values ranging from zero to any suitable maximum value, which corresponds to the range of resistance values measurable by the FSR1300 / 1800. 21, as the digitized FSR input value increases (e.g., the user presses harder and harder on the FSR-based input mechanism), the digitized FSR input value eventually exceeds the baseline threshold 2102, in response to which the binding is activated (i.e., an FSR input event is registered similar to a long press type user input), and then the binding is deactivated in response to a decrease in the digitized FSR input value (e.g., the user "releases" slightly on the FSR-based input mechanism). If the user presses harder on the FSR-based input mechanism, the binding can be activated again as long as the force remains above the baseline threshold 2102.
[0136] Referring again to FIG. 20, the "hip fire" style of soft press can be selected in three different sub-styles (e.g., aggressive, standard, and relaxed). Because the "hip fire" style utilizes a time delay, in configurations with multiple levels of binding, the "hip fire" style can be similar to the "simple threshold" style of soft press, except that a time delay can be used to ignore low FSR input values if a higher threshold is reached immediately. The amount of time delay varies depending on the sub-style (e.g., aggressive, standard, and relaxed). Turning briefly to FIG. 22, an example of the "hip fire" logic is shown in a force versus time graph 2200. Again, the force axis can represent a range of digitized FSR input values from zero to any suitable maximum value, which corresponds to the range of resistance values measurable by the FSR1300 / 1800. As shown in FIG. 22, assume that A1 2202 corresponds to a first threshold corresponding to a first action, and A2 2204 corresponds to a second threshold corresponding to a second action. The time delay t can be set based on whether the hip fire style is aggressive, normal, or relaxed. In the "fast" curve shown in FIG. 22, the FSR input value quickly reaches A1 2202, triggering a time delay to begin execution. The FSR input value then reaches A2 2204 before the time delay has elapsed, which causes the logic to ignore A1 2202 and register an FSR input event specifically for the second action corresponding to A2 2204. In the "slow" curve shown in FIG. 22, the FSR input value reaches A1 2202, which initiates a time delay. However, the FSR input value does not increase fast enough to reach A2 2204 before the time delay has elapsed, so the logic registers an FSR input event for the first action corresponding to A1 2202, and then the FSR input value eventually reaches A2 2204, and the logic registers an additional FSR input event for the second action corresponding to A2 2204. The time delay t can be specified in milliseconds and is configurable.
[0137] Referring again to FIG. 20, an additional soft press threshold 2008(2) may be available to set a multi-level threshold, such as a "hip fire" style threshold for a soft press. Different styles of soft presses for FSR-based inputs may be used to enable multiple different game-related analog inputs by a user squeezing or pressing the FSR-based input mechanism with varying forces. For example, a VR game may allow a user to crush a rock or squeeze a balloon by squeezing the handle 112 / 612 of the controller body 110 with increasing force. As another example, a shooting-based game may allow a user to switch between different types of weapons by pressing the thumb-operated control 116 with different levels of applied force.
[0138] 23 illustrates the controller 100 of FIG. 1 with various sensors disposed within the controller body 110. For example, a first FSR 1300(1) can be mounted below a control configured to be pressed, such as thumb-operated control 116 included in head 113 of controller body 110. A second FSR 1300(2) can be mounted within handle 112 of controller body 110 along with an array of proximity sensors 800. It should be understood that one or the other FSR 1300(1) or 1300(2) can be provided within controller 100, or both FSRs 1300(1) and 1300(2) can be provided within controller 100. In addition to or instead of an array of proximity sensors 800, one or more touch sensors 2300 (e.g., touch sensors 2300(1)-(3)) can be associated with one or more controls configured to be pressed, such as thumb operated control 114, thumb operated control 115, and / or thumb operated control 116, and / or finger operated control (e.g., trigger 609). The touch sensor 2300 can be configured to provide touch data indicative of an object (e.g., a finger, thumb, etc.) contacting an associated control (e.g., one or more of thumb operated controls 114-116). In an example, the touch sensor 2300 comprises a capacitance sensor (or an array of capacitance sensors) mounted within the head 113 of the controller body 110 (e.g., glued or otherwise attached to the back of the outer housing and below the controls 114-116 that are attached to a structure such as a PCB within the head 113). In other examples, the touch sensor 2300 can be based on other touch sensing technologies, such as infrared or acoustic touch sensors. Alternatively, an array of proximity sensors 800 spatially distributed on the steering wheel 112 can be configured to provide proximity data indicative of a hand gripping the steering wheel 112. The proximity sensors 800 can also use any suitable technology for sensing hand contact and / or proximity on / to the steering wheel 112 as disclosed herein.The FSR1300 is configured to provide force data indicative of the amount of force applied to a control (e.g., pressing control 116) or squeezing handle 112. The various sensor sets shown in FIG. 23 can be connected by a flex circuit. For example, the touch sensor 2300 in head 113 and the FSR1300(1) can be connected together by a common flex circuit. The polyimide substrate of the FSR1300 disclosed herein allows for this type of direct soldering of the FSR output terminals to the flex circuit.
[0139] The processes described herein are illustrated as a collection of blocks in a logic flow graph, which represent a sequence of operations that can be implemented in hardware, software, or a combination thereof. In the context of software, the blocks represent computer-executable instructions that, when executed by one or more processors, perform the recited operations. Generally, computer-executable instructions include routines, programs, objects, components, data structures, etc. that perform particular functions or implement particular data types. The order in which the operations are described is not intended to be construed as a limitation, and any number of the operations described can be combined in any order and / or in parallel to implement a process.
[0140] FIG. 24 is a flow diagram of an example process 2400 for recalibrating the FSR 1300 / 1800 of the handheld controller 100 / 600 based on touch data provided by a touch sensor.
[0141] At 2402, logic of the handheld controller 100 / 600 determines that an object (e.g., a finger, thumb, etc.) has contacted at least one control of the handheld controller based at least in part on touch data provided by the touch sensor. The at least one control can be included in the controller body 110 of the controller 100 / 600 and can be configured to be pressed. For example, the control can be a thumb-operated control 116 included in the head 113 of the controller body 110. In this embodiment, the touch sensor can be one of the touch sensors 2300. Alternatively, the control can be the handle 112 of the controller body 110. In this embodiment, the touch sensor can be an array of proximity sensors 800.
[0142] At 2404, the logic can determine a resistance value measured by the FSR 1300 / 1800 based at least in part on force data provided by the FSR 1300 / 1800 when the object contacts the at least one control.
[0143] At 2406, the logic can correlate the resistance value with a digitized FSR input value of zero. In other words, resistance detected when an object touches at least one control can be considered a zero force input, meaning that any increase in force applied to the FSR 1300 / 1800 from that point on will correlate with a positive FSR input value. Thus, process 2400 represents a sensor fusion algorithm that helps mitigate the inherent inaccuracies of the FSR 1300 / 1800 - which can measure resistance even when an object is not pressing a control, regardless of recalibration of the control's touch detection.
[0144] FIG. 25 is a flow diagram of an example process 2500 for ignoring spurious inputs in the FSR 1300 / 1800 of a handheld controller 100 / 600 based on touch data provided by a touch sensor for an adjacent control.
[0145] At 2502, logic of the handheld controller 100 / 600 can determine a resistance value measured by the FSR 1300 / 1800 based, at least in part, on force data provided by the FSR 1300 / 1800 associated with a first control (e.g., thumb operated control 116) of the handheld controller.
[0146] At 2504, the logic can convert the resistance value to a digitized FSR input value.
[0147] At 2506, the logic may determine whether the digitized FSR input value meets or exceeds a threshold value that must be met to register an FSR input event for the first control. If the threshold value is not met at 2506, process 2500 follows the "no" route from block 2506 to block 2502 to await additional force data. If the threshold value is met at 2506, process 2500 follows the "yes" route from block 2506 to block 2508.
[0148] At 2508, the logic can determine whether an object (e.g., a finger, thumb, etc.) is in contact with the adjacent second control based at least in part on touch data provided by the touch sensor 2300 associated with a second control adjacent to the first control (e.g., thumb-operated control 114 or 115)--touch data provided when the FSR resistance value is measured by the FSR 1300 / 1800. If the object is not in contact with the adjacent second control, the process 2500 follows a "no" route from block 2508 to block 2510, where the logic registers an FSR input event for the first control (e.g., by activating a binding for the first control). If the object is in contact with the adjacent second control, the process 2500 follows a "yes" route from block 2508 to block 2512.
[0149] At 2512, the logic can refrain from registering an FSR input event for the first control based at least in part on determining that the object is in contact with the second control. Thus, process 2500 represents a sensor fusion algorithm that can be used to ignore spurious inputs in the FSR 1300 / 1800 based on presses of adjacent controls on a handheld controller.
[0150] FIG. 26 is a flow diagram of an example process 2600 for adjusting the FSR input threshold of the FSR 1300 / 1800 based on the hand size detected by the array of proximity sensors 800 in the handle 112 / 612 of the handheld controller 100 / 600.
[0151] At 2602, logic in the handheld controller 100 / 600 can determine the size of a hand gripping the handle 112 / 612 based, at least in part, on proximity data provided by an array of proximity sensors 800 spatially distributed on the handle of the controller 100 / 600. The hand size can be determined from among a number of predefined hand sizes (e.g., small and large, or small, medium, large, etc.).
[0152] In 2604, the logic can adjust the threshold to an adjusted threshold that must be met to register an FSR input event for the handle 112 / 612 based at least in part on the hand size determined in block 2602. The adjusted threshold corresponds to a particular amount of force that can grip the handle 112 / 612. For example, the amount of force can correspond to a measured resistance of the FSR 1300 / 1800 in the handle 112 / 612, which resistance can correspond to a digitized FSR input value. When the user grips the handle, if the digitized FSR input value is equal to or greater than the adjusted threshold, an FSR input event can be registered. Thus, the threshold can be adjusted to a lower value for a user with small hands, while the threshold can be adjusted to a larger value for a user with larger hands, as detected by the array of proximity sensors 800 in block 2602. In some cases, a default threshold can be configured for the controller 100 / 600 before detecting the hand size in block 2602, and the adjustment in block 2604 can be to increase or decrease the threshold relative to the default value.
[0153] 26, process 2600 may include more detailed operations. For example, determining hand size in block 2602 may include sub-blocks 2606 and 2608.
[0154] At 2606, the logic determines the number of proximity sensors in the array of proximity sensors 800 that provided proximity data. For example, a small hand may span only a small subset of the proximity sensors in the array of proximity sensors 800, and the remaining proximity sensors that do not detect the small sized hand may not provide such proximity data. In contrast, a large hand may span the entire array of proximity sensors 800, in which case all (or at least more than a threshold number) of the proximity sensors 800 may provide proximity data.
[0155] At 2608, the logic can determine the hand size based at least in part on the number of proximity sensors (of the array 800) that provided proximity data.
[0156] Further, as indicated by sub-blocks 2610 and 2612, adjusting the thresholds in block 2604 may include adjusting one or more FSR thresholds of the controller 100 / 600.
[0157] For example, at 2610, the logic may adjust a first threshold (associated with the first FSR 1300(1)) that must be met to register an FSR input event for the control 116. At 2612, the logic may additionally or alternatively adjust a second threshold (associated with the second FSR 1300(2)) that must be met to register an FSR input event for the handle 112 / 612.
[0158] 27 is a flow diagram of an example process 2700 for activating and deactivating bindings for control of a handheld controller based on an FSR input value. As indicated by off-page reference "A" in FIG. 27, process 2700 can, but need not, continue from any of processes 2400, 2500, or 2600.
[0159] At 2702, logic in the handheld controller 100 / 600 can initially determine a first digitized FSR input value based, at least in part, on the force data provided by the FSR 1300 / 1800 of the controller 100 / 600. This initial digitized FSR input value can be converted from a first resistance value initially measured by the FSR 1300 / 1800.
[0160] At 2704, the logic can determine whether the first digitized FSR input value meets or exceeds a threshold that must be met to register an FSR input event (e.g., to bind a control associated with the FSR1300 / 1800). If the threshold is not met at 2704, process 2700 follows the "no" route from block 2704 to block 2702, where the logic waits for additional force data. If the threshold is reached at 2704, process 2700 follows the "yes" route from block 2704 to block 2706.
[0161] At 2706, the logic can register an FSR input event (e.g., to activate a binding associated with a control associated with the FSR1300 / 1800) based, at least in part, on the first digitized FSR input value meeting or exceeding a threshold value.
[0162] At 2708, the logic can determine a second digitized FSR input value at a second time after the first time based at least in part on the force data provided by the FSR 1300 / 1800. This second digitized FSR input value can be converted from a second resistance value measured by the FSR 1300 / 1800 at the second time.
[0163] At 2710, the logic may determine whether the second digitized FSR input value is less than the first digitized FSR input value (i.e., whether the FSR input has decreased since the previous measurement by the FSR1300 / 1800). If the second digitized FSR input value is less than the first digitized FSR input value, the process 2700 may follow a "yes" route from block 2710 to block 2712, where the logic may deactivate the binding of the control associated with the FSR1300 / 1800 (which may be thought of as deregistering a previously registered FSR input event, equivalent to a press and hold input). If the second digitized FSR input value is greater than or equal to the first digitized FSR input value at block 2710, the process 2700 may follow a "no" route from block 2710 to block 2708, where the logic may wait for additional force data from the FSR1300 / 1800. Process 2700 may reflect the FSR detection mode shown in and described above in Figure 21. Thus, the threshold evaluated in block 2704 may correspond to the baseline threshold 2102 described with reference to Figure 21.
[0164] 28 is a flow diagram of an example process 2800 for using a time delay to determine whether to ignore a first FSR input of a plurality of thresholds. As indicated by off-page reference "A" in FIG. 28, process 2800 can continue from any of processes 2400, 2500, or 2600, but need not do so.
[0165] At 2802, logic in the handheld controller 100 / 600 can initially determine a first digitized FSR input value based, at least in part, on force data provided by the FSR 1300 / 1800 of the controller 100 / 600. This initial digitized FSR input value can be converted from a first resistance value initially measured by the FSR 1300 / 1800.
[0166] At 2804, the logic can determine whether the first digitized FSR input value meets or exceeds a first threshold (e.g., A1 2202 of FIG. 22) that must be met to register a first FSR input event (e.g., to bind a control associated with FSR1300 / 1800). The first FSR input event can be associated with a first action (e.g., a first game mechanic). If the first threshold is not met at 2804, the process 2800 follows the "no" route from block 2804 to block 2802, and the logic waits for additional force data. If the threshold is reached at 2804, the process 2800 follows the "yes" route from block 2804 to block 2806.
[0167] At 2806, the logic may begin monitoring a predefined period of time (eg, time delay t in FIG. 22).
[0168] At 2808, the logic can determine a second digitized FSR input value at a second time after the first time based at least in part on the force data provided by the FSR 1300 / 1800. This second digitized FSR input value can be converted from a second resistance value measured by the FSR 1300 / 1800 at the second time.
[0169] At 2810, the logic can determine whether the second digitized FSR input value meets or exceeds a second threshold (e.g., A2 2204 in FIG. 22) that must be met to register a second FSR input event (e.g., to bind a control associated with FSR1300 / 1800). The second FSR input event can be associated with a second action (e.g., a second game mechanic) that is different from the first action, and the second threshold is greater than the first threshold. If the second threshold is not met at 2810, the process 2800 follows a "no" route from block 2810 to block 2812, and the logic waits to determine whether a predefined period of time has elapsed (e.g., whether the difference between the second time and the first time is less than the predefined period of time). If the period has not yet elapsed at block 2812, the process 2800 repeats by following a "no" route from block 2812 back to block 2810. If the period of time has elapsed at block 2812 and the second threshold has not been met, process 2800 follows a “yes” route from block 2812 to block 2814, where the logic may register a first FSR input event against a first threshold (which may be associated with a first action or game mechanic, for example).
[0170] If the second threshold is met at 2810, the process 2800 follows a "yes" route from block 2810 to block 2816, where the logic evaluates a predefined time period. If the time period has not yet elapsed at block 2816, the process 2800 follows a "no" route from block 2816 back to block 2818, where the logic refrains from registering the first FSR input event and registers a second FSR input event associated with a second threshold (which may be associated with a second action or game mechanic, for example). If the time period has elapsed and the second threshold has been reached at block 2816, the process 2800 follows a "yes" route from block 2816 to block 2820, where the logic may register both the first FSR input event at the first threshold and the second FSR input event at the second threshold. The process 2800 may reflect the FSR detection mode shown in FIG. 22 and described above.
[0171] FIG. 29 illustrates exemplary components of a handheld controller, such as the controller 100 of FIG. 1, although the components illustrated in FIG. 29 may also be implemented by the controller 600. As illustrated, the handheld controller includes one or more input / output (I / O) devices 2902, such as the controls described above (e.g., joystick, trackpad, triggers, etc.), and potentially any other type of input or output device. For example, the I / O devices 2902 may include one or more microphones for receiving audio input, such as user voice input. In some implementations, one or more cameras or other types of sensors (e.g., inertial measurement units (IMUs)) may function as input devices for receiving gestural input, such as movements of the handheld controller 100. In some embodiments, additional input devices may be provided in the form of a keyboard, keypad, mouse, touch screen, joystick, control buttons, etc. The input devices may further include control mechanisms, such as basic volume control buttons for increasing and decreasing the volume, as well as power and reset buttons.
[0172] Output devices, on the other hand, can include displays, light elements (e.g., LEDs), vibrators for creating tactile sensations, speakers (e.g., headphones), etc. There can also be simple light elements (e.g., LEDs) for indicating a state, such as when the power is on. Although some examples are provided, the handheld controller can additionally or alternatively include any other type of output device.
[0173] Additionally, the handheld controller 100 may include one or more communication interfaces 2904 to facilitate wireless connection to a network and / or one or more remote systems (e.g., a host computing device executing an application, a game console, etc.). The communication interface 2904 may implement one or more of a variety of wireless technologies, such as Wi-Fi, Bluetooth, radio frequency (RF), etc. It should be appreciated that the handheld controller 100 may further include physical ports to facilitate a wired connection to a network, connected peripherals, or plug-in network devices that communicate with other wireless networks.
[0174] In the illustrated embodiment, the handheld controller further includes one or more processors 2906 and a computer readable medium 2908. In some implementations, the processor(s) 2906 may include a central processing unit (CPU), a graphics processing unit (GPU), both a CPU and a GPU, a microprocessor, a digital signal processor, or other processing units or components known in the art. Alternatively or additionally, functions described functionally herein may be performed, at least in part, by one or more hardware logic components. For example, but not limited to, exemplary types of hardware logic components that may be used include field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on a chip (SOCs), complex programmable logic devices (CPLDs), and the like. Additionally, each processor 2906 may have its own local memory that may also store program modules, program data, and / or one or more operating systems.
[0175] In general, a controller may include logic (e.g., software, hardware, and / or firmware, etc.) configured to implement the techniques, functions, and / or operations described herein. Computer-readable medium 2908 may include volatile and non-volatile memory, removable and non-removable media, implemented in any method or technology for storage of information, such as computer-readable instructions, data structures, program modules, or other data. Such memory may include, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVDs) or other optical storage, magnetic cassettes, magnetic tapes, magnetic disk storage or other magnetic storage devices, RAID storage systems, or any other medium that may be used to store the desired information and that may be accessed by a computing device. Computer-readable medium 2908 may be implemented as a computer-readable storage medium ("CRSM"), which may be any available physical medium that is accessible by processor 2906 to execute instructions stored on computer-readable medium 2908. In one basic implementation, the CRSM can include random access memory ("RAM") and flash memory. In other implementations, the CRSM can include, but is not limited to, read only memory ("ROM"), electrically erasable programmable read only memory ("EEPROM"), or any other tangible medium that can be used to store desired information and that can be accessed by the processor 2906.
[0176] Some modules, such as instructions, data stores, etc., can be stored in the computer-readable medium 2908 and configured to execute on the processor 2906. While some example functional modules are shown as being stored in the computer-readable medium 2908 and executed on the processor 2906, the same functions may alternatively be implemented as hardware, firmware, or a system on a chip (SOC).
[0177] The operating system module 2910 can be configured to manage hardware within and coupled to the handheld controller 100 for the benefit of other modules. Additionally, the computer readable medium 2908 can store a network communication module 2912 that enables the handheld controller 100 to communicate with one or more other devices, such as a personal computing device running an application (e.g., a gaming application), a game console, an HMD, a remote server, etc., via the communication interface 2904. The computer readable medium 2908 can further include a game session database 2914 for storing data related to a game (or other application) running on the handheld controller or a computing device to which the handheld controller 100 couples. The computer readable medium 2908 can also include a device record database 2916 that stores data related to a device to which the handheld controller 100 couples, such as a personal computing device, a game console, an HMD, a remote server, etc. The computer readable medium 2908 may further store game control instructions 2918 for configuring the handheld controller 100 to function as a game controller, and universal control instructions 2920 for configuring the handheld controller 100 to function as a controller for other non-gaming devices.
[0178] Unless otherwise indicated, all numbers expressing quantities used in the specification and claims should be understood in all instances to be modified by the term "about". Accordingly, unless indicated to the contrary, the numerical parameters set forth in this specification and the appended claims are approximations that may vary depending on the desired properties sought to be obtained by the present disclosure. At the very least, and not as an attempt to limit the application of the doctrine of equivalents to the scope of the claims, each numerical parameter should be construed by applying ordinary rounding techniques, at least in light of the number of reported significant digits. If further clarification is required, the term "about" has the meaning reasonably ascribed by a person of ordinary skill in the art when used in conjunction with a stated numerical value or range, i.e., indicating some more or some less than the stated value or range, up to within ±20% of the stated value, ±19% of the stated value, ±18% of the stated value, ±17% of the stated value, ±16% of the stated value, ±15% of the stated value, ±14% of the stated value, ±13% of the stated value, ±12% of the stated value, ±11% of the stated value, ±10% of the stated value, ±9% of the stated value, ±8% of the stated value, ±7% of the stated value, ±6% of the stated value, ±5% of the stated value, ±4% of the stated value, ±3% of the stated value, ±2% of the stated value, or ±1% of the stated value.
[0179] Although the subject matter has been described in language specific to structural features and / or methodological acts, the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as example forms of implementing the claims.
[0180] Although the present disclosure is described with reference to certain exemplary embodiments herein, those skilled in the art will recognize that the present disclosure is not limited thereto. It is contemplated that various features and aspects of the present disclosure can be used individually or jointly, possibly in different environments or applications. For example, features shown with respect to a right-hand controller can also be implemented in a left-hand controller, and vice versa. Thus, the specification and drawings should be regarded as descriptive and illustrative, rather than restrictive. For example, the word "preferably" and the phrase "preferably, but not necessarily" are used synonymously herein and consistently include the meaning of "not necessarily" or optional. "Comprises," "includes," and "having" are intended to be open-ended terms. The invention as originally claimed in this application is set forth below. [1] A handheld controller, one or more processors; a controller body including at least one control configured to be pressed; a touch sensor associated with the at least one control and configured to provide touch data to the one or more processors indicative of an object touching the at least one control; a force sensing resistor (FSR) associated with the at least one control and configured to provide force data to the one or more processors indicative of an amount of force of depression of the at least one control; and logic, the logic comprising: determining that the object has contacted the at least one control based at least in part on the touch data provided by the touch sensor; determining a resistance value measured by the FSR based at least in part on the force data provided by the FSR when the object contacts the at least one control; A handheld controller configured to correlate the resistance value with a digitized FSR input value of zero. [2] The handheld controller of [1], wherein the object is a finger or thumb, and the at least one control is located on a head of the controller body and configured to be pressed by the finger or thumb. [3] The handheld controller of [1], wherein the object is part of a hand and the at least one control comprises a handle of the controller body and is configured to be squeezed by the hand. [4] The logic further comprises: determining a second resistance value measured by the FSR based at least in part on the force data provided by the FSR at a first time after the object contacts the at least one control; converting the second resistance value to a second digitized FSR input value; determining that the second digitized FSR input value meets or exceeds a threshold value that must be met to register an FSR input event; 2. The handheld controller of claim 1, further comprising: a first digitized FSR input value that meets or exceeds the threshold; [5] registering the FSR input event activates a binding associated with the at least one control, the logic further comprising: determining a third resistance value measured by the FSR based at least in part on the force data provided by the FSR at a second time after the first time; converting the third resistance value into a third digitized FSR input value; determining that the third digitized FSR input value is less than the second digitized FSR input value; and configured to deactivate the binding based at least in part on the third digitized FSR input value being less than the second digitized FSR input value. [6] The logic further comprises: determining a second resistance value measured by the FSR based at least in part on the force data provided by the FSR at a first time after the object contacts the at least one control; converting the second resistance value to a second digitized FSR input value; determining that the second digitized FSR input value meets or exceeds a first threshold associated with a first FSR input event; determining a third resistance value measured by the FSR based at least in part on the force data provided by the FSR at a second time after the first time; converting the third resistance value into a third digitized FSR input value; determining that the third digitized FSR input value meets or exceeds a second threshold associated with a second FSR input event, the second threshold being greater than the first threshold; determining that a difference between the second time and the first time is less than a predefined period; refraining from registering the first FSR input event; The handheld controller of [1], configured to register the second FSR input event. [7] A handheld controller, one or more processors; a controller body including a first control and a second control adjacent to the first control, the first control and the second control configured to be pressed; a force sensing resistor (FSR) associated with the first control and configured to provide force data to the one or more processors indicative of an amount of force of depression of the first control; a touch sensor associated with the second control and configured to provide touch data to the one or more processors indicative of an object touching the second control; and logic, the logic comprising: determining a resistance value measured by the FSR based at least in part on the force data provided by the FSR; converting said resistance value into a digitized FSR input value; determining that the digitized FSR input value meets or exceeds a threshold that must be met to register an FSR input event of the first control; determining that the object is in contact with the second control based at least in part on the touch data provided by the touch sensor when the FSR resistance value is measured by the FSR; The handheld controller is configured to refrain from registering the FSR input event of the first control based at least in part on determining that the object is in contact with the second control. [8] [7] A handheld controller according to claim 1, wherein the object is a finger or thumb, the first control and the second control are positioned within a threshold distance of each other on a head of the controller body, and the first control and the second control are configured to be pressed by the finger or the thumb. [9] The logic further comprises: determining that the object is no longer in contact with the second control based at least in part on the touch data provided by the touch sensor at a first time after the time the FSR resistance value was measured by the FSR; determining a second resistance value measured by the FSR based at least in part on the force data provided by the FSR at the first time; converting the second resistance value to a second digitized FSR input value; determining whether the second digitized FSR input value meets or exceeds the threshold; [7] The handheld controller of [7], further configured to register the FSR input event of the first control based at least in part on the second digitized FSR input value meeting or exceeding the threshold.
[10] registering the FSR input event activates a binding associated with the first control, the logic further comprising: determining a third resistance value measured by the FSR based at least in part on the force data provided by the FSR at a second time after the first time; converting the third resistance value into a third digitized FSR input value; determining that the third digitized FSR input value is less than the second digitized FSR input value; [9] The handheld controller of [9] , further configured to deactivate the binding based at least in part on the third digitized FSR input value being less than the second digitized FSR input value.
[11] the FSR input event is a first FSR input event, the threshold is a first threshold, and the logic further comprises: determining that the object is no longer in contact with the second control based at least in part on the touch data provided by the touch sensor at a first time after the time the FSR resistance value was measured by the FSR; determining a second resistance value measured by the FSR based at least in part on the force data provided by the FSR at the first time; converting the second resistance value to a second digitized FSR input value; determining that the second digitized FSR input value meets or exceeds the first threshold associated with the first FSR input event; determining a third resistance value measured by the FSR based at least in part on the force data provided by the FSR at a second time after the first time; converting the third resistance value into a third digitized FSR input value; determining that the third digitized FSR input value meets or exceeds a second threshold associated with the second FSR input event, the second threshold being greater than the first threshold; determining that a difference between the second time and the first time is less than a predefined period; refraining from registering the first FSR input event; The handheld controller of [7], further comprising: a second FSR configured to register an input event.
[12] A handheld controller, one or more processors; A controller body including a handle; a force sensing resistor (FSR) associated with the handle and configured to provide force data to the one or more processors indicative of an amount of force applied to the handle; an array of proximity sensors spatially distributed on the steering wheel, the array of proximity sensors configured to provide proximity data indicative of hands gripping the steering wheel to the one or more processors; and logic, the logic comprising: determining a size of the hand among a plurality of predefined sizes based at least in part on the proximity data provided by the array of proximity sensors; a handheld controller configured to adjust a threshold based at least in part on the size of the hand to an adjusted threshold corresponding to a particular amount of gripping force of the steering wheel that must be met to register an FSR input event of the steering wheel.
[13] Determining the size of the hand determining a number of proximity sensors in the array of proximity sensors that provided the proximity data; and determining the size of the hand based at least in part on the number of proximity sensors that provided the proximity data.
[14] the plurality of predefined sizes includes a first size and a second size greater than the first size; a default threshold is associated with the first size or the second size; Adjusting the threshold value increasing the default threshold to the adjusted threshold associated with the second size, the adjusted threshold being greater than the default threshold; or and reducing the default threshold to the adjusted threshold associated with the first size, the adjusted threshold being smaller than the default threshold.
[15] the controller body includes at least one control configured to be pressed by a finger or thumb; the handheld controller further comprising a second FSR associated with the at least one control and configured to provide second force data to the one or more processors, the second force data indicating an amount of force of a press of the at least one control;
[12] The handheld controller of
[12] , wherein the logic is further configured to adjust the second threshold to a second adjusted threshold corresponding to a particular amount of force of the press of the at least one control that must be met to register a second FSR input event of the at least one control based at least in part on the size of the hand.
[16] The handheld controller of
[15] , wherein the at least one control is a thumb-operated control included in a head of the controller body and configured to be pressed by the thumb.
[17] The logic further comprises: determining a resistance value measured by the FSR based at least in part on the force data provided by the FSR at a first time after adjusting the threshold to the adjusted threshold; converting said resistance value into a digitized FSR input value; determining whether the digitized FSR input value meets or exceeds the adjusted threshold; The handheld controller of
[12] , further configured to register the FSR input event based at least in part on the digitized FSR input value meeting or exceeding the adjusted threshold.
[18] registering the FSR input event activates a binding associated with the handle, the logic further comprising: determining a second resistance value measured by the FSR based at least in part on the force data provided by the FSR at a second time after the first time; converting the second resistance value to a second digitized FSR input value; determining that the second digitized FSR input value is less than the digitized FSR input value; The handheld controller of
[17] , further configured to deactivate the binding based at least in part on the second digitized FSR input value being less than the digitized FSR input value.
[19] The logic further comprises: determining a resistance value measured by the FSR based at least in part on the force data provided by the FSR at a first time after adjusting the threshold to the adjusted threshold; converting the resistance value into a first digitized FSR input value; determining that the first digitized FSR input value meets or exceeds the adjusted threshold associated with the FSR input event; determining a second resistance value measured by the FSR based at least in part on the force data provided by the FSR at a second time after the first time; converting the second resistance value to a second digitized FSR input value; determining that the second digitized FSR input value meets or exceeds a second threshold value associated with a second FSR input event, the second threshold value being greater than the adjusted threshold value; determining that a difference between the second time and the first time is less than a predefined period; Withholding the registration of said FSR input event; The handheld controller of
[12] , configured to register the second FSR input event.
[20]
[12] The handheld controller of
[12] , wherein the handheld controller is associated with a virtual reality (VR) gaming system.
Claims
1. one or more processors; a handheld controller having a controller body; Memory for storing computer-executable instructions and In a virtual reality (VR) electronic system comprising: The controller body includes: a handle configured to be grasped by a user's hand; a head coupled to the handle at a neck region; at least one control on the head of the controller body configured to be depressed by the thumb of the hand; a first force sensing resistor (FSR) mounted inside the handle and configured to provide first force data to the one or more processors indicative of a first amount of force with which the handle is squeezed by the hand; a second force sensing resistor (FSR) mounted within the head of the controller body and positioned below the at least one control and configured to provide second data to the one or more processors indicative of a second amount of force with which the at least one control is pressed by the thumb; an array of proximity sensors spatially distributed on the steering wheel, the array of proximity sensors configured to provide proximity data to the one or more processors indicative of hands gripping or proximate to the steering wheel; having The instructions, when executed by the one or more processors, cause the one or more processors to: determining a size of a hand gripping the handle based at least in part on a number of the array of proximity sensors that provided the proximity data; configured to adjust the first threshold or the second threshold based at least in part on the size of the hand to generate a first adjusted threshold or a second adjusted threshold; the first adjusted threshold corresponds to a first particular amount of force of squeezing the steering wheel to result in the first FSR input event that must be met to register a first FSR input event of the steering wheel; the second adjusted threshold must be met in order to register a second FSR input event of the at least one control and corresponds to a second specific amount of force of the at least one control to result in the second FSR input event. system.
2. Determining the size of the hand determining a number of proximity sensors in the array of proximity sensors that provided the proximity data; and determining the size of the hand based at least in part on the number of the proximity sensors that provided the proximity data.
3. the size is determined from among a plurality of predefined sizes including a first size and a second size greater than the first size; the threshold corresponds to a default threshold associated with the first size or the second size; Adjusting the threshold value increasing the default threshold to the adjusted threshold associated with the second size, the adjusted threshold being greater than the default threshold; or and reducing the default threshold to the adjusted threshold associated with the first size, the adjusted threshold being less than the default threshold.
4. the first FSR is associated with the handle; The system of claim 1 , wherein the adjusted threshold corresponds to the particular amount of force in the grip of the steering wheel to result in an FSR input event for the steering wheel.
5. the second FSR is associated with the control; The system of claim 1 , wherein the adjusted threshold corresponds to the amount of the particular depression of the control to result in an FSR input event of the control.
6. The system of claim 1 , wherein the control is a thumb-operated control included in a head of the controller body and configured to be depressed by the thumb of the hand.
7. the head is coupled to the handle at a neck region; The FSR is mounted within the handle; or The system of claim 6 , wherein the system is mounted within the head and disposed below the control.
8. The computer-executable instructions, when executed by the one or more processors, further cause the one or more processors to: determining a resistance value measured by the FSR based at least in part on force data provided by the FSR at a first time after adjusting the threshold to generate the adjusted threshold; converting said resistance value into a digitized FSR input value; determining whether the digitized FSR input value meets or exceeds the adjusted threshold; The system of claim 1 , configured to register the FSR input event based at least in part on the digitized FSR input value meeting or exceeding the adjusted threshold.
9. The computer-executable instructions, when executed by the one or more processors, further cause the one or more processors to: determining a resistance value measured by the FSR based at least in part on first force data provided by the FSR at a first time after adjusting the threshold to produce the adjusted threshold; converting the resistance value into a first digitized FSR input value; determining that the first digitized FSR input value meets or exceeds the adjusted threshold associated with the FSR input event; determining a second resistance value measured by the FSR based at least in part on second force data provided by the FSR at a second time after the first time; converting the second resistance value to a second digitized FSR input value; determining that the second digitized FSR input value meets or exceeds a second threshold value associated with a second FSR input event, the second threshold value being greater than the adjusted threshold value; determining that a difference between the second time and the first time is less than a predefined period; Withholding the registration of said FSR input event; The system of claim 1 , configured to register the second FSR input event.
10. The system of claim 1 , wherein the system is a virtual reality (VR) gaming system.
11. One or more processors; a handheld controller having a controller body; a memory for storing computer-executable instructions; 1. A computer-implemented method for a computer-implemented virtual reality (VR) electronic system comprising: The controller body includes: a handle configured to be grasped by a user's hand; a head coupled to the handle at a neck region; at least one control on the head of the controller body configured to be depressed by the thumb of the hand; a first force sensing resistor (FSR) mounted inside the handle and configured to provide first force data to the one or more processors indicative of a first amount of force with which the handle is squeezed by the hand; a second force sensing resistor (FSR) mounted within the head of the controller body and positioned below the at least one control and configured to provide second data to the one or more processors indicative of a second amount of force with which the at least one control is pressed by the thumb; an array of proximity sensors spatially distributed on the steering wheel, the array of proximity sensors configured to provide proximity data to the one or more processors indicative of hands gripping or proximate to the steering wheel; having Executing the instructions by the one or more processors to cause the one or more processors to determining a size of a hand gripping the handle based at least in part on a number of the array of proximity sensors that provided the proximity data; adjusting the first threshold or the second threshold based at least in part on the size of the hand to generate a first adjusted threshold or a second adjusted threshold. the first adjusted threshold corresponds to a first particular amount of force of squeezing the steering wheel to result in the first FSR input event that must be met to register a first FSR input event of the steering wheel; the second adjusted threshold must be met in order to register a second FSR input event of the at least one control and corresponds to a second specific amount of force of the at least one control to result in the second FSR input event. method.
12. Determining the size of the hand determining a number of proximity sensors in the array of proximity sensors that provided the proximity data; and determining the size of the hand based at least in part on the number of the proximity sensors that provided the proximity data.
13. the size is determined from among a plurality of predefined sizes including a first size and a second size greater than the first size; the threshold corresponds to a default threshold associated with the first size or the second size; The adjustment of the threshold value includes: increasing the default threshold to the adjusted threshold associated with the second size, the adjusted threshold being greater than the default threshold; or and reducing the default threshold to the adjusted threshold associated with the first size, the adjusted threshold being less than the default threshold.
14. the adjusted threshold is associated with a first FSR associated with the handle; the handheld controller includes a second SFR associated with the control; the control is configured to be pressed by a finger or thumb; The method further comprises:
12. The method of claim 11, further comprising adjusting a second threshold associated with a second FSR to a second adjusted threshold corresponding to a second threshold of pressing of the control to register a second FSR input event for the control based at least in part on the size of the hand.
15. the adjusted threshold is associated with an FSR of the handheld controller; The method further comprises: determining a resistance value measured by the FSR based at least in part on force data provided by the FSR at a first time after adjusting the threshold to the adjusted threshold; converting said resistance value into a digitized FSR input value; determining whether the digitized FSR input value meets or exceeds the adjusted threshold; The method of claim 11 comprising registering the FSR input event based at least in part on the digitized FSR input value meeting or exceeding the adjusted threshold value.
16. the adjusted threshold is associated with an FSR of the handheld controller; The method further comprises: determining a resistance value measured by the FSR based at least in part on first force data provided by the FSR at a first time after adjusting the threshold to the adjusted threshold; converting the resistance value into a first digitized FSR input value; determining that the first digitized FSR input value meets or exceeds the adjusted threshold associated with the FSR input event; determining a second resistance value measured by the FSR based at least in part on second force data provided by the FSR at a second time after the first time; converting the second resistance value to a second digitized FSR input value; determining that the second digitized FSR input value meets or exceeds a second threshold value associated with a second input event, the second threshold value being greater than the adjusted threshold value; determining that a difference between the second time and the first time is less than a predefined period; Withholding the registration of said FSR input event; The method of claim 11 , further comprising registering the second input event.
17. A method for detecting a signal from one or more processors, comprising: a handheld controller having a controller body; One or more non-transitory computer-readable media storing computer-executable instructions included in a virtual reality (VR) electronic system comprising: The controller body includes: a handle configured to be grasped by a user's hand; a head coupled to the handle at a neck region; at least one control on the head of the controller body configured to be depressed by the thumb of the hand; a first force sensing resistor (FSR) mounted inside the handle and configured to provide first force data to the one or more processors indicative of a first amount of force with which the handle is squeezed by the hand; a second force sensing resistor (FSR) mounted within the head of the controller body and positioned below the at least one control and configured to provide second data to the one or more processors indicative of a second amount of force with which the at least one control is pressed by the thumb; an array of proximity sensors spatially distributed on the steering wheel, the array of proximity sensors configured to provide proximity data to the one or more processors indicative of hands gripping or proximate to the steering wheel; having The instructions, when executed by the one or more processors, cause the one or more processors to: determining a size of a hand gripping the handle based at least in part on a number of the array of proximity sensors that provided the proximity data; configured to adjust the first threshold or the second threshold based at least in part on the size of the hand to generate a first adjusted threshold or a second adjusted threshold; the first adjusted threshold corresponds to a first particular amount of force of squeezing the steering wheel to result in the first FSR input event that must be met to register a first FSR input event of the steering wheel; the second adjusted threshold must be met in order to register a second FSR input event of the at least one control and corresponds to a second specific amount of force of the at least one control to result in the second FSR input event. Medium.
18. Determining the size of the hand determining a number of proximity sensors in the array of proximity sensors that provided the proximity data; and determining the size of the hand based at least in part on the number of the proximity sensors that provided the proximity data.
19. the size is determined from among a plurality of predefined sizes including a first size and a second size greater than the first size; the threshold corresponds to a default threshold associated with the first size or the second size; The adjustment of the threshold value includes: increasing the default threshold to the adjusted threshold associated with the second size, the adjusted threshold being greater than the default threshold; or and reducing the default threshold to the adjusted threshold associated with the first size, the adjusted threshold being less than the default threshold.
20. the control is included in one head of the handheld controller; the head is coupled to the handle at a neck region; The FSR is mounted within the handle; or The medium of claim 17 , wherein the medium is mounted within the head and disposed below the control.
Citation Information
Patent Citations
Pressure-sensitive sensor and method of detecting pressing force of pressure-sensitive sensor
JP2003090773A
handheld computer interactive device
JP2005537596A
Program, information storage medium, game device and server system
JP2012249978A
Grip sensor
JP2015232542A
Vigilance monitoring technique for vehicle operators
US20070080816A1