Input apparatus, control apparatus, control system, control method, and handheld apparatus
An input apparatus, a control apparatus, a control system, and a control method that are capable of correcting an output signal when a hand movement is input to the input apparatus and with which a user does not feel a phase delay are provided. An input apparatus includes a velocity calculation section, a filter, a control section, and a memory. The velocity calculation section calculates velocity values of a casing in X′- and Y′-axis directions based on physical amounts output from a sensor unit like acceleration values in the X′- and Y′-axis directions output from an acceleration sensor unit. The filter attenuates, by predetermined scale factors, velocity values of signals of the predetermined frequency range out of the velocity values calculated by the velocity calculation section. Since the filter dynamically attenuates the velocity values of a shake frequency range in accordance with the velocity values, a precise pointing operation with a pointer becomes possible.
Latest Sony Corporation Patents:
- Battery pack
- Microparticle separation method, microparticle separation program, microparticle separation system
- Method for predefining in an XR space an entryway corresponding to a real entryway
- Information processing system, information processing method, terminal apparatus, and information processing apparatus
- Light emitting apparatus
The present application is a continuation of U.S. patent application Ser. No. 12/531,177 filed on Sep. 14, 2009, which is a National Stage of International Application No. PCT/JP2008/066678 filed on Sep. 16, 2008 and which claims priority to Japanese Patent Application No. 2007-239863 filed on Sep. 14, 2007, the entire contents of which are being incorporated herein by reference.
BACKGROUNDThe present disclosure relates to a 3-dimensional operation input apparatus for operating a GUI (Graphical User Interface), a control apparatus for controlling the GUI in accordance with information output from the input apparatus, a control system including those apparatuses, and a control method.
Pointing devices, particularly a mouse and a touchpad, are used as controllers for GUIs widely used in PCs (Personal Computers). Not just as HIs (Human Interfaces) of PCs as in related art, the GUIs are now starting to be used as an interface for AV equipment and game devices used in living rooms etc. with, for example, televisions as image media. Various pointing devices that a user is capable of operating 3-dimensionally are proposed as controllers for the GUIs of this type (see, for example, Patent Documents 1 and 2 listed below).
Patent Document 1 discloses an input apparatus including angular velocity gyroscopes of two axes, that is, two angular velocity sensors. Each angular velocity sensor is a vibration-type angular velocity sensor. For example, upon application of an angular velocity with respect to a vibrating body piezoelectrically vibrating at a resonance frequency, Coriolis force is generated in a direction orthogonal to a vibration direction of the vibrating body. The Coriolis force is in proportion to the angular velocity, so detection of the Coriolis force leads to detection of the angular velocity. The input apparatus of Patent Document 1 detects angular velocities about two orthogonal axes by the angular velocity sensors, generates, in accordance with the angular velocities, a signal as positional information of a cursor or the like displayed by a display means, and transmits it to a control apparatus.
Patent Document 2 discloses a pen-type input apparatus including three (triaxial) acceleration sensors and three (triaxial) angular velocity sensors (gyro). The pen-type input apparatus executes various operations based on signals obtained by the three acceleration sensors and the three angular velocity sensors, to thus calculate a positional angle of the pen-type input apparatus.
Because the pointing devices of these types are operated 3-dimensionally, hand movements become a problem. For correcting hand movements, there is means for removing, from output signals of sensors that detect an operational movement of a user, a frequency corresponding to the hand movement using a band limiter (see, for example, Patent Document 3). Patent Document 3 discloses an example where the band limiter removes frequencies ranging from 0.5 to 15 Hz, for example.
Patent Document 1: Japanese Patent Application Laid-open No. 2001-56743 (paragraphs [0030] and [0031], FIG. 3)
Patent Document 2: Japanese Patent No. 3,748,483 (paragraphs [0033] and [0041], FIG. 1)
Patent Document 3: Japanese Patent Application Laid-open No. Hei 07-28591 (paragraphs [0060] and [0062])
However, in a shake frequency area, for example, because the band limiter has lowpass filter characteristics, a phase delay (response delay) of an output signal with respect to an input signal occurs. When a phase delay occurs, a pointer moves on a screen following a movement of the input apparatus such as a pointing device, which is awkward for the user.
Moreover, there are cases where a degree of hand movements differs between a case where the user moves the pointing device speedily and a case where the user moves the pointing device slowly.
In view of the circumstances as described above, it is desired to provide an input apparatus, a control apparatus, a control system, a control method, and a handheld apparatus that are capable of correcting an output signal when a hand movement is input to the input apparatus and with which a user does not feel a phase delay.
SUMMARYTo achieve the object above, according to an embodiment, there is provided an input apparatus controlling a movement of a pointer on a screen, including a casing, a movement signal output means, an attenuation means, and a control means.
The movement signal output means detects a movement of the casing and outputs a signal corresponding to the movement of the casing.
The attenuation means attenuates, by a predetermined scale factor, an output value of a signal of a predetermined frequency range out of an output value output from the movement signal output means.
The control means controls a velocity of the pointer on the screen that corresponds to the movement of the casing by controlling the scale factor based on the signal corresponding to the movement of the casing.
When the “predetermined frequency range” is set to a frequency range corresponding to a hand movement of the user, for example, the output value of the signal of the predetermined frequency range becomes a degree (amplitude and velocity) of hand movements of the user. In this case, by controlling the scale factor based on the output value of the signal of the shake frequency range out of the signal corresponding to the movement of the casing, the scale factor is controlled variably in accordance with the degree of hand movements. Thus, a pointer movement that does not cause the user to feel a phase delay can be realized.
Thus, it becomes possible for the user to perform precise pointing operations with the pointer on the screen even when a vibration including a hand movement occurs in the casing. Moreover, because the scale factor is controlled appropriately in accordance with the movement of the input apparatus, the user can operate the input apparatus without feeling a phase delay as a characteristic of the attenuation means, for example.
Typically, the frequency range corresponding to a hand movement is approximately 1 to 20 Hz.
The scale factor is an element that is multiplied to the output value of the signal of the predetermined frequency range for attenuating the output value and is a value smaller than 1.
The “signal corresponding to the movement of the casing” is, for example, a velocity value, acceleration value, acceleration time change rate, angular velocity value, angular acceleration value, angular acceleration time change rate, or the like that corresponds to the movement of the casing.
The control means may control the scale factor to decrease as the output value of the signal of the predetermined frequency range increases, and control the scale factor to increase as the output value of the signal of the predetermined frequency range decreases.
The degree of hand movements is different for each user, so if the scale factor is determined so that hand movements of users who cause a large hand movement can be suppressed sufficiently, some of the users who cause small hand movements may feel awkwardness regarding the phase delay. By controlling the scale factor to decrease as the hand movement increases and controlling the scale factor to increase as the hand movement decreases based on the degree of hand movements, a setting for minimizing the phase delay within a range in which the hand movement becomes negligible becomes possible.
The movement signal output means may output, as the output value, a velocity value or an angular velocity value corresponding to the movement of the casing, and the control means may control the scale factor based on the velocity value or the angular velocity value.
A relatively-large velocity value indicates that the user is in midst of moving the pointer from a certain position on the screen to a different position relatively distant therefrom. In such a case, unlike a case where a specific position on the screen is targeted for the operation, the hand movement is not much of an importance and an importance is rather placed on following capability with respect to the phase delay. On the other hand, a relatively-small velocity value indicates a case where a specific icon on the screen is targeted for the operation, so an importance is placed on suppression of a hand movement rather than the following capability. Due to such a correlation between the velocity and a shake acceptable amount, by monitoring the velocity value, an operational feeling of the user is improved.
Control of the scale factor by the control means means that the control means switches the scale factors stepwise or successively. Stepwise may be two steps as in a two-step switch of whether to cause the attenuation means to function, or may be three steps or more.
“In accordance with the velocity value” refers to not only a case where a relationship between the scale factor and the velocity value is linear, but also a case where the relationship is nonlinear.
The velocity value may be calculated by integrating an acceleration value detected by an acceleration sensor, for example. In this case, as will be described later, a calculation for suppressing an effect of gravity accelerations or an effect of integration errors may be carried out.
Alternatively, it is also possible to obtain radius gyrations of the input apparatus when operated by the user based on acceleration values and angular velocity values respectively detected by acceleration sensors and angular velocity sensors, and calculate the velocity values from the radius gyrations.
Typically, regarding the velocity values, velocity values in a first direction and a second direction different from the first direction are output. Those velocity values are converted into pointer velocities in two directions on the screen respectively corresponding to those two directions. However, regarding the velocity values, only the velocity value in the first direction may be output.
The input apparatus may further include a judgment means for judging whether the velocity value or the angular velocity value is equal to or larger than a first threshold value, and the control means may set the scale factor substantially to 1 when the velocity value or the angular velocity value is equal to or larger than the first threshold value.
Regarding a range of the velocity value equal to or smaller than the first threshold value in which hand movements occur, the velocity value (or angular velocity value) (the same holds true hereinbelow) ranging from a value close to 0 to a second threshold value indicates a case where a specific icon is targeted for the operation, so suppression of a hand movement becomes important. However, particularly the velocity value close to 0 indicates an instant when the user starts moving the input apparatus from a stopped state, or an instant when a cursor that has been moving is stopped on an icon. In this case, the user tends to feel awkwardness due to the phase delay, with the result that operability is lowered. Therefore, since the scale factor gradually decreases as the velocity value increases in this range, awkwardness for the user can be eliminated.
Further, an increase of the velocity value after reaching the second threshold value indicates a case where the pointer is moved from a certain position on the screen to another position distant therefrom. Also in this case, it is considered that elimination of the phase delay tends to be placed with more importance than the influence of hand movements. Therefore, by controlling the scale factor to gradually increase until the velocity value that has exceeded the second threshold value reaches the first threshold value, awkwardness for the user can be eliminated.
“Gradually” means “practically successively”, “stepwise”, or a combination of those.
The input apparatus may further include a judgment means for judging whether the velocity value or the angular velocity value is equal to or smaller than a third threshold value smaller than the first threshold value, and the control means may set the scale factor substantially to 1 when the velocity value or the angular velocity value is equal to or smaller than the third threshold value.
Extremely-small velocity values (smaller than the third threshold value) indicate a time when the user has almost completely stopped the input apparatus, an instant when the user starts moving the input apparatus from the stopped state, or an instant when the input apparatus 1 is stopped from the moved state. In such a case, the influence of hand movements tends to be placed with more importance than the phase delay. According to the embodiment, it is also possible to eliminate awkwardness due to the phase delay even at the time the movement of the input apparatus is started.
It should be noted that the present disclosure describes the “third threshold value” but not the “first threshold value” and the “second threshold value”. The “first threshold value” and the “second threshold value” appear in the other invention described above, so the “third threshold value” is described for making a conceptual distinction. The same holds true for a “fourth threshold value” and a “fifth threshold value” of the invention described below. For example, although the second threshold value and the third threshold value are typically different values, it is also possible to use the same value.
Alternatively, the control means may control the scale factor to gradually decrease as the velocity value or the angular velocity value increases until the velocity value or the angular velocity value reaches a fourth threshold value larger than the third threshold value, and control the scale factor to gradually increase as the velocity value or the angular velocity value increases until the velocity value or the angular velocity value reaches a fifth threshold value after reaching the fourth threshold value.
The “fourth threshold value” and the “fifth threshold value” are conceptually the same as the “second threshold value” and the “first threshold value” in the invention described above (values thereof may either be different or the same).
The input apparatus may further include a storage means for storing a plurality of control patterns of the control means with respect to the scale factor corresponding to the velocity value or the angular velocity value, and a switch means for switching the plurality of stored control patterns.
The user only needs to switch the control patterns using the switch means. In this case, it is only necessary that a mechanical switch (e.g., button switch or DIP switch), a photo switch, an electrostatic switch, a piezoelectric switch, or the like (the same holds true hereinbelow) be provided to the input apparatus. Alternatively, the input apparatus only needs to include software for GUIs as the switch means. When the input apparatus includes the software for GUIs, image information of a GUI and the like only needs to be transmitted to the control apparatus that is communicating with the input apparatus. Alternatively, the switch means may switch the control patterns in accordance with a mode of the GUI on the screen, the display of which is controlled by the control apparatus.
The switch means may selectively make a switch between a first control pattern in which the scale factor is nonconstant and a second control pattern as a manual input mode in which the scale factor is constant.
The movement signal output means may additionally output an acceleration value corresponding to the movement of the casing. In this case, the control means may control the scale factor based on the acceleration value and the velocity value or the angular velocity value.
When the acceleration of the input apparatus is large, it can be considered that the user is trying to move the pointer speedily. Thus, it can be assumed that, as in the case where the velocity value is large, the user is in midst of moving the pointer from a certain position on the screen to a different position relatively distant therefrom. Therefore, also in this case, following capability with respect to the phase delay is placed with more importance than the influence of hand movements. In other words, because the acceleration value and the shake acceptable amount have a correlation like the velocity and the shake acceptable amount, by monitoring the acceleration, an operational feeling for the user is improved.
The movement signal output means may include an acceleration sensor to detect an acceleration value of the casing in a first direction, an angular velocity sensor to detect an angular velocity value about an axis in a second direction different from the first direction, and a velocity value calculation means for calculating a velocity value in the first direction based on at least one of the acceleration value and the angular velocity value.
The movement signal output means may output, as the output value, a first velocity value corresponding to the movement of the casing in a first direction and a second velocity value corresponding to the movement of the casing in a second direction different from the first direction. In this case, the attenuation means attenuates the output value of the signal of the predetermined frequency range out of the output value by predetermined first scale factor and second scale factor respectively corresponding to the first direction and the second direction. Further, the control means controls the first scale factor and the second scale factor based on the first velocity value and the second velocity value.
The control means may control the first scale factor and the second scale factor based on either one of a combined value of the first velocity value and the second velocity value and a larger one of an absolute value of the first velocity value and an absolute value of the second velocity value. The “combined value” is typically a combined vector amount.
Alternatively, the movement signal output means may output, as the output value, a first angular velocity value corresponding to the movement of the casing about an axis in a second direction different from a first direction and a second angular velocity value corresponding to the movement of the casing about an axis in the first direction. In this case, the attenuation means attenuates the output value of the signal of the predetermined frequency range out of the output value by predetermined first scale factor and second scale factor respectively corresponding to a direction about the axis in the first direction and a direction about the axis in the second direction. Further, the control means controls the first scale factor and the second scale factor based on the first angular velocity value and the second angular velocity value.
The control means may control the first scale factor and the second scale factor based on either one of a combined value of the first angular velocity value and the second angular velocity value and a larger one of an absolute value of the first angular velocity value and an absolute value of the second angular velocity value.
The input apparatus may further include a velocity value storage means capable of storing a predetermined number of a plurality of velocity values that are temporally consecutive, and a sign judgment means for judging whether signs of the predetermined number of the plurality of stored velocity values are the same. In this case, the control means controls the scale factor so that a function of the attenuation means is stopped or weakened when the signs of the predetermined number of velocity values that have been sampled are the same. When the signs of the predetermined number of the plurality of velocity values are the same, a velocity direction has not changed during that period. Therefore, in this case, it can be considered that the user is in midst of moving the pointer from a certain position on the screen to a different position relatively distant therefrom. If the attenuation means exerts its function in this case, the user may feel awkwardness due to the phase delay. Therefore, it is only necessary that the function of attenuating the velocity values be stopped or weakened. The “velocity value” may be replaced by the “angular velocity value”.
According to an embodiment, there is provided a control apparatus controlling a movement of a pointer on a screen in accordance with input information transmitted from an input apparatus including a casing, a movement signal output means for detecting a movement of the casing and outputting a signal corresponding to the movement of the casing, and a transmission means for transmitting the output signal as the input information, the control apparatus including a reception means, an attenuation means, a control means, and a coordinate information generation means.
The reception means receives the input information.
The attenuation means attenuates, by a predetermined scale factor, an output value of a signal of a predetermined frequency range out of an output value of the signal as the received input information.
The control means controls the scale factor based on the signal corresponding to the movement of the casing.
The coordinate information generation means generates coordinate information of the pointer on the screen that corresponds to the movement of the casing under control of the control means.
According to an embodiment, there is provided a control system controlling a movement of a pointer on a screen, including an input apparatus including a casing, a movement signal output means, an attenuation means, a control means, and a transmission means, and a control apparatus including a reception means and a coordinate information generation means.
In particular, the control means generates input information for controlling a velocity of the pointer on the screen that corresponds to the movement of the casing by controlling the scale factor based on the signal corresponding to the movement of the casing.
According to another embodiment, there is provided a control system including an input apparatus including a casing, a movement signal output means, and a transmission means, and a control apparatus including a reception means, an attenuation means, a control means, and a coordinate information generation means.
In particular, the control means controls the scale factor based on the signal corresponding to the movement of the casing.
According to an embodiment, there is provided a control method including detecting a movement of a casing of an input apparatus.
A signal corresponding to the movement of the casing obtained by the detection is output.
By a predetermined scale factor, an output value of a signal of a predetermined frequency range out of an output value that has been output is attenuated.
The scale factor is controlled based on the signal corresponding to the movement of the casing.
Coordinate information of a pointer on a screen that corresponds to the movement of the casing is generated based on the control of the scale factor.
According to an embodiment, there is provided a handheld apparatus including a casing, a display section, a movement signal output means, an attenuation means, and a control means.
The movement signal output means detects a movement of the casing and outputs a signal corresponding to the movement of the casing.
The attenuation means attenuates, by a predetermined scale factor, an output value of a signal of a predetermined frequency range out of an output value output from the movement signal output means.
The control means generates input information for controlling a velocity of a pointer on a screen of the display section that corresponds to the movement of the casing by controlling the scale factor based on the signal corresponding to the movement of the casing.
According to another embodiment, there is provided an input apparatus including a casing, a movement signal output means, an attenuation means, a storage means, and a switch means.
The movement signal output means detects a movement of the casing and outputs a signal corresponding to the movement of the casing for moving the pointer on the screen.
The attenuation means attenuates an output value of a signal of a predetermined frequency range out of an output value output from the movement signal output means.
The storage means stores a plurality of control patterns for controlling a scale factor of the attenuation means.
The switch means switches the plurality of control patterns.
In the embodiments, the user only needs to switch the control patterns of the scale factor using the switch means. In this case, it is only necessary that a mechanical switch (e.g., button switch or DIP switch), a photo switch, an electrostatic switch, a piezoelectric switch, or the like be provided to the input apparatus as the switch means. Alternatively, switch information may be transmitted to the control apparatus that includes the software for GUIs in accordance with a switch of the control pattern of the scale factor by the switch means of the input apparatus. Further, it is also possible for the control apparatus that has received the switch information to switch the mode of the GUI on the screen.
Alternatively, as another invention, the control apparatus may include at least one of the attenuation means, the storage means, and the switch means. In this case, for example, the control apparatus receives the input information as the output value output from the movement signal output means of the input apparatus and causes the attenuation means to attenuate the output value of the signal of the predetermined frequency range. The control pattern of the scale factor is thus switched by the user. Examples of the switch means include a mechanical switch provided to the control apparatus and a GUI stored in the control apparatus.
According to another embodiment, there is provided a handheld apparatus including a casing, a display section, a movement signal output means, an attenuation means, a storage means, and a switch means.
The movement signal output means detects a movement of the casing and outputs a signal corresponding to the movement of the casing for moving the pointer on a screen of the display section.
The attenuation means attenuates an output value of a signal of a predetermined frequency range out of an output value output from the movement signal output means.
The storage means stores a plurality of control patterns for controlling a scale factor of the attenuation means.
The switch means switches the plurality of control patterns.
When the handheld apparatus includes the software for GUIs, the GUI on the screen may be switched in accordance with the switch of the control pattern. In contrast, with the GUI as the switch means, the control pattern may be switched in accordance with a switch of the GUI on the screen.
As described above, according to the embodiments, an output value can be corrected when a hand movement is input to an input apparatus, and a user is prevented from feeling a phase delay.
Additional features and advantages are described herein, and will be apparent from, the following Detailed Description and the figures.
Hereinafter, embodiments will be described with reference to the drawings.
For example, a “drag and drop” operation may be executed by moving the input apparatus 1 while pressing the button 11, a file may be opened by double-clicking the button 11, and a screen 3 may be scrolled by the wheel button 13. Locations of the buttons 11 and 12 and the wheel button 13, a content of a command issued, and the like can arbitrarily be changed.
The input apparatus 1 includes a sensor unit 17, a control unit 30, and batteries 14.
As each of the first angular velocity sensor 151 and the second angular velocity sensor 152, a vibration gyro sensor for detecting Coriolis force in proportion to an angular velocity is used. As each of the first acceleration sensor 161 and the second acceleration sensor 162, any sensor such as a piezoresistive sensor, a piezoelectric sensor, or a capacitance sensor may be used.
In descriptions on
In descriptions below, a coordinate system that moves along with the input apparatus 1, that is, a coordinate system fixed to the input apparatus 1 is expressed using the X′ axis, Y′ axis, and Z′ axis, whereas a coordinate system stationary on earth, that is, an inertial coordinate system is expressed using the X axis, Y axis, and Z axis. Further, in descriptions below, with regard to a movement of the input apparatus 1, a rotational direction about the X′ axis is sometimes referred to as pitch direction, a rotational direction about the Y′ axis is sometimes referred to as yaw direction, and a rotational direction about the Z′ axis (roll axis) is sometimes referred to as roll direction.
The control unit 30 includes a main substrate 18, an MPU 19 (Micro Processing Unit) (or CPU) mounted on the main substrate 18, a crystal oscillator 20, a transceiver 21, and an antenna 22 printed on the main substrate 18.
The MPU 19 includes a built-in volatile or nonvolatile memory requisite therefor. The MPU 19 is input with a detection signal from the sensor unit 17, an operation signal from the operation section, and the like, and executes various kinds of operational processing in order to generate predetermined control signals in response to those input signals.
The transceiver 21 transmits, as RF radio signals, the control signals (input information) generated in the MPU 19 to the control apparatus 40 via the antenna 22. The transceiver 21 is also capable of receiving various signals transmitted from the control apparatus 40.
The crystal oscillator 20 generates clocks and supplies them to the MPU 19. As the batteries 14, dry cell batteries, rechargeable batteries, and the like are used.
The control apparatus 40 is a computer and includes an MPU 35 (or CPU), a display control section 42, a RAM 36, a ROM 37, a video RAM 41, an antenna 39, and a transceiver 38.
The transceiver 38 receives the control signal transmitted from the input apparatus 1 via the antenna 39. The transceiver 38 is also capable of transmitting various signals to the input apparatus 1. The MPU 35 analyzes the control signal and executes various kinds of operational processing. The display control section 42 mainly generates screen data to be displayed on the screen 3 of the display apparatus 5 under control of the MPU 35. The video RAM 41 as a working area of the display control section 42 temporarily stores the generated screen data.
The control apparatus 40 may be an apparatus dedicated to the input apparatus 1, or may be a PC or the like. The control apparatus 40 is not limited to the PC, and may be a computer integrally formed with the display apparatus 5, audiovisual equipment, a projector, a game device, a car navigation system, or the like.
Examples of the display apparatus 5 include a liquid crystal display and an EL (Electro-Luminescence) display, but are not limited thereto. The display apparatus 5 may alternatively be an apparatus integrally formed with a display and capable of receiving television broadcasts and the like.
Next, a description will be given on typical examples of ways of moving the input apparatus 1 and ways the pointer 2 moves on the screen 3 accordingly.
As shown in
As shown in
Meanwhile, as shown in
Although descriptions will be given later, in one embodiment, the MPU 19 of the input apparatus 1 calculates velocity values in the X′- and Y′-axis directions based on the detection values detected by the sensor unit 17, in accordance with programs stored in the built-in nonvolatile memory. In this case, mainly the MPU 19 of the input apparatus 1 functions as a movement signal output means. Here, for controlling the movement of the pointer 2, a dimension of integration values (velocities) of biaxial acceleration values detected by the acceleration sensor unit 16 is used, for example. Then, input information of the velocity dimension is transmitted to the control apparatus 40.
In another embodiment, the input apparatus 1 transmits, as the input information, physical amounts detected by the sensor unit 17 to the control apparatus 40. In this case, the MPU 35 of the control apparatus 40 calculates the velocity values in the X′- and Y′-axis directions based on the received input information in accordance with the program stored in the ROM 37, and controls display so that the pointer 2 moves in accordance with the velocity values (see
The control apparatus 40 converts a displacement in the X-axis direction or the yaw direction per unit time into a displacement amount of the pointer 2 on the X axis on the screen 3, and converts a displacement in the Y-axis direction or the pitch direction per unit time into a displacement amount of the pointer 2 on the Y axis on the screen 3, to thus move the pointer 2. Typically, regarding the velocity values supplied every predetermined number of clocks, the MPU 35 of the control apparatus 40 adds an n-th velocity value that has been supplied to a (n−1)-th velocity value that has been supplied. Accordingly, the n-th velocity value that has been supplied corresponds to the displacement amount of the pointer 2, and coordinate information of the pointer 2 on the screen 3 is generated. In this case, mainly the MPU 35 of the control apparatus 40 functions as a coordinate information generation means.
For suppressing the movement of the pointer that corresponds to a vibration of the casing 10 of the input apparatus 1 caused by a hand movement of the user, the control system 100 of this embodiment includes a function of attenuating, by a predetermined scale factor, an output value of a signal of a predetermined frequency range out of an output value of the velocity calculated as described above. The input apparatus 1 typically has that function.
The velocity calculation section 29 calculates the velocity values of the casing 10 in the X′- and Y′-axis directions based on the physical amounts output from the sensor unit 17 like acceleration values in the X′- and Y′-axis directions output from the acceleration sensor unit 16.
The filter 27 attenuates, by predetermined scale factors, velocity values of signals of the predetermined frequency range out of the velocity values calculated by the velocity calculation section 29. The predetermined frequency range is a frequency range corresponding to a hand movement. The frequency range is typically 1 to 20 Hz, but is not limited thereto. Hereinafter, the predetermined frequency will be referred to as shake frequency. The filter 27 is constituted of a digital filter.
The control section 28 controls data processing by the velocity calculation section 29 and the filter 27. The memory 26 is a storage area used for processing by the control section 28.
The velocity calculation section 29, the filter 27, the control section 28, and the memory 26 are functions of the MPU 19, for example. Those functions may be realized by a DSP (Digital Signal Processor), an FPGA (Field Programmable Gate Array), or the like. The memory 26 may be incorporated into the MPU or may be provided separately. The memory 26 is a RAM or a ROM.
Next, an operation of the control system structured as described above will be described.
The power of the input apparatus 1 is turned on. For example, the user turns on the power supply switch or the like provided to the input apparatus 1 or the control apparatus 40 to turn on the power of the input apparatus 1. Upon turning on the power, the MPU 19 obtains biaxial angular velocity signals (second angular velocity value ωx and first angular velocity value ωy) output from the angular velocity sensor unit 15 every predetermined clocks (Step 101). The MPU 19 also obtains biaxial acceleration signals (first acceleration value ax and second acceleration value ay) output from the acceleration sensor unit 16 every predetermined clocks. The acceleration signals are signals corresponding to the position of the input apparatus 1 at a point when the power is turned on (hereinafter, referred to as initial position). Although the acceleration signals are obtained after the angular velocity signals are obtained as shown in
There are cases where the initial position is the reference position. However, a position at which an entire amount of a gravity acceleration is detected in the X-axis direction, that is, a position at which an output of the first acceleration sensor 161 is an acceleration value corresponding to the gravity acceleration and an output of the second acceleration sensor 162 is 0 is also possible. In addition, the input apparatus 1 may be tilted in the roll direction. The control system 100 of this embodiment removes an effect of the gravity acceleration that acts on the acceleration sensor unit 16 by methods shown in
The velocity calculation section 29 calculates the velocity values (Vx, Vy) by an integration operation based on the acceleration values (ax, ay) (Step 103). The calculation of the velocity values by the velocity calculation section 29 will be described later in detail.
The calculated velocity values (Vx, Vy) are input to the filter 27.
The broken line in the graph indicates a state where a scale factor of the filter 27 is 1, that is, a state where the attenuation function of the filter 27 is not working. A line obtained when the scale factor smaller than 1 is actually applied will hereinafter be referred to as correction line A. A value having the value indicated by the broken line as a denominator and a value indicated by the correction line A as a numerator becomes the scale factor.
A first threshold value (fifth threshold value) Th1, a second threshold value (fourth threshold value) Th2, and a third threshold value Th3 are set for the pre-correction velocity value. In this example,
the pre-correction velocity value of about 90 to 95 is set as the first threshold value Th1 (hereinafter, simply referred to as Th1),
the pre-correction velocity value of about 70 is set as the second threshold value Th2 (hereinafter, simply referred to as Th2), and
the pre-correction velocity value of about 1 to 3 is set as the third threshold value Th3 (hereinafter, simply referred to as Th3). The threshold values Th1 to Th3 can be changed as appropriate.
Further, the scale factor of the filter 27 in this example is set as follows.
With the pre-correction velocity value of 0 to Th3 and Th1 or more, the scale factor is set to 1. In other words, within these ranges, the pre-correction velocity value and the post-correction velocity value are the same.
From Th3 to Th2, the scale factor is set to gradually decrease as the pre-correction velocity value increases.
From Th2 to Th1, the scale factor is set to gradually increase as the pre-correction velocity value increases.
The control section 28 thus controls the scale factor of the filter 27 based on the velocity values of the input apparatus 1. The frequency characteristics of the scale factor of the filter 27 are set by appropriately setting a sampling cycle, a tap count, scale factor values of velocity values, and the like obtained by a moving average at the time the filter 27 is designed.
Returning to
However, the present embodiment is not limited thereto and a judgment may be made on whether a combined vector amount ([Vx2+Vy2]1/2) of the velocity values (|Vx|, |Vy|) is equal to or smaller than Th1 or equal to or larger than Th3. Alternatively, a larger one of |Vx| and |Vy| may be set as a representative value of the velocity values and a judgment may be made on whether the representative value is equal to or smaller than Th1 or equal to or larger than Th3. Accordingly, power consumption as well as a calculation amount of the MPU 19 can be reduced.
When the condition of Step 104 is not satisfied, the control section 28 of the MPU 19 outputs the velocity values with the scale factor set to 1 by the velocity profile shown in
The MPU 35 of the control apparatus 40 receives the velocity values (Vx′, Vy′) as input information via the transceiver 38 (Step 109). The MPU 35 generates coordinate values X and Y of the pointer 2 that correspond to the velocity values Vx′ and Vy′ as shown in Equations (1) and (2) below (Step 110), and controls display so that the pointer 2 moves on the screen 3 (Step 111).
X(t)=X(t−1)+Vx′ (1)
Y(t)=Y(t−1)+Vy′ (2)
On the other hand, when the condition of Step 104 is satisfied, the control section 28 sets scale factors of the filter 27 that correspond to the absolute values of the velocity values (|Vx|, |Vy|) output from the velocity calculation section 29 as shown in
In this embodiment, by thus controlling the scale factor based on the signal corresponding to the movement of the casing 10, the scale factor is controlled variably in accordance with a degree (amplitude and velocity) of hand movements, for example. Thus, a pointer movement that does not cause the user to feel a phase delay can be realized.
The degree of hand movements is different for each user, so if the scale factor is determined so that hand movements of users who cause a large hand movement can be suppressed sufficiently, some of the users who cause small hand movements may feel awkwardness regarding the phase delay. By controlling the scale factor to decrease as the hand movement increases and controlling the scale factor to increase as the hand movement decreases based on the degree of hand movements, a setting for minimizing the phase delay within a range in which the hand movement becomes negligible becomes possible.
In particular, because the filter 27 dynamically attenuates the velocity values of the shake frequency range in accordance with the velocity values as the signal corresponding to the movement of the casing 10, for example, even when a vibration including a hand movement occurs in the casing 10, the user can still perform a precise pointing operation with the pointer 2 on the screen 3.
A relatively-large velocity value indicates 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. In such a case, unlike a case where a specific position on the screen 3 is targeted for the operation, the hand movement is not much of an importance and an importance is rather placed on following capability with respect to the phase delay. On the other hand, a relatively-small velocity value indicates a case where, for example, a specific icon 4 on the screen is targeted for the operation, so an importance is placed on suppression of a hand movement rather than the following capability. Due to such a correlation between the velocity and a shake acceptable amount, by monitoring the velocity values, an operational feeling of the user is improved.
Specifically, in a case where the velocity values are larger than Th1, which means 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, if the filter 27 exerts its function, the user may be feel awkwardness due to the phase delay. Therefore, the scale factor is set to 1 so that the user will not feel the phase delay.
Further, the velocity values that are smaller than Th3, that is, extremely-small velocity values indicate a time when the user has almost completely stopped the input apparatus 1, an instant when the user starts moving the input apparatus 1 from a stopped state, or an instant when the input apparatus 1 is stopped from the moved state. Therefore, also in this case, for preventing the phase delay, the scale factor is set to 1 for preventing the phase delay. This is because, particularly at an instant when the user starts moving the input apparatus 1 from the stopped state, the user tends to feel awkwardness due to the phase delay.
Moreover, the control section 28 controls the scale factor so that, as shown in
Alternatively, although not shown, a velocity profile including a correction line obtained by connecting four or more threshold values may be set.
Processes of Steps 201 to 203 are the same as those of Steps 101 to 103 shown in
In Step 204, the MPU 19 differentiates the velocity values (Vx, Vy) obtained in Step 203 to thus output acceleration values (axi, ayi) in the X′- and Y′-axis directions.
Processes of Steps 205 to 207 are the same as those of Steps 104 to 106.
Alternatively, the velocity profile of the filter 27 may be a graph as shown in
Let us go back to the description on
However, it is also possible that information on the velocity profile that corresponds to each of the acceleration values (or a predetermined range of accelerations values) be stored in the memory 26 or the like in advance and the MPU 19 dynamically read out the information in accordance with the acceleration values. In this case, the number of velocity profiles only needs to be two or more.
Processes of Steps 209 to 213 are the same as those of Steps 107 to 111.
As described above, because the scale factor is controlled based on both the velocity values and the acceleration values in the operation shown in
Processes of Steps 301 to 304 are the same as those of Steps 201 to 204 shown in
In Step 305, the MPU 19 stores in the memory 26 a predetermined number of temporally-consecutive velocity values (sample velocity values) (Vx, Vy) calculated in Step 303 (Step 305). The number of samples of the velocity values to be stored in the memory 26 is set as appropriate. In this case, a ring buffer or a FIFO (First In First Out) is typically used for the memory 26, though not limited thereto.
The MPU 19 judges whether signs of the predetermined number of stored sample velocity values are all the same (sign judgment means) (Step 306). When the signs are the same, the MPU 19 advances to Step 307. Processes of Steps 307 and 312 to 315 are the same as those of Steps 105 and 108 to 111 shown in
In a case where there are one or more sample velocity values having different signs among the predetermined number of sample velocity values stored in the memory 26, the MPU 19 advances to processes of Step 308 and subsequent steps. The processes of Steps 308 and 309 to 311 are the same as those of Steps 205 and 207 to 209 shown in
In the operation shown in
Next, a calculation method of the velocity values (Vx, Vy) in Steps 103, 203, and 303 respectively shown in
1. The angular velocity value ωy of the input apparatus 1 about the Y′ axis is a combined value of an angular velocity obtained by the rotation of a shoulder, an angular velocity obtained by the bending of an elbow, an angular velocity obtained by the turn of a hand (or wrist), and the like.
2. The velocity value Vx of the input apparatus 1 in the X′-axis direction is a combined value of values obtained by respectively multiplying the angular velocities of the shoulder, elbow, hand, and the like by a distance between the shoulder and the input apparatus 1, a distance between the elbow and the input apparatus 1, a distance between the hand and the input apparatus 1, and the like.
Here, regarding a rotational movement of the input apparatus 1 in a minute time, the input apparatus 1 can be considered to be rotating about a center axis parallel to the Y′ axis and whose position changes with time. Assuming that a distance between the center axis whose position changes with time and the input apparatus 1 is a radius gyration Ry(t) about the Y′ axis, the relationship between the velocity value Vx and the angular velocity value ωy of the input apparatus 1 can be expressed by Equation (3) below. In other words, the velocity value Vx in the X′-axis direction becomes a value obtained by multiplying the angular velocity value ωy about the Y′ axis by the distance Ry(t) between the center axis and the input apparatus 1.
Vx=Ry(t)*ωy (3)
As shown in Equation (3), the relationship between the velocity value and the angular velocity value of the input apparatus 1 is a proportional relationship, that is, a correlation with R(t) as a proportional constant.
Equation (3) above is modified to obtain Equation (4).
Ry(t)=Vx/ωy (4)
The right-hand side of Equation (4) is a velocity dimension. Even when the velocity value and the angular velocity value represented on the right-hand side of Equation (4) are differentiated to obtain a dimension of the acceleration or acceleration time change rate, the correlation is not lost. Similarly, even when the velocity value and the angular velocity value are integrated to obtain a displacement dimension, the correlation is not lost.
Therefore, with the velocity and the angular velocity represented on the right-hand side of Equation (4) as a dimension of the acceleration and acceleration time change rate, Equations (5), (6), and (7) below can be obtained.
Ry(t)=x/θy (5)
Ry(t)=ax/Δωy (6)
Ry(t)=Δax/Δ(Δωy) (7)
Focusing on Equation (6) out of Equations (4), (5), (6), and (7) above, for example, it can be seen that the radius gyration Ry(t) can be obtained if the acceleration value ax and the angular acceleration value Δωy are known.
As described above, the first acceleration sensor 161 detects the acceleration value ax in the X′-axis direction, and the first angular velocity sensor 151 detects the angular velocity value ωy about the Y′ axis. Therefore, if the angular velocity value ωy about the Y′ axis is differentiated and the angular acceleration value Δωy about the Y′ axis is thus calculated, the radius gyration Ry(t) about the Y′ axis can be obtained.
If the radius gyration Ry(t) about the Y′ axis is known, the velocity value Vx of the input apparatus 1 in the X′-axis direction can be obtained by multiplying the radius gyration Ry(t) by the angular velocity value ωy about the Y′ axis detected by the first angular velocity sensor 151 (see Equation (3)). Specifically, a rotational operation amount itself of the user is converted into a linear velocity value in the X′-axis direction, thus obtaining a velocity value that matches an intuition of the user.
This velocity value calculation method can also be applied in a case where the user operates the input apparatus 1 by swinging it in the vertical direction (pitch direction).
An example where Equation (7) is used will be described with reference to
Upon calculating the angular acceleration time change rates, the MPU 19 judges whether an absolute value of the angular acceleration time change rate |Δ(Δωy)| about the Y′ axis exceeds a threshold value th-1 (Step 403). When |Δ(Δωy)| above exceeds the threshold value th-1, the MPU 19 calculates the radius gyration Ry(t) about the Y′ axis by dividing the acceleration time change rate Δax in the X′-axis direction by the angular acceleration time change rate Δ(Δωy) about the Y′ axis (Step 404). In other words, a ratio of the acceleration time change rate Δax in the X′-axis direction to the angular acceleration time change rate Δ(Δωy) about the Y′ axis is calculated as the radius gyration Ry(t) (Equation (7)). The threshold value th-1 of |Δωy)| can be set as appropriate.
A signal of the radius gyration Ry(t) is passed through a lowpass filter, for example (Step 405). Information on the radius gyration Ry(t) from which noises of a high-frequency range have been removed by the lowpass filter is stored in the memory (Step 406). The memory updates the signal of the radius gyration Ry(t) every predetermined clocks and stores it.
By multiplying the radius gyration Ry(t) by the angular velocity value ωy about the Y′ axis, the MPU 19 of the input apparatus 1 calculates the velocity value Vx in the X′-axis direction (Step 408).
On the other hand, when |Δ(Δωy)| above is equal to or smaller than the threshold value th-1, the MPU 19 reads out the radius gyration Ry(t) stored in the memory (Step 407). By multiplying the read-out radius gyration Ry(t) by the angular velocity value ωy about the Y′ axis, the velocity value Vx in the X′-axis direction is calculated (Step 408).
There are the following two reasons for carrying out the processes of Steps 401 to 408.
One is to obtain the radius gyration Ry(t) of Equation (7) above to thus obtain a linear velocity that matches the intuition of the user.
Second is to remove the gravitational effect as described above. As described above, when the input apparatus 1 is tilted in the roll direction or the pitch direction from its reference position, for example, detection signals different from the actual movement of the input apparatus 1 are inadvertently output due to the gravitational effect. When the initial position is tilted in the roll direction as described above, for example, gravity acceleration component values are output from the acceleration sensors 161 and 162 of the acceleration sensor unit 16. Therefore, when the effect of the gravity acceleration component values is not removed, the movement of the pointer 2 becomes a movement that does not match a sense of the user.
This will be described in a more easy-to-understand manner.
In
In this case, the first acceleration sensor 161 detects an acceleration in the X′-axis direction even when the input apparatus 1 is not actually moved in the X′-axis direction in particular. The state shown in
The same holds true also when the input apparatus 1 is rotated in the pitch direction from the reference position as shown in
In this regard, a fact that a time change rate of the gravity acceleration component value generated by the movement of the input apparatus 1 is smaller than a time change rate of the acceleration value that focuses only on the movement of the input apparatus 1 caused by the operation of the user is used. The time change rate of the gravity acceleration component value is a 1/10 order of the time change rate of the acceleration value that focuses only on the movement of the input apparatus 1 caused by the operation of the user. The value output from the acceleration sensor unit 16 is a value obtained by combining those two. In other words, the signal output from the acceleration sensor unit 16 is a signal obtained by superimposing a DC component value as the gravity acceleration component value on the time change rate of the acceleration value that focuses only on the movement of the input apparatus 1 caused by the operation of the user.
Therefore, by carrying out the differentiation operation on the acceleration values in Step 401, the acceleration time change rates can be obtained. Accordingly, the time change rates of the gravity acceleration component values are removed. As a result, even in a case where a change in a component force of the gravity acceleration due to the tilt of the input apparatus 1 occurs, the radius gyrations can be obtained appropriately, and appropriate velocity values can be calculated from the radius gyrations. It should be noted that there are cases where, in addition to the gravity acceleration component values, the DC component value contains, for example, a DC component due to a temperature drift of the acceleration sensor unit 16.
Moreover, because Equation (7) is used in this embodiment, in Step 402, a second-order differentiation is carried out on the angular velocity value ωy, and noises of a high-frequency range are superimposed on the operational value of the angular velocity. Though there is no problem when |Δ(Δωy)| is large, when small, an S/N ratio deteriorates. When |Δ(Δωy)| with a deteriorated S/N ratio is used in the calculation of Ry(t) in Step 404, precision of Ry(t) and the velocity value Vx is lowered.
In this regard, in Step 403, the angular acceleration time change rate Δ(Δωy) about the Y′ axis calculated in Step 402 is used. When Δ(Δωy) is equal to or smaller than the threshold value th-1, the radius gyration Ry(t) previously stored in the memory and that has less noise is read out (Step 407), and the read-out radius gyration Ry(t) is used in calculating the velocity value Vx in Step 408.
In Steps 409 to 414, the MPU 19 calculates the velocity value Vy in the Y-axis direction in the same manner as in the processes of Steps 403 to 408 above. In other words, the MPU 19 judges whether the absolute value of the angular acceleration time change rate |Δ(Δωx)| about the X′ axis exceeds the threshold value th-1 (Step 409), and when exceeding the threshold value th-1, calculates the radius gyration Rx(t) about the X′ axis using the angular velocity time change rate (Step 410).
A signal of the radius gyration Rx(t) is passed through the lowpass filter (Step 411) and stored in the memory (Step 412). When equal to or smaller than the threshold value th-1, the radius gyration Rx(t) stored in the memory is read out (Step 413), and the velocity value Vy in the Y′-axis direction is calculated based on the radius gyration Rx(t) (Step 414).
It should be noted that although the same threshold value th-1 is used in both the yaw direction and the pitch direction in this embodiment, different threshold values may be used for those directions.
In Step 403, it is also possible to judge the angular acceleration value (Δωy) based on the threshold value, instead of Δ(Δωy). Also in Step 409, it is possible to judge the angular acceleration value (Δωx) based on the threshold value, instead of Δ(Δωx). In the flowchart shown in
Next, another embodiment of the calculation method of the radius gyrations (Rx(t), Ry(t)) described heretofore will be described.
In this embodiment, a tilt of a regression line is used to calculate the radius gyration. As described above, the radius gyration is a ratio of the acceleration change rate to the angular acceleration change rate. For calculating the ratio of the acceleration change rate to the angular acceleration change rate, this embodiment uses the tilt of the regression line.
The MPU 19 subjects the acceleration values (ax, ay) and the angular velocity values (ωx, ωy) to a first-order differentiation and second-order differentiation, to thus calculate the acceleration change rates (Δax, Δay) and the angular acceleration change rates (Δ(Δωx), Δ(Δωy)) (Steps 501 and 502). A history of n pairs of acceleration change rates (Δax, Δay) and angular acceleration change rates (Δ(Δωx), Δ(Δωy)) are stored in the memory, for example, and regression line tilts (A1, A2) are respectively calculated using Equations (8) and (9) below (Step 503). The regression line tilts are ratios of the acceleration change rates to the angular acceleration change rates, that is, the radius gyrations (Rx(t), Ry(t)). It should be noted that as a reference, methods of calculating regression line segments (B1, B2) are respectively expressed by Equations (10) and (11).
A1=Rx(t)=[{Σ(Δ(Δωxj))2}*Σ(Δayj)2}−{ΣΔ(Δωxj)*ΣΔ(Δωxj)*Δayj}]/[n*Σ(Δ(Δωxj))2−{Σ(Δωxj)}2] (8)
A2=Ry(t)=[{Σ(Δ(Δωxj))2*Σ(Δaxj)2}−{ΣΔ(Δω(Δωyj)*ΣΔ(Δωyj)*Δaxj}]/[n*Σ(Δ(Δωyj))2−{ΣΔ(Δωyj)}2] (9)
B1[{n*ΣΔ(Δωyj)*Δayj}−{ΣΔ(Δωxj)*ΣΔayj}]/[n*Σ(Δ(Δωyj))2−{ΣΔ(Δωxj)}2] (10)
B2[{n*ΣΔ(Δωxj)*Δaxj}−{ΣΔ(Δωyj)*ΣΔaxj}]/[n*Σ(Δ(Δωyj))2−{ΣΔ(Δωyj)}2] (11)
In Equations (8) to (11) above, n represents a sampling count of the acceleration values (Δax, Δay) and angular acceleration change rates (Δ(Δωx), Δ(Δωy)). The sampling count n is set as appropriate so that operational errors are minimized.
Upon calculating the radius gyrations, the velocity values are calculated based on the radius gyrations as in Steps 408 to 414 of
It should be noted that it is also possible to suppress the effect of high-frequency noises by subjecting the radius gyration signals or signals of the velocity values to the lowpass filter.
In this embodiment, by calculating the regression line tilts as the radius gyrations, more accurate radius gyrations and velocity values (Vx, Vy) can be calculated. Therefore, the movement of the pointer 2 displayed on the screen 3 can be made a more natural movement that matches the intuition of the user.
In the descriptions above, the method of calculating the regression line tilts in the dimension of the acceleration change rates and angular acceleration change rates has been described. However, the present invention is not limited thereto, and the regression line tilts may be calculated in the dimension of displacements and angles, velocities and angular velocities, or accelerations and angular accelerations.
Heretofore, the input apparatus 1 has carried out the main operations to calculate the velocity values (Vx, Vy). In an embodiment shown in
The input apparatus 1 transmits to the control apparatus 40 the biaxial acceleration values and biaxial angular velocity values output from the sensor unit 17 as input information, for example (Step 703). The MPU 35 of the control apparatus 40 receives the input information (Step 704) and carries out the same processes as Steps 103 to 107, 110, and 111 (Steps 705 to 711). The methods described using
The operation corresponding to that of
Heretofore, the description has been given on the case where the scale factors are controlled dynamically based on the velocity values. Next, an embodiment in which the scale factors are controlled statically will be described.
In
Information on frequency characteristics (control pattern) of the plurality of scale factors with respect to the same frequency only needs to be stored in the memory 26 or the like in advance. By an adaptive switch by the user, the control section of the MPU 19 controls the scale factor of the filter by the frequency characteristics selected in accordance with the switch. In this case, mainly the MPU 19 functions as a switch means.
The frequency characteristics of scale factors are not limited to those shown in
The user only needs to switch the control patterns using a mechanical switch or the like provided to the input apparatus 1 or the control apparatus 40. Alternatively, the input apparatus 1 or the control apparatus 40 may store software for GUIs for the switch, and the user may switch the control patterns using a GUI.
Because individual differences in hand movement velocities are large, the inventors of the present invention have determined a velocity range to be a target for the shake correction by obtaining a distribution of magnitudes of shake velocities through a user test at the time the filter was designed. The graph of
In this example, three types of velocity profiles are shown.
A velocity profile a is a profile for users within 2σ, in which the velocity range to be the target for the shake correction is narrow.
A velocity profile b is a profile for users within 4σ, in which the velocity range to be the target for the shake correction is wide.
A velocity profile c is a profile that has a constant scale factor regardless of the pre-correction velocity value.
It should be noted that similar to the velocity profile shown in
A velocity profile having a scale factor additionally lower than that of the velocity profile c shown in
Information on the plurality of velocity profiles a to c (control patterns) is stored in advance in the memory 26 or the like for the same frequency, and Th1, Th2, Th1′, Th2′, and the like are stored in the memory 26 or the like for each of the control patterns. By the user adaptively switching the velocity profiles a to c, the control section of the MPU 19 controls the scale factor of the filter by the velocity profile selected in accordance with the switch. In this case, mainly the MPU 19 functions as the switch means.
The user only needs to switch the velocity profiles a to c using a mechanical switch or the like provided to the input apparatus 1 or the control apparatus 40. Alternatively, the input apparatus 1 or the control apparatus 40 may store software for GUIs for the switch, and the user may switch the velocity profiles a to c using a GUI.
Next, the velocity profile c of
The velocity profile c is a velocity profile with which the phase delay is intensified since the scale factor is low and constant, but is a velocity profile suitable for the user to input letters and pictures, for example. In other words, the velocity profile c is a velocity profile for a manual input mode. With the velocity profiles a and be in which the scale factors are variable, that is, velocity profiles with variable phase delays, some users may find it difficult to input pictures and letters.
When the user uses the pen-type input apparatus 91, the user holds a casing 90, brings the tip end portion thereof into contact with a desk, a floor, a table, a thigh, or the like (or in a non-contact state), and moves the pen-type input apparatus 91 as if inputting letters and pictures. A concept of the pen-type input apparatus 91 is generally close to an input device used for a tablet PC except that the sensor unit 17 for detecting a position is used in the pen-type input apparatus 91 and that the tip end portion of the pen-type input apparatus 91 does not need to be brought into contact with the screen.
It should be noted that one or a plurality of velocity profiles having a constant scale factor different from the scale factor of the velocity profile c may be set.
Alternatively, for the same frequency, for example, the velocity profiles described using
Alternatively, the control apparatus 40 may store, in the ROM 37 or other storage devices, a plurality of GUI modes and a plurality of velocity profiles respectively corresponding to the plurality of GUI modes. The MPU 35 of the control apparatus 40 only needs to switch the velocity profile in accordance with the mode of the GUI displayed on the screen out of the plurality of GUI modes.
The plurality of GUI modes are modes different for each application software for a letter input and the like described above, for example. For example, in a case of the application software for a letter input, the scale factor is set relatively low, that is, a relatively-strong filter setting is set. In a case of other application software, the scale factor is set relatively high, that is, a relatively-weak filter setting is set.
Alternatively, a relatively-strong filter (e.g., velocity profile c) may be set in a GUI window as a target for the letter input, and the scale factor may be set variably in accordance with the velocity values (e.g., velocity profile a or b) outside the GUI window.
Alternatively, the plurality of GUI modes are modes different for each size of the icon 4. When the size of the icon 4 is relatively small, the user is required to carry out precise pointing, so a relatively-strong filter setting is set. On the contrary, when the size of the icon is relatively large, precise pointing is not required that much, so a weak filter setting is set.
In the above embodiments, a structure in which the input apparatus 1 includes the acceleration sensor unit 16 and the angular velocity sensor unit 15 has been described. However, the acceleration sensor unit 16 alone may be provided without providing the angular velocity sensor unit 15. In this case, in Steps 103, 203, and 303, the velocity values only need to be calculated by simply integrating the acceleration values detected by the acceleration sensor unit 16.
Alternatively, instead of the velocity and the angular velocity, the scale factor of the filter may be controlled based on the acceleration, acceleration time change rate, angular acceleration, or angular acceleration time change rate.
When the scale factor of the filter is controlled based on the angular velocity value as described above, the angular velocity sensor unit 15 alone may be provided without providing the acceleration sensor unit 16. In this case, based on the angular velocity values detected by the angular velocity sensor unit 15, the control apparatus 40 calculates displacement amounts of the pointer 2 that correspond to the movement of the casing 10 in the yaw and pitch directions. In this case, the displacement amounts of the pointer 2 that correspond to the angular velocity values may be stored in the memory in advance, or the control apparatus 40 may calculate the displacement amounts using an expression for converting preset angular velocity values into displacement amounts.
In the above embodiments, the example where the scale factor is controlled successively by an operation based on the velocity values (or angular velocity values) has been described. However, the scale factor may be controlled stepwise. Stepwise may be two steps or three steps or more. Specifically, in the case of two steps, for example, the scale factor is controlled to be a constant value smaller than 1 when the velocity values (or angular velocity values) become equal to or smaller than the threshold value.
Descriptions have been given on the examples where the velocity profiles shown in
The input apparatus 1 has executed the main portion of the operations in
The embodiments may be applied to, for example, a handheld-type information processing apparatus (handheld apparatus) including a display section. In other words, the handheld apparatus can be considered as an apparatus in which the input apparatus 1 and the control apparatus 40 are integrated. 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 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.
Instead of the angular velocity sensor unit 15, an angle sensor or an angular acceleration sensor may be used. Examples of the angle sensor include a geomagnetic sensor and an image sensor. When triaxial geomagnetic sensors are used, for example, since change amounts of angle values are detected, angular velocity values can be calculated by differentiating the angle values. The angular acceleration sensor is constituted as a combination of a plurality of acceleration sensors, and angular velocity values can be calculated by integrating angular acceleration values obtained by the angular acceleration sensors.
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.
Claims
1. An input apparatus controlling a movement of a pointer on a screen, comprising:
- a casing;
- a movement signal output means for detecting a movement of the casing and outputting a signal corresponding to the movement of the casing;
- an attenuation means for attenuating, by a programmed scale factor, an output value of a signal of a programmed frequency range out of an output value output from the movement signal output means;
- a control means for controlling a velocity of the pointer on the screen that corresponds to the movement of the casing by controlling the scale factor based on the signal corresponding to the movement of the casing, wherein the control means controls the scale factor based on the output value of the signal of the programmed frequency range out of the signal corresponding to the movement of the casing, wherein the movement signal output means outputs, as the output value, a velocity value or an angular velocity value corresponding to the movement of the casing, and wherein the control means controls the scale factor based on the velocity value or the angular velocity value; and
- a judgement means for judging whether the velocity value or the angular velocity value is equal to or smaller than a third threshold value smaller than a first threshold value, wherein the control means sets the scale factory substantially to 1 when the velocity value or the angular velocity value is equal to or smaller than the third threshold value, and wherein the control means controls the scale factor to variably decrease as the velocity value or the angular velocity value increases until the velocity value or the angular velocity value reaches a fourth threshold value larger than the third threshold value, and controls the scale factor to variably increase as the velocity value or the angular velocity increases until the velocity value or the angular velocity value reaches a fifth threshold value after the reaching the fourth threshold value.
2. The input apparatus according to claim 1,
- wherein the control means controls the scale factor to decrease as the output value of the signal of the programmed frequency range increases, and controls the scale factor to increase as the output value of the signal of the programmed frequency range decreases.
3. The input apparatus according to claim 1,
- wherein the judgement means judges whether the velocity value or the angular velocity value is equal to or larger than the first threshold value,
- wherein the control means sets the scale factor substantially to 1 when the velocity value or the angular velocity value of equal to or larger than the first threshold value.
4. The input apparatus according to claim 3,
- wherein the control means controls the scale factor to variably decrease as the velocity value or the angular velocity value increases until the velocity values or the angular velocity value reaches a second threshold value smaller than the first threshold value, and controls the scale factor to variably increase as the velocity value or the angular velocity value increases until the velocity value or the angular velocity value reaches the first threshold value after reaching the second threshold value.
5. The input apparatus according to claim 1, further comprising:
- a storage means for storing a plurality of control patterns of the control means with respect to the scale factor corresponding to the velocity value or the angular velocity value; and
- a switch means for switching the plurality of stored control patterns.
6. The input apparatus according to claim 1,
- wherein the movement signal output means additionally outputs an acceleration value corresponding to the movement of the casing, and
- wherein the control means controls the scale factor based on the acceleration value and the velocity value or the angular velocity value.
7. The input apparatus according to claim 1, wherein the movement signal output means includes
- an acceleration sensor to detect an acceleration value of the casing in a first direction,
- an angular velocity sensor to detect an angular velocity value about an axis in a second direction different from the first direction, and
- a velocity value calculation means for calculating a velocity value in the first direction based on at least one of the acceleration value and the angular velocity value.
8. The input apparatus according to claim 1,
- wherein the movement signal output means outputs, as the output value, a first velocity value corresponding to the movement of the casing in a first direction and a second velocity value corresponding to the movement of the casing in a second direction different from the first direction,
- wherein the attenuation means attenuates the output value of the signal of the programmed frequency range out of the output value by programmed first scale factor and second scale factor respectively corresponding to the first direction and the second direction, and
- wherein the control means controls the first scale factor and the second scale factor based on the first velocity value and the second velocity value.
9. The input apparatus according to claim 1,
- wherein the movement signal output means outputs, as the output value, a first angular velocity value corresponding to the movement of the casing about an axis in a second direction different from a first direction and a second angular velocity value corresponding to the movement of the casing about an axis in the first direction,
- wherein the attenuation means attenuates the output value of the signal of the programmed frequency range out of the output value by the programmed first scale factor and second scale factor respectively corresponding to a direction about the axis in the first direction and a direction about the axis in the second direction, and
- wherein the control means controls the first scale factor and the second scale factor based on the first angular velocity value and the second angular velocity value.
10. The input apparatus according to claim 8,
- wherein the control means controls the first scale factor and the second scale factor based on either one of a combined value of the first velocity value and the second velocity value and a larger one of an absolute value of the first velocity value and an absolute value of the second velocity value.
11. The input apparatus according to claim 9,
- wherein the control means controls the first scale factor and the second scale factor based on either one of a combined value of the first angular velocity value and the second angular velocity value and a larger one of an absolute value of the first angular velocity value and an absolute value of the second angular velocity value.
12. The input apparatus according to claim 1, further comprising:
- a velocity value storage means capable of storing a number of a plurality of velocity values that are temporally consecutive; and
- a sign judgment means for judging whether signs of the number of the plurality of stored velocity values are the same,
- wherein the control means controls the scale factor so that a function of the attenuation means is stopped or weakened when the signs of the number of velocity values that have been sampled are the same.
13. The input apparatus according to claim 1, further comprising:
- a velocity value storage means capable of storing a number of a plurality of angular velocity values that are temporally consecutive; and
- a sign judgement means for judging whether signs of the number of the plurality of stored angular velocity values are the same,
- wherein the control means controls the scale factor so that a function of the attenuation means is stopped or weakened when the signs of the number of angular velocity values that have been sampled are the same.
14. The input apparatus according to claim 1,
- wherein the programmed frequency range is a range corresponding to a hand movement of 1 to 20 Hz.
15. The input apparatus according to claim 5,
- wherein the switch means selectively makes a switch between a first control pattern in which the scale factor is nonconstant and a second control pattern in which the scale factor is constant.
16. A control system controlling a movement of a pointer on a screen, comprising:
- an input apparatus including
- a casing,
- a movement signal output means for detecting a movement of the casing and outputting a signal corresponding to the movement of the casing,
- an attenuation means for attenuating, by a programmed scale factor, an output value of a signal of a programmed frequency range out of an output value output from the movement signal output means,
- a control means for generating input information for controlling a velocity of the pointer on the screen that corresponds to the movement of the casing by controlling the scale factor based on the signal corresponding to the movement of the casing,
- a transmission means for transmitting the generated input information, wherein the control means controls the scale factor based on the output value of the signal of the programmed frequency range out of the signal corresponding to the movement of the casing, wherein the movement signal output means outputs, as the output value, a velocity value or an angular velocity value corresponding to the movement of the casing, and wherein the control means controls the scale factor based on the velocity value or the angular velocity value, and
- a judgement means for judging whether the velocity value or the angular velocity value is equal to or smaller than a third threshold value smaller than a first threshold value, wherein the control means sets the scale factory substantially to 1 when the velocity value or the angular velocity value is equal to or smaller than the third threshold value, and
- wherein the control means controls the scale factor to variably decrease as the velocity value or the angular velocity value increases until the velocity value or the angular velocity value reaches a fourth threshold value larger than the third threshold value, and controls the scale factor to variably increase as the velocity value or the angular velocity increases until the velocity value or the angular velocity value reaches a fifth threshold value after the reaching the fourth threshold value; and
- a control apparatus including
- a reception means for receiving the transmitted input information, and
- a coordinate information gathering means for generating coordinate information of the pointer on the screen based on the received input information.
5440326 | August 8, 1995 | Quinn |
5453758 | September 26, 1995 | Sato |
6028594 | February 22, 2000 | Inoue |
20040268393 | December 30, 2004 | Hunleth |
20050253806 | November 17, 2005 | Liberty |
20070080951 | April 12, 2007 | Maruyama et al. |
20070252813 | November 1, 2007 | Liberty |
07-028591 | January 1995 | JP |
10-253359 | September 1998 | JP |
10-253360 | September 1998 | JP |
10-253361 | September 1998 | JP |
11-085387 | March 1999 | JP |
2000-148351 | May 2000 | JP |
2001-056743 | February 2001 | JP |
2001-159951 | June 2001 | JP |
2002-091693 | March 2002 | JP |
3748483 | December 2005 | JP |
2005/109215 | November 2005 | WO |
2009/035124 | March 2009 | WO |
- International Search Report dated Dec. 17, 2008, for corresponding Patent Application PCT/JP2008/066678.
- Japanese Patent Office, Office Action issued in connection with Japanese Patent Application No. 2013-010137, dated Sep. 24, 2013.
Type: Grant
Filed: Dec 13, 2017
Date of Patent: Aug 18, 2020
Patent Publication Number: 20180107290
Assignee: Sony Corporation (Tokyo)
Inventor: Kazuyuki Yamamoto (Kanagawa)
Primary Examiner: Jeff Piziali
Application Number: 15/840,820
International Classification: G06F 3/0346 (20130101); G06F 3/038 (20130101);