JP2023162117A - 情報処理システム、情報処理方法、ロボットシステム、ロボットシステムの制御方法、ロボットシステムを用いた物品の製造方法、プログラム、記録媒体 - Google Patents

情報処理システム、情報処理方法、ロボットシステム、ロボットシステムの制御方法、ロボットシステムを用いた物品の製造方法、プログラム、記録媒体 Download PDF

Info

Publication number
JP2023162117A
JP2023162117A JP2023039698A JP2023039698A JP2023162117A JP 2023162117 A JP2023162117 A JP 2023162117A JP 2023039698 A JP2023039698 A JP 2023039698A JP 2023039698 A JP2023039698 A JP 2023039698A JP 2023162117 A JP2023162117 A JP 2023162117A
Authority
JP
Japan
Prior art keywords
measurement
information processing
robot
model
processing system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023039698A
Other languages
English (en)
Inventor
聡 菅谷
Satoshi Sugaya
聡 温品
Satoshi Nukushina
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to US18/301,354 priority Critical patent/US20230339103A1/en
Priority to CN202310442985.2A priority patent/CN116945157A/zh
Publication of JP2023162117A publication Critical patent/JP2023162117A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

【課題】装置とその周辺環境のモデルを、シミュレーション装置に効率的に取得させ得る方法が求められていた。【解決手段】物体の形状を測定可能な測定部を備えた可動部を有する装置と、仮想モデルを用いて、仮想空間にて前記装置の動作シミュレーションを行うシミュレーション部と、を備え、前記可動部が前記測定部を所定の測定ポイントに移動させ、前記装置の周囲環境に存する対象物を、前記所定の測定ポイントにて前記測定部が測定し、測定した結果と前記所定の測定ポイントに係る情報とを用いて、前記対象物の位置情報を含むモデルを取得し、前記シミュレーション部は、前記モデルを用いて、前記仮想空間に前記対象物の仮想モデルを設定する、ことを特徴とする情報処理システムである。【選択図】図2

Description

本発明は、情報処理システム、ロボットシステムに関する。
ロボット等の装置に所定の動作を行わせる制御プログラムを開発する方法として、装置を実際に動作させて周辺環境にある物体と干渉しないか等を確認しながら、装置に動作を教示する方法が知られている。しかし、実機を動作させてのプログラム開発では、実際に干渉が発生して装置が破損する危険があるうえ、動作の確認にも時間がかかり、制御プログラムの開発を効率的に行えない場合がある。
そこで、装置およびその周辺環境にある物体の3次元モデル情報を用いて仮想空間内で装置モデルを動作させ、装置モデルが物体モデルと干渉しないか等を確認しながら装置の制御プログラムを開発する方法が試みられている。仮想空間内におけるシミュレーションが適切に行われるためには、装置およびその周辺環境の正確な3次元モデルを、予めシミュレーション装置に構築しておく必要がある。
装置の周辺環境にある物体としては、例えば壁や柱などの構造物や、当該装置の周辺に設置された他の装置などが有り得るが、それら物体の三次元形状情報(例えばCADデータ)が必ずしも存在するとは限らない。
特許文献1には、基準面に載置した対象物を計測して点群データを取得し、点群データからサーフェスデータを作成し、さらにサーフェスデータを用いてソリッドデータを作成して、CADシステム上に3次元モデルを作成する方法が記載されている。
特開2003-345840号公報
装置の周辺環境にある物体の三次元形状情報(例えば3DCADデータ)が存在しない場合に、その物体が基準面に載置できる物であれば、特許文献1の方法によりCADシステム上に3次元モデルを作成することができる。しかし、壁や柱などのように測定装置の基準面に載置できない構造物については、特許文献1の方法では三次元形状情報を取得することはできない。
また、装置の周辺環境にある物体の三次元形状情報(例えば3DCADデータ)を入手できたとしても、それだけでは装置に対する位置関係が不明であるため、装置とその周辺環境の正確な3次元モデルを仮想空間に構築するのは容易ではなかった。そのため、シミュレーション装置を用いた所謂オフラインシミュレーションを立ち上げるのには、多大な時間と労力を要し、装置の制御プログラムの開発を迅速に行う妨げとなっていた。
そこで、装置とその周辺環境のモデルを、シミュレーション装置に効率的に取得させ得る方法が求められていた。
本発明の第1の態様は、物体の形状を測定可能な測定部を備えた可動部を有する装置と、仮想モデルを用いて、仮想空間にて前記装置の動作シミュレーションを行うシミュレーション部と、を備え、前記可動部が前記測定部を所定の測定ポイントに移動させ、前記装置の周囲環境に存する対象物を、前記所定の測定ポイントにて前記測定部が測定し、測定した結果と前記所定の測定ポイントに係る情報とを用いて、前記対象物の位置情報を含むモデルを取得し、前記シミュレーション部は、前記モデルを用いて、前記仮想空間に前記対象物の仮想モデルを設定する、ことを特徴とする情報処理システムである。
また、本発明の第2の態様は、物体の形状を測定可能な測定部を備えた可動部を有するロボットと、仮想モデルを用いて、仮想空間にて前記ロボットの動作シミュレーションを行うシミュレーション部と、を備え、前記可動部が前記測定部を所定の測定ポイントに移動させ、前記ロボットの周囲環境に存する対象物を、前記所定の測定ポイントにて前記測定部が測定し、測定した結果と前記所定の測定ポイントに係る情報とを用いて、前記対象物の位置情報を含むモデルを取得し、前記シミュレーション部は、前記モデルを用いて、前記仮想空間に前記対象物の仮想モデルを設定する、ことを特徴とするロボットシステムである。
本発明によれば、装置とその周辺環境のモデルを、シミュレーション装置に効率的に取得させることができる。
実施形態1に係る情報処理システム100の概略構成を示す模式図。 実施形態1に係る情報処理システム100を説明するための機能ブロック図。 ロボット制御装置A、ビジョンセンサ制御装置B、モデル作成装置C、シミュレーション装置Dのそれぞれの構成を示す図。 撮像準備の手順を説明するためのフローチャート。 (a)ビジョンセンサ102が精度よく測定(撮像)できる測定範囲IMA(測定範囲)を説明するための図。(b)測定ポイントの設定を説明するための概念図。 (a)測定ポイントを教示する第2の教示方法を説明するための模式図。(b)測定ポイントの自動的な設定について説明するための図。 測定ポイントの好適な設定方法を説明するための図。 撮像(測定)の手順を説明するためのフローチャート。 各測定ポイントで取得された点群データについての合成処理、フィルタ処理を説明するための模式図。 3次元モデル生成の手順を説明するためのフローチャート。 モデル生成の各工程におけるデータ形態の推移を説明するための模式図。 仮想空間中に正しい位置関係で生成された仮想モデル101Mと仮想モデル103Mが、表示装置Eに表示された例を示す図。 実施形態2に係る測定設定画面400の例図。 実施形態2に係るフローチャート。 実施形態2に係る仮想空間を示した例図。 (a)実施形態2に係る測定ポイントの取得に関し、センサ情報より計算する分割幅を説明するための模式図。(b)測定領域の分割を説明するための模式図。 (a)実施形態2に係る測定ポイントとロボットの姿勢に関し、角度0度の測定ポイントの状態を示した模式図。(b)X軸方向にDrxだけ傾けた測定ポイントの状態を示した模式図。 (a)実施形態2に係る測定ポイントとロボットの姿勢に関し、移動禁止領域とロボットが干渉している状態を示す模式図。(b)同じ位置で角度が異なる測定ポイントのロボットの状態を示す模式図。 実施形態3に係るフローチャート。 実施形態3に係る測定ポイントの階層化について説明するための模式図。 (a)実施形態3に係る測定ポイントを除外する手順を説明するため、第N階層の測定ポイントおよび測定状態を示す模式図。(b)点群データ取得処理時の模式図。(c)メッシュ化したモデルの模式図。(d)第N+1階層の測定ポイントのセンサ焦点距離の直線モデルとメッシュ化したモデルが交わった状態を示す模式図。(e)除外した測定ポイントを示す模式図。 実施形態4に係る測定設定画面400の例図。 実施形態5に係る情報処理システムの概略構成を示す模式図。 実施形態6に係る情報処理システムの概略構成を示す模式図。 実施形態5および実施形態6に係る情報処理システムの構成を説明するための機能ブロック図。 実施形態7に係るロボット101を示した模式図。
図面を参照して、本発明の実施形態である情報処理システム、ロボットシステム、情報処理方法、等について説明する。尚、以下に示す実施形態は例示であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更して実施をすることができる。
以下の実施形態の説明において参照する図面では、特に但し書きがない限り、同一の参照番号を付して示す要素は、同様の機能を有するものとする。また、図面は、図示および説明の便宜のために模式的に表現されている場合があるため、実物の形状、大きさ、配置などと厳密に一致しているとは限らないものとする。
[実施形態1]
(情報処理システムの構成)
図1は、実施形態1に係る情報処理システム100(ロボットシステム)の概略構成を示す模式図である。また、図2は、情報処理システム100の構成を説明するための機能ブロック図である。尚、図2では本実施形態の特徴を説明するために必要な機能要素を機能ブロックで表しているが、本発明の課題解決原理とは直接関係のない一般的な機能要素については記載を省略している。また、図2に図示された各機能要素は機能概念的なものであり、必ずしも物理的に図示のごとく構成されていることを要しない。例えば、各機能ブロックの分散や統合の具体的形態は図示の例に限らず、その全部または一部を、使用状況等に応じて任意の単位で機能的または物理的に分散・統合して構成することが可能である。各機能ブロックはハードウェアあるいはソフトウェアを用いて構成することができる。
101は可動部を備えた装置としてのロボット、102は測定部としてのビジョンセンサ、103は測定対象物としてのモデル作成対象物、Aはロボット101を制御するロボット制御装置である。Bはビジョンセンサ102を制御するビジョンセンサ制御装置、Cはモデル作成装置、Dはシミュレーション装置、Eは表示装置である。
本実施形態の情報処理システム100は、ロボット101に装着された測定部としてのビジョンセンサ102を用いてモデル作成対象物103を測定する。そして、測定結果を用いてシミュレーション用の3次元モデルを自動的に作成し、シミュレーション部としてのシミュレーション装置Dに格納する。モデル作成対象物103は、ロボット101の周囲環境に存する物体であって、シミュレーション用の3次元モデル(仮想モデル)が未だに作成されていない物体である。モデル作成対象物103の例を挙げるとすれば、ロボット101の可動範囲に存する物体であって、例えばロボット101と協業する装置(部品の搬送装置、加工装置、等)や、例えば壁や柱などの構造物を挙げることができるが、これらに限られない。
可動部を有する装置として、図1に例示されたロボット101は、6軸制御の多関節ロボットであるが、ロボット101はそれ以外の形式のロボットや装置であってもよい。例えば、伸縮、屈伸、上下移動、左右移動もしくは旋回の動作またはこれらの複合動作を行うことができる可動部を備えた装置であってもよい。
ビジョンセンサ102は、ロボット101のアーム先端部あるいはハンドなど、ロボット101の周囲環境を撮像するのに適した所定位置に装着された撮像装置である。撮像画像(測定結果)とロボット座標系の対応付けを可能にするため、ビジョンセンサ102はロボット101の可動部に堅固に固定されるのが望ましいが、位置決め精度が担保される限り着脱可能な方法で一時的に固定されていてもよい。尚、ロボット座標系とは、設置されたロボットの中で動かない部分(例えば基台)を原点として設定される3次元座標系(X,Y,Z)である。(図6(a)参照)。
測定装置としてのビジョンセンサ102は、3次元モデルの作成に適した画像データ(あるいは3次元測定データ)を取得できればどのような装置でもよいが、例えば照明光源付きのステレオカメラが好適に用いられる。また、3次元モデルの作成に適したロボット座標系基準の3次元点群データを測定により取得できるデバイスはステレオカメラに限られるわけではなく、例えば単眼のカメラを用いて、輻輳(視差)をつけて複数の箇所から対象物を撮影して3次元測定データを取得するように構成してもよい。また、撮像センサでなくとも、例えばレーザ光線を利用して物体形状を測定可能なLiDARスキャナ(Light Detecting Ranging Scanner)を測定装置として用いてもよい。尚、以下の説明では、ビジョンセンサ102を用いた撮像のことを、測定と記す場合がある。
ロボット制御装置Aは、モデル作成装置Cから送信されるロボット101の位置・姿勢に関する指令に従って、ロボット101の各関節を動作させる動作制御情報を生成し、ロボット101の動作を制御する機能を有する。
ビジョンセンサ制御装置Bは、モデル作成装置Cから送信される測定指令に基づいて、ビジョンセンサ102を制御する制御信号を生成してビジョンセンサ102に送信する。それと共に、ビジョンセンサ102から出力される測定データをモデル作成装置Cに送信する機能を有する。
モデル作成装置Cは、ロボット制御装置Aに指令を送信して、モデル作成対象物103を測定するための所定の位置・姿勢(測定ポイント)にロボット101を移動させるとともに、ビジョンセンサ制御装置Bに指令を送信してビジョンセンサ102にモデル作成対象物103を測定させ、測定データを取得する機能を有する。さらに、取得した測定データを用いてモデル作成対象物103の3次元モデルを生成し、生成した3次元モデルをロボット座標系を基準とした位置情報とともにシミュレーション装置Dに格納する機能を有する。3次元モデルを生成する手順については後に詳述する。
シミュレーション部としてのシミュレーション装置Dは、モデル作成装置Cから取得した3次元モデル、およびその位置情報を用いて、仮想空間上にロボット101とその周囲環境の仮想モデルを構築する。そして、ロボット101のオフラインシミュレーションを行う機能を有する。シミュレーション装置Dは、モデル作成装置Cが作成した3次元モデルや、ロボット101とその周囲環境の仮想モデルや、オフラインシミュレーションに係る情報等を、適宜に表示装置Eに表示させる機能を有する。また、シミュレーション装置Dは、通信部を介してロボット制御装置A、ビジョンセンサ制御装置B、モデル作成装置Cから取得した情報を、表示装置Eに表示させることもできる。
表示部としての表示装置Eは、シミュレーション装置Dのユーザインタフェースとして用いられるディスプレイである。例えば液晶表示装置や有機EL表示装置のような直視型のフラットパネルディスプレイや、プロジェクションディスプレイや、ゴーグル型のステレオディスプレイや、ホログラフィックディスプレイなどが用いられ得る。また、本実施形態の情報処理システムは、不図示の入力装置として、例えばキーボード、ジョグダイアル、マウス、ポインティングデバイス、音声入力機などの入力デバイスを備えることができる。
尚、図1では、ロボット101、ロボット制御装置A、ビジョンセンサ102、ビジョンセンサ制御装置B、モデル作成装置C、シミュレーション装置D、表示装置Eは、有線通信で接続されているが、これに限られない。例えば、その一部または全部を無線通信で接続してもよいし、LANやインターネットなどの汎用ネットワークを介して接続してもよい。
ロボット制御装置A、ビジョンセンサ制御装置B、モデル作成装置C、シミュレーション装置Dのそれぞれは、上述した各機能を遂行するコンピュータである。図1においては、これらの装置は別々の装置として示されているが、その一部又は全部を統合することも可能である。
これらの装置は、例えば、図3に示す構成をそれぞれが備えている。すなわち、各装置は、プロセッサであるCPU201(Central Processing Unit)と、記憶部203と、入出力インタフェース204を備えている。必要に応じて、GPU202(Graphics Processing Unit)を備えることもできる。記憶部203は、ROM203a(Read Only Memory)、RAM203b(Random Access Memory)、HDD203c(Hard Disk Drive)を備える。CPU201、GPU202、記憶部203、入出力インタフェース204は、互いに通信可能に不図示のバスラインで接続されている。
記憶部203が備えるROM203aは、非一時的な記憶装置であり、コンピュータの起動時にCPU201によって読み出される基本プログラムが格納されている。RAM203bは、CPU201の演算処理に用いられる一時的な記憶装置である。HDD203cは、CPU201が実行する処理プログラムや、CPU201の演算処理結果等の各種データを記憶する非一時的な記憶装置である。ここで、CPU201が実行する処理プログラムとは、各装置が上述した機能を遂行するための処理プログラムであり、CPU201が当該プログラムを実行することにより、各装置には図2に示した機能ブロックの少なくとも一部が構成され得る。例えば、モデル作成装置Cであれば、CPU201が処理プログラムを実行することにより、設定部、モデル化制御部、画像処理部、フィルタ処理部、メッシュ処理部、モデル作成部等の機能ブロックが構成され得る。ただし、画像処理に係る定型的な処理を行う機能ブロックは、処理の高速化のためにCPU201ではなくGPU202によって構成され得る。
入出力インタフェース204には、他の装置やネットワークが接続され得る。例えばデータベース230にデータをバックアップしたり、他の装置との間で命令やデータ等の情報の授受を行うことができる。
[3次元モデルの生成とシミュレーション]
情報処理システム100を用いて3次元モデルを生成する手順について説明する。測定準備、測定、3次元モデル生成、3次元モデルを用いたシミュレーション、について順に説明する。
(測定準備)
図1に示すように、ロボット101およびモデル作成対象物103の位置が固定された状態で、ビジョンセンサ102を用いてモデル作成対象物103を測定するための準備工程を行う。図4は、測定するための準備の手順を説明するためのフローチャートである。
測定準備工程が開始されると、ステップS11にて、ビジョンセンサ102がモデル作成対象物103を撮像する際にロボット101がとるべき測定位置・測定姿勢を、オペレータがモデル作成装置Cに登録する。尚、以後の説明では、測定位置と測定姿勢のことをまとめて測定ポイントと記す場合がある。
測定ポイントを登録する第1の方法は、オペレータがロボット101をオンラインで操作して、モデル作成対象物103の周囲に複数(例えばN個)の測定ポイントを設定情報として登録していく方法である。その際、ビジョンセンサ102が撮像した画像を表示装置Eに表示し、オペレータが画像を確認しながら測定ポイントを設定してゆくことも可能である。
図5(a)に示すように、被写界深度や画像の歪みを考慮すれば、ビジョンセンサ102(例えばステレオカメラ)が精度よく測定(撮像)できる測定範囲IMA(撮像範囲)は、一定の狭い範囲に限られている。そのため、精度の良い3次元モデルを生成するためには、図5(b)に示すように、測定範囲IMAが隙間なくモデル作成対象物103の外面を網羅するように測定ポイントを設定する必要がある。したがって、第1の方法では熟練したオペレータが作業を行う必要があり、しかも作業負荷や所要時間が大きくなる傾向がある。
そこで、測定ポイントを登録する第2の方法は、図6(a)に示すように、まず、オペレータがモデル作成対象物103を包含するように、設定情報として測定対象領域301(撮像対象領域)を設定する。すると、モデル作成装置Cは、図6(b)に模式的に示すように、ビジョンセンサ102が精度よく撮像できる測定範囲IMAが測定対象領域301を隙間なく網羅するように、測定対象領域301(撮像対象領域)をマス目で分割する。そして、それぞれの測定範囲IMAを撮像するためにロボット101がとるべき位置・姿勢を、測定ポイントとして自動的に設定して登録する。尚、オペレータは、測定対象領域301(撮像対象領域)とともに、ロボット101が移動することを禁止する移動禁止領域302を予め設定しておくこともできる。その場合は、モデル作成装置Cは、移動禁止領域302内にはロボット101が移動すべき測定ポイントを設定しないようにする。尚、ビジョンセンサ102が撮像した画像を表示装置Eに表示しながら、オペレータが測定対象領域301および/または移動禁止領域302を設定できるようにモデル作成装置Cを構成してもよい。
図7に示すように、モデル作成対象物の形状によっては、エッジや凹部などの外形的な特徴を適切に検出できるようにするため、測定方向PD(撮像方向)がZ方向に沿った測定ポイントAだけでなく、X軸回りあるいはY軸回りに測定方向PD(撮像方向)を回転させた測定ポイントBを設定する。その場合、測定ポイントAの設定条件(例えば、XYZの各方向について、測定対象領域301を分割する際の分割領域の幅あるいは分割数)や、測定ポイントBの設定条件(例えば、X軸回り・Y軸回りの回転角度の大きさ、あるいは何種類の回転角度から測定するか)を、オペレータが予め設定しておき、設定に基づいて測定ポイントAおよび/または測定ポイントBをモデル作成装置Cが自動的に生成するように構成してもよい。
第1の方法あるいは第2の方法で、オペレータが入力した設置情報に基づいて設定された複数(N個)の測定ポイントは、モデル作成装置Cの設定部に登録される。尚、設定された複数の測定ポイントを表示装置Eに表示し、オペレータが確認あるいは編集できるようにモデル作成装置Cを構成してもよい。
ステップS11にて測定ポイントの登録が完了したら、ステップS12に進み、各測定ポイントにて何回の測定(撮像)を行うかを、オペレータが設定する。もし、3次元モデルを生成するための測定データ(撮像データ)が1回の測定(撮像)で確実に取得できるのならば、各測定ポイントにて1回の測定(撮像)を行えばよい。しかし、モデル作成対象物の材質、形状、表面状態、あるいはモデル作成対象物に当たる外光の状態等に依存して、撮像される画像が変化する場合がある。例えば、モデル作成対象物が金属のような光沢性の材料でできていたり、モデル作成対象物に凹凸部分やテクスチャが存在するような場合には、外光の状態により輝度分布、コントラスト、凹凸部分やテクスチャの見え方、等が変化するため、1回の撮影(測定)では3次元モデルを生成するのに適した測定データ(撮像データ)を取得できない可能性がある。特に、ビジョンセンサ102としてステレオカメラを用いる場合には、両眼に輻輳があるため外光の状態等に依存して測定データ(撮像データ)が影響を受けやすい傾向がある。
そこで、本実施形態では、後に説明する点群データを漏れなく取り込むことができるように、オペレータは、モデル作成対象物の外観上の特性や外光の状態を考慮して、各測定ポイントにて複数回の測定(撮像)を行うように、測定回数Mを設定することができる。尚、照明光源付きのビジョンセンサ102を用いる場合には、各回の撮像において照明光源の動作条件(例えば照明強度や照明方向)を変更するように設定してもよい。ステップS12にて設定された結果は、モデル作成装置Cの設定部に登録される。尚、これらの設定をする際の操作画面や、設定された回数等を表示装置Eに表示し、オペレータが確認あるいは編集できるようにモデル作成装置Cを構成してもよい。ステップS12が完了したら、モデル作成対象物103を測定(撮像)するための準備工程を終了する。
(測定)
測定準備工程が終了したら、ビジョンセンサ102を用いてモデル作成対象物103を測定(撮像)する測定工程(撮像工程)を行う。図8は、測定(撮像)の手順を説明するためのフローチャートである。
測定(撮像)が開始されると、ステップS21にて、モデル作成装置Cは、設定部に登録された複数の測定ポイントの中の一つを読み出し、ロボット101を当該測定ポイントに移動させるようにロボット制御装置Aに通信部を介して命令を送信する。ロボット制御装置Aは、受信した命令を解釈し、ロボット101を当該測定ポイントに移動させる。
次に、ステップS22にて、モデル作成装置Cは、ビジョンセンサ102に測定(撮像)を実行させるべく、ビジョンセンサ制御装置Bに通信部を介して命令を送信する。ビジョンセンサ制御装置Bは、受信した命令を解釈し、ビジョンセンサ102に測定(撮像)を実行させる。
次に、ステップS23にて、モデル作成装置Cは、測定(撮像)時におけるビジョンセンサ102の位置を、ロボット101を原点とするロボット座標系を基準とする位置情報として送信するように、ロボット制御装置Aにリクエストする。モデル作成装置Cのモデル化制御部は、通信部を介して受信した位置情報を、記憶部に格納する。
次に、ステップS24にて、モデル作成装置Cは、ビジョンセンサ102による測定結果(撮像結果)を送信するように、ビジョンセンサ制御装置Bにリクエストする。モデル作成装置Cのモデル化制御部は、通信部を介して受信した測定結果(撮像結果)を、ロボット制御装置Aから取得した位置情報と紐づけて、記憶部に格納する。
次に、ステップS25にて、モデル作成装置Cの画像処理部は、ロボット座標系基準で表されたビジョンセンサ102の位置情報と紐づけられた測定結果(撮像結果)を用いて、ロボット座標系基準で表された3次元点群データを取得する。3次元点群データは、当該測定ポイントから計測されたモデル作成対象物103の外形に係る点群データであり、3次元点群データを構成する点データのそれぞれは、ロボット座標系基準で表された位置情報(空間座標)を有する。画像処理部が取得した3次元点群データは、モデル作成装置Cの記憶部に格納される。
次に、ステップS26にて、モデル作成装置Cは、ステップS12にて設定された測定回数Mについて、当該測定ポイントにおいて測定(撮像)が完了したかを判定する。設定された回数の測定(撮像)が完了していない場合(ステップS26:NO)には、ステップS22に戻り、当該測定ポイントにおいてステップS22以降の工程を再度行う。設定された回数の測定(撮像)が完了した場合(ステップS26:YES)には、ステップS27に進む。
ステップS27に進むと、モデル作成装置Cの画像処理部は、当該測定ポイントにて取得されたM個の点群データを記憶部から読み出し、合成(重ね合わせ)する。例えば当該測定ポイントが測定ポイント1である場合には、図9に示すように、PG11~PG1MのM個の点群データを重ね合わせて、測定ポイント1にて取得された全ての点群データを含んだ合成点群データSG1を生成する。M個の点群データの合成(重ね合わせ)は、公知の画像合成ソフトを用いて行うことができる。
次に、ステップS28にて、モデル作成装置Cのフィルタ処理部は、ステップS27にて生成した合成点群データに対してフィルタ処理を行ってノイズを除去し、モデル作成用の部分点群データを生成する。すなわち、例えば当該測定ポイントが測定ポイント1である場合には、図9に示すように、合成点群データSG1に対してフィルタ処理を行ってノイズを除去し、モデル作成用の部分点群データFG1を生成する。フィルタ処理は、例えば公知のオープンソースソフトウェアであるOpen3Dを用いて行うことができるが、それ以外の手法で行ってもよい。
次に、ステップS29にて、モデル作成装置Cの画像処理部は、ステップS28にて生成したモデル作成用の部分点群データを記憶部に格納して記憶させる。
次に、ステップS30にて、モデル作成装置Cのモデル化制御部は、N個の全ての測定ポイントについて、モデル作成用の部分点群データの記憶が完了したかを判定する。完了している測定ポイントがN個未満の場合(ステップS30:NO)には、ステップS31に進み、モデル作成装置Cは、設定部に登録されたN個の測定ポイントの中から新しく別の一つを読み出し、ロボット101を当該測定ポイントに移動させるようにロボット制御装置Aに通信部を介して命令を送信する。そして、ステップS22以降の処理を再び行う。
ステップS30にて、N個の全ての測定ポイントについて、モデル作成用の部分点群データの記憶が完了したと判定された場合(ステップS30:YES)には、測定工程(撮像工程)を終了する。
尚、ロボット101との干渉を検証すべき対象物、言い換えればロボット101の可動範囲内に在るモデル作成対象物は、図1に例示したように1個だけであるとは限らない。複数のモデル作成対象物が存在する場合には、図8で示した処理手順に従って、全てのモデル作成対象物についての測定処理をまとめて実行してもよいし、個別のモデル作成対象物ごとに測定処理を分けて実行してもよい。
(3次元モデル生成およびシミュレーション)
測定結果(撮像結果)である部分点群データを用いて、モデル作成対象物103の3次元モデルを生成し、オフラインシミュレーションを実行する手順について説明する。図10は、3次元モデル生成の手順を説明するためのフローチャートである。また、図11は、モデル生成の各工程におけるデータの推移を説明するための模式図である。
モデル生成が開始されると、ステップS41にて、モデル作成装置Cのモデル作成部は、記憶部に記憶されているモデル作成用の部分点群データFG1~FGNを読み出す。図11では、読み出された部分点群データFG1~FGNは、左側に点線で囲まれて模式的に示されている。
次に、ステップS42にて、モデル作成装置Cのモデル作成部は、読み出された部分点群データをロボット座標系基準で重ね合わせて合成する。すなわち、各測定ポイントにおいて取得された部分点群データFG1~FGNを用いて、モデル作成対象物103の外形の全体に係る全体点群データWPGを合成する。部分点群データから全体点群データWPGを合成するのは、公知の画像合成ソフトを用いて行うことができる。
次に、ステップS43にて、モデル作成装置Cのフィルタ処理部は、ステップS42にて生成した全体点群データWPGに対してフィルタ処理を行ってノイズを除去し、図11に示すように、モデル作成用の点群データFWPGを生成する。フィルタ処理は、例えば公知のオープンソースソフトウェアであるOpen3Dを用いて行うことができるが、それ以外の手法で行ってもよい。
次に、ステップS44にて、モデル作成装置Cのメッシュ処理部は、点群データFWPGに対してメッシュ化処理を行い、メッシュ情報MSH、すなわち三角形ポリゴンの集合体であるポリゴン情報を取得する。メッシュ化処理は、例えば公知のオープンソースソフトウェアであるMeshLabを用いて行うことができるが、それ以外の手法で行ってもよい。尚、生成されたメッシュ情報MSHをロボット座標系基準で表示装置Eに表示し、オペレータが確認できるようにモデル作成装置Cを構成してもよい。
次に、ステップS45にて、モデル作成装置Cのモデル作成部は、メッシュ情報MSHを用いてモデル作成対象物103の外形に表れるエッジ等の輪郭線を作成し、サーフェスモデルを作成する。モデル作成対象物103のサーフェス(外面)だけでなく、容積(内部)を含んだソリッドモデルが必要な場合には、サーフェスモデルを基にソリッドモデルを生成することもできる。ロボット座標系基準で生成された3次元モデルMODELは、モデル作成装置Cの記憶部に記憶される。メッシュ情報MSHを用いた3次元モデルの作成は、例えば、株式会社システムクリエイト社製の3DモデリングソフトであるQUICKSURFACEを用いて行うことができるが、それ以外の手法で行ってもよい。尚、生成した3次元モデルMODELをロボット座標系基準で表示装置Eに表示し、オペレータが3次元モデルMODELの適否を確認できるようにモデル作成装置Cを構成してもよい。
次に、ステップS46にて、モデル作成装置Cは、生成した3次元モデルMODELのデータを、通信部を介してシミュレーション装置Dに送信する。シミュレーション装置Dは、受信した3次元モデルMODELのデータを記憶部に記憶する。また、シミュレーション装置Dは、3次元モデルMODELのデータをフォーマット化し、外部入出力部を介して外部のデータベースにバックアップファイルFとして格納することもできる。
次に、ステップS47にて、シミュレーション装置Dの仮想環境制御部は、3次元モデルMODELのデータを用いて、ロボット座標系を基準として対象物が配置された仮想環境モデルを生成する。そして、例えば図12に例示するように、仮想空間中に正しい位置関係でロボット101の仮想モデル101Mと周囲環境の仮想モデル103Mが配置された状況を、表示装置Eを用いてオペレータに表示することができる。
次に、ステップS48にて、シミュレーション装置Dは、ロボット101との干渉をチェックすべき対象として、周囲環境の仮想モデル103Mを自動的に設定して登録する。オペレータが表示装置Eに表示された仮想環境モデルを参照しながら、ロボット101との干渉チェックを行う対象を選択して登録できるようにシミュレーション装置Dを構成してもよい。以上により、ロボット101の周囲環境の仮想モデルの構築が完了し、干渉チェック等のシミュレーションをオフラインで実施し得る準備が整う。
オペレータは、シミュレーション装置Dを用いてオフラインシミュレーションを行い、仮想空間中でロボット101の仮想モデル101Mを動作させて、作業の遂行や周囲環境との干渉の有無等を確認することができる。例えば、ロボットが設置された生産ラインを上述した手順で仮想モデル化し、ロボットに実行させるべき作業動作(例えば、部品の組立、加工装置への部品のセット、部品の移動など)を仮想空間中でロボットの仮想モデルに実行させて、周囲環境との干渉の有無や作業の遂行を検討することができる。こうして検証されたロボットの作業動作に係る制御データは、通信部を介してシミュレーション装置Dからロボット制御装置Aに送信され、教示データとしてロボット制御装置Aに格納することができる。ロボット制御装置Aは、こうして教示された作業動作(例えば、部品の組立、加工装置への部品のセット、部品の移動など)をロボット101に実行させて、ロボット101に物品の製造を行わせることができる。係る手順で行われる物品の製造方法も、本実施形態に含まれ得る。
本実施形態では、ロボットの可動部に固定された測定装置(撮像装置)を用いて、ロボットを動作させながらモデル作成対象物を測定(撮像)し、ロボット座標系を基準にしたモデル作成対象物の点群データを取得する。そして、当該点群データに基づいて対象物の3Dモデルを生成するため、対象物の3次元形状情報だけでなくロボットに対する位置情報も含めてモデル化することができる。このため、対象物の3次元形状モデルを作成後に、オペレータが仮想空間中で仮想ロボットモデルに対する仮想対象物モデルの位置あわせ作業を行う必要が無く、ロボットの作業環境の仮想モデルを効率的に構築することができる。
本実施形態の情報処理システムを用いれば、例えば、新たな製造ラインを立ち上げる際、製造ラインにおいて所定の動作を行う位置にロボットを設置した後、ロボットを用いて周囲環境を測定し、周囲環境の仮想モデルをシミュレーション装置に容易に構築できる。あるいは、ロボットが設置された既存の製造ラインにおいて、作業内容を変更するためにロボットの周囲に設置された装置の種類や位置が変更された場合に、ロボットを用いてそれらの装置を測定する。そして、変更された周囲環境の仮想モデルをシミュレーション装置に容易に構築することができる。本実施形態によれば、ロボットの周囲環境のシミュレーションモデルを容易に作成することができるため、シミュレーション装置を用いたロボットのオフラインシミュレーション作業を短時間で立ち上げることができる。
[実施形態2]
実施形態2は、実施形態1で示した測定ポイントの自動生成を行う方法について具体的に詳述する。実施形態1と共通する事項については、説明を簡略化または省略する。図13は、実施形態2に係る測定設定画面400を説明するための図であり、図14は、実施形態2に係る測定ポイントの自動生成のフローチャートである。
図13より、測定設定画面400には、センサ情報設定部401、基準ポイント設定部402、測定領域設定部404、移動禁止領域設定部405、計算ボタン408が表示される。なお図13では不図示とするが、後述する仮想空間の表示も別画面にて行われるものとする。
センサ情報設定部401には、ロボットの周辺領域を測定するためのセンサの視野範囲θx、θy、焦点距離h、ピント距離±Fh、測定範囲IMAの数値設定欄が表示されている。数値設定欄401aは視野範囲θxを設定できる。数値設定欄401bは視野範囲θyを設定できる。数値設定欄401cは焦点距離hを設定できる。数値設定欄401dはピント距離-Fhを設定できる。数値設定欄401eはピント距離+Fhを設定できる。数値設定欄401fは測定範囲IMAを設定できる。また、センサ表示部401gにおいてセンサを簡略して表示し各数値設定欄で設定される数値がセンサにおいてどこの設定情報であるのかを図示している。これにより、ロボットの周辺領域に合わせてセンサにおける測定条件をユーザが容易に設定することが可能となる。
基準ポイント設定部402には、X、Y、Zの各値入力できる数値設定欄402a、402b、402cが表示され、位置の取得ボタン403が設けられている。
測定領域設定部404には、センサによる測定範囲設定として範囲設定X、Y、Zと角度設定Rx、Ry、Rzの最小値Minと最大値Maxを入力できる数値設定欄が表示されている。数値設定欄404aはXの値の最小値を、数値設定欄404bはXの値の最大値を、それぞれ設定できる。数値設定欄404cはYの値の最小値を、数値設定欄404dはYの値の最大値を、それぞれ設定できる。数値設定欄404eはZの値の最小値を、数値設定欄404fはZの値の最大値を、それぞれ設定できる。数値設定欄404gはRxの値の最小値を、数値設定欄404hはRxの値の最大値を、それぞれ設定できる。数値設定欄404iはRyの値の最小値を、数値設定欄404jはRyの値の最大値を、それぞれ設定できる。数値設定欄404kはRzの値の最小値を、数値設定欄404lはRzの値の最大値を、それぞれ設定できる。また角度設定Rx、Ry、Rzには、測定範囲の分割角度をそれぞれ設定できる。数値設定欄404mはRxの分割角度を設定できる。数値設定欄404nはRyの分割角度を設定できる。数値設定欄404oはRzの分割角度を設定できる。
移動禁止領域設定部405には、設定された移動禁止領域を表示するリスト409と、仮想空間で選択した移動禁止領域の追加ボタン406と削除ボタン407が設けられている。リスト409で表示されたエリアが、測定を行う際にセンサの侵入を禁止する領域となる。実施形態2では、以下で説明する操作手順を行うことで必要な測定領域を網羅した測定ポイントの自動生成を行うことが可能となる。
図14より、ステップS50にて、図13で説明した測定設定画面400を用いてセンサ情報を設定する。センサ情報設定部401に必要な情報を入力する。最低限必要なセンサ情報としては、センサの視野範囲θx、θy、焦点距離hが必要である。さらに、精度良く測定を行うためにはピント距離±Fh、測定範囲IMAが必要となる。
次に、ステップS51にて、基準ポイントを設定する。基準ポイント設定部402に測定の基準となる場所のX、Y、Zの値を直接入力、もしくは仮想モデルを構築する仮想空間中において選択した位置を取得ボタン403の押下で設定する。
次に、ステップS52にて、測定領域を設定する。測定領域設定部404において、基準ポイントからの領域X、Y、Zの最小値Min、最大値Maxの値を入力する。図15は、実施形態2に係る仮想空間において測定領域を表示した際の図である。測定領域を設定することで、入力した値に応じた測定対象領域301がロボット101の仮想モデル101Mの周辺に設定される。実空間においては測定対象領域301内に対象となる周辺物が存在しているものとする。
次に、ステップS53にて、測定を行う際にセンサの移動を禁止する移動禁止領域を設定する。仮想空間に表示された移動禁止領域302(Area_1)、303(Area_2)をそれぞれ選択し、移動禁止領域設定部405の追加ボタン406を押下することで移動禁止領域に登録される。もちろん仮想空間中において位置を直接入力して移動禁止領域をユーザにより設定し、登録しても構わない。リストから登録の削除をする場合は、削除する移動禁止領域をリストから選択して削除ボタン407を押下すると削除される。以上説明した、センサ情報設定、基準ポイント設定、測定領域設定、移動禁止領域設定を行うことで、測定ポイントの自動生成の準備を行う。
次に、ステップS54にて、測定ポイントの計算を実行する。計算ボタン408を押下すると計算処理が実行される。図16(a)および図16(b)は、実施形態2に係る測定ポイントの自動生成を説明するための模式図である。図16(a)は、センサ情報より計算する分割幅を説明するための模式図である。図16(b)は、測定領域の分割を説明するための模式図である。
図16(a)より、X、Yの分割幅Dx、Dyは、センサ情報の視野範囲θx、θyと焦点距離hの2倍の値でX、Yの視野範囲を計算し、さらに精度良く測定できる範囲である測定範囲IMAを掛け合わせて計算する。Zの分割幅Dzはピント距離+Fhを用いる。
図16(b)より、測定領域X、Y、Zの最小値Minと最大値Maxからセンサ情報より取得した分割幅Dx、Dy、Dzを割った数が分割数となり、それぞれ基準ポイント(P)より計算した分割幅ごとに格子状に測定ポイントの位置を取得する。次に、角度設定Rx、Ry、Rzと分割角度Drx、Dry、Drzより各角度の分割数を取得し、格子状に設定した位置の1ポイントごとに対してそれぞれ分割した角度を付与し、測定ポイントを自動作成する。
図17(a)および図17(b)は、実施形態2に係る測定ポイントにおけるロボット101及びビジョンセンサ102の姿勢の模式図である。図17(a)は、角度0度の測定ポイントの状態を示しており、図17(b)は、X軸方向にDrxだけ傾けた測定ポイントの状態を示している。
次に、ステップS55にて、各測定ポイントにおいて逆キネマ計算を行いロボット101が移動できないポイントを除外する。ロボット101には稼働範囲があり、その稼働範囲外のポイントへは移動できないため、そのポイントを除外する。逆キネマ計算に関しては公知な技術を使用するものとし、詳細な説明は割愛する。
次に、ステップS56にて、各測定ポイントにおいてロボットが移動禁止領域や周辺環境と干渉するポイントを除外する。図18(a)および図18(b)は、実施形態2に係わる測定ポイントの干渉チェック状態の模式図である。図18(a)は、移動禁止領域302、303とロボット101が干渉している状態を示しており、この測定ポイントは除外される。図18(b)は、同じ測定ポイントに対する角度が異なるロボットの状態であり、この測定ポイントは移動禁止領域と干渉しないため除外されない。このようにすべての測定ポイントにおいて干渉チェックを行い、移動不可能な測定ポイントを事前に除外しておく。各測定ポイントにおいて、少なくとも2つ、ビジョンセンサ102が異なる姿勢を取るように設定している。これにより、或る測定ポイントの或る姿勢では移動禁止領域に干渉してしまうが、姿勢を変えれば移動禁止領域に干渉せずに、或る測定ポイントで測定できるため、移動禁止領域との干渉を回避しつつ、測定ポイントをある程度の数、確保することが可能となる。
次に、ステップS57において、測定ポイントの結果を表示する。結果はリスト表示や仮想空間においてモデル表示し、表示された測定ポイントを選択すると仮想空間でそのポイントのロボットの姿勢を確認することができる。
以上本実施形態によれば、測定ポイントの自動生成を行うことが可能となり、移動可能な測定範囲内における測定が可能となる。よってロボットの周辺環境をロボットとセンサによって測定を実行する際におけるユーザの負担を軽減することができる。
[実施形態3]
実施形態2では、測定ポイントを自動的に設定したが、モデル内部に測定ポイントも含んでいる状態であり無駄がある。そのため、実施形態3では、周辺環境を測定中にモデル内部の測定ポイントであるか否かを判断してモデル内部の測定ポイントを除外する形態について説明する。実施形態1、2と共通する事項については、説明を簡略化または省略する。図19は実施形態3に係る測定方法のフローチャートである。図20は、実施形態3に係る測定ポイントの階層構造に係る模式図である。図21(a)~図21(e)は、実施形態3に係る測定ポイントの除外対象を説明するための模式図である。
まず、図20より、測定領域における同一XY平面上のポイントをグループにして、さらにそのグループをZ軸の値が大きい順に階層化し、階層番号をそれぞれの階層の測定ポイントに付与した状態を示している。階層の幅はZ軸の分割幅である。本実施形態では、測定ポイントにおいて階層を設定して取得しておき、図19で示す測定のフローチャートを実行する。実施形態3では、第一階層の測定ポイントより測定を実施し、徐々に下の階層の測定を実施する。
図19より、測定を開始すると、実施形態1と同様にステップS21からステップS29を実行する。ステップS21からステップS29は実施形態1と同様であるため、説明を割愛する。
次に、ステップS60にて、1階層分の撮影が終了したか確認を行う。終了していない場合はNoとなりステップS31に進み、実施形態1のステップS31と同様の処理を行い、同一階層の測定を続ける。終了した場合はYesとなるステップS61に進む。図21(a)は、第N階層の測定ポイントおよび測定状態を示しており、この階層の測定ポイントが終了したらステップS61に進む。
次に、ステップS61にて、全階層の測定が終了したか確認を行う。終了した場合はYesとなり、測定完了に進みフローを終了する。終了していない場合はNoとなりステップS62に進み、下位階層の測定ポイントの自動除外処理を行う。
次に、ステップS62にて、全ての三次元データより測定範囲とピント距離の範囲内の点群データを取得して合成する。図21(b)は、点群データ取得処理時の模式図であり、第N階層におけるすべての撮像範囲をXY平面に、ピント距離±FhをZ方向にしたバウンダリボックスVBoxを作成し、その内部に存在する点群データを取得している。これにより精度良く測定できる範囲の点群データのみを取得することができる。
次に、ステップS63にて、合成した三次元点群データをメッシュ処理する。図21(c)は、メッシュ化したモデルの模式図であり、点群データよりバウンダリボックスVBox内に存在する計測物の側面情報を取得することができる。
次に、ステップS64にて、センサの焦点距離hの直線モデルとメッシュ化したモデルが交わった測定ポイントを除外する。図21(d)は、第N+1階層の測定ポイントのセンサ焦点距離の直線モデルとメッシュ化したモデルが交わった(干渉した)状態を示している。この状態の測定ポイントは測定対象の内部になるため、測定ポイントから除外することができる。図21(e)は、除外した測定ポイントの模式図である。
次に、ステップS65にて、メッシュ化したモデルとロボットの干渉チェックを行い、干渉状態の測定ポイントを除外する。これにより、計測対象との接触を防ぐことができる。除外処理が終了すると、ステップS31に戻る。
以上のような除外処理を行うことにより、不要な測定ポイントや干渉の可能性がある測定ポイントを除外することができ、測定時間の短縮、ロボットまたは周辺物の破損の危険性の低減を図ることができる。
[実施形態4]
実施形態2では、移動禁止領域設定部405によって、移動禁止領域302、303を設定したが、例えば周辺機器のモデルや装置の壁や天井のモデルがすでに仮想空間内で設定されている場合は、そのモデルを移動禁止領域設定部405によって移動禁止領域として設定してもよい。実施形態1~3と共通する事項については、説明を簡略化または省略する。
図22は実施形態4に係る周辺モデルの説明図であり、壁モデル501M(Wall)、天井モデル502M(Ceiling)が仮想空間画面410上に表示されている状態である。この壁モデル501Mや天井モデル502Mを選択し、測定設定画面400の移動禁止領域設定部405の追加ボタン406を押下することで移動禁止領域として既存のモデルを選択して設定し、実施形態2のステップS56を実行することができる。
以上のような設定を行うことにより、測定ポイントにおいて周辺機器や壁や天井などとの干渉を防ぐことができる。また天井や壁などは製造ラインにおいて、移動することは稀であり、予めモデルとして設定しておけば、更新などを行うことは稀である。よって本実施形態のようにモデルで設定できるようにしておけば、ユーザにとって容易に移動禁止領域を設定できるため有用である。
[実施形態5]
本発明を実施した情報処理システムの形態は、図1、図2を参照して説明した実施形態の例に限られるわけではない。図23は、実施形態5に係る情報処理システムの概略構成を示す模式図であり、図25は、実施形態5に係る情報処理システムの構成を説明するための機能ブロック図である。実施形態1から実施形態4と共通する事項については、説明を簡略化または省略する。
実施形態5では、実施形態1で説明したロボット制御装置A、ビジョンセンサ制御装置B、モデル作成装置C、シミュレーション装置Dが単一の情報処理装置Hとして統合されているとともに、情報処理装置Hにはタブレット端末G1が通信可能に接続されている。情報処理装置Hとタブレット端末G1の接続は、図示のように有線接続でもよいし、無線接続でもよい。
本実施形態では、実施形態1と同様の手順で、測定準備(撮像準備)、測定(撮像)、3次元モデル生成、仮想空間におけるシミュレーションを行うが、その際にタブレット端末G1を用いて各種設定の入力や情報の表示を行うことができるため、オペレータの作業効率が向上する。タブレット端末G1は、ティーチングペンダントとしての機能を兼ね備えていてもよい。オフラインシミュレーション時に、タブレット端末G1の表示画面に仮想空間を表示させてもよい。
[実施形態6]
実施形態6は、実施形態5と同様の情報処理装置Hに、ステレオ表示が可能なヘッドマウントディスプレイG2が接続された情報処理システムである。図24は、実施形態6に係る情報処理システムの概略構成を示す模式図であり、図25は、実施形態6に係る情報処理システムの構成を説明するための機能ブロック図である。実施形態1から実施形態5と共通する事項については、説明を簡略化または省略する。
実施形態6では、実施形態1で説明したロボット制御装置A、ビジョンセンサ制御装置B、モデル作成装置C、シミュレーション装置Dが単一の情報処理装置Hとして統合されている。それと共に、情報処理装置HにはヘッドマウントディスプレイG2が通信可能に接続されている。情報処理装置HとヘッドマウントディスプレイG2の接続は、図示のように有線接続でもよいし、無線接続でもよい。
本実施形態では、実施形態1と同様の手順で、測定準備(撮像準備)、測定(撮像)、3次元モデル生成、仮想空間におけるシミュレーションを行う。例えば生成した3次元モデルの確認や仮想空間におけるシミュレーションにおいて、ステレオ表示が可能なヘッドマウントディスプレイG2を用いることにより、オペレータがロボット環境を空間的に把握・認識するのが容易になり、作業効率が向上する。ヘッドマウントディスプレイG2は、ステレオ表示が可能なデバイスであればよく、ヘルメット型、ゴーグル型など、種々の形態のデバイスが用いられ得る。情報処理装置Hは、ロボットとその周辺環境の仮想モデルを用いて、VR(Virtual Reality)、AR(Augmented Reality)、MR(Mixed Reality)、またはXR(Cross Reality)等の態様で、オペレータに仮想モデルやシミュレーション結果を表示することができる。
[実施形態7]
実施形態7では、ロボットの周囲環境のシミュレーションモデルを取得する際の別の実施形態について説明する。実施形態1から実施形態6と共通する事項については、説明を簡略化または省略する。
図26は実施形態7に係るロボットと周辺物との概略構成を示す模式図である。本実施形態では移動台車105にロボット101を搭載し、人がロボット101を移動させることができるようになっている。ロボット101にはハンド104を搭載している。移動台車105の前方には台座(架台)110の上に箱111が設置されている。移動台車105を台座110の前に設置し、箱111の中にあるワークをピッキングする作業を行う状況であり、ロボット101と台座110および箱111のレイアウトが任意に変更できるようなケースである。箱111にハンド104が接触しないようにワークをピッキングするためには、ロボット101と箱111の位置関係を調整する必要がある。
そこで、移動台車105を移動後に実施形態1で説明したようにロボットの周囲環境を三次元ビジョンセンサで測定してロボット座標系を基準とした箱111をモデル化する。さらに、作成した箱111のモデルをロボット101との干渉チェック対象とすることで、ピッキングの際に箱111を回避したピッキングを行うことができるようになる。
以上の様に、対象物とロボット101の位置関係が不明確な場合に実環境のモデル化を行うことで、手動でCADモデルの作成やレイアウトを行う必要なく、スムーズにピッキング作業を行える様になる。またロボット座標系により、ロボットと周辺物との位置関係を取得したモデルにより把握できる。よって、人がラフに台座110の前にロボット101を配置したとしても、ハンド104と箱111との干渉を回避しつつ、スムーズな作業をロボット101に実行させることができる。なお移動台車105は、自律して移動することが可能な台車(搬送車)であるAGV(Automatic Guided Vehicle)であっても構わない。
[他の実施形態]
尚、本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。例えば、上述した異なる実施形態を組合わせて実施しても構わない。
上述した実施形態における仮想モデル作成、オフラインシミュレーション、オフラインシミュレーションにより作成した制御プログラムに基づく実機の動作制御、等の処理を実行させるための制御プログラムも本発明の実施形態に含まれる。また、制御プログラムを格納したコンピュータで読み取り可能な記録媒体も、本発明の実施形態に含まれる。記録媒体として、例えば、フレキシブルディスク、光ディスク、光磁気ディスク、磁気テープ、USBメモリ等の不揮発性メモリ、SSD等を用いることができる。
本発明の情報処理システムや情報処理方法は、生産設備の他に、例えば産業用ロボット、サービス用ロボット、コンピュータによる数値制御で動作する加工機械、等の様々な機械や設備のソフト設計やプログラム開発に適用することが可能である。例えば、制御装置に設けられる記憶装置の情報に基づき、伸縮、屈伸、上下移動、左右移動もしくは旋回の動作またはこれらの複合動作を自動的に行うことができる可動部を備えた装置の周辺環境の仮想モデルを生成できる。また、装置の動作シミュレーションを仮想空間で行う際に適用可能である。
本発明は、実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本実施形態の開示は、以下の構成および方法を含む。
[構成1]
物体の形状を測定可能な測定部を備えた可動部を有する装置と、
仮想モデルを用いて、仮想空間にて前記装置の動作シミュレーションを行うシミュレーション部と、を備え、
前記可動部が前記測定部を所定の測定ポイントに移動させ、
前記装置の周囲環境に存する対象物を、前記所定の測定ポイントにて前記測定部が測定し、
測定した結果と前記所定の測定ポイントに係る情報とを用いて、前記対象物の位置情報を含むモデルを取得し、前記シミュレーション部は、前記モデルを用いて、前記仮想空間に前記対象物の仮想モデルを設定する、
ことを特徴とする情報処理システム。
[構成2]
前記所定の測定ポイントに係る情報には、前記装置の位置を基準とした前記測定部の位置および測定方向の情報が含まれる、
ことを特徴とする構成1に記載の情報処理システム。
[構成3]
前記所定の測定ポイントは、オペレータが入力した設定情報に基づいて登録される、
ことを特徴とする構成1または2に記載の情報処理システム。
[構成4]
前記設定情報は、オペレータが、予め前記装置を動作させながら入力した情報である、
ことを特徴とする構成3に記載の情報処理システム。
[構成5]
前記設定情報は、前記対象物を包含する測定対象領域に係る情報を含む、
ことを特徴とする構成3に記載の情報処理システム。
[構成6]
前記設定情報は、前記可動部が移動することを禁止する移動禁止領域の情報を含む、
ことを特徴とする構成3に記載の情報処理システム。
[構成7]
前記移動禁止領域を、予め設定された、前記周囲環境に存在する周辺物の仮想モデルにより設定することができる、
ことを特徴とする構成6に記載の情報処理システム。
[構成8]
前記設定情報は、前記所定の測定ポイントにて、前記測定部が測定を行う回数に係る情報を含む、
ことを特徴とする構成3乃至6のいずれか1項に記載の情報処理システム。
[構成9]
前記設定情報および/または前記測定ポイントに係る情報を、表示部に表示する、
ことを特徴とする構成3乃至8のいずれか1項に記載の情報処理システム。
[構成10]
前記所定の測定ポイントにて複数回の測定を行い、前記複数回の測定の測定結果を合成して、前記対象物の位置情報を含む3次元点群データを取得し、前記3次元点群データに基づき前記モデルを取得する、
ことを特徴とする構成1乃至9のいずれか1項に記載の情報処理システム。
[構成11]
前記測定部による測定範囲が、前記対象物を網羅するように、前記所定の測定ポイントとして複数の測定ポイントが登録される、
ことを特徴とする構成1乃至10のいずれか1項に記載の情報処理システム。
[構成12]
前記複数の測定ポイントにて測定された測定結果を合成して、前記対象物の位置情報を含む3次元点群データを取得する、
ことを特徴とする構成11に記載の情報処理システム。
[構成13]
前記測定結果を合成した後に、前記3次元点群データにフィルタ処理を行う、
ことを特徴とする構成9または11に記載の情報処理システム。
[構成14]
前記シミュレーション部は、前記仮想空間に設定された前記対象物の仮想モデルを、表示部に表示する、
ことを特徴とする構成1乃至13のいずれか1項に記載の情報処理システム。
[構成15]
前記測定部に関する情報と前記測定に係る測定領域に関する情報とをユーザによって設定できる設定画面を表示する、
ことを特徴とする構成1乃至14のいずれか1項に記載の情報処理システム。
[構成16]
前記設定画面によって設定された情報に基づき、前記所定の測定ポイントを自動で取得する、
ことを特徴とする構成15に記載の情報処理システム。
[構成17]
前記所定の測定ポイントにおいて、前記測定部の姿勢を少なくとも2つ、設定し、
前記所定の測定ポイントに前記測定部を移動させた際に前記測定部が前記移動禁止領域と干渉する場合、前記移動禁止領域と干渉する前記所定の測定ポイントを除外する、
ことを特徴とする構成6または7に記載の情報処理システム。
[構成18]
前記装置の可動範囲外に存在する前記所定の測定ポイントを除外する、
ことを特徴とする構成1乃至17のいずれか1項に記載の情報処理システム。
[構成19]
前記所定の測定ポイントを、前記測定に係る測定領域に基づき少なくとも2つの階層に分け、
前記階層に基づき、前記モデルと干渉している前記所定の測定ポイントを除外する、
ことを特徴とする構成1乃至18のいずれか1項に記載の情報処理システム。
[構成20]
前記シミュレーション部は、前記仮想空間に設定された前記対象物の仮想モデルを、タブレット端末またはヘッドマウントディスプレイに表示する、
ことを特徴とする構成14に記載の情報処理システム。
[構成21]
前記シミュレーション部は、前記対象物の仮想モデルを、VR(Virtual Reality)、AR(Augmented Reality)、MR(Mixed Reality)、XR(Cross Reality)のいずれかの態様で、表示する、
ことを特徴とする構成14に記載の情報処理システム。
[構成22]
前記装置は台車に搭載されており、前記対象物は台座に載置されている、
ことを特徴する構成1乃至21のいずれか1項に記載の情報処理システム。
[方法1]
構成1乃至21のいずれか1項に記載の情報処理システムを用いて、前記装置の動作シミュレーションを前記仮想空間にて行い、前記装置の制御プログラムを作成する、
ことを特徴とする情報処理方法。
[構成23]
方法1に記載の情報処理方法を、コンピュータに実行させるためのプログラム。
[構成24]
構成23に記載のプログラムを記録したコンピュータにより読み取り可能な非一時的な記録媒体。
[構成25]
物体の形状を測定可能な測定部を備えた可動部を有するロボットと、
仮想モデルを用いて、仮想空間にて前記ロボットの動作シミュレーションを行うシミュレーション部と、を備え、
前記可動部が前記測定部を所定の測定ポイントに移動させ、
前記ロボットの周囲環境に存する対象物を、前記所定の測定ポイントにて前記測定部が測定し、
測定した結果と前記所定の測定ポイントに係る情報とを用いて、前記対象物の位置情報を含むモデルを取得し、前記シミュレーション部は、前記モデルを用いて、前記仮想空間に前記対象物の仮想モデルを設定する、
ことを特徴とするロボットシステム。
[方法2]
構成25に記載のロボットシステムを用いて、前記ロボットの動作シミュレーションを前記仮想空間にて行い、前記ロボットの制御プログラムを作成する、
ことを特徴とするロボットシステムの制御方法。
[方法3]
方法2に記載のロボットシステムの制御方法により、前記ロボットが物品の製造を行う動作に係るシミュレーションを前記仮想空間にて行い、物品の製造に係る前記ロボットの制御プログラムを作成し、前記制御プログラムを用いて前記ロボットを動作させて物品を製造する、
ことを特徴とするロボットシステムを用いた物品の製造方法。
100・・・情報処理システム/101・・・ロボット/101M・・・ロボット101の仮想モデル/102・・・ビジョンセンサ/103・・・モデル作成対象物/103M・・・周囲環境の仮想モデル/201・・・CPU/202・・・GPU/203・・・記憶部/203a・・・ROM/203b・・・RAM/203c・・・HDD/204・・・入出力インタフェース/230・・・データベース/301・・・測定対象領域/302・・・移動禁止領域/A・・・ロボット制御装置/B・・・ビジョンセンサ制御装置/C・・・モデル作成装置/D・・・シミュレーション装置/E・・・表示装置/G1・・・タブレット端末/G2・・・ヘッドマウントディスプレイ/H・・・情報処理装置/IMA・・・測定範囲/PD・・・測定方向

Claims (28)

  1. 物体の形状を測定可能な測定部を備えた可動部を有する装置と、
    仮想モデルを用いて、仮想空間にて前記装置の動作シミュレーションを行うシミュレーション部と、を備え、
    前記可動部が前記測定部を所定の測定ポイントに移動させ、
    前記装置の周囲環境に存する対象物を、前記所定の測定ポイントにて前記測定部が測定し、
    測定した結果と前記所定の測定ポイントに係る情報とを用いて、前記対象物の位置情報を含むモデルを取得し、前記シミュレーション部は、前記モデルを用いて、前記仮想空間に前記対象物の仮想モデルを設定する、
    ことを特徴とする情報処理システム。
  2. 前記所定の測定ポイントに係る情報には、前記装置の位置を基準とした前記測定部の位置および測定方向の情報が含まれる、
    ことを特徴とする請求項1に記載の情報処理システム。
  3. 前記所定の測定ポイントは、オペレータが入力した設定情報に基づいて登録される、
    ことを特徴とする請求項1または2に記載の情報処理システム。
  4. 前記設定情報は、オペレータが、予め前記装置を動作させながら入力した情報である、
    ことを特徴とする請求項3に記載の情報処理システム。
  5. 前記設定情報は、前記対象物を包含する測定対象領域に係る情報を含む、
    ことを特徴とする請求項3に記載の情報処理システム。
  6. 前記設定情報は、前記可動部が移動することを禁止する移動禁止領域の情報を含む、
    ことを特徴とする請求項3に記載の情報処理システム。
  7. 前記移動禁止領域を、予め設定された、前記周囲環境に存在する周辺物の仮想モデルにより設定することができる、
    ことを特徴とする請求項6に記載の情報処理システム。
  8. 前記設定情報は、前記所定の測定ポイントにて、前記測定部が測定を行う回数に係る情報を含む、
    ことを特徴とする請求項3に記載の情報処理システム。
  9. 前記設定情報および/または前記所定の測定ポイントに係る情報を、表示部に表示する、
    ことを特徴とする請求項3に記載の情報処理システム。
  10. 前記所定の測定ポイントにて複数回の測定を行い、前記複数回の測定の測定結果を合成して、前記対象物の位置情報を含む3次元点群データを取得し、前記3次元点群データに基づき前記モデルを取得する、
    ことを特徴とする請求項1または2に記載の情報処理システム。
  11. 前記測定部による測定範囲が、前記対象物を網羅するように、前記所定の測定ポイントとして複数の測定ポイントが登録される、
    ことを特徴とする請求項1または2に記載の情報処理システム。
  12. 前記複数の測定ポイントにて測定された測定結果を合成して、前記対象物の位置情報を含む3次元点群データを取得する、
    ことを特徴とする請求項11に記載の情報処理システム。
  13. 前記測定結果を合成した後に、前記3次元点群データにフィルタ処理を行う、
    ことを特徴とする請求項10に記載の情報処理システム。
  14. 前記シミュレーション部は、前記仮想空間に設定された前記対象物の仮想モデルを、表示部に表示する、
    ことを特徴とする請求項1または2に記載の情報処理システム。
  15. 前記測定部に関する情報と前記測定に係る測定領域に関する情報とをユーザによって設定できる設定画面を表示する、
    ことを特徴とする請求項1に記載の情報処理システム。
  16. 前記設定画面によって設定された情報に基づき、前記所定の測定ポイントを自動で取得する、
    ことを特徴とする請求項15に記載の情報処理システム。
  17. 前記所定の測定ポイントにおいて、前記測定部の姿勢を少なくとも2つ、設定し、
    前記所定の測定ポイントに前記測定部を移動させた際に前記測定部が前記移動禁止領域と干渉する場合、前記移動禁止領域と干渉する前記所定の測定ポイントを除外する、
    ことを特徴とする請求項6に記載の情報処理システム。
  18. 前記装置の可動範囲外に存在する前記所定の測定ポイントを除外する、
    ことを特徴とする請求項1に記載の情報処理システム。
  19. 前記所定の測定ポイントを、前記測定に係る測定領域に基づき少なくとも2つの階層に分け、
    前記階層に基づき、前記モデルと干渉している前記所定の測定ポイントを除外する、
    ことを特徴とする請求項1に記載の情報処理システム。
  20. 前記シミュレーション部は、前記仮想空間に設定された前記対象物の仮想モデルを、タブレット端末またはヘッドマウントディスプレイに表示する、
    ことを特徴とする請求項14に記載の情報処理システム。
  21. 前記シミュレーション部は、前記対象物の仮想モデルを、VR(Virtual Reality)、AR(Augmented Reality)、MR(Mixed Reality)、またはXR(Cross Reality)のいずれかの態様で、表示する、
    ことを特徴とする請求項14に記載の情報処理システム。
  22. 前記装置は台車に搭載されており、前記対象物は台座に載置されている、
    ことを特徴する請求項1に記載の情報処理システム。
  23. 請求項1または2に記載の情報処理システムを用いて、前記装置の動作シミュレーションを前記仮想空間にて行い、前記装置の制御プログラムを作成する、
    ことを特徴とする情報処理方法。
  24. 請求項23に記載の情報処理方法を、コンピュータに実行させるためのプログラム。
  25. 請求項24に記載のプログラムを記録したコンピュータにより読み取り可能な非一時的な記録媒体。
  26. 物体の形状を測定可能な測定部を備えた可動部を有するロボットと、
    仮想モデルを用いて、仮想空間にて前記ロボットの動作シミュレーションを行うシミュレーション部と、を備え、
    前記可動部が前記測定部を所定の測定ポイントに移動させ、
    前記ロボットの周囲環境に存する対象物を、前記所定の測定ポイントにて前記測定部が測定し、
    測定した結果と前記所定の測定ポイントに係る情報とを用いて、前記対象物の位置情報を含むモデルを取得し、前記シミュレーション部は、前記モデルを用いて、前記仮想空間に前記対象物の仮想モデルを設定する、
    ことを特徴とするロボットシステム。
  27. 請求項26に記載のロボットシステムを用いて、前記ロボットの動作シミュレーションを前記仮想空間にて行い、前記ロボットの制御プログラムを作成する、
    ことを特徴とするロボットシステムの制御方法。
  28. 請求項27に記載のロボットシステムの制御方法により、前記ロボットが物品の製造を行う動作に係るシミュレーションを前記仮想空間にて行い、物品の製造に係る前記ロボットの制御プログラムを作成し、前記制御プログラムを用いて前記ロボットを動作させて物品を製造する、
    ことを特徴とするロボットシステムを用いた物品の製造方法。
JP2023039698A 2022-04-26 2023-03-14 情報処理システム、情報処理方法、ロボットシステム、ロボットシステムの制御方法、ロボットシステムを用いた物品の製造方法、プログラム、記録媒体 Pending JP2023162117A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US18/301,354 US20230339103A1 (en) 2022-04-26 2023-04-17 Information processing system, information processing method, robot system, robot system control method, article manufacturing method using robot system, and recording medium
CN202310442985.2A CN116945157A (zh) 2022-04-26 2023-04-23 信息处理系统和方法、机器人系统和控制方法、物品制造方法、以及记录介质

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022072226 2022-04-26
JP2022072226 2022-04-26

Publications (1)

Publication Number Publication Date
JP2023162117A true JP2023162117A (ja) 2023-11-08

Family

ID=88650368

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023039698A Pending JP2023162117A (ja) 2022-04-26 2023-03-14 情報処理システム、情報処理方法、ロボットシステム、ロボットシステムの制御方法、ロボットシステムを用いた物品の製造方法、プログラム、記録媒体

Country Status (1)

Country Link
JP (1) JP2023162117A (ja)

Similar Documents

Publication Publication Date Title
US7236854B2 (en) Method and a system for programming an industrial robot
JP6551184B2 (ja) シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム
CN110394780B (zh) 机器人的仿真装置
EP1435280A2 (en) A method and a system for programming an industrial robot
JP3673749B2 (ja) シミュレーション装置
CN110613511B (zh) 手术机器人避障方法
US20140277737A1 (en) Robot device and method for manufacturing processing object
US11475647B2 (en) Augmenting a physical object with virtual components
JP6445092B2 (ja) ロボットの教示のための情報を表示するロボットシステム
JP5502348B2 (ja) シミュレーション方法
JP6171457B2 (ja) ロボット制御装置、ロボットシステム、ロボット、ロボット制御方法及びロボット制御プログラム
US7092860B1 (en) Hardware simulation systems and methods for vision inspection systems
JP2001060108A (ja) ロボット動作教示装置および動作教示方法
JP2019217571A (ja) ロボット制御システム
CN109116807A (zh) 复合现实模拟装置以及计算机可读介质
US20220398427A1 (en) Context-Based Social Agent Interaction
JPH01209505A (ja) 遠隔操作ロボットの教示装置
JP2023162117A (ja) 情報処理システム、情報処理方法、ロボットシステム、ロボットシステムの制御方法、ロボットシステムを用いた物品の製造方法、プログラム、記録媒体
JPH11338532A (ja) 教示装置
US20230339103A1 (en) Information processing system, information processing method, robot system, robot system control method, article manufacturing method using robot system, and recording medium
JP7249221B2 (ja) センサ位置姿勢キャリブレーション装置及びセンサ位置姿勢キャリブレーション方法
CN116945157A (zh) 信息处理系统和方法、机器人系统和控制方法、物品制造方法、以及记录介质
WO2022181500A1 (ja) 視覚センサの出力から得られる3次元位置情報を用いるシミュレーション装置
KR101998397B1 (ko) 작업 공간 모델링에서 뎁스 이미지를 이용한 버텍스 최적화 방법 및 시스템
JP2021058979A (ja) ロボットアーム試験装置