(57)【要約】【課題】対象物の位置姿勢の計測が困難な場合であっても、対象物の把持状態を認識し、対象物を適切に把持することのできるロボット制御装置を提供することにある。【解決手段】ロボットが対象物を操作することを制御するロボット制御装置であって、対象物を把持する把持手段が対象物に接触した際の、把持手段の変化を計測する計測手段と、計測手段により計測された把持手段の変化を取得する第１の取得手段と、第１の取得手段により取得された把持手段の変化に基づいて、把持手段が対象物を把持する状態である把持状態を取得する第２の取得手段と、第２の取得手段により取得された把持状態に基づいて、ロボットの行動を制御する制御手段と、を備える。【選択図】図２
2017177294.tif 000002
【特許請求の範囲】
【請求項１】
ロボットが対象物を操作することを制御するロボット制御装置であって、
前記対象物を把持する把持手段が前記対象物に接触した際の、前記把持手段の変化を計測する計測手段と、
前記計測手段により計測された前記把持手段の前記変化を取得する第１の取得手段と、
前記第１の取得手段により取得された前記把持手段の前記変化に基づいて、前記把持手段が前記対象物を把持する状態である把持状態を取得する第２の取得手段と、
前記第２の取得手段により取得された前記把持状態に基づいて、前記ロボットの行動を制御する制御手段と、
を備えることを特徴とするロボット制御装置。
【請求項２】
前記制御手段は、前記第２の取得手段により取得された前記把持状態に基づいて、前記ロボットの行動を計画する計画手段を更に備えることを特徴とする請求項１に記載のロボット制御装置。
【請求項３】
前記計測手段が計測する前記把持手段の前記変化は、前記把持手段が前記対象物に接触した際の位置、速度及び加速度の少なくとも一つである、ことを特徴とする請求項１または２に記載のロボット制御装置。
【請求項４】
前記計測手段は、撮像手段により撮像された前記把持手段の画像に基づいて、前記把持手段の前記変化を計測する、ことを特徴とする請求項１乃至３のいずれか1項に記載のロボット制御装置。
【請求項５】
前記計画手段は、前記把持手段が前記対象物に接触する接触動作と、前記把持手段が前記対象物を把持する把持動作と、の双方の行動を計画する、ことを特徴とする請求項１から４のいずれか１項に記載のロボット制御装置。
【請求項６】
前記第２の取得手段により取得された前記把持状態に基づいて、前記把持手段が前記対象物を把持可能であるか否かを判定し、前記把持手段が前記対象物を把持可能でないと判定された場合には、前記計画手段に前記把持動作の行動を計画させる判定手段をさらに備える、ことを特徴とする請求項５に記載のロボット制御装置。
【請求項７】
前記把持手段は、前記対象物に接触した際に、受動的に前記対象物の形状に倣って可動である棒状体が、複数配置されて成るエンドエフェクタであり、
前記ロボット制御装置は、前記エンドエフェクタをさらに備える、ことを特徴とする請求項１から６のいずれか１項に記載のロボット制御装置。
【請求項８】
前記第２の取得手段は、前記エンドエフェクタの外側に配置される棒状体と、前記エンドエフェクタの内側に配置される棒状体との変化の差に基づいて、前記把持状態を取得する、ことを特徴とする請求項７に記載のロボット制御装置。
【請求項９】
前記把持手段が前記対象物に対して与えている外力を取得する第３の取得手段、
をさらに具備し、
前記第２の取得手段は、前記第１の取得手段が取得した前記把持手段の前記変化と、前記第３の取得手段が取得した前記外力とに基づき、前記対象物の把持状態を取得し、
前記計画手段は、前記第２の取得手段が取得した前記把持状態と、前記第３の取得手段が取得した前記外力とに基づき前記ロボットの行動を計画することを特徴とする請求項４から８のいずれか１項に記載のロボット制御装置。
【請求項１０】
前記把持手段は、前記対象物に接触した際に、受動的に前記対象物の形状に倣って可動である棒状体が、複数配置されて成るエンドエフェクタであり、前記エンドエフェクタにかかる力とトルクの少なくとも一つを計測する第２の計測手段と、
前記対象物の仮想ダイナミクスを取得するために、前記第１の取得手段が取得した前記把持手段の前記変化と前記第２の計測手段が計測した計測結果と、から前記対象物の仮想ダイナミクスを取得する第４の取得手段と、
をさらに具備し、
前記第２の取得手段は、前記第１の取得手段が取得した前記把持手段の前記変化と、前記仮想ダイナミクスとに基づき、前記対象物の把持状態を取得し、
前記計画手段は、前記第２の取得手段が取得した前記把持状態と、前記仮想ダイナミクスとに基づき前記ロボットの行動を計画することを特徴とする請求項４から９のいずれか１項に記載のロボット制御装置。
【請求項１１】
前記仮想ダイナミクスは、前記対象物の形状および柔らかさを含むことを特徴とする請求項１０記載のロボット制御装置。
【請求項１２】
ロボットが対象物を操作することを制御するロボット制御方法であって、
前記対象物を把持する把持手段が前記対象物に接触した際の、前記把持手段の変化を計測するステップと、
前記計測するステップにより計測された前記把持手段の前記変化を取得するステップと、
前記取得するステップにより取得された前記把持手段の前記変化に基づいて、前記把持手段が前記対象物を把持する状態である把持状態を取得するステップと、
前記把持状態を取得するステップにより取得された前記把持状態に基づいて、前記ロボットの行動を計画するステップと、
を含むことを特徴とするロボット制御方法。
【請求項１３】
請求項２から８のいずれか１項に記載のロボット制御装置と、
前記対象物を操作する前記ロボットと、
を具備し、前記ロボットは、前記計画手段が計画した行動計画に基づき、前記対象物を操作することを特徴とするロボットシステム。
【請求項１４】
請求項９記載のロボット制御装置と、
前記対象物を操作する前記ロボットと、
を具備し、
前記ロボットは、
前記把持手段に取り付けられた弾性部材、
を具備し、
前記第３の取得手段は、前記計測手段により計測された前記把持手段の前記変化と、前記弾性部材の剛性に基づき、前記把持手段が前記対象物に与えている前記外力を取得し、
前記ロボットは、前記計画手段が計画した行動計画に基づき、前記対象物を操作することを特徴とするロボットシステム。
【請求項１５】
請求項１０記載のロボット制御装置と、
前記対象物を操作する前記ロボットと、
を具備し、
前記ロボットは、
前記対象物に接触した際に、受動的に前記対象物の形状に倣って可動である棒状体が、複数配置されて成るエンドエフェクタである前記把持手段と、
前記エンドエフェクタにかかる力とトルクの少なくとも一つを取得する力覚センサと、
を具備し、
前記第２の計測手段は、前記力覚センサが取得する力とトルクの少なくとも一つを計測し、
前記ロボットは、前記計画手段が計画した行動計画に基づき、前記対象物を操作することを特徴とするロボットシステム。
【請求項１６】
コンピュータを、請求項１から１１のいずれか１項に記載のロボット制御装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象物を操作するロボットを制御するロボット制御装置、ロボット制御方法、ロボットシステム及びコンピュータプログラムに関する。
【背景技術】
【０００２】
従来、ロボットを用いた対象物の操作において、ビジョンセンサ（Ｖｉｓｉｏｎ  Ｓｅｎｓｏｒ）を用いてロボットが把持すべき対象物の位置姿勢の計測を行っている。
しかし、ビジョンセンサを用いた対象物の位置姿勢の正確な計測が困難な状況で、対象物を把持する場合もある。このような場合、対象物に接触するロボットハンド等に力覚センサなどを備えさせ、ロボットハンドの対象物への接触位置を計測することで、対象物の位置姿勢の誤差を修正することができる。
【０００３】
ビジョンセンサでは対象物の位置姿勢の正確な計測が困難な状況下での対象物の把持につき、特許文献１は、大量の粒状材料を弾性膜で包んで構成した万能グリッパーを開示する。特許文献１の万能グリッパーは、正圧及び負圧を使用して受動的に目標対象形状に一致する。これにより、ビジョンセンサを利用せずに、対象物へのアプローチ位置がわからない場合でも対象物を把持することができる。
また、非特許文献１は、複数のピンをアレイ状に構成したフィンガを備えるオムニグリッパー（Ｏｍｎｉｇｒｉｐｐｅｒ）を開示する。非特許文献１のフィンガは、受動的に対象物の形状にフィットすることで、対象物を把持することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２０１３−５２３４７８号公報
【非特許文献】
【０００５】
【非特許文献１】Ｐ．  Ｂ．  Ｓｃｏｔｔ，  ”Ｔｈｅ  Ｏｍｎｉｇｒｉｐｐｅｒ’  ：  ａ  ｆｏｒｍ  ｏｆ  ｒｏｂｏｔ  ｕｎｉｖｅｒｓａｌ  ｇｒｉｐｐｅｒ，”  Ｒｏｂｏｔｉｃａ  ｖｏｌ．  ３，ｐｐ．  １５３−１５８，  Ｓｅｐｔ．  １９８５
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記先行技術文献が開示する手法では、ロボットが把持する対象物の形状に対して、受動的に倣っているだけなので、グリッパーによる対象物の把持状態を認識できず、対象物を適切に把持できないという課題がある。例えば、複数種類の対象物を把持して分類する作業においては、把持している対象物の形状が分からないため、複数種類の対象物を分類することもできない。
本発明は、上記課題を解決するためになされたものであり、その目的は、対象物の位置姿勢の計測が困難な場合であっても、対象物の把持状態を認識し、対象物を適切に把持することのできるロボット制御装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本願発明に係るロボット制御装置の一態様は、ロボットが対象物を操作することを制御するロボット制御装置であって、前記対象物を把持する把持手段が前記対象物に接触した際の、前記把持手段の変化を計測する計測手段と、前記計測手段により計測された前記把持手段の前記変化を取得する第１の取得手段と、前記取得手段により取得された前記把持手段の前記変化に基づいて、前記把持手段が前記対象物を把持する状態である把持状態を取得する第２の取得手段と、前記第２の取得手段により取得された前記把持状態に基づいて、前記ロボットの行動を制御する制御手段と、を備える。
【発明の効果】
【０００８】
本発明によれば、対象物の位置姿勢の計測が困難な場合であっても、対象物の把持状態を認識し、対象物を適切に把持することができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態１におけるロボットシステムの装置構成の概要を示す図である。
【図２】実施形態１における対象物を認識する方法を説明する図である。
【図３】実施形態１における対象物を認識する方法を説明する図である。
【図４】実施形態１におけるロボットシステムの機能要素の構成図である。
【図５】実施形態１におけるロボットシステムの処理を示すフローチャートである。
【図６】実施形態１におけるロボットシステムの座標系の関係を説明する図である。
【図７】実施形態２におけるロボットシステムの機能要素の構成図である。
【図８】実施形態２におけるロボットシステムの処理を示すフローチャートである。
【図９】実施形態３におけるロボットシステムの機能要素の構成図である。
【図１０】実施形態３におけるロボットシステムの処理を示すフローチャートである。
【図１１】各実施形態で説明した各部のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して、本発明を実施するための形態について詳細に説明する。
なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。
本実施形態において、ロボットシステムは、受動的に対象物の形状に倣って可動する複数の棒（把持手段）を備えたエンドエフェクタを有するロボットを制御するシステムである。このロボットシステムにおいて、ロボットのエンドエフェクタが備える受動的に対象物の形状に倣って可動する複数の棒の変位を計測することで、エンドエフェクタの対象物に対する把持状態を認識し、把持の可否や対象物の形状を認識する。
【００１１】
対象物に対する把持状態を認識した後、対象物を把持可能と判断する場合は、エンドエフェクタが備える複数の棒でそのまま対象物を把持し、引き続き、例えば、把持した対象物の分類作業を実行することができる。
このような処理を実行することで、ビジョンセンサで認識困難な対象物でも、把持と形状の計測を行うことができる。
本実施形態において、ロボットが操作する「対象物」は、例えばトナー容器のように、ビジョンセンサでは認識困難な、半透明あるいは透明の部品であってよい。また、本実施形態において、これら対象物は、箱にバラ積みされていてよい。また、本実施形態において、「分類」とは、複数の対象物を、同じ種類ごとに分けて指定された場所へ配置することをいう。
【００１２】
（ロボットシステムの構成）
図１は、本実施形態におけるロボットシステムでの対象物の把持、対象物の認識処理を実現するためのロボットシステムの構成の一例を説明する図である。図１は、本実施形態のロボットシステムの機器構成の一例であり、本発明の適用範囲を限定するものではない。
ロボット１０１は、ロボットアームを備えたロボットであり、アームの先端部には対象物１０６を把持し操作する（例えば移動する）エンドエフェクタ１０５が取り付けられている。ロボット１０１は、情報処理装置１０４（ロボット制御装置）が決定した行動を実行して対象物１０６を操作する。
【００１３】
ここで、「行動」とは、対象物１０６を操作するためのロボット１０１の動作のことである。図１において、例えば、行動は、ロボット１０１が対象物１０６を把持し、対象物１０６を搬送し、配置場所１０７に種類ごとに分類して対象物１０６を配置することである。
撮像装置（ビジョンセンサ）１０２は、撮像手段であって、例えばカメラや、光を検出するセンサ、フォトダイオードなどで構成することができる。撮像装置１０２は、対象物１０６と配置場所１０７の画像情報を取得する。情報処理装置１０４は、撮像装置１０２が取得した画像情報を処理する。
この撮像装置１０２は、例えば、ロボット１０１のアームや、エンドエフェクタ１０５等に取り付けられていてよい。あるいは撮像装置１０２は、対象物１０６が置かれている場所や、対象物１０６が配置される配置場所１０７を撮影できる外部に固定的に取り付けられていてもよい。
【００１４】
光源１０３は、例えば可視光を投影するプロジェクタで構成してもよい。あるいは光源１０３は、レーザーを用いて赤外光を投影するように構成してもよい。光源１０３からの光（可視光、赤外レーザー光等）により、対象物１０６と配置場所１０７とを、均一照明光やパターン光等で照明する。この光源１０３は、撮像装置１０２と同様に、ロボット１０１に取り付けられていてもよいし、対象物１０６と配置場所１０７を照明することができる外部に固定的に備え付けられていてもよい。
情報処理装置１０４は、ロボット１０１を制御する装置であって、コンピュータなどの計算機およびハードディスクなどの補助記憶装置によって構成される。
情報処理装置１０４は、インターフェース機器を介してロボット１０１、撮像装置１０２、光源１０３及びエンドエフェクタ１０５と接続されており、これらの機器と随時通信することができ、これらの機器の動作を制御する。
【００１５】
エンドエフェクタ１０５は、対象物１０６を操作し、例えば把持する。
本実施形態において、エンドエフェクタ１０５が対象物１０６に接触したときのエンドエフェクタ１０５の変化が計測される。情報処理装置１０４は、この計測されたエンドエフェクタ１０５の変化に基づき、対象物１０６の状態を認識する。ここで、認識される状態とは、エンドエフェクタ１０５による対象物１０６の把持状態や、対象物１０６の形状、位置姿勢等である。
本実施形態において、エンドエフェクタ１０５のフィンガは、対象物１０６にそれぞれ接触する複数の棒（棒状体）が配列されて構成されている。このフィンガは、例えば平行開閉チャックが対象物１０６を挟み込む部分のように、対象物１０６に接触し、把持する部分のことを表す。エンドエフェクタ１０５のフィンガは、複数の棒（棒状体）と、それらの棒を収容する基体とから構成される。基体には、複数の棒がそれぞれ進退する複数の孔が設けられている。
【００１６】
このような構成によって、フィンガが対象物１０６に接触すると、対象物１０６の形状に倣うように、フィンガのそれぞれの棒が対象物１０６に当接する位置まで上下に（棒の長手方向に）可動する。この棒の位置の変化である変位を計測することによって、対象物１０６の形状を認識することが可能となる。このフィンガの複数の棒の変化は、棒の位置の変化である変位の他、例えば、棒の速度や加速度の変化として取得することができる。
フィンガ（棒）の変位は、例えばカメラなどのビジョンセンサを使うことによって計測することができる。このフィンガの変位の計測を画像から取得するため、本実施形態では、フィンガを構成する棒の上部（対象物１０６と接触する棒の先端）またはその近傍に、円形の部品が取り付けられている。この上部に取り付けた円形の部品をカメラで撮影し、この円形の部品のサイズを計測することによって、棒の移動量（変位）やどの位置にあるのか知ることができる。
【００１７】
ここで、円形の部品の円の検出は、一般的な画像処理ライブラリを使用することができる。例えば、ＯｐｅｎＣＶ（Ｏｐｅｎ  Ｓｏｕｒｃｅ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  Ｌｉｂｒａｒｙ）を用い、撮像した画像中の指定領域に対してハフ変換（Ｈｏｕｇｈ  ｔｒａｎｓｆｏｒｍ）を行う。このハフ変換によって円を検出し、その検出した円のサイズを計測する。
ここで、検出した円のサイズとフィンガの変位について、予め相関関係を記録したテーブルを準備しておき、このテーブルを参照して円のサイズからフィンガの変位を算出（認識）することができる。この相関テーブルは、例えば情報処理装置１０４内に格納しておくことができるが、情報処理装置１０４からアクセス可能な外部に配置してもよい。
【００１８】
このようにして、フィンガ（棒）の変位を計測し、フィンガによる対象物１０６の把持状態を認識することで、対象物１０６を把持可能か否かの判断を行う。対象物１０６を把持可能であると推定される場合は、ロボット１０１はそのまま対象物１０６の把持を行う。他方、対象物１０６を把持することができないと推定される場合は、再び計測を行う。すなわち、エンドエフェクタ１０５の位置や向きを調整した行動を設定し、再びフィンガの棒の変位の計測を行う。
【００１９】
対象物１０６は、ロボット１０１による操作、すなわちマニピュレーションの処理がなされる対象物１０６である。例えば、トナー容器等であり、ロボット１０１によって把持され、搬送され、分類されることが想定される対象物である。例えば、トナー容器は半透明の部品である場合もあり、また、サイズも種類ごとに異なる。これらはバラ積みされた状態からロボット１０１によって取り出され、種類ごとに配置場所１０７に配置される。
配置場所１０７は、ロボット１０１により把持された対象物１０６が種類ごとに分類され配置される場所である。例えば、配置場所１０７は種類ごとに異なるベルトコンベアとすることができ、その上に分類して配置された対象物１０６は、ベルトコンベアにより移動し、その後のリサイクル処理等の対象となる。
【００２０】
（把持状態の認識）
ここで、把持状態の認識につき、フィンガの状態をカメラで計測した結果を示す図２及び図３を参照して説明する。
図２（ａ）は、対象物１０６に接触したエンドエフェクタ１０５のフィンガを対象物１０６側から見た場合の、フィンガを構成する各棒の伸び縮みを表す図である。図２（ａ）においては、濃淡によってフィンガの棒が「伸びている」、「縮んでいる」を表している。図２（ｂ）は、この濃淡とフィンガの棒の伸び／縮みの関係を示す図であり、濃い部分は、フィンガの棒が伸びていることを表している。また、淡い部分は、対象物１０６に接触してフィンガの棒が縮んでいることを表している。
図２（ａ）においては、フィンガを構成する棒の中で内側に配置された棒が縮んでいて、フィンガを構成する棒の中でより外側になるに連れてフィンガの棒が伸びている状態を示している。この場合、このままフィンガを閉じる（図２（ａ）に示す爪１０５ａと爪１０５ｂとを狭めるように挟む）ことによって両端において伸びているフィンガの棒で、対象物１０６ａを挟み込める状態にあると認識される。その結果、対象物１０６ａを把持可能と推定される。
【００２１】
他方、図３においては、フィンガの内側の棒が伸びていて、外側の棒（図３中左側）が縮んでいる。この場合、このままフィンガを閉じても、対象物１０６ｂをフィンガで挟みこむことができない状態にあると認識される。
その結果、対象物１０６ｂを把持するができないと推定される。
なお、この把持状態の認識は、予め分かっている対象物１０６の形状から幾何学的に行ってもよいし、機械学習の手法を利用して予め多くのデータサンプルを保持しておき、その結果から認識を実行してもよい。
【００２２】
本実施形態では、把持の方法は、フィンガで対象物１０６を挟み込むことで行う。このような把持を行うためには、例えば、エンドエフェクタ１０５を２つのブロックで構成し、各ブロックにそれぞれフィンガ（複数の棒から構成される）を取り付けておく。
把持の際には、各ブロックの根本に回転機構を取り付けておく。そして、この回転機構を駆動させるアクチュエータを動作させることで、左右のブロックに備えられたフィンガ（爪１０５ａ、爪１０５ｂ）で、対象物１０６を包み込むように把持することができる。
このとき、フィンガの位置は回転によって変化するが、フィンガの位置変化を計測する計測機器を各ブロックに取り付けておくことで、アクチュエータの駆動に関わらずにフィンガの位置を計測できる。あるいは、フィンガの駆動は回転機構でなくとも、平行移動する機構によって挟み込んで把持してもよい。
【００２３】
このように、本実施形態においては、エンドエフェクタ１０５が棒状の把持手段を構成し、複数の棒（棒状体）が、それぞれ、対象物に接触したときに受動的に可動し、対象物１０６の形状に倣う。これら複数の棒が対象物１０６に接触した際のそれぞれの棒の位置などの変化によって、対象物１０６の形状などを認識することが可能となる。これら複数の棒は、対象物１０６を把持するためのフィンガとして使うこともでき、２つのブロックに分けて構成された複数の棒で、対象物１０６を挟みこむことによって把持を行う。このようにエンドエフェクタ１０５を構成する複数の棒（棒状把持手段）が、認識機能と把持機能との２種類の機能を備える。
【００２４】
また、本実施形態において、エンドエフェクタ１０５が対象物１０６に接触したときに、エンドエフェクタ１０５のフィンガを構成する複数の棒が、受動的に対象物１０６の形状に倣って可動し、対象物１０６を把持する。そして、「把持状態」とは、これら複数の棒（把持手段）が対象物１０６を把持している状態のことをいう。
また、「把持状態を認識する」とは、具体的には、フィンガ（複数の棒）によって、対象物１０６を計画通りに把持できているか否かといった把持成否の認識を含む。また、把持成否の認識に加えて、対象物１０６の形状や柔らかさなどの仮想ダイナミクスを認識できているかといった対象物１０６に関する情報の認識を含む。
【００２５】
（ロボットシステムの機能要素の構成）
図４は本実施形態における対象物１０６の分類作業を実現するためのロボットシステム２００の機能要素の構成と機能要素間の関係を模式的に表現した図である。
情報処理装置１０４は、ロボット１０１を制御するロボット制御装置である。情報処理装置１０４は、把持部変化取得部２０２（第１の取得手段）と、把持状態認識部２０３（第２の取得手段）と、部品データベース２０４と、行動計画部２０５（計画手段・制御手段）と、操作データベース２０６と、を備える。情報処理装置１０４は、例えばコンピュータで構成してよく、把持部変化取得部２０２と、把持状態認識部２０３と、行動計画部２０５と、はコンピュータのＣＰＵが所定のプログラムを実行し、所定のハードウェアを制御することによって実現してよい。
【００２６】
ロボット１０１は、行動計画部２０５からの動作命令に従って動作する。
エンドエフェクタ１０５は、ロボット１０１のアームの先端に取り付けられており、行動計画部２０５からの動作命令に従って動作する。
把持部変化計測部２０１（計測手段）は、エンドエフェクタ１０５の把持部であるフィンガの変化を計測する手段であり、例えばカメラである。このカメラは、例えば、エンドエフェクタ１０５に取り付けてもよいし、ロボット１０１に取り付けてもよいし、また、ロボット１０１とは別の外部に配置又は取り付けられてもよい。フィンガの変位を計測できるのであれば、カメラはどこに配置されてもよい。
【００２７】
あるいは、把持部変化計測部２０１は、カメラの他に、エンコーダのようにフィンガの変化を直接的に計測できる手段でもよいし、さらに、フィンガの変化を間接的に計測できる他の手段でもよい。
把持部変化取得部２０２は、把持部変化計測部２０１が計測した結果を取得する。例えば、把持部変化計測部２０１であるカメラが、把持部変化計測（画像の撮像）を実行する場合、このカメラから取得した画像は、例えば、情報処理装置１０４内部のキャプチャボードやＲＡＭ（メモリ）に保存される。その後、把持部変化計測部２０１が、この画像に対する把持部の変化の計測処理を実行する。
【００２８】
ここで、把持部変化計測部２０１が計測する把持部（フィンガ）の変化とは、エンドエフェクタ１０５の説明で述べたように、フィンガ（複数の棒）の位置の変化である変位、棒の速度や加速度の変化などである。これらのうち、少なくとも一つを計測すればよい。
把持状態認識部２０３は、把持部変化取得部２０２が取得した結果から、対象物１０６の把持状態を認識する。把持状態の認識とは、対象物１０６を把持できているか否かに関する把持成否の認識や、対象物１０６の形状の認識を含む。この把持状態は、フィンガの棒の変位から認識できることは、既に説明した通りである（図２、図３参照）。
部品データベース２０４は、対象物１０６の部品の種類と、部品の形状の情報を保持している。
【００２９】
把持状態認識部２０３は、対象物１０６の把持状態を認識する際に、適宜、部品データベース２０４中の、対象物１０６のデータを参照する。ここで、参照する対象物１０６のデータとは、対象物１０６の例えばＣＡＤデータやＣＧポリゴンなどのモデルデータでよい。あるいは、参照する対象物１０６のデータは、対象物１０６を多方向から観察した二次元画像の集合から構成されてもよいし、対象物１０６の寸法データでもよい。
このような部品データベース２０４を用いれば、対象物１０６の把持状態をより正確に認識することができる。しかし、部品データベース２０４は必ずしも用いなくてもよく、図２や図３で説明したように、フィンガの棒の変位のみから、対象物１０６の把持状態を認識してもよい。
【００３０】
行動計画部２０５は、把持状態認識部２０３が認識した把持状態を入力として、この認識された把持状態に基づき、ロボット１０１の行動を計画し、行動計画を作成する。行動計画部２０５は、作成した行動計画を、動作命令としてロボット１０１およびエンドエフェクタ１０５へ出力する。
操作データベース２０６は、行動計画部２０５がロボット１０１の行動を計画する際に参照する部品の種類（部品種）の情報と、作業手順の情報とを保持している。行動計画部２０５は、行動を計画する際に、適宜、操作データベース２０６内の上記情報を参照する。
ここで、「行動計画」とは、ロボット１０１が対象物１０６に接触する行動や、把持動作や、配置動作、など種々の行動を計画すること、および、その作成した結果である計画を意味する。この行動計画は、撮像装置１０２が得た画像を元にした三次元形状計測の結果に基づき計画してもよいし、エンドエフェクタ１０５が得た把持状態の情報を元にして計画してもよい。
【００３１】
（ロボットシステムが実行する把持及びに認識処理）
図５は、本実施形態におけるロボットシステム２００の処理の流れを示すフローチャートである。図５に示す処理は、主として情報処理装置１０４が実行する。以下、図５に従って処理の手順を説明する。
Ｓ１において、情報処理装置１０４は、本実施形態におけるロボットシステム２００の初期化を行う。具体的にはロボットシステム２００に含まれる各装置が例えばユーザーにより起動される。情報処理装置１０４が起動すると、情報処理装置１０４にロボットシステム２００を実現するためのプログラムがロードされ、情報処理装置１０４中の不図示のメモリ上に展開される。この結果、情報処理装置１０４中のＣＰＵが、そのプログラムを実行可能な状態となる。
【００３２】
また、Ｓ１において、ロボット１０１、撮像装置１０２、エンドエフェクタ１０５においても、各種の機器パラメータの読み込みや、初期位置への復帰などが実行され、各機器が使用可能な状態となる。
Ｓ２において、把持部変化取得部２０２は、把持部変化計測部２０１を構成する撮像装置１０２を用いて、対象物１０６および配置場所１０７に関する画像情報を取得する。
Ｓ３において、把持状態認識部２０３は、三次元形状計測を実行する。三次元形状計測は、例えば対象物１０６のパターンマッチングにより実行することができる。具体的には、把持状態認識部２０３は、部品データベース２０４の情報を参照し、撮像装置１０２で取得した画像情報をもとにして、パターンマッチングを行って対象物１０６の部品種を判断する。このパターンマッチングの具体的な方法としては、例えば相関ベースマッチングが挙げられる。この相関ベースマッチングによれば、部品データベース２０４に保持されている複数種類の部品パターンと入力画像との比較により、最も類似するパターンを認識することで、対象物１０６の部品種の決定を行うことができる。なお、ここでは、パターンマッチングを用いる例を説明したが、対象物１０６の部品種を判別することができれば他の処理を用いてもよい。
【００３３】
次に、把持状態認識部２０３は、パターンマッチングによって判断された結果をもとにして、対象物１０６のモデルフィッティングを実行する。
具体的には、例えば、均一照明を用いて対象物１０６を撮像した画像中のエッジと、部品データベース２０４に保持されているＣＡＤデータを元にしたエッジモデルとのフィッティング処理を行う。このようなモデルフィッティングを行って、対象物１０６の位置姿勢を計測することができる。
あるいは、三角測量の原理に基づいて、対象物１０６表面の距離点群データを求める手法を利用してもよい。具体的には、例えば、光源１０３にマルチラインのパターン光を出射させて対象物１０６を照明しながら、撮像を行う。そして、得られた画像から表面に投影されたパターンを検出し、三角測量の原理に基づいて、対象物１０６表面の距離点群データを求める。
【００３４】
このようにして得られた対象物１０６の表面の距離点群データと、部品データベース２０４に保持されている対象物１０６の点群モデルとのフィッティング処理を行って、対象物１０６の位置姿勢を計測することができる。ここで、フィッティングの処理は、例えば、Ｉｔｅｃｒａｔｉｖｅ  Ｃｌｏｓｅｓｔ  Ｐｏｉｎｔアルゴリズムを利用して行うことができる。ただし、モデルフィッティングができれば、Ｉｔｅｒａｃｔｉｖｅ  Ｃｌｏｓｅｓｔ  Ｐｏｉｎｔアルゴリズム以外の他の処理を適用してもよい。なお、上で説明した対象物１０６の０位置および姿勢の計測処理の具体的な処理は一例であり、対象物１０６の位置および姿勢を計測できれば、パターンマッチングとモデルフィッティング以外のアルゴリズムを利用してもよい。
【００３５】
次に、Ｓ４において、把持状態認識部２０３は、認識成否の判定を行う。具体的には、Ｓ３における対象物１０６の三次元計測による認識が成功した場合は、対象物１０６の把持動作を行うための行動計画を決定するために、Ｓ１０へ移行する。他方、対象物１０６の三次元計測による認識が失敗し場合は、対象物１０６への接触動作を再度行うための行動計画を決定するために、Ｓ５へ移行する。認識成否の判定は、例えば、距離点群データと点群モデルとのモデルフィティングにおける誤差の値が閾値よりも小さいか否かで判断できる。すなわち、誤差の値が閾値よりも小さい場合に、三次元計測による認識が成功したと判断し、誤差の値が閾値よりも大きい場合に、三次元計測が失敗したと判断すればよい。
【００３６】
Ｓ５において、行動計画部２０５は、対象物１０６への接触動作を行うための行動計画を決定する。ここで、Ｓ３において、対象物１０６の認識が失敗した場合でも、対象物１０６のおおよその位置が判明している場合は、そのおおよその位置を目標位置として行動計画を決定することができる。具体的には、行動計画部２０５は、計測された距離画像を用いて、対象物１０６が存在する可能性のある領域内で最も近い位置や、対象物１０６の寸法に近い大きさで距離情報を得られた位置などを目標位置とすることができる。また、おおよその位置は、Ｓ３における認識処理において計測された位置姿勢の値を用いてもよい。
【００３７】
ここで、前者の、対象物１０６が存在する可能性のある領域内で最も近い位置とは次のとおり決定する。すなわち、図３の説明で述べたような、フィンガの内側に配置された棒が伸びており、フィンガの外側に配置された棒が縮んでいる場合、外側（図３では左外側）に対象物１０６ｂが存在している可能性が高いとする。そのため、対象物１０６の予め分かっている寸法に基づいて、対象物１０６の位置を推定して求める。また、後者の、対象物１０６の寸法に近い大きさで距離情報を得られた位置は、Ｓ３で説明したように、計測された対象物１０６の三次元形状から求めることができる。
【００３８】
あるいは、対象物１０６の位置が全く分からない場合には、予め決まっている対象物１０６の存在し得る領域を目標位置とすることができる。この目標位置に対して、エンドエフェクタ１０５が到達するようにロボット１０１の行動を計画することで、対象物１０６にエンドエフェクタ１０５を接触させることを目指す。
Ｓ６において、ロボット１０１が、Ｓ５において決定された行動計画に基づき、対象物１０６に対して接触動作を行う。この接触動作においては、エンドエフェクタ１０５が対象物１０６に接触して把持部（フィンガ）の変化を計測するまでロボット１０１が目標位置を目指し動作を行う。ここで、エンドエフェクタ１０５が目標位置に到達しても把持部が対象物１０６に対して接触したことを検知できない場合は、新たな目標位置を設定し、再び動作を行う。
【００３９】
Ｓ７において、把持部変化取得部２０２は、Ｓ６においてロボット１０１が動作を行い、エンドエフェクタ１０５が対象物１０６に接触した結果を取得する。具体的には、まず、把持部である複数の棒を備えるフィンガが対象物１０６に接触したとき、複数の棒がそれぞれ、対象物１０６の形状に倣って受動的に可動する。その際のそれぞれの棒の変位を、把持部変化計測部２０１が計測する。
具体的な計測方法は、既に説明したように、例えばそれぞれの棒の上部に円形状の物品（円形の物品）を取り付ける。そして、複数の棒をカメラで一度に撮像して画像を得、画像中のその円形状の物品のサイズと棒の変位との関係から、棒が対象物１０５と接触した位置を算出することができる。把持部変化取得部２０２は、このようにして算出した結果を取得することで、把持部（フィンガ）の変化を取得し、Ｓ８に移行する。
【００４０】
Ｓ８において、把持状態認識部２０３は、Ｓ７で得られた計測結果から把持状態を認識する。ここで、把持状態とは、上記のとおり、対象物１０６を確実に把持できているか否かに関する状態や、把持しているエンドエフェクタ１０５の状態、対象物１０６に接触している棒の状態から認識できる対象物１０６の形状、位置姿勢等の状態などを含む。
把持状態認識部２０３は、把持部変化取得部２０２が得た把持部変化の情報と、部品データベース２０４から読み出した対象物１０６の情報とを用いて把持状態を認識する。
Ｓ９において、把持状態認識部２０３は、対象物１０６を把持可能か否か判定する。具体的には、把持状態認識部２０３は、Ｓ８においてなされた対象物１０６に対する把持状態の認識結果に基づき、この判定を実行する。
判定の結果、把持可能であると判定する場合は、Ｓ１０に移行し、対象物１０６の把持動作の行動計画を決定する。他方、把持不可能であると判定する場合は、Ｓ５へ移行し、再び接触動作を行うための行動計画がなされる。
【００４１】
このとき、例えば図３に示すような計測結果が得られた場合、対象物１０６ｂはエンドエフェクタ１０５の（図３中）左側にあることが推測される。そのため、次の接触動作のためのロボット１０１の行動計画では、対象物１０６ｂが存在する可能性の高い位置に接触できるように、ハンドエフェクタ１０５を左にずらすようにロボット１０１の行動が計画される。このように、新たに決定される行動計画では、これまでの把持状態認識結果が利用される。
【００４２】
Ｓ１０において、行動計画部２０５は、把持動作のためのロボット１０１の行動計画を決定する。Ｓ４からＳ１０に移行した場合は、対象物１０６へのアプローチ動作から計画が作成される。
ここで、決定される行動計画につき具体的に説明する。まず、図６のように、作業空間内で基準となる座標系として、ワールド座標系Σｗを設定する。ワールド座標系Σｗからロボット座標系Σｒまでの変位を（ＲＸ，ＲＹ，ＲＺ）とする。また、ロボット１０１の姿勢を表す３×３の回転行列をＲＭとする。上述した変位（ＲＸ，ＲＹ，ＲＺ）およびＲＭは、ロボット１０１が固定されていれば定数としてよい。
【００４３】
一方、ロボット１０１が固定されていない場合は、例えば、ロボット１０１に対して９軸センサ（３軸ジャイロセンサ、３軸加速度センサ、３軸地磁気センサ）を取り付けることによって、変位（ＲＸ，ＲＹ，ＲＺ）およびＲＭを求めてもよい。あるいは、ロボット１０１が可動する周囲に予め位置認識用のマーカーを設置しておくことで、変位（ＲＸ，ＲＹ，ＲＺ）およびＲＭを求めてもよい。ここで説明した手法以外にも、Σｗに対してのロボット１０１の位置姿勢が分かる方法であれば、他の方法を利用してもよい。
【００４４】
次に、ロボット座標系Σｒからロボット１０１の先端座標系Σｆまでの変位を（ＦＸ，ＦＹ，ＦＺ）とする。そして、ロボット１０１の先端の姿勢を表す３×３の回転行列をＦＭとする。変位（ＦＸ，ＦＹ，ＦＺ）およびＦＭの求め方は、ロボット１０１のリンク長と関節角度から順運動学を用いて計算できる。
また、ロボット１０１の先端座標系Σｆからロボット１０１の先端に取り付けられているエンドエフェクタ１０５の先端の座標系Σｅまでの変位を（ＥＸ，ＥＹ，ＥＺ）とする。ロボット１０１の先端に取り付けられているエンドエフェクタ１０５先端の姿勢を表す３×３の回転行列をＥＭとする。（ＥＸ，ＥＹ，ＥＺ）およびＥＭの求め方は、エンドエフェクタ１０５を取り付けた際に、ロボット１０１の先端からエンドエフェクタ１０５先端までの距離および姿勢を直接計測することで計算できる。
【００４５】
次に、ロボット座標系Σｒから撮像装置座標系Σｃまでの変位を（ＣＸ，ＣＹ，ＣＺ）とする。撮像装置１０２の姿勢を表す３×３の回転行列をＣＭとする。（ＣＸ，ＣＹ，ＣＺ）およびＣＭも同様に、ロボット１０１の先端から撮像装置１０２までの距離および姿勢を直接計測することで計算できる。
さらに、撮像装置座標系Σｃから対象物座標系Σｖまでの変位を（ＶＸ，ＶＹ，ＶＺ）とする。対象物１０６の姿勢を表す３×３の回転行列をＶＭとする。（ＶＸ，ＶＹ，ＶＺ）およびＶＭは、Ｓ３で述べたように計測を行うことで求めることができる。
ここで、Σｗから見た対象物１０６の変位を（ＷＸ，ＷＹ，ＷＺ）、姿勢を表す３×３の回転行列をＷＭとすると、これら（ＷＸ，ＷＹ，ＷＺ）及びＷＭの値は以下の式（１）を用いて算出することができる。
【００４６】
【数１】
2017177294.tif 000003
【００４７】
同様の処理を繰り返せば、分類場所（配置場所１０７）の位置姿勢も求めることができる。そして、行動計画部２０５は、把持状態認識部２０３の認識結果に基づき、動作の計画を行うことによって行動計画を作成する。本実施形態においては、以上のようにして、ロボット１０１の行動が計画され、行動計画が作成される。
その後、把持動作を行うため、行動計画部２０５が作成した行動計画に基づき、エンドエフェクタ１０５に対して閉動作を行う命令生成され、発行される。
【００４８】
他方、Ｓ９からＳ１０へ移行した場合には、Ｓ８での認識結果に基づき行動計画部２０５は、ロボット１０１の行動計画を決定する。決定された行動計画に従って、行動計画部２０５はロボット１０１とエンドエフェクタ１０５とに命令を発行する。
Ｓ１１において、Ｓ１０で決定されたロボット１０１の行動計画に基づき、ロボット１０１およびエンドエフェクタ１０５が動作し、対象物１０６の把持動作および配置動作等が実行される。配置動作では、認識された対象物１０６の種類に応じて把持された対象物１０６が分類され、適切な配置場所１０７へ配置される。
Ｓ１２において、情報処理装置１０４は、撮像装置１０２が取得した画像あるいはＳ８における認識結果に基づき、次の対象物１０６が存在するか否かを判定する。次の対象物１０６が存在する場合には、Ｓ２に戻り処理を続行する。次の対象物１０６が存在しない場合には、本実施形態における計測を終了し、対象物１０６の把持・配置動作を終了する。
【００４９】
以上説明したように、本実施形態によれば、例えばビジョンセンサによる対象物１０６の三次元形状の認識に失敗した場合に、エンドエフェクタ１０５のフィンガの対象物１０６への接触に伴う変化を計測する。これにより、対象物１０６の把持状態を認識する。そして、この認識結果に基づき、そのまま対象物１０６を把持する。このような動作を実行することによって、ビジョンセンサのみでは位置姿勢を正確に認識できない対象物１０６であっても、その形状を認識し、把持を行うことができる。そのため、対象物１０６を把持できる可能性が高まる。また、把持した対象物１０６を種類ごとに分類することも可能となる。
【００５０】
実施形態２
本実施形態は、対象物１０６に与えられる外力を制御する例を説明する。具体的には、上述した実施形態１で述べたロボットシステムに対して、フィンガが可動する方向に仮想ダイナミクスを適用することによって、接触動作時に対象物１０６に与える外力を制御できるよう構成したものである。
より詳細には、本実施形態において、エンドエフェクタ１０５のフィンガ（把持部）を構成する棒（例えば、棒の上部）にばねなどの弾性部品（弾性部材）を取り付けている。そして、フィンガの変位（棒の変位）と、弾性部品の剛性とに基づき、エンドエフェクタ１０５が接触している対象物１０６に与えられている外力を認識する。
【００５１】
実施形態１においては、把持部（フィンガ）の静的動作のみを考慮し、対象物１０６の形状を認識した。そのため、対象物１０６がビニール袋や緩衝材等（包装材）に包まれたものであった場合、エンドエフェクタ１０５が対象物１０６に接触した時に、包装材を潰しきれるとは限らない。この場合、その中身である対象物１０６そのものの形状を計測できるとは限らない。
これに対して、本実施形態では、対象物１０６に与える外力を制御することによって、対象物１０６の周りにある包装材を潰しながら、中身の形状を計測することができる。このように制御することで、対象物１０６がビニール袋などの緩衝材に包まれているような場合でも、その中身である対象物１０６の形状を正確に計測でき、作業を継続できる可能性を拡大できる。
【００５２】
本実施形態における対象物１０６とは、ビニール袋等の緩衝材に包まれたトナーボトルを例として説明する。例えば半透明または不透明なビニール袋等の緩衝材に包まれたトナーボトルが、箱にバラ積みされている。この状態から、ロボット１０１が、対象物１０６（トナーボトル）を、種類ごとに配置場所１０７に分類して配置する例を説明する。
図７は、本実施形態における対象物１０６に対する把持動作および認識動作を実現するためのロボットシステム２００ａを構成する機能要素の構成例と機能要素間の関係を模式的に表現した図である。図７に示した情報処理装置１０４ｂ（ロボット制御装置）において、図４に示した情報処理装置１０４と異なる部分である外力認識部２０７（第３の取得手段）を中心に説明を行う。
【００５３】
外力認識部２０７は、把持部変化取得部２０２が取得した把持部（フィンガ）の変化情報から、エンドエフェクタ１０５が対象物１０６に与えている外力を認識（取得）する。具体的には、外力は、フィンガの棒の変位ｘとエンドエフェクタ１０５の棒（例えば、棒の上部）に取り付けた弾性部品の剛性Ｋを用いて、式２のように求める。
（式２）        Ｆ＝Ｋｘ
ここで、フィンガの棒の変位ｘは実施形態１にて述べたように求めることができ、エンドエフェクタ１０５に取り付けた弾性部品の剛性Ｋは設計値として既知である。外力認識部２０７が認識した外力を、把持状態認識部２０３が把持状態の認識処理に利用してもよいし、また、行動計画部２０５が、この外力を利用して行動計画を決定してもよい。行動計画部２０５の外力の利用の仕方は、図８のＳ１３の説明にて詳細に説明する。
【００５４】
図８は、本実施形態におけるロボットシステム２００ａを実現するための、対象物１０６の把持動作および認識処理の流れを示すフローチャートであり、主として、情報処理装置１０４中の動作を表すフローチャートである。以下、図５と異なるＳ１３を中心として、図８に従って処理の手順を説明する。Ｓ１３以外の処理は、図５における説明と同様である。
Ｓ１３において、外力認識部２０７は、対象物１０６に対して加えられる外力の認識を行う。具体的には、Ｓ７においてなされた把持部変化計測の結果に基づき、上記式２に示したように外力を認識する。このようにして認識された対象物１０６に加えられる外力の値を利用し、対象物１０６の形状を認識することができる。
【００５５】
例えば、把持対象物１０６が半透明または不透明の包装材等に包まれているとき、ビジョンセンサでは包装材の中身の物体の形状を計測するのは困難である。そこで、本実施形態においては、エンドエフェクタ１０５により対象物１０６の周りの包装材を潰して、中身の物体の形状を計測し、把持状態を認識することによって、把持可否の判断を行う。このとき、対象物１０６に与える外力は、包装材を潰せる力Ｆ１以上で、対象物１０６を壊さない力Ｆ２以下である必要がある。
これらの値は事前に計測が行われ、既知であることを前提とすれば、対象物１０６に与える力Ｆについて、以下の式が成り立つようにロボット１０１の制御が行われる必要がある。
（式３）          Ｆ１＜Ｆ＜Ｆ２
ここで、Ｓ７にて決定した目標位置への一連の動作（移動動作、把持動作）をロボット１０１に１回のみ実行させただけでは、上記式３を満足させることは困難な場合もある。
【００５６】
そこで、実際には、Ｓ５、Ｓ６、Ｓ７、Ｓ８、Ｓ１３、Ｓ９に至る処理を、複数回繰り返して、フィードバックループを含む処理動作を実行させることもできる。つまり、外力認識部２０７が認識した外力は、行動計画部２０５に送られ、行動計画部２０５は、それに基づき、行動計画を決定することができる。この際、外力が上記式３を満足していない場合は、式３を満足させるようにフィンガに把持を実行させるように行動計画を決定しつつ、Ｓ５からＳ９に至る処理を続行することができる。
【００５７】
このようにして、行動計画部２０５が行動計画を決定し（Ｓ５）、それに基づき、ロボット１０１、エンドエフェクタ１０５が動作する（Ｓ６）。この動作を把持部変化計測部２０１が取得し、把持部変化取得部２０２が計測結果を取得する（Ｓ７）。計測結果に基づき、外力認識部２０７が外力を認識し（Ｓ１３）、把持状態認識部ｊ２０３は、フィンガの対象物１０６に対する把持状態を認識する。ここで、外力が上記式３を満足していない場合は、Ｓ５において行動計画部が行動計画を再び決定する。また、対象物１０６に与える力Ｆはフィンガを構成する棒１本１本によって異なるが、すべてのフィンガを構成する棒が式３を満たす必要はない。
【００５８】
本実施形態では、Ｓ９において、ロボット１０１が目標位置へ動作中に、式３を満たし、かつ対象物１０６に接触しているフィンガの棒が存在し、かつ、式３を満たしている棒の変位が、ロボット１０１の位置変化と同じか否かを判断する。把持状態認識部２０３がこの判断を行い、その結果、位置の変化と同じであれば、エンドエフェクタ１０５は包装材の中身の物体に接している状態であると判断する。その接していると判断できる状態において、エンドエフェクタ１０５の説明にて述べたように、対象物１０６に対する把持状態を認識することによって、把持可否の判断を行う（Ｓ９）。
【００５９】
以上説明したように、本実施形態によれば、フィンガを構成する棒の可動方向への可動に対して剛性を持たせるために、弾性部品を取り付けている。
これによって、対象物１０６へ接触したときに与える外力を認識することができ、外力を制御することができる。本実施形態では、このように、対象物１０６に加えられる外力を制御したうえで、対象物１０６に対する把持状態を認識できる。ここで、対象物１０６の形状を認識することができた場合、その認識結果に基づき、ロボット１０１にそのまま対象物１０６に対する把持動作を実行させることができる。また、ロボット１０１に対象物１０６を配置場所１０７に配置する動作を実行させることができる。
【００６０】
このように、本実施形態によれば、ビニール袋などの半透明や不透明の緩衝材に包まれた物体のような、ビジョンセンサのみではその位置や姿勢を正確に認識できない対象物１０６でも、その形状を認識することができる。具体的には、上記緩衝材を潰して中身を触ることによって認識し、対象物１０６の把持を実行させることができる。また、本実施形態によれば、力覚センサや圧力センサを使うことなく、対象物１０６に加えられる外力を制御することができる。
【００６１】
実施形態３
本実施形態は、実施形態１で述べたロボットシステム２００に対して、ロボット１０１先端に力覚センサを追加することによって、接触時に対象物１０６の形状に加えて仮想ダイナミクスも計測できるようにしたものである。
具体的には、ロボット１０１のアームの先端に位置するエンドエフェクタ１０５の根本部分に６軸力覚センサ２０８を取り付けている。本実施形態においては、エンドエフェクタ１０５が対象物１０６に接触したときのフィンガの棒の変位と、力覚センサ２０８が計測した力の情報から、対象物１０６の剛性、粘性、慣性係数を認識することができる。
【００６２】
実施形態１では、対象物１０６の形状を認識する例を説明したが、例えば、対象物１０６がゴムのような柔らかく変形する物体の場合、その柔らかさを計測することは困難である。それに対して本実施形態では、対象物１０６に対して与えられている力を計測することによって、対象物１０６の柔らかさまで認識できる。このような構成によって、対象物１０６がゴムのような柔軟な物体でも、その柔らかさを認識することができ、柔らかさに基づき、対象物１０６を分類し、所定の配置場所１０７に配置することができる。また、また把持に必要な力を認識できるので、対象物１０６に応じた力で把持をすることができる。その結果、対象物１０６を破損してしまう可能性を減少させ、したがって、ロボット１０１による把持作業および配置作業をより長く継続できる可能性を拡大できる。
【００６３】
図９は、本実施形態における対象物１０６に対する把持作業および対象物１０６の認識処理を実現するためのロボットシステム２００ｂの機能要素の構成と機能要素間の関係を模式的に表現した図である。図９に示した情報処理装置１０４ｃにおいて、図４に示した情報処理装置１０４と異なる部分である力覚センサ２０８と、力覚情報取得部２０９と、力・トルク計測部２１０と、仮想ダイナミクス認識部２１１と、を中心として以下説明する。
【００６４】
力覚センサ２０８は、ロボット１０１のアームの先端に取り付けられているエンドエフェクタ１０５の根本に取り付けられている。力覚センサ２０８は、ひずみゲージや圧電素子で構成され、ロボット１０１で対象物１０６を把持しているときのロボット１０１のエンドエフェクタ１０５にかかる力とトルクを計測する６軸力覚センサ（Ｆｏｒｃｅ／Ｔｏｒｑｕｅセンサ）である。力覚センサ２０８は、取得した力覚情報を情報処理装置１０４ｃに供給する。なお、本実施形態では、力とトルクとの双方を取得する例を説明するが、いずれか一方だけでもよい。
【００６５】
情報処理装置１０４ｃの力覚情報取得部２０９は、力覚センサ２０８から送られてきた力覚情報を取得する。力覚情報取得部２０９は、例えばＲＡＭ（メモリ）等の記憶手段で構成され、力覚情報を取得し、保持している。力覚情報取得部２０９が取得した力覚情報は、力・トルク計測部２１０が力やトルクを算出する際に利用される。
力・トルク計測部２１０は、力覚情報取得部２０９が取得した力覚情報を入力として、対象物１０６を把持あるいは搬送しているときにロボット１０１にかかる力とトルクを認識する。なお、本実施形態では、力とトルクとの双方を認識しているが、いずれか一方だけでもよい。このようにして認識した結果は、仮想ダイナミクス認識部２１１における各種パラメータの認識において利用される。
【００６６】
仮想ダイナミクス認識部２１１は、対象物１０６の仮想ダイナミクスの柔らかさ、すなわち弾性係数ＫＫ、粘性係数Ｄ、慣性係数Ｍを認識する。具体的には、式４を用いてこれらのパタメータを算出する。
（式４）      Ｆ＝ＫＫｘ＋Ｄ（ｄｘ／ｄｔ）＋Ｍ（ｄ２ｘ／ｄｔ２）
ここで、フィンガの棒の変位ｘは実施形態１にて述べたように求め、Ｆはロボット１０１のアームの先端に取り付けた力覚センサ２０８を用いて求めることができる。また、（ｄｘ／ｄｔ）、（ｄ２ｘ／ｄｔ２）はロボット１０１の速度、加速度として、ロボット１０１の変位を複数回計測し、その差分から求めることもできる。また、これらは、加速度センサなどをロボット１０１に備えて、これを用いて求めてもよい。
【００６７】
このようにして、Ｆ、ｘ、（ｄｘ／ｄｔ）、（ｄ２ｘ／ｄｔ２）を、それぞれ複数種類求めることができる。したがって、求めた複数種類の値を用いて、式４から、連立方程式を立てることができる。この連立方程式を解くことによって、弾性係数ＫＫ、粘性係数Ｄ、慣性係数Ｍを認識する（算出する）ことができる。なお、ここでは、弾性係数ＫＫ、粘性係数Ｄ、慣性係数Ｍを全て求める手法を述べたが、いずれか一つ以上を求めてもよい。例えば、弾性係数ＫＫだけ求める場合は、式４において、粘性係数Ｄ、慣性係数Ｍを含む項を考慮せずに、フィンガを構成する棒の位置の変化だけ求めればよい。同様に、粘性係数Ｄだけ求める場合は、式４において、弾性係数ＫＫ、慣性係数Ｍを含む項を考慮せずに、フィンガの棒の速度の変化だけ求めればよい。同様に、慣性係数Ｍだけ求める場合は、式４において、弾性係数ＫＫ、粘性係数Ｄを含む項を考慮せずに、フィンガの棒の加速度の変化だけ求めればよい。また、２つの係数を求める場合も、同様に該当する係数を含む項を考慮すればよい。
【００６８】
このように、本実施形態においては、ロボット１０１は、受動的に対象物１０６の形状に倣って可動し、対象物１０６を把持することのできる複数の棒を備えたフィンガを有するエンドエフェクタ１０５を具備している。この結果、その複数の棒の位置、速度、加速度の少なくとも一つを計測することによって、仮想ダイナミクスを認識することができる。このように、本実施形態では、エンドエフェクタ１０５（把持手段）が対象物１０６に接触した際の位置、速度、及び加速度の少なくとも一つを計測している。
図１０は本実施形態におけるロボットシステム２００ｂを実現するためのロボット１０１の対象物１０６に対する把持動作および対象物１０６の認識処理の流れを示すフローチャートである。このフローチャートは、情報処理装置１０４ｃの動作を中心として表されている。
【００６９】
以下、図１０のフローチャートが、図５と異なるステップＳ１４、Ｓ１５を中心として、図１０のフローチャートに基づいて、本実施形態における処理の手順を説明する。
Ｓ１４において、力・トルク計測部２１０は、力・トルク計測処理を実行する。力・トルク計測部２１０は、ロボット１０１が対象物１０６に接触したときの力覚情報の計測結果に基づき、エンドエフェクタ１０５にかかる力およびトルクを求める。
ロボット１０１のエンドエフェクタ１０５が対象物１０６に接触したとき、ロボット１０１のエンドエフェクタ１０５には接触動作に伴ってさまざまな力がかかる。力覚センサ２０８は、これらの力の値をひずみゲージや圧電素子を用いて計測することにより、エンドエフェクタ１０５が対象物１０６への接触により生じた力覚情報として、力およびトルクを計測する。力覚情報取得部２０９は、力覚センサ２０８から力覚情報を取得し、内部に保持する。力・トルク計測部２１０は、この力覚情報に基づき、力およびトルクを求める。
【００７０】
Ｓ１５において、仮想ダイナミクス認識部２１１は、仮想ダイナミクスの認識を実行する。具体的な認識の方法は仮想ダイナミクス認識部２１１の説明で述べた通りである。なお、把持状態認識部２０３は、仮想ダイナミクス認識部２１１の認識結果を踏まえて、把持可否の判断を行う（Ｓ９）。
Ｓ１０において、行動計画部２０５は、このようにして認識した把持状態に基づき、行動計画を決定する。この際、行動計画部２０５は、仮想ダイナミクス認識部２１１が認識した仮想ダイナミクスにも基づいて、行動計画を作成することができる。ロボット１０１およびエンドエフェクタ１０５は、この行動計画に基づく命令を行動計画部２０５から受信し、動作を実行する。
【００７１】
ここで、対象物１０６が、仮想ダイナミクスの異なる複数種類存在する場合には、この認識結果に基づき分類し、対応する配置場所１０７に配置してもよい。また、仮想ダイナミクスの認識結果を元に、ロボット把持動作時の把持力の調整を行ってもよい。例えば、対象物１０６が軟体物である場合、エンドエフェクタ１０５が把持する際の、爪１０５ａと爪１０５ｂとの間隔として、決まった固定間隔で把持を行っても、落下してしまう可能性がある。対象物１０６がこのような軟体物の場合、対象物１０６の仮想ダイナミクスに応じて把持力を設定して把持してもよい。認識された仮想ダイナミクスに応じて把持力を制御する方法を採用する場合は、把持方向の力を計測できるように他のセンサ（力覚センサ、圧力センサなど）を利用してもよい。また、エンドエフェクタ１０５のフィンガの開閉（爪１０５ａと爪１０５ｂとの開閉）を行うアクチュエータでコンプライアンス制御（Ｃｏｍｐｌｉａｎｃｅ  ｃｏｎｔｒｏｌ）を行ってもよい。
【００７２】
以上説明したように、本実施形態によれば、ロボット１０１のアームの先端に力覚センサ２０８を備えさせ、エンドエフェクタ１０５に加えられる力およびトルクを計測している。このような構成によって、対象物１０６に接触したときの力を計測し、対象物１０６の仮想ダイナミクスを認識することができる。したがって、本実施形態によれば、対象物１０６が、ゴムのような柔らかい物体で有る場合でも、その仮想ダイナミクスを実際にその対象物１０６に触れることによって認識することができる。そして、かかる認識に基づき、柔軟な対象物１０６であっても、それに対する把持動作を行い、対象物１０６の配置動作をロボット１０１に行わせることができる。さらに、行動計画部２０５は、仮想ダイナミクスに基づいて、行動計画を作成することができる。
このように、本実施形態によれば、対象物１０６を把持することのできる複数の棒の位置、速度、加速度の少なくとも一つを計測することによって、把持機能と認識機能を両立させたロボット制御装置を提供することができる。また、同様に把持機能と認識機能を両立させたロボット制御方法、ロボットシステムを提供することができる。
【００７３】
変形例・応用例１
実施形態１、２、３において、エンドエフェクタ１０５をロボット１０１のアームの先端に取り付けている。しかし、エンドエフェクタ１０５をロボット１０１と分離し、対象物１０６を固定する治具として使用してもよい。このような治具は、対象物１０６を固定するとともに、棒の位置等から、対象物１０６の固定情報や、対象物１０６の形状等を測定することができる。
例えば、この治具（エンドエフェクタ１０５）を所定の位置・場所に、その棒が所定方向（例えば「上」）を向くように配置して、その上に対象物１０６を配置することができる。このように対象物１０６を配置すれば、対象物１０６が複雑な形状を有している場合、または、対象物１０６が柔らかな材質である場合においても、対象物１０６をより安定に配置することができる。さらに、棒の位置を測定することによって、対象物１０６の形状や柔らかさを認識してもよい。
【００７４】
また、このように、対象物１０６の位置姿勢をより安定して固定できるので、ロボット１０１による対象物１０６に対する把持動作をより行いやすくすることができる。この場合、ロボット１０１が、対象物１０６に対してアプローチ動作を行う時に、エンドエフェクタ１０５のフィンガの周辺の棒が適宜凹む（縮む）ので、対象物１０６に対するアプローチ動作の障害となる恐れは少ない。
【００７５】
変形例・応用例２
実施形態１、２、３において、フィンガで対象物１０６を把持することなく、フィンガの棒を中空構造にすることで、フィンガの棒の先端で対象物１０６を吸着して搬送してもよい。このような吸着は、例えば、フィンガを構成する各棒から、吸着のための真空エジェクタや真空ポンプ、または、通常のエアポンプ等を用いて、フィンガを構成する各棒から空気を吸引することによって実現することができる。
この際、各フィンガの棒が対象物１０６に対する接触有無をそれぞれ検知することで、接触している棒に関してのみ吸引を行うように構成してもよい。すなわち、対象物１０６に接触している棒に接続するエジェクタのみＯＮ動作させてもよい。このような構成によって、流量の無駄を削減することができる。
このように、エジェクタのＯＮ動作／ＯＦＦ動作で制御することができるｔが、それに替えて、それぞれの棒に弁を設けて、この弁を開閉して制御してもよい。
このような吸引を実現する構成を採用することによって、把持困難な物体でも、吸着によって搬送が可能となる。
【００７６】
変形例・応用例３
実施形態１、２、３において、フィンガ（を構成する棒）の形状、材質は特に限定されない。例えば、平たい物体のリブ部分（例えば複写機のリブ部分）を把持する場合、フィンガの棒をしなるような材質を用いて構成してもよい。このような材質の棒でフィンガを構成すれば、対象物１０６を把持する際に、フィンガの棒は適宜「しなる」ので、対象物１０６に加えられる力の大きさの変動を抑制することができる。
また、その際、エンドエフェクタ１０５のアクチュエータでコンプライアンス制御を行い、把持方向へ与える力の制御や、仮想ダイナミクスの計測を実行させてもよい。この場合、ロボット１０１のサーボ自身のコンプライアンスと合わせて把持方向のプロパティを計測してもよい。
【００７７】
対象物１０６がバラ積みされた状態の中から対象物１０６を把持する際、フィンガの棒の先端（対象物１０６に接触する側）を、基体と摺動する部分よりも大きくすることができる。例えば、摺動する部分よりも大きな直径を有する球体等で構成することができる。このような構成を採用すれば、フィンガを開閉することなく、対象物１０６を把持できる場合もある。すなわち、フィンガを構成する棒が「しなる」ので、対象物１０６に接触した場合に、棒が、対象物１０６の大きさに合わせてしなり、上で説明した球体の部分を対象物１０６の背面に位置させることも対象物１０６によっては可能である。したがって、この場合、この球体によって、対象物１０６を抱き込むように把持することができる場合がある。
【００７８】
変形例・応用例４
実施形態１、２、３において、フィンガの（棒の）位置、速度、加速度の少なくとも一つの情報から、対象物１０６を把持した後の異常検知を行ってもよい。例えば、対象物１０６の把持に成功している場合、把持後はフィンガの棒の変位は変化しないはずである。しかし、滑りなどが生じれば変位が変化するため、上記いずれかのパラメータの値が異常値を示す場合もある。したがって、上記パラメータを認識することによって、ロボット１０１が実行する動作の異常の検知を行うことができる。
【００７９】
すなわち、把持後もフィンガの棒の状態を計測し続け、変化があれば、落下や滑りが発生したと判断して、異常検知を行ってもよい。
また、ロボット１０１が対象物１０６を把持しているときに、対象物１０６の傾きなどが生じればその状態を認識し、把持位置を変えてより重心に近い位置を把持し直すように構成してもよい。また、そのような把持位置の変更処理等があった場合は、次の処理対象である対象物１０６を把持する動作において、この把持位置の変更処理をフィードバック（適用）してもよい。例えば、長さが長い対象物１０６を把持している場合は、作業の途中で対象物１０６がエンドエフェクタ１０５のフィンガと滑り、ずれが生じる恐れがあるが、このような場合に有用である。
【００８０】
変形例・応用例５
実施形態１、２、３において、フィンガを構成する棒の配列や長さ、摺動方向の剛性は基本的に全て同様のものである。しかし、フィンガを構成する棒の配列や長さ、摺動方向の剛性は不均一でもよい。例えば、フィンガの外側になるほどフィンガを構成する棒の存在密度を高くしてもよい。また、フィンガの外側になるほど棒の長さを長くしてもよい。また、フィンガの外側になるほど棒の剛性を大きくしてもよい。このような構成によれば、エンドエフェクタ１０５のフィンガが対象物１０６に接触した時に、対象物１０６をフィンガの内側に誘導することができ、より安定した把持状態を実現することができる。
また、稼働（摺動）方向の剛性が不一致でもよく、例えば、外側になればなるほど剛性を強くしてもよい。このような構成によれば、対象物１０６を把持しようとする際、対象物１０６を内側に誘導することができる。
【００８１】
変形例・応用例６
実施形態１、２、３において、ビジョンセンサを用いて、画像から、把持部（フィンガ）の変化および把持部（フィンガ）を構成する棒の変化の計測を併用してもよい。この場合、専用のカメラを使わずに、上述した撮像装置１０２をそのまま利用してもよい。
また、ロボット１０１にオンハンドカメラが備えられている場合は、撮像装置１０２の代わりに、または、撮像装置１０２とともに、そのオンハンドカメラを利用してもよい。また、作業空間に固定されたカメラを用いてフィンガ（およびそれを構成する棒）の計測を行える場合は、ロボット１０１の座標系との関係からフィンガおよびその棒の変位を計測してもよい。
【００８２】
変形例・応用例７
上述した各実施形態によれば、ビジョンセンサでは形状把握が困難な対象物１０６でも、把持することができる技術を説明した。しかし、各実施形態で説明した技術を、ビジョンセンサを用いた従来の技術と組み合わせて利用してもよい。例えば、半透明・不透明な部分がない対象物１０６であれば、ビジョンセンサを利用した従来の手法を用いて、ビジョンセンサが適用できない対象物１０６の場合に、上記各実施形態で説明した技術を用いるように構成してもよい。
【００８３】
（ハードウェア構成例）
図１１は、上記各実施形態の各部を構成することのできるコンピュータ３１０の構成の例を示す。例えば、図４に示す情報処理装置１０４を、コンピュータ３１０で構成することができる。また、図７に示す情報処理装置１０４ｂや、図９に示す情報処理装置１０４ｃを、コンピュータ３１０で構成することもできる。
ＣＰＵ３１１は、ＲＯＭ３１２、ＲＡＭ３１３、外部メモリ３１４等に格納されたプログラムを実行することによって、上記各実施形態の各部を実現する。ＲＯＭ３１２、ＲＡＭ３１３は上記ＣＰＵが実行するプログラムや各種データを保持することができる。
【００８４】
また、外部メモリ３１４は、ハードディスク、光学式ディスクや半導体記憶装置等で構成してよく、部品データベース２０４、操作データベース２０６を構成することができる。また、撮像部３１５は、撮像装置１０２や、把持部変化計測部２０１を構成することができる。
入力部３１６は、ユーザーインターフェース部を構成することができる。キーボードやタッチパネルで構成することができるが、マウス等のポインティングデバイスや各種スイッチで構成してもよい。
表示部３１７は、ユーザーに対し任意の表示を行う各種ディスプレイで構成することができる。通信Ｉ／Ｆ３１８は、外部と通信を行うインターフェースであり、例えば図４の把持部変化取得部２０２と、把持部変化計測部２０１とのインターフェースを司ることができる。また、行動計画部２０５と、エンドエフェクタ１０５やロボット１０１との通信のインターフェースとして機能することができる。また、コンピュータ３１０の上記説明した各部はバス３１９によって相互に接続されている。
【００８５】
（その他の実施形態）
本発明は、以下の処理を実行することによっても実現される。
即ち、上述した実施形態の１以上の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給することができる。そして、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵまたは１つ以上のプロセッサ等）がプログラムを読み出して実行する処理で上述した各処理を実現することもできる。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８６】
１０１・・・ロボット、１０２・・・撮像装置、１０３・・・光源、１０４・・・情報処理装置、１０５・・・エンドエフェクタ、１０６・・・対象物、１０７・・・配置場所、２０１・・・把持部変化計測部、２０２・・・把持部変化取得部、２０３・・・把持状態認識部、２０４・・・部品データベース、２０５・・・行動計画部、２０６・・・操作データベース、２０７・・・外力認識部、２０８・・・力覚センサ、２０９・・・力覚情報取得部、２１０・・・力・トルク計測部、２１１・・・仮想ダイナミクス認識部
【図１】
2017177294.tif 000004
【図２】
2017177294.tif 000005
【図３】
2017177294.tif 000006
【図４】
2017177294.tif 000007
【図５】
2017177294.tif 000008
【図６】
2017177294.tif 000009
【図７】
2017177294.tif 000010
【図８】
2017177294.tif 000011
【図９】
2017177294.tif 000012
【図１０】
2017177294.tif 000013
【図１１】
2017177294.tif 000014