Operation device, simulated rocker control method, and computer program

By introducing a connection unit, a storage unit, a determination unit and an update unit into the operating device, the center point output value of the analog joystick is dynamically determined and updated, which solves the problem of inaccurate output value when an external analog joystick is connected, and realizes precise setting of the output value and accurate operation of the device.

CN120641862APending Publication Date: 2025-09-12SONY INTERACTIVE ENTERTAINMENT LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202480009538.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-02-17
Filing Date
2024-01-25
Publication Date
2025-09-12

AI Technical Summary

Technical Problem

In an operating device, when an external analog joystick is connected, it is difficult to accurately obtain the output value of its center point, resulting in inaccurate output value.

Method used

Through the combination of the connection unit, the storage unit, the determination unit and the update unit, the output value of the analog joystick when it is at the center point is dynamically determined and updated to ensure the accuracy of the output value.

Benefits of technology

The precise setting of the center point output value of the external analog joystick is achieved to ensure the accuracy and consistency of the operating equipment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120641862A_ABST
    Figure CN120641862A_ABST
Patent Text Reader

Abstract

A controller 6 is provided with a storage unit that stores a predetermined output value from an externally mounted simulation rocker when the simulation rocker is at a center point. If the plurality of output values from the simulated rocker are values within a range in which the simulated rocker is assumed to be in a center point, the controller 6 determines an output value having the highest frequency among the plurality of output values. The controller 6 updates the output value stored in the storage unit on the basis of the determined output value.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to data processing technology, and in particular to an operating device, a simulation joystick management method, and a computer program. Background Art

[0002] Among operating devices that input user operations, some include an analog stick that detects the direction in which the stick is tilted and the way it is pushed as analog quantities. Typically, through operations defined during the manufacturing process of the operating device, the output value (voltage value used as a reference) when the analog stick is at its center point is acquired and stored in the operating device. Summary of the Invention

[0003] Technical issues

[0004] Some operating devices have external devices that can be connected to them, and commercially available analog sticks are sometimes connected to such operating devices. Output values ​​when the externally mounted analog stick is at the center point cannot be obtained during the manufacturing process of the operating device.

[0005] The present invention has been made in view of the above-mentioned problem, and an object of the present invention is to provide a technology for accurately setting an output value used as a reference with respect to an analog stick externally attached to an operation device.

[0006] Solution to the problem

[0007] In order to solve the above-mentioned problem, an operating device according to an aspect of the present invention includes: a connecting unit to which an analog joystick is connected; a storage unit that stores an output value that is predetermined and output from the analog joystick when the analog joystick is located at a center point; a determination unit that determines an output value having the highest frequency among a plurality of output values ​​when a plurality of output values ​​from the analog joystick are values ​​within a range assuming that the analog joystick is located at the center point; and an updating unit that updates the output value stored in the storage unit based on the output value determined by the determination unit.

[0008] Another aspect of the present invention is an operating device. The device includes a connection unit to which an analog joystick is connected, a storage unit, and a processor. The storage unit stores an output value predetermined and output from the analog joystick when the analog joystick is at a center point. When multiple output values ​​from the analog joystick fall within a range that assumes the analog joystick is at the center point, the processor determines an output value with the highest frequency among the multiple output values, and the processor updates the output value stored in the storage unit based on the determined output value.

[0009] Another aspect of the present invention is an analog stick management method. In this method, an operating device including a connection unit for connecting the analog stick and a storage unit storing a predetermined output value output from the analog stick when the analog stick is located at a center point performs the steps of determining an output value having the highest frequency among a plurality of output values ​​when the plurality of output values ​​from the analog stick are within a range assuming that the analog stick is located at the center point, and updating the output value stored in the storage unit based on the output value determined in the determination step.

[0010] Note that any combination of the aforementioned components and conversion of expressions of the present invention from / to a system, a computer program, a recording medium storing the computer program, and the like are also effective as aspects of the present invention.

[0011] [Beneficial Effects of the Invention]

[0012] According to the present invention, it is possible to accurately set an output value used as a reference with respect to an analog stick externally connected to an operating device. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] Figure 1 is a diagram for illustrating the configuration of an information processing system according to the embodiment.

[0014] Figure 2 This is an explanatory diagram for describing the setting of process adjustment values ​​of an analog stick in a typical controller provided with an analog stick.

[0015] Figure 3 It is used to illustrate the Figure 1 Diagram of the controller's hardware configuration.

[0016] Figure 4 It is used to illustrate the Figure 1 Block diagram of the functional blocks of the controller.

[0017] Figure 5 is a diagram for illustrating an example of a center point modulus (AD) value range.

[0018] Figure 6 is a graph showing an example of the observation results of AD values.

[0019] Figure 7 (a) and Figure 7 (b) is a diagram for illustrating an example of updating of the center point AD value.

[0020] Figure 8 (a) and Figure 8 (b) is a diagram for illustrating an example of a maximum AD value and a minimum AD value. DETAILED DESCRIPTION

[0021] Figure 1 The configuration of an information processing system 1 according to an embodiment is shown. Information processing system 1 includes a display device 4, an information processing device 10, a controller 6, and an analog stick 8. Information processing device 10 according to an embodiment is a stationary game console. As a modified example, information processing device 10 may be a computer, a tablet terminal, or a smartphone that can execute applications such as games.

[0022] The controller 6 is an operating device that receives user input related to information processing (e.g., video games) executed by the information processing device 10. The controller 6 continuously transmits operation information indicating the user input to the information processing device 10. The controller 6 is connected to the information processing device 10 by wire or wirelessly. The controller 6 may be a game controller. Furthermore, the controller 6 may be an accessibility controller with a high degree of customization compared to typical controllers, making it easy for people with physical disabilities to use the controller 6.

[0023] The display device 4 may be a television set including a display for outputting images and speakers for outputting sounds, or may be a computer monitor. The display device 4 may be connected to the information processing device 10 via a wired cable or wirelessly. When the information processing device 10 receives operation information provided by the controller 6, the information processing device 10 reflects the operation information in the processing in the system software and application software, so that an image related to the processing result is displayed on the display device 4.

[0024] The analog stick 8 is a device including a stick portion operated by the user, and is an external attachment device connected by wire to the jack of the controller 6. As a modified example, the analog stick 8 may be connected to the controller 6 in a wireless form. The analog stick 8 outputs an analog value (voltage value) detected in accordance with the operation of the stick portion to the controller 6.

[0025] In this embodiment, the position of the stick portion when not being operated by the user is referred to as the "center point" of analog stick 8. The center point of analog stick 8 can also be considered the position or posture of the stick portion when not tilted. Furthermore, the center point of analog stick 8 can also be referred to as the "center point position," "center position," and "neutral position." The stick portion itself provided for analog stick 8 is also referred to as analog stick 8 hereinafter.

[0026] Figure 2 This is an explanatory diagram for describing the setting of process adjustment values ​​(calibration values) of an analog stick in a typical controller provided with an analog stick. The setting of the process adjustment values ​​of the analog stick is performed by the following procedure.

[0027] (1) Obtain the process adjustment value related to the center point.

[0028] The analog stick is operated in four directions (up / down / left / right or upper right / upper left / lower right / lower left). The microcomputer reads the voltage value for each operation and applies AD conversion to the read voltage value. The value obtained after AD conversion (hereinafter also referred to as the "AD value") is expressed in 12 bits (0 to 4095). The average of the AD values ​​detected during operation in the four directions is stored in the controller's memory area as the AD value obtained when the analog stick is at the center point (hereinafter also referred to as the "center point AD value"). Figure 2 The center point AD value is "2048".

[0029] (2) Obtain the process adjustment values ​​associated with the maximum tilt state (on the minimum output side and the maximum output side).

[0030] The analog stick is rotated 1+α times or more, and the voltage value at this time is always detected. The minimum voltage value (minimum AD value) and the maximum voltage value (maximum AD value) among the detected voltage values ​​are stored in the memory area of ​​the controller as process adjustment values. The minimum AD value is the AD value detected when the analog stick is tilted to the maximum on the minimum output side, and Figure 2 The minimum AD value is "811". The maximum AD value is the AD value detected when the analog stick is tilted most at the maximum output side, and Figure 2 The maximum AD value is "3285".

[0031] (3) Generate internal parameters based on the center point AD value, minimum AD value, and maximum AD value, and obtain the width of each output value (dynamic range) through calculation.

[0032] An offset is provided for each of the minimum and maximum lateral movement ranges. The offset may be one or both of a predetermined ratio (e.g., 4%) of the distance from the center point AD value to the minimum AD value and a predetermined ratio (e.g., 4%) of the distance from the center point AD value to the maximum AD value. The minimum output side (minimum value to the center point) excluding the offset is normalized within the range of 0 to 128. Furthermore, the maximum output side (center point to maximum value), excluding the offset, is normalized within the range of 128 to 255.

[0033] (4) The AD value corresponding to the normalized output value of 0 is called the minimum AD value, and the AD value corresponding to the normalized output value of 255 is called the maximum AD value. The center point AD value, the minimum AD value, the minimum AD value, the maximum AD value, and the maximum AD value are values ​​used as a reference for generating operation information and are stored in the storage area of ​​the controller 6.

[0034] Reference values ​​(which can also be referred to as adjustment values, for example, each of the aforementioned AD values) are typically determined through defined operations in a controlled environment, such as a factory, and then stored in controller 6. Here, the reference values ​​vary depending on the individual controller 6 (analog stick). Therefore, it is difficult to pre-store reference values ​​in controller 6 related to analog stick 8, which is manufactured separately from controller 6 and then externally attached to controller 6. In this embodiment, a technique for dynamically setting adjustment values ​​related to analog stick 8 externally attached to controller 6 is proposed.

[0035] Figure 3 Is used to illustrate and Figure 1 FIG. 6 is a diagram showing a hardware configuration of the controller 6 according to the present embodiment. The controller 6 includes an operation button 20, a direction key 21, an analog stick 22, a processor 23, a storage unit 24, a communication control unit 25, and a connection unit 26.

[0036] The operation buttons 20 are buttons for inputting operations such as confirming and releasing. The directional keys 21 are buttons capable of receiving input in eight directions: up, down, left, right, and tilt. The analog stick 22 is provided on the controller 6 when it is manufactured and is different from the externally attached analog stick 8. The processor 23 performs various types of data processing. The processor 23 may include a central processing unit (CPU), memory, and a system on a chip (SoC).

[0037] The storage unit 24 stores data referenced or updated by the processor 23. The storage unit 24 includes, for example, flash memory. The communication control unit 25 controls communication with external devices. In the embodiment, the communication control unit 94 communicates wirelessly with the information processing device 10. However, as a modified example, the communication control unit 94 may communicate with the information processing device 10 via a wired connection. The connection unit 26 is an interface to which the analog stick 8 is connected. In the embodiment, the connection unit 26 is a 3.5mm jack (e.g., an auxiliary (AUX) port).

[0038] Figure 4 Is used to illustrate and Figure 1 6. Each block shown in the block diagram herein can be implemented in hardware by components such as a computer processor, CPU, and memory, electronic circuits, and mechanical devices, and in software by, for example, a computer program loaded on the memory, and the functional blocks implemented by their collaboration are shown herein. Therefore, those skilled in the art will understand that these functional blocks can be implemented in various forms through a combination of hardware and software.

[0039] The controller 6 includes a storage unit 100 and a processing unit 110. The processing unit 110 performs various types of information processing. The processing unit 110 is implemented by the processor 23. The storage unit 100 and the processing unit 110 are connected. Figure 3 The storage unit 100 corresponds to the storage unit 24 and stores data referenced or updated by the processing unit 110. The storage unit 100 includes a reference value storage unit 102.

[0040] The reference value storage unit 102 stores the above-mentioned center point AD value, which is the output value from the externally mounted analog stick 8 when the analog stick 8 is at the center point. In addition, the tilt of the analog stick 8 is managed according to two axes, namely, the X-axis (horizontal axis) and the Y-axis (vertical axis). The reference value storage unit 102 stores, for each of the X-axis and the Y-axis, a maximum AD value and a maximum' AD value, which are output values ​​when the analog stick 8 is tilted to the maximum output side. In addition, for each of the X-axis and the Y-axis, the reference value storage unit 102 stores a minimum AD value and a minimum' AD value, which are output values ​​when the analog stick 8 is tilted to the minimum output side. When the center point AD value, the minimum AD value, the minimum' AD value, the maximum AD value, and the maximum' AD value are generally referred to, they are referred to as "reference AD ​​values."

[0041] The reference value storage unit 102 may be implemented as a volatile memory. In this case, each time the power of the controller 6 is switched from off to on, a new reference AD ​​value may be created and stored in the reference value storage unit 102. In addition, each time the analog stick 8 is switched from a state in which the analog stick 8 is not connected to the controller 6 to a state in which the analog stick 8 is connected to the controller 6, a new reference AD ​​value may be created and stored in the reference value storage unit 102.

[0042] The processing unit 110 includes an operation detection unit 112, an operation information generation unit 114, an operation information transmission unit 116, a connection detection unit 120, a state determination unit 122, a reference value setting unit 124, a center point reference value determination unit 126, a center point reference value updating unit 128, a maximum reference value updating unit 130, and a minimum reference value updating unit 132. A computer program (e.g., firmware) that implements the functions of at least some of the plurality of functional blocks may be stored in the storage unit 24 of the controller 6. The processor 23 of the controller 6 may read the computer program into the main memory to execute the computer program, thereby realizing the functions of at least some of the functional blocks described above.

[0043] The operation detection unit 112 detects operations performed by the user and input to the controller 6 and the analog stick 8. The operations performed by the user include operations of pressing various types of buttons of the controller 6, operations of tilting the analog stick 22 of the controller 6, and operations of tilting the externally attached analog stick 8.

[0044] The operation detection unit 112 acquires an analog value related to the user's operation of the analog stick 8, which is indicated by an output signal from the analog stick 8. The operation detection unit 112 applies AD conversion to the analog value acquired from the analog stick 8, and transmits the digital value (AD value) that has undergone the conversion to the operation information generation unit 114.

[0045] The operation information generating unit 114 generates operation information related to an operation performed by the user, based on an operation input by the user to the controller 6 and detected by the operation detecting unit 112. In the present embodiment, the operation information generating unit 114 compares the AD value output from the operation detecting unit 112 and the reference AD ​​values ​​(center point AD value, minimum AD value, and maximum AD value) stored in the reference value storage unit 102 with each other, thereby deriving a normalized output value (a value of 0 to 255) corresponding to the AD value output from the operation detecting unit 112.

[0046] The operation information transmission unit 116 transmits the operation information generated by the operation information generation unit 114 to the information processing device 10. For example, the operation information includes the normalized output value derived by the operation information generation unit 114 and transmits the operation information to the information processing device 10. The information processing device 10 executes an application such as a game based on the operation information transmitted from the controller 6.

[0047] The connection detection unit 120 detects the connection of a device (the analog stick 8 in the embodiment) to the connection unit 26. The state determination unit 122 determines whether the analog stick 8 is in a normal state based on the output value from the analog stick 8. The reference value setting unit 124 derives an initial value of the reference AD ​​value based on the determination result as to whether the analog stick 8 is in a normal state and the output value from the analog stick 8, and stores the initial value in the reference value storage unit 102.

[0048] The center point reference value determination unit 126 determines a value (a second center point AD value to be described later) for updating the reference AD ​​value stored in the reference value storage unit 102 based on the output value from the analog stick 8. The center point reference value updating unit 128 updates the center point AD value serving as the reference AD ​​value stored in the reference value storage unit 102 based on the value for updating determined by the center point reference value determination unit 126.

[0049] The maximum reference value updating unit 130 updates the maximum AD value and the maximum AD value used as the reference AD ​​value stored in the reference value storage unit 102 based on the output value from the analog stick 8. The minimum reference value updating unit 132 updates the minimum AD value and the minimum AD value used as the reference AD ​​value stored in the reference value storage unit 102 based on the output value from the analog stick 8.

[0050] A description will now be given of the operation of the controller 6 having the above-described configuration.

[0051] First, a description is given of an operation performed when the analog stick 8 is connected to the connection unit 26 of the controller 6, which is an operation performed when the reference AD ​​value is set for the first time.

[0052] The connection detection unit 120 of the controller 6 detects the connection of the analog stick 8 to the connection unit 26 based on the signal output from the analog stick 8. The state determination unit 122 of the controller 6 holds a range of AD values ​​(hereinafter also referred to as a "center point AD value range") in which the analog stick 8 is assumed to be at the center point or a range near it (hereinafter also referred to as a "center point range"). Figure 5 An example of the center point AD value range is illustrated. The center point AD value range is predefined based on the description in the instruction manual of the analog stick 8.

[0053] State determination unit 122 applies AD conversion to the analog values ​​output from analog stick 8, thereby acquiring AD values ​​(hereinafter also referred to as "output AD values"). State determination unit 122 determines whether each output AD value is within the range of each center point AD value. State determination unit 122 repeats the acquisition and determination of output AD values ​​1000 times every 1 millisecond.

[0054] State determination unit 122 determines that analog stick 8 is in a normal state if predefined normality criteria are met. The normality criteria are met if each AD value output from analog stick 8 is continuously within the range of each center point AD value for 100 milliseconds—in other words, if the determination result is affirmative 100 times in a row. Normal states of analog stick 8 include states where analog stick 8 is not broken and states where analog stick 8 is not connected in an inclined position. If the normality determination criteria are not met after 1000 determinations, state determination unit 122 determines that analog stick 8 is in an abnormal state.

[0055] If the state determination unit 122 determines that the analog stick 8 is in a normal state, the reference value setting unit 124 stores the center point AD value based on the output AD value from the analog stick 8 in the reference value storage unit 102. Meanwhile, if the analog stick 8 is determined by the state determination unit 122 to be in an abnormal state, the reference value setting unit 124 stores the median value "2048" of the 12-bit AD value as each center point AD value in the reference value storage unit 102. Furthermore, the reference value setting unit 124 stores in the reference value storage unit 102 the minimum AD value, minimum AD value, maximum AD value, and maximum AD value that are predefined based on the description in the manual of the analog stick 8.

[0056] A detailed description will now be given of the setting of the center point AD value by the reference value setting unit 124. The reference value setting unit 124 derives the average value of the ten most recent output AD values ​​(hereinafter also referred to as "sampled AD values") that fall within the center point AD value range as each center point AD value. The reference value setting unit 124 applies the following conversion for eliminating hysteresis to each of the ten sampled AD values ​​and then derives the average value.

[0057] The hysteresis is a predetermined ratio at each end of the center point AD value range and is hereinafter represented as "Center His %". In addition, the minimum value of the center point AD value range is expressed as "Center min ", and the maximum value of the center point AD value range is expressed as "Center max ”.

[0058] When sampling AD value in Center min To Center min +Center His %, the sampled AD value is converted to Center min +Center His %.

[0059] When sampling AD value in Center max -Center His % to Center max In the case of the range, the sampled AD value is converted to Center max -Center His %.

[0060] As Center His %, an appropriate value can be determined by the developer's knowledge or by experiments using the information processing system 1 .

[0061] The reference AD ​​value is stored in the reference value storage unit 102 of the controller 6 through the above operation. The operation information generation unit 114 of the controller 6 derives a normalized output value (0 to 255) corresponding to the user's operation and input to the analog stick 8 based on the reference AD ​​value stored in the reference value storage unit 102, thereby generating operation information. The operation information transmission unit 116 of the controller 6 transmits the operation information to the information processing device 10.

[0062] However, if the analog stick 8 is tilted within the center point range, or if the measurement of the tilt amount fails for some reason, for example, when the analog stick 8 is connected to the controller 6, the center point position (center point AD value) of the analog stick 8 is erroneously recognized. Therefore, the controller 6 repeatedly performs the operation of calibrating the center point AD value.

[0063] A description is now given of the operation of calibrating the center point AD value.

[0064] The operation detection unit 112 of the controller 6 applies AD conversion to the multiple analog values ​​sequentially output from the analog stick 8 and sequentially transmits the multiple AD values ​​obtained as the conversion results to the center point reference value determination unit 126. When the multiple AD values ​​corresponding to the multiple output values ​​from the analog stick 8 are values ​​within the range of each center point AD value, the center point reference value determination unit 126 determines the AD value with the highest frequency among the multiple AD values. The center point reference value determination unit 126 obtains the AD value with the highest frequency among the multiple AD values ​​and transmits it to the center point reference value updating unit 128. In this embodiment, the center point reference value determination unit 126 determines the AD value with the highest frequency among the multiple AD values ​​as the center point AD value. The center point AD value determined by the center point reference value determination unit 126 is used to update the center point AD value used as the reference value stored in the reference value storage unit 102.

[0065] Specifically, the center point reference value determination unit 126 subdivides Figure 5 The central point AD value range is shown, the frequency (hereinafter also referred to as "level") of observing each subdivided range of the AD value is obtained, and a plurality of levels are determined. Figure 6 is a graph showing an example of the observation results of AD values. Figure 6 The horizontal axis represents the level of AD values. For example, an AD value level of 2000 indicates that the range of AD values ​​is 2000 to 2049. Also, an AD value level of 2050 indicates that the range of AD values ​​is 2050 to 2099. The vertical axis represents frequency (in other words, the number of times).

[0066] Here, the center point range is set to ±XmV, and the number of AD values ​​in one side of XmV is set to X. ad The AD value in this embodiment has a 12-bit resolution and is therefore a value from 0 to 4095. Here, the width of the AD level value when the center point range to be normalized is to be allocated to ±N counts is twice the width of the AD value allocated to one normalized output value. For example, at 25 ad In the case where counts corresponds to a normalized output value, the width of each level value when obtaining statistics is set to 50 ad counts.

[0067] Now, a description is given of the width (AD count value) of each level range. Even when the analog stick 8 is stationary, there is an influence of quantization noise corresponding to approximately several counts. In order to reduce the influence of quantization noise on the AD value in the stationary state, the width of each level range is required to be wider than the width that varies due to quantization noise. In addition, when the width of each level range is reduced, the accuracy increases, while the processing volume increases. Therefore, it is desirable to have a wider width as long as the required accuracy is ensured. The width of each level range in the embodiment is 50 ad counts.

[0068] The center point reference value determination unit 126 repeats the following process: receiving the output AD value from the analog stick 8 and incrementing the frequency of the level corresponding to each output AD value every 1 millisecond until the frequency of the level with the highest frequency (the level at the first position in frequency) reaches 10,000 times. Figure 6 In the example, the first position on the frequency is the AD value level 2000 (the frequency is 10000), the second position on the frequency is the AD value level 2050 (the frequency is 500), and the third position on the frequency is the AD value level 2150 (the frequency is 30).

[0069] The AD value level at the first frequency position and the AD value level at the second frequency position are substantially adjacent to each other. Therefore, when vibration occurs in analog stick 8, the difference between the frequency at the first frequency position and the frequency at the second frequency position may decrease. Therefore, in this embodiment, center point reference value determination unit 126 ignores the AD value level at the second frequency position. Center point reference value determination unit 126 uses the frequency of the AD value level at the first frequency position and the frequency of the AD value level at the third frequency position to determine whether the ratio of the frequency of the AD value level at the first frequency position exceeds a predetermined threshold. If the ratio exceeds the threshold, center point reference value determination unit 126 determines that analog stick 8 is at rest, in other words, not tilted. The threshold value can be appropriately determined based on the developer's knowledge or through experimentation using information processing system 1. In this embodiment, the threshold value is 0.97.

[0070] exist Figure 6In the example of , (the frequency of the AD value level located at the first position in frequency) / (the frequency of the AD value level located at the first position in frequency+the frequency of the AD value level located at the third position in frequency)=10000 / 10030=0.997. The ratio of the frequencies of the AD value levels located at the first position in frequency exceeds the threshold value 0.97, and therefore, the center point reference value determination unit 126 determines that the analog stick 8 is in a stationary state. In the case where the analog stick 8 is determined to be in a stationary state, the center point reference value determination unit 126 determines the median value of the AD value levels located at the first position in frequency as the center point AD value. Figure 6 In the example, the median value 2025 of the AD value level 2000 is determined as the center point advertising value.

[0071] If the ratio of the frequencies of the AD value levels located at the first frequency position is equal to or lower than a predetermined threshold (e.g., 0.97), the center point reference value determination unit 126 determines that the analog stick 8 is not stationary. If the center point reference value determination unit 126 determines that the analog stick 8 is not stationary, the center point reference value determination unit 126 discards the distribution of AD values ​​created up to the current time and creates a new distribution of AD values. In other words, the center point reference value determination unit 126 newly begins the process of incrementing the frequency of the level corresponding to the newly received AD value.

[0072] If at least one of the multiple AD values ​​corresponding to the multiple output values ​​from analog stick 8 is outside the range of the central point AD values, central point reference value determination unit 126 obtains, instead of the multiple AD values ​​created up to the current time, the frequency of each rank of multiple new AD values ​​corresponding to the multiple output values ​​newly output from analog stick 8. That is, if central point reference value determination unit 126 obtains an AD value outside the range of the central point AD values ​​before the frequency of the rank located first in frequency reaches 10,000, in other words, during the ranking, central point reference value determination unit 126 determines that analog stick 8 is not in a stationary state. If central point reference value determination unit 126 determines that analog stick 8 is not in a stationary state, central point reference value determination unit 126 discards the distribution of AD values ​​created up to the current time and creates a new distribution of AD values.

[0073] The center point reference value updating unit 128 of the controller 6 updates the center point AD value (hereinafter also referred to as the "first center point AD value") pre-stored in the reference value storage unit 102 based on the center point AD value (hereinafter also referred to as the "second center point AD value") determined by the center point reference value determining unit 126. The center point reference value updating unit 128 does not immediately change the first center point AD value to the second center point AD value, but changes the first center point AD value so that the first center point AD value approaches the second center point AD value by an amount smaller than the difference between the first center point AD value and the second center point AD value.

[0074] Figure 7 (a) and Figure 7 (b) is a diagram for illustrating an example of updating the central point AD value. Figure 7 As shown in (a), when the difference between the first center point AD value and the second center point AD value is greater than the predefined distance threshold, the center point reference value updating unit 128 relatively greatly changes the first center point AD value so that the first center point AD value is close to the second center point AD value. Figure 7 As shown in (a), the center point reference value updating unit 128 updates the original first center point AD value to the corrected first center point AD value. Therefore, when the error of the first center point AD value is large, it is helpful to quickly resolve the error.

[0075] At the same time, if Figure 7 As shown in (b), when the difference between the first center point AD value and the second center point AD value is equal to or less than the distance threshold, the center point reference value updating unit 128 relatively slightly changes the first center point AD value so that the first center point AD value is close to the second center point AD value. That is, Figure 7 As illustrated in (b), the center point reference value updating unit 128 updates the original first center point AD value to the corrected first center point AD value. Therefore, when the error of the first center point AD value is small, it helps to resolve the error without making the user feel unfamiliar. Figure 7 (a) and Figure 7 In any of the cases of (b), the new first center point AD value for this update and the newly determined second center point AD value are compared with each other at the next update time.

[0076] The distance threshold can be determined appropriately based on the developer's knowledge or through experimentation with the information processing system 1. For example, it can be a difference of 100 in the AD value. For example, if the difference between the first center point AD value and the second center point AD value exceeds 100 during the first update time, the first center point AD value can be shifted by 100 to approach the second center point AD value. At the subsequent second update time, if the difference between the first center point AD value updated at the first update time and the new second center point AD value is equal to or less than 100, the first center point AD value can be shifted by 25 to approach the second center point AD value. Furthermore, if the difference between the first center point AD value and the second center point AD value is equal to or less than 25, updating the first center point AD value can be suppressed.

[0077] As a modified example, center point reference value updating unit 128 may also change the first center point AD value more as the difference between the first and second center point AD values ​​increases. Furthermore, center point reference value updating unit 128 may also change the first center point AD value more slightly as the difference between the first and second center point AD values ​​decreases. This modified example also facilitates rapid error resolution when the error in the first center point AD value is large, and facilitates error resolution without causing a user to feel unfamiliar when the error is small.

[0078] A description is now given of the operation of calibrating the maximum AD value and the minimum AD value.

[0079] Figure 8 (a) and Figure 8 (b) is a diagram for illustrating an example of a maximum AD value and a minimum AD value. Figure 8 (a) illustrates an example of the minimum AD value, minimum AD value, maximum AD value, and maximum AD value set when the analog stick 8 is connected to the controller 6. As described above, the reference value setting unit 124 of the controller 6 stores the minimum AD value, minimum AD value, maximum AD value, and maximum AD value predefined based on the description in the manual of the analog stick 8 in the reference value storage unit 102.

[0080] The maximum reference value updating unit 130 of the controller 6 dynamically changes the maximum AD value and the maximum 'AD value based on user input to the analog stick 8. Furthermore, the minimum reference value updating unit 132 dynamically changes the minimum AD value and the minimum 'AD value based on user input to the analog stick 8. The maximum tilt amount (maximum AD value) and the minimum tilt amount (minimum AD value) relative to the center point (center point AD value) often have unequal widths. Therefore, the processing of the maximum reference value updating unit 130 and the processing of the minimum reference value updating unit 132 are performed independently of each other. In other words, the set of maximum AD value and maximum 'AD value, as well as the set of minimum AD value and minimum 'AD value, are adjusted independently of each other.

[0081] Figure 8 (b) is a diagram illustrating an example of the minimum AD value, minimum AD value, maximum AD value, and maximum AD value after calibration. The operation detection unit 112 of the controller 6 transmits the AD value based on the operation performed by the user and input to the analog stick 8 to the maximum reference value updating unit 130 and the minimum reference value updating unit 132.

[0082] If the received AD value is greater than the maximum AD value stored in the reference value storage unit 102, the maximum reference value updating unit 130 updates the maximum AD value in the reference value storage unit 102 to the received AD value. Furthermore, the maximum reference value updating unit 130 subtracts a predetermined offset from the updated maximum AD value to derive the maximum AD value. The maximum reference value updating unit 130 updates the maximum AD value in the reference value storage unit 102 to the new maximum AD value.

[0083] If the received AD value is less than the minimum AD value stored in the reference value storage unit 102, the minimum reference value updating unit 132 updates the minimum AD value in the reference value storage unit 102 to the received AD value. Furthermore, the minimum reference value updating unit 132 adds a predetermined offset to the updated minimum AD value to derive the minimum AD value. The maximum reference value updating unit 130 updates the minimum AD value in the reference value storage unit 102 to the new minimum AD value.

[0084] Note that the tilt of the analog stick 8 is managed along two axes: the X-axis (horizontal axis) and the Y-axis (vertical axis). The maximum reference value updating unit 130 updates the maximum AD value and the maximum AD value for each of the X-axis and the Y-axis. The minimum reference value updating unit 132 updates the minimum AD value and the minimum AD value for each of the X-axis and the Y-axis.

[0085] According to this embodiment, controller 6 can dynamically and accurately determine AD values ​​(center point AD value, minimum AD value, minimum AD value, maximum AD value, and maximum AD value) that serve as a reference for deriving normalized output values ​​that accurately reflect user operations input to analog stick 8. Furthermore, controller 6 can continuously calibrate the AD values ​​used as a reference. Furthermore, when the center point AD value is to be updated, controller 6 gradually brings the center point AD value closer to the correct value, thereby preventing the results of analog stick 8 operations from becoming unexpected by the user.

[0086] The present invention has been described based on the embodiment. The embodiment is illustrative, and it should be understood by those skilled in the art that modified examples can be made in the combination of components and their processing procedures, and these modified examples are also within the scope of the present invention.

[0087] A modified example will now be described. In the above embodiment, center point reference value determination unit 126 determines whether analog stick 8 is stationary based on the frequency of the level located at the first frequency position and the frequency of the level located at the third frequency position in the AD value distribution. As a modified example, center point reference value determination unit 126 may obtain a level located at the second frequency position within the AD value distribution, excluding the levels on both sides of the level located at the first frequency position. In this case, center point reference value determination unit 126 may determine whether analog stick 8 is stationary based on the frequency of the level located at the first frequency position and the frequency of the level located at the second frequency position. In this modified example, center point reference value determination unit 126 may determine that analog stick 8 is stationary when (frequency at the first frequency position) / (frequency at the first frequency position + frequency at the second frequency position) exceeds a predetermined threshold (e.g., 0.97).

[0088] Any combination of the above-described embodiments and modifications is also useful as an embodiment of the present invention. New embodiments generated as a result of the combination have both the effects of the combined embodiments and the effects of the combined modifications. Furthermore, those skilled in the art will also understand that the functions to be provided by each of the components described in the claims are achieved by a single component or by the cooperation of components described in the embodiments and modifications.

[0089] The technical ideas described in the embodiment and the modified examples can be expressed as the forms described in the following items.

[0090] [Item 1]

[0091] Operating equipment, including:

[0092] a connecting unit to which the analog stick is connected;

[0093] a storage unit storing an output value predetermined and output from the analog stick when the analog stick is at a center point;

[0094] a determining unit that, when a plurality of output values ​​from the analog stick are values ​​within a range assuming that the analog stick is at the center point, determines an output value having the highest frequency among the plurality of output values ​​as the output value at the time when the analog stick is at the center point; and

[0095] An updating unit that updates the output value stored in the storage unit based on the output value determined by the determination unit to be the output value when the analog stick is at the center point.

[0096] With this operating device, it is possible to accurately determine the output value when the analog stick is not operated and is at the center point (output value used as a reference).

[0097] [Item 2]

[0098] The operating device according to item 1,

[0099] Here, when at least one of the plurality of output values ​​from the analog stick is a value outside the range, the determination unit obtains frequencies of a plurality of output values ​​newly output from the analog stick in place of the plurality of output values.

[0100] With this operating device, it is possible to accurately determine the output value when the analog stick is not operated and is at the center point (output value used as a reference).

[0101] [Item 3]

[0102] The operating device according to item 1 or 2,

[0103] wherein, when the output value stored in the storage unit is referred to as a first output value and the output value determined by the determination unit as the output value when the analog joystick is at the center point is referred to as a second output value,

[0104] The updating unit changes the first output value so that the first output value approaches the second output value by an amount smaller than a difference between the first output value and the second output value.

[0105] With this operation device, the amount of change in the output value (output value used as a reference) when the analog stick is at the center point can be suppressed, thereby helping to avoid operation results that are unexpected for the user.

[0106] [Item 4]

[0107] The operating device according to item 3,

[0108] The updating unit changes the first output value more significantly as the difference between the first output value and the second output value increases, and changes the first output value more slightly as the difference between the first output value and the second output value decreases.

[0109] With the operating device, the error in the first output value can be quickly resolved when the error in the first output value is large, and when the error in the first output value is small, the error can be easily resolved without causing a user to feel unfamiliar.

[0110] [Item 5]

[0111] The operating device according to any one of items 1 to 4,

[0112] Herein, when a ratio of a highest frequency based on the highest frequency to a third highest frequency in the distribution of the plurality of output values ​​exceeds a predetermined threshold, the determination unit determines the output value having the highest frequency as the output value when the analog joystick is at the center point.

[0113] In the distribution of multiple output values, the highest frequency and the second-highest frequency are substantially adjacent to each other. Therefore, if wobble occurs, there is a possibility that the highest frequency and the second-highest frequency are similar frequencies. With this operating device, even if wobble occurs, the output value when the analog stick is at the center point (the output value used as a reference) can be accurately determined.

[0114] [Item 6]

[0115] Operating equipment, including:

[0116] a connecting unit to which the analog stick is connected;

[0117] a storage unit that stores an output value that is predetermined and output from the analog stick when the analog stick is at a center point; and

[0118] processor,

[0119] wherein, when a plurality of output values ​​from the analog joystick are values ​​within a range assuming that the analog joystick is at the center point, the processor determines an output value having the highest frequency among the plurality of output values ​​as the output value when the analog joystick is at the center point, and

[0120] When the analog stick is at the center point, the processor updates the output value stored in the storage unit based on the determined output value.

[0121] With this operation device, it is possible to accurately obtain the output value when the analog stick is not operated and is at the center point (output value used as a reference).

[0122] [Item 7]

[0123] A method for managing an analog joystick, comprising:

[0124] The following steps are performed by an operating device including a connection unit to which an analog stick is connected and a storage unit storing an output value predetermined and output from the analog stick when the analog stick is at a center point:

[0125] In a case where a plurality of output values ​​from the analog stick are values ​​within a range where the analog stick is assumed to be at the center point, determining an output value having the highest frequency among the plurality of output values ​​as an output value when the analog stick is at the center point; and

[0126] a step of updating the output value stored in the storage unit as an output value when the analog stick is at the center point based on the output value determined by the determining step.

[0127] With this analog stick management method, it is possible to accurately obtain the output value (output value used as a reference) when the analog stick is not operated and is at the center point.

[0128] [Item 8]

[0129] A computer program for causing an operating device to implement the following functions, the operating device comprising a connection unit and a storage unit, wherein an analog stick is connected to the connection unit, and the storage unit stores an output value predetermined and output from the analog stick when the analog stick is at a center point:

[0130] a function of determining, in a case where a plurality of output values ​​from the analog stick are values ​​within a range in which the analog stick is assumed to be at the center point, an output value having the highest frequency among the plurality of output values ​​as an output value when the analog stick is at the center point; and

[0131] A function for updating the output value stored in the storage unit based on the output value determined by the function for determining the output value when the analog stick is at the center point.

[0132] This computer program enables the operating device to implement processing for accurately acquiring an output value (output value used as a reference) when the analog stick is not operated and is at the center point.

[0133] Industrial Applicability

[0134] The present invention is applicable to an operating device and also to a system including an operating device.

[0135] Reference Signs List

[0136] 1: Information Processing System

[0137] 6: Controller

[0138] 8: Analog stick

[0139] 23: Processor

[0140] 26: Connection unit

[0141] 102: Reference value storage unit

[0142] 112: Operation detection unit

[0143] 122: Status determination unit

[0144] 124: Reference value setting unit

[0145] 126: Center point reference value determination unit

[0146] 128: Center point reference value update unit

[0147] 130: Maximum reference value update unit

[0148] 132: Minimum reference value update unit.

Claims

1. An operating device, comprising: a connecting unit to which the analog stick is connected; a storage unit storing an output value predetermined and output from the analog stick when the analog stick is at a center point; a determining unit configured to, when a plurality of output values ​​from the analog stick are values ​​within a range assuming that the analog stick is located at the center point, determine an output value having a highest frequency among the plurality of output values; as well as An updating unit that updates the output value stored in the storage unit based on the output value determined by the determining unit.

2. The operating device according to claim 1, in, The determination unit obtains frequencies of a plurality of output values ​​newly output from the analog stick in place of the plurality of output values ​​when at least one of the plurality of output values ​​from the analog stick is a value outside the range.

3. The operating device according to claim 1, in, When the output value stored in the storage unit is set as the first output value, and the output value determined by the determination unit is set as the second output value, The updating unit changes the first output value so that the first output value approaches the second output value by an amount smaller than a difference between the first output value and the second output value.

4. The operating device according to claim 3, in, The updating unit relatively largely changes the first output value when the difference between the first output value and the second output value is greater than a predetermined threshold value, and relatively slightly changes the first output value when the difference between the first output value and the second output value is equal to or less than the predetermined threshold value.

5. The operating device according to claim 1, in, The determination unit acquires the output value having the highest frequency in a case where a ratio of a highest frequency based on the highest frequency to a third highest frequency in the distribution of the plurality of output values ​​exceeds a predetermined threshold value.

6. An operating device comprising: a connecting unit to which the analog stick is connected; a storage unit storing an output value predetermined and output from the analog stick when the analog stick is at a center point; as well as processor; wherein, in a case where a plurality of output values ​​from the analog joystick are values ​​within a range assuming that the analog joystick is located at the center point, the processor determines an output value having the highest frequency among the plurality of output values, and The processor updates the output value stored in the storage unit based on the determined output value.

7. A method for managing an analog joystick, comprising: The following steps are performed by an operating device including a connection unit to which an analog stick is connected and a storage unit storing an output value predetermined and output from the analog stick when the analog stick is at a center point: In a case where a plurality of output values ​​from the analog stick are values ​​within a range where the analog stick is assumed to be at the center point, determining an output value having the highest frequency among the plurality of output values; and a step of updating the output value stored in the storage unit based on the output value determined by the determining step.

8. A computer program for causing an operating device to implement the following functions, the operating device comprising a connection unit and a storage unit, an analog stick being connected to the connection unit, the storage unit storing an output value predetermined and output from the analog stick when the analog stick is at a center point: a function of determining an output value having the highest frequency among a plurality of output values ​​from the analog stick, in a case where the plurality of output values ​​are values ​​within a range in which the analog stick is assumed to be at the center point; and A function of updating the output value stored in the storage unit based on the output value determined by the determination function.