説明

ロボット制御装置

【課題】認識対象物の3次元認識の結果に基づいて、自動的に認識対象物に対してロボットのハンドによる作業を行わせるためのロボット制御装置を提供する。
【解決手段】 認識対象物5及びハンド3の形状をシミュレーション手段10へ入力して、認識対象物5を把持する際のモデル座標系におけるハンド3及び認識対象物5を離す際のロボットベース座標系における認識対象物5の位置・姿勢を定義し、センサ座標系における認識対象物5の位置・姿勢を求め、これらの情報に基づいて、ハンドが認識対象物5を把持する際のロボットベース座標におけるハンド3の位置・姿勢及び認識対象物5を離す際のロボットベース座標系におけるハンド3の位置・姿勢を求め、この求めたハンド3の位置・姿勢を引数として与えた制御プログラムをロボット2に出力することにより、ロボット2を制御して認識対象物5に対してハンド3による作業を行わせる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、認識対象物の3次元認識の結果によって得られる認識対象物の3次元位置姿勢に基づいて、当該認識対象物に対してロボットのハンドによる作業を行わせるためのロボット制御装置に関する。
【背景技術】
【0002】
生産ラインにおいて、ロボットのハンド等により部品等に対して正確な操作を可能とするために、山積みにされた部品等を個々に認識し、各部品の位置及び姿勢を認識するための3次元物体認識装置が近年開発されている。
【0003】
従来、このような3次元物体認識装置としては、例えば、入力画像から得られる対象物体の輪郭等の特徴を直線、円弧等に近似したデータであるとともにステレオ計測等で得た3次元位置データを有する特徴データと、対象物体のモデルの三次元位置データとのマッチングにより対象物体の3次元位置姿勢を得るもの等がある(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平09−212643号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、ロボットのハンドに正確な作業を行わせるためには、対象物体の位置・姿勢を認識するとともに、ロボットに対してハンドによる正確な作業を行わせるための制御プログラムを与える必要がある。通常、このような対象物体の位置姿勢を認識してロボットのハンドにより対象物体に対して作業を行わせるようなシステムにおいては、対象物体の3次元認識の結果に基づいて、エンジニアによりロボットを制御するためのプログラムを作成するという作業が必要になるため、効率的ではないという問題がある。
【0006】
本発明は、上記のような課題に鑑みてなされたものであって、認識対象物の3次元認識の結果に基づいて、自動的に認識対象物に対してロボットのハンドによる作業を行わせるためのロボット制御プログラムをロボットへ出力することができるロボット制御装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、請求項1記載のロボット制御装置は、認識対象物の3次元認識の結果によって得られる認識対象物の3次元位置姿勢に基づいて、当該認識対象物に対してロボットのハンドによる作業を行わせるためのロボット制御装置であって、前記認識対象物の形状及び前記ハンドの形状をシミュレーション手段へと入力する入力手段と、前記シミュレーション手段において、前記ハンドが前記認識対象物を把持する際の前記認識対象物に設定されるモデル座標系における前記ハンドの位置・姿勢及び前記ハンドにより把持された前記認識対象物を離す際の前記ロボットに設定されるロボットベース座標系における前記認識対象物の位置・姿勢を定義する定義手段と、前記認識対象物の3次元認識を行うためのセンサに設定されるセンサ座標系における前記認識対象物の位置・姿勢を求める3次元認識手段と、前記ロボットベース座標系における前記ハンドの位置・姿勢を引数として有するロボット制御プログラムを記憶する記憶手段と、ハンドアイ校正により予め求めた前記ロボットベース座標系における前記センサの位置・姿勢と、前記定義手段により定義した前記モデル座標系における前記ハンドの位置・姿勢と、前記3次元認識手段により求めた前記センサ座標系における前記認識対象物の位置・姿勢とに基づいて、前記ハンドが前記認識対象物を把持する際の前記ロボットベース座標における前記ハンドの位置・姿勢を求め、前記定義手段により定義した前記モデル座標系における前記ハンドの位置・姿勢及び前記ロボットベース座標系における前記認識対象物の位置・姿勢に基づいて、前記ハンドにより把持された前記認識対象物を離す際の前記ロボットベース座標系における前記ハンドの位置・姿勢を求めるハンド位置・姿勢算出手段と、を備え、前記ハンド位置・姿勢算出手段により求めた前記ロボットベース座標系におけるそれぞれの前記ハンドの位置・姿勢を引数として与えた前記ロボット制御プログラムを前記ロボットに対して出力することにより、当該ロボットを制御して前記認識対象物に対して前記ハンドによる作業を行わせることを特徴としている。
【0008】
請求項2記載のロボット制御装置は、認識対象物の3次元認識の結果によって得られる認識対象物の3次元位置姿勢に基づいて、当該認識対象物に対してロボットのハンドによる作業を行わせるためのロボット制御装置であって、前記認識対象物の形状、前記ハンドの形状、及び前記認識対象物が組み入れられる収納部の形状をシミュレーション手段へと入力する入力手段と、前記シミュレーション手段において、前記ハンドが前記認識対象物を把持する際の前記認識対象物に設定される第1モデル座標系における前記ハンドの位置・姿勢及び前記ハンドにより把持された前記認識対象物が前記収納部に組み入れられる際の前記収納部に設定される第2モデル座標系における前記認識対象物の位置・姿勢を定義する定義手段と、前記認識対象物の3次元認識を行うためのセンサに設定されるセンサ座標系における前記認識対象物の位置・姿勢及び前記センサ座標系における前記収納部の位置・姿勢を求める3次元認識手段と、前記ロボットに設定されるロボットベース座標系における前記ハンドの位置・姿勢を引数として有するロボット制御プログラムを記憶する記憶手段と、ハンドアイ校正により予め求めた前記ロボットベース座標系における前記センサの位置・姿勢と、前記定義手段により定義した前記第1モデル座標系における前記ハンドの位置・姿勢と、前記3次元認識手段により求めた前記センサ座標系における前記認識対象物の位置・姿勢とに基づいて、前記ハンドが前記認識対象物を把持する際の前記ロボットベース座標系における前記ハンドの位置・姿勢を求め、前記ハンドアイ校正により予め求めた前記ロボットベース座標系における前記センサの位置・姿勢と、前記定義手段により定義した第2モデル座標系における前記認識対象物の位置・姿勢及び前記第1モデル座標系における前記ハンドの位置・姿勢と、前記3次元認識手段により求めた前記センサ座標系における前記収納部の位置・姿勢とに基づいて、前記ハンドにより把持された前記認識対象物を前記収納部に組み入れる際の前記ロボットベース座標系における前記ハンドの位置・姿勢を求めるハンド位置・姿勢算出手段と、を備え、前記ハンド位置・姿勢算出手段により求めた前記ロボットベース座標系におけるそれぞれの前記ハンドの位置・姿勢を引数として与えた前記ロボット制御プログラムを前記ロボットに対して出力することにより、当該ロボットを制御して前記認識対象物に対して前記ハンドによる作業を行わせることを特徴としている。
【発明の効果】
【0009】
請求項1記載のロボット制御装置によれば、ロボットのハンドが認識対象物を把持する際のモデル座標系におけるハンドの位置・姿勢及び該ハンドにより把持された認識対象物を目的の場所で離す際のロボットベース座標系における認識対象物の位置・姿勢をシミュレーション手段を用いて定義しておく。また、ハンドアイ校正により予めロボットベース座標系におけるセンサの位置・姿勢を求めおく。そして、3次元認識手段によりセンサ座標系における認識対象物の位置・姿勢を求め、これらの情報を用いて、ハンドが認識対象物を把持する際のロボットベース座標系におけるハンドの位置・姿勢及びハンドにより把持された認識対象物を目的の場所で離す際のロボットベース座標系におけるハンドの位置・姿勢を求めて、これらの情報を引数としてロボット制御プログラムにそれぞれ与え、ロボットに対して出力することにより、自動的にロボットのハンドにより認識対象物を把持して目的の場所まで運んでその場所に認識対象物を置くという一連の作業を行わせることができるので、エンジニアが認識対象物の3次元認識の結果に基づいて、ロボットの制御プログラムを作成する必要がなく、効率的にロボットのハンドによる作業を行わせることができる。
【0010】
請求項2記載のロボット制御装置によれば、ロボットのハンドが認識対象物を把持する際の当該認識対象物に設定される第1モデル座標系におけるハンドの位置・姿勢及び該ハンドにより把持された認識対象物が組み入れられる収納部に設定される第2モデル座標系における認識対象物の位置・姿勢をシミュレーション手段を用いて定義しておく。また、ハンドアイ校正により予めロボットベース座標系におけるセンサの位置・姿勢を求めておく。そして、3次元認識手段によりセンサ座標系における認識対象物の位置・姿勢及びセンサ座標系における前記収納部の位置・姿勢を求め、これらの情報を用いて、ハンド認識対象物を把持する際のロボットベース座標系におけるハンドの位置・姿勢及びハンドにより把持された認識対象物を収納部に組み入れる際のロボットベース座標系におけるハンドの位置・姿勢を求めて、これらの情報を引数としてロボット制御プログラムにそれぞれ与え、ロボットに対して出力することにより、自動的にロボットのハンドにより認識対象物を把持して収納部へと運んで、その収納部に認識対象物を組み入れるという一連の作業を行わせることができるので、エンジニアが認識対象物の認識対象物の3次元認識の結果に基づいて、ロボットの制御プログラムを作成する必要がなく、効率的にロボットのハンドによる作業を行わせることができる。
【図面の簡単な説明】
【0011】
【図1】第1の実施形態に係るロボット制御装置の構成の一例を示す概略模式図である。
【図2】第1の実施形態に係るロボット制御装置のシミュレーション手段を用いた位置・姿勢の定義の仕方について説明するための説明図である。
【図3】第1の実施形態に係るロボット制御装置による処理の流れの一例を示すフローチャートである。
【図4】第2の実施形態に係るロボット制御装置の構成の一例を示す概略模式図である。
【図5】第2の実施形態に係るロボット制御装置のシミュレーション手段を用いた位置・姿勢の定義の仕方について説明するための説明図である。
【図6】第2の実施形態に係るロボット制御装置による処理の流れの一例を示すフローチャートである。
【図7】第3の実施形態に係るロボット制御装置の構成の一例を示す概略模式図である。
【発明を実施するための形態】
【0012】
以下に本発明の第1の実施形態に係るロボット制御装置1について、図面を参照しつつ説明する。図1に示すように、ロボット制御装置1は、ロボット2のハンド3によって作業台4の上に載置された認識対象物5を把持し、目的の場所Pへと認識対象物5を運ぶ作業を行うためのロボット制御プログラムをロボット2に対して出力するものである。
【0013】
このロボット制御装置1は、図1に示すように、視覚センサ6のカメラ6a、6bで撮影した画像データ等を記憶する画像メモリ7と、認識対象物5の3次元認識処理等を行うための処理プログラム等を格納するハードディスク8と、マウス等のポインティングディバイスやキーボード等で構成される入力手段9と、不図示のCADソフト等を用いて入力手段9により入力された認識対象物5等の形状モデルの動作等のシミュレーションを行うシミュレーション手段10と、該シミュレーション手段10によるシミュレーション画面や画像メモリ7に記憶された画像データ等を表示するための表示手段11と、ハードディスク8から読み出された処理プログラムの一時記憶等を行うRAM(Random Access Memory)12と、この処理プログラムに従った処理や各部の動作の制御を行うCPU(Central Proceessing Unit)13と、これら各部を互いに接続するシステムバス14等を備えるものである。尚、本実施形態では、認識対象物5の3次元認識を行う処理プログラム等をハードディスク8に格納している例を示しているが、これに代えて、読み取り可能な記録媒体(不図示)に格納しておき、この記録媒体から処理プログラムを読み出すように構成しても良い。
【0014】
視覚センサ6は、作業台4の上に載置されている認識対象物5の3次元認識を行うための画像データを取得するためのものであり、認識対象物5を異なる方向から撮影するための2台のカメラ6a、6bを備えている。このカメラ6a、6bで取得した画像データは、通信ケーブル15を介してロボット制御装置1へと送られる。このようにして取得された画像データは、画像メモリ7に記憶され、この画像データに基づいて、3次元認識手段16により視覚センサ6に設定されるセンサ座標系Xにおける認識対象物5の位置・姿勢が求められる。尚、この3次元認識手段16は、認識対象物5の位置・姿勢を求めるための周知技術を利用するものであるので、ここではその詳細な説明は省略する。
【0015】
シミュレーション手段10は、CADソフト等を用いて入力手段9により入力されたハンド3や認識対象物5等の形状モデルのシミュレーションを行うための機能を有するものであり、入力されたハンド3や認識対象物5の形状モデル3a、5aは、例えば、図2に示すようにシミュレーション画面Aとして、表示手段11により表示される。そして、マウス等のポインティングディバイスを用いて、このシミュレーション画面A上でハンド3の形状モデル3aを移動及び回転させることにより、認識対象物5に設定されるモデル座標系Xにおけるハンド3の位置・姿勢等をシミュレーション手段10に備えられている定義手段17により定義する。
【0016】
このシミュレーション手段10としては、入力した形状モデルの位置・姿勢を定義するための定義手段17が設けられているものであれば良く、例えば、CADソフトやCGソフト等にそのような機能が備えられている場合には、それらを利用しても良い。また、シミュレーション画面Aに表示される形状モデルの位置・姿勢の定義の仕方は、この形状モデルをマウス等のポインティングディバイスを用いて、視覚的に定義する方法に限定されるものではなく、例えば、モデル座標系Xにおけるハンド3の位置・姿勢を表す数値をキーボード等から直接入力することにより定義しても良い。
【0017】
RAM12には、ロボット2のハンド3により作業を行わせるためのロボット制御プログラムが記憶されている。このロボット制御プログラムは、ロボット2の構造に適するように設計されたものであり、当該ロボット2に設定されるロボットベース座標系Xにおけるハンド3の位置・姿勢を引数として有している。従って、ロボットベース座標系Xにおけるハンド3の位置・姿勢を引数として与えたロボット制御プログラムを通信ケーブル18を介してロボット2に出力することにより、ロボット2のハンド3によりそれに応じた作業を行わせることができる。
【0018】
以下、ロボット制御装置1を用いてロボット2のハンド3により認識対象物5に対して作業を行わせる際の処理の流れについて図3のフローチャートを用いながら説明する。まず、図3に示すように、視覚センサ6から得られる認識対象物5の位置・姿勢をロボット2に設定されるロボットベース座標系Xからみた位置・姿勢の情報に変換するために予めハンドアイ校正により、ロボットベース座標系Xにおける視覚センサ6の位置・姿勢RBC,tBCを求めておく(S101)。このRBCは、数式(1)のように表され、rBC1,rBC2,rBC3は、それぞれロボットベース座標系Xにおけるセンサ座標系Xのx,y,z座標軸の単位ベクトルを示している。また、tBCはロボットベース座標系Xにおけるセンサ座標系Xの原点を示している。このようにして求められたRBC,tBCからロボットベース座標系Xにおけるセンサ座標は、数式(2)のように表される。
【数1】

【数2】

【0019】
次に、CADソフト等を用いて入力手段9によりハンド3及び認識対象物5の形状モデル3a、5aがシミュレーション手段10へと入力される(S102)。このようにシミュレーション手段10へと入力されたハンド3の形状モデル3a及び認識対象物5の形状モデル5aは、図2に示すように、表示手段11によりシミュレーション画面Aとして表示される。そして、図2に示すように、シミュレーション画面A上において、定義手段17によりハンド3が認識対象物5を把持する際のモデル座標系Xにおけるハンド3の位置・姿勢RMH,tMH、及びハンド3により把持された認識対象物5を目的の場所Pに離す際のロボットベース座標系Xにおける認識対象物5の位置・姿勢RBM,tBMが定義される(S103)。尚、RMHは、数式(3)のように表され、rMH1,rMH2,rMH3は、それぞれモデル座標系Xにおけるハンド座標系Xのx,y,z座標軸の単位ベクトルを示している。また、tMHは、モデル座標系Xにおけるハンド座標系Xの原点を示している。また、RBMは、数式(4)のように表され、rBM1,rBM2,rBM3は、それぞれロボットベース座標系Xにおけるモデル座標系Xのx,y,z座標軸の単位ベクトルを示している。また、tBMは、ロボットベース座標系Xにおけるモデル座標系Xの原点を示している。このように定義手段17により定義されたRMH,tMH、及びRBM,tBMからモデル座標系Xにおけるハンド座標、及びロボットベース座標系Xにおけるモデル座標は、それぞれ数式(5),(6)のように表される。
【数3】

【数4】

【数5】

【数6】

【0020】
尚、この形状モデルの位置・姿勢の定義の仕方としては、マウス等のポインティングディバイスを用いて、形状モデルを移動及び回転させることにより視覚的に定義しても良いし、形状モデルの位置・姿勢をキーボード等から直接入力することにより定義しても良い。また、図3では、認識対象物5が立っている状態の姿勢において、ハンド3が認識対象物5を把持する際の位置・姿勢を定義する例を示しているが、認識対象物5の姿勢によってハンド3が認識対象物5を把持する際の位置・姿勢は変化する。従って、認識対象物5の様々な姿勢に応じて、ハンド3が認識対象物5を把持する際の位置・姿勢を複数定義しておく。
【0021】
次に、ロボット制御装置1では、3次元認識手段16により、センサ座標系Xにおける認識対象物5の位置・姿勢RCM,tCMを求める(S104)。尚、RCMは、センサ座標系Xにおけるモデル座標系Xのx,y,z座標軸の単位ベクトルを示しており、tCMは、センサ座標系Xにおけるモデル座標系Xの原点を示している。このように3次元認識手段16により求められたRCM,tCMからセンサ座標系Xにおけるモデル座標は、数式(7)のように表される。
【数7】

【0022】
そして、ハンド位置・姿勢算出手段19により、S101のハンドアイ校正により求められたロボットベース座標系Xにおける視覚センサ6の位置・姿勢RBC,tBCと、S103の処理により定義されたハンド3が認識対象物5を把持する際のモデル座標系Xにおけるハンド3の位置・姿勢RMH,tMHと、S104の処理により求められたセンサ座標系Xにおける認識対象物5の位置・姿勢RCM,tCMとに基づいて、ハンド3が認識対象物5を把持する際のロボットベース座標系Xにおけるハンド3の位置・姿勢が求められ、S103の処理により定義されたハンド3が認識対象物5を把持する際のモデル座標系Xにおけるハンド3の位置・姿勢RMH,tMH及びハンド3により把持された認識対象物5を目的の場所Pに離す際のロボットベース座標系Xにおける認識対象物5の位置・姿勢RBM,tBMに基づいて、ハンド3により把持された認識対象物5を目的の場所Pに離す際のロボットベース座標系Xにおけるハンド3の位置・姿勢が求められる(S105)。
【0023】
具体的には、S105の処理では、ハンド位置・姿勢算出手段19は、数式(7)に数式(5)を代入することにより、数式(8)を得る。そして、数式(2)にこの数式(8)を代入することにより、ハンド3が認識対象物5を把持する際のロボットベース座標系Xにおけるハンド3の位置・姿勢を表す数式(9)を得る。また、ハンド位置・姿勢算出手段19は、数式(6)に数式(5)を代入することにより、ハンド3により把持された認識対象物5を目的の場所Pに離す際のロボットベース座標系Xにおけるハンド3の位置・姿勢を表す数式(10)を得る。
【数8】

【数9】

【数10】

【0024】
次に、ロボット制御装置1は、RAM12に記憶されているロボット制御プログラムに対してS105の処理により求めたハンド3が認識対象物5を把持する際のロボットベース座標系Xにおけるハンド3の位置・姿勢を表す数式(9)と、ハンド3により把持された認識対象物5を目的の場所Pに離す際のロボットベース座標系Xにおけるハンド3の位置・姿勢を表す数式(10)をそれぞれ引数として与える(S106)。そして、ロボット制御装置1は、それぞれ引数が与えられたこれらのロボット制御プログラムをロボット2に対して出力する(S107)。これにより、自動的にロボット2のハンド3により認識対象物5を把持して目的の場所Pまで運んでその場所に認識対象物5を置くという一連の作業を行わせる。
【0025】
次に、第2の実施形態に係るロボット制御装置1aについて、図4〜6を用いて説明する。図4に示すように、ロボット制御装置1aは、第1の実施形態に係るロボット制御装置1と略同様の構成を備えるものであり、ロボット2のハンド3により認識対象物5を目的の場所Pに置く作業に代わって、認識対象物5を収納部20へと組み入れる作業を行わせるものである。従って、第1実施形態に係るロボット制御装置1と同様の構成等については、同一の符号を付し、その詳細な説明は省略する。
【0026】
以下、ロボット制御装置1aを用いてロボット2のハンド3により認識対象物5に対して作業を行わせる際の処理の流れについて図6のフローチャートを用いながら説明する。まず、図6に示すように、第1の実施形態に係るロボット制御装置1と同様にハンドアイ校正により、ロボットベース座標系Xにおける視覚センサ6の位置・姿勢RBC,tBCを求めておく(S201)。このようにして求められたRBC,tBCからロボットベース座標系Xにおけるセンサ座標は、数式(2)のように表される。
【0027】
次に、ロボット制御装置1aでは、CADソフト等を用いて入力手段9によりハンド3、認識対象物5、及び該認識対象物5を組み入れる収納部20の形状モデル3a、5a、及び20aがそれぞれシミュレーション手段10へと入力される(S202)。このようにシミュレーション手段10へと入力されたハンド3の形状モデル3a、認識対象物5の形状モデル5a、及び収納部20の形状モデル20aは、図2に示すように、表示手段11によりシミュレーション画面Aとして表示される。そして、図5に示すように、シミュレーション画面A上において、定義手段17aによりハンド3が認識対象物5を把持する際の第1モデル座標系XM1におけるハンド3の位置・姿勢RM1H,tM1H、及びハンド3により把持された認識対象物5が収納部20に組み入れられる際の収納部に設定される第2モデル座標系XM2における認識対象物5の位置・姿勢RM2M1,tM2M1が定義される(S203)。尚、RM1Hは、第1モデル座標系XM1におけるハンド座標系Xのx,y,z座標軸の単位ベクトルを示しており、tM1Hは、第1モデル座標系XM1におけるハンド座標系Xの原点を示している。また、RM2M1は、第2モデル座標系XM2における第1モデル座標系XM1のx,y,z座標軸の単位ベクトルを示しており、tM2M1は、第2モデル座標系XM2における第1モデル座標系XM1の原点を示している。このように定義手段17aにより定義されたRM1H,tM1H、及びRM2M1,tM2M1から第1モデル座標系XM1におけるハンド座標、及び第2モデル座標系XM2における第1モデル座標は、それぞれ数式(11),(12)のように表される。
【数11】

【数12】

【0028】
次に、ロボット制御装置1aでは、3次元認識手段16aにより、センサ座標系Xにおける認識対象物5の位置・姿勢RCM1,tCM1及び、センサ座標系Xにおける収納部20の位置・姿勢RCM2,tCM2を求める(S204)。つまり、カメラ6a、6bは、認識対象物5だけではなく、収納部20も撮影して画像データを取得して、3次元認識手段16aにより、収納部20の3次元認識処理も行う。尚、RCM1は、センサ座標系Xにおける第1モデル座標系XM1のx,y,z座標軸の単位ベクトルを示しており、tCM1は、センサ座標系Xにおける第1モデル座標系XM1の原点を示している。また、RCM2は、センサ座標系Xにおける第2モデル座標系XM2のx,y,z座標軸の単位ベクトルを示しており、tCM2は、センサ座標系Xにおける第2モデル座標系XM1の原点を示している。このように3次元認識手段16aにより求められたRCM1,tCM1、及びRCM2,tCM2からセンサ座標系Xにおける第1モデル座標、及びセンサ座標系Xにおける第2モデル座標は、それぞれ数式(13),(14)のように表される。尚、本実施形態では、認識対象物5と収納部20を同じ視覚センサ6を用いている例を示しているが、別々の視覚センサを用いて3次元認識処理を行うことも可能である。
【数13】

【数14】

【0029】
そして、ハンド位置・姿勢算出手段19aにより、S201のハンドアイ校正により求められたロボットベース座標系Xにおける視覚センサ6の位置・姿勢RBC,tBCと、S203の処理により定義されたハンド3が認識対象物5を把持する際の第1モデル座標系XM1におけるハンド3の位置・姿勢RM1H,tM1Hと、S204の処理により求められたセンサ座標系Xにおける認識対象物5の位置・姿勢RCM1,tCM1とに基づいて、ハンド3が認識対象物5を把持する際のロボットベース座標系Xにおけるハンド3の位置・姿勢が求められる(S205)。また、S201のハンドアイ校正により求められたロボットベース座標系Xにおける視覚センサ6の位置・姿勢RBC,tBCと、S203の処理により定義されたハンド3により把持された認識対象物5が収納部20に組み入れられる際の第2モデル座標系XM2における認識対象物5の位置・姿勢RM2M1,tM2M1及びハンド3が認識対象物5を把持する際の第1モデル座標系XM1におけるハンド3の位置・姿勢RM1H,tM1Hと、S204の処理により求められたセンサ座標系Xにおける収納部20の位置・姿勢RCM2,tCM2とに基づいて、ハンド3により把持された認識対象物5を収納部20に組み入れる際のロボットベース座標系Xにおけるハンド3の位置・姿勢が求められる(205)。
【0030】
具体的には、S205の処理では、ハンド位置・姿勢算出手段19aは、数式(13)に数式(11)を代入することにより、数式(15)を得る。そして、数式(2)にこの数式(15)を代入することにより、ハンド3が認識対象物5を把持する際のロボットベース座標系Xにおけるハンド3の位置・姿勢を表す数式(16)を得る。また、ハンド位置・姿勢算出手段19aは、数式(2)に数式(14)を代入することにより、数式(17)を得る。また、この数式(17)に数式(12)を代入することにより、数式(18)を得る。そして、この数式(18)に数式(11)を代入することにより、ハンド3により把持された認識対象物5を収納部20に組み入れる際のロボットベース座標系Xにおけるハンド3の位置・姿勢を表す数式(19)が得られる。
【数15】

【数16】

【数17】

【数18】

【数19】

【0031】
次に、ロボット制御装置1aは、RAM12に記憶されているロボット制御プログラムに対してS205の処理により求めたハンド3が認識対象物5を把持する際のロボットベース座標系Xにおけるハンド3の位置・姿勢を表す数式(16)と、ハンド3により把持された認識対象物5を収納部20に組み入れる際のロボットベース座標系Xにおけるハンド3の位置・姿勢を表す数式(19)をそれぞれ引数として与える(S206)。そして、ロボット制御装置1aは、それぞれ引数が与えられたこれらのロボット制御プログラムをロボット2に対して出力する(S207)。これにより、自動的にロボット2のハンド3により認識対象物5を把持して収納部20へと運んで、その収納部20に認識対象物5を組み入れるという一連の作業を行わせることができる。
【0032】
尚、本実施形態では、視覚センサ6を固定している例を用いて説明したが、図7に示すように、視覚センサ6をハンド3に固定するように構成しても良い。この場合でも、視覚センサ6とロボット2の関係がハンドアイ校正により分かるので、認識対象物5等を撮影する際の視覚センサ6のロボットベース座標系Xにおける位置・姿勢がわかる。
【0033】
また、以上の説明では、1つのハンド3により認識対象物5に対して作業を行う場合の例について説明してきたが、本発明の手法は、双腕のロボット等にも当然応用することは可能である。
【0034】
尚、本発明の実施の形態は上述の形態に限るものではなく、本発明の思想の範囲を逸脱しない範囲で適宜変更することができることは云うまでもない。
【産業上の利用可能性】
【0035】
本発明に係るロボット制御装置は、生産ラインにおける部品等の位置及び姿勢を認識して、ロボットのハンドにより部品を所定の場所に搬入する作業等を行わせるための技術として有効に利用することができる。
【符号の説明】
【0036】
1、1a ロボット制御装置
2 ロボット
3 ハンド
4 作業台
5 認識対象物
6、6a、6b 視覚センサ(カメラ)
9 入力手段
10 シミュレーション手段
12 RAM(記憶手段)
16 3次元認識手段
17 定義手段
19 ハンド位置・姿勢算出手段
20 収納部

【特許請求の範囲】
【請求項1】
認識対象物の3次元認識の結果によって得られる認識対象物の3次元位置姿勢に基づいて、当該認識対象物に対してロボットのハンドによる作業を行わせるためのロボット制御装置であって、
前記認識対象物の形状及び前記ハンドの形状をシミュレーション手段へと入力する入力手段と、
前記シミュレーション手段において、前記ハンドが前記認識対象物を把持する際の前記認識対象物に設定されるモデル座標系における前記ハンドの位置・姿勢及び前記ハンドにより把持された前記認識対象物を離す際の前記ロボットに設定されるロボットベース座標系における前記認識対象物の位置・姿勢を定義する定義手段と、
前記認識対象物の3次元認識を行うためのセンサに設定されるセンサ座標系における前記認識対象物の位置・姿勢を求める3次元認識手段と、
前記ロボットベース座標系における前記ハンドの位置・姿勢を引数として有するロボット制御プログラムを記憶する記憶手段と、
ハンドアイ校正により予め求めた前記ロボットベース座標系における前記センサの位置・姿勢と、前記定義手段により定義した前記モデル座標系における前記ハンドの位置・姿勢と、前記3次元認識手段により求めた前記センサ座標系における前記認識対象物の位置・姿勢とに基づいて、前記ハンドが前記認識対象物を把持する際の前記ロボットベース座標における前記ハンドの位置・姿勢を求め、前記定義手段により定義した前記モデル座標系における前記ハンドの位置・姿勢及び前記ロボットベース座標系における前記認識対象物の位置・姿勢に基づいて、前記ハンドにより把持された前記認識対象物を離す際の前記ロボットベース座標系における前記ハンドの位置・姿勢を求めるハンド位置・姿勢算出手段と、を備え、
前記ハンド位置・姿勢算出手段により求めた前記ロボットベース座標系におけるそれぞれの前記ハンドの位置・姿勢を引数として与えた前記ロボット制御プログラムを前記ロボットに対して出力することにより、当該ロボットを制御して前記認識対象物に対して前記ハンドによる作業を行わせることを特徴とするロボット制御装置。
【請求項2】
認識対象物の3次元認識の結果によって得られる認識対象物の3次元位置姿勢に基づいて、当該認識対象物に対してロボットのハンドによる作業を行わせるためのロボット制御装置であって、
前記認識対象物の形状、前記ハンドの形状、及び前記認識対象物が組み入れられる収納部の形状をシミュレーション手段へと入力する入力手段と、
前記シミュレーション手段において、前記ハンドが前記認識対象物を把持する際の前記認識対象物に設定される第1モデル座標系における前記ハンドの位置・姿勢及び前記ハンドにより把持された前記認識対象物が前記収納部に組み入れられる際の前記収納部に設定される第2モデル座標系における前記認識対象物の位置・姿勢を定義する定義手段と、
前記認識対象物の3次元認識を行うためのセンサに設定されるセンサ座標系における前記認識対象物の位置・姿勢及び前記センサ座標系における前記収納部の位置・姿勢を求める3次元認識手段と、
前記ロボットに設定されるロボットベース座標系における前記ハンドの位置・姿勢を引数として有するロボット制御プログラムを記憶する記憶手段と、
ハンドアイ校正により予め求めた前記ロボットベース座標系における前記センサの位置・姿勢と、前記定義手段により定義した前記第1モデル座標系における前記ハンドの位置・姿勢と、前記3次元認識手段により求めた前記センサ座標系における前記認識対象物の位置・姿勢とに基づいて、前記ハンドが前記認識対象物を把持する際の前記ロボットベース座標系における前記ハンドの位置・姿勢を求め、前記ハンドアイ校正により予め求めた前記ロボットベース座標系における前記センサの位置・姿勢と、前記定義手段により定義した第2モデル座標系における前記認識対象物の位置・姿勢及び前記第1モデル座標系における前記ハンドの位置・姿勢と、前記3次元認識手段により求めた前記センサ座標系における前記収納部の位置・姿勢とに基づいて、前記ハンドにより把持された前記認識対象物を前記収納部に組み入れる際の前記ロボットベース座標系における前記ハンドの位置・姿勢を求めるハンド位置・姿勢算出手段と、を備え、
前記ハンド位置・姿勢算出手段により求めた前記ロボットベース座標系におけるそれぞれの前記ハンドの位置・姿勢を引数として与えた前記ロボット制御プログラムを前記ロボットに対して出力することにより、当該ロボットを制御して前記認識対象物に対して前記ハンドによる作業を行わせることを特徴とするロボット制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2011−177808(P2011−177808A)
【公開日】平成23年9月15日(2011.9.15)
【国際特許分類】
【出願番号】特願2010−42458(P2010−42458)
【出願日】平成22年2月26日(2010.2.26)
【特許番号】特許第4649554号(P4649554)
【特許公報発行日】平成23年3月9日(2011.3.9)
【出願人】(301021658)株式会社三次元メディア (15)
【Fターム(参考)】