WO2021060121A1 - 制御装置、制御方法およびプログラム - Google Patents

制御装置、制御方法およびプログラム Download PDF

Info

Publication number
WO2021060121A1
WO2021060121A1 PCT/JP2020/035164 JP2020035164W WO2021060121A1 WO 2021060121 A1 WO2021060121 A1 WO 2021060121A1 JP 2020035164 W JP2020035164 W JP 2020035164W WO 2021060121 A1 WO2021060121 A1 WO 2021060121A1
Authority
WO
WIPO (PCT)
Prior art keywords
control
moving body
posture
control device
value
Prior art date
Application number
PCT/JP2020/035164
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 株式会社ソニー・インタラクティブエンタテインメント
Publication of WO2021060121A1 publication Critical patent/WO2021060121A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric

Definitions

  • the present invention relates to a control device, a control method and a program.
  • PID control is a common method for machine feedback control.
  • the input value is determined in proportion to each of the deviation (P) between the output value and the target value, the time integration (I) of the deviation, and the derivative (D) of the deviation.
  • the gains K P , K I , and K D which are the coefficients of each component of deviation, integration, and differentiation, and determining the input value, the output value is made to follow the target value stably and quickly. be able to.
  • the gain in PID control as described above can be made variable depending on the characteristics of the controlled object.
  • a plurality of gain tables depending on the stage position are set, and the gain tables are used properly according to the moving direction of the stage. Techniques for preventing deterioration of control characteristics are described.
  • the present invention provides a control device, a control method, and a program that enable a moving body having a drive unit to automatically and appropriately set control parameters of the drive unit in various situations. The purpose.
  • a detection value acquisition unit that acquires at least one detection value indicating the state of a moving body having a drive unit, and a detection value acquisition unit.
  • a control parameter selection unit that selects at least a part of the control parameters of the drive unit based on at least one detected value, and a control parameter selection unit.
  • a control device including a drive control unit that determines a control input value of the drive unit using selected control parameters.
  • the detection value acquisition unit acquires the detection value of the sensor indicating the posture of the moving body, and obtains the detection value.
  • the control device according to [1] or [2], wherein the control parameter selection unit selects different control parameters depending on whether the posture of the moving body is the first posture or the second posture.
  • the first posture is a posture in which the moving body has fallen.
  • the control device according to [3], wherein the second posture is a posture in which the moving body does not fall.
  • the drive unit is included in the limb of the moving body.
  • the detected value indicates the amount of load on the limb
  • the control device according to any one of [1] to [4], wherein the control parameter selection unit selects different control parameters depending on whether the load exceeds the threshold value or does not exceed the threshold value.
  • the drive unit is included in the limb of the moving body.
  • the detected value indicates the attachment of the attachment to the limb, The control device according to any one of [1] to [5], wherein the control parameter selection unit selects different control parameters depending on whether the detected value is acquired or not.
  • the detected value indicates the state of the power supply connected to the drive unit.
  • the detected value includes the recognition result of the image acquired by the camera mounted on the moving body.
  • control device wherein the control parameter selection unit selects different control parameters depending on whether an obstacle is recognized from the image or not from the image.
  • control parameters of the drive unit can be automatically and appropriately set for various situations.
  • FIG. 1 It is a figure which shows the hardware configuration example of the robot which concerns on one Embodiment of this invention. It is a block diagram which shows the structure of the functional part concerning the control of the motor shown in FIG. It is a flowchart which shows the example of the process which selects a gain in one Embodiment of this invention. It is a flowchart which shows the example of the process which selects a gain in one Embodiment of this invention. It is a flowchart which shows the example of the process which selects a gain in one Embodiment of this invention. It is a flowchart which shows the example of the process which selects a gain in one Embodiment of this invention. It is a flowchart which shows the example of the process which selects a gain in one Embodiment of this invention. It is a flowchart which shows the example of the process which selects a gain in one Embodiment of this invention.
  • FIG. 1 is a diagram showing a hardware configuration example of a robot according to an embodiment of the present invention.
  • the robot 10 has a control device 100 mounted on the main body 12.
  • the control device 100 includes a CPU (Central Processing Unit) 110 that executes arithmetic processing, a RAM (Random Access Memory) 120, a ROM (Read Only Memory) 130, an external memory 140, and the like.
  • the control device 100 determines the operation of the robot 10 according to the image data acquired by the camera 21, the voice data acquired by the microphone 22, the command signal received by the communication interface 24, and the like.
  • the camera 21, the microphone 22, and the communication interface 24 are connected to the control device 100 via the bus interface 150.
  • the control device 100 controls each part of the robot 10 so that the determined operation is executed. Specifically, the control device 100 rotates the joints of the arms 13L, 13R, the hands 14L, 14R, the legs 15L, 15R, and the feet 16L, 16R so that the determined movements are executed. Controls the driving motor 30. Although not shown, the head 11 and the main body 12 may also be provided with joints driven by the motor 30. At this time, the control device 100 needs the detection values of the distance measurement sensor (not shown), the inertial measurement unit (IMU: Inertial Measurement Unit) 25, the grounding sensor 26, the load sensor (not shown), and the power supply control device 27. Refer to according to. The motor 30, the distance measurement sensor, the IMU 25, the grounding sensor 26, the load sensor, and the power supply control device 27 are connected to the control device 100 via the bus interface 150.
  • IMU Inertial Measurement Unit
  • the CPU 110 of the control device 100 selects a pattern corresponding to the operation determined from the control pattern stored in the ROM 130 or the external memory 140, and according to the selected pattern, the foot movement, the ZMP (Zero Moment Point) trajectory, and the like.
  • the trunk movement, upper limb movement, lumbar horizontal position, height, and the like are set, and the motor 30 is controlled according to these set values.
  • the CPU 110 controls the motor 30 according to the detection value of the sensor.
  • FIG. 2 is a block diagram showing a configuration of a functional portion related to motor control shown in FIG.
  • the control device 100 has a detection value acquisition unit 111, a gain selection unit 112, and a functional portion realized by operating the CPU 110 (processor) according to a program stored in the ROM 130 or the external memory 140.
  • the PID control unit 113 is included. Further, the gain table 131 of PID control is stored in the ROM 130 or the external memory 140.
  • the motor 30 is driven by a driver 31 that has received a control signal from the control device 100. Further, a pulse signal output from the encoder 32 as the motor 30 rotates is transmitted to the control device 100.
  • a pulse signal output from the encoder 32 as the motor 30 rotates is transmitted to the control device 100.
  • the detection value acquisition unit 111 acquires at least one detection value indicating the state of the robot 10.
  • the robot 10 is an example of a moving body having a motor 30 which is a driving unit.
  • the detection value acquisition unit 111 acquires the detection value of the IMU 25, the grounding sensor 26, or the power supply control device 27 described with reference to FIG. 1, for example.
  • the detection value acquisition unit 111 is an attachment to a distance measurement sensor, a load sensor, or, for example, the arms 13L, 13R and feet 16L, 16R of the robot 10.
  • the detection value of the sensor that detects the mounting may be acquired. Further, the detection value acquisition unit 111 may acquire the image data acquired by the camera 21 or the voice data acquired by the microphone 22.
  • the gain selection unit 112 selects at least a part of the gain of the PID control of the motor 30 based on at least one detection value acquired by the detection value acquisition unit 111.
  • selecting a part of the gain of the PID control includes, for example, selecting only one of the gains K P , K I , and K D , which are the coefficients of the respective components of the deviation, the integral, and the derivative. ..
  • the gain selection unit 112 may select all of the gains K P , K I , and K D based on the detected values.
  • each of the gains K P , K I , and K D includes a basic value and an adjustment value for the basic value, and the gain selection unit 112 selects only at least one of the adjustment values of the gain K P , K I , and K D.
  • the gain selection unit 112 selects the gain according to the gain table 131.
  • the gain table 131 includes a plurality of sets of selectable gains K P , K I , and K D , and the gain selection unit 112 includes gains K P , K I , and K D according to the detection value acquired by the detection value acquisition unit 111. Select a set of.
  • the gain selection unit 112 may select the gain according to a function for calculating at least one of the gains K P , K I , and K D from the detection value acquired by the detection value acquisition unit 111. ..
  • the PID control unit 113 determines the control input value of the motor 30 using the gain selected by the gain selection unit 112. As described above, in PID control, the control input value is determined in proportion to each of the deviation (P) between the output value and the target value, the time integration (I) of the deviation, and the derivative (D) of the deviation.
  • the PID control unit 113 uses the rotation angle of the motor 30 detected from the pulse signal output from the encoder 32 as an output value so that the output value reaches the target value determined by the other functional parts of the control device 100. Determine the control input value. By transmitting the control signal including the control input value determined in this way to the driver 31, the motor 30 is driven at an appropriate rotation angle.
  • 3 to 7 are flowcharts showing an example of a process for selecting a gain in one embodiment of the present invention.
  • the PID control gain is selected by combining any one or a plurality of these examples.
  • the gain selection unit 112 selects the PID control gain according to the posture of the robot 10.
  • the detection value acquisition unit 111 acquires the detection value of the sensor indicating the posture of the robot 10 (step S101).
  • the posture of the robot 10 is indicated by, for example, detected values of the IMU 25, the grounding sensor 26, the load sensor, and the like.
  • the gain selection unit 112 determines whether or not the posture of the robot 10 is the first posture based on the detected value (step S102), and if the posture is the first posture, obtains the first gain. Select (step S103). When the posture is not the first posture, the gain selection unit 112 selects the second gain (step S104).
  • the gain selection unit 112 selects different gains depending on whether the posture of the robot 10 is the first posture and the second posture (that is, not the first posture).
  • the first posture may be the posture in which the robot 10 has fallen
  • the second posture may be the posture in which the robot 10 has not fallen.
  • a relatively weak gain is selected to avoid a sudden change in the control input value so that the parts are not damaged by unexpected movements.
  • a relatively strong gain is selected so that the output value can quickly follow the target value.
  • the gain selection unit 112 selects the PID control gain according to the load amount on the limbs of the robot 10.
  • the limbs of the robot 10 are, for example, the arms 13L, 13R, the hands 14L, 14R, the legs 15L, 15R, and the feet 16L, 16R shown in FIG. 1, and the arms 13L, 13R and the hands.
  • Loading occurs by holding the object with the 14L and 14R, and supporting the main body 12 with the legs 15L and 15R and the feet 16L and 16R.
  • the detection value acquisition unit 111 acquires the detection value of the sensor indicating the load amount on the limb of the robot 10 (step S201).
  • the load amount on the limbs can be detected by, for example, a load sensor arranged on the joints.
  • the gain selection unit 112 determines whether or not the load amount on the limb exceeds the threshold value based on the detected value (step S202), and if the load amount exceeds the threshold value, selects the first gain (step S202). Step S203). When the load amount does not exceed the threshold value, the gain selection unit 112 selects the second gain (step S204).
  • the gain selection unit 112 selects different gains depending on whether the load amount on the limbs of the robot 10 exceeds the threshold value or does not exceed the threshold value. For example, when the load on the limb is large, select a relatively weak gain to avoid sudden changes in the control input value, and the object held by the sudden movement of the limb or the limb supports it. It may be possible to prevent the main body portion 12 from moving in an unstable manner. Further, when the load amount on the limb is small, a relatively strong gain may be selected so that the output value can quickly follow the target value.
  • the gain selection unit 112 selects the PID control gain depending on whether or not the attachment is attached to the limb of the robot 10.
  • the limbs of the robot 10 are, for example, the arms 13L and 13R, the hands 14L and 14R, the legs 15L and 15R, and the feet 16L and 16R shown in FIG.
  • the detection value acquisition unit 111 waits for the detection value of the sensor indicating the attachment of the attachment to the limb of the robot 10 (step S301).
  • the sensor that detects the attachment attachment may be, for example, a switch located at the engagement portion with the attachment.
  • the gain selection unit 112 determines whether or not the detection value has been acquired by the detection value acquisition unit 111 (step S302), and if the detection value is acquired, selects the first gain (step S303). If the detected value is not acquired, the gain selection unit 112 selects the second gain (step S304).
  • the load applied to the limb changes, so the response characteristic of the output value of the motor 30 to the control input value to the driver 31 also changes.
  • an appropriate PID control gain according to a change in response characteristics by using the detection value of the sensor that detects the attachment of the attachment. It is possible to select the same gain by detecting the load amount on the limb as described with reference to FIG. 4, but for example, when the attachment position is determined, the structure is simple. If the shape and weight of the attachment are known, an appropriate gain can be set in advance. Therefore, an example as shown in FIG. 5 may be adopted.
  • the gain selection unit 112 selects the PID control gain according to the detection value indicating the state of the power supply of the robot 10.
  • the detection value acquisition unit 111 acquires the detection value of the sensor indicating the state of the power supply of the robot 10 (step S401).
  • the state of the power supply is indicated by, for example, a detected value of the power supply control device 27.
  • the detected value may indicate, for example, whether or not an external power source is connected, the remaining amount of the battery, and the like.
  • the gain selection unit 112 determines whether or not power saving is required based on the detected value (step S402), and selects the first gain if power saving is required (step S403).
  • the gain selection unit 112 selects a second gain (step S404). Whether or not power saving is necessary may be determined based on, for example, whether or not an external power source is connected and whether or not the remaining battery level exceeds a threshold value.
  • the gain selection unit 112 selects the gain according to the state of the power supply connected to the robot 10. For example, when power saving is required, a relatively weak gain is selected to suppress the power consumption of the motor 30, so that the robot 10 can be operated for a longer time when the remaining amount of the power supply is limited. Further, when power saving is not required, a relatively strong gain may be selected so that the output value can quickly follow the target value.
  • the gain selection unit 112 selects the PID control gain based on the recognition result of the image acquired by the camera mounted on the robot 10.
  • the detection value acquisition unit 111 acquires the recognition result of the image acquired by the camera 21 mounted on the robot 10 (step S501).
  • the image recognition result may be, for example, the detection result of an object existing in the field of view of the robot 10. Image recognition may be performed, for example, by other functional parts of the CPU 110.
  • the image recognition result is also an example of the detected value indicating the state of the robot 10.
  • the gain selection unit 112 determines whether or not an obstacle has been recognized based on the image recognition result (step S502), and if the obstacle is recognized, selects the first gain (step S503). .. If no obstacle is recognized, the gain selection unit 112 selects a second gain (step S504).
  • the obstacle may be defined as, for example, an object detected in the field of view of the robot 10 that interferes with the planned course of the robot 10.
  • the gain selection unit 112 selects different gains depending on whether the obstacle is recognized from the image acquired by the camera 21 or the obstacle is not recognized from the image. For example, when an obstacle is recognized, a relatively weak gain may be selected to avoid a sudden change in the control input value, and the robot 10 may prepare for an unexpected movement when it comes into contact with the obstacle. Even when the avoidance action for the obstacle is carried out, the robot 10 may come into contact with the obstacle due to the error of the position detection of the obstacle. Therefore, it may be useful to select the gain as described above. Further, when an obstacle is not recognized, a relatively strong gain may be selected so that the output value can quickly follow the target value.
  • the gain of PID control is automatically and appropriately set for various situations. can do.
  • the output value and the target value are defined for the rotation angle of the motor 30 to be rotationally driven, but in other embodiments, the motor is not necessarily rotationally driven and may be driven linearly, for example.
  • the output value and the target value are defined for the operating amount such as the moving amount of the motor.
  • the output value and the target value may be defined for the amount of operation other than the rotation angle.
  • the embodiment of the present invention is applicable not only to the robot as in the above example but also to various moving bodies having a drive unit.
  • the gain of the PID control of the motor 30 is selected based on the detected value, but the control parameters of other drive units may be selected based on the detected value. That is, the gain selection unit 112 in the above embodiment is an example of a control parameter selection unit that selects at least a part of the control parameters of the drive unit based on at least one detected value, and the PID control unit 113 is selected. This is an example of a drive control unit that determines a control input value of the drive unit using the control parameters. By automatically and appropriately setting the control parameters of the drive unit for various situations, it is possible to make the moving body move more appropriately according to the situation.

Abstract

駆動部を有する移動体の状態を示す少なくとも1つの検出値を取得する検出値取得部と、少なくとも1つの検出値に基づいて駆動部の制御パラメータの少なくとも一部を選択する制御パラメータ選択部と、選択された制御パラメータを用いて駆動部の制御入力値を決定する駆動制御部とを備える制御装置が提供される。

Description

制御装置、制御方法およびプログラム
 本発明は、制御装置、制御方法およびプログラムに関する。
 PID制御は、機械のフィードバック制御の手法として一般的である。PID制御では、出力値と目標値との偏差(P)、偏差の時間積分(I)、および偏差の微分(D)のそれぞれに比例して入力値が決定される。偏差、積分、および微分のそれぞれの成分の係数であるゲインK,K,Kを適切に設定して入力値を決定することによって、出力値を安定的かつ迅速に目標値に追従させることができる。
 上記のようなPID制御におけるゲインは、制御対象の特性によって可変にすることもできる。例えば特許文献1には、リニアモーターによるウエハステージ制御系において、ステージ位置に依存した複数のゲインテーブルを設定し、ステージの移動方向に応じてゲインテーブルを使い分けることによって、ステージ可動範囲の端部で制御特性が悪化するのを防ぐ技術が記載されている。
特開平9-74059号公報
 近年、例えばロボットのような移動体に搭載される駆動部について上記のようなPID制御を実施することが多くなっている。移動体が自律的に動作する場合、様々な状況に応じてPID制御のゲインのような駆動部の制御パラメータを自動的かつ適切に設定することが好ましいが、そのような手法は未だ提案されていない。
 そこで、本発明は、駆動部を有する移動体において、様々な状況に対して駆動部の制御パラメータを自動的かつ適切に設定することを可能にする制御装置、制御方法およびプログラムを提供することを目的とする。
[1]駆動部を有する移動体の状態を示す少なくとも1つの検出値を取得する検出値取得部と、
 少なくとも1つの検出値に基づいて駆動部の制御パラメータの少なくとも一部を選択する制御パラメータ選択部と、
 選択された制御パラメータを用いて駆動部の制御入力値を決定する駆動制御部と
 を備える制御装置。
[2]制御パラメータは、PID制御のゲインである、[1]に記載の制御装置。
[3]検出値取得部は、移動体の姿勢を示すセンサの検出値を取得し、
 制御パラメータ選択部は、移動体の姿勢が第1の姿勢である場合と第2の姿勢である場合とで異なる制御パラメータを選択する、[1]または[2]に記載の制御装置。
[4]第1の姿勢は、移動体が転倒した姿勢であり、
 第2の姿勢は、移動体が転倒していない姿勢である、[3]に記載の制御装置。
[5]駆動部は、移動体の肢部に含まれ、
 検出値は、肢部への載荷量を示し、
 制御パラメータ選択部は、載荷量が閾値を超える場合と超えない場合とで異なる制御パラメータを選択する、[1]から[4]のいずれか1項に記載の制御装置。
[6]駆動部は、移動体の肢部に含まれ、
 検出値は、肢部へのアタッチメントの取り付けを示し、
 制御パラメータ選択部は、検出値が取得された場合と取得されない場合とで異なる制御パラメータを選択する、[1]から[5]のいずれか1項に記載の制御装置。
[7]検出値は、駆動部に接続される電源の状態を示し、
 制御パラメータ選択部は、電源の状態に応じて制御パラメータを選択する、[1]から[6]のいずれか1項に記載の制御装置。
[8]検出値は、移動体に搭載されたカメラが取得した画像の認識結果を含み、
 制御パラメータ選択部は、画像の認識結果に基づいて制御パラメータを選択する、[1]から[7]のいずれか1項に記載の制御装置。
[9]制御パラメータ選択部は、画像から障害物が認識された場合と画像から障害物が認識されなかった場合とで異なる制御パラメータを選択する、[8]に記載の制御装置。
[10]駆動部を有する移動体の状態を示す検出値を取得するステップと、
 少なくとも1つの検出値に基づいて駆動部の制御パラメータの少なくとも一部を選択するステップと、
 選択された制御パラメータを用いて駆動部の制御入力値を決定するステップと
 を含む制御方法。
[11]駆動部を有する移動体の状態を示す検出値を取得する機能と、
 少なくとも1つの検出値に基づいて駆動部の制御パラメータの少なくとも一部を選択する機能と、
 選択された制御パラメータを用いて駆動部の制御入力値を決定する機能と
 をプロセッサに実現させるためのプログラム。
 上記の構成によれば、駆動部を有する移動体において、様々な状況に対して駆動部の制御パラメータを自動的かつ適切に設定することができる。
本発明の一実施形態に係るロボットのハードウェア構成例を示す図である。 図1に示されたモータの制御に関する機能部分の構成を示すブロック図である。 本発明の一実施形態においてゲインを選択する処理の例を示すフローチャートである。 本発明の一実施形態においてゲインを選択する処理の例を示すフローチャートである。 本発明の一実施形態においてゲインを選択する処理の例を示すフローチャートである。 本発明の一実施形態においてゲインを選択する処理の例を示すフローチャートである。 本発明の一実施形態においてゲインを選択する処理の例を示すフローチャートである。
 以下、添付図面を参照しながら、本発明のいくつかの実施形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
 図1は、本発明の一実施形態に係るロボットのハードウェア構成例を示す図である。図1に示されるように、ロボット10は、本体部12に搭載される制御装置100を有する。制御装置100は、演算処理を実行するCPU(Central Processing Unit)110、RAM(Random Access Memory)120、ROM(Read Only Memory)130、および外部メモリ140などを含む。制御装置100は、カメラ21が取得した画像データ、マイクロフォン22が取得した音声データ、または通信インターフェース24が受信したコマンド信号などに応じてロボット10の動作を決定する。カメラ21、マイクロフォン22、および通信インターフェース24は、バスインターフェース150を介して制御装置100に接続される。
 制御装置100は、決定された動作が実行されるように、ロボット10の各部を制御する。具体的には、制御装置100は、決定された動作が実行されるように、腕部13L,13R、手部14L,14R、脚部15L,15R、および足部16L,16Rの関節部を回転駆動するモータ30を制御する。図示されていないが、頭部11および本体部12にもモータ30によって駆動される関節部が設けられてもよい。このとき、制御装置100は、距離計測センサ(図示せず)、慣性計測装置(IMU:Inertial Measurement Unit)25、接地センサ26、荷重センサ(図示せず)、電源制御装置27の検出値を必要に応じて参照する。モータ30、距離計測センサ、IMU25、接地センサ26、荷重センサ、および電源制御装置27は、バスインターフェース150を介して制御装置100に接続される。
 例えば、制御装置100のCPU110は、ROM130または外部メモリ140に格納された制御パターンから決定された動作に対応するパターンを選択し、選択されたパターンに従って足部運動、ZMP(Zero Moment Point)軌道、体幹運動、上肢運動、腰部水平位置および高さなどを設定し、これらの設定値に従ってモータ30を制御する。以下で説明するように、CPU110はセンサの検出値に応じてモータ30を制御する。
 図2は、図1に示されたモータの制御に関する機能部分の構成を示すブロック図である。図示されているように、制御装置100は、CPU110(プロセッサ)がROM130または外部メモリ140に格納されたプログラムに従って動作することによって実現される機能部分として検出値取得部111、ゲイン選択部112、およびPID制御部113を含む。また、ROM130または外部メモリ140には、PID制御のゲインテーブル131が格納される。モータ30は、制御装置100から制御信号を受信したドライバ31によって駆動される。また、モータ30の回転に伴ってエンコーダ32から出力されるパルス信号が制御装置100に送信される。以下、各部の機能についてさらに説明する。
 検出値取得部111は、ロボット10の状態を示す少なくとも1つの検出値を取得する。ここで、ロボット10は、駆動部であるモータ30を有する移動体の例である。検出値取得部111は、例えば、図1を参照して説明したIMU25、接地センサ26、または電源制御装置27の検出値を取得する。図1には示していないが、検出値取得部111は、ロボット10に搭載された距離計測センサ、荷重センサ、または例えばロボット10の腕部13L,13Rや足部16L,16Rなどへのアタッチメントの取り付けを検出するセンサの検出値を取得してもよい。また、検出値取得部111は、カメラ21が取得した画像データ、またはマイクロフォン22が取得した音声データを取得してもよい。
 ゲイン選択部112は、検出値取得部111が取得した少なくとも1つの検出値に基づいて、モータ30のPID制御のゲインの少なくとも一部を選択する。ここで、PID制御のゲインの一部を選択することは、例えば偏差、積分、および微分のそれぞれの成分の係数であるゲインK,K,Kのいずれかのみを選択することを含む。ゲイン選択部112は、ゲインK,K,Kのすべてを検出値に基づいて選択してもよい。また、ゲインK,K,Kのそれぞれが基本値と基本値に対する調整値とを含み、ゲイン選択部112はゲインK,K,Kの少なくともいずれかの調整値のみを選択してもよい。本実施形態において、ゲイン選択部112は、ゲインテーブル131に従ってゲインを選択する。ゲインテーブル131は選択可能なゲインK,K,Kの複数のセットを含み、ゲイン選択部112は検出値取得部111が取得した検出値に応じてゲインK,K,Kのセットを選択する。他の実施形態において、ゲイン選択部112は、検出値取得部111が取得した検出値からゲインK,K,Kの少なくともいずれかを算出するための関数に従ってゲインを選択してもよい。
 PID制御部113は、ゲイン選択部112によって選択されたゲインを用いて、モータ30の制御入力値を決定する。既に説明したように、PID制御では出力値と目標値との偏差(P)、偏差の時間積分(I)、および偏差の微分(D)のそれぞれに比例して制御入力値が決定される。PID制御部113は、エンコーダ32から出力されるパルス信号から検出されるモータ30の回転角度を出力値として、出力値が制御装置100の他の機能部分によって決定された目標値に到達するように制御入力値を決定する。このようにして決定された制御入力値を含む制御信号がドライバ31に送信されることによって、モータ30が適切な回転角度で駆動される。
 図3から図7は、本発明の一実施形態においてゲインを選択する処理の例を示すフローチャートである。本実施形態では、これらの例のいずれか1つ、または複数を組み合わせてPID制御のゲインが選択される。
 図3に示された例では、ゲイン選択部112が、ロボット10の姿勢に応じてPID制御のゲインを選択する。具体的には、この例において、検出値取得部111はロボット10の姿勢を示すセンサの検出値を取得する(ステップS101)。ロボット10の姿勢は、例えばIMU25や接地センサ26、荷重センサなどの検出値によって示される。ゲイン選択部112は、検出値に基づいて、ロボット10の姿勢が第1の姿勢であるか否かを判定し(ステップS102)、姿勢が第1の姿勢である場合には第1のゲインを選択する(ステップS103)。姿勢が第1の姿勢ではない場合、ゲイン選択部112は第2のゲインを選択する(ステップS104)。
 上記の例において、ゲイン選択部112は、ロボット10の姿勢が第1の姿勢である場合と第2の姿勢である(つまり、第1の姿勢ではない)場合とで異なるゲインを選択する。例えば、第1の姿勢はロボット10が転倒した姿勢であり、第2の姿勢はロボット10が転倒していない姿勢であってもよい。この場合、ロボット10が転倒した場合には想定外の動きによって部品に損傷を与えないために、比較的弱いゲインを選択して制御入力値の急激な変化を避ける。一方、ロボット10が転倒していない通常の場合には、比較的強いゲインを選択して出力値が迅速に目標値に追従できるようにする。
 図4に示された例では、ゲイン選択部112が、ロボット10の肢部への載荷量に応じてPID制御のゲインを選択する。ロボット10の肢部は、例えば図1に示された腕部13L,13R、手部14L,14R、脚部15L,15R、および足部16L,16Rなどであり、腕部13L,13Rや手部14L,14Rで物体を保持したり、脚部15L,15Rや足部16L,16Rで本体部12を支持したりすることによって載荷が発生する。具体的には、この例において、検出値取得部111はロボット10の肢部への載荷量を示すセンサの検出値を取得する(ステップS201)。肢部への載荷量は、例えば関節部に配置された荷重センサによって検出することができる。ゲイン選択部112は、検出値に基づいて、肢部への載荷量が閾値を超えるか否かを判定し(ステップS202)、載荷量が閾値を超える場合には第1のゲインを選択する(ステップS203)。載荷量が閾値を超えない場合、ゲイン選択部112は第2のゲインを選択する(ステップS204)。
 上記の例において、ゲイン選択部112は、ロボット10の肢部への載荷量が閾値を超える場合と超えない場合とで異なるゲインを選択する。例えば、肢部への載荷量が大きい場合には比較的弱いゲインを選択して制御入力値の急激な変化を避け、肢部の急な動きによって保持されている物体、または肢部が支持している本体部12が不安定な動きをするのを防止してもよい。また、肢部への載荷量が小さい場合には比較的強いゲインを選択して出力値が迅速に目標値に追従できるようにしてもよい。
 図5に示された例では、ゲイン選択部112が、ロボット10の肢部へのアタッチメントの取り付けの有無に応じてPID制御のゲインを選択する。上記の通り、ロボット10の肢部は、例えば図1に示された腕部13L,13R、手部14L,14R、脚部15L,15R、および足部16L,16Rなどである。具体的には、この例において、検出値取得部111はロボット10の肢部へのアタッチメントの取り付けを示すセンサの検出値を待ち受ける(ステップS301)。アタッチメントの取り付けを検出するセンサは、例えばアタッチメントとの係合部に配置されるスイッチのようなものであってもよい。ゲイン選択部112は、検出値取得部111によって検出値が取得されたか否かを判定し(ステップS302)、検出値が取得された場合には第1のゲインを選択する(ステップS303)。検出値が取得されない場合、ゲイン選択部112は第2のゲインを選択する(ステップS304)。
 肢部にアタッチメントを取り付けると、肢部にかかる荷重が変化するため、ドライバ31への制御入力値に対するモータ30の出力値の応答特性も変化する。この例では、アタッチメントの取り付けを検出するセンサの検出値を用いて、応答特性の変化に応じた適切なPID制御のゲインを選択することが可能である。上記で図4を参照して説明したような肢部への載荷量の検出によって同様のゲインの選択をすることも可能であるが、例えばアタッチメントの取り付け位置が決まっている場合には簡易な構造のセンサで検出が可能であり、またアタッチメントの形状や重量が既知である場合には適切なゲインを予め設定することができるため、図5のような例を採用してもよい。
 図6に示された例では、ゲイン選択部112が、ロボット10の電源の状態を示す検出値に応じてPID制御のゲインを選択する。具体的には、この例において、検出値取得部111はロボット10の電源の状態を示すセンサの検出値を取得する(ステップS401)。電源の状態は、例えば電源制御装置27の検出値によって示される。検出値は、例えば外部電源の接続の有無や、バッテリーの残量などを示してもよい。ゲイン選択部112は、検出値に基づいて、省電力が必要であるか否かを判定し(ステップS402)、省電力が必要である場合には第1のゲインを選択する(ステップS403)。省電力が必要ではない場合、ゲイン選択部112は第2のゲインを選択する(ステップS404)。省電力が必要であるか否かは、例えば外部電源の接続の有無、およびバッテリーの残量が閾値を超えているか否かに基づいて判定されてもよい。
 上記の例において、ゲイン選択部112は、ロボット10に接続される電源の状態に応じてゲインを選択する。例えば、省電力が必要な場合には比較的弱いゲインを選択してモータ30の消費電力を抑制することによって、電源の残量が限られる場合により長くロボット10を動作させることができる。また、省電力が必要ではない場合には、比較的強いゲインを選択して出力値が迅速に目標値に追従できるようにしてもよい。
 図7に示された例では、ゲイン選択部112が、ロボット10に搭載されたカメラが取得した画像の認識結果に基づいてPID制御のゲインを選択する。具体的には、この例において、検出値取得部111はロボット10に搭載されたカメラ21が取得した画像の認識結果を取得する(ステップS501)。画像の認識結果は、例えばロボット10の視界に存在する物体の検出結果であってもよい。画像認識は、例えばCPU110の他の機能部分で実行されてもよい。画像の認識結果も、ロボット10の状態を示す検出値の例である。ゲイン選択部112は、画像の認識結果に基づいて、障害物が認識されたか否かを判定し(ステップS502)、障害物が認識された場合には第1のゲインを選択する(ステップS503)。障害物が認識されなかった場合、ゲイン選択部112は第2のゲインを選択する(ステップS504)。障害物は、例えば、ロボット10の視界内で検出された物体のうち、ロボット10の予定される進路に干渉するものとして定義されてもよい。
 上記の例において、ゲイン選択部112は、カメラ21が取得した画像から障害物が認識された場合と画像から障害物が認識されなかった場合とで異なるゲインを選択する。例えば、障害物が認識された場合には比較的弱いゲインを選択して制御入力値の急激な変化を避け、ロボット10が障害物に接触したときの想定外の動きに備えてもよい。障害物に対する回避行動が実施される場合も、障害物の位置検出の誤差によってロボット10が障害物に接触する可能性はあるため、上記のようなゲインの選択をすることが有用でありうる。また、障害物が認識されなかった場合には比較的強いゲインを選択して出力値が迅速に目標値に追従できるようにしてもよい。
 上記で説明したような本発明の一実施形態の構成によれば、駆動部としてモータ30を有する移動体であるロボット10において、様々な状況に対してPID制御のゲインを自動的かつ適切に設定することができる。なお、上記の例では回転駆動するモータ30の回転角度について出力値および目標値が定義されたが、他の実施形態では、モータは必ずしも回転駆動せず、例えば直線駆動してもよい。この場合、モータの移動量などの動作量について出力値および目標値が定義される。また、モータが回転駆動する場合であっても、回転角度以外の動作量について出力値および目標値が定義されてもよい。また、本発明の実施形態は、上記の例のようなロボットに限らず、駆動部を有する各種の移動体に適用可能である。
 また、上記の例ではモータ30のPID制御のゲインが検出値に基づいて選択されたが、他の駆動部の制御パラメータが検出値に基づいて選択されてもよい。つまり、上記の実施形態におけるゲイン選択部112は、少なくとも1つの検出値に基づいて駆動部の制御パラメータの少なくとも一部を選択する制御パラメータ選択部の例であり、PID制御部113は、選択された制御パラメータを用いて駆動部の制御入力値を決定する駆動制御部の例である。様々な状況に対して駆動部の制御パラメータを自動的かつ適切に設定することによって、移動体に状況に応じたより適切な動きをさせることができる。
 以上、添付図面を参照しながら本発明のいくつかの実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
 10…ロボット、11…頭部、12…本体部、13L,13R…腕部、14L,14R…手部、15L,15R…脚部、16L,16R…足部、21…カメラ、22…マイクロフォン、24…通信インターフェース、25…IMU、26…接地センサ、27…電源制御装置、30…モータ、31…ドライバ、32…エンコーダ、100…制御装置、110…CPU、111…検出値取得部、112…ゲイン選択部、113…PID制御部、120…RAM、130…ROM、131…ゲインテーブル、140…外部メモリ、150…バスインターフェース。

Claims (11)

  1.  駆動部を有する移動体の状態を示す少なくとも1つの検出値を取得する検出値取得部と、
     前記少なくとも1つの検出値に基づいて前記駆動部の制御パラメータの少なくとも一部を選択する制御パラメータ選択部と、
     前記選択された制御パラメータを用いて前記駆動部の制御入力値を決定する駆動制御部と
     を備える制御装置。
  2.  前記制御パラメータは、PID制御のゲインである、請求項1に記載の制御装置。
  3.  前記検出値取得部は、前記移動体の姿勢を示すセンサの検出値を取得し、
     前記制御パラメータ選択部は、前記移動体の姿勢が第1の姿勢である場合と第2の姿勢である場合とで異なる前記制御パラメータを選択する、請求項1または請求項2に記載の制御装置。
  4.  前記第1の姿勢は、前記移動体が転倒した姿勢であり、
     前記第2の姿勢は、前記移動体が転倒していない姿勢である、請求項3に記載の制御装置。
  5.  前記駆動部は、前記移動体の肢部に含まれ、
     前記検出値は、前記肢部への載荷量を示し、
     前記制御パラメータ選択部は、前記載荷量が閾値を超える場合と超えない場合とで異なる前記制御パラメータを選択する、請求項1から請求項4のいずれか1項に記載の制御装置。
  6.  前記駆動部は、前記移動体の肢部に含まれ、
     前記検出値は、前記肢部へのアタッチメントの取り付けを示し、
     前記制御パラメータ選択部は、前記検出値が取得された場合と取得されない場合とで異なる前記制御パラメータを選択する、請求項1から請求項5のいずれか1項に記載の制御装置。
  7.  前記検出値は、前記駆動部に接続される電源の状態を示し、
     前記制御パラメータ選択部は、前記電源の状態に応じて前記制御パラメータを選択する、請求項1から請求項6のいずれか1項に記載の制御装置。
  8.  前記検出値は、前記移動体に搭載されたカメラが取得した画像の認識結果を含み、
     前記制御パラメータ選択部は、前記画像の認識結果に基づいて前記制御パラメータを選択する、請求項1から請求項7のいずれか1項に記載の制御装置。
  9.  前記制御パラメータ選択部は、前記画像から障害物が認識された場合と前記画像から障害物が認識されなかった場合とで異なる前記制御パラメータを選択する、請求項8に記載の制御装置。
  10.  駆動部を有する移動体の状態を示す検出値を取得するステップと、
     前記少なくとも1つの検出値に基づいて前記駆動部の制御パラメータの少なくとも一部を選択するステップと、
     前記選択された制御パラメータを用いて前記駆動部の制御入力値を決定するステップと
     を含む制御方法。
  11.  駆動部を有する移動体の状態を示す検出値を取得する機能と、
     前記少なくとも1つの検出値に基づいて前記駆動部の制御パラメータの少なくとも一部を選択する機能と、
     前記選択された制御パラメータを用いて前記駆動部の制御入力値を決定する機能と
     をプロセッサに実現させるためのプログラム。
PCT/JP2020/035164 2019-09-26 2020-09-17 制御装置、制御方法およびプログラム WO2021060121A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-175590 2019-09-26
JP2019175590A JP7301701B2 (ja) 2019-09-26 2019-09-26 制御装置、制御方法およびプログラム

Publications (1)

Publication Number Publication Date
WO2021060121A1 true WO2021060121A1 (ja) 2021-04-01

Family

ID=75158014

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/035164 WO2021060121A1 (ja) 2019-09-26 2020-09-17 制御装置、制御方法およびプログラム

Country Status (2)

Country Link
JP (1) JP7301701B2 (ja)
WO (1) WO2021060121A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023175751A1 (ja) * 2022-03-16 2023-09-21 株式会社ソニー・インタラクティブエンタテインメント 制御装置、制御方法およびプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1088622A (ja) * 1996-09-05 1998-04-07 Caterpillar Inc 牽引力制御装置のフィードバックゲインを修正する方法と装置
JP2001157981A (ja) * 1999-11-30 2001-06-12 Sony Corp ロボット装置及びその制御方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4649913B2 (ja) 2003-09-19 2011-03-16 ソニー株式会社 ロボット装置及びロボット装置の移動制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1088622A (ja) * 1996-09-05 1998-04-07 Caterpillar Inc 牽引力制御装置のフィードバックゲインを修正する方法と装置
JP2001157981A (ja) * 1999-11-30 2001-06-12 Sony Corp ロボット装置及びその制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023175751A1 (ja) * 2022-03-16 2023-09-21 株式会社ソニー・インタラクティブエンタテインメント 制御装置、制御方法およびプログラム

Also Published As

Publication number Publication date
JP7301701B2 (ja) 2023-07-03
JP2021051675A (ja) 2021-04-01

Similar Documents

Publication Publication Date Title
US10350749B2 (en) Robot control device having learning control function
JP4818716B2 (ja) ロボット制御装置
US10274939B2 (en) Feed shaft control method and numerical control work device
JP4812426B2 (ja) ロボット制御装置
US20140005827A1 (en) Apparatus for controlling mobile robot
US11478934B2 (en) Method and apparatus for controlling robot
JP7296593B2 (ja) エンコーダの異常検出方法、作動制御装置、ロボット及びロボットシステム
SE0200898D0 (sv) Robot cleaner, Robot cleaning system and method for controlling the same
WO2021060121A1 (ja) 制御装置、制御方法およびプログラム
KR20170117448A (ko) 로봇의 편차 자동조정 장치 및 로봇의 편차 자동조정 방법
WO2021139373A1 (zh) 一种机械臂混杂控制方法、装置及系统
US9132545B2 (en) Apparatus for controlling mobile robot
US11453128B2 (en) Robot control apparatus, control method and control program
US20170371321A1 (en) Robot, control device, and robot system
JP2007007795A (ja) ロボットの歩容データ修正方法および歩行ロボット
US20170043481A1 (en) Robot controller inhibiting shaking of tool tip in robot equipped with travel axis
KR101252096B1 (ko) 대기전력 저감형 이동 로봇 장치
JP2007007797A (ja) 歩行ロボット
JP2022091462A (ja) 装着型ロボット
JP6114836B2 (ja) 訓練装置
JP2005088166A (ja) ロボット
JP6187118B2 (ja) 搬送装置
JP2016117114A (ja) 二足歩行ロボットの制御方法
WO2016126173A1 (en) System for positioning of a pointed tool relative to a wall
JP2007044836A (ja) 脚式二足ロボット

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: 20867939

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20867939

Country of ref document: EP

Kind code of ref document: A1