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

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

<>
  • -安全装置 図1
  • -安全装置 図2
  • -安全装置 図3
  • -安全装置 図4A
  • -安全装置 図4B
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023017439
(43)【公開日】2023-02-07
(54)【発明の名称】安全装置
(51)【国際特許分類】
   B25J 19/06 20060101AFI20230131BHJP
   B25J 9/22 20060101ALI20230131BHJP
   G05B 19/19 20060101ALI20230131BHJP
【FI】
B25J19/06
B25J9/22 A
G05B19/19 V
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021121722
(22)【出願日】2021-07-26
(71)【出願人】
【識別番号】000000262
【氏名又は名称】株式会社ダイヘン
(74)【代理人】
【識別番号】100115749
【弁理士】
【氏名又は名称】谷川 英和
(74)【代理人】
【識別番号】100121223
【弁理士】
【氏名又は名称】森本 悟道
(72)【発明者】
【氏名】檀上 梓紗
(72)【発明者】
【氏名】鳴川 雄太
(72)【発明者】
【氏名】古川 直樹
(72)【発明者】
【氏名】北野 豊和
【テーマコード(参考)】
3C269
3C707
【Fターム(参考)】
3C269AB33
3C269BB14
3C269CC09
3C269JJ19
3C269MN07
3C269MN09
3C269MN14
3C269MN16
3C269MN40
3C269MN46
3C269PP02
3C269PP15
3C269QC01
3C269QC10
3C269QD02
3C707JU03
3C707KS11
3C707KS36
3C707KT01
3C707KT06
3C707KT11
3C707MS08
3C707MS14
3C707MS27
3C707MS29
(57)【要約】
【課題】頭部に表示装置を装着してロボットを操作している作業者の安全を確保するための安全装置を提供する。
【解決手段】画像を実環境の画像または実環境そのものに重ねて表示する頭部装着型の表示装置4を装着している作業者が、表示装置4を用いて実ロボットを操作している際に作業者の安全を確保するための安全装置5は、表示装置4が実ロボットに接近しているかどうかを判断する判断部53と、表示装置4が実ロボットに接近していると判断された場合に、作業者の安全を確保するための出力を行う出力部36と、を備える。このようにして、作業者が意識せずに実ロボットに接近している場合には、例えば、ロボットが停止されたり、作業者に警告がなされたりすることによって、作業者の安全が確保されることになる。
【選択図】図2
【特許請求の範囲】
【請求項1】
画像を実環境の画像または実環境そのものに重ねて表示する頭部装着型の表示装置を装着している作業者が、前記表示装置を用いて実ロボットを操作している際に前記作業者の安全を確保するための安全装置であって、
前記表示装置が前記実ロボットに接近しているかどうかを判断する判断部と、
前記表示装置が前記実ロボットに接近していると判断された場合に、前記作業者の安全を確保するための出力を行う出力部と、を備えた安全装置。
【請求項2】
前記表示装置と前記実ロボットとの距離を取得する距離取得部をさらに備え、
前記判断部は、取得された距離が閾値より小さい場合に、前記表示装置が前記実ロボットに接近していると判断する、請求項1記載の安全装置。
【請求項3】
実ロボットの種類を識別するロボット識別子と、当該実ロボットの種類に対応する閾値とを対応付ける対応情報が複数記憶される対応情報記憶部をさらに備え、
前記判断部は、操作対象の実ロボットの種類を識別するロボット識別子に対応付けられている閾値を用いて前記判断を行う、請求項2記載の安全装置。
【請求項4】
前記判断部は、前記実ロボットの教示データにアクセス可能であり、当該教示データに応じた前記実ロボットの動作範囲に前記表示装置が入っている場合に、前記表示装置が前記実ロボットに接近していると判断する、請求項1記載の安全装置。
【請求項5】
前記出力部は、前記表示装置が前記実ロボットに接近していると判断された場合に、前記作業者に警告するための警告情報を出力する、請求項1から請求項4のいずれか記載の安全装置。
【請求項6】
前記出力部は、前記表示装置が前記実ロボットに接近していると判断された場合に、前記実ロボットの動作を遅くするための制御情報を出力する、請求項1から請求項5のいずれか記載の安全装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットを操作する作業者の安全を確保するための安全装置に関する。
【背景技術】
【0002】
作業者が、頭部装着型の表示装置を頭部に装着して、実環境に存在する実ロボットを操作することがあった(例えば、特許文献1~3参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2017-100234号公報
【特許文献2】特開2020-055075号公報
【特許文献3】特開2020-069538号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
頭部装着型の表示装置を装着している場合には、そうでない場合と比較して、その表示装置によって視界が遮られることになる。また、その表示装置を介して実環境を見る場合には、そうでない場合と比較して実環境がやや暗く見えることになる。その結果として、例えば、表示装置に表示された仮想ロボットの3次元モデルの表示画像を用いた実ロボットの操作を行っている際に、作業者が意識せずに実ロボットに接近してしまう可能性があった。
【0005】
本発明は、上記課題を解決するためになされたものであり、頭部装着型の表示装置を頭部に装着して実ロボットを操作している作業者の安全を確保することができる安全装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明の一態様による安全装置は、画像を実環境の画像または実環境そのものに重ねて表示する頭部装着型の表示装置を装着している作業者が、表示装置を用いて実ロボットを操作している際に作業者の安全を確保するための安全装置であって、表示装置が実ロボットに接近しているかどうかを判断する判断部と、表示装置が実ロボットに接近していると判断された場合に、作業者の安全を確保するための出力を行う出力部と、を備えたものである。
【発明の効果】
【0007】
本発明の一態様による安全装置によれば、作業者が頭部に装着している表示装置が実ロボットに接近している場合に、作業者の安全を確保するための出力、例えば、作業者に警告するための出力や、実ロボットの動作を遅くするための出力が行われることによって、作業者の安全を確保することができるようになる。
【図面の簡単な説明】
【0008】
図1】本発明の実施の形態によるロボット制御システムの構成を示す模式図
図2】同実施の形態による画像処理装置及び安全装置の構成を示すブロック図
図3】同実施の形態による安全装置の動作を示すフローチャート
図4A】同実施の形態における実ロボットと作業者との距離の一例を示す図
図4B】同実施の形態における実ロボットと作業者との距離の一例を示す図
【発明を実施するための形態】
【0009】
以下、本発明による安全装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。本実施の形態による安全装置は、作業者が頭部に装着している表示装置と実ロボットとが接近していると判断した場合に、作業者の安全を確保するための出力を行うものである。
【0010】
図1は、本実施の形態によるロボット制御システム100の構成を示す模式図である。図1で示されるように、ロボット制御システム100は、ロボット1と、ロボット制御装置2と、画像処理装置3と、表示装置4と、安全装置5とを備える。なお、各装置間は、例えば、有線または無線で接続されてもよい。
【0011】
ロボット1は、通常、産業用ロボットであり、モータにより駆動される関節によって連結された複数のアーム(リンク)を有するマニピュレータであってもよい。ロボット1は、例えば、垂直多関節ロボットであってもよく、水平多関節ロボットであってもよい。また、ロボット1は、例えば、搬送ロボットであってもよく、溶接ロボットであってもよく、組立ロボットであってもよく、塗装ロボットであってもよく、または、その他の用途のロボットであってもよい。なお、ロボット1は、実環境に存在するロボットであるため、仮想環境に存在する3次元モデルの仮想ロボットと区別するために実ロボットと呼ぶこともある。実環境とは、実空間の環境のことである。
【0012】
ロボット制御装置2は、ロボット1の動作を制御する。このロボットの制御は、例えば、教示データを用いたティーチングプレイバック方式による制御であってもよい。ロボット1を動作させるロボット制御装置2は、すでに公知であり、その詳細な説明を省略する。なお、ロボット制御システム100は、例えば、ロボット1が溶接ロボットである場合には、必要に応じて溶接電源やワイヤ送給装置等をさらに有していてもよい。
【0013】
画像処理装置3は、ロボット1に対応する仮想ロボットの3次元モデルの表示画像を生成して表示装置4に出力するものである。画像処理装置3の詳細については後述する。
【0014】
表示装置4は、画像を実環境の画像または実環境そのものに重ねて表示する。すなわち、ロボット1を操作する作業者は、表示装置4によって、実環境と仮想環境の画像との両方を見ることができる。表示装置4は、ロボット1を操作する作業者が頭部に装着する頭部装着型の表示装置である。頭部装着型の表示装置は、例えば、ヘッドマウントディスプレイであってもよい。また、表示装置4は、例えば、透過型ディスプレイを有するものであってもよい。この場合には、表示装置4は、画像を実環境そのものに重ねて表示することになる。透過型ディスプレイを有する装着型の表示装置4としては、例えば、HoloLens(登録商標)等が知られている。このような透過型ディスプレイを有する表示装置4は、複合現実(MR:Mixed Reality)を実現するための表示装置であると考えることもできる。また、表示装置4は、例えば、非透過型ディスプレイを有するものであってもよい。この場合には、表示装置4は、画像を実環境の画像に重ねて表示することになる。したがって、非透過型ディスプレイを有する表示装置4は、実環境を撮影するためのカメラを有しているか、または、実環境を撮影するカメラと接続されていることが好適である。カメラで撮影された実環境の画像は、リアルタイムで非透過型ディスプレイに表示される。非透過型ディスプレイを有する装着型の表示装置4としては、例えば、Oculus Quest等が知られている。このような非透過型ディスプレイを有する表示装置4は、拡張現実(AR:Augmented Reality)を実現するための表示装置であると考えることもできる。本実施の形態では、表示装置4が透過型のディスプレイを有するヘッドマウントディスプレイである場合について主に説明する。
【0015】
安全装置5は、表示装置4を装着している作業者が、表示装置4を用いてロボット1を操作している際に、その作業者の安全を確保するためのものである。なお、本実施の形態では、作業者が表示装置4に表示された仮想ロボットの3次元モデルを操作することによってロボット1を操作する場合について主に説明する。安全装置5の詳細については後述する。
【0016】
図2は、本実施の形態による画像処理装置3及び安全装置5の構成を示すブロック図である。図2で示されるように、画像処理装置3は、ロボット制御装置2、表示装置4、及び安全装置5と接続されており、記憶部31と、位置関係取得部32と、受付部33と、画像生成部34と、画像出力部35と、出力部36とを備える。
【0017】
記憶部31では、実環境に存在する実ロボットであるロボット1に対応する仮想ロボットの3次元モデルが記憶される。仮想ロボットの3次元モデルは、3次元モデルで構成されている以外は、ロボット1と同じサイズ及び構成であるものとする。また、この3次元モデルは、ロボット1と同様に、複数のアームの関節の角度などを変更可能になっているものとする。
【0018】
記憶部31に仮想ロボットの3次元モデルの情報が記憶される過程は問わない。例えば、記録媒体を介して情報が記憶部31で記憶されるようになってもよく、通信回線等を介して送信された情報が記憶部31で記憶されるようになってもよい。記憶部31は、不揮発性の記録媒体によって実現されることが好適であるが、揮発性の記録媒体によって実現されてもよい。記録媒体は、例えば、半導体メモリや磁気ディスク、光ディスクなどであってもよい。なお、記憶部31では、仮想ロボットの3次元モデル以外の情報が記憶されてもよい。
【0019】
位置関係取得部32は、実ロボットであるロボット1の存在する実環境と、表示装置4との相対的な位置関係を取得する。実環境と表示装置4との相対的な位置関係を取得するとは、例えば、実環境の座標系であるワールド座標系と、表示装置4のローカル座標系である表示座標系との相対的な位置関係を取得することであってもよい。その相対的な位置関係は、例えば、両座標系間の変換を示す同次変換行列によって示されてもよい。なお、実環境と表示装置4との相対的な位置関係は、例えば、実環境に存在するロボット1や他のオブジェクトと、表示装置4との相対的な位置関係であってもよく、実環境における表示装置4の位置や姿勢を示す情報であってもよい。
【0020】
位置関係取得部32が、この相対的な位置関係を取得する方法は問わない。例えば、実環境の環境地図が用意されている場合には、位置関係取得部32は、実環境の環境地図と、表示装置4によって取得された周囲の物体までの距離や周囲の画像とを用いて、SLAM(Simultaneous Localization and Mapping)や、Visual-SLAMの手法を用いて、3次元の実環境における表示装置4の位置や姿勢を示す情報である相対的な位置関係を取得してもよい。この場合には、例えば、画像処理装置3において環境地図が保持されており、位置関係取得部32は、表示装置4から受け取った周囲の物体までの距離や周囲の画像と、環境地図とを用いて、相対的な位置関係を取得してもよい。また、例えば、SLAMやVisual-SLAMの手法を用いた相対的な位置関係の取得は表示装置4において行われ、その相対的な位置関係が位置関係取得部32に渡されてもよい。この場合には、位置関係取得部32による相対的な位置関係の取得は、相対的な位置関係の受け付けであってもよい。また、この場合には、表示装置4は、周囲の物体までの距離を測定可能な深度センサや、周囲の画像を取得可能なカメラを有していてもよい。また、位置関係取得部32は、表示装置4のカメラで撮影された画像を受け取り、その画像に含まれるロボット1や他のオブジェクトの3以上の特徴点を用いて、ワールド座標系と表示座標系との間の変換を示す同次変換行列を取得してもよい。
【0021】
また、位置関係取得部32は、上記した以外の方法によって、実環境と表示装置4との相対的な位置関係を取得してもよい。その方法の一例については、例えば、上記特許文献1~3等を参照されたい。また、後述する表示画像の生成ごとに、位置関係取得部32によって上記のようにして相対的な位置関係が取得されてもよく、または、そうでなくてもよい。後者の場合には、例えば、相対的な位置関係が取得された後の表示装置4の位置や姿勢の変化を用いて、実環境と表示装置4との相対的な位置関係が更新されてもよい。この更新は、例えば、位置関係取得部32によって行われてもよい。また、この更新が行われる場合には、表示装置4は、例えば、加速度センサや表示装置4の向きを取得するためのセンサ等を備えており、それらのセンサを用いて位置の変化や姿勢の変化が取得されてもよい。なお、それらのセンサによって取得された値は、例えば、位置関係取得部32などの相対的な位置関係を更新する構成要素に渡されてもよい。表示装置4の向きを取得するためのセンサは、例えば、ジャイロセンサや方位センサ等であってもよい。
【0022】
受付部33は、仮想ロボットの3次元モデルに対する操作を受け付ける。また、受付部33は、仮想ロボットの3次元モデルに対する教示の指示を受け付けてもよい。3次元モデルに対する操作は、例えば、3次元モデルの少なくとも一部の位置や姿勢を変化させるための操作であってもよい。操作や教示の指示の受け付けは、例えば、表示装置4のディスプレイに表示された仮想ボタンや仮想ティーチングペンダントなどの仮想入力インターフェースを介して行われてもよい。仮想入力インターフェースは、例えば、エアタップなどの動作に応じて表示装置4のディスプレイに表示され、作業者の指やポインティングデバイスによってボタン等が選択された場合に、そのボタン等の操作に応じた入力が表示装置4から受付部33に渡されてもよい。また、作業者の手などのジェスチャによって、仮想ロボットの3次元モデルの少なくとも一部(例えば、ツールなどの手先など)の位置や姿勢を変更できてもよい。この場合には、例えば、作業者がディスプレイに表示された3次元モデルを手でつまむ動作(ホールド動作)を行うことによって、その手でつまんだ部分が操作の対象として特定され、その手の位置や姿勢を変化させることによって、特定された対象の位置や姿勢を変化させる操作が行われ、そのつまむ動作を終了させることによって、特定された対象への操作が終了されてもよい。この場合には、例えば、操作の対象を示す情報(例えば、3次元モデルにおける位置や部分を示す情報)と、操作の内容を示す情報(例えば、位置の変更や姿勢の変更などを示す情報)とが表示装置4から受付部33に渡されてもよく、または、表示装置4において取得されたハンドトラッキングの結果が受付部33に渡され、画像処理装置3において、操作の対象や操作の内容が特定されてもよい。表示装置4において操作の対象を示す情報と操作の内容を示す情報とが取得される場合には、表示装置4は、画像処理装置3で保持されている、仮想空間における仮想ロボットの現時点の3次元モデルの情報にアクセス可能であってもよい。なお、作業者の手を用いた操作が行われる場合には、表示装置4はカメラを有しており、そのカメラで撮影された作業者の手のハンドトラッキングが行われることによって、作業者の手が、ディスプレイ上のどの位置に存在するのかが特定されてもよい。また、作業者の手などのジェスチャに応じた3次元モデルの表示画像への操作を、3次元仮想空間における3次元モデルの位置や姿勢の変化に変換する方法はすでに公知であり、その詳細な説明を省略する。
【0023】
受付部33が受け付ける操作や指示等は、通常、表示装置4から入力される。また、受付部33は、ハードウェアによって実現されてもよく、または所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0024】
画像生成部34は、記憶部31で記憶されている3次元モデル、及び位置関係取得部32で取得された、実環境と表示装置4との相対的な位置関係に基づいて、実ロボットであるロボット1と仮想ロボットの3次元モデルとが所定の位置関係となるように、3次元モデルを表示するための表示画像を生成する。また、仮想ロボットへの操作が受け付けられた場合には、画像生成部34は、操作された3次元モデルを表示するための表示画像を生成する。所定の位置関係は、例えば、あらかじめ決められた位置関係であってもよく、作業者が変更することができる位置関係であってもよい。仮想ロボットの3次元モデルは、例えば、ロボット1の位置に表示されてもよく、ロボット1と異なる位置に表示されてもよい。仮想ロボットの3次元モデルをロボット1の位置に表示するとは、ロボット1と同じ位置に仮想ロボットが配置されるように3次元モデルを表示することであり、例えば、仮想ロボットの3次元モデルの基端側の端部(例えば、床面などへの取り付け部分)が、ロボット1の基端側の端部に重なるように表示することであってもよい。ロボット1と異なる位置に仮想ロボットの3次元モデルが表示される場合には、例えば、ロボット1の隣に3次元モデルが表示されてもよい。いずれにしても、仮想ロボットの3次元モデルは、実ロボットであるロボット1との位置関係が変化しないように表示されることになる。したがって、表示装置4において、作業者が表示装置4の向きを変化させたとしても、実環境における仮想ロボットの3次元モデルの表示位置は変化しないことになる。
【0025】
ワールド座標系におけるロボット1の配置位置は既知である。また、ロボット1と仮想ロボットの3次元モデルとの位置関係も決まっている。したがって、これらの情報を用いることによって、画像生成部34は、ロボット1の配置位置があらかじめ決まっている仮想空間において、そのロボット1の配置位置と所定の位置関係となるように仮想ロボットの3次元モデルを配置することができる。なお、仮想ロボットの各関節の角度は、操作が行われていない場合には初期値となり、操作が行われた場合には操作後の値となる。操作後の各関節の角度は、例えば、実ロボットと同様に、操作後の仮想ロボットの3次元モデルにおける手先の位置及び姿勢を用いた逆運動学によって算出されてもよい。また、画像生成部34は、位置関係取得部32によって取得された相対的な位置関係によって、ワールド座標系と表示装置4のローカル座標系である表示座標系との関係を知ることができるため、仮想空間における表示装置4の位置及び向きを特定することができる。したがって、画像生成部34は、仮想空間における仮想ロボットの3次元モデルを、表示装置4の位置及び向きを基準としてレンダリングすることによって、3次元モデルを表示するための2次元の表示画像を生成することができる。仮想ロボットが操作されると、上記のように、仮想空間における仮想ロボットの3次元モデルの形状が、それに応じて変更されることになる。また、表示装置4の位置や向きが実環境において変化した場合には、それに応じて仮想空間上の視点の位置や方向が変更されることになる。そして、その変更後にレンダリングが行われることによって、操作後の3次元モデルの表示画像や、表示装置4の位置や向きの変化後の3次元モデルの表示画像が生成されることになる。なお、画像生成部34は、仮想ロボットの3次元モデルの表示画像が表示装置4のディスプレイに表示された際に、その表示画像の大きさが実環境と整合するように、表示画像を生成するものとする。すなわち、表示装置4のディスプレイに表示された仮想ロボットの3次元モデルと、その3次元モデルと同じ相対的な位置関係となるように実環境に配置された実ロボットとが、表示装置4を介して見たときに同じ大きさになるように、表示画像が生成されることになる。
【0026】
なお、受け付けられた操作に応じて仮想ロボットを操作できないこともあり得る。例えば、仮想ロボットの手先を、移動可能な範囲を超えて移動させる操作または回転可能な範囲を超えて回転させる操作が受け付けられることもある。このような場合には、画像生成部34は、その操作に応じた表示画像を生成しなくてもよく、または、可能な範囲内で移動または回転を行った仮想ロボットの3次元モデルの表示画像を生成してもよい。
【0027】
画像出力部35は、画像生成部34によって生成された表示画像を表示装置4に出力する。なお、画像出力部35は、表示画像のみを出力してもよい。この場合には、表示装置4において、実環境の画像または実環境そのものに表示画像が重ねられて表示されることになる。一方、表示装置4が非透過型ディスプレイを有する場合であって、表示装置4で撮影された実環境の画像が画像処理装置3で受け付けられている場合には、実環境の画像と表示画像とが合成された結果が、表示装置4に出力されてもよい。この合成は、例えば、画像処理装置3が有する図示しない合成部によって行われてもよい。
【0028】
出力部36は、例えば、仮想ロボットの3次元モデルに対して受け付けられた操作や、受け付けられた教示の指示を、ロボット制御装置2に出力する。仮想ロボットの3次元モデルに対して受け付けられた操作がロボット制御装置2に出力されたることによって、仮想ロボットの3次元モデルと、ロボット1とが同じように操作されることになる。この場合には、例えば、作業者は、仮想ロボットの3次元モデルをジェスチャ操作によって操作することによって、ロボット1を操作できることになる。なお、出力部36は、例えば、受付部32で受け付けられた操作(例えば、ロボット1の手先の位置や姿勢を変化させる操作)をそのままロボット制御装置2に出力してもよく、受付部32で受け付けられた操作に基づいて算出されたロボット1の各関節の角度の変化を示す情報をロボット制御装置2に出力してもよい。
【0029】
実ロボットであるロボット1と異なる位置に仮想ロボットの3次元モデルが表示される場合には、例えば、図1で示されるように、ロボット1の隣に仮想ロボットの3次元モデル10が表示されてもよい。図1におけるロボット1及び仮想ロボットの3次元モデル10は、表示装置4を頭部に装着している作業者が表示装置4を介して見ている状況を模式的に示したものである。
【0030】
なお、仮想ロボットの3次元モデルを実ロボットと共に表示することや、その仮想ロボットの3次元モデルを表示デバイスの仮想入力インターフェースや作業者のジェスチャ等を用いて操作することなどについては、例えば、上記特許文献1~3で示されるようにすでに公知であり、その詳細な説明を省略する。
【0031】
図2で示されるように、安全装置5は、ロボット制御装置2、画像処理装置3、及び表示装置4と接続されており、対応情報記憶部51と、距離取得部52と、判断部53と、出力部54とを備える。
【0032】
対応情報記憶部51では、複数の対応情報が記憶される。対応情報は、実ロボットの種類を識別するロボット識別子と、その実ロボットの種類に対応する閾値とを対応付ける情報である。後述するように、この閾値は、表示装置4と実ロボットとの距離が閾値より小さい場合に、表示装置4が実ロボットに接近していると判断されるために用いられるものである。そのため、閾値は、実ロボットの到達可能範囲に応じて定められてもよい。例えば、到達可能範囲が長いほど、閾値は大きくなってもよい。また、その閾値を用いた判断結果によって安全を確保する対象は、厳密には表示装置4ではなく、表示装置4を装着している作業者である。したがって、作業者の身体や手、足などが実ロボットに接触しないようにするための閾値が設定されることが好適である。そのため、例えば、閾値は、ロボットの到達可能範囲の最大長さに、表示装置4を頭部に装着している作業者の手や足と、その表示装置4との最大距離を加算した値などに設定されてもよい。実ロボットと仮想ロボットとは通常、一対一に対応しているため、ロボット識別子は、仮想ロボットの種類を識別する識別子であると考えてもよい。
【0033】
対応情報記憶部51に複数の対応情報が記憶される過程は問わない。例えば、記録媒体を介して複数の対応情報が対応情報記憶部51で記憶されるようになってもよく、通信回線等を介して送信された複数の対応情報が対応情報記憶部51で記憶されるようになってもよく、または、入力デバイスを介して入力された複数の対応情報が対応情報記憶部51で記憶されるようになってもよい。対応情報記憶部51は、不揮発性の記録媒体によって実現されることが好適であるが、揮発性の記録媒体によって実現されてもよい。記録媒体は、例えば、半導体メモリや磁気ディスクなどであってもよい。
【0034】
距離取得部52は、表示装置4と実ロボットであるロボット1との距離を取得する。表示装置4は、作業者の頭部に装着されているため、この取得された距離は、作業者とロボット1との距離であると考えることもできる。距離取得部52は、例えば、画像処理装置3の位置関係取得部32で取得された相対的な位置関係を用いて表示装置4とロボット1との距離を取得してもよい。例えば、その相対的な位置関係によって、ワールド座標系における表示装置4の位置を特定することができる。また、ワールド座標系におけるロボット1の位置は既知である。したがって、距離取得部52は、相対的な位置関係と、ワールド座標系におけるロボット1の位置とを用いることによって、表示装置4とロボット1との距離を取得することができる。この場合には、距離取得部52は、例えば、画像処理装置3の位置関係取得部32で取得された相対的な位置関係や、ワールド座標系におけるロボット1の位置を示す情報にアクセス可能であってもよい。また、ワールド座標系におけるロボット1の位置は、例えば、作業者によって手動で設定されてもよく、または、自動的に設定されてもよい。後者の場合には、例えば、表示装置4が、カメラの撮影画像を用いたパターンマッチングなどの手法によってロボット1を特定し、距離センサ等のセンサのセンシング結果を用いて、その特定したロボット1の表示装置4に対する位置を特定することによって、ロボット1の位置が自動的に設定されてもよい。また、例えば、位置関係取得部32が、ロボット1と表示装置4との相対的な位置関係を取得している場合には、距離取得部52は、その相対的な位置関係を用いて、表示装置4とロボット1との距離を取得してもよい。
【0035】
また、距離取得部52が取得する表示装置4とロボット1との距離は、例えば、2次元平面(例えば、水平面方向など)における両者の距離であってもよく、3次元空間における両者の距離であってもよい。また、その距離の取得で用いられるロボット1の位置は、例えば、ロボット1の基端側の位置(例えば、ロボット1の床面等への接触面の中心や重心の位置など)であってもよく、ロボット1の手先の位置(例えば、TCP(ツールセンターポイント)の位置など)であってもよく、ロボット1における表示装置4に最も近い箇所の位置であってもよく、ロボット1のその他の代表点の位置であってもよい。また、その距離の取得で用いられる表示装置4の位置は、表示装置4における中心や重心の位置であってもよく、表示装置4におけるロボット1に最も近い箇所の位置であってもよい。通常、表示装置4を装着している作業者は、ロボット1を向いていると考えられるため、表示装置4におけるロボット1に最も近い箇所の位置として、表示装置4のディスプレイの位置などが用いられてもよい。また、表示装置4とロボット1との距離は、例えば、表示装置4のローカル座標系である表示座標系の原点と、ロボット1のローカル座標系の原点との距離であってもよい。
【0036】
また、画像処理装置3または表示装置4等において、表示装置4とロボット1との距離がすでに取得されている場合には、距離取得部52は、その取得された距離を受け付けてもよい。この場合には、距離取得部52による距離の取得は、距離の受け付けであってもよい。
【0037】
判断部53は、表示装置4が実ロボットであるロボット1に接近しているかどうかを判断する。判断部53は、例えば、距離取得部52によって取得された距離が、閾値より小さい場合に、表示装置4が実ロボットであるロボット1に接近していると判断してもよい。また、判断部53は、例えば、距離取得部52によって取得された距離が、閾値より大きい場合に、表示装置4が実ロボットであるロボット1に接近していないと判断してもよい。距離取得部52によって取得された距離が、閾値と同じである場合には、判断部53は、表示装置4が実ロボットであるロボット1に接近していると判断してもよく、接近していないと判断してもよい。
【0038】
なお、判断部53は、操作対象の実ロボットであるロボット1の種類を識別するロボット識別子を取得し、対応情報記憶部51で記憶されている複数の対応情報において、そのロボット識別子に対応付けられている閾値を用いて、その判断を行ってもよい。判断部53は、例えば、ロボット制御装置2や、画像処理装置3、表示装置4から、ロボット1の種類を識別するロボット識別子を取得してもよい。判断部53は、例えば、ロボット制御装置2から制御対象のロボット1の種類を識別するロボット識別子を取得してもよい。また、判断部53は、例えば、画像処理装置3において表示画像を生成するために用いられている3次元モデルの仮想ロボットの種類を識別するロボット識別子を取得してもよい。上記したように、実ロボットと仮想ロボットとは通常、一対一に対応しているため、その仮想ロボットの種類を識別するロボット識別子は、実ロボットであるロボット1の種類を識別するロボット識別子と同じになるからである。
【0039】
出力部54は、表示装置4が実ロボットに接近していると判断された場合に、作業者の安全を確保するための出力を行う。作業者の安全を確保するための出力は、例えば、作業者への警告であってもよい。この場合には、出力部54は、表示装置4が実ロボットに接近していると判断されたときに、作業者に警告するための警告情報を出力してもよい。警告情報は、例えば、音や画像、光等によって作業者に警告するための情報であってもよい。警告情報は、例えば、警告音であってもよく、「ロボットに近づきすぎです」などの音声または文字列の画像であってもよく、警告灯などを作動させるための制御情報であってもよい。この警告情報の出力が行われた場合には、作業者が実ロボットから離れるように促すことができ、その結果、作業者の安全を確保することができる。また、作業者の安全を確保するための出力は、例えば、実ロボットであるロボット1の動作に関する制御であってもよい。この場合には、出力部54は、表示装置4が実ロボットに接近していると判断されたときに、実ロボットであるロボット1の動作を遅くするための制御情報を出力してもよい。ロボット1の動作を遅くするための制御情報は、例えば、ロボット1の動作のスピードを低減するための制御情報であってもよく、ロボット1を停止させるための制御情報であってもよい。ロボット1の動作のスピードが低減される場合には、仮に作業者がロボット1に当たったとしても、危険ではない程度にまでスピードが低減されることが好適である。この制御情報は、通常、ロボット制御装置2に出力される。この制御情報の出力が行われた場合には、実ロボットのスピードが低減されたり、停止されたりすることになるため、仮に作業者が実ロボットに当たったとしても、危険ではないようにすることができ、結果として、作業者の安全を確保することができる。
【0040】
ここで、出力部54による出力は、例えば、表示デバイス(例えば、液晶ディスプレイや有機ELディスプレイなど)への表示でもよく、所定の機器への通信回線を介した送信でもよく、スピーカによる音声出力でもよく、警告灯やロボット制御装置2、表示装置4等の他の構成要素への情報の引き渡しでもよい。警告情報は、例えば、表示装置4に出力されてもよく、他の装置や出力デバイスに出力されてもよい。なお、出力部54は、出力を行うデバイス(例えば、表示デバイスや通信デバイスなど)を含んでもよく、または含まなくてもよい。また、出力部54は、ハードウェアによって実現されてもよく、または、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0041】
次に、ロボット制御システム100の動作について図3のフローチャートを用いて説明する。
【0042】
(ステップS101)判断部53は、ロボット1の種類を識別するロボット識別子を取得する。判断部53は、例えば、ロボット制御装置2や画像処理装置3等からロボット識別子を取得してもよい。そして、判断部53は、対応情報記憶部51で記憶されている対応情報を用いて、その取得したロボット識別子に対応付けられている閾値を取得する。その取得された閾値は、例えば、図示しない記録媒体で記憶されてもよい。
【0043】
(ステップS102)距離取得部52は、表示装置4とロボット1との距離を取得するかどうか判断する。そして、その距離を取得すると判断した場合には、ステップS103に進み、そうでない場合には、距離を取得すると判断するまで、ステップS102の処理を繰り返す。距離取得部52は、例えば、距離を取得すると定期的に判断してもよい。
【0044】
(ステップS103)距離取得部52は、表示装置4とロボット1との距離を取得する。その取得された距離は、例えば、図示しない記録媒体で記憶されてもよい。
【0045】
(ステップS104)判断部53は、取得された距離が閾値未満であるかどうか判断する。この閾値は、ステップS101で取得された閾値である。そして、距離が閾値未満である場合には、ステップS105に進み、そうでない場合には、ステップS102に戻る。なお、取得された距離が閾値未満である場合には、表示装置4がロボット1に近づいたと判断されたことになる。
【0046】
(ステップS105)出力部54は、表示装置4を装着している作業者の安全を確保するための出力を行う。そして、ステップS102に戻る。
【0047】
なお、図3のフローチャートにおける処理の順序は一例であり、同様の結果を得られるのであれば、各ステップの順序を変更してもよい。また、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0048】
次に、本実施の形態による安全装置5の動作について、具体例を用いて説明する。この具体例では、対応情報記憶部51において、ロボット識別子R001と、閾値TH001とを対応付ける対応情報と、ロボット識別子R002と、閾値TH002とを対応付ける対応情報とが記憶されているものとする。
【0049】
また、この具体例では、作業者U1が、ロボット1の位置に表示されている仮想ロボットの3次元モデルを用いて、ロボット識別子R001で識別される種類のロボット1を操作しているものとする。なお、仮想ロボットを用いて実ロボットであるロボット1が操作されているため、仮想ロボットの3次元モデル10は、ロボット1に対して同じ形状で重ねて表示されることになる。安全装置5の判断部53は、画像処理装置3から、仮想ロボットの種類を識別するロボット識別子R001を取得し、そのロボット識別子R001を検索キーとして、対応情報記憶部51で記憶されている複数の対応情報を検索し、ヒットした対応情報から、ロボット識別子R001に対応付けられている閾値TH001を取得して、判断部53に渡す(ステップS101)。
【0050】
距離取得部52は、表示装置4とロボット1との距離を取得するタイミングになると、画像処理装置3の位置関係取得部32によって取得された相対的な位置関係にアクセスし、その相対的な位置関係を用いてロボット1と表示装置4との距離L1を取得して、判断部53に渡す(ステップS102、S103)。図4Aで示されるように、取得された距離L1は、閾値TH001よりも長かったとする。この場合には、距離L1は閾値TH001未満ではないため、判断部53は、表示装置4がロボット1に接近していないと判断する(ステップS104)。そのため、作業者U1の安全を確保するための出力は行われない。
【0051】
なお、作業者U1は、表示装置4のディスプレイに表示されている仮想ロボットの3次元モデルの表示画像に対して、ジェスチャ操作を行うことによって、ロボット1を動作させているものとする。すなわち、この具体例では、作業者U1が、仮想ロボットの3次元モデルをジェスチャ操作によって操作した結果と同様になるように、実ロボットであるロボット1がロボット制御装置2によって動作されるものとする。そのような操作を行っている際に、作業者U1が、操作に集中しており、気付かないうちに、図4Bで示されるようにロボット1に近づいていたとする。すると、距離取得部52によってロボット1と表示装置4との距離L2が取得され、判断部53によって、その距離L2が閾値TH001未満であって、表示装置4がロボット1に接近していると判断される(ステップS102~S104)。その結果、出力部54から、作業者U1に警告するための警告情報が出力されると共に、ロボット1の動作を停止するための制御情報がロボット制御装置2に出力される(ステップS105)。このようにして、作業者U1は、ロボット1に近づいたことを知ることができ、また、ロボット1が停止されることによって、作業者U1の安全が確保されることになる。この後、作業者U1がロボット1から離れると、判断部53によって、作業者U1がロボット1に接近していないと判断され、警告情報の出力が停止されることになり、また、ロボット1を停止させるための制御情報の出力も停止されることになる。その結果、作業者U1は、ロボット1を再度、操作することができるようになる。
【0052】
以上のように、本実施の形態による安全装置5によれば、表示装置4を頭部に装着している作業者が、意識しないでロボット1に近づいた場合に、表示装置4がロボット1に接近していると判断され、その判断結果に応じて警告が出力されたり、ロボット1の動作が遅くなるように制御されたりすることによって、作業者の安全が確保されることになる。また、表示装置4がロボット1に接近しているかどうかが、両者の距離と閾値とを比較することによって行われることにより、表示装置4がロボット1に接近しているかどうかを容易に判断することができるようになる。また、対応情報を用いて操作対象のロボット1の種類に対応する閾値を取得することによって、手動で閾値を設定しなくてよいことになる。
【0053】
なお、本実施の形態では、表示装置4が実ロボットに接近しているかどうかの判断で用いられる閾値が、ロボットの種類ごとに一つの値である場合について説明したが、そうでなくてもよい。例えば、ロボットの種類によっては、ロボットの手先の到達範囲が、ロボットの基端側の点を基準とした方位角に応じて一定ではなく、変化することもあり得る。手先の到達範囲が方位角に応じて変化する場合には、判断部53は、方位角に応じた閾値を用いて判断を行ってもよい。この場合には、ロボット1から表示装置4までの向きの方位角も取得され、その方位角に応じた閾値が読み出され、その閾値と、距離取得部52によって取得された距離とを用いた判断が行われてもよい。方位角の取得は、例えば、距離取得部52によって行われてもよい。また、対応情報記憶部51において、方位角ごとの閾値が記憶されていてもよい。
【0054】
また、本実施の形態では、実ロボットの種類ごとの閾値を用いて、表示装置4が実ロボットに接近しているかどうかの判断が行われる場合について説明したが、そうでなくてもよい。一つの閾値を用いて、すべてのロボットに関する判断が行われてもよく、ロボットごとに手動で閾値が設定されてもよく、3次元モデルを用いて閾値が取得されてもよい。一つの閾値が用いられる場合には、すべての種類のロボットの動作時に作業者の安全を確保できる閾値が用いられることが好適である。また、3次元モデルを用いて閾値を取得する場合には、判断部53は、例えば、画像処理装置3の記憶部31で記憶されている3次元モデルにアクセスし、その3次元モデルを用いて、基端から手先までの最も長い到達距離を計算し、その到達距離に基づいて閾値を取得してもよい。このように、安全装置5において対応情報が用いられない場合には、安全装置5は、対応情報記憶部51を備えていなくてもよい。
【0055】
また、本実施の形態では、表示装置4とロボット1との距離を用いて、表示装置4がロボット1に接近しているかどうかを判断する場合について主に説明したが、そうでなくてもよい。判断部53は、ロボット1の動作範囲に表示装置4が入っているかどうかによって、表示装置4がロボット1に接近しているかどうかを判断してもよい。この場合には、安全装置5は、対応情報記憶部51や距離取得部52を備えていなくてもよい。また、判断部53は、実ロボットであるロボット1の教示データにアクセス可能であるとする。例えば、判断部53は、ロボット制御装置2で保持されている教示データにアクセスすることができてもよい。そして、その教示データを用いることによって、判断部53は、ロボット1の各アームがどのように動作するのかについて知ることができる。判断部53は、その教示データに応じたロボット1の動作範囲に表示装置4が入っている場合に、表示装置4がロボット1に接近していると判断してもよい。より具体的には、判断部53は、ロボット1の教示データと、ワールド座標系におけるロボット1の配置位置とを用いて、ワールド座標系におけるロボット1の動作範囲を3次元的に特定することができる。この動作範囲は、通常、教示データによって示されるすべての動作によって少なくとも1回はロボット1のいずれかの箇所が通過する範囲であってもよい。また、判断部53は、画像処理装置3の位置関係取得部32によって取得された相対的な位置関係を用いることによって、ワールド座標系における表示装置4の位置を特定することができる。そして、ロボット1の動作範囲内に、表示装置4の位置が含まれた場合に、判断部53は、教示データに応じたロボット1の動作範囲に表示装置4が入っていると判断してもよい。また、作業者は表示装置4を頭部に装着しているため、通常、作業者の身体は表示装置4の鉛直方向の下方側に存在することになる。したがって、例えば、表示装置4の下方側の部分がロボット1の動作範囲内となった場合にも、判断部53は、表示装置4がロボット1に接近していると判断してもよい。また、表示装置4を基準として、作業者の身体、手、足などを含むように拡張された表示装置4の拡張範囲を設定し、その拡張範囲を用いて判断を行ってもよい。この場合には、判断部53は、例えば、拡張範囲の少なくとも一部が、ロボット1の動作範囲内となった場合に、表示装置4がロボット1の動作範囲に入っていると判断してもよい。このように、教示データに応じたロボットの動作範囲を用いて、表示装置4がロボット1に接近しているかどうかが判断される場合には、より厳密な判断を行うことができる。例えば、ロボット1に近い範囲ではあるが、ロボット1が動作しない範囲に表示装置4が入ったとしても、表示装置4がロボット1に接近しているとは判断されないことになり、作業者の行動可能な範囲が広がることになる。
【0056】
また、本実施の形態では、作業者が表示装置4に表示された仮想ロボットの3次元モデルの表示画像に対するジェスチャ操作を行うことによってロボット1を操作する場合について主に説明したが、そうでなくてもよい。作業者は、表示装置4に表示された仮想入力インターフェースを用いてロボット1を操作してもよい。仮想ロボットの3次元モデルの表示画像を用いた操作が行われない場合には、ロボット制御システム100は、画像処理装置3を備えていなくてもよい。なお、ロボット制御システム100が画像処理装置3を備えていなくても、ロボット1と表示装置4との距離の取得等のために表示装置4と実環境との相対的な位置関係が必要である場合には、ロボット制御システム100は、位置関係取得部32を備えていてもよい。この場合には、例えば、位置関係取得部32は、表示装置4や安全装置5が有していてもよく、他の構成が有していてもよい。
【0057】
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。例えば、安全装置5の少なくとも一部の構成、例えば、判断部53等の構成は、画像処理装置3や表示装置4、ロボット制御装置2等と一体的に構成されていてもよい。すなわち、図1図2で示される装置の切り分けは、物理的な装置に応じたものではなく、機能に応じた便宜上のものであると考えてもよい。
【0058】
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う2個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、または、その情報の受け渡しを行う2個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
【0059】
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いる閾値や数式、アドレス等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、または長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、または、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、または、図示しない読み出し部が行ってもよい。
【0060】
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いる閾値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、または、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
【0061】
また、上記実施の形態において、安全装置5に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、または、別々のデバイスを有してもよい。
【0062】
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、または、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。また、そのプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。また、そのプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、または分散処理を行ってもよい。
【0063】
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【符号の説明】
【0064】
1 ロボット、2 ロボット制御装置、3 画像処理装置、4 表示装置、5 安全装置、51 対応情報記憶部、52 距離取得部、53 判断部、54 出力部、100 ロボット制御システム
図1
図2
図3
図4A
図4B