(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022031083
(43)【公開日】2022-02-18
(54)【発明の名称】情報処理方法、情報処理システム、プログラム
(51)【国際特許分類】
B25J 13/08 20060101AFI20220210BHJP
B25J 9/22 20060101ALI20220210BHJP
【FI】
B25J13/08 A
B25J9/22 Z
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2020186944
(22)【出願日】2020-11-10
(62)【分割の表示】P 2020134703の分割
【原出願日】2020-08-07
(71)【出願人】
【識別番号】517425446
【氏名又は名称】リンクウィズ株式会社
(74)【代理人】
【識別番号】110002790
【氏名又は名称】One ip特許業務法人
(72)【発明者】
【氏名】鈴木 紀克
(72)【発明者】
【氏名】オストロウモフ ゲオルギー
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS11
3C707AS12
3C707BS09
3C707KS03
3C707KT03
3C707KT05
3C707KT09
3C707KV11
3C707KX07
3C707LS09
3C707LS15
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 Processi
ng Unit)および/またはGPU(Graphics Processing U
nit)であり、ストレージ12に格納されメモリ11に展開された本システムのための
プログラム等を実行して各情報処理を実施する。
【0017】
メモリ11は、DRAM(Dynamic Random Access Memor
y)等の揮発性記憶装置で構成される主記憶と、フラッシュメモリやHDD(Hard
Disc Drive)等の不揮発性記憶装置で構成される補助記憶と、を含む。メモリ
11は、プロセッサ10のワークエリア等として使用され、また、端末1の起動時に実行
されるBIOS(Basic Input / Output System)、及び各
種設定情報等を格納する。
【0018】
ストレージ12は、アプリケーション・プログラム等の各種プログラムを格納する。各
処理に用いられるデータを格納したデータベースがストレージ12に構築されていてもよ
い。
【0019】
送受信部13は、端末1を少なくとも作業用ロボット2と接続し、プロセッサの指示に
従い、データ等の送受信を行う。なお、送受信部13は、有線または無線により構成され
おり、無線である場合には、例えば、WiFiやBluetooth(登録商標)及びB
LE(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は、三次元のセンサ座標系に基づき、対象物のセンシングを行う。センサ2
3は、例えば三次元スキャナとして動作するレーザセンサであり、センシングにより対象
物の三次元モデルデータ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の穴部中心座標P
10及び第2の穴部中心座標P11等の中心座標関連情報は、中心座標関連情報記憶部1
24に記憶される。
【0034】
直線ベクトル算出部106は、本実施形態においては、詳細は後述するが、端末1にお
いて、第1の穴部中心座標P10及び第2の穴部中心座標P11を結んだ直線ベクトルV
2を算出する。算出された直線ベクトル等の直線ベクトル関連情報は、直線ベクトル関連
情報記憶部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の穴部6
3のほうが小さく形成されていてもよい。さらに、穴形状に限らず突起でもよく、例えば
第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(例えば、三次元点群データなど)を取得する(SQ1
02)。なお、必要に応じてスキャン終了座標情報を設定するようにしてもよいが、本実
施形態においては、スキャンの移動距離が予め設定されているのでこの限りではない。ま
た、スキャン開始座標情報の設定は、スキャンまでに実行されていればよいため、前述の
ステップSQ101よりも先に実行されてもよい。
【0042】
次に、三次元モデルデータ表示部103により、取得した三次元モデルデータ70を端
末1上で表示する(SQ103)。なお、本実施形態においては、センサ23がアーム2
1に対してツール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軸)として認識させることができる。なお、本ステップSQ10
5は、後述のステップ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の所定の平面に対して垂直ではないベクトルが算出されてしまうことがあり、xy
z軸がずれてしまうことがあった。そこで、法線ベクトルV1をセンサ座標系の1軸(例
えば、z軸)として利用することで、より精度よくロボット座標系とセンサ座標系との対
応付けが可能となる。
【0049】
したがって、本実施形態の情報処理システム100は、カメラと特殊なマーカーを用い
ずにキャリブレーションを行う情報処理システムを提供することができるものである。
【0050】
以下、参考として、上述のSQ105にて例示された輪郭点群座標の算出(バウンダリ
処理)について説明する。
【0051】
この場合、端末1のプロセッサ10は、さらにバウンダリ処理部を備える。バウンダリ
処理部は、
図4に例示されるような三次元モデルデータ41が三次元点群データである場
合に、
図9に例示されるような三次元点群データの輪郭を構成する輪郭点群データ91の
みを残すように処理を行う。輪郭点群データは、三次元点群データ同様、例えばセンサ座
標系に基づく三次元座標情報データであり、中心座標関連情報記憶部124や輪郭点群デ
ータ記憶部(不図示)等に記憶される。
【0052】
<バウンダリ処理方法のフローチャート>
図10は、本実施形態の情報処理システム100におけるバウンダリ処理方法のフロー
チャートの一例である。
【0053】
まず、バウンダリ処理部は、三次元点群データのうち1つの点データを選択する(SQ
201)。
【0054】
次に、バウンダリ処理部は、選択された点データを中心とする所定の半径を有する円の
内部に含まれる点のそれぞれについて、選択された点データから線分をそれぞれ引く(S
Q202)。
【0055】
次に、複数の当該線分のうち、例えば選択された点データを中心に所定の回転方向で隣
り合う2つの線分がなす角度を算出する(SQ203)。
【0056】
次に、算出された角度の何れもが、ユーザが設定した設定値より小さいかどうかを判定
する(SQ204)。
【0057】
より具体的には、
図11において、例えばユーザが設定値を100°と設定した場合、
円71においては、いずれの隣り合う2つの線分がなす角度も角度Aのように設定値より
も小さい値(A<100°)であると判定され(Yes)、円72においては、角度Bの
ように設定値よりも大きい値(B>100°)を有する角度が存在すると判定される(N
o)。
【0058】
ここで、Noと判定された場合には、選択された点データを輪郭点群データとして輪郭
点群データ記憶部に記憶する(SQ205)。
【0059】
そして、Yesと判定された場合、または、SQ205終了後には、全ての点データを
選択したかどうかを判定し、Noと判定された場合にはSQ201へ戻り、Yesと判定
された場合には終了とする(SQ206)。
【0060】
したがって、この場合の本実施形態の情報処理システム100は、例えば上述のバウン
ダリ処理方法により、三次元点群データから対象物の輪郭形状を構成する輪郭点群データ
を簡易かつ迅速に検出することのできるものである。
【0061】
以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするため
のものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸
脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
【符号の説明】
【0062】
1 端末
2 作業用ロボット
21 アーム
22 ツール
23 センサ