(57)【要約】【課題】テンプレートと対象物を撮像した画像とのマッチングを行うためにユーザーが行う作業を軽減することができる画像処理装置を提供すること。【解決手段】ロボットが作業を行う作業領域内の第１位置に配置されたキャリブレーションプレートを撮像部によって撮像することで求められた第１距離情報に基づいてテンプレートを特定し、特定した前記テンプレートと、前記撮像部が前記作業領域内に配置された対象物を撮像した画像とのマッチングを行う制御部、を備える画像処理装置。【選択図】図３
2018122376.tif 000002
【特許請求の範囲】
【請求項１】
ロボットが作業を行う作業領域内の第１位置に配置されたキャリブレーションプレート
を撮像部によって撮像することで求められた第１距離情報に基づいてテンプレートを特定
し、特定した前記テンプレートと、前記撮像部が前記作業領域内に配置された対象物を撮
像した画像とのマッチングを行う制御部、
を備える画像処理装置。
【請求項２】
前記制御部は、キャリブレーション時において前記キャリブレーションプレートが前記
撮像部により撮像された画像に基づいて算出された距離であって前記キャリブレーション
プレートと前記撮像部との間の距離を示す前記第１距離情報に基づいて前記テンプレート
を特定する、
請求項１に記載の画像処理装置。
【請求項３】
前記撮像部により撮像された前記画像は、二次元画像である、
請求項１又は２に記載の画像処理装置。
【請求項４】
前記第１距離情報が求められる際には、前記キャリブレーションプレートが前記第１位
置に配置され、
前記マッチングが行われる際には、前記対象物が前記作業領域内のうち前記第１位置を
含む所定範囲内に配置される、
請求項１から３のうちいずれか一項に記載の画像処理装置。
【請求項５】
前記マッチングが行われる際には、前記対象物が前記第１位置に配置される、
請求項４に記載の画像処理装置。
【請求項６】
前記ロボットは、前記撮像部を備える、
請求項１から５のうちいずれか一項に記載の画像処理装置。
【請求項７】
前記ロボットを制御するロボット制御装置には、前記撮像部により前記画像を撮像する
撮像位置を示す撮像位置情報が予め記憶されている、
請求項６に記載の画像処理装置。
【請求項８】
前記制御部は、
前記第１距離情報と前記テンプレートに対応付けられた距離範囲とに基づいて前記テン
プレートを特定する、又は、前記第１距離情報と前記テンプレートの拡縮率に対応付けら
れた距離範囲とに基づいて前記テンプレートを特定する、
請求項１から７のうちいずれか一項に記載の画像処理装置。
【請求項９】
前記制御部は、
１つの前記画像が複数の領域に分割され、分割された前記複数の前記領域毎に求められ
た前記第１距離情報に基づいて、前記複数の前記領域毎の前記テンプレートを特定する、
請求項１から８のうちいずれか一項に記載の画像処理装置。
【請求項１０】
請求項１から９のうちいずれか一項に記載の画像処理装置を備え、
前記画像処理装置により行われた前記マッチングの結果に基づいて前記ロボットを動か
す、
ロボット制御装置。
【請求項１１】
請求項１０に記載のロボット制御装置に制御される、
ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像処理装置、ロボット制御装置、及びロボットに関する。
【背景技術】
【０００２】
テンプレートマッチング、又はテンプレートマッチングの結果を用いてロボットを制御
する技術についての研究や開発が行われている。
【０００３】
これに関し、第１及び第２の撮像手段を用いたステレオ視により物品を撮像した一対の
画像から当該物品の三次元位置を検出する方法であって、当該物品の二次元上の特徴部を
有する二次元見え方モデルを設定し、当該一対の画像のそれぞれから抽出した特徴部を、
当該二次元見え方モデルを介して対応付けを行う物品の位置検出方法が知られている（特
許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０８−１３６２２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、このような方法では、二次元見え方モデルを生成するために、物品を撮
像する撮像部から物品までの間の距離を測定する必要がある。このため、当該方法では、
ユーザーが行わなければならない作業を軽減することが困難な場合があった。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一つを解決するために本発明の一態様は、ロボットが作業を行う
作業領域内の第１位置に配置されたキャリブレーションプレートを撮像部によって撮像す
ることで求められた第１距離情報に基づいてテンプレートを特定し、特定した前記テンプ
レートと、前記撮像部が前記作業領域内に配置された対象物を撮像した画像とのマッチン
グを行う制御部、を備える画像処理装置である。
この構成により、画像処理装置は、ロボットが作業を行う作業領域内の第１位置に配置
されたキャリブレーションプレートを撮像部によって撮像することで求められた第１距離
情報に基づいてテンプレートを特定し、特定したテンプレートと、撮像部が作業領域内に
配置された対象物を撮像した画像とのマッチングを行う。これにより、画像処理装置は、
テンプレートと対象物を撮像した画像とのマッチングを行うためにユーザーが行う作業を
軽減することができる。
【０００７】
また、本発明の他の態様は、画像処理装置において、前記制御部は、キャリブレーショ
ン時において前記キャリブレーションプレートが前記撮像部により撮像された画像に基づ
いて算出された距離であって前記キャリブレーションプレートと前記撮像部との間の距離
を示す前記第１距離情報に基づいて前記テンプレートを特定する、構成が用いられてもよ
い。
この構成により、画像処理装置は、キャリブレーション時においてキャリブレーション
プレートが撮像部により撮像された画像に基づいて算出された距離であってキャリブレー
ションプレートと撮像部との間の距離を示す第１距離情報に基づいてテンプレートを特定
する。これにより、画像処理装置は、第１距離情報に基づいて、テンプレートと対象物を
撮像した画像とのマッチングを行うためにユーザーが行う作業を軽減することができる。
【０００８】
また、本発明の他の態様は、画像処理装置において、前記撮像部により撮像された前記
画像は、二次元画像である、構成が用いられてもよい。
この構成により、画像処理装置は、ロボットが作業を行う作業領域の第１位置に配置さ
れたキャリブレーションプレートを撮像部によって撮像することで求められた第１距離情
報に基づいてテンプレートを特定し、特定したテンプレートと、撮像部が作業領域内に配
置された対象物を撮像した二次元画像とのマッチングを行う。これにより、画像処理装置
は、テンプレートと対象物を撮像した二次元画像とのマッチングを行うためにユーザーが
行う作業を軽減することができる。
【０００９】
また、本発明の他の態様は、画像処理装置において、前記第１距離情報が求められる際
には、前記キャリブレーションプレートが前記第１位置に配置され、前記マッチングが行
われる際には、前記対象物が前記作業領域のうち前記第１位置を含む所定範囲内に配置さ
れる、構成が用いられてもよい。
この構成により、画像処理装置では、第１距離情報が求められる際には、キャリブレー
ションプレートが作業領域内の第１位置に配置され、テンプレートと撮像部が作業領域内
に配置された対象物を撮像した画像とのマッチングが行われる際には、対象物が作業領域
内のうち第１位置を含む所定範囲内に配置される。これにより、画像処理装置は、作業領
域内の第１位置に配置されたキャリブレーションプレートと、作業領域内のうち第１位置
を含む所定範囲内に配置された対象物とに基づいて、テンプレートと対象物を撮像した画
像とのマッチングを行うためにユーザーが行う作業を軽減することができる。
【００１０】
また、本発明の他の態様は、画像処理装置において、前記マッチングが行われる際には
、前記対象物が前記第１位置に配置される、構成が用いられてもよい。
この構成により、画像処理装置では、テンプレートと撮像部が作業領域内に配置された
対象物を撮像した画像とのマッチングが行われる際には、対象物が作業領域内の第１位置
に配置される。これにより、画像処理装置は、作業領域内の第１位置に配置されたキャリ
ブレーションプレートと、作業領域内の第１位置に配置された対象物とに基づいて、テン
プレートと対象物を撮像した画像とのマッチングを行うためにユーザーが行う作業を軽減
することができる。
【００１１】
また、本発明の他の態様は、画像処理装置において、前記ロボットは、前記撮像部を備
える、構成が用いられてもよい。
この構成により、画像処理装置は、撮像部を備えたロボットが作業を行う作業領域内の
第１位置に配置されたキャリブレーションプレートを当該撮像部によって撮像することで
求められた第１距離情報に基づいてテンプレートを特定し、特定したテンプレートと、当
該撮像部が作業領域内に配置された対象物を撮像した画像とのマッチングを行う。これに
より、画像処理装置は、テンプレートとロボットが備える撮像部が対象物を撮像した画像
とのマッチングを行うためにユーザーが行う作業を軽減することができる。
【００１２】
また、本発明の他の態様は、画像処理装置において、前記ロボットを制御するロボット
制御装置には、前記撮像部により前記画像を撮像する撮像位置を示す撮像位置情報が予め
記憶されている、構成が用いられてもよい。
この構成により、画像処理装置は、撮像部を備えたロボットが作業を行う作業領域の第
１位置に配置されたキャリブレーションプレートを撮像位置情報が示す撮像位置において
当該撮像部によって撮像することで求められた第１距離情報に基づいてテンプレートを特
定し、特定したテンプレートと、当該撮像部が作業領域内に配置された対象物を撮像位置
情報が示す撮像位置において撮像した画像とのマッチングを行う。これにより、画像処理
装置は、テンプレートとロボットが備える撮像部が撮像位置情報が示す撮像位置において
対象物を撮像した画像とのマッチングを行うためにユーザーが行う作業を軽減することが
できる。
【００１３】
また、本発明の他の態様は、画像処理装置において、前記制御部は、前記第１距離情報
と前記テンプレートに対応付けられた距離範囲とに基づいて前記テンプレートを特定する
、又は、前記第１距離情報と前記テンプレートの拡縮率に対応付けられた距離範囲とに基
づいて前記テンプレートを特定する、構成が用いられてもよい。
この構成により、画像処理装置は、第１距離情報とテンプレートに対応付けられた距離
範囲とに基づいてテンプレートを特定する、又は、第１距離情報とテンプレートの拡縮率
に対応付けられた距離範囲とに基づいてテンプレートを特定する。これにより、画像処理
装置は、第１距離情報とテンプレートに対応付けられた距離範囲とに基づいて、又は、第
１距離情報とテンプレートの拡縮率に対応付けられた距離範囲とに基づいて、テンプレー
トと対象物を撮像した画像とのマッチングを行うためにユーザーが行う作業を軽減するこ
とができる。
【００１４】
また、本発明の他の態様は、画像処理装置において、前記制御部は、１つの前記画像が
複数の領域に分割され、分割された前記複数の前記領域毎に求められた前記第１距離情報
に基づいて、前記複数の前記領域毎の前記テンプレートを特定する、構成が用いられても
よい。
この構成により、画像処理装置は、撮像部が作業領域内に配置された対象物を撮像した
１つの画像が複数の領域に分割され、分割された複数の領域毎に求められた第１距離情報
に基づいて、複数の領域毎のテンプレートを特定する。これにより、画像処理装置は、撮
像部が作業領域内に配置された対象物を撮像した１つの画像が分割された複数の領域毎に
求められた第１距離情報に基づいて、テンプレートと対象物を撮像した画像とのマッチン
グを行うためにユーザーが行う作業を軽減することができる。
【００１５】
また、本発明の他の態様は、上記に記載の画像処理装置を備え、前記画像処理装置によ
り行われた前記マッチングの結果に基づいて前記ロボットを動かす、ロボット制御装置で
ある。
この構成により、ロボット制御装置は、画像処理装置により行われたマッチングの結果
に基づいてロボットを動かす。これにより、ロボット制御装置は、ロボットに作業を行わ
せるためにユーザーが行う作業を軽減することができる。
【００１６】
また、本発明の他の態様は、上記に記載のロボット制御装置に制御される、ロボットで
ある。
この構成により、ロボットは、画像処理装置により行われたマッチングの結果に基づい
て対象物に対して作業を行う。これにより、ロボットは、ロボットが作業を行うためにユ
ーザーが行う作業を軽減することができる。
【００１７】
以上により、画像処理装置は、ロボットが作業を行う作業領域の第１位置に配置された
キャリブレーションプレートを撮像部によって撮像することで求められた第１距離情報に
基づいてテンプレートを特定し、特定したテンプレートと、撮像部が作業領域内に配置さ
れた対象物を撮像した画像とのマッチングを行う。これにより、画像処理装置は、テンプ
レートと対象物を撮像した画像とのマッチングを行うためにユーザーが行う作業を軽減す
ることができる。
また、ロボット制御装置は、画像処理装置により行われたマッチングの結果に基づいて
対象物に対してロボットに作業を行わせる。これにより、ロボット制御装置は、ロボット
に作業を行わせるためにユーザーが行う作業を軽減することができる。
また、ロボットは、画像処理装置により行われたマッチングの結果に基づいて対象物に
対して作業を行う。これにより、ロボットは、ロボットが作業を行うためにユーザーが行
う作業を軽減することができる。
【図面の簡単な説明】
【００１８】
【図１】実施形態に係るロボットシステム１の構成の一例を示す図である。
【図２】ロボット制御装置３０のハードウェア構成の一例を示す図である。
【図３】ロボット制御装置３０の機能構成の一例を示す図である。
【図４】ロボット制御装置３０が行うキャリブレーション処理の流れの一例を示すフローチャートである。
【図５】作業領域の第１位置に配置されたキャリブレーションプレートの一例を示す図である。
【図６】ロボット制御装置３０がロボット２０に所定の作業を行わせる処理の流れを示すフローチャートである。
【図７】記憶部３２に予め記憶された複数のテンプレートを例示する図である。
【図８】第１距離範囲の全体を包含する距離範囲と第１距離範囲との間の関係の一例を示す図である。
【図９】第１距離範囲の一部も包含していない距離範囲と第１距離範囲との間の関係の一例を示す図である。
【図１０】第１距離範囲の一部を包含する距離範囲と第１距離範囲との間の関係の一例を示す図である。
【発明を実施するための形態】
【００１９】
＜実施形態＞
以下、本発明の実施形態について、図面を参照して説明する。
【００２０】
＜ロボットシステムの構成＞
まず、ロボットシステム１の構成について説明する。
図１は、実施形態に係るロボットシステム１の構成の一例を示す図である。ロボットシ
ステム１は、ロボット制御装置３０を内蔵するロボット２０を備える。
【００２１】
ロボット２０は、第１アームと、第２アームと、第１アーム及び第２アームを支持する
支持台と、支持台の内側にロボット制御装置３０を備える双腕ロボットである。なお、ロ
ボット２０は、双腕ロボットに代えて、３本以上のアームを備える複腕ロボットであって
もよく、１本のアームを備える単腕ロボットであってもよい。また、ロボット２０は、ス
カラ（水平多関節）ロボット、直交座標ロボット、円筒型ロボット等の他のロボットであ
ってもよい。直交座標ロボットは、例えば、ガントリロボットである。
【００２２】
第１アームは、第１エンドエフェクターＥ１と、第１マニピュレーターＭ１を備える。
なお、第１アームは、これに代えて、第１エンドエフェクターＥ１を備えず、第１マニピ
ュレーターＭ１を備える構成であってもよい。また、第１アームは、力検出部（例えば、
力センサー、トルクセンサー等）を備える構成であってもよい。
【００２３】
第１エンドエフェクターＥ１は、この一例において、物体を把持可能な爪部を備えるエ
ンドエフェクターである。なお、第１エンドエフェクターＥ１は、当該爪部を備えるエン
ドエフェクターに代えて、空気の吸引、磁力、治具等によって物体を持ち上げることが可
能なエンドエフェクター等の他のエンドエフェクターであってもよい。
【００２４】
第１エンドエフェクターＥ１は、ケーブルによってロボット制御装置３０と通信可能に
接続されている。これにより、第１エンドエフェクターＥ１は、ロボット制御装置３０か
ら取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば
、イーサネット（登録商標）やＵＳＢ（Universal  Serial  Bus）等の規格によって行わ
れる。また、第１エンドエフェクターＥ１は、Ｗｉ−Ｆｉ（登録商標）等の通信規格によ
り行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００２５】
第１マニピュレーターＭ１は、７つの関節と、第１撮像部２１を備える。また、当該７
つの関節のそれぞれは、図示しないアクチュエーターを備える。すなわち、第１マニピュ
レーターＭ１を備える第１アームは、７軸垂直多関節型のアームである。第１アームは、
支持台と、第１エンドエフェクターＥ１と、第１マニピュレーターＭ１と、当該７つの関
節それぞれのアクチュエーターとによる連携した動作によって７軸の自由度の動作を行う
。なお、第１アームは、６軸以下の自由度で動作する構成であってもよく、８軸以上の自
由度で動作する構成であってもよい。
【００２６】
第１アームが７軸の自由度で動作する場合、第１アームは、６軸以下の自由度で動作す
る場合と比較して取り得る姿勢が増える。これにより第１アームは、例えば、動作が滑ら
かになり、更に第１アームの周辺に存在する物体との干渉を容易に回避することができる
。また、第１アームが７軸の自由度で動作する場合、第１アームの制御は、第１アームが
８軸以上の自由度で動作する場合と比較して計算量が少なく容易である。
【００２７】
第１マニピュレーターＭ１が備える７つのアクチュエーターはそれぞれ、ケーブルによ
ってロボット制御装置３０と通信可能に接続されている。これにより、当該アクチュエー
ターは、ロボット制御装置３０から取得される制御信号に基づいて、第１マニピュレータ
ーＭ１を動作させる。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録
商標）やＵＳＢ等の規格によって行われる。また、第１マニピュレーターＭ１が備える７
つのアクチュエーターのうちの一部又は全部は、Ｗｉ−Ｆｉ（登録商標）等の通信規格に
より行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００２８】
第１撮像部２１は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤ
（Charge  Coupled  Device）やＣＭＯＳ（Complementary  Metal  Oxide  Semiconducto
r）等を備えたカメラである。この一例において、第１撮像部２１は、第１マニピュレー
ターＭ１の一部に備えられる。そのため、第１撮像部２１は、第１アームの動きに応じて
移動する。また、第１撮像部２１が撮像可能な範囲は、第１アームの動きに応じて変化す
る。第１撮像部２１は、当該範囲の二次元画像を撮像する。なお、第１撮像部２１は、当
該範囲の静止画像を撮像する構成であってもよく、当該範囲の動画像を撮像する構成であ
ってもよい。
【００２９】
また、第１撮像部２１は、ケーブルによってロボット制御装置３０と通信可能に接続さ
れている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等
の規格によって行われる。なお、第１撮像部２１は、Ｗｉ−Ｆｉ（登録商標）等の通信規
格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよ
い。
【００３０】
第２アームは、第２エンドエフェクターＥ２と、第２マニピュレーターＭ２を備える。
なお、第２アームは、これに代えて、第２エンドエフェクターＥ２を備えず、第２マニピ
ュレーターＭ２を備える構成であってもよい。また、第２アームは、力検出部（例えば、
力センサー、トルクセンサー等）を備える構成であってもよい。
【００３１】
第２エンドエフェクターＥ２は、この一例において、物体を把持可能な爪部を備えるエ
ンドエフェクターである。なお、第２エンドエフェクターＥ２は、当該爪部を備えるエン
ドエフェクターに代えて、空気の吸引、磁力、治具等によって物体を持ち上げることが可
能なエンドエフェクター等の他のエンドエフェクターであってもよい。
【００３２】
第２エンドエフェクターＥ２は、ケーブルによってロボット制御装置３０と通信可能に
接続されている。これにより、第２エンドエフェクターＥ２は、ロボット制御装置３０か
ら取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば
、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、第２エンドエフ
ェクターＥ２は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって
ロボット制御装置３０と接続される構成であってもよい。
【００３３】
第２マニピュレーターＭ２は、７つの関節と、第２撮像部２２を備える。また、当該７
つの関節のそれぞれは、図示しないアクチュエーターを備える。すなわち、第２マニピュ
レーターＭ２を備える第２アームは、７軸垂直多関節型のアームである。第２アームは、
支持台と、第２エンドエフェクターＥ２と、第２マニピュレーターＭ２と、当該７つの関
節それぞれのアクチュエーターとによる連携した動作によって７軸の自由度の動作を行う
。なお、第２アームは、６軸以下の自由度で動作する構成であってもよく、８軸以上の自
由度で動作する構成であってもよい。
【００３４】
第２アームが７軸の自由度で動作する場合、第２アームは、６軸以下の自由度で動作す
る場合と比較して取り得る姿勢が増える。これにより第２アームは、例えば、動作が滑ら
かになり、更に第２アームの周辺に存在する物体との干渉を容易に回避することができる
。また、第２アームが７軸の自由度で動作する場合、第２アームの制御は、第２アームが
８軸以上の自由度で動作する場合と比較して計算量が少なく容易である。
【００３５】
第２マニピュレーターＭ２が備える７つのアクチュエーターはそれぞれ、ケーブルによ
ってロボット制御装置３０と通信可能に接続されている。これにより、当該アクチュエー
ターは、ロボット制御装置３０から取得される制御信号に基づいて、第２マニピュレータ
ーＭ２を動作させる。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録
商標）やＵＳＢ等の規格によって行われる。また、第２マニピュレーターＭ２が備える７
つのアクチュエーターのうちの一部又は全部は、Ｗｉ−Ｆｉ（登録商標）等の通信規格に
より行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００３６】
第２撮像部２２は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤ
やＣＭＯＳ等を備えたカメラである。この一例において、第２撮像部２２は、第２マニピ
ュレーターＭ２の一部に備えられる。そのため、第２撮像部２２は、第２アームの動きに
応じて移動する。また、第２撮像部２２が撮像可能な範囲は、第２アームの動きに応じて
変化する。第２撮像部２２は、当該範囲の二次元画像を撮像する。なお、第２撮像部２２
は、当該範囲の静止画像を撮像する構成であってもよく、当該範囲の動画像を撮像する構
成であってもよい。
【００３７】
また、第２撮像部２２は、ケーブルによってロボット制御装置３０と通信可能に接続さ
れている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等
の規格によって行われる。なお、第２撮像部２２は、Ｗｉ−Ｆｉ（登録商標）等の通信規
格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよ
い。
【００３８】
また、ロボット２０は、第３撮像部２３と、第４撮像部２４を備える。
第３撮像部２３は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤ
やＣＭＯＳ等を備えたカメラである。第３撮像部２３は、第４撮像部２４が撮像可能な範
囲を第４撮像部２４とともにステレオ撮像可能な部位に備えられる。第３撮像部２３は、
ケーブルによってロボット制御装置３０と通信可能に接続されている。ケーブルを介した
有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。な
お、第３撮像部２３は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信に
よってロボット制御装置３０と接続される構成であってもよい。
【００３９】
第４撮像部２４は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤ
やＣＭＯＳ等を備えたカメラである。第４撮像部２４は、第３撮像部２３が撮像可能な範
囲を第３撮像部２３とともにステレオ撮像可能な部位に備えられる。第４撮像部２４は、
ケーブルによって通信可能にロボット制御装置３０と接続されている。ケーブルを介した
有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。な
お、第４撮像部２４は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信に
よってロボット制御装置３０と接続される構成であってもよい。
【００４０】
上記で説明したロボット２０が備える各機能部は、この一例において、ロボット２０に
内蔵されたロボット制御装置３０から制御信号を取得する。そして、当該各機能部は、取
得した制御信号に基づいた動作を行う。なお、ロボット２０は、ロボット制御装置３０を
内蔵する構成に代えて、外部に設置されたロボット制御装置３０により制御される構成で
あってもよい。この場合、ロボット２０と、ロボット制御装置３０とは、ロボットシステ
ムを構成する。また、ロボット２０は、第１撮像部２１、第２撮像部２２、第３撮像部２
３、第４撮像部２４のうちの一部又は全部を備えない構成であってもよい。
【００４１】
ロボット制御装置３０は、この一例において、ロボット２０を制御する（動作させる）
コントローラーである。ロボット制御装置３０は、例えば、予め記憶された動作プログラ
ムに基づいた制御信号を生成する。ロボット制御装置３０は、生成した制御信号をロボッ
ト２０に出力し、ロボット２０に所定の作業を行わせる。
【００４２】
＜ロボットが行う所定の作業の概要＞
以下、ロボット２０が行う所定の作業について説明する。
ロボット２０は、第１撮像部２１〜第４撮像部２４の一部又は全部によって、ロボット
２０の作業領域内に配置された対象物Ｏを撮像する。以下では、一例として、ロボット２
０が第１撮像部２１によって対象物Ｏを撮像する場合について説明する。なお、ロボット
２０は、ロボット２０と別体の撮像部によって対象物Ｏを撮像する構成であってもよい。
この場合、ロボットシステム１は、当該撮像部を備える。また、当該撮像部は、対象物Ｏ
を撮像可能な位置に設置される。
【００４３】
ロボット２０が所定の作業を行う作業領域は、この一例において、第１領域と第２領域
とが重なった領域のことである。第１領域は、例えば、第１エンドエフェクターＥ１の重
心が移動可能な領域のことである。第２領域は、例えば、第２エンドエフェクターＥ２の
重心が移動可能な領域のことである。なお、ロボット２０が所定の作業を行う作業領域は
、第１領域と第２領域のいずれか一方であってもよい。また、第１領域は、第１エンドエ
フェクターＥ１の少なくとも一部が移動可能な領域等の第１エンドエフェクターＥ１に対
応付けられた他の領域であってもよい。また、第２領域は、第２エンドエフェクターＥ２
の少なくとも一部が移動可能な領域等の第２エンドエフェクターＥ２に対応付けられた他
の領域であってもよい。
【００４４】
対象物Ｏは、例えば、製品に組み付けるプレート、ネジ、ボルト等の産業用の部品や部
材である。図１では、図を簡略化するため、第１エンドエフェクターＥ１又は第２エンド
エフェクターＥ２の少なくとも一方により把持可能な程度の大きさを有する直方体形状の
物体として対象物Ｏを表している。また、図１に示した例では、対象物Ｏは、全体が作業
領域内に含まれている作業台ＴＢの上面に配置されている。作業台ＴＢは、例えば、テー
ブル等の台である。なお、対象物Ｏは、産業用の部品や部材に代えて、日用品や生体等の
他の物体であってもよい。また、対象物Ｏの形状は、直方体形状に代えて、他の形状であ
ってもよい。また、作業台ＴＢは、テーブルに代えて、床面や棚等の対象物Ｏを載置可能
な他の物体であってもよい。
【００４５】
ロボット２０は、第１撮像部２１が対象物Ｏを撮像した画像に基づいて対象物Ｏを把持
し、把持した対象物Ｏを図示しない所定の給材領域に給材する作業を所定の作業として行
う。なお、ロボット２０は、これに代えて、当該画像に基づいて対象物Ｏに対して行う他
の作業を所定の作業として行う構成であってもよい。
【００４６】
＜ロボット制御装置がロボットに所定の作業を行わせる処理の概要＞
以下、ロボット制御装置３０がロボット２０に所定の作業を行わせる処理の概要につい
て説明する。
【００４７】
ロボット制御装置３０は、ロボット２０に所定の作業を行わせる前に、キャリブレーシ
ョンプレートを用いたキャリブレーションを行う。当該キャリブレーションは、第１撮像
部２１の外部パラメーター及び内部パラメーターのキャリブレーションであり、具体的に
は、第１撮像部２１によって撮像される画像上の位置と、ロボット座標系ＲＣにおける位
置との対応付け等を行うキャリブレーションである。すなわち、ロボット制御装置３０は
、第１撮像部２１に撮像を行わせる際、当該キャリブレーションによってパラメーターが
調整された領域内において第１撮像部２１に撮像を行わせる。ロボット制御装置３０が当
該キャリブレーションを行う方法は、既知の方法であってもよく、これから開発される方
法であってもよい。ロボット制御装置３０が当該キャリブレーションを行う際、キャリブ
レーションプレートは、作業領域内の第１位置に配置される。第１位置は、この一例にお
いて、ロボット２０の作業領域内において予め決められた位置のことであり、所定の作業
において対象物Ｏを配置する位置のことである。すなわち、この一例において、第１位置
は、作業台ＴＢの上面内に予め決められた位置である。なお、ロボット２０が所定の作業
を行う際、対象物Ｏは、作業領域内のうち第１位置を含む所定範囲内に配置される構成で
あってもよい。所定範囲は、例えば、第１位置を中心とした所定半径の円形状範囲のこと
である。なお、所定範囲は、これに代えて、第１位置に対応付けられた他の範囲であって
もよい。以下では、一例として、ロボット２０が所定の作業を行う際、対象物Ｏが、第１
位置に配置される場合について説明する。
【００４８】
ロボット制御装置３０は、ロボット２０を動かし、第１撮像部２１の位置及び姿勢を所
定の撮像位置及び撮像姿勢と一致させる。第１撮像部２１の位置及び姿勢が撮像位置及び
撮像姿勢と一致した場合、第１撮像部２１が撮像可能な撮像範囲には、少なくとも作業台
ＴＢの上面が含まれる。
【００４９】
ここで、ロボット制御装置３０は、図１において図示しない後述する画像処理装置４０
を備える。画像処理装置４０は、第１撮像部２１を制御し、作業領域内の第１位置に配置
されたキャリブレーションプレートを撮像する。画像処理装置４０は、キャリブレーショ
ンプレートが撮像された画像に基づいて、第１撮像部２１によって撮像される画像上の位
置と、ロボット座標系ＲＣにおける位置とを対応付ける。この際、画像処理装置４０は、
第１撮像部２１とキャリブレーションプレートとの間の距離である第１距離を算出し、算
出した第１距離に基づいて、これらの位置を対応付ける。また、画像処理装置４０は、算
出した第１距離に基づいて、複数のテンプレートの中から１以上のテンプレートを特定す
る。
【００５０】
テンプレートは、テンプレートマッチングによって対象物Ｏの姿勢を特定するために用
いられる画像のことであり、対象物Ｏを表す二次元画像のことである。テンプレートは、
対象物Ｏを表すＣＧ（Computer  Graphics）であってもよく、対象物Ｏが撮像された画像
であってもよい。以下では、テンプレートがＣＧである場合について説明する。各テンプ
レートには、対象物Ｏの姿勢と、第１撮像部２１と対象物Ｏとの間の距離に応じた距離範
囲とが対応付けられている。あるテンプレートが表す対象物Ｏの外観は、当該テンプレー
トに対応付けられた姿勢と対象物Ｏの姿勢とが一致している場合において、第１撮像部２
１の位置及び姿勢が撮像位置及び撮像姿勢と一致している状態で対象物Ｏが撮像された画
像上の対象物Ｏの外観とほぼ一致する。ここで、当該ほぼ一致するとは、この一例におい
て、数パーセントから十数パーセントのずれを許容して一致することを意味する。また、
あるテンプレートが表す対象物Ｏの大きさは、当該状態で対象物Ｏと第１撮像部２１との
間の距離が、当該テンプレートに対応付けられた距離範囲に含まれている場合に第１撮像
部２１によって対象物Ｏが撮像された画像上の対象物Ｏの大きさとほぼ一致する大きさで
ある。ここで、ほぼ一致するとは、この一例において、数パーセントから十数パーセント
のずれを許容して一致することを意味する。
【００５１】
画像処理装置４０は、算出した第１距離を含む距離範囲が対応付けられた１以上のテン
プレートを複数のテンプレートの中から特定する。すなわち、画像処理装置４０は、作業
領域内の第１位置に配置されたキャリブレーションプレートを第１撮像部２１によって撮
像することで求められた第１距離情報に基づいて複数のテンプレートの中から１以上のテ
ンプレートを特定する。これにより、画像処理装置４０は、画像処理装置４０が対象物Ｏ
との類似度が最も高いテンプレートをテンプレートマッチングによって特定する処理に要
する時間を短縮することができる。
【００５２】
画像処理装置４０は、特定した１以上のテンプレートと、作業領域内に配置された対象
物Ｏを第１撮像部２１が撮像した画像とのテンプレートマッチングを行うことにより、対
象物Ｏの姿勢を特定する。当該姿勢は、例えば、対象物Ｏの重心に対応付けられた三次元
局所座標系における各座標軸のロボット座標系ＲＣにおける方向によって表される。なお
、当該姿勢は、これに代えて、対象物Ｏに対応付けられた他の方向によって表される構成
であってもよい。ロボット座標系ＲＣは、ロボット２０のロボット座標系である。また、
画像処理装置４０は、当該画像に基づいて対象物Ｏの位置を算出する。当該位置は、例え
ば、当該三次元局所座標系における原点のロボット座標系ＲＣにおける位置によって表さ
れる。なお、対象物Ｏの位置は、これに代えて、対象物Ｏに対応付けられた他の位置によ
って表される構成であってもよい。テンプレートマッチングは、マッチングの一例である
。
【００５３】
ロボット制御装置３０は、画像処理装置４０により行われたテンプレートマッチングの
結果に基づいてロボット２０を動かす。すなわち、ロボット制御装置３０は、画像処理装
置４０によって算出された対象物Ｏの位置及び姿勢に基づいてロボット２０を動かす。こ
れにより、ロボット制御装置３０は、ロボット２０に所定の作業を行わせる。ここで、こ
の一例において、ロボット制御装置３０には、図示しない給材領域の位置を示す情報が予
め記憶されている。
【００５４】
以下では、画像処理装置４０が行う処理と、画像処理装置４０を備えたロボット制御装
置３０が行う処理とについて詳しく説明する。
【００５５】
＜ロボット制御装置のハードウェア構成＞
以下、図２を参照し、ロボット制御装置３０のハードウェア構成について説明する。図
２は、ロボット制御装置３０のハードウェア構成の一例を示す図である。
【００５６】
ロボット制御装置３０は、例えば、ＣＰＵ（Central  Processing  Unit）３１と、記
憶部３２と、入力受付部３３と、通信部３４と、表示部３５を備える。これらの構成要素
は、バスＢｕｓを介して相互に通信可能に接続されている。また、ロボット制御装置３０
は、通信部３４を介してロボット２０と通信を行う。
【００５７】
ＣＰＵ３１は、記憶部３２に格納された各種プログラムを実行する。
記憶部３２は、例えば、ＨＤＤ（Hard  Disk  Drive）やＳＳＤ（Solid  State  Drive
）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read−Only  Memory）、Ｒ
ＯＭ（Read−Only  Memory）、ＲＡＭ（Random  Access  Memory）等を含む。なお、記憶
部３２は、ロボット制御装置３０に内蔵されるものに代えて、ＵＳＢ等のデジタル入出力
ポート等によって接続された外付け型の記憶装置であってもよい。記憶部３２は、ロボッ
ト制御装置３０が処理する各種情報（画像処理装置４０が処理する各種情報を含む）、前
述の動作プログラムを含む各種プログラム、各種画像等を格納する。
【００５８】
入力受付部３３は、例えば、キーボードやマウス、タッチパッド、その他の入力装置で
ある。なお、入力受付部３３は、表示部３５と一体に構成されたタッチパネルであっても
よい。
通信部３４は、例えば、ＵＳＢ等のデジタル入出力ポートやイーサネット（登録商標）
ポート等を含んで構成される。
表示部３５は、例えば、液晶ディスプレイパネル、あるいは、有機ＥＬ（ElectroLumin
escence）ディスプレイパネルである。
【００５９】
＜ロボット制御装置の機能構成＞
以下、図３を参照し、ロボット制御装置３０の機能構成について説明する。図３は、ロ
ボット制御装置３０の機能構成の一例を示す図である。
【００６０】
ロボット制御装置３０は、記憶部３２と、制御部３６と、画像処理装置４０を備える。
【００６１】
制御部３６は、ロボット制御装置３０の全体を制御する。制御部３６は、画像処理制御
部３６１と、ロボット制御部３６３を備える。制御部３６が備えるこれらの機能部は、例
えば、ＣＰＵ３１が、記憶部３２に記憶された各種プログラムを実行することにより実現
される。また、当該機能部のうちの一部又は全部は、ＬＳＩ（Large  Scale  Integratio
n）やＡＳＩＣ（Application  Specific  Integrated  Circuit）等のハードウェア機能
部であってもよい。
【００６２】
画像処理制御部３６１は、画像処理装置４０の全体を制御する。すなわち、画像処理制
御部３６１は、画像処理装置４０が備える各機能部を制御する。
ロボット制御部３６３は、記憶部３２に予め記憶された動作プログラムに基づいてロボ
ット２０を動かす。また、ロボット制御部３６３は、画像処理装置４０により行われたテ
ンプレートマッチングの結果に基づいてロボット２０を動かす。
【００６３】
画像処理装置４０は、撮像制御部４６１と、画像取得部４６３と、キャリブレーション
部４６５と、テンプレート特定部４６７と、位置姿勢算出部４６９を備える。画像処理装
置４０が備えるこれらの機能部は、例えば、ＣＰＵ３１が、記憶部３２に記憶された各種
プログラムを実行することにより実現される。また、当該機能部のうちの一部又は全部は
、ＬＳＩやＡＳＩＣ等のハードウェア機能部であってもよい。
【００６４】
撮像制御部４６１は、第１撮像部２１が撮像可能な範囲を第１撮像部２１に撮像させる
。また、撮像制御部４６１は、第２撮像部２２が撮像可能な範囲を第２撮像部２２に撮像
させる。また、撮像制御部４６１は、第３撮像部２３が撮像可能な範囲を第３撮像部２３
に撮像させる。また、撮像制御部４６１は、第４撮像部２４が撮像可能な範囲を第４撮像
部２４に撮像させる。
【００６５】
画像取得部４６３は、第１撮像部２１が撮像した画像を第１撮像部２１から取得する。
また、画像取得部４６３は、第２撮像部２２が撮像した画像を第２撮像部２２から取得す
る。また、画像取得部４６３は、第３撮像部２３が撮像した画像を第３撮像部２３から取
得する。また、画像取得部４６３は、第４撮像部２４が撮像した画像を第４撮像部２４か
ら取得する。
【００６６】
キャリブレーション部４６５は、第１撮像部２１によりキャリブレーションプレートが
撮像された画像に基づいて、当該画像上の位置と、ロボット座標系ＲＣにおける位置とを
対応付けるキャリブレーションを行う。この際、キャリブレーション部４６５は、当該画
像に基づいて、第１撮像部２１とキャリブレーションプレートとの間の距離である第１距
離を算出する。また、キャリブレーション部４６５は、算出した第１距離を示す第１距離
情報を生成する。
【００６７】
また、テンプレート特定部４６７は、キャリブレーション部４６５により生成された第
１距離情報に基づいて、記憶部３２に予め記憶された複数のテンプレートの中から１以上
のテンプレートを特定する。
【００６８】
位置姿勢算出部４６９は、テンプレート特定部４６７が特定した１以上のテンプレート
と、第１撮像部２１により対象物Ｏが撮像された画像とのテンプレートマッチングを行う
ことにより、対象物Ｏの姿勢を特定する。また、位置姿勢算出部４６９は、当該画像に基
づいて、対象物Ｏの位置を算出する。
【００６９】
＜ロボット制御装置が行うキャリブレーション処理＞
以下、図４を参照し、ロボット制御装置３０が行うキャリブレーション処理について説
明する。ロボット制御装置３０は、キャリブレーション処理を行うことにより、第１撮像
部２１により撮像された画像上の位置と、ロボット座標系ＲＣにおける位置とを対応付け
るキャリブレーションを行う。図４は、ロボット制御装置３０が行うキャリブレーション
処理の流れの一例を示すフローチャートである。なお、以下の説明において画像処理装置
４０が備える各機能部が能動的に行う処理は、画像処理制御部３６１によって当該各機能
部が制御されることによって行っている処理である。以下では、作業領域の第１位置には
、前述のキャリブレーションプレートが既に配置されている場合について説明する。
【００７０】
ここで、図５は、作業領域の第１位置に配置されたキャリブレーションプレートの一例
を示す図である。図５に示したプレートＣＰは、当該キャリブレーションプレートの一例
である。プレートＣＰには、この一例において、複数のドットパターンが描かれている。
なお、プレートＣＰには、複数のドットパターンに代えて、第１撮像部２１によって撮像
された画像上の位置と、ロボット座標系ＲＣにおける位置とを対応付けるキャリブレーシ
ョンを行うことが可能なパターンであれば如何なるパターンが描かれていてもよい。
【００７１】
ロボット制御部３６３は、記憶部３２に予め記憶された撮像位置姿勢情報を記憶部３２
から読み出す。撮像位置姿勢情報は、前述の撮像位置及び撮像姿勢を示す情報のことであ
る。ロボット制御部３６３は、ロボット２０を動作させることによって第１撮像部２１を
移動させ、読み出した撮像位置姿勢情報が示す撮像位置及び撮像姿勢に第１撮像部２１の
位置及び姿勢を一致させる（ステップＳ１１０）。なお、ロボット制御部３６３は、撮像
姿勢が予め記憶されている構成であってもよい。この場合、ロボット制御部３６３は、ス
テップＳ１１０において、記憶部３２に予め記憶された撮像位置情報を記憶部３２から読
み出す。撮像位置情報は、前述の撮像位置を示す情報のことである。第１撮像部２１の位
置は、この一例において、第１撮像部２１の重心に対応付けられた三次元局所座標系にお
ける原点のロボット座標系ＲＣにおける位置によって表される。なお、第１撮像部２１の
位置は、これに代えて、第１撮像部２１に対応付けられた他の位置によって表される構成
であってもよい。第１撮像部２１の姿勢は、この一例において、当該三次元局所座標系に
おける各座標軸のロボット座標系ＲＣにおける方向によって表される。なお、第１撮像部
２１の姿勢は、これに代えて、第１撮像部２１に対応付けられた他の方向によって表され
る構成であってもよい。
【００７２】
次に、撮像制御部４６１は、第１撮像部２１が撮像可能な範囲を第１撮像部２１に撮像
させる（ステップＳ１２０）。次に、画像取得部４６３は、ステップＳ１２０において第
１撮像部２１が撮像した画像を第１撮像部２１から取得する（ステップＳ１３０）。
【００７３】
次に、キャリブレーション部４６５は、ステップＳ１３０において画像取得部４６３が
第１撮像部２１から取得した画像に基づいて、当該画像上の位置と、ロボット座標系ＲＣ
における位置とを対応付けるキャリブレーションを行う。この際、キャリブレーション部
４６５は、第１撮像部２１とキャリブレーションプレートとの間の距離である第１距離を
算出する（ステップＳ１４０）。例えば、第１撮像部２１とキャリブレーションプレート
との間の距離は、第１撮像部２１の重心の位置と、キャリブレーションプレートの重心の
位置との間の距離である。なお、第１撮像部２１とキャリブレーションプレートとの間の
距離は、これに代えて、第１撮像部２１に対応付けられた何らかの位置と、キャリブレー
ションプレートに対応付けられた何らかの位置との間の距離であってもよい。キャリブレ
ーション部４６５が第１距離を算出する方法は、既知の方法であってもよく、これから開
発される方法であってもよい。
【００７４】
次に、キャリブレーション部４６５は、ステップＳ１４０において算出した第１距離を
示す第１距離情報を生成する。そして、キャリブレーション部４６５は、生成した第１距
離情報を記憶部３２に記憶させ（ステップＳ１５０）、処理を終了する。
【００７５】
上記において説明したキャリブレーションでは、第１距離を５０〜８０センチメートル
程度の距離となるようにロボット２０とキャリブレーションプレートとのそれぞれを配置
することが多いが、第１距離を他の距離となるようにロボット２０とキャリブレーション
プレートとのそれぞれを配置する構成であってもよい。以下では、一例として、第１距離
が７０センチメートルである場合について説明する。
【００７６】
なお、上記において説明したキャリブレーションは、複数回行われる構成であってもよ
い。この場合、ロボット制御装置３０は、それぞれのキャリブレーションにおけるステッ
プＳ１４０において算出された距離の平均値として第１距離を算出する。
【００７７】
また、ステップＳ１４０において、ロボット制御装置３０は、ユーザーから受け付けた
操作に応じてロボット２０を動作させ、第１エンドエフェクターＥ１又は第２エンドエフ
ェクターＥ２の少なくとも一方の予め決められた位置をキャリブレーションプレートの重
心に接触させて当該重心の位置を算出し、算出した当該位置に基づいて第１距離を算出す
る構成であってもよい。この場合、ロボット制御装置３０は、算出した当該第１距離を用
いてステップＳ１４０におけるキャリブレーションを行う。
【００７８】
また、ロボット制御装置３０は、図４に示したフローチャートの処理によって第１処理
を算出する構成に代えて、ダイレクトティーチング、オンラインティーチング等のティー
チング時においてキャリブレーションプレートの重心の位置が記憶され、記憶された当該
位置に基づいて第１位置を算出する構成であってもよい。この場合、ロボット制御装置３
０は、算出した当該第１距離を用いてステップＳ１４０におけるキャリブレーションを行
う。
【００７９】
また、ロボット制御装置３０は、上記において説明した方法と異なる方法によって第１
距離を算出又は特定する構成であってもよい。この場合、ロボット制御装置３０は、算出
又は特定した当該第１距離を用いてステップＳ１４０におけるキャリブレーションを行う
。
【００８０】
＜ロボット制御装置がロボットに所定の作業を行わせる処理＞
以下、図６を参照し、ロボット制御装置３０がロボット２０に所定の作業を行わせる処
理について説明する。図６は、ロボット制御装置３０がロボット２０に所定の作業を行わ
せる処理の流れを示すフローチャートである。なお、以下の説明において画像処理装置４
０が備える各機能部が能動的に行う処理は、画像処理制御部３６１によって当該各機能部
が制御されることによって行っている処理である。以下では、作業領域の第１位置には、
前述の対象物Ｏが既に配置されている場合について説明する。
【００８１】
ロボット制御部３６３は、記憶部３２に予め記憶された撮像位置姿勢情報を記憶部３２
から読み出す。ロボット制御部３６３は、ロボット２０を動作させることによって第１撮
像部２１を移動させ、読み出した撮像位置姿勢情報が示す撮像位置及び撮像姿勢に第１撮
像部２１の位置及び姿勢を一致させる（ステップＳ２１０）。なお、ロボット制御部３６
３は、ステップＳ２１０において撮像位置姿勢情報を記憶部３２から読み出さず、ステッ
プＳ１１０において記憶部３２から読み出した撮像位置姿勢情報が示す撮像位置及び撮像
姿勢に第１撮像部２１の位置及び姿勢を一致させる構成であってもよい。
【００８２】
次に、撮像制御部４６１は、第１撮像部２１が撮像可能な範囲を第１撮像部２１に撮像
させる（ステップＳ２２０）。次に、画像取得部４６３は、ステップＳ２２０において第
１撮像部２１が撮像した画像を第１撮像部２１から取得する（ステップＳ２３０）。次に
、テンプレート特定部４６７は、記憶部３２に予め記憶された第１距離情報を記憶部３２
から読み出す（ステップＳ２４０）。次に、テンプレート特定部４６７は、ステップＳ２
４０において読み出した第１距離情報に基づいて、複数のテンプレートの中から１以上の
テンプレートを特定するテンプレート特定処理を行う（ステップＳ２５０）。ここで、図
７〜図１０を参照し、ステップＳ２５０のテンプレート特定処理について説明する。
【００８３】
この一例において、記憶部３２には、図７に示したように複数のテンプレートが予め記
憶されている。図７は、記憶部３２に予め記憶された複数のテンプレートを例示する図で
ある。図７に示したテンプレートＴＰ１〜テンプレートＴＰ３のそれぞれは、記憶部３２
に予め記憶された複数のテンプレートに含まれる３つのテンプレートの一例である。前述
した通り、記憶部３２に記憶された各テンプレートには、各テンプレートに応じた距離範
囲が対応付けられている。より具体的には、各テンプレートには、各テンプレートが表す
対象物Ｏの大きさ（例えば、面積）に応じた距離範囲が対応付けられている。各テンプレ
ートに対応付けられる距離範囲の中央値は、各テンプレートが表す対象物Ｏの大きさが大
きいほど小さくなる。これは、対象物Ｏを撮像する際、対象物Ｏを撮像する撮像部が対象
物Ｏに対して近いほど、当該撮像部が撮像した画像上の対象物Ｏの大きさが大きくなるた
めである。また、図７に示したテンプレートＴＰ１〜テンプレートＴＰ３のそれぞれが表
す対象物Ｏの姿勢（すなわち、前述の外観）は、互いに同じ姿勢であるが、これらは一例
に過ぎず、各テンプレートのそれぞれが示す姿勢の全部が互いに同じ姿勢であることを示
しているわけではない。
【００８４】
テンプレート特定部４６７は、ステップＳ２４０において読み出した第１距離情報が示
す第１距離に基づいて、第１距離を中央値とした距離範囲である第１距離範囲を算出する
。第１距離範囲は、第１距離に第１所定割合を乗算した値を第１距離から差し引いた値か
ら、第１距離に第１所定割合を乗算した値を第１距離に足し加えた値までの範囲のことで
ある。第１所定割合は、この一例において、１割である。ここで、第１所定割合は、第１
距離の測定誤差を表す割合であってもよく、当該割合ではなくてもよい。なお、第１所定
割合は、これに代えて、１割より小さい割合であってもよく、１割より大きい割合であっ
てもよい。
【００８５】
テンプレート特定部４６７は、算出した第１距離範囲と、記憶部３２に記憶された各テ
ンプレートに対応付けられた距離範囲とを比較し、第１距離範囲の全体を包含する距離範
囲が対応付けられた１以上のテンプレートを、対象物Ｏとのテンプレートマッチングに用
いる１以上のテンプレートであると特定し、特定した１以上のテンプレートを記憶部３２
から読み出す。ここで、図８は、第１距離範囲の全体を包含する距離範囲と第１距離範囲
との間の関係の一例を示す図である。図８に示した距離範囲ＬＲ１１は、第１距離範囲の
一例である。距離範囲ＬＲ２１は、あるテンプレートに対応付けられた距離範囲の一例で
ある。図８では、距離範囲ＬＲ２１の最小値は、距離範囲ＬＲ１１の最小値よりも小さい
。また、距離範囲ＬＲ２１の最大値は、距離範囲ＬＲ１１の最大値よりも大きい。すなわ
ち、距離範囲ＬＲ２１は、距離範囲ＬＲ１１の全体を包含する距離範囲である。テンプレ
ート特定部４６７は、このように第１距離範囲の全体を包含する距離範囲が対応付けられ
た１以上のテンプレートを、対象物Ｏとのテンプレートマッチングに用いる１以上のテン
プレートであると特定し、特定した１以上のテンプレートを記憶部３２から読み出す。
【００８６】
図９は、第１距離範囲の一部も包含していない距離範囲と第１距離範囲との間の関係の
一例を示す図である。図９に示した距離範囲ＬＲ２２は、あるテンプレートに対応付けら
れた距離範囲の他の例である。図９では、距離範囲ＬＲ２２の最小値は、距離範囲ＬＲ１
１の最大値よりも大きい。すなわち、距離範囲ＬＲ２２は、距離範囲ＬＲ１１の一部も包
含していない。テンプレート特定部４６７は、このように第１距離範囲の一部も包含して
いない距離範囲が対応付けられた１以上のテンプレートを記憶部３２から読み出さない。
【００８７】
図１０は、第１距離範囲の一部を包含する距離範囲と第１距離範囲との間の関係の一例
を示す図である。図１０に示した距離範囲ＬＲ２３は、あるテンプレートに対応付けられ
た距離範囲の更に他の例である。図１０では、距離範囲ＬＲ２３の最小値は、距離範囲Ｌ
Ｒ１１の最大値よりも小さい。また、距離範囲ＬＲ２３の最大値は、距離範囲ＬＲ１１の
最大値よりも大きい。すなわち、距離範囲ＬＲ２３は、距離範囲ＬＲ１１の一部を包含し
ている。テンプレート特定部４６７は、このように第１距離範囲の一部を包含する距離範
囲が対応付けられた１以上のテンプレートを記憶部３２から読み出さない。なお、テンプ
レート特定部４６７は、第１距離範囲の一部を包含する距離範囲が対応付けられた１以上
のテンプレートを、対象物Ｏとのテンプレートマッチングに用いる１以上のテンプレート
であると特定し、特定した１以上のテンプレートを記憶部３２から読み出す構成であって
もよい。
【００８８】
なお、テンプレート特定部４６７は、ステップＳ２５０において、例えば、第１距離範
囲を入力パラメーターとする機械学習のアルゴリズムを用いて、記憶部３２に記憶された
複数のテンプレートの中から、対象物Ｏとのテンプレートマッチングに用いるテンプレー
トとして尤もらしい１以上のテンプレートを特定する構成であってもよい。
【００８９】
ステップＳ２５０においてテンプレート特定処理が行われた後、テンプレート特定部４
６７は、ステップＳ２５０において１以上のテンプレートを特定できたか否かを判定する
（ステップＳ２６０）。ステップＳ２５０において１以上のテンプレートを特定できてい
ないと判定した場合（ステップＳ２６０−ＮＯ）、テンプレート特定部４６７は、第１距
離情報を、直前に実行されたステップＳ２５０において記憶部３２に記憶された各テンプ
レートに対応付けられた距離範囲を第２所定割合拡大する（ステップＳ２７０）。第２所
定割合は、例えば、１割である。なお、第２所定割合は、１割より小さい割合であっても
よく、１割より大きい割合であってもよい。そして、テンプレート特定部４６７は、ステ
ップＳ２５０に遷移し、再びテンプレート特定処理を行う。一方、ステップＳ２５０にお
いて１以上のテンプレートを特定できたとテンプレート特定部４６７が判定した場合（ス
テップＳ２６０−ＹＥＳ）、位置姿勢算出部４６９は、ステップＳ２５０において読み出
した１以上のテンプレート毎に、ステップＳ２９０の処理を繰り返し行う（ステップＳ２
８０）。
【００９０】
位置姿勢算出部４６９は、ステップＳ２８０において選択されたテンプレートと、ステ
ップＳ２３０において画像取得部４６３が取得した画像とを用いたテンプレートマッチン
グを行い、当該テンプレートと当該画像との類似の度合いを表す値である類似度を算出す
る（ステップＳ２９０）。位置姿勢算出部４６９は、算出した類似度を当該テンプレート
に対応付ける。ステップＳ２９０においてテンプレートマッチングにより類似度を算出す
る方法は、既知の方法であってもよく、これから開発される方法であってもよい。
【００９１】
ステップＳ２５０において記憶部３２から読み出した１以上のテンプレート毎にステッ
プＳ２９０の処理が繰り返し行われた後、位置姿勢算出部４６９は、ステップＳ２８０〜
ステップＳ２９０の繰り返し処理において算出された最大の類似度に対応付けられたテン
プレートを特定する。そして、位置姿勢算出部４６９は、特定したテンプレートに対応付
けられた姿勢を、対象物Ｏの姿勢として特定する（ステップＳ３００）。
【００９２】
次に、位置姿勢算出部４６９は、ステップＳ２３０において画像取得部４６３が取得し
た画像に基づいて、対象物Ｏの位置を算出する（ステップＳ３１０）。具体的には、位置
姿勢算出部４６９は、パターンマッチング等によって当該画像から対象物Ｏの重心を検出
する。位置姿勢算出部４６９は、検出した重心の位置であって当該画像上の位置をロボッ
ト座標系ＲＣにおける位置に変換する。当該位置が、位置姿勢算出部４６９が算出する対
象物Ｏの位置である。
【００９３】
次に、ロボット制御部３６３は、位置姿勢算出部４６９が算出した対象物Ｏの位置及び
姿勢に基づいて、ロボット２０に所定の作業を行わせる（ステップＳ３２０）。
【００９４】
なお、ロボット制御装置３０は、第１撮像部２１が撮像可能な範囲に、第１撮像部２１
との間の距離が互いに異なる２以上の対象物が含まれている場合、第１撮像部２１により
撮像された１つの画像が分割された複数の領域のうち当該２以上の対象物のそれぞれを含
む領域毎に、図４及び図６に示したフローチャートの処理を行う構成であってもよい。す
なわち、ロボット制御装置３０は、１つの当該画像が複数の領域に分割され、分割された
複数の領域毎に求められた第１距離情報に基づいて、複数の領域毎のテンプレートを特定
する。これにより、ロボット制御装置３０は、第１撮像部２１が作業領域内に配置された
対象物を撮像した１つの画像が分割された複数の領域毎に求められた第１距離情報に基づ
いて、テンプレートと対象物を撮像した画像とのマッチングを行うためにユーザーが行う
作業を軽減することができる。
【００９５】
＜実施形態の変形例＞
以下、実施形態の変形例について説明する。実施形態の変形例では、前述の距離範囲は
、各テンプレートに対応付けられる構成に代えて、テンプレートを拡大又は縮小する複数
の拡縮率のそれぞれに対応付けられている。また、当該変形例では、記憶部３２には、対
象物Ｏの姿勢毎に、対象物Ｏの姿勢に対応する１つのテンプレートが記憶されている。例
えば、対象物Ｏの姿勢がＮ個の場合（Ｎは、１以上の整数）、記憶部３２には、それぞれ
の当該姿勢に応じたテンプレートがＮ個記憶されている。すなわち、テンプレート特定部
４６７は、図６に示したステップＳ２５０において、第１距離範囲の全部を包含する距離
範囲に対応付けられた１以上の拡縮率を特定する。
【００９６】
そして、ステップＳ２６０においてテンプレート特定部４６７は、ステップＳ２５０に
おいて１以上の拡縮率を特定できたか否かを判定する。ステップＳ２６０においてテンプ
レート特定部４６７が、ステップＳ２５０において１以上の拡縮率を特定できたと判定し
た場合、ステップＳ２８０において位置姿勢算出部４６９は、ステップＳ２５０において
特定した１以上の拡縮率毎に、ステップＳ２８０〜ステップＳ２９０の処理を行う。例え
ば、位置姿勢算出部４６９がある拡縮率を選択した後、位置姿勢算出部４６９は、選択し
た当該拡縮率によって記憶部３２に記憶された複数のテンプレート（前述の対象物Ｏの姿
勢のそれぞれに対応づけられているテンプレート）のすべてを拡大又は縮小する。そして
、位置姿勢算出部４６９は、拡大又は縮小したテンプレート毎に、ステップＳ２９０の処
理を繰り返し行う。これにより、ロボット制御装置３０は、第１距離情報とテンプレート
の拡縮率に対応付けられた距離範囲とに基づいて、テンプレートと対象物Ｏを撮像した画
像とのテンプレートマッチングを行うためにユーザーが行う作業を軽減することができる
。
【００９７】
なお、上記において説明した画像処理装置４０は、ロボット制御装置３０と別体であっ
てもよい。この場合、画像処理装置４０は、ロボット制御装置３０と無線又は有線によっ
て通信可能に接続される。また、当該場合、画像処理装置４０は、ＣＰＵ、記憶部、通信
部等のハードウェア機能部を備える。
【００９８】
以上のように、画像処理装置４０は、ロボット２０が作業を行う作業領域内の第１位置
に配置されたキャリブレーションプレートを撮像部（上記において説明した例では、第１
撮像部２１）によって撮像することで求められた第１距離情報に基づいてテンプレートを
特定し、特定したテンプレートと、撮像部が作業領域内に配置された対象物を撮像した画
像とのマッチング（上記において説明した例では、テンプレートマッチング）を行う。こ
れにより、画像処理装置４０は、テンプレートと対象物（上記において説明した例では、
対象物Ｏ）を撮像した画像とのマッチングを行うためにユーザーが行う作業を軽減するこ
とができる。
【００９９】
また、画像処理装置４０は、キャリブレーション時においてキャリブレーションプレー
トが撮像部により撮像された画像に基づいて算出された距離であってキャリブレーション
プレートと撮像部との間の距離を示す第１距離情報に基づいてテンプレートを特定する。
これにより、画像処理装置４０は、第１距離情報に基づいて、テンプレートと対象物を撮
像した画像とのマッチングを行うためにユーザーが行う作業を軽減することができる。
【０１００】
また、画像処理装置４０は、ロボット２０が作業を行う作業領域の第１位置に配置され
たキャリブレーションプレートを撮像部によって撮像することで求められた第１距離情報
に基づいてテンプレートを特定し、特定したテンプレートと、撮像部が作業領域内に配置
された対象物を撮像した二次元画像とのマッチングを行う。これにより、画像処理装置４
０は、テンプレートと対象物を撮像した二次元画像とのマッチングを行うためにユーザー
が行う作業を軽減することができる。
【０１０１】
また、画像処理装置４０は、第１距離情報が求められる際には、キャリブレーションプ
レートが作業領域内の第１位置に配置され、テンプレートと撮像部が作業領域内に配置さ
れた対象物を撮像した画像とのマッチングが行われる際には、対象物が作業領域内のうち
第１位置を含む所定範囲内に配置される。これにより、画像処理装置４０は、作業領域内
の第１位置に配置されたキャリブレーションプレートと、作業領域内のうち第１位置を含
む所定範囲内に配置された対象物とに基づいて、テンプレートと対象物を撮像した画像と
のマッチングを行うためにユーザーが行う作業を軽減することができる。
【０１０２】
また、画像処理装置４０では、テンプレートと撮像部が作業領域内に配置された対象物
を撮像した画像とのマッチングが行われる際には、対象物が作業領域内の第１位置に配置
される。これにより、画像処理装置４０は、作業領域内の第１位置に配置されたキャリブ
レーションプレートと、作業領域内の第１位置に配置された対象物とに基づいて、テンプ
レートと対象物を撮像した画像とのマッチングを行うためにユーザーが行う作業を軽減す
ることができる。
【０１０３】
また、画像処理装置４０は、撮像部を備えたロボット２０が作業を行う作業領域内の第
１位置に配置されたキャリブレーションプレートを当該撮像部によって撮像することで求
められた第１距離情報に基づいてテンプレートを特定し、特定したテンプレートと、当該
撮像部が作業領域内に配置された対象物を撮像した画像とのマッチングを行う。これによ
り、画像処理装置４０は、テンプレートとロボット２０が備える撮像部が対象物を撮像し
た画像とのマッチングを行うためにユーザーが行う作業を軽減することができる。
【０１０４】
また、画像処理装置４０は、撮像部を備えたロボット２０が作業を行う作業領域の第１
位置に配置されたキャリブレーションプレートを撮像位置情報が示す撮像位置において当
該撮像部によって撮像することで求められた第１距離情報に基づいてテンプレートを特定
し、特定したテンプレートと、当該撮像部が作業領域内に配置された対象物を撮像位置情
報が示す撮像位置において撮像した画像とのマッチングを行う。これにより、画像処理装
置４０は、テンプレートと撮像位置情報が示す撮像位置においてロボット２０が備える撮
像部が対象物を撮像した画像とのマッチングを行うためにユーザーが行う作業を軽減する
ことができる。
【０１０５】
また、画像処理装置４０は、第１距離情報とテンプレートに対応付けられた距離範囲と
に基づいてテンプレートを特定する、又は、第１距離情報とテンプレートの拡縮率に対応
付けられた距離範囲とに基づいてテンプレートを特定する。これにより、画像処理装置４
０は、第１距離情報とテンプレートに対応付けられた距離範囲とに基づいて、又は、第１
距離情報とテンプレートの拡縮率に対応付けられた距離範囲とに基づいて、テンプレート
と対象物を撮像した画像とのマッチングを行うためにユーザーが行う作業を軽減すること
ができる。
【０１０６】
また、画像処理装置４０は、撮像部が作業領域内に配置された対象物を撮像した１つの
画像が複数の領域に分割され、分割された複数の領域毎に求められた第１距離情報に基づ
いて、複数の領域毎のテンプレートを特定する。これにより、画像処理装置４０は、撮像
部が作業領域内に配置された対象物を撮像した１つの画像が分割された複数の領域毎に求
められた第１距離情報に基づいて、テンプレートと対象物を撮像した画像とのマッチング
を行うためにユーザーが行う作業を軽減することができる。
【０１０７】
また、ロボット制御装置３０は、画像処理装置４０により行われたマッチングの結果に
基づいてロボット２０を動かす。これにより、ロボット制御装置３０は、ロボット２０に
作業を行わせるためにユーザーが行う作業を軽減することができる。
【０１０８】
また、ロボット２０は、画像処理装置４０により行われたマッチングの結果に基づいて
対象物に対して作業を行う。これにより、ロボット２０は、ロボット２０が作業を行うた
めにユーザーが行う作業を軽減することができる。
【０１０９】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実
施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等
されてもよい。
【０１１０】
また、以上に説明した装置（例えば、画像処理装置４０、ロボット制御装置３０）にお
ける任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な
記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するよ
うにしてもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Operating
System）や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み
取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ（Co
mpact  Disk）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディ
スク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは
、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信さ
れた場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー
（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１１１】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシ
ステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータ
ーシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インタ
ーネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を
伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい
。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録さ
れているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プロ
グラム）であってもよい。
【符号の説明】
【０１１２】
１…ロボットシステム、２０…ロボット、２１…第１撮像部、２２…第２撮像部、２３…
第３撮像部、２４…第４撮像部、３０…ロボット制御装置、３１…ＣＰＵ、３２…記憶部
、３３…入力受付部、３４…通信部、３５…表示部、３６…制御部、４０…画像処理装置
、３６１…画像処理制御部、３６３…ロボット制御部、４６１…撮像制御部、４６３…画
像取得部、４６５…キャリブレーション部、４６７…テンプレート特定部、４６９…位置
姿勢算出部
【図１】
2018122376.tif 000003
【図２】
2018122376.tif 000004
【図３】
2018122376.tif 000005
【図４】
2018122376.tif 000006
【図５】
2018122376.tif 000007
【図６】
2018122376.tif 000008
【図７】
2018122376.tif 000009
【図８】
2018122376.tif 000010
【図９】
2018122376.tif 000011
【図１０】
2018122376.tif 000012