(57)【特許請求の範囲】
【請求項１】
情報処理方法であって、
対象物からセンサにより三次元点群データを取得するステップと、
前記三次元点群データ内の点データの相互の位置関係に基づき、前記三次元点群データから前記対象物全体の輪郭を構成する輪郭点群データを指定するステップと、
少なくとも前記輪郭点群データに基づき、作業用ロボットのアームに接続されたツールのツール軌道を特定するためのツール位置情報及びツール姿勢情報を含むツール制御情報を取得するステップと、
前記ツール制御情報に基づき、前記ツールを制御するステップと、
を含み、
前記ツール位置情報は、前記輪郭点群データ内の所定の点データの座標情報からなり、
さらに、
前記輪郭点群データにおいて特徴点データを記憶するステップと、
前記対象物は第１の対象物であり、前記第１の対象物とは異なる対象物は、第２の対象物であり、
前記第２の対象物から三次元点群データを取得し、特徴点データを記憶するステップと、
前記第１の対象物の特徴点データと前記第２の対象物の特徴点データとを比較してズレ量を算出し、前記ズレ量に基づき第１の対象物に関する座標データの位置ズレを補正する、
前記特徴点データを記憶するステップは、
前記第１の対象物の輪郭点群データのうち所定の点データを、少なくとも中心点を含む所定範囲を規定する比較対象設定範囲の前記中心点の点データとして指定するステップと、
前記所定範囲内に属する前記第１の対象物の輪郭点群データを前記第１の対象物の特徴点データとして記憶するステップと、
前記所定範囲内に属する前記第２の対象物の点群データを前記第２の対象物の特徴点データとして記憶するステップと、を含む
ことを特徴とする情報処理方法。
【請求項２】
請求項１に記載の情報処理方法であって、
前記ツール制御情報を取得するステップは、
ツール移動範囲を設定するステップと、
前記ツール移動範囲内の輪郭点群データを一定数ごとにツール位置として指定してツール位置情報を取得するステップと、を含む、
ことを特徴とする情報処理方法。
【請求項３】
請求項１に記載の情報処理方法であって、
前記ツール制御情報を取得するステップは、
ツール移動範囲を設定するステップと、
前記ツール移動範囲内の輪郭点群データを、直線部分は疎に、曲線部分は密にツール位置として指定してツール位置情報を取得するステップと、を含む、
ことを特徴とする情報処理方法。
【請求項４】
請求項２または３のいずれか一項に記載の情報処理方法であって、
前記ツール制御情報を取得するステップは、
前記ツール位置として指定した点データの面法線ベクトルを算出するステップと、
前記面法線ベクトルの向きを当該点データにおけるツール姿勢情報として取得するステップと、をさらに含む、
ことを特徴とする情報処理方法。
【請求項５】
請求項１ないし４のいずれか一項に記載の情報処理方法であって、
前記ツール位置情報または前記ツール姿勢情報をユーザが編集するステップをさらに含む、
ことを特徴とする情報処理方法。
【請求項６】
請求項１ないし５のいずれか一項に記載の情報処理方法であって、
前記位置ズレの補正として、ツール位置情報の位置ズレを補正する、
ことを特徴とする情報処理方法。
【請求項７】
情報処理方法であって、
第１の対象物からセンサにより第１の三次元点群データを取得するステップと、
前記第１の三次元点群データから前記第１の対象物の輪郭を構成する第１の輪郭点群データを指定するステップと、
少なくとも前記第１の輪郭点群データに基づき、作業用ロボットのアームに接続されたツールのツール軌道を特定するためのツール位置情報及びツール姿勢情報を含むツール制御情報を取得するステップと、
前記ツール制御情報に基づき、前記ツールを制御するステップと、
前記第１の輪郭点群データにおいて第１の特徴点データを記憶するステップと、
前記第１の対象物とは異なる第２の対象物から第２の三次元点群データを取得し、第２の特徴点データを記憶するステップと、
前記第１の特徴点データと前記第２の特徴点データとを比較してズレ量を算出し、前記ズレ量に基づき第１の対象物に関する座標データの位置ズレを補正するステップと、
を含み、
前記第１および第２の特徴点データを記憶するステップは、
前記第１の輪郭点群データのうち所定の点データを、少なくとも中心点を含む所定範囲を規定する比較対象設定範囲の前記中心点の点データとして指定するステップと、
前記所定範囲内に属する前記第１の輪郭点群データを前記第１の特徴点データとして記憶するステップと、
前記所定範囲内に属する前記第２の対象物の点群データを前記第２の特徴点データとして記憶するステップと、をさらに含む、
ことを特徴とする情報処理方法。
【請求項８】
第１の対象物からセンサにより第１の三次元点群データを取得する三次元点群データ取得部と、
前記第１の三次元点群データから前記第１の対象物の輪郭を構成する第１の輪郭点群データを指定するバウンダリ処理部と、
少なくとも前記第１の輪郭点群データに基づき、作業用ロボットのアームに接続されたツールのツール軌道を特定するためのツール位置情報及びツール姿勢情報を含むツール制御情報を取得し、前記ツール制御情報に基づき、前記ツールを制御するツール制御部と、
前記第１の輪郭点群データにおいて第１の特徴点データを記憶させる補正制御部と、
を含み、
前記三次元点群データ取得部は、さらに前記第１の対象物とは異なる第２の対象物から第２の三次元点群データを取得し、
前記補正制御部は、さらに第２の特徴点データを記憶させ、
前記第１の特徴点データと前記第２の特徴点データとを比較してズレ量を算出し、前記ズレ量に基づき第１の対象物に関する座標データの位置ズレを補正する、
情報処理システムであって、
前記補正制御部は、さらに、前記第１および第２の特徴点データを記憶させるために、
前記第１の輪郭点群データのうち所定の点データを、少なくとも中心点を含む所定範囲を規定する比較対象設定範囲の前記中心点の点データとして指定し、
前記所定範囲内に属する前記第１の輪郭点群データを前記第１の特徴点データとして記憶させ、
前記所定範囲内に属する前記第２の対象物の点群データを前記第２の特徴点データとして記憶させる、
ことを特徴とする情報処理システム。
【請求項９】
情報処理方法をコンピュータに実行させるためのプログラムであって、
前記プログラムは、前記情報処理方法として、
第１の対象物からセンサにより第１の三次元点群データを取得するステップと、
前記第１の三次元点群データから前記第１の対象物の輪郭を構成する第１の輪郭点群データを指定するステップと、
少なくとも前記第１の輪郭点群データに基づき、作業用ロボットのアームに接続されたツールのツール軌道を特定するためのツール位置情報及びツール姿勢情報を含むツール制御情報を取得するステップと、
前記ツール制御情報に基づき、前記ツールを制御するステップと、
前記第１の輪郭点群データにおいて第１の特徴点データを記憶するステップと、
前記第１の対象物とは異なる第２の対象物から第２の三次元点群データを取得し、第２の特徴点データを記憶するステップと、
前記第１の特徴点データと前記第２の特徴点データとを比較してズレ量を算出し、前記ズレ量に基づき第１の対象物に関する座標データの位置ズレを補正するステップと、
をコンピュータに実行させる、プログラムであり、
前記第１および第２の特徴点データを記憶するステップは、
前記第１の輪郭点群データのうち所定の点データを、少なくとも中心点を含む所定範囲を規定する比較対象設定範囲の前記中心点の点データとして指定するステップと、
前記所定範囲内に属する前記第１の輪郭点群データを前記第１の特徴点データとして記憶するステップと、
前記所定範囲内に属する前記第２の対象物の点群データを前記第２の特徴点データとして記憶するステップと、をさらに含む、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理方法、情報処理システム、プログラムに関する。
【背景技術】
【０００２】
従来、対象物のＣＡＤデータに基づいて作業用ロボットのアーム軌道データを生成する方法が存在していた（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−４６０８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ＣＡＤデータとしてＣＡＤ図面データを用いた場合には、対象物のＣＡＤデータの形状と実際の対象物の形状とが一致しない場合があり得る。これに代えて、実際の対象物のスキャンデータ（例えば、三次元点群データなど）からＣＡＤデータを作成する場合には、両者の誤差は減るものの、スキャンデータからＣＡＤデータを作成する必要があり、その分の工数が増えてしまうため、ユーザにとって有用ではなかった。
【０００５】
また、もし三次元点群データからアーム軌道データを直接生成しようとしても、三次元点群データは単なる点データの集まりであるため、点群データから対象物の輪郭形状を判別することが難しい。そのため、ユーザが人手によりアーム軌道を教示する必要が発生する場合もある。
【０００６】
本発明はこのような背景を鑑みてなされたものであり、三次元点群データから対象物の輪郭形状を簡易かつ迅速に検出し、それを用いてロボットアーム及びツールを制御することのできる技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するための本発明の主たる発明は、対象物からセンサにより三次元点群データを取得するステップと、前記三次元点群データから対象物の輪郭を構成する輪郭点群データを指定するステップと、前記輪郭点群データから、作業用ロボットのアームに接続されたツールのツール軌道を特定するためのツール位置情報及びツール姿勢情報を含むツール制御情報を取得するステップと、前記ツール制御情報に基づき、前記ツールを制御するステップと、を含む、ことを特徴とする情報処理方法である。
【０００８】
その他本願が開示する課題やその解決方法については、発明の実施形態の欄及び図面により明らかにされる。
【発明の効果】
【０００９】
本発明によれば、三次元点群データから対象物の輪郭形状を簡易かつ迅速に検出し、それを用いてロボットアーム及びツールを制御することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態の一の情報処理システム１００の全体構成例を示す図である。
【図２】本実施形態に係る端末１のハードウェア構成例を示す図である。
【図３】本実施形態に係る端末１の機能構成例を示す図である。
【図４】本実施形態に係る三次元点群データの表示例を示す図を示す。
【図５】本実施形態に係る輪郭点群データの表示例を示す図である。
【図６】本実施形態に係る情報処理方法のフローチャート例を示す図である。
【図７】本実施形態に係るバウンダリ処理方法のフローチャート例を示す図である。
【図８】本実施形態に係るバウンダリ処理方法の一例を説明する図である。
【図９】本実施形態に係るツール制御情報算出方法の一例を説明する図である。
【図１０】本実施形態に係るツール制御情報算出方法の他の例を説明する図である。
【図１１】本実施形態に係るツール制御情報算出方法の他の例を説明する図である。
【図１２】本実施形態に係るツール制御情報算出方法の一例を説明する図である。
【図１３】本実施形態に係るフィッティング方法の一例を説明する概要図である。
【図１４】本実施形態に係るフィッティング方法の一例を説明する詳細図である。
【図１５】本実施形態に係るフィッティング方法の一例を説明する詳細図である。
【発明を実施するための形態】
【００１１】
本発明の実施形態の内容を列記して説明する。本発明は、たとえば以下のような構成を備える。
【００１２】
［項目１］
情報処理方法であって、
対象物からセンサにより三次元点群データを取得するステップと、
前記三次元点群データから対象物の輪郭を構成する輪郭点群データを指定するステップと、
前記輪郭点群データから、作業用ロボットのアームに接続されたツールのツール軌道を特定するためのツール位置情報及びツール姿勢情報を含むツール制御情報を取得するステップと、
前記ツール制御情報に基づき、前記ツールを制御するステップと、
を含む、ことを特徴とする情報処理方法。
［項目２］
項目１に記載の情報処理方法であって、
前記ツール制御情報を取得するステップは、
ツール移動範囲を設定するステップと、
前記ツール移動範囲内の輪郭点群データを一定数ごとにツール位置として指定してツール位置情報を取得するステップと、を含む、
ことを特徴とする情報処理方法。
［項目３］
項目１に記載の情報処理方法であって、
前記ツール制御情報を取得するステップは、
ツール移動範囲を設定するステップと、
前記ツール移動範囲内の輪郭点群データを、直線部分は疎に、曲線部分は密にツール位置として指定してツール位置情報を取得するステップと、を含む、
ことを特徴とする情報処理方法。
［項目４］
項目２または３に記載の情報処理方法であって、
前記ツール制御情報を取得するステップは、
前記ツール位置として指定した点データの面法線ベクトルを算出するステップと、
前記面法線ベクトルの向きを当該点データにおけるツール姿勢情報として取得するステップと、をさらに含む、
ことを特徴とする情報処理方法。
［項目５］
項目１ないし４に記載の情報処理方法であって、
前記ツール位置情報または前記ツール姿勢情報をユーザが編集するステップをさらに含む、
ことを特徴とする情報処理方法。
［項目６］
項目１ないし５に記載の情報処理方法であって、
前記輪郭点群データにおいて特徴点データを記憶するステップと、
前記対象物は第１の対象物であり、前記第１の対象物とは異なる対象物は、第２の対象物であり、
前記第２の対象物から三次元点群データを取得し、輪郭点群データを指定し、特徴点データを記憶するステップと、
前記第１の対象物の特徴点データと前記第２の対象物の特徴点データとを比較してズレ量を算出し、前記ズレ量に基づき第１の対象物に関する座標データの位置ズレを補正する、
ことを特徴とする情報処理方法。
［項目７］
項目６に記載の情報処理方法であって、
前記位置ズレの補正として、ツール位置情報の位置ズレを補正する、
ことを特徴とする情報処理方法。
［項目８］
項目６または７に記載の情報処理方法であって、
前記特徴点データを記憶するステップは、
前記第１の対象物の輪郭点群データのうち所定の点データを、少なくとも中心点を含む所定範囲を規定する比較対象設定範囲の前記中心点の点データとして指定するステップと、
前記所定範囲内に属する前記第１の対象物の輪郭点群データを前記第１の対象物の特徴点データとして記憶するステップと、
前記所定範囲内に属する前記第２の対象物の点群データを前記第２の対象物の特徴点データとして記憶するステップと、を含む
ことを特徴とする情報処理方法。
［項目９］
情報処理システムであって、
対象物からセンサにより三次元点群データを取得する三次元点群データ取得部と、
前記三次元点群データから対象物の輪郭を構成する輪郭点群データを指定するバウンダリ処理部と、
前記輪郭点群データから、作業用ロボットのアームに接続されたツールのツール軌道を特定するためのツール位置情報及びツール姿勢情報を含むツール制御情報を取得し、前記ツール制御情報に基づき、前記ツールを制御するツール制御部と、
を含む、ことを特徴とする情報処理システム。
［項目１０］
情報処理方法をコンピュータに実行させるためのプログラムであって、
前記プログラムは、前記情報処理方法として、
対象物からセンサにより三次元点群データを取得するステップと、
前記三次元点群データから対象物の輪郭を構成する輪郭点群データを指定するステップと、
前記輪郭点群データから、作業用ロボットのアームに接続されたツールのツール軌道を特定するためのツール位置情報及びツール姿勢情報を含むツール制御情報を取得するステップと、
前記ツール制御情報に基づき、前記ツールを制御するステップと、
をコンピュータに実行させる、ことを特徴とするプログラム。
［項目１１］
情報処理方法であって、
対象物からセンサにより三次元点群データを取得するステップと、
前記三次元点群データから対象物の輪郭を構成する輪郭点群データを指定するステップと、
を含む、ことを特徴とする情報処理方法。
【００１３】
＜実施の形態の詳細＞
本発明の一実施形態に係る情報処理システム１００の具体例を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。以下の説明では、添付図面において、同一または類似の要素には同一または類似の参照符号及び名称が付され、各実施形態の説明において同一または類似の要素に関する重複する説明は省略することがある。また、各実施形態で示される特徴は、互いに矛盾しない限り他の実施形態にも適用可能である。
【００１４】
図１は、本実施形態の情報処理システム１００の一例を示す図である。図１に示されるように、本実施形態の情報処理システム１００では、端末１と、作業用ロボット２とを有している。作業用ロボット２は、少なくともアーム２１、ツール２２、センサ２３を有している。端末１と作業用ロボット２とは、有線または無線にて互いに通信可能に接続されている。
【００１５】
＜端末１＞
図２は、端末１のハードウェア構成を示す図である。端末１は、例えばパーソナルコンピュータのような汎用コンピュータとしてもよいし、或いはクラウド・コンピューティングによって論理的に実現されてもよい。なお、図示された構成は一例であり、これ以外の構成を有していてもよい。
【００１６】
端末１は、少なくとも、プロセッサ１０、メモリ１１、ストレージ１２、送受信部１３、入出力部１４等を備え、これらはバス１５を通じて相互に電気的に接続される。
【００１７】
プロセッサ１０は、端末１全体の動作を制御し、少なくとも作業用ロボット２とのデータ等の送受信の制御、及びアプリケーションの実行及び認証処理に必要な情報処理等を行う演算装置である。例えばプロセッサ１０はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）および／またはＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であり、ストレージ１２に格納されメモリ１１に展開された本システムのためのプログラム等を実行して各情報処理を実施する。
【００１８】
メモリ１１は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の揮発性記憶装置で構成される主記憶と、フラッシュメモリやＨＤＤ（Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ）等の不揮発性記憶装置で構成される補助記憶と、を含む。メモリ１１は、プロセッサ１０のワークエリア等として使用され、また、端末１の起動時に実行されるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）、及び各種設定情報等を格納する。
【００１９】
ストレージ１２は、アプリケーション・プログラム等の各種プログラムを格納する。各処理に用いられるデータを格納したデータベースがストレージ１２に構築されていてもよい。
【００２０】
送受信部１３は、端末１を少なくとも作業用ロボット２と接続し、プロセッサの指示に従い、データ等の送受信を行う。なお、送受信部１３は、有線または無線により構成されおり、無線である場合には、例えば、ＷｉＦｉやＢｌｕｅｔｏｏｔｈ（登録商標）及びＢＬＥ（Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙ）の近距離通信インターフェースにより構成されていてもよい。
【００２１】
入出力部１４は、キーボード・マウス類等の情報入力機器、及びディスプレイ等の出力機器である。
【００２２】
バス１５は、上記各要素に共通に接続され、例えば、アドレス信号、データ信号及び各種制御信号を伝達する。
【００２３】
＜作業用ロボット２＞
図１に戻り、本実施形態に係る作業用ロボット２について説明する。
【００２４】
上述のとおり、作業用ロボット２は、アーム２１と、ツール２２と、センサ２３とを有する。なお、図示された構成は一例であり、これ以外の構成を有していてもよい。
【００２５】
アーム２１は、三次元のロボット座標系に基づき、端末１にその動作を制御される。また、アーム２１は、有線または無線で作業用ロボット２と接続されたコントローラ（不図示）をさらに備え、これによりその動作を制御されてもよい。
【００２６】
ツール２２は、三次元のツール座標系に基づき、端末１にその動作を制御される。また、ツール２２の構成は、用途に合わせて何れのツールを備えていてもよく、例えば、溶接用トーチや塗装用塗料噴射装置、把持装置、掘削装置、研磨装置などであってもよい。
【００２７】
センサ２３は、三次元のセンサ座標系に基づき、対象物のセンシングを行う。センサ２３は、例えば三次元スキャナとして動作するレーザセンサであり、センシングにより対象物の三次元点群データを取得する。三次元点群データは、例えば、図４に示されるようなものであり、それぞれの点データがセンサ座標を有し、点群により対象物の形状を把握することが可能となる。
【００２８】
なお、より具体的には、作業前に所定のキャリブレーションを行い、ロボット座標系及びツール座標系、センサ座標系を互いに関連付け、例えばセンサ座標系を基にユーザが位置を指定することにより、アーム２１やツール２２が対応した位置を基に動作制御されるように構成をなしてもよい。
【００２９】
＜端末１の機能＞
図３は、端末１に実装される機能を例示したブロック図である。本実施の形態においては、端末１のプロセッサ１０は、三次元点群データ取得部１０１、三次元点群データ表示部１０２、バウンダリ処理部１０３、ツール制御部１０４を有している。また、端末１のストレージ１２は、三次元点群データ記憶部１２１、輪郭点群データ記憶部１２２、ツール制御情報記憶部１２３を有している。
【００３０】
三次元点群データ取得部１０１は、端末１の入出力部１４からの指示により、作業用ロボット２を制御し、センサ２３により対象物の三次元点群データを取得する。取得した三次元点群データは、例えばセンサ座標系に基づく三次元座標情報データであり、三次元点群データ記憶部１２１に記憶される。
【００３１】
三次元点群データ表示部１０２は、三次元点群データ取得部１０１により取得された三次元点群データを、例えば図４に例示されるように端末１の入出力部１４に表示する。ユーザは、表示された三次元点群データを任意の方向から視認可能であり、例えば入出力部１４に接続されたキーボード・マウス類等の情報入力機器にて、当該任意の方向を指定可能である。
【００３２】
バウンダリ処理部１０３は、図４に例示されるような三次元点群データ４１を基に、図５に例示されるような三次元点群データの輪郭を構成する輪郭点群データ５１のみを残すように処理を行う。輪郭点群データは、三次元点群データ同様、例えばセンサ座標系に基づく三次元座標情報データであり、輪郭点群データ記憶部１２２に記憶される。また、輪郭点群データは、三次元点群データ同様、輪郭点群データ表示部（不図示）により端末１の入出力部１４において表示される。なお、バウンダリ処理部１０３の具体的な処理方法の一例については、後述する。
【００３３】
ツール制御部１０４は、ツール移動範囲及びツール移動間隔と輪郭点群データとを基に、対象物に対するツール２２の位置情報及び姿勢情報を一以上含むツール制御情報を算出し、当該算出されたツール制御情報を基にツール２２を移動させる。すなわち、プロセッサ１０のツール制御部１０４または図示しないその他の構成において、所謂ツール軌道データに該当するツール制御情報を基に、当該ツール軌道データのとおりアーム２１を動作させるアーム軌道データが生成される。なお、ツール制御部１０４の具体的な算出方法の一例については、後述する。
【００３４】
＜情報処理方法のフローチャート＞
図６は、本実施形態の情報処理システム１００における情報処理方法のフローチャートの一例である。
【００３５】
まず、ユーザは、端末１またはコントローラ（不図示）により作業用ロボット２を操作し、端末１の三次元点群データ取得部１０１による制御に基づき、センサ２３により、例えば作業台上に位置する対象物の三次元点群データを取得する（ＳＱ１０１）。
【００３６】
次に、三次元点群データ表示部１０２により取得した三次元点群データを端末１上で表示する（ＳＱ１０２）。
【００３７】
次に、バウンダリ処理部１０３により三次元点群データから輪郭点群データを生成するように処理し、端末１上で表示する（ＳＱ１０３）。
【００３８】
次に、ツール制御部１０４は、ツール移動範囲及びツール移動間隔と輪郭点群データとを基に、対象物に対するツール２２の位置情報及び姿勢情報を一以上含むツール制御情報を算出し、当該算出されたツール制御情報を基にツール２２を移動させる（ＳＱ１０４）。
【００３９】
したがって、本実施形態の情報処理システム１００は、三次元点群データから対象物の輪郭形状を簡易かつ迅速に検出し、それを用いてロボットアームを制御することのできるものである。
【００４０】
＜バウンダリ処理方法のフローチャート＞
図７は、本実施形態の情報処理システム１００におけるバウンダリ処理方法ＳＱ１０３のより詳細なフローチャートの一例である。
【００４１】
まず、バウンダリ処理部１０３は、三次元点群データのうち１つの点データを選択する（ＳＱ２０１）。
【００４２】
次に、バウンダリ処理部１０３は、選択された点データを中心とする所定の半径を有する円の内部に含まれる点のそれぞれについて、選択された点データから線分をそれぞれ引く（ＳＱ２０２）。
【００４３】
次に、複数の当該線分のうち、例えば選択された点データを中心に所定の回転方向で隣り合う２つの線分がなす角度を算出する（ＳＱ２０３）。
【００４４】
次に、算出された角度の何れもが、ユーザが設定した設定値より小さいかどうかを判定する（ＳＱ２０４）。
【００４５】
より具体的には、図８において、例えばユーザが設定値を１００°と設定した場合、円７１においては、いずれの隣り合う２つの線分がなす角度も角度Ａのように設定値よりも小さい値（Ａ＜１００°）であると判定され（Ｙｅｓ）、円７２においては、角度Ｂのように設定値よりも大きい値（Ｂ＞１００°）を有する角度が存在すると判定される（Ｎｏ）。
【００４６】
ここで、Ｎｏと判定された場合には、選択された点データを輪郭点群データとして輪郭点群データ記憶部１２２に記憶する（ＳＱ２０５）。
【００４７】
そして、Ｙｅｓと判定された場合、または、ＳＱ２０５終了後には、全ての点データを選択したかどうかを判定し、Ｎｏと判定された場合にはＳＱ２０１へ戻り、Ｙｅｓと判定された場合には終了とする（ＳＱ２０６）。
【００４８】
したがって、本実施形態の情報処理システム１００は、例えば上述のバウンダリ処理方法により、三次元点群データから対象物の輪郭形状を構成する輪郭点群データを簡易かつ迅速に検出することのできるものである。
【００４９】
なお、図７のフローチャートに加えて、例えばＳＱ２０６の後、端末１の入出力部１４に輪郭点群データのみを表示するようにしてもよい。また、例えばＳＱ２０６の前または後のタイミングで、輪郭点群データとされなかった点群データを三次元点群データから削除するようにし、三次元点群データ表示部１０２により輪郭点群データに対応する三次元点群データを端末１の入出力部１４に表示するようにしてもよい。このようにすることで、例えば図５のように、三次元点群データの輪郭のみを表示することができる。
【００５０】
＜ツール制御情報の算出方法＞
図９は、本実施形態の情報処理システム１００におけるツール制御情報の算出方法ＳＱ１０４の一例である。
【００５１】
まず、ツール位置情報について、例えば、図９に示されるように、ツール移動範囲（例えば、ツール移動開始位置及びツール移動終了位置により規定）を設定し、ツール制御部１０４によりツール移動範囲内の輪郭点群データを一定数ごとにツール位置として指定をすることで、輪郭に沿った等間隔のツール位置情報が得られる。当該ツール位置として指定された輪郭点群データの一部に関する情報は、ツール位置情報としてツール制御情報記憶部１２３に記憶される。これにより、簡易な処理によりツール位置情報を指定可能である。なお、理解を容易にするために仮想対象物輪郭（点線）を表示しているが、実際の端末１に表示する際には表示しなくてもよい。また、ツール移動開始位置及びツール移動終了位置においてツール位置が指定されているが、近傍の輪郭点群データを指定していてもよい。
【００５２】
また、例えば、図１０に示されるように、ツール移動範囲を設定し、ツール制御部１０４によりツール移動範囲内の輪郭点群データを対象物輪郭の直線部分と曲線部分とでツール位置として粗密に指定してもよい。これは、ツール位置間でツール２２は直線移動をするため、直線部分においてはツール位置間隔が広くてもよいが、曲線部分においては、曲線に近似したツール軌道を描くためにツール位置間隔が狭いほうがより好ましい。
【００５３】
上述の粗密な指定については、例えば、輪郭点群データのうち基準点データと２つの点データとをそれぞれ結んだ２つの仮想中心線のなす角度が基準値以上かどうかで判断してもよい。例えば図１１に示されるように、輪郭点群データのうち点データｎを基準点データとした時、点データｎの中心と当該点データｎに隣接する点データｎ＋１の中心とを結んだ線を仮想中心線Ａとし、点データｎの中心と所定の点データｍの中心とを結んだ線を仮想中心線Ｂとし、点データｎの中心と所定の点データｍ＋１の中心とを結んだ線を仮想中心線Ｃとする。そして、例えば仮想中心線Ａと仮想中心線Ｂのなす角度が基準値を下回る際には、点データｍはツール位置としてツール制御情報記憶部１２３に記憶されない。一方、例えば仮想中心線Ａと仮想中心線Ｃのなす角度が基準値以上である場合には、点データｍ＋１はツール位置としてツール制御情報記憶部１２３に記憶される。なお、点データｎ＋１の位置は、点データｎの位置と通常近接しているため、点データｎ＋１についてもツール位置として採用しなくてもよい。
【００５４】
そして、次は点データｍ＋１を基準点データとして同様に順次点データを判定し、これを繰り返してツール位置を指定していく。これにより、ツール制御部１０４により容易に対象物の輪郭形状により近いツール軌道を描くことが可能となる。
【００５５】
なお、ツール位置として記憶された点データは、端末１において表示することでユーザが確認可能としてもよい。そしてその際に、例えば、ツール位置として記憶された点データと、それ以外の点データを色分けするなどして区別可能に表示し、ユーザが例えばツール位置としてして記憶された点データを削除したり、それ以外の点データからツール位置を指定したりと任意で編集可能にしてもよい。これにより、より精度のアーム制御が可能となる。
【００５６】
つぎに、ツール姿勢情報について、例えば図１２に示されるように、ツール位置としてツール制御情報記憶部１２３に記憶された点データＣにおいて、周辺の点群データ（例えば、点データＣに隣接する点群データ）から面法線ベクトルを算出し、当該面法線ベクトルに沿った向きをツール姿勢情報としてツール制御情報記憶部１２３に記憶される。これにより、ツール位置において、対象物表面に対して垂直にツール２２を沿わせることが可能となる。
【００５７】
なお、ツール姿勢についても認識可能に端末１に表示してもよい。その際に、ツール姿勢をユーザが任意で変更可能にしてもよい。これにより、より精度のアーム制御が可能となる。
【００５８】
＜フィッティングの一例＞
本実施形態の情報処理システム１００において、ツール制御部１０４により記憶された所定の対象物（以下、「第１の対象物」という。）に対するツール軌道情報（ツール位置情報及びツール姿勢情報を含むツール制御情報）を利用して、同一または類似の形状をした複数の対象物（以下、「第２の対象物」という。）に対して、ツール２２の種類に伴う作業を順次行う場合、位置ズレを考慮してツール動作前にセンサ２３により一旦センシングを行ってもよい。
【００５９】
この時、第２の対象物においては、例えばツール制御情報を取得した際の第１の対象物の輪郭点群データと、作業前に取得した第２の対象物の点群データとを比較して、位置ズレを補正する動作（フィッティング）を実行してもよい。なお、第２の対象物の点群データは、三次元点群データであってもよいし、三次元点群データを一定の割合間引いた点群データであってもよいし、バウンダリ処理後の輪郭点群データでもよい。
【００６０】
例えば、図１３に示されるような各点群データが第１の対象物及び第２の対象物から得られる。両者の位置ズレを補正するための比較方法は、より具体的には、例えば各対象物の特徴点データ同士を比較するようにしてもよい。
【００６１】
各対象物における特徴点データを記憶するための指定方法は、一例として以下のとおりである。まず、プロセッサ１０は、例えば第１の対象物の輪郭点群データ（図１４の白抜きの点データ）のうち所定の点データを、少なくとも中心点を含む所定範囲を規定する比較対象設定範囲の当該中心点の点データとして指定する。なお、図１４においては、当該中心点の点データから半径Ｒｓの球体で構成される範囲を比較対象設定範囲Ｓとして２つ図示しているが、比較対象設定範囲Ｓの形状はどのような形状でもよく（例えば、点、立方体、直方体、角柱、円柱、楕円体など）、比較対象設定範囲Ｓの数も任意の数でよい。
【００６２】
そして、図１５に例示されるように、例えばプロセッサ１０及びストレージ１２は、比較対象設定範囲Ｓの範囲内に属する第１の対象物の輪郭点群データを第１の対象物の特徴点データとして指定して記憶し、比較対象設定範囲Ｓの範囲内に属する第２の対象物の点群データを第２の対象物の特徴点データとして指定して記憶する。
【００６３】
各対象物の特徴点データ同士の比較方法は、一例として次のとおりである。図１５に例示されるように、例えばプロセッサ１０は、第１の対象物の特徴点データのそれぞれを中心とする所定範囲の探索範囲半径Ｒからなる円の中心点から、当該円に含まれる第２の対象物の各特徴点データまでの距離Ｌを算出し、例えば第１の対象物の特徴点データのそれぞれからの一番短い距離Ｌの平均値、または、全ての距離Ｌの平均値を算出する。そして、例えばプロセッサ１０は、第２の対象物の点群データを移動させ、再度上記平均値を算出する。これを複数回実行し、例えばプロセッサ１０は、当該平均値が一番小さい場合の第２の対象物の点群データの移動量を確認または算出する。最後に、例えばストレージ１２は、当該移動量を位置ズレのズレ量として記憶する。なお、複数回実行する際の回数設定は、例えば事前にユーザが所定回数に設定しておいてもよいし、平均値が事前にユーザが設定した所定値以下となった際に終了するようにしてもよい。
【００６４】
最後に、当該ズレ量に基づき、例えばプロセッサ１０は、当該ズレ量を用いて第１の対象物に対するツール軌道情報を第２の対象物の位置に補正することで、第２の対象物に合ったツール軌道とすることが可能となる。
【００６５】
＜フィッティングの他の例＞
上述のフィッティング方法以外に、例えば図５に示される輪郭点群データのうち、対象物を構成する特徴部（例えば、角部など）の点データを特徴点データとして輪郭点群データ記憶部１２２にさらに記憶しておき、両者の特徴点データを比較することで、センサ座標系におけるズレを判定するようにしてもよい。これに基づき、ツール制御情報の位置ズレを補正する。これにより、上記具体例と同様に、実際の対象物の位置にあったツール軌道を描くことが可能になる一方、再度ツール制御情報の取得処理（ＳＱ１０４）を実行する必要がないため、簡易に位置ズレの補正を行うことが可能となる。
【００６６】
なお、特徴点データの比較によるズレ補正の後、さらに少なくともツール位置として記憶された第１の対象物の輪郭点群データと、それに対応する作業前に取得した第２の対象物の点群データの比較を行い、補正後においても所定距離以上位置ズレが生じている点データが存在する場合には、再度ツール制御情報算出ＳＱ１０４を実行するようにしてもよい。もしくは、所定距離以上位置ズレが生じている点データに対応するツール制御情報の範囲においてのみ、再度ツール制御情報算出ＳＱ１０４を実行するようにしてもよい。これにより、特に類似の形状をした対象物に対して作業を行う場合に、実際の形状に沿ったツール軌道を描くことが可能となる一方、ツール制御情報算出ＳＱ１０４を毎回実行する必要がなくなるので、処理負担や作業時間がより軽減される。
【００６７】
以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
【符号の説明】
【００６８】
１      端末
２      作業用ロボット
２１    アーム
２２    ツール
２３    センサ
【要約】
【課題】三次元点群データから対象物の輪郭形状を簡易かつ迅速に検出し、それを用いてロボットアーム及びツールを制御することのできるようにする。
【解決手段】対象物からセンサにより三次元点群データを取得するステップと、前記三次元点群データから対象物の輪郭を構成する輪郭点群データを指定するステップと、前記輪郭点群データから、作業用ロボットのアームに接続されたツールのツール軌道を特定するためのツール位置情報及びツール姿勢情報を含むツール制御情報を取得するステップと、前記ツール制御情報に基づき、前記ツールを制御するステップと、を含む、ことを特徴とする情報処理方法である。
【選択図】図６【図１】
0006713700.tif 000002
【図２】
0006713700.tif 000003
【図３】
0006713700.tif 000004
【図４】
0006713700.tif 000005
【図５】
0006713700.tif 000006
【図６】
0006713700.tif 000007
【図７】
0006713700.tif 000008
【図８】
0006713700.tif 000009
【図９】
0006713700.tif 000010
【図１０】
0006713700.tif 000011
【図１１】
0006713700.tif 000012
【図１２】
0006713700.tif 000013
【図１３】
0006713700.tif 000014
【図１４】
0006713700.tif 000015
【図１５】
0006713700.tif 000016