Hardware device having automatic recalibration mechanism and method of performing automatic recalibration in hardware device
The hardware device automatically recalibrates operating elements by defining a zero position zone to address mechanical deviations, ensuring smooth operation and safety without manual intervention.
Patent Information
- Application Number
- JP2025028712
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-02-27
- Filing Date
- 2025-02-26
- Publication Date
- 2025-09-08
AI Technical Summary
Existing hardware devices require manual recalibration of operating elements due to changes in the zero position caused by mechanical hysteresis, sensor noise, or signal offset, which can lead to erroneous operation and potential safety hazards, and conventional recalibration processes are cumbersome and time-consuming.
A hardware device with a sensor that automatically recalibrates by determining a mechanical zero position and establishing a zero position zone, treating all positions within this zone as virtual zero positions, thereby eliminating the need for manual recalibration.
The solution provides automated recalibration that adapts to mechanical deviations, reducing the need for user intervention and ensuring smooth operation without abrupt transitions, thus enhancing safety and usability.
Smart Images

Figure 2025130718000001_ABST
Abstract
Description
[Technical Field]
[0001] Embodiments of the present disclosure relate to hardware devices having operating elements, such as game controllers with joysticks, drill presses with push buttons, etc. The hardware devices are capable of automatically re-setting the zero position of the operating elements. Further embodiments relate to corresponding methods of performing automatic re-calibration in the hardware devices. [Background technology]
[0002] Electrical and electronic hardware devices include operating elements that are used to operate the hardware device. For example, a game controller may include a movable joystick, which may also be referred to as an analog stick. A user may actuate the analog stick on the game controller to control a character playing a game in a video game. Another example is a power tool. The power tool may include push buttons for operating the tool. For example, the more a user presses the push button, the faster the power tool moves.
[0003] An operating element needs to be calibrated before its first use to initially define the zero position of the operating element. Only when the zero position is properly defined may the operating element register an actuation state in which the operating element is deflected from its zero position, for example, an analog stick is moving during gameplay. Factory calibration may be performed structurally before the hardware device is delivered. However, during normal use of the hardware device, the initially calibrated zero position may change. This may occur, for example, due to mechanical hysteresis, sensor noise, or signal offset.
[0004] For example, if the analog stick was previously deflected to the top left corner, it will return to a different zero position than if it was previously deflected to the bottom right corner. This may be caused by hysteresis. As a further example, a game controller may be dropped to the ground and hit the floor hard. In this case, the analog stick mechanism inside the game controller may be shifted and repositioned, causing the zero position to change.
[0005] If the previously calibrated zero position is changed, it may happen that the inactive state of the operating element may be erroneously interpreted as an active state, leading to the hardware device being active, even though the operating element is not being operated, which could result in serious injury if the drill press is operating when it is not being operated by the user.
[0006] Therefore, a change in a previously calibrated zero position may lead to the need to recalibrate the operating element outside the factory, i.e., at the user's site. For example, a user may manually re-adjust the zero point of a drill press. For this purpose, drill presses provide a small rotating wheel that is integrated into a push button (trigger). In video games, a user may enter a calibration menu on a dedicated controller and be guided through a predetermined recalibration procedure. However, these conventional recalibration processes must be performed manually and can be time-consuming and cumbersome for the user, especially if the recalibration process must be performed at regular time intervals. Summary of the Invention [Problem to be solved by the invention]
[0007] Therefore, it is an object of the innovative concept described herein to provide a hardware device that reduces or even eliminates the need for manual recalibration of operational elements. A further object is to provide a hardware device that can automatically recalibrate operational elements without any user intervention. [Means for solving the problem]
[0008] This object is achieved herein by a hardware device and a corresponding method for performing automatic recalibration of a hardware device according to the independent claims. Further embodiments and advantageous aspects are suggested in the dependent claims.
[0009] The innovative hardware apparatus includes a movable mechanical operating element configured to be moved by a user within a predetermined range of mechanical travel, and a sensor device configured to determine the position of the operating element within the predetermined range of mechanical travel, the sensor device configured to perform automatic recalibration by determining a mechanical zero position of the operating element in an unactuated state and by establishing a zero position zone extending around the mechanical zero position, the sensor device configured to treat all positions of the operating element located within the zero position zone as a virtual zero position.
[0010] Furthermore, an innovative method for performing automatic recalibration of a hardware device is suggested, the method comprising determining a position of an operating element that is movable by a user within a predetermined range of mechanical travel, the method further comprising performing the automatic recalibration by determining a mechanical zero position of the operating element in an inactivated state and by establishing a zero position zone extending around said mechanical zero position, wherein all positions of the operating element located within the zero position zone are treated as a virtual zero position.
[0011] According to further aspects, computer programs are provided, each of the computer programs being configured to perform the above-mentioned methods when executed on a computer or a signal processing unit, and wherein the above-mentioned methods are performed by one of the computer programs.
[0012] Hereinafter, embodiments of the present disclosure will be described in further detail with reference to the drawings. [Brief explanation of the drawings]
[0013] [Figure 1] As one non-limiting example of an innovative hardware device, an illustrative example of a game controller is provided. [Figure 2] 1 shows a schematic representation of the full two-dimensional mechanical range of motion of an operating element, with the current actual position of the operating element located at the center. [Figure 3] 1 shows a schematic representation of the full two-dimensional mechanical range of motion of an operating element, with the current actual position of the operating element located off-center. [Figure 4] 1 shows a schematic diagram of an innovative zero position zone, where the mechanical zero position of the operating element defines the center of the zero position zone. [Figure 5] 10 shows a schematic diagram of different mechanical zero positions caused by hysteresis when the operating element returns from different deflected positions. [Figure 6A] 1 shows a schematic diagram of the full two-dimensional mechanical range of travel of an operating element, depicting two different sizes of initial zero position zones. [Figure 6B] 1 shows a schematic representation of the full mechanical range of travel of an operating element in two dimensions, depicting a reduced zero position zone. [Figure 7] 1 shows a schematic flow chart of the innovative method. [Figure 8] 1 shows a schematic flow chart of the innovative method. [Figure 9] 1 shows a schematic representation of the full two-dimensional mechanical range of travel of an operating element, with the current actual position of the operating element lying outside a reduced zero position zone. [Figure 10] 1 shows a schematic representation of the total mechanical range of travel of an operating element in two dimensions, where a minimized zero position zone is created by multiple zero position zones. [Figure 11] 1 shows a schematic diagram of the total mechanical range of motion of an operating element in one dimension. DETAILED DESCRIPTION OF THE INVENTION
[0014] In the following description, elements that are equal or equivalent or have equal or equivalent functions are designated by equal or equivalent reference signs.
[0015] Method steps depicted by and described with reference to block diagrams may also be performed in an order different from that depicted and / or described. Furthermore, method steps relating to a particular feature of a device may be interchangeable with that feature of the device, and vice versa.
[0016] For ease of explanation, the following description will illustratively refer to a game controller as one non-limiting example of an innovative hardware device and will illustratively refer to an analog stick as one non-limiting example of an innovative operating element. However, the innovative concepts can be used in a variety of different hardware devices in which the operating element is positionable at a mechanical zero position and deflectable from the mechanical zero position to operate the hardware device.
[0017] 1 illustrates a game controller as one non-limiting example of a hardware device 100 with an innovative automatic recalibration mechanism. The hardware device 100 may include a movable mechanical operation element 110 configured to be moved by a user within a predetermined range of mechanical movement. For example, the mechanical operation element 110 may be an analog stick attached to the game controller 100. The analog stick 110 may be deflected / moved in different directions to control a character in gameplay within a video game. However, the analog stick 110 can only move within a predetermined range of movement that is subject to mechanical constraints.
[0018] 2 shows a schematic diagram of the possible mechanical range of motion 120 of the operating element 110. In this example, the range of motion 120 is two-dimensional, comprising a circular area spanning the x-y plane. A cross 130 indicates the raw position of the operating element 110. The raw position 130 corresponds to the current actual position of the operating element 110. The current actual position 130 may be indicated by raw measurements, e.g., x-y coordinates.
[0019] The hardware element 100 may include a sensor device (not shown) to determine the current actual position 130 of the operating element 110. The sensor device may be configured to determine the current actual position 130 of the operating element 110 in any operating and non-operating state.
[0020] For example, when the operating element 110 operates by moving / deflecting, the operating element 110 is in an actuated state. Next, when the operating element 110 does not move / deflect, the operating element 110 is in a non-actuated state. When the operating element 110 is in a non-actuated state, the current actual position 130 of the operating element 110 defines its mechanical zero position 133.
[0021] 1 shows the operating element 110 in an unactuated state, i.e., in a mechanical zero position. The operating element 110 may automatically return to the mechanical zero position when released from the actuated state to the unactuated state. For example, the operating element 110 may include a mechanical biasing mechanism configured to mechanically move the operating element 110 back to its mechanical zero position from the actuated position.
[0022] 2, the sensor device described above for determining the current actual position 130 of the operating element 110 may be pre-calibrated, and a specific mechanical zero position 133 of the operating element 110 may be stored as the calibrated zero position. In this case, the calibrated zero position is identical to the mechanical zero position 133. Ideally, the calibrated zero position is located at the center 140 of the total range of motion 120 of the operating element.
[0023] After the calibrated zero position is set, the operating element 110 may be reactivated and returned to the inactive state from any activated state again. However, due to hysteresis effects or mechanical degradation, it may happen that the mechanical zero position 133 is now not identical to the calibrated zero position. It may also happen that the sensor device itself is subject to sensor drift, causing the calibrated mechanical zero position to deviate from its initial value.
[0024] FIG. 3 shows that the mechanical zero position 133 of the operating element 110 (in its unactuated state) is denoted by reference numeral 133 pre 1 illustrates a scenario in which the sensor deviates from the previously defined calibrated zero position indicated by . This type of deviation can occur due to mechanical wear / deterioration, hysteresis effects, sensor drift or signal offset. In such cases, a recalibration of the operating element 110 may be necessary. The innovative sensor device may also perform automated automatic recalibration.
[0025] 4 illustrates an embodiment of an innovative concept for automated automatic recalibration. When an operating element 110 is in an inactive state, the sensor device may set the associated current actual position 130 of the operating element 110 as its mechanical zero position 133. This mechanical zero position 133 is thus now a calibrated zero position. In a further calibration step, the sensor device may set a zero position zone 150 extending around the calibrated mechanical zero position 133. According to the innovative concept, the sensor device is configured to treat all current actual positions 130 of the operating element 110 that are located within the zero position zone 150 as virtual zero positions.
[0026] Thus, multiple different current actual positions 130 of the operating element 110 may be considered as zero positions as long as they are located within the previously defined zero position zone 150. In other words, typical (traditional) manual recalibration mechanisms use a single zero value to define a calibrated zero position. The innovative concept instead replaces the single zero value with a zero position zone 150, in which multiple different current actual positions 130 of the operating element 110 may be considered as zero positions. Therefore, these zero positions are referred to as virtual zero positions in this disclosure.
[0027] 4, the sensor device may perform automatic recalibration by determining the mechanical zero position 130 of the operating element 110 in an unactuated state. As described above, when the operating element 110 is in an unactuated state, its current actual position 130 may be set as its mechanical zero position 133. The mechanical zero position 133 is now the calibrated zero position. In a further calibration step, the sensor device may set a zero position zone 150 extending around the calibrated mechanical zero position 133 such that the calibrated mechanical zero position 130 defines the center of the zero position zone 150.
[0028] The zero position zone 150 may be defined as a circular area having a radius (r) extending around the mechanical zero position 130. According to an innovative concept, the sensor device is configured to treat all mechanical positions of the operating element 110 located within the zero position zone 150 as a virtual zero position.
[0029] 5 shows a schematic diagram of the operating element 110 returning from different actuated states to different unactuated states. For example, the operating element 110 may be actuated / deflected to a first actual position 1301 in the upper left corner and then actuated / deflected to a second actual position 1302 in the lower right corner. As mentioned above, when the operating element 110 is released to the unactuated state, it may automatically return to its mechanical zero position 133. However, due to hysteresis effects, etc., the operating element 110 may return to a different mechanical zero position.
[0030] As exemplarily depicted, when the operating element 110 is released from its first actual position 1301, it may return to a first mechanical zero position 1331. Then, when the operating element 110 is released from its second actual position 1302, it may return to a different second mechanical zero position 1332. Therefore, it may additionally occur that there are two different mechanical zero positions 1331, 1332 that may deviate from a previously set calibrated zero position. A typical (conventional) sensor device does not know whether to treat both mechanical zero positions 1331, 1332 as zero positions.
[0031] However, according to the innovative concept, all positions of the operating element 110 located within the zero position zone 150 are treated as virtual zero positions by the sensor device.
[0032] As described above, the zero position zone 150 may be defined as a circular area having a radius (r), which may define the size of the zero position zone 150. The size of the zero position zone 150 may be set to a fixed value or may be dynamically adjusted as described in more detail below. The size may be selected so that different mechanical zero positions 1331, 1332 of the operating element 110 that are affected by position deviations caused by at least one of hysteresis, noise, or offset can be covered.
[0033] For example, the sensor device may be configured to set the size of the zero position zone 150 to a fixed value that covers all unactuated states of the operating element 110, despite position deviations caused by at least one of hysteresis, noise, and signal offset. The radius (r) of the zero position zone 150 may be selected to be very large, i.e., any possible zero position deviations are taken into account when choosing the radius (r), so that the operating element 110 always falls within the zero position zone 150 when it is released, regardless of which position 1301, 1302 it is released from and regardless of which actuated position 1301, 1302 it returns to its mechanical zero position 1331, 1332 from. Thus, the innovative concept provides automated automatic recalibration that accounts for zero position deviations caused by at least one of hysteresis, sensor noise, and signal offset.
[0034] On the other hand, it is desirable to make the size of the zero position zone 150 as small as possible because otherwise the user may experience an undesirable response of the operating element 110. For example, if the size of the zero position zone 150 is chosen too large, the user must deflect the operating element 110 a long distance in order for the sensor device to exit the zero position zone 150 and recognize a non-zero actuation state. In real life, for example, the user must deflect the operating element 110 a long distance before a gameplay character begins to move in a video game.
[0035] The authors of the present disclosure have discovered that a size of 2% to 8%, in particular around 5%, of the total range of movement 120 of the operating element 110 provides a good compromise between a zero position zone 150 that is large enough to cover all possible zero position deviations (caused by hysteresis, etc.) and a zero position zone 150 that is small enough to ensure a good tactile sensation for the user. Thus, according to one embodiment, the sensor device may be configured to set the size of the zero position zone 150 to a fixed value that covers 2% to 8%, in particular 5% of the total range of movement 120 of the operating element 110.
[0036] Since the mechanical zero positions 1331, 1332 of the operating element 110 may not be known in advance, an initial calibration step may be performed by the sensor device. As shown in Figure 6A, the sensor device may set an initial zero position zone 151 that is larger than the zero position zone 150 described above, and the size of the initial zero position zone 151 is chosen to be large enough to cover a wide range in which the majority (or all) of the possible mechanical zero positions 1331, 1332 of the operating element 110 can be located.
[0037] 6A shows an example for an initial calibration step, where the sensor device may set the size (defined by radius (r)) of the initial zero position zone 151 to a fixed value that covers 20% to 30% of the total range of motion 120 of the operating element 110. The initial zero position zone 151 may be positioned at the center 140 of the total range of motion 120 of the operating element.
[0038] 6A, the mechanical zero position 133 of the operating element 110 (in an unactuated state) may be located outside an initial zero position zone 151 having a size of 20% of the operating element's total range of motion 120, and may be located inside an initial zero position zone 151 having a size of 30% of the operating element's total range of motion 120. The authors of the present disclosure have discovered that a size of approximately 25% of the operating element's total range of motion 120 is sufficient to cover almost all possible mechanical zero positions 133 of the operating element 110 occurring within all four quadrants.
[0039] As shown in FIG. 6B, after the initial calibration step (FIG. 6A), the sensor device may fine-tune the automatic recalibration mechanism by creating a new or updated version of the zero position zone with a reduced size. For example, after the initial calibration step, the sensor device may perform a next calibration step, in which the current actual position 130 of the operating element 110 in an unactuated state is set as a new mechanical zero position 133. The new mechanical zero position 133 defines the center of a new reduced zero position zone 150, which is smaller than the previous initial zero position zone 151.
[0040] In this case, the reduced zero position zone 150 may correspond to the above-described zero position zone 150. Thus, everything that has been said above with respect to any zero position zone also applies to the reduced zero position zone 150.
[0041] In particular, the sensor device may set the size of the reduced zero position zone 150 to a fixed value that covers different mechanical zero positions 1331, 1332 of the operating element 110 due to position deviations caused by at least one of hysteresis, noise or offset. As mentioned above, a size of 2% to 8%, in particular about 5%, of the total movement range 120 of the operating element provides a good compromise between a zero position zone 150 that is large enough to cover all possible zero position deviations (caused by hysteresis, etc.) and a zero position zone 150 that is small enough to ensure a good tactile sensation for the user.
[0042] FIG. 7 illustrates a flowchart of a method 700 for performing innovative automatic recalibration in a hardware device according to one embodiment.
[0043] In block 701, the position of the operating element 110 is determined, and the operating element 110 is movable within a predetermined range of mechanical movement 120 by a user.
[0044] In block 702, automatic recalibration may be performed by performing two steps. Block 703 shows a first step in which the current actual position 130 of the operating element 110 in an inactive state is set as a mechanical zero position 133. Block 704 shows a second step in which a zero position zone 150 extending around the mechanical zero position 133 is set. The steps of blocks 703 and 704 may be performed in parallel or sequentially.
[0045] Block 705 represents the final step after performing the auto-calibration, in which all positions of the operating element 110 located within the zero position zone 150 are treated as virtual zero positions.
[0046] FIG. 8 shows an exemplary flow chart of one possible non-limiting implementation of the innovative concept.
[0047] Block 801 represents the initial calibration step described above. The center 140 (FIG. 2) of the total range of motion 120 of the operating element is set as the initial mechanical zero position "null_position." The initial zero position zone 151 (FIG. 6A) is set to a size having a fixed value (e.g., r=10). As described above, the size of the initial zero position zone 151 is selected to be rather large (e.g., between 20% and 30% of the total range of motion 120) to cover the majority of possible mechanical zero positions 1331, 1332 of the operating element 110.
[0048] In this exemplary embodiment, the sensor device may be further configured to wait a predetermined period of time (inactive_for_calibration_time) for the operational element 110 to verify that the operational element 110 is indeed in an inactive state before performing an automatic recalibration. For example, if the operational element 110 is not activated for a certain period of time, e.g., 30 seconds or more, this may indicate that the operational element 110 is not currently in use and an automatic recalibration may be initiated.
[0049] Additionally or alternatively, the sensor device may be configured to wait for the occurrence of a predetermined event indicating that the operating element 110 is in an inactive state (e.g., the operating element 110 is in charging mode or enters deep sleep) before performing automatic recalibration.
[0050] In block 802, the current actual position 130 of the operating element 110 may be determined. The current actual position 130 of the operating element 110 may be represented by raw measurements taken by a sensor device, as described above. For example, the current actual position 130 of the operating element 110 may be represented by coordinates, such as at least one of an x coordinate and a y coordinate.
[0051] In block 803, it may be determined whether the previously determined current actual position 130 of the operating element 110 is located inside or outside the initial zero position zone 151. For example, a function (filter_zero_pos(x,y)) may be called to which the x and y coordinates (representing the current actual position 130 of the operating element 110) are passed as arguments.
[0052] Block 804 shows one possible implementation of the function filter_zero_pos(x,y). First, the sensor device may check whether the current actual position 130 of the operating element 110 (defined by the arguments (x,y)) is located within the initial zero position zone 151. The sensor device may then calculate the total range of motion 120 of the operating element (e.g., r=√(x 2 +y 2 The check may be performed by determining the radial distance (r) of the current actual position 130 of the operating element from the center 140 of the sensor device 150. The sensor device may further be configured to check whether the radial distance (r) is less than or equal to the radius of the initial zero position zone 151.
[0053] If the sensor device determines that the current actual position 130 of the operating element 110 is located within the initial zero position zone 151 or at the edge of the initial zero position zone 151 (r≦zero_pos_zone), the sensor device may treat the current actual position 130 of the operating element 110 as the virtual zero position (return(0,0)). In other words, all current actual positions 130 of the operating element 110 that are located within the zero position zones 150, 151 (or at the edge of the zero position zones 150, 151) are considered to be the zero position.
[0054] Next, if the sensor device determines that the current actual position 130 of the operating element 110 is located outside the initial zero position zone 151 (else branch in block 804), the sensor device may be configured to subtract the radius of the initial zero position zone 151 from the actual current position 130 of the operating element 110, so that the start of the movement of the operating element 110 is registered only when the operating element 110 leaves the initial zero position zone 151. This is briefly explained with reference to FIG.
[0055] 9 shows a schematic diagram for the above-described concept. Note that in this non-limiting example, a random zero position zone 150 is depicted instead of the above-described initial zero position zone 151. However, the innovative concept is workable for both the initial zero position zone 151 and any other zero position zone 150.
[0056] 9, a reduced zero position zone 150 having a radius (R) is exemplarily depicted. Furthermore, the current actual position 130 of the operating element 110 is expressed by a specific xy coordinate (x, y). As can be seen from the above, the current actual position 130 of the operating element 110 is located outside the zero position zone 150. This means that the operating element 110 is deflected, i.e., in an actuated state.
[0057] According to this innovative concept, each current actual position 130 of the operating element 110 that is not considered to be a (virtual) zero position is considered to be a deflected position. In other words, if the current actual position 130 of the operating element 110 is located outside the zero position zones 150, 151, this current actual position 130 is considered to be a deflected position, i.e. the operating element 110 is in an activated state.
[0058] As shown in the else branch of block 804 (of FIG. 8), the sensor device is aligned with the x-axis and vector r (spanning between center 140 and current actual position 130). → and the angle φ between the
[0059] Furthermore, the sensor device may subtract the radius (R) of the zero position zone 150 from the current actual position 130 of the operating element 110. In particular, the sensor device may subtract the radius (R) of the zero position zone 150 (zero_position_zone) from the x coordinate belonging to the current actual position 130 of the operating element 110 (x filtered = (r-zero_position_zone)cosφ), the radius (R) of the zero position zone 150 (zero_position_zone) may be subtracted from the y coordinate belonging to the current actual position 130 of the motion element 110 (y filtered =(r-zero_position_zone)sinφ).
[0060] By doing this, the sensor device may start calculating the current actual position 130 of the operating element 110 from the edge of the zero position zone 150 instead of from the center 140 of the entire movement range 120 of the operating element. In other words, the sensor device registers the actuation state of the operating element 110 only from the moment the operating element 110 leaves the zero position zone 150, 151. Thus, a smooth transition between an inactive state (inside the zero position zone) and an actuated state (outside the zero position zone) can be achieved.
[0061] For example, the random current actual position 131 exemplarily depicted in FIG. 9 is located outside the zero position zone 150, i.e., is considered the actuation state of the action element 110. The current actual position 131 is away from the mechanical center 140 by approximately half the total distance along the x-axis. When the action element 110, e.g., the analog stick of a game controller, is deflected to this position, the gameplay character then runs at approximately half its speed. However, because all positions that exist within the zero position zone 150 are considered the virtual zero position, an abrupt transition will occur when the action element 110 leaves the zero position zone 150. In other words, the gameplay character suddenly starts running instead of walking slowly.
[0062] However, according to the present invention, the radius of the zero position zone 150 is subtracted from the current actual position 131 so that the start of the actuation state of the acting element 110 is shifted by the size of the zero position zone 150. Thus, the start of the movement of the acting element 110 is registered only when the acting element 110 leaves the zero position zone 150. Thus, the gameplay character starts running smoothly from the moment the acting element 110 leaves the zero position zone. There are no longer any abrupt transitions. It can be said that the x and y coordinates belonging to the current actual position 131 are filtered by taking into account the size of the zero position zone 150.
[0063] Returning to FIG. 8, in block 804, the function filter_zero_pos(x,y) described above is filtered and y filtered The innovative automatic recalibration process then proceeds to block 805 where the result is output. If the operating element 110 is located within the zero position zone 150, the result is either the virtual zero position (0,0) or the filtered x,y coordinate x as described above. filtered and y filtered is.
[0064] 8 still relates to the first calibration step using the initial zero position zone 151. Therefore, block 806 includes a query to determine whether the current actual position 130 of the operating element 110 is located within the initial zero position zone 151. If so, a reduced zero position zone 150 is created with a reduced size compared to the initial zero position zone 151. In block 807, the size of the reduced zero position zone 150 can be defined by setting its radius to a fixed value, for example, zero_position_zone:=0.7. The average value of the current actual position 130 can be set as the new center of the reduced zero position zone 150.
[0065] If the query of block 806 returns a result different from the virtual zero position (0,0), this indicates that the current actual position 130 is located outside the initial zero position zone 151, which can occur if the operating element 110 is in an activated state. In this case, the automatic recalibration proceeds by returning to block 802. The following process steps are the same as those described above. When the automatic recalibration process ends in block 807, which creates a reduced zero position zone, it is possible that the sensor device may terminate the automatic recalibration process, for example, may enter a deep sleep mode. In other words, after a reduced zero position zone having a fixed size is defined, the sensor device may stop the automatic recalibration process.
[0066] Additionally or alternatively, it is possible that the sensor device may perform a next automatic recalibration step after a certain period of time, for example, after 2-3 days. In this case, the sensor device may be configured to repeatedly perform automatic recalibration. As described above, at a first time instant t1 of the first calibration step, the sensor device may set the first current actual position 1301 of the operating element 110 as a first mechanical zero position 1331 and may define the first mechanical zero position 1331 as the center of a first zero position zone 1501.
[0067] At a second instant t2, the sensor device may perform a next second calibration step, and the sensor device may set the second current actual position 1302 of the operating element 110 as a second mechanical zero position 1332 and define the second mechanical zero position 1332 as the center of an updated second zero position zone 1502 that may replace the first zero position zone 1501. As mentioned above, both the first zero position zone 1501 and the second zero position zone 1502 can be reduced zero position zones having a fixed size.
[0068] With the iterative approach described above, adaptive adjustment of the size of any zero position zone can be performed. For example, the size of the zero position zone can be adaptively and gradually reduced to a predetermined minimum size. As described above, the size of the zero position zone should be as small as possible so that the user experiences a good tactile sensation of the operating element 110.
[0069] 10 shows one possible embodiment of the innovative concept featuring an adaptive and gradual reduction in the size of the zero position zone. This adaptive approach takes into account the previous zero position and therefore reduces the zero position zone to its minimum.
[0070] 10 , the sensor device may be configured to perform multiple successive calibration steps to create respective multiple zero position zones, as described above. For example, the sensor device may create a first zero position zone 1501, a second zero position zone 1502, and a third zero position zone 1503. As described above, in each calibration step, the current actual position 130 of the operating element 110 may be set as a new mechanical zero position 133 that defines the center of the corresponding zero position zone 150. Thus, as exemplarily shown in FIG. 10 , the sensor device may store respective multiple mechanical zero positions 1331, 1332, 1333 belonging to each of the multiple zero position zones 1501, 1502, 1503.
[0071] The sensor device may then create a minimized zero position zone 153 having a radius that includes the previously stored mechanical zero positions 1331, 1332, 1333, where the size of the minimized zero position zone 153 is smaller than the size of each of the previously created zero position zones 1501, 1502, 1503. The size of the minimized zero position zone 153 can be increased slightly to compensate for inherent sensor noise. However, with this iterative approach, the size of any zero position zone can be reduced to its minimum.
[0072] However, it may happen that the current actual position 130 of the operating element 110 in an unactuated state is located outside the minimized zero position zone 153, for example due to mechanical displacements that cause a shift in the center hysteresis. In this case, the sensor device may discard the minimized zero position zone 153 and resume automatic recalibration using one of the previously used reduced zero position zones 1501, 1502, 1503.
[0073] In other words, if the sensor device determines in the next calibration step after creating the minimized zero position zone 153 that the current actual position 130 of the operating element 110 is located outside the minimized zero position zone 153, the sensor device may reject the minimized zero position zone 153 and create a new zero position zone having a size larger than the size of the minimized zero position zone 153. Then, for example, the sensor device may return to the new zero position zone having a fixed size, e.g., the reduced zero position zone 150, as described above. For example, the sensor device may resume automatic recalibration using one of the previously used reduced zero position zones 1501, 1502, 1503.
[0074] In summary, the sensor device may perform an iterative approach to gradually reduce the size of the zero position zone by storing the center points 1331, 1332, 1333 of previous recalibrations. Once a certain amount of measurements exists, a minimized zero position zone 153 may be created by determining the smallest circle that contains all calibration points 1331, 1332, 1333, and optionally adding some margin for noise.
[0075] Up to now, the innovative concept has been described with respect to an operating element 110 that is movable in a two-dimensional range of motion, and the current actual position 130 of the operating element 110 is indicated by xy coordinates. However, as mentioned at the beginning, the innovative concept may also be used in push buttons of power tools, etc.
[0076] FIG. 11 shows an example of an operating element provided as a push button (trigger) of a drilling machine. The push button may be pressed to activate the drilling machine, and the push button may be pressed in only one direction. Therefore, the push button moves only in one dimension along axis 170. This one-dimensional range of movement 120 extends from a mechanical start point 171 to a mechanical end point 172. Ideally, the mechanical zero position of the push button coincides with the mechanical start point 171. Otherwise, the drilling machine may start operating even if the push button is not activated by the user.
[0077] 11 shows a scenario in which the current actual position 130 of the push button deviates from the mechanical starting point 171. To avoid undesired operation of the drill press, an innovative automatic recalibration mechanism may be used and a zero position zone 150 may be created as described above. The only difference is that the current actual position 130 of the operating element may not be represented by two-dimensional x-y coordinates, but only by one-dimensional x-coordinates.
[0078] In summary, the innovative concept provides a solution to the challenges associated with recalibrating hardware devices to suppress noisy behavior of operating elements (e.g., joysticks) at their zero position. The noisy behavior can result from at least one of sensor noise itself, system-level mechanical tolerances, and wear / deterioration. The innovative concept provides a solution by creating a zero position zone to suppress hysteresis effects as well as overall noise. The size of the zero position zone must be as small as possible to avoid customer realization. However, this introduces difficulties in initial calibration and deformation over time. The solution is an automated automatic recalibration mechanism that can be triggered in an adaptive and intelligent manner.
[0079] The innovative concept extends the useful life of the hardware device: fewer measurements are required compared to conventional recalibration mechanisms and averaging is no longer necessary.
[0080] This innovative concept can be used in a wide variety of applications, for example with all kinds of sensors that have hysteresis effects or noise that need to be suppressed (e.g., 3D Hall sensors), as well as at the system level where external factors introduce hysteresis or noise. The triggers that indicate recalibration can be set depending on the application.
[0081] Although some aspects have been described in the context of an apparatus, it will be apparent that these aspects also express descriptions of corresponding methods, where a block or device corresponds to a method step or feature of a method step. Similarly, aspects described in the context of a method step also express descriptions of a corresponding block or item or feature of a corresponding apparatus.
[0082] Some or all of the method steps may be performed by (or using) a hardware apparatus, such as, for example, a microprocessor, a programmable computer, or electronic circuitry. In some embodiments, one or more of the most significant method steps may be performed by such an apparatus.
[0083] Depending on the requirements of a particular implementation, the embodiments can be implemented in hardware or in software, or at least partially in hardware or at least partially in software. The implementations can be implemented using a digital storage medium, such as a floppy disk, DVD, Blu-ray, CD, ROM, PROM, EPROM, EEPROM, or FLASH memory, on which electronically readable control signals are stored that cooperate (or can cooperate) with a programmable computer system to perform the respective methods. The digital storage medium can therefore be computer-readable.
[0084] Some embodiments comprise a data carrier having electronically readable control signals that can cooperate with a programmable computer system to perform one of the methods described herein.
[0085] Generally, the embodiments can be implemented as a computer program product having program code which operates to perform one of the methods when the computer program product runs on a computer, and which may for example be stored on a machine-readable carrier.
[0086] Other embodiments comprise the computer program stored on a machine readable carrier for performing one of the methods described herein.
[0087] In other words, an embodiment of the inventive method is, therefore, a computer program having a program code for performing one of the methods described herein, when the computer program runs on a computer.
[0088] A further embodiment of the inventive method is, therefore, a data carrier (or digital storage medium or computer-readable medium) having recorded thereon a computer program for performing one of the methods described herein. The data carrier, digital storage medium or recording medium is typically tangible and / or non-transitory.
[0089] A further embodiment of the inventive method is, therefore, a data stream or a sequence of signals representing the computer program for performing one of the methods described herein, for example a data stream or a sequence of signals adapted to be transmitted via a data communication connection, for example via the Internet.
[0090] A further embodiment comprises a processing means, for example a computer, or a programmable logic device, configured to or adapted to perform one of the methods described herein.
[0091] A further embodiment comprises a computer having installed thereon the computer program for performing one of the methods described herein.
[0092] Further embodiments comprise an apparatus or system configured to transfer (e.g., electronically or optically) a computer program for performing one of the methods described herein to a receiver. The receiver may be, for example, a computer, a mobile device, a memory device, etc. The apparatus or system may, for example, comprise a file server for transferring the computer program to the receiver.
[0093] In some embodiments, a programmable logic circuit (e.g., a field programmable gate array) may be used to perform some or all of the functions of the methods described herein. In some embodiments, a field programmable gate array may cooperate with a microprocessor to perform one of the methods described herein. In general, the methods are preferably performed by any hardware apparatus.
[0094] The devices described herein may be implemented using a hardware device, or using a computer, or using a combination of a hardware device and a computer.
[0095] The methods described herein may be performed using a hardware apparatus, or using a computer, or using a combination of a hardware apparatus and a computer.
[0096] While this disclosure has been described with reference to embodiments, this description is not intended to be construed in a limiting sense. Various modifications and combinations of the embodiments, as well as other embodiments of this disclosure, will be apparent to those skilled in the art upon reference to the description. It is therefore intended that the appended claims cover any such modifications or embodiments.
Claims
1. A hardware device (100) having an automatic recalibration mechanism, the hardware device (100) comprising: a movable mechanical operating element (110) configured to be moved by a user within a predetermined range of mechanical movement (120); a sensor device for determining the position of the operating element (110) within the predetermined range of mechanical movement (120); Equipped with The sensor device setting the current actual position (130) of said operating element (110) in an inactive state as a mechanical zero position (133); establishing a zero position zone (150) extending around said mechanical zero position (133); configured to perform automatic recalibration by The sensor device is configured to treat all positions of the operating element (110) located within the zero position zone (150) as a virtual zero position. A hardware device (100).
2. the zero position zone (150) is defined as a circular area having a radius (r) extending around the mechanical zero position (133); The hardware device (100) of claim 1.
3. The sensor device detects different mechanical zero positions (133) of the operating element (110) that are affected by position deviations caused by at least one of hysteresis, noise, or offset. 1 , 133 2 ) and configured to set the size of the zero position zone (150) to a fixed value covering The hardware device (100) of claim 1 or 2.
4. the sensor device is configured to set the size of the zero position zone (150) to a fixed value covering 2% to 8% of the total range of movement (120) of the operating element (110); The hardware device (100) of any one of claims 1 to 3.
5. the sensor device is configured to perform an initial calibration step, which includes creating an initial zero position zone (151); the center of said initial zero position zone (151) is located at the center (140) of the total range of movement (120) of said operating element; the sensor device is configured to set the size of the initial zero position zone (151) to a fixed value covering 20% to 30% of the total range of movement (120) of the operating element (110); The hardware device (100) of any one of claims 1 to 4.
6. The sensor device is configured to perform a next calibration step after the first calibration step, and in the next calibration step, the sensor device: setting the current actual position (130) of the operating element (110) in the inactive state as a new mechanical zero position (133); setting said new mechanical zero position (133) as the center of a new reduced zero position zone (150) that is smaller than the previous initial zero position zone (151); It is configured as follows: The hardware device (100) of claim 5.
7. The sensor device detects different mechanical zero positions (133) of the operating element (110) that are affected by position deviations caused by at least one of hysteresis, noise, or offset. 1 , 133 2 ) configured to set the size of the reduced zero position zone (150) to a fixed value covering The hardware device (100) of claim 6.
8. the sensor device is configured to set the size of the reduced zero position zone (150) to a fixed value covering 2% to 8% of the total range of movement of the operating element (110); The hardware device (100) according to claim 6 or 7.
9. the sensor device is configured to check whether the current actual position (130) of the operating element (110) is located within the reduced zero position zone (150); the sensor device is configured to perform the check by determining the radial distance (r) of the current actual position (130) of the operating element from the center (140) of the total range of movement (120) of the operating element; the sensor device is configured to check whether the radial distance (r) is less than or equal to the radius of the reduced zero position zone (150); A hardware device (100) according to any one of claims 6 to 8.
10. If the sensor device determines that the current actual position (130) of the operating element (110) is located within the reduced zero position zone (151) or at the edge of the reduced zero position zone (151), the sensor device is configured to treat the current actual position (130) of the operating element (110) as a virtual zero position; The hardware device (100) of claim 9.
11. If the sensor device determines that the current actual position (130) of the operating element (110) is located outside the reduced zero position zone (150), the sensor device is configured to subtract the radius of the reduced zero position zone (150) from the current actual position (130) of the operating element (110), so that the start of movement of the operating element (110) is registered only when the operating element (110) leaves the reduced zero position zone (150); The hardware device (100) according to claim 9 or 10.
12. the sensor device is configured to repeatedly perform the automatic recalibration; The first moment t of the first calibration step 1 wherein the sensor device detects a first current actual position (130) of the operating element (110). 1 ) to the first mechanical zero position (133 1 ) and set the first mechanical zero position (130 1 ) into the first zero position zone (150 1 ) is configured to define it as the center of The second moment t of the next second calibration step 2 wherein the sensor device detects a second current actual position (130) of the operating element (110). 2 ) to the second mechanical zero position (133 2 ) and set the second mechanical zero position (133 2 ) into the second zero position zone (150 2 ) as the center of The hardware device (100) of any one of claims 1 to 11.
13. The sensor device has a plurality of zero position zones (150 1 , 150 2 , 150 3 ), performing a plurality of successive calibration steps to create said plurality of zero position zones (150 1 , 150 2 , 150 3 ) each of the plurality of mechanical zero positions (133) 1 , 133 2 , 133 3 ) and The sensor device is configured to store a zero position (133 1 , 133 2 , 133 3 ), and configured to create a minimized zero position zone (153) having a radius, the size of said minimized zero position zone (153) being equal to or larger than the size of the previously created plurality of zero position zones (150). 1 , 150 2 , 150 3 ) smaller than the respective sizes, The hardware device (100) of any one of claims 1 to 12.
14. If, in a subsequent calibration step after creating the minimized zero position zone (153), the sensor device determines that the current actual position (130) of the operating element (110) in an inactive state is located outside the minimized zero position zone (153), the sensor device is configured to reject the minimized zero position zone (153) and create a new zero position zone having a size greater than the size of the minimized zero position zone (153). The hardware device (100) of claim 13.
15. the sensor device is configured to wait a predetermined period of time for the operating element (110) to be in an inactive state to verify that the operating element (110) is in fact in an inactive state before performing the automatic recalibration, or the sensor device is configured to wait for the occurrence of a predetermined event indicating that the operating element (110) is in an inactive state before performing the automatic recalibration. The hardware device (100) of any one of claims 1 to 14.
16. A method (700) for performing automatic recalibration of a hardware device (100), the method comprising: Determining a position of an operating element (110) that is movable by a user within a predetermined range of mechanical movement (120); performing said automatic recalibration; Including, The step of performing automatic recalibration comprises: setting the current actual position (130) of said operating element (110) in an inactive state as a mechanical zero position (133); establishing a zero position zone (150) extending around said mechanical zero position (133); This is done by Any position of the operating element (110) located within the zero position zone (150) is treated as a virtual zero position. method.
17. A computer-readable storage medium having stored thereon a computer program which, when run on a computer or signal processing unit, performs the method according to claim 16.