(57)【要約】【課題】ハンドに対象物を把持させる際に適したハンドの状態によって対象物をハンドに把持させることができるロボットシステムを提供すること。【解決手段】ロボットシステムは、ハンドを備えるロボットと、対象物の位置及び姿勢と、当該位置及び姿勢の誤差情報と、ハンドの状態とに基づきハンドの状態を決定するロボット制御装置と、を備える。【選択図】図３
2017052073.tif 000002
【特許請求の範囲】
【請求項１】
ハンドを備えるロボットと、
対象物の位置及び姿勢と、当該位置及び姿勢の誤差情報と、前記ハンドの状態とに基づき前記ハンドの状態を決定するロボット制御装置と、
を備えるロボットシステム。
【請求項２】
ロボット制御装置は、前記対象物の位置及び姿勢を画像から検出する、
請求項１記載のロボットシステム。
【請求項３】
前記ロボット制御装置は、前記対象物の位置及び姿勢と、前記誤差情報と、前記ハンドの状態とに基づく前記ハンドの状態を評価する評価値に応じて前記ハンドの状態を決定する、
請求項１又は２に記載のロボットシステム。
【請求項４】
前記評価値は、前記ハンドにより前記対象物が把持された際に、前記ハンドと前記対象物との相対的な位置及び姿勢の変化のし難さを示す値である、
請求項３に記載のロボットシステム。
【請求項５】
前記評価値には、前記ハンドにより前記対象物が把持された際に、前記ハンドに対する前記対象物の並進のし難さを示す値が含まれる、
請求項４に記載のロボットシステム。
【請求項６】
前記評価値には、前記ハンドにより前記対象物が把持された際に、前記ハンドに対する前記対象物の回転のし難さを示す値が含まれる、
請求項４又は５に記載のロボットシステム。
【請求項７】
前記ハンドの状態には、前記ハンドと前記対象物との相対的な位置及び姿勢が含まれる、
請求項１から６のうちいずれか一項に記載のロボットシステム。
【請求項８】
前記ハンドの状態には、前記ハンドが備える把持部位間の角度が含まれる、
請求項１から７のうちいずれか一項に記載のロボットシステム。
【請求項９】
前記誤差情報は、確率分布を示す情報である、
請求項１から８のうちいずれか一項に記載のロボットシステム。
【請求項１０】
前記誤差情報は、誤差の範囲を示す情報である、
請求項１から９のうちいずれか一項に記載のロボットシステム。
【請求項１１】
ハンドを備え、
対象物の位置及び姿勢と、当該位置及び姿勢の誤差情報と、前記ハンドの状態とに基づく評価値に応じて前記ハンドの状態を決定する、
ロボット。
【請求項１２】
対象物の位置及び姿勢と、当該位置及び姿勢の誤差情報と、ロボットが備えるハンドの状態とに基づく評価値に応じて前記ハンドの状態を決定する、
ロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ロボットシステム、ロボット、及びロボット制御装置に関する。
【背景技術】
【０００２】
対象物が撮像された撮像画像に基づいてロボットに対象物を把持させる技術の研究や開発が行われている。
【０００３】
これに関し、ロボットが対象物を把持するパターンである把持パターンのうち、ロボットによる対象物の把持がどれだけしっかりと対象物体を把持できるかを示すスカラ値である把持品質評点が高い把持パターンを選択する方法が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１４４３５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の特許文献１には、ロボットのハンドの状態に適した把持パターンを選択する具体的な方法が示されておらず、ロボットのハンドの状態に適した把持パターンによって対象物を把持することが困難な場合があった。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一つを解決するために本発明の一態様は、ハンドを備えるロボットと、対象物の位置及び姿勢と、当該位置及び姿勢の誤差情報と、前記ハンドの状態とに基づき前記ハンドの状態を決定するロボット制御装置と、を備えるロボットシステムである。
この構成により、ロボットシステムは、対象物の位置及び姿勢と、当該位置及び姿勢の誤差情報と、ハンドの状態とに基づきハンドの状態を決定する。これにより、ロボットシステムは、ハンドに対象物を把持させる際に適したハンドの状態によって対象物をハンドに把持させることができる。
【０００７】
また、本発明の他の態様は、ロボットシステムにおいて、ロボット制御装置は、前記対象物の位置及び姿勢を画像から検出する、構成が用いられてもよい。
この構成により、ロボットシステムは、対象物の位置及び姿勢を画像から検出する。これにより、ロボットシステムは、画像から検出した対象物の位置及び姿勢に基づいて決定されたハンドの状態によって対象物をハンドに把持させることができる。
【０００８】
また、本発明の他の態様は、ロボットシステムにおいて、前記ロボット制御装置は、前記対象物の位置及び姿勢と、前記誤差情報と、前記ハンドの状態とに基づく前記ハンドの状態を評価する評価値に応じて前記ハンドの状態を決定する、構成が用いられてもよい。
この構成により、ロボットシステムは、対象物の位置及び姿勢と、誤差情報と、ハンドの状態とに基づくハンドの状態を評価する評価値に応じてハンドの状態を決定する。これにより、ロボットシステム１は、ハンドの状態を評価する評価値に応じて決定されたハンドの状態によって対象物をハンドに把持させることができる。
【０００９】
また、本発明の他の態様は、ロボットシステムにおいて、前記評価値は、前記ハンドにより前記対象物が把持された際に、前記ハンドと前記対象物との相対的な位置及び姿勢の変化のし難さを示す値である、構成が用いられてもよい。
この構成により、ロボットシステムは、ハンドにより対象物が把持された際に、ハンドと対象物との相対的な位置及び姿勢の変化のし難さを示す値である評価値に応じてハンドの状態を決定する。これにより、ロボットシステムは、ハンドにより対象物が把持された際に、ハンドと対象物との相対的な位置及び姿勢の変化のし難さを示す値である評価値に応じて決定されたハンドの状態によって対象物を把持することができる。
【００１０】
また、本発明の他の態様は、ロボットシステムにおいて、前記評価値には、前記ハンドにより前記対象物が把持された際に、前記ハンドに対する前記対象物の並進のし難さを示す値が含まれる、構成が用いられてもよい。
この構成により、ロボットシステムは、ハンドにより対象物が把持された際に、ハンドに対する対象物の並進のし難さを示す値を含む評価値に基づいてハンドの状態を決定する。これにより、ロボットシステムは、ハンドにより対象物が把持された際に、ハンドに対する対象物の並進のし難さを示す値を含む評価値に応じて決定されたハンドの状態によって対象物を把持することができる。
【００１１】
また、本発明の他の態様は、ロボットシステムにおいて、前記評価値には、前記ハンドにより前記対象物が把持された際に、前記ハンドに対する前記対象物の回転のし難さを示す値が含まれる、構成が用いられてもよい。
この構成により、ロボットシステムは、ハンドにより対象物が把持された際に、ハンドに対する対象物の回転のし難さを示す値を含む評価値に基づいてハンドの状態を決定する。これにより、ロボットシステムは、ハンドにより対象物が把持された際に、ハンドに対する対象物の回転のし難さを示す値を含む評価値に基づいて決定されたハンドの状態によって対象物を把持することができる。
【００１２】
また、本発明の他の態様は、ロボットシステムにおいて、前記ハンドの状態には、前記ハンドと前記対象物との相対的な位置及び姿勢が含まれる、構成が用いられてもよい。
この構成により、ロボットシステムは、対象物の位置及び姿勢と、当該位置及び姿勢の誤差情報と、ハンドと対象物との相対的な位置及び姿勢を含むハンドの状態とに基づきハンドの状態を決定する。これにより、ロボットシステムは、ハンドと対象物との相対的な位置及び姿勢を含むハンドの状態に基づいて決定されたハンドの状態によって対象物を把持することができる。
【００１３】
また、本発明の他の態様は、ロボットシステムにおいて、前記ハンドの状態には、前記ハンドが備える把持部位間の角度が含まれる、構成が用いられてもよい。
この構成により、ロボットシステムは、対象物の位置及び姿勢と、当該位置及び姿勢の誤差情報と、ハンドが備える把持部位間の角度を含むハンドの状態とに基づきハンドの状態を決定する。これにより、ロボットシステムは、ハンドが備える把持部位間の角度を含むハンドの状態に基づいて決定されたハンドの状態によって対象物を把持することができる。
【００１４】
また、本発明の他の態様は、ロボットシステムにおいて、前記誤差情報は、確率分布を示す情報である、構成が用いられてもよい。
この構成により、ロボットシステムは、対象物の位置及び姿勢と、確率分布を示す情報である誤差情報と、ハンドの状態とに基づきハンドの状態を決定する。これにより、ロボットシステムは、対象物の位置及び姿勢と、確率分布を示す情報と、ハンドの状態とに基づいて決定されたハンドの状態によって対象物を把持することができる。
【００１５】
また、本発明の他の態様は、ロボットシステムにおいて、前記誤差情報は、誤差の範囲を示す情報である、構成が用いられてもよい。
この構成により、ロボットシステムは、対象物の位置及び姿勢と、誤差の範囲を示す情報である誤差情報と、ハンドの状態とに基づきハンドの状態を決定する。これにより、ロボットシステムは、対象物の位置及び姿勢と、誤差の範囲を示す情報と、ハンドの状態とに基づいて決定されたハンドの状態によって対象物を把持することができる。
【００１６】
また、本発明の他の態様は、ハンドを備え、対象物の位置及び姿勢と、当該位置及び姿勢の誤差情報と、前記ハンドの状態とに基づき前記ハンドの状態を決定する、ロボットである。
この構成により、ロボットは、対象物の位置及び姿勢と、当該位置及び姿勢の誤差情報と、ハンドの状態とに基づきハンドの状態を決定する。これにより、ロボットは、ハンドに対象物を把持させる際に適したハンドの状態によって対象物をハンドに把持させることができる。
【００１７】
また、本発明の他の態様は、対象物の位置及び姿勢と、当該位置及び姿勢の誤差情報と、ロボットが備えるハンドの状態とに基づき前記ハンドの状態を決定する、ロボット制御装置である。
この構成により、ロボット制御装置は、対象物の位置及び姿勢と、当該位置及び姿勢の誤差情報と、ハンドの状態とに基づきハンドの状態を決定する。これにより、ロボット制御装置は、ハンドに対象物を把持させる際に適したハンドの状態によって対象物をハンドに把持させることができる。
【００１８】
以上により、ロボットシステム、ロボット、及びロボット制御装置は、対象物の位置及び姿勢と、当該位置及び姿勢の誤差情報と、ハンドの状態とに基づきハンドの状態を決定する。これにより、ロボットシステム、ロボット、及びロボット制御装置は、ハンドに対象物を把持させる際に適したハンドの状態によって対象物をハンドに把持させることができる。
【図面の簡単な説明】
【００１９】
【図１】本実施形態に係るロボット２０の一例を示す構成図である。
【図２】ロボット制御装置３０のハードウェア構成の一例を示す図である。
【図３】ロボット制御装置３０の機能構成の一例を示す図である。
【図４】制御部３６が行う処理の流れの一例を示すフローチャートである。
【図５】第１エンドエフェクターＥ１の状態を説明するための図である。
【図６】対象物位置姿勢のそれぞれを視覚的に示した図である。
【図７】第１エンドエフェクターＥ１が備える各把持部位が対象物Ｏから加えられる垂直抗力のうちの当該各把持部位が支えることが可能な最大の垂直抗力を例示する図である。
【図８】図７に示した垂直抗力ｆ１〜垂直抗力ｆ３のそれぞれを表す矢印に対してフリクションコーンを描いた図である。
【図９】把持品質評価値算出部４６が生成する凸包の一例を示す図である。
【図１０】第１エンドエフェクターＥ１が備える各把持部位に対して対象物Ｏから加わっている垂直抗力及び摩擦力を例示した図である。
【発明を実施するための形態】
【００２０】
＜実施形態＞
以下、本発明の実施形態について、図面を参照して説明する。図１は、本実施形態に係るロボット２０の一例を示す構成図である。
まず、ロボット２０の構成について説明する。
【００２１】
ロボット２０は、第１アームと第２アームを備える双腕ロボットである。双腕ロボットは、この一例における第１アームと第２アームのような２本のアーム（腕）を備えるロボットである。なお、ロボット２０は、双腕ロボットに代えて、単腕ロボットであってもよい。単腕ロボットは、１本のアームを備えるロボットである。例えば、単腕ロボットは、この一例における第１アームと第２アームのいずれか一方を備える。
また、ロボット２０は、第１撮像部２１と、第２撮像部２２と、第３撮像部２３と、第４撮像部２４と、ロボット制御装置３０を備える。
【００２２】
第１アームは、第１エンドエフェクターＥ１と、第１マニピュレーターＭ１と、第１力検出部１１と、第１撮像部２１を備える。
【００２３】
第１エンドエフェクターＥ１は、物体を把持可能な２以上の把持部位と、図示しない複数のアクチュエーターを備える。以下では、一例として、第１エンドエフェクターＥ１が、把持部位Ｃ１１と、把持部位Ｃ１２と、把持部位Ｃ１３の３つの把持部位を備える場合について説明する。
【００２４】
第１エンドエフェクターＥ１が備える複数のアクチュエーターはそれぞれ、ケーブルによってロボット制御装置３０と通信可能に接続されている。これにより、当該アクチュエーターは、ロボット制御装置３０から取得される制御信号に基づいて、把持部位Ｃ１１と、把持部位Ｃ１２と、把持部位Ｃ１３のそれぞれを動作させる。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ（Universal  Serial  Bus）等の規格によって行われる。なお、当該アクチュエーターは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００２５】
第１マニピュレーターＭ１は、７つの関節と、第１撮像部２１と、図示しない複数のアクチュエーターとを備える７軸垂直多関節型のマニピュレーターである。従って、第１アームは、支持台と、第１エンドエフェクターＥ１と、第１マニピュレーターＭ１が当該アクチュエーターによる連携した動作によって７軸の自由度の動作を行う。なお、第１アームは、６軸以下の自由度で動作する構成であってもよく、８軸以上の自由度で動作する構成であってもよい。
【００２６】
第１アームが７軸の自由度で動作する場合、第１アームは、６軸以下の自由度で動作する場合と比較して取り得る姿勢が増える。これにより第１アームは、例えば、動作が滑らかになり、更に第１アームの周辺に存在する物体との干渉を容易に回避することができる。また、第１アームが７軸の自由度で動作する場合、第１アームの制御は、第１アームが８軸以上の自由度で動作する場合と比較して計算量が少なく容易である。このような理由から、第１アームは、７軸の自由度で動作することが望ましい。
【００２７】
第１マニピュレーターＭ１が備える複数のアクチュエーターはそれぞれ、ケーブルによってロボット制御装置３０と通信可能に接続されている。これにより、当該アクチュエーターは、ロボット制御装置３０から取得される制御信号に基づいて、第１マニピュレーターＭ１を動作させる。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、当該アクチュエーターのうちの一部又は全部は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００２８】
第１力検出部１１は、第１エンドエフェクターＥ１と第１マニピュレーターＭ１の間に備えられる。第１力検出部１１は、第１エンドエフェクターＥ１に作用した力やモーメントの大きさを示す値を検出する。第１力検出部１１は、検出した力やモーメントの大きさを示す値を出力値として含む第１力検出情報を通信によりロボット制御装置３０へ出力する。第１力検出情報は、ロボット制御装置３０による第１アームの第１力検出情報に基づく制御に用いられる。第１力検出情報に基づく制御は、例えば、インピーダンス制御等のコンプライアンス制御のことである。なお、第１力検出部１１は、トルクセンサー等の第１エンドエフェクターＥ１に加わる力やモーメントの大きさを示す値を検出する他のセンサーであってもよい。
【００２９】
第１力検出部１１は、ケーブルによってロボット制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第１力検出部１１は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００３０】
第１撮像部２１は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤ（Charge  Coupled  Device）やＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）等を備えたカメラである。この一例において、第１撮像部２１は、第１マニピュレーターＭ１の一部に備えられる。このため、第１撮像部２１は、第１アームの動きに応じて移動する。また、第１撮像部２１が撮像可能な範囲は、第１アームの動きに応じて変化する。第１撮像部２１は、当該範囲の静止画像を撮像してもよく、当該範囲の動画像を撮像してもよい。
【００３１】
また、第１撮像部２１は、ケーブルによってロボット制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第１撮像部２１は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００３２】
第２アームは、第２エンドエフェクターＥ２と、第２マニピュレーターＭ２と、第２力検出部１２と、第２撮像部２２を備える。
【００３３】
第２エンドエフェクターＥ２は、物体を把持可能な２以上の把持部位と、図示しない複数のアクチュエーターを備える。以下では、一例として、第２エンドエフェクターＥ２が、把持部位Ｃ２１と、把持部位Ｃ２２と、把持部位Ｃ２３の３つの把持部位を備える場合について説明する。
【００３４】
第２エンドエフェクターＥ２が備える複数のアクチュエーターはそれぞれ、ケーブルによってロボット制御装置３０と通信可能に接続されている。これにより、当該アクチュエーターは、ロボット制御装置３０から取得される制御信号に基づいて、把持部位Ｃ２１と、把持部位Ｃ２２と、把持部位Ｃ２３のそれぞれを動作させる。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、当該アクチュエーターは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００３５】
第２マニピュレーターＭ２は、７つの関節と、第２撮像部２２と、図示しない複数のアクチュエーターとを備える７軸垂直多関節型のマニピュレーターである。従って、第２アームは、支持台と、第２エンドエフェクターＥ２と、第２マニピュレーターＭ２が当該アクチュエーターによる連携した動作によって７軸の自由度の動作を行う。第２アームは、第１アームが７軸の自由度で動作することが望ましい理由と同様の理由により、７軸の自由度で動作することが望ましい。なお、第２アームは、６軸以下の自由度で動作する構成であってもよく、８軸以上の自由度で動作する構成であってもよい。
【００３６】
第２マニピュレーターＭ２が備える複数のアクチュエーターはそれぞれ、ケーブルによってロボット制御装置３０と通信可能に接続されている。これにより、当該アクチュエーターは、ロボット制御装置３０から取得される制御信号に基づいて、第２マニピュレーターＭ２を動作させる。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、当該アクチュエーターのうちの一部又は全部は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００３７】
第２力検出部１２は、第２エンドエフェクターＥ２と第２マニピュレーターＭ２の間に備えられる。第２力検出部１２は、第２エンドエフェクターＥ２に作用した力やモーメントの大きさを示す値を検出する。第２力検出部１２は、検出した力やモーメントの大きさを示す値を出力値として含む第２力検出情報を通信によりロボット制御装置３０へ出力する。第２力検出情報は、ロボット制御装置３０による第２アームの第２力検出情報に基づく制御に用いられる。第２力検出情報に基づく制御は、例えば、インピーダンス制御等のコンプライアンス制御のことである。なお、第２力検出部１２は、トルクセンサー等の第２エンドエフェクターＥ２に加わる力やモーメントの大きさを示す値を検出する他のセンサーであってもよい。
【００３８】
第２力検出部１２は、ケーブルによってロボット制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第２力検出部１２は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００３９】
第２撮像部２２は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤやＣＭＯＳ等を備えたカメラである。この一例において、第２撮像部２２は、第２マニピュレーターＭ２の一部に備えられる。このため、第２撮像部２２は、第２アームの動きに応じて移動する。また、第２撮像部２２が撮像可能な範囲は、第２アームの動きに応じて変化する。第２撮像部２２は、当該範囲の静止画像を撮像してもよく、当該範囲の動画像を撮像してもよい。
【００４０】
また、第２撮像部２２は、ケーブルによってロボット制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第２撮像部２２は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００４１】
第３撮像部２３は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤやＣＭＯＳ等を備えたカメラである。第３撮像部２３は、作業台ＴＢの上面に載置された対象物Ｏを含む範囲である撮像範囲を撮像可能な位置に設置される。なお、第３撮像部２３は、撮像範囲の静止画像を撮像してもよく、撮像範囲の動画像を撮像してもよい。
【００４２】
また、第３撮像部２３は、ケーブルによってロボット制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第３撮像部２３は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００４３】
第４撮像部２４は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤやＣＭＯＳ等を備えたカメラである。第４撮像部２４は、第３撮像部２３が撮像可能な撮像範囲を第３撮像部２３とともにステレオ撮像可能な位置に設置される。なお、第４撮像部２４は、撮像範囲の静止画像を撮像してもよく、撮像範囲の動画像を撮像してもよい。
【００４４】
また、第４撮像部２４は、ケーブルによってロボット制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第４撮像部２４は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００４５】
上記で説明したロボット２０が備えるこれらの各機能部は、この一例において、ロボット２０に内蔵されたロボット制御装置３０から制御信号を取得する。そして、当該各機能部は、取得した制御信号に基づいた動作を行う。なお、ロボット２０は、ロボット制御装置３０を内蔵する構成に代えて、外部に設置されたロボット制御装置３０により制御される構成（ロボットシステム）であってもよい。
【００４６】
ロボット制御装置３０は、ロボット２０に制御信号を送信することにより、ロボット２０を動作させる。これにより、ロボット制御装置３０は、ロボット２０に所定の作業を行わせる。
【００４７】
以下、ロボット２０が行う所定の作業について説明する。
図１に示した作業台ＴＢは、例えば、テーブルである。作業台ＴＢの上面には、対象物Ｏが載置されている。なお、作業台ＴＢは、テーブルに変えて、対象物Ｏを載置することが可能な床面等の物体であれば他の物体であってもよい。
【００４８】
対象物Ｏは、例えば、製品に組み付けるプレート、ネジ、ボルト等の産業用の部品や部材である。以下では、一例として、対象物Ｏが、図１に示したように六角柱形状の物体である場合について説明する。なお、対象物Ｏは、産業用の部品や部材に代えて、産業用の製品であってもよく、日用品や生体等の他の物体であってもよい。また、対象物Ｏの形状は、六角柱形状に代えて、他の形状であってもよい。
【００４９】
ロボット２０は、例えば、所定の作業として、作業台ＴＢの上面に載置された対象物Ｏを第１エンドエフェクターＥ１により把持する。そして、ロボット２０は、把持した対象物Ｏを、図１に示した作業台ＴＢの上面における給材領域Ａに給材（配置）する。なお、所定の作業は、他の作業であってもよい。また、ロボット２０は、所定の作業において対象物Ｏを第１エンドエフェクターＥ１により把持する構成に代えて、対象物Ｏを第２エンドエフェクターＥ２により把持する構成であってもよく、第１エンドエフェクターＥ１と第２エンドエフェクターＥ２の両方により対象物Ｏを把持する構成であってもよい。例えば、所定の作業においてロボット２０が第２エンドエフェクターＥ２により対象物Ｏを把持する場合、ロボット２０は、以下の説明における第１エンドエフェクターＥ１を第２エンドエフェクターＥ２に読み替えた場合と同様の動作を行う。
【００５０】
以下、ロボット２０に所定の作業を行わせるためにロボット制御装置３０が行う処理の概要について説明する。
ロボット制御装置３０は、対象物Ｏの位置及び姿勢と、当該位置及び姿勢の誤差情報と、第１エンドエフェクターＥ１の状態とに基づき第１エンドエフェクターＥ１の状態を決定する。この一例として、本実施形態では、ロボット制御装置３０は、撮像画像から検出した対象物Ｏの位置及び姿勢と、当該位置及び姿勢の誤差情報と、第１エンドエフェクターＥ１の状態とに基づく把持品質評価値に応じて第１エンドエフェクターＥ１の状態を決定する。なお、ロボット制御装置３０は、対象物Ｏの位置及び姿勢を撮像画像から検出する構成に代えて、対象物Ｏの位置及び姿勢を示す情報を他の装置や記憶媒体から取得する構成や、ユーザーから入力された対象物Ｏの位置及び姿勢を示す情報を取得する構成等の他の構成であってもよい。
【００５１】
ハンドは、ロボット２０における物体を把持可能な部位、すなわち第１エンドエフェクターＥ１と第２エンドエフェクターＥ２のうちいずれか一方又は両方のことである。この一例では、対象物Ｏが第１エンドエフェクターＥ１によって把持される場合を説明するため、ハンドは、第１エンドエフェクターＥ１のことであり、ハンドの状態は、第１エンドエフェクターＥ１の状態のことである。第１エンドエフェクターＥ１の状態は、この一例において、対象物Ｏに対する第１エンドエフェクターＥ１の相対的な位置及び姿勢によって表される。
【００５２】
対象物Ｏの位置及び姿勢の誤差情報は、撮像画像から検出した対象物Ｏの位置及び姿勢を中心値とした場合の誤差の分布（確率分布）を示す情報である。換言すると、当該誤差情報は、誤差の範囲を示す情報である。例えば、当該誤差情報は、正規分布を示す情報である。なお、当該誤差情報は、正規分布を示す情報に代えて、対象物Ｏを検出する実験の結果を再現する確率分布を示す情報等の他の確率分布を示す情報であってもよい。なお、撮像画像は、画像の一例である。
【００５３】
ロボット制御装置３０が行う処理をより具体的に説明すると、ロボット制御装置３０は、撮像画像から検出した対象物Ｏの位置及び姿勢と、当該位置及び姿勢の誤差情報と、第１エンドエフェクターＥ１の状態とに基づいて、第１エンドエフェクターＥ１の状態毎に、第１エンドエフェクターＥ１が対象物Ｏを把持した際に第１エンドエフェクターＥ１の状態（すなわち、第１エンドエフェクターＥ１と対象物Ｏの相対的な位置及び姿勢）の変化のし難さ（把持品質）を評価した値である把持品質評価値を算出する。
【００５４】
ロボット制御装置３０は、算出した把持品質評価値に基づいて、第１エンドエフェクターＥ１に対象物Ｏを把持させる際に適した第１エンドエフェクターＥ１の状態を決定する。これにより、ロボット制御装置３０は、把持品質評価値に応じて決定された第１エンドエフェクターＥ１の状態、すなわち第１エンドエフェクターＥ１に対象物Ｏを把持させる際に適した第１エンドエフェクターＥ１の状態によって対象物Ｏをロボット２０に把持させることができる。ロボット制御装置３０は、第１エンドエフェクターＥ１に対象物Ｏを把持させる際に適した第１エンドエフェクターＥ１の状態によって対象物Ｏをロボット２０に把持させ、当該対象物Ｏを給材領域Ａへロボット２０に給材させる。
【００５５】
以下では、ロボット制御装置３０が、撮像画像から検出した対象物Ｏの位置及び姿勢と、当該位置及び姿勢の誤差情報と、第１エンドエフェクターＥ１の状態とに基づく把持品質評価値に応じて第１エンドエフェクターＥ１の状態を決定する処理について詳しく説明する。
【００５６】
また、以下では、説明を簡略化するため、ロボット制御装置３０が撮像画像から検出する対象物Ｏの位置及び姿勢が、対象物Ｏの二次元ロボット座標系における位置及び姿勢であり、ロボット制御装置３０が把持品質評価値に応じて決定する第１エンドエフェクターＥ１の状態が、二次元ロボット座標系における第１エンドエフェクターＥ１の状態である場合について説明する。
【００５７】
また、以下では、説明を簡略化するため、二次元ロボット座標系の２つの座標軸が、地面に対して水平であり且つ互いに直交する方向を向いており、対象物Ｏが載置された作業台ＴＢの上面が、当該地面に対して水平である場合について説明する。なお、ロボット制御装置３０は、撮像画像から対象物Ｏの三次元ロボット座標系における位置及び姿勢を検出し、当該把持品質評価値に応じて三次元ロボット座標系における第１エンドエフェクターＥ１の状態を決定する構成であってもよい。なお、把持品質評価値は、ハンドの状態を評価する評価値の一例である。
【００５８】
次に、図２を参照し、ロボット制御装置３０のハードウェア構成について説明する。図２は、ロボット制御装置３０のハードウェア構成の一例を示す図である。ロボット制御装置３０は、例えば、ＣＰＵ（Central  Processing  Unit）３１と、記憶部３２と、入力受付部３３と、通信部３４と、表示部３５を備える。また、ロボット制御装置３０は、通信部３４を介してロボット２０と通信を行う。これらの構成要素は、バスＢｕｓを介して相互に通信可能に接続されている。
【００５９】
ＣＰＵ３１は、記憶部３２に格納された各種プログラムを実行する。
記憶部３２は、例えば、ＨＤＤ（Hard  Disk  Drive）やＳＳＤ（Solid  State  Drive）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read−Only  Memory）、ＲＯＭ（Read−Only  Memory）、ＲＡＭ（Random  Access  Memory）等を含む。なお、記憶部３２は、ロボット制御装置３０に内蔵されるものに代えて、ＵＳＢ等のデジタル入出力ポート等によって接続された外付け型の記憶装置であってもよい。
【００６０】
記憶部３２は、ロボット制御装置３０が処理する各種情報や画像、プログラム、誤差情報、給材領域Ａの位置を示す情報等を格納する。以下では、一例として、記憶部３２が、誤差情報と給材領域Ａの位置を示す情報とを予め記憶している場合について説明する。なお、記憶部３２は、ユーザーから受け付けられた操作に基づいて、誤差情報と給材領域Ａの位置を示す情報とのうちいずれか一方又は両方を記憶する構成であってもよい。
【００６１】
入力受付部３３は、例えば、キーボードやマウス、タッチパッド等を備えたティーチングペンダントや、その他の入力装置である。なお、入力受付部３３は、タッチパネルとして表示部３５と一体に構成されてもよい。
通信部３４は、例えば、ＵＳＢ等のデジタル入出力ポートやイーサネット（登録商標）ポート等を含んで構成される。
表示部３５は、例えば、液晶ディスプレイパネル、あるいは、有機ＥＬ（ElectroLuminescence）ディスプレイパネルである。
【００６２】
次に、図３を参照し、ロボット制御装置３０の機能構成について説明する。図３は、ロボット制御装置３０の機能構成の一例を示す図である。ロボット制御装置３０は、記憶部３２と、制御部３６を備える。
【００６３】
制御部３６は、ロボット制御装置３０の全体を制御する。制御部３６は、力検出情報取得部４０と、撮像制御部４１と、画像取得部４２と、位置姿勢検出部４４と、把持品質評価値算出部４６と、ハンド状態決定部４７と、ロボット制御部４８を備える。制御部３６が備えるこれらの機能部は、例えば、ＣＰＵ３１が、記憶部３２に記憶された各種プログラムを実行することにより実現される。また、これらの機能部のうちの一部又は全部は、ＬＳＩ（Large  Scale  Integration）やＡＳＩＣ（Application  Specific  Integrated  Circuit）等のハードウェア機能部であってもよい。
【００６４】
力検出情報取得部４０は、第１力検出部１１が検出した力やモーメントの大きさを示す値を出力値として含む第１力検出情報を第１力検出部１１から取得する。また、力検出情報取得部４０は、第２力検出部１２が検出した力やモーメントの大きさを示す値を出力値として含む第２力検出情報を第２力検出部１２から取得する。
【００６５】
撮像制御部４１は、作業台ＴＢの上面に載置された対象物Ｏを含む撮像範囲を、第１撮像部２１と、第２撮像部２２と、第３撮像部２３と、第４撮像部２４のうちの一部又は全部に撮像させる。以下では、一例として、撮像制御部４１が、当該撮像範囲を第３撮像部２３に撮像させる場合について説明する。なお、ロボット制御装置３０が、撮像画像から対象物Ｏの三次元ロボット座標系における位置及び姿勢を検出し、当該把持品質評価値に応じて三次元ロボット座標系における第１エンドエフェクターＥ１の状態を決定する構成の場合、撮像制御部４１は、第１撮像部２１と、第２撮像部２２と、第３撮像部２３と、第４撮像部２４のうちの少なくとも２つ以上の撮像部に当該撮像範囲をステレオ撮像させる。
【００６６】
画像取得部４２は、第３撮像部２３が撮像した撮像画像を、第３撮像部２３から取得する。
位置姿勢検出部４４は、画像取得部４２が取得した撮像画像に基づいて、当該撮像画像から対象物Ｏの位置及び姿勢を検出する。
【００６７】
把持品質評価値算出部４６は、記憶部３２から誤差情報を読み出す。また、把持品質評価値算出部４６は、読み出した誤差情報と、位置姿勢検出部４４が撮像画像から検出した対象物Ｏの位置及び姿勢と、第１エンドエフェクターＥ１の状態とに基づいて、第１エンドエフェクターＥ１の状態毎に、把持品質評価値を算出する。
【００６８】
ハンド状態決定部４７は、把持品質評価値算出部４６が算出した把持品質評価値に基づいて、把持品質評価値を最大にする第１エンドエフェクターＥ１の状態を、第１エンドエフェクターＥ１に対象物Ｏを把持させる際に適した第１エンドエフェクターＥ１の状態として決定する。なお、ハンド状態決定部４７は、把持品質評価値を最大にする第１エンドエフェクターＥ１の状態を、第１エンドエフェクターＥ１に対象物Ｏを把持させる際に適した第１エンドエフェクターＥ１の状態として決定する構成に代えて、所定の閾値の把持品質評価値にする第１エンドエフェクターＥ１の状態等の把持品質評価値が最大ではない他の値の第１エンドエフェクターＥ１の状態を、第１エンドエフェクターＥ１に対象物Ｏを把持させる際に適した第１エンドエフェクターＥ１の状態として決定する構成であってもよい。
【００６９】
ロボット制御部４８は、ハンド状態決定部４７が決定した第１エンドエフェクターＥ１の状態によって対象物Ｏをロボット２０に把持させ、当該対象物Ｏを給材領域Ａへロボット２０に給材させる。
【００７０】
以下、図４を参照し、制御部３６が行う処理について説明する。図４は、制御部３６が行う処理の流れの一例を示すフローチャートである。
撮像制御部４１は、作業台ＴＢの上面に載置された対象物Ｏを含む撮像範囲を第３撮像部２３に撮像させる（ステップＳ１００）。次に、画像取得部４２は、ステップＳ１００において第３撮像部２３が撮像した撮像画像を第３撮像部２３から取得する（ステップＳ１１０）。次に、位置姿勢検出部４４は、ステップＳ１１０において画像取得部４２が取得した撮像画像に基づいて、当該撮像画像から対象物Ｏの位置及び姿勢を検出位置姿勢として検出する（ステップＳ１２０）。
【００７１】
ここで、ステップＳ１２０の処理について説明する。例えば、位置姿勢検出部４４は、ステップＳ１１０において画像取得部４２が取得した撮像画像に基づいて、当該撮像画像から対象物Ｏの輪郭を検出する。位置姿勢検出部４４は、検出した輪郭の重心の位置を、対象物Ｏの位置として検出する。ここで、撮像画像における各点が表わす位置と、二次元ロボット座標系における位置とは、予めキャリブレーションによって対応付けられている。
【００７２】
また、位置姿勢検出部４４は、検出した輪郭の重心の位置を原点とした対象物Ｏの姿勢を表す二次元局所座標系を対象物Ｏに設定する。当該二次元局所座標系の２つの座標軸の方向は、互いに直交していれば、撮像画像上において如何なる方向を向いていてもよい。この一例では、位置姿勢検出部４４は、当該二次元局所座標系のＸ軸の方向を第３撮像部２３の撮像素子のＸ軸の方向に設定し、当該二次元局所座標系のＹ軸の方向を第３撮像部２３の撮像素子のＹ軸の方向に設定する。位置姿勢検出部４４は、当該二次元局所座標系の２つの座標軸の方向を、対象物Ｏの姿勢として特定（検出）する。なお、位置姿勢検出部４４は、当該二次元局所座標系の２つの座標軸のうちの一方の方向を基準として、当該基準からの傾きの角度によって対象物Ｏの姿勢を表す構成であってもよい。
【００７３】
ステップＳ１２０において検出位置姿勢が検出された後、把持品質評価値算出部４６は、ハンドの状態毎、すなわち第１エンドエフェクターＥ１の状態毎にステップＳ１２５の処理を繰り返し行う（ステップＳ１２３）。ここで、第１エンドエフェクターＥ１の状態について説明する。
【００７４】
図５は、第１エンドエフェクターＥ１の状態を説明するための図である。図５には、位置及び姿勢が検出位置姿勢と一致している場合の対象物Ｏが示されている。また、図５には、対象物Ｏを把持する直前の第１エンドエフェクターＥ１が示されている。ただし、図５では、第１エンドエフェクターＥ１が備える把持部位Ｃ１１と、把持部位Ｃ１２と、把持部位Ｃ１３と、対象物Ｏとの相対的な位置及び姿勢を明確に示すため、把持部位Ｃ１１、把持部位Ｃ１２、及び把持部位Ｃ１３以外の第１エンドエフェクターＥ１の部位を省略している。また、図５では、図の簡略化のため、把持部位Ｃ１１と、把持部位Ｃ１２と、把持部位Ｃ１３がそれぞれ、黒丸によって描かれているが、これら３つの把持部位それぞれの実際の形状が黒丸であるわけではない。
【００７５】
前述したように、第１エンドエフェクターＥ１の状態は、第１エンドエフェクターＥ１と対象物Ｏの相対的な位置及び姿勢によって表される。より具体的には、この一例において、第１エンドエフェクターＥ１の位置は、図５に示した把持部位Ｃ１１の可動方向ＣＡ１へ伸びる補助線と、把持部位Ｃ１２の可動方向ＣＡ２へ伸びる補助線と、把持部位Ｃ１３の可動方向ＣＡ３へ伸びる補助線とが１点で交わる点の位置である把持位置Ｇによって表される。なお、把持位置Ｇは、当該１点で交わる点の位置に代えて、例えば、ＴＣＰ（Tool  Center  Point）等の第１エンドエフェクターＥ１に対応付けられた位置であって第１エンドエフェクターＥ１とともに移動する位置であれば他の位置であってもよい。
【００７６】
以上のことから、第１エンドエフェクターＥ１と対象物Ｏの相対的な位置は、対象物Ｏの位置に対する把持位置Ｇによって表される。以下の説明では、第１エンドエフェクターＥ１と対象物Ｏの相対的な位置を、対象物Ｏの輪郭内に描かれた把持位置Ｇによって表す。
【００７７】
また、第１エンドエフェクターＥ１と対象物Ｏの相対的な姿勢は、この一例において、対象物Ｏの姿勢を表す二次元局所座標系のＸ軸と可動方向ＣＡ１へ伸びる補助線との間の角度φと、可動方向ＣＡ１へ伸びる補助線と可動方向ＣＡ２へ伸びる補助線との間の角度θ１と、可動方向ＣＡ１へ伸びる補助線と可動方向ＣＡ３へ伸びる補助線との間の角度θ２との３つの角度によって表される。なお、図５では、角度φを明確に示すため、対象物Ｏの姿勢を表す二次元局所座標系ＳＯの原点を把持位置Ｇに移動させている。
【００７８】
すなわち、第１エンドエフェクターＥ１の状態は、把持位置Ｇと、角度φと、角度θ１と、角度θ２との４つの値を成分として有するベクトルである状態ベクトルによって表される。第１エンドエフェクターＥ１の状態は、状態ベクトルの各成分を変化させる毎に変化する。把持品質評価値算出部４６は、ステップＳ１２０において位置姿勢検出部４４が検出した検出位置姿勢と、状態ベクトルの各成分を変化させる場合に把持品質評価値算出部４６が従う所定の規則とに基づいて、状態ベクトルの各成分のうちの少なくとも１つの成分が互いに異なる複数のベクトル、すなわち複数の第１エンドエフェクターＥ１の状態を算出する。そして、把持品質評価値算出部４６は、算出した複数の第１エンドエフェクターＥ１の状態のそれぞれ毎に、ステップＳ１２５の処理を行う。
【００７９】
ここで、把持品質評価値算出部４６が状態ベクトルの各成分を変化させる場合に従う所定の規則について説明する。把持品質評価値算出部４６は、状態ベクトルの４つの成分のうちの把持位置Ｇを変化させる場合、例えば、対象物Ｏの輪郭内を所定幅の正方格子に区切り、当該正方格子の格子点のうちの未選択の格子点の位置をランダム、又は所定の選択規則に従って選択する。そして、把持品質評価値算出部４６は、選択した格子点の位置に把持位置Ｇを変化させる。
【００８０】
また、把持品質評価値算出部４６は、状態ベクトルの４つの成分のうちの角度φを変化させる場合、第１所定角度毎に０°〜３６０°まで変化させる。第１所定角度は、例えば、１°である。なお、第１所定角度は、他の角度であってもよい。また、把持品質評価値算出部４６は、状態ベクトルの４つの成分のうちの角度θ１を変化させる際、第２所定角度毎に０°〜３６０°まで変化させる。第２所定角度は、例えば、１°である。なお、第２所定角度は、他の角度であってもよい。また、把持品質評価値算出部４６は、状態ベクトルの４つの成分のうちの角度θ２を変化させる際、第３所定角度毎に０°〜３６０°まで変化させる。第３所定角度は、例えば、１°である。なお、第３所定角度は、他の角度であってもよい。
【００８１】
このような所定の規則に基づいて、把持品質評価値算出部４６は、ステップＳ１２３において、把持位置Ｇと、角度φと、角度θ１と、角度θ２とのうちの少なくとも１つが互いに異なる複数の状態ベクトルを算出し、算出した状態ベクトルが表わす第１エンドエフェクターＥ１の状態毎にステップＳ１２５の処理を行う。
【００８２】
ステップＳ１２３において第１エンドエフェクターＥ１の状態が選択された後、把持品質評価値算出部４６は、当該状態に基づいて把持品質評価値を算出する（ステップＳ１２５）。より具体的には、把持品質評価値算出部４６は、記憶部３２から誤差情報を読み出し、読み出した誤差情報と、検出位置姿勢と、ステップＳ１２３において選択した第１エンドエフェクターＥ１の状態とに基づいて把持品質評価値を算出する。
【００８３】
ここで、ステップＳ１２５の処理について説明する。把持品質評価値算出部４６は、記憶部３２から誤差情報を読み出す。把持品質評価値算出部４６は、読み出した誤差情報と、ステップＳ１２０において位置姿勢検出部４４が検出した検出位置姿勢とに基づいて、検出位置姿勢の誤差であって大きさの異なる複数の誤差を算出する。そして、把持品質評価値算出部４６は、算出した複数の誤差のそれぞれ毎に、検出位置姿勢に当該誤差を加算した位置及び姿勢を算出位置姿勢として算出する。
【００８４】
例えば、把持品質評価値算出部４６は、ステップＳ１２０において位置姿勢検出部４４が検出した検出位置姿勢の誤差の分布を、誤差情報が示す確率分布であると決定する。この一例において、誤差情報が正規分布を示す情報であるため、把持品質評価値算出部４６は、当該検出位置姿勢の誤差の分布が正規分布であると決定する。そして、把持品質評価値算出部４６は、検出位置姿勢と正規分布とに基づいて、検出位置姿勢が±０．１標準偏差、±０．３標準偏差、±０．５標準偏差。±０．７標準偏差、±１標準偏差の計１０の互いに大きさの異なる誤差を算出する。そして、把持品質評価値算出部４６は、これらの誤差のそれぞれ毎に、検出位置姿勢に当該誤差を加算した位置及び姿勢を算出位置姿勢として算出する。なお、把持品質評価値算出部４６は、これらの誤差に代えて、他の誤差を用いて算出位置姿勢を算出する構成であってもよい。また、把持品質評価値算出部４６は、１０の誤差を算出する構成に代えて、１０未満の誤差を算出する構成であってもよく、１１以上の誤差を算出する構成であってもよい。
【００８５】
また、この一例において、把持品質評価値算出部４６は、算出位置姿勢を算出する際、対象物Ｏの位置と対象物Ｏの姿勢との両方がそれぞれ誤差によってずれた場合の算出位置姿勢を算出する。なお、把持品質評価値算出部４６は、算出位置姿勢を算出する際、対象物Ｏの位置のみが誤差によってずれた場合の算出位置姿勢と、対象物Ｏの姿勢のみが誤差によってずれた場合の算出位置姿勢とのいずれか一方又は両方を算出する構成であってもよい。以下では、説明の便宜上、複数の算出位置姿勢と、検出位置姿勢とをまとめて対象物位置姿勢と称して説明する。
【００８６】
図６は、対象物位置姿勢のそれぞれを視覚的に示した図である。図６において最も太い線で描かれた輪郭ＣＯは、対象物位置姿勢に含まれる検出位置姿勢の対象物Ｏの輪郭を示している。輪郭ＣＯ以外の輪郭は、対象物位置姿勢に含まれる複数の算出位置姿勢それぞれの対象物Ｏの輪郭を示している。なお、図６では、各対象物位置姿勢の対象物Ｏの輪郭を明確に示すため、対象物Ｏの重心の位置を原点としたＸ軸及びＹ軸を示した（この一例では、単位はピクセル）。また、当該Ｘ軸の方向は、ステップＳ１２０において位置姿勢検出部４４が特定した対象物Ｏの姿勢を表す２つの座標軸のうちのＸ軸の方向と一致する。また、当該Ｙ軸の方向は、ステップＳ１２０において位置姿勢検出部４４が特定した対象物Ｏの姿勢を表す２つの座標軸のうちのＹ軸の方向と一致する。また、図６に示した複数の輪郭のそれぞれは、重なり合った輪郭同士を明確に示すため、互いに僅かに歪ませて描いている。また、図６に示した複数の把持位置Ｇは、把持品質評価値算出部４６が第１エンドエフェクターＥ１の状態を表す状態ベクトルを算出する際に、この一例における所定の規則に従って把持位置Ｇを変化させることが可能な複数の格子点である。
【００８７】
把持品質評価値算出部４６は、このような算出位置姿勢を算出した後、読み出した誤差情報に基づいて、対象物位置姿勢それぞれの出現確率を算出する。前述したように、この一例では、誤差情報は、正規分布を示す情報である。また、検出位置姿勢と算出位置姿勢との関係から分かる通り、検出位置姿勢は、正規分布における中心値として扱われる。このため、検出位置姿勢の出現確率は、最大となる。また、検出位置姿勢に±１標準偏差の誤差を加算した算出位置姿勢の出現確率はそれぞれ、最小となる。図６に示した各対象物位置姿勢の対象物Ｏの輪郭の太さは、それぞれの輪郭が示す対象物位置姿勢の出現確率を表している。
【００８８】
このように出現確率を算出した後、把持品質評価値算出部４６は、対象物位置姿勢のそれぞれ毎に、ステップＳ１２３において選択した第１エンドエフェクターＥ１の状態によって対象物Ｏを把持した場合の、第１エンドエフェクターＥ１と対象物Ｏの相対的な位置及び姿勢の変化のし難さを示す評価値を算出する。例えば、検出位置姿勢を第１位置姿勢、１０の算出位置姿勢を第２位置姿勢〜第１１位置姿勢とした場合、第１位置姿勢〜第１１位置姿勢のそれぞれ毎に、ステップＳ１２３において選択した第１エンドエフェクターＥ１の状態によって対象物Ｏを把持した場合の、第１エンドエフェクターＥ１と対象物Ｏの相対的な位置及び姿勢の変化のし難さを示す評価値を算出する。そして、把持品質評価値算出部４６は、算出された複数の評価値（この一例において、１１の評価値）に基づいて把持品質評価値を算出する。この一例において、把持品質評価値算出部４６は、算出位置姿勢毎に算出された評価値の総和を把持品質評価値として算出する。
【００８９】
ここで、把持品質評価値を算出する処理について説明する。把持品質評価値算出部４６は、以下に示す式（１）に基づいて把持品質評価値を算出する。なお、以下では、Ａ＿Ｂと記載した場合、ＢはＡの後に付く下付き添え字であるとして説明する。すなわち、Ａはベクトルであり、ＢはベクトルであるＡの各成分を表す変数である。また、Ａ＿ＢＣと記載した場合、Ｂ及びＣは、Ａの後に付く下付き添え字であるとして説明する。すなわち、Ａはテンソルであり、Ｂ及びＣは、テンソルであるＡの各成分を表す変数である。また、Ｂ＾Ａと記載した場合、Ｂは、Ａの前に付く上付き添え字であるとして説明する。Ａの前に付く上付き添え字は、複数のＡを区別するためのラベルとして用いられる。
【００９０】
【数１】
2017052073.tif 000003
【００９１】
Ｑ＿ｉｊは、把持品質評価値を示す。ｉは、第１エンドエフェクターＥ１の状態に含まれる第１エンドエフェクターＥ１と対象物Ｏの相対的な姿勢を区別するためのラベルとして用いる変数である。ｊは、対象物位置姿勢のそれぞれを区別するためのラベルとして用いられる変数である。Ｎは、対象物位置姿勢の数の総和であり、この一例において、１１である。
【００９２】
Ｐ＿ｊは、ｊが示す対象物位置姿勢の出現確率である。Ｇ＿ｉは、ｉが示す第１エンドエフェクターＥ１と対象物Ｏの相対的な姿勢を示す。ｋは、第１エンドエフェクターＥ１の状態に含まれる第１エンドエフェクターＥ１と対象物Ｏの相対的な位置（例えば、図６に示した複数の把持位置Ｇのそれぞれ）を区別するためのラベルとして用いる変数である。ｑ＿ｊｋ（Ｇ＿ｉ）は、ｉが示す第１エンドエフェクターＥ１と対象物Ｏの相対的な姿勢Ｇ＿ｉが実現した場合に、ｊが示す対象物位置姿勢の対象物Ｏをｋが示す把持位置Ｇにおいて把持した場合の評価値である。
【００９３】
上記の式（１）が示すように、把持品質評価値Ｑ＿ｉｋは、ｊが示す対象物位置姿勢毎に、当該対象物位置姿勢の出現確率を重みとして乗算した評価値ｑ＿ｊｋ（Ｇ＿ｉ）を算出し、算出した対象位置姿勢毎の評価値ｑ＿ｊｋ（Ｇ＿ｉ）を全て足し合わせたΣｑ＿ｊｋ（Ｇ＿ｉ）を対象位置姿勢の総数Ｎで除算した平均値である。ここで、Σは、ｊについての和の記号である。また、評価値ｑ＿ｊｋ（Ｇ＿ｉ）は、この一例において、２種類の評価値の和である。２種類の評価値の１つ目は、第１エンドエフェクターＥ１と対象物Ｏの相対的な位置の変化のし難さ（並進のし難さ）を表す並進評価値ｒ＿ｉｊｋ（＝ｒ＿ｊｋ（Ｇ＿ｉ））である。２種類の評価値の２つ目は、第１エンドエフェクターＥ１と対象物Ｏの相対的な姿勢の変化のし難さ（回転のし難さ）を表す回転評価値τ＿ｉｊｋ（τ＿ｊｋ（Ｇ＿ｉ））である。並進評価値ｒ＿ｊｋ（Ｇ＿ｉ）によって算出される把持品質評価値を並進把持品質評価値１＾Ｑ＿ｉｋとし、回転評価値τ＿ｊｋ（Ｇ＿ｉ）によって算出される把持品質評価値を回転把持品質評価値２＾Ｑ＿ｉｋとすると、これらはそれぞれ以下に示した式（２）、式（３）のように表される。
【００９４】
【数２】
2017052073.tif 000004
【００９５】
【数３】
2017052073.tif 000005
【００９６】
把持品質評価値算出部４６は、並進評価値ｒ＿ｉｊｋと、回転評価値τ＿ｉｊｋとをそれぞれ算出する。把持品質評価値算出部４６は、算出した並進評価値ｒ＿ｉｊｋに基づいて並進把持品質評価値１＾Ｑ＿ｉｋを算出し、算出した回転評価値τ＿ｉｊｋに基づいて回転把持品質評価値２＾Ｑ＿ｉｋを算出する。そして、把持品質評価値算出部４６は、前述の把持品質評価値Ｑ＿ｉｋを、並進把持品質評価値１＾Ｑ＿ｉｋと回転把持品質評価値２＾Ｑ＿ｉｋの和として算出する。なお、把持品質評価値算出部４６は、並進評価値ｒ＿ｉｊｋと、回転評価値τ＿ｉｊｋとのいずれか一方のみを算出する構成であってもよい。この場合、把持品質評価値Ｑ＿ｉｋは、並進把持品質評価値１＾Ｑ＿ｉｋと、回転把持品質評価値２＾Ｑ＿ｉｋとのいずれか一方のみのことである。
【００９７】
以下、対象物位置姿勢毎の評価値ｑ＿ｊｋ（Ｇ＿ｉ）の算出方法について説明する。まず、対象物位置姿勢毎の並進評価値ｒ＿ｉｊｋを算出する処理について説明する。ステップＳ１２３において選択した第１エンドエフェクターＥ１の状態によって把持された対象物Ｏに対して対象物Ｏを並進させようとする力が加えられた場合、把持部位Ｃ１１と、把持部位Ｃ１２と、把持部位Ｃ１３とのそれぞれに対しては、対象物Ｏから垂直抗力と摩擦力が加わる。
【００９８】
例えば、把持部位Ｃ１１に対して対象物Ｏから加わる垂直抗力の大きさが、把持部位Ｃ１１が対象物Ｏに対して加えることが可能な最大の力の大きさよりも大きい場合、対象物Ｏは、第１エンドエフェクターＥ１に対して並進する。また、把持部位Ｃ１２に対して対象物Ｏから加わる垂直抗力の大きさが、把持部位Ｃ１２が対象物Ｏに対して加えることが可能な最大の力の大きさよりも大きい場合、対象物Ｏは、第１エンドエフェクターＥ１に対して並進する。また、把持部位Ｃ１３に対して対象物Ｏから加わる垂直抗力の大きさが、把持部位Ｃ１３が対象物Ｏに対して加えることが可能な最大の力の大きさよりも大きい場合、対象物Ｏは、第１エンドエフェクターＥ１に対して並進する。
【００９９】
また、把持部位Ｃ１１が支えることが可能な最大の垂直抗力によって対象物Ｏから把持部位Ｃ１１に対して加わる摩擦力も大きな力が、当該摩擦力の方向と反対の方向に対象物Ｏから加わった場合、対象物Ｏは、第１エンドエフェクターＥ１に対して並進する。また、把持部位Ｃ１２が支えることが可能な最大の垂直抗力によって対象物Ｏから把持部位Ｃ１２に対して加わる摩擦力も大きな力が、当該摩擦力の方向と反対の方向に対象物Ｏから加わった場合、対象物Ｏは、第１エンドエフェクターＥ１に対して並進する。また、把持部位Ｃ１３が支えることが可能な最大の垂直抗力によって対象物Ｏから把持部位Ｃ１３に対して加わる摩擦力も大きな力が、当該摩擦力の方向と反対の方向に対象物Ｏから加わった場合、対象物Ｏは、第１エンドエフェクターＥ１に対して並進する。
【０１００】
これらのことから、この一例において、把持品質評価値算出部４６は、第１エンドエフェクターＥ１が備える各把持部位が支えることが可能な最大の垂直抗力と、当該垂直抗力によって対象物Ｏから当該各把持部位に加わる摩擦力とに基づいて並進評価値ｒ＿ｉｊｋを算出する。第１エンドエフェクターＥ１が備える各把持部位が支えることが可能な最大の垂直抗力は、第１エンドエフェクターＥ１の状態と、対象位置姿勢と、第１力検出部１１から取得される第１力検出情報に基づく制御とによって決定される。
【０１０１】
以下では、把持部位Ｃ１１が対象物Ｏから加えられる垂直抗力のうちの把持部位Ｃ１１が支えることが可能な最大の垂直抗力を垂直抗力ｆ１と称して説明する。また、以下では、把持部位Ｃ１２が対象物Ｏから加えられる垂直抗力のうちの把持部位Ｃ１２が対象物Ｏを支えることが可能な最大の垂直抗力を垂直抗力ｆ２と称して説明する。また、以下では、把持部位Ｃ１３が対象物Ｏから加えられる垂直抗力のうちの把持部位Ｃ１３が対象物Ｏを支えることが可能な最大の垂直抗力を垂直抗力ｆ３と称して説明する。
【０１０２】
ここで、図７〜図９を参照し、図７に示した垂直抗力ｆ１〜垂直抗力ｆ３に基づく並進評価値ｒ＿ｉｊｋの算出方法について説明する。図７は、第１エンドエフェクターＥ１が備える各把持部位が対象物Ｏから加えられる垂直抗力のうちの当該各把持部位が支えることが可能な最大の垂直抗力を例示する図である。図７では、垂直抗力ｆ１〜垂直抗力ｆ３それぞれの大きさと方向を矢印で表し、垂直抗力ｆ１〜垂直抗力ｆ３それぞれの作用点を、図７に示した座標系の原点に一致させている。図７に示した座標系の縦軸は、対象物Ｏの表面から他の物体へと加わる力のＹ軸方向成分の大きさを表す座標軸Ｆｙである。また、図７に示した横軸は、対象物Ｏの表面から他の物体へと加わる力のＸ軸方向成分の大きさを表す座標軸Ｆｘである。
【０１０３】
図７に示した垂直抗力ｆ１〜垂直抗力ｆ３のそれぞれを表す矢印に対して、図８に示したようにフリクションコーンを描くことができる。図８は、図７に示した垂直抗力ｆ１〜垂直抗力ｆ３のそれぞれを表す矢印に対してフリクションコーンを描いた図である。ここで、図８に示した垂直抗力ｆ１を例に挙げてフリクションコーンについて説明する。前述したように、第１エンドエフェクターＥ１に対して対象物Ｏを並進させようとした場合、図７に示した垂直抗力ｆ１〜垂直抗力ｆ３のそれぞれによって、対象物Ｏは、第１エンドエフェクターＥ１が備える各把持部位に対して摩擦力を加える。
【０１０４】
垂直抗力ｆ１によって把持部位Ｃ１１に対して対象物Ｏから加わる摩擦力は、垂直抗力ｆ１を表す矢印の終点と直交する面ＨＬに沿った方向に加わる。面ＨＬは、この一例では、対象物Ｏに働く力が二次元平面内に含まれる方向にのみ加わる場合を考えているため、線となっている。
【０１０５】
また、垂直抗力ｆ１によって把持部位Ｃ１１に対して対象物Ｏから摩擦力が加わる方向は、対象物Ｏを並進させようとする力の方向によって決まるため、垂直抗力ｆ１を表す矢印の終点を始点として面ＨＬに沿った全ての方向に加わり得る。すなわち、図８に示した例では、垂直抗力ｆ１によって把持部位Ｃ１１に対して対象物Ｏから加わり得る摩擦力は、摩擦力ｆ１ｆ１と摩擦力ｆ１ｆ２の２つである。図８に示したように、摩擦力ｆ１ｆ１を表す矢印の終点と、摩擦力ｆ１ｆ２を表す矢印の終点と、垂直抗力ｆ１の始点とは、三角形を形成する。対象物Ｏに働く力が三次元空間内に含まれる方向に加わる場合、垂直抗力ｆ１によって把持部位Ｃ１１に対して対象物Ｏから加わり得る各摩擦力を表す矢印の終点と、垂直抗力ｆ１を表す矢印の始点とは、三角錐を形成する。前述のフリクションコーンは、このような三角形や三角錐のことである。
【０１０６】
図８には、垂直抗力ｆ１に対するフリクションコーンを明確に示すため、垂直抗力ｆ１を表す矢印の始点から摩擦力ｆ１ｆ１を表す矢印の終点までを結ぶ矢印ｆ１ｒと、垂直抗力ｆ１を表す矢印の始点から摩擦力ｆ１ｆ２を表す矢印の終点までを結ぶ矢印ｆ１ｌとが描かれている。垂直抗力ｆ１を表す矢印と矢印ｆ１ｒとの間の角度と、垂直抗力ｆ１を表す矢印と矢印ｆ１ｌとの間の角度とは、両方とも角度βとなる。角度βは、対象物Ｏの表面の静止摩擦係数をμとすると、垂直抗力ｆ１と摩擦力ｆ１ｆ１又は摩擦力ｆ１ｆ２との幾何学的な関係に基づいて、β＝ｔａｎ−１μによって算出することができる。この式から分かる通り、角度βは、垂直抗力ｆ１の大きさや摩擦力ｆ１ｆ１又は摩擦力ｆ１ｆ２の大きさには依らず、静止摩擦係数μによってのみ決まる。
【０１０７】
垂直抗力ｆ１に対するフリクションコーンを明確に示すための矢印ｆ１ｒ及び矢印ｆ１ｌを描いた方法と同様の方法によって、図８には、垂直抗力ｆ２に対するフリクションコーンを明確に示すための矢印ｆ２ｒ及び矢印ｆ２ｌと、垂直抗力ｆ３に対するフリクションコーンを明確に示すための矢印ｆ３ｒ及び矢印ｆ３ｌとが描かれている。なお、ここでは、対象物Ｏの表面の静止摩擦係数μが、対象物Ｏの表面の至る所で一定であると仮定しているが、これに代えて、対象物Ｏの表面の一部において異なっていてもよい。
【０１０８】
図８に示したフリクションコーンを明確にするための各矢印の終点と、図８に示した各垂直抗力を表す矢印の終点との全てを包含する最小の多角形である凸包の体積は、大きければ大きいほど、対象物Ｏを並進させる力を対象物Ｏに加えた場合に第１エンドエフェクターＥ１と対象物Ｏの相対的な位置を変化させないように第１エンドエフェクターＥ１が対象物Ｏを支える能力が高いことを示す。このため、凸包の体積は、並進評価値ｒ＿ｉｊｋとして用いることができる特徴を有していると考えられる。しかし、例えば、このような凸包がある特定の方向に細長い場合、当該凸包の体積が大きいにも拘らず、当該方向とは異なる方向に対して対象物Ｏから第１エンドエフェクターＥ１に対して力が加わえられた際の第１エンドエフェクターＥ１が対象物Ｏを支える能力は、低い。このような理由から、凸包の体積そのものを並進評価値ｒ＿ｉｊｋとするのは好ましくない。
【０１０９】
そこで、凸包の体積を表し、且つ特定の方向に対する第１エンドエフェクターＥ１が対象物Ｏを支える能力の高低を表すことが可能な量として、図８に示した座標系の原点から凸包に内接する最小の内接円の半径を考えることができる。
【０１１０】
凸包に内接する最小の内接円の半径を算出するためには、図８に示したフリクションコーンを明確にするための各矢印の終点と、図８に示した各垂直抗力を表す矢印の終点とに基づいて凸包を生成する必要がある。また、凸包を生成するためには、図８に示したフリクションコーンを明確にするための各矢印の終点と、図８に示した各垂直抗力を表す矢印の終点とのそれぞれの座標を算出する必要がある。
【０１１１】
例えば、図８に示した垂直抗力ｆ１に対するフリクションコーンを明確にする矢印ｆ１ｒの終点Ｐ１ｒの座標（ｘ１ｒ，ｙ１ｒ）は、図８に示した座標系の横軸と垂直抗力ｆ１を表す矢印との間の角度をαとした場合、垂直抗力ｆ１を表す矢印と、矢印ｆ１ｒとの幾何学的な関係から、以下の式（４）〜式（８）を用いて算出することができる。
【０１１２】
｜ｆ１ｒ｜＝｜ｆ１｜／ｃｏｓ（β）  ・・・（４）
ｘ１ｒ＝｜ｆ１ｒ｜ｃｏｓ（α＋β）  ・・・（５）
ｙ１ｒ＝｜ｆ１ｒ｜ｓｉｎ（α＋β）  ・・・（６）
【０１１３】
また、垂直抗力ｆ１に対するフリクションコーンを明確にするための矢印ｆ１ｌの終点Ｐ１ｌの座標（ｘ１ｌ，ｙ１ｌ）は、垂直抗力ｆ１を表す矢印と、矢印ｆ１ｌと、矢印ｆ１ｌとの幾何学的な関係から、以下の式（７）〜式（９）を用いて算出することができる。
｜ｆ１ｌ｜＝｜ｆ１｜／ｃｏｓ（β）  ・・・（７）
ｘ１ｌ＝｜ｆ１ｌ｜ｃｏｓ（α−β）  ・・・（８）
ｙ１ｌ＝｜ｆ１ｌ｜ｓｉｎ（α−β）  ・・・（９）
【０１１４】
把持品質評価値算出部４６は、上記の式（４）〜式（９）を用いて、終点Ｐ１ｒ及び終点Ｐ１ｌの座標を算出する。また、把持品質評価値算出部４６は、終点Ｐ１ｒ及び終点Ｐ１ｌの座標を算出した方法と同様の方法によって、矢印ｆ２ｒ及び矢印ｆ２ｌそれぞれの終点の座標と、矢印ｆ３ｒ及び矢印ｆ３ｌそれぞれの終点の座標とを算出する。把持品質評価値算出部４６は、算出したこれらの座標に基づいて、図９に示した凸包を生成する。
【０１１５】
図９は、把持品質評価値算出部４６が生成する凸包の一例を示す図である。図９に示した凸包ＣＨは、図８に示したフリクションコーンを明確にするための６本の矢印それぞれの終点に基づいて生成された凸包である。把持品質評価値算出部４６は、図９に示した座標系（すなわち、図８に示した座標系）の原点から凸包に内接する最小の内接円ＩＣを生成する。そして、把持品質評価値算出部４６は、生成した内接円ＩＣの半径ｒ１を並進評価値として算出する。
【０１１６】
図９に示した例では、図９に示した座標系の原点から内接円ＩＣが凸包に接した点までの距離である半径ｒ１は、矢印ｆ１ｒの終点と矢印ｆ３ｌの終点とを結ぶ線分に対して、図９に示した座標系の原点から垂線を引いた際の当該垂線の長さである。このような垂線の長さの算出は、矢印ｆ１ｒの終点の座標と、矢印ｆ３ｌの終点の座標と、当該原点の座標とに基づく初等的な幾何学を用いて算出可能なため、説明を省略する。
【０１１７】
このように、把持品質評価値算出部４６は、第１エンドエフェクターＥ１が備える各把持部位が支えることが可能な最大の垂直抗力と、当該垂直抗力に対するフリクションコーンとに基づいて生成される凸包に内接する最小の内接円の半径を、並進評価値ｒ＿ｉｊｋとして算出する。なお、把持品質評価値算出部４６は、並進評価値ｒ＿ｉｊｋとして、当該凸包の体積を算出する構成であってもよく、当該凸包に基づく他の値を算出する構成であってもよく、当該凸包と無関係な他の値を算出する構成であってもよい。
【０１１８】
次に、回転評価値τ＿ｉｊｋを算出する処理について説明する。把持品質評価値算出部４６は、ステップＳ１２３において選択した第１エンドエフェクターＥ１の状態によって把持された対象物Ｏに対して対象物Ｏを回転させようとする力が加えられた場合、並進させようとする力が当該対象物Ｏに加えられた場合と同様に、把持部位Ｃ１１と、把持部位Ｃ１２と、把持部位Ｃ１３とのそれぞれに対しては、対象物Ｏから垂直抗力と摩擦力が加わる。
【０１１９】
当該摩擦力は、対象物Ｏを回転させようとする力が対象物Ｏに加えられた場合、対象物Ｏを回転させないように支える。より具体的には、当該摩擦力による対象物Ｏを回転させようとする回転モーメントと、対象物Ｏを回転させようとする力による対象物Ｏを回転させようとする回転モーメントとが、大きさが互いに等しく、方向が互いに反対向きである限り、当該摩擦力は、対象物Ｏを回転させないように支える。
【０１２０】
このことから、この一例において、把持品質評価値算出部４６は、第１エンドエフェクターＥ１が備える各把持部位が支えることが可能な最大の垂直抗力によって対象物Ｏから当該各把持部位に加わる摩擦力により生じる回転モーメントに基づいて回転評価値τ＿ｉｊｋを算出する。
【０１２１】
ここで、図１０を参照し、回転評価値τ＿ｉｊｋを算出する方法について説明する。図１０は、第１エンドエフェクターＥ１が備える各把持部位に対して対象物Ｏから加わっている垂直抗力及び摩擦力を例示した図である。図１０に示した把持位置Ｇの位置は、ステップＳ１２３において選択された第１エンドエフェクターＥ１の状態を表すベクトルが有する成分によって決まる。図１０には、第１エンドエフェクターＥ１に把持された対象物Ｏが、把持位置Ｇを回転中心として図１０に示した矢印ＲＯの方向、すなわち時計回りに回転させようとする力が働いた様子が示されている。
【０１２２】
この一例において、回転評価値τ＿ｉｊｋを算出する際、把持部位Ｃ１１に対して対象物Ｏから垂直抗力ｆ１が加わり、把持部位Ｃ１２に対して対象物Ｏから垂直抗力ｆ２が加わり、把持部位Ｃ１３に対して対象物Ｏから垂直抗力ｆ３が加わる状況を想定する。このため、図１０では、垂直抗力ｆ１によって把持部位Ｃ１１に対して対象物Ｏから加わる摩擦力を摩擦力μｆ１によって示し、垂直抗力ｆ２によって把持部位Ｃ１２に対して対象物Ｏから加わる摩擦力を摩擦力μｆ２によって示し、垂直抗力ｆ３によって把持部位Ｃ１３に対して対象物Ｏから加わる摩擦力を摩擦力μｆ３によって示した。また、図１０では、対象物Ｏの輪郭を形成する６つの辺のうちの把持部位Ｃ１１が接している辺から把持位置Ｇまでの最短距離を距離ｒ４によって示し、対象物Ｏの輪郭を形成する６つの辺のうちの把持部位Ｃ１２が接している辺から把持位置Ｇまでの最短距離を距離ｒ５によって示し、対象物Ｏの輪郭を形成する６つの辺のうちの把持部位Ｃ１３が接している辺から把持位置Ｇまでの最短距離を距離ｒ６によって示した。
【０１２３】
この一例では、把持品質評価値算出部４６は、対象物Ｏの回転中心が常に把持位置Ｇであるとして回転評価値を算出する。なお、対象物Ｏの回転中心は、把持位置Ｇに代えて、第１アームのＴＣＰであってもよく、対象物Ｏに対応付けられる他の位置であってもよい。把持品質評価値算出部４６は、摩擦力μｆ１によって生じる回転モーメントであって、把持位置Ｇを回転中心として対象物Ｏを矢印ＲＯの向きとは反対向きに回転させようとする回転モーメントμｆ１×ｒ４を算出する。また、把持品質評価値算出部４６は、摩擦力μｆ２によって生じる回転モーメントであって、把持位置Ｇを回転中心として対象物Ｏを矢印ＲＯの向きとは反対向きに回転させようとする回転モーメントμｆ２×ｒ５を算出する。また、把持品質評価値算出部４６は、摩擦力μｆ３によって生じる回転モーメントであって、把持位置Ｇを回転中心として対象物Ｏを矢印ＲＯの向きとは反対向きに回転させようとする回転モーメントμｆ３×ｒ６を算出する。
【０１２４】
把持品質評価値算出部４６は、算出したこれら３つの回転モーメントの総和を回転評価値τ＿ｉｊｋとして算出する。このようにして、把持品質評価値算出部４６は、第１エンドエフェクターＥ１が備える各把持部位が支えることが可能な最大の垂直抗力によって当該各把持部位に対して対象物Ｏから加わる摩擦力により生じる回転モーメントに基づいて回転評価値τ＿ｉｊｋを算出する。なお、把持品質評価値算出部４６は、これら３つの回転モーメントに基づく他の値を回転評価値τ＿ｉｊｋとして算出する構成であってもよく、これら３つの回転モーメントとは異なる他の値に基づく値を回転評価値τ＿ｉｊｋとして算出する構成であってもよい。
【０１２５】
以上のようにして並進評価値ｒ＿ｉｊｋと回転評価値τ＿ｉｊｋが算出された後、把持品質評価値算出部４６は、上記の式（２）に基づいて並進把持品質評価値１＾Ｑ＿ｉｋを算出し、上記の式（３）に基づいて回転把持品質評価値２＾Ｑ＿ｉｋを算出する。そして、把持品質評価値算出部４６は、算出した並進把持品質評価値１＾Ｑ＿ｉｋと回転把持品質評価値２＾Ｑ＿ｉｋの和を把持品質評価値Ｑ＿ｉｋとして算出する。すなわち、把持品質評価値算出部４６は、以下の式（１０）に基づいて把持品質評価値Ｑ＿ｉｋを算出する。
【０１２６】
Ｑ＿ｉｋ＝１＾Ｑ＿ｉｋ＋２＾Ｑ＿ｉｋ  ・・・（１０）
【０１２７】
なお、把持品質評価値算出部４６は、重みωを用いて、以下に示した式（１１）のように並進把持品質評価値１＾Ｑ＿ｉｋと回転把持品質評価値２＾Ｑ＿ｉｋとの相対的な大きさを調整する構成であってもよい。
【０１２８】
Ｑ＿ｉｋ＝１＾Ｑ＿ｉｋ＋ω×２＾Ｑ＿ｉｋ  ・・・（１１）
【０１２９】
重みωは、０以上１以下の値である。これにより、例えば、把持品質評価値算出部４６は、第１エンドエフェクターＥ１に対する対象物Ｏの並進し難さを表す並進把持品質評価値１＾Ｑ＿ｉｋと、第１エンドエフェクターＥ１に対する対象物Ｏの回転し難さを表す回転把持品質評価値２＾Ｑ＿ｉｋとを同程度の大きさに調整することができる。
【０１３０】
ステップＳ１２５の処理を繰り返すことにより、ステップＳ１２３において選択された第１エンドエフェクターＥ１の状態毎に把持品質評価値Ｑ＿ｉｋを算出した後、ハンド状態決定部４７は、ステップＳ１２５において算出された複数の把持品質評価値Ｑ＿ｉｋの中から最大の把持品質評価値Ｑ＿ｉｋを抽出する。そして、ハンド状態決定部４７は、抽出した最大の把持品質評価値Ｑ＿ｉｋを算出するために用いられた第１エンドエフェクターＥ１の状態を、第１エンドエフェクターＥ１に対象物Ｏを把持させる際に適した第１エンドエフェクターＥ１の状態として決定する（ステップＳ１３０）。
【０１３１】
次に、ロボット制御部４８は、ステップＳ１３０において決定された第１エンドエフェクターＥ１の状態をロボット２０に実現させ、対象物Ｏをロボット２０に把持させる。そして、ロボット制御部４８は、ロボット２０が把持した対象物Ｏを、給材領域Ａへロボット２０に給材させ（ステップＳ１４０）、処理を終了する。
【０１３２】
以上説明したように、実施形態におけるロボット２０のロボット制御装置３０は、対象物Ｏの位置及び姿勢と、当該位置及び姿勢の誤差情報と、ハンド（この一例において、第１エンドエフェクターＥ１）の状態とに基づきハンドの状態を決定する。これにより、ロボット制御装置３０は、ハンドに対象物Ｏを把持させる際に適したハンドの状態によって対象物Ｏをハンドに把持させることができる。
【０１３３】
また、ロボット制御装置３０は、対象物Ｏの位置及び姿勢を画像（この一例において、第３撮像部２３が撮像した撮像画像）から検出する。これにより、ロボット制御装置３０は、画像から検出した対象物Ｏの位置及び姿勢に基づいて決定されたハンドの状態によって対象物Ｏをハンドに把持させることができる。
【０１３４】
また、ロボット制御装置３０は、対象物Ｏの位置及び姿勢と、当該位置及び姿勢の誤差情報と、ハンドの状態とに基づく当該ハンドの状態を評価する評価値（例えば、上記で説明した並進評価値、回転評価値、並進把持品質評価値、回転把持品質評価値のうちの少なくともいずれか１つ）に応じてハンドの状態を決定する。これにより、ロボット制御装置３０は、ハンドに対象物Ｏを把持させる際に適したハンドの状態によって対象物Ｏをハンドに把持させることができる。
【０１３５】
また、ロボット制御装置３０は、ハンドにより対象物Ｏが把持された際に、ハンドと対象物Ｏとの相対的な位置及び姿勢の変化のし難さを示す値である評価値に応じてハンドの状態を決定する。これにより、ロボット制御装置３０は、ハンドにより対象物Ｏが把持された際に、ハンドと対象物Ｏとの相対的な位置及び姿勢の変化のし難さを示す値である評価値に応じて決定されたハンドの状態によって対象物Ｏを把持することができる。
【０１３６】
また、ロボット制御装置３０は、ハンドにより対象物Ｏが把持された際に、ハンドに対する対象物Ｏの並進のし難さを示す値を含む評価値（例えば、上記で説明した並進評価値や並進把持品質評価値）に基づいてハンドの状態を決定する。これにより、ロボット制御装置３０は、ハンドにより対象物Ｏが把持された際に、ハンドに対する対象物Ｏの並進のし難さを示す値を含む評価値に応じて決定されたハンドの状態によって対象物Ｏを把持することができる。
【０１３７】
また、ロボット制御装置３０は、ハンドにより対象物Ｏが把持された際に、ハンドに対する対象物Ｏの回転のし難さを示す値を含む評価値（例えば、上記で説明した回転評価値や回転把持品質評価値）に基づいてハンドの状態を決定する。これにより、ロボット制御装置３０は、ハンドにより対象物Ｏが把持された際に、ハンドに対する対象物Ｏの回転のし難さを示す値を含む評価値に基づいて決定されたハンドの状態によって対象物Ｏを把持することができる。
【０１３８】
また、ロボット制御装置３０は、対象物Ｏの位置及び姿勢と、当該位置及び姿勢の誤差情報と、ハンドと対象物との相対的な位置及び姿勢を含むハンドの状態とに基づきハンドの状態を決定する。これにより、ロボット制御装置３０は、ハンドと対象物Ｏとの相対的な位置及び姿勢を含むハンドの状態に基づいて決定されたハンドの状態によって対象物Ｏを把持することができる。
【０１３９】
また、ロボット制御装置３０は、対象物Ｏの位置及び姿勢と、当該位置及び姿勢の誤差情報と、ハンドが備える把持部位（この一例において、把持部位Ｃ１１、把持部位Ｃ１２、把持部位Ｃ１３）間の角度を含むハンドの状態とに基づきハンドの状態を決定する。これにより、ロボット制御装置３０は、ハンドが備える把持部位間の角度を含むハンドの状態に基づいて決定されたハンドの状態によって対象物Ｏを把持することができる。
【０１４０】
また、ロボット制御装置３０は、対象物Ｏの位置及び姿勢と、確率分布（この一例において、正規分布）を示す情報である誤差情報と、ハンドの状態とに基づきハンドの状態を決定する。これにより、ロボット制御装置３０は、対象物Ｏの位置及び姿勢と、確率分布を示す情報と、ハンドの状態とに基づいて決定されたハンドの状態によって対象物Ｏを把持することができる。
【０１４１】
また、ロボット制御装置３０は、対象物Ｏの位置及び姿勢と、誤差の範囲を示す情報である誤差情報と、ハンドの状態とに基づきハンドの状態を決定する。これにより、ロボット制御装置３０は、対象物Ｏの位置及び姿勢と、誤差の範囲を示す情報と、ハンドの状態とに基づいて決定されたハンドの状態によって対象物Ｏを把持することができる。
【０１４２】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
【０１４３】
また、以上に説明した装置（例えば、ロボット２０のロボット制御装置３０）における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Operating  System）や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ（Compact  Disk）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１４４】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【０１４５】
１１…第１力検出部、１２…第２力検出部、２０…ロボット、２１…第１撮像部、２２…第２撮像部、２３…第３撮像部、２４…第４撮像部、３０…ロボット制御装置、３１…ＣＰＵ、３２…記憶部、３３…入力受付部、３４…通信部、３５…表示部、３６…制御部、４０…力検出情報取得部、４１…撮像制御部、４２…画像取得部、４４…位置姿勢検出部、４６…把持品質評価値算出部、４７…ハンド状態決定部、４８…ロボット制御部
【図１】
2017052073.tif 000006
【図２】
2017052073.tif 000007
【図３】
2017052073.tif 000008
【図４】
2017052073.tif 000009
【図５】
2017052073.tif 000010
【図６】
2017052073.tif 000011
【図７】
2017052073.tif 000012
【図８】
2017052073.tif 000013
【図９】
2017052073.tif 000014
【図１０】
2017052073.tif 000015