(57)【要約】【課題】認識対象物の３次元認識の結果に基づいて、自動的に認識対象物に対してロボットのハンドによる作業を行わせるためのロボット制御装置を提供する。【解決手段】  認識対象物５及びハンド３の形状をシミュレーション手段１０へ入力して、認識対象物５を把持する際のモデル座標系におけるハンド３及び認識対象物５を離す際のロボットベース座標系における認識対象物５の位置・姿勢を定義し、センサ座標系における認識対象物５の位置・姿勢を求め、これらの情報に基づいて、ハンドが認識対象物５を把持する際のロボットベース座標におけるハンド３の位置・姿勢及び認識対象物５を離す際のロボットベース座標系におけるハンド３の位置・姿勢を求め、この求めたハンド３の位置・姿勢を引数として与えた制御プログラムをロボット２に出力することにより、ロボット２を制御して認識対象物５に対してハンド３による作業を行わせる。【選択図】図１
2011177808.tif 000002
【特許請求の範囲】
【請求項１】
認識対象物の３次元認識の結果によって得られる認識対象物の３次元位置姿勢に基づいて、当該認識対象物に対してロボットのハンドによる作業を行わせるためのロボット制御装置であって、
前記認識対象物の形状及び前記ハンドの形状をシミュレーション手段へと入力する入力手段と、
前記シミュレーション手段において、前記ハンドが前記認識対象物を把持する際の前記認識対象物に設定されるモデル座標系における前記ハンドの位置・姿勢及び前記ハンドにより把持された前記認識対象物を離す際の前記ロボットに設定されるロボットベース座標系における前記認識対象物の位置・姿勢を定義する定義手段と、
前記認識対象物の３次元認識を行うためのセンサに設定されるセンサ座標系における前記認識対象物の位置・姿勢を求める３次元認識手段と、
前記ロボットベース座標系における前記ハンドの位置・姿勢を引数として有するロボット制御プログラムを記憶する記憶手段と、
ハンドアイ校正により予め求めた前記ロボットベース座標系における前記センサの位置・姿勢と、前記定義手段により定義した前記モデル座標系における前記ハンドの位置・姿勢と、前記３次元認識手段により求めた前記センサ座標系における前記認識対象物の位置・姿勢とに基づいて、前記ハンドが前記認識対象物を把持する際の前記ロボットベース座標における前記ハンドの位置・姿勢を求め、前記定義手段により定義した前記モデル座標系における前記ハンドの位置・姿勢及び前記ロボットベース座標系における前記認識対象物の位置・姿勢に基づいて、前記ハンドにより把持された前記認識対象物を離す際の前記ロボットベース座標系における前記ハンドの位置・姿勢を求めるハンド位置・姿勢算出手段と、を備え、
前記ハンド位置・姿勢算出手段により求めた前記ロボットベース座標系におけるそれぞれの前記ハンドの位置・姿勢を引数として与えた前記ロボット制御プログラムを前記ロボットに対して出力することにより、当該ロボットを制御して前記認識対象物に対して前記ハンドによる作業を行わせることを特徴とするロボット制御装置。
【請求項２】
認識対象物の３次元認識の結果によって得られる認識対象物の３次元位置姿勢に基づいて、当該認識対象物に対してロボットのハンドによる作業を行わせるためのロボット制御装置であって、
前記認識対象物の形状、前記ハンドの形状、及び前記認識対象物が組み入れられる収納部の形状をシミュレーション手段へと入力する入力手段と、
前記シミュレーション手段において、前記ハンドが前記認識対象物を把持する際の前記認識対象物に設定される第１モデル座標系における前記ハンドの位置・姿勢及び前記ハンドにより把持された前記認識対象物が前記収納部に組み入れられる際の前記収納部に設定される第２モデル座標系における前記認識対象物の位置・姿勢を定義する定義手段と、
前記認識対象物の３次元認識を行うためのセンサに設定されるセンサ座標系における前記認識対象物の位置・姿勢及び前記センサ座標系における前記収納部の位置・姿勢を求める３次元認識手段と、
前記ロボットに設定されるロボットベース座標系における前記ハンドの位置・姿勢を引数として有するロボット制御プログラムを記憶する記憶手段と、
ハンドアイ校正により予め求めた前記ロボットベース座標系における前記センサの位置・姿勢と、前記定義手段により定義した前記第１モデル座標系における前記ハンドの位置・姿勢と、前記３次元認識手段により求めた前記センサ座標系における前記認識対象物の位置・姿勢とに基づいて、前記ハンドが前記認識対象物を把持する際の前記ロボットベース座標系における前記ハンドの位置・姿勢を求め、前記ハンドアイ校正により予め求めた前記ロボットベース座標系における前記センサの位置・姿勢と、前記定義手段により定義した第２モデル座標系における前記認識対象物の位置・姿勢及び前記第１モデル座標系における前記ハンドの位置・姿勢と、前記３次元認識手段により求めた前記センサ座標系における前記収納部の位置・姿勢とに基づいて、前記ハンドにより把持された前記認識対象物を前記収納部に組み入れる際の前記ロボットベース座標系における前記ハンドの位置・姿勢を求めるハンド位置・姿勢算出手段と、を備え、
前記ハンド位置・姿勢算出手段により求めた前記ロボットベース座標系におけるそれぞれの前記ハンドの位置・姿勢を引数として与えた前記ロボット制御プログラムを前記ロボットに対して出力することにより、当該ロボットを制御して前記認識対象物に対して前記ハンドによる作業を行わせることを特徴とするロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認識対象物の３次元認識の結果によって得られる認識対象物の３次元位置姿勢に基づいて、当該認識対象物に対してロボットのハンドによる作業を行わせるためのロボット制御装置に関する。
【背景技術】
【０００２】
生産ラインにおいて、ロボットのハンド等により部品等に対して正確な操作を可能とするために、山積みにされた部品等を個々に認識し、各部品の位置及び姿勢を認識するための３次元物体認識装置が近年開発されている。
【０００３】
従来、このような３次元物体認識装置としては、例えば、入力画像から得られる対象物体の輪郭等の特徴を直線、円弧等に近似したデータであるとともにステレオ計測等で得た３次元位置データを有する特徴データと、対象物体のモデルの三次元位置データとのマッチングにより対象物体の３次元位置姿勢を得るもの等がある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０９−２１２６４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、ロボットのハンドに正確な作業を行わせるためには、対象物体の位置・姿勢を認識するとともに、ロボットに対してハンドによる正確な作業を行わせるための制御プログラムを与える必要がある。通常、このような対象物体の位置姿勢を認識してロボットのハンドにより対象物体に対して作業を行わせるようなシステムにおいては、対象物体の３次元認識の結果に基づいて、エンジニアによりロボットを制御するためのプログラムを作成するという作業が必要になるため、効率的ではないという問題がある。
【０００６】
本発明は、上記のような課題に鑑みてなされたものであって、認識対象物の３次元認識の結果に基づいて、自動的に認識対象物に対してロボットのハンドによる作業を行わせるためのロボット制御プログラムをロボットへ出力することができるロボット制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、請求項１記載のロボット制御装置は、認識対象物の３次元認識の結果によって得られる認識対象物の３次元位置姿勢に基づいて、当該認識対象物に対してロボットのハンドによる作業を行わせるためのロボット制御装置であって、前記認識対象物の形状及び前記ハンドの形状をシミュレーション手段へと入力する入力手段と、前記シミュレーション手段において、前記ハンドが前記認識対象物を把持する際の前記認識対象物に設定されるモデル座標系における前記ハンドの位置・姿勢及び前記ハンドにより把持された前記認識対象物を離す際の前記ロボットに設定されるロボットベース座標系における前記認識対象物の位置・姿勢を定義する定義手段と、前記認識対象物の３次元認識を行うためのセンサに設定されるセンサ座標系における前記認識対象物の位置・姿勢を求める３次元認識手段と、前記ロボットベース座標系における前記ハンドの位置・姿勢を引数として有するロボット制御プログラムを記憶する記憶手段と、ハンドアイ校正により予め求めた前記ロボットベース座標系における前記センサの位置・姿勢と、前記定義手段により定義した前記モデル座標系における前記ハンドの位置・姿勢と、前記３次元認識手段により求めた前記センサ座標系における前記認識対象物の位置・姿勢とに基づいて、前記ハンドが前記認識対象物を把持する際の前記ロボットベース座標における前記ハンドの位置・姿勢を求め、前記定義手段により定義した前記モデル座標系における前記ハンドの位置・姿勢及び前記ロボットベース座標系における前記認識対象物の位置・姿勢に基づいて、前記ハンドにより把持された前記認識対象物を離す際の前記ロボットベース座標系における前記ハンドの位置・姿勢を求めるハンド位置・姿勢算出手段と、を備え、前記ハンド位置・姿勢算出手段により求めた前記ロボットベース座標系におけるそれぞれの前記ハンドの位置・姿勢を引数として与えた前記ロボット制御プログラムを前記ロボットに対して出力することにより、当該ロボットを制御して前記認識対象物に対して前記ハンドによる作業を行わせることを特徴としている。
【０００８】
請求項２記載のロボット制御装置は、認識対象物の３次元認識の結果によって得られる認識対象物の３次元位置姿勢に基づいて、当該認識対象物に対してロボットのハンドによる作業を行わせるためのロボット制御装置であって、前記認識対象物の形状、前記ハンドの形状、及び前記認識対象物が組み入れられる収納部の形状をシミュレーション手段へと入力する入力手段と、前記シミュレーション手段において、前記ハンドが前記認識対象物を把持する際の前記認識対象物に設定される第１モデル座標系における前記ハンドの位置・姿勢及び前記ハンドにより把持された前記認識対象物が前記収納部に組み入れられる際の前記収納部に設定される第２モデル座標系における前記認識対象物の位置・姿勢を定義する定義手段と、前記認識対象物の３次元認識を行うためのセンサに設定されるセンサ座標系における前記認識対象物の位置・姿勢及び前記センサ座標系における前記収納部の位置・姿勢を求める３次元認識手段と、前記ロボットに設定されるロボットベース座標系における前記ハンドの位置・姿勢を引数として有するロボット制御プログラムを記憶する記憶手段と、ハンドアイ校正により予め求めた前記ロボットベース座標系における前記センサの位置・姿勢と、前記定義手段により定義した前記第１モデル座標系における前記ハンドの位置・姿勢と、前記３次元認識手段により求めた前記センサ座標系における前記認識対象物の位置・姿勢とに基づいて、前記ハンドが前記認識対象物を把持する際の前記ロボットベース座標系における前記ハンドの位置・姿勢を求め、前記ハンドアイ校正により予め求めた前記ロボットベース座標系における前記センサの位置・姿勢と、前記定義手段により定義した第２モデル座標系における前記認識対象物の位置・姿勢及び前記第１モデル座標系における前記ハンドの位置・姿勢と、前記３次元認識手段により求めた前記センサ座標系における前記収納部の位置・姿勢とに基づいて、前記ハンドにより把持された前記認識対象物を前記収納部に組み入れる際の前記ロボットベース座標系における前記ハンドの位置・姿勢を求めるハンド位置・姿勢算出手段と、を備え、前記ハンド位置・姿勢算出手段により求めた前記ロボットベース座標系におけるそれぞれの前記ハンドの位置・姿勢を引数として与えた前記ロボット制御プログラムを前記ロボットに対して出力することにより、当該ロボットを制御して前記認識対象物に対して前記ハンドによる作業を行わせることを特徴としている。
【発明の効果】
【０００９】
請求項１記載のロボット制御装置によれば、ロボットのハンドが認識対象物を把持する際のモデル座標系におけるハンドの位置・姿勢及び該ハンドにより把持された認識対象物を目的の場所で離す際のロボットベース座標系における認識対象物の位置・姿勢をシミュレーション手段を用いて定義しておく。また、ハンドアイ校正により予めロボットベース座標系におけるセンサの位置・姿勢を求めおく。そして、３次元認識手段によりセンサ座標系における認識対象物の位置・姿勢を求め、これらの情報を用いて、ハンドが認識対象物を把持する際のロボットベース座標系におけるハンドの位置・姿勢及びハンドにより把持された認識対象物を目的の場所で離す際のロボットベース座標系におけるハンドの位置・姿勢を求めて、これらの情報を引数としてロボット制御プログラムにそれぞれ与え、ロボットに対して出力することにより、自動的にロボットのハンドにより認識対象物を把持して目的の場所まで運んでその場所に認識対象物を置くという一連の作業を行わせることができるので、エンジニアが認識対象物の３次元認識の結果に基づいて、ロボットの制御プログラムを作成する必要がなく、効率的にロボットのハンドによる作業を行わせることができる。
【００１０】
請求項２記載のロボット制御装置によれば、ロボットのハンドが認識対象物を把持する際の当該認識対象物に設定される第１モデル座標系におけるハンドの位置・姿勢及び該ハンドにより把持された認識対象物が組み入れられる収納部に設定される第２モデル座標系における認識対象物の位置・姿勢をシミュレーション手段を用いて定義しておく。また、ハンドアイ校正により予めロボットベース座標系におけるセンサの位置・姿勢を求めておく。そして、３次元認識手段によりセンサ座標系における認識対象物の位置・姿勢及びセンサ座標系における前記収納部の位置・姿勢を求め、これらの情報を用いて、ハンド認識対象物を把持する際のロボットベース座標系におけるハンドの位置・姿勢及びハンドにより把持された認識対象物を収納部に組み入れる際のロボットベース座標系におけるハンドの位置・姿勢を求めて、これらの情報を引数としてロボット制御プログラムにそれぞれ与え、ロボットに対して出力することにより、自動的にロボットのハンドにより認識対象物を把持して収納部へと運んで、その収納部に認識対象物を組み入れるという一連の作業を行わせることができるので、エンジニアが認識対象物の認識対象物の３次元認識の結果に基づいて、ロボットの制御プログラムを作成する必要がなく、効率的にロボットのハンドによる作業を行わせることができる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施形態に係るロボット制御装置の構成の一例を示す概略模式図である。
【図２】第１の実施形態に係るロボット制御装置のシミュレーション手段を用いた位置・姿勢の定義の仕方について説明するための説明図である。
【図３】第１の実施形態に係るロボット制御装置による処理の流れの一例を示すフローチャートである。
【図４】第２の実施形態に係るロボット制御装置の構成の一例を示す概略模式図である。
【図５】第２の実施形態に係るロボット制御装置のシミュレーション手段を用いた位置・姿勢の定義の仕方について説明するための説明図である。
【図６】第２の実施形態に係るロボット制御装置による処理の流れの一例を示すフローチャートである。
【図７】第３の実施形態に係るロボット制御装置の構成の一例を示す概略模式図である。
【発明を実施するための形態】
【００１２】
以下に本発明の第１の実施形態に係るロボット制御装置１について、図面を参照しつつ説明する。図１に示すように、ロボット制御装置１は、ロボット２のハンド３によって作業台４の上に載置された認識対象物５を把持し、目的の場所Ｐへと認識対象物５を運ぶ作業を行うためのロボット制御プログラムをロボット２に対して出力するものである。
【００１３】
このロボット制御装置１は、図１に示すように、視覚センサ６のカメラ６ａ、６ｂで撮影した画像データ等を記憶する画像メモリ７と、認識対象物５の３次元認識処理等を行うための処理プログラム等を格納するハードディスク８と、マウス等のポインティングディバイスやキーボード等で構成される入力手段９と、不図示のＣＡＤソフト等を用いて入力手段９により入力された認識対象物５等の形状モデルの動作等のシミュレーションを行うシミュレーション手段１０と、該シミュレーション手段１０によるシミュレーション画面や画像メモリ７に記憶された画像データ等を表示するための表示手段１１と、ハードディスク８から読み出された処理プログラムの一時記憶等を行うＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２と、この処理プログラムに従った処理や各部の動作の制御を行うＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｅｓｓｉｎｇ  Ｕｎｉｔ）１３と、これら各部を互いに接続するシステムバス１４等を備えるものである。尚、本実施形態では、認識対象物５の３次元認識を行う処理プログラム等をハードディスク８に格納している例を示しているが、これに代えて、読み取り可能な記録媒体（不図示）に格納しておき、この記録媒体から処理プログラムを読み出すように構成しても良い。
【００１４】
視覚センサ６は、作業台４の上に載置されている認識対象物５の３次元認識を行うための画像データを取得するためのものであり、認識対象物５を異なる方向から撮影するための２台のカメラ６ａ、６ｂを備えている。このカメラ６ａ、６ｂで取得した画像データは、通信ケーブル１５を介してロボット制御装置１へと送られる。このようにして取得された画像データは、画像メモリ７に記憶され、この画像データに基づいて、３次元認識手段１６により視覚センサ６に設定されるセンサ座標系ＸＣにおける認識対象物５の位置・姿勢が求められる。尚、この３次元認識手段１６は、認識対象物５の位置・姿勢を求めるための周知技術を利用するものであるので、ここではその詳細な説明は省略する。
【００１５】
シミュレーション手段１０は、ＣＡＤソフト等を用いて入力手段９により入力されたハンド３や認識対象物５等の形状モデルのシミュレーションを行うための機能を有するものであり、入力されたハンド３や認識対象物５の形状モデル３ａ、５ａは、例えば、図２に示すようにシミュレーション画面Ａとして、表示手段１１により表示される。そして、マウス等のポインティングディバイスを用いて、このシミュレーション画面Ａ上でハンド３の形状モデル３ａを移動及び回転させることにより、認識対象物５に設定されるモデル座標系ＸＭにおけるハンド３の位置・姿勢等をシミュレーション手段１０に備えられている定義手段１７により定義する。
【００１６】
このシミュレーション手段１０としては、入力した形状モデルの位置・姿勢を定義するための定義手段１７が設けられているものであれば良く、例えば、ＣＡＤソフトやＣＧソフト等にそのような機能が備えられている場合には、それらを利用しても良い。また、シミュレーション画面Ａに表示される形状モデルの位置・姿勢の定義の仕方は、この形状モデルをマウス等のポインティングディバイスを用いて、視覚的に定義する方法に限定されるものではなく、例えば、モデル座標系ＸＭにおけるハンド３の位置・姿勢を表す数値をキーボード等から直接入力することにより定義しても良い。
【００１７】
ＲＡＭ１２には、ロボット２のハンド３により作業を行わせるためのロボット制御プログラムが記憶されている。このロボット制御プログラムは、ロボット２の構造に適するように設計されたものであり、当該ロボット２に設定されるロボットベース座標系ＸＢにおけるハンド３の位置・姿勢を引数として有している。従って、ロボットベース座標系ＸＢにおけるハンド３の位置・姿勢を引数として与えたロボット制御プログラムを通信ケーブル１８を介してロボット２に出力することにより、ロボット２のハンド３によりそれに応じた作業を行わせることができる。
【００１８】
以下、ロボット制御装置１を用いてロボット２のハンド３により認識対象物５に対して作業を行わせる際の処理の流れについて図３のフローチャートを用いながら説明する。まず、図３に示すように、視覚センサ６から得られる認識対象物５の位置・姿勢をロボット２に設定されるロボットベース座標系ＸＢからみた位置・姿勢の情報に変換するために予めハンドアイ校正により、ロボットベース座標系ＸＢにおける視覚センサ６の位置・姿勢ＲＢＣ，ｔＢＣを求めておく（Ｓ１０１）。このＲＢＣは、数式（１）のように表され、ｒＢＣ１，ｒＢＣ２，ｒＢＣ３は、それぞれロボットベース座標系ＸＢにおけるセンサ座標系ＸＣのｘ，ｙ，ｚ座標軸の単位ベクトルを示している。また、ｔＢＣはロボットベース座標系ＸＢにおけるセンサ座標系ＸＣの原点を示している。このようにして求められたＲＢＣ，ｔＢＣからロボットベース座標系ＸＢにおけるセンサ座標は、数式（２）のように表される。
【数１】
2011177808.tif 000003
【数２】
2011177808.tif 000004
【００１９】
次に、ＣＡＤソフト等を用いて入力手段９によりハンド３及び認識対象物５の形状モデル３ａ、５ａがシミュレーション手段１０へと入力される（Ｓ１０２）。このようにシミュレーション手段１０へと入力されたハンド３の形状モデル３ａ及び認識対象物５の形状モデル５ａは、図２に示すように、表示手段１１によりシミュレーション画面Ａとして表示される。そして、図２に示すように、シミュレーション画面Ａ上において、定義手段１７によりハンド３が認識対象物５を把持する際のモデル座標系ＸＭにおけるハンド３の位置・姿勢ＲＭＨ，ｔＭＨ、及びハンド３により把持された認識対象物５を目的の場所Ｐに離す際のロボットベース座標系ＸＢにおける認識対象物５の位置・姿勢ＲＢＭ，ｔＢＭが定義される（Ｓ１０３）。尚、ＲＭＨは、数式（３）のように表され、ｒＭＨ１，ｒＭＨ２，ｒＭＨ３は、それぞれモデル座標系ＸＭにおけるハンド座標系ＸＨのｘ，ｙ，ｚ座標軸の単位ベクトルを示している。また、ｔＭＨは、モデル座標系ＸＭにおけるハンド座標系ＸＨの原点を示している。また、ＲＢＭは、数式（４）のように表され、ｒＢＭ１，ｒＢＭ２，ｒＢＭ３は、それぞれロボットベース座標系ＸＢにおけるモデル座標系ＸＭのｘ，ｙ，ｚ座標軸の単位ベクトルを示している。また、ｔＢＭは、ロボットベース座標系ＸＢにおけるモデル座標系ＸＭの原点を示している。このように定義手段１７により定義されたＲＭＨ，ｔＭＨ、及びＲＢＭ，ｔＢＭからモデル座標系ＸＭにおけるハンド座標、及びロボットベース座標系ＸＢにおけるモデル座標は、それぞれ数式（５），（６）のように表される。
【数３】
2011177808.tif 000005
【数４】
2011177808.tif 000006
【数５】
2011177808.tif 000007
【数６】
2011177808.tif 000008
【００２０】
尚、この形状モデルの位置・姿勢の定義の仕方としては、マウス等のポインティングディバイスを用いて、形状モデルを移動及び回転させることにより視覚的に定義しても良いし、形状モデルの位置・姿勢をキーボード等から直接入力することにより定義しても良い。また、図３では、認識対象物５が立っている状態の姿勢において、ハンド３が認識対象物５を把持する際の位置・姿勢を定義する例を示しているが、認識対象物５の姿勢によってハンド３が認識対象物５を把持する際の位置・姿勢は変化する。従って、認識対象物５の様々な姿勢に応じて、ハンド３が認識対象物５を把持する際の位置・姿勢を複数定義しておく。
【００２１】
次に、ロボット制御装置１では、３次元認識手段１６により、センサ座標系ＸＣにおける認識対象物５の位置・姿勢ＲＣＭ，ｔＣＭを求める（Ｓ１０４）。尚、ＲＣＭは、センサ座標系ＸＣにおけるモデル座標系ＸＭのｘ，ｙ，ｚ座標軸の単位ベクトルを示しており、ｔＣＭは、センサ座標系ＸＣにおけるモデル座標系ＸＭの原点を示している。このように３次元認識手段１６により求められたＲＣＭ，ｔＣＭからセンサ座標系ＸＣにおけるモデル座標は、数式（７）のように表される。
【数７】
2011177808.tif 000009
【００２２】
そして、ハンド位置・姿勢算出手段１９により、Ｓ１０１のハンドアイ校正により求められたロボットベース座標系ＸＢにおける視覚センサ６の位置・姿勢ＲＢＣ，ｔＢＣと、Ｓ１０３の処理により定義されたハンド３が認識対象物５を把持する際のモデル座標系ＸＭにおけるハンド３の位置・姿勢ＲＭＨ，ｔＭＨと、Ｓ１０４の処理により求められたセンサ座標系ＸＣにおける認識対象物５の位置・姿勢ＲＣＭ，ｔＣＭとに基づいて、ハンド３が認識対象物５を把持する際のロボットベース座標系ＸＢにおけるハンド３の位置・姿勢が求められ、Ｓ１０３の処理により定義されたハンド３が認識対象物５を把持する際のモデル座標系ＸＭにおけるハンド３の位置・姿勢ＲＭＨ，ｔＭＨ及びハンド３により把持された認識対象物５を目的の場所Ｐに離す際のロボットベース座標系ＸＢにおける認識対象物５の位置・姿勢ＲＢＭ，ｔＢＭに基づいて、ハンド３により把持された認識対象物５を目的の場所Ｐに離す際のロボットベース座標系ＸＢにおけるハンド３の位置・姿勢が求められる（Ｓ１０５）。
【００２３】
具体的には、Ｓ１０５の処理では、ハンド位置・姿勢算出手段１９は、数式（７）に数式（５）を代入することにより、数式（８）を得る。そして、数式（２）にこの数式（８）を代入することにより、ハンド３が認識対象物５を把持する際のロボットベース座標系ＸＢにおけるハンド３の位置・姿勢を表す数式（９）を得る。また、ハンド位置・姿勢算出手段１９は、数式（６）に数式（５）を代入することにより、ハンド３により把持された認識対象物５を目的の場所Ｐに離す際のロボットベース座標系ＸＢにおけるハンド３の位置・姿勢を表す数式（１０）を得る。
【数８】
2011177808.tif 000010
【数９】
2011177808.tif 000011
【数１０】
2011177808.tif 000012
【００２４】
次に、ロボット制御装置１は、ＲＡＭ１２に記憶されているロボット制御プログラムに対してＳ１０５の処理により求めたハンド３が認識対象物５を把持する際のロボットベース座標系ＸＢにおけるハンド３の位置・姿勢を表す数式（９）と、ハンド３により把持された認識対象物５を目的の場所Ｐに離す際のロボットベース座標系ＸＢにおけるハンド３の位置・姿勢を表す数式（１０）をそれぞれ引数として与える（Ｓ１０６）。そして、ロボット制御装置１は、それぞれ引数が与えられたこれらのロボット制御プログラムをロボット２に対して出力する（Ｓ１０７）。これにより、自動的にロボット２のハンド３により認識対象物５を把持して目的の場所Ｐまで運んでその場所に認識対象物５を置くという一連の作業を行わせる。
【００２５】
次に、第２の実施形態に係るロボット制御装置１ａについて、図４〜６を用いて説明する。図４に示すように、ロボット制御装置１ａは、第１の実施形態に係るロボット制御装置１と略同様の構成を備えるものであり、ロボット２のハンド３により認識対象物５を目的の場所Ｐに置く作業に代わって、認識対象物５を収納部２０へと組み入れる作業を行わせるものである。従って、第１実施形態に係るロボット制御装置１と同様の構成等については、同一の符号を付し、その詳細な説明は省略する。
【００２６】
以下、ロボット制御装置１ａを用いてロボット２のハンド３により認識対象物５に対して作業を行わせる際の処理の流れについて図６のフローチャートを用いながら説明する。まず、図６に示すように、第１の実施形態に係るロボット制御装置１と同様にハンドアイ校正により、ロボットベース座標系ＸＢにおける視覚センサ６の位置・姿勢ＲＢＣ，ｔＢＣを求めておく（Ｓ２０１）。このようにして求められたＲＢＣ，ｔＢＣからロボットベース座標系ＸＢにおけるセンサ座標は、数式（２）のように表される。
【００２７】
次に、ロボット制御装置１ａでは、ＣＡＤソフト等を用いて入力手段９によりハンド３、認識対象物５、及び該認識対象物５を組み入れる収納部２０の形状モデル３ａ、５ａ、及び２０ａがそれぞれシミュレーション手段１０へと入力される（Ｓ２０２）。このようにシミュレーション手段１０へと入力されたハンド３の形状モデル３ａ、認識対象物５の形状モデル５ａ、及び収納部２０の形状モデル２０ａは、図２に示すように、表示手段１１によりシミュレーション画面Ａとして表示される。そして、図５に示すように、シミュレーション画面Ａ上において、定義手段１７ａによりハンド３が認識対象物５を把持する際の第１モデル座標系ＸＭ１におけるハンド３の位置・姿勢ＲＭ１Ｈ，ｔＭ１Ｈ、及びハンド３により把持された認識対象物５が収納部２０に組み入れられる際の収納部に設定される第２モデル座標系ＸＭ２における認識対象物５の位置・姿勢ＲＭ２Ｍ１，ｔＭ２Ｍ１が定義される（Ｓ２０３）。尚、ＲＭ１Ｈは、第１モデル座標系ＸＭ１におけるハンド座標系ＸＨのｘ，ｙ，ｚ座標軸の単位ベクトルを示しており、ｔＭ１Ｈは、第１モデル座標系ＸＭ１におけるハンド座標系ＸＨの原点を示している。また、ＲＭ２Ｍ１は、第２モデル座標系ＸＭ２における第１モデル座標系ＸＭ１のｘ，ｙ，ｚ座標軸の単位ベクトルを示しており、ｔＭ２Ｍ１は、第２モデル座標系ＸＭ２における第１モデル座標系ＸＭ１の原点を示している。このように定義手段１７ａにより定義されたＲＭ１Ｈ，ｔＭ１Ｈ、及びＲＭ２Ｍ１，ｔＭ２Ｍ１から第１モデル座標系ＸＭ１におけるハンド座標、及び第２モデル座標系ＸＭ２における第１モデル座標は、それぞれ数式（１１），（１２）のように表される。
【数１１】
2011177808.tif 000013
【数１２】
2011177808.tif 000014
【００２８】
次に、ロボット制御装置１ａでは、３次元認識手段１６ａにより、センサ座標系ＸＣにおける認識対象物５の位置・姿勢ＲＣＭ１，ｔＣＭ１及び、センサ座標系ＸＣにおける収納部２０の位置・姿勢ＲＣＭ２，ｔＣＭ２を求める（Ｓ２０４）。つまり、カメラ６ａ、６ｂは、認識対象物５だけではなく、収納部２０も撮影して画像データを取得して、３次元認識手段１６ａにより、収納部２０の３次元認識処理も行う。尚、ＲＣＭ１は、センサ座標系ＸＣにおける第１モデル座標系ＸＭ１のｘ，ｙ，ｚ座標軸の単位ベクトルを示しており、ｔＣＭ１は、センサ座標系ＸＣにおける第１モデル座標系ＸＭ１の原点を示している。また、ＲＣＭ２は、センサ座標系ＸＣにおける第２モデル座標系ＸＭ２のｘ，ｙ，ｚ座標軸の単位ベクトルを示しており、ｔＣＭ２は、センサ座標系ＸＣにおける第２モデル座標系ＸＭ１の原点を示している。このように３次元認識手段１６ａにより求められたＲＣＭ１，ｔＣＭ１、及びＲＣＭ２，ｔＣＭ２からセンサ座標系ＸＣにおける第１モデル座標、及びセンサ座標系ＸＣにおける第２モデル座標は、それぞれ数式（１３），（１４）のように表される。尚、本実施形態では、認識対象物５と収納部２０を同じ視覚センサ６を用いている例を示しているが、別々の視覚センサを用いて３次元認識処理を行うことも可能である。
【数１３】
2011177808.tif 000015
【数１４】
2011177808.tif 000016
【００２９】
そして、ハンド位置・姿勢算出手段１９ａにより、Ｓ２０１のハンドアイ校正により求められたロボットベース座標系ＸＢにおける視覚センサ６の位置・姿勢ＲＢＣ，ｔＢＣと、Ｓ２０３の処理により定義されたハンド３が認識対象物５を把持する際の第１モデル座標系ＸＭ１におけるハンド３の位置・姿勢ＲＭ１Ｈ，ｔＭ１Ｈと、Ｓ２０４の処理により求められたセンサ座標系ＸＣにおける認識対象物５の位置・姿勢ＲＣＭ１，ｔＣＭ１とに基づいて、ハンド３が認識対象物５を把持する際のロボットベース座標系ＸＢにおけるハンド３の位置・姿勢が求められる（Ｓ２０５）。また、Ｓ２０１のハンドアイ校正により求められたロボットベース座標系ＸＢにおける視覚センサ６の位置・姿勢ＲＢＣ，ｔＢＣと、Ｓ２０３の処理により定義されたハンド３により把持された認識対象物５が収納部２０に組み入れられる際の第２モデル座標系ＸＭ２における認識対象物５の位置・姿勢ＲＭ２Ｍ１，ｔＭ２Ｍ１及びハンド３が認識対象物５を把持する際の第１モデル座標系ＸＭ１におけるハンド３の位置・姿勢ＲＭ１Ｈ，ｔＭ１Ｈと、Ｓ２０４の処理により求められたセンサ座標系ＸＣにおける収納部２０の位置・姿勢ＲＣＭ２，ｔＣＭ２とに基づいて、ハンド３により把持された認識対象物５を収納部２０に組み入れる際のロボットベース座標系ＸＢにおけるハンド３の位置・姿勢が求められる（２０５）。
【００３０】
具体的には、Ｓ２０５の処理では、ハンド位置・姿勢算出手段１９ａは、数式（１３）に数式（１１）を代入することにより、数式（１５）を得る。そして、数式（２）にこの数式（１５）を代入することにより、ハンド３が認識対象物５を把持する際のロボットベース座標系ＸＢにおけるハンド３の位置・姿勢を表す数式（１６）を得る。また、ハンド位置・姿勢算出手段１９ａは、数式（２）に数式（１４）を代入することにより、数式（１７）を得る。また、この数式（１７）に数式（１２）を代入することにより、数式（１８）を得る。そして、この数式（１８）に数式（１１）を代入することにより、ハンド３により把持された認識対象物５を収納部２０に組み入れる際のロボットベース座標系ＸＢにおけるハンド３の位置・姿勢を表す数式（１９）が得られる。
【数１５】
2011177808.tif 000017
【数１６】
2011177808.tif 000018
【数１７】
2011177808.tif 000019
【数１８】
2011177808.tif 000020
【数１９】
2011177808.tif 000021
【００３１】
次に、ロボット制御装置１ａは、ＲＡＭ１２に記憶されているロボット制御プログラムに対してＳ２０５の処理により求めたハンド３が認識対象物５を把持する際のロボットベース座標系ＸＢにおけるハンド３の位置・姿勢を表す数式（１６）と、ハンド３により把持された認識対象物５を収納部２０に組み入れる際のロボットベース座標系ＸＢにおけるハンド３の位置・姿勢を表す数式（１９）をそれぞれ引数として与える（Ｓ２０６）。そして、ロボット制御装置１ａは、それぞれ引数が与えられたこれらのロボット制御プログラムをロボット２に対して出力する（Ｓ２０７）。これにより、自動的にロボット２のハンド３により認識対象物５を把持して収納部２０へと運んで、その収納部２０に認識対象物５を組み入れるという一連の作業を行わせることができる。
【００３２】
尚、本実施形態では、視覚センサ６を固定している例を用いて説明したが、図７に示すように、視覚センサ６をハンド３に固定するように構成しても良い。この場合でも、視覚センサ６とロボット２の関係がハンドアイ校正により分かるので、認識対象物５等を撮影する際の視覚センサ６のロボットベース座標系ＸＢにおける位置・姿勢がわかる。
【００３３】
また、以上の説明では、１つのハンド３により認識対象物５に対して作業を行う場合の例について説明してきたが、本発明の手法は、双腕のロボット等にも当然応用することは可能である。
【００３４】
尚、本発明の実施の形態は上述の形態に限るものではなく、本発明の思想の範囲を逸脱しない範囲で適宜変更することができることは云うまでもない。
【産業上の利用可能性】
【００３５】
本発明に係るロボット制御装置は、生産ラインにおける部品等の位置及び姿勢を認識して、ロボットのハンドにより部品を所定の場所に搬入する作業等を行わせるための技術として有効に利用することができる。
【符号の説明】
【００３６】
１、１ａ          ロボット制御装置
２                ロボット
３                ハンド
４                作業台
５                認識対象物
６、６ａ、６ｂ    視覚センサ（カメラ）
９                入力手段
１０              シミュレーション手段
１２              ＲＡＭ（記憶手段）
１６              ３次元認識手段
１７              定義手段
１９              ハンド位置・姿勢算出手段
２０              収納部
【図１】
2011177808.tif 000022
【図２】
2011177808.tif 000023
【図３】
2011177808.tif 000024
【図４】
2011177808.tif 000025
【図５】
2011177808.tif 000026
【図６】
2011177808.tif 000027
【図７】
2011177808.tif 000028