(57)【特許請求の範囲】
【請求項１】
情報処理方法であって、
ロボット座標取得部により、対象物の所定の平面上の第１の直線及び第２の直線の交点である原点及び当該第１の直線上の第１の点並びに当該第２の直線上の第２の点の各点に、ロボットアームに設けられたツール先端を当接した際の、ロボット座標系における、前記原点に対する原点当接座標情報及び前記第１の点に対する第１の当接座標情報並びに前記第２の点に対する第２の当接座標情報を取得するステップと、
三次元モデルデータ取得部により、前記対象物からセンサにより三次元モデルデータを取得するステップと、
法線ベクトル算出部により、前記三次元モデルデータにおける前記対象物の前記平面上の任意の３点の座標情報を取得し、当該３点の座標情報に基づいて当該平面に対する法線ベクトルを算出するステップと、
中心座標算出部により、前記三次元モデルデータにおける前記対象物の前記平面上に設けられた第１の穴部及び第２の穴部周辺の任意の３点の座標情報をそれぞれ取得し、当該各穴部の３点の座標情報から前記第１の穴部の第１の穴部中心座標及び前記第２の穴部の第２の穴部中心座標を算出するステップと、
直線ベクトル算出部により、前記第１の穴部中心座標及び前記第２の穴部中心座標を結んだ直線ベクトルを算出するステップと、
座標系対応付け部により、センサ座標系における前記直線ベクトル及び前記法線ベクトルと、前記第１の直線に基づく前記ロボット座標系の１軸情報及び他の軸情報と、前記対象物における、前記ロボット座標系の前記原点当接座標情報に対応する前記原点から前記センサ座標系の前記第１の穴部中心座標に対応する前記第１の穴部の中心までの前記第１の直線上の規定距離の値を用いて、センサ座標系とロボット座標系を対応付けるステップと、
を含む、ことを特徴とする情報処理方法。
【請求項２】
請求項１に記載の情報処理方法であって、
前記対応付けるステップは、
前記センサ座標系の前記直線ベクトルと前記ロボット座標系の１軸を対応付け、
前記センサ座標系の前記法線ベクトルと前記ロボット座標系の他の１軸を対応付け、
前記ロボット座標系または前記センサ座標系を前記第１の直線上の規定距離の値に基づきオフセットすることを含む、
ことを特徴とする情報処理方法。
【請求項３】
情報処理システムであって、
対象物の所定の平面上の第１の直線及び第２の直線の交点である原点及び当該第１の直線上の第１の点並びに当該第２の直線上の第２の点の各点に、ロボットアームに設けられたツール先端を当接した際の、ロボット座標系における、前記原点に対する原点当接座標情報及び前記第１の点に対する第１の当接座標情報並びに前記第２の点に対する第２の当接座標情報を取得するロボット座標取得部と、
前記対象物からセンサにより三次元モデルデータを取得する三次元モデルデータ取得部と、
前記三次元モデルデータにおける前記対象物の前記平面上の任意の３点の座標情報を取得し、当該３点の座標情報に基づいて当該平面に対する法線ベクトルを算出する法線ベクトル算出部と、
前記三次元モデルデータにおける前記対象物の前記平面上に設けられた第１の穴部及び第２の穴部周辺の任意の３点の座標情報をそれぞれ取得し、当該各穴部の３点の座標情報から前記第１の穴部の第１の穴部中心座標及び前記第２の穴部の第２の穴部中心座標を算出する中心座標算出部と、
前記第１の穴部中心座標及び前記第２の穴部中心座標を結んだ直線ベクトルを算出する直線ベクトル算出部と、
センサ座標系における前記直線ベクトル及び前記法線ベクトルと、前記第１の直線に基づく前記ロボット座標系の１軸情報及び他の軸情報と、前記対象物における、前記ロボット座標系の前記原点当接座標情報に対応する前記原点から前記センサ座標系の前記第１の穴部中心座標に対応する前記第１の穴部の中心までの前記第１の直線上の規定距離の値を用いて、センサ座標系とロボット座標系を対応付ける座標系対応付け部と、
を含む、ことを特徴とする情報処理システム。
【請求項４】
情報処理方法をコンピュータに実行させるためのプログラムであって、
前記プログラムは、前記情報処理方法として、
ロボット座標取得部により、対象物の所定の平面上の第１の直線及び第２の直線の交点である原点及び当該第１の直線上の第１の点並びに当該第２の直線上の第２の点の各点に、ロボットアームに設けられたツール先端を当接した際の、ロボット座標系における、前記原点に対する原点当接座標情報及び前記第１の点に対する第１の当接座標情報並びに前記第２の点に対する第２の当接座標情報を取得するステップと、
三次元モデルデータ取得部により、前記対象物からセンサにより三次元モデルデータを取得するステップと、
法線ベクトル算出部により、前記三次元モデルデータにおける前記対象物の前記平面上の任意の３点の座標情報を取得し、当該３点の座標情報に基づいて当該平面に対する法線ベクトルを算出するステップと、
中心座標算出部により、前記三次元モデルデータにおける前記対象物の前記平面上に設けられた第１の穴部及び第２の穴部周辺の任意の３点の座標情報をそれぞれ取得し、当該各穴部の３点の座標情報から前記第１の穴部の第１の穴部中心座標及び前記第２の穴部の第２の穴部中心座標を算出するステップと、
直線ベクトル算出部により、前記第１の穴部中心座標及び前記第２の穴部中心座標を結んだ直線ベクトルを算出するステップと、
座標系対応付け部により、センサ座標系における前記直線ベクトル及び前記法線ベクトルと、前記第１の直線に基づく前記ロボット座標系の１軸情報及び他の軸情報と、前記対象物における、前記ロボット座標系の前記原点当接座標情報に対応する前記原点から前記センサ座標系の前記第１の穴部中心座標に対応する前記第１の穴部の中心までの前記第１の直線上の規定距離の値を用いて、センサ座標系とロボット座標系を対応付けるステップと、
をコンピュータに実行させる、ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理方法、情報処理システム、プログラムに関する。
【背景技術】
【０００２】
従来から、センサやカメラなどの計測器から得た情報を基に制御される作業用ロボットアームが存在しており、このような作業用ロボットアームを動作させる前に計測機器と作業用ロボットの座標合わせを行うキャリブレーションが実施されていた（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−２４０１７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、例えば特許文献１に記載のキャリブレーションの場合、作業用ロボットアームにカメラを備えて、特殊なマーカーを撮影することでキャリブレーションを行うことが必要である。
【０００５】
本発明はこのような背景を鑑みてなされたものであり、カメラと特殊なマーカーを用いずに精度よくキャリブレーションを行う情報処理システムを提供することが可能である。
【課題を解決するための手段】
【０００６】
上記課題を解決するための本発明の主たる発明は、ロボット座標取得部により、対象物の所定の平面上の第１の直線及び第２の直線の交点である原点及び当該第１の直線上の第１の点並びに当該第２の直線上の第２の点の各点に、ロボットアームに設けられたツール先端を当接した際の、ロボット座標系における、前記原点に対する原点当接座標情報及び前記第１の点に対する第１の当接座標情報並びに前記第２の点に対する第２の当接座標情報を取得するステップと、三次元モデルデータ取得部により、前記対象物からセンサにより三次元モデルデータを取得するステップと、法線ベクトル算出部により、前記三次元モデルデータにおける前記対象物の前記平面上の任意の３点の座標情報を取得し、当該３点の座標情報に基づいて当該平面に対する法線ベクトルを算出するステップと、中心座標算出部により、前記三次元モデルデータにおける前記対象物の前記平面上に設けられた第１の穴部及び第２の穴部周辺の任意の３点の座標情報をそれぞれ取得し、当該各穴部の３点の座標情報から前記第１の穴部の第１の穴部中心座標及び前記第２の穴部の第２の穴部中心座標を算出するステップと、直線ベクトル算出部により、前記第１の穴部中心座標及び前記第２の穴部中心座標を結んだ直線ベクトルを算出するステップと、座標系対応付け部により、前記直線ベクトルと、前記法線ベクトルと、前記原点から前記第１の穴部の中心までの規定距離の値を用いて、センサ座標系とロボット座標系を対応付けるステップと、を含む、ことを特徴とする情報処理方法である。
【０００７】
その他本願が開示する課題やその解決方法については、発明の実施形態の欄及び図面により明らかにされる。
【発明の効果】
【０００８】
本発明によれば、カメラと特殊なマーカーを用いずに精度よくキャリブレーションを行う情報処理システムを提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態の一の情報処理システム１００の全体構成例を示す図である。
【図２】本実施形態に係る端末１のハードウェア構成例を示す図である。
【図３】本実施形態に係る端末１の機能構成例を示す図である。
【図４】本実施形態に係る三次元モデルデータ７０の表示例を示す図を示す。
【図５】本実施形態に係る対象物６０の構成例を示す図である。
【図６】本実施形態に係る情報処理方法のフローチャート例を示す図である。
【図７】本実施形態に係る三次元モデルデータ７０の表示例を示す図である。
【図８】本実施形態に係る三次元モデルデータ７０の表示例を示す他の図である。
【図９】本実施形態に係る輪郭点群データの表示例を示す図である。
【図１０】本実施形態に係るバウンダリ処理方法のフローチャート例を示す図である。
【図１１】本実施形態に係るバウンダリ処理方法の一例を説明する図である。
【発明を実施するための形態】
【００１０】
本発明の実施形態の内容を列記して説明する。本発明は、たとえば以下のような構成を備える。
【００１１】
［項目１］
情報処理方法であって、
ロボット座標取得部により、対象物の所定の平面上の第１の直線及び第２の直線の交点である原点及び当該第１の直線上の第１の点並びに当該第２の直線上の第２の点の各点に、ロボットアームに設けられたツール先端を当接した際の、ロボット座標系における、前記原点に対する原点当接座標情報及び前記第１の点に対する第１の当接座標情報並びに前記第２の点に対する第２の当接座標情報を取得するステップと、
三次元モデルデータ取得部により、前記対象物からセンサにより三次元モデルデータを取得するステップと、
法線ベクトル算出部により、前記三次元モデルデータにおける前記対象物の前記平面上の任意の３点の座標情報を取得し、当該３点の座標情報に基づいて当該平面に対する法線ベクトルを算出するステップと、
中心座標算出部により、前記三次元モデルデータにおける前記対象物の前記平面上に設けられた第１の穴部及び第２の穴部周辺の任意の３点の座標情報をそれぞれ取得し、当該各穴部の３点の座標情報から前記第１の穴部の第１の穴部中心座標及び前記第２の穴部の第２の穴部中心座標を算出するステップと、
直線ベクトル算出部により、前記第１の穴部中心座標及び前記第２の穴部中心座標を結んだ直線ベクトルを算出するステップと、
座標系対応付け部により、前記直線ベクトルと、前記法線ベクトルと、前記原点から前記第１の穴部の中心までの規定距離の値を用いて、センサ座標系とロボット座標系を対応付けるステップと、
を含む、ことを特徴とする情報処理方法。
［項目２］
項目１に記載の情報処理方法であって、
前記対応付けるステップは、
前記直線ベクトルと前記ロボット座標系の１軸を対応付け、
前記法線ベクトルと前記ロボット座標系の他の１軸を対応付け、
前記ロボット座標系または前記センサ座標系を前記第１の直線に沿った方向に前記規定距離の値だけオフセットすることを含む、
ことを特徴とする情報処理方法。
［項目３］
情報処理システムであって、
対象物の所定の平面上の第１の直線及び第２の直線の交点である原点及び当該第１の直線上の第１の点並びに当該第２の直線上の第２の点の各点に、ロボットアームに設けられたツール先端を当接した際の、ロボット座標系における、前記原点に対する原点当接座標情報及び前記第１の点に対する第１の当接座標情報並びに前記第２の点に対する第２の当接座標情報を取得するロボット座標取得部と、
前記対象物からセンサにより三次元モデルデータを取得する三次元モデルデータ取得部と、
前記三次元モデルデータにおける前記対象物の前記平面上の任意の３点の座標情報を取得し、当該３点の座標情報に基づいて当該平面に対する法線ベクトルを算出する法線ベクトル算出部と、
前記三次元モデルデータにおける前記対象物の前記平面上に設けられた第１の穴部及び第２の穴部周辺の任意の３点の座標情報をそれぞれ取得し、当該各穴部の３点の座標情報から前記第１の穴部の第１の穴部中心座標及び前記第２の穴部の第２の穴部中心座標を算出する中心座標算出部と、
前記第１の穴部中心座標及び前記第２の穴部中心座標を結んだ直線ベクトルを算出する直線ベクトル算出部と、
前記直線ベクトルと、前記法線ベクトルと、前記原点から前記第１の穴部の中心までの規定距離の値を用いて、センサ座標系とロボット座標系を対応付ける座標系対応付け部と、
を含む、ことを特徴とする情報処理システム。
［項目４］
情報処理方法をコンピュータに実行させるためのプログラムであって、
前記プログラムは、前記情報処理方法として、
ロボット座標取得部により、対象物の所定の平面上の第１の直線及び第２の直線の交点である原点及び当該第１の直線上の第１の点並びに当該第２の直線上の第２の点の各点に、ロボットアームに設けられたツール先端を当接した際の、ロボット座標系における、前記原点に対する原点当接座標情報及び前記第１の点に対する第１の当接座標情報並びに前記第２の点に対する第２の当接座標情報を取得するステップと、
三次元モデルデータ取得部により、前記対象物からセンサにより三次元モデルデータを取得するステップと、
法線ベクトル算出部により、前記三次元モデルデータにおける前記対象物の前記平面上の任意の３点の座標情報を取得し、当該３点の座標情報に基づいて当該平面に対する法線ベクトルを算出するステップと、
中心座標算出部により、前記三次元モデルデータにおける前記対象物の前記平面上に設けられた第１の穴部及び第２の穴部周辺の任意の３点の座標情報をそれぞれ取得し、当該各穴部の３点の座標情報から前記第１の穴部の第１の穴部中心座標及び前記第２の穴部の第２の穴部中心座標を算出するステップと、
直線ベクトル算出部により、前記第１の穴部中心座標及び前記第２の穴部中心座標を結んだ直線ベクトルを算出するステップと、
座標系対応付け部により、前記直線ベクトルと、前記法線ベクトルと、前記原点から前記第１の穴部の中心までの規定距離の値を用いて、センサ座標系とロボット座標系を対応付けるステップと、
をコンピュータに実行させる、ことを特徴とするプログラム。
【００１２】
＜実施の形態の詳細＞
本発明の一実施形態に係る情報処理システム１００の具体例を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。以下の説明では、添付図面において、同一または類似の要素には同一または類似の参照符号及び名称が付され、各実施形態の説明において同一または類似の要素に関する重複する説明は省略することがある。また、各実施形態で示される特徴は、互いに矛盾しない限り他の実施形態にも適用可能である。
【００１３】
図１は、本実施形態の情報処理システム１００の一例を示す図である。図１に示されるように、本実施形態の情報処理システム１００では、端末１と、作業用ロボット２とを有している。作業用ロボット２は、少なくともアーム２１、ツール２２、センサ２３を有している。端末１と作業用ロボット２とは、有線または無線にて互いに通信可能に接続されている。
【００１４】
＜端末１＞
図２は、端末１のハードウェア構成を示す図である。端末１は、例えばパーソナルコンピュータのような汎用コンピュータとしてもよいし、或いはクラウド・コンピューティングによって論理的に実現されてもよい。なお、図示された構成は一例であり、これ以外の構成を有していてもよい。例えば、端末１のプロセッサ１０に設けられる一部の機能が外部のサーバや別端末により実行されてもよい。
【００１５】
端末１は、少なくとも、プロセッサ１０、メモリ１１、ストレージ１２、送受信部１３、入出力部１４等を備え、これらはバス１５を通じて相互に電気的に接続される。
【００１６】
プロセッサ１０は、端末１全体の動作を制御し、少なくとも作業用ロボット２とのデータ等の送受信の制御、及びアプリケーションの実行及び認証処理に必要な情報処理等を行う演算装置である。例えばプロセッサ１０はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）および／またはＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であり、ストレージ１２に格納されメモリ１１に展開された本システムのためのプログラム等を実行して各情報処理を実施する。
【００１７】
メモリ１１は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の揮発性記憶装置で構成される主記憶と、フラッシュメモリやＨＤＤ（Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ）等の不揮発性記憶装置で構成される補助記憶と、を含む。メモリ１１は、プロセッサ１０のワークエリア等として使用され、また、端末１の起動時に実行されるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）、及び各種設定情報等を格納する。
【００１８】
ストレージ１２は、アプリケーション・プログラム等の各種プログラムを格納する。各処理に用いられるデータを格納したデータベースがストレージ１２に構築されていてもよい。
【００１９】
送受信部１３は、端末１を少なくとも作業用ロボット２と接続し、プロセッサの指示に従い、データ等の送受信を行う。なお、送受信部１３は、有線または無線により構成されおり、無線である場合には、例えば、ＷｉＦｉやＢｌｕｅｔｏｏｔｈ（登録商標）及びＢＬＥ（Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙ）の近距離通信インターフェースにより構成されていてもよい。
【００２０】
入出力部１４は、キーボード・マウス類等の情報入力機器、及びディスプレイ等の出力機器である。
【００２１】
バス１５は、上記各要素に共通に接続され、例えば、アドレス信号、データ信号及び各種制御信号を伝達する。
【００２２】
＜作業用ロボット２＞
図１に戻り、本実施形態に係る作業用ロボット２について説明する。
【００２３】
上述のとおり、作業用ロボット２は、アーム２１と、ツール２２と、センサ２３とを有する。なお、図示された構成は一例であり、これ以外の構成を有していてもよい。
【００２４】
アーム２１は、三次元のロボット座標系に基づき、端末１にその動作を制御される。また、アーム２１は、有線または無線で作業用ロボット２と接続されたコントローラ３をさらに備え、これによりその動作を制御されてもよい。
【００２５】
ツール２２は、三次元のツール座標系に基づき、端末１にその動作を制御される。また、ツール２２の構成は、用途に合わせて何れのツールを備えていてもよく、例えば、溶接用トーチや塗装用塗料噴射装置、把持装置、掘削装置、研磨装置などであってもよい。
【００２６】
センサ２３は、三次元のセンサ座標系に基づき、対象物のセンシングを行う。センサ２３は、例えば三次元スキャナとして動作するレーザセンサであり、センシングにより対象物の三次元モデルデータ４１を取得する。三次元モデルデータは、例えば、図４に示されるような三次元点群データであり、それぞれの点データがセンサ座標を有し、点群により対象物の形状を把握することが可能となる。なお、センサ２３は、レーザセンサに限らず、例えばステレオ方式などを用いた画像センサなどであってもよく、三次元のセンサ座標系が取得できるものであればよい。
【００２７】
より具体的には、作業前に所定のキャリブレーションを行い、ロボット座標系及びツール座標系、センサ座標系を互いに対応付け、例えばセンサ座標系を基にユーザが位置を指定することにより、アーム２１やツール２２が対応した位置を基に動作制御されるように構成をなす。ロボット座標系及びツール座標系の対応付けは既知の方法で行われてよく、ロボット及びツールを提供する事業者により対応付けがなされていることが通常であり、本発明として、その後のセンサ座標系のキャリブレーションについて、後述する。
【００２８】
＜端末１の機能＞
図３は、端末１に実装される機能を例示したブロック図である。本実施の形態においては、端末１のプロセッサ１０は、ロボット座標取得部１０１、三次元モデルデータ取得部１０２、三次元モデルデータ表示部１０３、法線ベクトル算出部１０４、中心座標算出部１０５、直線ベクトル算出部１０６、座標系対応付け部１０７を有している。また、端末１のストレージ１２は、ロボット座標記憶部１２１、三次元モデルデータ記憶部１２２、法線ベクトル関連情報記憶部１２３、中心座標関連情報記憶部１２４、直線ベクトル関連情報記憶部１２５、座標系対応付け関連情報記憶部１２６を有している。
【００２９】
ロボット座標取得部１０１は、端末１またはコントローラ３により作業用ロボット２を操作し、端末１により作業用ロボット２の位置がロボット座標系で何れの位置にいるかを取得する。例えばロボット座標系は、既知のとおり、作業用ロボット２の所定の位置を原点座標とする三次元座標である。取得したロボット座標は、例えば入力項目（例えば、後述の原点Ｐ０、第１の点Ｐ１、第２の点Ｐ２など）に対応付けられてロボット座標記憶部１２１に記憶される。
【００３０】
三次元モデルデータ取得部１０２は、端末１またはコントローラ３により、作業用ロボット２を操作し、例えばロボット座標取得部１０１を用いて、作業用ロボット２のアーム２１のスキャン開始座標情報を取得及び設定し、センサ２３により対象物の三次元モデルデータを取得する。アーム２１の移動は、例えばスキャン終了座標情報が同様に設定されていてもよいし、スキャンの移動距離がユーザにより端末１から設定されていてもよい。また、スキャン開始座標情報やスキャン終了座標情報は、ユーザにより端末１から設定されていてもよい。取得した三次元モデルデータは、例えばセンサ座標系に基づく三次元座標情報データであり、三次元モデルデータ記憶部１２２に記憶される。
【００３１】
三次元モデルデータ表示部１０３は、三次元モデルデータ取得部１０２により取得された三次元モデルデータ（例えば、三次元点群データ）を、例えば図４に例示されるように端末１の入出力部１４に表示する。ユーザは、表示された三次元モデルデータを任意の方向から視認可能であり、例えば入出力部１４に接続されたキーボード・マウス類等の情報入力機器にて、当該任意の方向を指定可能である。
【００３２】
法線ベクトル算出部１０４は、端末１において、端末１上に表示された三次元モデルデータ７０における任意の３点の座標情報を取得し、既知の演算により、当該３点の座標情報に基づいて当該平面に対する法線ベクトル算出する。より具体的な例としては、例えば垂直二等分線を用いるなどして３点が円周上に載っている円の中心座標や輪郭線、円平面を算出したり、さらに予め設定された高さパラメータに基づき仮想円柱を設定し、円柱内の点群に基づき平均円平面を求めるなどして、当該円平面に対する法線ベクトルを算出するようにしてもよい。上記３点の座標情報や中心座標、法線ベクトル等の法線ベクトル関連情報は、法線ベクトル関連情報記憶部１２３に記憶される。
【００３３】
中心座標算出部１０５は、本実施形態においては、詳細は後述するが、端末１において、端末１上に表示された三次元モデルデータ７０における対象物６０の所定の平面上に設けられた第１の穴部６３及び第２の穴部６４周辺の任意の３点の座標情報Ｐ７−Ｐ９をそれぞれ取得し、各３点の座標情報から第１の穴部６３の第１の穴部中心座標Ｐ１０及び第２の穴部６４の第２の穴部中心座標Ｐ１１を算出する。算出された第１の穴部中心座標Ｐ１０及び第２の穴部中心座標Ｐ１１等の中心座標関連情報は、中心座標関連情報記憶部１２４に記憶される。
【００３４】
直線ベクトル算出部１０６は、本実施形態においては、詳細は後述するが、端末１において、第１の穴部中心座標Ｐ１０及び第２の穴部中心座標Ｐ１１を結んだ直線ベクトルＶ２を算出する。算出された直線ベクトル等の直線ベクトル関連情報は、直線ベクトル関連情報記憶部１２５に記憶される。
【００３５】
座標系対応付け部１０７は、直線ベクトルＶ２と、法線ベクトルＶ１と、原点Ｐ０から第１の穴中心Ｐ１０までの規定距離の値を用いて、センサ座標系とロボット座標系を対応付ける。センサ座標系とロボット座標系との対応付けに関する情報は、座標系対応付け関連情報記憶部１２６に記憶される。
【００３６】
＜対象物６０＞
図５は、本実施形態の情報処理方法に用いられる対象物６０（いわゆる治具）の構成例であるが、素材や形状等はこれに限定されるものではない。
【００３７】
一例として、対象物６０は平板形状の金属製または樹脂製のプレートであり、所定の平面に図５の示されるような構成が設けられている。すなわち、第１の直線６１と第２の直線６２とは互いに原点Ｐ０を交点として直交している。そして、原点Ｐ０から十分に離れた位置に、第１の直線６１上の第１の点Ｐ１及び第２の直線６２上の第２の点Ｐ２が設けられている。これらの直線や点は、対象物６０上で目視で認識可能になっていればよく、対象物６０上にインクや刻印等で直接書かれていてもよいし、対象物６０上に貼付されたシール等で間接的に書かれていてもよい。なお、説明の簡単化のために本実施形態においては第１の直線６１及び第２の直線６２が直交しているが、第２の点Ｐ２はその他の原点Ｐ０及び第１の点Ｐ１と組み合わせて所定の平面（例えば、ｘｙ平面）を規定するために用いられればよいため、所定の平面上であれば何れの位置にあってもよい。
【００３８】
また、対象物６０の所定の平面には、図５に示されるような第１の穴部６３及び第２の穴部６４が設けられており、各穴部は窪んでいてもよいし、貫通する構成であってもよい。これらの穴部の形状は図示されるものに限定されず、後述のフローチャートが実施可能な形状であれば、他の形状であってもよいし、互いに異なる形状であってもよい。また、図５では第１の穴部６３のほうが大きく形成されているが、これに限らず、第１の穴部６３のほうが小さく形成されていてもよい。さらに、穴形状に限らず突起でもよく、例えば第２の穴部６４に代えて突起を設けることでも、後述の直線ベクトルＶ２を算出可能である。
【００３９】
＜情報処理方法（キャリブレーション方法）のフローチャート＞
図６は、本実施形態の情報処理システム１００における情報処理方法のフローチャートの一例である。
【００４０】
まず、ユーザは、端末１またはコントローラ３により作業用ロボット２を操作し、図６に例示されるように対象物６０の所定の平面上に直行する２つの第１の直線６１及び第２の直線６２の交点である原点Ｐ０及び当該第１の直線６１上の第１の点Ｐ１並びに当該第２の直線６２上の第２の点Ｐ２の各点に、アーム２１に設けられたツール２２先端を当接し、ロボット座標取得部１０１により、その際のアーム２１の原点Ｐ０に対する原点当接座標情報及び第１の点Ｐ１に対する第１の当接座標情報並びに第２の点Ｐ２に対する第２の当接座標情報を端末１にて取得する（ＳＱ１０１）。これにより、ロボット座標系において対象物６０の所定の平面上の３点の座標情報を取得したので、既知の演算により、作業用ロボット２のロボット座標系の三次元座標と対象物６０の所定の平面の現実位置との対応付けが可能となる。
【００４１】
次に、ユーザは、端末１またはコントローラ３により作業用ロボット２を操作し、センサ２３による対象物６０からの三次元モデルデータ取得における作業用ロボット２のアーム２１のスキャン開始座標情報を設定し、三次元モデルデータ取得部１０２により、センサ２３により、上述のスキャン開始座標情報に基づき、例えば作業台上に位置する対象物６０から三次元モデルデータ７０（例えば、三次元点群データなど）を取得する（ＳＱ１０２）。なお、必要に応じてスキャン終了座標情報を設定するようにしてもよいが、本実施形態においては、スキャンの移動距離が予め設定されているのでこの限りではない。また、スキャン開始座標情報の設定は、スキャンまでに実行されていればよいため、前述のステップＳＱ１０１よりも先に実行されてもよい。
【００４２】
次に、三次元モデルデータ表示部１０３により、取得した三次元モデルデータ７０を端末１上で表示する（ＳＱ１０３）。なお、本実施形態においては、センサ２３がアーム２１に対してツール２２の取り付け位置よりスキャン方向前方にあるため、図７に例示されるように第１の穴部６３及び第２の穴部６４部分を含む対象物６０の範囲の三次元モデルデータ７０が取得されており、本情報処理方法においては当該範囲の三次元モデルデータ７０で十分であるが、センサ２３による三次元モデルデータ７０の取得範囲はこれに限定されるものではない。
【００４３】
次に、法線ベクトル算出部１０４により、図７に例示されるように、端末１において、端末１上に表示された三次元モデルデータ７０における対象物６０の上述の平面上の任意の３点の座標情報Ｐ４−Ｐ６を取得し、既知の演算により、当該３点の座標情報に基づいて当該平面に対する法線ベクトルＶ１を算出する（ＳＱ１０４）。既知の演算は、例えば上記３点の座標情報Ｐ４−Ｐ６から垂直二等分線を用いるなどして円平面を求めたり、さらに当該円及び予め設定された高さパラメータに基づき仮想円柱を設定し、円柱内の点群に基づき平均円平面を求めるなどして、当該円平面に対する法線ベクトルを法線ベクトルＶ１として算出する。これにより、対象物６０の所定の平面に対して垂直方向をセンサ座標系の１軸（例えば、ｚ軸）として認識させることができる。なお、本ステップＳＱ１０５は、後述のステップＳＱ１０７までに実行されていればよいため、次に説明するステップＳＱ１０６が先に実行されてもよい。
【００４４】
次に、中心座標算出部１０５により、図８に例示されるように、端末１において、三次元モデルデータ７０における対象物６０の所定の平面上に設けられた第１の穴部６３及び第２の穴部６４周辺の任意の３点の座標情報Ｐ７−Ｐ９をそれぞれ取得し、各３点の座標情報から第１の穴部６３及び第２の穴部６４の第１の穴部中心座標Ｐ１０及び第２の穴部６４の第２の穴部中心座標Ｐ１１を算出する（ＳＱ１０５）。より具体的には、中心座標算出部１０５は、例えば、第１の穴部６３及び第２の穴部６４周辺の各３点から垂直二等分線を用いるなどして仮円中心座標を算出し、当該仮円中心座標から順次放射状に広がる方向に三次元モデルデータを探索しながら最初に到達した三次元モデルデータ座標を基に第１の穴部６３及び第２の穴部６４の仮輪郭座標を導出する。そして、当該仮輪郭座標を基に、既知の演算（例えば、円の最小二乗法など）により、第１の穴部中心座標Ｐ１０及び第２の穴部中心座標Ｐ１１を算出する。
【００４５】
なお、当該輪郭座標の導出は、例えば反対に、上述の３点の座標情報Ｐ７−Ｐ９から得られた仮輪郭座標から仮円中心座標に順次収束する方向に三次元モデルデータを探索しながら、最初に消失した位置の直前の三次元モデルデータ座標を基に実行されてもよい。また、中心座標算出部１０５は、出願人が特許第６７１３７００号にて公開済みの技術（輪郭点群座標の算出）を用いて、例えば三次元点群データの輪郭座標を算出し、円の最小二乗法により第１の穴部６３及び第２の穴部６４の第１の穴部中心座標Ｐ１０及び第２の穴部６４の第２の穴部中心座標Ｐ１１を算出してもよい。さらに、第１の穴部６３及び第２の穴部６４が円形状であるが、例えば、既知の演算により、四角形状（特に正方形など）などであってもよく、各穴部の形状に合わせたパラメータを算出すればよい。
【００４６】
次に、直線ベクトル算出部１０６により、端末１において、第１の穴部中心座標Ｐ１０及び第２の穴部中心座標Ｐ１１を結んだ直線ベクトルＶ２を算出する（ＳＱ１０６）。
【００４７】
次に、座標系対応付け部１０７により、直線ベクトルＶ２と、法線ベクトルＶ１と、原点Ｐ０から第１の穴中心Ｐ１０までの規定距離の値を用いて、センサ座標系とロボット座標系を対応付ける（ＳＱ１０７）。より具体的には、直線ベクトルＶ２（センサ座標系のｘ軸方向）と第１の直線６１に基づくロボット座標系のｘ軸方向が対応付けられるとともに、法線ベクトルＶ１とロボット座標系のz軸方向とが対応付けられ、さらに対象物６０において、第１の穴中心Ｐ１０が原点Ｐ０からの第１の直線６１上の規定距離（例えば、１００〜２００ｍｍの所定の長さ）と設定されているため、これらをロボット座標系とセンサ座標系の第１の直線６１に沿ったオフセット値として用いることで、両座標系の対応付けが行われ、キャリブレーションが完了したこととなる。
【００４８】
このように、ＳＱ１０７において、法線ベクトルＶ１を用いることにより、より精度よくロボット座標系とセンサ座標系との対応付けが可能となる。より具体的には、三次元モデルデータ７０における第１の穴部６３及び第２の穴部６４の輪郭部分は、データが徐々に欠落して結果として穴部であることが示されているところ、センサ２３の特性上（特にレーザセンサや画像センサの特性上）、例えば上述の方法で輪郭座標を算出（探索）した場合に穴部を形成する輪郭形状が実際の輪郭形状とは異なりガタつくことがある。また、特に三次元点群データを用いる場合には、一見平面に見えるが実際にはｚ軸方向にズレが生じている。これらの結果、そのような輪郭形状を基に法線ベクトルを算出すると、対象物６０の所定の平面に対して垂直ではないベクトルが算出されてしまうことがあり、ｘｙｚ軸がずれてしまうことがあった。そこで、法線ベクトルＶ１をセンサ座標系の１軸（例えば、ｚ軸）として利用することで、より精度よくロボット座標系とセンサ座標系との対応付けが可能となる。
【００４９】
したがって、本実施形態の情報処理システム１００は、カメラと特殊なマーカーを用いずにキャリブレーションを行う情報処理システムを提供することができるものである。
【００５０】
以下、参考として、上述のＳＱ１０５にて例示された輪郭点群座標の算出（バウンダリ処理）について説明する。
【００５１】
この場合、端末１のプロセッサ１０は、さらにバウンダリ処理部を備える。バウンダリ処理部は、図４に例示されるような三次元モデルデータ４１が三次元点群データである場合に、図９に例示されるような三次元点群データの輪郭を構成する輪郭点群データ９１のみを残すように処理を行う。輪郭点群データは、三次元点群データ同様、例えばセンサ座標系に基づく三次元座標情報データであり、中心座標関連情報記憶部１２４や輪郭点群データ記憶部（不図示）等に記憶される。
【００５２】
＜バウンダリ処理方法のフローチャート＞
図１０は、本実施形態の情報処理システム１００におけるバウンダリ処理方法のフローチャートの一例である。
【００５３】
まず、バウンダリ処理部は、三次元点群データのうち１つの点データを選択する（ＳＱ２０１）。
【００５４】
次に、バウンダリ処理部は、選択された点データを中心とする所定の半径を有する円の内部に含まれる点のそれぞれについて、選択された点データから線分をそれぞれ引く（ＳＱ２０２）。
【００５５】
次に、複数の当該線分のうち、例えば選択された点データを中心に所定の回転方向で隣り合う２つの線分がなす角度を算出する（ＳＱ２０３）。
【００５６】
次に、算出された角度の何れもが、ユーザが設定した設定値より小さいかどうかを判定する（ＳＱ２０４）。
【００５７】
より具体的には、図１１において、例えばユーザが設定値を１００°と設定した場合、円７１においては、いずれの隣り合う２つの線分がなす角度も角度Ａのように設定値よりも小さい値（Ａ＜１００°）であると判定され（Ｙｅｓ）、円７２においては、角度Ｂのように設定値よりも大きい値（Ｂ＞１００°）を有する角度が存在すると判定される（Ｎｏ）。
【００５８】
ここで、Ｎｏと判定された場合には、選択された点データを輪郭点群データとして輪郭点群データ記憶部に記憶する（ＳＱ２０５）。
【００５９】
そして、Ｙｅｓと判定された場合、または、ＳＱ２０５終了後には、全ての点データを選択したかどうかを判定し、Ｎｏと判定された場合にはＳＱ２０１へ戻り、Ｙｅｓと判定された場合には終了とする（ＳＱ２０６）。
【００６０】
したがって、この場合の本実施形態の情報処理システム１００は、例えば上述のバウンダリ処理方法により、三次元点群データから対象物の輪郭形状を構成する輪郭点群データを簡易かつ迅速に検出することのできるものである。
【００６１】
以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
【符号の説明】
【００６２】
１      端末
２      作業用ロボット
２１    アーム
２２    ツール
２３    センサ
【要約】
【課題】より精度よくロボット座標系とセンサ座標系との対応付けができるようにする。
【解決手段】対象物の所定の平面上の原点当接座標情報及び第１の当接座標情報並びに第２の当接座標情報を取得するステップと、対象物からセンサにより三次元モデルデータを取得するステップと、三次元モデルデータにおける対象物の平面上の任意の３点の座標情報を取得し、平面に対する法線ベクトルを算出するステップと、三次元モデルデータにおける第１の穴部及び第２の穴部周辺の任意の３点の座標情報をそれぞれ取得し、第１の穴部中心座標及び第２の穴部中心座標を算出するステップと、第１の穴部中心座標及び第２の穴部中心座標を結んだ直線ベクトルを算出するステップと、直線ベクトルと、法線ベクトルと、原点から前記第１の穴部の中心までの規定距離の値を用いて、センサ座標系とロボット座標系を対応付けるステップと、含む情報処理方法。
【選択図】図６【図１】
0006796899.tif 000002
【図２】
0006796899.tif 000003
【図３】
0006796899.tif 000004
【図４】
0006796899.tif 000005
【図５】
0006796899.tif 000006
【図６】
0006796899.tif 000007
【図７】
0006796899.tif 000008
【図８】
0006796899.tif 000009
【図９】
0006796899.tif 000010
【図１０】
0006796899.tif 000011
【図１１】
0006796899.tif 000012