(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022030588
(43)【公開日】2022-02-18
(54)【発明の名称】情報処理方法、情報処理システム、プログラム
(51)【国際特許分類】
B25J 9/10 20060101AFI20220210BHJP
【FI】
B25J9/10 A
【審査請求】有
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2020134703
(22)【出願日】2020-08-07
(11)【特許番号】
(45)【特許公報発行日】2020-12-09
(71)【出願人】
【識別番号】517425446
【氏名又は名称】リンクウィズ株式会社
(74)【代理人】
【識別番号】110002790
【氏名又は名称】One ip特許業務法人
(72)【発明者】
【氏名】鈴木 紀克
(72)【発明者】
【氏名】オストロウモフ ゲオルギー
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS11
3C707AS12
3C707AS13
3C707BS09
3C707KS03
3C707KS07
3C707KT09
3C707KV11
3C707KX06
3C707LT17
3C707MT04
(57)【要約】
【課題】より精度よくロボット座標系とセンサ座標系との対応付けができるようにする。
【解決手段】対象物の所定の平面上の原点当接座標情報及び第1の当接座標情報並びに第2の当接座標情報を取得するステップと、対象物からセンサにより三次元モデルデータを取得するステップと、三次元モデルデータにおける対象物の平面上の任意の3点の座標情報を取得し、平面に対する法線ベクトルを算出するステップと、三次元モデルデータにおける第1の穴部及び第2の穴部周辺の任意の3点の座標情報をそれぞれ取得し、第1の穴部中心座標及び第2の穴部中心座標を算出するステップと、第1の穴部中心座標及び第2の穴部中心座標を結んだ直線ベクトルを算出するステップと、直線ベクトルと、法線ベクトルと、原点から前記第1の穴部の中心までの規定距離の値を用いて、センサ座標系とロボット座標系を対応付けるステップと、含む情報処理方法。
【選択図】
図6
【特許請求の範囲】
【請求項1】
情報処理方法であって、
ロボット座標取得部により、対象物の所定の平面上の第1の直線及び第2の直線の交点である原点及び当該第1の直線上の第1の点並びに当該第2の直線上の第2の点の各点に、ロボットアームに設けられたツール先端を当接した際の、ロボット座標系における、前記原点に対する原点当接座標情報及び前記第1の点に対する第1の当接座標情報並びに前記第2の点に対する第2の当接座標情報を取得するステップと、
三次元モデルデータ取得部により、前記対象物からセンサにより三次元モデルデータを取得するステップと、
法線ベクトル算出部により、前記三次元モデルデータにおける前記対象物の前記平面上の任意の3点の座標情報を取得し、当該3点の座標情報に基づいて当該平面に対する法線ベクトルを算出するステップと、
中心座標算出部により、前記三次元モデルデータにおける前記対象物の前記平面上に設けられた第1の穴部及び第2の穴部周辺の任意の3点の座標情報をそれぞれ取得し、当該各穴部の3点の座標情報から前記第1の穴部の第1の穴部中心座標及び前記第2の穴部の第2の穴部中心座標を算出するステップと、
直線ベクトル算出部により、前記第1の穴部中心座標及び前記第2の穴部中心座標を結んだ直線ベクトルを算出するステップと、
座標系対応付け部により、前記直線ベクトルと、前記法線ベクトルと、前記原点から前記第1の穴部の中心までの規定距離の値を用いて、センサ座標系とロボット座標系を対応付けるステップと、
を含む、ことを特徴とする情報処理方法。
【請求項2】
請求項1に記載の情報処理方法であって、
前記対応付けるステップは、
前記直線ベクトルと前記ロボット座標系の1軸を対応付け、
前記法線ベクトルと前記ロボット座標系の他の1軸を対応付け、
前記ロボット座標系または前記センサ座標系を前記第1の直線に沿った方向に前記規定距離の値だけオフセットすることを含む、
ことを特徴とする情報処理方法。
【請求項3】
情報処理システムであって、
対象物の所定の平面上の第1の直線及び第2の直線の交点である原点及び当該第1の直線上の第1の点並びに当該第2の直線上の第2の点の各点に、ロボットアームに設けられたツール先端を当接した際の、ロボット座標系における、前記原点に対する原点当接座標情報及び前記第1の点に対する第1の当接座標情報並びに前記第2の点に対する第2の当接座標情報を取得するロボット座標取得部と、
前記対象物からセンサにより三次元モデルデータを取得する三次元モデルデータ取得部と、
前記三次元モデルデータにおける前記対象物の前記平面上の任意の3点の座標情報を取得し、当該3点の座標情報に基づいて当該平面に対する法線ベクトルを算出する法線ベクトル算出部と、
前記三次元モデルデータにおける前記対象物の前記平面上に設けられた第1の穴部及び第2の穴部周辺の任意の3点の座標情報をそれぞれ取得し、当該各穴部の3点の座標情報から前記第1の穴部の第1の穴部中心座標及び前記第2の穴部の第2の穴部中心座標を算出する中心座標算出部と、
前記第1の穴部中心座標及び前記第2の穴部中心座標を結んだ直線ベクトルを算出する直線ベクトル算出部と、
前記直線ベクトルと、前記法線ベクトルと、前記原点から前記第1の穴部の中心までの規定距離の値を用いて、センサ座標系とロボット座標系を対応付ける座標系対応付け部と、
を含む、ことを特徴とする情報処理システム。
【請求項4】
情報処理方法をコンピュータに実行させるためのプログラムであって、
前記プログラムは、前記情報処理方法として、
ロボット座標取得部により、対象物の所定の平面上の第1の直線及び第2の直線の交点である原点及び当該第1の直線上の第1の点並びに当該第2の直線上の第2の点の各点に、ロボットアームに設けられたツール先端を当接した際の、ロボット座標系における、前記原点に対する原点当接座標情報及び前記第1の点に対する第1の当接座標情報並びに前記第2の点に対する第2の当接座標情報を取得するステップと、
三次元モデルデータ取得部により、前記対象物からセンサにより三次元モデルデータを取得するステップと、
法線ベクトル算出部により、前記三次元モデルデータにおける前記対象物の前記平面上の任意の3点の座標情報を取得し、当該3点の座標情報に基づいて当該平面に対する法線ベクトルを算出するステップと、
中心座標算出部により、前記三次元モデルデータにおける前記対象物の前記平面上に設けられた第1の穴部及び第2の穴部周辺の任意の3点の座標情報をそれぞれ取得し、当該各穴部の3点の座標情報から前記第1の穴部の第1の穴部中心座標及び前記第2の穴部の第2の穴部中心座標を算出するステップと、
直線ベクトル算出部により、前記第1の穴部中心座標及び前記第2の穴部中心座標を結んだ直線ベクトルを算出するステップと、
座標系対応付け部により、前記直線ベクトルと、前記法線ベクトルと、前記原点から前記第1の穴部の中心までの規定距離の値を用いて、センサ座標系とロボット座標系を対応付けるステップと、
をコンピュータに実行させる、ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理方法、情報処理システム、プログラムに関する。
【背景技術】
【0002】
従来から、センサやカメラなどの計測器から得た情報を基に制御される作業用ロボットアームが存在しており、このような作業用ロボットアームを動作させる前に計測機器と作業用ロボットの座標合わせを行うキャリブレーションが実施されていた(例えば、特許文献1を参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、例えば特許文献1に記載のキャリブレーションの場合、作業用ロボットアームにカメラを備えて、特殊なマーカーを撮影することでキャリブレーションを行うことが必要である。
【0005】
本発明はこのような背景を鑑みてなされたものであり、カメラと特殊なマーカーを用いずに精度よくキャリブレーションを行う情報処理システムを提供することが可能である。
【課題を解決するための手段】
【0006】
上記課題を解決するための本発明の主たる発明は、ロボット座標取得部により、対象物の所定の平面上の第1の直線及び第2の直線の交点である原点及び当該第1の直線上の第1の点並びに当該第2の直線上の第2の点の各点に、ロボットアームに設けられたツール先端を当接した際の、ロボット座標系における、前記原点に対する原点当接座標情報及び前記第1の点に対する第1の当接座標情報並びに前記第2の点に対する第2の当接座標情報を取得するステップと、三次元モデルデータ取得部により、前記対象物からセンサにより三次元モデルデータを取得するステップと、法線ベクトル算出部により、前記三次元モデルデータにおける前記対象物の前記平面上の任意の3点の座標情報を取得し、当該3点の座標情報に基づいて当該平面に対する法線ベクトルを算出するステップと、中心座標算出部により、前記三次元モデルデータにおける前記対象物の前記平面上に設けられた第1の穴部及び第2の穴部周辺の任意の3点の座標情報をそれぞれ取得し、当該各穴部の3点の座標情報から前記第1の穴部の第1の穴部中心座標及び前記第2の穴部の第2の穴部中心座標を算出するステップと、直線ベクトル算出部により、前記第1の穴部中心座標及び前記第2の穴部中心座標を結んだ直線ベクトルを算出するステップと、座標系対応付け部により、前記直線ベクトルと、前記法線ベクトルと、前記原点から前記第1の穴部の中心までの規定距離の値を用いて、センサ座標系とロボット座標系を対応付けるステップと、を含む、ことを特徴とする情報処理方法である。
【0007】
その他本願が開示する課題やその解決方法については、発明の実施形態の欄及び図面により明らかにされる。
【発明の効果】
【0008】
本発明によれば、カメラと特殊なマーカーを用いずに精度よくキャリブレーションを行う情報処理システムを提供することができる。
【図面の簡単な説明】
【0009】
【
図1】本実施形態の一の情報処理システム100の全体構成例を示す図である。
【
図2】本実施形態に係る端末1のハードウェア構成例を示す図である。
【
図3】本実施形態に係る端末1の機能構成例を示す図である。
【
図4】本実施形態に係る三次元モデルデータ70の表示例を示す図を示す。
【
図5】本実施形態に係る対象物60の構成例を示す図である。
【
図6】本実施形態に係る情報処理方法のフローチャート例を示す図である。
【
図7】本実施形態に係る三次元モデルデータ70の表示例を示す図である。
【
図8】本実施形態に係る三次元モデルデータ70の表示例を示す他の図である。
【
図9】本実施形態に係る輪郭点群データの表示例を示す図である。
【
図10】本実施形態に係るバウンダリ処理方法のフローチャート例を示す図である。
【
図11】本実施形態に係るバウンダリ処理方法の一例を説明する図である。
【発明を実施するための形態】
【0010】
本発明の実施形態の内容を列記して説明する。本発明は、たとえば以下のような構成を備える。
【0011】
[項目1]
情報処理方法であって、
ロボット座標取得部により、対象物の所定の平面上の第1の直線及び第2の直線の交点である原点及び当該第1の直線上の第1の点並びに当該第2の直線上の第2の点の各点に、ロボットアームに設けられたツール先端を当接した際の、ロボット座標系における、前記原点に対する原点当接座標情報及び前記第1の点に対する第1の当接座標情報並びに前記第2の点に対する第2の当接座標情報を取得するステップと、
三次元モデルデータ取得部により、前記対象物からセンサにより三次元モデルデータを取得するステップと、
法線ベクトル算出部により、前記三次元モデルデータにおける前記対象物の前記平面上の任意の3点の座標情報を取得し、当該3点の座標情報に基づいて当該平面に対する法線ベクトルを算出するステップと、
中心座標算出部により、前記三次元モデルデータにおける前記対象物の前記平面上に設けられた第1の穴部及び第2の穴部周辺の任意の3点の座標情報をそれぞれ取得し、当該各穴部の3点の座標情報から前記第1の穴部の第1の穴部中心座標及び前記第2の穴部の第2の穴部中心座標を算出するステップと、
直線ベクトル算出部により、前記第1の穴部中心座標及び前記第2の穴部中心座標を結んだ直線ベクトルを算出するステップと、
座標系対応付け部により、前記直線ベクトルと、前記法線ベクトルと、前記原点から前記第1の穴部の中心までの規定距離の値を用いて、センサ座標系とロボット座標系を対応付けるステップと、
を含む、ことを特徴とする情報処理方法。
[項目2]
項目1に記載の情報処理方法であって、
前記対応付けるステップは、
前記直線ベクトルと前記ロボット座標系の1軸を対応付け、
前記法線ベクトルと前記ロボット座標系の他の1軸を対応付け、
前記ロボット座標系または前記センサ座標系を前記第1の直線に沿った方向に前記規定距離の値だけオフセットすることを含む、
ことを特徴とする情報処理方法。
[項目3]
情報処理システムであって、
対象物の所定の平面上の第1の直線及び第2の直線の交点である原点及び当該第1の直線上の第1の点並びに当該第2の直線上の第2の点の各点に、ロボットアームに設けられたツール先端を当接した際の、ロボット座標系における、前記原点に対する原点当接座標情報及び前記第1の点に対する第1の当接座標情報並びに前記第2の点に対する第2の当接座標情報を取得するロボット座標取得部と、
前記対象物からセンサにより三次元モデルデータを取得する三次元モデルデータ取得部と、
前記三次元モデルデータにおける前記対象物の前記平面上の任意の3点の座標情報を取得し、当該3点の座標情報に基づいて当該平面に対する法線ベクトルを算出する法線ベクトル算出部と、
前記三次元モデルデータにおける前記対象物の前記平面上に設けられた第1の穴部及び第2の穴部周辺の任意の3点の座標情報をそれぞれ取得し、当該各穴部の3点の座標情報から前記第1の穴部の第1の穴部中心座標及び前記第2の穴部の第2の穴部中心座標を算出する中心座標算出部と、
前記第1の穴部中心座標及び前記第2の穴部中心座標を結んだ直線ベクトルを算出する直線ベクトル算出部と、
前記直線ベクトルと、前記法線ベクトルと、前記原点から前記第1の穴部の中心までの規定距離の値を用いて、センサ座標系とロボット座標系を対応付ける座標系対応付け部と、
を含む、ことを特徴とする情報処理システム。
[項目4]
情報処理方法をコンピュータに実行させるためのプログラムであって、
前記プログラムは、前記情報処理方法として、
ロボット座標取得部により、対象物の所定の平面上の第1の直線及び第2の直線の交点である原点及び当該第1の直線上の第1の点並びに当該第2の直線上の第2の点の各点に、ロボットアームに設けられたツール先端を当接した際の、ロボット座標系における、前記原点に対する原点当接座標情報及び前記第1の点に対する第1の当接座標情報並びに前記第2の点に対する第2の当接座標情報を取得するステップと、
三次元モデルデータ取得部により、前記対象物からセンサにより三次元モデルデータを取得するステップと、
法線ベクトル算出部により、前記三次元モデルデータにおける前記対象物の前記平面上の任意の3点の座標情報を取得し、当該3点の座標情報に基づいて当該平面に対する法線ベクトルを算出するステップと、
中心座標算出部により、前記三次元モデルデータにおける前記対象物の前記平面上に設けられた第1の穴部及び第2の穴部周辺の任意の3点の座標情報をそれぞれ取得し、当該各穴部の3点の座標情報から前記第1の穴部の第1の穴部中心座標及び前記第2の穴部の第2の穴部中心座標を算出するステップと、
直線ベクトル算出部により、前記第1の穴部中心座標及び前記第2の穴部中心座標を結んだ直線ベクトルを算出するステップと、
座標系対応付け部により、前記直線ベクトルと、前記法線ベクトルと、前記原点から前記第1の穴部の中心までの規定距離の値を用いて、センサ座標系とロボット座標系を対応付けるステップと、
をコンピュータに実行させる、ことを特徴とするプログラム。
【0012】
<実施の形態の詳細>
本発明の一実施形態に係る情報処理システム100の具体例を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。以下の説明では、添付図面において、同一または類似の要素には同一または類似の参照符号及び名称が付され、各実施形態の説明において同一または類似の要素に関する重複する説明は省略することがある。また、各実施形態で示される特徴は、互いに矛盾しない限り他の実施形態にも適用可能である。
【0013】
図1は、本実施形態の情報処理システム100の一例を示す図である。
図1に示されるように、本実施形態の情報処理システム100では、端末1と、作業用ロボット2とを有している。作業用ロボット2は、少なくともアーム21、ツール22、センサ23を有している。端末1と作業用ロボット2とは、有線または無線にて互いに通信可能に接続されている。
【0014】
<端末1>
図2は、端末1のハードウェア構成を示す図である。端末1は、例えばパーソナルコンピュータのような汎用コンピュータとしてもよいし、或いはクラウド・コンピューティングによって論理的に実現されてもよい。なお、図示された構成は一例であり、これ以外の構成を有していてもよい。例えば、端末1のプロセッサ10に設けられる一部の機能が外部のサーバや別端末により実行されてもよい。
【0015】
端末1は、少なくとも、プロセッサ10、メモリ11、ストレージ12、送受信部13、入出力部14等を備え、これらはバス15を通じて相互に電気的に接続される。
【0016】
プロセッサ10は、端末1全体の動作を制御し、少なくとも作業用ロボット2とのデータ等の送受信の制御、及びアプリケーションの実行及び認証処理に必要な情報処理等を行う演算装置である。例えばプロセッサ10はCPU(Central Processing Unit)および/またはGPU(Graphics Processing Unit)であり、ストレージ12に格納されメモリ11に展開された本システムのためのプログラム等を実行して各情報処理を実施する。
【0017】
メモリ11は、DRAM(Dynamic Random Access Memory)等の揮発性記憶装置で構成される主記憶と、フラッシュメモリやHDD(Hard Disc Drive)等の不揮発性記憶装置で構成される補助記憶と、を含む。メモリ11は、プロセッサ10のワークエリア等として使用され、また、端末1の起動時に実行されるBIOS(Basic Input / Output System)、及び各種設定情報等を格納する。
【0018】
ストレージ12は、アプリケーション・プログラム等の各種プログラムを格納する。各処理に用いられるデータを格納したデータベースがストレージ12に構築されていてもよい。
【0019】
送受信部13は、端末1を少なくとも作業用ロボット2と接続し、プロセッサの指示に従い、データ等の送受信を行う。なお、送受信部13は、有線または無線により構成されおり、無線である場合には、例えば、WiFiやBluetooth(登録商標)及びBLE(Bluetooth Low Energy)の近距離通信インターフェースにより構成されていてもよい。
【0020】
入出力部14は、キーボード・マウス類等の情報入力機器、及びディスプレイ等の出力機器である。
【0021】
バス15は、上記各要素に共通に接続され、例えば、アドレス信号、データ信号及び各種制御信号を伝達する。
【0022】
<作業用ロボット2>
図1に戻り、本実施形態に係る作業用ロボット2について説明する。
【0023】
上述のとおり、作業用ロボット2は、アーム21と、ツール22と、センサ23とを有する。なお、図示された構成は一例であり、これ以外の構成を有していてもよい。
【0024】
アーム21は、三次元のロボット座標系に基づき、端末1にその動作を制御される。また、アーム21は、有線または無線で作業用ロボット2と接続されたコントローラ3をさらに備え、これによりその動作を制御されてもよい。
【0025】
ツール22は、三次元のツール座標系に基づき、端末1にその動作を制御される。また、ツール22の構成は、用途に合わせて何れのツールを備えていてもよく、例えば、溶接用トーチや塗装用塗料噴射装置、把持装置、掘削装置、研磨装置などであってもよい。
【0026】
センサ23は、三次元のセンサ座標系に基づき、対象物のセンシングを行う。センサ23は、例えば三次元スキャナとして動作するレーザセンサであり、センシングにより対象物の三次元モデルデータ41を取得する。三次元モデルデータは、例えば、
図4に示されるような三次元点群データであり、それぞれの点データがセンサ座標を有し、点群により対象物の形状を把握することが可能となる。なお、センサ23は、レーザセンサに限らず、例えばステレオ方式などを用いた画像センサなどであってもよく、三次元のセンサ座標系が取得できるものであればよい。
【0027】
より具体的には、作業前に所定のキャリブレーションを行い、ロボット座標系及びツール座標系、センサ座標系を互いに対応付け、例えばセンサ座標系を基にユーザが位置を指定することにより、アーム21やツール22が対応した位置を基に動作制御されるように構成をなす。ロボット座標系及びツール座標系の対応付けは既知の方法で行われてよく、ロボット及びツールを提供する事業者により対応付けがなされていることが通常であり、本発明として、その後のセンサ座標系のキャリブレーションについて、後述する。
【0028】
<端末1の機能>
図3は、端末1に実装される機能を例示したブロック図である。本実施の形態においては、端末1のプロセッサ10は、ロボット座標取得部101、三次元モデルデータ取得部102、三次元モデルデータ表示部103、法線ベクトル算出部104、中心座標算出部105、直線ベクトル算出部106、座標系対応付け部107を有している。また、端末1のストレージ12は、ロボット座標記憶部121、三次元モデルデータ記憶部122、法線ベクトル関連情報記憶部123、中心座標関連情報記憶部124、直線ベクトル関連情報記憶部125、座標系対応付け関連情報記憶部126を有している。
【0029】
ロボット座標取得部101は、端末1またはコントローラ3により作業用ロボット2を操作し、端末1により作業用ロボット2の位置がロボット座標系で何れの位置にいるかを取得する。例えばロボット座標系は、既知のとおり、作業用ロボット2の所定の位置を原点座標とする三次元座標である。取得したロボット座標は、例えば入力項目(例えば、後述の原点P0、第1の点P1、第2の点P2など)に対応付けられてロボット座標記憶部121に記憶される。
【0030】
三次元モデルデータ取得部102は、端末1またはコントローラ3により、作業用ロボット2を操作し、例えばロボット座標取得部101を用いて、作業用ロボット2のアーム21のスキャン開始座標情報を取得及び設定し、センサ23により対象物の三次元モデルデータを取得する。アーム21の移動は、例えばスキャン終了座標情報が同様に設定されていてもよいし、スキャンの移動距離がユーザにより端末1から設定されていてもよい。また、スキャン開始座標情報やスキャン終了座標情報は、ユーザにより端末1から設定されていてもよい。取得した三次元モデルデータは、例えばセンサ座標系に基づく三次元座標情報データであり、三次元モデルデータ記憶部122に記憶される。
【0031】
三次元モデルデータ表示部103は、三次元モデルデータ取得部102により取得された三次元モデルデータ(例えば、三次元点群データ)を、例えば
図4に例示されるように端末1の入出力部14に表示する。ユーザは、表示された三次元モデルデータを任意の方向から視認可能であり、例えば入出力部14に接続されたキーボード・マウス類等の情報入力機器にて、当該任意の方向を指定可能である。
【0032】
法線ベクトル算出部104は、端末1において、端末1上に表示された三次元モデルデータ70における任意の3点の座標情報を取得し、既知の演算により、当該3点の座標情報に基づいて当該平面に対する法線ベクトル算出する。より具体的な例としては、例えば垂直二等分線を用いるなどして3点が円周上に載っている円の中心座標や輪郭線、円平面を算出したり、さらに予め設定された高さパラメータに基づき仮想円柱を設定し、円柱内の点群に基づき平均円平面を求めるなどして、当該円平面に対する法線ベクトルを算出するようにしてもよい。上記3点の座標情報や中心座標、法線ベクトル等の法線ベクトル関連情報は、法線ベクトル関連情報記憶部123に記憶される。
【0033】
中心座標算出部105は、本実施形態においては、詳細は後述するが、端末1において、端末1上に表示された三次元モデルデータ70における対象物60の所定の平面上に設けられた第1の穴部63及び第2の穴部64周辺の任意の3点の座標情報P7-P9をそれぞれ取得し、各3点の座標情報から第1の穴部63の第1の穴部中心座標P10及び第2の穴部64の第2の穴部中心座標P11を算出する。算出された第1の穴部中心座標P10及び第2の穴部中心座標P11等の中心座標関連情報は、中心座標関連情報記憶部124に記憶される。
【0034】
直線ベクトル算出部106は、本実施形態においては、詳細は後述するが、端末1において、第1の穴部中心座標P10及び第2の穴部中心座標P11を結んだ直線ベクトルV2を算出する。算出された直線ベクトル等の直線ベクトル関連情報は、直線ベクトル関連情報記憶部125に記憶される。
【0035】
座標系対応付け部107は、直線ベクトルV2と、法線ベクトルV1と、原点P0から第1の穴中心P10までの規定距離の値を用いて、センサ座標系とロボット座標系を対応付ける。センサ座標系とロボット座標系との対応付けに関する情報は、座標系対応付け関連情報記憶部126に記憶される。
【0036】
<対象物60>
図5は、本実施形態の情報処理方法に用いられる対象物60(いわゆる治具)の構成例であるが、素材や形状等はこれに限定されるものではない。
【0037】
一例として、対象物60は平板形状の金属製または樹脂製のプレートであり、所定の平面に
図5の示されるような構成が設けられている。すなわち、第1の直線61と第2の直線62とは互いに原点P
0を交点として直交している。そして、原点P
0から十分に離れた位置に、第1の直線61上の第1の点P
1及び第2の直線62上の第2の点P
2が設けられている。これらの直線や点は、対象物60上で目視で認識可能になっていればよく、対象物60上にインクや刻印等で直接書かれていてもよいし、対象物60上に貼付されたシール等で間接的に書かれていてもよい。なお、説明の簡単化のために本実施形態においては第1の直線61及び第2の直線62が直交しているが、第2の点P
2はその他の原点P
0及び第1の点P
1と組み合わせて所定の平面(例えば、xy平面)を規定するために用いられればよいため、所定の平面上であれば何れの位置にあってもよい。
【0038】
また、対象物60の所定の平面には、
図5に示されるような第1の穴部63及び第2の穴部64が設けられており、各穴部は窪んでいてもよいし、貫通する構成であってもよい。これらの穴部の形状は図示されるものに限定されず、後述のフローチャートが実施可能な形状であれば、他の形状であってもよいし、互いに異なる形状であってもよい。また、
図5では第1の穴部63のほうが大きく形成されているが、これに限らず、第1の穴部63のほうが小さく形成されていてもよい。さらに、穴形状に限らず突起でもよく、例えば第2の穴部64に代えて突起を設けることでも、後述の直線ベクトルV
2を算出可能である。
【0039】
<情報処理方法(キャリブレーション方法)のフローチャート>
図6は、本実施形態の情報処理システム100における情報処理方法のフローチャートの一例である。
【0040】
まず、ユーザは、端末1またはコントローラ3により作業用ロボット2を操作し、
図6に例示されるように対象物60の所定の平面上に直行する2つの第1の直線61及び第2の直線62の交点である原点P
0及び当該第1の直線61上の第1の点P
1並びに当該第2の直線62上の第2の点P
2の各点に、アーム21に設けられたツール22先端を当接し、ロボット座標取得部101により、その際のアーム21の原点P
0に対する原点当接座標情報及び第1の点P
1に対する第1の当接座標情報並びに第2の点P
2に対する第2の当接座標情報を端末1にて取得する(SQ101)。これにより、ロボット座標系において対象物60の所定の平面上の3点の座標情報を取得したので、既知の演算により、作業用ロボット2のロボット座標系の三次元座標と対象物60の所定の平面の現実位置との対応付けが可能となる。
【0041】
次に、ユーザは、端末1またはコントローラ3により作業用ロボット2を操作し、センサ23による対象物60からの三次元モデルデータ取得における作業用ロボット2のアーム21のスキャン開始座標情報を設定し、三次元モデルデータ取得部102により、センサ23により、上述のスキャン開始座標情報に基づき、例えば作業台上に位置する対象物60から三次元モデルデータ70(例えば、三次元点群データなど)を取得する(SQ102)。なお、必要に応じてスキャン終了座標情報を設定するようにしてもよいが、本実施形態においては、スキャンの移動距離が予め設定されているのでこの限りではない。また、スキャン開始座標情報の設定は、スキャンまでに実行されていればよいため、前述のステップSQ101よりも先に実行されてもよい。
【0042】
次に、三次元モデルデータ表示部103により、取得した三次元モデルデータ70を端末1上で表示する(SQ103)。なお、本実施形態においては、センサ23がアーム21に対してツール22の取り付け位置よりスキャン方向前方にあるため、
図7に例示されるように第1の穴部63及び第2の穴部64部分を含む対象物60の範囲の三次元モデルデータ70が取得されており、本情報処理方法においては当該範囲の三次元モデルデータ70で十分であるが、センサ23による三次元モデルデータ70の取得範囲はこれに限定されるものではない。
【0043】
次に、法線ベクトル算出部104により、
図7に例示されるように、端末1において、端末1上に表示された三次元モデルデータ70における対象物60の上述の平面上の任意の3点の座標情報P
4-P
6を取得し、既知の演算により、当該3点の座標情報に基づいて当該平面に対する法線ベクトルV
1を算出する(SQ104)。既知の演算は、例えば上記3点の座標情報P
4-P
6から垂直二等分線を用いるなどして円平面を求めたり、さらに当該円及び予め設定された高さパラメータに基づき仮想円柱を設定し、円柱内の点群に基づき平均円平面を求めるなどして、当該円平面に対する法線ベクトルを法線ベクトルV
1として算出する。これにより、対象物60の所定の平面に対して垂直方向をセンサ座標系の1軸(例えば、z軸)として認識させることができる。なお、本ステップSQ105は、後述のステップSQ107までに実行されていればよいため、次に説明するステップSQ106が先に実行されてもよい。
【0044】
次に、中心座標算出部105により、
図8に例示されるように、端末1において、三次元モデルデータ70における対象物60の所定の平面上に設けられた第1の穴部63及び第2の穴部64周辺の任意の3点の座標情報P
7-P
9をそれぞれ取得し、各3点の座標情報から第1の穴部63及び第2の穴部64の第1の穴部中心座標P
10及び第2の穴部64の第2の穴部中心座標P
11を算出する(SQ105)。より具体的には、中心座標算出部105は、例えば、第1の穴部63及び第2の穴部64周辺の各3点から垂直二等分線を用いるなどして仮円中心座標を算出し、当該仮円中心座標から順次放射状に広がる方向に三次元モデルデータを探索しながら最初に到達した三次元モデルデータ座標を基に第1の穴部63及び第2の穴部64の仮輪郭座標を導出する。そして、当該仮輪郭座標を基に、既知の演算(例えば、円の最小二乗法など)により、第1の穴部中心座標P10及び第2の穴部中心座標P11を算出する。
【0045】
なお、当該輪郭座標の導出は、例えば反対に、上述の3点の座標情報P7-P9から得られた仮輪郭座標から仮円中心座標に順次収束する方向に三次元モデルデータを探索しながら、最初に消失した位置の直前の三次元モデルデータ座標を基に実行されてもよい。また、中心座標算出部105は、出願人が特許第6713700号にて公開済みの技術(輪郭点群座標の算出)を用いて、例えば三次元点群データの輪郭座標を算出し、円の最小二乗法により第1の穴部63及び第2の穴部64の第1の穴部中心座標P10及び第2の穴部64の第2の穴部中心座標P11を算出してもよい。さらに、第1の穴部63及び第2の穴部64が円形状であるが、例えば、既知の演算により、四角形状(特に正方形など)などであってもよく、各穴部の形状に合わせたパラメータを算出すればよい。
【0046】
次に、直線ベクトル算出部106により、端末1において、第1の穴部中心座標P10及び第2の穴部中心座標P11を結んだ直線ベクトルV2を算出する(SQ106)。
【0047】
次に、座標系対応付け部107により、直線ベクトルV2と、法線ベクトルV1と、原点P0から第1の穴中心P10までの規定距離の値を用いて、センサ座標系とロボット座標系を対応付ける(SQ107)。より具体的には、直線ベクトルV2(センサ座標系のx軸方向)と第1の直線61に基づくロボット座標系のx軸方向が対応付けられるとともに、法線ベクトルV1とロボット座標系のz軸方向とが対応付けられ、さらに対象物60において、第1の穴中心P10が原点P0からの第1の直線61上の規定距離(例えば、100~200mmの所定の長さ)と設定されているため、これらをロボット座標系とセンサ座標系の第1の直線61に沿ったオフセット値として用いることで、両座標系の対応付けが行われ、キャリブレーションが完了したこととなる。
【0048】
このように、SQ107において、法線ベクトルV1を用いることにより、より精度よくロボット座標系とセンサ座標系との対応付けが可能となる。より具体的には、三次元モデルデータ70における第1の穴部63及び第2の穴部64の輪郭部分は、データが徐々に欠落して結果として穴部であることが示されているところ、センサ23の特性上(特にレーザセンサや画像センサの特性上)、例えば上述の方法で輪郭座標を算出(探索)した場合に穴部を形成する輪郭形状が実際の輪郭形状とは異なりガタつくことがある。また、特に三次元点群データを用いる場合には、一見平面に見えるが実際にはz軸方向にズレが生じている。これらの結果、そのような輪郭形状を基に法線ベクトルを算出すると、対象物60の所定の平面に対して垂直ではないベクトルが算出されてしまうことがあり、xyz軸がずれてしまうことがあった。そこで、法線ベクトルV1をセンサ座標系の1軸(例えば、z軸)として利用することで、より精度よくロボット座標系とセンサ座標系との対応付けが可能となる。
【0049】
したがって、本実施形態の情報処理システム100は、カメラと特殊なマーカーを用いずにキャリブレーションを行う情報処理システムを提供することができるものである。
【0050】
以下、参考として、上述のSQ105にて例示された輪郭点群座標の算出(バウンダリ処理)について説明する。
【0051】
この場合、端末1のプロセッサ10は、さらにバウンダリ処理部を備える。バウンダリ処理部は、
図4に例示されるような三次元モデルデータ41が三次元点群データである場合に、
図9に例示されるような三次元点群データの輪郭を構成する輪郭点群データ91のみを残すように処理を行う。輪郭点群データは、三次元点群データ同様、例えばセンサ座標系に基づく三次元座標情報データであり、中心座標関連情報記憶部124や輪郭点群データ記憶部(不図示)等に記憶される。
【0052】
<バウンダリ処理方法のフローチャート>
図10は、本実施形態の情報処理システム100におけるバウンダリ処理方法のフローチャートの一例である。
【0053】
まず、バウンダリ処理部は、三次元点群データのうち1つの点データを選択する(SQ201)。
【0054】
次に、バウンダリ処理部は、選択された点データを中心とする所定の半径を有する円の内部に含まれる点のそれぞれについて、選択された点データから線分をそれぞれ引く(SQ202)。
【0055】
次に、複数の当該線分のうち、例えば選択された点データを中心に所定の回転方向で隣り合う2つの線分がなす角度を算出する(SQ203)。
【0056】
次に、算出された角度の何れもが、ユーザが設定した設定値より小さいかどうかを判定する(SQ204)。
【0057】
より具体的には、
図11において、例えばユーザが設定値を100°と設定した場合、円71においては、いずれの隣り合う2つの線分がなす角度も角度Aのように設定値よりも小さい値(A<100°)であると判定され(Yes)、円72においては、角度Bのように設定値よりも大きい値(B>100°)を有する角度が存在すると判定される(No)。
【0058】
ここで、Noと判定された場合には、選択された点データを輪郭点群データとして輪郭点群データ記憶部に記憶する(SQ205)。
【0059】
そして、Yesと判定された場合、または、SQ205終了後には、全ての点データを選択したかどうかを判定し、Noと判定された場合にはSQ201へ戻り、Yesと判定された場合には終了とする(SQ206)。
【0060】
したがって、この場合の本実施形態の情報処理システム100は、例えば上述のバウンダリ処理方法により、三次元点群データから対象物の輪郭形状を構成する輪郭点群データを簡易かつ迅速に検出することのできるものである。
【0061】
以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
【符号の説明】
【0062】
1 端末
2 作業用ロボット
21 アーム
22 ツール
23 センサ
【手続補正書】
【提出日】2020-09-28
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
情報処理方法であって、
ロボット座標取得部により、対象物の所定の平面上の第1の直線及び第2の直線の交点である原点及び当該第1の直線上の第1の点並びに当該第2の直線上の第2の点の各点に、ロボットアームに設けられたツール先端を当接した際の、ロボット座標系における、前記原点に対する原点当接座標情報及び前記第1の点に対する第1の当接座標情報並びに前記第2の点に対する第2の当接座標情報を取得するステップと、
三次元モデルデータ取得部により、前記対象物からセンサにより三次元モデルデータを取得するステップと、
法線ベクトル算出部により、前記三次元モデルデータにおける前記対象物の前記平面上の任意の3点の座標情報を取得し、当該3点の座標情報に基づいて当該平面に対する法線ベクトルを算出するステップと、
中心座標算出部により、前記三次元モデルデータにおける前記対象物の前記平面上に設けられた第1の穴部及び第2の穴部周辺の任意の3点の座標情報をそれぞれ取得し、当該各穴部の3点の座標情報から前記第1の穴部の第1の穴部中心座標及び前記第2の穴部の第2の穴部中心座標を算出するステップと、
直線ベクトル算出部により、前記第1の穴部中心座標及び前記第2の穴部中心座標を結んだ直線ベクトルを算出するステップと、
座標系対応付け部により、前記センサ座標系における前記直線ベクトル及び前記法線ベクトルと、前記第1の直線に基づく前記ロボット座標系の1軸情報及び他の軸情報と、前記対象物における、前記ロボット座標系の前記原点当接座標情報に対応する前記原点から前記センサ座標系の前記第1の穴部中心座標に対応する前記第1の穴部の中心までの前記第1直線上の規定距離の値を用いて、センサ座標系とロボット座標系を対応付けるステップと、
を含む、ことを特徴とする情報処理方法。
【請求項2】
請求項1に記載の情報処理方法であって、
前記対応付けるステップは、
前記センサ座標系の前記直線ベクトルと前記ロボット座標系の1軸を対応付け、
前記センサ座標系の前記法線ベクトルと前記ロボット座標系の他の1軸を対応付け、
前記ロボット座標系または前記センサ座標系を前記第1直線上の規定距離の値に基づきオフセットすることを含む、
ことを特徴とする情報処理方法。
【請求項3】
情報処理システムであって、
対象物の所定の平面上の第1の直線及び第2の直線の交点である原点及び当該第1の直線上の第1の点並びに当該第2の直線上の第2の点の各点に、ロボットアームに設けられたツール先端を当接した際の、ロボット座標系における、前記原点に対する原点当接座標情報及び前記第1の点に対する第1の当接座標情報並びに前記第2の点に対する第2の当接座標情報を取得するロボット座標取得部と、
前記対象物からセンサにより三次元モデルデータを取得する三次元モデルデータ取得部と、
前記三次元モデルデータにおける前記対象物の前記平面上の任意の3点の座標情報を取得し、当該3点の座標情報に基づいて当該平面に対する法線ベクトルを算出する法線ベクトル算出部と、
前記三次元モデルデータにおける前記対象物の前記平面上に設けられた第1の穴部及び第2の穴部周辺の任意の3点の座標情報をそれぞれ取得し、当該各穴部の3点の座標情報から前記第1の穴部の第1の穴部中心座標及び前記第2の穴部の第2の穴部中心座標を算出する中心座標算出部と、
前記第1の穴部中心座標及び前記第2の穴部中心座標を結んだ直線ベクトルを算出する直線ベクトル算出部と、
前記センサ座標系における前記直線ベクトル及び前記法線ベクトルと、前記第1の直線に基づく前記ロボット座標系の1軸情報及び他の軸情報と、前記対象物における、前記ロボット座標系の前記原点当接座標情報に対応する前記原点から前記センサ座標系の前記第1の穴部中心座標に対応する前記第1の穴部の中心までの前記第1直線上の規定距離の値を用いて、センサ座標系とロボット座標系を対応付ける座標系対応付け部と、
を含む、ことを特徴とする情報処理システム。
【請求項4】
情報処理方法をコンピュータに実行させるためのプログラムであって、
前記プログラムは、前記情報処理方法として、
ロボット座標取得部により、対象物の所定の平面上の第1の直線及び第2の直線の交点である原点及び当該第1の直線上の第1の点並びに当該第2の直線上の第2の点の各点に、ロボットアームに設けられたツール先端を当接した際の、ロボット座標系における、前記原点に対する原点当接座標情報及び前記第1の点に対する第1の当接座標情報並びに前記第2の点に対する第2の当接座標情報を取得するステップと、
三次元モデルデータ取得部により、前記対象物からセンサにより三次元モデルデータを取得するステップと、
法線ベクトル算出部により、前記三次元モデルデータにおける前記対象物の前記平面上の任意の3点の座標情報を取得し、当該3点の座標情報に基づいて当該平面に対する法線ベクトルを算出するステップと、
中心座標算出部により、前記三次元モデルデータにおける前記対象物の前記平面上に設けられた第1の穴部及び第2の穴部周辺の任意の3点の座標情報をそれぞれ取得し、当該各穴部の3点の座標情報から前記第1の穴部の第1の穴部中心座標及び前記第2の穴部の第2の穴部中心座標を算出するステップと、
直線ベクトル算出部により、前記第1の穴部中心座標及び前記第2の穴部中心座標を結んだ直線ベクトルを算出するステップと、
座標系対応付け部により、前記センサ座標系における前記直線ベクトル及び前記法線ベクトルと、前記第1の直線に基づく前記ロボット座標系の1軸情報及び他の軸情報と、前記対象物における、前記ロボット座標系の前記原点当接座標情報に対応する前記原点から前記センサ座標系の前記第1の穴部中心座標に対応する前記第1の穴部の中心までの前記第1直線上の規定距離の値を用いて、センサ座標系とロボット座標系を対応付けるステップと、
をコンピュータに実行させる、ことを特徴とするプログラム。
【手続補正書】
【提出日】2020-10-08
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
情報処理方法であって、
ロボット座標取得部により、対象物の所定の平面上の第1の直線及び第2の直線の交点である原点及び当該第1の直線上の第1の点並びに当該第2の直線上の第2の点の各点に、ロボットアームに設けられたツール先端を当接した際の、ロボット座標系における、前記原点に対する原点当接座標情報及び前記第1の点に対する第1の当接座標情報並びに前記第2の点に対する第2の当接座標情報を取得するステップと、
三次元モデルデータ取得部により、前記対象物からセンサにより三次元モデルデータを取得するステップと、
法線ベクトル算出部により、前記三次元モデルデータにおける前記対象物の前記平面上の任意の3点の座標情報を取得し、当該3点の座標情報に基づいて当該平面に対する法線ベクトルを算出するステップと、
中心座標算出部により、前記三次元モデルデータにおける前記対象物の前記平面上に設けられた第1の穴部及び第2の穴部周辺の任意の3点の座標情報をそれぞれ取得し、当該各穴部の3点の座標情報から前記第1の穴部の第1の穴部中心座標及び前記第2の穴部の第2の穴部中心座標を算出するステップと、
直線ベクトル算出部により、前記第1の穴部中心座標及び前記第2の穴部中心座標を結んだ直線ベクトルを算出するステップと、
座標系対応付け部により、センサ座標系における前記直線ベクトル及び前記法線ベクトルと、前記第1の直線に基づく前記ロボット座標系の1軸情報及び他の軸情報と、前記対象物における、前記ロボット座標系の前記原点当接座標情報に対応する前記原点から前記センサ座標系の前記第1の穴部中心座標に対応する前記第1の穴部の中心までの前記第1の直線上の規定距離の値を用いて、センサ座標系とロボット座標系を対応付けるステップと、
を含む、ことを特徴とする情報処理方法。
【請求項2】
請求項1に記載の情報処理方法であって、
前記対応付けるステップは、
前記センサ座標系の前記直線ベクトルと前記ロボット座標系の1軸を対応付け、
前記センサ座標系の前記法線ベクトルと前記ロボット座標系の他の1軸を対応付け、
前記ロボット座標系または前記センサ座標系を前記第1の直線上の規定距離の値に基づきオフセットすることを含む、
ことを特徴とする情報処理方法。
【請求項3】
情報処理システムであって、
対象物の所定の平面上の第1の直線及び第2の直線の交点である原点及び当該第1の直線上の第1の点並びに当該第2の直線上の第2の点の各点に、ロボットアームに設けられたツール先端を当接した際の、ロボット座標系における、前記原点に対する原点当接座標情報及び前記第1の点に対する第1の当接座標情報並びに前記第2の点に対する第2の当接座標情報を取得するロボット座標取得部と、
前記対象物からセンサにより三次元モデルデータを取得する三次元モデルデータ取得部と、
前記三次元モデルデータにおける前記対象物の前記平面上の任意の3点の座標情報を取得し、当該3点の座標情報に基づいて当該平面に対する法線ベクトルを算出する法線ベクトル算出部と、
前記三次元モデルデータにおける前記対象物の前記平面上に設けられた第1の穴部及び第2の穴部周辺の任意の3点の座標情報をそれぞれ取得し、当該各穴部の3点の座標情報から前記第1の穴部の第1の穴部中心座標及び前記第2の穴部の第2の穴部中心座標を算出する中心座標算出部と、
前記第1の穴部中心座標及び前記第2の穴部中心座標を結んだ直線ベクトルを算出する直線ベクトル算出部と、
センサ座標系における前記直線ベクトル及び前記法線ベクトルと、前記第1の直線に基づく前記ロボット座標系の1軸情報及び他の軸情報と、前記対象物における、前記ロボット座標系の前記原点当接座標情報に対応する前記原点から前記センサ座標系の前記第1の穴部中心座標に対応する前記第1の穴部の中心までの前記第1の直線上の規定距離の値を用いて、センサ座標系とロボット座標系を対応付ける座標系対応付け部と、
を含む、ことを特徴とする情報処理システム。
【請求項4】
情報処理方法をコンピュータに実行させるためのプログラムであって、
前記プログラムは、前記情報処理方法として、
ロボット座標取得部により、対象物の所定の平面上の第1の直線及び第2の直線の交点である原点及び当該第1の直線上の第1の点並びに当該第2の直線上の第2の点の各点に、ロボットアームに設けられたツール先端を当接した際の、ロボット座標系における、前記原点に対する原点当接座標情報及び前記第1の点に対する第1の当接座標情報並びに前記第2の点に対する第2の当接座標情報を取得するステップと、
三次元モデルデータ取得部により、前記対象物からセンサにより三次元モデルデータを取得するステップと、
法線ベクトル算出部により、前記三次元モデルデータにおける前記対象物の前記平面上の任意の3点の座標情報を取得し、当該3点の座標情報に基づいて当該平面に対する法線ベクトルを算出するステップと、
中心座標算出部により、前記三次元モデルデータにおける前記対象物の前記平面上に設けられた第1の穴部及び第2の穴部周辺の任意の3点の座標情報をそれぞれ取得し、当該各穴部の3点の座標情報から前記第1の穴部の第1の穴部中心座標及び前記第2の穴部の第2の穴部中心座標を算出するステップと、
直線ベクトル算出部により、前記第1の穴部中心座標及び前記第2の穴部中心座標を結んだ直線ベクトルを算出するステップと、
座標系対応付け部により、センサ座標系における前記直線ベクトル及び前記法線ベクトルと、前記第1の直線に基づく前記ロボット座標系の1軸情報及び他の軸情報と、前記対象物における、前記ロボット座標系の前記原点当接座標情報に対応する前記原点から前記センサ座標系の前記第1の穴部中心座標に対応する前記第1の穴部の中心までの前記第1の直線上の規定距離の値を用いて、センサ座標系とロボット座標系を対応付けるステップと、
をコンピュータに実行させる、ことを特徴とするプログラム。