【解決手段】位置情報取得装置は、視覚センサにより取得された画像から保管部に付与された複数のマーカーの平面座標系における2次元座標を取得し、当該2次元座標から定まる平面領域の重心のセンサ座標系における3次元座標および回転姿勢を取得し、平面領域の画像と、上記重心の3次元座標等に対応した第1テンプレート画像とのテンプレートマッチングにより操作対象物の存否を判別し、存在する操作対象物ごとに、平面領域の画像と、平面視した保管部および操作対象物を示す第2テンプレート画像とのテンプレートマッチングにより得られる相関度が最大になる位置の2次元座標を取得し、当該2次元座標から操作対象物の3次元座標および回転姿勢を取得する。
【発明を実施するための形態】
【0018】
次に、図面を参照しながら、本開示の発明を実施するための形態について説明する。
【0019】
図1は、ロボット1および本開示のロボット制御装置10を含むロボット装置RDを示す概略構成図であり、
図2は、ロボット装置RDの制御ブロック図である。図示するように、ロボット1は、保管部としての試験管ラック100に保管されている多数の試験管TTに対して例えば薬品等の投入といった予め定められた処理を自動的に実行するように本開示のロボット制御装置10によって制御されるものである。ロボット1の操作対象物である試験管TTは、円形の開口部を有する有底円筒状の容器であり、試験管ラック100は、複数の保持孔101を有する。各保持孔101は、試験管ラック100の上面で開口しており、上方から挿入された試験管TTを保持する。また、本実施形態において、試験管ラック100の上面は、四角形状を呈しており、当該上面には、少なくとも3つ以上の画像マーカーMが設けられている。本実施形態では、合計4つの画像マーカーMが試験管ラック100の上面の四隅に1つずつ設けられており、各画像マーカーMは、同一または固有の特徴的なテクスチャパターンを有する。
【0020】
ロボット1は、先端部(手先部)に図示しないロボットハンドが装着される多関節アーム機構2と、当該多関節アーム機構2を駆動するアクチュエータ3(
図2参照)と、多関節アーム機構2の先端部に取り付けられた視覚センサ4とを含む。多関節アーム機構2に装着されるロボットアームは、例えば試験管TT内に薬品等を投入するように構成されたものである。ただし、ロボットアームは、これに限られるものではなく、例えば試験管TTを把持して試験管ラック100の保持孔101から挿脱するように構成されたもの等であってもよい。また、本実施形態において、視覚センサ4は、光学式デジタルカメラであり、ロボット制御装置10からの撮影指令信号に応じて試験管ラック100を撮影し、当該試験管ラック100を示す画像データをロボット制御装置10に与える。ただし、視覚センサ4は、光学式デジタルカメラ以外の撮像装置であってもよい。
【0021】
ロボット制御装置10は、何れも図示しないCPU,ROM,RAM、入出力ポート等を有するコンピュータである。
図2に示すように、ロボット制御装置10には、CPUやROM,RAMといったハードウエアと、ROMにインストールされた制御プログラムといったソフトウェアとの協働により、平面認識処理部(第1座標姿勢取得部)20、テンプレート生成部30、位置情報処理部(第2座標姿勢取得部)40および動作制御部50が機能ブロック(モジュール)として構築され、平面認識処理部20、テンプレート生成部30および位置情報処理部40は、本開示の位置情報取得装置を構成する。また、ロボット制御装置10には、ロボット1による作業に際して各種情報を表示させる液晶モニタ等の表示装置60が接続されており、ロボット制御装置10は、当該表示装置60を制御する図示しない表示制御部を更に含む。
【0022】
平面認識処理部20は、それぞれCPU等のハードウエアとソフトウェアとの協働により構築されるマーカー認識部21および平面領域推定部22を含む。マーカー認識部21は、視覚センサ4からの試験管ラック100を示す画像データを解析し、当該画像データから各画像マーカーMの重心のセンサ座標系における3次元座標および回転姿勢を示すベクトルM
Gi(以下、単に「3次元座標および回転姿勢」という。ただし、“i”は、画像マーカーMに付与された識別子であり、本実施形態では、i=1,…,4である。)を取得する。ここで、センサ座標系は、視覚センサ4の光学系の光軸を座標軸の1つとして含む右手座標系であり、回転姿勢は、当該光軸に対する傾きを示す。更に、マーカー認識部21は、取得した画像マーカーMの3次元座標および回転姿勢M
Giに基づいて当該画像マーカーMの重心の画像の平面座標系(XY座標系)における2次元座標を示すベクトル(以下、単に「2次元座標」という。)M
giを取得する。また、平面領域推定部22は、マーカー認識部21により取得された画像マーカーMの重心の2次元座標M
giに基づいて、画像マーカーMの2次元座標M
giから定まる四角形状の平面領域L
Mi^の重心のセンサ座標系における3次元座標および回転姿勢を取得する。
【0023】
テンプレート生成部30は、平面認識処理部20の平面領域推定部22から上記平面領域L
Mi^の重心のセンサ座標系における3次元座標および回転姿勢を入力し、試験管ラック100における試験管TTの存否判定に用いられるテンプレート画像を学習済みニューラルネットワークにより生成するものである。このため、テンプレート生成部30は、すべての保持孔101に試験管TTが挿入された試験管ラック100を様々な角度から撮影した多数の画像を格納した画像データベース31を含む。そして、テンプレート生成部30は、画像データベース31に格納された画像に基づいて、平面領域推定部22により取得された平面領域L
Mi^の重心のセンサ座標系における3次元座標および回転姿勢に対応した第1テンプレート画像を生成する。本実施形態において、画像データベース31に格納される画像は、例えばHSV色空間で一定の色領域のみを抽出・強調した色空間画像(以下、適宜「HSV画像」という。)に変換されている。また、画像データベース31に格納される画像には、試験管TTが挿入された単一の保持孔101の周辺を真上から撮影して得られた画像をHSV色空間で一定の色領域のみを抽出・強調した第2テンプレート画像(HSV画像)が含まれている。
【0024】
位置情報処理部40は、それぞれCPU等のハードウエアとソフトウェアとの協働により構築される平面領域画像生成部41、存否判定部42、位置姿勢推定部43および位置情報演算部44を含む。平面領域画像生成部41は、視覚センサ4からの画像データと、平面認識処理部20により取得された画像マーカーMの重心の2次元座標M
giとに基づいて、上記平面領域L
Mi^の画像(平面画像)を生成する。存否判定部42は、平面領域画像生成部41により生成された画像とテンプレート生成部30により生成された第1テンプレート画像とのテンプレートマッチングを実行し、試験管ラック100における試験管TTの存否を判定する。
【0025】
位置情報処理部40の位置姿勢推定部43は、平面領域画像生成部41により生成された画像と、テンプレート生成部30の画像データベース31に格納された第2テンプレート画像とのテンプレートマッチングを実行し、試験管ラック100に存在する試験管TTごとに、開口部の中心(重心)の上記画像の平面座標系における2次元座標を取得する。位置情報演算部44は、位置姿勢推定部43により取得された2次元座標等に基づいて、試験管ラック100に存在する試験管TTの開口部の中心のセンサ座標系における3次元座標および回転姿勢といった位置情報を算出する。
【0026】
動作制御部50は、それぞれCPU等のハードウエアとソフトウェアとの協働により構築される位置姿勢補正部51および関節角度演算部52を含む。位置姿勢補正部51は、位置情報処理部40(位置情報演算部44)により取得された試験管TTの開口部の中心のセンサ座標系における3次元座標および回転姿勢をロボット1の手先座標系における座標および回転姿勢に変換する。関節角度演算部52は、位置姿勢補正部51により取得された座標および回転姿勢に基づいて、多関節アーム機構2の各関節の角度を算出すると共に、算出した各関節の角度に基づいて当該多関節アーム機構2を駆動するアクチュエータ3を制御する。
【0027】
次に、
図3から
図5を参照しながら、ロボット制御装置10における演算処理の手順について説明する。
【0028】
図3は、ロボット制御装置10の平面認識処理部20により実行されるルーチンの一例を示すフローチャートである。平面認識処理部20は、作業者によるロボット1の作業開始指令に応じて視覚センサ4に撮影指令信号を送信し、当該視覚センサ4から試験管ラック100を示す画像データを入力する(ステップS100)。以下、ステップS100にて入力される画像データを適宜「初期画像データ」という。次いで、平面認識処理部20(マーカー認識部21)は、入力した画像データの解析を行い、試験管ラック100に付与された複数の画像マーカーMの少なくとも何れか1つが検出されたか否かを判定する(ステップS110)。ステップS110にて試験管ラック100に付与された画像マーカーMが検出されなかったと判定した場合(ステップS110:NO)、平面認識処理部20は、視覚センサ4に撮影指令信号を再度送信し、当該視覚センサ4から画像データを再度入力する(ステップS100)。なお、画像データからの画像マーカーMの検出には、「拡張現実感システム構築ツールARToolKitの開発」(加藤 博一、Technical report of IEICE. PRMU 101(652), 79-86, 2002-02-14)に記載された手法を用いることができる。
【0029】
ステップS110にて試験管ラック100に付与された少なくとも何れか1つの画像マーカーMが検出されたと判定した場合(ステップS110:YES)、平面認識処理部20(マーカー認識部21)は、検出された画像マーカーMの重心のセンサ座標系における3次元座標および回転姿勢M
Giを取得する(ステップS120)。また、ステップS120において、平面認識処理部20(マーカー認識部21)は、画像マーカーMの3次元座標および回転姿勢M
Giに基づいて当該画像マーカーMの重心の画像の平面座標系(XY座標系)における2次元座標M
giを取得する。2次元座標M
giは、画像マーカーMの3次元座標および回転姿勢M
Giに基づく画像解析により取得された画像マーカーMの4つのコーナー部の画像上における2次元座標から求められる。
【0030】
更に、ステップS120において、平面認識処理部20(平面領域推定部22)は、画像マーカーMの重心の2次元座標M
giに基づいて、画像マーカーMの2次元座標M
giから定まる平面領域L
Mi^の重心のセンサ座標系における3次元座標および回転姿勢を取得する。マーカー認識部21によって試験管ラック100の全画像マーカーM(本実施形態では、4つ)の重心の2次元座標M
giが取得されている場合、平面領域L
Mi^の重心のセンサ座標系における3次元座標および回転姿勢は、すべての画像マーカーMの重心の2次元座標M
giから定まる四角形状の平面領域L
Mi^の重心をマーカー認識部21により取得された各画像マーカーMの3次元座標および回転姿勢M
Giに基づいてセンサ座標系に射影することにより求められる。また、マーカー認識部21によって試験管ラック100の全画像マーカーMの重心の2次元座標M
giが取得されていない場合、平面領域L
Mi^の重心のセンサ座標系における3次元座標および回転姿勢は、予め判明している試験管ラック100の上面の平面形状と、マーカー認識部21により取得された画像マーカーMの重心の3次元座標および回転姿勢M
Gi並びに2次元座標M
giとに基づいて推定される。
【0031】
ステップS120の処理の後、平面認識処理部20は、視覚センサ4に撮影指令信号を再度送信し、当該視覚センサ4から画像データを入力する(ステップS130)。以下、ステップS130にて入力される画像データを適宜「次画像データ」という。更に、平面認識処理部20(マーカー認識部21)は、ステップS130にて入力した次画像データと、ステップS120にて取得した画像マーカーMの重心の3次元座標および回転姿勢M
Giとに基づくパーティクルフィルタ処理により、次画像データにおける画像マーカーMの重心の3次元座標および回転姿勢M
Giを推定する(ステップS140)。ステップS130にて用いられるパーティクルフィルタは、「複合現実感のための2次元矩形マーカーを用いたカメラ追跡の精度向上」(植松裕子ら、「画像の認識・理解シンポジウム(MIRU2007)」2007年7月)に記載されたものを並進運動に関する推定が可能となるように改変したものである。また、ステップS140において、平面認識処理部20は、ステップS120と同様にして、推定した次画像データにおける画像マーカーMの重心の3次元座標および回転姿勢M
Giに基づいて次画像データにおける画像マーカーMの重心の2次元座標M
giと、当該2次元座標M
giから定まる平面領域L
Mi^の重心のセンサ座標系における3次元座標および回転姿勢とを取得する。
【0032】
ステップS140にて上記次画像データにおける画像マーカーMの重心の三次元的位置および回転姿勢M
Giを推定した後、平面認識処理部20(マーカー認識部21)は、ステップS130にて取得した次画像データにおける画像マーカーMの重心の3次元座標および回転姿勢M
Giから尤度を算出し(ステップS150)、算出した尤度が閾値以上であるか否かを判定する(ステップS160)。ステップS150において、尤度は、画像マーカーMの輪郭情報に加えて、画像マーカーMと外部環境との関係や、画像マーカーMのテクスチャパターンと入力画像の類似度を考慮した画像マーカーMの輪郭に対して垂直な方向のテクスチャパターン検出評価関数を用いて算出される。また、ステップS160にて用いられる閾値は、次画像データにおける画像マーカーMの重心の3次元座標および回転姿勢M
Giの推定に要する時間に応じて変更されるとよい。
【0033】
ステップS160にて尤度が閾値以上であると判定した場合(ステップS160:YES)、平面認識処理部20は、ステップS140にて推定された次画像データにおける画像マーカーMの重心の3次元座標および回転姿勢M
Gi、画像マーカーMの重心の2次元座標M
gi、並びに当該2次元座標M
giから定まる平面領域L
Mi^の重心のセンサ座標系における3次元座標および回転姿勢を図示しないRAMに格納する。また、ステップS160にて尤度が閾値未満であると判定した場合(ステップS160:NO)、平面認識処理部20は、ステップS120にて取得した初期画像データにおける画像マーカーMの重心の3次元座標および回転姿勢M
Gi、画像マーカーMの重心の2次元座標M
gi、並びに当該2次元座標M
giから定まる平面領域L
Mi^の重心のセンサ座標系における3次元座標および回転姿勢を図示しないRAMに格納する。
【0034】
ステップS170またはS180の処理の後、平面認識処理部20は、作業者によりロボット1の動作開始指令がなされたか否かを判定し(ステップS190)、当該動作開始指令がなされていないと判定した場合、(ステップS190:NO)上述のステップS100以降の処理を再度実行する。これに対して、ステップS190にて作業者によりロボット1の動作開始指令がなされたと判定した場合(ステップS190:YES)、その時点で
図3のルーチンを終了させる。
【0035】
図4は、作業者によるロボット1の動作開始指令に応じて、ロボット制御装置10の位置情報処理部40により実行されるルーチンの一例を示すフローチャートである。
図4のルーチンの開始に際し、位置情報処理部40(平面領域画像生成部41)は、平面認識処理部20により図示しないRAMに格納された画像マーカーMの重心の3次元座標および回転姿勢M
Gi、画像マーカーMの重心の2次元座標M
gi、並びに当該2次元座標M
giから定まる平面領域L
Mi^の重心のセンサ座標系における3次元座標および回転姿勢を入力する(ステップS200)。次いで、処理に必要なデータを取得し得たか否かを判定し(ステップS210)、処理に必要なデータが取得されていない場合(ステップS210:NO)、その時点で
図4のルーチンを終了させ、
図3のルーチンの再実行を指示する。
【0036】
ステップS210にて処理に必要なデータを取得し得たと判定した場合(ステップS210:YES)、位置情報処理部40(平面領域画像生成部41)は、ステップS200にて読み出した画像マーカーMの重心の2次元座標M
giに対応した初期画像データまたは次画像データを当該2次元座標M
giに基づくホモグラフィ変換により正規化画像に変換する(ステップS220)。ステップS220にて用いられるホモグラフィ変換としては、「単眼動画像からの可展面物体の3次元変形とその展開テクスチャの復元」(柴山 裕樹ら、「画像の認識・理解シンポジウム(MIRU2011)」2011年7月)に記載されたものを用いることができる。更に、位置情報処理部40(平面領域画像生成部41)は、ステップS220にて得られた正規化画像をHSV画像に変換することにより平面領域L
Mi^の画像を生成する(ステップS230)。
【0037】
続いて、位置情報処理部40(存否判定部42)は、ステップS200にて読み出した平面領域L
Mi^の重心のセンサ座標系における3次元座標および回転姿勢に対応した第1テンプレート画像の生成をテンプレート生成部30に要求し、当該テンプレート生成部30により生成された第1テンプレート画像を取得する(ステップS240)。第1テンプレート画像を取得した後、位置情報処理部40(存否判定部42)は、平面領域L
Mi^のHSV画像と第1テンプレート画像とのテンプレートマッチングを実行する(ステップS250)。ステップS250では、平面領域L
Mi^のHSV画像を第1テンプレート画像により走査しながら、両画像の輝度値の平均値を考慮した明るさの変動に強い正規化相互相関値を求めると共に、当該正規化相互相関値と閾値を比較することにより試験管TTの存否が判別される。かかるテンプレートマッチングに際して、平面領域L
Mi^の画像と第1テンプレート画像とをHSV色空間で一定の色領域のみを抽出・強調したHSV画像とすることで、ノイズの影響を低減化することができる。
【0038】
ステップS250におけるテンプレートマッチングの実行後、位置情報処理部40(存否判定部42)は、試験管ラック100に試験管TTが存在しているか否かを判定する(ステップS260)。ステップS260にて試験管ラック100に試験管TTが存在していないと判定した場合(ステップS260:NO)、位置情報処理部40(存否判定部42)は、その時点で
図4のルーチンを終了させる。この場合、位置情報処理部40は、
図4のルーチンの終了後、表示装置60に所定のエラー表示を表示させる等の予め定められた処理を実行する。
【0039】
一方、ステップS260にて試験管ラック100に試験管TTが存在していると判定した場合(ステップS260:YES)、位置情報処理部40(位置姿勢推定部43)は、テンプレート生成部30から、平面視した試験管TTおよび試験管ラック100の一部を示す上述の第2テンプレート画像を入力し(ステップS270)、平面領域L
Mi^のHSV画像と第2テンプレート画像とのテンプレートマッチングを実行する(ステップS280)。ステップS280では、存在が確認された試験管TTごとに、平面領域L
Mi^のHSV画像を第2テンプレート画像により走査しながら、両画像の相関度pが求められる。
【0040】
ステップS280のテンプレートマッチングにより上記相関度pを得た後、位置情報処理部40(位置姿勢推定部43)は、試験管ラック100に存在する試験管TTごとに、平面領域L
Mi^のHSV画像と第2テンプレート画像との相関度pが最大になる位置の上記平面座標系における2次元座標を取得する(ステップS290)。更に、位置情報処理部40(位置姿勢推定部43)は、試験管ラック100に存在する試験管TTごとに、ステップS290にて取得した2次元座標を含む所定の2次元領域内で円の中心位置と半径とを変化させながら同一円周上に位置するピクセルの輝度値の和を複数算出すると共に、輝度値の和が最大になる円周の中心の上記平面座標系における2次元座標および半径を取得し、取得した2次元座標を当該試験管TTの開口部中心の2次元座標とする(ステップS300)。これにより、平面領域L
Mi^のHSV画像と第2テンプレート画像とのテンプレートマッチングにより得られた相関度pに基づく2次元座標が画像の輝度値により補正された上で試験管TTの開口部中心の2次元座標として取得されることになる。
【0041】
そして、位置情報処理部40(位置情報演算部44)は、ステップS300にて取得した試験管TTの開口部中心の2次元座標をマーカー認識部21により取得された各画像マーカーMの3次元座標および回転姿勢M
Giに基づいてセンサ座標系に射影することにより、当該開口部中心の3次元座標および回転姿勢を算出する(ステップS310)。更に、位置情報処理部40(位置情報演算部44)は、作業者の便に供するための第1指標P(r)を算出する(ステップS320)。ステップS320において、第1指標Pは、試験管TTの開口部中心でステップS280のテンプレートマッチングにより得られた相関度pが最大になるとの仮定のもと、当該開口部中心からの距離rが減少するにつれて値が小さくなるように、次式(1)に従って試験管ラック100に存在する試験管TTごとに複数算出される。本実施形態において、第1指標Pの算出に際し、距離rは、ステップS300にて取得された輝度値の和が最大になる円周の半径を最大として、所定間隔で変化させられる。
【0043】
また、位置情報処理部40(位置情報演算部44)は、ロボット1のロボットハンドの現在位置からの移動距離Lと上記第1指標Pとに基づいてロボット1による処理の作業効率を向上させるための第2指標Qを算出する(ステップS330)。ステップS330において、第2指標Qは、試験管ラック100に存在する試験管TTの開口部中心ごとに、ロボット1のロボットハンドの現在位置からの移動距離Lが長いほど小さくなると共に上記第1指標Pが大きいほど大きくなるように次式(2)に従って算出される。式(2)において、係数aは、予め定められた負の一定値であり、係数bは、予め定められた正の一定値である。ステップS330では、試験管ラック100に存在する試験管TTごとに、ロボットハンドの停止位置(待機位置)を基準として開口部中心における第2指標Qが算出される。更に、ステップS330では、算出された第2指標Qを最大にする開口部中心の2次元座標に対応した試験管TTがロボットハンドの最初の移動先として定められ、以後、第2指標Qの大きい順に、試験管ラック100に存在する試験管TTへのロボットハンドのアクセス順序が定められる。
【0045】
ステップS330の処理の完了後、位置情報処理部40(位置情報演算部44)は、算出した試験管ラック100に存在する試験管TT(開口部中心)の3次元座標および回転姿勢やロボットハンドのアクセス順序といった位置情報を動作制御部50に送信すると共に、試験管ラック100に存在する試験管TT(開口部中心)の2次元座標や第1指標Pおよび第2指標Qを表示装置60の表示制御部(図示省略)に送信し(ステップS340)、
図4のルーチンを終了させる。動作制御部50は、位置情報処理部40から受け取った3次元座標および回転姿勢に基づいて多関節アーム機構2の各関節の角度を算出し、上述のアクセス順序に従って多関節アーム機構2を駆動するアクチュエータ3を制御する。
【0046】
また、位置情報処理部40から位置情報としての第1および第2指標P,Q等を受け取った図示しない表示制御部は、第1および第2指標P,Qを視覚的に把握可能な態様で試験管ラック100および試験管TTを示す画像(例えば、上述の平面領域L
Mi^の画像)と共に表示装置60に表示させる。本実施形態において、第1指標Pの値は、
図5に示すように、値が大きいほど赤みが増し、小さいほど青みが増すように色温度を用いて試験管ラック100を示す画像上の試験管TTが存在する箇所に表示される。同様に、第2指標Qも色温度に対応づけられ、試験管ラック100を示す画像上の試験管TTが存在する箇所の表示色は、第2指標Qの値が大きいほど赤みが増し、小さいほど青みが増すように設定される。
【0047】
以上説明したように、ロボット制御装置10の平面認識処理部20(第1座標姿勢取得部)は、視覚センサ4により取得された試験管ラック100の画像から当該試験管ラック100に付与された複数の画像マーカーMの当該画像の平面座標系における2次元座標M
giを取得すると共に、当該複数のマーカーの2次元座標から定まる平面領域L
Mi^の重心のセンサ座標系における3次元座標および回転姿勢を取得する(
図3のステップS100〜S190)。また、位置情報処理部40(第2座標姿勢取得部)の平面領域画像生成部41は、視覚センサ4により取得された画像と、複数の画像マーカーMの2次元座標M
giとに基づいて、平面領域L
Mi^の画像(HSV画像)を生成する(
図4のステップS220,S230)。
【0048】
更に、テンプレート生成部30は、位置情報処理部40の存否判定部42からの要求に応じて、すべての保持孔101に試験管TTが挿入された試験管ラック100を様々な角度から撮影した多数の画像に基づいて、平面領域L
Mi^の重心のセンサ座標系における3次元座標および回転姿勢に対応した第1テンプレート画像を生成する(
図4のステップS240)。また、位置情報処理部40の存否判定部42は、平面領域L
Mi^のHSV画像と第1テンプレート画像とのテンプレートマッチングにより試験管ラック100における試験管TTの存否を判別する(
図4のステップS250)。更に、位置情報処理部40の位置姿勢推定部43は、存在が確認された試験管TTごとに、平面領域L
Mi^のHSV画像と、平面視した試験管TTおよび試験管ラック100の一部を示す第2テンプレート画像とのテンプレートマッチングを実行し(
図4のステップS270,S280)、当該テンプレートマッチングにより得られる相関度pが最大になる位置の上記平面座標系における2次元座標を取得する(
図4のステップS290,S300)。そして、位置情報処理部40の位置情報演算部44は、取得した2次元座標に基づいて試験管TTのセンサ座標系における3次元座標および回転姿勢を位置情報として取得する(
図4のステップS310)。
【0049】
このように、ロボット制御装置10は、試験管ラック100に付与された比較的少数の画像マーカーMに基づいて生成された平面領域L
Mi^の画像と、第1および第2テンプレート画像とのテンプレートマッチングを実行することで、試験管TTのセンサ座標系における3次元座標および回転姿勢を取得する。これにより、各試験管TTに画像マーカーMを付与する必要がなくなり、視覚センサ4により取得された画像中の画像マーカーMの認識処理における演算負荷や処理速度を大幅に低減化することが可能となる。更に、上述のような第1および第2テンプレート画像を用いたテンプレートマッチングを実行することで、試験管TTのセンサ座標系における3次元座標および回転姿勢を高精度に取得することができる。この結果、視覚センサ4を有するロボット1の操作対象物である試験管TTに画像マーカーMを付与することなく、試験管ラック100における試験管TTの位置情報を高速かつ精度よく取得することが可能となり、高速かつ高精度なロボットによる作業を実現することができる。
【0050】
また、位置情報処理部40の平面領域画像生成部41は、視覚センサ4により取得された画像データを複数の画像マーカーMの2次元座標M
giに基づくホモグラフィ変換により正規化画像に変換すると共に、正規化画像をHSV画像に変換することにより平面領域L
Mi^の画像を生成する(
図4のステップS220,S230)。これにより、第1および第2テンプレート画像を用いたテンプレートマッチングの精度およびロバスト性をより向上させることが可能となる。
【0051】
更に、位置情報処理部40の位置姿勢推定部43は、試験管ラック100に存在する試験管TTごとに、平面領域L
Mi^のHSV画像と、上記相関度pが最大になる位置の2次元座標とに基づいて、同一円周上に位置するピクセルの輝度値の和を複数算出すると共に、輝度値の和が最大になる円周の中心の平面座標系における2次元座標を取得する(
図4のステップS300)。そして、位置情報処理部40の位置情報演算部44は、位置姿勢推定部43により取得された2次元座標から試験管TTのセンサ座標系における3次元座標および回転姿勢を取得する(
図4のステップS310)。これにより、平面領域L
Mi^における試験管TTの2次元座標をより精度よく取得することができるので、当該試験管TTのセンサ座標系における3次元座標および回転姿勢をより一層精度よく取得することが可能となる。なお、画像データベース31に格納される画像や、平面領域L
Mi^の画像、第1および第2テンプレート画像は、例えばRGB画像やグレースケール画像といったHSV画像以外の色空間画像であってもよい。
【0052】
また、ロボット制御装置10の位置情報処理部40は、試験管ラック100に存在する試験管TTごとに、相関度pに基づいて当該相関度pが最大になる位置からの距離が減少するにつれて値が小さくなる第1指標Pを複数算出し(
図4のステップS320)、算出した第1指標Pを視覚的に把握可能な色温度を用いて試験管ラック100を示す画像と共に表示装置60に表示させる(
図4のステップS340)。これにより、ロボット1を用いた試験管TTへの処理を管理する作業者に対して、有用な当該試験管TTの位置情報をわかりやすく提供することが可能となり、ロボット1を用いた処理の作業効率をより向上させることが可能となる。
【0053】
更に、ロボット制御装置10の位置情報処理部40は、試験管ラック100に存在する操試験管TTごとに、ロボット1のロボットハンドの現在位置からの移動距離Lが長いほど小さくなると共に第1指標Pが大きいほど大きくなる第2指標Qを算出し、算出した第2指標Qに基づいて試験管ラック100に存在する試験管TTへのロボットハンドのアクセス順序を設定する(
図4のステップS330)。これにより、ロボット1を用いた試験管TTへの処理の作業効率をより向上させることが可能となる。
【0054】
加えて、ロボット制御装置10の位置情報処理部40は、第2指標Qを視覚的に把握可能な色温度を用いて試験管ラック100を示す画像と共に表示装置60に表示させる(
図4のステップS340)。これにより、ロボット1を用いた試験管TTへの処理を管理する作業者に対して、ロボットハンドのアクセス順序に関する有用な情報をわかりやすく提供することができるので、ロボット1を用いた処理の作業効率をより一層向上させることが可能となる。
【0055】
そして、ロボット制御装置10によれば、画像マーカーMを付与し難い有底筒状の試験管TTの試験管ラック100における位置情報を高速かつ精度よく取得することが可能となる。ただし、ロボット制御装置10により制御されるロボット1の操作対象物は、有底筒状の容器に限られるものではない。
【0056】
なお、本開示の発明は上記実施形態に何ら限定されるものではなく、本開示の外延の範囲内において様々な変更をなし得ることはいうまでもない。更に、上記実施形態は、あくまで発明の概要の欄に記載された発明の具体的な一形態に過ぎず、発明の概要の欄に記載された発明の要素を限定するものではない。