Sensor fusion algorithm for handheld controllers including force sensing resistors (FSRs)
Polyimide-substrate FSRs with a sensor fusion algorithm address VR controller limitations by providing precise, cost-effective, and ergonomic force sensing for enhanced interaction in VR systems.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- VALVE CORPORATION
- Filing Date
- 2025-01-09
- Publication Date
- 2026-05-15
AI Technical Summary
Existing VR system controllers using force-sensing resistors (FSRs) face issues such as coarse response curves, large footprints due to bulky connectors, and inability to withstand high manufacturing temperatures, limiting miniaturization and increasing costs.
The use of a polyimide substrate for the FSR, allowing direct soldering without bulky connectors and enabling high-temperature manufacturing, along with a sensor fusion algorithm to enhance response accuracy and adapt to user hand size and grip strength.
The polyimide-based FSRs provide a smooth, analog force-to-resistance response, reducing user fatigue and manufacturing costs while enabling more natural interactions and precise control in VR systems.
Smart Images

Figure 0007860280000001 
Figure 0007860280000002 
Figure 0007860280000003
Abstract
Description
Cross - reference to related applications
[0001] This is a PCT application claiming priority from U.S. Provisional Patent Application No. 62 / 520,958, filed on June 16, 2017, which in turn claims priority as a partial continuation of U.S. Patent Application No. 29 / 580,635, filed on October 11, 2016, which in turn claims priority as a partial continuation of U.S. Patent Application No. 15 / 679,521, titled "Electronic Controller with Hand Grip and Finger Motion Sensing", filed on August 17, 2017, which in turn claims priority as a partial continuation of the pending U.S. Patent Application No. 15 / 834,372, titled "Electronic Controller by Finger Sensing and Adjustable Hand Grip", filed on December 7, 2017, which in turn claims priority from U.S. Patent Application No. 15 / 984,245, titled "Sensor Fusion Algorithm for Handheld Controllers Containing Force Sensing Resistors (FSR)", filed on May 18, 2018, and all of these are incorporated by reference in their entirety.
Background Art
[0002] The video game industry has become large and important, generating many innovations in both software and related hardware. Various handheld video game controllers have been designed, manufactured, and sold for different game 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 modern great interest and rapid technological progress both inside and outside the video game industry. VR system controllers need to perform several different functions and often need to meet strict (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 grasping, throwing, and squeezing as closely as possible. In efforts to achieve this objective, various types of sensors have been utilized, including, among others, force-sensing resistors (FSRs) that use a variable resistor to measure the amount of force applied to the FSR. However, existing controllers with FSRs tend to exhibit fairly coarse response curves (e.g., force vs. resistance response curves) due to the materials used in their construction, which is useful when they are merely binary (e.g., on / off) switches. This is undesirable in VR systems. Furthermore, Mylar-based FSRs require large, bulky header connectors, which means the FSR has a large footprint, making miniaturization difficult and preventing direct soldering to other components. Yet another drawback of using Mylar to construct FSRs is that they cannot withstand the high temperatures of reflow ovens, which limits ways to reduce the manufacturing cost of Mylar-based FSRs. It is also known to construct FSRs using printed circuit boards (PCBs) as the base board instead of using Mylar for the base board. However, since PCB substrates also exhibit rough (and sometimes non-monotonic) response curves, these types of FSRs are unsuitable for VR applications. Therefore, there is a need in this field for improved controller designs that can enhance VR systems and / or make user operation easier. [Brief explanation of the drawing]
[0004] [Figure 1] Figure 1 shows a controller according to an exemplary embodiment of the present disclosure, with the hand retainer in the open position.
[0005] [Figure 2] Figure 2 shows the controller from Figure 1 in the user's open hand, with the palm facing upwards.
[0006] [Figure 3]Figure 3 shows the controller from Figure 1 in the user's closed hand.
[0007] [Figure 4] Figure 4 shows the controller from Figure 1 in the user's hand with the palm facing down.
[0008] [Figure 5] Figure 5 shows a pair of controllers according to an exemplary embodiment of the present disclosure, with the hand retainers in the open position.
[0009] [Figure 6A] Figure 6A shows a front view of a right-hand controller according to another exemplary embodiment of the present disclosure.
[0010] [Figure 6B] Figure 6B shows a rear view of the right-hand controller shown in Figure 6A.
[0011] [Figure 7A] Figure 7A shows a window for an infrared sensor according to one embodiment of the present disclosure.
[0012] [Figure 7B] Figure 7B shows a window for an infrared sensor according to another embodiment of the present disclosure.
[0013] [Figure 8] Figure 8 shows a side view of the right-hand controller from Figure 6A, where the outer shell partially enclosing the tubular housing of the controller handle has been disassembled, revealing the instrumentation on its inner surface.
[0014] [Figure 9A] Figure 9A shows a cross-section of the right-hand controller from Figure 6A, with the outer shell partially enclosing the tubular housing of the controller's handle disassembled.
[0015] [Figure 9B] Figure 9B shows a cross-section of Figure 9A, except that the outer shell is attached to its normal operating position.
[0016] [Figure 10A] Figure 10A shows a front view of a right-handed controller according to another exemplary embodiment of the present disclosure, with a partially closed handle retainer.
[0017] [Figure 10B] Figure 10B shows a front view of the controller of Figure 10A, except that the handle retainer is fully open.
[0018] [Figure 11A] Figure 11A shows a front view of the head and handle components of a controller, including a handle retainer anchor that can move around the head, according to an exemplary embodiment of the present disclosure.
[0019] [Figure 11B] Figure 11B shows the head and handle components of Figure 11A, except that the face plate is removed from the head, exposing a lockable collar portion that allows for selective adjustment of the handle retainer anchor around the head.
[0020] [Figure 12A] Figure 12A shows a partially assembled controller according to an alternative embodiment of the present disclosure, with the handle retainer component removed.
[0021] [Figure 12B] Figure 12B shows an enlarged view of the channel features of the controller of Figure 12A.
[0022] [Figure 12C] Figure 12C is a cross-sectional view of the channel shown in Figure 12B.
[0023] [Figure 13A] Figure 13A shows a force sensing resistor (FSR) according to an exemplary embodiment of the present disclosure.
[0024] [Figure 13B] Figure 13B shows a front view of the FSR shown in Figure 13A.
[0025] [Figure 13C] Figure 13C shows a cross-section of the FSR in Figure 13B, taken along cross-section AA, where the cross-section shows the first substrate made of polyimide.
[0026] [Figure 14] Figure 14 shows various front views of the FSR at different stages in an exemplary process for constructing the FSR.
[0027] [Figure 15] Figure 15 shows an exemplary layer of FSR according to another embodiment of the present disclosure. Figure 15 is not to scale. Rather, Figure 15 is presented to illustrate an exemplary layer of the material and is not intended to represent an actual cross-sectional view of the FSR.
[0028] [Figure 16] Figure 16 shows an exemplary layer of FSR according to another embodiment of the present disclosure. Figure 16 is not to scale. Rather, Figure 16 is presented to illustrate an exemplary layer of the material and is not intended to represent an actual cross-sectional view of the FSR.
[0029] [Figure 17] Figure 17 shows an exemplary layer of FSR according to another embodiment of the present disclosure. Figure 17 is not to scale. Rather, Figure 17 is presented to illustrate an exemplary layer of the material and is not intended to represent an actual cross-sectional view of the FSR.
[0030] [Figure 18A] Figure 18A shows a front view of the FSR before the folding step to form the complete FSR, according to another embodiment of the present disclosure.
[0031] [Figure 18B] Figure 18B shows a front view of the FSR in Figure 18A after the folding step has been performed.
[0032] [Figure 18C] Figure 18C shows a cross-section of the FSR in Figure 18A, taken along section BB.
[0033] [Figure 18D] Figure 18D shows an exemplary layer of the FSR in Figure 18A. Figure 18D is not to scale. Rather, Figure 18D is presented to illustrate an exemplary layer of the material and is not intended to represent an actual cross-sectional view of the FSR.
[0034] [Figure 19] Figure 19 is a flowchart of a sample process for manufacturing FSR.
[0035] [Figure 20] Figure 20 shows an example of a user interface (UI) that can be used to configure the controller's FSR-based input mechanism so that the electronic system operates in various pressure modes.
[0036] [Figure 21] Figure 21 shows a force-to-time graph illustrating a "hair trigger" style of soft press for FSR-based input.
[0037] [Figure 22] Figure 22 shows a force-to-time graph illustrating a "hipfire" style of soft press for FSR-based input.
[0038] [Figure 23] Figure 23 shows the controller from Figure 1, which has various sensors located inside the controller body.
[0039] [Figure 24] Figure 24 is a flowchart illustrating an example process for recalibrating the FSR of a handheld controller based on touch data provided by a touch sensor.
[0040] [Figure 25] Figure 25 is a flowchart illustrating an example process for ignoring false inputs in the FSR of a handheld controller based on touch data provided by the touch sensors of adjacent controls.
[0041] [Figure 26] Figure 26 is a flowchart illustrating an example process for adjusting the FSR input threshold of a handheld controller based on the hand size detected by an array of proximity sensors in the handle.
[0042] [Figure 27] Figure 27 is a flowchart illustrating an example process for activating and deactivating control bindings of a handheld controller based on FSR input values.
[0043] [Figure 28] Figure 28 is a flowchart of an example process for determining whether to ignore the first FSR input of multiple thresholds using a time delay.
[0044] [Figure 29] Figure 29 shows exemplary components of a handheld controller, such as the controller shown in Figure 1. [Modes for carrying out the invention]
[0045] Described herein is a force-sensing resistor (FSR) comprising, in particular, a first polyimide substrate placed beneath a second resistive and flexible substrate. The first substrate has a conductive material (e.g., a plurality of interlocking metal fingers) positioned on its front surface. One or more spacer layers are also inserted between the first and second substrates so that the central portion of the second substrate is suspended on the first substrate. An actuator is positioned on the second substrate and transmits the applied force to the front surface of the second substrate. When this occurs, the central portion of the second substrate bends inward toward the first substrate, and a portion of the resistive material on the back surface of the second substrate comes into contact with 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 in contact with the resistive material increases. Similarly, as the applied force decreases, the surface area of the conductive material in contact with the resistive material 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 to the polyimide material used in the first substrate, at least in part, the disclosed FSR exhibits desirable properties for use in VR system controllers, among other possible end applications. For example, using a polyimide substrate allows for the selective direct soldering of the FSR's output terminals (or leads) to the substrate (e.g., PCB) without the need for bulky header connectors, thereby reducing the footprint of the FSR compared to Mylar-based FSRs, which require large and bulky header connectors. Because polyimide is commonly used as a material of choice for flexible circuits, using a polyimide substrate for the FSR allows for easy connection of the FSR to other flexible circuits, reducing the manufacturing cost of the disclosed FSR compared to the manufacturing cost of conventional FSRs. Polyimide can also withstand high temperatures, such as in reflow ovens, opening the door to cost-saving manufacturing processes. Furthermore, when used as the first substrate for the disclosed FSR, polyimide exhibits desirable properties such as lower hysteresis and higher reproducibility compared to conventional FSRs. Overall, the disclosed FSR having a first substrate made of polyimide exhibits a force-to-resistance response curve that models a true analog input, making the FSR desirable for use in controllers of VR systems.
[0047] Also disclosed herein is a controller for an electronic system (e.g., a VR system) comprising a disclosed FSR having a first substrate made of polyimide. The controller may be configured to be held by the user's hand and may include a controller body. The disclosed FSR may be mounted on a plane of a structure within the controller body, such as a structure mounted within the handle of the controller body, or a structure mounted below at least one thumb-operated controller included in the head of the controller body. When implemented in a controller of an electronic system, the FSR is configured to measure a resistance value corresponding to the amount of force applied to a relevant part of the controller (e.g., force applied to the outer surface of the handle to at least one thumb-operated control).
[0048] Implementing FSRs in VR system controllers allows for the expansion of the spectrum of natural interactions beyond the current state, using conventional controllers. For example, an electronic system and / or controller can determine, via the FSR, the force with which a user grips the controller handle and / or the force with which a user presses a thumb-operated control. Since the disclosed FSR exhibits a desirable response curve, such a controller can translate various force presses or squeezes into various digitized values that a video game can use to control game mechanics (e.g., to break rocks, to compress balloons, to switch weapons available to a game character). An FSR with desirable response characteristics can replace conventional mechanical switches to reduce user fatigue and / or to mitigate accidental activation 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 the user frequently presses a control associated with the FSR to fire a weapon during gameplay). Conversely, to reduce instances of accidental control input, the threshold can be adjusted to a higher value, which can be useful in thrilling or exciting games where users are likely to react to the stimuli of the video game.
[0049] Disclosed herein is a handheld controller that includes logic for implementing a sensor fusion algorithm based on force data provided by the controller's FSR in combination with touch data or proximity data provided by an array of touch sensors or proximity sensors, respectively. Using an example of the sensor fusion algorithm, the FSR can be recalibrated when an object comes into contact with a control associated with the FSR, as detected by a touch sensor. For example, the logic can determine, based on touch data provided by a touch sensor, that an object has come into contact with a control on a controller body configured to be pressed. The logic can also determine a resistance value measured by the FSR based on the force data provided by the FSR when the object comes into contact with the control, and when a touch on the control is detected, the resistance value can be correlated with a digitized zero FSR input value in order to "recalibrate" the FSR.
[0050] Using another example of a sensor fusion algorithm, false inputs detected by the FSR when an object is in contact with an adjacent control can be ignored. For example, logic can determine, based on force data provided by the FSR, the resistance value measured by the FSR that corresponds to a digitized FSR input value that meets or exceeds a threshold 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 touch data provided by a touch sensor when the FSR resistance value is measured by the FSR, that the object is in contact with a second control of the handheld controller 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] Using another exemplary sensor fusion algorithm, the hand size of the hand gripping the controller handle can be detected by an array of proximity sensors, and the threshold force for registering an FSR input event in the FSR can be adjusted according to the hand size. This can help simplify force-based input for users with small hands (and make it more difficult, but not impossible, for users with large 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 for the handle.
[0052] Figures 1 to 4 show a controller 100 for an electronic system according to an exemplary embodiment of the present disclosure. The controller 100 can be used by electronic systems such as VR video game systems, robots, weapons, or medical devices. The controller 100 may 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 which may be substantially cylindrical as needed. In this context, the substantially cylindrical shape does not need to have a constant diameter or a perfectly circular cross-section.
[0053] In the embodiments shown in Figures 1 to 4, the controller body 110 may include a head (between the handle 112 and the distal end 111) which may optionally include one or more thumb-operated controls 114, 115, 116. For example, a tilt button, or other buttons, knobs, wheels, joysticks, or trackballs can be considered thumb-operated controls if they can be conveniently operated by the user's thumb during normal operation while the controller 100 is held in the user's hand.
[0054] The controller 100 preferably includes a tracking member 130 fixed to the controller body 110, and optionally includes two noses 132, 134 projecting from one of two opposing distal ends of the tracking member 130. In the embodiments of Figures 1 to 4, the tracking member 130 is preferably, but not necessarily, a curved tracking arc. The tracking member 130 preferably includes a plurality of tracking transducers arranged therein, each comprising at least one tracking transducer located at each projecting nose 132, 134. Additional tracking transducers may also be located in the controller body 110, preferably at least one distal tracking transducer located adjacent to the distal end 111.
[0055] The aforementioned tracking transducers can be tracking sensors that respond to electromagnetic radiation (e.g., infrared) emitted by an electronic system, or tracking beacons that emit electromagnetic radiation (e.g., infrared) that is received by an electronic system. For example, the electronic system can be a VR game system that broadly broadcasts pulsed infrared light toward the controller 100, i.e., paints, using multiple tracking transducers of a tracking member 130, which are infrared sensors capable of receiving or blocking broadcasted pulsed infrared light. The tracking transducers of each nose 132, 134 (e.g., three sensors per nose) preferably protrude into the user's hand at each distal end of the tracking member 130 and are therefore better exposed (around the user's hand) to receive or transmit electromagnetic radiation emitted by the electronic system at a greater angle without an unacceptable amount of obstruction.
[0056] Preferably, the tracking member 130 and the controller body 110 are made of a substantially rigid material such as hard plastic and are firmly fixed together so that they do not translate or rotate relative to each other to a degree that they can be detected. In this way, tracking the translation and rotation of the constellation of tracking transducers in space is preferably not complicated by the movement of the tracking transducers relative to each other. For example, as shown in Figures 1 to 4, the tracking member 130 can be fixed to the controller body 110 by coupling to the controller body 110 at two locations. A hand retainer 120 can be attached to a controller 100 (either the controller body 110 or the tracking member 130) adjacent to these two locations to bias the user's palm 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 not be assembled as a single unit, but rather may include a monolithic component with material continuity. For example, the tracking member 130 and the controller body 110 may be molded together in a single injection molding process step, resulting in a single monolithic component comprising both the tracking member 130 and the controller body 110. Alternatively, the tracking member 130 and the controller body 110 may be manufactured separately first and then assembled together. In either case, the tracking member 130 can be considered fixed to the controller body 110.
[0058] The hand retainer 120 is shown in the open position in Figure 1. The hand retainer 120 can be biased to the open position by a curved elastic member 122 if necessary, when the user is gripping a controller that obstructs their view with VR goggles, to facilitate insertion of the user's left hand between the hand retainer 120 and the controller body 110. For example, the curved elastic member 122 may be an elastically bendable flexible metal strip or may include an alternative plastic material such as nylon that can be substantially elastically bendable. The curved elastic member 122 may be partially or completely enclosed in or covered by a cushion or fabric material 124 (e.g., a neoprene sheath) if necessary for user comfort. Alternatively, the cushion or fabric material 124 may be placed (e.g., bonded) only on the side of the curved elastic member 122 facing the user's hand.
[0059] The hand retainer 120 can be adjusted in length as needed, for example, by including a drawcord 126 that is tightened by a spring-biased chock 128. The drawcord 126 may have an extra length that can be used as a strap as needed. A sheath 124 may be attached to the drawcord as needed. In certain embodiments, a 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 imparts to the hand retainer 120 (to bias it to the open position) causes the hand retainer to automatically release when the drawcord 126 is not tightened. The disclosure also considers alternative conventional methods for adjusting the length of the hand retainer 120, such as cleats, elastic bands (which stretch temporarily when a hand is inserted and apply elastic tension to press against the back of the hand), and length-adjustable hook and loop strap attachments.
[0060] The hand retainer 120 can be positioned between the handle 112 and the tracking member 130 and configured to contact the back of the user's hand. Figure 2 shows the controller 100 in operation with the user's left hand inserted but not gripping the controller body 110. In Figure 2, the hand retainer 120 is closed and tightened over the hand, physically biasing the user's palm against the outer surface of the handle 112. In this way, the hand retainer 120 can hold the controller 100 in the hand even when the hand is not gripping the controller body 110 when closed. Figures 3 and 4 show the controller 100 in operation with the hand retainer 120 closed, the hand gripping the controller body 110, and the thumb operating one or more thumb-operated controls (e.g., trackpad 116).
[0061] The handle 112 of the controller body 110 preferably includes an array of proximity sensors partially or completely spatially distributed around its outer surface. The array may include a grid, but the proximity sensors in the array do not necessarily have to be of equal size, nor are the spacings between them necessarily equal. The array of proximity sensors preferably responds to the proximity of the user's fingers to the outer surface of the handle 112. For example, the array of proximity sensors may be a plurality of capacitive sensors embedded beneath the outer surface of the handle 112, the outer surface of which includes an electrically insulating material. The capacitance between such an array of capacitive sensors and a part of the user's hand is inversely proportional to the distance between them. The capacitance can be detected by connecting an RC oscillator circuit to the elements of the capacitance sensor array, and it should be noted that the time constant of the circuit (and therefore the period and frequency of oscillation) changes with the capacitance. In this way, the circuit can detect the release of the user's fingers from the outer surface of the handle 112.
[0062] When the hand retainer 120 (e.g., a hand retention strap) is securely closed, it can help not only prevent the controller 100 from falling from the hand, but also prevent the fingers from excessively translating relative to the proximity sensor array of the handle 112, in order to more reliably detect finger movements. The electronic system may include algorithms that embody anatomically possible finger movements and better utilize detections from the proximity sensor array to render opening, pointing, or other finger movements of the controlled character's hand toward or toward the controller. In this way, the user's movements of the controller 100 and / or fingers can be used to control a VR game system, defense system, medical system, industrial robot or machine, or another device. In VR system applications (e.g., games, training, etc.), the system can render throwing motions based on the movement of the tracking transducer and the release of the thrown object based on the detected release of the user's fingers from the outside of the controller's handle.
[0063] Therefore, the function of the hand retainer 120 (to enable 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 functions of the controlled electronic system. For example, if the user's release and recovery of 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 grasped (e.g., in VR). The hand retainer 120 can enable such functions to be achieved repeatedly and safely. For example, the position of the hand retainer 120 in the embodiments of Figures 1 to 4 allows the tracking member 130 to help protect the back of the user's hand from impacts in the real world when the user moves in response to a prompt detected in the VR environment (e.g., while substantially blinded by VR goggles).
[0064] In certain embodiments, the controller 100 may include a rechargeable battery located within the controller body 110, and the hand retainer 120 (e.g., a hand retention strap) may include conductive charging wires electrically coupled to the rechargeable battery. The controller 100 also preferably includes a radio frequency (RF) transmitter for communicating with the rest of the electronic system. Such an RF transmitter may be powered by the rechargeable battery and may respond to 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] As shown in Figure 5, in certain embodiments, controller 100 may be the left controller in a pair of controllers, including a similar right controller 200. In certain embodiments, controllers 100 and 200 may simultaneously track the movements and grasps of the user's hands, for example, to enhance the VR experience.
[0066] Figure 6A shows a front view of a right-hand controller 600 according to another exemplary embodiment of the present disclosure. Figure 6B shows a rear view of the right-hand controller 600. The controller 600 has a controller body comprising a head 610 and a handle 612. In the embodiments of Figures 6A to 6B, the head 610 may also include at least one thumb-operated control A, B, 608 and a control configured to be operated by an index finger (e.g., a trigger 609). The handle 612 comprises a tubular housing partially encased by an outer shell 640.
[0067] In the embodiments shown in Figures 6A and 6B, the tracking member 630 is fixed to the controller body at the ends of the head 610 and handle 612. The hand retainer 620 is configured to physically bias the user's palm against the outer shell 640 between the head 610 and the ends of the handle 612. The hand retainer 620 may preferably include a hand retention strap positioned between the handle 612 and the tracking member 630, which is adjustable in length and configured to contact the back of the user's hand. In the embodiments shown in Figures 6A and 6B, the hand retainer 620 may optionally include a draw cord 628, which may optionally be adjustable in length by a cord lock 626 (adjacent to the distal end of the handle 612) that selectively prevents sliding movement of the draw cord 628 at the location of the cord lock 626.
[0068] In the embodiments shown in Figures 6A and 6B, the tracking transducers 632 and 633 are positioned on the tracking member 630, with the tracking transducer 633 positioned on the protruding nose of the opposing distal end of the tracking member 630. An additional tracking transducer 634 is positioned in the distal region of the head 610, if necessary. The 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 game system), or tracking beacons that emit electromagnetic radiation (e.g., infrared) that is received by an electronic system. For example, the electronic system could be a VR game system that broadly broadcasts pulsed infrared light toward the controller 600, i.e., paints, using tracking transducers 632, 633, and 634, which are infrared sensors capable of receiving broadcast pulsed infrared light. The response of such tracking sensors can be sent back to the electronic system, which can interpret such response to effectively track the position and orientation of the controller 600.
[0069] One or more of the tracking transducers 632, 633, and 634 may be configured as necessary, as shown in the embodiment of Figure 7A, or alternatively as shown in the embodiment of Figure 7B, or in a conventional manner not shown. The lower part of Figure 7A shows an exploded perspective view of the infrared sensor 750 electrically connected to the flex circuit 751, shown below a rectangular portion of the windowed housing wall 755 above, which contains infrared opaque plastic. The windowed housing wall 755 includes a window 756. The window 756 preferably contains infrared transparent polycarbonate plastic and may include a recess on the lower side to accommodate the thickness of the infrared sensor 750.
[0070] According to the embodiment in Figure 7A, the housing wall with a window (e.g., the external structure of the tracking member 630, or the head 610 in Figure 6A) can be manufactured from a so-called "double-shot" injection molding process, such that the majority of the housing wall is made of infrared-impermeable plastic, but infrared-transparent plastic is positioned in the window 756 above the infrared sensor 750.
[0071] The upper part of Figure 7A shows a cross-sectional view of the assembled infrared sensor 750, flex circuit 751, and housing wall 755 with window. Infrared light, shown in Figure 7A as three downward-pointing arrows, entering the window 756 from above, passes through the window 756 and is received by the infrared sensor 750 below. Because the housing wall 755 contains infrared-opaque plastic, infrared light hitting it does not pass through, and some of it can be reflected back to the window to be received by the infrared sensor 750. In this way, the window 756 allows infrared light to affect the infrared sensor 750 despite the fact that most of the housing wall 755 contains infrared-opaque plastic, and as a result the infrared sensor 750 receives only infrared light from a preferred angular range.
[0072] Alternatively, one or more of the tracking transducers 632, 633, and 634 may be configured as shown in the embodiment of Figure 7B, if necessary. The lower part of Figure 7B shows an exploded perspective view of the infrared sensor 750 electrically connected to the flex circuit 751, shown below a rectangular portion of the housing wall 758 above, which includes 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 Figure 7B shows a cross-sectional view of the assembled infrared sensor 750, flex circuit 751, housing wall 758, and IR opaque film 757. Infrared light, shown in Figure 7B as three downward arrows incident on the housing wall 758 from above, passes through the window 759 of 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 contains infrared-transparent plastic, infrared light hitting it can pass through and be lost, and may even reach nearby sensors via internal reflection, perhaps unintentionally and undesirably. In this way, the window 759 of the infrared opaque film 757 allows infrared light to primarily affect the infrared sensor 750.
[0074] Figure 8 shows a side view of a right-hand controller 600, with the outer shell 640, which partially encloses the tubular housing of the handle 612, disassembled to reveal the instrumentation on its inner surface. In the embodiment of Figure 8, the instrumentation may include an array of proximity sensors 800 spatially distributed on the inner surface of the outer shell 640, which respond to the proximity of the user's fingers to the outer shell 640. The proximity sensors 800 in the array do not necessarily have to be the same size, nor do they necessarily have to be regularly or equally spaced relative to one another. In certain embodiments, the array of proximity sensors 800 may preferably be a plurality of capacitive sensors that can be connected to a flexible circuit coupled to the inner surface of the outer shell 640. In the embodiment of Figure 8, the outer shell 640 includes a first electrical connector portion 805 that can be connected to a second electrical connector portion that mates with the handle 612 (as shown in more detail in Figures 9A-9B).
[0075] Figures 9A and 9B show a cross-section of the right-hand controller 600 of Figure 6A, indicating that the controller handle may, if necessary, comprise tubular housing portions 612a and 612b, which are longitudinally divided by an adjacent seam 613. In Figure 9A, the outer shell 640 is shown disassembled and separated from the rest of the handle. Figure 9B shows a cross-section of Figure 9A, except that the outer shell 640 is mounted in its normal operating position. In the embodiments of Figures 9A and 9B, it is shown that the first electrical connector portion 805 of the outer shell 640 is mated to and connectable to the second electrical connector portion 905 of the controller handle.
[0076] In the embodiments shown in Figures 9A and 9B, the outer shell 640 partially encloses the tubular housings 612a and 612b, preferably overlapping with a longitudinal seam 613, so that the longitudinal seam 613 can be positioned to optimize the manufacturing process rather than corresponding to a desired circumferential position of the proximity sensor array 800. In certain embodiments, the outer shell 640 overlaps with a circumferential portion C of the tubular housings 612a and 612b of the handle, and the circumferential portion C spans an angle of at least 100 to 170 degrees around the entire circumference of the tubular housings 612a and 612b of the handle. Such a circumferential overlap can, in certain embodiments, allow the proximity sensor array 800 to detect the proximity of a desired portion of the user's fingers or palm, for example, an area of the hand that best indicates gripping.
[0077] The tubular housings 612a and 612b of the handles do not need to have a circular cross-section, and the term “circumference” is used herein regardless of whether the tubular housings 612a and 612b of the handles have a circular cross-section. In this specification, the term “circumference” means the entire circumference around the tubular housings 612a and 612b of the handles, which may be circular if the tubular housings 612a and 612b are circular hollow columns, but may be a closed shape other than a circle if the tubular housings are formed as non-circular columns or hollow prisms.
[0078] In the embodiments shown in Figures 9A and 9B, a printed circuit board (PCB) 920 can be mounted within the tubular housings 612a and 612b of the handle, and a second electrical connector portion 905 is electrically coupled to the PCB 920. The PCB 920 may optionally include a force sensing resistor (FSR) 922, and the controller may further include a plunger 924 that transmits a compressive force applied via the outer shell 640 inward toward the FSR 922 and outward toward the tubular housings 612a and 612b of the handle. In certain embodiments, the FSR 922, in conjunction with a proximity sensor array 800, can facilitate the detection of both the initiation of a grip by the user and the relative strength of such a grip by the user, which can facilitate certain gameplay functions.
[0079] In certain embodiments, the outer shell 640 has a shell thickness (measured radially in Figures 9A-9B) that is less than one-third the thickness of the housing wall of the tubular housing portion 612a or 612b of the handle. In those embodiments, such a thickness imbalance can improve the sensitivity of the proximity sensor array 800 compared to alternative embodiments in which the proximity sensor array 800 is located on or inside the tubular housing 612a, 612b of the handle.
[0080] Figure 10A shows a front view of a right-hand controller 200 according to another exemplary embodiment of the present disclosure, which includes a partially closed hand retainer 220 (e.g., a hand retention strap). Figure 10B shows a front view of the controller 200, except that the hand retainer 220 is fully open. In the embodiments of Figures 10A to 10B, the controller 200 includes a controller body having a head 210 and a handle 212. The head 210 is adjacent to the handle 212 in the neck region 211 of the controller 200. The handle 212 preferably includes an array of proximity sensors spatially distributed just below its outer surface, which preferably respond to the proximity of the user's fingers to the outer surface of the handle 212.
[0081] In the embodiments shown in Figures 10A and 10B, the head 210 includes thumb-operated controls A, B, and 208. The controller 200 also preferably includes a tracking member 230 fixed to the controller body at the distal ends of the head 210 and handle 212. The tracking member 230 preferably includes a plurality of tracking transducers, which can be sensors that respond to electromagnetic radiation emitted by an electronic system (e.g., pulsed infrared light emitted by a virtual reality game system), or a tracking beacon that emits electromagnetic radiation received by an electronic system. In the embodiments shown in Figures 10A and 10B, the tracking member 230 is preferably, but not necessarily, a tracking arc having an arc shape. The hand retainer 220 is preferably positioned between the handle 212 and the tracking arc 230.
[0082] In the embodiments shown in Figures 10A and 10B, the controller 200 includes a draw cord 228 and a cord lock 226 adjacent to the distal end of the handle 212. The cord lock 226 can selectively prevent the draw cord 228 from sliding at the cord lock 226. In the embodiment of Figure 10A, as the draw cord 228 is gradually pulled over the cord lock 226, the hand retainer 220 is tightened to the closed position (as indicated by the movement arrows shown in Figure 10A). The closed position physically biases the user's palm against the outer surface of the handle 212.
[0083] In the embodiments of Figures 10A and 10B, the hand retainer 220 preferably includes an elastic member (e.g., an internal or external elastically 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 the user selectively releases the cord lock 226, allowing the draw cord 228 to slide relative to it, the hand retainer 220 opens naturally due to the straight-oriented preload bias of the elastically deformable elastic member (indicated by the motion arrow shown in Figure 10B). The open position facilitates the insertion or withdrawal of the user's hand from the controller 200, particularly when the user's field of view may be obstructed by wearing virtual reality goggles.
[0084] Figure 11A shows a front view of the components of the controller 200's head 210 and handle 212, including a hand retainer anchor 302 that can be adjusted to move circumferentially around the head 210. Figure 11B shows the same components of the head 210 and handle 212, except that the faceplate has been removed from the head 210 to expose a lockable collar portion 311 that allows for selective adjustment of the hand retainer anchor 302 around the head 210.
[0085] In the embodiment of Figure 11B, the lockable collar portion 311 can be translated along an arc-shaped path defined by the internal arched guide 315. The lockable collar portion 311 can be selectively locked by the user to prevent further movement of the anchor 302 around the head 210. Referring here to Figures 4 and 10A to 11B, the elastic member of the hand retainer 220 is attached to the hand retainer anchor 302 of the head 210, thereby allowing the hand retainer 220 to be adjusted toward or away from the user's purpose (between the user's thumb and fingers). In certain embodiments, the elastic member of the hand retainer 220 is preferably attached to the hand retainer anchor 302 of the head 210 by a rotatable or swivelable attachment, so that the hand retainer 220 can rotate relative to the hand retainer anchor 302 at the position of the attachment. Such degrees of freedom are added to the adjustability of the position of the hand retainer anchor 302 around the head 210.
[0086] Figures 12A, 12B, and 12C show alternative embodiments of a partially assembled controller 400 having a controller body including a head 410 coupled to a head at a neck region 411 and a handle 412. In the alternative embodiments of Figures 12A to 12C, the controller body includes a channel 414 positioned adjacent to the neck region 411. A hand retainer, not shown in Figure 12A so as not to partially obscure the channel 414, includes an elastic member 420 terminating with a projection 425 extending into the channel 414.
[0087] In the embodiments of Figures 12B and 12C, the projection 425 includes a catch 427 that prevents longitudinal movement of the projection within the channel 414 when the hand retainer is in the closed position. For example, in the embodiment of Figure 12C, the catch 427 is a cam that increases friction with the inner surface of the channel 414 when the relative angle of the hand retainer projection 425 corresponds to the closed position of the hand retainer—that is, when the closed position of the hand retainer brings tension to the elastic member 420 (for example, downward as shown in the cross section of Figure 12C).
[0088] In contrast, when the hand retainer projection 425 is rotated to a relative angle corresponding to the open position of the hand retainer (e.g., upward as shown in the cross-section of Figure 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 arrow shown in Figure 12B). The channel 414 is preferably oriented so that the translation of the hand retainer projection along the channel 414 adjusts the relative position of the hand retainer projection 425, preferably toward or away from the user's hand, so that, for example, the controller 400 can accommodate different hand sizes or finger lengths. In an alternative embodiment, the hand retainer projection 425 can be rotatably attached to the rest of the hand retainer by a conventional pivot joint. Such a degree of rotational freedom is added to the adjustable translation of the hand retainer projection 425 along the channel 414.
[0089] Figures 13A–C show different diagrams of a force-sensing resistor (FSR) 1300 according to exemplary embodiments of the present disclosure. As shown in the cross-sectional view of the FSR 1300 in Figure 13C, the FSR 1300 may include a first substrate 1302 made of polyimide. The FSR 1300 may 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 as two main substrates (or layers) of the FSR 1300, which can be considered a two-layer FSR 1300, however, as will be described in more detail herein, it should be understood that the FSR 1300 includes additional layers. In this context, the first substrate 1302 can be considered the “lower” or “base” substrate with respect to the two main substrates of the FSR1300, but it should be understood that there may be layers of material behind (or below) the first substrate 1302 (i.e., in the negative Z direction, as shown in Figure 13C).
[0090] The first substrate 1302 has a conductive material located on its front surface (i.e., the surface facing the positive Z direction). As will be described in more detail with reference to Figure 14, this conductive material may include a plurality of interlocking metal fingers. On the other hand, the second substrate 1304 (sometimes called the resistive “film”) has a resistive material located on its back surface (i.e., the surface facing the negative Z direction). This resistive material can be a semiconductor material such as an ink composition (e.g., silver ink, carbon ink, or a mixture thereof) that exhibits some electrical resistance (e.g., a relatively high sheet resistance in the range of 300 kΩ (kΩ) to 400 kΩ / m²). Preferably, the sheet resistance of the second substrate 1304 is 350 kΩ / m², but it should be understood that other sheet resistance values, including those outside the sheet resistance range specified herein, may be used, such as when the FSR1300 is used in other applications such as non-controller-based applications. Therefore, the sheet resistance range 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 back surface of the second substrate 1304. In some embodiments, the second substrate 1304 is made of polyimide having a resistive material (e.g., a conductive ink composition) on its back surface. An exemplary advantage of using polyimide for the second substrate 1304 is the creation of FSR1300 that can be mass-produced using a reflow oven, whereas Mylar could not withstand such high temperatures.
[0091] The FSR1300 may include one or more spacer layers inserted between the first substrate 1302 and the second substrate 1304, so that the central portion of the second substrate 1304 is suspended on the first substrate 1302 and positioned at a certain distance from it. Figure 13C shows, but is not limited to, two spacer layers including a coverlay 1306 placed on the first substrate 1302 around its periphery and an adhesive layer 1308 placed on the coverlay 1306. The coverlay 1306 may be made of polyimide and therefore may be made of 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 to 15 microns. The thickness of the adhesive layer 1308 (measured in the Z direction) may be in the range of 50 to 130 microns. Therefore, the total distance the second substrate 1304 is separated 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 + the thickness of the adhesive layer 1308). These layers may be provided in thicknesses outside the range 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] The actuator 1310 (such as a disk-shaped compliant plunger) can be positioned on the second substrate 1304 and is configured to transmit a force F to the front surface of the second substrate 1304. The actuator 1310 can be made of Poron, a compliant material that deforms to some extent when a force is applied to it. The actuator 1310 can be concentric with the center of the active region of the FSR 1300 in order to center the applied force F. The actuator 1310 can also span a portion of the active region of the FSR 1300 in order to evenly distribute the applied force F across that portion of the active region of the FSR 1300.
[0093] The thickness of the second substrate 1304 (measured in the Z direction) can be in the range of 50 to 130 microns. At this exemplary thickness, the second substrate 1304 is flexible. For example, the second substrate 1304 can be made of Mylar, which is flexible within the thickness range specified above. The functional operation of the FSR 1300 depends on the flexibility of the second substrate 1304, so that the resistive material on the back surface of the second substrate 1304 contacts the conductive material on the front surface of the first substrate 1302 under the compressive force F applied to the actuator 1310. The thickness of the first substrate 1302 (measured in the Z direction) can be in the range of 20 to 30 microns. Polyimide of this thickness is also flexible. Therefore, the first substrate 1302 is also flexible. On the other hand, the thickness of the actuator 1310 (measured in the Z direction) can be in the range of 780 to 810 microns. These layers may be supplied in thicknesses outside the specified range, such as when FSR1300 is used in other applications, including non-controller-based applications. Therefore, these thickness ranges should be understood as non-limiting.
[0094] The FSR1300 can exhibit resistance that changes in response to a variable force F applied to the actuator 1310. For example, as the force F applied to the actuator 1310 increases, the resistance decreases. In this way, the FSR1300 can be treated as a variable resistor whose value is controlled by the applied force F. The FSR1300 can be a "shunt mode" FSR1300 or a "through mode" FSR1300, but is preferably a shunt mode FSR1300. In shunt mode FSR1300, the conductive material located on the front surface of the first substrate 1302 can be in the form of a plurality of interlocking 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 interlocking metal fingers that shunt the metal fingers, thereby changing the resistance between the output terminals of the FSR1300. In a through-mode implementation, the conductive material on the first substrate 1302 can be a solid region of conductive material with a semiconducting (or resistive) material placed on top of the conductive material, and the second substrate 1304 can have a similar structure (e.g., a region of conductive material with a solid semiconducting (or resistive) material placed on top). 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) are in contact under an applied force F, an excitation current can flow from one layer to the other.
[0095] In at least the recommended shunt mode implementation, the force and resistance response curves (with the FSR1300's resistance plotted as a function of the applied force F) exhibit desirable characteristics for use with the VR system's Controller 100 / 600. For example, the FSR1300's response curve can show less hysteresis and higher repeatability (from one FSR1300 to another) compared to conventional FSRs, such as those using Mylar as the base substrate material. Load hysteresis represents the effect of previously applied forces on the current FSR1300 resistance. The response curve is also monotonic, modeling a true analog input that can be utilized in many game mechanisms of VR game systems, such as smashing virtual rocks or squeezing virtual balloons. While the examples herein describe an applied force F, the FSR1300 is actually sensitive to applied pressure (force × area), as the same amount of force applied to a small point on a larger area of the front surface of the second substrate 1304 results in different resistance responses of the FSR1300. Therefore, the actuator 1310 plays a role in maintaining the overall repeatability of the FSR1300 with respect to the response curve under an applied force F.
[0096] Figure 14 shows various front views of the FSR1300 at the progression stages in an exemplary process for constructing the FSR1300. In Stage 1 of Figure 14, multiple interlocking metal fingers 1400 can be formed on the front surface of a first polyimide substrate 1302. The metal fingers 1400 are conductive. An exemplary conductive metal used for the metal fingers 1400 is copper, such as 1 / 3 ounce HA copper. This copper can also be gold-plated. Multiple interlocking metal fingers 1400 can be formed using a subtractive manufacturing process. For example, prior to Stage 1, the first polyimide substrate 1302 can be formed with a copper cladding layer placed on its front surface, and the copper cladding layer can be etched to create a pattern of interlocking metal fingers 1400 shown in Stage 1 of Figure 14 (e.g., by removing strips of copper material). The size and spacing of the etched pattern can be selected to create a distance (measured in the Y direction) between pairs of adjacent metal fingers 1400 which is 0.2 mm, and a width (measured in the Y direction) between each metal finger of multiple interlocking metal fingers 1400 which is 0.2 mm. This finger width and spacing between fingers can provide an optimal balance between the maximum sensitivity and minimized manufacturing etching resistance of the FSR1300. A uniform pattern of metal fingers 1400 is shown in Figure 14, but it should be understood that other non-uniform patterns (e.g., fingers with higher density towards the center and fingers with lower density towards the outside) can be used. Figure 14 shows two sets of interlocking metal fingers 1400 leading to output terminals 1402 (or leads) of a two-terminal FSR1300, each having a first output terminal 1402(1) and a second output terminal 1402(2).
[0097] As mentioned above, the copper constituting the metal fingers 1400 can be gold-plated. Therefore, after etching the patterns of the interlocking metal fingers 1400, a layer of gold plating can be deposited on the copper fingers to create gold-plated fingers. Thus, the multiple interlocking metal fingers 1400 shown in Stage 1 of Figure 14 can represent gold-plated fingers. The gold plating can be electroless nickel immersion gold (ENIG). In particular, additional copper plating on the copper of the base layer may not be required before gold plating. When vias are added to a multilayer flex substrate, additional copper plating is usually applied on the copper of the base layer. However, adding additional copper plating to the copper of the base layer before gold plating can actually result in an undesirable increase in detected resistance compared to the disclosed FSR1300 which does not include additional copper plating on the copper of the base layer before gold plating. Therefore, by omitting the additional copper plating on the metal fingers 1400 before gold plating, optimal sensitivity is achieved in the FSR1300. Therefore, the copper cladding layer constituting the metal finger 1400 remains exposed when the metal finger 1400 is plated with the gold material. In this way, the gold material is in direct contact with the base copper material of the metal finger 1400 without the insertion of additional copper plating between the base copper layer and the gold plating.
[0098] In stage 2 of Figure 14, the coverlay 1306 can be deposited on the periphery of the first substrate 1302. For example, the coverlay 1306 can be annular in shape to cover the peripheral portion of the metal finger 1400, while the rest of the metal finger 1400 is left uncovered by the coverlay 1306 after deposition. The coverlay 1306 may be made of polyimide.
[0099] In Stage 3 of Figure 14, the adhesive layer 1308 can be deposited on top of the coverlay 1306, and as a result, the remaining portion of the metal finger 1400 (the portion of the metal finger 1400 that is not covered by the coverlay 1306) is also left uncovered by the adhesive layer 1308. For example, the adhesive layer 1308 can be C-shaped so that it covers a substantial portion of the coverlay 1306, but does not cover the active region of the FSR 1300. The "active region" of the FSR 1300 is shown in Stage 3 of Figure 14 as having a diameter B. Furthermore, the C-shaped adhesive layer 1308 can leave a portion of the coverlay 1306 uncovered. This uncovered portion of the coverlay 1306 is shown in Stage 3 of Figure 14 as having a width w. After the second substrate 1304 is positioned on top of the first substrate 1302, this uncovered portion of the coverlay 1306 forms an air gap that allows air to enter and exit the space between the first substrate 1302 and the second substrate 1304, which can prevent variations in the 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 the symmetry of the contact surface area under applied force and large enough for air to enter / exit the air gap. In some embodiments, the adhesive layer 1308 can be 467 adhesive (i.e., 3M 467 adhesive) from 3M® Company, Maplewood, Minnesota. The coverlay 1306 and adhesive layer 1308 represent examples of spacer layers that can be provided on top of the first substrate 1302 to suspend the second substrate 1304 away from the first substrate 1304. As described above, the thickness of the coverlay 1306 (measured in the Z direction) can be in the range of 10 to 15 microns, and the thickness of the adhesive layer 1308 (measured in the Z direction) can be in the range of 50 to 130 microns. Preferably, the thickness of the adhesive layer 1308 is made as thin as possible (e.g., at the lower end of the specified thickness range) to allow for an initial response (e.g., when the FSR 1300 begins to detect input) under a very light applied force F.However, these layers may be supplied in thicknesses outside the specified range, such as when FSR1300 is used in other applications, such as non-controller-based applications. Therefore, these thickness ranges should be understood as non-limiting.
[0100] In Stage 4, a second substrate 1304 can be placed on top of the first substrate 1302. In Stage 4, the central portion of the second substrate 1304 is suspended on the first substrate 1302 by one or more spacer layers (e.g., a coverlay 1306 and an adhesive layer 1308) inserted between the first substrate 1302 and the second substrate 1304 (see Figure 13C). Although not shown in Figure 14, an actuator 1310 can be mounted on the front of the second substrate 1304 to complete the construction of the FSR 1300, as shown in Figures 13A-C. The size of the actuator (measured in the XY plane) can extend to 80% of the active area of the FSR 1300 (i.e., 80% of the diameter B shown in Stage 3 of Figure 14). For example, a disc-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. In this dimension, the active region 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 FSR1300 can be left open in the absence of 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," which means that even if the two main substrates (i.e., 1302 and 1304) are actually in contact, the FSR1300 can be left open until the threshold resistance value is reached.
[0102] Figure 15 shows exemplary layers of FSR1300 according to another embodiment of the present disclosure. Figure 15 is not to scale. Rather, Figure 15 is presented to illustrate exemplary layers of the material and is not intended to represent an actual cross-sectional view of FSR1300. As described above with reference to the previous figures, FSR1300 includes, as shown in Figure 15, a first substrate 1302 made of polyimide, metal fingers 1400 (i.e., conductive material) positioned on the front surface of the first substrate 1302, and a second substrate 1304 positioned on the first substrate 1302 with one or more spacer layers inserted between the first substrate 1302 and the second substrate 1304. In this case, there are multiple spacer layers positioned between the two main substrates, including the aforementioned coverlay 1306 and adhesive layer 1308. The actuator 1310 is also positioned on the second substrate 1304.
[0103] In the embodiment shown in Figure 15, the actuator 1310 may be made of Poron and may have a thickness of 794 microns (measured in the Z direction). The actuator 1310 can be attached to the second substrate 1304 using an actuator adhesive layer 1500. This actuator adhesive 1500 may have a thickness of 70 microns (measured in the Z direction). A suitable adhesive for the actuator adhesive 1500 is FT 8397 adhesive from Avery Dennison of Glendale, California. In the embodiment shown in Figure 15, the thickness of the second substrate 1304 (measured in the Z direction) may be 125 microns. The sheet resistance of the resistive material on the back surface of the second substrate 1304 may be 350 k ohms / square meter. The adhesive layer 1308 may be a release adhesive such as 3M MP467 adhesive. The thickness of the adhesive layer 1308 (measured in the Z direction) may be 50 microns. The coverlay 1306 may be made of polyimide and may have a thickness of 12.5 microns (measured in the Z direction). The coverlay 1306 can be attached to the front surface of the first substrate 1302 on the metal finger 1400 using a coverlay adhesive 1502 (e.g., polyethylene with adhesive on either side). The coverlay adhesive 1502 may have a thickness of 25 microns (measured in the Z direction). The metal finger 1400 may be made of copper (e.g., gold-plated copper) and may have a thickness of 12.5 microns (measured in the Z direction). The first substrate 1302 may have a thickness of 25 microns (measured in the Z direction).
[0104] A pressure-sensitive adhesive (PSA) 1504 can be attached to the back surface of the first substrate 1302. The PSA 1504 can be 3M 467MP and have a thickness of 50 microns. A PSA liner 1506 can be placed on the PSA 1504 and peeled off before mounting the FSR 1300 to a plane (for example, the plane of a structure mounted inside the controller body 110).
[0105] In the connector portion of the FSR1300, the reinforcing polyimide 1508 can be attached to the back surface of the first substrate 1302 using the reinforcing adhesive 1510. The reinforcing polyimide 1508 can have a thickness of 137.5 microns (measured in the Z direction), which can create a more rigid connector portion of the FSR1300 for added durability of the connector portion. The thickness of the reinforcing adhesive (measured in the Z direction) can be 25 microns.
[0106] The embodiment shown in Figure 15 can represent an FSR1300 suitable for mounting on a plane of a structure that is mounted within the 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 other thickness values, sheet resistance values, and / or materials other than those specified with reference to Figure 15 may be available, such as when the FSR1300 is used in other applications, such as non-controller-based applications. Therefore, these values and materials should be understood as non-limiting.
[0107] Figure 16 shows exemplary layers of FSR1300 according to another embodiment of the present disclosure. Figure 16 is not to scale. Rather, Figure 16 is presented to illustrate exemplary layers of the material and is not intended to represent an actual cross-sectional view of FSR1300. With respect to the first substrate 1302 and the layers on the first substrate 1302 (i.e., in the positive Z direction), the FSR1300 shown in Figure 16 may have a similar structure to the FSR1300 shown in Figure 15. Figure 16 differs from Figure 15 in the layers beneath the first substrate 1302 (i.e., in the negative Z direction). Therefore, for brevity, the first substrate 1302 and the layers on the first substrate 1302 (i.e., in the positive Z direction) in Figure 16 will not be described again, as the description of these layers in Figure 16 can be referred to in Figure 15.
[0108] In the embodiment shown in Figure 16, the reinforcing material 1600 can be attached to the back of the first substrate 1302 beneath the main body portion of the FSR1300 using reinforcing adhesive 1510. As in the embodiment shown in Figure 15, the thickness of the reinforcing adhesive (measured in the Z direction) can be 25 microns, with the reinforcing material 1600 positioned beneath the main body portion of the FSR1300, while the polyimide 1508 is positioned beneath the connector portion of the FSR1300. Furthermore, the reinforcing material 1600 can be an FR4 reinforcing material having a thickness of 530 microns (measured in the Z direction), which is thicker than the reinforcing polyimide 1508 in the embodiment shown in Figure 15. The pull tab 1602 can be attached to the back of the reinforcing material 1600 using an adhesive layer 1604. The adhesive layer 1604 can be a pull tab adhesive such as 3M MP467 adhesive. The thickness of the adhesive layer 1604 (measured in the Z direction) can be 50 microns.
[0109] The embodiment in Figure 16 can represent an FSR1300 suitable for mounting on 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 other thickness values, sheet resistance values, and / or materials other than those specified with reference to Figure 16 may be available, such as when the FSR1300 is used in other applications, such as non-controller-based applications. Therefore, these values and materials should be understood as non-limiting.
[0110] Figure 17 shows an exemplary layer of FSR1300 according to another embodiment of the present disclosure. Figure 17 is not to scale. Rather, Figure 17 is presented to illustrate an exemplary layer of the material and is not intended to represent an actual cross-sectional view of FSR1300. Some of the layers of FSR1300 shown in Figure 17 may have a structure similar to that of FSR1300 shown in Figure 15. However, Figure 17 differs from Figure 15 in several respects.
[0111] In the embodiment shown in Figure 17, the thickness of the second substrate 1304 (measured in the Z direction) 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 of the adhesive layer 1308 (measured in the Z direction) can be 125 microns. In some cases, the thickness of the adhesive layer 1308 can be 50 microns. Furthermore, the metal fingers 1400 may be made of RA copper. In addition, a conductive material 1700 can be placed on the back surface of the first substrate 1302. The conductive material 1700 can be HA copper or RA copper having a thickness of 12.5 microns (measured in the Z direction). An additional coverlay 1702 can be deposited on the conductive material 1700. This additional coverlay 1702 can be made of polyimide and attached to the conductive material 1700 using coverlay adhesive 1704. The thickness of the additional coverlay 1702 (measured in the Z direction) can be 12.5 microns, and the thickness of the coverlay adhesive 1704 (measured in the Z direction) can be 25 microns. An adhesive layer 1706 can be placed on top of the coverlay 1702. The adhesive layer 1706 can be a release adhesive such as 3M 467MP adhesive with a thickness of 60 microns (measured in the Z direction). For FSR1300 which 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 in Figure 17 can represent an FSR1300 suitable for mounting on a plane of a structure mounted within the controller body 110 of a non-VR controller. It should be understood that other thickness values, sheet resistance values, and / or materials other than those specified in Figure 17 may be available, such as when the FSR1300 is used in other applications, such as non-controller-based applications. Therefore, these values and materials should be understood as non-limiting.
[0113] Figures 18A–D show an FSR1800 according to another embodiment of the present disclosure. The FSR1800 may have constituent layers similar to those described with respect to the FSR1300, such as a first substrate 1802 made of polyimide and a second substrate 1804 that is flexible and has a resistive material on its back surface. One or more spacer layers (e.g., a coverlay 1806 and an adhesive layer 1808) may be inserted between the first substrate 1802 and the second substrate 1804.
[0114] In Figures 18B and 18C, a portion of the first substrate 1802 of the FSR1800 is wrapped around the second substrate 1804 and is also positioned on the front of the second substrate 1804. Figure 18A, labeled “Before Folding,” shows the FSR1800 before the portion of the first substrate 1802 is wrapped around the second substrate 1804. In Figure 18A, the FSR1800 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 folding neck 1814 at the first end of the lower balloon 1812(1). The soldering pigtail 1816 extends from the second end of the lower balloon 1812(1), and the soldering pad 1818 is at the end of the soldering pigtail 1816. The actuator 1810 in the form of a tact switch is positioned on the upper balloon 1812(2) such that, after the folding operation, the actuator 1810 ultimately becomes the front or top layer of the FSR1800, as shown in Figures 18B and 18C. Thus, the portion of the first substrate 1802 of the FSR1800 that is wrapped around the second substrate 1804 is the upper balloon 1812(2).
[0115] A cross-section of the FSR1800 after the folding operation is shown in Figure 18C to illustrate exemplary layers of the FSR1800. Some of the layers shown in Figure 18C are described in more detail with reference to Figure 18D. In this embodiment of Figure 18C, a force F can be applied to the actuator 1810 (e.g., a tact switch) to cause a variable resistance in the FSR1800, which is converted into a variable digitized value. Using a tact switch (e.g., a switch that switches to different binary states under the application of a predefined amount of force F) for the actuator 1810 forms a dual-stage FSR1800, where the tact switch 1810 is initially "clicked" when actuated, and then the FSR1800 can output a variable resistance when an increased force F is applied. This can help calibrate the FSR1800 with each individual actuation of the FSR1800 by assuming that the tact switch 1810 is actuated with the same amount of force F each time it is pressed. In other words, the FSR1800 can be reset to a known amount of force F associated with the operation of the tact switch 1810 in response to the detection of the tact switch 1810's operation. This can mitigate the inherent inaccuracy of the FSR1800.
[0116] As shown in Figures 18C and 18D, the FSR1800 includes a first substrate 1802 made of polyimide having a thickness of 25 microns (measured in the Z direction). A conductive material having a thickness of 12.5 microns (measured in the Z direction) (e.g., a metal finger 1820 made of HA copper (e.g., gold-plated copper) as shown in Figure 18D) can be placed in front of the first substrate 1802 on the lower balloon 1812(1) such that the conductive material is beneath the resistive material on the second substrate 1804. A coverlay 1806 can be attached to the front of the first substrate 1802 on the metal finger 1820 using a coverlay adhesive 1822. The coverlay adhesive 1822 may have a thickness of 25 microns (measured in the Z direction). The coverlay 1806 may be made of polyimide and may have a thickness of 12.5 microns (measured in the Z direction). The adhesive layer 1808 placed on the coverlay 1806 can be a release adhesive such as 3M MP467 adhesive. The thickness of the adhesive layer 1808 (measured in the Z direction) can be 60 microns. The thickness of the second substrate 1804 (measured in the Z direction) can be 127 microns. The sheet resistance of the resistive material on the back surface of the second substrate 1804 can be 350 k ohms / square meter. The adhesive layer 1824 can be used to attach the upper balloon 1812(2) to the lower balloon 1812(1) when the upper balloon 1812(2) is folded onto the lower balloon 1812(1) at the folding neck 1814. The adhesive layer 1824 can be 125 microns thick (measured in the Z direction). A suitable adhesive for the adhesive layer 1824 is 3M 468 MP. The adhesive layer 1824 can also be C-shaped.
[0117] On the upper balloon 1812(2) of the FSR1800, the first reinforcing polyimide 1834 can be attached to the front surface of the first substrate 1802 (before folding) using reinforcing adhesive 1836. The first reinforcing polyimide 1834 may have a thickness of 75 microns (measured in the Z direction). The thickness of the reinforcing adhesive (measured in the Z direction) may be 25 microns. Furthermore, on the upper balloon 1812(2) of the FSR1800, the second reinforcing polyimide 1838 can be attached to the front surface of the first reinforcing polyimide 1834 (before folding) using a layer of adhesive 1840. The second reinforcing polyimide 1838 may have a thickness of 75 microns (measured in the Z direction). The thickness of the adhesive layer (measured in the Z direction) may be 125 microns. When the upper balloon 1812(2) is folded over the lower balloon 1812(1) at the folding neck 1814, the second reinforcing polyimide 1838 comes into contact with the second substrate 1804, as shown in Figure 18C, and the adhesive layer 1824 bonds the two body parts 1812(1) and 1812(2) of the FSR1800 in a stacked relationship after the folding operation. It should be understood that other thickness values, sheet resistance values, and / or materials other than those specified with reference to Figure 18D may be available, such as when the FSR1800 is used in other applications such as non-controller-based applications. Therefore, these values and materials should be understood as non-limiting.
[0118] Furthermore, as shown in Figure 18D, the conductive material 1826 can be placed on the back surface of the first substrate 1802. The conductive material 1826 can be HA copper having a thickness of 12.5 microns (measured in the Z direction). 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 of the additional coverlay 1828 (measured in the Z direction) can be 12.5 microns, and the thickness of the coverlay adhesive 1830 (measured in the Z direction) can be 25 microns. The additional coverlay 1828 and coverlay adhesive 1830 can span over the soldering pigtail 1816, the lower balloon 1812(1), the folding neck 1814, and part of the upper balloon 1812(2), leaving a footprint (or space) for the actuator 1810 ("button footprint" in Figure 18D). The adhesive layer 1832 can be placed on top of the additional coverlay 1828. The adhesive layer 1832 can be a release adhesive such as 3M 468MP adhesive with a thickness of 125 microns (measured in the Z direction). The adhesive layer 1832 can span over the soldering pigtail 1816 and the lower balloon 1812(1).
[0119] While the FSR1300 / 1800 example is shown as having a nearly circular shape, it should be understood that FSR1300 / 1800 can be constructed in layers with different cross-sectional shapes, such as square or rectangular. Depending on the specific application, the overall size of FSR1300 / 1800 can be larger or smaller than the example described here. Furthermore, it should be understood that FSR arrays can be implemented by connecting multiple FSR1300 / 1800 units together. In such arrays, layers of FSR material can be composed of long strips of material.
[0120] Figure 19 is a flowchart of an exemplary process 1900 for manufacturing an FSR such as the FSR1300 or FSR1800 disclosed herein. The process described herein is shown as a set of blocks of a logical flow graph representing a series of operations. The order in which the operations are described is not intended to be interpreted as limiting, and any number of operations described may be combined in any order and / or in parallel to implement the process.
[0121] In 1902, the first substrate 1302 made of polyimide can be formed by a copper cladding layer placed on the front surface of the first substrate 1302.
[0122] In block 1904, the copper cladding layer can be etched to form a plurality of interlocking copper fingers (i.e., examples of metal fingers 1400) on the front surface of the first substrate 1302. Etching in 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 interlocking copper fingers. The spacing between consecutive 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] In 1906, gold-plated fingers could be formed by depositing layers of gold plating onto multiple alternately arranged copper fingers. This gold plating could be ENIG.
[0124] In 1908, one or more spacer layers can be provided on the first substrate 1302 around the periphery of the first substrate 1302, thereby leaving a portion of the gold-plated finger uncovered by one or more spacer layers. Multiple spacer layers can be provided in two operations, as shown by subblocks 1910 and 1912.
[0125] In 1910, a coverlay 1306 (for example, made of polyimide) can be deposited around the first substrate 1302. The coverlay 1306 can cover the peripheral portion of the gold-plated finger, while the rest of the gold-plated finger is left uncovered by the coverlay 1306.
[0126] In block 1912, the adhesive layer 1308 can be deposited on the coverlay 1306 so that the remaining portion of the gold-plated finger is not covered by the adhesive layer 1308. Furthermore, the operation in block 1912 may also include leaving a portion of the coverlay 1306 that is not covered by the adhesive layer 1308 to form an air gap that allows air to enter and exit the space between the first substrate 1302 and the second substrate 1304.
[0127] In 1914, the second substrate 1304 can be provided on the first substrate 1302 such that the central portion of the second substrate 1304 is suspended on the first substrate 1302 by one or more spacer layers inserted between the first substrate 1302 and the second substrate 1304. The second substrate 1304 is flexible and has a resistant material disposed on the back surface of the second substrate 1304.
[0128] In block 1916, to construct the FSR1800, an extension of the first substrate 1802 is wrapped around the second substrate 1804 and attached to the front of the second substrate 1804, and the extension of the first substrate 1802 is inserted between the actuator 1810 to be attached and the second substrate 1804. As indicated by the dashed outline of block 1916, this operation is performed to construct the FSR1800, but may be omitted when constructing the FSR1300.
[0129] In 1918, the actuator 1310 can be mounted on the second substrate 1304 by mounting the actuator 1310 to the front of the second substrate 1304 in order to construct the FSR 1300, or by mounting the actuator 1810 (e.g., a tact switch) on the first substrate 1802 which is inserted between the second substrate 1804 and the actuator 1810.
[0130] The FSR1300 / 1800 disclosed herein can be mounted on the plane of a structure within a handheld controller such as the controller 100 / 600 disclosed herein, and this structure can be positioned at any suitable location within the controller body 110 to measure a resistance value corresponding to the amount of force applied to the outer surface of the controller body 110 (e.g., force applied by a finger pressing the control, force applied by a hand gripping the handle 112 / 612). Referring particularly to Figures 9A and 9B, the FSR1300 / 1800 can be mounted on the plane of the PCB 920, which itself can be mounted within the tubular housings 612a, 612b of the handle 612. In this configuration, the plunger 924 can interface with the actuator 1310 / 1810 of the FSR1300 / 1800, thereby enabling the transmission of 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. Referring particularly to Figure 1, the FSR 1300 / 1800 can be mounted on the plane of a structure within the head (between the handle 112 and the distal end 111). The structure mounted within 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 trackpad). Thus, when the user's thumb presses the thumb-operated control 116 while the controller 100 is in operation, 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 FSR1300 / 1800s can be arranged within the controller body 110 of the controller, such as one or more FSR1300 / 1800s mounted within the handle 112 / 612, and one or more FSR1300 / 1800s mounted below one or more corresponding controls 114, 115, 116 on the head of the controller body 110.
[0131] The FSR1300 / 1800 disclosed herein, when implemented in a controller 100 / 600, can enable variable analog input. For example, gripping the steering wheel 112 / 612 or pressing a thumb-operated control (e.g., 116) with varying force can change the resistance of the FSR1300 / 1800 in response to the applied force, and this resistance can be converted into various digitized values representing FSR inputs for controlling game mechanics.
[0132] Figure 20 shows an exemplary user interface (UI) 2000 that can be used to configure an FSR-based input mechanism for a handheld controller, such as controller 100 / 600, so that the electronic system operates in different modes. The UI 2000 can output to a display of an electronic system, such as a head-mounted display (HMD), or to other types of displays used with a personal computer (PC) or game console. The UI 2000 includes an "Activation Type" dropdown menu 2002. The "Activation Type" dropdown menu 2002 can be used to select a "soft-press" type activation for an FSR-based input mechanism (e.g., thumb-operated control 116, handle 112 / 612, etc.). Here, "soft press" means "software press," which allows logic to determine when the controller 100 / 600 and / or the electronic system to which the controller 100 / 600 is associated registers an FSR-based input event based on the analog input of the FSR1300 / 1800 (e.g., the FSR resistance, which corresponds to the force applied to the FSR1300 / 1800 and is converted into a digitized FSR input value), and also based on additional configuration settings described later. In other words, the resistance value can be measured by the FSR1300 / 1800, which can be converted into a digitized FSR input value. If this digitized FSR input value meets the criteria specified by the "soft press" configuration setting, an FSR-based input event can be registered.
[0133] UI2000 may further include a "Binding" dropdown menu 2004, which can be used to select PC-based input controls to bind to the corresponding FSR-based input mechanism on controller 100 / 600. Here, binding is selected as the left mouse button, but it should be understood that binding can be selected as any other PC-based input control. Binding can also be analog. For example, in a racing game, the FSR1300 / 1800 could be used as the accelerator pedal (e.g., the harder the user presses the FSR-based control mechanism, the faster the racing vehicle moves in the game).
[0134] UI2000 may further include a “Soft Press Style” dropdown menu 2006, which can be used to select one of several 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. Since the digitized FSR input value corresponds to a specific resistance value measured by the FSR and a specific force applied to the FSR1300 / 1800, this style of soft press can also be thought of as the registration of an FSR input event when the resistance value measured by the FSR reaches a resistance threshold and / or when the amount of force applied reaches a force threshold. For example, if the handle 112 / 612 of the controller 100 / 600 contains the FSR1300 / 1800, the handle 112 / 612 can be squeezed until a force threshold amount is reached, and accordingly, an FSR input event is registered as a “soft press”. The force required to “press” can be part of the threshold for debounce purposes and / or to mimic a tact switch with a physical snap ratio. Therefore, the "simple threshold" style can replace conventional mechanical switches. UI200 shows that the configurable soft press threshold 2008(1) can be adjusted by the user to increase or decrease the threshold that determines whether to register an FSR input event compared to a digitized FSR input value. The user can adjust the soft press threshold 2008(1) lower (e.g., by moving the slider to the left) to reduce hand fatigue associated with operating the FSR-based input mechanism. The user can adjust the soft press threshold 2008(1) higher (e.g., by moving the slider to the right) to reduce instances in which accidental inputs are registered by the FSR-based input mechanism. In some cases, the soft press threshold 2008(1) can be set as the default threshold for a particular game (e.g., a lower default threshold for a shooting game or a higher default threshold for an exploration game).
[0135] The "hair trigger" style allows you to set a baseline threshold, 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 the activation of a button that is held down). Subsequently, as the force decreases, the binding becomes deactivated (i.e., the FSR input event is "unregistered," similar to the user releasing a button), and as the force increases after the binding has been deactivated, the binding becomes activated again. There may be some debounce in the soft-press "hair trigger" style. A brief look at Figure 21 shows an example of "hair trigger" logic in the force vs. time graph 2100. The force axis can represent digitized FSR input values ranging from zero to any appropriate maximum value, which corresponds to the range of resistance values measurable by the FSR1300 / 1800. As shown in Figure 21, as the digitized FSR input value increases (e.g., the user presses the FSR-based input mechanism harder and harder), the digitized FSR input value eventually exceeds the baseline threshold 2102, and in response, the binding is activated (i.e., the FSR input event is registered as 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 slightly "releases" the FSR-based input mechanism). If the user presses the FSR-based input mechanism harder, the binding can be activated again as long as the force remains above the baseline threshold 2102.
[0136] Referring again to Figure 20, the "hipfire" style of the soft press can be selected in three different substyles (e.g., aggressive, standard, and relaxed). The "hipfire" style can be similar to the "simple threshold" style of the soft press, except that, because the "hipfire" style utilizes time delay, in configurations with multiple levels of binding, low FSR input values can be ignored if a higher threshold is reached quickly using the time delay. The amount of time delay differs depending on the substyle (e.g., aggressive, standard, and relaxed). Briefly looking at Figure 22, an example of the "hipfire" logic is shown in the force vs. time graph 2200. In this case as well, the force axis can represent a range of digitized FSR input values from zero to any appropriate maximum value, which corresponds to a range of resistance values measurable by the FSR 1300 / 1800. As shown in Figure 22, we assume that A1 2202 corresponds to the first threshold corresponding to the first action, and A2 2204 corresponds to the second threshold corresponding to the second action. The time delay t can be set based on whether the hip-fire style is aggressive, standard, or relaxed. In the "fast" curve shown in Figure 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, causing 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 Figure 22, the FSR input value reaches A1 2202, initiating the 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, causing the logic to register an additional FSR input event for the second action corresponding to A2 2204. The time delay t can be specified and configured in milliseconds.
[0137] Referring again to Figure 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 soft press. Using different styles of soft press for FSR-based input, multiple different game-related analog inputs can be enabled by the user gripping or pressing the FSR-based input mechanism with varying forces. For example, a VR game could allow the user to crush rocks or compress balloons by pressing the handles 112 / 612 of the controller body 110 with increasing force. As another example, a shooting-based game could allow the user to switch between different types of weapons by pressing the thumb-operated control 116 with different levels of applied force.
[0138] Figure 23 shows the controller 100 of Figure 1, which has various sensors located within the controller body 110. For example, a first FSR 1300(1) can be mounted below a control configured to be pressed, such as a thumb-operated control 116 included in the head 113 of the controller body 110. A second FSR 1300(2) can be mounted within the handle 112 of the 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 the controller 100, or both FSR 1300(1) and 1300(2) can be provided within the controller 100. In addition to, or instead of, the array of proximity sensors 800, one or more touch sensors 2300 (e.g., touch sensors 2300(1)-(3)) may be associated with one or more controls configured to be pressed, such as thumb-operated controls 114, 115, and / or thumb-operated controls 116, and / or finger-operated controls (e.g., trigger 609). The touch sensors 2300 may be configured to provide touch data indicating an object (e.g., finger, thumb, etc.) that is in contact with the associated control (e.g., one or more of the thumb-operated controls 114-116). In this example, the touch sensors 2300 comprise a capacitive sensor (or array of capacitive sensors) mounted within the head 113 of the controller body 110 (e.g., glued or otherwise attached to the underside of controls 114-116, such as on the back of the outer housing and attached to a structure such as a PCB within the head 113). In other examples, the touch sensors 2300 may be based on other touch detection techniques, such as infrared or acoustic touch sensors. On the other hand, an array of proximity sensors 800 spatially distributed on the handle 112 can be configured to provide proximity data indicating a hand gripping the handle 112. The proximity sensors 800 may also use any suitable technique for detecting hand contact and / or proximity to the handle 112, as disclosed herein.The FSR1300 is configured to provide force data indicating the force of a control press (e.g., the press of control 116) or the force of the squeeze of handle 112. The various sets of sensors shown in Figure 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 represented as a collection of blocks in a logic flow graph, representing a set of actions that can be implemented in hardware, software, or a combination thereof. In a software context, a block represents a computer executable instruction that, when executed by one or more processors, performs the enumerated actions. Generally, computer executable instructions include routines, programs, objects, components, data structures, etc., that perform a particular function or implement a particular data type. The order in which the actions are described is not intended to be interpreted as limiting, and any number of actions described can be combined in any order and / or in parallel to implement a process.
[0140] Figure 24 is a flowchart of an exemplary process 2400 for recalibrating the FSR1300 / 1800 of the handheld controller 100 / 600 based on touch data provided by the touch sensor.
[0141] In 2402, the logic of the handheld controller 100 / 600 determines, at least in part, that an object (e.g., a finger, thumb, etc.) has come into contact with 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 may be included in the controller body 110 of the controller 100 / 600 and may be configured to be pressed. For example, the control may be a thumb-operated control 116 included in the head 113 of the controller body 110. In this embodiment, the touch sensor may be one of the touch sensors 2300. Alternatively, the control may be the handle 112 of the controller body 110. In this embodiment, the touch sensor may be an array of proximity sensors 800.
[0142] In 2404, the logic can determine the resistance value measured by the FSR1300 / 1800 based at least in part on the force data provided by the FSR1300 / 1800 when the object is in contact with at least one control.
[0143] In 2406, the logic can correlate the resistance value with a zero digitized FSR input value. In other words, the resistance detected when an object is in contact with at least one control can be considered a zero force input, meaning that any increase in force applied to the FSR1300 / 1800 from that point onward correlates with a positive FSR input value. Thus, process 2400 represents a sensor fusion algorithm that helps mitigate the inherent inaccuracy of the FSR1300 / 1800—it can measure resistance even when the object is not pressing the control, regardless of recalibration of the control touch detection.
[0144] Figure 25 is a flowchart of an exemplary process 2500 for ignoring false inputs in the FSR1300 / 1800 of the handheld controller 100 / 600 based on touch data provided by a touch sensor for adjacent control.
[0145] In 2502, the logic of the handheld controller 100 / 600 can determine the resistance value measured by the FSR1300 / 1800 based at least in part on force data provided by the FSR1300 / 1800 related to a first control of the handheld controller (e.g., thumb-operated control 116).
[0146] In the 2504, the logic can convert the resistance value into a digitized FSR input value.
[0147] In block 2506, the logic can determine whether the digitized FSR input value meets or exceeds a threshold that must be met to register an FSR input event for the first control. If the threshold is not met in block 2506, process 2500 follows the "no" route from block 2506 to block 2502, waiting for additional force data. If the threshold is met in block 2506, process 2500 follows the "yes" route from block 2506 to block 2508.
[0148] In 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 a touch sensor 2300 associated with a second control adjacent to a first control (e.g., a thumb-operated control 114 or 115) - the 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, process 2500 follows the "no" route from block 2508 to block 2510, where the logic registers an FSR input event for the first control (e.g., by activating the binding of the first control). If the object is in contact with the adjacent second control, process 2500 follows the "yes" route from block 2508 to block 2512.
[0149] In 2512, the logic may refrain from registering an FSR input event for the first control, at least in part, based on the determination that the object is in contact with the second control. Thus, process 2500 represents a sensor fusion algorithm that can be used to ignore false inputs in FSR 1300 / 1800 based on the pressing of adjacent controls on the handheld controller.
[0150] Figure 26 is a flowchart of an exemplary process 2600 for adjusting the FSR input threshold of the FSR 1300 / 1800 based on the hand size detected by an array of proximity sensors 800 in the handle 112 / 612 of the handheld controller 100 / 600.
[0151] In 2602, the logic of the handheld controller 100 / 600 can determine, at least in part, the size of the hand gripping the handle 112 / 612 based on proximity data provided by an array of spatially distributed proximity sensors 800 on the handle of the controller 100 / 600. The hand size can be determined from a set of predefined hand sizes (e.g., small and large, or small, medium, and large).
[0152] In block 2604, the logic can adjust the threshold to a pre-adjusted threshold that must be met to register an FSR input event for the handle 112 / 612, at least partially based on the hand size determined in block 2602. This pre-adjusted threshold corresponds to a specific amount of force that can be used to grip the handle 112 / 612. For example, the amount of force may correspond to the measured resistance of the FSR 1300 / 1800 in the handle 112 / 612, and that resistance may correspond to a digitized FSR input value. When a user grips the handle, an FSR input event can be registered if the digitized FSR input value is greater than or equal to the pre-adjusted threshold. Thus, as detected by the array of proximity sensors 800 in block 2602, the threshold can be adjusted to a lower value for users with smaller hands, while the threshold can be adjusted to a higher value for users with larger hands. 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] As shown by the subblocks in Figure 26, process 2600 can include more detailed operations. For example, the determination of hand size in block 2602 can include subblocks 2606 and 2608.
[0154] In 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 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 the aforementioned proximity data. In contrast, a large hand may span the entire array of proximity sensors 800, in which case all (or at least a number exceeding a threshold) of proximity sensors 800 may provide proximity data.
[0155] In 2608, the logic can determine the size of the hand, at least in part, based on the number of proximity sensors (of array 800) that provided proximity data.
[0156] Furthermore, as shown by subblocks 2610 and 2612, the threshold adjustment in block 2604 may include adjusting the threshold of one or more FSRs of controller 100 / 600.
[0157] For example, in 2610, the logic can adjust a first threshold (related to the first FSR 1300(1)) that must be met to register an FSR input event for control 116. In 2612, the logic can additionally or alternatively adjust a second threshold (related to the second FSR 1300(2)) that must be met to register an FSR input event for handle 112 / 612.
[0158] Figure 27 is a flowchart of an exemplary process 2700 for activating and deactivating bindings for handheld controller control based on FSR input values. As indicated by the off-page reference "A" in Figure 27, process 2700 can, but is not required to, follow any of processes 2400, 2500, or 2600.
[0159] In 2702, the logic of the handheld controller 100 / 600 can, at least in part, determine a first digitized FSR input value based on force data provided by the FSR 1300 / 1800 of the controller 100 / 600. This first digitized FSR input value can be converted from a first resistance value initially measured by the FSR 1300 / 1800.
[0160] In 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 (for example, to bind a control associated with FSR1300 / 1800). If the threshold is not met in 2704, process 2700 follows the "no" route from block 2704 to block 2702, and the logic waits for additional force data. If the threshold is reached in 2704, process 2700 follows the "yes" route from block 2704 to block 2706.
[0161] In 2706, the logic may register an FSR input event based at least partially on a first digitized FSR input value that meets or exceeds a threshold (for example, to activate a binding associated with a control related to FSR1300 / 1800).
[0162] In 2708, the logic can determine a second digitized FSR input value at a second time after a first time, at least in part, based on the force data provided by the FSR1300 / 1800. This second digitized FSR input value can be converted from a second resistance value measured by the FSR1300 / 1800 at the second time.
[0163] At 2710, the logic can determine whether the second digitized FSR input value is smaller than the first digitized FSR input value (i.e., whether the FSR input has decreased since the last measurement by the FSR1300 / 1800). If the second digitized FSR input value is smaller than the first digitized FSR input value, process 2700 follows the "yes" route from block 2710 to block 2712, and the logic can deactivate the binding of the control associated with the FSR1300 / 1800 (which can be thought of as unregistering a previously registered FSR input event corresponding to a held input). If the second digitized FSR input value is greater than or equal to the first digitized FSR input value at block 2710, process 2700 follows the "no" route from block 2710 to block 2708, and the logic waits for additional force data from the FSR1300 / 1800. Process 2700 can reflect the FSR detection mode shown in Figure 21 and described above. Therefore, the threshold evaluated in block 2704 can correspond to the baseline threshold 2102 described with reference to Figure 21.
[0164] Figure 28 is a flowchart of an exemplary process 2800 for using a time delay to determine whether to ignore the first FSR input of multiple thresholds. As indicated by the off-page reference "A" in Figure 28, process 2800 can, but is not required to, continue from any of processes 2400, 2500, or 2600.
[0165] In 2802, the logic of the handheld controller 100 / 600 can, at least in part, determine a first digitized FSR input value based on force data provided by the FSR 1300 / 1800 of the controller 100 / 600. This first digitized FSR input value can be converted from a first resistance value initially measured by the FSR 1300 / 1800.
[0166] In 2804, the logic can determine whether the first digitized FSR input value meets or exceeds a first threshold (e.g., A1 2202 in Figure 22) that must be met to register a first FSR input event (e.g., to bind the controls 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 in 2804, 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 in 2804, process 2800 follows the "yes" route from block 2804 to block 2806.
[0167] In 2806, the logic can start monitoring a predefined period (for example, the time delay t in Figure 22).
[0168] In 2808, the logic can determine a second digitized FSR input value at a second time after a first time, at least in part, based on the force data provided by the FSR1300 / 1800. This second digitized FSR input value can be converted from a second resistance value measured by the FSR1300 / 1800 at the second time.
[0169] In 2810, the logic can determine whether the second digitized FSR input value meets or exceeds a second threshold (e.g., A2 2204 in Figure 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 different from the first action (e.g., a second game mechanic), and the second threshold is greater than the first threshold. If the second threshold is not met in 2810, process 2800 follows a "no" route from block 2810 to block 2812, and the logic waits to determine whether a predefined period has elapsed (e.g., whether the difference between the second time and the first time is shorter than a predefined period). If the period has not yet elapsed in block 2812, process 2800 iterates by following a "no" route from block 2812 back to block 2810. If the time elapsed in block 2812 and the second threshold was not met, process 2800 followed the "yes" route from block 2812 to block 2814, and the logic could register a first FSR input event for the first threshold (which can be associated with, for example, a first action or game mechanic).
[0170] If the second threshold is met at 2810, process 2800 follows a "yes" route from block 2810 to block 2816, and the logic evaluates a predefined period. If the period has not yet elapsed at block 2816, process 2800 follows a "no" route from block 2816 back to block 2818, and the logic refrains from registering the first FSR input event and registers a second FSR input event associated with the second threshold (which can be associated with a second action or game mechanic, for example). If the period has elapsed at block 2816 and the second threshold has been reached, process 2800 follows a "yes" route from block 2816 to block 2820, and the logic can register both the first FSR input event for the first threshold and the second FSR input event for the second threshold. Process 2800 can reflect the FSR detection modes shown and described above in Figure 22.
[0171] Figure 29 shows exemplary components of a handheld controller, such as the controller 100 in Figure 1, although the components shown in Figure 29 can 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., joysticks, trackpads, triggers, etc.) and potentially any other type of input or output device. For example, the I / O device 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 gesture input, such as movement of the handheld controller 100. In some embodiments, additional input devices may be provided in the form of a keyboard, keypad, mouse, touchscreen, joystick, control buttons, etc. The input devices may further include control mechanisms such as basic volume control buttons for increasing or decreasing volume, as well as power and reset buttons.
[0172] On the other hand, output devices may include displays, light elements (e.g., LEDs), vibrators for haptic feedback, speakers (e.g., headphones), and the like. For example, there may be simple light elements (e.g., LEDs) to indicate a state, such as when the power is on. While several examples are provided, handheld controllers may additionally or alternatively include any other type of output device.
[0173] Furthermore, the handheld controller 100 may include one or more communication interfaces 2904 to facilitate wireless connectivity to a network and / or one or more remote systems (e.g., a host computing device running an application, a game console, etc.). The communication interfaces 2904 can implement one or more of various wireless technologies such as Wi-Fi, Bluetooth®, and radio frequency (RF). It should be understood that the handheld controller 100 may further include physical ports to facilitate wired connectivity to a network, connected peripherals, or plug-in network devices communicating 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 unit or component known in the art. Alternatively or additionally, the functions functionally described 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 standards (ASSPs), system-on-chip systems (SOCs), complex-programmable logic devices (CPLDs), and the like. Furthermore, each processor 2906 may have its own local memory that can also store program modules, program data, and / or one or more operating systems.
[0175] In general, the controller may include logic (e.g., software, hardware, and / or firmware) configured to implement the techniques, functions, and / or operations described herein. The computer-readable medium 2908 may include volatile and non-volatile memory, removable and non-removable media, implemented in any way or technique for storing 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 technologies, CD-ROM, digital versatile disk (DVD) or other optical storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage devices, RAID storage systems, or any other media that can be used to store desired information and can be accessed from a computing device. The computer-readable medium 2908 may be implemented as a computer-readable storage medium ("CRSM"), which may be any available physical medium accessible by the processor 2906 to execute instructions stored in the computer-readable medium 2908. In one basic implementation, the CRSM may include random access memory ("RAM") and flash memory. In other implementations, the CRSM may 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 can be accessed by processor 2906.
[0176] Some modules, such as instructions and data stores, can be stored in computer-readable medium 2908 and configured to run on processor 2906. While some exemplary functional modules are shown as being stored in computer-readable medium 2908 and running on processor 2906, the same functionality may instead be implemented as hardware, firmware, or a system-on-a-chip (SOC).
[0177] The operating system module 2910 may be configured to manage hardware within and coupled to the handheld controller 100 for the benefit of other modules. Furthermore, the computer-readable medium 2908 may store a network communication module 2912 that enables the handheld controller 100 to communicate via a communication interface 2904 with one or more other devices, such as a personal computing device, game console, HMD, or remote server running an application (e.g., a game application). The computer-readable medium 2908 may further include a game session database 2914 for storing data related to games (or other applications) running on the handheld controller or the computing device to which the handheld controller 100 is coupled. The computer-readable medium 2908 may also include a device record database 2916 for storing data related to devices to which the handheld controller 100 is coupled, such as a personal computing device, game console, HMD, or remote server. The computer-readable medium 2908 can 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-game devices.
[0178] Unless otherwise specified, all numerical terms representing quantities used in the specification and claims should be understood in all cases as being modified by the term "approximately." Therefore, unless otherwise indicated, the numerical parameters described herein and in the appended claims are approximations that can vary depending on the desired characteristics to be obtained by this disclosure. Each numerical parameter should be interpreted by applying ordinary rounding techniques, at least in light of the reported number of significant figures, not as an attempt to limit the application of the doctrine of equivalents to the claims. If further clarification is needed, the term “approximately” has a meaning reasonably attributable to a person skilled in the art when used in combination with a stated number or range, that is, when indicating that the value is somewhat more or somewhat less than the stated value or range, within the range of ±20%, ±19%, ±18%, ±17%, ±16%, ±15%, ±14%, ±13%, ±12%, ±11%, ±10%, ±9%, ±8%, ±7%, ±6%, ±5%, ±4%, ±3%, ±2%, or ±1% of the stated value.
[0179] While the subject matter has been described in language specific to its structural features and / or methodological behavior, the subject matter as defined in the attached claims is not necessarily limited to the specific features or behaviors described. Rather, specific features and behaviors are disclosed as exemplary forms that implement the claims.
[0180] This disclosure is described with reference to certain exemplary embodiments herein, but those skilled in the art will recognize that this disclosure is not limited thereto. Various features and aspects of this disclosure are intended to be used individually or together, and possibly in different environments or applications. For example, features shown in relation to a right-hand controller can be implemented in a left-hand controller, and vice versa. Accordingly, the specification and drawings should be considered descriptive and illustrative, not restrictive. For example, the words “preferably” and the phrase “preferably, but not necessarily” are used herein as synonyms and consistently include the meaning of “not necessarily” or “optional.” “Equipped,” “includes,” and “have” are intended to be unrestrictive terms. The invention described in the original claims of this application is listed below. [1] It is a handheld controller, One or more processors, A controller body including at least one control configured to be pressed, A touch sensor configured to provide touch data indicating an object associated with and in contact with the at least one control to one or more processors, A force sensing resistor (FSR) associated with at least one control and configured to provide force data indicating the amount of force applied by the at least one control to one or more processors, The logic comprises, Based at least partially on the touch data provided by the touch sensor, it is determined that the object has come into contact with the at least one control. Based at least in part on the force data provided by the FSR when the object comes into contact with the at least one control, the resistance value measured by the FSR is determined. A handheld controller configured to correlate the aforementioned resistance value with a digitized FSR input value of zero. [2] A handheld controller of [1] wherein the object is a finger or a thumb, and the at least one control is positioned on the head of the controller body and configured to be pressed by the finger or the thumb. [3] A handheld controller of [1] wherein the object is part of a hand, and the at least one control comprises a handle on the controller body and is configured to be squeezed by the hand. [4] The aforementioned logic further, A second resistance value measured by the FSR is determined based at least in part on the force data provided by the FSR at a first time after the time the object has been in contact with the at least one control. The second resistance value is converted to a second digitized FSR input value, Determine whether the second digitized FSR input value meets or exceeds the threshold that must be met to register an FSR input event. A handheld controller of [1] is configured to register the FSR input event based at least in part on the second digitized FSR input value that satisfies or exceeds the threshold. [5] Registering the FSR input event activates the binding associated with the at least one control, and the logic further... After the first time, in a second time, a third resistance value measured by the FSR is determined based at least in part on the force data provided by the FSR, The third resistance value is converted to a third digitized FSR input value, It is determined that the third digitized FSR input value is smaller than the second digitized FSR input value. A handheld controller of [4] is configured to deactivate the binding at least in part on the fact that the third digitized FSR input value is smaller than the second digitized FSR input value. [6] The aforementioned logic further, A second resistance value measured by the FSR is determined based at least in part on the force data provided by the FSR at a first time after the time the object has been in contact with the at least one control. The second resistance value is converted to a second digitized FSR input value, It is determined whether the second digitized FSR input value satisfies or exceeds a first threshold associated with the first FSR input event. After the first time, in a second time, a third resistance value measured by the FSR is determined based at least in part on the force data provided by the FSR, The third resistance value is converted to a third digitized FSR input value, It is determined that the third digitized FSR input value satisfies or exceeds a second threshold greater than the first threshold associated with the second FSR input event. Determine that the difference between the second time and the first time is shorter than a predefined period. Preparing for the registration of the first FSR input event mentioned above, The handheld controller of [1] is configured to register the second FSR input event. [7] It is a handheld controller, One or more processors, A controller body comprising a first control and a second control adjacent to the first control, configured such that the first control and the second control are pressed, A force sensing resistor (FSR) associated with the first control and configured to provide force data indicating the amount of force applied by the first control to one or more processors, A touch sensor associated with the second control and configured to provide touch data indicating an object in contact with the second control to one or more processors, The logic comprises, Based at least partially on the force data provided by the FSR, the resistance value measured by the FSR is determined. The aforementioned resistance value is converted into a digitized FSR input value, It is determined that the digitized FSR input value satisfies or exceeds a threshold that must be met in order to register an FSR input event for the first 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, it is determined that the object is in contact with the second control. A handheld controller configured to refrain from registering the FSR input event of the first control, at least in part on the basis of determining that the object is in contact with the second control. [8] A handheld controller of [7] in which the object is a finger or thumb, the first control and the second control are positioned on the head of the controller body within a threshold distance of each other, and the first control and the second control are configured to be pressed by the finger or thumb. [9] The aforementioned logic further, Based at least in part on the touch data provided by the touch sensor at a first time after the time measured by the FSR, it is determined that the object is no longer in contact with the second control. Based at least in part on the force data provided by the FSR during the first time period, a second resistance value measured by the FSR is determined. The second resistance value is converted to a second digitized FSR input value, It is determined whether the second digitized FSR input value satisfies or exceeds the threshold, A handheld controller of [7] configured to register the FSR input event of the first control based at least in part on the second digitized FSR input value that satisfies or exceeds the threshold.
[10] Registering the FSR input event activates the binding associated with the first control, and the logic further... After the first time, in a second time, a third resistance value measured by the FSR is determined based at least in part on the force data provided by the FSR, The third resistance value is converted to a third digitized FSR input value, It is determined that the third digitized FSR input value is smaller than the second digitized FSR input value. A handheld controller of [9] is configured to deactivate the binding at least in part on the fact that the third digitized FSR input value is smaller 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, Based at least in part on the touch data provided by the touch sensor at a first time after the time measured by the FSR, it is determined that the object is no longer in contact with the second control. Based at least in part on the force data provided by the FSR during the first time period, a second resistance value measured by the FSR is determined. The second resistance value is converted to a second digitized FSR input value, It is determined whether the second digitized FSR input value satisfies or exceeds the first threshold associated with the first FSR input event. After the first time, in a second time, a third resistance value measured by the FSR is determined based at least in part on the force data provided by the FSR, The third resistance value is converted to a third digitized FSR input value, It is determined that the third digitized FSR input value satisfies or exceeds a second threshold greater than the first threshold associated with the second FSR input event. Determine that the difference between the second time and the first time is shorter than a predefined period. Preparing for the registration of the first FSR input event mentioned above, The handheld controller [7] is configured to register the second FSR input event.
[12] It is a handheld controller, One or more processors, The controller body, including the steering wheel, A force-sensing resistor (FSR) associated with the handle and configured to provide one or more processors with force data indicating the amount of force applied to the handle, An array of proximity sensors spatially distributed on the handle, configured to provide proximity data indicating a hand gripping the handle to one or more processors, The logic comprises, Based at least partially on the proximity data provided by the array of proximity sensors, the size of the hand is determined from a plurality of predefined sizes. A handheld controller configured to adjust a threshold to a pre-adjusted threshold corresponding to a specific amount of force on the handle that should be satisfied in order to register an FSR input event for the handle, based at least partially on the size of the hand.
[13] Determining the size of the hand is Determining the number of proximity sensors in the array of proximity sensors that provided the proximity data, A handheld controller of
[12] comprising 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 include a first size and a second size that is larger than the first size. The default threshold is associated with the first size or the second size, Adjusting the aforementioned threshold Increasing the default threshold to the adjusted threshold which is greater than the default threshold and associated with the second size, or A handheld controller of
[12] comprising at least one of the following: reducing the default threshold to the adjusted threshold which is smaller than the default threshold and associated with the first size.
[15] The controller body includes at least one control configured to be pressed by a finger or thumb, The handheld controller further comprises a second FSR configured to provide the one or more processors with second force data associated with the at least one control and indicating the amount of force applied to the at least one control. The logic is further configured to adjust a second threshold to a second adjusted threshold corresponding to a specific amount of force of the pressing of the at least one control, which is to be satisfied in order to register a second FSR input event of the at least one control, based at least in part on the size of the hand of the hand of the
[12] handheld controller.
[16] A handheld controller of
[15] in which at least one of the controls is a thumb-operated control included in the head of the controller body and configured to be pressed by the thumb.
[17] The aforementioned logic further, In a first time period after adjusting the threshold to the adjusted threshold, the resistance value measured by the FSR is determined based at least in part on the force data provided by the FSR. The aforementioned resistance value is converted into a digitized FSR input value, Determine whether the digitized FSR input value satisfies or exceeds the adjusted threshold. A handheld controller
[12] configured to register an FSR input event based at least partially on the digitized FSR input value that satisfies or exceeds the adjusted threshold.
[18] Registering the FSR input event activates the binding associated with the handle, and the logic further... A second resistance value measured by the FSR is determined based at least in part on the force data provided by the FSR during a second time after the first time, The second resistance value is converted to a second digitized FSR input value, It is determined that the second digitized FSR input value is smaller than the first digitized FSR input value. A handheld controller of
[17] configured to deactivate the binding based at least in part on a second digitized FSR input value that is smaller than the aforementioned digitized FSR input value.
[19] The aforementioned logic further, In a first time period after adjusting the threshold to the adjusted threshold, the resistance value measured by the FSR is determined based at least in part on the force data provided by the FSR. The aforementioned resistance value is converted into a first digitized FSR input value, Determine whether the first digitized FSR input value satisfies or exceeds the adjusted threshold associated with the FSR input event. A second resistance value measured by the FSR is determined based at least in part on the force data provided by the FSR during a second time after the first time, The second resistance value is converted to a second digitized FSR input value, Determine whether the second digitized FSR input value satisfies or exceeds a second threshold greater than the adjusted threshold associated with the second FSR input event. Determine that the difference between the second time and the first time is shorter than a predefined period. The registration of the aforementioned FSR input event will be withheld. The handheld controller
[12] is configured to register the second FSR input event.
[20] The aforementioned handheld controller is associated with a virtual reality (VR) game system,
[12] .
Claims
1. One or more processors, A handheld controller equipped with a controller body, Logic and, It is equipped with, The controller unit is A handle designed to be held by hand, The head is connected to the handle in the neck region, A first control on the head of the controller body, configured to be pressed by the thumb of the aforementioned hand, A second control located on the head of the controller body, adjacent to the first control, and configured to be pressed by the thumb, A force sensing resistor (FSR) is mounted inside the head of the controller body, positioned below the first control, and configured to provide force data indicating the amount of force applied to the first control to one or more processors. A touch sensor is mounted inside the head of the controller body, positioned below the second control, and configured to provide touch data indicating the thumb in contact with the second control to one or more processors. Includes, The aforementioned logic is, Based at least partially on the force data provided by the FSR, the resistance value measured by the FSR is determined. The aforementioned resistance value is converted into a digitized FSR input value, It is determined that the digitized FSR input value satisfies or exceeds a threshold that must be met in order to register the FSR input event of the first control. Based at least in part on the touch data provided by the touch sensor when the resistance value is measured by the FSR, it is determined that the thumb is in contact with the second control. A system configured to refrain from registering the FSR input event of the first control, at least in part on the basis of determining that the thumb is in contact with the second control.
2. The system according to claim 1, wherein the first control and the second control are configured to be located within a threshold distance of each other on the head of the controller body.
3. The aforementioned logic further, Based at least in part on the touch data provided by the touch sensor at a first time after the time measured by the FSR, it is determined that the thumb is no longer in contact with the second control. Based at least in part on the force data provided by the FSR during the first time period, a second resistance value measured by the FSR is determined. The second resistance value is converted to a second digitized FSR input value, It is determined whether the second digitized FSR input value satisfies or exceeds the threshold, The system according to claim 1, configured to register the FSR input event of the first control at least in part on the second digitized FSR input value that satisfies or exceeds the threshold.
4. The logic further comprises, A third resistance value measured by the FSR is determined based at least in part on the force data provided by the FSR during a second time after the first time, The third resistance value is converted to a third digitized FSR input value, It is determined that the third digitized FSR input value is smaller than the second digitized FSR input value. The system according to claim 3, configured to unregister the FSR input event at least in part based on a third digitized FSR input value that is smaller than the second digitized FSR input value.
5. The FSR input event is a first FSR input event, the threshold is a first threshold, and the logic further... Based at least in part on the touch data provided by the touch sensor at a first time after the time measured by the FSR, it is determined that the thumb is no longer in contact with the second control. Based at least in part on the force data provided by the FSR during the first time period, a second resistance value measured by the FSR is determined. The second resistance value is converted to a second digitized FSR input value, It is determined whether the second digitized FSR input value satisfies or exceeds the first threshold associated with the first FSR input event. A third resistance value measured by the FSR is determined based at least in part on the force data provided by the FSR during a second time after the first time, The third resistance value is converted to a third digitized FSR input value, It is determined that the third digitized FSR input value satisfies or exceeds a second threshold greater than the first threshold associated with the second FSR input event. Determine that the difference between the second time and the first time is shorter than a predefined period. The registration of the first FSR input event is withheld. The system according to claim 1, configured to register the second FSR input event.
6. One or more processors determine the resistance value measured by a force-sensing resistor (FSR) installed inside the head of the handheld controller's controller body, Here, the FSR is positioned below the first control on the head of the controller body, The first control is configured to be pressed by the thumb of the hand gripping the handle connected to the head in the neck region of the controller body, The resistance value is determined at least in part based on force data provided to one or more processors by the FSR. The force data indicates the amount of force applied by the first control. The one or more processors convert the resistance value into a digitized FSR input value, The one or more processors determine whether the digitized FSR input value satisfies or exceeds a threshold that must be met to register an FSR input event for the first control. The one or more processors determine that the thumb is in contact with a second control on the head adjacent to the first control. Here, the second control is configured to be pressed by the thumb, When the resistance value is measured by the FSR, it is determined that the thumb is in contact with the second control, at least in part, based on the touch data provided to one or more processors by the touch sensor. The touch sensor is mounted inside the head of the controller body and positioned below the second control. The touch data indicates that the thumb is in contact with the second control. A method for refraining from registering the FSR input event of the first control, at least in part on the determination by one or more processors that the thumb is in contact with the second control.
7. The method according to claim 6, wherein the first control and the second control are configured to be located on the head of the controller body within a threshold distance of each other.
8. The one or more processors determine, at least in part, that the thumb is no longer in contact with the second control, based on the touch data provided by the touch sensor at a first time after the time the resistance value was measured by the FSR. The one or more processors determine a second resistance value measured by the FSR based at least partially on the force data provided by the FSR in the first time period. The one or more processors convert the second resistance value into a second digitized FSR input value. The one or more processors determine whether the second digitized FSR input value satisfies or exceeds the threshold. The method according to claim 6, wherein one or more processors register the FSR input event of the first control at least in part on the second digitized FSR input value that satisfies or exceeds the threshold.
9. The method further comprises, The one or more processors determine a third resistance value measured by the FSR based at least in part on the force data provided by the FSR in a second time after the first time, The one or more processors convert the third resistance value into a third digitized FSR input value. The one or more processors determine that the third digitized FSR input value is smaller than the second digitized FSR input value. The method according to claim 8, wherein one or more processors unregister the FSR input event based at least in part on a third digitized FSR input value that is smaller than the second digitized FSR input value.
10. The FSR input event is a first FSR input event, the threshold is a first threshold, and the method further... The one or more processors determine, at least in part, that the thumb is no longer in contact with the second control, based on the touch data provided by the touch sensor at a first time after the time the resistance value was measured by the FSR. The one or more processors determine a second resistance value measured by the FSR based at least partially on the force data provided by the FSR in the first time period. The one or more processors convert the second resistance value into a second digitized FSR input value. The one or more processors determine whether the second digitized FSR input value satisfies or exceeds the first threshold associated with the first FSR input event. The one or more processors determine a third resistance value measured by the FSR based at least in part on the force data provided by the FSR in a second time after the first time, The one or more processors convert the third resistance value into a third digitized FSR input value. The one or more processors determine whether the third digitized FSR input value satisfies or exceeds a second threshold greater than the first threshold associated with the second FSR input event. One or more processors determine that the difference between the second time and the first time is shorter than a predefined period. The one or more processors mentioned above refrain from registering the first FSR input event. The method according to claim 6, wherein one or more processors register the second FSR input event.