An input apparatus, a control apparatus, a control system including those apparatuses, and a control method therefor with which a user can feel a linearity between a movement of the input apparatus and that of a pointer and an accurate pointing operation is possible are provided. An MPU of an input apparatus variably controls a gain value in a range from first threshold value to a second threshold value or first range, in which the input apparatus is within a low-velocity range, and controls the gain value to be constant in a range exceeding the second threshold value second range. The gain value is a value multiplied to a velocity value of the input apparatus that is obtained by an operation, the velocity value being obtained through detection of a movement of the input apparatus. Accordingly, in a relatively-low-velocity range, a pointer velocity value becomes smaller by a multi-degree function as movements of the input apparatus and a pointer on a screen become slower. As a result, accurate pointing becomes possible. Moreover, since a linearity is obtained when the input apparatus is in a relatively-high-velocity range, a user can obtain a linear operational feeling.
|
0. 36. A control method comprising:
detecting a movement of a sensor unit of an input apparatus;
outputting a signal corresponding to a velocity-related value that is related to a velocity of the sensor unit, wherein the signal is calculated by:
detecting a first acceleration in a direction along a first axis,
outputting a first angle-related value as a value related to a rotational angle of the sensor unit about a second axis different from the direction along the first axis,
calculating a first velocity value of the sensor unit in the direction along the first axis as the velocity-related value based on the first acceleration value and the first angle-related value,
detecting a second acceleration in a direction along the second axis,
outputting a second angle-related value as a value related to a rotational angle of the sensor unit about the first axis, and
calculating a second velocity value of the sensor unit in the direction along the second axis as the velocity-related value based on the second acceleration value and the second angle-related value;
comparing the first velocity value and the second velocity value that have been calculated;
variably controlling a gain for determining a pointer velocity value as a velocity value for moving a pointer on a screen, in a first range in which the output velocity-related value ranges from a first threshold value to a second threshold value larger than the first threshold value; and
controlling the gain to be constant in a second range in which the output velocity-related value exceeds the second threshold value, wherein the gain is controlled with respect to a larger one of the first velocity value and the second velocity value as a result of the comparison.
0. 21. An input apparatus for controlling a movement of a pointer on a screen, the input apparatus comprising:
a sensor unit;
a processor; and
a movement signal output means for detecting a movement of the sensor unit and outputting a signal of a velocity-related value that is related to a velocity of the sensor unit, wherein the movement signal output means includes:
a first acceleration sensor that detects a first acceleration in a direction along a first axis,
a first output means for outputting a first angle-related value as a value related to a rotational angle of the sensor unit about a second axis different from the direction along the first axis, and
the processor calculates a first velocity value of the sensor unit in the direction along the first axis as the velocity-related value based on the first acceleration value and the first angle-related value,
a second acceleration sensor that detects a second acceleration in a direction along the second axis,
a second output means for outputting a second angle-related value as a value related to a rotational angle of the sensor unit about the first axis, and
the processor calculates a second velocity value of the sensor unit in the direction along the second axis as the velocity-related value based on the second acceleration value and the second angle-related value;
wherein the processor compares the first velocity value and the second velocity value that have been calculated;
wherein the processor obtains a pointer velocity value as a velocity value for moving the pointer on the screen by multiplying the output velocity-related value by a gain; and
wherein the processor variably controls the gain in a first range in which the output velocity-related value ranges from a first threshold value to a second threshold value larger than the first threshold value, and controlling the gain to be constant in a second range in which the output velocity-related value exceeds the second threshold value, wherein the processor controls the gain with respect to a larger one of the first velocity value and the second velocity value as a result of the comparison.
0. 33. A control system for controlling a movement of a pointer on a screen, the control system comprising:
an input apparatus including:
a sensor unit,
a processor, and
a movement signal output means for detecting a movement of the sensor unit and outputting a signal corresponding to a velocity-related value that is related to a velocity of the sensor unit, the movement signal output means including:
a first acceleration sensor that detects a first acceleration in a direction along a first axis,
a first output means for outputting a first angle-related value as a value related to a rotational angle of the sensor unit about a second axis different from the direction along the first axis, and
the processor calculating a first velocity value of the sensor unit in the direction along the first axis as the velocity-related value based on the first acceleration value and the first angle-related value,
a second acceleration sensor that detects a second acceleration in a direction along the second axis,
a second output means for outputting a second angle-related value as a value related to a rotational angle of the sensor unit about the first axis, and
the processor calculating a second velocity value of the sensor unit in the direction along the second axis as the velocity-related value based on the second acceleration value and the second angle-related value,
wherein the processor compares the first velocity value and the second velocity value that have been calculated,
wherein the processor obtains a pointer velocity value as a velocity value for moving the pointer by multiplying the output velocity-related value by a gain,
wherein the processor variably controls the gain in a first range in which the output velocity-related value ranges from a first threshold value to a second threshold value larger than the first threshold value, and controlling the gain to be constant in a second range in which the output velocity-related value exceeds the second threshold value, wherein the processor controls the gain with respect to a larger one of the first velocity value and the second velocity value as a result of the comparison; and
a control apparatus including a different processor generating coordinate information of the pointer on the screen that corresponds to the received pointer velocity value.
0. 1. An input apparatus for controlling a movement of a pointer on a screen, the input apparatus comprising:
a casing;
a movement signal output means for detecting a three-dimensional movement of the casing and outputting a signal of a velocity-related value that is related to a velocity of the casing, wherein the movement signal output means includes:
a first acceleration sensor that detects a first acceleration in a direction along a first axis,
a first output means for outputting a first angle-related value as a value related to a rotational angle of the casing about a second axis different from the direction along the first axis, and
a first calculation means for calculating a first velocity value of the casing in the direction along the first axis as the velocity-related value based on the first acceleration value and the first angle-related value,
a second acceleration sensor that detects a second acceleration in a direction along the second axis,
a second output means for outputting a second angle-related value as a value related to a rotational angle of the casing about the first axis, and
a second calculation means for calculating a second velocity value of the casing in the direction along the second axis as the velocity-related value based on the second acceleration value and the second angle-related value;
a comparison means for comparing the first velocity value and the second velocity value that have been calculated;
a gain means for obtaining a pointer velocity value as a velocity value for moving the pointer on the screen by multiplying the output velocity-related value by a gain;
a control means for variably controlling the gain in a first range in which the output velocity-related value ranges from a first threshold value to a second threshold value larger than the first threshold value, and controlling the gain to be constant in a second range in which the output velocity-related value exceeds the second threshold value, wherein the control means controls the gain with respect to a larger one of the first velocity value and the second velocity value as a result of the comparison; and
a transmission means for transmitting information on the pointer velocity value obtained by the gain means.
0. 2. The input apparatus according to
wherein the control means controls the gain so that the gain increases as the velocity-related value increases in the first range.
0. 3. The input apparatus according to
wherein the movement signal output means outputs an acceleration value of the casing, and
wherein the control means controls the gain so that the gain increases as the acceleration value increases in the first range.
0. 4. The input apparatus according to
wherein the movement signal output means outputs an acceleration value of the casing, and
wherein the control means changes a change rate of the gain in the first range in accordance with a change in the acceleration value.
0. 5. The input apparatus according to
a storage means for storing information on a plurality of velocity-related values that are temporally consecutive in the first range; and
a sign judgment means for judging whether signs of the plurality of stored velocity-related values are the same,
wherein the control means includes a gain value storage means for storing a value of the gain in the first range and controls, when the signs of the plurality of velocity-related values are the same, the gain using a value obtained by adding a constant value to the stored gain value or multiplying the stored gain value by the constant value.
0. 6. The input apparatus according to
wherein the control means controls a value of the gain to be constant when the value of the increased gain exceeds the constant gain.
0. 7. The input apparatus according to
wherein the control means controls the gain to be constant in a third range in which the output velocity-related value ranges from 0 to the first threshold value.
0. 8. The input apparatus according to
an adjustment means for adjusting at least one of a change rate of the gain in the first range, the first threshold value, the second threshold value, and a value of the gain in the second range.
0. 9. The input apparatus according to
wherein the movement signal output means includes
an acceleration sensor that detects an acceleration of the casing in a direction along a predetermined axis, and
a velocity calculation means for calculating, as the velocity-related value, the velocity value of the casing in the direction along the predetermined axis of the casing by integrating the detected acceleration value.
0. 10. The input apparatus according to
wherein the movement signal output means includes
an output means for outputting an angular velocity value of the casing about the predetermined axis, and
an obtainment means for obtaining the velocity value calculated based on the output angular velocity value as the velocity-related value.
0. 11. The input apparatus according to
0. 12. A control apparatus for controlling a movement of a pointer on a screen based on information on a detection value transmitted from an input apparatus including a casing, a detection means for detecting a three-dimensional movement of the casing, and a transmission means for transmitting the information on the detection value obtained by the detection means, the control apparatus comprising:
a reception means for receiving the information on the detection value;
a movement signal output means for outputting a signal corresponding to a velocity-related value that is related to a velocity of the casing based on the received information on the detection value;
a gain means for obtaining a pointer velocity value as a velocity value for moving the pointer on the screen by multiplying the output velocity-related value by a gain;
a control means for variably controlling the gain in a first range in which the output velocity-related value ranges from a first threshold value to a second threshold value larger than the first threshold value, and controlling the gain to be constant in a second range in which the output velocity-related value exceeds the second threshold value;
a coordinate information generation means for generating coordinate information of the pointer on the screen that corresponds to the pointer velocity value obtained by the gain means;
a determination means for determining a size of an icon on the screen; and
an adjustment means for adjusting, in accordance with the size of an icon determined by the determination means, at least one of a change rate of the gain in the first range, the first threshold value, the second threshold value, and a value of the gain in the second range.
0. 13. A control system for controlling a movement of a pointer on a screen, the control system comprising:
an input apparatus including:
a casing,
a movement signal output means for detecting a three-dimensional movement of the casing and outputting a signal corresponding to a velocity-related value that is related to a velocity of the casing, the movement signal output means including:
a first acceleration sensor that detects a first acceleration in a direction along a first axis,
a first output means for outputting a first angle-related value as a value related to a rotational angle of the casing about a second axis different from the direction along the first axis, and
a first calculation means for calculating a first velocity value of the casing in the direction along the first axis as the velocity-related value based on the first acceleration value and the first angle-related value,
a second acceleration sensor that detects a second acceleration in a direction along the second axis,
a second output means for outputting a second angle-related value as a value related to a rotational angle of the casing about the first axis, and
a second calculation means for calculating a second velocity value of the casing in the direction along the second axis as the velocity-related value based on the second acceleration value and the second angle-related value,
a comparison means for comparing the first velocity value and the second velocity value that have been calculated,
a gain means for obtaining a pointer velocity value as a velocity value for moving the pointer by multiplying the output velocity-related value by a gain,
a control means for variably controlling the gain in a first range in which the output velocity-related value ranges from a first threshold value to a second threshold value larger than the first threshold value, and controlling the gain to be constant in a second range in which the output velocity-related value exceeds the second threshold value, wherein the control means controls the gain with respect to a larger one of the first velocity value and the second velocity value as a result of the comparison, and
a transmission means for transmitting information on the pointer velocity value obtained by the gain means; and
a control apparatus including:
a reception means for receiving the transmitted information on the pointer velocity value, and
a coordinate information generation means for generating coordinate information of the pointer on the screen that corresponds to the received pointer velocity value.
0. 14. The control system according to
a determination means for determining a size of an icon on the screen; and
an adjustment means for adjusting, in accordance with the size of an icon determined by the determination means, at least one of a change rate of the gain in the first range, the first threshold value, the second threshold value, and a value of the gain in the second range.
0. 15. A control system for controlling a movement of a pointer on a screen, the control system comprising:
an input apparatus including:
a casing,
a detection means for detecting a three-dimensional movement of the casing, and
a transmission means for transmitting information on a detection value obtained by the detection means; and
a control apparatus including:
a reception means for receiving the transmitted information on the detection value,
a movement signal output means for outputting a signal corresponding to a velocity-related value that is related to a velocity of the casing based on the received information on the detection value,
a gain means for obtaining a pointer velocity value as a velocity value for moving the pointer by multiplying the output velocity-related value by a gain,
a control means for variably controlling the gain in a first range in which the output velocity-related value ranges from a first threshold value to a second threshold value larger than the first threshold value, and controlling the gain to be constant in a second range in which the output velocity-related value exceeds the second threshold value,
a coordinate information generation means for generating coordinate information of the pointer on the screen that corresponds to the pointer velocity value obtained by the gain means,
a determination means for determining a size of an icon on the screen, and
an adjustment means for adjusting, in accordance with the size of an icon determined by the determination means, at least one of a change rate of the gain in the first range, the first threshold value, the second threshold value, and a value of the gain in the second range.
0. 16. A control method comprising:
detecting a three-dimensional movement of an input apparatus;
outputting a signal corresponding to a velocity-related value that is related to a velocity of the input apparatus, wherein the signal is calculated by:
detecting a first acceleration in a direction along a first axis,
outputting a first angle-related value as a value related to a rotational angle of the input apparatus about a second axis different from the direction along the first axis,
calculating a first velocity value of the input apparatus in the direction along the first axis as the velocity-related value based on the first acceleration value and the first angle-related value,
detecting a second acceleration in a direction along the second axis,
a second output means for outputting a second angle-related value as a value related to a rotational angle of the input apparatus about the first axis, and
a second calculation means for calculating a second velocity value of the input apparatus in the direction along the second axis as the velocity-related value based on the second acceleration value and the second angle-related value;
comparing the first velocity value and the second velocity value that have been calculated;
variably controlling a gain for determining a pointer velocity value as a velocity value for moving a pointer on a screen, in a first range in which the output velocity-related value ranges from a first threshold value to a second threshold value larger than the first threshold value;
controlling the gain to be constant in a second range in which the output velocity-related value exceeds the second threshold value, wherein the gain is controlled with respect to a larger one of the first velocity value and the second velocity value as a result of the comparison;
outputting the pointer velocity value by multiplying the output velocity-related value by the controlled gain; and
generating coordinate information of the pointer on the screen that corresponds to the pointer velocity value.
0. 17. The control method according to
determining a size of an icon on the screen, and
adjusting, in accordance with the size of the icon, at least one of a change rate of the gain in the first range, the first threshold value, the second threshold value, and a value of the gain in the second range.
0. 18. A handheld apparatus for controlling a movement of a pointer on a screen, the handheld apparatus comprising:
a casing;
a display section to display the screen;
a movement signal output means for detecting a three-dimensional movement of the casing and outputting a signal of a velocity-related value that is related to a velocity of the casing, the movement signal output means including:
a first acceleration sensor that detects a first acceleration in a direction along a first axis,
a first output means for outputting a first angle-related value as a value related to a rotational angle of the casing about a second axis different from the direction along the first axis, and
a first calculation means for calculating a first velocity value of the casing in the direction along the first axis as the velocity-related value based on the first acceleration value and the first angle-related value,
a second acceleration sensor that detects a second acceleration in a direction along the second axis,
a second output means for outputting a second angle-related value as a value related to a rotational angle of the casing about the first axis, and
a second calculation means for calculating a second velocity value of the casing in the direction along the second axis as the velocity-related value based on the second acceleration value and the second angle-related value;
a comparison means for comparing the first velocity value and the second velocity value that have been calculated;
a gain means for obtaining a pointer velocity value as a velocity value for moving the pointer on the screen by multiplying the output velocity-related value by a gain; and
a control means for variably controlling the gain in a first range in which the output velocity-related value ranges from a first threshold value to a second threshold value larger than the first threshold value, and controlling the gain to be constant in a second range in which the output velocity-related value exceeds the second threshold value, wherein the control means controls the gain with respect to a larger one of the first velocity value and the second velocity value as a result of the comparison.
0. 19. A control system for controlling a movement of a pointer on a screen, the control system comprising:
an input apparatus including:
a casing,
a movement signal output means for detecting a three-dimensional movement of the casing and outputting a signal corresponding to a velocity-related value that is related to a velocity of the casing,
a gain means for obtaining a pointer velocity value as a velocity value for moving the pointer by multiplying the output velocity-related value by a gain,
a control means for variably controlling the gain in a first range in which the output velocity-related value ranges from a first threshold value to a second threshold value larger than the first threshold value, and controlling the gain to be constant in a second range in which the output velocity-related value exceeds the second threshold value, and
a transmission means for transmitting information on the pointer velocity value obtained by the gain means; and
a control apparatus including:
a reception means for receiving the transmitted information on the pointer velocity value, and
a coordinate information generation means for generating coordinate information of the pointer on the screen that corresponds to the received pointer velocity value,
a determination means for determining a size of an icon on the screen, and
an adjustment means for adjusting, in accordance with the size of an icon determined by the determination means, at least one of a change rate of the gain in the first range, the first threshold value, the second threshold value, and a value of the gain in the second range.
0. 20. A control method comprising:
detecting a three-dimensional movement of an input apparatus;
outputting a signal corresponding to a velocity-related value that is related to a velocity of the input apparatus;
variably controlling a gain for determining a pointer velocity value as a velocity value for moving a pointer on a screen, in a first range in which the output velocity-related value ranges from a first threshold value to a second threshold value larger than the first threshold value;
controlling the gain to be constant in a second range in which the output velocity-related value exceeds the second threshold value;
outputting the pointer velocity value by multiplying the output velocity-related value by the controlled gain;
generating coordinate information of the pointer on the screen that corresponds to the pointer velocity value;
determining a size of an icon on the screen; and
adjusting, in accordance with the size of the icon, at least one of a change rate of the gain in the first range, the first threshold value, the second threshold value, and a value of the gain in the second range.
0. 22. The input apparatus according to claim 21,
wherein the processor controls the gain so that the gain increases as the velocity-related value increases in the first range.
0. 23. The input apparatus according to claim 22,
wherein the movement signal output means outputs an acceleration value of the sensor unit, and
wherein the processor controls the gain so that the gain increases as the acceleration value increases in the first range.
0. 24. The input apparatus according to claim 22,
wherein the movement signal output means outputs an acceleration value of the sensor unit, and
wherein the processor changes a change rate of the gain in the first range in accordance with a change in the acceleration value.
0. 25. The input apparatus according to claim 22, further comprising:
a memory storing information on a plurality of velocity-related values that are temporally consecutive in the first range; and
wherein the processor judges whether signs of the plurality of stored velocity-related values are the same,
wherein the memory stores a value of the gain in the first range and the processor controls, when the signs of the plurality of velocity-related values are the same, the gain using a value obtained by adding a constant value to the stored gain value or multiplying the stored gain value by the constant value.
0. 26. The input apparatus according to claim 22,
wherein the processor controls a value of the gain to be constant when the value of the increased gain exceeds the constant gain.
0. 27. The input apparatus according to claim 21,
wherein the processor controls the gain to be constant in a third range in which the output velocity-related value ranges from 0 to the first threshold value.
0. 28. The input apparatus according to claim 21,
wherein the processor adjusts at least one of a change rate of the gain in the first range, the first threshold value, the second threshold value, and a value of the gain in the second range.
0. 29. The input apparatus according to claim 21,
wherein the movement signal output means includes
an acceleration sensor that detects an acceleration of the sensor unit in a direction along a predetermined axis, and
the processor calculates, as the velocity-related value, the velocity value of the sensor unit in the direction along the predetermined axis of the sensor unit by integrating the detected acceleration value.
0. 30. The input apparatus according to claim 21,
wherein the movement signal output means includes
an output means for outputting an angular velocity value of the sensor unit about the predetermined axis, and
the processor obtains the velocity value calculated based on the output angular velocity value as the velocity-related value.
0. 31. The input apparatus according to claim 21,
wherein the processor variably controls the gain in a range in which an operational value obtained based on the first velocity value and the second velocity value that have been calculated ranges from a third threshold value to a fourth threshold value larger than the third threshold value, and controls the gain to be constant in a range in which the operational value exceeds the fourth threshold value.
0. 32. The input apparatus according to claim 21, wherein the movement is a three-dimensional movement.
0. 34. The control system according to claim 33, wherein the different processor:
determines a size of an icon on the screen; and
adjusts, in accordance with the size of an icon determined by the different processor, at least one of a change rate of the gain in the first range, the first threshold value, the second threshold value, and a value of the gain in the second range.
0. 35. The control system according to claim 33, wherein the movement is a three-dimensional movement.
0. 37. The control method according to claim 36, further comprising:
outputting the pointer velocity value by multiplying the output velocity-related value by the controlled gain.
0. 38. The control method according to claim 36, further comprising:
generating coordinate information of the pointer on the screen that corresponds to the pointer velocity value.
0. 39. The control method according to claim 36, further comprising:
determining a size of an icon on the screen, and
adjusting, in accordance with the size of the icon, at least one of a change rate of the gain in the first range, the first threshold value, the second threshold value, and a value of the gain in the second range.
0. 40. The control method according to claim 36, wherein the movement is a three-dimensional movement.
|
The present application
Vy′=Ky*Vy (2)
The MPU 19 transmits information on the obtained pointer velocity values (Vx′, Vy′) to the control apparatus 40 via the transceiver 21 and the antenna 22 (Step 105).
The MPU 35 of the control apparatus 40 receives the information on the pointer velocity values (Vx′, Vy′) via the antenna 39 and the transceiver 38 (Step 106). The input apparatus 1 transmits the pointer velocity values (Vx′, Vy′) every predetermined clocks, that is, per unit time, so the control apparatus 40 can receive this and obtain displacement amounts in the X- and Y-axis directions per unit time.
The MPU 35 generates coordinate values (X(t), Y(t)) of the pointer 2 on the screen 3 that correspond to the obtained displacement amounts in the X- and Y-axis directions per unit time by Equations (3) and (4) below (Step 107). Based on the generated coordinate values, the MPU 35 controls display so that the pointer 2 moves on the screen 3 (Step 108) (coordinate information generation means).
X(t)=X(t−1)+Vx′ (3)
Y(t)=Y(t−1)+Vy′ (4)
In descriptions below, unless limitedly stated otherwise, the abscissa axis represents one of the velocity values Vx and Vy and the ordinate axis represents the gain value K with respect to that one of the velocity values Vx and Vy in the gain profile as shown in
In the example shown in
When resolution performance of the velocity value on the abscissa axis is expressed by an absolute value of ±128 (8 bits), the threshold value v1 is set to be 4 to 12 or 6 to 10, typically 8. Moreover, the threshold value v2 is set to be 10 to 20 or 12 to 16, typically 14. However, the threshold values v1 and v2 are not limited to those ranges and can be changed as appropriate. The resolution performance of the velocity value on the abscissa axis may be 8 bits or less or larger than 8 bits.
A velocity equal to or smaller than the threshold value v2 typically becomes 5 cm/s or less when converted into an actual velocity of the input apparatus 1, but settings can be changed as appropriate to 10 cm/s or less, 3 cm/s or less, or other ranges (e.g., 2 go 4 cm/s). A relatively-high-velocity range of the input apparatus 1 refers to a case exceeding 10 cm/s or a case exceeding 20 cm/s, for example, but settings thereof can also be changed as appropriate.
As shown in
The MPU 19 only needs to store functions expressing the gain profile in the memory and use the functions to dynamically calculate the pointer velocity values. Alternatively, a lookup table generated based on the gain profile, that shows a correspondence between the velocity value Vx or Vy of the input apparatus 1 and the pointer velocity value, may be stored in the memory in advance. The same holds true for other gain profiles to be described later (
As described above, the gain value K is controlled variably in a relatively-low-velocity range in which the velocity value Vx or Vy of the input apparatus 1 is equal to or smaller than the threshold value v2. For example, in this embodiment, the gain value K is set to increase as the velocity value Vx or Vy of the input apparatus 1 increases in the range in which the velocity value of the input apparatus 1 ranges from v1 to v2. Therefore, it becomes possible for the user to perform accurate pointing in the range in which the velocity of the movement of the input apparatus is relatively low. Moreover, the gain value K is controlled to be constant in the relatively-high-velocity range in which the velocity value Vx or Vy of the input apparatus 1 exceeds the threshold value v2. Therefore, the movement of the input apparatus 1 and that of the pointer 2 correspond linearly in the range in which the velocity value Vx or Vy of the input apparatus 1 is relatively high, with the result that an operational feeling for the user is improved.
To put is the other way around, the range in which the velocity value Vx or Vy of the input apparatus 1 is relatively low is a range in which, even when the velocity profile is not linear, the user cannot judge whether it is linear or not. Specifically, that range is typically 5 cm/s or less as described above.
Further, the MPU 19 controls the gain to be constant in a range in which the velocity value of the input apparatus 1 ranges from 0 to the threshold value v1 (third range). Since the movement of the pointer 2 becomes linear in accordance with an operation at a start of the movement of the input apparatus 1 (instant the input apparatus starts moving) as described above, the pointer 2 starts moving smoothly.
Here, in the typical example of
Moreover, in the gain profile shown in
In this example, the gain profile is set based on the acceleration value of the input apparatus 1, and in a range from the threshold value v1 (=0) to the threshold value v2, the gain profile moves farther away from a gain profile that is located at the very bottom and indicated by a thick line F to come closer to 1 (or vicinity of 1) as indicated by broken lines as the acceleration value of the input apparatus increases. In other words, the threshold value v2 shifts more to the low-velocity side as the acceleration value increases.
The threshold value v1 may be a value other than 0. Although the gain in the range from the threshold value v1 (=0) to the threshold value v2 is a multi-degree function of quadratic or more, it may instead be a straight line.
The MPU 19 sets an operational value obtained based on the gain value K corresponding to the velocity values (Vx, Vy) (previous gain value K) (first gain value) and functions (f(axi), f(ayi)) of acceleration values (axi, ayi) obtained by differentiating the velocity values Vx, Vy, as a new gain value K (second gain value) in place of the previous gain value K.
Hereinafter, the acceleration value axi or ayi may simply be referred to as acceleration value ai, and the function f(axi) or f(ayi) may simply be referred to as f(ai).
The function f(ai) can be made a function that increases as the acceleration value ai increases. The way it increases is linear-functionally, by a multi-degree function of quadratic or more, stepwise, by a combination of at least two of the above, or by various other ways. The function f(ai) only needs to be set while considering a balance between awkwardness of a user in operating the input apparatus 1 at a high acceleration and operability of accurate pointing through a user test, for example.
The operational value is a value obtained by adding the function f(ai) to the previous gain value K or multiplying the previous gain value K by the function f(ai).
The function f(ai) may be a function that decreases as the acceleration value ai increases. In this case, the operational value can be obtained by dividing the previous gain value K by the function f(ai).
Moreover, it is also possible to adopt a method of registering relationships among velocity values, acceleration values, and gain values in a table in advance and obtaining a corresponding gain value based on a velocity value and an acceleration value that have been detected.
Processes of Steps 201 to 203a are the same as those of Steps 101 to 103 of
In Step 204, the MPU 19 differentiates the velocity values (Vx, Vy) to obtain acceleration values (axi, ayi) of the input apparatus 1 in the X- and Y-axis directions. By using the acceleration values (axi, ayi) obtained by the differentiation operation, the control system 100 can recognize the movement of the input apparatus 1 more accurately than in the case where the detection values (ax, ay) of the acceleration sensor unit 16 are used. This is because, as described above, the velocity values (Vx, Vy) obtained based on the acceleration values (ax, ay) and the angular velocity values (ωψ, ωθ) are differentiated.
The MPU 19 calculates a function f(ai) (=f(axi), f(ayi)) from the obtained acceleration value ai (=(axi, ayi)) (Step 205). Upon calculating the function f(ai), the MPU 19 calculates a new gain value (operational value) based on the gain K and the function f(ai) (Step 206). Here, the new gain value K′ is K′=K+f(ai) as described above, or may be K′=K*f(ai).
Here, when the gain value K (=K′) obtained by the operation above exceeds the constant gain value K2, the MPU 19 only needs to set a maximum value of the gain value K to K2.
When the user starts moving the input apparatus 1 or stops moving the input apparatus 1, that is, when the input apparatus 1 moves at a high acceleration, no accurate pointing is required. According to the gain profile as shown in
In the case of the gain profiles as shown in
Processes of Steps 207 to 211 are the same as those of Steps 104 to 108 of
The following configuration is also possible as another embodiment of the gain profiles described above.
For example, in
Alternatively, the MPU 19 may change the constant gain value K in the range in which the velocity value of the input apparatus 1 exceeds the threshold value v2 in accordance with the acceleration value ai. For example, it is also possible for the gain value K to approach, from a first value as a constant value, a second value as a constant value larger than the first value as the acceleration value ai increases. The first value and the second value may be 1 or values other than 1.
Here, regarding the gain profile shown in
Alternatively, the MPU 19 may variably control the gain in a range in which an operational value obtained based on the velocity values (Vx, Vy) calculated in Step 103 or 203 ranges from a third threshold value to a fourth threshold value larger than the third threshold value, and control the gain to be constant in a range in which the operational value exceeds the fourth threshold value. In this case, the third threshold value may either be v1 (first threshold value) or different from v1. Moreover, the fourth threshold value may either be v2 (second threshold value) or different from v2.
The operational value obtained based on the velocity values (Vx, Vy) is a value obtained by, for example, Vx+Vy or (Vx2+Vy2)1/2. The operational value may alternatively be a value obtained by an expression other than those operational expressions.
Alternatively, the MPU 19 may compare (absolute values of) the velocity values Vx and Vy calculated in Step 103 or 203 (comparison means) and use a larger one of the values as a representative value. Accordingly, a calculation amount can be reduced as compared to the case of using the operational value as described above or the case where the gain is controlled independently for the X axis and the Y axis.
In
As shown in
Also in the flowchart shown in
Processes of Steps 401, 402, 403a, 403b, and 404 are the same as those of Steps 201, 202, 203a, 204b, and 204.
In Step 405, the MPU 19 stores a plurality of temporally-consecutive velocity values (Vx, Vy) in the memory. In this case, a ring buffer or a FIFO (First In First Out) is used as the memory, but is not limited thereto. The number of samples of the velocity values (Vx, Vy) is typically about 5 to 10, but since it varies depending on a clock frequency of the MPU 19, it only needs to be set as appropriate.
Processes of Steps 406 and 407 are the same as those of Steps 205 and 206.
In Step 408, the MPU 19 judges whether signs of the plurality of consecutive velocity values (Vx, Vy) stored in the memory are the same (sign judgment means). If the signs are the same, a direction of the velocity of the input apparatus 1 has not changed during that period. In this case, it is considered that the user is in midst of moving the pointer 2 from a certain position on the screen 3 to a different position relatively distant therefrom, that is, a coarse motion operation in which accurate pointing is not performed is being made. Therefore, in this case, for the pointer velocity values to become more linear, the MPU 19 adds a constant C to the gain value K (=(Kx, Ky)) calculated in Step 407 to thus calculate a new gain value K (Step 409). The constant C can be set as appropriate.
By adding a constant value in the processing as described above, the relationship between the movement of the input apparatus and the movement of the pointer becomes more linear, with the result that an operational feeling for the user can be improved.
However, for preventing the gain value K from exceeding K2 even when added with the constant C, the MPU 19 monitors whether the gain value K exceeds K2 (Steps 410 and 412). When the gain value K exceeds K2, the latest gain value K is assumed to be K2 as the constant value (Steps 411 and 413).
On the other hand, when at least one of the consecutive velocity values (Vx, Vy) has a sign different from those of other velocity values in Step 408, it is considered that a micromotion operation in which accurate pointing is performed is being made. In this case, the constant C is not added to the gain value K.
Processes of Steps 414 to 418 are the same as those of Steps 207 to 211.
It should be noted that in the judgment processing of Step 408, the MPU 19 typically advances to Step 409 when the signs of Vx and Vy are the same. However, it is also possible for the MPU 19 to apply, when the sign of one of Vx and Vy is the same, Step 409 to only the velocity value with the same sign out of the velocities on the X axis and the Y axis.
Moreover, in Step 409, it is also possible to calculate a new gain value K by multiplying the gain value K (=(Kx, Ky)) calculated in Step 407 by a certain constant. The processing as described above also bears the same effect as that described above.
It is also possible for the MPU 19 not to execute Step 407 and execute the judgment processing of Step 408 after Step 406. In this case, the MPU 19 may execute Step 407 when judged YES in Step 408 and use the fixed gain profile shown in
Processes of Steps 403 to 414, 417, and 418 shown in
A gain profile shown in
A gain profile shown in
A function of adjusting at least one of the change rate of the gain (tilt etc.), the threshold value v1, the threshold value v2, and the constant gain value K2 (adjustment means) regarding the gain profile described with reference to
Alternatively, the input apparatus 1 or the control apparatus 40 only needs to include software including GUI as the adjustment means.
An embodiment is not limited to the above embodiments, and various other embodiments are also possible.
A configuration in which the input apparatus 1 includes the acceleration sensor unit 16 but not the angular velocity sensor unit 15 is also conceivable. In this case, the velocity values (Vx, Vy) are obtained by integrating the acceleration values (ax, ay) detected by the acceleration sensor unit 16 in Step 103 (provided that in this case, the angular velocities (ωψ, ωθ) about the Y axis and the X axis cannot be obtained). It is also possible to calculate accelerations using an image sensor instead of the acceleration sensor unit 16.
An angle sensor or an angular acceleration sensor may be used instead of the angular velocity sensor unit 15. As the angle sensor, there are a geomagnetic sensor, an image sensor, and the like. When using the geomagnetic sensor, angle values are detected. Therefore, in this case, the angular velocity values can be obtained by differentiating the angle values. The angular acceleration sensor is constituted of a combination of a plurality of acceleration sensors, and the angular velocity values can be obtained by integrating the angular acceleration values obtained by the angular acceleration sensor.
For example, the angular acceleration sensor for detecting angular accelerations about the Y axis and the X axis or a sensor for detecting angles may be used in calculating radius gyrations R(t) as described above. In this case, the angular velocity values (ωψ, ωθ) are obtained by integrating the angular acceleration values detected by the angular acceleration sensor. Alternatively, the angular velocity values (ωψ, ωθ) are obtained by differentiating the angle values detected by the angle sensor.
As a uniaxial angular acceleration sensor as the angular acceleration sensor above, two uniaxial acceleration sensors disposed on the radius gyrations R(t) are typically used. A difference between two acceleration values obtained by the two acceleration sensors is divided by a distance between the two acceleration sensors to thus calculate an angular velocity value of the input apparatus 1. Similar to the detection principle of the two uniaxial acceleration sensors described above, two biaxial acceleration sensors only need to be used as the biaxial angular acceleration sensor. In this case, in addition to the geomagnetic sensor and the image sensor, the biaxial acceleration sensors only need to be used as the angle sensor so as to realize a principle of obtaining, for example, a roll angle ϕ (angle about Z axis in
The control apparatus 40 may store software for determining a size of the icons 4 displayed on the screen 3 (determination means) in the ROM 37 or other storage devices. The software may be structured so that the user can customize the size of the icons 4. In this case, the MPU 35 of the control apparatus 40 may adjust at least one of the change rate or tilt of the gain in the range from the threshold value v1 to the threshold value v2, the gain value K1, the threshold value v1, the threshold value v2, and the gain value K2 in accordance with the determined size of the icons 4 (adjustment means).
For example, since accurate pointing may become less necessary as the size of the icons 4 increases, it is only necessary to use a gain profile with which the velocity value of the input apparatus 1 and the like and the pointer velocity value become more linear. In this case, the MPU 35 may store a plurality of gain profiles in advance and extract and use the plurality of gain profiles in accordance with the determined size of the icons 4. Alternatively, according to the determined size of the icons 4, the MPU 35 may create a gain profile by an operation and use it.
In addition to the gain profiles shown in
In the input apparatus of the above embodiments, input information has been transmitted to the control apparatus wirelessly. However, the input information may be transmitted by wire.
The embodiments may be applied to, for example, a handheld-type information processing apparatus (handheld apparatus) including a display section. In this case, by the user moving a main body of the handheld apparatus, a pointer displayed on the display section is moved. Examples of the handheld apparatus include a PDA (Personal Digital Assistance), a cellular phone, a portable music player, and a digital camera.
In the above embodiments, the pointer 2 that moves on the screen in accordance with the movement of the input apparatus 1 has been represented as an image of an arrow. However, the image of the pointer 2 is not limited to the arrow and may be a simple circle, square, or the like, or a character image or any other images.
The detection axes of each of the angular velocity sensor unit 15 and the acceleration sensor unit 16 of the sensor unit 17 do not necessarily need to be mutually orthogonal like the X′ axis and the Y′ axis described above. In this case, the accelerations respectively projected in the mutually-orthogonal axial directions can be obtained by a calculation that uses a trigonometric function. Similarly, the angular velocities about the mutually-orthogonal axes can be obtained by a calculation that uses the trigonometric function.
Descriptions have been given on the case where the X′ and Y′ detection axes of the angular velocity sensor unit 15 and the X′ and Y′ detection axes of the acceleration sensor unit 16 of the sensor unit 17 described in the above embodiments match. However, those detection axes do not necessarily need to match. For example, in a case where the angular velocity sensor unit 15 and the acceleration sensor unit 16 are mounted on a substrate, the angular velocity sensor unit 15 and the acceleration sensor unit 16 may be mounted while being deviated a predetermined rotation angle within a main surface of the substrate so that the detection axes of the angular velocity sensor unit 15 and the acceleration sensor unit 16 do not match. In this case, the accelerations and angular velocities with respect to the respective axes can be obtained by a calculation that uses the trigonometric function.
It should be understood that various changes and modifications to the presently preferred embodiments described herein will be apparent to those skilled in the art. Such changes and modifications can be made without departing from the spirit and scope of the present invention and without diminishing its intended advantages. It is therefore intended that such changes and modifications be covered by the appended claims.
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
5587558, | Jan 24 1992 | Seiko Instruments Inc | Coordinate detecting apparatus having acceleration detectors |
5764219, | Sep 25 1992 | IBM Corporation | Controller for improved computer pointing devices |
6115028, | Aug 22 1996 | AUTODESK, Inc | Three dimensional input system using tilt |
20020109668, | |||
20050024326, | |||
20070273645, | |||
20070291007, | |||
20090009471, | |||
20090066646, | |||
20090085867, | |||
20090115724, | |||
20170108943, | |||
JP2001056743, | |||
JP3748483, | |||
JP6259190, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jun 09 2009 | YAMAMOTO, KAZUYUKI | Sony Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 039780 | /0234 | |
Jul 18 2016 | Sony Corporation | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Sep 01 2020 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Oct 28 2024 | REM: Maintenance Fee Reminder Mailed. |
Date | Maintenance Schedule |
Jun 11 2022 | 4 years fee payment window open |
Dec 11 2022 | 6 months grace period start (w surcharge) |
Jun 11 2023 | patent expiry (for year 4) |
Jun 11 2025 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jun 11 2026 | 8 years fee payment window open |
Dec 11 2026 | 6 months grace period start (w surcharge) |
Jun 11 2027 | patent expiry (for year 8) |
Jun 11 2029 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jun 11 2030 | 12 years fee payment window open |
Dec 11 2030 | 6 months grace period start (w surcharge) |
Jun 11 2031 | patent expiry (for year 12) |
Jun 11 2033 | 2 years to revive unintentionally abandoned end. (for year 12) |