(57)【要約】【課題】周辺環境が短時間で変わっていく場合でも、対象物を認識して保持を行うことができる物体検出方法および物体検出装置、ならびに、かかる物体検出装置を備えるロボットシステムを提供すること。【解決手段】撮像部により複数の対象物を撮像し、第１画像を取得する工程と、第１画像に基づいて、対象物の物体位置姿勢を認識する工程と、対象物の物体位置姿勢を認識できた数を計数する工程と、対象物の物体位置姿勢に基づいて、保持部により対象物を保持させる信号を出力する工程と、対象物を保持できたか否かの結果をタスク評価値として算出する工程と、物体位置姿勢認識数とタスク評価値とを含む評価指標に基づいて、撮像部の撮像位置姿勢から評価指標を推定するモデルを更新し、更新撮像位置姿勢を決定する工程と、更新撮像位置姿勢で第２画像を取得する工程と、第２画像に基づいて、対象物の物体位置姿勢を認識する工程と、を有する物体検出方法。【選択図】図１
2020163502.tif 000002
【特許請求の範囲】
【請求項１】
対象物の物体位置姿勢を検出する物体検出方法であって、
撮像部により複数の前記対象物を撮像し、第１画像を取得する工程と、
前記第１画像に基づいて、前記対象物の物体位置姿勢を認識する工程と、
前記対象物の物体位置姿勢を認識することができた数を物体位置姿勢認識数として計数する工程と、
前記対象物の物体位置姿勢に基づいて、保持部により前記対象物を保持させる信号を出力する工程と、
前記対象物を保持することができたか否かの結果をタスク評価値として算出する工程と、
前記物体位置姿勢認識数と前記タスク評価値とを含む評価指標に基づいて、前記撮像部の撮像位置姿勢から前記評価指標を推定するモデルを更新し、更新後の前記モデルに基づいて、前記撮像部の更新撮像位置姿勢を決定する工程と、
前記更新撮像位置姿勢で複数の前記対象物を撮像して第２画像を取得する工程と、
前記第２画像に基づいて、前記対象物の物体位置姿勢を認識する工程と、
を有することを特徴とする物体検出方法。
【請求項２】
前記第１画像は、二次元画像または深度画像である請求項１に記載の物体検出方法。
【請求項３】
前記モデルは、忘却率の概念を導入したベイズ推定のモデルである請求項１または２に記載の物体検出方法。
【請求項４】
前記タスク評価値は、前記保持部により前記対象物を保持させ、前記対象物を用いた作業を行わせた結果を含む請求項１ないし３のいずれか１項に記載の物体検出方法。
【請求項５】
対象物の物体位置姿勢を検出する物体検出装置であって、
撮像部により、複数の前記対象物を含む第１画像を撮像して取得する撮像制御部と、
前記第１画像に基づいて、前記対象物の物体位置姿勢を認識する物体位置姿勢算出部と、
前記対象物の物体位置姿勢を認識することができた数を物体位置姿勢認識数として計数する認識評価部と、
前記対象物の物体位置姿勢に基づいて、前記対象物を保持する保持部の保持位置姿勢を算出し、前記保持位置姿勢で前記保持部により前記対象物を保持させる制御信号を出力する保持位置姿勢算出部と、
前記保持部によって前記対象物を保持することができたか否かの結果を取得し、タスク評価値を算出するタスク評価部と、
前記物体位置姿勢認識数と前記タスク評価値とを含む評価指標に基づいて、前記撮像部の撮像位置姿勢から前記評価指標を推定するモデルを更新し、更新後の前記モデルに基づいて、前記撮像部の更新撮像位置姿勢を決定する撮像位置姿勢決定部と、
を有し、
前記撮像制御部は、前記更新撮像位置姿勢において前記撮像部に第２画像を撮像させて取得し、
前記物体位置姿勢算出部は、前記第２画像に基づいて、前記対象物の物体位置姿勢を認識することを特徴とする物体検出装置。
【請求項６】
前記物体位置姿勢認識数、前記タスク評価値および前記評価指標のうちの少なくとも１つを表示する表示部を有する請求項５に記載の物体検出装置。
【請求項７】
ロボットアームを備えるロボットと、
前記ロボットアームに設置されている撮像部と、
請求項５または６に記載の物体検出装置と、
前記物体検出装置の検出結果に基づいて前記ロボットの駆動を制御するロボット制御装置と、
を有することを特徴とするロボットシステム。
【請求項８】
前記ロボットを搭載する無人搬送車を有する請求項７に記載のロボットシステム。
【請求項９】
前記撮像位置姿勢決定部は、前記ロボットの位置が変わったとき、前記モデルを初期化する請求項７または８に記載のロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体検出方法、物体検出装置およびロボットシステムに関するものである。
【背景技術】
【０００２】
ロボットが作業を行う際には、ワーク等の対象物体の位置姿勢をロボットに認識させる必要がある。
【０００３】
例えば、特許文献１には、対象物の位置及び／又は姿勢を対象物状態として、対象物が取り得る対象物状態に対する、対象物が対象物状態となる確率の分布を取得する第１の取得手段と、撮像装置の位置姿勢に対して予め定められた相対的な対象物状態に対する、該撮像装置が該対象物状態を有する前記対象物を撮像することで得られる撮像画像から前記対象物の識別に成功する成功率の分布を取得する第２の取得手段と、前記撮像装置が取り得る複数の位置姿勢のそれぞれについての、予め定められた相対的な対象物状態に対する成功率の分布と、前記確率の分布と、に基づいて、該撮像装置の取るべき位置姿勢を決定する決定手段とを備える情報処理装置が開示されている。そして、このような情報処理装置によれば、撮像装置を用いて撮像した画像中の対象物の識別精度が高くなるような撮像装置の位置や姿勢を決定することができる。これにより、決定された位置姿勢に基づいて、ロボットアームを制御し、対象物をピッキングすることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１１７７９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の情報処理装置では、山積みとなった対象部品をピッキングする場合、対象物に対する照明等の条件または対象物が山積みされている状態が変化していく状況では、識別精度が低下するおそれがある。
【課題を解決するための手段】
【０００６】
本発明の適用例に係る物体検出方法は、対象物の位置姿勢を検出する物体検出方法であって、
撮像部により複数の前記対象物を撮像し、第１画像を取得する工程と、
前記第１画像に基づいて、前記対象物の位置姿勢を認識する工程と、
前記対象物の位置姿勢を認識することができた数を物体位置姿勢認識数として計数する工程と、
前記対象物の位置姿勢に基づいて、保持部により前記対象物を保持させる信号を出力する工程と、
前記対象物を保持することができたか否かの結果をタスク評価値として算出する工程と、
前記物体位置姿勢認識数と前記タスク評価値とを含む評価指標に基づいて、前記撮像部の撮像位置姿勢から前記評価指標を推定するモデルを更新し、更新後の前記モデルに基づいて、前記撮像部の更新撮像位置姿勢を決定する工程と、
前記更新撮像位置姿勢で複数の前記対象物を撮像して第２画像を取得する工程と、
前記第２画像に基づいて、前記対象物の位置姿勢を認識する工程と、
を有することを特徴とする。
【図面の簡単な説明】
【０００７】
【図１】第１実施形態に係るロボットシステムを示す機能ブロック図である。
【図２】図１に示す物体検出装置のハードウェア構成の一例を示す図である。
【図３】第１実施形態に係る物体検出方法を示すフローチャートである。
【図４】ばら積みされている対象物と撮像位置姿勢を決定するための評価指標の一例との関係を示すグラフである。
【図５】対象物としてボルトを用い、ボルトがばら積みされている様子を撮像した第１画像の例である。
【図６】対象物のばら積み状態が、図４に示す対象物のばら積み状態から変化した場合を示す図である。
【図７】第２実施形態に係るロボットシステムを示す機能ブロック図である。
【図８】第３実施形態に係るロボットシステムを示す機能ブロック図である。
【発明を実施するための形態】
【０００８】
以下、本発明の物体検出方法、物体検出装置およびロボットシステムを添付図面に示す実施形態に基づいて詳細に説明する。
【０００９】
１．第１実施形態
１．１  ロボットシステム
まず、第１実施形態に係るロボットシステムについて説明する。
【００１０】
図１は、第１実施形態に係るロボットシステムを示す機能ブロック図である。
なお、図１では、互いに直交する３軸として、Ｘ軸、Ｙ軸およびＺ軸を図示している。また、説明の便宜上、Ｚ軸の先端方向を「上」とし、Ｚ軸の基端方向を「下」とする。
【００１１】
図１に示すロボットシステム１００は、例えば、電子部品等の対象物９１（物体）の保持、搬送および組立て等の作業に用いられる。このロボットシステム１００は、ロボットアーム１０を備えるロボット１と、ロボットアーム１０に設置されている撮像機能を有するカメラ３（撮像部）と、対象物９１を検出する物体検出装置４と、物体検出装置４の検出結果に基づいてロボット１の駆動を制御するロボット制御装置５と、を有する。以下、各部について順次説明する。
【００１２】
１．１．１  ロボット
図１に示すロボット１は、いわゆる６軸の垂直多関節ロボットであり、基台１１０と、基台１１０に接続されたロボットアーム１０と、を有する。
【００１３】
基台１１０は、ロボット１を任意の設置箇所に取り付ける部分である。本実施形態では、基台１１０は、例えば床等の設置箇所に設置されている。なお、基台１１０の設置箇所は、床等に限定されず、例えば、壁、天井、移動可能な台車上等であってもよい。したがって、図１のＺ軸は、鉛直軸に限定されない。
【００１４】
図１に示すロボットアーム１０は、その基端が基台１１０に接続されており、アーム１１、アーム１２、アーム１３、アーム１４、アーム１５およびアーム１６を有する。これらアーム１１〜１６は、基端から先端に向かってこの順に連結されている。各アーム１１〜１６は、隣り合うアームまたは基台１１０に対して回動可能になっている。
【００１５】
また、ロボット１は、それぞれ図示しないものの、基台１１０に対してアーム１１を回動させる駆動装置、アーム１１に対してアーム１２を回動させる駆動装置、アーム１２に対してアーム１３を回動させる駆動装置、アーム１３に対してアーム１４を回動させる駆動装置、アーム１４に対してアーム１５を回動させる駆動装置、およびアーム１５に対してアーム１６を回動させる駆動装置を有している。各駆動装置は、モーターと、モーターの駆動を制御するコントローラーと、モーターの回転量を検出するエンコーダーと、を備えており、ロボット制御装置５によって互いに独立に制御される。
【００１６】
ロボットアーム１０の先端には、図１に示すように、対象物９１を吸着可能なエンドエフェクター１７が装着されている。エンドエフェクター１７は、例えば把持ハンド、吸着ハンド、磁気ハンド等を備えており、テーブル９２上に置かれている対象物９１を保持して、各種作業を行う。
【００１７】
１．１．２  撮像部
図１に示すカメラ３は、ロボットアーム１０の先端部に装着されている。そして、図１に示すカメラ３は、ロボットアーム１０の駆動によって撮像位置姿勢が変更されるようになっており、テーブル９２上に置かれている対象物９１を撮像することができる。なお、「撮像位置姿勢」とは、例えばカメラ３についての６自由度の位置姿勢である。
【００１８】
カメラ３は、物体検出装置４と通信可能に接続されている。なお、カメラ３と物体検出装置４との接続は、有線による接続の他、無線による接続であってもよい。
【００１９】
カメラ３は、対象物９１やその周囲について、カラー画像、モノクロ画像、赤外線画像等の二次元画像を取得可能なデバイス、つまり２Ｄカメラ、および、深度画像（表面点群データ）を撮像可能なデバイス、つまり３Ｄカメラ、のいずれか一方または双方である。このうち、デプス画像を取得可能なデバイスとしては、例えば、位相シフト法、アクティブステレオ法等により、撮像対象の三次元形状を計測する三次元計測装置等が挙げられる。
【００２０】
１．１．３  物体検出装置
物体検出装置４は、カメラ３およびロボット制御装置５と通信可能に接続されている。なお、物体検出装置４とロボット制御装置５との接続は、有線による接続の他、無線による接続であってもよい。
【００２１】
また、図１に示す物体検出装置４は、カメラ制御部４１（撮像制御部）と、物体位置姿勢算出部４２と、認識評価部４３と、保持位置姿勢算出部４４と、タスク評価部４５と、撮像位置姿勢決定部４６と、表示部４７と、を有している。図１に示す物体検出装置４は、例えばテーブル９２上にばら積みされた対象物９１をエンドエフェクター１７で保持するため、対象物９１を検出するとともに、その物体位置姿勢を推定する。そして、検出結果および推定結果に基づき、ロボット制御装置５を介してロボット１の動作を制御し、エンドエフェクター１７に対象物９１を保持させることができる。なお、「物体位置姿勢」とは、対象物９１についての６自由度の位置姿勢であり、例えば、Ｘ軸に沿った位置、Ｙ軸に沿った位置、Ｚ軸に沿った位置、方位角についての姿勢、仰角についての姿勢、および、回転角についての姿勢である。
【００２２】
以下、物体検出装置４の各部について説明する。
図１に示すカメラ制御部４１は、カメラ３と接続され、テーブル９２上に置かれている対象物９１をカメラ３により撮像させ、第１画像および第２画像を取得する。そして、取得した第１画像および第２画像をそれぞれ物体位置姿勢算出部４２に出力する。例えばカメラ３が２Ｄカメラと３Ｄカメラの双方で構成されている場合、第１画像および第２画像は、それぞれ、二次元画像と深度画像とで構成されている。
【００２３】
また、カメラ制御部４１は、撮像位置姿勢決定部４６から出力された撮像位置姿勢の情報に基づき、カメラ３の撮像位置姿勢を変更させる場合には、ロボットアーム１０の制御信号をロボット制御装置５に出力する。そして、ロボット制御装置５を介してロボットアーム１０を制御し、カメラ３の撮像位置姿勢を変更する。
【００２４】
図１に示す物体位置姿勢算出部４２は、カメラ制御部４１から出力された第１画像または第２画像に基づき、対象物９１の撮像位置姿勢を認識する。具体的には、第１画像または第２画像から対象物９１を検出するとともに、検出した対象物９１の物体位置姿勢を推定する演算を行う。そして、物体位置姿勢の算出結果を認識評価部４３および保持位置姿勢算出部４４に出力する。
【００２５】
図１に示す認識評価部４３は、物体位置姿勢算出部４２から出力された算出結果に基づき、第１画像の物体位置姿勢認識数を計数する。具体的には、物体位置姿勢算出部４２において第１画像から対象物９１の物体位置姿勢を算出することができた数を物体位置姿勢認識数とする。そして、この物体位置姿勢認識数を撮像位置姿勢決定部４６に出力する。
【００２６】
図１に示す保持位置姿勢算出部４４は、物体位置姿勢算出部４２から出力された対象物９１の物体位置姿勢に基づき、対象物９１を保持するエンドエフェクター１７（保持部）の保持位置姿勢を算出する。この保持位置姿勢は、対象物９１の種類ごとに保存しておいたデータベースに基づいて算出することができる。すなわち、対象物９１を例えば吸着ハンドで吸着保持する場合、吸着に適した面（吸着面）の物体位置姿勢をあらかじめデータベースに登録しておけばよい。これにより、対象物９１の物体位置姿勢に基づいて、吸着面の物体位置姿勢を求めることができるので、それに基づいてエンドエフェクター１７の保持位置姿勢を算出することができる。また、対象物９１を例えば把持ハンドで把持する場合、把持に適した面の物体位置姿勢をあらかじめデータベースに登録しておけばよい。これにより、把持に適したエンドエフェクター１７の保持位置姿勢を算出することができる。そして、エンドエフェクター１７の保持位置姿勢をロボット制御装置５に出力する。すなわち、この保持位置姿勢でエンドエフェクター１７により対象物９１を保持させるべく、そのための制御信号をロボット制御装置５に向けて出力する。なお、「保持位置姿勢」とは、例えばエンドエフェクター１７についての６自由度の位置姿勢である。
【００２７】
図１に示すタスク評価部４５は、エンドエフェクター１７（保持部）によって対象物９１を保持することができたか否かの結果、つまり保持の成否の情報を取得する。そして、保持の成否をタスク評価値として撮像位置姿勢決定部４６に出力する。なお、保持の成否は、例えばエンドエフェクター１７を撮像するカメラや、エンドエフェクター１７に装着された力検出器等の検出結果に基づいて求めることができる。保持の成否を確認するカメラは、前述したカメラ３と同じであってもよく、異なっていてもよい。
【００２８】
図１に示す撮像位置姿勢決定部４６は、認識評価部４３から出力された物体位置姿勢認識数と、タスク評価部４５から出力されたタスク評価値と、を含む評価指標を求める。そして、この評価指標に基づいて、撮像位置姿勢から評価指標を推定する推定モデルを更新し、更新後の推定モデルに基づいてカメラ３の撮像位置姿勢を決定する。また、決定した撮像位置姿勢を、カメラ制御部４１に出力する。
【００２９】
図１に示す表示部４７は、撮像位置姿勢決定部４６と通信可能に接続されている。そして、図１に示す物体検出装置４は、認識評価部４３から出力された物体位置姿勢認識数、タスク評価部４５から出力されたタスク評価値、および、これらが含む前述した評価指標のうちの少なくとも１つを表示する表示部４７を有している。
【００３０】
このような表示部４７を有することにより、例えば、物体検出装置４における推定モデルの妥当性を数値で確認することができる。これにより、物体検出装置４の健全性を定量的に評価する指標を目視にて確認することができる。
【００３１】
なお、表示部４７としては、例えば液晶表示装置等が挙げられる。また、表示部４７に表示するのは、上記の情報に限定されず、それ以外の情報であってもよい。
【００３２】
以上、第１実施形態に係る物体検出装置４の構成について説明したが、物体検出装置４の作動、すなわち物体検出方法については後に詳述する。
【００３３】
図２は、図１に示す物体検出装置４のハードウェア構成の一例を示す図である。
図２に示す物体検出装置４は、プロセッサー４ａと、記憶部４ｂと、外部インターフェース４ｃと、を含んでいる。そして、これらの各要素は、システムバス４ｄを介して相互に通信可能に接続されている。
【００３４】
プロセッサー４ａは、ＣＰＵ（Central Processing Unit）等を備えている。そして、記憶部４ｂに記憶されている各種プログラム等を読み出し、実行する。これにより、物体検出装置４における各種演算や各種処理等を実現する。
【００３５】
記憶部４ｂは、プロセッサー４ａで実行可能な各種プログラム等を保存する。記憶部４ｂとしては、例えば、ＲＡＭ（Random Access Memory）等の揮発性メモリー、ＲＯＭ（Read Only Memory）等の不揮発性メモリー、着脱式の外部記憶装置等が挙げられる。なお、記憶部４ｂには、プログラムの他に、前述した各部から出力されたデータや設定値等についても記憶される。
【００３６】
外部インターフェース４ｃは、例えば有線ＬＡＮ（Local Area Network）、無線ＬＡＮ等が挙げられる。
【００３７】
なお、物体検出装置４の各部の機能は、プロセッサー４ａがプログラムを実行することにより実現されるが、少なくとも一部がハードウェア上で実現されるようになっていてもよい。
【００３８】
また、物体検出装置４は、ロボット１の筐体内に配置されていてもよく、筐体外に配置されていてもよく、ネットワーク等を介して遠隔地に設けられていてもよい。
【００３９】
１．１．４  ロボット制御装置
ロボット制御装置５は、ロボット１の作動を制御する機能を有し、図１に示すように、ロボット１および物体検出装置４に対して通信可能に接続されている。なお、ロボット制御装置５と、ロボット１および物体検出装置４との間は、それぞれ、有線で接続されていてもよいし、無線で接続されていてもよい。また、ロボット制御装置５には、モニター等の表示装置、キーボード、タッチパネル等の入力装置等が接続されていてもよい。
【００４０】
ロボット制御装置５は、図示しないものの、プロセッサーと、記憶部と、外部インターフェースと、を含み、これらの各要素が、種々のバスを介して相互通信可能に接続されている。
【００４１】
プロセッサーは、ＣＰＵ（Central Processing Unit）等のプロセッサーを備え、記憶部に記憶された各種プログラム等を実行する。これにより、ロボット１の駆動の制御や各種演算および判断等の処理を実現できる。
【００４２】
１．２  物体検出方法
次に、第１実施形態に係る物体検出方法について説明する。
【００４３】
図３は、第１実施形態に係る物体検出方法を示すフローチャートである。
図３に示す物体検出方法は、対象物９１の物体位置姿勢を検出する方法である。本実施形態に係る物体検出方法は、例えばばら積みされている対象物９１の状態が短時間で変化したとしても、対象物９１を安定して検出することを可能にする。そして、対象物９１の検出結果に基づき、ロボット制御装置５を介してロボット１の動作を制御し、エンドエフェクター１７に対象物９１を安定して保持させることができる。
【００４４】
図３に示す物体検出方法は、対象物９１の物体位置姿勢を検出する方法であって、カメラ３の撮像位置姿勢を決定する工程Ｓ１０と、撮像位置姿勢にカメラ３を配置する工程Ｓ１１１と、カメラ３により複数の対象物９１を撮像して第１画像を取得する工程Ｓ１１２と、対象物９１の物体位置姿勢を認識する工程Ｓ１２と、物体位置姿勢認識数を計数して認識結果を評価する工程Ｓ１３と、エンドエフェクター１７の保持位置姿勢を算出する工程Ｓ１４１と、エンドエフェクター１７により対象物９１を保持させる制御信号を出力する工程Ｓ１４２と、対象物９１を保持することができたか否かの結果をタスク評価値として算出し、保持結果を評価する工程Ｓ１５と、物体位置姿勢認識数とタスク評価値とを含む評価指標に基づいて、推定モデルを更新し、更新後の推定モデルに基づいて、カメラ３の更新撮像位置姿勢を決定する工程Ｓ１６と、更新撮像位置姿勢にカメラ３を配置する工程Ｓ１７１と、カメラ３により対象物９１を撮像して第２画像を取得する工程Ｓ１７２と、対象物９１の物体位置姿勢を認識する工程Ｓ１８と、対象物９１の撮像を終了するか否かを判断する工程Ｓ１９と、を有する。
【００４５】
このような物体検出方法によれば、対象物９１を撮像するカメラ３の撮像位置姿勢が対象物９１の認識の成否やタスクの成否に影響を与えることを踏まえ、認識数やタスク成功数が高くなるように、更新撮像位置姿勢を決定することができる。しかも、稼働中に更新撮像位置姿勢を逐次変更することができるので、対象物９１の周辺環境が短時間で変わる場合でも、対象物９１の適切な保持が可能である。このため、例えば、照明等の条件が変化しやすい環境で対象物９１を保持する作業や、山積みされた対象物９１を保持する作業等においても、対象物９１を認識させるチューニングに手間をかけることなく、対象物９１を認識することができる。
【００４６】
以下、各工程について順次説明する。
１．２．１  撮像位置姿勢を決定（工程Ｓ１０）
まず、撮像位置姿勢決定部４６により、カメラ３の撮像位置姿勢を決定する。本工程は、初期状態であるため、撮像位置姿勢を決定するための画像が存在しない。このため、この段階では、撮像位置姿勢を任意に決定してもよいが、本実施形態では、撮像位置姿勢決定部４６が保有する推定モデルに基づいて決定する。この推定モデルは、後述するが、カメラ３の撮像位置姿勢から前述した評価指標を推定するモデルである。最初の工程である本工程Ｓ１０では、推定モデルが過去の経験を踏まえた内容になっていないため、任意に与えられた推定モデルに基づいて撮像位置姿勢を決定するようにすればよい。
【００４７】
図４は、ばら積みされている対象物９１と撮像位置姿勢を決定するための評価指標の一例との関係を示すグラフである。なお、カメラ３の撮像位置姿勢は、６つの自由度を有しているが、図４では、このうちのＸ軸に沿った並進の自由度である位置ｘについてのみ図示している。また、以下の説明において、Ｘ軸に沿った並進についてのみ説明している。したがって、本実施形態では説明していないが、物体検出方法は、残る５つの自由度、つまり、Ｙ軸に沿った並進、Ｚ軸に沿った並進、Ｘ軸まわりの姿勢、Ｙ軸まわりの姿勢、およびＺ軸まわりの姿勢についても、認識数やタスク成功数に応じた適切な撮像位置姿勢を決定することが可能である。
図４には、本工程において決定した撮像位置姿勢の一例として位置ａを示している。
【００４８】
１．２．２  カメラの配置（工程Ｓ１１１）
次に、決定した撮像位置姿勢になるように、カメラ３を移動させる。すなわち、カメラ３のＸ軸に沿った位置ｘが、位置ａになるように、カメラ３を移動させる。本実施形態では、カメラ３がロボットアーム１０の先端部に装着されている。カメラ制御部４１は、撮像位置姿勢決定部４６から出力された撮像位置姿勢に基づき、ロボット制御装置５に制御信号を出力する。これにより、ロボットアーム１０を制御し、カメラ３を目的とする撮像位置姿勢になるように移動させる。
【００４９】
１．２．３  対象物の撮像（工程Ｓ１１２）
次に、その撮像位置姿勢で、カメラ３により、複数の対象物９１が同一視野内に入るように第１画像を撮像する。撮像した第１画像は、カメラ制御部４１で取得する。そして、第１画像を物体位置姿勢算出部４２に出力する。
【００５０】
１．２．４  対象物の位置姿勢の認識（工程Ｓ１２）
次に、物体位置姿勢算出部４２により、第１画像に基づいて、対象物９１の物体位置姿勢を認識する。対象物９１の物体位置姿勢を認識するとは、第１画像において対象物９１を検出すること、および、対象物９１の物体位置姿勢を推定すること、の双方を行うことをいう。
【００５１】
第１画像において対象物９１を検出する具体的な方法の１つとしては、例えば、第１画像に含まれた二次元画像のコントラストに基づいて、対象物９１の輪郭を特定する方法が挙げられる。
【００５２】
対象物９１の物体位置姿勢を認識する具体的な方法の１つとしては、例えば、第１画像と対象物９１の設計データとをマッチングさせる方法が挙げられる。対象物９１の設計データとは、例えば、三次元設計図ソフトで取り扱うことができる三次元ＣＡＤ（Computer-Aided Design）のデータや、点、線、面といったモデルの構成要素で構成され、三次元コンピューターグラフィックスソフトで取り扱うことができる三次元ＣＧ（Computer Graphics）のデータ等である。
【００５３】
また、対象物９１の物体位置姿勢を認識する具体的な方法の別の１つとしては、例えば、第１画像と物体位置姿勢ラベルとのペアで表現される学習データを用いた機械学習により、第１画像から対象物９１の物体位置姿勢を推定する方法等も挙げられる。物体位置姿勢ラベルとは、画像中における対象物９１の位置を表す座標データである。
【００５４】
図５は、対象物９１としてボルトを用い、ボルトがばら積みされている様子を撮像した第１画像の例である。そして、物体位置姿勢算出部４２において認識することができた対象物９１には、その輪郭を囲む線が付与されている。
【００５５】
なお、第１画像は、例えば二次元画像または深度画像とされ、好ましくは二次元画像と深度画像の双方を含む。これらの第１画像を取得することにより、第１画像に基づいて対象物９１の位置姿勢を認識することができる。
【００５６】
このようにして対象物９１の物体位置姿勢を認識すると、その認識結果、すなわち物体位置姿勢を認識することができた数を、認識評価部４３に出力する。
【００５７】
１．２．５  認識結果の評価（工程Ｓ１３）
次に、認識評価部４３では、第１画像において対象物９１の物体位置姿勢を認識することができた数を物体位置姿勢認識数として取り扱う。そして、物体位置姿勢認識数が多い場合、その第１画像を撮像した撮像位置姿勢が、認識成功数が多い撮像位置姿勢であると評価することができる。そして、物体位置姿勢認識数を、撮像位置姿勢決定部４６に出力する。
【００５８】
また、認識評価部４３では、第１画像において複数の対象物９１を認識した場合には、認識した複数の対象物９１の中から、エンドエフェクター１７で保持すべき１つを決定する。決定の際の基準は、特に限定されないが、例えば図５に示すように推定結果を二次元画像上に投影した際の輪郭の一致度の他、推定結果を深度画像上に投影した際の深度の一致度、カメラ３と対象物９１との近さ等が挙げられる。そして、決定した、エンドエフェクター１７で保持すべき１つの対象物９１の物体位置姿勢情報を、保持位置姿勢算出部４４に出力する。
【００５９】
１．２．６  エンドエフェクターの保持位置姿勢の算出（工程Ｓ１４１）
次に、保持位置姿勢算出部４４により、エンドエフェクター１７で保持すべき１つの対象物９１の物体位置姿勢情報に基づいて、その対象物９１を保持するエンドエフェクター１７の保持位置姿勢を算出する。なお、保持位置姿勢の算出には、前述したように、対象物９１の種類ごとに保存しておいたデータベースを用い、このデータベースに基づいて、対象物９１を保持するのに最適なエンドエフェクター１７の保持位置姿勢を算出する。
【００６０】
１．２．７  対象物の保持（工程Ｓ１４２）
そして、エンドエフェクター１７により、前述した保持位置姿勢で対象物９１を保持させる制御信号を出力する。制御信号は、ロボット制御装置５に出力される。ロボット制御装置５では、この制御信号に基づき、ロボット１の駆動を制御して、エンドエフェクター１７の保持位置姿勢を変更させる。そして、エンドエフェクター１７により、対象物９１の保持を試みる。
【００６１】
１．２．８  保持結果の評価（工程Ｓ１５）
次に、エンドエフェクター１７によって対象物９１を保持することができたか否かの結果、つまり保持の成否の情報を、ロボット制御装置５を介してタスク評価部４５により取得する。タスク評価部４５では、保持の成否をタスク評価値として算出し、これを撮像位置姿勢決定部４６に出力する。
【００６２】
１．２．９  更新撮像位置姿勢の決定（工程Ｓ１６）
次に、撮像位置姿勢決定部４６において、認識評価部４３から出力された物体位置姿勢認識数と、タスク評価部４５から出力されたタスク評価値と、を含む評価指標を算出する。そして、算出した評価指標を、撮像位置姿勢決定部４６において保有している推定モデルに反映させる。この推定モデルは、例えばベイズ推定を用いたモデルである。ベイズ推定では、過去の経験を踏まえたモデルを有し、そのモデルに直近の評価指標を反映させることで、モデルを更新する。これにより、過去の経験と直近の評価結果とを踏まえて、最適な更新撮像位置姿勢を決定することができる。
【００６３】
撮像位置姿勢決定部４６において算出する評価指標の例としては、以下の式のような、物体位置姿勢認識数とタスク評価値との線形結合が挙げられる。
ｆ（ｘ）＝Ｄ（ｘ）＋Ｓ（ｘ）
【００６４】
なお、ｆ（ｘ）は評価指標を表す評価関数であり、Ｄ（ｘ）が物体位置姿勢認識数であり、Ｓ（ｘ）がタスク評価値である。なお、タスク評価値は、前述したエンドエフェクター１７による保持が成功した場合に、失敗した場合よりも大きい数値になるように設定される。例えば、１枚の第１画像における物体位置姿勢認識数が１０である場合、その第１画像から検出した１つの対象物９１について試みた保持に成功したときのタスク評価値を５とし、保持に失敗した場合のタスク評価値を０とすればよい。そうすると、保持に成功した場合の評価関数ｆ（ｘ）は、１０＋５＝１５となり、保持に失敗した場合の評価関数ｆ（ｘ）は、１０＋０＝１０となる。このようにして、物体位置姿勢認識数だけでなく、タスク評価値も含めた評価指標を採用し、これを反映させることによって推定モデルを更新する。これにより、推定モデルは、多くの対象物９１を認識可能であるとともに、対象物９１の保持を成功しやすい位置ｘを探索するように逐次更新される。
【００６５】
また、推定モデルを逐次更新することにより、対象物９１を取り巻く環境の変化に推定モデルを追従させることができる。これにより、この推定モデルに基づいて更新撮像位置姿勢を決定することにより、エンドエフェクター１７による保持の成功率を高められる更新撮像位置姿勢を求めることが可能になる。
なお、タスク評価値の値は、上記の値に限定されず、いかなる値であってもよい。
【００６６】
また、ベイズ推定では、様々な位置ｘについての評価関数ｆ（ｘ）を取得して推定モデルに反映させることにより、徐々に評価関数ｆ（ｘ）の値を高め得る位置ｘを探索する。この探索を繰り返すと、位置ｘと評価関数ｆ（ｘ）との関係を表す図４に示すような相関曲線Ｒ１が得られる。図４では、縦軸に評価関数ｆ（ｘ）をとっているので、縦軸の先端ほど評価関数ｆ（ｘ）の値が大きいことを表している。本工程では、説明の便宜上、この時点で、何度かの位置ｘの探索を通じて、この相関曲線Ｒ１がある程度求められているものとする。
【００６７】
そうすると、図４に示す相関曲線Ｒ１では、撮像位置姿勢の位置ｘを、位置ａから位置ｂに変更することで、評価関数ｆ（ｘ）の値を相対的に大きくすることが可能であると推定できる。したがって、本工程では、この位置ｂを新たな撮像位置姿勢（更新撮像位置姿勢）として決定し、その決定結果をカメラ制御部４１に出力する。この新たな撮像位置姿勢は、確率上、エンドエフェクター１７による保持の成功率が高い撮像位置姿勢ということになる。
【００６８】
１．２．１０  カメラの配置（工程Ｓ１７１）
次に、決定した更新撮像位置姿勢になるように、ロボット１のロボットアーム１０の駆動を制御して、カメラ３を配置する。
【００６９】
１．２．１１  対象物の撮像（工程Ｓ１７２）
次に、カメラ３により、複数の対象物９１が同一視野内に入るように第２画像を撮像する。撮像した第２画像は、カメラ制御部４１で取得する。そして、第２画像を物体位置姿勢算出部４２に出力する。
【００７０】
１．２．１２  対象物の物体位置姿勢の認識（工程Ｓ１８）
次に、物体位置姿勢算出部４２により、第２画像に基づいて、対象物９１の物体位置姿勢を認識する。第２画像に基づく対象物９１の認識方法は、前述した第１画像に基づく対象物９１の認識方法と同様である。
【００７１】
このようにして対象物９１の物体位置姿勢を認識すると、その認識結果、すなわち物体位置姿勢を認識することができた数を、認識評価部４３に出力する。
【００７２】
１．２．１３  対象物の撮像を終了するか否かの判断（工程Ｓ１９）
次に、対象物９１の撮像を終了するか否かを判断する。すなわち、テーブル９２上に置かれている対象物９１の全ての保持を完了しているのであれば、撮像を終了すればよい。一方、保持すべき対象物９１がまだ残っている場合には、前述した工程Ｓ１３の前に戻る。
【００７３】
そして、再び、工程Ｓ１３、工程Ｓ１４１、工程Ｓ１４２、工程Ｓ１５、工程Ｓ１６、工程Ｓ１７１、工程Ｓ１７２および工程Ｓ１８と同様の各工程を、対象物９１の数だけ繰り返す。これにより、対象物９１を次々に保持するとともに、推定モデルを更新することができる。
【００７４】
ここで、これらの工程の２回目を、工程Ｓ１３−２、工程Ｓ１４−２（工程Ｓ１４１−２、工程Ｓ１４２−２）、工程Ｓ１５−２、工程Ｓ１６−２、工程Ｓ１７−２（工程Ｓ１７１−２、工程Ｓ１７２−２）、および工程Ｓ１８−２として説明する。
【００７５】
１．２．１４  認識結果の評価（工程Ｓ１３−２）
次に、認識評価部４３により、第２画像において対象物９１の物体位置姿勢を認識することができた数を物体位置姿勢認識数として計数する。
【００７６】
また、第２画像において認識した対象物９１から、エンドエフェクター１７で保持すべき１つを決定する。
【００７７】
１．２．１５  エンドエフェクターの保持位置姿勢の算出（工程Ｓ１４１−２）
次に、保持位置姿勢算出部４４により、エンドエフェクター１７で保持すべき１つの対象物９１の物体位置姿勢情報に基づいて、その対象物９１を保持するエンドエフェクター１７の保持位置姿勢を算出する。なお、保持位置姿勢の算出には、前述したように、対象物９１の種類ごとに保存しておいたデータベースを用い、このデータベースに基づいて、対象物９１を保持するのに最適なエンドエフェクター１７の保持位置姿勢を算出する。
【００７８】
１．２．１６  対象物の保持（工程Ｓ１４２−２）
そして、エンドエフェクター１７により、前述した保持位置姿勢で対象物９１を保持させる制御信号を出力する。制御信号は、ロボット制御装置５に出力される。ロボット制御装置５では、この制御信号に基づき、ロボット１のロボットアーム１０の駆動を制御して、エンドエフェクター１７の保持位置姿勢を変更させる。そして、エンドエフェクター１７により、対象物９１の保持を試みる。
【００７９】
１．２．１７  保持結果の評価（工程Ｓ１５−２）
次に、エンドエフェクター１７によって対象物９１を保持することができたか否かの結果、つまり保持の成否の情報を、ロボット制御装置５を介してタスク評価部４５により取得する。タスク評価部４５では、保持の成否をタスク評価値として算出し、これを撮像位置姿勢決定部４６に出力する。
【００８０】
１．２．１８  更新撮像位置姿勢の決定（工程Ｓ１６−２）
次に、撮像位置姿勢決定部４６において、認識評価部４３から出力された物体位置姿勢認識数と、タスク評価部４５から出力されたタスク評価値と、を含む評価指標を算出する。そして、算出した評価指標を、撮像位置姿勢決定部４６において保有している推定モデルに反映させ、推定モデルをさらに更新する。これにより、更新後の推定モデルに基づいて、最適な更新撮像位置姿勢を決定することができる。
【００８１】
１．２．１９  カメラの配置（工程Ｓ１７１−２）
次に、決定した更新撮像位置姿勢になるように、ロボット１のロボットアーム１０の駆動を制御して、カメラ３を配置する。
【００８２】
１．２．２０  対象物の撮像（工程Ｓ１７２−２）
次に、配置した更新撮像位置姿勢で、カメラ３により、複数の対象物９１が同一視野内に入るように第３画像を撮像する。撮像した第３画像は、カメラ制御部４１で取得する。そして、第３画像を物体位置姿勢算出部４２に出力する。
【００８３】
１．２．２１  対象物の保持位置姿勢の認識（工程Ｓ１８−２）
次に、物体位置姿勢算出部４２により、第３画像に基づいて、対象物９１の保持位置姿勢を認識する。第３画像に基づく対象物９１の認識方法は、前述した第１画像に基づく対象物９１の認識方法と同様である。
【００８４】
以上のような、２回目の各工程である、工程Ｓ１３−２、工程Ｓ１４１−２、工程Ｓ１４２−２、工程Ｓ１５−２、工程Ｓ１６−２、工程Ｓ１７１−２、工程Ｓ１７２−２、および工程Ｓ１８−２と同様の工程をさらに３回目、４回目・・・と繰り返すことにより、評価関数ｆ（ｘ）の値が高くなる位置ｘを探索するための推定モデルを更新し続けることができる。その結果、対象物９１の保持の成功率をさらに高める位置ｘを探索し続けることができる。
【００８５】
このようにして推定モデルを更新すると、図４に示すように、撮像位置姿勢の位置ｘが、位置ａ→位置ｂ→位置ｃ→位置ｄと移動し、そのたびに、より大きな評価関数ｆ（ｘ）の値が得られている。本実施形態に係る物体検出方法では、物体位置姿勢認識数やタスク評価値を高められる撮像位置姿勢を探索し続けることができるので、例えば保持の成功率が高いと期待できる対象物９１を効率よく認識、検出することができる。これにより、対象物９１を保持する作業を効率よく行うことができる。
【００８６】
なお、推定モデルを更新すると、そのたびに相関曲線Ｒ１は変化していくが、図４では、説明の便宜上、相関曲線Ｒ１が変化しないものとして図示している。また、推定モデルを更新するたびに、評価関数ｆ（ｘ）の値が常に高くなることは必須ではなく、低くなることがあってもよい。
【００８７】
以上をまとめると、本実施形態に係る物体検出方法は、対象物９１の物体位置姿勢を検出する方法であって、カメラ３（撮像部）により複数の対象物９１を撮像して第１画像を取得する工程Ｓ１１（工程Ｓ１１１、Ｓ１１２）と、第１画像に基づいて、対象物９１の物体位置姿勢を認識する工程Ｓ１２と、対象物９１の物体位置姿勢を認識することができた数を物体位置姿勢認識数として計数する工程Ｓ１３と、対象物９１の物体位置姿勢に基づいて、エンドエフェクター１７（保持部）により対象物９１を保持させる制御信号を出力する工程Ｓ１４（工程Ｓ１４１、Ｓ１４２）と、対象物９１を保持することができたか否かの結果をタスク評価値として算出する工程Ｓ１５と、物体位置姿勢認識数とタスク評価値とを含む評価指標に基づいて、カメラ３の撮像位置姿勢から評価指標を推定する推定モデルを更新し、更新後の推定モデルに基づいて、カメラ３の更新撮像位置姿勢を決定する工程Ｓ１６と、更新撮像位置姿勢で複数の対象物９１を撮像して第２画像を取得する工程Ｓ１７（工程Ｓ１７１、Ｓ１７２）と、第２画像に基づいて、対象物９１の物体位置姿勢を認識する工程Ｓ１８と、を有する。
【００８８】
このような物体検出方法によれば、対象物９１の周辺環境が短時間で変わっていく場合でも、その変化に追従して、対象物９１を適切に認識することができる。このため、この認識結果に基づくことにより、ロボット１において対象物９１を高い成功率で保持させることができる。これにより、例えば、照明等の条件が変化しやすい環境で対象物９１を保持する作業や、山積みされた対象物９１を保持する作業等においても、対象物９１を認識させるチューニングに手間をかけることなく、対象物９１を認識することができる。その結果、対象物９１について様々な作業を効率よく行うことができる。
【００８９】
また、図６では、対象物９１のばら積み状態が、図４に示す対象物９１のばら積み状態から変化した場合について図示している。具体的には、図４では、テーブル９２上において、やや左側に積み上げられていた対象物９１が、図６では、やや右側に移行している。このような場合、図４に示すばら積み状態を反映していた相関曲線Ｒ１は、図６のばら積み状態を反映していないことになる。このため、図６に示すばら積み状態にある対象物９１を保持しようとするとき、保持の成功率が高いと期待できる対象物９１を認識するための撮像位置姿勢を求めるためには、撮像位置姿勢から評価指標を推定する推定モデルに、このばら積み状態の変化を反映させる必要がある。
【００９０】
そこで、本実施形態では、撮像位置姿勢の決定に用いる推定モデルとして、忘却率の概念を導入したベイズ推定のモデルを用いるのが好ましい。ベイズ推定は、前述したように、過去の経験と直近の評価結果とを踏まえて、最適な更新撮像位置姿勢を求めるアルゴリズムであるが、これに忘却率の概念を導入することによって、時間的に近接したデータほど信頼できるという前提を導入することができる。これにより、過去の経験を徐々に忘却しながら推定モデルが更新されることになる。その結果、例えば、図６に示す位置ａの撮像位置姿勢で得られた評価指標については、推定モデルへの反映度合いを弱めることができる。そうすると、図４に示す対象物９１のばら積み状態から図６に示すばら積み状態への変化が発生したとしても、推定モデルの更新を繰り返すことにより、図４に示すばら積み状態のデータを推定モデルから徐々に排除することができる。その結果、変化後のばら積み状態に最適化された推定モデルを徐々に構築することができる。
【００９１】
このようにして図６に示すばら積み状態に最適化された推定モデルが構築されると、位置ｘと評価関数ｆ（ｘ）との関係を表す相関曲線についても、新たな相関曲線Ｒ２として求めることができる。この相関曲線Ｒ２に基づけば、位置ｘを、例えば図６の位置ｅにすることで、相対的に大きな評価関数ｆ（ｘ）の値が得られると推定することができる。これにより、ばら積み状態の変化した場合でも、保持の成功率が高いと期待できる新たな更新撮像位置姿勢を求めることができる。
【００９２】
なお、忘却率の概念を導入したベイズ推定としては、例えば、人工知能学会論文誌、２３巻１号Ｅ（２００８年）第５０頁〜第５７頁の「非定常データに対するSparse Bayesian Learning」に記載されている非定常ＳＢＬ（Sparse Bayesian Learning）を用いることができる。
【００９３】
また、タスク評価値は、エンドエフェクター１７（保持部）により対象物９１を保持することができたか否かの結果以外の要素を含んでいてもよい。具体的には、タスク評価値は、エンドエフェクター１７により対象物９１を保持させた後、対象物９１を用いた作業を行わせた結果を含んでいてもよい。このような作業としては、例えば、対象物９１がボルトである場合、そのボルトをエンドエフェクター１７によって保持した後、雌ねじが形成されている部材にボルトを挿入する作業等が挙げられる。そして、このような作業の成否を、前述した保持の成否と同様にして評価指標に組み込む。これにより、評価指標を用いて更新される推定モデルは、保持の成否だけでなく、保持した対象物９１を用いた作業の成否も含んだタスク評価値を用いて更新されることになる。そうすると、保持の成否だけでなく、作業の成否についても成功率が高いと期待できる新たな更新撮像位置姿勢を求めることが可能になる。
【００９４】
なお、評価指標に作業の成否も組み込む場合、重みづけをすることにより、保持の成否の評価と、作業の成否の評価と、の重みを異ならせるようにしてもよい。
【００９５】
また、本実施形態に係る物体検出装置４は、対象物９１の物体位置姿勢を検出する装置であって、カメラ３（撮像部）により、複数の対象物９１を含む第１画像を撮像して、取得するカメラ制御部４１（撮像制御部）と、第１画像に基づいて、対象物９１の物体位置姿勢を認識する物体位置姿勢算出部４２と、対象物９１の物体位置姿勢を認識することができた数を物体位置姿勢認識数として計数する認識評価部４３と、対象物９１の物体位置姿勢に基づいて、対象物９１を保持するエンドエフェクター１７（保持部）の保持位置姿勢を算出し、その保持位置姿勢でエンドエフェクター１７により対象物９１を保持させる制御信号を出力する保持位置姿勢算出部４４と、エンドエフェクター１７によって対象物９１を保持することができたか否かの結果を取得し、タスク評価値を算出するタスク評価部４５と、物体位置姿勢認識数とタスク評価値とを含む評価指標に基づいて、カメラ３の撮像位置姿勢から評価指標を推定する推定モデルを更新し、更新後の推定モデルに基づいて、カメラ３の更新撮像位置姿勢を決定する撮像位置姿勢決定部４６と、を有している。そして、カメラ制御部４１は、更新撮像位置姿勢においてカメラ３に第２画像を撮像させて取得し、物体位置姿勢算出部４２は、第２画像に基づいて、対象物９１の物体位置姿勢を認識する。
【００９６】
このような物体検出装置４によれば、撮像位置姿勢から評価指標を推定する推定モデルを逐次更新するため、例えば保持の成功率が高いと期待できる対象物９１を認識可能なように、更新撮像位置姿勢を求めることができる。したがって、かかる物体検出装置４を備えることにより、保持の成功率が高いロボットシステム１００を実現することができる。
【００９７】
また、対象物９１の周辺環境が短時間で変わっていく場合でも、推定モデルの逐次更新により、対象物９１を適切に認識することができる。これにより、例えば、照明等の条件が変化しやすい環境で対象物９１を保持する作業や、崩れやすい山積みされた対象物９１を保持する作業等においても、対象物９１を認識させるチューニングに手間をかけることなく、保持の成功率が高いと期待できる対象物９１の認識が可能になる。その結果、このような環境下でも対象物９１を効率よく保持することができる。
【００９８】
また、本実施形態に係るロボットシステム１００は、ロボットアーム１０を備えるロボット１と、ロボットアーム１０に設置されているカメラ３（撮像部）と、前述した物体検出装置４と、物体検出装置４の検出結果に基づいてロボット１の駆動を制御するロボット制御装置５と、を有する。
【００９９】
このようなロボットシステム１００によれば、物体検出装置４において、対象物９１の周辺環境が短時間で変わっていく場合でも、その変化に追従するべく、対象物９１を適切に認識することができる。このため、対象物９１を効率よく保持することができるロボットシステム１００を容易に実現することができる。
【０１００】
２．第２実施形態
次に、第２実施形態に係るロボットシステムについて説明する。
図７は、第２実施形態に係るロボットシステムを示す機能ブロック図である。
【０１０１】
以下、第２実施形態に係るロボットシステムについて説明するが、以下の説明では、第１実施形態に係るロボットシステムとの相違点を中心に説明し、同様の事項についてはその説明を省略する。なお、図７において、第１実施形態と同様の構成については、同一の符号を付している。
【０１０２】
本実施形態に係るロボットシステム１００Ａは、ロボット１を搭載する無人搬送車６を有する以外、第１実施形態に係るロボットシステム１００と同様である。
【０１０３】
この無人搬送車６は、ＡＧＶ（Automated Guided Vehicle）とも呼ばれており、種々の誘導方式による誘導により、所定の経路を自動的に移動する。そして、本実施形態に係るロボットシステム１００Ａでは、この無人搬送車６上にロボット１が搭載されている。
【０１０４】
このようなロボットシステム１００Ａによれば、互いに離れた場所に置かれている対象物９１Ａ、９１Ｂについても、物体検出装置４においていずれも適切に認識することができる。つまり、場所が異なる場合、照明条件等が変化し、カメラ３による対象物９１Ａ、９１Ｂの見え方も異なる。しかしながら、物体検出装置４では、推定モデルを逐次更新することにより、見え方の変化が保持の成功率に影響を与えにくくすることができる。つまり、対象物９１Ａ、９１Ｂが互いに離れた場所に置かれている場合でも、それぞれの場所に合わせて推定モデルを更新することができる。その結果、無人搬送車６を用いた機動性の高いロボットシステム１００Ａを構築しつつ、対象物９１Ａ、９１Ｂの保持の成功率の低下を抑えることができる。
【０１０５】
なお、上記のようにロボット１の位置が変わるように構成されている場合、ロボット１の位置が変わっても同一の推定モデルを更新し続けるようにしてもよい。しかしながら、互いに離れている対象物９１Ａ、９１Ｂの周辺環境は大きく異なることが多いため、それらの対象物９１Ａ、９１Ｂを保持するロボット１では、カメラ３が撮像する画像の見え方も大きく変化する。この場合、対象物９１Ａの撮像位置姿勢を決める際に用いる推定モデルと、対象物９１Ｂの撮像位置姿勢を決める際に用いる推定モデルと、が同一であると、更新によって推定モデルが発散する等の不具合が生じるおそれがあり、推定モデルの更新がかえって保持の成功率を低下させるおそれもある。
【０１０６】
そこで、撮像位置姿勢決定部４６は、ロボット１の位置が変わったときには、推定モデルを初期化するのが好ましい。換言すれば、互いに独立した複数の推定モデルをあらかじめ用意しておき、ロボット１の位置が変わるたびに推定モデルを切り替えるようにするのが好ましい。これにより、各推定モデルが、それぞれの環境に応じて最適に更新されることになるため、本実施形態に係るロボットシステム１００Ａのように、移動しながら対象物９１Ａ、９１Ｂを保持する（ピッキングする）ような用途で用いられる場合でも、対象物９１Ａ、９１Ｂの保持の成功率の低下を抑えることができる。
【０１０７】
なお、図７に示すロボットシステム１００Ａは、無人搬送車６と接続されている無人搬送車制御部４８を有している。無人搬送車制御部４８は、ロボット制御装置５からの制御信号に基づいて無人搬送車６の駆動を制御する。また、無人搬送車６の位置に応じた信号を物体検出装置４に出力する。物体検出装置４では、この信号に基づいて、推定モデルを切り替えるようになっていてもよい。
以上のような第２実施形態においても、第１実施形態と同様の効果が得られる。
【０１０８】
なお、ロボット１が搭載されるのは、無人搬送車６に限定されず、各種台車等であってもよい。また、対象物９１Ａ、９１Ｂが置かれるのは、テーブルに限定されず、棚等であってもよい。
【０１０９】
３．第３実施形態
次に、第３実施形態に係るロボットシステムについて説明する。
図８は、第３実施形態に係るロボットシステムを示す機能ブロック図である。
【０１１０】
以下、第３実施形態に係るロボットシステムについて説明するが、以下の説明では、第１実施形態に係るロボットシステムとの相違点を中心に説明し、同様の事項についてはその説明を省略する。なお、図８において、第１実施形態と同様の構成については、同一の符号を付している。
【０１１１】
本実施形態に係るロボットシステム１００Ｂは、カメラ３（撮像部）がロボットアーム１０の先端部ではなく、ロボットアーム１０から離れたスタンド７上に搭載されている以外、第１実施形態に係るロボットシステム１００と同様である。
【０１１２】
すなわち、スタンド７は、ロボット１が設置されている床に敷かれたレール等に設置されている。そして、カメラ３は、スタンド７に固定され、テーブル９２上に置かれている対象物９１を撮像することができる。また、スタンド７は、図８には図示しないが、前述したカメラ制御部４１からの制御信号に基づき、レール上を移動する。これにより、カメラ３を目的とする撮像位置姿勢に配置することができる。
【０１１３】
このような固定されたカメラ３を用いたロボットシステム１００Ｂにおいても、前述したロボットシステム１００と同様の効果が得られる。
【０１１４】
以上、本発明の物体検出方法、物体検出装置およびロボットシステムを図示の実施形態に基づいて説明したが、本発明は、これに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物が付加されていてもよい。さらに、前記実施形態に係るロボットシステムは、６軸の垂直多関節ロボットを備えたシステムであるが、垂直多関節ロボットの軸数は、５軸以下であっても７軸以上であってもよい。また、垂直多関節ロボットに代えて、水平多関節ロボットであってもよい。
【符号の説明】
【０１１５】
１…ロボット、３…カメラ、４…物体検出装置、４ａ…プロセッサー、４ｂ…記憶部、４ｃ…外部インターフェース、４ｄ…システムバス、５…ロボット制御装置、６…無人搬送車、７…スタンド、１０…ロボットアーム、１１…アーム、１２…アーム、１３…アーム、１４…アーム、１５…アーム、１６…アーム、１７…エンドエフェクター、４１…カメラ制御部、４２…物体位置姿勢算出部、４３…認識評価部、４４…保持位置姿勢算出部、４５…タスク評価部、４６…撮像位置姿勢決定部、４７…表示部、４８…無人搬送車制御部、９１…対象物、９１Ａ…対象物、９１Ｂ…対象物、９２…テーブル、１００…ロボットシステム、１００Ａ…ロボットシステム、１００Ｂ…ロボットシステム、１１０…基台、Ｒ１…相関曲線、Ｒ２…相関曲線、Ｓ１０…工程、Ｓ１１…工程、Ｓ１１１…工程、Ｓ１１２…工程、Ｓ１２…工程、Ｓ１３…工程、Ｓ１３−２…工程、Ｓ１４…工程、Ｓ１４１…工程、Ｓ１４１−２…工程、Ｓ１４２…工程、Ｓ１４２−２…工程、Ｓ１５…工程、Ｓ１５−２…工程、Ｓ１６…工程、Ｓ１６−２…工程、Ｓ１７…工程、Ｓ１７１…工程、Ｓ１７１−２…工程、Ｓ１７２…工程、Ｓ１７２−２…工程、Ｓ１８…工程、Ｓ１８−２…工程、Ｓ１９…工程
【図１】
2020163502.tif 000003
【図２】
2020163502.tif 000004
【図３】
2020163502.tif 000005
【図４】
2020163502.tif 000006
【図５】
2020163502.tif 000007
【図６】
2020163502.tif 000008
【図７】
2020163502.tif 000009
【図８】
2020163502.tif 000010