JP2024044794A - 画像生成装置 - Google Patents
画像生成装置 Download PDFInfo
- Publication number
- JP2024044794A JP2024044794A JP2022150542A JP2022150542A JP2024044794A JP 2024044794 A JP2024044794 A JP 2024044794A JP 2022150542 A JP2022150542 A JP 2022150542A JP 2022150542 A JP2022150542 A JP 2022150542A JP 2024044794 A JP2024044794 A JP 2024044794A
- Authority
- JP
- Japan
- Prior art keywords
- virtual
- virtual tool
- tool
- image
- lattice points
- 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
Links
- 239000003550 marker Substances 0.000 claims abstract description 60
- 230000036544 posture Effects 0.000 claims description 140
- 238000000034 method Methods 0.000 description 25
- 230000008569 process Effects 0.000 description 20
- 238000003466 welding Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 13
- 230000008859 change Effects 0.000 description 9
- 230000004044 response Effects 0.000 description 7
- 230000009466 transformation Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000010365 information processing Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000010422 painting Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000011347 resin Substances 0.000 description 1
- 229920005989 resin Polymers 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Landscapes
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
【課題】所定の姿勢のツールが到達可能な範囲を表示するための表示画像を生成する画像生成装置を提供する。【解決手段】画像生成装置3は、実環境に存在する基準マーカ6と表示装置4との相対的な位置関係を取得する位置関係取得部32と、仮想ツールに関する目的とする姿勢を取得する姿勢取得部33と、仮想ツールの装着された仮想ロボットの3次元モデルに基づいて、基準マーカと所定の位置関係となるように配置された仮想ロボットに装着された目的とする姿勢の仮想ツールの到達可能範囲を特定する特定部34と、相対的な位置関係に基づいて、特定部34によって特定された到達可能範囲を表示するための表示画像を生成する画像生成部36と、表示画像を表示装置4に出力する出力部37と、を備える。このような構成により、目的とする姿勢の仮想ツールの到達可能範囲を知ることができるようになる。【選択図】図1
Description
本発明は、目的とする姿勢の仮想ツールが到達可能な範囲を表示するための画像を生成する画像生成装置に関する。
従来、ロボットの導入時にロボットに装着されたツールが所望の位置に到達できるかどうかは、カタログスペックを参考にして判断していた。また、シミュレータ内で仮想点を作成し、その仮想点にアプローチ可能なロボットの姿勢の範囲を算出することも行われていた(特許文献1参照)。
しかしながら、ロボットに装着されているツールが所定の姿勢である場合に、そのツールが到達可能な範囲をカタログに基づいて判断することは難しいという問題があった。また、通常、カタログに記載されているのは、ツールを装着していないロボット単体での到達位置であり、ロボットに装着されたツールが所望の姿勢でどの範囲に到達できるかを、ロボット単体に関する情報から判断することは難しいという問題もあった。
また、上記特許文献1では、作業対象をピッキングするための条件も考慮して、仮想点にアプローチ可能なロボットの姿勢の範囲を算出しており、所定の姿勢のツールがどの範囲に到達できるのかについて、ロボットの配置検討時に知ることはできなかった。
本発明は、上記状況に応じてなされたものであり、所定の姿勢のツールが到達可能な範囲を表示するための表示画像を生成する画像生成装置を提供することを目的とする。
上記目的を達成するため、本発明の一態様による画像生成装置は、実ロボット及び実ツールに対応する仮想ロボット及び仮想ツールの3次元モデルが記憶される記憶部と、実環境に存在する基準マーカと、画像を実環境の画像または実環境そのものに重ねて表示する表示装置との相対的な位置関係を取得する位置関係取得部と、仮想ツールに関する目的とする姿勢を取得する姿勢取得部と、仮想ツールの装着された仮想ロボットの3次元モデルに基づいて、基準マーカと所定の位置関係となるように配置された仮想ロボットに装着された目的とする姿勢の仮想ツールの到達可能範囲を特定する特定部と、相対的な位置関係に基づいて、特定部によって特定された到達可能範囲を表示するための表示画像を生成する画像生成部と、表示画像を表示装置に出力する出力部と、を備えたものである。
本発明の一態様による画像生成装置によれば、所定の姿勢のツールが到達可能な範囲を表示するための表示画像を生成することができる。そのため、その表示画像を見ることによって、例えば、ロボットの配置検討時に、所定の姿勢のツールがどの範囲に到達可能であるのかを容易に知ることができるようになる。
以下、本発明による画像生成装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。本実施の形態による画像生成装置は、目的とする姿勢の仮想ツールが到達可能な範囲を表示するための表示画像を生成するものである。
図1は、本実施の形態による情報処理システム100の構成を示す模式図である。本実施の形態による情報処理システム100は、画像生成装置3と表示装置4とを備える。なお、画像生成装置3と表示装置4とは、例えば、有線または無線で接続されていてもよい。
操作対象の仮想ロボットは、仮想環境に存在する3次元モデルによって構成されるものであり、実ロボットに対応したものである。すなわち、仮想ロボットは、3次元モデルで構成されている以外は、実ロボットと同じであり、例えば、実ロボットと同じサイズ及び構成であってもよく、実ロボットと同様に、複数のアームの関節の角度などを変更可能になっていてもよい。その仮想ロボットの先端には、仮想ツールが装着されていてもよい。仮想ツールは、3次元モデルで構成されている以外は、実ツールと同じであり、例えば、実ツールと同じサイズ及び構成であってもよく、実ツールが可動箇所を有している場合には、その実ツールと同様に、可動箇所を有していてもよい。実ツール及び仮想ツールは、例えば、溶接トーチや、搬送対象を把持するための把持部を有するハンド、搬送対象の載置されるハンド、組み立てや塗装などの機能を有するツールなどであってもよい。
実ロボットは、通常、産業用ロボットであり、モータにより駆動される関節によって連結された複数のアーム(リンク)を有するマニピュレータであってもよい。実ロボットは、例えば、垂直多関節ロボットであってもよく、水平多関節ロボットであってもよい。また、実ツールの装着された実ロボットは、例えば、搬送ロボットであってもよく、溶接ロボットであってもよく、組立ロボットであってもよく、塗装ロボットであってもよく、または、その他の用途のロボットであってもよい。なお、実ロボット及び実ツールは、一例として、実環境に存在するロボット及びツールである。実環境とは、実空間の環境のことである。
画像生成装置3は、基準マーカ6と所定の位置関係となるように配置された仮想ロボットに装着された目的とする姿勢の仮想ツールの到達可能範囲を特定し、その特定した到達可能範囲を表示するための表示画像を生成して表示装置4に出力するものである。なお、画像生成装置3は、基準マーカ6と所定の位置関係となるように、仮想ツールの装着された仮想ロボットの3次元モデルを表示するための表示画像を生成して表示装置4に出力してもよい。画像生成装置3の詳細については後述する。
基準マーカ6は、2次元の所定の画像である。基準マーカ6は、例えば、ARマーカであってもよく、QRコード(登録商標)であってもよく、2次元のあらかじめ形状の決まっているその他の画像であってもよい。基準マーカ6のサイズは、例えば、あらかじめ決まっていてもよい。本実施の形態では、基準マーカ6がシート6aに表示されている場合について主に説明する。基準マーカ6は、例えば、紙や樹脂製のシート6aに印刷されていてもよい。
基準マーカ6と仮想ロボットの3次元モデルとの所定の位置関係は、例えば、あらかじめ決められた位置関係であってもよく、仮想ロボットを操作する作業者等が変更することができる位置関係であってもよい。所定の位置関係は、例えば、仮想ロボットの3次元モデルが基準マーカ6の位置に表示される位置関係であってもよく、仮想ロボットの3次元モデルが基準マーカ6と異なる位置に表示される位置関係であってもよい。前者の場合には、画像生成装置3は、基準マーカ6の位置に仮想ロボットの3次元モデルを配置してもよい。仮想ロボットの3次元モデルが基準マーカ6の位置に配置されるとは、基準マーカ6の位置に実ロボットを配置した状況が仮想的に再現されるように仮想ロボットの3次元モデルが仮想空間に配置されることであってもよく、例えば、仮想ロボットの3次元モデルの基端側の端面(例えば、床面などへの取り付け面)が、基準マーカ6の面と一致するように仮想ロボットの3次元モデルが配置されることであってもよい。仮想ロボットの3次元モデルが基準マーカ6と異なる位置に配置されるとは、例えば、基準マーカ6の隣に仮想ロボットの3次元モデルが配置されることであってもよい。
表示装置4は、画像を実環境の画像または実環境そのものに重ねて表示する。すなわち、仮想ロボットを操作する作業者は、表示装置4によって、実環境と仮想環境の画像との両方を見ることができる。表示装置4は、仮想ロボットを操作する作業者が頭部に装着する装着型の表示装置であってもよく、または、タブレット端末などの可搬型の情報処理端末である表示装置であってもよい。装着型の表示装置は、例えば、ヘッドマウントディスプレイであってもよい。また、表示装置4は、例えば、透過型ディスプレイを有するものであってもよい。この場合には、表示装置4は、画像を実環境そのものに重ねて表示することになる。透過型ディスプレイを有する装着型の表示装置4としては、例えば、HoloLens(登録商標)等が知られている。このような透過型ディスプレイを有する表示装置4は、複合現実(MR:Mixed Reality)を実現するための表示装置であると考えることもできる。また、表示装置4は、例えば、非透過型ディスプレイを有するものであってもよい。この場合には、表示装置4は、画像を実環境の画像に重ねて表示することになる。したがって、非透過型ディスプレイを有する表示装置4は、実環境を撮影するためのカメラを有しているか、または、実環境を撮影するカメラと接続されていることが好適である。カメラで撮影された実環境の画像は、リアルタイムで非透過型ディスプレイに表示される。非透過型ディスプレイを有する装着型の表示装置4としては、例えば、Oculus Quest等が知られている。このような非透過型ディスプレイを有する表示装置4は、拡張現実(AR:Augmented Reality)を実現するための表示装置であると考えることもできる。タブレット端末などの可搬型の情報処理端末である表示装置4は、例えば、カメラとディスプレイとを有しており、カメラで撮影した実環境の画像をリアルタイムでティスプレイに表示してもよい。本実施の形態では、表示装置4が透過型のディスプレイを有するヘッドマウントディスプレイである場合について主に説明する。
図1で示されるように、画像生成装置3は、記憶部31と、位置関係取得部32と、姿勢取得部33と、特定部34と、受付部35と、画像生成部36と、出力部37とを備える。
記憶部31では、仮想ロボット及び仮想ツールの3次元モデルが記憶される。仮想ロボット及び仮想ツールの3次元モデルは、例えば、導入を検討している実ロボット及び実ツールに対応するものであってもよい。導入の検討対象が複数存在する場合には、例えば、複数の実ロボット及び複数の実ツールの3次元モデルが記憶部31で記憶されていてもよい。なお、仮想ロボットの3次元モデル及び仮想ツールの3次元モデルは、記憶部31において、別々に記憶されていてもよく、仮想ツールの装着された仮想ロボットの3次元モデルが記憶されていてもよい。前者の場合には、例えば、仮想ロボット及び仮想ツールの3次元モデルから、仮想ツールの装着された仮想ロボットの3次元モデルを生成できるようになっていてもよい。この場合には、例えば、仮想ツールを装着する仮想ロボットの位置や姿勢などがあらかじめ決められていてもよい。また、3次元モデル以外の情報が記憶部31で記憶されてもよい。例えば、教示データ等が記憶部31で記憶されてもよい。
記憶部31に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が記憶部31で記憶されるようになってもよく、通信回線等を介して送信された情報が記憶部31で記憶されるようになってもよい。記憶部31は、不揮発性の記録媒体によって実現されることが好適であるが、揮発性の記録媒体によって実現されてもよい。記録媒体は、例えば、半導体メモリや磁気ディスク、光ディスクなどであってもよい。
位置関係取得部32は、実環境に存在する基準マーカ6と表示装置4との相対的な位置関係を取得する。基準マーカ6と表示装置4との相対的な位置関係を取得するとは、例えば、基準マーカ6のローカル座標系であるマーカ座標系と、表示装置4のローカル座標系である表示座標系との相対的な位置関係を取得することであってもよい。この相対的な位置関係は、例えば、両座標系間の変換を示す同次変換行列によって示されてもよい。位置関係取得部32が、この相対的な位置関係を取得する方法は問わない。位置関係取得部32は、例えば、表示装置4のカメラで撮影された画像を受け取り、その画像に含まれる基準マーカ6の3以上の特徴点を用いて、マーカ座標系と表示座標系との間の変換を示す同次変換行列を取得してもよい。その同次変換行列の取得は、表示装置4において行われてもよい。この場合には、位置関係取得部32は、マーカ座標系と表示座標系との間の変換を示す同次変換行列を表示装置4から受け付けてもよい。すなわち、位置関係取得部32による相対的な位置関係の取得は、相対的な位置関係の受け付けであってもよい。
姿勢取得部33は、仮想ツールに関する目的とする姿勢を取得する。仮想ツールに関する目的とする姿勢とは、例えば、仮想ツールの一部の目的とする姿勢であってもよい。例えば、仮想ツールが溶接トーチである場合には、仮想ツールに関する目的とする姿勢は、溶接トーチの先端部分の目的とする姿勢であってもよい。この目的とする姿勢は、例えば、ワールド座標系における姿勢であってもよく、ローカル座標系における姿勢であってもよい。ワールド座標系は、例えば、マーカ座標系であってもよい。ローカル座標系は、例えば、表示装置4のローカル座標系である表示座標系であってもよい。姿勢取得部33は、例えば、操作された仮想ツールの3次元モデルに対応する目的とする姿勢を取得してもよく、その他の方法によって、仮想ツールに関する目的とする姿勢を取得してもよい。仮想ツールの3次元モデルが表示される際には、仮想空間における仮想ツールの3次元モデルの姿勢は既知である。また、その仮想空間と、ワールド座標系やローカル座標系との位置関係も取得可能である。したがって、姿勢取得部33は、例えば、ワールド座標系や表示装置4のローカル座標系などにおける仮想ツールに関する目的とする姿勢を取得することができる。姿勢取得部33が表示された仮想ツールの姿勢を取得する場合には、例えば、仮想ツールの所定の箇所(例えば、溶接トーチの先端部分など)の長手方向の角度を取得してもよい。この姿勢は、例えば、ロール、ピッチ、ヨー角や、オイラー角などによって示されてもよい。また、姿勢取得部33によって取得される姿勢の情報は、結果として仮想ツールの姿勢を特定できる情報であれば、どのようなものであってもよい。なお、姿勢取得部33は、例えば、受付部35によって、目的とする姿勢を取得する旨の指示が受け付けられた際の仮想ツールの姿勢を、目的とする姿勢として取得してもよい。また、操作された仮想ツールの3次元モデルに対応する目的とする姿勢が取得される場合に、例えば、仮想ツールのみの表示画像が表示されている状態で仮想ツールの目的とする姿勢が取得されてもよく、仮想ツールの装着された仮想ロボットの表示画像が表示されている状態で仮想ツールの目的とする姿勢が取得されてもよい。本実施の形態では、後者の場合について主に説明する。
特定部34は、仮想ツールの装着された仮想ロボットの3次元モデルに基づいて、基準マーカ6と所定の位置関係となるように配置された仮想ロボットに装着された目的とする姿勢の仮想ツールの到達可能範囲を特定する。目的とする姿勢の仮想ツールの到達可能範囲は、仮想ロボットのロボット座標系において特定されてもよい。特定部34は、例えば、姿勢取得部33によって取得された仮想ツールの姿勢を、その仮想ツールの姿勢が取得された座標系とロボット座標系との位置関係を用いてロボット座標系における姿勢に変換し、仮想ツールの装着された仮想ロボットの3次元モデルと、その姿勢とを用いて、仮想ロボットに装着された目的とする姿勢の仮想ツールの到達可能範囲を特定してもよい。目的とする姿勢の仮想ツールの到達可能範囲は、目的とする姿勢の仮想ツールにおける所定の位置の到達可能範囲であってもよい。仮想ツールが溶接トーチである場合には、所定の位置は、例えば、溶接トーチの先端の位置であってもよい。特定部34は、例えば、3次元空間に所定間隔で配置された複数の格子点のうち、基準マーカ6と所定の位置関係となるように配置された仮想ロボットに装着された目的とする姿勢の仮想ツールを配置した状態で各関節の角度を逆運動学によって算出することができる格子点の集合に応じた範囲を、目的とする姿勢の仮想ツールの到達可能範囲として特定してもよい。なお、そのように各関節の角度を逆運動学によって算出することができる格子点を、以下、「仮想ツールが到達可能な格子点」と呼ぶこともある。仮想ロボットの各関節の角度を逆運動学によって算出できないとは、例えば、逆運動学の計算において解のない場合であってもよく、または、逆運動学の計算において解はあるが、その解の少なくともいずれかが、あらかじめ設定されている各関節の動作範囲を超えている場合であってもよい。各関節の動作範囲は、例えば、仮想ロボットの筐体などの干渉を防止するために設けられてもよく、ケーブルの断線防止や特異点の回避などのために設けられてもよい。複数の格子点が配置される3次元空間は、仮想空間である。また、目的とする姿勢の仮想ツールを格子点に配置するとは、例えば、目的とする姿勢の仮想ツールの所定の位置(例えば、溶接トーチの先端の位置など)が格子点の位置となるように、その仮想ツールを配置することであってもよい。
複数の格子点は、例えば、仮想ロボットのローカル座標系に設定されてもよい。また、複数の格子点は、例えば、隣接した8個の格子点が立方体の頂点に位置するように配置されていてもよい。一例として、複数の格子点は3次元直交座標系の各軸方向において等間隔に配置されていてもよい。また、複数の格子点は、例えば、あらかじめ座標系に設定されていてもよく、または、到達可能範囲の特定が行われる際に生成されてもよい。仮想ロボットは、基準マーカ6と所定の位置関係となるように配置されるため、例えば、複数の格子点50は、図4で示されるように、基準マーカ6に対して所定の位置関係となるように配置されてもよい。なお、図4では、表面に格子点50が表示されている立方体の底面の中心に基準マーカ6が配置されているものとする。そして、特定部34は、基準マーカ6と所定の位置関係となるように配置された仮想ロボットに装着された仮想ツールを格子点50に配置した状態で、仮想ロボットの各関節の角度を逆運動学によって算出できるかどうかを、複数の格子点50のそれぞれについて判断してもよい。なお、仮想ツールを格子点に配置するとは、例えば、図4で示されるように、仮想ツールの3次元モデル20の所定の箇所(例えば、仮想ツールの先端など)を格子点50に配置することであってもよい。このようにすることで、複数の格子点は、各関節の角度を逆運動学によって算出できる格子点、すなわち仮想ツールが到達可能な格子点と、各関節の角度を逆運動学によって算出できない格子点、すなわち仮想ツールが到達可能ではない格子点とに分類される。なお、図4では、説明の便宜上、仮想ロボットの表示は省略しているが、実際には、基準マーカ6と所定の位置関係となるように仮想ロボットが配置されており、仮想ツールは、その仮想ロボットに装着されているものとする。また、図4では、表面の格子点50のみを表示しているが、実際には、内部にも格子点50が存在することは言うまでもない。また、例えば、図4において表面に格子点50が表示されている立方体の外側にもさらに格子点が存在してもよい。
受付部35は、例えば、仮想ツールに関する目的とする姿勢の取得のために、仮想ツール、または仮想ツールの装着された仮想ロボットの3次元モデルに対する操作を受け付けてもよい。また、受付部35は、目的とする姿勢を取得する旨の指示を受け付けてもよい。また、受付部35は、仮想ロボットの3次元モデルに対する操作を受け付けてもよい。
3次元モデルに対する操作は、例えば、3次元モデルの少なくとも一部の位置や姿勢を変化させるための操作であってもよい。操作の指示の受け付けは、例えば、実環境に存在するティーチングペンダントなどの入力デバイスを介して行われてもよく、表示装置4のディスプレイに表示された仮想ボタンや仮想ティーチングペンダントなどの仮想入力インターフェースを介して行われてもよい。仮想入力インターフェースは、例えば、エアタップなどの動作に応じて表示装置4のディスプレイに表示され、作業者の指やポインティングデバイスによってボタン等が選択された場合に、そのボタン等の操作に応じた入力が表示装置4から受付部35に渡されてもよい。また、作業者の手などのジェスチャによって、仮想ロボットや仮想ツールの3次元モデルの少なくとも一部(例えば、ツールなどの手先など)の位置や姿勢を変更できてもよい。この場合には、例えば、作業者がディスプレイに表示された3次元モデルを手でつまむ動作(ホールド動作)を行うことによって、その手でつまんだ部分が操作の対象として特定され、その手の位置や姿勢を変化させることによって、特定された対象の位置や姿勢を変化させる操作が行われ、そのつまむ動作を終了させることによって、特定された対象への操作が終了されてもよい。この場合には、例えば、操作の対象を示す情報(例えば、3次元モデルにおける位置や部分を示す情報)と、操作の内容を示す情報(例えば、位置の変更や姿勢の変更などを示す情報)とが表示装置4から受付部35に渡されてもよく、または、表示装置4において取得されたハンドトラッキングの結果が受付部35に渡され、画像生成装置3において、操作の対象や操作の内容が特定されてもよい。表示装置4において操作の対象を示す情報と操作の内容を示す情報とが取得される場合には、表示装置4は、画像生成装置3で保持されている、仮想空間における仮想ロボットや仮想ツールの現時点の3次元モデルの情報にアクセス可能であってもよい。なお、作業者の手を用いた操作が行われる場合には、表示装置4はカメラを有しており、そのカメラで撮影された作業者の手のハンドトラッキングが行われることによって、作業者の手が、ディスプレイ上のどの位置に存在するのかが特定されてもよい。また、作業者の手などのジェスチャに応じた3次元モデルの表示画像への操作を、3次元仮想空間における3次元モデルの位置や姿勢の変化に変換する方法はすでに公知であり、その詳細な説明を省略する。
受付部35は、上記した以外の情報や指示などを受け付けてもよい。受付部35は、例えば、入力デバイスや表示装置4から入力された情報を受け付けてもよく、有線または無線の通信回線を介して送信された情報を受信してもよい。なお、受付部35は、受け付けを行うためのデバイス(例えば、入力デバイスや通信デバイスなど)を含んでもよく、または含まなくてもよい。また、受付部35は、ハードウェアによって実現されてもよく、または所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
画像生成部36は、位置関係取得部32によって取得された相対的な位置関係に基づいて、特定部34によって特定された到達可能範囲を表示するための表示画像を生成する。基準マーカ6と表示装置4との相対的な位置関係は、位置関係取得部32によって取得される。また、基準マーカ6と仮想ロボットの3次元モデルとの位置関係は決まっている。また、ロボット座標系における到達可能範囲は、特定部34によって特定されている。したがって、これらの情報を用いて、画像生成部36は、到達可能範囲と表示装置4との相対的な位置関係を特定することができる。そのため、画像生成部36は、仮想空間において、到達可能範囲を示す3次元モデルを配置し、その3次元モデルに対して、特定した位置関係となる表示装置4の位置及び向きを特定することができる。そして、画像生成部36は、仮想空間における到達可能範囲を示す3次元モデルを、表示装置4の位置及び向きを基準としてレンダリングすることによって、3次元モデルを表示するための2次元の表示画像を生成することができる。到達可能範囲を示す3次元モデルは、到達可能範囲を示すことができるものであれば特に限定されないが、例えば、到達可能範囲の最外周の面を示す3次元モデルであってもよく、仮想ツールが到達可能な複数の格子点を示す3次元モデルであってもよく、到達可能範囲を示すその他の3次元モデルであってもよい。なお、画像生成部36は、到達可能範囲を示す3次元モデルの表示画像が表示装置4のディスプレイに表示された際に、その表示画像の大きさが実環境と整合するように、表示画像を生成するものとする。すなわち、その表示画像によって、実環境において基準マーカ6と所定の位置関係となるように配置された実ロボットに装着された目的とする姿勢の実ツールの到達可能範囲が示されるように表示画像が生成されるものとする。また、到達可能範囲の3次元モデルの表示画像は、例えば、背後の画像を見ることができない不透明な画像であってもよく、背後の画像も見ることができる半透明の画像であってもよい。
また、画像生成部36は、相対的な位置関係に基づいて、仮想ツールの装着された仮想ロボットの3次元モデルや、仮想ツールの3次元モデルを表示するための表示画像を生成してもよい。仮想ロボットや仮想ツールへの操作が受け付けられた場合には、画像生成部36は、操作された3次元モデルを表示するための表示画像を生成してもよい。仮想ツールの3次元モデルを表示するための表示画像は、例えば、仮想ツールに関する目的とする姿勢の取得のために生成されてもよい。この場合には、仮想ツールのみの表示画像、すなわち仮想ロボットを含まない表示画像が生成されてもよい。
基準マーカ6と表示装置4との相対的な位置関係は、位置関係取得部32によって取得される。また、基準マーカ6と仮想ロボットの3次元モデルとの位置関係は決まっている。したがって、これらの情報を用いて、画像生成部36は、仮想ロボットの3次元モデルと表示装置4との相対的な位置関係を特定することができる。そのため、画像生成部36は、仮想空間において、仮想ツールの装着された仮想ロボットの3次元モデルを配置し、その3次元モデルに対して、特定した位置関係となる表示装置4の位置及び向きを特定することができる。そして、画像生成部36は、仮想空間における仮想ツールの装着された仮想ロボットの3次元モデルを、表示装置4の位置及び向きを基準としてレンダリングすることによって、3次元モデルを表示するための2次元の表示画像を生成することができる。なお、仮想ロボットの各関節の角度は、操作が行われていない場合には初期値となり、操作が行われた場合には操作後の値となる。操作後の各関節の角度は、例えば、実ロボットと同様に、操作後の仮想ロボットの3次元モデルにおける手先の位置及び姿勢を用いた逆運動学によって算出されてもよい。仮想ツールの装着された仮想ロボットが操作されると、上記のように、仮想空間における3次元モデルの形状が、それに応じて変更されることになる。また、表示装置4の位置や向きが実環境において変化した場合には、それに応じて仮想空間上の視点の位置や方向が変更されることになる。そして、その変更後にレンダリングが行われることによって、操作後の3次元モデルの表示画像や、表示装置4の位置や向きの変化後の3次元モデルの表示画像が生成されることになる。なお、画像生成部36は、仮想ツールの装着された仮想ロボットの3次元モデルの表示画像が表示装置4のディスプレイに表示された際に、その表示画像の大きさが実環境と整合するように、表示画像を生成するものとする。すなわち、表示装置4のディスプレイに表示された、仮想ツールの装着された仮想ロボットの3次元モデルと、その3次元モデルと同じ相対的な位置関係となるように実環境に配置された、実ツールの装着された実ロボットとが、表示装置4を介して見たときに同じ大きさになるように、表示画像が生成されることになる。また、仮想ツールの3次元モデルのみを表示するための表示画像を生成する際にも、例えば、基準マーカ6と仮想空間との位置関係を固定することによって、仮想ロボットの3次元モデルを表示する際と同様に、表示画像を生成することができる。また、この場合にも、仮想ツールの3次元モデルの表示画像が表示装置4のディスプレイに表示された際に、その表示画像の大きさが実環境と整合するように、表示画像が生成されることが好適である。
また、受け付けられた操作に応じて仮想ロボットを操作できないこともあり得る。例えば、仮想ツールの装着された仮想ロボットの手先を、移動可能な範囲を超えて移動させる操作または回転可能な範囲を超えて回転させる操作が受け付けられることもある。このような場合には、画像生成部36は、その操作に応じた表示画像を生成しなくてもよく、または、可能な範囲内で移動または回転を行った仮想ロボット等の3次元モデルの表示画像を生成してもよい。
なお、仮想ロボットは、実環境に配置された基準マーカ6と所定の位置関係となるように表示されることになる。また、到達可能範囲は、ロボット座標系における特定の位置に存在することになる。したがって、表示装置4の向きが変化されたとしても、実環境における仮想ロボットや到達可能範囲の3次元モデルの表示位置は変化しないことになる。また、仮想ツールのみの表示画像が生成される場合にも、ワールド座標系における仮想ツールの姿勢は、例えば、仮想ツールの3次元モデルに対する操作の受け付けによってのみ変更されてもよい。この場合には、表示装置4の向きが変化されたとしても、実環境における仮想ツールの3次元モデルの表示位置は変化しないことになる。
出力部37は、画像生成部36によって生成された表示画像を表示装置4に出力する。出力部37は、表示画像を出力する際に、表示画像のみを出力してもよい。この場合には、表示装置4において、実環境の画像または実環境そのものに表示画像が重ねられて表示されることになる。一方、表示装置4が非透過型ディスプレイを有する場合であって、表示装置4で撮影された実環境の画像が画像生成装置3で受け付けられている場合には、実環境の画像と表示画像とが合成された結果が、表示装置4に出力されてもよい。この合成は、例えば、画像生成装置3が有する図示しない合成部によって行われてもよい。
基準マーカ6と異なる位置に仮想ロボットの3次元モデルが表示される場合には、例えば、図1で示されるように、基準マーカ6の隣に仮想ツールの装着された仮想ロボットの3次元モデル10が表示されてもよい。図1における基準マーカ6及び仮想ロボットの3次元モデル10は、仮想ロボットを操作する作業者が表示装置4を介して見ている状況を模式的に示したものである。
なお、仮想ロボットや仮想ツールの3次元モデルを表示することや、その仮想ロボットの3次元モデルを表示デバイスの仮想入力インターフェースや作業者のジェスチャ等を用いて操作することなどについては、例えば、次の文献1~3で示されるようにすでに公知であり、その詳細な説明を省略する。
文献1:特開2017-100234号公報
文献2:特開2020-055075号公報
文献3:特開2020-069538号公報
文献1:特開2017-100234号公報
文献2:特開2020-055075号公報
文献3:特開2020-069538号公報
次に、画像生成装置3の動作について図2のフローチャートを用いて説明する。
(ステップS101)画像生成部36は、仮想ツールの装着された仮想ロボットの3次元モデルの表示画像を生成し、出力部37は、生成された表示画像を表示装置4に出力する。また、受付部35は、表示された仮想ツールに対する操作を受け付けてもよい。操作が受け付けられた際には、その操作に応じて姿勢の変更された仮想ツールの3次元モデルの表示画像が生成されて出力されてもよい。なお、この処理の詳細については、図3のフローチャートを用いて後述する。
(ステップS101)画像生成部36は、仮想ツールの装着された仮想ロボットの3次元モデルの表示画像を生成し、出力部37は、生成された表示画像を表示装置4に出力する。また、受付部35は、表示された仮想ツールに対する操作を受け付けてもよい。操作が受け付けられた際には、その操作に応じて姿勢の変更された仮想ツールの3次元モデルの表示画像が生成されて出力されてもよい。なお、この処理の詳細については、図3のフローチャートを用いて後述する。
(ステップS102)受付部35は、仮想ツールに関する目的とする姿勢を決定する旨の入力を受け付けたかどうか判断する。そして、その決定を受け付けた場合には、ステップS103に進み、そうでない場合には、ステップS101に戻る。
(ステップS103)姿勢取得部33は、その時点の仮想ツールに関する姿勢を、目的とする姿勢として取得する。
(ステップS104)特定部34は、基準マーカ6と所定の位置関係となるように配置された仮想ロボットに装着された目的とする姿勢の仮想ツールの到達可能範囲を特定する。
(ステップS105)画像生成部36は、ステップS104で特定された到達可能範囲を示す3次元モデルの表示画像を生成し、出力部37は、生成された表示画像を表示装置4に出力する。なお、この処理の詳細については、図3のフローチャートを用いて後述する。
(ステップS106)受付部35は、一連の処理に関する終了の指示を受け付けたかどうか判断する。そして、終了の指示を受け付けた場合には、一連の処理は終了となり、そうでない場合には、ステップS105に戻る。
なお、図2のフローチャートにおける処理の順序は一例であり、同様の結果を得られるのであれば、各ステップの順序を変更してもよい。また、図2のフローチャートは、例えば、受け付けられた操作に応じた、仮想ツールの装着された仮想ロボットの3次元モデルの表示画像を生成して表示装置4に出力している状況において、目的とする姿勢のツールの到達可能範囲を表示するモードが起動された際に実行されてもよい。この場合には、例えば、図2で示される一連の処理が終了した後に、操作に応じた3次元モデルの表示画像を生成して表示装置4に出力するモードに戻ってもよい。
次に、図3のフローチャートを用いて、図2のフローチャートにおける仮想ロボットの表示画像の生成の処理(ステップS101)や、到達可能範囲の表示画像の生成の処理(ステップS105)について説明する。なお、ステップS101では、操作や表示の対象となるのは仮想ツールの装着された仮想ロボットの3次元モデルであり、ステップS105では、表示の対象となるのは到達可能範囲を示す3次元モデルであるが、図3では、両者を特に区別しないで説明する。
(ステップS201)受付部35は、3次元モデルへの操作を受け付けたかどうか判断する。そして、操作を受け付けた場合には、ステップS203に進み、そうでない場合には、ステップS202に進む。
(ステップS202)画像生成部36は、表示画像の生成を行うかどうか判断する。そして、表示画像を生成する場合には、ステップS203に進み、そうでない場合には、図2のフローチャートに戻る。なお、画像生成部36は、例えば、表示画像の生成を行うと定期的に判断してもよい。この判断が行われることによって、例えば、操作が行われていなくても、表示装置4の位置や向きが変更された場合には、その変更後の位置や向きに応じた表示画像が表示装置4で表示されるようになる。
(ステップS203)位置関係取得部32は、基準マーカ6と表示装置4との相対的な位置関係を取得する。
(ステップS204)画像生成部36は、ステップS203で取得された相対的な位置関係を用いて、3次元モデルを表示するための表示画像を生成する。なお、表示対象が、仮想ツールの装着された仮想ロボットである場合には、表示画像の生成に、記憶部31で記憶されている3次元モデルが用いられてもよい。また、操作が受け付けられた場合には、その操作に応じて変化させた後の3次元モデルを表示するための表示画像が生成されることになる。また、表示装置4の位置や向きが変更された場合には、その変更後の表示装置4の位置や向きに応じた3次元モデルの表示画像が生成されることになる。なお、仮想ロボットの3次元モデルを表示するための表示画像は、基準マーカ6と所定の位置関係となるように生成されるものとする。
(ステップS205)出力部37は、生成された表示画像を表示装置4に出力する。そして、図2のフローチャートに戻る。この出力に応じて、例えば、仮想ツールの装着された仮想ロボットの3次元モデルが表示されたり、到達可能範囲を示す3次元モデルが表示されたりすることになる。
なお、図3のフローチャートが図2のステップS105の処理を示す場合には、ステップS201の処理は行われなくてもよい。到達可能範囲に対して操作が行われることはないからである。ステップS201の処理が行われない場合には、図3のフローチャートの処理は、ステップS202から開始されてもよい。
次に、本実施の形態による画像生成装置3の動作について、具体例を用いて説明する。まず、作業者は、導入予定の実ロボットを配置する位置に、基準マーカ6の表示されたシート6aを配置する。次に、作業者は、頭部装着型の表示装置4を頭部に装着し、画像生成装置3の処理を開始させる。すると、画像生成装置3は、仮想ツールの装着された仮想ロボットの表示画像を生成して表示装置4に出力する(ステップS101)。具体的には、画像生成部36は、表示画像の生成を行うと判断し、位置関係取得部32に、基準マーカ6と表示装置4との相対的な位置関係を取得する旨の指示を渡す(ステップS202)。その指示に応じて、位置関係取得部32は相対的な位置関係を取得して画像生成部36に渡す(ステップS203)。相対的な位置関係を受け取ると、画像生成部36は、その相対的な位置関係と、記憶部31で記憶されている仮想ツールの装着された仮想ロボットの3次元モデルとを用いて、あらかじめ決められた初期位置及び初期姿勢で、その3次元モデルを表示するための表示画像を生成して出力部37に渡す(ステップS204)。出力部37は、その受け取った表示画像を表示装置4に出力する(ステップS205)。その結果、作業者は、実空間に重ねて配置された、仮想ツールの装着された仮想ロボットを見ることができる。
その後、作業者は、ティーチングペンダントなどの入力デバイスを用いた操作や、ジェスチャ操作などによって、表示された仮想ツールである溶接トーチの先端部分が目的となる姿勢となるように移動させる(ステップS201、S203~S205)。その時点において、作業者が、目的とする姿勢を決定する旨を入力デバイスや仮想入力インターフェースを介して入力すると、その入力は受付部35で受け付けられ、姿勢取得部33に渡される(ステップS102)。そして、姿勢取得部33は、その時点の仮想ツールに関する姿勢を、目的とする姿勢として取得して特定部34に渡す(ステップS103)。
目的とする姿勢を受け取ると、特定部34は、基準マーカ6の位置に配置された仮想ロボットのロボット座標系において、例えば、図4で示されるように所定の間隔で配置された複数の格子点50のそれぞれに仮想ツールの3次元モデル20を配置した際の仮想ロボットの各関節の角度を逆運動学によって算出できるかどうかを、格子点50ごとに判断する。その結果、仮想ロボットの各関節の角度を逆運動学によって算出することができる複数の格子点50の集合、すなわち仮想ツールが到達可能な複数の格子点50の集合を特定することができる。そして、特定部34は、仮想ツールが到達可能な複数の格子点50の集合のうち、最外周側の格子点50によって構成される正方形の面の集合である到達可能範囲の面の輪郭の情報を特定し、画像生成部36に渡す(ステップS104)。その輪郭の情報は、例えば、到達可能範囲の面の輪郭を示す格子点の集合であってもよい。
到達可能範囲を示す情報を受け取ると、画像生成部36は、表示画像の生成を行うと判断し、位置関係取得部32に、基準マーカ6と表示装置4との相対的な位置関係を取得する旨の指示を渡す(ステップS202)。その指示に応じて、位置関係取得部32は相対的な位置関係を取得して画像生成部36に渡す(ステップS203)。相対的な位置関係を受け取ると、画像生成部36は、到達可能範囲を示す情報に基づいて到達可能範囲を示す3次元モデルを生成し、その到達可能範囲を示す3次元モデルと、受け取った相対的な位置関係とを用いて、到達可能範囲の3次元モデルを表示するための表示画像を生成して出力部37に渡す(ステップS204)。出力部37は、その受け取った表示画像を表示装置4に出力する(ステップS205)。その結果、作業者は、図5で示されるように、実空間に重ねて配置された到達可能範囲51を見ることができる。なお、図5では、格子点が粗い場合について示しているが、より細かい格子点を設定することによって、より詳細な到達可能範囲を表示することができる。一方、より細かい格子点を用いた場合には、特定部34による特定の処理負荷が大きくなるため、処理負荷の程度と、要求される到達可能範囲の詳細さの程度とを比較して、望ましい細かさの格子点が用いられることが好適である。
以上のように、本実施の形態による画像生成装置3によれば、目的とする姿勢の仮想ツールの到達可能範囲を特定し、その到達可能範囲を表示するための表示画像を生成して出力することができる。したがって、例えば、新たなロボットの導入及び配置検討を行っている者は、その表示画像を見ることによって、目的とする姿勢の仮想ツールがどの範囲に到達可能であるのかを容易に知ることができるようになり、目的とする作業を実行できるかどうかを確認することができる。また、通常、3次元の立体的な範囲を2次元平面上に表示しても、奥行きなどを容易に理解することができないが、本実施の形態による画像生成装置3では、表示装置4の位置や向きを変更することに応じて、到達可能範囲の表示画像を見る視点を変更できるため、3次元の立体的な範囲を容易に把握することができるようになる。
また、仮想ロボットに装着された仮想ツールを、目的とする姿勢で格子点に配置した状態で、仮想ロボットの各関節の角度を逆運動学によって算出できるかどうかを格子点ごとに判断することによって、目的とする姿勢の仮想ツールの到達可能な格子点を特定することができ、その格子点の集合に応じて目的とする姿勢の仮想ツールの到達可能範囲を特定することができる。
なお、本実施の形態による画像生成装置3では、格子点の間隔を短くすることによって、目的とする姿勢の仮想ツールの到達可能範囲をより詳細に特定することができるようになる。一方、格子点の間隔を短くすると、格子点の個数が増えることになり、格子点ごとに行う逆運動学の計算の負荷が大きくなるという問題がある。そのため、特定部34は、例えば、2種類の格子点を用いて到達可能範囲を特定してもよい。この場合には、複数の格子点は、第1の間隔で配置された複数の第1の格子点と、第1の間隔より短い第2の間隔で配置された複数の第2の格子点とを含んでいてもよい。なお、第1の格子点と第2の格子点とは、それぞれ別の位置に存在してもよく、または、少なくとも一部の格子点の位置が一致していてもよい。後者の場合には、例えば、複数の第1の格子点は、複数の第2の格子点に含まれていてもよい。本実施の形態では、この場合について主に説明する。
特定部34は、仮想ツールが到達可能な第1の格子点を特定し、仮想ツールが到達可能な第1の格子点と、仮想ツールが到達可能でない第1の格子点との間について、仮想ツールが到達可能な第2の格子点を特定し、仮想ツールが到達可能な第1及び第2の格子点の集合に応じた範囲を、目的とする姿勢の仮想ツールの到達可能範囲として特定してもよい。なお、特定部34は、例えば、複数の第1の格子点のそれぞれについて、目的とする姿勢の仮想ツールが到達可能かどうかを判断した後に、8個の第1の格子点を各頂点に有する最小単位の立方体ごとに、8個の頂点の第1の格子点に到達可能な格子点と、到達可能でない格子点との両方が含まれているかどうかを判断してもよい。そして、特定部34は、ある立方体に、到達可能な格子点と到達可能でない格子点との両方が含まれている場合に、その立方体に含まれる複数の第2の格子点のそれぞれについて、目的とする姿勢の仮想ツールが到達可能かどうかを判断し、そうでない場合に、その立方体に含まれる複数の第2の格子点については到達可能かどうかの判断を行わなくてもよい。
このように、第1及び第2の格子点を用いることによって、特定部34は、第1の格子点を用いて粗い到達可能範囲を特定し、その到達可能範囲の境界付近について第2の格子点を用いてより細かい到達可能範囲を特定することができる。そのため、より低い計算の負荷によって、より細かい到達可能範囲の特定を実現できるようになる。また、ここでは、間隔の異なる2段階の格子点、すなわち第1及び第2の格子点を用いて到達可能範囲が特定される場合について説明したが、間隔の異なる3段階以上の格子点、すなわち、第1から第Nの格子点(Nは3以上の整数である)を用いて到達可能範囲が特定されてもよい。この場合には、第1及び第2の格子点を用いた到達可能範囲の特定と同様の処理が繰り返されることによって、より細かい格子点に関する仮想ツールの到達可能範囲が特定されてもよい。なお、第Kの格子点より、第(K+1)の格子点の方が、格子点の間隔が短いものとする。Kは、1からN-1の任意の整数である。
また、仮想ロボットに装着された仮想ツールは、ツール座標系のZ軸周りに任意の角度だけ回転可能になっていることもある。なお、ツール座標系のZ軸は、例えば、ツールが溶接トーチである場合に、トーチの先端箇所の長手方向に延びる軸であってもよい。この場合には、仮想ツールをツール座標系のZ軸周りに任意の角度だけ回転させても、仮想ツールの姿勢は変わらないことになる。そのため、特定部34は、目的とする姿勢の仮想ツールをツール座標系のZ軸周りに回転させたいずれかの角度において逆運動学によって各関節の角度を算出することができる格子点を、仮想ツールが到達可能な格子点としてもよい。なお、目的とする姿勢の仮想ツールをツール座標系のZ軸周りに回転させる際に、特定部34は、例えば、所定の細かい間隔(例えば、10度ごと、30度ごとなど)で仮想ツールを回転させてもよく、所定の粗い間隔(例えば、90度ごと、120度ごとなど)で仮想ツールを順次回転させ、各関節の角度を逆運動学によって算出することができない場合に、より細かい間隔(例えば、10度や30度など)だけずらした後に再度、所定の粗い間隔で仮想ツールを順次回転させることを繰り返してもよい。このように、仮想ツールをツール座標系のZ軸周りに任意の角度だけ回転させて逆運動学の計算を行うことによって、各関節の角度を逆運動学によって算出できる可能性を高めることができ、より正確な到達可能範囲の特定を実現することができる。
また、各関節の角度を逆運動学によって算出することができる複数の格子点のうち、例えば、ある格子点から別の格子点に仮想ツールが移動する際に、少なくともいずれかの関節の角度が不連続になることがある。より具体的には、ある格子点から別の格子点に目的とする姿勢の仮想ツールが移動する際に、ある関節の角度が360度近く回転することがある。そのような2個の格子点の間には、仮想ロボットの少なくともいずれかの関節の角度が不連続となる境界が存在することになる。仮想ロボットに装着された仮想ツールは、その境界を越えて移動することができるが、実ロボットに装着された実ツールは、その境界を越えて移動することはできない。したがって、そのような境界が存在する場合には、特定部34は、例えば、その境界を超えない範囲で到達可能範囲を特定してもよく、その境界そのものを特定してもよい。すなわち、特定部34は、例えば、目的とする姿勢の仮想ツールを配置した状態で各関節の角度を逆運動学によって算出することができる複数の格子点に、少なくともいずれかの関節の角度が不連続となる境界が存在する場合に、その境界に対する仮想ロボットの基端側の格子点を、仮想ツールが到達可能な格子点としてもよい。また、特定部34は、例えば、目的とする姿勢の仮想ツールを配置した状態で各関節の角度を逆運動学によって算出することができる複数の格子点について、少なくともいずれかの関節の角度が不連続となる境界を特定してもよい。
仮想ツールが到達可能な2個の格子点の間に、仮想ロボットの少なくともいずれかの関節の角度が不連続となる境界が存在するかどうかは、例えば、各関節に関する2個の格子点に対応する角度の差の絶対値を算出し、角度の差の絶対値が閾値を超えている関節が存在するかどうかによって判断されてもよい。具体的には、各関節に関する仮想ツールが到達可能な2個の格子点に対応する角度の差の絶対値を算出し、いずれかの関節について、角度の差の絶対値が閾値を超えている場合に、その2個の格子点間に、仮想ロボットの少なくともいずれかの関節の角度が不連続となる境界が存在すると判断されてもよい。この判断は、例えば、特定部34によって行われてもよい。その閾値は、例えば、2個の格子点の距離に比例した閾値であってもよい。例えば、2個の格子点の距離が大きくなるほど、その閾値も大きくなってもよい。例えば、図6で示されるように、格子点50-1~50-8が配置されており、2個の格子点50-1,50-4について、逆運動学によって算出されたある関節の角度の差の絶対値が閾値を超えており、2個の格子点50-3,50-4、2個の格子点50-5,50-8、2個の格子点50-7,50-8のそれぞれについても同様である場合に、2個の格子点50-1,50-4、2個の格子点50-3,50-4、2個の格子点50-5,50-8、2個の格子点50-7,50-8のそれぞれの間に境界が存在すると判断されてもよい。そして、格子点50-1,50-3,50-5,50-7が、格子点50-4,50-8より仮想ロボットの基端側に近い場合には、特定部34は、格子点50-4,50-8を仮想ツールが到達可能な格子点として特定しなくてもよい。また、特定部34が境界を特定する場合には、例えば、境界に対して仮想ロボットの基端側となる格子点、すなわち格子点50-1~50-3,50-5~50-7を境界として特定してもよく、境界に対して反対側となる格子点、すなわち格子点50-4,50-8を境界として特定してもよく、格子点50-1,50-3,50-5,50-7と、格子点50-4,50-8との間を境界として特定してもよい。このように、境界を特定することは、例えば、その境界の近傍の格子点や、その他の点を特定することであってもよい。
境界が特定された場合には、画像生成部36は、例えば、特定された境界を表示するための表示画像を生成してもよい。境界を表示するための表示画像は、例えば、境界を示す3次元モデルを表示するための表示画像であってもよい。その3次元モデルは、例えば、特定された格子点やその他の点によって構成される面を示す3次元モデルであってもよい。この表示画像が表示装置4で表示されることによって、表示装置4で表示画像を見ている者は、境界の位置を知ることができるようになる。なお、境界が特定される場合には、特定部34は、逆運動学によって各関節の角度を算出することができるすべての格子点の集合に応じた範囲を、到達可能範囲としてもよい。
境界より内側の格子点、すなわち境界に対する仮想ロボットの基端側の格子点が、仮想ツールが到達可能な格子点として特定されることによって、目的とする姿勢の仮想ツールが、すべての関節の角度が不連続にならない範囲で到達することができる到達可能範囲が特定されることになる。したがって、その特定された到達可能範囲内において仮想ツールが移動する場合には、すべての関節の角度が不連続にならないことになる。また、境界を示す表示画像が生成されて出力されることによって、表示装置4で表示画像を見ている者は、境界の位置を知ることができる。したがって、例えば、仮想ツールを用いて教示作業を行う際に、境界を横切らないようにすることによって、すべての関節の角度が不連続にならないようにすることができる。
また、本実施の形態では、姿勢取得部33が仮想ツールに関する目的とする1つの姿勢を取得する場合について主に説明したが、そうでなくてもよい。姿勢取得部33は、仮想ツールに関する目的とする2以上の姿勢を取得してもよい。例えば、溶接の開始位置と溶接の終了位置とにおいて仮想ツールの姿勢が異なる場合に、溶接の開始位置及び終了位置の2個の姿勢が姿勢取得部33によって取得されてもよい。また、溶接の開始位置、中間位置、及び終了位置の3個以上の姿勢が姿勢取得部33によって取得されてもよい。
姿勢取得部33によって、仮想ツールに関する目的とする2以上の姿勢が取得された場合には、特定部34は、目的とする2以上の姿勢のそれぞれについて、仮想ツールの到達可能範囲を特定してもよい。なお、特定された2以上の到達可能範囲は、それぞれ別々に表示されてもよく、2以上の到達可能範囲のすべてに含まれる範囲や、2以上の到達可能範囲のいずれかに含まれる範囲が表示されてもよい。後者の場合には、例えば、画像生成部36は、2以上の到達可能範囲のすべてに含まれる範囲を示す3次元モデルの表示画像や、2以上の到達可能範囲のいずれかに含まれる範囲を示す3次元モデルの表示画像を生成してもよい。なお、2以上の到達可能範囲が特定された場合には、例えば、表示装置4の表示画像を見ている者が、2以上の到達可能範囲のすべてに含まれる範囲が表示されるようにするのか、2以上の到達可能範囲のいずれかに含まれる範囲が表示されるようにするのかを選択できてもよい。その選択は、例えば、実環境に存在するティーチングペンダントなどの入力デバイスを介して行われてもよく、表示装置4のディスプレイに表示された仮想ボタンや仮想ティーチングペンダントなどの仮想入力インターフェースを介して行われてもよい。また、その選択結果は、受付部35で受け付けられて画像生成部36に渡されてもよい。また、2以上の到達可能範囲が特定された場合には、例えば、表示装置4の表示画像を見ている者が、表示対象の1以上の到達可能範囲を特定できてもよい。その特定も、入力デバイスや仮想入力インターフェースを介して行われ、その特定結果は、受付部35で受け付けられて画像生成部36に渡されてもよい。画像生成部36は、その選択結果や、特定結果に応じて、1以上の到達可能範囲に関する表示画像を生成してもよい。このように、仮想ツールに関する目的とする2以上の姿勢に応じた2以上の到達可能範囲が特定され、それらに関する表示が行われることによって、表示装置4で表示画像を見ている者は、仮想ツールが複数の姿勢となることができる範囲などを容易に把握することができるようになる。
また、本実施の形態では、基準マーカ6が2次元の所定の画像である場合について主に説明したが、そうでなくてもよい。マーカレスARと同様に、基準マーカとして、実環境に存在する物が用いられてもよい。実環境に存在する物は特に限定されるものではないが、例えば、実ロボットの設置に用いられる土台部分や、ロボットを配置する位置の近傍に存在する治具等であってもよい。また、各面にマーカを貼り付けた立体形状(例えば、直方体形状など)の物体におけるマーカを、基準マーカとしてもよい。また、基準マーカは、例えば、土台や治具などのように、3次元のものであってもよい。
また、本実施の形態では、姿勢取得部33が、操作された仮想ツールの3次元モデルを用いて目的とする姿勢を取得する場合について主に説明したが、そうでなくてもよい。姿勢取得部33は、例えば、実環境に存在する操作指示部材の姿勢によって示される目的とする姿勢を取得してもよい。この場合には、実環境に存在する操作指示部材を用いて、仮想ツールに関する目的とする姿勢を設定することができ、3次元モデルの表示を用いたときよりも、より簡単に設定を行うことができるようになる。操作指示部材の形状は特に限定されないが、例えば、棒状の部材であってもよく、それ以外の形状の部材であってもよい。棒状の部材は、例えば、円柱形状の部材や、多角柱形状の部材などであってもよい。棒状の部材である操作指示部材は、例えば、一端側が尖っているなどのように、長手方向の両端の形状が異なっていることによって、向きを判別できるようになっていてもよい。操作指示部材として、例えば、ペンや鉛筆などの筆記具が用いられてもよい。操作指示部材は、通常、作業者の手で動かされる。操作指示部材は、例えば、ペンなどの筆記具と同程度の大きさであり、作業者が筆記具と同様に手で保持して移動させてもよい。操作指示部材の姿勢によって、例えば、仮想ツールの先端などの所定の箇所の姿勢が示されてもよい。
姿勢取得部33が操作指示部材の姿勢を取得する方法は問わない。操作指示部材の姿勢を取得するとは、例えば、所定の座標系における操作指示部材の姿勢を特定することであってもよい。その座標系は、例えば、ワールド座標系であってもよく、表示装置4のローカル座標系であってもよく、その他の座標系であってもよい。なお、姿勢取得部33が操作指示部材の姿勢を取得する場合には、例えば、棒状である操作指示部材の長手方向の角度を取得してもよい。また、この姿勢は、例えば、ロール、ピッチ、ヨー角や、オイラー角などによって示されてもよい。
姿勢取得部33は、例えば、操作指示部材の撮影画像を用いて、その姿勢を取得してもよい。この場合には、画像の撮影は、例えば、表示装置4が有するカメラを用いて行われてもよく、実環境の所定の位置に配置されているカメラを用いて行われてもよい。頭部装着型の表示装置4に実環境を撮影するためのカメラが装着されている場合には、そのカメラは、表示装置4を装着する作業者の視線方向と同じ方向の撮影画像を取得するように配置されていることが好適である。また、実環境にカメラが配置されている場合には、そのカメラは、操作指示部材が作業者によって移動される領域を撮影可能となるように配置されていることが好適である。姿勢取得部33は、例えば、撮影画像を用いて操作指示部材の特定及びトラッキングを行い、その結果を用いて、操作指示部材の姿勢を取得してもよい。
また、姿勢取得部33は、例えば、操作指示部材に組み込まれているセンサによるセンシング結果を用いて、その姿勢を取得してもよい。そのセンサは、例えば、操作指示部材の姿勢を取得するためのセンサであってもよい。姿勢を取得するためのセンサは、例えば、方位角を取得するための方位センサと、鉛直方向に対する傾斜角を取得するための傾斜センサであってもよく、ジャイロセンサ(すなわち、角速度センサ)であってもよい。ジャイロセンサでは、角度の変化しかわからないため、例えば、作業者は初めに操作指示部材をあらかじめ決められた基準姿勢に配置してもよい。そして、姿勢取得部33は、その後にジャイロセンサによって取得されたセンシング結果と、基準姿勢とを用いて、操作指示部材の現在の姿勢を取得してもよい。なお、操作指示部材が有するセンサのセンシング結果は、操作指示部材から姿勢取得部33に、無線または有線で送信されてもよい。
また、姿勢取得部33は、例えば、実環境に配置されたセンサ、または表示装置4が有するセンサによって取得された操作指示部材の位置を示すセンシング結果を用いて、操作指示部材の姿勢を取得してもよい。このセンサは、例えば、深度センサなどの測距センサであってもよい。センサが測距センサである場合には、複数の測距センサを用いて実環境の3次元スキャンが行われてもよい。そして、姿勢取得部33は、センシング結果、すなわち3次元スキャンの結果を用いて、あらかじめ決められた形状である操作指示部材の姿勢を特定してもよい。
また、撮影画像やセンシング結果を用いた操作指示部材の姿勢の取得は、姿勢取得部33以外の構成要素や装置において行われてもよい。この場合には、姿勢取得部33は、姿勢取得部33以外の構成要素や装置において取得された操作指示部材の姿勢を受け付けてもよい。すなわち、姿勢取得部33による操作指示部材の姿勢の取得は、操作指示部材の姿勢の受け付けであってもよい。
なお、姿勢取得部33は、例えば、受付部35によって、目的とする姿勢を取得する旨の指示が受け付けられた際の操作指示部材の姿勢を、目的とする姿勢として取得してもよい。
また、姿勢取得部33は、入力デバイスや仮想入力インターフェースを介して数値入力された仮想ツールの目的とする姿勢を取得してもよい。この目的とする姿勢を示す数値の取得は、例えば、その数値の受け付けであってもよい。
また、仮想ツールに関する目的とする姿勢の取得は、仮想ツールと所定の位置関係にある箇所の姿勢の取得であってもよい。ただし、その箇所の姿勢と、仮想ツールに関する姿勢とは一対一の関係にあるものとする。すなわち、その箇所の姿勢が決まれば、仮想ツールに関する姿勢も一意に決まるものとする。この場合には、その箇所の姿勢を取得することによって、仮想ツールに関する目的とする姿勢を取得したことと実質的に同じになるからである。したがって、仮想ツールに関する目的とする姿勢の取得は、そのような箇所の姿勢の取得も含んでいると考えてもよい。また、その箇所の姿勢を用いて、到達可能範囲の特定が行われてもよい。その箇所は、例えば、仮想ツールから所定の方向に所定の距離だけ離間した位置であってもよい。その箇所は、一例として、仮想ロボット上の位置であってもよい。
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。例えば、画像生成装置3の少なくとも一部の構成は、物理的には、ディスプレイを有する装置などに含まれてもよい。したがって、図1で示される装置の切り分けは、物理的な装置に応じたものではなく、機能に応じた便宜上のものであると考えてもよい。
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
また、上記実施の形態において、画像生成装置3に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、または、別々のデバイスを有してもよい。
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、または、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。また、そのプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。また、そのプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、または分散処理を行ってもよい。
また、以上の実施の形態は、本発明を具体的に実施するための例示であって、本発明の技術的範囲を制限するものではない。本発明の技術的範囲は、実施の形態の説明ではなく、特許請求の範囲によって示されるものであり、特許請求の範囲の文言上の範囲及び均等の意味の範囲内での変更が含まれることが意図される。
3 画像生成装置、4 表示装置、6 基準マーカ、31 記憶部、32 位置関係取得部、33 姿勢取得部、34 特定部、35 受付部、36 画像生成部、37 出力部
Claims (7)
- 実ロボット及び実ツールに対応する仮想ロボット及び仮想ツールの3次元モデルが記憶される記憶部と、
実環境に存在する基準マーカと、画像を実環境の画像または実環境そのものに重ねて表示する表示装置との相対的な位置関係を取得する位置関係取得部と、
前記仮想ツールに関する目的とする姿勢を取得する姿勢取得部と、
前記仮想ツールの装着された仮想ロボットの3次元モデルに基づいて、前記基準マーカと所定の位置関係となるように配置された仮想ロボットに装着された前記目的とする姿勢の仮想ツールの到達可能範囲を特定する特定部と、
前記相対的な位置関係に基づいて、前記特定部によって特定された到達可能範囲を表示するための表示画像を生成する画像生成部と、
前記表示画像を前記表示装置に出力する出力部と、を備えた画像生成装置。 - 前記特定部は、3次元空間に所定間隔で配置された複数の格子点のうち、前記基準マーカと所定の位置関係となるように配置された仮想ロボットに装着された前記目的とする姿勢の仮想ツールを配置した状態で各関節の角度を逆運動学によって算出することができる格子点である仮想ツールが到達可能な格子点の集合に応じた範囲を、前記目的とする姿勢の仮想ツールの到達可能範囲として特定する、請求項1記載の画像生成装置。
- 複数の格子点は、第1の間隔で配置された複数の第1の格子点と、前記第1の間隔より短い第2の間隔で配置された複数の第2の格子点とを含んでおり、
前記特定部は、前記仮想ツールが到達可能な第1の格子点を特定し、前記仮想ツールが到達可能な第1の格子点と、前記仮想ツールが到達可能でない第1の格子点との間について、前記仮想ツールが到達可能な第2の格子点を特定し、前記仮想ツールが到達可能な第1及び第2の格子点の集合に応じた範囲を、前記目的とする姿勢の仮想ツールの到達可能範囲として特定する、請求項2記載の画像生成装置。 - 前記特定部は、前記目的とする姿勢の仮想ツールをツール座標系のZ軸周りに回転させたいずれかの角度において逆運動学によって各関節の角度を算出することができる格子点を、前記仮想ツールが到達可能な格子点とする、請求項2記載の画像生成装置。
- 前記特定部は、前記目的とする姿勢の仮想ツールを配置した状態で各関節の角度を逆運動学によって算出することができる複数の格子点に、少なくともいずれかの関節の角度が不連続となる境界が存在する場合に、当該境界に対する前記仮想ロボットの基端側の格子点を、前記仮想ツールが到達可能な格子点とする、請求項2記載の画像生成装置。
- 前記特定部は、前記目的とする姿勢の仮想ツールを配置した状態で各関節の角度を逆運動学によって算出することができる複数の格子点について、少なくともいずれかの関節の角度が不連続となる境界をも特定し、
前記画像生成部は、特定された境界を表示するための表示画像をも生成する、請求項2記載の画像生成装置。 - 前記姿勢取得部は、前記仮想ツールに関する目的とする2以上の姿勢を取得し、
前記特定部は、前記目的とする2以上の姿勢の仮想ツールの到達可能範囲をそれぞれ特定する、請求項1から請求項6のいずれか記載の画像生成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022150542A JP2024044794A (ja) | 2022-09-21 | 2022-09-21 | 画像生成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022150542A JP2024044794A (ja) | 2022-09-21 | 2022-09-21 | 画像生成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024044794A true JP2024044794A (ja) | 2024-04-02 |
Family
ID=90479836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022150542A Pending JP2024044794A (ja) | 2022-09-21 | 2022-09-21 | 画像生成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2024044794A (ja) |
-
2022
- 2022-09-21 JP JP2022150542A patent/JP2024044794A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10052765B2 (en) | Robot system having augmented reality-compatible display | |
US9984178B2 (en) | Robot simulator, robot teaching apparatus and robot teaching method | |
US7353081B2 (en) | Method and a system for programming an industrial robot | |
US7123214B2 (en) | Information processing method and apparatus | |
JP5113666B2 (ja) | ロボット教示システム及びロボットの動作のシミュレーション結果の表示方法 | |
CN113677486A (zh) | 用于一个或多个机器人的约束管理的系统和方法 | |
KR20140008262A (ko) | 로봇 시스템, 로봇, 로봇 제어 장치, 로봇 제어 방법 및 로봇 제어 프로그램 | |
JP2009006410A (ja) | 遠隔操作支援装置および遠隔操作支援プログラム | |
CN110142770B (zh) | 一种基于头戴显示装置的机器人示教系统及方法 | |
JP2017170571A (ja) | ロボット、ロボット制御装置、及びロボットシステム | |
JP2021016922A (ja) | 三次元データ生成装置及びロボット制御システム | |
CN109648568A (zh) | 机器人控制方法、系统及存储介质 | |
JP2009258884A (ja) | ユーザインタフェイス | |
CN210361314U (zh) | 一种基于增强现实技术的机器人示教装置 | |
JP2020166371A (ja) | 情報処理方法、情報処理装置、物体検出装置およびロボットシステム | |
JP4649554B1 (ja) | ロボット制御装置 | |
US12036663B2 (en) | Method and control arrangement for determining a relation between a robot coordinate system and a movable apparatus coordinate system | |
JP7439410B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP7249221B2 (ja) | センサ位置姿勢キャリブレーション装置及びセンサ位置姿勢キャリブレーション方法 | |
JP2024044794A (ja) | 画像生成装置 | |
JP5201341B2 (ja) | 遠隔操作支援装置 | |
CN113384347B (zh) | 一种机器人标定方法、装置、设备及存储介质 | |
JP2024044795A (ja) | 情報処理装置 | |
JP2022163836A (ja) | ロボット画像の表示方法、コンピュータープログラム、及び、ロボット画像の表示システム | |
JP2023505322A (ja) | ロボットをプログラムするための方法及びシステム |