(57)【要約】【課題】ロボットアームと機構物との間に過大な力が発生するのを抑制すること。【解決手段】ロボット制御装置は、操作時におけるロボットアームの軌道、機構物に対する操作の成否、および、機構物の軌跡のうち少なくとも１つを含む操作情報を取得する操作情報取得手段と、取得された操作情報に基づいて、機構物の機構モデルと該機構モデルの尤度と、を算出するモデル尤度推定手段と、算出された機構モデルに基づいて、次の制御ステップでロボットアームを動作させる操作目標量を算出する操作目標量算出手段と、算出された各機構モデルの操作目標量と、該機構モデルの尤度と、に基づいて、操作目標量を修正した修正操作目標量を算出する操作目標量修正手段と、算出された修正操作目標量に基づいてロボットアームを制御する制御手段と、を備える。【選択図】図２
2017109288.tif 000002
【特許請求の範囲】
【請求項１】
ロボットアームを制御して機構物を操作するロボット制御装置であって、
前記操作時における前記ロボットアームの軌道、前記機構物に対する操作の成否、および、前記機構物の軌跡のうち少なくとも１つを含む操作情報を取得する操作情報取得手段と、
前記操作情報取得手段により取得された操作情報に基づいて、前記機構物の機構モデルと該機構モデルの尤度と、を算出するモデル尤度推定手段と、
前記モデル尤度推定手段により算出された機構モデルに基づいて、次の制御ステップで前記ロボットアームを動作させる操作目標量を算出する操作目標量算出手段と、
前記操作目標量算出手段により算出された各機構モデルの操作目標量と、該機構モデルの尤度と、に基づいて、前記操作目標量を修正した修正操作目標量を算出する操作目標量修正手段と、
前記操作目標量修正手段により算出された修正操作目標量を、現在の前記ロボットアームの位置姿勢に足し合わせることで、前記次の制御ステップにおける前記ロボットアームの目標位置姿勢を算出し、前記次の制御ステップにおいて該算出した目標位置姿勢となるように、前記ロボットアームを制御する制御手段と、
を備えることを特徴するロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットアームを制御するロボット制御装置に関する。
【背景技術】
【０００２】
ロボットアームにより機構物を操作し、その際のロボットアームの軌道を観測し、操作中の機構物の機構モデルを推定し、推定した一番尤もらしい機構モデルのみを用いて、次制御ステップの目標位置を算出するロボット制御装置が知られている（非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Thomas Ruhr, Jurgen Sturm, Dejan Pangercic, Michael Beetz, Daniael Cremers著、A Generalized Framework for Opening Doors and Drawers in Kitchen Environments
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記ロボット制御装置において、推定した一番尤もらしい機構モデルが実際に操作する機構物と違っている場合に、ロボットアームと機構物との間に過大な力が発生する虞がある。
本発明は、かかる課題を解決するためになされたものであり、推定した機構モデルが実際に操作する機構物と違っている場合でも、ロボットアームと機構物との間に過大な力が発生するのを抑制できるロボット制御装置を提供することを主たる目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するための本発明の一態様は、
ロボットアームを制御して機構物を操作するロボット制御装置であって、
前記操作時における前記ロボットアームの軌道、前記機構物に対する操作の成否、および、前記機構物の軌跡のうち少なくとも１つを含む操作情報を取得する操作情報取得手段と、
前記操作情報取得手段により取得された操作情報に基づいて、前記機構物の機構モデルと該機構モデルの尤度と、を算出するモデル尤度推定手段と、
前記モデル尤度推定手段により算出された機構モデルに基づいて、次の制御ステップで前記ロボットアームを動作させる操作目標量を算出する操作目標量算出手段と、
前記操作目標量算出手段により算出された各機構モデルの操作目標量と、該機構モデルの尤度と、に基づいて、前記操作目標量を修正した修正操作目標量を算出する操作目標量修正手段と、
前記操作目標量修正手段により算出された修正操作目標量を、現在の前記ロボットアームの位置姿勢に足し合わせることで、前記次の制御ステップにおける前記ロボットアームの目標位置姿勢を算出し、前記次の制御ステップにおいて該算出した目標位置姿勢となるように、前記ロボットアームを制御する制御手段と、
を備えることを特徴するロボット制御装置である。
この一態様によれば、  機構物の操作時におけるロボットアームの軌道、機構物に対する操作の成否、機構物の軌跡のうち少なくとも１つを含む操作情報に基づいて複数の機構モデルの候補を推定し、その各機構モデルの尤度を総合的に考慮した、次の制御ステップの修正単位操作目標量を算出できる。そして、この各機構モデルの尤度を総合的に考慮した修正単位操作目標量に従ってロボットアームを制御することで、推定した機構モデルが実際に操作する機構物と違っている場合でも、ロボットアームと機構物との間に過大な力が発生するのを抑制できる。
【発明の効果】
【０００６】
本発明によれば、推定した機構モデルが実際に操作する機構物と違っている場合でも、ロボットアームと機構物との間に過大な力が発生するのを抑制できるロボット制御装置を提供することができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の一実施形態に係るロボットアームの概略的なシステム構成を示すブロック図である。
【図２】本発明の一実施形態に係るロボット制御装置の概略的なシステム構成を示すブロック図である。
【図３】（ａ）単位操作目標量の一例を示す図である。（ｂ）修正単位操作目標量の一例を示す図である。
【図４】図４は、本発明の一実施形態に係るロボット制御装置の制御処理フローを示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、図面を参照して本発明の実施の形態について説明する。
図１は、本発明の一実施形態に係るロボットアームの概略的なシステム構成を示すブロック図である。本実施形態に係るロボット制御装置１は、設定された操作目標量に従って、多関節型のロボットアーム２を制御する。
【０００９】
ロボットアーム２は、複数のリンク２１と、各リンク２１を回動可能に連結する関節部（手首関節、肘関節、肩関節など）２２と、その先端に設けられ操作対象を操作するエンドエフェクタ２３と、を有する。
【００１０】
各関節部２２には、各関節部の回転情報を検出するエンコーダなどの回転センサ２４と、各関節部２２を駆動するサーボモータなどのアクチュエータ２５と、各関節部２２の操作力を検出する力センサ２６と、が設けられている。力センサ２６は、例えば、各関節部２２のトルクを検出するトルクセンサなどである。各関節部２２には、減速機構が設けられている。エンドエフェクタ２３は、例えば、物体を把持、接触などして物体に操作力を加える。エンドエフェクタ２３には、エンドエフェクタ２３を駆動するアクチュエータ２７と、エンドエフェクタ２３の操作力を検出する力センサ２８と、が設けられている。
【００１１】
ロボット制御装置１は、例えば、各関節部２２の回転センサ２４からの回転情報（回転角など）と、力センサ２６、２８からの操作力と、に基づいて、各関節部２２及びエンドエフェクタ２３のアクチュエータ２５、２７を制御することで、ロボットアーム２をフィードバック制御する。本実施形態に係るロボット制御装置１は、ロボットアーム２を制御することで、例えば、家具など機構物（引き戸、回転扉、引出しのように関節で拘束され、機械的に動作する物体）を操作する。
【００１２】
なお、ロボット制御装置は、例えば、演算処理等と行うＣＰＵ（Central Processing Unit）１ａ、ＣＰＵ１ａによって実行される演算プログラム、制御プログラム等が記憶されたＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）からなるメモリ１ｂ、外部と信号の入出力を行うインターフェイス部（Ｉ／Ｆ）１ｃ、などからなるマイクロコンピュータを中心にして、それぞれ、ハードウェア構成されている。ＣＰＵ１ａ、メモリ１ｂ、及びインターフェイス部１ｃは、データバスなどを介して相互に接続されている。
【００１３】
ところで、例えば、従来のロボットアームで機構物を操作する際に、その機構物が実際に引出しであるにもかかわらず回転扉と間違えて、その間違えた回転扉の機構モデルに基づいてその引出しの機構物を操作することがある。この場合、引出しと回転扉とでは操作方向が全く異なり、ロボットアームが無理な方向に動作する。このため、ロボットアームとその機構物との間に過大な力が発生する虞がある。
【００１４】
これに対し、本実施形態に係るロボット制御装置１において、機構物の操作時におけるロボットアーム２の軌道、機構物に対する操作の成否、および、機構物の軌跡のうち少なくとも１つを含む操作情報を取得し、取得された操作情報に基づいて、機構物の機構モデルと該機構モデルの尤度と、を算出する。算出された機構モデルに基づいて、次の制御ステップで動作させるロボットアーム２の単位操作目標量を算出し、算出された各機構モデルの操作目標量と、該機構モデルの尤度と、に基づいて、単位操作目標量を修正した修正単位操作目標量を算出する。算出された修正単位操作目標量に従って、ロボットアーム２を制御する。
【００１５】
このように、機構物の操作時におけるロボットアーム２の軌道、機構物に対する操作の成否、機構物の軌跡などの操作情報に基づいて複数の機構モデルの候補を推定し、その各機構モデルの尤度を総合的に考慮した、次の制御ステップの修正単位操作目標量を算出できる。そして、この各機構モデルの尤度を総合的に考慮した修正単位操作目標量に従って、ロボットアーム２を制御することで、推定した機構モデルが実際に操作する機構物と違っている場合でも、ロボットアーム２と機構物との間に過大な力が発生するのを抑制できる。従がって、ロボットアーム２による機構物の操作の失敗が抑制できる。
また、機構物を操作しつつ、機構モデルを推定を行うことで、一旦、正しい機構モデルに収束すれば、その機構モデルに従って、その後、機構物をスムーズに操作することができる。
【００１６】
図２は、本発明の一実施形態に係るロボット制御装置の概略的なシステム構成を示すブロック図である。ロボット制御装置１は、操作情報取得部３と、モデル尤度推定部４と、単位操作目標量算出部５と、単位操作目標量修正部６と、制御部７と、を備えている。
【００１７】
操作情報取得部３は、操作情報取得手段の一具体例である。操作情報取得部３は、ロボットアーム２のエンドエフェクタ２３や各関節部２２の軌道、機構物に対する操作の成否、機構物の軌跡などの操作情報を取得する。
【００１８】
例えば、操作情報取得部３は、各関節部２２の回転センサ２４からの回転情報（回転角など）に基づいて、順運動学演算を行い、エンドエフェクタ２３の位置及び姿勢（位置姿勢）を算出する。操作情報取得部３は、ロボットアーム２の操作目標量の制御時に上記演算を連続的に行い、エンドエフェクタ２３の位置姿勢の時系列データを算出し、その時系列データをエンドエフェクタ２３の軌道として取得する。
【００１９】
操作情報取得部３は、ロボットアーム２の操作目標量（操作目標位置へ）の制御時における、各関節部２２及びエンドエフェクタ２３の力センサ２６、２８からの操作力に基づいて、機構物に対する操作の成否を判定する。より具体的には、操作情報取得部３は、ロボットアーム２の操作目標量の制御時における、各力センサ２６、２８からの操作力のうち少なくとも１つが閾値を超えた場合、その機構物に対する操作の失敗と判定する。一方、操作情報取得部３は、ロボットアーム２の操作目標量の制御時における、各力センサ２６、２８からの操作力が閾値未満である場合、その機構物に対する操作の成功と判定する。
【００２０】
操作情報取得部３は、ロボットアーム２の操作目標量の制御時における、機構物の描いた軌跡を取得する。機構物には、ＡＲ（Augmented Reality）マーカなどのマーカが設けられている。操作情報取得部３は、ロボットアーム２の操作目標量の制御時における、カメラにより撮影された機構物のマーカの画像に基づいて、制御時における機構物の位置姿勢を取得する。操作情報取得部３は、制御時における機構物の位置姿勢の時系列データを機構物の軌跡として取得する。なお、操作情報取得部３は、予め設定した機構物の３次元モデルと、カメラにより撮影された機構物の画像とのフィッティングを行うことで、その機構物の位置姿勢を取得してもよい。
【００２１】
モデル尤度推定部４は、モデル尤度推定手段の一具体例である。モデル尤度推定部４は、操作情報取得部３により取得された操作情報に基づいて、機構物の機構モデルとその尤度を算出する。
【００２２】
モデル尤度推定部４は、例えば、非特許文献１（Thomas Ruhr, Jurgen Sturm, Dejan Pangercic, Michael Beetz, Daniael Cremers著、A Generalized Framework for Opening Doors and Drawers in Kitchen Environments）に記載された機構モデル推定方法を用いて、機構物の機構モデルとその尤度を算出する。なお、この機構モデル推定方法の詳細については、非特許文献１に開示されており、これを援用できるものとする。
【００２３】
モデル尤度推定部４は、例えば、ＭＬＥＳＡＣ（maximum likelihood sample consensus）（非特許文献２：A new robust estimator with application  to estimating image geometry、P.H.S. Torr and A.Zisserman参照）を用いて各機構モデルにおいて、以下の（１）式を最大化する最適なパラメータθ（ハット）を算出する。なお、θ（ハット）とは、パラメータθの上にハット記号を付したものであり、θの推定値である。以降、他のパラメータについても同様に表記する。
【数１】
2017109288.tif 000003
【００２４】
上記（１）式において、Ｍは機構モデルであり、例えば、Rigid（固定）、Prismatic（直動拘束）、Revolute（回転拘束）、GP（ガウシアンプロセス）である。θは、各機構モデルに対応したパラメータであり、例えば、機構モデルが直動拘束であれば直動軸の位置や方向、回転拘束であれば回転軸の位置や方向である。ｚは操作情報取得部３により取得された１回の操作情報であり、Ｄｚは操作情報取得部３により取得された操作情報の集合である。
【００２５】
モデル尤度推定部４は、モデルフィッティング（Model Fitting）処理において、操作情報の集合Ｄｚを最適に説明できるパラメータθ（ハット）を算出する。
モデル尤度推定部４は、モデル評価（Model Evaluation）処理において、下記（２）式に示す逆運動学演算を行い、機構モデルＭ及びパラメータθである場合の操作情報ｚを最適に表現するｑ（ハット）を算出する。例えば、直動拘束である場合、ｑは直動軸方向の移動量であり、回転拘束である場合、ｑは回転角度である。
【数２】
2017109288.tif 000004
【００２６】
モデル尤度推定部４は、上記算出したｑ（ハット）を用いて、下記（３）式に示す順運動学演算を行い、機構モデルＭ、パラメータθ、及びｑ（ハット）時の変換（transformation）Δ（ハット）を算出する。
【数３】
2017109288.tif 000005
【００２７】
モデル尤度推定部４は、上記算出した変換Δ（ハット）と操作情報ｚの一致度合いから下記（４）式のように、機構モデルＭ及びパラメータθでどれ位、ｚを表現できるか算出する。下記式において、ｎは操作情報ｚの数、ｄは操作情報ｚの次元数である。
【数４】
2017109288.tif 000006
【００２８】
モデル尤度推定部４は、上記（４）式で算出した値を操作情報の集合Ｄｚ分掛け合わせて、下記（５）式を導出する。
【数５】
2017109288.tif 000007
【００２９】
モデル尤度推定部４は、導出した上記（５）式を用い、下記（６）に基づいて、機構モデルの尤度を算出する。下記（６）式において、ＢＩＣはベイズ情報量基準であり、ｋは機構モデルのパラメータ数である。
【数６】
2017109288.tif 000008
【００３０】
単位操作目標量算出部５は、操作目標量算手段の一具体例である。単位操作目標量算出部５は、モデル尤度推定部４により算出された各機構モデルＭに基づいて、次の制御ステップでロボットアーム２を動作させる単位操作目標量を算出する。
【００３１】
例えば、単位操作目標量算出部５は、モデル尤度推定部４により算出された機構モデルＭが直動拘束である場合、直動軸ベクトルｅの方向に単位量ｂを乗じたベクトルＥを算出し、このベクトルＥを単位操作目標量とする。単位操作目標量算出部５は、モデル尤度推定部４により算出された機構モデルＭが回転拘束である場合、ある位置姿勢Ｘと、その位置姿勢Ｘから回転軸ベクトルｒに対し単位量ｃ回転させた位置姿勢Ｘ′と、を結ぶベクトルＲを算出し、このベクトルＲを単位操作目標量とする。
【００３２】
単位操作目標量修正部６は、操作目標量修正手段の一具体例である。単位操作目標量修正部６は、単位操作目標量算出部５により算出された単位操作目標量と、モデル尤度推定部４により算出された機構モデルの尤度と、に基づいて、尤度を考慮して単位操作目標量を修正した修正単位操作目標量を算出する。
【００３３】
例えば、単位操作目標量修正部６は、単位操作目標量算出部５により算出された各機構モデルの単位操作目標量（Ａ１、Ａ２、Ａ３・・・・）にその尤度（ａ１、ａ２、ａ３・・・）を夫々乗算し加算した値を、各尤度の総和で除算して、修正単位操作目標量Ｘを算出する。
修正単位操作目標量Ｘ＝（Ａ１ａ１＋Ａ２ａ２＋Ａ３ａ３＋・・・）／（ａ１＋ａ２＋ａ３・・・）
【００３４】
例えば、図３（ａ）に示すように、機構モデル（右開き回転扉）（Ｍｒｅｖｏｌｕｔｅ、θａ）の単位操作目標量Ａ１とし、その尤度ｐ（Ｍｒｅｖｏｌｕｔｅ、θａ）を０．７とする。機構モデル（右開き引き戸）（Ｍｐｒｉｓｍａｔｉｃ、θｂ）の単位操作目標量Ａ２とし、その尤度ｐ（Ｍｐｒｉｓｍａｔｉｃ、θｂ）を０．４とする。
単位操作目標量修正部６は、下記式を用いて修正単位操作目標量Ｘを算出する。
修正単位操作目標量Ｘ＝（０．７Ａ１＋０．４Ａ２）／（０．７＋０．４）
【００３５】
この場合、モデル尤度推定部４は、操作情報取得部３により取得された操作情報に基づいて、機構物の機構モデルの候補（Ｍｒｅｖｏｌｕｔｅ、θａ）、（Ｍｐｒｉｓｍａｔｉｃ、θｂ）とその尤度尤度ｐ（Ｍｒｅｖｏｌｕｔｅ、θａ）＝０．７、尤度ｐ（Ｍｐｒｉｓｍａｔｉｃ、θｂ）＝０．４を夫々算出している。
【００３６】
従来であれば、尤度ｐ（Ｍｒｅｖｏｌｕｔｅ、θａ）＝０．７でより高く、一番尤もらしい機構モデルの候補（Ｍｒｅｖｏｌｕｔｅ、θａ）を操作する機構物と推定し、その機構モデルに基づいて、単位操作目標量を算出し、この単位操作目標量に従ってロボットアーム２を制御することとなる。ここで、推定した機構モデルが実際に操作する機構物と違っていることがある。特に、上記のように各機構モデル候補の尤度の差があまり大きくないときに起こり得る。しかし、一番尤もらしい機構モデルの候補（Ｍｒｅｖｏｌｕｔｅ、θａ）は、右方向に開く回転扉であり、その動作は扉ヒンジを支点とした回転拘束動作である。一方で、二番目に尤もらしい機構モデルの候補（Ｍｐｒｉｓｍａｔｉｃ、θｂ）は、右方向に開く引き戸であり、その動作は戸が直線方向に移動する直動拘束動作である。両者の動作は全く異なるため、ロボットアーム２が実際の直動拘束動作の引き戸を、全く動作が異なる回転拘束動作の回転扉として操作した場合、ロボットアーム２が無理な方向に動作することになるため、ロボットアーム２とその機構物との間に過大な力が発生する虞がある。
【００３７】
これに対し、本実施形態においては、上記のように、２つの機構物の機構モデルの候補（Ｍｒｅｖｏｌｕｔｅ、θａ）、（Ｍｐｒｉｓｍａｔｉｃ、θｂ）が推定された場合、単に一番尤もらしい機構モデルの候補に決めずに、上記式を用いて、各機構モデルの候補の尤度ｐ（Ｍｒｅｖｏｌｕｔｅ、θａ）＝０．７、尤度ｐ（Ｍｐｒｉｓｍａｔｉｃ、θｂ）＝０．４を総合的に考慮した修正単位操作目標量Ｘを算出する。そして、この各機構モデルの尤度を総合的に考慮した修正単位操作目標量Ｘに従って、ロボットアーム２を制御する。例えば、図３（ａ）に示す如く、機構モデルの候補（Ｍｒｅｖｏｌｕｔｅ、θａ）の単位操作目標量はＡ１となり、機構モデルの候補（Ｍｐｒｉｓｍａｔｉｃ、θｂ）の単位操作目標量はＡ２となり、大きく異なる。しかし、図３（ｂ）に示す如く、修正単位操作目標量Ｘは、機構モデルの候補（Ｍｒｅｖｏｌｕｔｅ、θａ）の単位操作目標量Ａ１と、機構モデルの候補（Ｍｐｒｉｓｍａｔｉｃ、θｂ）の単位操作目標量Ａ２との間にあり、尤度の高い単位操作目標量Ａ１寄りとなる。
【００３８】
このように各機構モデルの尤度を総合的に考慮した修正単位操作目標量Ｘが最適に設定される。したがって、推定した機構モデルが実際に操作する機構物と違っている場合でも、ロボットアーム２と機構物との間に過大な力が発生するのを抑制できる。
【００３９】
なお、単位操作目標量修正部６は、例えば、単位操作目標量算出部５により算出された各機構モデルの単位操作目標量（Ａ１、Ａ２、Ａ３・・・・）にその尤度（ａ１、ａ２、ａ３・・・）を夫々乗算し加算した値を、修正単位操作目標量Ｘを算出してもよい。
修正単位操作目標量Ｘ＝（Ａ１ａ１＋Ａ２ａ２＋Ａ３ａ３＋・・・）
【００４０】
例えば、機構モデル（右開き回転扉）（Ｍｒｅｖｏｌｕｔｅ、θａ）の単位操作目標量（ベクトル）Ａ１とし、その尤度ｐ（Ｍｒｅｖｏｌｕｔｅ、θａ）を０．６とし、機構モデル（右開き引き戸）（Ｍｐｒｉｓｍａｔｉｃ、θｂ）の単位操作目標量（ベクトル）Ａ２とし、その尤度ｐ（Ｍｐｒｉｓｍａｔｉｃ、θｂ）を０．４とする。
【００４１】
この場合、単位操作目標量修正部６は、下記式を用いて修正単位操作目標量（ベクトル）Ｘを算出する。
修正単位操作目標量Ｘ＝０．６Ａ１＋０．４Ａ２
【００４２】
制御部７は、制御手段の一具体例である。制御部７は、単位操作目標量修正部６により算出された修正単位操作目標量を、現在のロボットアーム２の位置姿勢に足し合わせることで、次の制御ステップにおけるロボットアーム２の目標位置姿勢を算出する。そして、制御部７は、次の制御ステップにおいて、算出したロボットアーム２の目標位置姿勢となるように、各関節部２２及びエンドエフェクタ２３のアクチュエータ２５、２７を制御する。
【００４３】
図４は、本実施形態に係るロボット制御装置の制御処理フローを示すフローチャートである。なお、図４に示す制御処理は所定時間毎に繰返し実行される。
操作情報取得部３は、ロボットアーム２の操作目標量の制御時における、ロボットアーム２のエンドエフェクタ２３や各関節部２２の軌道、機構物に対する操作の成否、機構物の軌跡などの操作情報を取得する（ステップＳ１０１）。
【００４４】
モデル尤度推定部４は、操作情報取得部３により取得された操作情報に基づいて、機構物の機構モデルとその尤度を算出する（ステップＳ１０２）。
単位操作目標量算出部５は、モデル尤度推定部４により算出された各機構モデルに基づいて、次の制御ステップでロボットアーム２を動作させる単位操作目標量を算出する（ステップＳ１０３）。
【００４５】
単位操作目標量修正部６は、単位操作目標量算出部５により算出された単位操作目標量と、モデル尤度推定部４により算出された機構モデルの尤度と、に基づいて、修正単位操作目標量を算出する（ステップＳ１０４）。
【００４６】
制御部７は、単位操作目標量修正部６により算出された修正単位操作目標量を現在のロボットアーム２の位置姿勢に足し合わせることで、次の制御ステップにおけるロボットアーム２の目標位置姿勢を算出し、次の制御ステップにおいて該算出した目標位置姿勢となるように、ロボットアーム２の各関節部２２及びエンドエフェクタ２３のアクチュエータ２５、２７を制御する（ステップＳ１０５）。
【００４７】
以上、本実施形態において、操作情報取得部３は、操作時におけるロボットアーム２の軌道、機構物に対する操作の成否、および、機構物の軌跡のうち少なくとも１つを含む操作情報を取得する。モデル尤度推定部４は、操作情報取得部３により取得された操作情報に基づいて、機構物の機構モデルと該機構モデルの尤度と、を算出する。操作目標量算出部５は、モデル尤度推定部４により算出された機構モデルに基づいて、次の制御ステップでロボットアーム２を動作させる操作目標量を算出する。操作目標量修正部６は、操作目標量算出部５により算出された各機構モデルの操作目標量と、該機構モデルの尤度と、に基づいて、操作目標量を修正した修正操作目標量を算出する。制御部７は、操作目標量修正部６により算出された修正操作目標量に基づいて次の制御ステップにおけるロボットアーム２の目標位置姿勢を算出し、該算出した目標位置姿勢となるように、ロボットアーム２を制御する。
これにより、機構物の操作時におけるロボットアーム２の軌道、機構物に対する操作の成否、機構物の軌跡などの操作情報に基づいて複数の機構モデルの候補を推定し、その各機構モデルの尤度を総合的に考慮した、次の制御ステップの修正単位操作目標量を算出できる。そして、この各機構モデルの尤度を総合的に考慮した修正単位操作目標量に従って、ロボットアーム２を制御することで、推定した機構モデルが実際に操作する機構物と違っている場合でも、ロボットアーム２と機構物との間に過大な力が発生するのを抑制できる。
【００４８】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【００４９】
例えば、上記実施形態において、単位操作目標量修正部６は、モデル尤度推定部４により算出された全機構モデルの尤度が閾値以下となり低いとき、単位操作目標量算出部５により算出された機構モデルの単位操作目標量を低くした修正単位操作目標量を算出してもよい。
尤度１．０（１．０を最大値とする）のときの単位操作目標量ｄ[ｍ又はｄｅｇ]とすると、例えば、閾値以下の低い尤度０．３のとき、低い修正単位操作目標量０．３ｄとなる。
なお、単位操作目標量修正部６は、複数の機構モデルの尤度を組み合わせて修正単位操作目標量を算出してもよく、一番尤もらしい機構モデルの尤度１つのみを用いて修正単位操作目標量を算出してもよい。
【００５０】
これにより、尤度が低い（機構モデルの確証が低い）とき単位操作目標量を小さくし、エンドエフェクタ２３及び各関節部２２を少しずつ動作させることができる。したがって、仮に機構モデルが間違っている場合でも、過大な操作力の発生を防止できる。
【００５１】
上記実施形態において、制御部７は、モデル尤度推定部４により算出された全機構モデルの尤度が閾値以下となり低いとき、エンドエフェクタ２３の操作速度を低くしてもよい。
尤度１．０（１．０を最大値とする）のときのエンドエフェクタ２３の操作速度ｖ[ｍ／ｓ又はｄｅｇ／ｓ]とすると、例えば、閾値以下の低い尤度０．３のとき、低い修正操作速度０．３ｖとなる。
なお、制御部７は、複数の機構モデルの尤度を組み合わせて修正操作速度を算出してもよく、一番尤もらしい機構モデルの尤度１つのみを用いて修正操作速度を算出してもよい。
【００５２】
これにより、尤度が低い（機構モデルの確証が低い）とき操作速度を小さくし、エンドエフェクタ２３及び各関節部２２を少しずつ動作させることができる。したがって、仮に機構モデルが間違っている場合でも、過大な操作力の発生を防止できる。
【００５３】
本発明は、例えば、図４に示す処理を、ＣＰＵ１ａにコンピュータプログラムを実行させることにより実現することも可能である。
【００５４】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（random access memory））を含む。
【００５５】
プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【００５６】
１  ロボット制御装置、２  ロボットアーム、３  操作情報取得部、４  モデル尤度推定部、５  単位操作目標量算出部、６  単位操作目標量修正部、７  制御部、２１  リンク、２２  関節部、２３  エンドエフェクタ、２４  回転センサ、２５  アクチュエータ、２６  力センサ、２７  アクチュエータ、２８  力センサ
【図１】
2017109288.tif 000009
【図２】
2017109288.tif 000010
【図３】
2017109288.tif 000011
【図４】
2017109288.tif 000012