IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オムロン株式会社の特許一覧

特開2023-152015制御システム、制御装置、制御方法及び制御プログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023152015
(43)【公開日】2023-10-16
(54)【発明の名称】制御システム、制御装置、制御方法及び制御プログラム
(51)【国際特許分類】
   G05B 11/36 20060101AFI20231005BHJP
   G05B 13/04 20060101ALI20231005BHJP
【FI】
G05B11/36 501Z
G05B11/36 501D
G05B13/04
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022061935
(22)【出願日】2022-04-01
(71)【出願人】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100108213
【弁理士】
【氏名又は名称】阿部 豊隆
(72)【発明者】
【氏名】浪江 正樹
【テーマコード(参考)】
5H004
【Fターム(参考)】
5H004GA02
5H004GA05
5H004GA07
5H004GB15
5H004HA07
5H004HA08
5H004HB07
5H004HB08
5H004KB02
5H004KB04
5H004KB12
5H004KC22
5H004KC24
5H004KC27
5H004KC33
5H004LA03
(57)【要約】
【課題】時刻情報の送受信を行わずとも適切にむだ時間を推定できる制御システム、制御装置、制御方法及び制御プログラムを提供する。
【解決手段】制御信号に基づいて制御される対象装置20と、対象装置20の物理量を測定するセンサ30と、指令値及び物理量に基づいて対象装置20に制御信号を送りフィードバック制御を行う制御装置10と、を備え、制御装置10は、制御信号及びむだ時間の複数の候補に基づいて、複数の候補値を算出する算出部14と、センサ30により測定された物理量に基づく基準値と、複数の候補値との比較に基づいて、むだ時間を推定する推定部15と、を有する、制御システム100。
【選択図】図1
【特許請求の範囲】
【請求項1】
制御信号に基づいて制御される対象装置と、
前記対象装置の物理量を測定するセンサと、
指令値及び前記物理量に基づいて前記対象装置に前記制御信号を送りフィードバック制御を行う制御装置と、を備え、
前記制御装置は、
前記制御信号及びむだ時間の複数の候補に基づいて、複数の候補値を算出する算出部と、
前記センサにより測定された前記物理量に基づく基準値と、前記複数の候補値との比較に基づいて、むだ時間を推定する推定部と、を有する、
制御システム。
【請求項2】
前記推定部は、前記むだ時間の複数の候補のうち、前記基準値との差の絶対値が比較的小さくなる候補値に対応するむだ時間の候補を前記むだ時間と推定する、
請求項1に記載の制御システム。
【請求項3】
前記算出部は、前記制御信号、過去に測定された前記物理量及び前記むだ時間の複数の候補に基づいて、前記複数の候補値を算出する、
請求項1に記載の制御システム。
【請求項4】
前記制御装置は、
前記対象装置のモデル及び前記むだ時間に基づくスミス補償器を有し、
前記推定部により推定された前記むだ時間が更新された場合に、前記スミス補償器に更新後の前記むだ時間を設定する、
請求項1に記載の制御システム。
【請求項5】
前記制御装置は、
前記対象装置のモデル及び前記むだ時間に基づくスミス補償器を有し、
少なくとも前記推定部により推定された前記むだ時間が更新された場合に、前記スミス補償器に更新後の前記むだ時間を設定するか否かの入力を受け付け、前記入力に基づいて、前記スミス補償器に更新後又は更新前の前記むだ時間を設定する、
請求項1に記載の制御システム。
【請求項6】
前記算出部は、前記推定部により推定された前記むだ時間が更新された場合に、更新後の前記むだ時間に基づいて、前記むだ時間の複数の候補を更新する、
請求項1に記載の制御システム。
【請求項7】
前記制御装置は、
前記複数の候補値と前記基準値との比較結果を表示する表示部をさらに有する、
請求項1に記載の制御システム。
【請求項8】
前記制御装置は、前記対象装置の位置及び速度の少なくともいずれかを制御し、
前記センサは、前記対象装置の位置及び速度の少なくともいずれかを測定し、
前記算出部は、前記制御信号及びむだ時間の複数の候補に基づいて、速度の複数の候補値を算出し、
前記推定部は、前記センサにより測定された速度又は前記センサにより測定された位置に基づく速度と、前記速度の複数の候補値との比較に基づいて、むだ時間を推定する、
請求項1から7のいずれか一項に記載の制御システム。
【請求項9】
前記制御装置は、前記対象装置の位置及び速度の少なくともいずれかを制御し、
前記センサは、前記対象装置の位置を測定し、
前記算出部は、前記制御信号及びむだ時間の複数の候補に基づいて、位置の複数の候補値を算出し、
前記推定部は、前記センサにより測定された位置と、前記位置の複数の候補値との比較に基づいて、むだ時間を推定する、
請求項1から7のいずれか一項に記載の制御システム。
【請求項10】
センサにより測定される対象装置の物理量及び指令値に基づいて前記対象装置に制御信号を送りフィードバック制御を行う制御装置であって、
前記制御信号及びむだ時間の複数の候補に基づいて、複数の候補値を算出する算出部と、
前記センサにより測定された物理量に基づく基準値と、前記複数の候補値との比較に基づいて、むだ時間を推定する推定部と、を有する、
制御装置。
【請求項11】
センサにより測定される対象装置の物理量及び指令値に基づいて前記対象装置に制御信号を送りフィードバック制御を行う制御方法であって、
前記制御信号及びむだ時間の複数の候補に基づいて、複数の候補値を算出することと、
前記センサにより測定された物理量に基づく基準値と、前記複数の候補値との比較に基づいて、むだ時間を推定することと、
を含む制御方法。
【請求項12】
センサにより測定される対象装置の物理量及び指令値に基づいて前記対象装置に制御信号を送りフィードバック制御を行う制御装置に、
前記制御信号及びむだ時間の複数の候補に基づいて、複数の候補値を算出することと、
前記センサにより測定された物理量に基づく基準値と、前記複数の候補値との比較に基づいて、むだ時間を推定することと、
を実行させる制御プログラム。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御システム、制御装置、制御方法及び制御プログラムに関する。
【背景技術】
【0002】
ファクトリーオートメーションの技術分野において、サーボモータ等の対象装置を、センサによって測定された値に基づいてフィードバック制御することが行われている。ここで、対象装置に対して入力を与えてから、その入力に応じた出力が現れるまでに時間差がある場合、フィードバック制御ループはむだ時間(dead time)を有するという。例えば、装置間が比較的低速の有線通信又は無線通信で接続される場合や、ベルトコンベア等の搬送装置の先でセンサによる測定が行われる場合にむだ時間が生じることがある。
【0003】
むだ時間を有する場合にも安定的な制御を行うため、例えばスミス補償器を用いる場合がある。その場合、スミス補償器には適切なむだ時間の推定値を設定する必要がある。特にむだ時間が通信遅延により生じる場合について、例えば、特許文献1には、マスタ装置とスレーブ装置との間を結ぶ通信経路上に操作指令情報及びセンサ情報を中継する中継ノードを配置し、中継ノードによって、中継ノードとマスタ装置との間の通信遅延及び中継ノードとスレーブ装置との間の通信遅延を計測又は推定し、スレーブ装置の状態を予測する遠隔操作通信システムが記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第6729991号
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載の構成では、中継ノードとマスタ装置との間の通信遅延及び中継ノードとスレーブ装置との間の通信遅延を計測又は推定するために、マスタ装置及びスレーブ装置が信号にタイムスタンプを付加することが必要となる。また、タイムスタンプが適切に機能するためには、送信側と受信側とで時刻同期が必要となる。
【0006】
そこで、本発明は、時刻情報の送受信を行わずとも適切にむだ時間を推定できる制御システム、制御装置、制御方法及び制御プログラムを提供する。
【課題を解決するための手段】
【0007】
本発明の一態様に係る制御システムは、制御信号に基づいて制御される対象装置と、対象装置の物理量を測定するセンサと、指令値及び物理量に基づいて対象装置に制御信号を送りフィードバック制御を行う制御装置と、を備え、制御装置は、制御信号及びむだ時間の複数の候補に基づいて、複数の候補値を算出する算出部と、センサにより測定された物理量に基づく基準値と、複数の候補値との比較に基づいて、むだ時間を推定する推定部と、を有する。
【0008】
この態様によれば、センサにより実際に測定された対象装置の物理量に基づく基準値と、むだ時間について複数の候補を仮定して算出した複数の候補値とを比較することで、時刻情報の送受信のような追加構成を要さずに、適切にむだ時間を推定できる。
【0009】
上記態様において、推定部は、むだ時間の複数の候補のうち、基準値との差の絶対値が比較的小さくなる候補値に対応するむだ時間の候補をむだ時間と推定してもよい。
【0010】
この態様によれば、実際に測定された対象装置の物理量に基づく基準値をより良く再現するむだ時間の候補を選択することで、むだ時間の推定をより精度良く行うことができる。
【0011】
上記態様において、算出部は、制御信号、過去に測定された物理量及びむだ時間の複数の候補に基づいて、複数の候補値を算出してもよい。
【0012】
この態様によれば、過去に測定された対象装置の物理量を参照することで、時刻情報の送受信のような追加構成を必要とせず、適切にむだ時間を推定することができる。
【0013】
上記態様において、制御装置は、対象装置のモデル及びむだ時間に基づくスミス補償器を有し、推定部により推定されたむだ時間が更新された場合に、スミス補償器に更新後のむだ時間を設定してもよい。
【0014】
この態様によれば、むだ時間が時間的に変化する場合であっても、その変化に追従するようにむだ時間を更新することができ、より精度良く対象装置を制御することができる。
【0015】
上記態様において、制御装置は、対象装置のモデル及びむだ時間に基づくスミス補償器を有し、少なくとも推定部により推定されたむだ時間が更新された場合に、スミス補償器に更新後のむだ時間を設定するか否かの入力を受け付け、入力に基づいて、スミス補償器に更新後又は更新前のむだ時間を設定してもよい。
【0016】
この態様によれば、むだ時間の更新をスミス補償器に反映させるか否かの入力を受け付けることで、制御システムの挙動に関する予見性を向上させることができる。
【0017】
上記態様において、算出部は、推定部により推定されたむだ時間が更新された場合に、更新後のむだ時間に基づいて、むだ時間の複数の候補を更新してもよい。
【0018】
この態様によれば、むだ時間が時間的に変化する場合であっても、むだ時間の複数の候補を適宜更新することができ、むだ時間をより精度良く推定することができる。
【0019】
上記態様において、制御装置は、複数の候補値と基準値との比較結果を表示する表示部をさらに有してもよい。
【0020】
この態様によれば、むだ時間がどのように推定されているか把握することが容易になり、制御システムの挙動に関する予見性を向上させることができる。
【0021】
上記態様において、制御装置は、対象装置の位置及び速度の少なくともいずれかを制御し、センサは、対象装置の位置及び速度の少なくともいずれかを測定し、算出部は、制御信号及びむだ時間の複数の候補に基づいて、速度の複数の候補値を算出し、推定部は、センサにより測定された速度又はセンサにより測定された位置に基づく速度と、速度の複数の候補値との比較に基づいて、むだ時間を推定してもよい。
【0022】
この態様によれば、積分演算を必要としない速度について複数の候補値と実際に測定された速度とを比較することで、むだ時間の推定を比較的高速に行うことができる。
【0023】
上記態様において、制御装置は、対象装置の位置及び速度の少なくともいずれかを制御し、センサは、対象装置の位置を測定し、算出部は、制御信号及びむだ時間の複数の候補に基づいて、位置の複数の候補値を算出し、推定部は、センサにより測定された位置と、位置の複数の候補値との比較に基づいて、むだ時間を推定してもよい。
【0024】
この態様によれば、センサにより測定された位置と直接比較することができる複数の候補値を算出することで、基準値の算出を不要とすることができる。
【0025】
本発明の他の態様に係る制御装置は、センサにより測定される対象装置の物理量及び指令値に基づいて対象装置に制御信号を送りフィードバック制御を行う制御装置であって、制御信号及びむだ時間の複数の候補に基づいて、複数の候補値を算出する算出部と、センサにより測定された物理量に基づく基準値と、複数の候補値との比較に基づいて、むだ時間を推定する推定部と、を有する。
【0026】
この態様によれば、センサにより実際に測定された対象装置の物理量に基づく基準値と、むだ時間について複数の候補を仮定して算出した複数の候補値とを比較することで、時刻情報の送受信のような追加構成を要さずに、適切にむだ時間を推定できる。
【0027】
本発明の他の態様に係る制御方法は、センサにより測定される対象装置の物理量及び指令値に基づいて対象装置に制御信号を送りフィードバック制御を行う制御方法であって、制御信号及びむだ時間の複数の候補に基づいて、複数の候補値を算出することと、センサにより測定された物理量に基づく基準値と、複数の候補値との比較に基づいて、むだ時間を推定することと、を含む。
【0028】
この態様によれば、センサにより実際に測定された対象装置の物理量に基づく基準値と、むだ時間について複数の候補を仮定して算出した複数の候補値とを比較することで、時刻情報の送受信のような追加構成を要さずに、適切にむだ時間を推定できる。
【0029】
本発明の他の態様に係る制御プログラムは、センサにより測定される対象装置の物理量及び指令値に基づいて対象装置に制御信号を送りフィードバック制御を行う制御装置に、制御信号及びむだ時間の複数の候補に基づいて、複数の候補値を算出することと、センサにより測定された物理量に基づく基準値と、複数の候補値との比較に基づいて、むだ時間を推定することと、を実行させる。
【0030】
この態様によれば、センサにより実際に測定された対象装置の物理量に基づく基準値と、むだ時間について複数の候補を仮定して算出した複数の候補値とを比較することで、時刻情報の送受信のような追加構成を要さずに、適切にむだ時間を推定できる。
【発明の効果】
【0031】
本発明によれば、時刻情報の送受信を行わずとも適切にむだ時間を推定できる制御システム、制御装置、制御方法及び制御プログラムを提供することができる。
【図面の簡単な説明】
【0032】
図1】本発明の第1実施形態に係る制御システムのネットワーク構成を示す図である。
図2】本実施形態に係る制御装置の機能ブロックを示す図である。
図3】本実施形態に係る制御装置の制御ブロックを示す図である。
図4】本実施形態に係る制御装置の物理的構成を示す図である。
図5a】第1シミュレーション例において本実施形態に係る制御装置により制御された対象装置の位置を示す図である。
図5b】第1シミュレーション例において本実施形態に係る制御装置により制御された位置と指令位置との誤差を示す図である。
図5c】第1シミュレーション例において本実施形態に係る制御装置により制御された推力を示す図である。
図5d】第1シミュレーション例において本実施形態に係る制御装置により算出された速度の候補値と実測速度との誤差を示す図である。
図6a】第2シミュレーション例において本実施形態に係る制御装置により制御された対象装置の位置を示す図である。
図6b】第2シミュレーション例において本実施形態に係る制御装置により制御された推力を示す図である。
図6c】第2シミュレーション例において本実施形態に係る制御装置により算出された速度の候補値と実測速度との誤差を示す図である。
図7a】第3シミュレーション例において本実施形態に係る制御装置により制御された対象装置の位置を示す図である。
図7b】第3シミュレーション例において本実施形態に係る制御装置により制御された推力を示す図である。
図7c】第3シミュレーション例において本実施形態に係る制御装置により算出された速度の候補値と実測速度との誤差を示す図である。
図8a】第4シミュレーション例において本実施形態に係る制御装置により制御された対象装置の位置を示す図である。
図8b】第4シミュレーション例において本実施形態に係る制御装置により制御された推力を示す図である。
図8c】第4シミュレーション例において本実施形態に係る制御装置により算出された速度の候補値と実測速度との誤差を示す図である。
図9a】第5シミュレーション例において本実施形態に係る制御装置により制御された対象装置の位置を示す図である。
図9b】第5シミュレーション例において本実施形態に係る制御装置により制御された位置と指令位置との誤差を示す図である。
図9c】第5シミュレーション例において本実施形態に係る制御装置により制御された推力を示す図である。
図9d】第5シミュレーション例において本実施形態に係る制御装置により算出された速度の候補値と実測速度との誤差を示す図である。
図10】本実施形態に係る制御装置により実行される第1制御処理のフローチャートである。
図11】本実施形態に係る制御装置により実行される第2制御処理のフローチャートである。
図12】本発明の第2実施形態に係る制御装置の制御ブロックを示す図である。
図13】本発明の第3実施形態に係る制御装置の制御ブロックを示す図である。
【発明を実施するための形態】
【0033】
添付図面を参照して、本発明の実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【0034】
図1は、本発明の実施形態に係る制御システム100のネットワーク構成を示す図である。制御システム100は、制御信号に基づいて制御される対象装置20と、対象装置20の物理量を測定するセンサ30と、指令値及びセンサ30により測定された物理量に基づいて対象装置20に制御信号を送りフィードバック制御を行う制御装置10と、を備える。
【0035】
対象装置20は、制御信号に基づいて制御される装置であればどのようなものであってもよい。以下では、説明を具体的にするため、可動部の位置をサーボモータによって制御する装置を仮定する。この場合、指令値は可動部の位置に関する目標値であり、制御信号はサーボモータの推力(トルク)である。
【0036】
センサ30は、対象装置20に関する任意の物理量を測定するものであってよい。例えば、対象装置20が可動部の位置を制御する装置である場合、センサ30は、当該可動部の位置を測定するものであってよい。
【0037】
制御装置10、対象装置20及びセンサ30は、通信ネットワークNによって互いに通信可能に接続される。通信ネットワークNは、有線又は無線通信のネットワークであってよく、例えばEtherNet/IPやEtherCAT(登録商標)等の規格に従う通信ネットワークであったり、ローカル5Gネットワークであったりしてよい。
【0038】
図2は、本実施形態に係る制御装置10の機能ブロックを示す図である。制御装置10は、指令値生成部11、制御信号生成部12、取得部13、算出部14及び推定部15を有する。
【0039】
指令値生成部11は、例えば目標位置、移動時間、許容する最大速度及び許容する最大加速度等の設定値に従って指令値を生成する。制御装置10の制御対象が対象装置20の可動部の位置である場合、指令値の最終値は位置に関する目標値となる。指令値生成部11は、制御装置10の構成の一部であってよいが、別体の構成であってもよい。例えば、指令値生成部11は、いわゆるコントローラの機能部として実現されてもよい。その場合、制御装置10は、いわゆるコントローラと、いわゆるドライバ(例えばサーボドライバ)とを別体として含む装置であってよい。
【0040】
制御信号生成部12は、指令値及びセンサ30により測定された対象装置20の物理量に基づいて、対象装置20を制御するための制御信号を生成し、対象装置20に送信する。対象装置20が可動部の位置をサーボモータによって制御する装置である場合、制御信号は、サーボモータの推力(トルク)を制御する信号であってよい。
【0041】
取得部13は、センサ30により測定された対象装置20の物理量を取得する。取得された物理量は、制御信号生成部12により用いられる。ここで、対象装置20の物理量は、例えば、対象装置20の可動部の位置であってよい。
【0042】
算出部14は、制御信号及びむだ時間の複数の候補に基づいて、複数の候補値を算出する。むだ時間の複数の候補は、少なくとも2つの異なる値を含むが、3つ以上の異なる値を含んでもよい。算出部14は、制御信号及びむだ時間の複数の候補それぞれについて、対象装置20のモデルを仮定して複数の候補値を算出する。対象装置20のモデルは、対象装置20の可動部が従う運動方程式のモデルであり、例えば、可動部に加えられる推力と、慣性力及び摩擦力との間に成り立つ運動方程式に基づいて導かれたモデルであってよい。
【0043】
推力をuと表し、慣性係数のモデル値をJmと表し、粘性摩擦係数のモデル値をCmと表し、むだ時間の3つの候補をLmL、Lm及びLmHと表すとき、算出部14は、u×e-LmLs×Vm(s)、u×e-Lms×Vm(s)及びu×e-LmHs×Vm(s)を求めることで、速度の3つの候補値を算出してよい。ここで、Vm(s)=1/(Jm×s+Cm)である。また、sはラプラス演算子(微分演算子のラプラス変換)を表す。
【0044】
推定部15は、センサ30により測定された物理量に基づく基準値と、複数の候補値との比較に基づいて、むだ時間を推定する。例えばセンサ30により対象装置20の可動部の位置を測定する場合、基準値は速度(位置の時間微分)であってよい。この場合、推定部15は、実測位置に基づく速度と、算出部14により算出された速度の3つの候補値との比較に基づいて、むだ時間を推定する。
【0045】
本実施形態に係る制御装置10によれば、センサ30により実際に測定された対象装置20の物理量に基づく基準値と、むだ時間について複数の候補を仮定して予測した物理量の複数の候補値とを比較することで、時刻情報の送受信のような追加構成を要さずに、適切にむだ時間を推定できる。
【0046】
推定部15は、むだ時間の複数の候補のうち、基準値との差の絶対値が比較的小さくなる候補値に対応するむだ時間の候補をむだ時間と推定してもよい。例えば、算出部14により速度の3つの候補値が算出された場合、推定部15は、センサ30により測定された対象装置20の可動部の位置からその速度を求め、速度の3つの候補値と実測位置に基づく速度との差の絶対値を算出し、その絶対値が最小となる速度の候補値に対応するむだ時間の候補を制御システム100のむだ時間と推定してもよい。
【0047】
このようにして、実際に測定された対象装置20の物理量に基づく基準値をより良く再現するむだ時間の候補を選択することで、むだ時間の推定をより精度良く行うことができる。
【0048】
制御装置10は、対象装置20のモデル及びむだ時間に基づくスミス補償器を有してよく、推定部15により推定されたむだ時間が更新された場合に、スミス補償器に更新後のむだ時間を設定してよい。ここで、スミス補償器に更新後のむだ時間を設定するタイミングは、一単位の制御ループ処理が終了した後であったり、一単位の制御ループ処理が実行されている途中であったりしてよい。
【0049】
スミス補償器に更新後のむだ時間を設定することで、むだ時間が時間的に変化する場合であっても、その変化に追従するようにむだ時間を更新することができ、より精度良く対象装置を制御することができる。
【0050】
制御装置10は、対象装置20のモデル及びむだ時間に基づくスミス補償器を有してよく、少なくとも推定部15により推定されたむだ時間が更新された場合に、スミス補償器に更新後のむだ時間を設定するか否かの入力を受け付け、その入力に基づいて、スミス補償器に更新後又は更新前のむだ時間を設定してよい。制御装置10は、推定部15により推定されたむだ時間が更新される前、例えば制御ループ処理を開始する前に、推定部15により推定されたむだ時間が更新された場合にスミス補償器に更新後のむだ時間を設定するか否かの入力を予め受け付けてもよい。
【0051】
むだ時間の更新をスミス補償器に反映させるか否かの入力を受け付けることで、制御システム100の挙動に関する予見性を向上させることができる。
【0052】
算出部14は、推定部15により推定されたむだ時間が更新された場合に、更新後のむだ時間に基づいて、むだ時間の複数の候補を更新してもよい。例えば、むだ時間がLmからLm+ΔLに更新された場合、算出部14は、むだ時間の3つの候補をLmL+ΔL、Lm+ΔL及びLmH+ΔLにそれぞれ更新してもよい。
【0053】
むだ時間の複数の候補を更新することで、むだ時間が時間的に変化する場合であっても、むだ時間の複数の候補を適宜更新することができ、むだ時間をより精度良く推定することができる。
【0054】
制御装置10は、複数の候補値と基準値との比較結果を表示する表示部をさらに有してもよい。表示態様の例については後に詳細に説明する。
【0055】
複数の候補値と基準値との比較結果を表示することで、むだ時間がどのように推定されているか把握することが容易になり、制御システム100の挙動に関する予見性を向上させることができる。
【0056】
制御装置10が、対象装置20の位置及び速度の少なくともいずれかを制御する場合、センサ30は、対象装置20の位置及び速度の少なくともいずれかを測定し、算出部14は、制御信号及びむだ時間の複数の候補に基づいて、速度の複数の候補値を算出し、推定部15は、センサ30により測定された速度又はセンサ30により測定された位置に基づく速度と、速度の複数の候補値との比較に基づいて、むだ時間を推定してよい。ここで、センサ30により測定された位置に基づく速度は、センサ30により測定された位置を時間微分することで求められる。
【0057】
積分演算を必要としない速度について複数の候補値と直接又は間接に測定された速度とを比較することで、むだ時間の推定を比較的高速に行うことができる。
【0058】
図3は、本実施形態に係る制御装置10の制御ブロック図である。以下では、制御装置10によって対象装置20の可動部の位置を制御する場合について説明する。また、可動部が従う運動方程式のモデルとして、可動部に加えられる推力と、慣性力及び摩擦力との間に成り立つ運動方程式を考える。
【0059】
はじめに、制御装置10は、指令値rを生成する(S40)。本例の場合、指令値rは位置に関する値であり、指令値rの最終値は目標値となる。指令値rはPID制御G(s)に入力され、推力を表す制御信号uが出力される(S41)。なお、同図ではフィードフォワード制御ブロックを省略しているが、制御ブロックとしてフィードフォワード制御ブロックを含んでもよく、例えば、モデル追従型2自由度制御を適用してよい。
【0060】
制御装置10は、むだ時間の推定値Lmに関する要素(1-e-Lms)を制御信号uに乗じて(S42)、制御対象のモデルPm(s)を乗じることで(S43)、スミス補償量を算出する。算出されたスミス補償量は、PID制御G(s)にフィードバックされる。ここで、制御対象は、対象装置20の一部(例えば可動部)又は全部である。また、制御対象のモデルPm(s)は、Pm(s)=1/(Jm×s+Cm)sである。
【0061】
そして、むだ時間Lだけ時間遅れe-Lsが生じた後(S44)、制御信号uが制御対象P(s)に入力される(S45)。制御対象P(s)は、P(s)=1/(J×s+C)sと表されるが、真の慣性係数J及び摩擦係数Cは未知であることが通常である。なお、むだ時間が通信遅延の場合、制御信号uの伝送についてL1の遅延が生じ、制御対象P(s)の物理量である位置yの伝送についてL2の遅延が生じることがあるが、本例ではL=L1+L2としてまとめて表している。遅延時間が時間変動しない場合、このような置き換えを行うことができる。
【0062】
その後、制御対象P(s)の物理量である位置yが読み取られ、PID制御G(s)にフィードバックされる。制御装置10は、所定の周期でこのような制御を繰り返すことで、位置yが指令値rに追従するように制御を行う。
【0063】
また、制御信号uに対してむだ時間の候補LmLに基づく時間遅れe-LmLsが乗算され(S46L)、さらに速度のモデルVm(s)が乗算されて(S47)、むだ時間の候補LmLに関する候補値が算出される。同様に、制御信号uに対してむだ時間の候補Lmに基づく時間遅れe-Lmsが乗算され(S46)、さらに速度のモデルVm(s)が乗算されて(S47)、むだ時間の候補Lmに関する候補値が算出される。また、制御信号uに対してむだ時間の候補LmHに基づく時間遅れe-LmHsが乗算され(S46H)、さらに速度のモデルVm(s)が乗算されて(S47)、むだ時間の候補LmHに関する候補値が算出される。なお、前述のようにVm(s)=1/(Jm×s+Cm)である。
【0064】
一方で、制御対象P(s)の位置yの時間微分が求められ(S48)、むだ時間の候補LmLに関する候補値との差VEELと、むだ時間の候補Lmに関する候補値との差VEEと、むだ時間の候補LmHに関する候補値との差VEEHとが算出され、VEEL,VEE及びVEEHに基づいてむだ時間推定が行われる(S49)。
【0065】
図4は、本実施形態に係る制御装置10の物理的構成を示す図である。制御装置10は、演算部に相当するCPU(Central Processing Unit)10aと、記憶部に相当するRAM(Random Access Memory)10bと、記憶部に相当するROM(Read Only Memory)10cと、通信部10dと、入力部10eと、表示部10fと、を有する。これらの各構成は、バスを介して相互にデータ送受信可能に接続される。なお、本例では制御装置10が一台のコンピュータで構成される場合について説明するが、制御装置10は、複数のコンピュータが組み合わされて実現されてもよい。また、図4で示す構成は一例であり、制御装置10はこれら以外の構成を有してもよいし、これらの構成のうち一部を有さなくてもよい。
【0066】
CPU10aは、RAM10b又はROM10cに記憶されたプログラムの実行に関する制御やデータの演算、加工を行う制御部である。CPU10aは、むだ時間の推定及びむだ時間の推定値に基づく対象装置20の制御を行わせるプログラム(制御プログラム)を実行する演算部である。CPU10aは、入力部10eや通信部10dから種々のデータを受け取り、データの演算結果を表示部10fに表示したり、RAM10bに格納したりする。
【0067】
RAM10bは、記憶部のうちデータの書き換えが可能なものであり、例えば半導体記憶素子で構成されてよい。RAM10bは、CPU10aが実行するプログラム、むだ時間の推定に用いる初期値といったデータを記憶してよい。なお、これらは例示であって、RAM10bには、これら以外のデータが記憶されていてもよいし、これらの一部が記憶されていなくてもよい。
【0068】
ROM10cは、記憶部のうちデータの読み出しが可能なものであり、例えば半導体記憶素子で構成されてよい。ROM10cは、例えば制御プログラムや、書き換えが行われないデータを記憶してよい。
【0069】
通信部10dは、装置10を他の機器に接続するインターフェースである。通信部10dは、LAN等の通信ネットワークに接続されてよい。
【0070】
入力部10eは、ユーザからデータの入力を受け付けるものであり、例えば、キーボード及びタッチパネルを含んでよい。
【0071】
表示部10fは、CPU10aによる演算結果を視覚的に表示するものであり、例えば、LCD(Liquid Crystal Display)により構成されてよい。表示部10fは、例えば、物理量の複数の候補値と実測された物理量との比較結果を表示してよい。
【0072】
制御プログラムは、RAM10bやROM10c等のコンピュータによって読み取り可能な記憶媒体に記憶されて提供されてもよいし、通信部10dにより接続される通信ネットワークを介して提供されてもよい。制御装置10では、CPU10aが制御プログラムを実行することにより、図2を用いて説明した様々な動作が実現される。なお、これらの物理的な構成は例示であって、必ずしも独立した構成でなくてもよい。例えば、制御装置10は、CPU10aとRAM10bやROM10cが一体化したLSI(Large-Scale Integration)を備えていてもよい。
【0073】
図5aは、第1シミュレーション例において本実施形態に係る制御装置10により制御された対象装置20の位置y1を示す図である。同図では、制御装置10により制御された対象装置20の位置y1を実線で示し、指令位置rを破線で示している。本シミュレーション例において、指令位置rは、時刻10[ms]から250[ms]までの間に原点から100[mm]まで単調増加する。移動の際の最大加速度は10000[mm/s]である。
【0074】
本シミュレーション例のその他の条件は以下のとおりである。慣性質量Jは10kg、粘性摩擦係数Cは0[Ns/m]、制御周期Tsは0.25[ms]、むだ時間周期数D=L/Tsは20である。本シミュレーション例においてモデル化誤差は生じていないと仮定する。本シミュレーション例におけるむだ時間の候補は、LmL/Ts=19、Lm/Ts=20及びLmH/Ts=21である。
【0075】
本実施形態に係る制御装置10により制御された対象装置20の位置y1は、目標値である100[mm]に収束している。
【0076】
図5bは、第1シミュレーション例において本実施形態に係る制御装置10により制御された位置と指令位置との誤差を示す図である。同図では、図5aに示すrとy1との差を示している。誤差は、指令位置が変化する間3.5[mm]程度まで拡大するが、指令位置が目標位置に達して一定となった後には急速にゼロに収束している。
【0077】
図5cは、第1シミュレーション例において本実施形態に係る制御装置10により制御された推力を示す図である。推力は、制御装置10から対象装置20に送信される制御信号である。推力は、正の加速度が生じる期間と負の加速度が生じる期間に逆符号で生成されている。
【0078】
図5dは、第1シミュレーション例において本実施形態に係る制御装置10により算出された速度の候補値と実測速度との誤差を示す図である。本シミュレーション例では、制御装置10は、むだ時間の候補LmL、Lm及びLmHに対応する速度の候補を算出し、実測速度との誤差VEEL1、VEE1及びVEEH1を算出している。
【0079】
むだ時間の候補LmLに対応する速度誤差VEEL1の絶対値は2.5[mm/s]程度であり、むだ時間の候補LmHに対応する速度誤差VEEH1の絶対値は2.2[mm/s]程度であり、むだ時間の候補Lmに対応する速度誤差VEE1の絶対値は0[mm/s]程度である。この場合、制御装置10は、速度誤差の絶対値が最小である速度の候補値
に対応するむだ時間の候補Lmをむだ時間の推定値としてよい。なお、本シミュレーション例の場合、スミス補償器において既に用いられているむだ時間パラメータが推定値となる。このようにして、本実施形態に係る制御装置10によれば、タイムスタンプ機能等の追加構成を必要とせずに、むだ時間を適切に推定することができる。
【0080】
制御装置10は、速度の候補値と実測速度との誤差を表示部に表示してもよい。また、制御装置10は、誤差の絶対値が最小である速度の候補値に対応する誤差曲線と、それ以外の誤差曲線とを異なる態様で示し、誤差の絶対値が最小である速度の候補値に対応するむだ時間の候補Lmの値を併せて表示してもよい。
【0081】
図6aは、第2シミュレーション例において本実施形態に係る制御装置10により制御された対象装置20の位置を示す図である。同図では、制御装置10により制御された対象装置20の位置y2を実線で示し、指令位置rを破線で示している。本シミュレーション例において、指令位置rは、時刻10[ms]から250[ms]までの間に原点から100[mm]まで単調増加する。移動の際の最大加速度は10000[mm/s]である。
【0082】
本シミュレーション例のその他の条件は以下のとおりである。慣性質量Jは10kg、粘性摩擦係数Cは0[Ns/m]、制御周期Tsは0.25[ms]、むだ時間周期数D=L/Tsは19である。本シミュレーション例においてモデル化誤差は生じていないと仮定する。本シミュレーション例におけるむだ時間の候補は、LmL/Ts=19、Lm/Ts=20及びLmH/Ts=21である。
【0083】
本実施形態に係る制御装置10により制御された対象装置20の位置y2は、目標値である100[mm]に収束している。
【0084】
図6bは、第2シミュレーション例において本実施形態に係る制御装置10により制御された推力を示す図である。推力は、制御装置10から対象装置20に送信される制御信号である。推力は、正の加速度が生じる期間と負の加速度が生じる期間に逆符号で生成されている。
【0085】
図6cは、第2シミュレーション例において本実施形態に係る制御装置10により算出された速度の候補値と実測速度との誤差を示す図である。本シミュレーション例では、制御装置10は、むだ時間の候補LmL、Lm及びLmHに対応する速度の候補を算出し、実測速度との誤差VEEL2、VEE2及びVEEH2を算出している。
【0086】
むだ時間の候補LmHに対応する速度誤差VEEH2の絶対値は5[mm/s]程度であり、むだ時間の候補Lmに対応する速度誤差VEE2の絶対値は2.5[mm/s]程度であり、むだ時間の候補LmLに対応する速度誤差VEEL2の絶対値は0[mm/s]程度である。この場合、制御装置10は、速度誤差の絶対値が最小である速度の候補値
に対応するむだ時間の候補LmLをむだ時間の推定値としてよい。このようにして、本実施形態に係る制御装置10によれば、タイムスタンプ機能等の追加構成を必要とせずに、むだ時間を適切に推定することができる。
【0087】
図7aは、第3シミュレーション例において本実施形態に係る制御装置10により制御された対象装置20の位置を示す図である。同図では、制御装置10により制御された対象装置20の位置y3を実線で示し、指令位置rを破線で示している。本シミュレーション例において、指令位置rは、時刻10[ms]から250[ms]までの間に原点から100[mm]まで単調増加する。移動の際の最大加速度は10000[mm/s]である。
【0088】
本シミュレーション例のその他の条件は以下のとおりである。慣性質量Jは10kg、粘性摩擦係数Cは0[Ns/m]、制御周期Tsは0.25[ms]、むだ時間周期数D=L/Tsは15である。本シミュレーション例においてモデル化誤差は生じていないと仮定する。本シミュレーション例におけるむだ時間の候補は、LmL/Ts=19、Lm/Ts=20及びLmH/Ts=21である。
【0089】
本実施形態に係る制御装置10により制御された対象装置20の位置y3は、目標値である100[mm]に収束している。
【0090】
図7bは、第3シミュレーション例において本実施形態に係る制御装置10により制御された推力を示す図である。推力は、制御装置10から対象装置20に送信される制御信号である。推力は、正の加速度が生じる期間と負の加速度が生じる期間に逆符号で生成されている。
【0091】
図7cは、第3シミュレーション例において本実施形態に係る制御装置10により算出された速度の候補値と実測速度との誤差を示す図である。本シミュレーション例では、制御装置10は、むだ時間の候補LmL、Lm及びLmHに対応する速度の候補を算出し、実測速度との誤差VEEL3、VEE3及びVEEH3を算出している。
【0092】
むだ時間の候補LmLに対応する速度誤差VEEL3の絶対値は10[mm/s]程度であり、むだ時間の候補Lmに対応する速度誤差VEE3の絶対値は12.5[mm/s]程度であり、むだ時間の候補LmHに対応する速度誤差VEEH3の絶対値は15[mm/s]程度である。ここで、3つの速度誤差は同符号である。この場合、制御装置10は、3つの速度誤差のうち少なくとも2つを用いた外挿によりむだ時間を推定してよい。例えば、制御装置10は、むだ時間をLmL/Ts-VEEL3×((Lm-LmL)/Ts)/(VEE3-VEEL3)=15と推定してよい。また、制御装置10は、複数のむだ時間の候補と、複数の速度誤差とについて線形回帰によって回帰式を求め、速度誤差がゼロになるようにむだ時間を推定してよい。このようにして、本実施形態に係る制御装置10によれば、タイムスタンプ機能等の追加構成を必要とせずに、むだ時間を適切に推定することができる。
【0093】
制御装置10は、複数の速度誤差のうち少なくとも2つを用いた外挿によりむだ時間を推定する場合、むだ時間及び速度誤差に関する回帰直線のグラフを表示し、速度誤差がゼロとなるむだ時間の推定値を視覚的に示してもよい。
【0094】
図8aは、第4シミュレーション例において本実施形態に係る制御装置10により制御された対象装置20の位置を示す図である。同図では、制御装置10により制御された対象装置20の位置y4を実線で示し、指令位置rを破線で示している。本シミュレーション例において、指令位置rは、時刻10[ms]から250[ms]までの間に原点から100[mm]まで単調増加する。移動の際の最大加速度は10000[mm/s]である。
【0095】
本シミュレーション例のその他の条件は以下のとおりである。慣性質量Jは10kg、粘性摩擦係数Cは0[Ns/m]、制御周期Tsは0.25[ms]、むだ時間周期数D=L/Tsは17である。本シミュレーション例においてモデル化誤差は生じていないと仮定する。本シミュレーション例におけるむだ時間の候補は、LmL/Ts=15、Lm/Ts=20及びLmH/Ts=25である。
【0096】
本実施形態に係る制御装置10により制御された対象装置20の位置y4は、目標値である100[mm]に収束している。
【0097】
図8bは、第4シミュレーション例において本実施形態に係る制御装置10により制御された推力を示す図である。推力は、制御装置10から対象装置20に送信される制御信号である。推力は、正の加速度が生じる期間と負の加速度が生じる期間に逆符号で生成されている。
【0098】
図8cは、第4シミュレーション例において本実施形態に係る制御装置10により算出された速度の候補値と実測速度との誤差を示す図である。本シミュレーション例では、制御装置10は、むだ時間の候補LmL、Lm及びLmHに対応する速度の候補を算出し、実測速度との誤差VEEL4、VEE4及びVEEH4を算出している。
【0099】
正の推力が加えられている時刻10[ms]から80[ms]程度までに着目すると、むだ時間の候補LmLに対応する速度誤差VEEL4は5[mm/s]程度であり、むだ時間の候補Lmに対応する速度誤差VEE4は-8[mm/s]程度であり、むだ時間の候補LmHに対応する速度誤差VEEH4は-20[mm/s]程度である。ここで、VEEL4とVEE4及びVEEH4とは逆符号である。この場合、制御装置10は、3つの速度誤差のうち少なくとも2つを用いた内挿によりむだ時間を推定してよい。例えば、制御装置10は、むだ時間をLmL/Ts-VEEL4×((Lm-LmL)/Ts)/(VEE4-VEEL4)=16.9と推定してよい。また、制御装置10は、複数のむだ時間の候補と、複数の速度誤差とについて線形回帰によって回帰式を求め、速度誤差がゼロになるようにむだ時間を推定してよい。このようにして、本実施形態に係る制御装置10によれば、タイムスタンプ機能等の追加構成を必要とせずに、むだ時間を適切に推定することができる。
【0100】
制御装置10は、複数の速度誤差のうち少なくとも2つを用いた内挿によりむだ時間を推定する場合、むだ時間及び速度誤差に関する回帰直線のグラフを表示し、速度誤差がゼロとなるむだ時間の推定値を視覚的に示してもよい。
【0101】
図9aは、第5シミュレーション例において本実施形態に係る制御装置10により制御された対象装置20の位置を示す図である。同図では、制御装置10により制御された対象装置20の位置y5を実線で示し、指令位置rを破線で示している。本シミュレーション例において、指令位置rは、時刻10[ms]から250[ms]までの間に原点から100[mm]まで単調増加する。本シミュレーション例では、第1から第4シミュレーション例の場合と異なり、5次軌道に従う指令位置rが生成されている。
【0102】
本シミュレーション例のその他の条件は以下のとおりである。慣性質量Jは10kg、粘性摩擦係数Cは0[Ns/m]、制御周期Tsは0.25[ms]、むだ時間周期数D=L/Tsは20である。本シミュレーション例においてモデル化誤差は生じていないと仮定する。本シミュレーション例におけるむだ時間の候補は、LmL/Ts=19、Lm/Ts=20及びLmH/Ts=21である。
【0103】
本実施形態に係る制御装置10により制御された対象装置20の位置y5は、目標値である100[mm]に収束している。
【0104】
図9bは、第5シミュレーション例において本実施形態に係る制御装置10により制御された位置と指令位置との誤差を示す図である。同図では、図9aに示すrとy5との差を示している。誤差は、指令位置が変化する間5[mm]程度まで拡大するが、指令位置が目標位置に達して一定となった後には急速にゼロに収束している。
【0105】
図9cは、第5シミュレーション例において本実施形態に係る制御装置10により制御された推力を示す図である。推力は、制御装置10から対象装置20に送信される制御信号である。推力は、正の加速度が生じる期間と負の加速度が生じる期間に逆符号で生成されている。
【0106】
図9dは、第5シミュレーション例において本実施形態に係る制御装置10により算出された速度の候補値と実測速度との誤差を示す図である。本シミュレーション例では、制御装置10は、むだ時間の候補LmL、Lm及びLmHに対応する速度の候補を算出し、実測速度との誤差VEEL5、VEE5及びVEEH5を算出している。
【0107】
むだ時間の候補LmLに対応する速度誤差VEEL5の最大値は2.5[mm/s]程度であり、むだ時間の候補Lmに対応する速度誤差VEE5の絶対値は0[mm/s]程度であり、むだ時間の候補LmHに対応する速度誤差VEEH5の最大値は2.5[mm/s]程度である。この場合、制御装置10は、速度誤差の絶対値が最小である速度の候補値
に対応するむだ時間の候補Lmをむだ時間の推定値としてよい。
【0108】
また、本シミュレーション例のように速度誤差が時間的に連続変化する場合、誤差の絶対値が極大となる時刻を選んでむだ時間の推定を行ってもよい。本シミュレーション例の場合、時刻70[ms]程度及び時刻210[ms]程度のいずれかを選んでよい。誤差の絶対値が極大となる時刻を選ぶことで、速度誤差がゼロになるようなむだ時間をより精度良く推定することができる。
【0109】
制御装置10は、誤差の絶対値が極大となる時刻を選んでむだ時間の推定を行う場合、選択した時刻を表示部に表示してもよい。また、誤差の絶対値が極大となる時刻が複数存在する場合、制御装置10は、いずれの時刻を用いるか入力を受け付けてもよい。
【0110】
図10は、本実施形態に係る制御装置10により実行される第1制御処理のフローチャートである。はじめに、制御装置10は、初期値の設定を行う(S10)。初期値の設定は、例えば、対象装置20のモデル値を設定すること、制御信号である推力をゼロに初期化すること、むだ時間の複数の候補となる値を設定することを含んでよい。
【0111】
その後、制御装置10は、制御ループ処理を開始する。制御ループは、所定の制御周期で繰り返し実行される。ここで、制御周期は、例えば0.25[ms]としてよい。
【0112】
制御ループにおいて、制御装置10は、指令位置、センサ30により測定された対象装置20の位置、前回算出されたスミス補償量に基づいてPID制御計算を行う(S11)。PID制御計算により制御信号である推力が算出される。制御装置10は、算出した推力に基づいて対象装置20を制御する。
【0113】
また、制御装置10は、対象装置20のモデル及びむだ時間に基づいて、スミス補償量を計算する(S12)。
【0114】
さらに、制御装置10は、速度の複数の候補値を算出し、センサ30による実測に基づく速度との誤差を計算し(S13)、記憶部に記憶する。
【0115】
制御装置10は、制御ループ処理を終えて制御終了するか否か判定する(S14)。制御を継続する場合(S14:NO)、PID制御計算(S11)から速度誤差計算(S13)までの処理を再び実行する。制御終了の場合(S14:YES)、制御ループを抜ける。
【0116】
制御ループを抜けた後、制御装置10は、記憶された速度誤差に基づいてむだ時間を推定する。制御装置10は、むだ時間の複数の候補に対応する速度誤差それぞれについて絶対値の平均値を求め、例えば誤差の絶対値が最小となる速度の候補値に対応するむだ時間の候補をむだ時間の推定値としてよい。また、制御装置10は、むだ時間の複数の候補に対応する複数の速度誤差に基づいて内挿又は外挿を行い、内挿又は外挿の係数の平均値に基づいて誤差がゼロに近くなる速度に対応するむだ時間をむだ時間の推定値としてもよい。
【0117】
制御装置10は、むだ時間の推定値が現在用いられているむだ時間と異なる場合に、スミス補償器に設定するむだ時間パラメータを更新するか否かの入力を受け付けてもよい。その際、速度誤差のグラフを表示部に表示したり、更新前のむだ時間と新たなむだ時間の推定値とを表示したりしてもよい。
【0118】
図11は、本実施形態に係る制御装置10により実行される第2制御処理のフローチャートである。第2制御処理は、制御ループの間にむだ時間を更新する処理である。はじめに、制御装置10は、初期値の設定を行う(S20)。初期値の設定は、例えば、対象装置20のモデル値を設定すること、制御信号である推力をゼロに初期化すること、むだ時間の複数の候補となる値を設定することを含んでよい。
【0119】
その後、制御装置10は、制御ループ処理を開始する。制御ループは、所定の制御周期で繰り返し実行される。ここで、制御周期は、例えば0.25[ms]としてよい。
【0120】
制御ループにおいて、制御装置10は、指令位置、センサ30により測定された対象装置20の位置、前回算出されたスミス補償量に基づいてPID制御計算を行う(S21)。PID制御計算により制御信号である推力が算出される。制御装置10は、算出した推力に基づいて対象装置20を制御する。
【0121】
また、制御装置10は、対象装置20のモデル及びむだ時間に基づいて、スミス補償量を計算する(S22)。
【0122】
さらに、制御装置10は、速度の複数の候補値を算出し、センサ30による実測に基づく速度との誤差を計算する(S23)。
【0123】
制御装置10は、算出された速度誤差に基づいてむだ時間を推定する(S24)。制御装置10は、例えば誤差の絶対値が最小となる速度の候補値に対応するむだ時間の候補をむだ時間の推定値としてよい。また、制御装置10は、複数の速度誤差に基づいて内挿又は外挿を行い、誤差がゼロに近くなる速度に対応するむだ時間をむだ時間の推定値としてもよい。
【0124】
その後、制御装置10は、スミス補償器に設定するむだ時間パラメータを更新する(S25)。制御装置10は、むだ時間パラメータの更新を自動的に行うか否かについて予め入力を受け付けてもよい。また、制御装置10は、更新前のむだ時間と更新後のむだ時間の差の絶対値が所定値以上である場合にスミス補償器に設定するむだ時間パラメータを更新し、当該差の絶対値が所定値未満である場合にはスミス補償器に設定するむだ時間パラメータを変更しないこととしてもよい。
【0125】
制御装置10は、制御ループ処理を終えて制御終了するか否か判定する(S26)。制御を継続する場合(S26:NO)、PID制御計算(S21)からむだ時間パラメータ更新(S25)までの処理を再び実行する。制御終了の場合(S26:YES)、制御ループを抜け、制御処理を終了する。
【0126】
図12は、本発明の第2実施形態に係る制御装置10Aの制御ブロックを示す図である。本実施形態に係る制御装置10Aは、対象装置20の位置及び速度の少なくともいずれかを制御し、センサ30は、対象装置20の位置を測定し、算出部14は、制御信号及びむだ時間の複数の候補に基づいて、位置の複数の候補値を算出し、推定部15は、センサ30により測定された位置と、位置の複数の候補値との比較に基づいて、むだ時間を推定する点で第1実施形態に係る制御装置10と相違する。その他の構成について、本実施形態に係る制御装置10Aは、第1実施形態に係る制御装置10と同様の構成を有し、本実施形態に係る制御装置10Aの機能ブロックは、図2に示す第1実施形態に係る制御装置10の機能ブロックと同様である。
【0127】
本実施形態においては、制御信号uに対してむだ時間の候補LmLに基づく時間遅れe-LmLsが乗算され(S46L)、さらに位置のモデルPm(s)が乗算されて(S47a)、むだ時間の候補LmLに関する候補値が算出される。同様に、制御信号uに対してむだ時間の候補Lmに基づく時間遅れe-Lmsが乗算され(S46)、さらに位置のモデルPm(s)が乗算されて(S47)、むだ時間の候補Lmに関する候補値が算出される。また、制御信号uに対してむだ時間の候補LmHに基づく時間遅れe-LmHsが乗算され(S46H)、さらに位置のモデルPm(s)が乗算されて(S47)、むだ時間の候補LmHに関する候補値が算出される。なお、前述のようにPm(s)=1/(Jm×s+Cm)sである。
【0128】
一方で、制御対象P(s)の位置yがセンサ30により測定され、むだ時間の候補LmLに関する候補値との差PEELと、むだ時間の候補Lmに関する候補値との差PEEと、むだ時間の候補LmHに関する候補値との差PEEHとが算出され、PEEL、PEE及びPEEHに基づいてむだ時間推定が行われる(S49a)。
【0129】
このようにセンサ30により測定された位置と直接比較することができる複数の候補値を算出することで、基準値(第1実施形態の場合速度)の算出を不要とすることができる。
【0130】
図13は、本発明の第3実施形態に係る制御装置10の制御ブロックを示す図である。本実施形態に係る制御装置10Bは、算出部14が、制御信号、過去に測定された物理量及びむだ時間の複数の候補に基づいて、複数の候補値を算出する点で第1実施形態に係る制御装置10と相違する。その他の構成について、本実施形態に係る制御装置10Bは、第1実施形態に係る制御装置10と同様の構成を有し、本実施形態に係る制御装置10Bの機能ブロックは、図2に示す第1実施形態に係る制御装置10の機能ブロックと同様である。
【0131】
制御周期をTsと表し、むだ時間周期数をdm=Lm/Tsと表し、現在の制御周期をnと表すとき、本実施形態においては、制御信号u及び過去に測定された位置の時間微分(S48)に基づいて、数式(1)によりむだ時間の候補Lmに関する候補値EstVel(n)が算出される(S50)。
【0132】
【数1】
【0133】
ここで、ActVel(n-1)は、一周期前の速度の実測値であり、u(n-dm)は、むだ時間周期前の推力である。なお、Jmは慣性係数のモデル値であり、Cmは粘性摩擦係数のモデル値である。数式(1)の右辺第二項は、むだ時間周期前の推力から摩擦力を引き、慣性係数で割って加速度を求め、制御周期の時間を掛けることで速度の差分を求めている。
【0134】
同様に、むだ時間の候補LmLに関する候補値は、数式(1)においてdmをLmL/Tsに置き換えて算出される(S50L)。また、むだ時間の候補LmHに関する候補値は、数式(1)においてdmをLmH/Tsに置き換えて算出される(S50H)。
【0135】
一方で、制御対象P(s)の位置yの時間微分が求められ(S48)、むだ時間の候補LmLに関する候補値との差VEELと、むだ時間の候補Lmに関する候補値との差VEEと、むだ時間の候補LmHに関する候補値との差VEEHとが算出され、VEEL、VEE及びVEEHに基づいてむだ時間推定が行われる(S49b)。
【0136】
このように過去に測定された対象装置の物理量を参照することでも、時刻情報の送受信のような追加構成を必要とせず、適切にむだ時間を推定することができる。
【0137】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【0138】
[付記1]
制御信号に基づいて制御される対象装置(20)と、
前記対象装置(20)の物理量を測定するセンサ(30)と、
指令値及び前記物理量に基づいて前記対象装置(20)に前記制御信号を送りフィードバック制御を行う制御装置(10)と、を備え、
前記制御装置(10)は、
前記制御信号及びむだ時間の複数の候補に基づいて、複数の候補値を算出する算出部(14)と、
前記センサ(30)により測定された物理量に基づく基準値と、前記複数の候補値との比較に基づいて、むだ時間を推定する推定部(15)と、を有する、
制御システム(100)。
【0139】
[付記2]
センサ(30)により測定される対象装置(20)の物理量及び指令値に基づいて前記対象装置(20)に制御信号を送りフィードバック制御を行う制御装置(10)であって、
前記制御信号及びむだ時間の複数の候補に基づいて、複数の候補値を算出する算出部(14)と、
前記センサ(30)により測定された物理量に基づく基準値と、前記複数の候補値との比較に基づいて、むだ時間を推定する推定部(15)と、を有する、
制御装置(10)。
【0140】
[付記3]
センサ(30)により測定される対象装置(20)の物理量及び指令値に基づいて前記対象装置(20)に制御信号を送りフィードバック制御を行う制御方法であって、
前記制御信号及びむだ時間の複数の候補に基づいて、複数の候補値を算出することと、
前記センサ(30)により測定された物理量に基づく基準値と、前記複数の候補値との比較に基づいて、むだ時間を推定することと、
を含む制御方法。
【0141】
[付記4]
センサ(30)により測定される対象装置(20)の物理量及び指令値に基づいて前記対象装置(20)に制御信号を送りフィードバック制御を行う制御装置(10)に、
前記制御信号及びむだ時間の複数の候補に基づいて、複数の候補値を算出することと、
前記センサ(30)により測定された物理量に基づく基準値と、前記複数の候補値との比較に基づいて、むだ時間を推定することと、
を実行させる制御プログラム。
【符号の説明】
【0142】
10…制御装置、10a…CPU、10b…RAM、10c…ROM、10d…通信部、10e…入力部、10f…表示部、11…指令値生成部、12…制御信号生成部、13…取得部、14…算出部、15…推定部、20…対象装置、30…センサ、100…制御システム
図1
図2
図3
図4
図5a
図5b
図5c
図5d
図6a
図6b
図6c
図7a
図7b
図7c
図8a
図8b
図8c
図9a
図9b
図9c
図9d
図10
図11
図12
図13