Controller device, controller device control method, and program

文档序号:541704 发布日期:2021-06-04 浏览:20次 中文

阅读说明:本技术 控制器装置、控制器装置控制方法和程序 (Controller device, controller device control method, and program ) 是由 泽田拓郎 榎原贵志 于 2020-11-12 设计创作,主要内容包括:本文公开了一种控制器装置,包括:在其预定的可移动范围内可移动的振动体;由用户操作的操作部件,所述操作部件在其与所述振动体的所述可移动范围部分重叠的可移动范围内可移动地操作;接收部分,其被配置为接收指定产生振动的振动指令;检测部分,其被配置为检测所述操作部件在其可移动范围内的位置;以及控制部分,其被配置为通过根据所接收到的振动指令和所检测到的所述操作部件的位置来控制所述振动体的位置和振动来将振动给予所述操作部件。当满足预定条件时,所述控制部分以校正由所述振动指令指定的振动的方式控制所述振动体的振动。(Disclosed herein is a controller device comprising: a vibrating body movable within a predetermined movable range thereof; an operation member operated by a user, the operation member being movably operated within a movable range thereof partially overlapping with the movable range of the vibration body; a receiving section configured to receive a vibration instruction specifying generation of vibration; a detection portion configured to detect a position of the operation member within a movable range thereof; and a control portion configured to impart vibration to the operating member by controlling the position and vibration of the vibrating body in accordance with the received vibration instruction and the detected position of the operating member. When a predetermined condition is satisfied, the control portion controls the vibration of the vibration body in such a manner that the vibration specified by the vibration instruction is corrected.)

1. A controller device, comprising:

a vibrating body movable within a predetermined movable range thereof;

an operation member operated by a user, the operation member being movably operated within a movable range thereof partially overlapping with the movable range of the vibration body;

a receiving section configured to receive a vibration instruction specifying generation of vibration;

a detection portion configured to detect a position of the operation member within a movable range thereof; and

a control portion configured to give vibration to the operating member by controlling a position and vibration of the vibrating body in accordance with the received vibration instruction and the detected position of the operating member,

wherein the control portion controls the vibration of the vibration body in such a manner as to correct the vibration specified by the vibration instruction when a predetermined condition is satisfied.

2. The controller device according to claim 1,

wherein the vibration instruction includes information for specifying a vibration intensity, and

when the predetermined condition is satisfied, the control portion corrects the specified vibration intensity by a predetermined correction method to control the vibration of the vibrating body in such a manner that the vibration is given to the operating member with the corrected vibration intensity.

3. The controller device according to claim 1 or 2,

wherein the correction method involves reducing the specified vibration intensity.

4. The controller device according to any one of claims 1 to 3,

wherein the movable range of the operating member is from a first position where the operating member is not operated by the user to a second position where the operating member is pushed into a housing of the controller device by the user up to an extreme position, and

the predetermined conditions include:

conditions defining said operating member being in said second position, or

Conditions for starting to move the position of the operating member from the start of vibration of the vibrator are defined.

5. A controller device control method for a controller device, the controller device comprising: a vibrating body movable within a predetermined movable range thereof; an operation member operated by a user, the operation member being movably operated within a movable range thereof partially overlapping with the movable range of the vibration body; a receiving section configured to receive a vibration instruction specifying generation of vibration; a detection portion configured to detect a position of the operation member within a movable range thereof; and a control section for controlling the operation of the motor,

the controller device control method includes:

imparting vibration to the operating member by controlling the position and vibration of the vibrating body in accordance with the received vibration instruction and the detected position of the operating member; and

when a predetermined condition is satisfied, the control portion controls the vibration of the vibration body in such a manner that the vibration specified by the vibration instruction is corrected.

6. A program for a controller device, the controller device comprising: a vibrating body movable within a predetermined movable range thereof; an operation member operated by a user, the operation member being movably operated within a movable range thereof partially overlapping with the movable range of the vibration body; a receiving section configured to receive a vibration instruction specifying generation of vibration; a detection portion configured to detect a position of the operation member within a movable range thereof; and a control section for controlling the operation of the motor,

the program includes:

imparting vibration to the operating member by controlling the position and vibration of the vibrating body in accordance with the received vibration instruction and the detected position of the operating member; and

when a predetermined condition is satisfied, the control portion controls the vibration of the vibration body in such a manner that the vibration specified by the vibration instruction is corrected.

Technical Field

The present disclosure relates to a controller device, a controller device control method, and a program.

Background

There is a controller device provided with a push-in button arranged to be movable between a predetermined first position and a predetermined second position. The push-in button biased to the first position may be pushed into the direction of the second position by a push-in operation of a user.

The controller device may also be equipped with a vibration mechanism that periodically comes into contact with the back side (i.e., the side opposite to the side pushed by the user) of the push button to vibrate the push button.

Disclosure of Invention

One problem with the above-described controller device incorporating the prior art vibration mechanism is that when the push-in button is moved to the second position, activating the vibration mechanism can propagate vibrations to the various components of the controller device in a manner that generates unintended vibration noise.

The present invention has been devised in view of the above circumstances, and it is desirable to provide a controller device, a controller device control method, and a program for suppressing generation of accidental vibration noise.

According to an embodiment of the present invention, there is provided a controller device including: a vibrating body movable within a predetermined movable range thereof; an operation member operated by a user, the operation member being movably operated within a movable range thereof partially overlapping with the movable range of the vibration body; a receiving section configured to receive a vibration instruction specifying generation of vibration; a detection portion configured to detect a position of the operation member within a movable range thereof; and a control portion configured to impart vibration to the operating member by controlling the position and vibration of the vibrating body in accordance with the received vibration instruction and the detected position of the operating member. When a predetermined condition is satisfied, the control portion controls the vibration of the vibration body in such a manner that the vibration specified by the vibration instruction is corrected.

According to another embodiment of the present invention, there is provided a controller device control method for a controller device including: a vibrating body movable within a predetermined movable range thereof; an operation member operated by a user, the operation member being movably operated within a movable range thereof partially overlapping with the movable range of the vibration body; a receiving section configured to receive a vibration instruction specifying generation of vibration; a detection portion configured to detect a position of the operation member within a movable range thereof; and a control section. The controller device control method includes: imparting vibration to the operating member by controlling the position and vibration of the vibrating body in accordance with the received vibration instruction and the detected position of the operating member; and when a predetermined condition is satisfied, the control portion controls the vibration of the vibration body in such a manner that the vibration specified by the vibration instruction is corrected.

According to another embodiment of the present invention, there is provided a program for a controller device including: a vibrating body movable within a predetermined movable range thereof; an operation member operated by a user, the operation member being movably operated within a movable range thereof partially overlapping with the movable range of the vibration body; a receiving section configured to receive a vibration instruction specifying generation of vibration; a detection portion configured to detect a position of the operation member within a movable range thereof; and a control section. The program includes: imparting vibration to the operating member by controlling the position and vibration of the vibrating body in accordance with the received vibration instruction and the detected position of the operating member; and when a predetermined condition is satisfied, the control portion controls the vibration of the vibration body in such a manner that the vibration specified by the vibration instruction is corrected.

According to the embodiment of the present invention, the generation of noise is suppressed.

Drawings

Fig. 1 is a schematic explanatory diagram showing a typical configuration of a controller device according to one embodiment of the present disclosure;

FIG. 2 is an explanatory diagram showing a relationship between a push button and a vibration presentation portion of a controller device according to an embodiment of the present invention;

fig. 3 is a block diagram showing a typical circuit configuration of a controller device according to an embodiment of the present invention;

FIG. 4 is a schematic explanatory diagram showing an exemplary vibration presenting portion of the controller device according to the embodiment of the invention; and

fig. 5 is a functional block diagram of a control section included in a controller device according to an embodiment of the present disclosure.

Detailed Description

Preferred embodiments of the present invention are described below with reference to the accompanying drawings. As shown in fig. 1, a controller device 1 according to an embodiment of the present invention includes a main body portion 11, a handle 12 extending from both sides of the main body portion 11 to a front side of the main body portion 11, an operating portion 13 provided on the main body portion 11, a vibration presenting portion 14, and a circuit portion 15. The controller device 1 transmits and receives information related to operations to and from the information processing device 2.

In the present embodiment, the operation portion 13 of the controller device 1 includes a push-in button 131 to be pushed by the user for operation. The operating portion 13 may also include other buttons and controls, such as a joystick that is tilted for operation and arrow keys. As an example of this embodiment, the push button 131 is positioned to be operable with the index or middle finger of a user holding the handle 12 with the pulp of the thumb, little finger, and ring finger.

The push button 131 is formed in a substantially cylindrical shape. The push-in button 131 has an outer surface 131F exposed outside the housing and touched by a fingertip of a user, and a rear surface 131B located inside the housing and having a normal parallel or substantially parallel (within a predetermined angle range with respect to the parallel) to the push-in direction.

In the example of the present embodiment, the outer surface 131F of the push button 131 is typically forced into a default position by an elastomer when not operated by the user. When the user pushes the outer surface 131F into the housing of the controller device 1, the outer surface 131F moves to an extreme position defined by a mechanical predetermined range.

The push-in button 131 electrically detects its push-in position, and outputs information indicating the detected push-in position to the circuit portion 15. The method of detecting the pushed-in position involves the use of various well-known sensors and will therefore not be discussed further.

Here, the pushed-in position is represented by the position of the back face 131B of the push-in button 131 as shown in fig. 2. It is assumed that the first position Pa represents the position of the rear surface 131B when the outer surface 131F is at the default position, and the second position Pb represents the position of the rear surface 131B when the outer surface 131F is pushed into the housing up to the limit position. Therefore, the position of the push button 131 is between the first position Pa and the second position Pb, i.e., within the stroke (moving range R) of the push button 131.

The vibration presenting section 14 vibrates the push button 131, thereby presenting vibration to a user operating the push button 131. The specific configuration and operation of the vibration presenting section 14 will be discussed later.

The circuit portion 15 receives information indicating details of an operation performed by the user on the controller device 1 from the operation portion 13. The circuit portion 15 outputs the received information to the information processing apparatus 2. In one example of the present embodiment, as shown in fig. 3, the circuit portion 15 includes a processor 151, a storage portion 152, and a communication portion 153.

Here, the processor 151 is a program control device that operates according to a program saved in the storage section 152. In the present embodiment, the processor 151 receives information indicating details of the operation, including the push amount of the push button 131 in the operation portion 13, from the operation portion 13. The processor 151 outputs the received information on the operation details to the information processing apparatus 2. The processor 151 further controls the vibration presenting part 14. The operation of processor 151 will be discussed in detail later.

The storage section 152 is a storage device that stores a program to be executed by the processor 151. The storage section 152 also serves as a working memory for the processor 151.

The communication portion 153 transmits information to the information processing apparatus 2 by wire or wirelessly, and receives information from the information processing apparatus 2. That is, under an instruction input from the processor 151, the communication section 153 outputs information indicating details of processing to the information processing apparatus 2. The communication section 153 also outputs various information received from the information processing apparatus 2 to the processor 151.

In one example of the present embodiment, the controller device 1 may further include a tilt sensor (not shown), a push switch, and a joystick that is tilted to operate. In this case, the processor 151 sends information indicating the details of the operation, including the posture of the controller device 1 (tilt angle information) detected by the tilt sensor and information on the press switches and the joystick operation, to the information processing device 2.

[ configuration and operation of vibration display portion ]

The following explains a typical configuration and operation of the vibration presenting section 14. In the present embodiment, the vibration presenting section 14 vibrates the push button 131 to present vibration to a user operating the push button 131. In a specific example, as shown in fig. 4, the vibration presenting section 14 includes an actuator 141 and an arm 142 (corresponding to a vibration body of the present disclosure) rotated by the actuator 141.

Here, the actuator 141 is controlled by the processor 151 in the circuit portion 15. The actuator 141 has a rotary shaft 141r, and the rotary shaft 141r is provided with an arm 142 extending in a circumferential tangential direction of the shaft. The actuator 141 rotates the arm 142 in a designated direction around the rotation shaft 141r under an instruction input from the processor 151. The actuator 141 further includes an encoder that acquires information about a rotation angle θ of the rotation shaft 141r with respect to a reference angle in a predetermined reference state (e.g., wherein the arm 142 is fully retracted into the housing). The actuator 141 outputs the rotation angle information to the processor 151.

In the present embodiment, by the operation of the actuator 141, the tip of the arm 142 is moved in a range overlapping with the movement range (movement locus) R of the rear surface 131B of the push button 131 shown in fig. 2. Specifically, on the lower side (into the housing), the extreme position of the tip of the arm 142 is located in a position Px which is further into the housing through the second position Pb. On the upper side (the side of the button 131) the extreme position of the tip of the arm 142 is in a position Py which is further into the housing through the first position Pa.

Therefore, in the present embodiment, the moving range Px-Py of the arm 142 as the vibrator (i.e., the vibrator moving range) partially overlaps the moving range R of the push button 131 (the rear surface 131B thereof).

The operation of the processor 151 is explained next. In the present embodiment, the processor 151 is communicatively connected to the information processing apparatus 2 by wire or wirelessly. The processor 151 functionally realizes a configuration including the receiving section 41, the detecting section 42, and the vibration controlling section 43 as shown in fig. 5 when acting according to a program saved in the storage section 152.

The receiving section 41 receives an instruction to generate vibration (vibration instruction) from the information processing apparatus 2, and outputs the received instruction to the vibration control section 43. The instructions include vibration intensity information indicating an intensity of the vibration. The receiving portion 41 also receives an instruction to end vibration (vibration end instruction) from the information processing apparatus 2, and outputs the received instruction to the vibration control portion 43.

The detection portion 42 receives information on a position within the movement range R of the rear surface 131B of the push button 131 serving as an operation member, detects a position Q of the rear surface 131B of the push button 131, and outputs information indicating the detected position Q.

The vibration control section 43 gives vibration to the push button 131 by controlling the rotational position and vibration of the actuator 141 in the vibration presenting section 14 in accordance with the vibration instruction for generating vibration received by the receiving section 41 and using the information on the position of the push button 131 (the position of the rear surface 131B thereof) detected by the detecting section 42.

Specifically, when the receiving portion 41 receives the vibration instruction, the vibration control portion 43 in the present embodiment controls the rotational position of the actuator 141 in such a manner that the arm 142 comes into contact with the position Q of the rear surface 131B of the push button 131 detected by the detecting portion 42.

In the example of the present embodiment, the vibration control portion 43 obtains information on the position of the arm 142, which is output by the actuator 141, based on the rotation angle information on the rotation shaft 141r (in the following description, the position of the arm 142 refers to a point 142p that is a portion of the tip of the substantially columnar arm 142 and is closest to the outer circumference of the housing). According to the information indicating the position of the rear surface 131B of the push button 131 (within the movement range R) and indicating the position of the arm 142 (corresponding to the rotational position of the actuator 141), the vibration control portion 43 generates the position range information quantitatively representing each of 10 segments (P0 to P9 in fig. 2) in which the movement range R and the movement range of the arm 142 overlap each other.

Then, the vibration control section 43 controls the rotational position of the actuator 141 in such a manner that, for example, when the position Q of the rear surface 131B of the push button 131 detected by the detection section 42 is at the quantized position level P4, the arm 142 is moved to the target position within the position level P4 (for example, to the center of the position level P4).

When the amplitude of the rotation angle of the actuator 141 is controlled based on the vibration intensity information contained in the vibration instruction received by the receiving portion 41, the vibration control portion 43 continuously reciprocates the actuator 141 at the control amplitude in such a manner that the arm 142 is also continuously reciprocated at this amplitude. As a result, the arm 142 enters a vibration state (under vibration control). At this time, the magnitude of the rotation angle is within a range between two angles: the position of the arm 142 is rotated by an angle θ a from a target angle θ t corresponding to the above-described target position in a direction of bringing the arm 142 close to the position Px (in a direction of retracting the arm 142 to the housing), and the position of the arm 142 is rotated by an angle θ b from the target angle θ t in a direction of bringing the arm 142 close to the position Py (in a direction of pushing the push button 131 upward). Here, for example, the angle θ a is set using a monotone increasing function, in which the intensity value "s" indicated by the vibration intensity information received by the receiving section 41 is given, and is set to be θ a ═ α · s (α is an experimentally determined normal number). The angle θ b may be a predetermined value. Alternatively, for example, as with the angle θ a, the angle θ b may be set using a monotonically increasing function, where given an intensity value "s", the angle θ b is set to θ b ═ β · s (as with α, β is an experimentally determined normal).

When controlling the vibration of the arm 142, the vibration control section 43 initially sets θ t- θ a as a target angle of the actuator 141, for example. Thereafter, the vibration control portion 43 alternately sets θ t + θ b or θ t- θ a to the target angle of the actuator 141 each time the actuator 141 stops rotating or each time the actuator 141 reaches the target position, and reciprocates the actuator 141 accordingly.

The vibration control portion 43 continues to vibrate the arm 142 until the receiving portion 41 receives a vibration end instruction to terminate the vibration. While continuing the vibration, the vibration control section 43 repeatedly acquires information on the position of the push button 131B detected by the detection section 42. Each time the position information is changed, the vibration control section 43 controls the rotational position of the actuator 141 in such a manner that the arm 142 is brought into contact with the changed position so as to continue the vibration.

One feature of this embodiment is that, when in a state where a predetermined condition is satisfied, the vibration control section 43 controls the vibration of the arm 142 in such a manner that the vibration specified by the vibration instruction received by the receiving section 41 is corrected (for example, controls the vibration based on the intensity value obtained by correcting the vibration intensity value represented by the vibration intensity information.

The condition here may include a condition that the rear surface 131B of the push button 131 as one operation member is specified to be at a position level close to the second position Pb (i.e., the above-described position level P9). That is, in the example of the embodiment, when the arm 142 is vibrated, for example, moving the rear surface 131B of the push-in button 131 to a position within the position level P9 (i.e., the user pushes the push-in button 131 to a position close to the limit) causes the vibration control section 43 to control the vibration 142 of the arm at a strength obtained by correcting the designated vibration strength.

The correction of the vibration intensity may alternatively involve multiplying the intensity value represented by the specified vibration intensity information by a parameter defined by a predetermined function. For example, this function is determined for each different condition. Given a condition that specifies that the rear surface 131B of the push button 131 is at a position P close to the second position Pb (position level P9 within the above-described 10-step position range), the function may be a monotonic function of the position P, such that the smaller the difference between the position P of the rear surface 131B of the push button 131 on the one hand and the position Pb which is the maximum push-in position of the rear surface 131B of the push button 131 on the other hand, the closer the parameter is to "0", and the larger the difference is, the closer the parameter is to "1" (the value is between "0" and "1", including "0" and "1", regardless of the position). The intensity value is corrected by multiplying the intensity value specified by the vibration intensity information by a parameter defined by a monotonic function of the position P.

In this example of correction, the user pushes the push button 131. When the rear surface 131B of the push button 131 is located within the position level P9, the user further pushes the push button 131. The vibration of the arm 142 is then controlled in such a manner that the closer the rear surface 131B is to the limit position, the smaller the intensity of the vibration of the arm 142 becomes than the vibration intensity specified by the information processing apparatus 2. This makes it possible to sufficiently reduce vibration when the push-in button 131 reaches its extreme position, which prevents the vibration from propagating to the various components of the controller device 1 and suppresses the generation of unexpected vibration noise.

[ other typical cases ]

As already explained above, this condition specifies that the rear surface 131B of the push button 131 is in a position P (within a position level P9) close to the second position Pb. However, this does not limit the conditions for correcting the vibration using the present embodiment.

For example, in the present embodiment, the vibration may be corrected under the following conditions: when the arm 142 is controlled to vibrate, the user operates and moves the push button 131 from the current position.

Specifically, given the vibration instruction in the present embodiment, the vibration control section 43 controls the rotational position of the actuator 141 in such a manner that the tip of the arm 142 is moved to the position Q of the rear surface 131B of the push button 131 detected by the detection section 42.

That is, the target position to which the tip of the arm 142 is moved by the vibration control section 43 is set at the position Q of the rear surface 131B of the push button 131. The vibration control portion 43 also sets the target angle at the rotation angle θ t of the actuator 141 when the arm 142 rotates until the tip thereof reaches the target position. Then, based on the information on the current rotation angle and the target angle output by the actuator 141, the vibration control section 43 controls the rotation direction and the rotation speed of the actuator 141 (generally represented by the current supplied to the actuator 141). This control may be achieved using well known feedback control schemes and will therefore not be discussed further.

The vibration control section 43 repeatedly refers to the rotation angle information output by the actuator 141 at predetermined timing intervals. When the rotation angle output by the actuator 141 reaches the target angle within a predetermined period of time after the start of the control, the target angle θ t at which the actuator 141 rotates the angle is updated to θ t + Δ θ. Again, under feedback control, the tip of the arm 142 is moved. Here, the angle Δ θ needs to be determined in advance.

In the case where the rotation angle output by the actuator 141 fails to reach the target angle within a predetermined period of time after the start of the control although the rotation direction and the rotation speed are controlled (i.e., the position Q of the rear surface 131B of the push button 131 is closer to the second position than the position of the tip of the arm 142 rotated to the target angle so that the tip of the arm 142 comes into contact with the push button 131 and stops at the position Q), the vibration control portion 43 switches from the feedback control to a control scheme (vibration control) under which the vibration control portion 43 controls the rotation angle amplitude of the actuator 141 based on the vibration intensity information contained in the vibration instruction received by the receiving portion 41. Thus, the vibration control section 43 causes the actuator 141 to continuously reciprocate at the amplitude, and likewise, causes the arm 142 to continuously reciprocate at the amplitude.

At the start of the vibration control, the vibration control section 43 maintains the position of the arm 142 (the rotation angle of the actuator 141) at the initial position θ s. Initially, the correction value λ of the amplitude is set to λ ═ λ min, where λ min is 0 or a value greater than 0 and less than 1.

The vibration control section 43 vibrates (under vibration control) the tip of the arm 142 by setting the actuator 141 to rotate back and forth between two angles: the actuator 141 is rotated from the initial position thetas by an angle of lambda thetab (i.e., thetas + lambda thetab) in a direction to push the push-in button 131 upward, on the one hand, and the actuator 141 is rotated from the initial position thetas by an angle of lambda thetaa to the housing (i.e., thetas-lambda thetaa).

The vibration control section 43 obtains the rotation angle θ u of the upper side of the arm 142 when the housing is outermost (close to the first position) by referring to the rotation angle output by the actuator 141 under the vibration control. When the rotation angle θ u satisfies the relationship θ s- θ u > θ th (where θ th is a positive threshold) (i.e., when the push-in button 131 is pushed into the housing more than a predetermined amount of movement after the start of vibration), the vibration control section 43 assumes that the amplitude correction value λ is set to 1, and sets the actuator 141 to rotate reciprocally between two angles: on the one hand, the actuator 141 is rotated from the rotation angle θ u by an angle of λ · θ b (i.e., θ u + λ · θ b) in a direction in which the push-in button 131 is pushed upward, and on the other hand, the actuator 141 is rotated from the rotation angle θ u by an angle of λ · θ a to the housing (i.e., θ u — λ · θ a).

Meanwhile, when the relationship 0 ≦ θ s — θ u ≦ θ th is satisfied, the vibration control section 43 assumes that the amplitude correction value λ is set to λ ≦ f (θ s — θ u), where f (x) is a monotonically increasing function with respect to "x". Given x > θ th, f (x) is 1, where f (0) is λ min.

Then, the vibration control section 43 sets the actuator 141 to rotate reciprocally between two angles: the actuator 141 is rotated from the rotation angle θ u by an angle of λ · θ b (i.e., θ u + λ · θ b) in a direction in which the push-in button 131 is pushed upward, on the one hand, and the actuator 141 is rotated from the rotation angle θ u by an angle of λ · θ a to the housing (i.e., θ u — λ · θ a), on the other hand.

That is, in the present embodiment, when the vibration of the push-in button 131 is presented by vibrating the arm 142, the vibration control portion 43 retains information on the position of the arm 142 corresponding to the position of the push-in button 131 at the vibration start position (the information used in the previous example is the rotation angle of the actuator 141 at the position where the arm 142 is in contact with the push-in button 131) as initial position information. The more the push button 131 is pushed beyond the position specified by the initial position information, the greater the magnitude (intensity) of the generation. Further, the closer the arm 142 is to the initial position, the smaller the amplitude (intensity) becomes.

In this way, it is possible to suppress noise generated when vibration is present in a state where the user's fingertip is away from the push button 131 (in this state, the push button 131 returns from the pushed-in position to the first position, that is, a state where the push button 131 is pushed farther from the initial position before returning to the initial position).

[ operation ]

In the above configuration, the operation of the controller device 1 of the present embodiment is as follows. In the following example, the controller device 1 sets the amplitude θ a of the arm 142 using a monotone increasing function, where given the vibration intensity "s" specified by the information processing device 2, for θ a ═ α · s (α is an experimentally determined normal number), the amplitude θ a monotonously increases, divided at the start of vibration or when the push button 131 is pushed to the limit (the rear surface 131B reaches a position within the position level P9).

Initially, assume that the user grasps the controller device 1 and pushes the push button 131 until its rear surface 131B reaches position Q within position level P4. At this time, the game application running on the information processing apparatus 2 executes processing that outputs a vibration instruction including vibration intensity information specifying that vibration is generated at a predetermined intensity "s". Upon receiving the vibration instruction, the processor 151 operates as follows:

the processor 151 detects that the rear surface 131B of the push button 131 is in position Q. Then, the processor 151 sets the target position of the arm 142 at the position Q of the rear surface 131B of the push button 131. The processor 151 also sets the rotation angle θ t of the actuator 141 when the arm 142 reaches the target position as the target angle. Then, the processor 151 performs feedback control such that the rotation direction and the rotation speed of the actuator 141 are controlled based on information on the current rotation angle and the target angle output by the actuator 141.

The processor 151 repeatedly refers to the rotation angle information output by the actuator 141 at predetermined time intervals. When the rotation angle output by the actuator 141 reaches the target angle θ t within a predetermined period of time after the start of the feedback control, the processor 151 sets the amplitude correction value λ to λ ═ λ min, and vibrates the tip of the arm 142 by setting the actuator 141 to rotate back and forth between two angles (under vibration control): on the one hand, the actuator 141 is rotated from the target angle θ t by an angle of λ · θ b (i.e., θ s + λ · θ b) in a direction of pushing the push-in button 131 upward, and on the other hand, the actuator 141 is rotated from the initial position θ s by an angle of λ · θ a to the housing (i.e., θ s — λ · θ a).

Thereafter, by referring to the rotation angle output by the actuator 141 under the vibration control, the processor 151 obtains the rotation angle θ u of the upper side when the outermost (near first position) of the housing of the arm 142. When the rotation angle θ u satisfies the relationship θ s- θ u > θ th (where θ th is a positive threshold), the processor 151 assumes that the amplitude correction value λ is set to λ ═ 1, and sets the actuator 141 to rotate back and forth between two angles: the actuator 141 is rotated from the rotation angle θ u by an angle of λ · θ b (i.e., θ u + λ · θ b) in a direction in which the push-in button 131 is pushed upward, on the one hand, and the actuator 141 is rotated from the rotation angle θ u by an angle of λ · θ a to the housing (i.e., θ u — λ · θ a), on the other hand. Meanwhile, when the relationship 0 ≦ θ s- θ u ≦ θ th is satisfied, the processor 151 sets the amplitude correction value λ to λ ≦ f (θ s- θ u), where f (x) is a monotonically increasing function with respect to "s". Given x > θ th, f (x) is 1, where f (0) is λ min.

Processor 151 then sets actuator 141 to rotate back and forth between two angles: the actuator 141 is rotated from the rotation angle θ u by an angle of λ · θ b (i.e., θ u + λ · θ b) in a direction in which the push-in button 131 is pushed upward, on the one hand, and the actuator 141 is rotated from the rotation angle θ u by an angle of λ · θ a to the housing (i.e., θ u — λ · θ a), on the other hand.

Under the above control, in a state where the user pushes the outer surface 131F of the push button 131 with a fingertip (i.e., in a case where the outer surface 131F receives a force of the fingertip), the push button 131 moves from a position equivalent to the initial position into the housing, the correction value λ monotonously increases, and the vibration increases accordingly. When the push-in button 131 is pushed from a position equivalent to the initial position by more than a predetermined push-in amount, the correction value λ is set to λ 1, thereby exhibiting predetermined vibration.

Thereafter, when the user stops pushing the push button 131 (or reduces the pushing force), the push button 131 returns to the position equivalent to the initial position, the correction value λ monotonously decreases, and the vibration decreases accordingly. When the push button 131 is moved to the default position beyond the position corresponding to the initial position, no vibration is presented.

Therefore, in a state where the user's fingertip does not act as a damper (i.e., a state where the user's fingertip does not fully contact the push-in button 131), vibration is reduced and generation of noise is suppressed.

Assume that the user pushes the push button 131 until its rear surface 131B reaches position P within position level P9, and then pushes the push button 131 further to the extreme position (the rear surface 131B of the push button 131 reaches the second position Pb). During this time, the game application running on the information processing apparatus 2 may perform processing that outputs a vibration instruction including vibration intensity information specifying that vibration is generated at a predetermined intensity "s" upon receiving the vibration instruction, and the operation of the processor 151 is as follows:

the processor 151 detects that the rear surface 131B of the push button 131 is at the position Pb. Then, the processor 151 sets the target position of the arm 142 at the position P of the rear surface 131B of the push button 131. The processor 151 also sets the rotation angle θ t of the actuator 141 when the arm 142 reaches the target position as the target angle. Then, the processor 151 performs feedback control such that the rotation direction and the rotation speed of the actuator 141 are controlled based on information on the current rotation angle and the target angle output by the actuator 141.

The processor 151 repeatedly refers to the rotation angle information output by the actuator 141 at predetermined time intervals. When the rotation angle output by the actuator 141 reaches the target angle θ t within a predetermined period of time after the start of the feedback control, the processor 151 then switches from the feedback control to the determination of the rotation angle amplitude of the actuator 141 based on the vibration intensity information contained in the received vibration instruction.

Specifically, the smaller the difference between the position P of the rear surface 131B of the push button 131 on the one hand and the position Pb constituting the maximum push position of the rear surface 131B of the push button 131 on the other hand, the closer the value of the monotonic function g (P) of the position P to "0" (which is a function whose value is between "0" and "1" (including "0" and "1") regardless of the position), and the larger the difference, the closer the value of the function to "1". The vibration intensity value is corrected by multiplying a monotonic function g (P) of the position P by the intensity value "s" specified by the vibration intensity information.

That is, the amplitude θ a is set to θ a ═ α · g (p) · s.

Processor 151 then establishes the magnitude between two angles: the position of the arm 142 is rotated from the target angle thetat by an angle thetab (i.e., thetat + thetab) in the direction in which the push-in button 131 is pushed upward, on the one hand, and the position of the arm 142 determined by the above method enters the housing from the target angle thetat by an angle thetaa (i.e., thetat-thetaa) of rotation. Control (vibration control) is performed to cause the actuator 141 to continuously reciprocate within the amplitude range, thereby vibrating the arm 142. The amount θ b is a predetermined value.

Here, the processor 151 determines whether the rotation angle θ output by the actuator 141 becomes greater than a predetermined threshold θ h (0< θ h ≦ θ b) in a direction in which the push button 131 is pushed up from the previously set target angle θ t during the vibration control (i.e., whether the relationship θ > θ t + θ h is satisfied).

In this example, it is assumed that the rotation angle θ output by the actuator 141 does not exceed the predetermined threshold θ h in the direction in which the push-type button 131 is pushed up from the target angle θ t + Δ θ.

Thereafter, the processor 151 repeatedly acquires the rear surface 131B of the push button 131, and sets the amplitude θ a for vibration control to α · g (p) · s. The correction function g (p) causes the processor 151 to perform control such that the larger the amount by which the user pushes the push button 131, the smaller the magnitude.

Under the above control, when the push button 131 is pushed to the limit, the vibration amplitude is limited. Thus, the user is presented with vibrations that are typically specified by the gaming application without generating unexpected noise.

It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and alterations may occur depending on design requirements and other factors so long as they are within the scope of the appended claims or their equivalents.

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:游戏终端、云服务器、云游戏控制方法和存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类