IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社ダイヘンの特許一覧

<>
  • 特開-画像処理装置 図1
  • 特開-画像処理装置 図2
  • 特開-画像処理装置 図3A
  • 特開-画像処理装置 図3B
  • 特開-画像処理装置 図3C
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023017440
(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 2021121723
(22)【出願日】2021-07-26
(71)【出願人】
【識別番号】000000262
【氏名又は名称】株式会社ダイヘン
(74)【代理人】
【識別番号】100115749
【弁理士】
【氏名又は名称】谷川 英和
(74)【代理人】
【識別番号】100121223
【弁理士】
【氏名又は名称】森本 悟道
(72)【発明者】
【氏名】檀上 梓紗
(72)【発明者】
【氏名】鳴川 雄太
(72)【発明者】
【氏名】古川 直樹
(72)【発明者】
【氏名】北野 豊和
【テーマコード(参考)】
3C707
5B050
【Fターム(参考)】
3C707AS11
3C707BS10
3C707JU03
3C707KS36
3C707KT01
3C707KT06
3C707KT11
3C707KT15
3C707LS06
3C707LS20
3C707LW03
3C707MT01
5B050AA10
5B050BA09
5B050BA13
5B050DA04
5B050EA09
5B050EA19
5B050EA27
5B050FA02
5B050FA05
(57)【要約】
【課題】ジェスチャ操作によって行われる仮想ロボットの3次元モデルへの操作が、想定外のものになることがあった。
【解決手段】画像処理装置3は、実ロボットに対応する仮想ロボットの3次元モデルが記憶される記憶部31と、3次元モデルに対する操作を受け付ける受付部32と、実環境と、画像を実環境の画像または実環境そのものに重ねて表示する表示装置4との相対的な位置関係を取得する位置関係取得部33と、3次元モデルと相対的な位置関係とに基づいて、実環境の所定の位置に3次元モデルを表示するための表示画像であって、3次元モデルにおける操作の位置及び方向を示す表示画像を生成する画像生成部34と、表示画像を表示装置4に出力する画像出力部35とを備える。このようにして、操作の位置や方向を可視化できるため、ジェスチャ操作を行う作業者は、操作の位置や方向を容易に把握できる。
【選択図】図1
【特許請求の範囲】
【請求項1】
実環境に存在する実ロボットに対応する仮想ロボットの3次元モデルが記憶される記憶部と、
前記仮想ロボットの3次元モデルに対する操作を受け付ける受付部と、
実環境と、画像を実環境の画像または実環境そのものに重ねて表示する表示装置との相対的な位置関係を取得する位置関係取得部と、
前記3次元モデルと前記相対的な位置関係とに基づいて、実環境における所定の位置に、3次元モデルを表示するための表示画像であって、当該3次元モデルにおける操作の位置及び操作の方向を示す表示画像を生成する画像生成部と、
前記表示画像を表示装置に出力する画像出力部と、を備えた画像処理装置。
【請求項2】
3次元モデルにおける操作の位置は、当該位置を示す図形によって示される、請求項1記載の画像処理装置。
【請求項3】
3次元モデルは複数の部分オブジェクトから構成されており、
3次元モデルにおける操作の位置は、当該位置を含む部分オブジェクトを特定可能なように表示される、請求項1記載の画像処理装置。
【請求項4】
3次元モデルは複数の部分オブジェクトから構成されており、
前記画像生成部は、受け付けられた操作によって変化する3次元モデルのすべての部分オブジェクトを特定可能な表示画像を生成する、請求項1から請求項3のいずれか記載の画像処理装置。
【請求項5】
前記画像生成部は、前記操作の方向を、当該操作の速さに応じた長さの矢印の図形によって示す表示画像を生成する、請求項1から請求項4のいずれか記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ジェスチャ操作によって操作される仮想ロボットの3次元モデルの表示画像を生成する画像処理装置に関する。
【背景技術】
【0002】
作業者が、仮想ロボットの3次元モデルをジェスチャ操作によって操作することにより、実ロボットを操作することがあった(例えば、特許文献1参照)。例えば、3次元モデルの手先のツールや、その他の箇所などを作業者が指で押したり、指でつかんで移動させたりすることによって、仮想空間での直接教示が行われることがあった。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2020-055075号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、仮想ロボットの3次元モデルを用いて操作を行う場合には、操作を行っている作業者に実感がないため、想定外の操作になる可能性があり、その結果として、仮想ロボットが作業者の想定しているように動かないことがあった。
【0005】
本発明は、上記課題を解決するためになされたものであり、仮想ロボットの3次元モデルへの操作を可視化することによって、3次元モデルに行われた操作について容易に把握することができる画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明の一態様による画像処理装置は、実環境に存在する実ロボットに対応する仮想ロボットの3次元モデルが記憶される記憶部と、仮想ロボットの3次元モデルに対する操作を受け付ける受付部と、実環境と、画像を実環境の画像または実環境そのものに重ねて表示する表示装置との相対的な位置関係を取得する位置関係取得部と、3次元モデルと相対的な位置関係とに基づいて、実環境における所定の位置に、3次元モデルを表示するための表示画像であって、3次元モデルにおける操作の位置及び操作の方向を示す表示画像を生成する画像生成部と、表示画像を表示装置に出力する画像出力部と、を備えたものである。
【発明の効果】
【0007】
本発明の一態様による画像処理装置によれば、仮想ロボットの3次元モデルへの操作を可視化することができる。そのため、3次元モデルに行われた操作について容易に把握することができ、仮想ロボットの3次元モデルを操作する作業者の利便性を向上させることができる。
【図面の簡単な説明】
【0008】
図1】本発明の実施の形態によるロボット制御システムの構成を示す模式図
図2】同実施の形態による画像処理装置の動作を示すフローチャート
図3A】同実施の形態における操作の可視化の一例を示す図
図3B】同実施の形態における操作の可視化の一例を示す図
図3C】同実施の形態における操作の可視化の一例を示す図
【発明を実施するための形態】
【0009】
以下、本発明による画像処理装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。本実施の形態による画像処理装置は、仮想ロボットの3次元モデルへの操作を可視化するためのものである。
【0010】
図1は、本実施の形態によるロボット制御システム100の構成を示す模式図である。本実施の形態によるロボット制御システム100は、仮想ロボットを操作するためのものであり、画像処理装置3と、表示装置4とを備える。なお、画像処理装置3と表示装置4とは、例えば、有線または無線で接続されてもよい。また、仮想ロボットの3次元モデルが操作されることによって、実ロボットであるロボット1が操作される場合には、ロボット制御システム100は、例えば、ロボット1と、ロボット1の動作を制御するロボット制御装置とをさらに備えてもよい。仮想ロボットの3次元モデルを介したロボット1の操作は、例えば、教示のために行われてもよく、到達可能範囲などの確認のために行われてもよい。
【0011】
操作対象の仮想ロボットは、仮想環境に存在する3次元モデルによって構成されるものであり、実環境に存在する実ロボットに対応したものである。すなわち、仮想ロボットは、3次元モデルで構成されている以外は、実ロボットと同じであり、例えば、実ロボットと同じサイズ及び構成であってもよく、実ロボットと同様に、複数のアームの関節の角度などを変更可能になっていてもよい。
【0012】
実ロボットは、通常、産業用ロボットであり、モータにより駆動される関節によって連結された複数のアーム(リンク)を有するマニピュレータであってもよい。実ロボットは、例えば、垂直多関節ロボットであってもよく、水平多関節ロボットであってもよい。また、実ロボットは、例えば、搬送ロボットであってもよく、溶接ロボットであってもよく、組立ロボットであってもよく、塗装ロボットであってもよく、または、その他の用途のロボットであってもよい。なお、実ロボットは、実環境に存在するロボットである。実環境とは、実空間の環境のことである。ロボット制御装置は、ロボット1の動作を制御する。ロボット1を動作させるロボット制御装置は、すでに公知であり、その詳細な説明を省略する。なお、ロボット制御システム100が、例えば、溶接ロボットであるロボット1を有している場合には、必要に応じて溶接電源やワイヤ送給装置等をさらに有していてもよい。
【0013】
画像処理装置3は、実環境の所定の位置に、仮想ロボットの3次元モデルを表示するための表示画像を生成して表示装置4に出力するものである。なお、仮想ロボットの3次元モデルの表示画像は、仮想ロボットの3次元モデルと、実環境に存在する実ロボットであるロボット1とが所定の位置関係となるように生成されてもよい。画像処理装置3の詳細については後述する。
【0014】
表示装置4は、画像を実環境の画像または実環境そのものに重ねて表示する。すなわち、仮想ロボットを操作する作業者は、表示装置4によって、実環境と仮想環境の画像との両方を見ることができる。表示装置4は、仮想ロボットを操作する作業者が頭部に装着する装着型の表示装置であってもよく、または、タブレット端末などの可搬型の情報処理端末である表示装置であってもよい。装着型の表示装置は、例えば、ヘッドマウントディスプレイであってもよい。また、表示装置4は、例えば、透過型ディスプレイを有するものであってもよい。この場合には、表示装置4は、画像を実環境そのものに重ねて表示することになる。透過型ディスプレイを有する装着型の表示装置4としては、例えば、HoloLens(登録商標)等が知られている。このような透過型ディスプレイを有する表示装置4は、複合現実(MR:Mixed Reality)を実現するための表示装置であると考えることもできる。また、表示装置4は、例えば、非透過型ディスプレイを有するものであってもよい。この場合には、表示装置4は、画像を実環境の画像に重ねて表示することになる。したがって、非透過型ディスプレイを有する表示装置4は、実環境を撮影するためのカメラを有しているか、または、実環境を撮影するカメラと接続されていることが好適である。カメラで撮影された実環境の画像は、リアルタイムで非透過型ディスプレイに表示される。非透過型ディスプレイを有する装着型の表示装置4としては、例えば、Oculus Quest等が知られている。このような非透過型ディスプレイを有する表示装置4は、拡張現実(AR:Augmented Reality)を実現するための表示装置であると考えることもできる。タブレット端末などの可搬型の情報処理端末である表示装置4は、例えば、カメラとディスプレイとを有しており、カメラで撮影した実環境の画像をリアルタイムでティスプレイに表示してもよい。本実施の形態では、表示装置4が透過型のディスプレイを有するヘッドマウントディスプレイである場合について主に説明する。
【0015】
図1で示されるように、本実施の形態による画像処理装置3は、記憶部31と、受付部32と、位置関係取得部33と、画像生成部34と、画像出力部35とを備える。
【0016】
記憶部31では、仮想ロボットの3次元モデルが記憶される。この仮想ロボットの3次元モデルは、例えば、操作対象の実ロボットに対応する仮想ロボットの3次元モデルであってもよい。仮想ロボットの3次元モデルは、例えば、複数の部分オブジェクトから構成されてもよい。各部分オブジェクトは、マニピュレータの3次元モデルの各アームや手先のツールなどに対応していてもよい。また、3次元モデル以外の情報が記憶部31で記憶されてもよい。例えば、教示データ等が記憶部31で記憶されてもよい。記憶部31に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が記憶部31で記憶されるようになってもよく、通信回線等を介して送信された情報が記憶部31で記憶されるようになってもよい。記憶部31は、不揮発性の記録媒体によって実現されることが好適であるが、揮発性の記録媒体によって実現されてもよい。記録媒体は、例えば、半導体メモリや磁気ディスク、光ディスクなどであってもよい。
【0017】
受付部32は、仮想ロボットの3次元モデルに対する操作を受け付ける。3次元モデルに対する操作は、例えば、3次元モデルを構成する複数の部分オブジェクトの少なくともいずれかの位置や姿勢を変化させるための操作であってもよい。変化対象の部分オブジェクトは、例えば、ツールなどの手先の部分オブジェクトであってもよく、それ以外の部分オブジェクトであってもよい。この操作は、作業者の手などのジェスチャによって行われてもよい。すなわち、仮想ロボットの3次元モデルへの操作は、ジェスチャ操作であってもよい。そのジェスチャ操作は、仮想空間の3次元モデルに作業者が仮想的に触れることによって、部分オブジェクトの位置や姿勢を直接、変化させる操作であってもよい。この場合には、例えば、作業者がディスプレイに表示された3次元モデルの一部を手や指で押す動作が行われたことが検出されたときに、その手や指の当たった3次元モデルの箇所が、操作の位置として特定され、その手や指の押した方向が操作の方向として特定されてもよい。また、例えば、作業者がディスプレイに表示された3次元モデルを手でつまむ動作(ホールド動作)を行うことによって、その手でつまんだ部分が操作の位置として特定され、その手の位置や姿勢を変化させることによって、特定された位置に対する操作の方向(例えば、移動や姿勢の変化など)が特定され、そのつまむ動作を終了させることによって、特定された対象への操作が終了されてもよい。ジェスチャによる操作が行われる場合には、例えば、3次元モデルにおける操作の位置を示す情報(例えば、3次元モデルにおける位置や部分を示す情報)と、操作の方向を示す情報(例えば、位置の変更の方向や姿勢の変更の方向などを示す情報)とが表示装置4から受付部32に渡されてもよく、または、表示装置4において取得されたハンドトラッキングの結果が受付部32に渡され、画像処理装置3において、操作の位置や操作の方向が特定されてもよい。表示装置4において操作の対象を示す情報と操作の内容を示す情報とが取得される場合には、表示装置4は、画像処理装置3で保持されている、仮想空間における仮想ロボットの現時点の3次元モデルの情報にアクセス可能であってもよい。なお、作業者の手を用いた操作が行われる場合には、表示装置4はカメラを有しており、そのカメラで撮影された作業者の手のハンドトラッキングが行われることによって、作業者の手や指が、ディスプレイ上または仮想空間上のどの位置に存在するのかが特定されてもよい。そして、作業者の手や指が仮想ロボットの3次元モデルに接したと判定された場合に、その接した位置である操作の位置と、接した後の手や指の移動の方向である操作の方向とが特定されてもよい。作業者の手などのジェスチャに応じた3次元モデルの表示画像への操作を、3次元仮想空間における3次元モデルの位置や姿勢の変化に変換する方法はすでに公知であり、その詳細な説明を省略する。
【0018】
仮想ロボットの3次元モデルへの操作は、例えば、教示データの生成のために行われてもよく、または、その他の目的のために行われてもよい。仮想ロボットの3次元モデルへの操作によって教示データが生成される場合には、教示の指示等が受付部32で受け付けられてもよい。なお、教示の指示等の受け付けは、例えば、実環境に存在するティーチングペンダントなどの入力デバイスを介して行われてもよく、表示装置4のディスプレイに表示された仮想ボタンや仮想ティーチングペンダントなどの仮想入力インターフェースを介して行われてもよい。仮想入力インターフェースは、例えば、エアタップなどの動作に応じて表示装置4のディスプレイに表示され、作業者の指やポインティングデバイスによって仮想ボタンが選択された場合に、その仮想ボタンの操作に応じた入力が表示装置4から受付部32に渡されてもよい。
【0019】
受付部32は、例えば、入力デバイスや表示装置4から入力された情報を受け付けてもよく、有線または無線の通信回線を介して送信された情報を受信してもよい。なお、受付部32は、受け付けを行うためのデバイス(例えば、入力デバイスや通信デバイスなど)を含んでもよく、または含まなくてもよい。また、受付部32は、ハードウェアによって実現されてもよく、または所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0020】
位置関係取得部33は、実環境と、表示装置4との相対的な位置関係を取得する。その実環境には、例えば、実ロボットであるロボット1が存在してもよい。実環境と表示装置4との相対的な位置関係を取得するとは、例えば、実環境の座標系であるワールド座標系と、表示装置4のローカル座標系である表示座標系との相対的な位置関係を取得することであってもよい。その相対的な位置関係は、例えば、両座標系間の変換を示す同次変換行列によって示されてもよい。なお、実環境と表示装置4との相対的な位置関係は、例えば、実環境に存在するロボット1や他のオブジェクトと、表示装置4との相対的な位置関係であってもよく、実環境における表示装置4の位置や姿勢を示す情報であってもよい。
【0021】
位置関係取得部33が、この相対的な位置関係を取得する方法は問わない。例えば、実環境の環境地図が用意されている場合には、位置関係取得部33は、実環境の環境地図と、表示装置4によって取得された周囲の物体までの距離や周囲の画像とを用いて、SLAM(Simultaneous Localization and Mapping)や、Visual-SLAMの手法を用いて、3次元の実環境における表示装置4の位置や姿勢を示す情報である相対的な位置関係を取得してもよい。この場合には、例えば、画像処理装置3において環境地図が保持されており、位置関係取得部33は、表示装置4から受け取った周囲の物体までの距離や周囲の画像と、環境地図とを用いて、相対的な位置関係を取得してもよい。また、例えば、SLAMやVisual-SLAMの手法を用いた相対的な位置関係の取得は表示装置4において行われ、その相対的な位置関係が位置関係取得部33に渡されてもよい。この場合には、位置関係取得部33による相対的な位置関係の取得は、相対的な位置関係の受け付けであってもよい。また、この場合には、表示装置4は、周囲の物体までの距離を測定可能な深度センサや、周囲の画像を取得可能なカメラを有していてもよい。また、位置関係取得部33は、表示装置4のカメラで撮影された画像を受け取り、その画像に含まれるロボット1や他のオブジェクトの3以上の特徴点を用いて、ワールド座標系と表示座標系との間の変換を示す同次変換行列を取得してもよい。
【0022】
また、位置関係取得部33は、上記した以外の方法によって、実環境と表示装置4との相対的な位置関係を取得してもよい。その方法の一例については、例えば、上記特許文献1等を参照されたい。また、後述する表示画像の生成ごとに、位置関係取得部33によって上記のようにして相対的な位置関係が取得されてもよく、または、そうでなくてもよい。後者の場合には、例えば、相対的な位置関係が取得された後の表示装置4の位置や姿勢の変化を用いて、実環境と表示装置4との相対的な位置関係が更新されてもよい。この更新は、例えば、位置関係取得部33によって行われてもよい。また、この更新が行われる場合には、表示装置4は、例えば、加速度センサや表示装置4の向きを取得するためのセンサ等を備えており、それらのセンサを用いて位置の変化や姿勢の変化が取得されてもよい。なお、それらのセンサによって取得された値は、例えば、位置関係取得部33などの相対的な位置関係を更新する構成要素に渡されてもよい。表示装置4の向きを取得するためのセンサは、例えば、ジャイロセンサや方位センサ等であってもよい。
【0023】
画像生成部34は、記憶部31で記憶されている仮想ロボットの3次元モデルと、位置関係取得部33によって取得された相対的な位置関係とに基づいて、実環境における所定の位置に、3次元モデルを表示するための表示画像を生成する。また、仮想ロボットへの操作が受け付けられた場合には、画像生成部34は、3次元モデルを表示するための表示画像であって、3次元モデルにおける操作の位置及び操作の方向を示す表示画像を生成する。この場合には、例えば、表示画像に表示される3次元モデルは、操作前のものであってもよく、操作後のものであってもよい。なお、操作が受付部32で受け付けられた場合に、例えば、画像生成部34は、まず、操作前の3次元モデルにおける操作の位置及び操作の方向を示す表示画像を生成し、その後に、操作後の3次元モデルを表示するための表示画像を生成してもよい。操作後の3次元モデルを表示するための表示画像では、例えば、3次元モデルにおける操作の位置及び操作の方向が示されてもよく、または、そうでなくてもよい。
【0024】
操作の位置や操作の方向は、例えば、その位置を示す図形や、その方向を示す図形によって示されてもよい。この場合には、表示画像に、その位置を示す図形や、その方向を示す図形が含まれてもよい。位置を示す図形は、例えば、点状や円形状、楕円形状、多角形状などの図形であってもよい。また、操作の方向は、例えば、矢印の図形によって示されてもよい。この場合には、表示画像に、その方向を示す矢印の図形が含まれることになる。その矢印の図形は、例えば、操作の方向が直線方向である場合には、直線状の矢印の図形であってもよく、操作の方向が回転方向である場合には、円弧状の矢印の図形であってもよい。操作の位置を示す図形は、例えば、3次元の仮想空間に存在する仮想ロボットの3次元モデルにおける操作の位置に配置された図形をレンダリングすることによって生成されてもよい。このレンダリングは、例えば、仮想ロボットの3次元モデルのレンダリングと一緒に行われてもよく、または、そうでなくてもよい。後者の場合には、例えば、レンダリング後の画像が合成されることによって、表示画像が生成されてもよい。操作の方向を示す矢印の図形は、例えば、3次元の仮想空間における操作の方向を示す矢印のオブジェクトをレンダリングすることによって生成されてもよい。このレンダリングは、例えば、仮想ロボットの3次元モデルのレンダリングと一緒に行われてもよく、または、そうでなくてもよい。後者の場合には、例えば、レンダリング後の画像が合成されることによって、表示画像が生成されてもよい。
【0025】
また、操作の位置は、例えば、3次元モデルにおける、その操作の位置を含む部分オブジェクトを特定可能なように表示画像において表示されることによって示されてもよい。この場合には、例えば、表示画像において、その部分オブジェクトが、他の部分オブジェクトと区別可能に表示されてもよい。例えば、操作の位置を含む部分オブジェクトが、そうでない部分オブジェクトと異なる色や、異なる輝度などで表示されてもよい。
【0026】
また、画像生成部34は、例えば、受け付けられた操作によって変化する3次元モデルのすべての部分オブジェクトを特定可能な表示画像を生成してもよい。例えば、仮想ロボットの3次元モデルの手先に配置されているツールを変化させる操作が受け付けられた際に、その操作によってツールの角度のみが変化する場合には、そのツールの部分オブジェクトを特定可能な表示画像が生成されてもよい。一方、その操作によってツール及びツールに直接繋がっているアームの位置や角度が変化する場合には、そのツールの部分オブジェクト及びそのツールに直接繋がっているアームの部分オブジェクトを特定可能な表示画像が生成されてもよい。画像生成部34は、例えば、操作の前後の3次元モデルの差分を算出し、その差分によって変化したことが示される部分オブジェクトを特定可能な表示画像を生成してもよい。この場合にも、例えば、表示画像において、特定可能に表示される1以上の部分オブジェクトは、そうでない部分オブジェクトと異なる色や、異なる輝度などで表示されてもよい。
【0027】
また、画像生成部34は、操作の方向を、その操作の速さに応じた属性の矢印の図形によって示す表示画像を生成してもよい。その矢印の図形は、例えば、操作の速さに応じた長さの矢印の図形であってもよい。この場合には、例えば、操作が速いほど、矢印が長くなってもよい。また、その矢印の図形は、例えば、操作の速さに応じた太さの矢印の図形であってもよい。この場合には、例えば、操作が速いほど、矢印が太くなってもよい。また、その矢印の図形は、例えば、操作の速さに応じた色の矢印の図形であってもよい。この場合には、例えば、操作が速いほど、矢印の色の赤みが強くなり、操作が遅いほど、矢印の色の青みが強くなってもよい。例えば、ジェスチャ操作において、仮想ロボットの3次元モデルの接触位置やホールド位置を変化させる速さが速いほど、より強い力で操作していると考えることができる。そのため、操作の速さに応じた属性で矢印を表示することによって、どのような操作が行われたのかを作業者に示すことができる。なお、操作が速いとは、単位時間当たりの移動距離または角度の変化が大きいことであってもよい。また、操作の速さに応じて変化する矢印の属性は、例えば、2段階であってもよく(例えば、短い矢印と、長い矢印など)、3段階以上であってもよい(例えば、短い矢印と、中ぐらいの長さの矢印と、長い矢印など)。このように、その操作の速さに応じた属性の矢印の図形が表示されることによって、作業者は、操作の方向だけでなく、操作の速さ(すなわち、操作の強さ)についても知ることができるようになる。なお、操作の速さに応じて、矢印の属性が変化しなくてもよい。例えば、操作の速さに関係なく、矢印の長さや太さ、色は一定であってもよい。
【0028】
仮想ロボットの3次元モデルが表示される実環境の所定の位置は、例えば、ワールド座標系における所定の位置であってもよく、実環境に存在するロボット1や他のオブジェクトと、仮想ロボットの3次元モデルとが所定の位置関係となる位置であってもよい。仮想ロボットの3次元モデルが表示される実環境における位置、または、ロボット1等と仮想ロボットの3次元モデルとの所定の位置関係は、例えば、あらかじめ決められていてもよく、または、作業者が変更することができてもよい。仮想ロボットの3次元モデルは、例えば、ロボット1の位置に表示されてもよく、ロボット1と異なる位置に表示されてもよい。仮想ロボットの3次元モデルをロボット1の位置に表示するとは、ロボット1と同じ位置に仮想ロボットが配置されるように3次元モデルを表示することであり、例えば、仮想ロボットの3次元モデルの基端側の端部(例えば、床面などへの取り付け部分)が、ロボット1の基端側の端部に重なるように表示することであってもよい。ロボット1と異なる位置に仮想ロボットの3次元モデルが表示される場合には、例えば、ロボット1の隣に3次元モデルが表示されてもよい。いずれにしても、仮想ロボットの3次元モデルは、実環境における位置が変化しないように表示されることになる。例えば、仮想ロボットの3次元モデルは、実ロボットであるロボット1との位置関係が変化しないように表示される。したがって、表示装置4において、作業者が表示装置4の向きを変化させたとしても、実環境における仮想ロボットの3次元モデルの表示位置は変化しないことになる。
【0029】
ワールド座標系における仮想ロボットの3次元モデルの位置は決まっている。したがって、画像生成部34は、実環境における位置関係と同様になるように、仮想空間において仮想ロボットの3次元モデルを配置することができる。例えば、実環境にロボット1が配置されている場合には、画像生成部34は、ロボット1の配置位置があらかじめ決まっている仮想空間において、そのロボット1の配置位置と所定の位置関係となるように仮想ロボットの3次元モデルを配置してもよい。なお、仮想ロボットの各関節の角度は、操作が行われていない場合には初期値となり、操作が行われた場合には操作後の値となる。操作後の各関節の角度は、例えば、実ロボットと同様に、操作後の仮想ロボットの3次元モデルにおける手先の位置及び姿勢を用いた逆運動学によって算出されてもよい。また、画像生成部34は、位置関係取得部33によって取得された相対的な位置関係によって、ワールド座標系と表示装置4のローカル座標系である表示座標系との関係を知ることができるため、仮想空間における表示装置4の位置及び向きを特定することができる。したがって、画像生成部34は、仮想空間における仮想ロボットの3次元モデルを、表示装置4の位置及び向きを基準としてレンダリングすることによって、3次元モデルを表示するための2次元の表示画像を生成することができる。仮想ロボットが操作されると、上記のように、仮想空間における仮想ロボットの3次元モデルの形状が、それに応じて変更されることになる。また、表示装置4の位置や向きが実環境において変化した場合には、それに応じて仮想空間上の視点の位置や方向が変更されることになる。そして、その変更後にレンダリングが行われることによって、操作後の3次元モデルの表示画像や、表示装置4の位置や向きの変化後の3次元モデルの表示画像が生成されることになる。なお、画像生成部34は、仮想ロボットの3次元モデルの表示画像が表示装置4のディスプレイに表示された際に、その表示画像の大きさが実環境と整合するように、表示画像を生成するものとする。すなわち、表示装置4のディスプレイに表示された仮想ロボットの3次元モデルと、その3次元モデルと同じ相対的な位置関係となるように実環境に配置された実ロボットとが、表示装置4を介して見たときに同じ大きさになるように、表示画像が生成されることになる。
【0030】
また、受け付けられた操作に応じて仮想ロボットを操作できないこともあり得る。例えば、仮想ロボットの手先を、移動可能な範囲を超えて移動させる操作または回転可能な範囲を超えて回転させる操作が受け付けられることもある。このような場合には、画像生成部34は、その操作に応じた表示画像を生成しなくてもよく、または、可能な範囲内で移動または回転を行った仮想ロボットの3次元モデルの表示画像を生成してもよい。
【0031】
画像出力部35は、画像生成部34によって生成された表示画像を表示装置4に出力する。なお、画像出力部35は、表示画像のみを出力してもよい。この場合には、表示装置4において、実環境の画像または実環境そのものに表示画像が重ねられて表示されることになる。一方、表示装置4が非透過型ディスプレイを有する場合であって、表示装置4で撮影された実環境の画像が画像処理装置3で受け付けられている場合には、実環境の画像と表示画像とが合成された結果が、表示装置4に出力されてもよい。この合成は、例えば、画像処理装置3が有する図示しない合成部によって行われてもよい。
【0032】
実ロボットであるロボット1と異なる位置に仮想ロボットの3次元モデルが表示される場合には、例えば、図1で示されるように、ロボット1の隣に仮想ロボットの3次元モデル10が表示されてもよい。図1におけるロボット1及び仮想ロボットの3次元モデル10は、仮想ロボットを操作する作業者が表示装置4を介して見ている状況を模式的に示したものである。
【0033】
なお、仮想ロボットの3次元モデルを表示することや、その仮想ロボットの3次元モデルを作業者のジェスチャ等を用いて操作することなどについては、例えば、上記特許文献1等で示されるようにすでに公知であり、その詳細な説明を省略する。
【0034】
次に、画像処理装置3の動作について図2のフローチャートを用いて説明する。
【0035】
(ステップS101)受付部32は、仮想ロボットの3次元モデルへの操作を受け付けたかどうか判断する。そして、操作を受け付けた場合には、ステップS103に進み、そうでない場合には、ステップS102に進む。
【0036】
(ステップS102)画像生成部34は、表示画像の生成を行うかどうか判断する。そして、表示画像を生成する場合には、ステップS103に進み、そうでない場合には、ステップS101に戻る。なお、画像生成部34は、例えば、表示画像の生成を行うと定期的に判断してもよい。この判断が行われることによって、例えば、操作が行われていなくても、表示装置4の位置や向きが変更された場合には、その変更後の位置や向きに応じた表示画像が表示装置4で表示されるようになる。
【0037】
(ステップS103)位置関係取得部33は、実環境と表示装置4との相対的な位置関係を取得する。
【0038】
(ステップS104)画像生成部34は、3次元モデルにおける操作の位置及び操作の方向を特定する。なお、操作が受け付けられていない場合や、操作が受け付けられても、その操作によって3次元モデルに変化がない場合(例えば、ジェスチャ操作を行う手が、3次元モデルに当たっていない場合など)には、この特定は行われなくてもよい。
【0039】
(ステップS105)画像生成部34は、ステップS103で取得された相対的な位置関係と、仮想ロボットの3次元モデルとを用いて、実環境における所定の位置に3次元モデルを表示するための表示画像を生成する。なお、操作が受け付けられた場合には、操作前の3次元モデルにおける操作の位置及び操作の方向を示す表示画像が生成され、その生成後に、3次元モデルが操作に応じて変更されてもよい。そして、その後にステップS102において表示画像の生成を行うと判断された際に、操作に応じて変更された3次元モデルを表示するための表示画像が生成されてもよい。また、表示装置4の位置や向きが変更された場合には、その変更後の表示装置4の位置や向きに応じた3次元モデルの表示画像が生成されることになる。なお、操作が受け付けられていない場合や、操作が受け付けられても、その操作によって3次元モデルに変化がない場合には、操作の位置及び操作の方向を示す表示画像や、操作後の3次元モデルを表示するための表示画像の生成は行われなくてもよい。
【0040】
(ステップS106)画像出力部35は、生成された表示画像を表示装置4に出力する。そして、ステップS101に戻る。例えば、3次元モデルにおける操作の位置及び操作の方向を示す表示画像が出力された場合には、作業者は、自らの行った操作の位置や方向を確認することができる。また、操作後の3次元モデルを表示するための表示画像が出力された場合には、作業者は、操作後の仮想ロボットの3次元モデルについて確認することができる。
【0041】
なお、図2のフローチャートのステップS101で操作が受け付けられた場合に、ステップS105において、操作前の3次元モデルではなく、操作後の3次元モデルにおける操作の位置及び操作の方向を示す表示画像が生成されてもよい。また、図2のフローチャートにおける処理の順序は一例であり、同様の結果を得られるのであれば、各ステップの順序を変更してもよい。また、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0042】
次に、本実施の形態による画像処理装置3の動作について、具体例を用いて説明する。
【0043】
表示装置4を頭部に装着している作業者が、ディスプレイに表示されている仮想ロボットの3次元モデル10について、図3Aで示されるように、所定の箇所に人差し指を当てて、向こう側に押すジェスチャ操作を行ったとする。すると、表示装置4におけるハンドトラッキングの結果が画像処理装置3の受付部32で受け付けられ、画像生成部34に渡される(ステップS101)。そして、位置関係取得部33によって、実環境と表示装置4との相対的な位置関係が取得され、画像生成部34に渡される(ステップS103)。
【0044】
画像生成部34では、相対的な位置関係を取得すると、それに応じて仮想空間における表示装置4の位置や向きを更新する。また、画像生成部34は、ハンドトラッキングの結果と、仮想空間における仮想ロボットの3次元モデルとを用いて、手が仮想ロボットの3次元モデルに接触したかどうかの判定を行う。ここでは、作業者の人差し指の先端が、仮想ロボットの3次元モデル10の表面に接触したと判定され、その操作の位置が特定される。また、仮想空間における、人差し指の先端の接触後の動きが取得され、操作の方向と、操作の速さとが特定される(ステップS104)。そして、画像生成部34は、その特定した操作の位置に、その位置を示すオブジェクトを配置し、その特定した操作の方向に応じた方向を向いており、また、特定した操作の速さに応じた長さを有する矢印のオブジェクトを、矢印の始点が、位置を示すオブジェクトとなるように配置する。その後、画像生成部34は、それらのオブジェクトを含む3次元モデル10をレンダリングすることによって、表示画像を生成して画像出力部35に渡す(ステップS105)。また、画像生成部34は、ハンドトラッキングの操作に応じて仮想ロボットの3次元モデルの各関節の角度を変化させる。画像出力部35は、受け取った表示画像を表示装置4に出力する(ステップS106)。その結果、作業者は、図3Aで示されるように、操作の位置を示す図形15、及び操作の方向を示す矢印の図形16を見ることができ、自らの行った操作の位置及び方向について確認することができる。この場合には、操作の位置を示す図形15が表示されるため、作業者は、操作の行われたピンポイントの位置を知ることができる。
【0045】
その後、表示画像を生成するタイミングになると(ステップS102)、相対的な位置関係が取得され、操作後の3次元モデルを表示するための表示画像が生成されて、画像出力部35に渡される(ステップS103~S105)。画像出力部35は、受け取った表示画像を表示装置4に出力する(ステップS106)。その結果、作業者は、自らの操作によって関節の角度が変更された仮想ロボットの3次元モデルについて確認することができる。
【0046】
なお、3次元モデルにおける操作の位置は、例えば、表示画像において、その位置を含む部分オブジェクトを特定可能なように表示されてもよい。この場合には、例えば、画像生成部34によって、図3Bで示される、操作の位置及び操作の方向を示す表示画像が生成されてもよい。ここでは、仮想ロボットの3次元モデル10が、部分オブジェクト10-1~10-8から構成されているものとする。そして、図3Bで示されるように、操作の行われた部分オブジェクト10-6が、他の部分オブジェクト10-1~10-5,10-7,10-8と区別可能に表示されている。ここでは、部分オブジェクト10-6が網掛け表示されている場合について示しているが、部分オブジェクト10-6は、他の部分オブジェクトと異なる色や輝度で表示されてもよい。この場合には、作業者は、操作の行われたのがどの部分オブジェクトであるのかについて知ることができる。
【0047】
また、画像生成部34は、受け付けられた操作によって変化する3次元モデル10のすべての部分オブジェクトを特定可能な表示画像を生成してもよい。この場合には、画像生成部34は、操作によって変化する1以上の部分オブジェクトを特定し、その特定した1以上の部分オブジェクトを、他の部分オブジェクトと区別可能な表示画像を生成してもよい。例えば、受け付けられた操作によって、部分オブジェクト10-5~10-8が変化する場合には、図3Cで示されるように、変化する部分オブジェクト10-5~10-8が、他の部分オブジェクト10-1~10-4と区別可能になるように表示されてもよい。ここでは、部分オブジェクト10-5~10-8が網掛け表示されている場合について示しているが、部分オブジェクト10-5~10-8は、他の部分オブジェクトと異なる色や輝度で表示されてもよい。また、図3Cで示されるように、操作の位置及び操作の方向を示す図形15,16も一緒に表示されてもよい。この場合には、作業者は、自らの操作によって位置や姿勢の変化する部分オブジェクト、すなわちマニピュレータのアームがどれであるのかについて、容易に把握することができるようになる。
【0048】
以上のように、本実施の形態による画像処理装置3によれば、仮想ロボットの3次元モデルへの操作の位置や操作の方向を示す表示画像が生成されることによって、3次元モデルへの操作を可視化することができる。そのため、操作を行う作業者は、3次元モデルに対して行った操作内容について容易に把握することができる。また仮に、作業者の行った操作が、想定していない操作となっていた場合には、そのことを容易に把握でき、適宜、修正することもできるようになる。このようにして、仮想ロボットの3次元モデルへのジェスチャ操作を円滑に行うことができるようになる。
【0049】
なお、本実施の形態では、画像生成部34によって、まず、3次元モデルにおける操作の位置及び操作の方向を示す表示画像が生成され、その後に、操作後の3次元モデルを表示するための表示画像が生成される場合について主に説明したが、そうでなくてもよい。例えば、3次元モデルにおける操作の位置及び操作の方向を示す表示画像が生成され、出力された後に、作業者がその操作でよいかどうかをジェスチャ等によって入力し、その操作でよい場合に、その操作が実行されて、操作後の3次元モデルを表示するための表示画像が生成され、出力されてもよい。この場合には、操作の位置及び操作の方向を示す表示画像によって、作業者の想定していない操作になっていることが分かったときに、作業者は、その操作をキャンセルできてもよい。このようにすることで、例えば、ジェスチャ操作に不慣れな作業者によって、想定していない操作が実行される事態を回避することができる。この場合には、画像生成部34は、まず、受け付けられた操作が行われる前の3次元モデルにおける操作の位置及び操作の方向を示す表示画像を生成してもよい。そして、その表示画像が出力された後に、受付部32は、受け付けられた操作を実行するかどうかを示す入力を受け付けてもよい。受け付けられた操作を実行する場合には、画像生成部34は、操作された3次元モデルを表示するための表示画像を生成してもよい。一方、受け付けられた操作を実行しない場合には、画像生成部34は、操作前の3次元モデルを表示するための表示画像を生成してもよい。その表示画像では、操作の位置及び操作の方向が示されていなくてもよい。
【0050】
また、画像生成部34によって、操作後の3次元モデルと、その操作後の3次元モデルにおける操作の位置及び操作の方向とを表示する表示画像が生成されてもよい。この場合には、操作後の3次元モデルと、操作の位置及び操作の方向とが、一つの表示画像で示されることになる。したがって、画像生成部34は、操作前の3次元モデルにおいて、操作の位置及び操作の方向を示す表示画像を生成しなくてもよいことになる。この場合にも、操作を可視化でき、操作を行う作業者は、3次元モデルに対して行った操作内容について容易に把握することができる。
【0051】
また、上記したように、仮想ロボットの3次元モデルの操作は、例えば、実ロボットであるロボット1の操作のために行われてもよい。この場合には、3次元モデルの各関節の角度の変更と同じ角度の変更が行われるように、画像処理装置3からロボット制御装置に指示が入力され、それに応じて、ロボット制御装置がロボット1の各関節の角度を制御してもよい。また、仮想ロボットの3次元モデルの操作は、例えば、教示データの生成のために行われてもよい。この場合には、仮想ロボットの3次元モデルが操作され、教示の指示の入力に応じて教示データが記憶部31に蓄積されてもよい。このようにして生成された教示データは、実ロボットであるロボット1におけるプレイバック動作において用いられてもよい。すなわち、仮想ロボットで生成された教示データによって、実ロボットが動作されてもよい。この場合には、記憶部31に蓄積された教示データが、ロボット制御装置に出力されてもよい。
【0052】
また、仮想ロボットの3次元モデルをジェスチャ操作によって操作する作業者は、例えば、ハプティックグローブ(触覚グローブ)を装着した手で、操作を行ってもよい。そして、作業者の手が、3次元モデルに当たったことが検出された場合には、それに応じて、ハプティックグローブを介して、3次元モデルに当たった旨の触覚が作業者の手に伝えられてもよい。その触覚は、例えば、振動や力、動き、熱、静電気等によって、作業者の手に伝えられてもよい。また、ハプティックグローブがハンドトラッキング用のセンサを有している場合には、そのハプティックグローブを用いて、作業者の手のハンドトラッキングが行われてもよい。
【0053】
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。例えば、画像処理装置3の少なくとも一部の構成は、物理的には、ディスプレイを有する装置などに含まれてもよい。したがって、図1で示される装置の切り分けは、物理的な装置に応じたものではなく、機能に応じた便宜上のものであると考えてもよい。
【0054】
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う2個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、または、その情報の受け渡しを行う2個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
【0055】
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いる閾値や数式、アドレス等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、または長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、または、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、または、図示しない読み出し部が行ってもよい。
【0056】
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いる閾値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、または、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
【0057】
また、上記実施の形態において、画像処理装置3に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、または、別々のデバイスを有してもよい。
【0058】
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、または、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。また、そのプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。また、そのプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、または分散処理を行ってもよい。
【0059】
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【符号の説明】
【0060】
3 画像処理装置、4 表示装置、31 記憶部、32 受付部、33 位置関係取得部、34 画像生成部、35 画像出力部
図1
図2
図3A
図3B
図3C