WO2023218669A1 - コントローラ装置、及び、コントローラ装置の制御方法 - Google Patents

コントローラ装置、及び、コントローラ装置の制御方法 Download PDF

Info

Publication number
WO2023218669A1
WO2023218669A1 PCT/JP2022/020287 JP2022020287W WO2023218669A1 WO 2023218669 A1 WO2023218669 A1 WO 2023218669A1 JP 2022020287 W JP2022020287 W JP 2022020287W WO 2023218669 A1 WO2023218669 A1 WO 2023218669A1
Authority
WO
WIPO (PCT)
Prior art keywords
controller device
operating member
tilt angle
information processing
control signal
Prior art date
Application number
PCT/JP2022/020287
Other languages
English (en)
French (fr)
Inventor
瑟基 洪
隆行 勝間
Original Assignee
株式会社ソニー・インタラクティブエンタテインメント
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社ソニー・インタラクティブエンタテインメント filed Critical 株式会社ソニー・インタラクティブエンタテインメント
Priority to PCT/JP2022/020287 priority Critical patent/WO2023218669A1/ja
Publication of WO2023218669A1 publication Critical patent/WO2023218669A1/ja

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • A63F13/28Output arrangements for video game devices responding to control signals received from the game device for affecting ambient conditions, e.g. for vibrating players' seats, activating scent dispensers or affecting temperature or light
    • A63F13/285Generating tactile feedback signals via the game input device, e.g. force feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0338Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of limited linear or angular displacement of an operating part of the device from a neutral position, e.g. isotonic or isometric joysticks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry

Definitions

  • the present invention relates to a controller device and a method of controlling the controller device.
  • Controller devices equipped with operating members that can be tilted are used as input devices for many information processing devices, such as home game machines.
  • the tilting angle and tilting direction of the operating member are controlled by an actuator to present a force sensation to the user of the controller device.
  • a controller device detects the tilting angle of an operating member, an information processing device receives information about the detected tilting angle from the controller device, and then sets the detected angle to a target.
  • the control current etc. were to be instructed so that the tilt angle would be as follows.
  • the present invention has been made in view of the above circumstances, 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 operating member.
  • One aspect of the present invention for solving the problems of the conventional example described above is a controller device connected to an information processing device, which includes an operation member that can be tilted, a drive unit that drives the operation member, and a controller device that is connected to an information processing device.
  • an acceptance circuit that receives input from the information processing device of instruction information instructing the drive direction and drive angle of the operating member by the drive unit; and a control circuit that controls the drive unit based on the instruction information accepted by the acceptance circuit.
  • the control circuit acquires information representing the tilt angle of the operating member, calculates a differential value thereof, and based on the instruction information based on the calculated differential value of the tilt angle of the operating member.
  • the control signal is corrected and the drive section is controlled based on the corrected control signal.
  • the operation member can be stably driven and controlled.
  • FIG. 1 is a block diagram illustrating a configuration example of a controller device according to an embodiment of the present invention.
  • FIG. 2 is a schematic configuration diagram showing an example of a tilting operation member included in a controller device according to an embodiment of the present invention.
  • FIG. 2 is a schematic diagram showing a schematic configuration of a drive unit of a controller device according to an embodiment of the present invention.
  • 1 is a schematic diagram illustrating a functional configuration example of an information processing device connected to a controller device according to an embodiment of the present invention. It is a flow chart showing an example of operation of a controller device concerning an embodiment of the present invention.
  • a controller device 1 includes a control section 11, a storage section 12, an operation section 13, a communication section 14, and a drive section 15, as illustrated in FIG. ing. Further, this controller device 1 is communicably connected to an information processing device 2.
  • the information processing device 2 is a home game machine, a personal computer, etc., and receives information representing a user's operation performed on the controller device 1, and executes predetermined information processing such as game processing. . Further, in this embodiment, the information processing device 2 sends a control instruction for controlling the drive unit 15 to the controller device 1 in the process of processing a game. The content of the control instruction sent here will be described later.
  • 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 storage unit 12. In the example of this embodiment, the control unit 11 sends information representing the user's operation performed on the operation unit 13 to the information processing device 2 via the communication unit 14.
  • the storage unit 12 is a memory device or the like, and holds programs executed by the control unit 11. Further, this storage section 12 also operates as a work memory for the control section 11.
  • the operation unit 13 includes a tilting operation member 131 such as a joystick that can be tilted. Further, the operation section 13 may include other operation members such as a push button and a locking button.
  • the operation unit 13 outputs information representing the contents of operations performed on these operation members to the control unit 11. For example, the tilting operation member 131 outputs information on predetermined tilting angles in the X-axis and Y-axis directions that are orthogonal to each other to the control unit 11. Further, the tilting operation member 131 may be able to be pushed in, and in that case, information on the amount of pushing is also output to the control unit 11.
  • the tilting operation member 131 includes a columnar body 21 to be tilted, a guide 22, a first actuator 23, and a second actuator 24, as shown in FIG. , and a pedestal 25.
  • the guide 22 and the pedestal 25 are supported rotatably around the shafts 22A and 25A, respectively, within at least a predetermined angular range, and the direction of the shaft 22A is the X axis, and the direction of the shaft 25A is the Y axis. do.
  • the direction perpendicular to both the X-axis and the Y-axis is defined as the Z-axis. That is, the guide 22 rotates in the YZ plane around the axis 22A. Moreover, the pedestal 25 rotates in the XZ plane around the axis 25A.
  • the guide 22 restricts the movement of the columnar body 21 in one direction (X-axis direction). As described above, this guide 22 is rotatably supported within a predetermined angular range in the YZ plane around the axis 22A. Further, this angular range includes an angular range in which the columnar bodies 21 are parallel to the Z-axis direction.
  • the first actuator 23 includes a motor 231 and a sensor 232.
  • the motor 231 is, for example, a three-phase brushless DC motor (having 3n stators (n is a natural number)), and supplies current input from the drive unit 15, which will be described later, to the stator coils of each phase. Controls the amount, speed, and direction of rotation of the rotor.
  • the rotating shaft of the rotor of this motor 231 is connected to the shaft 22A of the guide 22, and the motor 231 rotates the guide 22 around the shaft 22A within the YZ plane.
  • the sensor 232 is, for example, a rotary encoder, a potentiometer, or another angle sensor, and adjusts the tilt angle ⁇ c of the shaft 22A of the guide 22 in a predetermined reference direction (for example, in a state in which the columnar body 21 can be oriented in the positive direction of the Z axis). direction) of the guide 22 is set to 0 degrees, and outputs the detection results to the drive unit 15.
  • the second actuator 24 includes a motor 241 and a sensor 242.
  • the motor 241 is, for example, a three-phase brushless DC motor, and supplies current input from the drive section 15, which will be described later, to the stator coils of each phase to control the rotation amount and the rotation amount of the rotor. Controls rotation speed and rotation direction.
  • the rotating shaft 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 in the XZ plane around the shaft 25A.
  • the sensor 242 is, for example, a rotary encoder, a potentiometer, or another angle sensor, and adjusts the tilt angle ⁇ c of the shaft 25A of the pedestal 25 in a predetermined reference direction (for example, in a state in which the columnar body 21 can be oriented in the positive direction of the Z axis). direction) of the base 25 is set to 0 degrees, and outputs the detection results to the drive unit 15.
  • a predetermined reference direction for example, in a state in which the columnar body 21 can be oriented in the positive direction of the Z axis). direction
  • direction of the base 25 is set to 0 degrees, and outputs the detection results to the drive unit 15.
  • These first and second actuators 23 and 24 correspond to the drive section of the present invention.
  • the pedestal 25 is rotatably supported around its axis 25A within at least a predetermined angular range. Further, this pedestal 25 supports the base 21B of the columnar body 21 so that the columnar body 21 faces in the positive direction of the Z-axis when the rotation angle around the axis 25A is 0 degrees.
  • the communication unit 14 is, for example, a wired interface such as a USB or a wireless interface such as Bluetooth (registered trademark), and is connected to the information processing device 2 so as to be communicable by wire or wirelessly.
  • the 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.
  • the communication unit 14 also 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 also receives the detection result ⁇ c of the tilt angle of the shaft 22A of the guide 22 by the sensor 242 of the second actuator 24.
  • the detection result ⁇ c of the inclination angle of the shaft 25A is received, and information on these detection results is sent to the information processing device 2.
  • the communication unit 14 sends information representing the user's operation performed on the operation unit 13 to the information processing device 2 via the communication unit 14 in accordance with instructions input from the control unit 11 .
  • the drive section 15 is a motor driver, and is configured to include an interface section 151 and a current control section 152, as illustrated in FIG.
  • the interface section 151 realizes the acceptance circuit of the present invention.
  • This interface section 151 outputs the control instruction input from the communication section 14 to the current control section 152.
  • the motors 231 and 241 provided in the first actuator 23 and the second actuator 24, respectively are brushless DC motors.
  • the control instructions output by the information processing device 2 are current amounts Idref and Iqref at the rotational coordinates of the motors 231 and 241, respectively.
  • position control is performed using Iqref, and Idref is fixed to "0".
  • the interface unit 151 also 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.
  • the current control section 152 realizes the control circuit of the present invention.
  • This current control section 152 is an individual controller that controls individual actuators, and is provided for each of the first and second actuators 23 and 24, respectively.
  • Each of the current control sections 152 is configured to include an adder 1521, a vector control section 1522, a differentiator 1523, and a multiplier 1524, as illustrated in FIG.
  • the adder 1521, the differentiator 1523, and the multiplier 1524 function as a damper.
  • One of the features of the present invention is that the structure that functions as this damper is placed immediately before a vector control section or the like that controls an actuator that includes a motor or the like.
  • the adder 1521 subtracts the corresponding output value Iqmp of the multiplier 1524, which will be described later, from the value Iqref of 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. to correct.
  • Idref is set to "0" here, so no correction is made to Idmp.
  • Idmp is also subtracted from Idref. Correct it.
  • the vector control unit 1522 converts the corrected current amount value Iqref ⁇ Iqmp output by the adder 1521 into voltage values Vu, Vv, and Vw input to the U, V, and W phases, and calculates the corresponding values. Output to the actuator (so-called vector control). Also, at this time, the vector control unit 1522 separately measures the current values Iu, Iv, and Iw of each phase and inversely converts them into current values, Iq, and Id in the q-axis and d-axis directions, and provides them for feedback control.
  • each of Idref - Idmp and Iqref - Iqmp must be converted into voltage values Vu, Vv, and Vw input to the U, V, and W phases, and output to the corresponding actuators. Become.
  • the multiplier 1524 multiplies the output value of the differentiator 1523 by a predetermined coefficient (damping factor) and outputs a value Iqmp (also Idmp if Idref is used).
  • This damping factor is one example of a parameter for control according to the present invention. In this embodiment, by subtracting the amount of current corresponding to the output value of multiplier 1524, unintended fluctuations are suppressed. This damping factor may be determined experimentally, or may be set from the information processing device 2 as described above.
  • the information processing device 2 through processing of a program such as a game, has a target angle receiving section 31, a current value receiving section 32, an adding section 33, and a rigidity A configuration that functionally includes a control section 34 and a sending section 35 is realized. Further, in the present embodiment, the information processing device 2 may functionally further include a damping factor setting section 36.
  • the target angle receiving unit 31 receives an input of a set value of the tilting angle of the columnar body 21 of the tilting operation member 131 of the controller device 1, which is determined in the processing of a program such as a game.
  • the set value of this tilting angle is specified by the tilting angle ⁇ target of the shaft 22A of the guide 22 and the tilting angle ⁇ target of the shaft 25A of the pedestal 25.
  • the current value receiving unit 32 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 the sensor 242 of the second actuator 24 sent by the communication unit 14 of the controller device 1.
  • the detection result ⁇ c of the inclination angle of the shaft 25A of the pedestal 25 is accepted.
  • These detection results ⁇ c and ⁇ c are accepted after a period of time has elapsed from when they were detected until they are accepted by the information processing device 2 through communication.
  • information on each detection result accepted by the current value receiving unit 32 will be expressed as ⁇ c_delay and ⁇ c_delay.
  • the stiffness control unit 34 multiplies the output of the adding unit 33 by a predetermined stiffness coefficient (stiffness factor) to generate a control instruction Iqref.
  • the sending unit 35 sends the control instruction Iqref generated by the rigidity control unit 34 to the controller device 1.
  • Idref is set to 0 here, if Idref is also used, the stiffness control section 34 multiplies the output of the addition section 33 by a predetermined stiffness coefficient (stiffness factor).
  • control instructions Idref and Iqref are generated and sent to the controller device 1 by the sending unit 35.
  • this damping factor setting section 36 sets a damping factor value determined in the processing of a program such as a game, or a predetermined damping factor value. , is sent to the controller device 1 via the sending unit 35.
  • the controller device 1 of this embodiment basically has the above configuration and operates as follows.
  • the information processing device 2 sets the tilting angle of the shaft 22A of the guide 22 of the target controller device 1 and the tilting angle of the shaft 25A of the pedestal 25 to 0 degrees (that is, the columnar body 21 of the tilting operation member 131
  • the angle is the angle at which the angle returns to the origin position.
  • Idref shall be fixed to "0".
  • the sensor 232 of the first actuator 23 of the controller device 1 sequentially detects the tilt angle ⁇ c of the shaft 22A of the guide 22, and The sensor 242 sequentially detects the tilt angle ⁇ c of the shaft 25A of the pedestal 25 (S11). Then, the controller device 1 sends the information ⁇ c and ⁇ c of these tilt angles to the information processing device 2 with a predetermined delay (S12).
  • the information processing device 2 receives the tilt angle ⁇ c_delay of the shaft 22A of the guide 22 and the tilt angle ⁇ c_delay of the shaft 25A of the pedestal 25, which were last detected by the controller device 1, from the controller device 1 (step S12),
  • the information processing device 2 further multiplies these values by a predetermined rigidity factor to obtain a control instruction I1qref for tilting the shaft 22A of the guide 22 and a control instruction I2qref for tilting the shaft 25A of the pedestal 25. It is generated (S13) and sent to the controller device 1 (S14).
  • the controller device 1 while the information processing device 2 is performing the processing from steps S12 to S14, for each of the tilt angle information ⁇ c and ⁇ c acquired in step S11, the corresponding tilt angle detected last time is A difference (differential value) with the information is calculated, and the differential value is further multiplied by a predetermined damping factor value to obtain an output value (correction value) Iqmp (S15).
  • I1qmp the correction value obtained by the drive unit 15 provided corresponding to the first actuator 23 of this controller device 1
  • I1qmp the correction value obtained by the drive unit 15 provided corresponding to the second actuator 24
  • I2qmp the correction value obtained by the drive unit 15 provided corresponding to the second actuator 24
  • the controller device 1 corrects the control instructions I1dref and I1qref finally received from the information processing device 2 using these correction values (S16).
  • the controller device 1 receives the control instruction I1qref, I1qref ⁇ I1q and also correct the control instruction I2qref as I2qref - I2q and correct it.
  • the controller device 1 converts the corrected current amount 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, respectively.
  • the converted voltage is applied to the stator coil of each phase of the motor 231 (S17).
  • the controller device 1 converts the current amount value I2qref-I2q obtained in step S16 into voltage values V2u, V2v, and V2w input to the U, V, and W phases of the motor 241 of the second actuator 24. Then, the converted voltage is applied to the stator coil of each phase of the motor 241.
  • the control of the motors 231 and 241 through this operation is a control method widely known as vector control, so a detailed explanation will be omitted here.
  • controller device 1 receives control instructions I1qref and I2qref from the information processing device 2 (step S14), and provides them for subsequent processing.
  • the controller device 1 and the information processing device 2 repeatedly execute the above-described process.
  • the drive unit 15 of the controller device 1 calculates the differential values of the detection results of the sensors 232 and 242, and uses the differential values to drive the stator of each phase of the motors 231 and 241. We are looking for the amount of current supplied to the coil. In other words, the drive unit 15 uses the detection results of the sensors 232 and 242 with a relatively small delay to control the motors 231 and 241, respectively, without waiting for a control instruction based on the same detection results from the previous time. The control instructions are corrected. This realizes stable drive control of the operating member.
  • the amount of current varies depending on the time change (differential value) of the respective tilting angles. is calculated with a relatively small delay, thereby controlling the motors 231 and 241 to maintain the respective tilt angles at the target tilt angles.
  • the vibration is suppressed relatively quickly.
  • a brushless DC motor is used as the actuator for controlling the tilt angle of the tiltable member, but this is just one example, and the rotation direction, rotation speed, or rotation amount can be controlled. Other types of motors may also be used.
  • the time derivative of the current rotation angle of the motor is calculated immediately before supplying the current input to the motor, and the amount of current supplied to the motor is corrected according to the magnitude of the time derivative. , suppressing unintended fluctuations with relatively small delays.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Selective Calling Equipment (AREA)

Abstract

傾倒操作可能な操作部材と、この操作部材を駆動する駆動部とを有し、駆動部による操作部材の駆動方向及び駆動角度を指示する指示情報の入力を、情報処理装置から受け入れる。そして操作部材の傾倒角度を表す情報を取得し、その微分値を演算し、当該演算した操作部材の傾倒角度の微分値に基づいて指示情報に基づく制御信号を補正して、当該補正された制御信号に基づいて駆動部を制御するコントローラ装置である。

Description

コントローラ装置、及び、コントローラ装置の制御方法
 本発明は、コントローラ装置、及び、コントローラ装置の制御方法に関する。
 傾倒操作可能な操作部材を備えたコントローラ装置は、家庭用ゲーム機器など、多くの情報処理装置の入力デバイスとして利用されている。ここで当該操作部材に対してアクチュエータでその傾倒角度及び傾倒方向を制御して、コントローラ装置のユーザに対して力覚を提示する等の例がある。
 従来、このような例でのアクチュエータの制御では、例えばコントローラ装置において操作部材の傾倒角度を検出し、情報処理装置がコントローラ装置から当該検出した傾倒角度の情報を受けて、この検出した角度が目標の傾倒角度となるよう制御電流等の指示を行うこととしていた。
 しかしながら、制御電流等の指示を決定する情報処理装置に対して、コントローラ装置で検出した傾倒角度の情報を送信する従来の構成では、当該情報の送信に遅延が生じることが避け得ないため、制御電流等の指示を決定する時点では、実際の傾倒角度が検出した傾倒角度と異なっており、このために傾倒角度が目標角を超えてしまうことが生じ得るなど、操作部材の安定した駆動制御が難しいという問題点があった。
 本発明は上記実情に鑑みて為されたもので、操作部材を安定的に駆動制御できる、コントローラ装置、及び、コントローラ装置の制御方法を提供することを、その目的の一つとする。
 上記従来例の問題点を解決するための本発明の一態様は、情報処理装置に接続されるコントローラ装置であって、傾倒操作可能な操作部材と、前記操作部材を駆動する駆動部と、前記駆動部による操作部材の駆動方向及び駆動角度を指示する指示情報の入力を、前記情報処理装置から受け入れる受入回路と、前記受入回路が受け入れた指示情報に基づいて前記駆動部を制御する制御回路と、を含み、前記制御回路が、前記操作部材の傾倒角度を表す情報を取得して、その微分値を演算し、当該演算した前記操作部材の傾倒角度の微分値に基づいて前記指示情報に基づく制御信号を補正して、当該補正された制御信号に基づいて前記駆動部を制御することとしたものである。
 本発明によると、操作部材を安定的に駆動制御できる。
本発明の実施の形態に係るコントローラ装置の構成例を表すブロック図である。 本発明の実施の形態に係るコントローラ装置が備える傾倒操作部材の例を表す概略構成図である。 本発明の実施の形態に係るコントローラ装置の駆動部の概略構成を表す模式図である。 本発明の実施の形態に係るコントローラ装置に接続される情報処理装置の機能的構成例を表す概略模式図である。 本発明の実施の形態に係るコントローラ装置の動作例を表す流れ図である。
 本発明の実施の形態について図面を参照しながら説明する。なお以下の説明において各部の大きさ、比率等は例示であり、これと異なっていても構わない。本発明の実施の形態に係るコントローラ装置1は、図1に例示するように、制御部11と、記憶部12と、操作部13と、通信部14と、駆動部15とを含んで構成されている。またこのコントローラ装置1は、情報処理装置2との間で通信可能に接続されている。
 ここで情報処理装置2は、家庭用ゲーム機や、パーソナルコンピュータ等であり、コントローラ装置1において行われたユーザの操作を表す情報を受信して、ゲームの処理など、所定の情報処理を実行する。また本実施の形態では、この情報処理装置2は、ゲームの処理の過程などにおいて、コントローラ装置1に対して駆動部15を制御するための制御指示を送出する。ここで送出する制御指示の内容については後述する。
 コントローラ装置1の制御部11は、マイクロコンピュータ等のプログラム制御デバイスであり、記憶部12に格納されたプログラムに従って動作する。本実施の形態の例では、この制御部11は、操作部13において行われたユーザの操作を表す情報を、通信部14を介して情報処理装置2へ送出する。
 記憶部12は、メモリデバイス等であり、制御部11によって実行されるプログラムを保持する。また、この記憶部12は制御部11のワークメモリとしても動作する。
 操作部13は、傾倒操作可能なジョイスティック等の傾倒操作部材131を備える。またこの操作部13は、押し込みボタンや、ロッキングボタン等、他の操作部材を含んでもよい。操作部13は、これらの操作部材に対して行われた操作の内容を表す情報を、制御部11に出力する。例えば、傾倒操作部材131は、予め定められた、互いに直交するX軸,Y軸方向への傾倒角度の情報を、制御部11に出力する。またこの傾倒操作部材131は、押し込み可能となっていてもよく、その場合は、押し込み量の情報も、制御部11に出力することとなる。
 本実施の形態の例では、この傾倒操作部材131は、図2にその概要を例示するように、傾倒操作される柱状体21と、ガイド22と、第1アクチュエータ23と、第2アクチュエータ24と、台座25と、を含んで構成される。なお、ここではガイド22及び台座25は、それぞれ軸22A,25Aまわりに、少なくとも所定の角度範囲内で回転可能に支持されているものとし、軸22A方向をX軸、軸25A方向をY軸とする。またX軸とY軸との双方に直交する方向をZ軸とする。つまり、ガイド22は、軸22AまわりにYZ面内で回転する。また、台座25は、軸25AまわりにXZ面内で回転する。
 ガイド22は、柱状体21の動きを一方向(X軸方向)に規制する。上述のように、このガイド22は、軸22AまわりにYZ面内で所定の角度範囲で回転可能に支持されている。またこの角度範囲には、柱状体21がZ軸方向に平行となる角度範囲を含むものとする。
 第1アクチュエータ23は、モータ231と、センサ232とを含んで構成される。モータ231は、例えば3相の(ステータが3n(nは自然数)個ある)ブラシレスDCモータであり、各相のステータコイルに、後に説明する駆動部15から入力される電流をそれぞれ供給して、ロータの回転量・回転速度・回転方向を制御する。このモータ231のロータの回転軸は、ガイド22の軸22Aに連結され、モータ231はガイド22を軸22AまわりにYZ面内で回転させることとなる。
 センサ232は、例えばロータリエンコーダやポテンショメータ、その他の角度センサであり、ガイド22の軸22Aの傾倒角度θcを所定の基準方向(例えば柱状体21がZ軸正の向きとなることが可能な状態のガイド22の方向)を0度として逐次的に検出し、当該検出結果を駆動部15に出力する。
 第2アクチュエータ24は、モータ241と、センサ242とを含んで構成される。モータ241は、モータ231と同様に、例えば3相のブラシレスDCモータであり、各相のステータコイルに、後に説明する駆動部15から入力される電流をそれぞれ供給して、そのロータの回転量・回転速度・回転方向を制御する。このモータ241のロータの回転軸は、台座25の軸25Aに連結され、モータ241は台座25を軸25AまわりにXZ面内で回転させることとなる。
 センサ242は、例えばロータリエンコーダやポテンショメータ、その他の角度センサであり、台座25の軸25Aの傾倒角度φcを所定の基準方向(例えば柱状体21がZ軸正の向きとなることが可能な状態の台座25の方向)を0度として逐次的に検出し、当該検出結果を駆動部15に出力する。これら第1,第2のアクチュエータ23,24が本発明の駆動部に相当する。
 台座25は、その軸25A周りに少なくとも所定角度範囲で回転可能に支持される。またこの台座25は、その軸25A周りの回転角度が0度であるときに、柱状体21がZ軸正の方向を向く状態となるよう、柱状体21の基部21Bを支持している。
 通信部14は、例えばUSB等の有線インタフェースや、ブルートゥース(登録商標)等の無線インタフェースなどであり、情報処理装置2との間で有線または無線にて通信可能に接続される。この通信部14は、情報処理装置2から駆動部15を制御するための制御指示を受け入れて当該制御指示を駆動部15に出力する。またこの通信部14は、駆動部15から、第1のアクチュエータ23のセンサ232でのガイド22の軸22Aの傾倒角度の検出結果θcを受け入れるとともに、第2のアクチュエータ24のセンサ242での台座25の軸25Aの傾倒角度の検出結果φcを受け入れて、これらの検出結果の情報を、情報処理装置2へ送出する。
 さらに通信部14は、制御部11から入力される指示に従い、操作部13において行われたユーザの操作を表す情報等を、通信部14を介して情報処理装置2へ送出する。
 駆動部15は、モータドライバであり、図3に例示されるように、インタフェース部151と、電流制御部152とを含んで構成される。
 インタフェース部151は、本発明の受入回路を実現する。このインタフェース部151は、通信部14から入力された制御指示を、電流制御部152に出力する。本実施の形態のここでの例では、第1のアクチュエータ23及び第2のアクチュエータ24がそれぞれ備えるモータ231,241はいずれもブラシレスDCモータであるものとする。この例では、情報処理装置2が出力する制御指示は、モータ231,241のそれぞれの回転座標における電流量Idref,Iqrefであるものとする。なお、本実施の形態の例では、位置制御をIqrefで行うものとし、Idrefは「0」に固定しておくこととする。
 またこのインタフェース部151は、第1のアクチュエータ23のセンサ232でのガイド22の軸22Aの傾倒角度の検出結果θcを受け入れて、通信部14に出力する。インタフェース部151はさらに、第2のアクチュエータ24のセンサ242での台座25の軸25Aの傾倒角度の検出結果φcを受け入れて、通信部14に出力する。
 電流制御部152は、本発明の制御回路を実現する。この電流制御部152は、個別のアクチュエータを制御する個別制御器であり、第1、第2のアクチュエータ23、24ごとにそれぞれ設けられる。この電流制御部152のそれぞれは、図3に例示するように、加算器1521と、ベクトル制御部1522と、微分器1523と、乗算器1524とを含んで構成される。ここで、加算器1521,微分器1523及び乗算器1524は、ダンパーとして機能する。本発明において特徴的なことの一つは、このダンパーとして機能する構成が、モータ等を備えたアクチュエータを制御するベクトル制御部等の直前段に配されていることである。
 加算器1521は、インタフェース部151から入力される制御指示が表す、対応するアクチュエータのモータに対して供給する電流量の値Iqrefについて、後に説明する乗算器1524の対応する出力値Iqmpを減算して補正する。なお、すでに説明したようにここではIdrefを「0」としており、従ってIdmpについては補正を行うことはしないが、Idrefを「0」としない制御を行う場合には、IdrefについてもIdmpを減算して補正する。
 ベクトル制御部1522は、加算器1521が出力する、補正された電流量の値Iqref-Iqmpを、U,V,W各相に入力する電圧の値Vu,Vv,Vwに変換して、対応するアクチュエータに出力する(いわゆるベクトル制御)。またこのとき、ベクトル制御部1522は、各相の電流値Iu,Iv,Iwを別途測定してq軸、d軸方向の電流値、Iq,Idに逆変換してフィードバック制御に供する。なお、Idrefを用いる場合は、Idref-Idmp,Iqref-Iqmpのそれぞれを、U,V,W各相に入力する電圧の値Vu,Vv,Vwに変換して、対応するアクチュエータに出力することとなる。
 微分器1523は、対応するセンサ232または242の出力値(現在の傾倒角度)を時間微分する。具体的にこの微分器1523は、前回までに最後に入力されたセンサ232または242の出力の出力値θc(t-1),φc(t-1)を記憶し、当該前回入力されたセンサ232または242の出力の出力値θc(t-1),φc(t-1)と、今回入力されたセンサ232または242の出力の出力値θc(t),φc(t)の対応する差分Δθ=θc(t)-θc(t-1),Δφ=φc(t)-φc(t-1)を求めて出力する。
 乗算器1524は、微分器1523の出力値に対して、予め定められた係数(ダンピングファクタ)を乗じた値Iqmp(Idrefを用いる場合はIdmpも)を出力する。このダンピングファクタが、本発明の制御のためのパラメータの一つの例となる。本実施の形態では、この乗算器1524の出力値に相当する電流量を減算することで、意図しない変動が抑制される。このダンピングファクタは、実験的に定められてもよいし、既に述べたように、情報処理装置2から設定されてもよい。
 次に、情報処理装置2による制御指示の生成処理の例について説明する。本実施の形態の一例では、情報処理装置2は、ゲーム等のプログラムの処理により、図4に例示するように、目標角度受入部31と、現在値受入部32と、加算部33と、剛性制御部34と、送出部35とを機能的に含む構成を実現する。また本実施の形態では、この情報処理装置2は、機能的に、ダンピングファクタ設定部36をさらに含んでもよい。
 目標角度受入部31は、ゲーム等のプログラムの処理において決定された、コントローラ装置1の傾倒操作部材131の柱状体21の傾倒角度の設定値の入力を受け入れる。この傾倒角度の設定値は、ガイド22の軸22Aの傾倒角度θtargetと、台座25の軸25Aの傾倒角度φtargetとにより指定される。
 現在値受入部32は、コントローラ装置1の通信部14が送出した、第1のアクチュエータ23のセンサ232でのガイド22の軸22Aの傾倒角度の検出結果θcと、第2のアクチュエータ24のセンサ242での台座25の軸25Aの傾倒角度の検出結果φcとを受け入れる。これらの検出結果θc,φcは、検出した時点から、通信により情報処理装置2が受け入れるまでの時間が経過した状態で受け入れられる。以下、このことを示すため、この現在値受入部32が受け入れた各検出結果の情報を、θc_delay,φc_delayと表記する。
 加算部33は、目標角度受入部31が受け入れた傾倒角度の情報θtarget,φtargetから、現在値受入部32が受け入れた、対応する検出結果の情報を差引きして、θ′target=θtarget-θc_delay,φ′target=φtarget-φc_delayを求めて出力する。
 剛性制御部34は、予め定められた剛性に係る係数(剛性ファクタ)を、加算部33の出力に乗じて、制御指示Iqrefを生成する。送出部35は、剛性制御部34が生成した制御指示Iqrefを、コントローラ装置1に対して送出する。なお、ここではIdref=0としたものとしたが、Idrefも用いる場合には、剛性制御部34が、予め定められた剛性に係る係数(剛性ファクタ)を、加算部33の出力にそれぞれ乗じて、制御指示Idref,Iqrefを生成し、送出部35によりコントローラ装置1に対して送出する。
 また、情報処理装置2がダンピングファクタ設定部36をさらに含む場合、このダンピングファクタ設定部36は、ゲーム等のプログラムの処理において決定されたダンピングファクタの値、または予め定められたダンピングファクタの値を、送出部35を介して、コントローラ装置1に対して送出する。
[動作]
 本実施の形態のコントローラ装置1は、以上の構成を基本的に備えており、次のように動作する。以下では、情報処理装置2が、目標となるコントローラ装置1のガイド22の軸22Aの傾倒角度、及び台座25の軸25Aの傾倒角度をいずれも0度(つまり、傾倒操作部材131の柱状体21を原点の位置に復帰させる角度)とする場合を例として説明する。なお、以下の説明ではIdrefは「0」に固定するものとする。
 この例では、図5に例示するように、コントローラ装置1の第1アクチュエータ23のセンサ232が、ガイド22の軸22Aの傾倒角度θcを逐次的に検出しており、また、第2アクチュエータ24のセンサ242が、台座25の軸25Aの傾倒角度φcを逐次的に検出している(S11)。そしてコントローラ装置1は、所定の遅延をもって、これらの傾倒角度の情報θc,φcを、情報処理装置2へ送出している(S12)。
 情報処理装置2は、コントローラ装置1から、コントローラ装置1で最後に検出された、ガイド22の軸22Aの傾倒角度θc_delay、及び台座25の軸25Aの傾倒角度φc_delayを受信する(ステップS12)と、設定する傾倒角度(ここでの例の場合はθtarget=0,φtarget=0)と、コントローラ装置1から受信した、ガイド22の軸22Aの傾倒角度θc_delay、及び台座25の軸25Aの傾倒角度φc_delayとを用いて、θ′target=-θc_delay,φ′target=-φc_delayを求める。情報処理装置2は、さらに、これらの値に所定の剛性ファクタを乗じて、ガイド22の軸22Aを傾倒させるための制御指示I1qrefと、台座25の軸25Aを傾倒させるための制御指示I2qrefとを生成し(S13)、コントローラ装置1へ送出する(S14)。
 一方、コントローラ装置1では、情報処理装置2が上記ステップS12からS14の処理を行っている間に、ステップS11で取得した傾倒角度の情報θc,φcのそれぞれについて、前回の検出した対応する傾倒角度の情報との差分(微分値)を演算し、さらに当該微分値に所定のダンピングファクタの値を乗じて出力値(補正値)Iqmpを得る(S15)。
 以下では、このコントローラ装置1の、第1アクチュエータ23に対応して設けられた駆動部15が求める補正値をI1qmpとし、第2アクチュエータ24に対応して設けられた駆動部15が求める補正値をI2qmpとする。
 コントローラ装置1は、最後に情報処理装置2から受け入れた制御指示I1dref,I1qrefを、これらの補正値により補正する(S16)。
 すなわちコントローラ装置1は、制御指示I1qrefを、
I1qref-I1q
と補正し、また、制御指示I2qrefを、
I2qref-I2q
と補正する。
 そして、コントローラ装置1は、当該補正して得た電流量の値I1qref-I1qのそれぞれを、第1アクチュエータ23のモータ231のU,V,W各相に入力する電圧の値V1u,V1v,V1wに変換して、モータ231の各相のステータのコイルに対して当該変換後の電圧を印加する(S17)。またこのときコントローラ装置1は、ステップS16で得た電流量の値I2qref-I2qを、第2アクチュエータ24のモータ241のU,V,W各相に入力する電圧の値V2u,V2v,V2wに変換して、モータ241の各相のステータのコイルに対して当該変換後の電圧を印加する。
 この動作によるモータ231,241の制御は、ベクトル制御として広く知られた制御方式であるので、ここでの詳しい説明は省略する。
 さらにコントローラ装置1は、情報処理装置2から制御指示I1qref,I2qrefを受信して(ステップS14)、その後の処理に供する。コントローラ装置1と情報処理装置2とは、上述の処理を繰り返して実行する。
 この例のように本実施の形態では、コントローラ装置1の駆動部15が、センサ232,242の検出結果の微分値を演算し、当該微分値を用いてモータ231,241の各相のステータのコイルに供給する電流量を求めている。つまり、駆動部15は、センサ232,242の検出結果を、比較的小さい遅延で利用して、モータ231,241の制御にそれぞれ供しており、同じ検出結果に基づく制御指示を待つことなく、前回の制御指示を補正している。これにより操作部材の安定した駆動制御が実現される。
 また、ガイド22の軸22Aの傾倒角度と、台座25の軸25Aの傾倒角度とがそれぞれ目標とした傾倒角度に達した後も、それぞれの傾倒角度の時間変化(微分値)に応じた電流量が比較的小さい遅延で演算され、それによりモータ231,241が制御され、それぞれの傾倒角度を目標とした傾倒角度に維持する。これにより、例えばユーザが柱状体21を指で弾くなどして柱状体21が振動しても、比較的迅速に当該振動が抑制されることとなる。
[変形例]
 なお、ここまでの説明では、傾倒操作可能な部材の傾倒角度を制御するアクチュエータは、ブラシレスDCモータを用いるものとしたが、これは一例であり、回転方向及び回転速度、あるいは回転量を制御できるものであれば、他の種類のモータが用いられてもよい。この場合も、モータに入力する電流を供給する直前の段階で、現在のモータの回転角度の時間微分を演算し、当該時間微分の大きさに応じてモータに供給する電流量を補正することで、比較的小さい遅延で意図しない変動を抑制する。
 1 コントローラ装置、2 情報処理装置、11 制御部、12 記憶部、13 操作部、14 通信部、15 駆動部、21 柱状体、22 ガイド、23 第1アクチュエータ、24 第2アクチュエータ、25 台座、31 目標角度受入部、32 現在値受入部、33 加算部、34 剛性制御部、35 送出部、36 ダンピングファクタ設定部、131 傾倒操作部材、151 インタフェース部、152 電流制御部、231,241 モータ、232,242 センサ、1521 加算器、1522 ベクトル制御部、1523 微分器、1524 乗算器。

 

Claims (4)

  1.  情報処理装置に接続されるコントローラ装置であって、
     傾倒操作可能な操作部材と、
     この操作部材を駆動する駆動部と、
     前記駆動部による操作部材の駆動方向及び駆動角度を指示する指示情報の入力を、前記情報処理装置から受け入れる受入回路と、
     前記受入回路が受け入れた指示情報に基づいて前記駆動部を制御する制御回路と、を含み、
     前記制御回路は、前記操作部材の傾倒角度を表す情報を取得して、その微分値を演算し、当該演算した前記操作部材の傾倒角度の微分値に基づいて前記指示情報に基づく制御信号を補正して、当該補正された制御信号に基づいて前記駆動部を制御するコントローラ装置。
  2.  請求項1に記載のコントローラ装置であって、
     前記制御回路は、制御に係るパラメータの設定を、前記情報処理装置から受け入れて、当該パラメータと前記操作部材の傾倒角度の微分値とを用いて、前記指示情報に基づく制御信号を補正するコントローラ装置。
  3.  請求項1に記載のコントローラ装置であって、
     前記制御回路は、前記操作部材の傾倒角度を表す情報を取得して、その微分値を演算し、当該微分値に所定のパラメータを乗じて補正信号を生成し、前記指示情報に基づく制御信号を、当該補正信号を減算することで補正して、当該補正された制御信号により前記駆動部を制御するコントローラ装置。
  4.  情報処理装置に接続され、傾倒操作可能な操作部材を備えたコントローラ装置の制御方法であって、
     受入回路が、操作部材の駆動方向及び駆動角度を指示する指示情報の入力を、前記情報処理装置から受け入れ、
     制御回路が、前記操作部材の傾倒角度を表す情報を取得して、その微分値を演算し、当該演算した前記操作部材の傾倒角度の微分値に基づいて前記指示情報に基づく制御信号を補正して、当該補正された制御信号を出力し、
     駆動部が、当該出力された制御信号により、傾倒操作可能な操作部材が駆動する、
     コントローラ装置の制御方法。

     
PCT/JP2022/020287 2022-05-13 2022-05-13 コントローラ装置、及び、コントローラ装置の制御方法 WO2023218669A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/020287 WO2023218669A1 (ja) 2022-05-13 2022-05-13 コントローラ装置、及び、コントローラ装置の制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/020287 WO2023218669A1 (ja) 2022-05-13 2022-05-13 コントローラ装置、及び、コントローラ装置の制御方法

Publications (1)

Publication Number Publication Date
WO2023218669A1 true WO2023218669A1 (ja) 2023-11-16

Family

ID=88729878

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/020287 WO2023218669A1 (ja) 2022-05-13 2022-05-13 コントローラ装置、及び、コントローラ装置の制御方法

Country Status (1)

Country Link
WO (1) WO2023218669A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005332039A (ja) * 2004-05-18 2005-12-02 Alps Electric Co Ltd 力覚付与型入力装置
JP2006344038A (ja) * 2005-06-09 2006-12-21 Denso Corp 入力装置
JP2008217470A (ja) * 2007-03-05 2008-09-18 Toyota Motor Corp 操作入力装置
JP2015215730A (ja) * 2014-05-09 2015-12-03 パナソニックIpマネジメント株式会社 入出力操作装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005332039A (ja) * 2004-05-18 2005-12-02 Alps Electric Co Ltd 力覚付与型入力装置
JP2006344038A (ja) * 2005-06-09 2006-12-21 Denso Corp 入力装置
JP2008217470A (ja) * 2007-03-05 2008-09-18 Toyota Motor Corp 操作入力装置
JP2015215730A (ja) * 2014-05-09 2015-12-03 パナソニックIpマネジメント株式会社 入出力操作装置

Similar Documents

Publication Publication Date Title
US10985684B2 (en) Motor control device
US9933616B2 (en) Mirror angular-positioning apparatus and processing apparatus
WO2012153624A1 (ja) 同期モータの印加電圧電気角設定方法とモータ制御装置
JP2011045152A (ja) センサレスモータ用インバータ制御回路及びこれを備えるセンサレスモータ制御装置
WO2023218669A1 (ja) コントローラ装置、及び、コントローラ装置の制御方法
JPH10329063A (ja) ロボット制御装置
US8723459B2 (en) Method and arrangement for controlling permanent magnet synchronous machines
JP2010284055A (ja) 交流回転機の制御装置
JP5220293B2 (ja) モータ制御装置、モータ制御方法およびアクチュエータ
US20220173676A1 (en) Method for the vibration- and noise-reduced operation of an electric-motor device and electric-motor device
JPH0993999A (ja) サーボモータの電流制御方法
CN112335169A (zh) 同步旋转机的控制装置及机器学习装置
JPH06153569A (ja) Acサーボモータの電流制御方法
JP2007306635A (ja) エレベーターの制御装置
WO2019044237A1 (ja) ロボット制御装置
JP5385374B2 (ja) 回転電機の制御装置
JP2016005296A (ja) モータ駆動装置の制御方法、モータ駆動装置及びロボット装置
JPH08278821A (ja) サーボ制御系の制振方法
US11347197B2 (en) Servo motor controller
JP5641189B2 (ja) モータ制御装置及び電動パワーステアリング装置、並びにモータインピーダンスの最適化方法
JP3683304B2 (ja) Acサーボモータの制御方法
JP2003033068A (ja) モータ制御装置及びそれを用いた電気駆動装置
JP2003047269A (ja) サーボ制御装置
JP2021023042A (ja) モータ制御装置
CN106877771B (zh) 控制装置以及控制方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22941745

Country of ref document: EP

Kind code of ref document: A1