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

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

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

<>
  • 特開-画像処理装置 図1
  • 特開-画像処理装置 図2
  • 特開-画像処理装置 図3
  • 特開-画像処理装置 図4A
  • 特開-画像処理装置 図4B
  • 特開-画像処理装置 図5
  • 特開-画像処理装置 図6
  • 特開-画像処理装置 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023119466
(43)【公開日】2023-08-28
(54)【発明の名称】画像処理装置
(51)【国際特許分類】
   B25J 19/06 20060101AFI20230821BHJP
【FI】
B25J19/06
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2022022387
(22)【出願日】2022-02-16
(71)【出願人】
【識別番号】000000262
【氏名又は名称】株式会社ダイヘン
(74)【代理人】
【識別番号】100115749
【弁理士】
【氏名又は名称】谷川 英和
(74)【代理人】
【識別番号】100121223
【弁理士】
【氏名又は名称】森本 悟道
(72)【発明者】
【氏名】久保 正樹
(72)【発明者】
【氏名】北野 豊和
(72)【発明者】
【氏名】古川 直樹
(72)【発明者】
【氏名】鳴川 雄太
(72)【発明者】
【氏名】檀上 梓紗
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS01
3C707AS06
3C707AS11
3C707AS13
3C707BS10
3C707BS15
3C707JU02
3C707KS03
3C707KS11
3C707KT01
3C707KT03
3C707KT06
3C707KT15
3C707LS09
3C707MS09
(57)【要約】
【課題】ロボットを安全に配置可能な領域を容易に把握できないという問題があった。
【解決手段】画像処理装置1は、実環境と、画像を実環境そのものに重ねて表示する表示装置2との相対的な位置関係を取得する位置関係取得部12と、表示装置2を基準とした位置を受け付ける受付部13と、受け付けられた進入禁止領域を示す位置と相対的な位置関係とを用いて、実環境上の進入禁止領域を取得する取得部14と、取得された進入禁止領域とロボットの可動領域とを用いて、進入禁止領域に進入しないようにするためのロボットの安全配置可能領域を特定する特定部15と、安全配置可能領域と相対的な位置関係とを用いて、安全配置可能領域を示す表示画像を生成する画像生成部16と、表示画像を表示装置2に出力する出力部17とを備える。このようにして、ユーザは安全配置可能領域を容易に把握できるようになる。
【選択図】図1
【特許請求の範囲】
【請求項1】
実環境と、画像を実環境の画像または実環境そのものに重ねて表示する表示装置との相対的な位置関係を取得する位置関係取得部と、
前記表示装置を基準とした位置を受け付ける受付部と、
前記受付部によって受け付けられた進入禁止領域を示す位置と、前記相対的な位置関係とを用いて、実環境における進入禁止領域を取得する取得部と、
取得された進入禁止領域と、配置対象のロボットの可動領域とを用いて、前記進入禁止領域に進入しないようにするための前記配置対象のロボットの配置領域である安全配置可能領域を特定する特定部と、
特定された安全配置可能領域と、前記相対的な位置関係とを用いて、当該安全配置可能領域を示す表示画像を生成する画像生成部と、
前記表示画像を前記表示装置に出力する出力部と、を備えた画像処理装置。
【請求項2】
前記位置関係取得部は、実環境に存在するマーカと、前記表示装置との相対的な位置関係を取得し、
前記特定部は、前記マーカの向きに応じて前記配置対象のロボットが配置される際の安全配置可能領域を特定する、請求項1記載の画像処理装置。
【請求項3】
前記特定部は、前記マーカの位置に配置された前記配置対象のロボットが前記進入禁止領域に進入する場合に、前記安全配置可能領域において当該配置対象のロボットの配置位置を決定し、
前記出力部は、決定された配置位置を、前記マーカに対する相対的な位置によって示す情報をも出力する、請求項2記載の画像処理装置。
【請求項4】
前記受付部は、前記マーカの位置に配置された前記配置対象のロボットが前記進入禁止領域に進入する場合に、前記配置対象のロボットの前記安全配置可能領域における配置位置を受け付け、
前記取得部は、前記受付部によって受け付けられた配置位置と、前記相対的な位置関係とを用いて、実環境における前記配置対象のロボットの配置位置を取得し、
前記出力部は、取得された配置位置を、前記マーカに対する相対的な位置によって示す情報をも出力する、請求項2記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像を実環境に重ねて表示するための画像処理装置に関する。
【背景技術】
【0002】
従来、作業現場にロボットを設置する前に、仮想ロボットを実空間上の物体と共に表示することができる表示装置が知られている(例えば、特許文献1参照)。そのような表示装置を用いることにより、仮想ロボットの設置された作業現場の状況について確認することができ、例えば、仮想ロボットが作業現場に配置されている物や作業者と干渉しないかどうかなどを事前に確認することができるようになる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2021-088028号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の表示装置においては、作業現場における仮想ロボットの作業を確認することはできるが、仮想ロボットが、作業現場に配置されている物や作業者と干渉するかどうかについては視覚的に確認する必要がある。そのため、例えば、仮想ロボットが特定の作業を行っている場合には干渉が発生しなかったとしても、別の作業を行った場合に干渉が発生するかどうかについては、仮想ロボットにその作業を行わせるまで判断できないという問題があった。また、干渉が発生することが分かったことに応じて仮想ロボットの位置を変更した場合には、再度、干渉が発生するかどうかを視覚的に確認する必要があり、仮想ロボットの設置と干渉の有無の確認とを繰り返す必要があるという問題もあった。
【0005】
本発明は、上記問題を解決するためになされたものであり、ロボットを安全に配置することができる領域を容易に把握することができる画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明の一態様による画像処理装置は、実環境と、画像を実環境の画像または実環境そのものに重ねて表示する表示装置との相対的な位置関係を取得する位置関係取得部と、表示装置を基準とした位置を受け付ける受付部と、受付部によって受け付けられた進入禁止領域を示す位置と、相対的な位置関係とを用いて、実環境における進入禁止領域を取得する取得部と、取得された進入禁止領域と、配置対象のロボットの可動領域とを用いて、進入禁止領域に進入しないようにするための配置対象のロボットの配置領域である安全配置可能領域を特定する特定部と、特定された安全配置可能領域と、相対的な位置関係とを用いて、安全配置可能領域を示す表示画像を生成する画像生成部と、表示画像を表示装置に出力する出力部と、を備えたものである。
【発明の効果】
【0007】
本発明の一態様による画像処理装置によれば、進入禁止領域にロボットが進入しないようにするためのロボットの配置可能領域である安全配置可能領域を容易に把握することができる。したがって、例えば、その安全配置可能領域内においてロボットの配置位置を決定することによって、進入禁止領域に進入しない位置にロボットを配置することができるようになる。
【図面の簡単な説明】
【0008】
図1】本発明の実施の形態による画像処理システムの構成を示す模式図
図2】同実施の形態による画像処理装置の動作を示すフローチャート
図3】同実施の形態における配置されたマーカの一例を示す図
図4A】同実施の形態における進入禁止領域の受け付けについて説明するための図
図4B】同実施の形態における進入禁止領域の受け付けについて説明するための図
図5】同実施の形態における安全配置可能領域の特定について説明するための図
図6】同実施の形態における安全配置可能領域の表示の一例を示す図
図7】同実施の形態における進入禁止領域の他の一例を示す図
【発明を実施するための形態】
【0009】
以下、本発明による画像処理装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。本実施の形態による画像処理装置は、受け付けられた進入禁止領域にロボットが進入しないロボットの配置領域である安全配置可能領域を特定して、その領域を示す画像を表示装置に出力するものである。
【0010】
図1は、本実施の形態による画像処理システム100の構成を示す模式図である。本実施の形態による画像処理システム100は、ロボットの配置位置を決定するために用いられるものであり、画像処理装置1と、表示装置2とを備える。なお、画像処理装置1と表示装置2とは、例えば、有線または無線で接続されてもよい。
【0011】
本実施の形態では、配置対象のロボットを実ロボットと呼び、実ロボットに対応する3次元モデルによって構成されるロボットを仮想ロボットと呼ぶこともある。実ロボットは、通常、産業用ロボットであり、モータにより駆動される関節によって連結された複数のアーム(リンク)を有するマニピュレータであってもよい。実ロボットは、例えば、垂直多関節ロボットや、水平多関節ロボットであってもよい。また、実ロボットの用途は、例えば、搬送、溶接、組立、塗装などであってもよく、その他の用途であってもよい。なお、実ロボットは、実環境に存在するロボットである。実環境とは、実空間の環境のことである。
【0012】
仮想ロボットは、仮想環境に存在する3次元モデルによって構成され、実ロボットに対応したものである。すなわち、仮想ロボットは、3次元モデルで構成されている以外は、実ロボットと同じであり、例えば、実ロボットと同じサイズ及び構成であってもよく、実ロボットと同様に、複数のアームの関節の角度などを変更可能になっていてもよい。
【0013】
画像処理装置1は、ユーザからロボットの進入禁止領域を受け付け、その進入禁止領域に配置対象のロボットが進入しないようにするためのロボットの配置領域である安全配置可能領域を特定し、その領域を示す画像を生成して表示装置2に出力する。なお、画像処理装置1の詳細については後述する。
【0014】
表示装置2は、画像を実環境の画像または実環境そのものに重ねて表示する。すなわち、ユーザは、表示装置2によって、実環境と仮想環境の画像との両方を見ることができる。表示装置2は、ユーザが頭部に装着する装着型の表示装置であってもよく、または、タブレット端末などの可搬型の情報処理端末である表示装置であってもよい。装着型の表示装置は、例えば、ヘッドマウントディスプレイであってもよい。また、表示装置2は、例えば、透過型ディスプレイを有するものであってもよい。この場合には、表示装置2は、画像を実環境そのものに重ねて表示することになる。透過型ディスプレイを有する装着型の表示装置2としては、例えば、HoloLens(登録商標)等が知られている。このような透過型ディスプレイを有する表示装置2は、複合現実(MR:Mixed Reality)を実現するための表示装置であると考えることもできる。また、表示装置2は、例えば、非透過型ディスプレイを有するものであってもよい。この場合には、表示装置2は、画像を実環境の画像に重ねて表示することになる。したがって、非透過型ディスプレイを有する表示装置2は、実環境を撮影するためのカメラを有しているか、または、実環境を撮影するカメラと接続されていることが好適である。カメラで撮影された実環境の画像は、リアルタイムで非透過型ディスプレイに表示される。非透過型ディスプレイを有する装着型の表示装置2としては、例えば、Oculus Quest等が知られている。このような非透過型ディスプレイを有する表示装置2は、拡張現実(AR:Augmented Reality)を実現するための表示装置であると考えることもできる。タブレット端末などの可搬型の情報処理端末である表示装置2は、例えば、カメラとディスプレイとを有しており、カメラで撮影した実環境の画像をリアルタイムでティスプレイに表示してもよい。本実施の形態では、表示装置2が透過型のディスプレイを有するヘッドマウントディスプレイである場合について主に説明する。表示装置2は、必要に応じて、周囲の物体までの距離を測定可能な深度センサや、周囲の画像を取得可能なカメラなどのセンサを有していてもよい。
【0015】
本実施の形態では、図3で示されるように、実空間に配置されたマーカ4を用いて、配置対象のロボットの配置位置が決定される場合について主に説明する。マーカ4は、2次元の所定の画像である。マーカ4は、例えば、ARマーカや、QRコード(登録商標)であってもよく、2次元のあらかじめ形状の決まっているその他の画像であってもよい。マーカ4のサイズは、例えば、あらかじめ決まっていてもよい。後述するように、マーカ4の向きに応じて配置対象のロボットの向きが決まる場合には、マーカ4は、向きを特定可能なもの、すなわち回転対象ではない画像であることが好適である。本実施の形態では、マーカ4がシートに表示されている場合について主に説明する。マーカ4は、例えば、紙や樹脂製のシートに印刷されていてもよい。また、シートには、例えば、実ロボットを配置する際に用いられる1以上の図形が表示されていてもよい。この図形は、実ロボットの位置決めのために用いられるものであり、例えば、実ロボットを固定するためのネジ穴の位置を示す図形であってもよく、実ロボットの基端側の端部の位置を示す図形であってもよく、実ロボットの配置時の位置決めに用いられるその他の図形であってもよい。
【0016】
図1で示されるように、本実施の形態による画像処理装置1は、記憶部11と、位置関係取得部12と、受付部13と、取得部14と、特定部15と、画像生成部16と、出力部17とを備える。
【0017】
記憶部11では、ロボットの種類、及びそのロボットに装着されるツールの種類と、その種類のロボットに、その種類のツールを装着した際の可動領域とを対応付ける情報が記憶されてもよい。可動領域は、ロボットの各リンクを関節の動作可能範囲内において動かした場合に、ロボットの少なくとも一部が通過する領域であってもよい。可動領域は、例えば、平面方向(すなわち水平方向)における領域を示すものであってもよく、3次元の立体的な領域であってもよい。進入禁止領域が2次元の領域である場合には、可動領域は、例えば、平面方向における領域を示すものであってもよい。また、進入禁止領域が3次元の領域である場合には、可動領域も、3次元の領域であることが好適である。可動領域は、例えば、最大到達範囲やP点動作領域を用いて取得されてもよい。具体的には、可動領域は、ロボットのP点動作領域を、そのロボットの手先に装着されるツールの種類に応じて拡張したものであってもよい。可動領域は、例えば、ロボットの各リンクの長さと、各関節の動作可能範囲と、手先に装着されるツールの形状及びサイズとが分かれば、算出することもできる。したがって、記憶部11で記憶されている可動領域は、そのようにして算出されたものであってもよい。また、可動領域を用いた処理が行われる際に、ロボットの種類やツールの種類に応じた可動領域が算出されてもよい。また、特定の種類のツールが装着された特定の種類のロボットについてのみ、安全配置可能領域を特定するための処理が行われる場合には、それに応じた可動領域のみが記憶部11で記憶されていてもよい。
【0018】
また、後述するように、取得部14によって取得された進入禁止領域を示す情報が記憶部11で記憶されててもよい。また、仮想ロボットを示す表示画像が生成される場合には、その仮想ロボットの3次元モデルが記憶部11で記憶されてもよい。仮想ロボットの3次元モデルは、例えば、導入を検討している実ロボットに対応する仮想ロボットの3次元モデルであってもよい。記憶部11では、複数の実ロボットにそれぞれ対応した複数の仮想ロボットの3次元モデルが記憶されていてもよい。また、上記した以外の情報が記憶部11で記憶されてもよい。記憶部11は、不揮発性の記録媒体によって実現されることが好適であるが、揮発性の記録媒体によって実現されてもよい。記録媒体は、例えば、半導体メモリや磁気ディスク、光ディスクなどであってもよい。
【0019】
位置関係取得部12は、実環境と表示装置2との相対的な位置関係を取得する。本実施の形態では、位置関係取得部12が、実環境に存在するマーカ4と、表示装置2との相対的な位置関係を取得する場合について主に説明する。マーカ4と表示装置2との相対的な位置関係を取得するとは、例えば、マーカ4のローカル座標系であるマーカ座標系と、表示装置2のローカル座標系である表示座標系との相対的な位置関係を取得することであってもよい。この相対的な位置関係は、例えば、両座標系間の変換を示す同次変換行列によって示されてもよい。位置関係取得部12が、この相対的な位置関係を取得する方法は問わない。位置関係取得部12は、例えば、表示装置2のカメラで撮影された画像を受け取り、その画像に含まれるマーカ4の3以上の特徴点を用いて、マーカ座標系と表示座標系との間の変換を示す同次変換行列を取得してもよい。その同次変換行列の取得は、表示装置2において行われてもよい。この場合には、位置関係取得部12は、マーカ座標系と表示座標系との間の変換を示す同次変換行列を表示装置2から受け付けてもよい。すなわち、位置関係取得部12による相対的な位置関係の取得は、相対的な位置関係の受け付けであってもよい。
【0020】
受付部13は、表示装置2を基準とした位置を受け付ける。この位置は、例えば、進入禁止領域を示す位置であってもよく、配置対象のロボットの配置位置であってもよい。進入禁止領域を示す位置は、例えば、進入禁止領域の輪郭を示す位置であってもよい。本実施の形態では、進入禁止領域が平面方向に延びる2次元の領域である場合について主に説明し、進入禁止領域が平面方向及び高さ方向に延びる3次元の領域である場合については後述する。進入禁止領域は、ロボットが進入してはならない領域であり、例えば、人が通る通路や、既存の物が配置されている領域などであってもよい。受付部13による位置の受け付けは、例えば、ユーザの手や指などのジェスチャによって行われてもよく、実環境に存在するティーチングペンダントなどの入力デバイスを介して行われてもよく、表示装置2のディスプレイに表示された仮想ボタンや仮想ティーチングペンダントなどの仮想入力インターフェースを介して行われてもよい。受付部13によって受け付けられる位置は、例えば、表示座標系における位置であってもよい。本実施の形態では、表示座標系における位置が受付部13によって受け付けられる場合について主に説明する。
【0021】
ジェスチャによる位置の指定が行われる場合には、例えば、ユーザの指先の位置を通り、ユーザの視線方向に延びる直線と、実環境の床面などとの交点が、指定された位置として受け付けられてもよく、ユーザの指の方向や、ユーザが保持している棒状のデバイス(例えば、ペン状のデバイスなど)の長手方向に延びる直線と、実環境の床面などとの交点が、指定された位置として受け付けられてもよい。また、入力デバイスや、仮想入力インターフェースによる位置の指定が行われる場合には、例えば、表示装置2においてポインタが表示され、実環境におけるそのポインタに対応する位置が、指定された位置として受け付けられてもよい。この場合には、例えば、表示装置2に表示されたポインタを通り、ユーザの視線方向に延びる直線と、実環境の床面などとの交点が、指定された位置となってもよい。位置の受け付けにおいて、必要に応じて、表示装置2が有する深度センサやカメラ、視線センサなどのセンサによって取得されたセンシング結果(例えば、周囲の物体までの距離や撮影画像、視線方向など)を用いて、指や棒状のデバイスの位置や向き、視線方向などが取得されてもよく、また、実環境の床面などの位置が取得され、それらを用いてユーザの指定した位置が特定されてもよい。なお、その位置の特定の処理は、例えば、受付部13において行われてもよく、または、表示装置2において行われてもよい。前者の場合には、受付部13は、センシング結果も受け付けて、そのセンシング結果を用いてユーザによって指定された位置を特定してもよい。また、後者の場合には、受付部13は、表示装置2において特定された位置を示す座標値を受け付けてもよい。また、仮想入力インターフェースを用いて入力が行われる場合には、その入力結果が表示装置2から受付部13に渡されてもよく、または、表示装置2において取得されたハンドトラッキングの結果が受付部13に渡され、受付部13において入力結果が特定されてもよい。
【0022】
受付部13は、上記以外の情報を受け付けてもよい。例えば、配置対象のロボットの種類を示す情報や、そのロボットの手先に装着するツールの種類を示す情報などが受付部13によって受け付けられてもよい。また、受付部13は、例えば、ロボットの配置位置を最終的に決定する旨の情報を受け付けてもよい。それらの情報は、例えば、表示装置2における仮想入力インターフェースや、実環境に存在する入力デバイス等から入力されてもよい。
【0023】
受付部13は、例えば、入力デバイスや表示装置2から入力された情報を受け付けてもよく、有線または無線の通信回線を介して送信された情報を受信してもよい。なお、受付部13は、受け付けを行うためのデバイス(例えば、入力デバイスや通信デバイスなど)を含んでもよく、または含まなくてもよい。また、受付部13は、ハードウェアによって実現されてもよく、または所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0024】
取得部14は、受付部13によって受け付けられた進入禁止領域を示す位置と、位置関係取得部12によって取得された相対的な位置関係とを用いて、実環境における進入禁止領域を取得する。位置関係取得部12によって取得された相対的な位置関係がマーカ座標系と表示座標系との間の変換を示す同次変換行列である場合には、取得部14は、例えば、その同次変換行列を用いて、表示座標系における位置を、マーカ座標系における位置に変換することによって、実環境における進入禁止領域を取得してもよい。なお、ここでは、マーカ4は実環境に配置されているため、マーカ座標系を実環境における座標系、すなわちワールド座標系と考えている。マーカ座標系以外の座標系をワールド座標系として用いる場合には、例えば、マーカ座標系と、そのワールド座標系との間の変換を示す同次変換行列をも用いて、ワールド座標系における進入禁止領域が取得されてもよい。実環境における進入禁止領域を取得するとは、例えば、実環境における進入禁止領域を示す情報(例えば、進入禁止領域の輪郭の位置を示す座標値など)を取得することであってもよい。
【0025】
また、取得部14は、受付部13によって受け付けられたロボットの配置位置と、相対的な位置関係とを用いて、実環境における配置対象のロボットの配置位置を取得してもよい。この配置位置の取得についても、実環境における進入禁止領域の取得と同様に、同次変換行列を用いて行われてもよい。なお、表示装置2を用いて実空間における位置を特定する方法はすでに公知であるため、実環境における進入禁止領域や、ロボットの配置位置を取得するための詳細な説明は省略する。また、結果として、表示装置2を用いて実空間における位置を取得できるのであれば、上記以外の方法によって、その取得が行われてもよい。
【0026】
特定部15は、取得部14によって取得された進入禁止領域と、配置対象のロボットの可動領域とを用いて、配置対象のロボットが進入禁止領域に進入しないようにするための配置対象のロボットの配置領域である安全配置可能領域を特定する。この安全配置可能領域は、例えば、ロボットが安全配置可能領域内に存在すれば、そのロボットが進入禁止領域に進入しないことになる領域であってもよい。すなわち、安全配置可能領域は、ロボットの可動領域と進入禁止領域とが重ならないロボットの配置領域であってもよい。なお、ロボットの特定の位置が安全配置可能領域内である場合に、そのロボットが進入禁止領域に入らないようになっていてもよい。ロボットの特定の位置は、例えば、ロボットの基端側の端面(例えば、床面などへの取り付け面)の中心点や重心点などであってもよい。その特定の位置は、例えば、ロボットの可動領域における基準の位置(例えば、中心の位置)に対応していてもよい。
【0027】
また、可動領域が等方でない場合、例えば、2次元の可動領域が円形状でない場合には、安全配置可能領域は、あらかじめ決められた向きに配置されたロボットが進入禁止領域に進入しないようにするためのロボットの配置領域であってもよい。ロボットの向きは、例えば、ユーザから入力されてもよく、または、マーカ4の向きに応じたものであってもよい。後者の場合には、特定部15は、マーカ4の向きに応じて配置対象のロボットが配置される際の安全配置可能領域を特定してもよい。この場合には、特定部15は、例えば、マーカ座標系におけるあらかじめ決められた向きにロボットが配置された際の安全配置可能領域を特定してもよい。また、ユーザから入力されるロボットの向きは、例えば、ワールド座標系における向きであってもよい。また、ワールド座標系における向きは、例えば、数値で入力されてもよく、ジェスチャ、または指や棒状のデバイスの向きによって示されてもよい。
【0028】
特定部15は、例えば、ロボットの可動領域と進入禁止領域とが重ならない状況において、可動領域の基準の位置が取り得る領域を、安全配置可能領域としてもよい。具体的には、特定部15は、ロボットの可動領域と進入禁止領域とが重ならないが、両領域の外縁が接している状況において、可動領域の基準の位置が取り得る線を特定し、その線よりも進入禁止領域から離れる側の領域を、安全配置可能領域として特定してもよい。
【0029】
なお、受付部13によって受け付けられた配置対象のロボットの配置位置に対応する実環境における配置位置が取得部14によって取得された場合に、特定部15は、例えば、その配置位置が安全配置可能領域内であるかどうかを判断してもよい。
【0030】
画像生成部16は、特定部15によって特定された安全配置可能領域と、相対的な位置関係とを用いて、その安全配置可能領域を示す表示画像を生成する。また、画像生成部16は、マーカ4の位置や、ユーザによって指定された位置に仮想ロボットの3次元モデルを表示するための表示画像を生成してもよい。その仮想ロボットは、配置対象の実ロボットに対応したものである。マーカ4の位置に仮想ロボットの3次元モデルを表示するとは、マーカ4の位置に実ロボットを配置した状況が仮想的に再現されるように仮想ロボットの3次元モデルを表示することであってもよい。より具体的には、仮想ロボットの3次元モデルの基端側の端面が、マーカ4の面と一致すると共に、基端側の端面における所定の位置(例えば、中心点や重心点など)が、マーカ4の所定の位置(例えば、中心点など)と一致するように仮想ロボットの3次元モデルを表示することであってもよい。また、ユーザによって指定された位置に仮想ロボットの3次元モデルを表示する際にも同様である。なお、仮想ロボットの3次元モデルの向きは、例えば、例えば、ユーザから入力されてもよく、または、マーカ4の向きに応じた向きであってもよい。また、画像生成部16によって生成される表示画像は、表示装置2において表示するための表示画像である。
【0031】
画像生成部16による2次元の表示画像の生成は、例えば、実環境に相当する仮想空間において、安全配置可能領域や仮想ロボットの3次元モデルを配置し、仮想空間における表示装置2の位置及び向きを基準として安全配置可能領域や仮想ロボットの3次元モデルをレンダリングすることによって行われてもよい。なお、仮想空間は、実環境に相当しているため、位置関係取得部12によって取得された相対的な位置関係によって、仮想空間における表示装置2の位置及び向きが示されることになる。仮想空間に配置される仮想ロボットの3次元モデルにおける各関節の角度は、例えば、初期値であってもよく、または、ユーザが自由に変更できてもよい。後者の場合には、例えば、実環境に存在するティーチングペンダントや仮想ティーチングペンダントなどを用いた操作や入力などによって、各関節の角度が設定されてもよい。また、例えば、仮想ロボットの3次元モデルの手先には、ユーザによって選択された種類のツールが装着されていてもよい。なお、画像生成部16は、仮想ロボットの3次元モデルの表示画像が表示装置2のディスプレイに表示された際に、その表示画像の大きさが実環境と整合するように、表示画像を生成するものとする。すなわち、表示装置2のディスプレイに表示された仮想ロボットの3次元モデルと、その3次元モデルと同じ相対的な位置関係となるように実環境に配置された実ロボットとが、表示装置2を介して見たときに同じ大きさになるように、表示画像が生成されることになる。
【0032】
出力部17は、画像生成部16によって生成された表示画像を表示装置2に出力する。なお、出力部17は、表示画像のみを出力してもよい。この場合には、表示装置2において、実環境の画像または実環境そのものに表示画像が重ねられて表示されることになる。一方、表示装置2が非透過型ディスプレイを有する場合であって、表示装置2で撮影された実環境の画像が画像処理装置1で受け付けられている場合には、実環境の画像と表示画像とが合成された結果が、表示装置2に出力されてもよい。この合成は、例えば、画像処理装置1が有する図示しない合成部によって行われてもよい。
【0033】
出力部17から出力された表示画像が表示装置2によって表示されることによって、ユーザは、実空間における安全配置可能領域を知ることができるようになる。また、マーカ4の位置、またはユーザが指定した位置に仮想ロボットの3次元モデルが表示されることによって、ユーザは、実空間にロボットが配置された状況について確認することができる。
【0034】
なお、特定部15によって、実環境におけるロボットの配置位置が安全配置可能領域内であるかどうかが判断された場合には、出力部17は、例えば、その判断結果に応じた出力を行ってもよい。例えば、実環境におけるロボットの配置位置が安全配置可能領域内であるかどうかに応じて異なる色によって仮想ロボットの3次元モデルを表示するための表示画像が出力されてもよい。この場合には、そのような表示画像が画像生成部16によって生成されてもよい。また、例えば、出力部17は、実環境におけるロボットの配置位置が安全配置可能領域内であるかどうかの判断結果を示す情報を、表示や音声出力等によって出力してもよい。表示による出力は、例えば、領域内、または領域外を示す文字列を表示装置2において表示するための出力であってもよい。
【0035】
また、取得部14によって実環境における配置対象のロボットの配置位置が取得された場合には、出力部17は、例えば、取得部14によって取得された配置位置を、マーカ4に対する相対的な位置によって示す情報を出力してもよい。この出力は、例えば、配置位置の受け付けに応じて行われてもよく、ロボットの配置位置を最終的に決定する旨の情報の受け付けに応じて行われてもよい。配置位置をマーカ4に対する相対的な位置によって示す情報とは、マーカ4を基準とした位置を示す情報(例えば、マーカ4の中心から、右側に○○センチメートル、下側に○○センチメートルの位置など)であってもよい。ワールド座標系が、マーカ座標系である場合には、マーカ4を基準とした位置は、ワールド座標系すなわち実環境における配置位置によって示されることになる。また、ワールド座標系が、マーカ座標系とは異なる座標系である場合には、マーカ座標系とワールド座標系との位置関係と、ワールド座標系における配置位置とを用いることによって、マーカ4を基準とした位置を取得することができる。この位置の取得は、例えば、特定部15や、その他の構成要素によって行われてもよい。この情報の出力は、例えば、表示装置2への出力であってもよく、所定の機器への通信回線を介した送信でもよく、スピーカによる音声出力でもよく、記録媒体への蓄積でもよく、他の構成要素への引き渡しでもよい。なお、出力部17は、出力を行うデバイスを含んでもよく、または含まなくてもよい。また、出力部17は、ハードウェアによって実現されてもよく、または、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0036】
次に、画像処理装置1の動作について図2のフローチャートを用いて説明する。なお、画像処理装置1の記憶部11では、ロボットの種類及びツールの種類に対応付けられて、ロボットの可動領域が記憶されているものとする
【0037】
(ステップS101)受付部13は、ロボットの種類と、そのロボットの先端に装着するツールの種類を受け付けたかどうか判断する。そして、ロボットの種類等を受け付けた場合には、ステップS102に進み、そうでない場合には、ロボットの種類等を受け付けるまでステップS101の処理を繰り返す。
【0038】
(ステップS102)受付部13は、表示装置2を基準とした進入禁止領域を示す複数の位置を受け付けたかどうか判断する。そして、その複数の位置を受け付けた場合には、ステップS103に進み、そうでない場合には、その複数の位置を受け付けるまでステップS102の処理を繰り返す。なお、受付部13によって進入禁止領域を示す位置が受け付けられる際に、その位置を示す図形(例えば、位置を示す点状の図形など)を表示するための表示画像が画像生成部16によって生成され、表示装置2に出力されてもよい。このような表示が行われることによって、ユーザは、入力している位置を確認しながら、位置を入力することができるようになる。
【0039】
(ステップS103)位置関係取得部12は、表示装置2によって撮影されたマーカ4の撮影画像を用いて、マーカ4と表示装置2との相対的な位置関係を取得する。
【0040】
(ステップS104)取得部14は、ステップS102において受け付けられた進入禁止領域を示す複数の位置を、ステップS103で取得された相対的な位置関係を用いて、実環境における位置に変換することによって、実環境における進入禁止領域を取得する。
【0041】
(ステップS105)特定部15は、ステップS101で受け付けられたロボットの種類及びツールの種類に対応する可動領域を記憶部11から読み出し、その可動領域と、ステップS104で取得された進入禁止領域とを用いて、安全配置可能領域を特定する。
【0042】
(ステップS106)画像生成部16は、ステップS105で特定された安全配置可能領域と、仮想ロボットの3次元モデルとを表示するための表示画像を生成する。なお、配置位置が受け付けられる前には、マーカ4の位置に仮想ロボットの3次元モデルを表示するための表示画像が生成され、配置位置が受け付けられた後には、最新の配置位置に仮想ロボットの3次元モデルを表示するための表示画像が生成されてもよい。
【0043】
(ステップS107)出力部17は、ステップS106で生成された表示画像を表示装置2に出力する。その結果、表示装置2において、その表示画像が生成され、ユーザは、安全配置可能領域の位置や、ロボットの配置位置を確認することができるようになる。
【0044】
(ステップS108)受付部13は、ロボットの配置位置を最終的に決定する旨の情報を受け付けたかどうか判断する。そして、その情報を受け付けた場合には、ステップS109に進み、そうでない場合には、ステップS110に進む。
【0045】
(ステップS109)出力部17は、マーカ4を基準としてロボットの配置位置を示す情報を出力する。そして、ステップS101に戻る。その配置位置は、例えば、受け付けられた配置位置のうち、最新の配置位置であってもよい。また、配置位置が受け付けられていない場合には、マーカ4の位置を配置位置とする情報が出力されてもよい。
【0046】
(ステップS110)受付部13は、ロボットの新たな配置位置を受け付けたかどうか判断する。そして、新たな配置位置を受け付けた場合には、ステップS111に進み、そうでない場合には、ステップS108に戻る。
【0047】
(ステップS111)取得部14は、ステップS110で受け付けられた配置位置と、相対的な位置関係とを用いて、実環境における配置位置を取得する。そして、ステップS106に戻る。
【0048】
なお、新たな配置位置の受け付けを行っている際に、実環境と表示装置2との相対的な位置関係が変化する可能性がある場合には、表示画像を生成する前や、実環境における配置位置を取得する前に、再度、相対的な位置関係を取得する処理が行われ、その最新の相対的な位置関係を用いて表示画像が生成されてもよい。また、図2のフローチャートにおける処理の順序は一例であり、同様の結果を得られるのであれば、各ステップの順序を変更してもよい。また、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0049】
次に、本実施の形態による画像処理システム100の動作について、具体例を用いて説明する。図3は、ロボットの配置領域をユーザが表示装置2を介して見た状況を示す図である。図3において、実環境にはマーカ4が配置されている。また、その実環境には、人が移動するための通路5が存在する。
【0050】
まず、ユーザは、表示装置2の仮想入力インターフェースを用いて、配置対象のロボットの種類と、そのロボットの手先に装着するツールの種類を入力したとする。すると、それらの情報は受付部13で受け付けられ、特定部15に渡される(ステップS101)。なお、特定部15は、それらの情報を、例えば、記憶部11に蓄積してもよい。
【0051】
次に、ユーザは、表示装置2を介して実環境を見ながら、図4Aで示されるように、自らの指によって、通路5上の点6aを指し示すと、その点6aの表示座標系における位置が表示装置2において取得され、画像処理装置1に入力される。同様の操作が、図4Bで示される点6b~点6dについても同様に行われる。その結果、受付部13において、進入禁止領域の輪郭を示す点6a~点6dの情報が受け付けられることになる。受付部13は、表示座標系における4点の座標値を受け付けると、それらの座標値を取得部14に渡す(ステップS102)。
【0052】
その後、位置関係取得部12は、表示装置2で撮影されたマーカ4の撮影画像を用いて、マーカ4と表示装置2との相対的な位置関係を取得し、その相対的な位置関係を取得部14及び画像生成部16に渡す(ステップS103)。相対的な位置関係を受け取ると、取得部14は、受付部13から受け取った4点の座標値を、マーカ座標系における座標値に変換し、その変換後の座標値を特定部15に渡す(ステップS104)このようにして、進入禁止領域のワールド座標系(すなわちマーカ座標系)における位置が取得されたことになる。
【0053】
進入禁止領域の輪郭を示すワールド座標系の座標値を受け取ると、特定部15は、受付部13から受け取ったロボットの種類及びツールの種類に対応する可動領域を記憶部11から読み出し、その可動領域と進入禁止領域とを用いて、安全配置可能領域を特定する(ステップS105)。例えば、平面視において、図5で示されるように、進入禁止領域6と、可動領域7とが示されたとすると、特定部15は、ハッチングの領域である安全配置可能領域8を特定してもよい。なお、本具体例では、図5で示されるように、可動領域7は、配置対象のロボットの基端側の端面の中心点4aを中心とする円形状であるとする。また、図5では、マーカ4の中心に中心点4aが位置するように可動領域7を表示している。
【0054】
その後、画像生成部16は、マーカ4の位置に配置された仮想ロボットの3次元モデルと、安全配置可能領域8とを示す表示画像を生成する(ステップS106)。なお、その仮想ロボットは、受付部13で受け付けられたロボットの種類に応じたものである。出力部17は、その表示画像を表示装置2に出力する(ステップS107)。その結果、表示装置2には、図6で示されるように安全配置可能領域8、及び仮想ロボットの3次元モデル10が表示されることになる。表示装置2を装着しているユーザは、その表示画像によって、安全配置可能領域8を知ることができる。また、ユーザが安全配置可能領域8において新たな配置位置を指などによって指定すると、その配置位置が受付部13で受け付けられ、実環境における配置位置に変換される(ステップS110、S111)。その後、再度、新たな配置位置における仮想ロボットの3次元モデルと、安全配置可能領域8とを示す表示画像が生成され、表示装置2に出力される(ステップS106、S107)。また、ユーザがロボットの配置位置を最終的に決定する旨の情報を入力すると、その情報が受付部13で受け付けられ(ステップS108)、出力部17は、マーカ4の位置を基準としてロボットの配置位置を示す情報を出力する(ステップS109)。この情報により、実ロボットをマーカ4に対してどの位置に配置すればよいのかが示されることになる。したがって、実ロボットを、その出力された情報に応じて配置することによって、進入禁止領域に進入しないように実ロボットを配置できることになる。
【0055】
以上のように、本実施の形態による画像処理装置1によれば、安全配置可能領域を示す表示画像が生成されて出力されることによって、どこに実ロボットを配置すれば、その実ロボットが進入禁止領域に進入しないのかを容易に知ることができる。また、実環境にマーカ4を配置することによって、例えば、そのマーカ4の向きに応じてロボットが配置される際の安全配置可能領域を特定することが可能になる。また、出力部17が、マーカ4の位置を基準としたロボットの配置位置を示す情報を出力することによって、実環境において、どこにロボットを配置すればよいのかを容易に把握することができるようになる。
【0056】
なお、本実施の形態では、マーカ4の位置が安全配置可能領域内であるかどうかに関わらず、ユーザがロボットの配置位置を入力できる場合について説明したが、そうでなくてもよい。マーカ4の位置が安全配置可能領域内である場合には、マーカ4の位置がロボットの配置位置となり、マーカ4の位置が安全配置可能領域内でない場合に、ユーザから安全配置可能領域内におけるロボットの配置位置を受け付けて、その配置位置が出力されるようにしてもよい。この場合には、受付部13は、マーカ4の位置に配置された配置対象のロボットが進入禁止領域に進入するとき、すなわちマーカ4の位置が安全配置可能領域内でないときに、配置対象のロボットの安全配置可能領域における配置位置をユーザから受け付けてもよい。また、取得部14は、受付部13によって受け付けられた配置位置と、相対的な位置関係とを用いて、実環境における配置対象のロボットの配置位置を取得してもよい。そして、出力部17は、取得された配置位置を、マーカ4に対する相対的な位置によって示す情報を出力してもよい。取得部14や出力部17の処理は、上記説明と同様である。
【0057】
また、本実施の形態による画像処理装置1では、ロボットの配置位置がユーザによって入力される場合について説明したがそうでなくてもよい。例えば、マーカ4の位置に配置された配置対象のロボットが進入禁止領域に進入する場合に、特定部15は、安全配置可能領域において配置対象のロボットの配置位置を決定してもよい。なお、マーカ4の位置に配置された配置対象のロボットが進入禁止領域に進入しない場合には、マーカ4の位置がロボットの配置位置となってもよい。特定部15は、例えば、ロボットの配置位置を、マーカ4の位置に最も近い安全配置可能領域における位置に決定してもよく、安全配置可能領域においてランダムにロボットの配置位置を決定してもよく、その他の基準によってロボットの配置位置を決定してもよい。なお、出力部17は、決定された配置位置を、マーカに対する相対的な位置によって示す情報を出力してもよい。
【0058】
また、特定部15は、所定の配置候補領域内において安全配置可能領域を特定してもよい。実環境における配置候補領域は、進入禁止領域と同様に、受付部13で受け付けられた配置候補領域を示す位置と、相対的な位置関係とを用いて、取得部14によって取得されてもよい。なお、受付部13によって受け付けられた位置は、表示座標系における位置であってもよい。通常、ロボットの配置検討を行う場合に、配置対象のロボットを配置する範囲は概ね決まっていることが多い。したがって、その範囲を含む領域を配置候補領域に設定することによって、必要十分な範囲において安全配置可能領域の特定を行うことができるようになる。また、場合によっては、配置候補領域内で安全配置可能領域の特定を行うことによって、安全配置可能領域の特定の処理負荷を軽減することもできるようになる。
【0059】
また、本実施の形態において、マーカ4によって、ロボットの種類やツールの種類が特定されてもよい。例えば、マーカ4がARマーカやQRコード(登録商標)などの2次元コードである場合に、2次元コードの識別子と、ロボットの種類及びツールの種類とが対応付けられており、特定部15や画像生成部16は、そのロボットの種類及びツールの種類を用いて、安全配置可能領域の特定や、仮想ロボットの3次元モデルの表示画像の生成を行ってもよい。なお、2次元コードの識別子は、例えば、2次元コードを読み取ることによって得られる情報であってもよく、2次元コードと紐付けられている識別子であってもよい。
【0060】
また、本実施の形態では、位置関係取得部12が、実環境に配置されたマーカ4と、表示装置2との相対的な位置関係を取得する場合について主に説明したが、そうでなくてもよい。2次元の所定の画像であるマーカ4が用いられない場合には、位置関係取得部12は、例えば、実環境に存在する物体(例えば、ロボットのコントローラや溶接電源、治具など)をマーカとして用いてもよく、マーカを用いない方法によって、実環境と表示装置2との相対的な位置関係を取得してもよい。前者の場合には、いわゆるマーカレスARと同様に、実環境に存在する物体がマーカとして用いられてもよい。また、マーカを用いない方法によって相対的な位置関係を取得する場合には、例えば、実環境の環境地図が用意されているのであれば、位置関係取得部12は、実環境の環境地図と、表示装置2によって取得された周囲の物体までの距離や周囲の画像とを用いて、SLAM(Simultaneous Localization and Mapping)や、Visual-SLAMの手法を用いて、3次元の実環境における表示装置2の位置や姿勢を示す情報である相対的な位置関係を取得してもよい。この場合には、例えば、画像処理装置1において環境地図が保持されており、位置関係取得部12は、表示装置2から受け取った周囲の物体までの距離や周囲の画像と、環境地図とを用いて、相対的な位置関係を取得してもよい。また、例えば、SLAMやVisual-SLAMの手法を用いた相対的な位置関係の取得は表示装置2において行われ、その相対的な位置関係が位置関係取得部12に渡されてもよい。この場合には、位置関係取得部12による相対的な位置関係の取得は、相対的な位置関係の受け付けであってもよい。また、この場合には、表示装置2は、周囲の物体までの距離を測定可能な深度センサや、周囲の画像を取得可能なカメラを有していてもよい。また、位置関係取得部12は、表示装置2のカメラで撮影された画像を受け取り、その画像に含まれるロボットのコントローラや他のオブジェクトの3以上の特徴点を用いて、ワールド座標系と表示座標系との間の変換を示す同次変換行列を取得してもよい。
【0061】
また、上記したように、進入禁止領域は3次元の領域であってもよい。この場合には、例えば、図7で示されるように、点6a~点6dを頂点とする四角形のうち、ユーザ側に最も近い頂点である点6aを上方に延ばした点6eの入力をユーザから受け付け、底面が点6a~点6dを頂点とする四角形となり、高さが点6aから点6eまでの長さとなる四角柱形状の領域が進入禁止領域6となってもよい。その四角柱形状は、通常、直角柱形状である。このように、3次元の領域である進入禁止領域の高さ方向の上限の位置が受け付けられることに応じて、実環境における3次元の進入禁止領域が取得されてもよい。また、この場合には、進入禁止領域6の底面が床面になっているが、そうでなくてもよい。3次元の領域である進入禁止領域の高さ方向の上限の位置と、下限の位置とが受け付けられることに応じて、実環境において床から浮いた状態の領域である3次元の進入禁止領域が取得されてもよい。上限の位置や下限の位置は、例えば、位置の指定以外の方法によって受け付けられてもよい。例えば、上限や下限の高さが、数値入力されてもよく、スライダ等の入力インターフェースを用いて入力されてもよい。
【0062】
また、進入禁止領域の形状は問わない。例えば、2次元の進入禁止領域の形状は、正方形や矩形、三角形、四角形、五角形などの多角形状であってもよく、円形状や扇形形状、楕円形状などであってもよい。多角形状の場合には、各頂点の位置が受け付けられることによって、進入禁止領域が取得されてもよい。また、進入禁止領域が円形状である場合には、例えば、中心の位置と、円周上の任意の位置とが受け付けられることによって進入禁止領域が取得されてもよい。また、進入禁止領域が扇形形状である場合には、例えば、中心の位置と、円弧の両端の位置とが受け付けられることによって進入禁止領域が取得されてもよい。また、進入禁止領域が楕円形状である場合には、例えば、中心(すなわち、長軸と短軸との交点)の位置と、楕円と長軸との2個の交点のうち、少なくとも1点の位置と、楕円と短軸との2個の交点のうち、少なくとも1点の位置とが受け付けられることによって進入禁止領域が取得されてもよい。進入禁止領域が種々の形状であり得る場合には、位置の指定の前に、進入禁止領域の形状が選択され、その選択された形状に応じた位置の入力が行われてもよい。また、3次元の進入禁止領域も、多角柱形状以外の形状であってもよい。例えば、球形状や、円柱形状、楕円体形状などであってもよい。
【0063】
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。例えば、画像処理装置1の少なくとも一部の構成は、物理的には、ディスプレイを有する装置(例えば、表示装置2)などに含まれてもよい。したがって、図1で示される装置の切り分けは、物理的な装置に応じたものではなく、機能に応じた便宜上のものであると考えてもよい。
【0064】
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、またはソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。また、そのプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体に記録されたプログラムが読み出されることによって実行されてもよい。また、そのプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、または分散処理を行ってもよい。
【0065】
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【符号の説明】
【0066】
1 画像処理装置、2 表示装置、11 記憶部、12 位置関係取得部、13 受付部、14 取得部、15 特定部、16 画像生成部、17 出力部
図1
図2
図3
図4A
図4B
図5
図6
図7