(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024044795
(43)【公開日】2024-04-02
(54)【発明の名称】情報処理装置
(51)【国際特許分類】
B25J 9/22 20060101AFI20240326BHJP
【FI】
B25J9/22 A
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022150543
(22)【出願日】2022-09-21
(71)【出願人】
【識別番号】000000262
【氏名又は名称】株式会社ダイヘン
(74)【代理人】
【識別番号】100115749
【弁理士】
【氏名又は名称】谷川 英和
(74)【代理人】
【識別番号】100121223
【弁理士】
【氏名又は名称】森本 悟道
(72)【発明者】
【氏名】古川 直樹
(72)【発明者】
【氏名】鳴川 雄太
(72)【発明者】
【氏名】檀上 梓紗
(72)【発明者】
【氏名】久保 正樹
(72)【発明者】
【氏名】北野 豊和
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS11
3C707BS10
3C707JU03
3C707KS17
3C707KS20
3C707KT03
3C707KT06
3C707LS06
3C707LS20
3C707MT01
(57)【要約】
【課題】仮想ロボットと仮想ツールの複数の組み合わせのそれぞれについて配置検討を行うことは負担が大きいという問題があった。
【解決手段】情報処理装置3は、実環境の基準マーカと表示装置4の相対的な位置関係を取得する位置関係取得部32と、目的とする位置及び姿勢を取得する位置姿勢取得部33と、仮想ツールの装着された仮想ロボットの複数の3次元モデルと相対的な位置関係とに基づいて、基準マーカと所定の位置関係となるように配置された複数の仮想ロボットのうち、装着された仮想ツールを目的とする位置及び姿勢にすることができる仮想ロボット及び仮想ツールの組み合わせを特定する特定部34と、特定結果に応じた出力を行う出力部35とを備える。このような構成により、装着された仮想ツールを目的とする位置及び姿勢にすることができる仮想ロボット及び仮想ツールの組み合わせを特定することができる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
実ロボット及び実ツールにそれぞれ対応する仮想ロボット及び仮想ツールの複数の3次元モデルが記憶される記憶部と、
実環境に存在する基準マーカと、画像を実環境の画像または実環境そのものに重ねて表示する表示装置との相対的な位置関係を取得する位置関係取得部と、
仮想ツールに関する目的とする位置及び姿勢を取得する位置姿勢取得部と、
仮想ツールの装着された仮想ロボットの複数の3次元モデルと前記相対的な位置関係とに基づいて、前記基準マーカと所定の位置関係となるように配置された複数の仮想ロボットのうち、装着された仮想ツールを前記目的とする位置及び姿勢にすることができる仮想ロボット及び仮想ツールの組み合わせを特定する特定部と、
前記特定結果に応じた出力を行う出力部と、を備えた情報処理装置。
【請求項2】
前記相対的な位置関係に基づいて、前記基準マーカと所定の位置関係となるように、特定された1以上の組み合わせの仮想ロボット及び仮想ツールの3次元モデルを表示するための表示画像を生成する画像生成部をさらに備え、
前記出力部は、前記表示画像を前記表示装置に出力する、請求項1記載の情報処理装置。
【請求項3】
前記出力部は、前記特定結果を出力し、
前記出力された特定結果から、仮想ロボット及び仮想ツールの1以上の組み合わせの選択を受け付ける受付部をさらに備え、
前記画像生成部は、特定された仮想ロボット及び仮想ツールの組み合わせのうち、選択の受け付けられた仮想ロボット及び仮想ツールの1以上の組み合わせの3次元モデルを表示するための表示画像を生成する、請求項2記載の情報処理装置。
【請求項4】
前記特定部は、前記基準マーカと所定の位置関係となるように配置された仮想ロボットであって、前記目的とする位置及び姿勢である仮想ツールが装着された状態で、各関節の角度を逆運動学によって算出することができる仮想ロボット及び仮想ツールの組み合わせを、装着された仮想ツールを前記目的とする位置及び姿勢にすることができる仮想ロボット及び仮想ツールの組み合わせとして特定する、請求項1から請求項3のいずれか記載の情報処理装置。
【請求項5】
仮想ツールの3次元モデルに対する操作を受け付ける受付部と、
前記相対的な位置関係に基づいて、操作された仮想ツールの3次元モデルを表示するための表示画像を生成する画像生成部と、をさらに備え、
前記出力部は、前記表示画像を前記表示装置に出力し、
前記位置姿勢取得部は、操作された仮想ツールの3次元モデルに対応する前記目的とする位置及び姿勢を取得する、請求項1記載の情報処理装置。
【請求項6】
前記位置姿勢取得部は、実環境に存在する操作指示部材の位置及び姿勢によって示される前記目的とする位置及び姿勢を受け付ける、請求項1から請求項3のいずれか記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、装着された仮想ツールを目的とする位置及び姿勢にすることができる仮想ロボット及び仮想ツールの組み合わせを特定することができる情報処理装置に関する。
【背景技術】
【0002】
従来、ロボットの導入時にロボットに装着されたツールが所望の位置に到達できるかどうかは、カタログスペックを参考にして判断していた。しかしながら、ロボットがどの範囲に到達可能であるのかをカタログに基づいて判断することは難しいという問題があった。また、通常、カタログに記載されているのは、ツールを装着していないロボット単体での到達位置であり、ロボットに装着されたツールが所望の位置に到達できるかどうかを、ロボット単体に関する情報から判断することは難しいという問題もあった。
【0003】
また、ロボットを配置する予定の空間を3Dデータ化し、シミュレータによって配置検討を行うこともできるが、その場合には、ロボットの配置予定の空間を3Dデータ化するコストが高いという問題があった。
【0004】
近年、実ロボットに対応する仮想ロボットの3次元モデルを実空間の画像や実空間そのものに重ねて表示することが行われている(例えば、特許文献1~3参照)。ロボットを導入する際の配置検討時に、実ロボットを配置して検討することは現実的ではないが、仮想ロボットを配置することは容易であるため、その仮想ロボットを用いて、仮想ロボットに装着された仮想ツールが所望の位置に到達できるかどうかを判断することはできる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2017-100234号公報
【特許文献2】特開2020-055075号公報
【特許文献3】特開2020-069538号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、複数の仮想ロボット、及び複数の仮想ツールが存在する場合に、それらの組み合わせについてそれぞれ配置検討を行うことは、配置検討を行う作業者の負担が大きいという問題があった。
【0007】
本発明は、上記課題を解決するためになされたものであり、仮想ロボット及び仮想ツールの複数の組み合わせから、装着された仮想ツールを目的とする位置及び姿勢にすることができる仮想ロボット及び仮想ツールの組み合わせを特定することができる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するため、本発明の一態様による情報処理装置は、実ロボット及び実ツールにそれぞれ対応する仮想ロボット及び仮想ツールの複数の3次元モデルが記憶される記憶部と、実環境に存在する基準マーカと、画像を実環境の画像または実環境そのものに重ねて表示する表示装置との相対的な位置関係を取得する位置関係取得部と、仮想ツールに関する目的とする位置及び姿勢を取得する位置姿勢取得部と、仮想ツールの装着された仮想ロボットの複数の3次元モデルと相対的な位置関係とに基づいて、基準マーカと所定の位置関係となるように配置された複数の仮想ロボットのうち、装着された仮想ツールを目的とする位置及び姿勢にすることができる仮想ロボット及び仮想ツールの組み合わせを特定する特定部と、特定結果に応じた出力を行う出力部と、を備えたものである。
【発明の効果】
【0009】
本発明の一態様による情報処理装置によれば、仮想ロボット及び仮想ツールの複数の組み合わせから、装着された仮想ツールを目的とする位置及び姿勢にすることができる仮想ロボット及び仮想ツールの組み合わせを特定することができ、配置検討を行う作業者の負担を軽減することができる。
【図面の簡単な説明】
【0010】
【
図1】本発明の実施の形態による情報処理システムの構成を示す模式図
【
図2】同実施の形態による情報処理装置の動作を示すフローチャート
【
図3】同実施の形態による情報処理装置の動作を示すフローチャート
【
図4A】同実施の形態における仮想ロボット識別子と仮想ロボットの3次元モデルとの対応の一例を示す図
【
図4B】同実施の形態における仮想ツール識別子と仮想ツールの3次元モデルとの対応の一例を示す図
【
図4C】同実施の形態における仮想ロボットと仮想ツールとの可能な組み合わせの一例を示す図
【
図5】同実施の形態における配置された仮想ツールの一例を示す図
【
図6】同実施の形態における特定結果の選択のための表示の一例を示す図
【
図7】同実施の形態における選択された特定結果に応じた表示の一例を示す図
【発明を実施するための形態】
【0011】
以下、本発明による情報処理装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。本実施の形態による情報処理装置は、仮想ロボット及び仮想ツールの複数の組み合わせから、装着された仮想ツールを目的とする位置及び姿勢にすることができる仮想ロボット及び仮想ツールの組み合わせを特定することができるものである。
【0012】
図1は、本実施の形態による情報処理システム100の構成を示す模式図である。本実施の形態による情報処理システム100は、情報処理装置3と表示装置4とを備える。なお、情報処理装置3と表示装置4とは、例えば、有線または無線で接続されていてもよい。
【0013】
操作対象の仮想ロボット及び仮想ツールはそれぞれ、仮想環境に存在する3次元モデルによって構成されるものであり、実ロボット及び実ツールに対応したものである。すなわち、仮想ロボットは、3次元モデルで構成されている以外は、実ロボットと同じであり、例えば、実ロボットと同じサイズ及び構成であってもよく、実ロボットと同様に、複数のアームの関節の角度などを変更可能になっていてもよい。また、仮想ツールは、3次元モデルで構成されている以外は、実ツールと同じであり、例えば、実ツールと同じサイズ及び構成であってもよく、実ツールが可動箇所を有している場合には、その実ツールと同様に、可動箇所を有していてもよい。なお、実ロボットは、先端に実ツールを装着可能になっていてもよい。実ツールは、例えば、溶接トーチや、搬送対象を把持するための把持部を有するハンド、搬送対象の載置されるハンド、組み立てや塗装などの機能を有するツールなどであってもよい。
【0014】
実ロボットは、通常、産業用ロボットであり、モータにより駆動される関節によって連結された複数のアーム(リンク)を有するマニピュレータであってもよい。実ロボットは、例えば、垂直多関節ロボットであってもよく、水平多関節ロボットであってもよい。また、実ツールの装着された実ロボットは、例えば、搬送ロボットであってもよく、溶接ロボットであってもよく、組立ロボットであってもよく、塗装ロボットであってもよく、または、その他の用途のロボットであってもよい。なお、実ロボット及び実ツールは、一例として、実環境に存在するロボット及びツールである。実環境とは、実空間の環境のことである。
【0015】
情報処理装置3は、仮想ロボット及び仮想ツールの複数の組み合わせから、基準マーカ6と所定の位置関係となるように配置された仮想ロボットに装着された仮想ツールを目的とする位置及び姿勢にすることができる仮想ロボット及び仮想ツールの組み合わせを特定するものである。なお、情報処理装置3は、基準マーカ6と所定の位置関係となるように、仮想ツールの装着された仮想ロボットの3次元モデルを表示するための表示画像を生成して表示装置4に出力してもよい。情報処理装置3の詳細については後述する。
【0016】
基準マーカ6は、2次元の所定の画像である。基準マーカ6は、例えば、ARマーカであってもよく、QRコード(登録商標)であってもよく、2次元のあらかじめ形状の決まっているその他の画像であってもよい。基準マーカ6のサイズは、例えば、あらかじめ決まっていてもよい。本実施の形態では、基準マーカ6がシート6aに表示されている場合について主に説明する。基準マーカ6は、例えば、紙や樹脂製のシート6aに印刷されていてもよい。
【0017】
基準マーカ6と仮想ロボットの3次元モデルとの所定の位置関係は、例えば、あらかじめ決められた位置関係であってもよく、仮想ロボットを操作する作業者等が変更することができる位置関係であってもよい。所定の位置関係は、例えば、仮想ロボットの3次元モデルが基準マーカ6の位置に表示される位置関係であってもよく、仮想ロボットの3次元モデルが基準マーカ6と異なる位置に表示される位置関係であってもよい。前者の場合には、情報処理装置3は、基準マーカ6の位置に仮想ロボットの3次元モデルを配置してもよい。仮想ロボットの3次元モデルが基準マーカ6の位置に配置されるとは、基準マーカ6の位置に実ロボットを配置した状況が仮想的に再現されるように仮想ロボットの3次元モデルが仮想空間に配置されることであってもよく、例えば、仮想ロボットの3次元モデルの基端側の端面(例えば、床面などへの取り付け面)が、基準マーカ6の面と一致するように仮想ロボットの3次元モデルが配置されることであってもよい。仮想ロボットの3次元モデルが基準マーカ6と異なる位置に配置されるとは、例えば、基準マーカ6の隣に仮想ロボットの3次元モデルが配置されることであってもよい。
【0018】
表示装置4は、画像を実環境の画像または実環境そのものに重ねて表示する。すなわち、仮想ロボットを操作する作業者は、表示装置4によって、実環境と仮想環境の画像との両方を見ることができる。表示装置4は、仮想ロボットを操作する作業者が頭部に装着する装着型の表示装置であってもよく、または、タブレット端末などの可搬型の情報処理端末である表示装置であってもよい。装着型の表示装置は、例えば、ヘッドマウントディスプレイであってもよい。また、表示装置4は、例えば、透過型ディスプレイを有するものであってもよい。この場合には、表示装置4は、画像を実環境そのものに重ねて表示することになる。透過型ディスプレイを有する装着型の表示装置4としては、例えば、HoloLens(登録商標)等が知られている。このような透過型ディスプレイを有する表示装置4は、複合現実(MR:Mixed Reality)を実現するための表示装置であると考えることもできる。また、表示装置4は、例えば、非透過型ディスプレイを有するものであってもよい。この場合には、表示装置4は、画像を実環境の画像に重ねて表示することになる。したがって、非透過型ディスプレイを有する表示装置4は、実環境を撮影するためのカメラを有しているか、または、実環境を撮影するカメラと接続されていることが好適である。カメラで撮影された実環境の画像は、リアルタイムで非透過型ディスプレイに表示される。非透過型ディスプレイを有する装着型の表示装置4としては、例えば、Oculus Quest等が知られている。このような非透過型ディスプレイを有する表示装置4は、拡張現実(AR:Augmented Reality)を実現するための表示装置であると考えることもできる。タブレット端末などの可搬型の情報処理端末である表示装置4は、例えば、カメラとディスプレイとを有しており、カメラで撮影した実環境の画像をリアルタイムでティスプレイに表示してもよい。本実施の形態では、表示装置4が透過型のディスプレイを有するヘッドマウントディスプレイである場合について主に説明する。
【0019】
図1で示されるように、情報処理装置3は、記憶部31と、位置関係取得部32と、位置姿勢取得部33と、特定部34と、出力部35と、受付部36と、画像生成部37とを備える。
【0020】
記憶部31では、仮想ロボットの複数の3次元モデル、及び仮想ツールの複数の3次元モデルが記憶される。仮想ロボット及び仮想ツールの3次元モデルは、例えば、導入を検討している実ロボット及び実ツールに対応する仮想ロボット及び仮想ツールの3次元モデルであってもよい。仮想ロボットの複数の3次元モデル、及び仮想ツールの複数の3次元モデルは、それぞれ複数の実ロボット及び複数の実ツールに対応したものである。例えば、導入候補の実ロボット及び実ツールが複数ある場合には、それらの複数の実ロボット、複数の実ツールに対応する複数の仮想ロボットの3次元モデル、及び複数の仮想ツールの3次元モデルが記憶部31で記憶されていてもよい。また、3次元モデル以外の情報が記憶部31で記憶されてもよい。例えば、教示データ等が記憶部31で記憶されてもよい。また、通常、ある実ロボットに装着できる実ツール、すなわち、ある仮想ロボットに装着できる仮想ツールは、限定されている。したがって、組み合わせ可能な仮想ロボットと仮想ツールとを示す情報が記憶部31で記憶されていてもよい。また、例えば、仮想ロボット及び仮想ツールの3次元モデルから、仮想ツールの装着された仮想ロボットの3次元モデルを生成できるようになっていてもよい。この場合には、例えば、仮想ツールを装着する仮想ロボットの位置や姿勢などがあらかじめ決められていてもよい。また、仮想ロボットの3次元モデルは、仮想ツールの装着された仮想ロボットの3次元モデルであってもよい。この場合には、例えば、仮想ツールと仮想ロボットとのすべての組み合わせに対応する仮想ツールの装着された仮想ロボットの3次元モデルが記憶部31で記憶されていてもよい。
【0021】
記憶部31に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が記憶部31で記憶されるようになってもよく、通信回線等を介して送信された情報が記憶部31で記憶されるようになってもよい。記憶部31は、不揮発性の記録媒体によって実現されることが好適であるが、揮発性の記録媒体によって実現されてもよい。記録媒体は、例えば、半導体メモリや磁気ディスク、光ディスクなどであってもよい。
【0022】
位置関係取得部32は、実環境に存在する基準マーカ6と表示装置4との相対的な位置関係を取得する。基準マーカ6と表示装置4との相対的な位置関係を取得するとは、例えば、基準マーカ6のローカル座標系であるマーカ座標系と、表示装置4のローカル座標系である表示座標系との相対的な位置関係を取得することであってもよい。この相対的な位置関係は、例えば、両座標系間の変換を示す同次変換行列によって示されてもよい。位置関係取得部32が、この相対的な位置関係を取得する方法は問わない。位置関係取得部32は、例えば、表示装置4のカメラで撮影された画像を受け取り、その画像に含まれる基準マーカ6の3以上の特徴点を用いて、マーカ座標系と表示座標系との間の変換を示す同次変換行列を取得してもよい。その同次変換行列の取得は、表示装置4において行われてもよい。この場合には、位置関係取得部32は、マーカ座標系と表示座標系との間の変換を示す同次変換行列を表示装置4から受け付けてもよい。すなわち、位置関係取得部32による相対的な位置関係の取得は、相対的な位置関係の受け付けであってもよい。
【0023】
位置姿勢取得部33は、仮想ツールに関する目的とする位置及び姿勢を取得する。仮想ツールに関する目的とする位置及び姿勢とは、例えば、仮想ツールの一部の目的とする位置及び姿勢であってもよい。例えば、仮想ツールが溶接トーチである場合には、仮想ツールに関する目的とする位置及び姿勢は、溶接トーチの先端の目的とする位置、及び溶接トーチの先端部分の目的とする姿勢であってもよい。この目的とする位置及び姿勢は、例えば、ワールド座標系における位置及び姿勢であってもよく、ローカル座標系における位置及び姿勢であってもよい。ワールド座標系は、例えば、マーカ座標系であってもよい。ローカル座標系は、例えば、表示装置4のローカル座標系である表示座標系であってもよい。位置姿勢取得部33は、例えば、操作された仮想ツールの3次元モデルに対応する目的とする位置及び姿勢を取得してもよく、その他の方法によって、仮想ツールに関する目的とする位置及び姿勢を取得してもよい。仮想ツールの3次元モデルが表示される際には、仮想空間における仮想ツールの3次元モデルの位置や姿勢は既知である。また、その仮想空間と、ワールド座標系やローカル座標系との位置関係も取得可能である。したがって、位置姿勢取得部33は、例えば、ワールド座標系や表示装置4のローカル座標系などにおける仮想ツールに関する目的とする位置及び姿勢を取得することができる。位置姿勢取得部33が表示された仮想ツールの位置や姿勢を取得する場合には、例えば、仮想ツールの所定の箇所(例えば、溶接トーチの先端など)の位置を取得してもよく、仮想ツールの所定の箇所(例えば、溶接トーチの先端部分など)の長手方向の角度を取得してもよい。この位置は、例えば、所定の座標系における座標値で示されてもよい。また、この姿勢は、例えば、ロール、ピッチ、ヨー角や、オイラー角などによって示されてもよい。また、位置姿勢取得部33によって取得される位置や姿勢の情報は、結果として仮想ツールの位置及び姿勢を特定できる情報であれば、どのようなものであってもよい。なお、位置姿勢取得部33は、例えば、受付部36によって、目的とする位置及び姿勢を取得する旨の指示が受け付けられた際の仮想ツールの位置及び姿勢を、目的とする位置及び姿勢として取得してもよい。
【0024】
特定部34は、仮想ツールの装着された仮想ロボットの複数の3次元モデルと、位置関係取得部32によって取得された相対的な位置関係とに基づいて、基準マーカ6と所定の位置関係となるように配置された複数の仮想ロボットのうち、装着された仮想ツールを目的とする位置及び姿勢にすることができる仮想ロボット及び仮想ツールの組み合わせを特定する。特定部34は、例えば、基準マーカ6と所定の位置関係となるように配置された仮想ロボットであって、目的とする位置及び姿勢である仮想ツールが装着された状態で、各関節の角度を逆運動学によって算出することができる仮想ロボット及び仮想ツールの組み合わせを、装着された仮想ツールを目的とする位置及び姿勢にすることができる仮想ロボット及び仮想ツールの組み合わせとして特定してもよい。
【0025】
特定部34は、位置関係取得部32によって取得された相対的な位置関係によって、表示装置4とワールド座標系との相対的な位置関係を知ることができる。なお、ワールド座標系は、例えば、マーカ座標系であってもよく、マーカ座標系と所定の位置関係である他の座標系であってもよい。また、基準マーカ6と仮想ロボットとの位置関係はあらかじめ決まっている。また、特定部34は、位置姿勢取得部33によって取得された目的とする位置及び姿勢によって、ワールド座標系、または、ワールド座標系との位置関係が既知であるローカル座標系における、仮想ツールに関する目的とする位置及び姿勢を知ることができる。その結果、特定部34は、基準マーカ6と所定の位置関係となるように配置された仮想ロボットのロボット座標系における、仮想ツールに関する目的とする位置及び姿勢を特定することができる。したがって、ある仮想ツールがある仮想ロボットに装着されている場合に、特定部34は、装着された仮想ツールが、目的とする位置及び姿勢となった際の仮想ロボットの各関節の角度を逆運動学によって算出することができる。なお、仮に、仮想ロボットに装着された仮想ツールが、目的とする位置及び姿勢となることができない場合には、逆運動学の計算による解はないことになる。一方、逆運動学の計算に解がある場合には、仮想ロボットに装着された仮想ツールが、目的とする位置及び姿勢になることができることになる。ここで、仮想ロボットの3次元モデルには、各関節の動作範囲、すなわち角度範囲が設定されていてもよい。そして、逆運動学の解があったとしても、その動作範囲を超えている場合には、解なしとしてもよい。なお、各関節の動作範囲は、例えば、アームの干渉回避や、溶接ワイヤの折れ曲がり防止などの観点から設定されていてもよい。
【0026】
特定部34は、例えば、複数の仮想ロボットと複数の仮想ツールとの可能なすべての組み合わせについて、上記のようにして逆運動学の計算を行い、解のある組み合わせを、装着された仮想ツールを目的とする位置及び姿勢にすることができる仮想ロボット及び仮想ツールの組み合わせとして特定してもよい。特定部34による特定結果は、例えば、装着された仮想ツールを目的とする位置及び姿勢にすることができる仮想ロボット及び仮想ツールの組み合わせを示す情報、例えば、仮想ロボットの識別子と、仮想ツールの識別子との組であってもよい。
【0027】
出力部35は、特定結果に応じた出力を行う。特定結果に応じた出力とは、例えば、特定結果そのものの出力であってもよく、特定結果に関連する情報の出力であってもよい。後者の場合には、例えば、特定された仮想ロボット及び仮想ツールの組み合わせの3次元モデルの表示画像が表示装置4に出力されてもよい。この場合に、表示の対象となる仮想ロボット及び仮想ツールの組み合わせは、例えば、特定されたすべての組み合わせであってもよく、特定結果そのものの出力から選択された組み合わせであってもよい。後者の場合には、出力部35は、例えば、まず、特定結果を出力し、その後に、特定結果から選択された組み合わせの仮想ロボット及び仮想ツールの3次元モデルの表示画像を表示装置4に出力してもよい。本実施の形態では、出力部35が、特定結果を出力すると共に、特定結果から選択された仮想ロボット及び仮想ツールの組み合わせの3次元モデルの表示画像を出力する場合について主に説明する。なお、特定結果の出力は、特定された組み合わせの一覧の出力であってもよい。また、特定された仮想ロボット及び仮想ツールの組み合わせの3次元モデルの表示画像は、後述するように、画像生成部37によって生成されてもよい。
【0028】
出力部35は、表示画像を出力する際に、表示画像のみを出力してもよい。この場合には、表示装置4において、実環境の画像または実環境そのものに表示画像が重ねられて表示されることになる。一方、表示装置4が非透過型ディスプレイを有する場合であって、表示装置4で撮影された実環境の画像が情報処理装置3で受け付けられている場合には、実環境の画像と表示画像とが合成された結果が、表示装置4に出力されてもよい。この合成は、例えば、情報処理装置3が有する図示しない合成部によって行われてもよい。
【0029】
ここで、この出力は、例えば、表示デバイス(例えば、表示装置4やティーチングペンダントのディスプレイなど)への表示でもよく、所定の機器への通信回線を介した送信でもよく、プリンタによる印刷でもよく、スピーカによる音声出力でもよく、記録媒体への蓄積でもよく、他の構成要素への引き渡しでもよい。なお、出力部35は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、または含まなくてもよい。また、出力部35は、ハードウェアによって実現されてもよく、または、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0030】
基準マーカ6と異なる位置に、仮想ツールの装着された仮想ロボットの3次元モデルが表示される場合には、例えば、
図1で示されるように、基準マーカ6の隣に仮想ロボットの3次元モデル10と、仮想ツールの3次元モデル20とが表示されてもよい。
図1における基準マーカ6並びに仮想ロボット及び仮想ツールの3次元モデル10,20は、仮想ロボットを操作する作業者が表示装置4を介して見ている状況を模式的に示したものである。
【0031】
受付部36は、出力部35が特定結果を出力した際に、その出力された特定結果から、仮想ロボット及び仮想ツールの1以上の組み合わせの選択を受け付けてもよい。なお、受付部36は、例えば、1つの組み合わせの選択を受け付けてもよく、2以上の組み合わせの選択を受け付けてもよいが、本実施の形態では、受付部36が1つの組み合わせの選択を受け付ける場合について主に説明する。この選択は、例えば、後述する入力デバイスや、仮想入力インターフェースを介して受け付けられてもよい。また、受付部36は、仮想ツールに関する目的とする位置及び姿勢の取得のために、仮想ツールの3次元モデルに対する操作を受け付けてもよい。また、受付部36は、仮想ロボットの3次元モデルに対する操作を受け付けてもよい。
【0032】
3次元モデルに対する操作は、例えば、3次元モデルの少なくとも一部の位置や姿勢を変化させるための操作であってもよい。操作の指示の受け付けは、例えば、実環境に存在するティーチングペンダントなどの入力デバイスを介して行われてもよく、表示装置4のディスプレイに表示された仮想ボタンや仮想ティーチングペンダントなどの仮想入力インターフェースを介して行われてもよい。仮想入力インターフェースは、例えば、エアタップなどの動作に応じて表示装置4のディスプレイに表示され、作業者の指やポインティングデバイスによってボタン等が選択された場合に、そのボタン等の操作に応じた入力が表示装置4から受付部36に渡されてもよい。また、作業者の手などのジェスチャによって、仮想ロボットや仮想ツールの3次元モデルの少なくとも一部(例えば、ツールなどの手先など)の位置や姿勢を変更できてもよい。この場合には、例えば、作業者がディスプレイに表示された3次元モデルを手でつまむ動作(ホールド動作)を行うことによって、その手でつまんだ部分が操作の対象として特定され、その手の位置や姿勢を変化させることによって、特定された対象の位置や姿勢を変化させる操作が行われ、そのつまむ動作を終了させることによって、特定された対象への操作が終了されてもよい。この場合には、例えば、操作の対象を示す情報(例えば、3次元モデルにおける位置や部分を示す情報)と、操作の内容を示す情報(例えば、位置の変更や姿勢の変更などを示す情報)とが表示装置4から受付部36に渡されてもよく、または、表示装置4において取得されたハンドトラッキングの結果が受付部36に渡され、情報処理装置3において、操作の対象や操作の内容が特定されてもよい。表示装置4において操作の対象を示す情報と操作の内容を示す情報とが取得される場合には、表示装置4は、情報処理装置3で保持されている、仮想空間における仮想ロボットや仮想ツールの現時点の3次元モデルの情報にアクセス可能であってもよい。なお、作業者の手を用いた操作が行われる場合には、表示装置4はカメラを有しており、そのカメラで撮影された作業者の手のハンドトラッキングが行われることによって、作業者の手が、ディスプレイ上のどの位置に存在するのかが特定されてもよい。また、作業者の手などのジェスチャに応じた3次元モデルの表示画像への操作を、3次元仮想空間における3次元モデルの位置や姿勢の変化に変換する方法はすでに公知であり、その詳細な説明を省略する。
【0033】
受付部36は、上記した以外の情報や指示などを受け付けてもよい。受付部36は、例えば、仮想ツールの目的とする位置及び姿勢を取得する旨の指示などを受け付けてもよい。また、受付部36は、例えば、仮想ツールを目的とする位置及び姿勢にすることができる仮想ロボット及び仮想ツールの組み合わせを特定する一連の処理を終了する旨を受け付けてもよい。受付部36は、例えば、入力デバイスや表示装置4から入力された情報を受け付けてもよく、有線または無線の通信回線を介して送信された情報を受信してもよい。なお、受付部36は、受け付けを行うためのデバイス(例えば、入力デバイスや通信デバイスなど)を含んでもよく、または含まなくてもよい。また、受付部36は、ハードウェアによって実現されてもよく、または所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0034】
画像生成部37は、相対的な位置関係に基づいて、基準マーカ6と所定の位置関係となるように、特定された1以上の組み合わせの仮想ロボット及び仮想ツールの3次元モデルを表示するための表示画像を生成する。なお、仮想ロボット及び仮想ツールの3次元モデルとは、仮想ツールの装着された仮想ロボットの3次元モデルのことである。表示画像の生成の対象となる仮想ロボット及び仮想ツールの組み合わせは、例えば、特定された仮想ロボット及び仮想ツールのすべての組み合わせであってもよく、特定された仮想ロボット及び仮想ツールの組み合わせのうち、選択の受け付けられた1以上の組み合わせであってもよい。本実施の形態では、後者の場合、すなわち、画像生成部37が、特定された仮想ロボット及び仮想ツールの組み合わせのうち、選択の受け付けられた仮想ロボット及び仮想ツールの1以上の組み合わせの3次元モデルを表示するための表示画像を生成する場合について主に説明する。また、仮想ロボットや仮想ツールへの操作が受け付けられた場合には、画像生成部37は、操作された3次元モデルを表示するための表示画像を生成してもよい。なお、特定された1以上の組み合わせの仮想ロボット及び仮想ツールの3次元モデルを表示するための表示画像を生成する際に、画像生成部37は、仮想ツールが目的とする位置及び姿勢となる仮想ロボット及び仮想ツールの3次元モデルを表示するための表示画像を生成してもよい。このような表示画像が生成されることによって、目的とする位置及び姿勢である仮想ツールが装着された仮想ロボットの姿勢について確認することができる。
【0035】
また、画像生成部37は、仮想ツールに関する目的とする位置及び姿勢の取得のために、相対的な位置関係に基づいて、操作された仮想ツールの3次元モデルを表示するための表示画像を生成してもよい。この場合には、仮想ツールのみの表示画像、すなわち仮想ロボットを含まない表示画像が生成されてもよい。
【0036】
なお、仮想ロボットは、実環境に配置された基準マーカ6と所定の位置関係となるように表示されることになる。したがって、表示装置4の向きが変化されたとしても、実環境における仮想ロボットの3次元モデルの表示位置は変化しないことになる。また、仮想ツールのみの表示画像が生成される場合にも、ワールド座標系における仮想ツールの位置及び姿勢は、例えば、仮想ツールの3次元モデルに対する操作の受け付けによってのみ変更されてもよい。この場合には、表示装置4の向きが変化されたとしても、実環境における仮想ツールの3次元モデルの表示位置は変化しないことになる。
【0037】
基準マーカ6と表示装置4との相対的な位置関係は、位置関係取得部32によって取得される。また、基準マーカ6と仮想ロボットの3次元モデルとの位置関係は決まっている。したがって、これらの情報を用いて、画像生成部37は、仮想ロボットの3次元モデルと表示装置4との相対的な位置関係を特定することができる。そのため、画像生成部37は、仮想空間において、仮想ツールの装着された仮想ロボットの3次元モデルを配置し、その3次元モデルに対して、特定した位置関係となる表示装置4の位置及び向きを特定することができる。そして、画像生成部37は、仮想空間における仮想ツールの装着された仮想ロボットの3次元モデルを、表示装置4の位置及び向きを基準としてレンダリングすることによって、3次元モデルを表示するための2次元の表示画像を生成することができる。なお、仮想ロボットの各関節の角度は、操作が行われていない場合には初期値となり、操作が行われた場合には操作後の値となる。操作後の各関節の角度は、例えば、実ロボットと同様に、操作後の仮想ロボットの3次元モデルにおける手先の位置及び姿勢を用いた逆運動学によって算出されてもよい。仮想ツールの装着された仮想ロボットが操作されると、上記のように、仮想空間における3次元モデルの形状が、それに応じて変更されることになる。また、表示装置4の位置や向きが実環境において変化した場合には、それに応じて仮想空間上の視点の位置や方向が変更されることになる。そして、その変更後にレンダリングが行われることによって、操作後の3次元モデルの表示画像や、表示装置4の位置や向きの変化後の3次元モデルの表示画像が生成されることになる。なお、画像生成部37は、仮想ツールの装着された仮想ロボットの3次元モデルの表示画像が表示装置4のディスプレイに表示された際に、その表示画像の大きさが実環境と整合するように、表示画像を生成するものとする。すなわち、表示装置4のディスプレイに表示された、仮想ツールの装着された仮想ロボットの3次元モデルと、その3次元モデルと同じ相対的な位置関係となるように実環境に配置された、実ツールの装着された実ロボットとが、表示装置4を介して見たときに同じ大きさになるように、表示画像が生成されることになる。また、仮想ツールの3次元モデルのみを表示するための表示画像を生成する際にも、例えば、基準マーカ6と仮想空間との位置関係を固定することによって、仮想ロボットの3次元モデルを表示する際と同様に、表示画像を生成することができる。また、この場合にも、仮想ツールの3次元モデルの表示画像が表示装置4のディスプレイに表示された際に、その表示画像の大きさが実環境と整合するように、表示画像が生成されることが好適である。
【0038】
また、受け付けられた操作に応じて仮想ロボットを操作できないこともあり得る。例えば、仮想ツールの装着された仮想ロボットの手先を、移動可能な範囲を超えて移動させる操作または回転可能な範囲を超えて回転させる操作が受け付けられることもある。このような場合には、画像生成部37は、その操作に応じた表示画像を生成しなくてもよく、または、可能な範囲内で移動または回転を行った仮想ロボット等の3次元モデルの表示画像を生成してもよい。
【0039】
なお、仮想ロボットや仮想ツールの3次元モデルを表示することや、その仮想ロボットの3次元モデルを表示デバイスの仮想入力インターフェースや作業者のジェスチャ等を用いて操作することなどについては、例えば、上記特許文献1~3で示されるようにすでに公知であり、その詳細な説明を省略する。
【0040】
次に、情報処理装置3の動作について
図2のフローチャートを用いて説明する。
(ステップS101)画像生成部37は、仮想ツールのみの3次元モデルの表示画像を生成し、出力部35は、生成された表示画像を表示装置4に出力する。また、受付部36は、表示された仮想ツールに対する操作を受け付けてもよい。操作が受け付けられた際には、その操作に応じて位置や姿勢の変更された仮想ツールの3次元モデルの表示画像が生成されて出力されてもよい。なお、この処理の詳細については、
図3のフローチャートを用いて後述する。
【0041】
(ステップS102)受付部36は、仮想ツールに関する目的とする位置及び姿勢を決定する旨の入力を受け付けたかどうか判断する。そして、その決定を受け付けた場合には、ステップS103に進み、そうでない場合には、ステップS101に戻る。
【0042】
(ステップS103)位置姿勢取得部33は、その時点の仮想ツールに関する位置及び姿勢を、目的とする位置及び姿勢として取得する。
【0043】
(ステップS104)特定部34は、最新の相対的な位置関係、ステップS103で取得された目的とする位置及び姿勢、並びに、記憶部31で記憶されている仮想ロボット及び仮想ツールの複数の3次元モデルなどを用いて、仮想ツールを目的とする位置及び姿勢にすることができる仮想ロボット及び仮想ツールの組み合わせを特定する。
【0044】
(ステップS105)出力部35は、ステップS104における特定結果を出力する。
【0045】
(ステップS106)受付部36は、ステップS105で出力された特定結果から、仮想ロボット及び仮想ツールの組み合わせの選択を受け付けたかどうか判断する。そして、選択を受け付けた場合には、ステップS107に進み、そうでない場合には、選択を受け付けるまでステップS106の処理を繰り返す。
【0046】
(ステップS107)画像生成部37は、選択の受け付けられた仮想ロボット及び仮想ツールの組み合わせの3次元モデルの表示画像を生成し、出力部35は、生成された表示画像を表示装置4に出力する。また、受付部36は、表示された仮想ロボットや仮想ツールに対する操作を受け付けてもよい。操作が受け付けられた際には、その操作に応じて位置や姿勢の変更された仮想ロボットや仮想ツールの3次元モデルの表示画像が生成されて出力されてもよい。なお、この処理の詳細については、
図3のフローチャートを用いて後述する。
【0047】
(ステップS108)受付部36は、一連の処理に関する終了の指示を受け付けたかどうか判断する。そして、終了の指示を受け付けた場合には、一連の処理は終了となり、そうでない場合には、ステップS107に戻る。
【0048】
なお、
図2のフローチャートにおける処理の順序は一例であり、同様の結果を得られるのであれば、各ステップの順序を変更してもよい。また、
図2のフローチャートは、例えば、受け付けられた操作に応じた、仮想ツールの装着された仮想ロボットの3次元モデルの表示画像を生成して表示装置4に出力している状況において、ロボットとツールとの組み合わせを提案するモードが起動された際に実行されてもよい。この場合には、例えば、
図2で示される一連の処理が終了した後に、操作に応じた3次元モデルの表示画像を生成して表示装置4に出力するモードに戻ってもよい。
【0049】
次に、
図3のフローチャートを用いて、
図2のフローチャートにおける仮想ツールの表示画像の生成の処理(ステップS101)や、仮想ロボット等の表示画像の生成の処理(ステップS107)について説明する。なお、ステップS101では、操作や表示の対象となる3次元モデルは仮想ツールのみであり、ステップS107では、操作や表示の対象となる3次元モデルは仮想ツールの装着された仮想ロボットであるが、
図3では、両者を特に区別しないで説明する。
【0050】
(ステップS201)受付部36は、3次元モデルへの操作を受け付けたかどうか判断する。そして、操作を受け付けた場合には、ステップS203に進み、そうでない場合には、ステップS202に進む。
【0051】
(ステップS202)画像生成部37は、表示画像の生成を行うかどうか判断する。そして、表示画像を生成する場合には、ステップS203に進み、そうでない場合には、
図2のフローチャートに戻る。なお、画像生成部37は、例えば、表示画像の生成を行うと定期的に判断してもよい。この判断が行われることによって、例えば、操作が行われていなくても、表示装置4の位置や向きが変更された場合には、その変更後の位置や向きに応じた表示画像が表示装置4で表示されるようになる。
【0052】
(ステップS203)位置関係取得部32は、基準マーカ6と表示装置4との相対的な位置関係を取得する。
【0053】
(ステップS204)画像生成部37は、ステップS203で取得された相対的な位置関係と、記憶部31で記憶されている3次元モデルとを用いて、3次元モデルを表示するための表示画像を生成する。なお、操作が受け付けられた場合には、その操作に応じて変化させた後の3次元モデルを表示するための表示画像が生成されることになる。また、表示装置4の位置や向きが変更された場合には、その変更後の表示装置4の位置や向きに応じた3次元モデルの表示画像が生成されることになる。なお、仮想ロボットの3次元モデルを表示するための表示画像は、基準マーカ6と所定の位置関係となるように生成されるものとする。
【0054】
(ステップS205)出力部35は、生成された表示画像を表示装置4に出力する。そして、
図2のフローチャートに戻る。この出力に応じて、例えば、仮想ツールの3次元モデルが表示されたり、基準マーカ6と所定の位置関係となるように、仮想ツールの装着された仮想ロボットの3次元モデルが表示されたりすることになる。
【0055】
次に、本実施の形態による情報処理システム100の動作について、具体例を用いて説明する。本具体例において、記憶部31では、
図4Aで示される、仮想ロボットを識別する仮想ロボット識別子と仮想ロボットの3次元モデルとを対応付ける情報、
図4Bで示される、仮想ツールを識別する仮想ツール識別子と仮想ツールの3次元モデルとを対応付ける情報、及び、
図4Cで示される、組み合わせ可能な仮想ロボット及び仮想ツールをそれぞれ識別する仮想ロボット識別子及び仮想ツール識別子を対応付ける情報が記憶されているものとする。例えば、
図4Aでは、仮想ロボット識別子「R001」で識別される仮想ロボット(以下、「仮想ロボットR001」とすることもある。他の仮想ロボットや仮想ツールについても同様であるとする。)の3次元モデルが「R001_3Dmodel」であることが示されている。また、
図4Bでは、仮想ツールT001の3次元モデルが「T001_3Dmodel」であることが示されている。また、
図4Cでは、仮想ロボットR001に、仮想ツールT001,T002等を装着可能であり、仮想ロボットR002に、仮想ツールT003,T004等を装着可能であることが示されている。
【0056】
まず、作業者は、導入予定の実ロボットを配置する位置に、基準マーカ6の表示されたシート6aを配置する。次に、作業者は、頭部装着型の表示装置4を頭部に装着し、情報処理装置3の処理を開始させる。すると、情報処理装置3は、仮想ツールの表示画像を生成して表示装置4に出力する(ステップS101)。具体的には、画像生成部37は、表示画像の生成を行うと判断し、位置関係取得部32に、基準マーカ6と表示装置4との相対的な位置関係を取得する旨の指示を渡す(ステップS202)。その指示に応じて、位置関係取得部32は相対的な位置関係を取得して画像生成部37に渡す(ステップS203)。相対的な位置関係を受け取ると、画像生成部37は、その相対的な位置関係と、記憶部31で記憶されているあらかじめ決められた仮想ツール(本具体例では、「仮想ツールT001」であるとする。)の3次元モデル「T001_3Dmodel」とを用いて、あらかじめ決められた初期位置及び初期姿勢で、その仮想ツールの3次元モデルを表示するための表示画像を生成して出力部35に渡す(ステップS204)。出力部35は、その受け取った表示画像を表示装置4に出力する(ステップS205)。その結果、作業者は、実空間に重ねて配置された仮想ツールを見ることができる。
【0057】
その後、作業者は、ティーチングペンダントなどの入力デバイスを用いた操作や、ジェスチャ操作などによって、表示された仮想ツールである溶接トーチの先端部分が目的となる位置及び姿勢となるように移動させる(ステップS201、S203~S205)。その結果、仮想ツールの3次元モデル20の位置及び姿勢が
図5で示されるようになったとする。なお、
図5、及び後述する
図7では、説明の便宜上、実環境に存在する基準マーカ6以外の治具やワークなどは省略している。その時点において、作業者が、目的とする位置及び姿勢を決定する旨を入力デバイスや仮想入力インターフェースを介して入力すると、その入力は受付部36で受け付けられ、位置姿勢取得部33に渡される(ステップS102)。そして、位置姿勢取得部33は、その時点の仮想ツールに関する位置及び姿勢を、目的とする位置及び姿勢として取得して特定部34に渡す(ステップS103)。
【0058】
目的とする位置及び姿勢を受け取ると、特定部34は、記憶部31で記憶されている
図4Cの情報を参照し、仮想ロボットと仮想ツールとの可能なすべての組み合わせについて、基準マーカ6の位置に配置された仮想ロボットに装着された仮想ツールの先端を目的とする位置及び姿勢とした際に逆運動学の計算によって解が得られるかどうかを判断し、解が得られる仮想ロボットと仮想ツールとの組み合わせを特定し、その特定結果を出力部35に渡す(ステップS104)。出力部35は、その特定結果の一覧を含む、特定結果の選択を受け付けるための表示画像を生成して表示装置4に出力する(ステップS105)。その結果、表示装置4において、
図6で示されるダイアログが表示される。この表示において、作業者が、入力デバイスやジェスチャ操作によって仮想ロボットR001と仮想ツールT001の組み合わせに対応するラジオボタンを選択して決定ボタンを選択したとする。すると、その選択結果が受付部36で受け付けられ、画像生成部37に渡される(ステップS106)。
【0059】
画像生成部37は、選択結果を受け取ると、その選択結果に対応する仮想ロボットR001、及び仮想ツールT001の3次元モデルを記憶部31から読み出し、目的とする位置及び姿勢である仮想ツールT001の装着された仮想ロボットR001の3次元モデルを、基準マーカ6の位置に表示するための表示画像を生成して出力部35に渡す(ステップS107)。そして、出力部35によって表示画像が表示装置4に出力され、作業者は、表示装置4によって、
図7で示されるように、目的とする位置及び姿勢である仮想ツールT001の装着された仮想ロボットR001の3次元モデル10,20を確認することができるようになる。なお、作業者は、入力デバイスやジェスチャなどを介した操作によって、その3次元モデルを操作できてもよい。この場合には、作業者は、仮想ツールT001が、目的とする位置及び姿勢から他の位置及び姿勢に移動できるかどうかなどについて、確認することができる。
【0060】
以上のように、本実施の形態による情報処理装置3によれば、仮想ロボット及び仮想ツールの複数の組み合わせから、装着された仮想ツールを、目的とする位置及び姿勢にすることができる仮想ロボット及び仮想ツールの組み合わせを特定することができる。そのため、例えば、作業者が、仮想ロボット及び仮想ツールのすべての組み合わせについて、装着された仮想ツールを目的とする位置及び姿勢にすることができるかどうかを一つずつ確認する必要がなくなり、その負担が軽減されることになる。また、特定された組み合わせの仮想ロボット及び仮想ツールの3次元モデルが表示されることによって、作業者は、例えば、装着された仮想ツールが、目的とする位置及び姿勢となった状態の仮想ロボットの姿勢などについて確認することができるようになる。また、特定結果から選択された組み合わせの仮想ロボット及び仮想ツールの3次元モデルが表示されることによって、特定結果の組み合わせが多い場合でも、所望の選択された組み合わせの3次元モデルについて表示して確認することができるようになる。また、特定部34が、逆運動学の計算における解の有無によって、装着された仮想ツールを目的とする位置及び姿勢にすることができる仮想ロボット及び仮想ツールの組み合わせを特定することによって、仮想ロボット及び仮想ツールの各組み合わせが、仮想ツールを目的とする位置及び姿勢にすることができるかどうかを自動的に判断することができるようになる。また、仮想ツールの表示画像を用いて仮想ツールに関する目的とする位置及び姿勢を取得することによって、ハードウェアを用いないで、その目的とする位置及び姿勢を設定することができるようになる。また、選択された組み合わせの表示結果に応じて、選択された仮想ロボット及び仮想ツールに対応する実ツールの装着された実ロボットを、基準マーカ6と所定の位置関係となるように実空間に配置することによって、その実ロボットに装着された実ツールを、目的とする位置及び姿勢にすることができるようになる。
【0061】
なお、本実施の形態では、特定された仮想ロボット及び仮想ツールの組み合わせのうち、1つの組み合わせの仮想ロボット及び仮想ツールの3次元モデルが表示される場合について主に説明したが、そうでなくてもよい。例えば、2以上の組み合わせが選択された場合には、2以上の組み合わせに対応する仮想ロボット及び仮想ツールの3次元モデルが表示されてもよい。この場合には、仮想ツールの装着された仮想ロボットが2以上、同時に表示されてもよい。また、選択の受け付けは行われなくてもよい。この場合には、特定結果は出力されなくてもよい。また、選択の受け付けが行われない場合であって、仮想ロボット及び仮想ツールの2以上の組み合わせが特定された場合には、その2以上の組み合わせに対応する仮想ツールの装着された仮想ロボットが同時に表示されてもよい。
【0062】
また、本実施の形態では、位置姿勢取得部33が1個の目的とする位置及び姿勢を取得する場合について主に説明したが、そうでなくてもよい。位置姿勢取得部33は、2個以上の目的とする位置及び姿勢を取得してもよい。2個以上の目的とする位置及び姿勢は、例えば、溶接の開始箇所における溶接トーチの位置及び姿勢、並びに溶接の終了箇所における溶接トーチの位置及び姿勢であってもよく、溶接線が円弧状などの曲線である場合には、溶接の開始箇所、終了箇所の間の1以上の溶接個所における溶接トーチの位置及び姿勢をさらに含んでもよい。複数の目的とする位置及び姿勢が取得される場合には、特定部34は、基準マーカ6と所定の位置関係となるように配置された複数の仮想ロボットのうち、装着された仮想ツールを2個以上の目的とする位置及び姿勢にすることができる仮想ロボット及び仮想ツールの組み合わせを特定することが好適である。
【0063】
また、本実施の形態では、基準マーカ6が2次元の所定の画像である場合について主に説明したが、そうでなくてもよい。マーカレスARと同様に、基準マーカとして、実環境に存在する物が用いられてもよい。実環境に存在する物は特に限定されるものではないが、例えば、実ロボットの設置に用いられる土台部分や、ロボットを配置する位置の近傍に存在する治具等であってもよい。また、各面にマーカを貼り付けた立体形状(例えば、直方体形状など)の物体におけるマーカを、基準マーカとしてもよい。また、基準マーカは、例えば、土台や治具などのように、3次元のものであってもよい。
【0064】
また、本実施の形態では、位置姿勢取得部33が、操作された仮想ツールの3次元モデルを用いて目的とする位置及び姿勢を取得する場合について主に説明したが、そうでなくてもよい。位置姿勢取得部33は、例えば、実環境に存在する操作指示部材の位置及び姿勢によって示される目的とする位置及び姿勢を取得してもよい。この場合には、実環境に存在する操作指示部材を用いて、仮想ツールに関する目的とする位置及び姿勢を設定することができ、3次元モデルの表示を用いたときよりも、より簡単に設定を行うことができるようになる。操作指示部材の形状は特に限定されないが、例えば、棒状の部材であってもよく、それ以外の形状の部材であってもよい。棒状の部材は、例えば、円柱形状の部材や、多角柱形状の部材などであってもよい。棒状の部材である操作指示部材は、例えば、一端側が尖っているなどのように、長手方向の両端の形状が異なっていることによって、向きを判別できるようになっていてもよい。操作指示部材として、例えば、ペンや鉛筆などの筆記具が用いられてもよい。操作指示部材は、通常、作業者の手で動かされる。操作指示部材は、例えば、ペンなどの筆記具と同程度の大きさであり、作業者が筆記具と同様に手で保持して移動させてもよい。操作指示部材の位置や姿勢によって、例えば、仮想ツールの先端などの所定の箇所の位置や姿勢が示されてもよい。
【0065】
位置姿勢取得部33が操作指示部材の位置や姿勢を取得する方法は問わない。操作指示部材の位置や姿勢を取得するとは、例えば、所定の座標系における操作指示部材の位置や姿勢を特定することであってもよい。その座標系は、例えば、ワールド座標系であってもよく、表示装置4のローカル座標系であってもよく、その他の座標系であってもよい。なお、位置姿勢取得部33が操作指示部材の位置を取得する場合には、例えば、操作指示部材の所定の箇所(例えば、操作指示部材の下方側の尖端など)の位置を取得してもよい。この位置は、例えば、3次元直交座標系における座標値で示されてもよい。また、位置姿勢取得部33が操作指示部材の姿勢を取得する場合には、例えば、棒状である操作指示部材の長手方向の角度を取得してもよく、さらに棒状である操作指示部材の長手方向の軸を中心とする回転角度も取得してもよい。回転角度を取得することによって、仮想ツールのツール座標系におけるZ軸周りの回転角度についても特定することができる。また、この姿勢は、例えば、ロール、ピッチ、ヨー角や、オイラー角などによって示されてもよい。なお、棒状である操作指示部材の長手方向の軸を中心とする回転角度も取得される場合には、例えば、操作指示部材の表面(例えば、円柱形状である操作指示部材の円周面など)に、所定の模様や突起、凹部などの角度を取得するための構成が設けられており、操作指示部材の長手方向の軸を中心とする回転角度が分かるようになっていてもよい。
【0066】
位置姿勢取得部33は、例えば、操作指示部材の撮影画像を用いて、その位置等を取得してもよい。この場合には、画像の撮影は、例えば、表示装置4が有するカメラを用いて行われてもよく、実環境の所定の位置に配置されているカメラを用いて行われてもよい。頭部装着型の表示装置4に実環境を撮影するためのカメラが装着されている場合には、そのカメラは、表示装置4を装着する作業者の視線方向と同じ方向の撮影画像を取得するように配置されていることが好適である。また、実環境にカメラが配置されている場合には、そのカメラは、操作指示部材が作業者によって移動される領域を撮影可能となるように配置されていることが好適である。位置姿勢取得部33は、例えば、撮影画像を用いて操作指示部材の特定及びトラッキングを行い、その結果を用いて、操作指示部材の位置等を取得してもよい。
【0067】
また、位置姿勢取得部33は、例えば、操作指示部材に組み込まれているセンサによるセンシング結果を用いて、その位置等を取得してもよい。そのセンサは、例えば、加速度センサや、操作指示部材の姿勢を取得するためのセンサであってもよい。姿勢を取得するためのセンサは、例えば、方位角を取得するための方位センサと、鉛直方向に対する傾斜角を取得するための傾斜センサであってもよく、ジャイロセンサ(すなわち、角速度センサ)であってもよい。加速度センサや、ジャイロセンサでは、位置や角度の変化しかわからないため、例えば、作業者は初めに操作指示部材をあらかじめ決められた基準位置及び基準姿勢に配置してもよい。そして、位置姿勢取得部33は、その後に加速度センサやジャイロセンサによって取得されたセンシング結果と、基準位置及び基準姿勢とを用いて、操作指示部材の現在の位置や姿勢を取得してもよい。なお、操作指示部材が有するセンサのセンシング結果は、操作指示部材から位置姿勢取得部33に、無線または有線で送信されてもよい。
【0068】
また、位置姿勢取得部33は、例えば、実環境に配置されたセンサ、または表示装置4が有するセンサによって取得された操作指示部材の位置を示すセンシング結果を用いて、操作指示部材の位置等を取得してもよい。このセンサは、例えば、深度センサなどの測距センサであってもよい。センサが測距センサである場合には、複数の測距センサを用いて実環境の3次元スキャンが行われてもよい。そして、位置姿勢取得部33は、センシング結果、すなわち3次元スキャンの結果を用いて、あらかじめ決められた形状である操作指示部材の位置や姿勢を特定してもよい。
【0069】
また、撮影画像やセンシング結果を用いた操作指示部材の位置等の取得は、位置姿勢取得部33以外の構成要素や装置において行われてもよい。この場合には、位置姿勢取得部33は、位置姿勢取得部33以外の構成要素や装置において取得された操作指示部材の位置や姿勢を受け付けてもよい。すなわち、位置姿勢取得部33による操作指示部材の位置や姿勢の取得は、操作指示部材の位置や姿勢の受け付けであってもよい。
【0070】
なお、位置姿勢取得部33は、例えば、受付部36によって、目的とする位置及び姿勢を取得する旨の指示が受け付けられた際の操作指示部材の位置及び姿勢を、目的とする位置及び姿勢として取得してもよい。
【0071】
また、本実施の形態では、特定された組み合わせの仮想ロボット及び仮想ツールの3次元モデルを表示するための表示画像が生成される場合について主に説明したが、そうでなくてもよい。特定された組み合わせに応じた表示画像の生成や出力は行われなくてもよい。この場合には、例えば、特定結果が出力されるだけであってもよい。特定された組み合わせに応じた表示画像の生成が行われず、また、位置姿勢取得部33が、仮想ツールの表示画像を用いないで目的とする位置及び姿勢を取得する場合には、情報処理装置3は、画像生成部37を備えていなくてもよい。
【0072】
また、仮想ツールに関する目的とする位置及び姿勢の取得は、仮想ツールと所定の位置関係にある箇所の位置及び姿勢の取得であってもよい。ただし、その箇所の位置及び姿勢と、仮想ツールに関する位置及び姿勢とは一対一の関係にあるものとする。すなわち、その箇所の位置及び姿勢が決まれば、仮想ツールに関する位置及び姿勢も一意に決まるものとする。この場合には、その箇所の位置及び姿勢を取得することによって、仮想ツールに関する目的とする位置及び姿勢を取得したことと実質的に同じになるからである。したがって、仮想ツールに関する目的とする位置及び姿勢の取得は、そのような箇所の位置及び姿勢の取得も含んでいると考えてもよい。また、その箇所の位置及び姿勢を用いて、装着された仮想ツールを目的とする位置及び姿勢にすることができる仮想ロボット及び仮想ツールの組み合わせの特定が行われてもよい。その箇所は、例えば、仮想ツールから所定の方向に所定の距離だけ離間した位置であってもよい。その箇所は、一例として、仮想ロボット上の位置であってもよい。操作指示部材を用いて仮想ツールに関する目的とする位置及び姿勢を取得する際にも同様である。
【0073】
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。例えば、情報処理装置3の少なくとも一部の構成は、物理的には、ディスプレイを有する装置などに含まれてもよい。したがって、
図1で示される装置の切り分けは、物理的な装置に応じたものではなく、機能に応じた便宜上のものであると考えてもよい。
【0074】
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
【0075】
また、上記実施の形態において、情報処理装置3に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、または、別々のデバイスを有してもよい。
【0076】
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、または、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。また、そのプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。また、そのプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、または分散処理を行ってもよい。
【0077】
また、以上の実施の形態は、本発明を具体的に実施するための例示であって、本発明の技術的範囲を制限するものではない。本発明の技術的範囲は、実施の形態の説明ではなく、特許請求の範囲によって示されるものであり、特許請求の範囲の文言上の範囲及び均等の意味の範囲内での変更が含まれることが意図される。
【符号の説明】
【0078】
3 情報処理装置、4 表示装置、6 基準マーカ、31 記憶部、32 位置関係取得部、33 位置姿勢取得部、34 特定部、35 出力部、36 受付部、37 画像生成部