(57)【要約】【課題】所望の時刻での位置を高精度に推定することが可能なロボットシスシステム及びロボット制御装置を提供する。【解決手段】  モータによって所定部位が動作するロボット２と、モータをサーボ制御するサーボ制御器と、個々のサーボ制御器２１等に対して動作指令を送信するロボット制御装置１と、を有するロボットシステムにおいて、ロボット２には、モータの回転角度に基づく位置データを検出するセンサと、が設けられ、ロボット制御装置１には、サーボ制御器２１等への動作指令を生成するとともに、位置データを受信するホスト制御器１０と、現在又は将来の位置データを推定する推定器１３と、が設けられ、推定器１３は、動作指令とサーボ制御器２１等のサーボ制御パラメータを使用したシミュレータ出力を、既に知られた過去の位置データで補正することによって、現在又は将来の位置データを推定する。【選択図】図１
2008142786.tif 000002
【特許請求の範囲】
【請求項１】
モータによって所定部位が動作するロボットと、前記モータをサーボ制御するサーボ制御器と、個々の前記サーボ制御器に対して動作指令を送信するロボット制御装置と、を有するロボットシステムにおいて、
前記ロボットには、前記モータの回転角度に基づく位置データを検出するセンサと、が設けられ、前記ロボット制御装置には、前記サーボ制御器への前記動作指令を生成するとともに、前記位置データを受信するホスト制御器と、現在又は将来の前記位置データを推定する推定器と、が設けられ、
前記推定器は、前記動作指令と前記サーボ制御器のサーボ制御パラメータを使用したシミュレータ出力を、既に知られた過去の前記位置データで補正することによって、現在又は将来の前記位置データを推定することを特徴とするロボットシステム。
【請求項２】
前記推定器は、前記動作指令と前記サーボ制御器のサーボ制御パラメータを使用したシミュレーションを実行するシミュレータと、既に知られた過去の前記位置データに基づいて生成された補正量を前記シミュレータの出力から減算する減算部と、を備えることを特徴とする請求項１記載のロボットシステム。
【請求項３】
前記シミュレータは、前記動作指令と前記サーボ制御器のサーボ制御パラメータを使用して、実際の制御対象と前記サーボ制御器のモデルをシミュレーションすることを特徴とする請求項２記載のロボットシステム。
【請求項４】
前記推定器は、前記補正量として、前記ホスト制御器が過去に前記位置データを受信した受信時刻において前記シミュレータ出力から前記位置データを減算した差分値を用いることを特徴とする請求項２又は３記載のロボットシステム。
【請求項５】
前記推定器は、前記補正量として、複数の前記受信時刻において各々の前記差分値を求め、それらを平均化した差分平均化値を用いることを特徴とする請求項４記載のロボットシステム。
【請求項６】
前記推定器は、前記ロボットが一定速度で動作する場合には補間器から構成されることを特徴とする請求項１から５のいずれか記載のロボットシステム。
【請求項７】
請求項１から請求項６記載のロボットシステムで用いられるロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば多関節型作業ロボットなどの様々なロボットを制御するロボットシスシステム及びロボット制御装置に関する。
【背景技術】
【０００２】
従来から、産業用ロボットとして単関節型作業ロボットや多関節型作業ロボットがある。これらのロボットにワークの搬送や溶接などの各種作業を行わせる場合、ホストＰＣは、ロボットの関節を回動させるモータをサーボ制御するサーボ制御器に対して動作指令を行う。一方で、ロボットの関節は、モータの回転角を測定するエンコーダを有しており、ホストＰＣは、サーボ制御器を介して、このエンコーダから送られてくるフィードバック位置（回転角測定値など）を参照してサンプリングしつつ、目標値と実測値との偏差を認識してサーボ制御を行う。
【０００３】
ここで、上述したフィードバック位置は、所定のサンプリング周期でサンプリングされるところ、このサンプリング周期以外の時刻での位置を推定するためには、位置推定に関する信号処理が必要になる。特許文献１に開示されたロボット制御装置では、遅延データをベースにした外挿方式によって、サンプリング周期以外の時刻での位置を推定している。
【０００４】
より具体的に説明すると、まず、フィードバック位置Ｘをサンプリングする。そして、直近のサンプリング時刻との関係で、サンプリング時間間隔を計算し、フィードバック位置の差分を計算するとともに、フィードバック位置の差分をサンプリング時間間隔で割って、フィードバック位置の変化率（変化率Ａ）を求める。一方で、サンプリング時刻からサーボ指令時刻までの時間差（時間差Ｂ）を計算する。そして、最後に、変化率Ａに時間差Ｂを乗じて得られた値を、上記フィードバック位置Ｘに加算することによって、サーボ指令時刻の位置を推定している。
【０００５】
【特許文献１】特開平５−３３３９３１号公報（段落［０００９］〜［００１２］）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に開示された、遅延データをベースにした外挿方式では、サンプリングにより得られる位置が既に遅延データとなっているため、目的の精度（より高精度な推定値）を得ることができない。
【０００７】
本発明は、このような点に鑑みてなされたものであり、その目的は、所望の時刻での位置を高精度に推定することが可能なロボットシスシステム及びロボット制御装置を提供することにある。
【課題を解決するための手段】
【０００８】
以上のような課題を解決するために、本発明は、以下のものを提供する。
【０００９】
（１）  モータによって所定部位が動作するロボットと、前記モータをサーボ制御するサーボ制御器と、個々の前記サーボ制御器に対して動作指令を送信するロボット制御装置と、を有するロボットシステムにおいて、前記ロボットには、前記モータの回転角度に基づく位置データを検出するセンサと、が設けられ、前記ロボット制御装置には、前記サーボ制御器への前記動作指令を生成するとともに、前記位置データを受信するホスト制御器と、現在又は将来の前記位置データを推定する推定器と、が設けられ、前記推定器は、前記動作指令と前記サーボ制御器のサーボ制御パラメータを使用したシミュレータ出力を、既に知られた過去の前記位置データで補正することによって、現在又は将来の前記位置データを推定することを特徴とするロボットシステム。
【００１０】
本発明によれば、ロボットとサーボ制御器とロボット制御装置を有するロボットシステムにおいて、ロボットにセンサが設けられ、ロボット制御装置にホスト制御器と推定器が設けられ、この推定器によって、動作指令とサーボ制御器のサーボ制御パラメータを使用したシミュレータ出力を、既に知られた過去の位置データで補正することによって、現在又は将来の位置データを推定することとしたので、遅延データをベースにした外挿方式と比べて、より高精度な推定値を得ることができる。
【００１１】
すなわち、動作指令とサーボ制御パラメータを用いてリアルタイムシミュレータ（シミュレータ）を構成することによって、サンプリングされる遅延データを従属的に使用して、サンプリング時刻以外の現在位置を高精度に推定することができる。
【００１２】
また、シミュレータの構成に必要なパラメータは新規に与える必要がなく、既存のサーボ制御に使用するパラメータを流用することができるので、新規パラメータ設定等の作業を減らし、汎用性を高めることができる。なお、本発明は、「既に知られた過去の位置データ」が長周期でしか得られない場合であっても、短周期のデータを推定することが可能である。
【００１３】
（２）  前記推定器は、前記動作指令と前記サーボ制御器のサーボ制御パラメータを使用したシミュレーションを実行するシミュレータと、既に知られた過去の前記位置データに基づいて生成された補正量を前記シミュレータの出力から減算する減算部と、を備えることを特徴とするロボットシステム。
【００１４】
本発明によれば、上述した推定器は、動作指令とサーボ制御器のサーボ制御パラメータを使用したシミュレーションを実行するシミュレータと、既に知られた過去の位置データに基づいて生成された補正量をシミュレータの出力から減算する減算部と、を備えることとしたので、（乗算処理等はなく、）減算処理に基づく位置推定を実行することができ、ひいては計算負荷が増大するのを防ぎながら、より高精度な推定値を得ることができる。
【００１５】
（３）  前記シミュレータは、前記動作指令と前記サーボ制御器のサーボ制御パラメータを使用して、実際の制御対象と前記サーボ制御器のモデルをシミュレーションすることを特徴とするロボットシステム。
【００１６】
本発明によれば、上述したシミュレータは、動作指令とサーボ制御器のサーボ制御パラメータを使用して、実際の制御対象とサーボ制御器のモデルをシミュレーションすることとしたので、遅延データをベースにした外挿方式と比べて、より高精度な推定値を得ることができる。
【００１７】
（４）  前記推定器は、前記補正量として、前記ホスト制御器が過去に前記位置データを受信した受信時刻において前記シミュレータ出力から前記位置データを減算した差分値を用いることを特徴とするロボットシステム。
【００１８】
本発明によれば、上述した推定器は、上述した補正量として、ホスト制御器が過去に位置データを受信した受信時刻においてシミュレータ出力から位置データを減算した差分値を用いることとしたので、減算処理に基づき補正量を簡易に算出することができ、ひいては計算負荷が増大するのを防ぎながら、より高精度な推定値を得ることができる。
【００１９】
（５）  前記推定器は、前記補正量として、複数の前記受信時刻において各々の前記差分値を求め、それらを平均化した差分平均化値を用いることを特徴とするロボットシステム。
【００２０】
本発明によれば、上述した推定器は、上述した補正量として、複数の受信時刻において各々の差分値を求め、それらを平均化した差分平均化値を用いることとしたので、減算処理に基づき補正量を簡易に算出することができるとともに、ひいては計算負荷が増大するのを防ぎながら、より高精度な推定値を得ることができる。また、差分平均化値を用いることで、推定誤差をより小さくすることができる。
【００２１】
（６）  前記推定器は、前記ロボットが一定速度で動作する場合には補間器から構成されることを特徴とするロボットシステム。
【００２２】
本発明によれば、上述した推定器は、ロボットが一定速度で動作する場合には補間器から構成されることとしたので、この場合にはより簡易な構成で、高精度な推定値を得ることができる。
【００２３】
（７）  （１）から（６）記載のロボットシステムで用いられるロボット制御装置。
【００２４】
本発明によれば、上述したロボットシステムで用いられるロボット制御装置を提供することとしたので、上述同様、遅延データをベースにした外挿方式と比べて、より高精度な位置推定が可能になる。
【発明の効果】
【００２５】
以上説明したように、本発明によれば、遅延データをベースにした外挿方式と比べて、サンプリング時刻以外の現在位置を高精度に推定することができる。また、シミュレータの構成に必要なパラメータは新規に与えなくてよいので、新規パラメータ設定等の作業を減らして汎用性を高めることができる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
【００２７】
図１は、本発明の実施の形態に係るロボットシステムのシステム構成を示すブロック図である。
【００２８】
図１において、本実施形態に係るロボットシステムは、モータによって所定部位（第１軸や第２軸など）が動作するロボット２と、モータをサーボ制御するサーボ制御器２１等と、これらサーボ制御器２１等に対して動作指令を送信するロボット制御装置１と、を有している。
【００２９】
ロボット制御装置１は、主として、ロボット制御器（ＭＣＳ）として機能するホスト制御器１０と、推定器１３と、を有している。ホスト制御器１０は、主として、サーボ制御器２１等への動作指令を生成するとともに、サーボ制御器２１等に動作指令を送信する指令生成送信器１１と、サーボ制御器２１等から送られてくるフィードバックデータ（位置データ）を受信するフィードバックデータ受信器１２と、を有している。推定器１３は、現在又は将来の位置データのシミュレーション推定を行う。
【００３０】
ロボット制御装置１には、例えばロボット２のアームなどを動作させる複数の軸のうち、第１軸（のモータ）をサーボ制御するサーボ制御器２１と、第２軸（のモータ）をサーボ制御するサーボ制御器２２と、が接続されている（図１では、説明の便宜上、第１軸及び第２軸だけを考慮するが、軸数の如何は問わない）。また、これら各々のサーボ制御器２１，２２には、それぞれモータ・エンコーダ２３，２４が接続され、これらのモータ・エンコーダ２３，２４はロボット２に設けられている。モータ・エンコーダ２３は、第１軸によって軸支される部位を旋回等させるモータと、このモータの回転角度データに基づく位置データを検出するエンコーダと、を有している（物理的に１ユニットになっていることを要求するものではない）。同様に、モータ・エンコーダ２４は、第２軸によって軸支される部位を旋回等させるモータと、このモータの回転角度データに基づく位置データを検出するエンコーダと、を有している。なお、本実施形態では、モータの回転角度に基づく位置データを検出する「センサ」として、エンコーダを採用しているが、その他、位置データを検出し得るものであれば、如何なる装置・機器であってもよい。
【００３１】
ここで、ロボット制御装置１から、ロボット２のサーボ制御器２１及びサーボ制御器２２への各種指令は、シリアル伝送によって送られるようになっている。すなわち、ロボット制御装置１とサーボ制御器２１とが（有線又は無線によって）電気的に接続され、サーボ制御器２１とサーボ制御器２２とが（有線又は無線によって）電気的に接続されることによって、ロボット制御装置１からサーボ制御器２２への指令は、サーボ制御器２１を介して送られることになる。このようなシリアル伝送とすることで、ロボット制御装置１の入出力が１系統で足りることから（図１参照）、配線の複雑化を防ぐことができるようになっている。
【００３２】
しかし、このシリアル伝送を採用した場合には、サーボ制御器２１とサーボ制御器２２とで信号伝達に遅延が発生する。また、ロボット制御装置１の処理周期（例えば４ｍｓ）と、サーボ制御器２１やサーボ制御器２２の処理周期（例えば１ｍｓ）とは一般に異なっているため、現時点（現在）位置データの推定が重要になる。そこで、本実施形態に係るロボットシステムでは、推定器１３において実時間シミュレーションを行い、その結果を、（遅延）フィードバックデータを使用して補正することによって、所望の位置での位置を高精度に推定できるようにする。
【００３３】
次に、図１に示すロボットシステムにおいて、ロボット制御装置１のハードウェア構成について説明する。図２は、本発明の実施の形態に係るロボット制御装置１のハードウェア構成を示すブロック図である。
【００３４】
図２において、ホスト制御器１０は、指令生成送信器１１によって（４ｍｓごとに）発生した１周期先の（指令）データと、フィードバックデータ受信器１２によって（４ｍｓごとに）受信した１周期前の位置ＦＢ（フィードバック）データとを、推定器１３に対して送信する。
【００３５】
推定器１３は、遅延器１３１と、補間器１３２と、シミュレータ１３３と、ラッチ部１３４と、遅延器１３５と、平均化部１３６と、ホールド部１３７と、を有しており、これらを介して１ｍｓ単位での位置推定値を得ることができるようになっている。遅延器１３１及び遅延器１３５は、いずれもＺ変換領域でＺ−１だけ（時間領域で４ｍｓだけ、周波数領域でｅ−４ｓだけ）データを遅延させるものである。補間器１３２は、サーボ制御器２１等における補間器と同等のものである。ラッチ部１３４は、４ｍｓ周期でシミュレータ１３３の出力をラッチするものである。平均化部１３６は、入力データを平均化して出力するものであって（本実施形態では、２個のデータを平均化して出力している）、ホールド部１３７は、入力データを１ｍｓ周期でホールドするものである。なお、図２において、ラッチ部１３４の出力から位置ＦＢデータの減算が行われており、これを実際に実行する減算器は、既に知られた過去の位置データに基づいて生成された補正量をシミュレータの出力から減算する「減算部」として機能する。
【００３６】
そして、シミュレータ１３３は、所与のサーボ制御パラメータより２次の極配置モデルとＦＦ（フィードフォア）モデルをシミュレートするものである。すなわち、サーボ制御器への動作指令とサーボ制御器２１等のサーボ制御パラメータを使用して、実際の制御対象とサーボ制御器２１等のモデルをシミュレーションする。なお、本実施形態では、２次の極配置モデルを採用するが、本発明はこれに限られず、１次であっても３次以上の高次であってもよい。
【００３７】
補間器１３２とシミュレータ１３３の伝達関数については、図３及び図４を用いて説明する。図３は、図２に示す補間器１３２及びシミュレータ１３３（図２の点線枠Ｘ内）の伝達関数を示すブロック図である。また、図４は、図３に示す補間器１３２とＦＦモデル３１のより詳細な伝達関数を示すブロック図である。
【００３８】
図３に示すように、シミュレータ１３３は、ＦＦモデル３１と、極配置モデル３２と、から構成されている。ここで、極配置モデル３２の伝達関数は、（１＋ｐ１ｚ＋ｐ０）／（ｚ２＋ｐ１ｚ＋ｐ０）であり、ｐ１＝−ｅｘｐ（−ｗ１×Ｔ２）−ｅｘｐ（−ｗ２×Ｔ２）、ｐ０＝ｅｘｐ（−ｗ１×Ｔ２）×ｅｘｐ（−ｗ２×Ｔ２）、ｗ１，ｗ２＝それぞれ極となる各周波数（ボード線図でいえば折点角周波数）、Ｔ１，Ｔ２＝それぞれ４ｍｓ，１ｍｓである。また、補間器１３２の伝達関数は、図４に示すとおり、主として４個のＦＩＲフィルタ等から構成されている。さらに、ＦＦモデル３１の伝達関数は、図４に示すとおりであって、図４中の各パラメータは、Ｍ１＝ｅｘｐ（−ｗ１×Ｔ２）×ｅｘｐ（−ｗ２×Ｔ２）、Ｍ２＝Ｍ１＋１．０−ｅｘｐ（−ｗ１×Ｔ２）−ｅｘｐ（−ｗ２×Ｔ２）、ＦＦＧ＝Ｆ１／｛１−ｅｘｐ（−ｗ１×Ｔ２）｝、ＦＦＧ２＝Ｆ２／｛１−ｅｘｐ（−ｗ２×Ｔ２）｝、Ｆ１＝２16×所定の割合（０〜１．０）、Ｆ２＝２16×所定の割合（０〜１．０）である。
【００３９】
また、図４において、補間器１３２の一出力となるＣＰＬＳ０（ｉ）は、補間後２段のＦＩＲフィルタ（４ｍｓ）を経て得られた信号であって、補間器１３２の一出力となるＣＶＥＬ０（ｉ）は、４ｍｓ速度目標値を４倍した値（１６ｍｓの変化量）、つまり２５０μｓの６４（２16）倍して、２段のＦＩＲフィルタ（４ｍｓ）を経て得られた信号である。そして、これらＣＰＬＳ０及びＣＶＥＬ０を用いて、ＣＦ１ＶＥＬ０＝ＦＦＧ×ＣＶＥＬ０／２16、ＣＦ２ＶＥＬ０＝｛ＣＦ１ＶＥＬ０−ＣＦ１ＶＥＬ１＋６４×（ＣＰＬＳ０−ＣＰＬＳ１）｝×ＦＦＧ２／２16とおくと、推定器１３によるシミュレータ出力（すなわち１ｍｓごとの位置推定値）は、Ｙ（ｋ）＝Ｙ（ｋ−１）＋Ｍ１×｛Ｙ（ｋ−１）−Ｙ（ｋ−２）｝＋Ｍ２×｛ＣＰＬＳ０−Ｙ（ｋ−１）＋（ＣＦ１ＶＥＬ０＋ＣＦ２ＶＥＬ０）／６４｝と表わせる。なお、ＣＰＬＳ１＝ＣＰＬＳ０×ｚ−１であって、ＣＦ１ＶＥＬ１＝ＣＦ１ＶＥＬ０×ｚ−１である。
【００４０】
図５は、図１〜図４に示すロボット制御装置１における情報処理の流れを示すフローチャートである。図５（ａ）は、１ｍｓタイマによって１ｍｓ周期に実行される情報処理を示し、図５（ｂ）は、４ｍｓ周期で実行される情報処理を示し、図５（ｃ）は、各軸への指令送信処理及びＦＢ（フィードバック）データ受信処理を示している。
【００４１】
図５（ａ）において、まず、推定器１３では、４ｍｓ周期のタイミングに相当するか否か、すなわち４ｍｓ処理を実行するタイミングか否かが判断され（ステップＳ１）、４ｍｓ周期のタイミングに相当する場合には（ステップＳ１：ＹＥＳ）、図５（ｂ）を用いて後述する４ｍｓ処理（ステップＳ２）が実行される。一方で、４ｍｓ周期のタイミングに相当しない場合には（ステップＳ１：ＮＯ）、４ｍｓ処理を実行することなく、補間器１３２において補間器入力（ステップＳ３）及び補間器処理（ステップＳ４）が行われる。
【００４２】
ステップＳ４の処理が終了すると、シミュレータ１３３においてシミュレータ処理が実行され（ステップＳ５）、シミュレータ出力としてＸ（ｉ）を得る。そして、図２に示す遅延器１３５や平均化部１３６等によって、誤差Ｅ（ｋ−１）の補正が行われる（ステップＳ６）。その結果、位置推定値が得られることになる。最後に、ステップｉ（変数）を更新して（ステップＳ７）、１ｍｓ周期での処理を終了する。
【００４３】
次に、図５（ｂ）において、ロボット制御装置１では、まず、サーボ制御器２１等の全軸への同期送信が行われるとともに、ステップｋ（変数）が更新される（ステップＳ１１）。そして、受信した前ステップのＦＢデータを一斉更新してｙ（ｋ−１）を得る（ステップＳ１２）。その後、次々ステップの指令が発生し（ｒ（ｋ＋２）を得るステップＳ１３）、シミュレータ出力誤差の計算が行われ（ｅ（ｋ−１）＝Ｘ（ｋ−１，ｉ）−ｙ（ｋ−１）を得るステップＳ１４）、シミュレータ出力誤差の平均化が行われた後（Ｅ（ｋ−１）＝［Ｅ（ｋ−１）の平均化］を得るステップＳ１５）、ステップｉをリセットし（ステップＳ１６）、各軸指令送信及び受信処理の起動が行われる（ステップＳ１７）。
【００４４】
図５（ｂ）及び図５（ｃ）に示すように、このステップＳ１７の処理が行われるまでは、指令送信は待機状態になる（ステップＳ２１：ＮＯ）。ステップＳ１７の処理が行われると（ステップＳ２１：ＹＥＳ）、各軸指令の送信が行われる（ステップＳ２２）。そして、ＦＢデータの受信待機状態となり（ステップＳ２３：ＮＯ）、最初のＦＢデータを受信したことを契機として（ステップＳ２３：ＹＥＳ）、各軸ＦＢデータ受信が行われる（ステップＳ２４）。
【００４５】
図５（ｂ）及び図５（ｃ）を用いて説明したデータの送受信を模式的に表わしたのが図６である。図６は、ロボット制御装置１とサーボ制御器２１等との間で行われるデータの送受信の様子を示した模式図である。
【００４６】
図６において、全軸同期送信（図５（ｂ）のステップＳ１１参照）は、周期Ｔ１（＝４ｍｓ）の間隔で行われており、サーボ制御器２１等がロボット制御装置１から同期信号を受信したとき、データをラッチする。まず、ロボット制御装置１が第１軸の指令を送信すると、サーボ制御器２１は指令を受信し、ラッチしたデータを返信する。これにより、ロボット制御装置１は第１軸に関するラッチデータを受信することができる。次に、ロボット制御装置１が第２軸の指令を送信すると、サーボ制御器２２は指令を受信し、ラッチしたデータを返信する。これにより、ロボット制御装置１は第２軸に関するラッチデータを受信することができる。以下同様にして、第３軸，第４軸等のラッチデータを受信することができる。
【００４７】
図７は、ホスト制御器１０で生成される４ｍｓ周期の位置指令を示す図である。横軸は時間軸であって、縦軸は位置を示している。また、太線矢印Ｙで示すように、現在時刻を０とし、ｋは４ｍｓ周期で、ｉは１ｍｓ周期で目盛りを付している。
【００４８】
図７において、Ｃｔ［＋２］は、現時点で生成される最新の指令データを示し、Ｃｔ［＋１］は、現時点でドライバ（サーボ制御器）で更新される到達目標指令データを示し、Ｃｔ［０］は、現時点でドライバに到達している指令データを示している。このように、ある時点で作成される指令データは、２周期先のものが生成されていることが分かる。なお、Ｆｒ［−１］は、現時点で手に入る１時点前のドライバＦＢデータである。
【００４９】
また、現時点でドライバに到達している指令データをＣｐ（０）で表わすならば、Ｃｐ（０）は、Ｃｔ［０］で表わすことができ、Ｃｐ（＋１）は、Ｃｔ［０］＋（１／４）×｛Ｃｔ［＋１］−Ｃｔ［０］｝で表わすことができ、Ｃｐ（＋２）は、Ｃｔ［０］＋（２／４）×｛Ｃｔ［＋１］−Ｃｔ［０］｝で表わすことができ、Ｃｐ（＋３）は、Ｃｔ［０］＋（３／４）×｛Ｃｔ［＋１］−Ｃｔ［０］｝で表わすことができ、Ｃｐ（＋４）は、Ｃｔ［１］で表わすことができる。
【００５０】
図８は、推定器１３によって、実際に位置データのシミュレーション推定を行っている具体例を示す図である。なお、図８は、横軸が時間軸であって、縦軸が位置を示している。また、現在時刻を「Ｔ」で表わす。
【００５１】
図８において、Ｔ時点で入手できる情報は、４ｍｓ前にラッチされた位置ＦＢデータＢと、この時点で作成送信される８ｍｓ後の指令データ、すなわちＴから４ｍｓ後の指令データＡと、指令を補間して得られる現時点での指令データと、これを入力して得られるシミュレータ出力と、である。そして、図２に示す推定器１３において、４ｍｓ前のシミュレーション出力とその位置ＦＢデータの差Δ１と、８ｍｓ前のシミュレーション出力とその位置ＦＢデータの差Δ２と、を（平均化部１３６によって）平均化して、現時点でのシミュレーション出力から減算することによって、現時点での位置推定値を得ることができる。なお、時刻Ｔから１ｍｓ後も、時刻Ｔから２ｍｓ後も同様に、その時点でのシミュレーション出力からΔ＝（Δ１＋Δ２）／２を減算することによって、位置推定値を得ることが可能になる。なお、本実施形態では、１ｍｓ周期の推定を行ったが、推定器１３のパフォーマンスが許す限り、１ｍｓでも０．５ｍｓでも周期を選ばずに短周期（Ｔ２）の推定が可能になる。
【００５２】
このように、図８によれば、推定器１３は、シミュレータ１３３の出力から減算する補正量として、ホスト制御器１０が過去に位置データを受信した受信時刻においてシミュレータ出力から位置データを減算した差分値を用いることとしており、より詳細には、複数の受信時刻において各々の差分値を求め、それらを平均化した差分平均化値を用いることとしている。これにより、計算負荷が増大するのを防ぎながら、より高精度な推定値を得ることができる。
【００５３】
以上説明したように、４ｍｓ（Ｔ１）周期の遅延ＦＢデータしか入手できない従来の位置推定では、過去データのみをベースにした外挿演算になるため、目的の精度を得ることができなかったが、本実施形態に係るロボットシステムのように、既知の指令データとサーボパラメータを使用するシミュレータ出力を過去のＦＢデータで補正し、現時点の位置データを推定することによって、目的の制度（より高精度な推定値）を得ることができる。すなわち、サーボ制御器２１等に対する動作指令とサーボ制御器２１等のサーボ制御パラメータを使用したシミュレータ出力を、既に知られた過去の位置データで補正することによって、現在又は将来の前記位置データを推定することによって、より高精度な推定値を得ることができる。また、減算処理に基づく位置推定を行うことで、計算負荷が増大するのを防ぎながら、より高精度な推定値を得ることができる。
【産業上の利用可能性】
【００５４】
以上説明したように、本発明は、遅延データをベースにした外挿方式と比べて、より高精度な推定値を得ることが可能なものとして有用である。
【図面の簡単な説明】
【００５５】
【図１】本発明の実施の形態に係るロボットシステムのシステム構成を示すブロック図である。
【図２】本発明の実施の形態に係るロボット制御装置のハードウェア構成を示すブロック図である。
【図３】図２に示す補間器及びシミュレータの伝達関数を示すブロック図である。
【図４】図３に示す補間器とＦＦモデルのより詳細な伝達関数を示すブロック図である。
【図５】図１〜図４に示すロボット制御装置における情報処理の流れを示すフローチャートである。
【図６】ロボット制御装置とサーボ制御器等との間で行われるデータの送受信の様子を示した模式図である。
【図７】ホスト制御器で生成される４ｍｓ周期の位置指令を示す図である。
【図８】推定器によって、実際に位置データのシミュレーション推定を行っている具体例を示す図である。
【符号の説明】
【００５６】
１  ロボット制御装置
２  ロボット
１０  ホスト制御器
１１  指令生成送信器
１２  フィードバックデータ受信器
１３  推定器
２１  サーボ制御器
２２  モータ・エンコーダ
【図１】
2008142786.tif 000003
【図２】
2008142786.tif 000004
【図３】
2008142786.tif 000005
【図４】
2008142786.tif 000006
【図５】
2008142786.tif 000007
【図６】
2008142786.tif 000008
【図７】
2008142786.tif 000009
【図８】
2008142786.tif 000010