(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023017437
(43)【公開日】2023-02-07
(54)【発明の名称】画像処理装置、及びロボット配置方法
(51)【国際特許分類】
B25J 9/22 20060101AFI20230131BHJP
G06T 19/00 20110101ALI20230131BHJP
【FI】
B25J9/22 A
G06T19/00 600
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2021121720
(22)【出願日】2021-07-26
(71)【出願人】
【識別番号】000000262
【氏名又は名称】株式会社ダイヘン
(74)【代理人】
【識別番号】100115749
【弁理士】
【氏名又は名称】谷川 英和
(74)【代理人】
【識別番号】100121223
【弁理士】
【氏名又は名称】森本 悟道
(72)【発明者】
【氏名】古川 直樹
(72)【発明者】
【氏名】鳴川 雄太
(72)【発明者】
【氏名】檀上 梓紗
(72)【発明者】
【氏名】北野 豊和
【テーマコード(参考)】
3C707
5B050
【Fターム(参考)】
3C707BS10
3C707JU03
3C707KS11
3C707KT01
3C707KT06
3C707KT11
3C707KT15
3C707KT17
3C707LS20
5B050AA04
5B050BA09
5B050DA01
5B050EA05
5B050EA19
5B050FA02
(57)【要約】
【課題】カタログに記載されたサイズ等の情報からロボットの配置後の状況を把握することが困難であるという問題があった。
【解決手段】画像処理装置3は、仮想ロボットの3次元モデルが記憶される記憶部31と、仮想ロボットの3次元モデルに対する操作を受け付ける受付部32と、実環境に存在する基準マーカと、画像を実環境の画像または実環境そのものに重ねて表示する表示装置4との相対的な位置関係を取得する位置関係取得部33と、3次元モデルと相対的な位置関係とに基づいて、基準マーカと所定の位置関係となるように、操作された3次元モデルを表示するための表示画像を生成する画像生成部34と、表示画像を表示装置4に出力する出力部35とを備える。このようにして、実ロボットの配置後の状況を、仮想ロボットを用いて確認した上で、実ロボットを配置することができるようになる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
仮想ロボットの3次元モデルが記憶される記憶部と、
前記仮想ロボットの3次元モデルに対する操作を受け付ける受付部と、
実環境に存在する基準マーカと、画像を実環境の画像または実環境そのものに重ねて表示する表示装置との相対的な位置関係を取得する位置関係取得部と、
前記3次元モデルと前記相対的な位置関係とに基づいて、前記基準マーカと所定の位置関係となるように、操作された3次元モデルを表示するための表示画像を生成する画像生成部と、
前記表示画像を表示装置に出力する出力部と、を備えた画像処理装置。
【請求項2】
前記基準マーカは、2次元の所定の画像である、請求項1記載の画像処理装置。
【請求項3】
前記基準マーカは、シートに表示されており、当該シートには、前記実ロボットの配置位置を特定するための図形が表示されている、請求項2記載の画像処理装置。
【請求項4】
前記画像生成部は、前記基準マーカの位置に前記仮想ロボットの3次元モデルを表示するための表示画像を生成する、請求項1から請求項3のいずれか記載の画像処理装置。
【請求項5】
実環境に2次元の所定の画像である基準マーカを配置するステップと、
画像を実環境の画像または実環境そのものに重ねて表示する表示装置に、前記基準マーカと所定の位置関係となるように表示された仮想ロボットの3次元モデルを操作するステップと、
前記3次元モデルの操作後に、実環境において前記基準マーカと所定の位置関係となるように前記仮想ロボットの3次元モデルに対応する実ロボットを配置するステップと、を備えたロボット配置方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想ロボットを表示するための画像処理装置、及び実ロボットを配置するためのロボット配置方法に関する。
【背景技術】
【0002】
従来、新たなロボットを導入する際には、導入対象のロボットに関するサイズや到達可能範囲などの情報をカタログで確認して、導入対象のロボットの選定や配置位置の決定を行っていた。
【発明の概要】
【発明が解決しようとする課題】
【0003】
しかしながら、カタログの情報からは、ロボットの到達可能範囲や、ロボットが所望の姿勢をとることができるのかどうか、ロボットを配置する環境に存在する障害物を回避できるのかどうかなどを知ることが容易でないという問題があった。また、ロボットの選定時に、実際にロボットを配置することは困難であるという問題もある。さらに、ロボットを配置予定の空間を3次元データ化して、シミュレーション中で配置検討を行うこともできるが、その場合にはコストが大きいという問題もある。
【0004】
本発明は、上記課題を解決するためになされたものであり、ロボットを配置した際の状況を、実ロボットの配置前に容易に確認するための画像処理装置、及び実ロボットを配置するためのロボット配置方法を提供することを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するため、本発明の一態様による画像処理装置は、仮想ロボットの3次元モデルが記憶される記憶部と、仮想ロボットの3次元モデルに対する操作を受け付ける受付部と、実環境に存在する基準マーカと、画像を実環境の画像または実環境そのものに重ねて表示する表示装置との相対的な位置関係を取得する位置関係取得部と、3次元モデルと相対的な位置関係とに基づいて、基準マーカと所定の位置関係となるように、操作された3次元モデルを表示するための表示画像を生成する画像生成部と、表示画像を表示装置に出力する出力部と、を備えたものである。
【発明の効果】
【0006】
本発明の一態様による画像処理装置等によれば、ロボットを配置した際の状況、例えば、ロボットの到達可能範囲や、ロボットが所望の姿勢をとることができるのかどうか、ロボットが既存の障害物を回避できるかどうかなどについて、仮想ロボットを用いて事前に容易に確認することができる。そのため、その確認結果に応じて、例えば、設置場所に適したロボットを選定したり、実ロボットを適切な位置に配置したりすることができる。
【図面の簡単な説明】
【0007】
【
図1】本発明の実施の形態によるロボット制御システムの構成を示す模式図
【
図2】同実施の形態による画像処理装置の動作を示すフローチャート
【
図3】同実施の形態によるロボット配置方法を示すフローチャート
【
図4A】同実施の形態における配置された基準マーカの一例を示す図
【
図4B】同実施の形態における基準マーカと所定の位置関係となるように表示された仮想ロボットの一例を示す図
【
図4C】同実施の形態における配置された実ロボットの一例を示す図
【発明を実施するための形態】
【0008】
以下、本発明による画像処理装置、及びロボット配置方法について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。本実施の形態による画像処理装置は、基準マーカと所定の位置関係となるように、仮想ロボットの3次元モデルを表示するものである。
【0009】
図1は、本実施の形態によるロボット制御システム100の構成を示すブロック図である。本実施の形態によるロボット制御システム100は、仮想ロボットを操作するためのものであり、画像処理装置3と、表示装置4と、基準マーカ6の表示されたシート6aとを備える。なお、画像処理装置3と表示装置4とは、例えば、有線または無線で接続されてもよい。
【0010】
操作対象の仮想ロボットは、仮想環境に存在する3次元モデルによって構成されるものであり、実ロボットに対応したものである。すなわち、仮想ロボットは、3次元モデルで構成されている以外は、実ロボットと同じであり、例えば、実ロボットと同じサイズ及び構成であってもよく、実ロボットと同様に、複数のアームの関節の角度などを変更可能になっていてもよい。
【0011】
実ロボットは、通常、産業用ロボットであり、モータにより駆動される関節によって連結された複数のアーム(リンク)を有するマニピュレータであってもよい。実ロボットは、例えば、垂直多関節ロボットであってもよく、水平多関節ロボットであってもよい。また、実ロボットは、例えば、搬送ロボットであってもよく、溶接ロボットであってもよく、組立ロボットであってもよく、塗装ロボットであってもよく、または、その他の用途のロボットであってもよい。なお、実ロボットは、実環境に存在するロボットである。実環境とは、実空間の環境のことである。
【0012】
画像処理装置3は、基準マーカ6と所定の位置関係となるように、仮想ロボットの3次元モデルを表示するための表示画像を生成して表示装置4に出力するものである。画像処理装置3の詳細については後述する。
【0013】
表示装置4は、画像を実環境の画像または実環境そのものに重ねて表示する。すなわち、仮想ロボットを操作する作業者は、表示装置4によって、実環境と仮想環境の画像との両方を見ることができる。表示装置4は、仮想ロボットを操作する作業者が頭部に装着する装着型の表示装置であってもよく、または、タブレット端末などの可搬型の情報処理端末である表示装置であってもよい。装着型の表示装置は、例えば、ヘッドマウントディスプレイであってもよい。また、表示装置4は、例えば、透過型ディスプレイを有するものであってもよい。この場合には、表示装置4は、画像を実環境そのものに重ねて表示することになる。透過型ディスプレイを有する装着型の表示装置4としては、例えば、HoloLens(登録商標)等が知られている。このような透過型ディスプレイを有する表示装置4は、複合現実(MR:Mixed Reality)を実現するための表示装置であると考えることもできる。また、表示装置4は、例えば、非透過型ディスプレイを有するものであってもよい。この場合には、表示装置4は、画像を実環境の画像に重ねて表示することになる。したがって、非透過型ディスプレイを有する表示装置4は、実環境を撮影するためのカメラを有しているか、または、実環境を撮影するカメラと接続されていることが好適である。カメラで撮影された実環境の画像は、リアルタイムで非透過型ディスプレイに表示される。非透過型ディスプレイを有する装着型の表示装置4としては、例えば、Oculus Quest等が知られている。このような非透過型ディスプレイを有する表示装置4は、拡張現実(AR:Augmented Reality)を実現するための表示装置であると考えることもできる。タブレット端末などの可搬型の情報処理端末である表示装置4は、例えば、カメラとディスプレイとを有しており、カメラで撮影した実環境の画像をリアルタイムでティスプレイに表示してもよい。本実施の形態では、表示装置4が透過型のディスプレイを有するヘッドマウントディスプレイである場合について主に説明する。
【0014】
基準マーカ6は、2次元の所定の画像である。基準マーカ6は、例えば、ARマーカであってもよく、QRコード(登録商標)であってもよく、2次元のあらかじめ形状の決まっているその他の画像であってもよい。基準マーカ6のサイズは、例えば、あらかじめ決まっていてもよい。本実施の形態では、基準マーカ6がシート6aに表示されている場合について主に説明する。基準マーカ6は、例えば、紙や樹脂製のシート6aに印刷されていてもよい。また、シート6aには、例えば、実ロボットを配置する際に用いられる1以上の図形6bが表示されていてもよい。この図形6bは、実ロボットの位置決めのために用いられるものであり、例えば、実ロボットを固定するためのネジ穴の位置を示す図形であってもよく、実ロボットの基端側の端部の位置を示す図形であってもよく、実ロボットの配置時の位置決めに用いられるその他の図形であってもよい。図形6bは、位置決めに用いられる図形であれば特に限定されるものではないが、例えば、円形や四角形、三角形、多角形などの図形であってもよく、×(乗算記号)や+(加算記号)などの図形であってもよく、位置を特定可能なその他の図形であってもよい。この図形6bを用いて実ロボットを配置することによって、表示された仮想ロボットの位置と、実ロボットの配置位置とがずれないようにすることができる。図形6bは、基準マーカ6に対して所定の位置関係となるように表示される仮想ロボットの位置に実ロボットを配置するために用いられるものである。したがって、図形6bは、そのように実ロボットを配置できるように、基準マーカ6と所定の位置関係で表示されているものとする。
【0015】
図1で示されるように、本実施の形態による画像処理装置3は、記憶部31と、受付部32と、位置関係取得部33と、画像生成部34と、出力部35とを備える。
【0016】
記憶部31では、仮想ロボットの3次元モデルが記憶される。この仮想ロボットの3次元モデルは、例えば、導入を検討している実ロボットに対応する仮想ロボットの3次元モデルであってもよい。記憶部31では、複数の仮想ロボットの3次元モデルが記憶されていてもよい。複数の仮想ロボットの3次元モデルは、それぞれ複数の実ロボットに対応したものである。例えば、導入候補の実ロボットが複数ある場合には、それらの複数の実ロボットに対応する複数の仮想ロボットの3次元モデルが記憶部31で記憶されていてもよい。また、3次元モデル以外の情報が記憶部31で記憶されてもよい。例えば、教示データ等が記憶部31で記憶されてもよい。記憶部31に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が記憶部31で記憶されるようになってもよく、通信回線等を介して送信された情報が記憶部31で記憶されるようになってもよい。記憶部31は、不揮発性の記録媒体によって実現されることが好適であるが、揮発性の記録媒体によって実現されてもよい。記録媒体は、例えば、半導体メモリや磁気ディスク、光ディスクなどであってもよい。
【0017】
受付部32は、仮想ロボットの3次元モデルに対する操作を受け付ける。3次元モデルに対する操作は、例えば、3次元モデルの少なくとも一部の位置や姿勢を変化させるための操作であってもよい。操作や教示の指示の受け付けは、例えば、実環境に存在するティーチングペンダントなどの入力デバイスを介して行われてもよく、表示装置4のディスプレイに表示された仮想ボタンや仮想ティーチングペンダントなどの仮想入力インターフェースを介して行われてもよい。仮想入力インターフェースは、例えば、エアタップなどの動作に応じて表示装置4のディスプレイに表示され、作業者の指やポインティングデバイスによってボタン等が選択された場合に、そのボタン等の操作に応じた入力が表示装置4から受付部32に渡されてもよい。また、作業者の手などのジェスチャによって、仮想ロボットの3次元モデルの少なくとも一部(例えば、ツールなどの手先など)の位置や姿勢を変更できてもよい。この場合には、例えば、作業者がディスプレイに表示された3次元モデルを手でつまむ動作(ホールド動作)を行うことによって、その手でつまんだ部分が操作の対象として特定され、その手の位置や姿勢を変化させることによって、特定された対象の位置や姿勢を変化させる操作が行われ、そのつまむ動作を終了させることによって、特定された対象への操作が終了されてもよい。この場合には、例えば、操作の対象を示す情報(例えば、3次元モデルにおける位置や部分を示す情報)と、操作の内容を示す情報(例えば、位置の変更や姿勢の変更などを示す情報)とが表示装置4から受付部32に渡されてもよく、または、表示装置4において取得されたハンドトラッキングの結果が受付部32に渡され、画像処理装置3において、操作の対象や操作の内容が特定されてもよい。表示装置4において操作の対象を示す情報と操作の内容を示す情報とが取得される場合には、表示装置4は、画像処理装置3で保持されている、仮想空間における仮想ロボットの現時点の3次元モデルの情報にアクセス可能であってもよい。なお、作業者の手を用いた操作が行われる場合には、表示装置4はカメラを有しており、そのカメラで撮影された作業者の手のハンドトラッキングが行われることによって、作業者の手が、ディスプレイ上のどの位置に存在するのかが特定されてもよい。また、作業者の手などのジェスチャに応じた3次元モデルの表示画像への操作を、3次元仮想空間における3次元モデルの位置や姿勢の変化に変換する方法はすでに公知であり、その詳細な説明を省略する。また、受付部32は、例えば、仮想ロボットの3次元モデルに対する教示の指示を受け付けてもよく、表示される仮想ロボットの3次元モデルを変更する旨の指示を受け付けてもよい。
【0018】
受付部32は、例えば、入力デバイスや表示装置4から入力された情報を受け付けてもよく、有線または無線の通信回線を介して送信された情報を受信してもよい。なお、受付部32は、受け付けを行うためのデバイス(例えば、入力デバイスや通信デバイスなど)を含んでもよく、または含まなくてもよい。また、受付部32は、ハードウェアによって実現されてもよく、または所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0019】
位置関係取得部33は、実環境に存在する基準マーカ6と表示装置4との相対的な位置関係を取得する。基準マーカ6と表示装置4との相対的な位置関係を取得するとは、例えば、基準マーカ6のローカル座標系であるマーカ座標系と、表示装置4のローカル座標系である表示座標系との相対的な位置関係を取得することであってもよい。この相対的な位置関係は、例えば、両座標系間の変換を示す同次変換行列によって示されてもよい。位置関係取得部33が、この相対的な位置関係を取得する方法は問わない。位置関係取得部33は、例えば、表示装置4のカメラで撮影された画像を受け取り、その画像に含まれる基準マーカ6の3以上の特徴点を用いて、マーカ座標系と表示座標系との間の変換を示す同次変換行列を取得してもよい。その同次変換行列の取得は、表示装置4において行われてもよい。この場合には、位置関係取得部33は、マーカ座標系と表示座標系との間の変換を示す同次変換行列を表示装置4から受け付けてもよい。すなわち、位置関係取得部33による相対的な位置関係の取得は、相対的な位置関係の受け付けであってもよい。
【0020】
画像生成部34は、仮想ロボットの3次元モデルと、位置関係取得部33によって取得された基準マーカ6と表示装置4との相対的な位置関係とに基づいて、基準マーカ6と所定の位置関係となるように、仮想ロボットの3次元モデルを表示するための表示画像を生成する。また、仮想ロボットへの操作が受け付けられた場合には、画像生成部34は、操作された3次元モデルを表示するための表示画像を生成する。所定の位置関係は、例えば、あらかじめ決められた位置関係であってもよく、仮想ロボットを操作する作業者が変更することができる位置関係であってもよい。所定の位置関係は、例えば、仮想ロボットの3次元モデルが基準マーカ6の位置に表示される位置関係であってもよく、仮想ロボットの3次元モデルが基準マーカ6と異なる位置に表示される位置関係であってもよい。前者の場合には、画像生成部34は、基準マーカ6の位置に仮想ロボットの3次元モデルを表示するための表示画像を生成してもよい。仮想ロボットの3次元モデルが基準マーカ6の位置に表示されるとは、基準マーカ6の位置に実ロボットを配置した状況が仮想的に再現されるように仮想ロボットの3次元モデルが表示されることであってもよく、例えば、仮想ロボットの3次元モデルの基端側の端面(例えば、床面などへの取り付け面)が、基準マーカ6の面と一致するように仮想ロボットの3次元モデルが表示されることであってもよい。仮想ロボットの3次元モデルが基準マーカ6と異なる位置に表示されるとは、例えば、基準マーカ6の隣に仮想ロボットの3次元モデルが表示されることであってもよい。なお、仮想ロボットの3次元モデルが基準マーカ6の隣に表示される場合には、通常、シート6aにおいて、基準マーカ6の隣に図形6bが表示されることになる。いずれにしても、仮想ロボットの3次元モデルは、実環境に配置された基準マーカ6との位置関係が変化しないように表示されることになる。したがって、作業者が表示装置4の向きを変化させたとしても、実環境における仮想ロボットの3次元モデルの表示位置は変化しないことになる。
【0021】
基準マーカ6と表示装置4との相対的な位置関係は、位置関係取得部33によって取得される。また、基準マーカ6と仮想ロボットの3次元モデルとの位置関係は決まっている。したがって、これらの情報を用いて、画像生成部34は、仮想ロボットの3次元モデルと表示装置4との相対的な位置関係を特定することができる。そのため、画像生成部34は、仮想空間において、仮想ロボットの3次元モデルを配置し、その仮想ロボットの3次元モデルに対して、特定した位置関係となる表示装置4の位置及び向きを特定することができる。そして、画像生成部34は、仮想空間における仮想ロボットの3次元モデルを、表示装置4の位置及び向きを基準としてレンダリングすることによって、3次元モデルを表示するための2次元の表示画像を生成することができる。なお、仮想ロボットの各関節の角度は、操作が行われていない場合には初期値となり、操作が行われた場合には操作後の値となる。操作後の各関節の角度は、例えば、実ロボットと同様に、操作後の仮想ロボットの3次元モデルにおける手先の位置及び姿勢を用いた逆運動学によって算出されてもよい。仮想ロボットが操作されると、上記のように、仮想空間における仮想ロボットの3次元モデルの形状が、それに応じて変更されることになる。また、表示装置4の位置や向きが実環境において変化した場合には、それに応じて仮想空間上の視点の位置や方向が変更されることになる。そして、その変更後にレンダリングが行われることによって、操作後の3次元モデルの表示画像や、表示装置4の位置や向きの変化後の3次元モデルの表示画像が生成されることになる。なお、画像生成部34は、仮想ロボットの3次元モデルの表示画像が表示装置4のディスプレイに表示された際に、その表示画像の大きさが実環境と整合するように、表示画像を生成するものとする。すなわち、表示装置4のディスプレイに表示された仮想ロボットの3次元モデルと、その3次元モデルと同じ相対的な位置関係となるように実環境に配置された実ロボットとが、表示装置4を介して見たときに同じ大きさになるように、表示画像が生成されることになる。
【0022】
また、画像生成部34は、例えば、表示対象の仮想ロボットの3次元モデルを変更する旨の指示が受付部32で受け付けられた場合には、その指示に応じて、表示対象の仮想ロボットの3次元モデルを変更してもよい。例えば、記憶部31で複数の仮想ロボットの3次元モデルが記憶されている場合には、画像生成部34は、表示対象を変更する旨の指示に応じて、それまでとは別の仮想ロボットの3次元モデルを用いて表示画像を生成してもよい。なお、その指示において、表示対象の仮想ロボットの3次元モデルを識別する情報が含まれる場合には、その情報によって識別される仮想ロボットの3次元モデルを用いて表示画像を生成してもよい。
【0023】
また、受け付けられた操作に応じて仮想ロボットを操作できないこともあり得る。例えば、仮想ロボットの手先を、移動可能な範囲を超えて移動させる操作または回転可能な範囲を超えて回転させる操作が受け付けられることもある。このような場合には、画像生成部34は、その操作に応じた表示画像を生成しなくてもよく、または、可能な範囲内で移動または回転を行った仮想ロボットの3次元モデルの表示画像を生成してもよい。
【0024】
出力部35は、画像生成部34によって生成された表示画像を表示装置4に出力する。なお、出力部35は、表示画像のみを出力してもよい。この場合には、表示装置4において、実環境の画像または実環境そのものに表示画像が重ねられて表示されることになる。一方、表示装置4が非透過型ディスプレイを有する場合であって、表示装置4で撮影された実環境の画像が画像処理装置3で受け付けられている場合には、実環境の画像と表示画像とが合成された結果が、表示装置4に出力されてもよい。この合成は、例えば、画像処理装置3が有する図示しない合成部によって行われてもよい。
【0025】
基準マーカ6と異なる位置に仮想ロボットの3次元モデルが表示される場合には、例えば、
図1で示されるように、基準マーカ6の隣に仮想ロボットの3次元モデル10が表示されてもよい。
図1における基準マーカ6及び仮想ロボットの3次元モデル10は、仮想ロボットを操作する作業者が表示装置4を介して見ている状況を模式的に示したものである。なお、この場合には、例えば、シート6aに図形6bが表示されていなくてもよい。
【0026】
なお、仮想ロボットの3次元モデルを表示することや、その仮想ロボットの3次元モデルを表示デバイスの仮想入力インターフェースや作業者のジェスチャ等を用いて操作することなどについては、例えば、次の特許文献1~3で示されるようにすでに公知であり、その詳細な説明を省略する。
【先行技術文献】
【特許文献】
【0027】
【特許文献1】特開2017-100234号公報
【特許文献2】特開2020-055075号公報
【特許文献3】特開2020-069538号公報
【0028】
次に、画像処理装置3の動作について
図2のフローチャートを用いて説明する。
【0029】
(ステップS101)受付部32は、仮想ロボットの3次元モデルへの操作を受け付けたかどうか判断する。そして、操作を受け付けた場合には、ステップS103に進み、そうでない場合には、ステップS102に進む。
【0030】
(ステップS102)画像生成部34は、表示画像の生成を行うかどうか判断する。そして、表示画像を生成する場合には、ステップS103に進み、そうでない場合には、ステップS101に戻る。なお、画像生成部34は、例えば、表示画像の生成を行うと定期的に判断してもよい。この判断が行われることによって、例えば、操作が行われていなくても、表示装置4の位置や向きが変更された場合には、その変更後の位置や向きに応じた表示画像が表示装置4で表示されるようになる。
【0031】
(ステップS103)位置関係取得部33は、基準マーカ6と表示装置4との相対的な位置関係を取得する。
【0032】
(ステップS104)画像生成部34は、ステップS103で取得された相対的な位置関係と、仮想ロボットの3次元モデルとを用いて、基準マーカ6と所定の位置関係となるように3次元モデルを表示するための表示画像を生成する。なお、操作が受け付けられた場合には、その操作に応じて変化させた後の3次元モデルを表示するための表示画像が生成されることになる。また、表示装置4の位置や向きが変更された場合には、その変更後の表示装置4の位置や向きに応じた3次元モデルの表示画像が生成されることになる。
【0033】
(ステップS105)出力部35は、生成された表示画像を表示装置4に出力する。そして、ステップS101に戻る。この出力に応じて、基準マーカ6と所定の位置関係となるように仮想ロボットの3次元モデルが表示されることになる。
【0034】
なお、
図2のフローチャートにおける処理の順序は一例であり、同様の結果を得られるのであれば、各ステップの順序を変更してもよい。また、
図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0035】
次に、実ロボットの配置方法について
図3のフローチャートを用いて説明する。
【0036】
(ステップS201)作業者は、実環境に2次元の所定の画像である基準マーカ6を配置する。基準マーカ6は、例えば、実ロボットを配置する予定の位置に配置されてもよい。また、例えば、実ロボットを配置する予定の位置に他の実ロボットが配置されている場合には、その既存の実ロボットの隣などに配置されてもよい。
【0037】
(ステップS202)作業者は、画像処理装置3及び表示装置4を用いて、基準マーカ6と所定の位置関係となるように表示装置4に表示された仮想ロボットの3次元モデルを操作する。この操作は、例えば、ロボットの到達可能範囲を確認する目的や、ロボットが所望の姿勢をとることができるかどうかを確認する目的、ロボットが既存の障害物を回避できるかどうかを確認する目的などのために行われてもよい。なお、基準マーカ6が、実ロボットの配置予定の位置に配置された場合には、仮想ロボットの3次元モデルは、基準マーカ6の位置に表示されてもよい。また、基準マーカ6が、既存の実ロボットの隣に配置された場合には、仮想ロボットの3次元モデルは、その基準マーカ6と所定の位置関係である新たしいロボットの配置位置、例えば、既存の実ロボットが配置されている位置に表示されてもよい。
【0038】
(ステップS203)作業者は、仮想ロボットの配置や、仮想ロボットの種類が適切であるかどうか判断する。例えば、ロボットの到達可能範囲が問題なく、ロボットが所望の姿勢をとることができ、ロボットが既存の障害物を回避できる場合には、作業者は、仮想ロボットの配置や種類が適切であると判断してもよい。一方、ロボットの到達可能範囲に問題がある場合、ロボットが所望の姿勢をとることができない場合、または、ロボットが既存の障害物を回避できない場合には、作業者は、仮想ロボットの配置または種類が適切でないと判断してもよい。そして、仮想ロボットの配置、すなわち基準マーカ6の配置が適切でない場合には、ステップS201に戻り、再度、基準マーカ6の配置をやり直す。また、仮想ロボットの種類が適切でない場合には、仮想ロボットの種類を変更して、再度、操作を行ってもよい。この場合には、仮想ロボットの種類を変更してステップS202に戻り、新たな仮想ロボットの操作を行う。一方、仮想ロボットの配置及び種類が適切である場合には、ステップS204に進む。
【0039】
(ステップS204)仮想ロボットの3次元モデルの操作後に、実環境に配置されている基準マーカ6と所定の位置関係となるように実ロボットが配置される。この実ロボットは、操作された仮想ロボットの3次元モデルに対応するものである。例えば、基準マーカ6の表示されるシート6aに、実ロボットの配置位置を特定するための図形6bが表示されている場合には、その図形6bの位置に、実ロボットを配置するためのネジ穴を設け、そのネジ穴を用いて実ロボットを床面等に固定するようにしてもよい。このようにして、動作の確認に用いた仮想ロボットと同じ位置に実ロボットを配置することができ、適切な位置への実ロボットの配置を実現することができるようになる。
【0040】
なお、
図3のフローチャートには含まれていないが、仮想ロボットを用いたティーチングが行われてもよい。この場合には、例えば、基準マーカ6が適切な位置に配置された状況、すなわち、仮想ロボットが導入予定の実ロボットの配置位置と同じ位置に表示されている状況において、仮想ロボットの3次元モデルが操作され、適宜、教示の指示が入力されてもよい。そして、その教示の指示に応じて、教示データが記憶部31で記憶されてもよい。また、その教示データは、実ロボットを制御するロボット制御装置に渡されてもよい。そして、基準マーカ6を用いて実ロボットが配置された後に、その教示データを用いて実ロボットが動作されてもよい。この場合には、実ロボットの導入前にあらかじめ教示データを用意することができ、実ロボットの導入直後から、教示データを用いたプレイバック動作を開始することができるようになる。
【0041】
次に、本実施の形態によるロボット配置方法、及び画像処理装置3の動作について、具体例を用いて説明する。なお、この具体例では、導入予定の実ロボットであるロボット1に対応する仮想ロボットの3次元モデルが、あらかじめ画像処理装置3の記憶部31で記憶されているものとする。
【0042】
まず、作業者は、
図4Aで示されるように、導入予定の実ロボットであるロボット1を配置する位置に、基準マーカ6の表示されたシート6aを貼り付ける(ステップS201)。なお、そのシート6aには、ロボット1の配置位置を特定するための図形6bが4個表示されているものとする。
【0043】
次に、作業者は、頭部装着型の表示装置4を頭部に装着し、画像処理装置3によって表示された仮想ロボットの3次元モデル10を操作する(ステップS202)。具体的には、画像生成部34によって表示画像を生成すると判断されると(ステップS102)、それに応じて基準マーカ6と表示装置4との相対的な位置関係が取得され(ステップS103)、記憶部31で記憶されている3次元モデルと、相対的な位置関係とを用いて、3次元モデルを表示するための表示画像が生成され、表示装置4に出力される(ステップS104,S105)。このようにして、
図4Bで示されるように、基準マーカ6の位置に、仮想ロボットの3次元モデル10が表示されることになる。
【0044】
また、作業者は、ティーチングペンダントや、仮想入力インターフェース、または手を用いたジェスチャ操作などによって、仮想ロボットの3次元モデルを操作すると、その操作に応じた表示画像が生成されて表示される(ステップS101,S103~S105)。この操作は、例えば、仮想ロボットの手先の操作であってもよい。なお、仮想ロボットの手先は、例えば、TCP(ツールセンターポイント)であってもよい。このようにして、作業者は、仮想ロボットを用いて、ロボットを配置した際の状況、例えば、ロボットの到達可能範囲や、ロボットが所望の姿勢をとることができるのかどうか、ロボットが既存の障害物を回避できるかどうかなどについて確認することができる。そして、ロボットの配置位置が適切でない場合には、基準マーカ6を表示するシート6aの貼り付け位置を変更し、再度、ロボットの配置状況について確認する。また、ロボットの種類が適切でない場合には、表示する仮想ロボットの種類を変更し、再度、ロボットの配置状況について確認する。
【0045】
仮想ロボットの配置状況や種類に問題がなければ(ステップS203)、作業者は、画像処理装置3及び表示装置4を用いた仮想ロボットの表示を終了し、基準マーカ6の表示されたシート6aの図形6bの位置に、それぞれ実ロボットであるロボット1を固定するためのボルト穴を設ける。そして、
図4Cで示されるように、導入対象のロボット1を基準マーカ6の位置に配置し、そのロボット1の基端側の端部を、ボルト1aでボルト穴に固定する(ステップS204)。このようにして、あらかじめ仮想ロボットによって動作を確認した位置に、実ロボットであるロボット1を配置することができる。
【0046】
以上のように、本実施の形態による画像処理装置3、及びロボット配置方法によれば、導入対象のロボットを配置した状況を、実ロボットの配置前に仮想ロボットを用いて確認することができる。したがって、導入対象のロボットの配置位置や、導入対象のロボットの種類などをあらかじめ確認した上で、実ロボットを配置することができるようになり、実ロボットの配置後に想定外の事態が起こらないようにすることができる。また、基準マーカ6が2次元の画像である場合には、実環境における基準マーカ6の配置位置の変更に応じて、仮想ロボットの表示位置を容易に変更することができる。また、基準マーカ6がシート6aに表示されており、そのシート6aに、実ロボットの配置位置を特定するための図形6bも表示されている場合には、その図形6bを用いることで、実ロボットを、動作を確認した仮想ロボットの表示位置と同じ位置となるように配置することができる。
【0047】
なお、本実施の形態では、基準マーカ6の位置に仮想ロボットの3次元モデルが表示される場合について主に説明したが、そうでなくてもよい。例えば、基準マーカ6のマーカ座標系における所定の位置に仮想ロボットの3次元モデルが表示されてもよい。また、マーカ座標系における所定の位置及び所定の姿勢で仮想ロボットの3次元モデルが表示されてもよい。この場合には、実ロボットの配置の際にも、基準マーカ6に対して、所定の位置や所定の姿勢となるように実ロボットが配置されるものとする。
【0048】
また、本実施の形態では、基準マーカ6が実環境に配置された後に、仮想ロボットの3次元モデルが表示される場合について主に説明したが、そうでなくてもよい。例えば、仮想ロボットの3次元モデルが表示され、その表示位置を作業者が所望の位置に移動させた後に、基準マーカ6が配置されてもよい。この場合には、基準マーカ6が配置された際の基準マーカ6と、仮想ロボットの3次元モデルとの位置関係が、基準マーカと仮想ロボットの3次元モデルとの所定の位置関係となってもよい。また、基準マーカ6が配置されるまでは、位置関係取得部33は、実環境に存在する所定のオブジェクトと表示装置4との相対的な位置関係を取得し、その相対的な位置関係を用いて、仮想ロボットの3次元モデルと、所定のオブジェクトとの位置関係が一定になるように仮想ロボットの3次元モデルを表示してもよい。なお、仮想ロボットの3次元モデルと、所定のオブジェクトとの位置関係は、作業者の操作によって適宜、変更できるものとする。所定のオブジェクトは、例えば、実環境に存在する実ロボットであってもよく、治具であってもよく、その他のオブジェクトであってもよい。
【0049】
また、本実施の形態において、基準マーカ6によって、表示される仮想ロボットの種類が特定されてもよい。例えば、基準マーカ6がARマーカやQRコード(登録商標)などの2次元コードである場合に、2次元コードの識別子と仮想ロボットの種類とが対応付けられており、画像生成部34は、表示装置4から基準マーカ6の画像、または基準マーカ6である2次元コードの識別子を受け取り、基準マーカ6である2次元コードの識別子に応じた仮想ロボットの3次元モデルを用いて表示画像を生成してもよい。この場合には、作業者は、仮想ロボットごとの基準マーカ6の表示された複数のシート6aを有しており、実環境に配置するシート6aを適宜、変更することによって、表示対象の仮想ロボットを容易に変更することができるようになる。なお、2次元コードの識別子は、例えば、2次元コードを読み取ることによって得られる情報であってもよく、2次元コードと紐付けられている識別子であってもよい。
【0050】
また、本実施の形態では、基準マーカ6が2次元の所定の画像である場合について主に説明したが、そうでなくてもよい。マーカレスARと同様に、基準マーカとして、実環境に存在する物が用いられてもよい。実環境に存在する物は特に限定されるものではないが、例えば、実ロボットの設置に用いられる土台部分や、ロボットを配置する位置の近傍に存在する治具等であってもよい。また、各面にマーカを貼り付けた立体形状(例えば、直方体形状など)の物体におけるマーカを、基準マーカとしてもよい。また、基準マーカは、例えば、土台や治具などのように、3次元のものであってもよい。
【0051】
また、仮想ロボットの3次元モデルが操作されている際に、画像処理装置3は、3次元モデルと、実環境に存在する物との衝突判定を行ってもよい。このような衝突判定が行われることによって、仮想ロボットを操作している作業者は、仮想ロボットの3次元モデルの少なくとも一部が、実環境の障害物に干渉したかどうかを容易に知ることができるようになる。
【0052】
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。例えば、画像処理装置3の少なくとも一部の構成は、物理的には、ディスプレイを有する装置などに含まれてもよい。したがって、
図1で示される装置の切り分けは、物理的な装置に応じたものではなく、機能に応じた便宜上のものであると考えてもよい。
【0053】
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う2個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、または、その情報の受け渡しを行う2個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
【0054】
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いる閾値や数式、アドレス等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、または長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、または、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、または、図示しない読み出し部が行ってもよい。
【0055】
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いる閾値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、または、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
【0056】
また、上記実施の形態において、画像処理装置3に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、または、別々のデバイスを有してもよい。
【0057】
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、または、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。また、そのプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。また、そのプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、または分散処理を行ってもよい。
【0058】
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【符号の説明】
【0059】
3 画像処理装置、4 表示装置、6 基準マーカ、31 記憶部、32 受付部、33 位置関係取得部、34 画像生成部、35 出力部、100 ロボット制御システム