(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024050222
(43)【公開日】2024-04-10
(54)【発明の名称】情報処理方法、製品の製造方法、情報処理システム、プログラム
(51)【国際特許分類】
B25J 9/10 20060101AFI20240403BHJP
G01B 11/00 20060101ALI20240403BHJP
【FI】
B25J9/10 A
G01B11/00 A
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022156944
(22)【出願日】2022-09-29
(71)【出願人】
【識別番号】517425446
【氏名又は名称】リンクウィズ株式会社
(74)【代理人】
【識別番号】110002790
【氏名又は名称】One ip弁理士法人
(72)【発明者】
【氏名】アヤーデ・ヒーブ
【テーマコード(参考)】
2F065
3C707
【Fターム(参考)】
2F065AA04
2F065AA53
2F065BB05
2F065DD19
2F065FF05
2F065FF11
2F065FF61
2F065GG04
2F065PP25
2F065RR06
3C707AS11
3C707AS12
3C707AS13
3C707BS09
3C707KS03
3C707KS07
3C707KS36
3C707KT03
3C707KT05
3C707KT09
3C707KV11
3C707KX07
3C707LT17
3C707LV19
3C707MT01
(57)【要約】
【課題】計測対象物に当接することなく、キャリブレーションを行う情報処理システムを提供する。
【解決手段】 情報処理方法であって、ロボットアームを予め設定された初期姿勢とするとともに、前記ロボットアームが前記初期姿勢となる際の前記ロボットアームに搭載されたセンサの初期位置座標をセンサ初期位置記憶部から取得し、物理的な凹又は凸を含む所定形状を有するキャリブレーションジグの三次元モデルデータを前記センサにより取得し、前記三次元モデルデータから検出される前記所定形状の検出位置座標を取得し、前記検出位置座標と、予め登録された前記所定形状の登録位置座標との差分を取得し、前記センサの前記初期位置座標と前記差分に基づいて、センサ座標系とロボット座標系を対応付ける、情報処理方法。
【選択図】
図4
【特許請求の範囲】
【請求項1】
情報処理方法であって、
ロボットアームを予め設定された初期姿勢とするとともに、前記ロボットアームが前記初期姿勢となる際の前記ロボットアームに搭載されたセンサの初期位置座標をセンサ初期位置記憶部から取得し、
物理的な凹又は凸を含む所定形状を有するキャリブレーションジグの三次元モデルデータを前記センサにより取得し、
前記三次元モデルデータから検出される前記所定形状の検出位置座標を取得し、
前記検出位置座標と、予め登録された前記所定形状の登録位置座標との差分を取得し、
前記センサの前記初期位置座標と前記差分に基づいて、センサ座標系とロボット座標系を対応付ける、情報処理方法。
【請求項2】
請求項1に記載の情報処理方法であって、
前記キャリブレーションジグの三次元モデルデータを取得する際に、前記キャリブレーションジグの表面をX‐Y平面とした場合におけるX軸方向の1次元のスキャンを行いながらY軸方向に前記センサを移動させて前記キャリブレーションジグの表面の三次元モデルデータを取得する、情報処理方法。
【請求項3】
請求項2に記載の情報処理方法であって、
X軸方向の1次元のスキャンを行いながらY軸方向に前記センサを移動させて前記キャリブレーションジグの表面の三次元モデルデータを取得する際に、Y軸方向に前記センサを移動させる移動前における前記キャリブレーションジグと前記センサの距離と、Y軸方向に前記センサを移動させる移動後における前記キャリブレーションジグと前記センサの距離とが一致するように、前記ロボットアームの動作が制御される、情報処理装置。
【請求項4】
請求項2に記載の情報処理方法であって、
物理的な凹凸形状を有するキャリブレーションジグの三次元モデルデータを前記センサにより取得する際に、前記キャリブレーションジグの表面に直行するZ軸周りに前記センサと前記キャリブレーションジグの相対角度を回転させて、前記センサによる前記三次元モデルデータの取得を複数回行う、情報処理方法。
【請求項5】
請求項2に記載の情報処理方法であって、
物理的な凹凸形状を有するキャリブレーションジグの三次元モデルデータを前記センサにより取得する際に、前記X軸方向の軸周りに前記センサを回転させて、前記センサによる前記三次元モデルデータの取得を複数回行う、情報処理方法。
【請求項6】
請求項1に記載の情報処理方法であって、
前記所定形状は、前記キャリブレーションジグの縦方向又は横方向の中央位置に設けられ、予め登録された前記所定位置のセンサ座標系における前記登録位置座標は、前記センサによる検出範囲の中央位置の座標として登録される、情報処理方法。
【請求項7】
請求項1乃至6のいずれかに記載の情報処理方法を用いた製品の製造方法。
【請求項8】
情報処理システムであって、
ロボットアームを予め記録された初期姿勢に制御するロボット制御部と、
前記ロボットアームが前記初期姿勢となる際の前記ロボットアームに搭載されたセンサの初期位置座標をセンサ初期位置記憶部から取得するセンサ初期位置座標取得部と、
物理的な凹又は凸を含む所定形状を有するキャリブレーションジグの三次元モデルデータを前記センサにより取得する三次元モデルデータ取得部と、
前記三次元モデルデータから検出される前記所定形状の検出位置座標を取得する所定形状位置取得部と、
前記検出位置座標と、予め登録された前記所定形状の登録位置座標との差分を取得する差分取得部と、
前記センサの前記初期位置座標と前記差分に基づいて、センサ座標系とロボット座標系を対応付ける座標変換処理部と、
を備える情報処理システム。
【請求項9】
情報処理方法をコンピュータに実行させるためのプログラムであって、
前記プログラムは、前記情報処理方法として、
ロボットアームを予め記録された初期姿勢とするとともに、前記ロボットアームが前記初期姿勢となる際の前記ロボットアームに搭載されたセンサの初期位置座標をセンサ初期位置記憶部から取得する処理と、
物理的な凹又は凸を含む所定形状を有するキャリブレーションジグの三次元モデルデータを前記センサにより取得する処理と、
前記三次元モデルデータから検出される前記所定形状の検出位置座標を取得する処理と、
前記検出位置座標と、予め登録された前記所定形状の登録位置座標との差分を取得する処理と、
前記センサの前記初期位置座標と前記差分に基づいて、センサ座標系とロボット座標系を対応付ける処理と、
をコンピュータに実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理方法、製品の製造方法、情報処理システム、プログラムに関する。
【背景技術】
【0002】
従来から、センサやカメラなどの計測器から得た情報を基に制御される作業用ロボットアームが存在しており、このような作業用ロボットアームを動作させる前に計測機器と作業用ロボットの座標合わせを行うキャリブレーションが実施されていた(例えば、特許文献1を参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、例えば特許文献1に記載のキャリブレーションの場合、キャリブレーション処理の際に、作業用ロボットアームに取り付けられたツールの先端を計測対象物に当接させて、当接させた状態において取得したロボット座標系の座標情報を用いて、キャリブレーションを行うことが必要であった。そのため、キャリブレーションを行うために、ロボットアームに計測対象物に当接させる専用ツールを設置する作業に時間を要する。また、ツールをゆっくり動かして計測対象物に当接させる必要があり、キャリブレーション作業に時間が掛かるという点で改善の余地を有していた。
【0005】
本発明はこのような背景を鑑みてなされたものであり、計測対象物に当接することなく、キャリブレーションを行う情報処理システムを提供することが可能である。
【課題を解決するための手段】
【0006】
上記課題を解決するための本発明の主たる発明は、情報処理方法であって、ロボットアームを予め記録された初期姿勢とするとともに、前記ロボットアームが前記初期姿勢となる際の前記ロボットアームに搭載されたセンサの初期位置座標をセンサ初期位置記憶部、又はユーザの入力を受け付ける端末から取得し、物理的な凹又は凸を含む所定形状を有するキャリブレーションジグの三次元モデルデータを前記センサにより取得し、前記三次元モデルデータから検出される前記所定形状の検出位置座標を取得し、前記検出位置座標と、予め登録された前記所定形状の登録位置座標との差分を取得し、前記センサの前記初期位置座標と前記差分に基づいて、センサ座標系とロボット座標系を対応付ける、情報処理方法である。
【0007】
その他本願が開示する課題やその解決方法については、発明の実施形態の欄及び図面により明らかにされる。
【発明の効果】
【0008】
本発明によれば、計測対象物に当接することなく、キャリブレーションを行う情報処理システムを提供することができる。
【図面の簡単な説明】
【0009】
【
図1】本実施形態の一の情報処理システム100の全体構成例を示す図である。
【
図2】本実施形態に係る端末1のハードウェア構成例を示す図である。
【
図3】本実施形態に係る端末1の機能構成例を示す図である。
【
図4】本実施形態に係るアーム、センサ及びキャリブレーションジグの位置関係を示す図である。
【
図5】本実施形態に係る対象物60の構成例を示す図である。
【
図6】本実施形態に係る対象物60をセンサでセンシングする一例を示す図である。
【
図7】本実施形態に係る情報処理方法のフローチャート例を示す図である。
【
図8】本実施形態に係る三次元モデルデータ計測方法のフローチャート例を示す図である。
【
図9】本実施形態に係るセンサのZ軸周りの角度を90°とした場合のキャリブレーションジグとセンシング位置の関係を示す図である。
【
図10】本実施形態に係るセンサのZ軸周りの角度を180°とした場合のキャリブレーションジグとセンシング位置の関係を示す図である。
【
図11】本実施形態に係るセンサのZ軸周りの角度を-90°とした場合のキャリブレーションジグとセンシング位置の関係を示す図である。
【
図12】本実施形態に係るセンサのZ軸周りの角度を-180°とした場合のキャリブレーションジグとセンシング位置の関係を示す図である。
【発明を実施するための形態】
【0010】
本発明の実施形態の内容を列記して説明する。本発明は、たとえば以下のような構成を備える。
【0011】
[項目1]
情報処理方法であって、
ロボットアームを予め設定された初期姿勢とするとともに、前記ロボットアームが前記初期姿勢となる際の前記ロボットアームに搭載されたセンサの初期位置座標をセンサ初期位置記憶部から取得し、
物理的な凹又は凸を含む所定形状を有するキャリブレーションジグの三次元モデルデータを前記センサにより取得し、
前記三次元モデルデータから検出される前記所定形状の検出位置座標を取得し、
前記検出位置座標と、予め登録された前記所定形状の登録位置座標との差分を取得し、
前記センサの前記初期位置座標と前記差分に基づいて、センサ座標系とロボット座標系を対応付ける、情報処理方法。
[項目2]
項目1に記載の情報処理方法であって、
前記キャリブレーションジグの三次元モデルデータを取得する際に、前記キャリブレーションジグの表面をX‐Y平面とした場合におけるX軸方向の1次元のスキャンを行いながらY軸方向に前記センサを移動させて前記キャリブレーションジグの表面の三次元モデルデータを取得する、情報処理方法。
[項目3]
項目2に記載の情報処理方法であって、
X軸方向の1次元のスキャンを行いながらY軸方向に前記センサを移動させて前記キャリブレーションジグの表面の三次元モデルデータを取得する際に、Y軸方向に前記センサを移動させる移動前における前記キャリブレーションジグと前記センサの距離と、Y軸方向に前記センサを移動させる移動後における前記キャリブレーションジグと前記センサの距離とが一致するように、前記ロボットアームの動作が制御される、情報処理装置。
[項目4]
項目2に記載の情報処理方法であって、
物理的な凹凸形状を有するキャリブレーションジグの三次元モデルデータを前記センサにより取得する際に、前記キャリブレーションジグの表面に直行するZ軸周りに前記センサと前記キャリブレーションジグの相対角度を回転させて、前記センサによる前記三次元モデルデータの取得を複数回行う、情報処理方法。
[項目5]
項目2に記載の情報処理方法であって、
物理的な凹凸形状を有するキャリブレーションジグの三次元モデルデータを前記センサにより取得する際に、前記X軸方向の軸周りに前記センサを回転させて、前記センサによる前記三次元モデルデータの取得を複数回行う、情報処理方法。
[項目6]
項目1に記載の情報処理方法であって、
前記所定形状は、前記キャリブレーションジグの縦方向又は横方向の中央位置に設けられ、予め登録された前記所定位置のセンサ座標系における前記登録位置座標は、前記センサによる検出範囲の中央位置の座標として登録される、情報処理方法。
[項目7]
項目1乃至6のいずれかに記載の情報処理方法を用いた製品の製造方法。
[項目8]
情報処理システムであって、
ロボットアームを予め記録された初期姿勢に制御するロボット制御部と、
前記ロボットアームが前記初期姿勢となる際の前記ロボットアームに搭載されたセンサの初期位置座標をセンサ初期位置記憶部から取得するセンサ初期位置座標取得部と、
物理的な凹又は凸を含む所定形状を有するキャリブレーションジグの三次元モデルデータを前記センサにより取得する三次元モデルデータ取得部と、
前記三次元モデルデータから検出される前記所定形状の検出位置座標を取得する所定形状位置取得部と、
前記検出位置座標と、予め登録された前記所定形状の登録位置座標との差分を取得する差分取得部と、
前記センサの前記初期位置座標と前記差分に基づいて、センサ座標系とロボット座標系を対応付ける座標変換処理部と、
を備える情報処理システム。
[項目9]
情報処理方法をコンピュータに実行させるためのプログラムであって、
前記プログラムは、前記情報処理方法として、
ロボットアームを予め記録された初期姿勢とするとともに、前記ロボットアームが前記初期姿勢となる際の前記ロボットアームに搭載されたセンサの初期位置座標をセンサ初期位置記憶部から取得する処理と、
物理的な凹又は凸を含む所定形状を有するキャリブレーションジグの三次元モデルデータを前記センサにより取得する処理と、
前記三次元モデルデータから検出される前記所定形状の検出位置座標を取得する処理と、
前記検出位置座標と、予め登録された前記所定形状の登録位置座標との差分を取得する処理と、
前記センサの前記初期位置座標と前記差分に基づいて、センサ座標系とロボット座標系を対応付ける処理と、
をコンピュータに実行させる、プログラム。
[項目10]
情報処理方法をコンピュータに実行させるためのプログラムの記録媒体であって、
前記プログラムは、前記情報処理方法として、
ロボットアームを予め記録された初期姿勢とするとともに、前記ロボットアームが前記初期姿勢となる際の前記ロボットアームに搭載されたセンサの初期位置座標をセンサ初期位置記憶部から取得する処理と、
物理的な凹又は凸を含む所定形状を有するキャリブレーションジグの三次元モデルデータを前記センサにより取得する処理と、
前記三次元モデルデータから検出される前記所定形状の検出位置座標を取得する処理と、
前記検出位置座標と、予め登録された前記所定形状の登録位置座標との差分を取得する処理と、
前記センサの前記初期位置座標と前記差分に基づいて、センサ座標系とロボット座標系を対応付ける処理と、
をコンピュータに実行させる、プログラムの記録媒体。
【0012】
<実施の形態の詳細>
本発明の一実施形態に係る情報処理システム100の具体例を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。以下の説明では、添付図面において、同一または類似の要素には同一または類似の参照符号及び名称が付され、各実施形態の説明において同一または類似の要素に関する重複する説明は省略することがある。また、各実施形態で示される特徴は、互いに矛盾しない限り他の実施形態にも適用可能である。
【0013】
図1は、本実施形態の情報処理システム100の一例を示す図である。
図1に示されるように、本実施形態の情報処理システム100では、端末1と、作業用ロボット2と、コントローラ3を有している。作業用ロボット2は、少なくともアーム21、センサ23を有している。端末1と作業用ロボット2とコントローラ3は、有線または無線にて互いに通信可能に接続されている。
【0014】
<端末1>
図2は、端末1のハードウェア構成を示す図である。端末1は、例えばパーソナルコンピュータのような汎用コンピュータとしてもよいし、或いはクラウド・コンピューティングによって論理的に実現されてもよい。なお、図示された構成は一例であり、これ以外の構成を有していてもよい。例えば、端末1のプロセッサ10に設けられる一部の機能が外部のサーバや別端末により実行されてもよい。
【0015】
端末1は、少なくとも、プロセッサ10、メモリ11、ストレージ12、送受信部13、入力部14、出力部15等を備え、これらはバス16を通じて相互に電気的に接続される。
【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は、キーボード・マウス類等の情報入力機器である。また、出力部15は、ディスプレイ、スピーカー等の出力機器である。
【0021】
バス16は、上記各要素に共通に接続され、例えば、アドレス信号、データ信号及び各種制御信号を伝達する。
【0022】
<作業用ロボット2>
図1に戻り、本実施形態に係る作業用ロボット2について説明する。
【0023】
上述のとおり、作業用ロボット2は、アーム21と、センサ23とを有する。また、作業用ロボット2は、図示しないツール22を更に有していても良い。なお、図示された構成は一例であり、これ以外の構成を有していてもよい。
【0024】
アーム21は、三次元のロボット座標系に基づき、端末1にその動作を制御される。また、アーム21は、有線または無線で作業用ロボット2と接続されたコントローラ3によりその動作を制御されてもよい。ツール22は、三次元のツール座標系に基づき、端末1にその動作を制御される。また、ツール22の構成は、用途に合わせて何れのツールを備えていてもよく、例えば、溶接用トーチや塗装用塗料噴射装置、把持装置、掘削装置、研磨装置などであってもよい。上記したツールを備えることで作業用ロボットを用いて、工業機械や電気機器、その他食品などの製品を製造することができる。
【0025】
センサ23は、三次元のセンサ座標系に基づき、キャリブレーションジグを含む対象物のセンシングを行う。センサ23は、例えば三次元スキャナとして動作するレーザセンサであり、センシングにより対象物の三次元モデルデータ41を取得する。三次元モデルデータは、例えば、
図4に示されるような三次元点群データであり、それぞれの点データがセンサ座標を有し、点群により対象物の形状を把握することが可能となる。なお、センサ23は、レーザセンサに限らず、例えばステレオ方式などを用いた画像センサなどであってもよく、三次元のセンサ座標系が取得できるものであればよい。
【0026】
より具体的には、作業前に所定のキャリブレーションを行い、ロボット座標系及びセンサ座標系を互いに対応付け、例えばセンサ座標系を基にユーザが位置を指定することにより、アーム21やツール22が対応した位置を基に動作制御されるように構成をなす。ロボット座標系及びツール座標系の対応付けは既知の方法で行われてよく、ロボット及びツールを提供する事業者により対応付けがなされていることが通常であり、本発明として、その後のセンサ座標系のキャリブレーションについて、後述する。
【0027】
<端末1の機能>
図3は、端末1に実装される機能を例示したブロック図である。本実施の形態においては、端末1のプロセッサ10は、ロボット制御部101、センサ初期位置座標取得部102、スキャン条件取得部103、三次元モデルデータ取得部104、所定形状位置取得部105、差分取得部106、座標変換処理部107を有している。また、端末1のストレージ12は、ロボット初期姿勢記憶部121、センサ初期位置記憶部122、三次元モデルデータ記憶部123、所定形状位置記憶部124を有している。
【0028】
ロボット制御部101は、ロボットアームを構成する各アクチュエータの動作を制御してロボットアームを任意の姿勢に制御することで、アームに設置されたセンサ23の位置と姿勢を制御することができる。ロボット制御部101は、キャリブレーションを開始する際には、ロボット初期姿勢記憶部121に記憶されたロボットの初期姿勢に関する情報に基づいて、ロボットを初期姿勢となるように制御する。また、ロボット初期姿勢記憶部121に記憶されたロボットの初期姿勢に関する情報は、端末1の入力部やコントローラ3を介してユーザが入力することができる。
【0029】
センサ初期位置座標取得部102は、センサが理想的な状態でロボットアームに設置された場合のセンサのロボット座標系における位置座標を初期位置座標として取得する。一例として、上述した初期位置座標が予めセンサ初期位置記憶部122に記憶されている場合には、当該センサ初期位置記憶部122から初期位置座標を取得する。また、初期位置座標は、端末1の入力部やコントローラ3を介してユーザが入力することができる。さらに、センサ初期位置記憶部122に、センサの初期位置座標に加えて、初期姿勢角も予め登録されている場合には、センサ初期位置座標取得部102は、センサの初期位置座標と初期姿勢角を取得する。
【0030】
スキャン条件取得部103は、スキャンを行う回数とそのスキャン条件の少なくともいずれかを取得する。スキャン条件は、端末1の入力部やコントローラ3を介して、ユーザにより入力することができる。また、スキャン条件として、センサの姿勢角を入力することができ、例えば、Z軸周り、X軸周り、Y軸周りの任意の角度を設定することができる。また、スキャン条件として、複数の姿勢角度を設定することで、各姿勢角度で複数回スキャンを行うことができる。
【0031】
三次元モデルデータ取得部104は、スキャン条件取得部103により取得されたスキャン条件に従って、センサにより計測される対象物(キャリブレーションジグを含む)の三次元モデルデータを取得する。スキャン条件として複数のセンサの姿勢角度が設定されている場合には、各姿勢角度により複数回スキャンを行って、各姿勢角度によりセンサが計測した三次元モデルデータを取得する。取得された三次元モデルデータは、三次元モデルデータ記憶部123に記憶される。
【0032】
所定形状位置取得部105は、三次元モデルデータ取得部104により取得された対象物であるキャリブレーションジグの三次元モデルデータに基づいて、キャリブレーションジグに設けられた物理的な凹又は凸を含む所定形状の位置を取得する。例えば、所定形状が深さが5mmの溝状の凹形状である場合には、三次元モデルデータから5mmの溝が検出されたセンサ座標系における位置を所定形状の検出位置座標として取得する。
【0033】
差分取得部106は、所定形状位置取得部105により取得された所定形状の検出位置座標と、所定形状位置記憶部124に予め登録された所定形状のキャリブレーションジグ上における登録位置座標とを比較して、位置の差分を取得する。なお、所定形状位置記憶部124に登録されてた所定形状の位置座標は、センサ座標系における位置座標とすることで、センサ座標系において、所定形状の検出位置座標と登録位置座標を比較して、位置座標の差分を取得することができる。
【0034】
座標変換処理部107は、センサ初期位置座標取得部102で取得したセンサの初期位置座標(及び初期姿勢角)と、差分取得部106で取得した位置の差分に基づいて、ロボット座標系のセンサ位置を補正して、補正後のロボット座標系のセンサ位置を用いて、センサ座標系とロボット座標系を対応付ける処理を行う。なお、センサ座標系とロボット座標系を対応付ける方法は、上記したようにロボット座標系のセンサ位置を補正することを行わず、センサの初期位置座標(及び初期姿勢角)と、差分取得部106で取得した位置の差分に基づいた演算により、直接センサ座標系とロボット座標系を対応付ける方法であっても良い。
【0035】
<ロボット座標系とセンサ座標系の関係>
図4は、アーム、センサ及びキャリブレーションジグの位置関係を示す図である。本実施形態において、センサ23はアーム21の先端の所定のセンサ設置位置に設けられることで、ロボットアームを初期姿勢とした場合に、センサをロボット座標系(Xf,Yf,Zf)における初期位置座標に位置させることができる。また、センサのセンシング方向に置かれたキャリブレーションジグ60は、センサにより表面形状が三次元モデルデータとして計測される。その際、三次元モデルデータは、センサ座標系(Xs,Ys,Zs)における位置座標の情報を有する三次元点群データとして取得される。
【0036】
ここで、アーム先端の所定のセンサ設置位置にセンサを取り付ける際、現実には、センサの取付位置には誤差が発生する。そのため、理想的なセンサ取付位置と実際のセンサ取付位置の誤差に起因して、センサで計測したセンサ座標系における三次元モデルデータをロボット座標系と正しく対応付けることができない。しかし、本発明に技術によると、当該取付誤差が発生してもセンサ座標系とロボット座標系を正しく対応付けることができる。
【0037】
<キャリブレーションジグ60>
図5は、本実施形態の情報処理方法に用いられる対象物60(キャリブレーションジグ)の構成例を示すが、素材や形状等はこれに限定されるものではない。
図5に示す例では、横方向をX軸、縦方向をY軸と定義している。
【0038】
一例として、対象物60は平板形状の金属製または樹脂製のプレートであり、所定の平面に
図5の示されるような構成が設けられている。すなわち、Y軸方向に設けられた第1の直線61を中央として、第1の直線61と略平行な方向(Y軸方向)に、第4の直線64と第5の直線65がX軸方向の左右両側に設けられる。つまり、第1の直線61に左側に第4の直線64が、右側に第5の直線65がそれぞれ設けられる。さらに、第1の直線61と第4の直線64と第5の直線65と略垂直方向であるX軸方向に第2の直線62と第3の直線63が設けられる。
図5に示す例では、キャリブレーションジグ60の上側に第2の直線62が設けられ、下側に第3の直線63が設けられる。上記したようにキャリブレーションジグが平板形状であるため、球体等のジグに比べて位置決めが容易であり、各直線などをジグに設ける加工も容易となる。
【0039】
さらに、第2の直線62と第4の直線64の交点部分(
図5の左上部分)に第1の穴部71が設けられ、第2の直線62と第5の直線65の交点部分(
図5の右上部分)に第2の穴部72が設けられ、第3の直線63と第4の直線64の交点部分(
図5の左下部分)に第3の穴部73が設けられ、第3の直線63と第5の直線65の交点部分(
図5の右下部分)に第4の穴部74が設けられる。これらの直線や穴部を含む形状は所定形状位置記憶部124に記録されており、これらの直線や穴部の少なくともいずれかを所定形状とすることができる。
【0040】
これらの直線や穴部は、キャリブレーションジグ60の表面から物理的な凹又は凸の凹凸形状として設けられる。各直線は、溝状に窪んでいてもよいし、貫通する構成であっても良い。また、溝のような凹形状ではなく突起した凸形状であっても良い。また、
図5において縦方向に設けられた第1の直線61、第4の直線64、第5の直線65の凹凸の幅又は高さ/深さは、横方向に設けられた第2の直線62、第3の直線63とは異なる値にしても良い。このように、複数の直線の一部の凹凸形状の幅又は高さ/深さを他の凹凸形状とは異なるように構成することで、キャリブレーションジグ60の上下方向や左右方向を検出することが容易となる。
【0041】
各穴部は窪んでいてもよいし、貫通する構成であってもよい。これらの穴部の形状は図示されるものに限定されず、後述のフローチャートが実施可能な形状であれば、他の形状であってもよいし、互いに異なる形状であってもよい。また、
図5では第2の穴部72のほうが、他の穴部(第1の穴部71、第3の穴部73、第4の穴部74)よりも小さく形成されているが、これに限らず、第2の穴部72のほうが大きく形成されていてもよい。さらに、穴形状に限らず突起でもよい。また、
図5に示すように、複数の穴部のうち一部の穴部の大きさが他の穴部と異なる形状とすることにより、キャリブレーションジグ60の上下方向や左右方向を検出することができ、センサ座標系とロボット座標系を含む他の座標系との対応付けをより容易に行うことができる。
【0042】
図6Aは、キャリブレーションジグ60をセンサ23でセンシングする際のセンシング位置とキャリブレーションジグ60の位置関係を示す図である。
図6Aに示す通り、キャリブレーションジグ60の表面をX-Y平面定義している。
図6Bは、
図6Aに示すセンシング位置をセンシングした場合にセンサで計測されるセンシング結果を示す図である。
図6Aに示す例では、センサによるセンシングを開始する際のセンシング位置を示しており、ロボットアームを制御して、センサ位置をY軸方向に移動させながら、Y軸方向にセンシング位置を移動させることにより、キャリブレーションジグ60の全体の三次元モデルデータを取得することができる。
図6Aに示すように、センサによるセンシングを開始する際のセンシング位置をセンシングした場合、センシング結果は、
図6Bに示すようなプロファイルとなる。つまり、センシング位置の中央に溝形状で第1の直線61が設けられている実施形態においては、
図6Bに示すように、センシング位置の中央部分のZ軸方向のセンシング結果の値が低くなり、溝形状に沿った三次元形状が検出される。
【0043】
ここでX軸方向の1次元のスキャンを行いながらY軸方向にセンサを移動させてキャリブレーションジグの表面の三次元モデルデータを取得する際に、Y軸方向にセンサを移動させる移動前におけるキャリブレーションジグとセンサの距離と、Y軸方向にセンサを移動させる移動後におけるキャリブレーションジグとセンサの距離とが一致するように、ロボット制御部は、ロボットアームの動作を制御する。計測された三次元モデルデータにおける所定位置(例えば、第1の直線61と第3の直線63の交点)の座標を検出し、所定形状位置記憶部124に記憶された所定位置(例えば、第1の直線61と第3の直線63の交点)の座標と比較することで、理想的な位置からのズレを座標の差分として検出することができる。
【0044】
<情報処理方法(キャリブレーション方法)のフローチャート>
図7は、本実施形態の情報処理システム100における情報処理方法のフローチャートの一例である。
【0045】
まず、ロボット制御部101により、ロボットアームを構成する各アクチュエータの動作を制御して、ロボット初期姿勢記憶部121に記憶されたロボットの初期姿勢に関する情報に基づいて、ロボットを初期姿勢となるように制御する(S101)。次に、センサ初期位置座標取得部102により、センサ初期位置記憶部122に記憶された初期位置座標を取得する(S102)。次に、三次元モデルデータ取得部104により、センサを用いて対象物(キャリブレーションジグを含む)の三次元モデルデータを取得する(S103)。S103の三次元モデルデータの取得処理は後述する
図8において詳細に説明する。次に、所定形状位置取得部105により、計測した三次元モデルデータに基づいてキャリブレーションジグに設けられた物理的な所定形状の位置を取得する(S104)。次に、差分取得部106により、取得された所定形状の検出位置座標と、所定形状位置記憶部124に予め登録された所定形状のキャリブレーションジグ上における登録位置座標とを比較して、検出位置座標と登録位置座標の差分を取得する(S105)。次に、差分に基づいてロボット座標系のセンサ位置を補正する(S106)。最後に、座標変換処理部107により、センサ座標系とロボット座標系の対応付けを行う(S107)。
【0046】
図8は、
図7におけるS103で示した三次元モデルデータ計測方法のフローチャート例を示す図である。本フローチャートにおいては、まず、スキャン条件取得部103により、ユーザにより入力されたスキャン条件を取得する(S201)。ここで取得するスキャン条件は、スキャンを行う際のセンサの姿勢角を入力することができ、ここでは、Z軸周りの5つの角度(0°、90°、180°、-90°、-180°)を設定した場合を説明する。
【0047】
次に、設定したスキャン条件の角度にロボットアームを制御する(S202)。次に、センサを用いてセンシングを実行して、三次元モデルデータを取得する(S203)。次に、取得した三次元モデルデータを三次元モデルデータ記憶部123に記憶する(S204)。次に、設定されたスキャン条件の全スキャン条件でのセンシングが完了したか否かを判断し、全スキャン条件でのセンシングが完了した場合には、三次元モデルデータ計測の処理を終了し、センシングを行っていないスキャン条件が残っている場合は、S202の処理に戻り、次のスキャン条件の角度にロボットアームを制御する。以降、全スキャン条件でのセンシングが完了するまで、本フローチャートに基づく処理を継続する。
【0048】
図9~12は、スキャン条件としてセンサのZ軸周りの角度を5つの角度(0°、90°、180°、-90°、-180°)に設定した場合に、センサの角度を90°(
図9)、180°(
図10)、-90°(
図11)、-180°(
図12)にそれぞれ設定した際のセンシング開始時のセンシング位置とキャリブレーションジグ60の位置関係を示す図である。
【0049】
図9~12において、センシング位置は、センシング開始時のセンシング位置を示しており、センシング開始後、Y軸方向(図面上側)にセンサ位置が移動しながらセンシングを実行するため、センシング位置がY軸方向(図面上側)に移動し、キャリブレーションジグ全体の三次元モデルデータを取得する。このように、スキャン条件として複数のセンサ角度でセンシングを実行することにより、キャリブレーションジグの三次元モデルデータを異なる方向からセンシングすることができるため、実際のセンサ取付位置が理想的なセンサ取付位置からズレている場合に、精度よくズレを検出することができる。
【0050】
キャリブレーションジグの材料は特に限定されるものではないが、熱膨張係数が低い材料が好ましい。金属が例示される。また、低い熱膨張係数及び高い加工性を兼ね備えた材料が更に好ましく、合金、特に炭素含有金属が例示される。炭素鋼、等が挙げられる。
【0051】
以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
【符号の説明】
【0052】
1 端末
2 作業用ロボット
3 コントローラ
21 アーム
22 ツール
23 センサ