Controller device and method for controlling the controller device
The controller device stabilizes operation member control by calculating and correcting control signals based on the derivative of the tilt angle, addressing delays and maintaining target angles effectively.
Patent Information
- Application Number
- JP2024520239
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-05-13
- Publication Date
- 2026-07-13
- Estimated Expiration
- 2042-05-13
Smart Images

Figure 0007888715000001 
Figure 0007888715000002 
Figure 0007888715000003
Abstract
Description
Technical Field
[0001] The present invention relates to a controller device and a control method for the controller device.
Background Art
[0002] A controller device provided with an operation member capable of tilting operation is used as an input device for many information processing devices such as a home game machine. Here, there is an example in which an actuator controls the tilting angle and tilting direction of the operation member to present a force sense to the user of the controller device.
[0003] Conventionally, in the control of an actuator in such an example, for example, the tilting angle of the operation member is detected in the controller device, and the information processing device receives the information on the detected tilting angle from the controller device, and controls the detected angle to be the target tilting angle. It was supposed to give instructions such as current.
Summary of the Invention
Problems to be Solved by the Invention
[0004] However, in the conventional configuration in which the information on the tilting angle detected by the controller device is transmitted to the information processing device that determines an instruction such as a control current, a delay occurs in the transmission of the information, so at the time of determining the instruction such as a control current, the actual tilting angle is different from the detected tilting angle, and for this reason, the tilting angle may exceed the target angle, etc. There was a problem that it was difficult to stably drive and control the operation member.
[0005] In view of the above situation, the present invention is made, and one of its objects is to provide a controller device and a control method for the controller device that can stably drive and control an operation member.
Means for Solving the Problems
[0006] One aspect of the present invention, which solves the problems of the above-mentioned conventional example, is a controller device connected to an information processing device, comprising: an operating member that can be tilted; a drive unit that drives the operating member; a receiving circuit that receives instruction information from the information processing device indicating the driving direction and driving angle of the operating member by the drive unit; and a control circuit that controls the drive unit based on the instruction information received by the receiving circuit, wherein the control circuit acquires information representing the tilt angle of the operating member, calculates its derivative, corrects the control signal based on the instruction information based on the calculated derivative of the tilt angle of the operating member, and controls the drive unit based on the corrected control signal. [Effects of the Invention]
[0007] According to the present invention, the operating member can be stably driven and controlled. [Brief explanation of the drawing]
[0008] [Figure 1] This is a block diagram showing an example configuration of a controller device according to an embodiment of the present invention. [Figure 2] This is a schematic diagram showing an example of a tilting operation member included in a controller device according to an embodiment of the present invention. [Figure 3] This is a schematic diagram showing the general configuration of the drive unit of a controller device according to an embodiment of the present invention. [Figure 4] This is a schematic diagram illustrating an example of the functional configuration of an information processing device connected to a controller device according to an embodiment of the present invention. [Figure 5] This flowchart illustrates an example of the operation of a controller device according to an embodiment of the present invention. [Modes for carrying out the invention]
[0009] Embodiments of the present invention will be described with reference to the drawings. In the following description, the size, proportions, etc., of each part are illustrative and may differ. The controller device 1 according to an embodiment of the present invention is composed of a control unit 11, a storage unit 12, an operation unit 13, a communication unit 14, and a drive unit 15, as illustrated in Figure 1. This controller device 1 is also communicated with an information processing device 2.
[0010] Here, the information processing device 2 is a home game console, a personal computer, etc., and receives information representing the user's operations performed on the controller device 1 and executes predetermined information processing, such as game processing. In this embodiment, the information processing device 2 also sends control instructions to the controller device 1 to control the drive unit 15 during the game processing process. The content of the control instructions sent here will be described later.
[0011] The control unit 11 of the controller device 1 is a program-controlled device such as a microcomputer, and operates according to a program stored in the memory unit 12. In this embodiment, the control unit 11 sends information representing the user's operation performed in the operation unit 13 to the information processing device 2 via the communication unit 14.
[0012] The storage unit 12 is a memory device or the like, and holds the program executed by the control unit 11. This storage unit 12 also functions as the work memory for the control unit 11.
[0013] The operation unit 13 includes a tilt operation member 131, such as a tiltable joystick. The operation unit 13 may also include other operation members, such as push buttons or locking buttons. The operation unit 13 outputs information to the control unit 11 that represents the content of the operation performed on these operation members. For example, the tilt operation member 131 outputs information to the control unit 11 about the tilt angle in the predetermined, mutually orthogonal X and Y axis directions. The tilt operation member 131 may also be pushable, in which case information about the amount of push will also be output to the control unit 11.
[0014] In this embodiment, the tilting operation member 131, as illustrated in Figure 2, comprises a columnar body 21 to be tilted, a guide 22, a first actuator 23, a second actuator 24, and a base 25. Here, the guide 22 and the base 25 are supported so as to be rotatable within at least a predetermined angular range around axes 22A and 25A, respectively, with the direction of axis 22A being the X-axis and the direction of axis 25A being the Y-axis. The direction perpendicular to both the X-axis and the Y-axis is defined as the Z-axis. In other words, the guide 22 rotates in the YZ plane around axis 22A, and the base 25 rotates in the XZ plane around axis 25A.
[0015] The guide 22 restricts the movement of the columnar body 21 in one direction (the X-axis direction). As described above, the guide 22 is supported so as to be rotatable within a predetermined angular range in the YZ plane around axis 22A. This angular range also includes the angular range in which the columnar body 21 is parallel to the Z-axis direction.
[0016] The first actuator 23 comprises a motor 231 and a sensor 232. The motor 231 is, for example, a three-phase (with 3n (n is a natural number) stator) brushless DC motor, and supplies current input from the drive unit 15, which will be described later, to each phase stator coil to control the amount of rotation, rotational speed, and rotational direction of the rotor. The rotation axis of the rotor of this motor 231 is connected to the axis 22A of the guide 22, and the motor 231 rotates the guide 22 around the axis 22A in the YZ plane.
[0017] The sensor 232 is, for example, a rotary encoder, a potentiometer, or other angle sensor, and sequentially detects the tilt angle θc of the axis 22A of the guide 22, with a predetermined reference direction (for example, the direction of the guide 22 in a state where the columnar body 21 can be oriented in the positive Z-axis direction) as 0 degrees, and outputs the detection result to the drive unit 15.
[0018] The second actuator 24 includes a motor 241 and a sensor 242. Similar to the motor 231, the motor 241 is, for example, a three-phase brushless DC motor. Currents input from a drive unit 15, which will be described later, are respectively supplied to the stator coils of each phase to control the amount of rotation, rotational speed, and rotational direction of its rotor. The rotation axis of the rotor of this motor 241 is connected to the shaft 25A of the pedestal 25, and the motor 241 rotates the pedestal 25 around the shaft 25A within the XZ plane.
[0019] The sensor 242 is, for example, a rotary encoder, a potentiometer, or other angle sensor. It sequentially detects the tilt angle φc of the shaft 25A of the pedestal 25 with a predetermined reference direction (for example, the direction of the pedestal 25 in a state where the columnar body 21 can be in the positive Z-axis direction) as 0 degrees, and outputs the detection result to the drive unit 15. These first and second actuators 23 and 24 correspond to the drive unit of the present invention.
[0020] The pedestal 2 is supported so as to be rotatable around its shaft 25A at least within a predetermined angle range. Also, when the rotation angle around the shaft 25A of this pedestal 25 is 0 degrees, the pedestal 25 supports the base 21B of the columnar body 21 so that the columnar body 21 faces the positive Z-axis direction.
[0021] The communication unit 14 is, for example, a wired interface such as USB or a wireless interface such as Bluetooth (registered trademark), and is communicably connected to the information processing device 2 by wire or wirelessly. This communication unit 14 receives a control instruction for controlling the drive unit 15 from the information processing device 2 and outputs the control instruction to the drive unit 15. Also, this communication unit 14 receives the detection result θc of the tilt angle of the shaft 22A of the guide 22 by the sensor 232 of the first actuator 23 from the drive unit 15, and receives the detection result φc of the tilt angle of the shaft 25A of the pedestal 25 by the sensor 242 of the second actuator 24, and sends the information of these detection results to the information processing device 2.
[0022] Furthermore, in accordance with an instruction input from the control unit 11, the communication unit 14 transmits information representing a user operation performed on the operation unit 13 to the information processing apparatus 2 via the communication unit 14.
[0023] The drive unit 15 is a motor driver and includes an interface unit 151 and a current control unit 152, as illustrated in FIG. 3.
[0024] The interface unit 151 implements the reception circuit of the present invention. This interface unit 151 outputs a control instruction input from the communication unit 14 to the current control unit 152. In the example here of the present embodiment, it is assumed that the motors 231 and 241 provided in the first actuator 23 and the second actuator 24 respectively are both brushless DC motors. In this example, it is assumed that the control instructions output by the information processing apparatus 2 are the amounts of current Idref and Iqref in the respective rotational coordinates of the motors 231 and 241. In the example of the present embodiment, it is assumed that position control is performed with Iqref, and Idref is fixed at "0".
[0025] Also, this interface unit 151 receives the detection result θc of the tilt angle of the shaft 22A of the guide 22 by the sensor 232 of the first actuator 23 and outputs it to the communication unit 14. The interface unit 151 further receives the detection result φc of the tilt angle of the shaft 25A of the pedestal 25 by the sensor 242 of the second actuator 24 and outputs it to the communication unit 14.
[0026] The current control unit 152 implements the control circuit of the present invention. This current control unit 152 is an individual controller that controls individual actuators, and is provided for each of the first and second actuators 23 and 24. Each of these current control units 152 is composed of an adder 1521, a vector control unit 1522, a differentiator 1523, and a multiplier 1524, as illustrated in Figure 3. Here, the adder 1521, differentiator 1523, and multiplier 1524 function as dampers. One of the distinctive features of the present invention is that this damper configuration is placed immediately before the vector control unit and other components that control actuators equipped with motors, etc.
[0027] The adder 1521 corrects the value Iqref, the amount of current supplied to the motor of the corresponding actuator, which is represented by the control instruction input from the interface unit 151, by subtracting the corresponding output value Iqmp of the multiplier 1524, which will be explained later. As already explained, Idref is set to "0" here, and therefore no correction is made to Idmp. However, if control is performed where Idref is not set to "0", then Idref will also be corrected by subtracting Idmp.
[0028] The vector control unit 1522 converts the corrected current value Iqref-Iqmp output by the adder 1521 into voltage values Vu, Vv, and Vw input to the U, V, and W phases respectively, and outputs them to the corresponding actuators (so-called vector control). At the same time, the vector control unit 1522 separately measures the current values Iu, Iv, and Iw for each phase and converts them inversely into current values Iq and Id in the q-axis and d-axis directions, respectively, for feedback control. When Idref is used, Idref-Idmp and Iqref-Iqmp are converted into voltage values Vu, Vv, and Vw input to the U, V, and W phases respectively, and output to the corresponding actuators.
[0029] The differentiator 1523 takes the time derivative of the output value (current tilt angle) of the corresponding sensor 232 or 242. Specifically, the differentiator 1523 stores the output values θc(t-1) and φc(t-1) of the last input from the sensor 232 or 242 up to that point, and calculates and outputs the corresponding difference Δθ=θc(t)-θc(t-1) and Δφ=φc(t)-φc(t-1) between the previously input output values θc(t-1) and φc(t-1) of the sensor 232 or 242 and the currently input output values θc(t) and φc(t).
[0030] The multiplier 1524 outputs a value Iqmp (and Idmp if Idref is used) obtained by multiplying the output value of the differentiator 1523 by a predetermined coefficient (damping factor). This damping factor is one example of the control parameter of the present invention. In this embodiment, unintended fluctuations are suppressed by subtracting the amount of current corresponding to the output value of this multiplier 1524. This damping factor may be determined experimentally, or, as already mentioned, may be set by the information processing device 2.
[0031] Next, an example of the control instruction generation process by the information processing device 2 will be described. In this embodiment, the information processing device 2, through the processing of a program such as a game, realizes a configuration that functionally includes a target angle receiving unit 31, a current value receiving unit 32, an addition unit 33, a rigidity control unit 34, and a transmission unit 35, as illustrated in Figure 4. In this embodiment, the information processing device 2 may also functionally include a damping factor setting unit 36.
[0032] The target angle receiving unit 31 receives input of a set value for the tilt angle of the columnar body 21 of the tilt operation member 131 of the controller device 1, which is determined in the processing of a program such as a game. This set value for the tilt angle is specified by the tilt angle θtarget of the axis 22A of the guide 22 and the tilt angle φtarget of the axis 25A of the base 25.
[0033] The current value receiving unit 32 receives the detection result θc of the tilt angle of the axis 22A of the guide 22 detected by the sensor 232 of the first actuator 23, and the detection result φc of the tilt angle of the axis 25A of the base 25 detected by the sensor 242 of the second actuator 24, which are sent by the communication unit 14 of the controller device 1. These detection results θc and φc are received after a time has elapsed from the time of detection until they are received by the information processing device 2 via communication. To indicate this, the information of each detection result received by this current value receiving unit 32 will be denoted as θc_delay and φc_delay below.
[0034] The addition unit 33 subtracts the corresponding detection result information received by the current value receiving unit 32 from the tilt angle information θtarget and φtarget received by the target angle receiving unit 31, and outputs θ′target=θtarget-θc_delay and φ′target=φtarget-φc_delay.
[0035] The rigidity control unit 34 generates a control instruction Iqref by multiplying the output of the adder 33 by a predetermined stiffness coefficient (stiffness factor). The transmission unit 35 sends the control instruction Iqref generated by the rigidity control unit 34 to the controller device 1. In this example, Idref=0, but if Idref is also used, the rigidity control unit 34 generates control instructions Idref and Iqref by multiplying the outputs of the adder 33 by predetermined stiffness coefficients (stiffness factors), respectively, and the transmission unit 35 sends them to the controller device 1.
[0036] Furthermore, if the information processing device 2 further includes a damping factor setting unit 36, this damping factor setting unit 36 sends a value of the damping factor determined in the processing of a program such as a game, or a predetermined value of the damping factor, to the controller device 1 via the sending unit 35.
[0037] [Operation] The controller device 1 of this embodiment basically has the above configuration and operates as follows. In the following description, we will explain as an example the case in which the information processing device 2 sets the tilt angle of the axis 22A of the guide 22 of the target controller device 1 and the tilt angle of the axis 25A of the base 25 to 0 degrees (that is, the angle at which the columnar body 21 of the tilt operation member 131 returns to the origin position). In the following description, Idref will be fixed to "0".
[0038] In this example, as illustrated in Figure 5, the sensor 232 of the first actuator 23 of the controller device 1 sequentially detects the tilt angle θc of the axis 22A of the guide 22, and the sensor 242 of the second actuator 24 sequentially detects the tilt angle φc of the axis 25A of the base 25 (S11). The controller device 1 then sends this tilt angle information θc and φc to the information processing device 2 with a predetermined delay (S12).
[0039] The information processing device 2 receives the tilt angle θc_delay of the axis 22A of the guide 22 and the tilt angle φc_delay of the axis 25A of the base 25, which were last detected by the controller device 1, from the controller device 1 (step S12). Using the set tilt angle (in this example, θtarget=0,φtarget=0) and the tilt angle θc_delay of the axis 22A of the guide 22 and the tilt angle φc_delay of the axis 25A of the base 25 received from the controller device 1, the information processing device 2 calculates θ′target=-θc_delay,φ′target=-φc_delay. The information processing device 2 further multiplies these values by a predetermined stiffness factor to generate a control instruction I1qref for tilting the axis 22A of the guide 22 and a control instruction I2qref for tilting the axis 25A of the base 25 (S13), and sends them to the controller device 1 (S14).
[0040] Meanwhile, in the controller device 1, while the information processing device 2 is performing the processing from steps S12 to S14, the controller device 1 calculates the difference (derivative value) between each of the tilt angle information θc and φc acquired in step S11 and the corresponding tilt angle information detected in the previous step, and then multiplies the said derivative value by a predetermined damping factor to obtain an output value (correction value) Iqmp (S15).
[0041] In the following, the correction value determined by the drive unit 15, which is provided in correspondence with the first actuator 23 of this controller device 1, will be denoted as I1qmp, and the correction value determined by the drive unit 15, which is provided in correspondence with the second actuator 24, will be denoted as I2qmp.
[0042] The controller device 1 corrects the control instructions I1dref and I1qref, which were last received from the information processing device 2, using these correction values (S16).
[0043] In other words, the controller device 1 receives the control instruction I1qref, I1qref-I1q And correct it, and also the control instruction I2qref, I2qref-I2q And correct it.
[0044] Then, the controller device 1 converts each of the corrected current values I1qref-I1q into voltage values V1u, V1v, and V1w to be input to the U, V, and W phases of the motor 231 of the first actuator 23, and applies these converted voltages to the stator coils of each phase of the motor 231 (S17). At the same time, the controller device 1 converts the current values I2qref-I2q obtained in step S16 into voltage values V2u, V2v, and V2w to be input to the U, V, and W phases of the motor 241 of the second actuator 24, and applies these converted voltages to the stator coils of each phase of the motor 241.
[0045] The control of motors 231 and 241 by this operation is a widely known control method called vector control, so a detailed explanation will be omitted here.
[0046] Furthermore, the controller device 1 receives control instructions I1qref and I2qref from the information processing device 2 (step S14) and uses them for subsequent processing. The controller device 1 and the information processing device 2 repeat the above processing.
[0047] As shown in this example, in this embodiment, the drive unit 15 of the controller device 1 calculates the differential value of the detection results of sensors 232 and 242, and uses this differential value to determine the amount of current to be supplied to the stator coils of each phase of motors 231 and 241. In other words, the drive unit 15 uses the detection results of sensors 232 and 242 with a relatively small delay to control motors 231 and 241, respectively, and corrects the previous control instruction without waiting for a control instruction based on the same detection result. This enables stable drive control of the operating member.
[0048] Furthermore, even after the tilt angle of the shaft 22A of the guide 22 and the tilt angle of the shaft 25A of the base 25 have reached their respective target tilt angles, the amount of current corresponding to the time change (derivative value) of each tilt angle is calculated with a relatively small delay, thereby controlling the motors 231 and 241 to maintain their respective tilt angles at the target tilt angles. As a result, even if the columnar body 21 vibrates, for example, by flicking it with a finger, the vibration will be suppressed relatively quickly.
[0049] [Differentiation] In the explanation so far, we have assumed that a brushless DC motor is used as the actuator to control the tilting angle of a tiltable member. However, this is just one example, and other types of motors may be used as long as they can control the direction of rotation, rotational speed, or amount of rotation. In this case as well, just before supplying current to the motor, the time derivative of the current rotation angle of the motor is calculated, and the amount of current supplied to the motor is corrected according to the magnitude of this time derivative, thereby suppressing unintended fluctuations with a relatively small delay. [Explanation of symbols]
[0050] 1 Controller device, 2 Information processing device, 11 Control unit, 12 Memory unit, 13 Operation unit, 14 Communication unit, 15 Drive unit, 21 Columnar body, 22 Guide, 23 First actuator, 24 Second actuator, 25 Base, 31 Target angle receiving unit, 32 Current value receiving unit, 33 Adding unit, 34 Stiffness control unit, 35 Sending unit, 36 Damping factor setting unit, 131 Tilt operation member, 151 Interface unit, 152 Current control unit, 231, 241 Motor, 232, 242 Sensor, 1521 Adder, 1522 Vector control unit, 1523 Differentiator, 1524 Multiplier.
Claims
1. A controller device connected to an information processing device, An operating member that can be tilted, A drive unit that drives this operating member, A receiving circuit receives input of instruction information from the information processing device that indicates the driving direction and driving angle of the operating member by the drive unit, The control circuit includes a control circuit that controls the drive unit based on the instruction information received by the receiving circuit, The control circuit is a controller device that acquires information representing the tilt angle of the operating member, calculates its derivative, corrects the control signal based on the instruction information based on the calculated derivative of the tilt angle of the operating member, and controls the drive unit based on the corrected control signal.
2. A controller device according to claim 1, The control circuit receives the setting of control parameters from the information processing device, A controller device that corrects the control signal based on the instruction information using the parameter and the differential value of the tilt angle of the operating member.
3. A controller device according to claim 1, The control circuit acquires information representing the tilt angle of the operating member, calculates its derivative, generates a correction signal by multiplying the derivative by a predetermined parameter, corrects the control signal based on the instruction information by subtracting the correction signal, and controls the drive unit with the corrected control signal.
4. A control method for a controller device connected to an information processing device and equipped with an operating member that can be tilted, The receiving circuit receives instruction information from the information processing device that indicates the driving direction and driving angle of the operating member. The control circuit acquires information representing the tilt angle of the operating member, calculates its derivative, corrects the control signal based on the instruction information based on the calculated derivative of the tilt angle of the operating member, and outputs the corrected control signal. The drive unit drives the tiltable operating member based on the outputted control signal. A control method for a controller device.
Citation Information
Patent Citations
Force sense giving type input device
JP2005332039A
Input device
JP2006344038A
Operation input device
JP2008217470A
Input-output operation device
JP2015215730A
