JP2020011357A - 制御装置、ヘッドマウントディスプレイおよびロボットシステム - Google Patents

制御装置、ヘッドマウントディスプレイおよびロボットシステム Download PDF

Info

Publication number
JP2020011357A
JP2020011357A JP2018136769A JP2018136769A JP2020011357A JP 2020011357 A JP2020011357 A JP 2020011357A JP 2018136769 A JP2018136769 A JP 2018136769A JP 2018136769 A JP2018136769 A JP 2018136769A JP 2020011357 A JP2020011357 A JP 2020011357A
Authority
JP
Japan
Prior art keywords
virtual wall
robot
display
control device
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018136769A
Other languages
English (en)
Other versions
JP7167518B2 (ja
Inventor
喜士 山田
Yoshiji Yamada
喜士 山田
大稀 安達
Daiki Adachi
大稀 安達
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2018136769A priority Critical patent/JP7167518B2/ja
Priority to US16/516,319 priority patent/US11157226B2/en
Publication of JP2020011357A publication Critical patent/JP2020011357A/ja
Application granted granted Critical
Publication of JP7167518B2 publication Critical patent/JP7167518B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/06Control stands, e.g. consoles, switchboards
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/06Safety devices
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B27/0172Head mounted characterised by optical features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/006Controls for manipulators by means of a wireless system for controlling one or several manipulators
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0141Head-up displays characterised by optical features characterised by the informative content of the display
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39427Panel on arm, hand of robot, controlled axis
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50391Robot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/012Walk-in-place systems for allowing a user to walk in a virtual environment while constraining him to a given position in the physical environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Optics & Photonics (AREA)
  • Manipulator (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】ロボットの現在の状況を把握しやすくすることが可能である制御装置を提供する。【解決手段】可動部を有するロボットを制御する制御装置であって、可視光を透過する表示部に表示される仮想壁の表示形態を、現実空間上での前記仮想壁と前記可動部との距離と、前記可動部の速度と、に基づいて変更する表示制御部を備える、制御装置である。【選択図】図1

Description

本発明は、制御装置、ヘッドマウントディスプレイおよびロボットシステムに関する。
ロボットの付近で作業を行う人(以下、説明の便宜上、「作業者」ともいう。)に対して、仮想的な壁(以下、説明の便宜上、「仮想壁」ともいう。)を表示することが行われている。
一例として、特許文献1に記載されたバーチャルフェンス表示システムでは、ロボット安全コントローラは、ロボットアームの位置を中心に、その周辺に仮想的に配置されるバーチャルフェンス(仮想的な安全柵)の3Dモデル画像データを保持し、その画像データを複数の直方体で分割した形態でかつ各直方体をそれぞれ所定の透過率の画像で表示可能とする。そして、当該バーチャルフェンス表示システムでは、ロボット安全コントローラは、スマートグラスを装着している作業者の位置および方向の情報を取得すると、表示部に表示させるバーチャルフェンスの3Dモデル画像データをバーチャルフェンスと作業者との位置および方向の関係に応じて、複数の直方体のうち作業者の近傍側にあるものほど透過率が低く、遠方側にあるものほど透過率が高くなるように加工してスマートグラス側に送信する。そして、当該スマートグラスは受信した3Dモデル画像データを表示部に投影して表示させる(特許文献1を参照。特に、要約書を参照。)。
なお、バーチャルフェンスは、仮想壁に相当する。
しかしながら、特許文献1に記載されたバーチャルフェンス表示システムでは、作業者に最も近いバーチャルフェンスの透過度が低くなるため、作業者がロボットに接近すればするほど実際のロボットがどのような状態にあるのかを把握しづらい場合があった。ロボットの状態としては、例えば、ロボットが静止している状態、ロボットが高速あるいは低速で動作中である状態などがある。
具体例として、力制御(力覚制御)を使用したダイレクトティーチングを作業者が行う場合、あるいは、作業者がロボットを一時停止させてから当該ロボットに近づいて作業を行う場合などに、作業者にとって、スマートグラスの表示部を見てロボットがどのような状態であるのかを観察することが難しいことがあった。また、例えば、作業者が、スマートグラスを使用せずにロボットがどのような状態であるのかを確認する場合には、バーチャルフェンスの設定状況を確認することができなかった。
特開2017−100205号公報
上述のように、従来例に係るバーチャルフェンス表示システムでは、バーチャルフェンスと作業者との位置および方向の関係に基づいて、スマートグラスの表示部に表示されるバーチャルフェンスの透過度を制御するが、ロボットの現在の状況を把握しづらい場合があった。
上記課題を解決するために本発明の一態様は、可動部を有するロボットを制御する制御装置であって、可視光を透過する表示部に表示される仮想壁の表示形態を、現実空間上での前記仮想壁と前記可動部との距離と、前記可動部の速度と、に基づいて変更する表示制御部を備える、制御装置である。
上記課題を解決するために本発明の一態様は、仮想壁が表示され、可視光を透過する表示部と、前記表示部に表示される前記仮想壁の表示形態を、ロボットが有する可動部と現実空間上での前記仮想壁との距離と、前記可動部の速度と、に基づいて変更する表示制御部と、を備えるヘッドマウントディスプレイである。
上記課題を解決するために本発明の一態様は、可動部を有するロボットと、可視光を透過する表示部を有し、前記表示部に仮想壁を表示するヘッドマウントディスプレイと、前記表示部に表示される前記仮想壁の表示形態を、現実空間上での前記仮想壁と前記可動部との距離と、前記可動部の速度と、に基づいて変更する表示制御部と、を備える、ロボットシステムである。
本発明の一実施形態に係るロボットシステムの概略的な構成例を示す図である。 本発明の一実施形態に係るロボット制御装置のハードウェア構成の一例を示す図である。 本発明の一実施形態に係るロボット制御装置の機能構成の一例および表示装置の機能構成の一例を示す図である。 本発明の一実施形態に係るロボットの可動部の姿勢を考慮した場合における仮想壁とロボットの可動部との距離の一例を示す図である。 本発明の一実施形態に係る仮想壁と作業者との距離の一例を示す図である。 本発明の一実施形態に係る表示装置に表示される仮想壁の一例を示す図である。 本発明の一実施形態に係る表示制御部により行われる仮想壁の表示形式を変更する処理の手順の一例を示す図である。 本発明の一実施形態に係るロボットの動作経路の一例を示す図である。 本発明の一実施形態に係るソースコードの一例を示す図である。 本発明の一実施形態に係るソースコードの他の例を示す図である。 本発明の一実施形態に係るロボットのモデル化の一例を示す図である。 本発明の一実施形態に係る時刻ごとにおけるモデル化されたロボットの位置の一例を示す図である。 本発明の一実施形態に係る時刻ごとにおけるモデル化されたロボットの位置の一例を示す図である。 本発明の一実施形態に係るモデル化されたロボットが通過し得る領域の一例を示す図である。 本発明の一実施形態に係るモデル化されたロボットが通過しない安全領域の一例を示す図である。 本発明の一実施形態に係る通過領域と安全領域の数値パターンの一例を示す図である。 本発明の一実施形態に係る数値パターンのフィルタリング結果の一例を示す図である。 本発明の一実施形態に係るフィルタリング結果の二値化の一例を示す図である。 本発明の一実施形態に係る安全領域の境界の一例を示す図である。 本発明の一実施形態に係る安全領域の境界を生成する他の一例を示す図である。 本発明の一実施形態に係る安全領域の境界を生成する他の一例を示す図である。 本発明の一実施形態に係る仮想壁の一例を示す図である。
本発明の実施形態について図面を参照して詳細に説明する。
[ロボットシステム]
図1は、本発明の一実施形態に係るロボットシステム1の概略的な構成例を示す図である。
図1では、説明の便宜上、XYZ直交座標系の軸を示してある。
ロボットシステム1は、ロボット20と、位置検出装置25と、ロボット制御装置30と、表示装置40を備える。
ここで、本実施形態では、ロボット20は、水平多関節ロボット(スカラロボット)である。また、ロボット20は、例えば、産業用ロボットであってもよく、他の用途のロボットであってもよい。
また、図1には、表示装置40を装着した作業者Hを示してある。作業者Hは、ロボット制御装置30を操作する者であってもよく、あるいは、ロボット20に関する作業を行う他の者であってもよい。
ロボット20は、床面に設置されている。なお、ロボット20は、床面に代えて、例えば、壁面、天井面、テーブルの上面、治具が有する面、台が有する面などのように、他の面に設置されてもよい。
本実施形態では、説明の便宜上、ロボット20が設置されている面に直交する方向であってロボット20から当該面に向かう方向を下または下方向と称し、当該方向と反対の方向を上または上方向と称して説明する。本実施形態では、一例として、下方向が、重力方向と一致しているとともに、ロボット20のロボット座標系RCにおけるZ軸の負方向と一致している場合について説明する。
なお、他の例として、下方向は、重力方向と当該負方向とのいずれか一方または両方と一致しない構成であってもよい。
ロボット20は、可動部Aと、可動部Aを支持する基台Bを備える。
可動部Aは、基台Bにより第1回動軸AX1の周りに回動可能に支持された第1アームA1と、第1アームA1により第2回動軸AX2の周りに回動可能に支持された第2アームA2と、第2アームA2により第3回動軸AX3の周りに回動可能かつ第3回動軸AX3の軸方向に並進可能に支持されたシャフトSを備える。
シャフトSは、円柱形状の軸体である。シャフトSの周表面には、ボールねじ溝(図示せず)とスプライン溝(図示せず)がそれぞれ形成されている。本実施形態では、シャフトSは、第2アームA2の端部のうちの第1アームA1と反対側の端部を、上下方向に貫通するように、設けられている。
シャフトSが有する端部のうち下側の端部は、エンドエフェクター等の外部装置が取り付けられることが可能である。図1の例では、当該端部には、何も取り付けられていない。当該端部に取り付けられるエンドエフェクターは、任意のエンドエフェクターであってもよく、例えば、指部によって物体を保持することが可能なエンドエフェクターであってもよく、空気あるいは磁気による吸着等によって物体を保持することが可能なエンドエフェクターであってもよく、あるいは、物体を保持することが可能な他のエンドエフェクターであってもよい。また、当該端部に取り付けられるエンドエフェクターは、例えば、物体を保持することが不可能なエンドエフェクターであってもよい。なお、本実施形態では、物体を保持することは、当該物体を持ち上げることが可能な状態にすることを意味する。
第1アームA1は、第1回動軸AX1の周りに回動し、水平方向に移動する。水平方向は、上下方向と直交する方向である。本実施形態では、水平方向は、ロボット座標系RCにおけるX軸およびY軸によって張られる平面であるXY平面に沿った方向である。なお、第1アームA1が移動する方向は、上下方向と直交する方向(水平方向)に代えて、上下方向と直交しない方向であってもよい。
また、第1アームA1は、基台Bに備えられた第1モーター(図示せず)によって第1回動軸AX1の周りに回動(駆動)させられる。
一例として、第1回動軸AX1は、第1モーターの回動軸と一致する仮想的な軸であるが、他の例として、第1モーターの回動軸と一致しない仮想的な軸であってもよい。
第2アームA2は、第2回動軸AX2の周りに回動し、水平方向に移動する。第2アームA2は、第2アームA2に備えられた第2モーター(図示せず)によって第2回動軸AX2の周りに回動(駆動)させられる。なお、第2アームA2が移動する方向は、上下方向と直交する方向(水平方向)に代えて、上下方向と直交しない方向であってもよい。
一例として、第2回動軸AX2は、第2モーターの回動軸と一致する仮想的な軸であるが、他の例として、第2モーターの回動軸と一致しない仮想的な軸であってもよい。
また、第2アームA2は、第3モーター(図示せず)および第4モーター(図示せず)を備え、シャフトSを支持する。第3モーターは、シャフトSのボールねじ溝の外周部に設けられたボールねじナットをタイミングベルト等で回動させることにより、シャフトSを上下方向に移動(昇降)させる。第4モーターは、シャフトSのスプライン溝の外周部に設けられたボールスプラインナットをタイミングベルト等で回動させることにより、シャフトSを第3回動軸AX3の周りに回動(駆動)させる。
一例として、第3回動軸AX3は、シャフトSの中心軸と一致する仮想的な軸であるが、他の例として、シャフトSの中心軸と一致しない仮想的な軸であってもよい。
ロボット20は、ロボット制御装置30と無線または有線によって通信可能に接続されている。
位置検出装置25は、ロボット制御装置30と無線または有線によって通信可能に接続されている。
表示装置40は、ロボット制御装置30と無線または有線によって通信可能に接続されている。
位置検出装置25は、ロボット20の周囲に存在する作業者Hの位置を検出する。本実施形態では、作業者Hは、ロボット20の周囲において何らかの作業を行う人である。本実施形態では、作業者Hは、表示装置40を装着しており、ロボット20の周囲において作業を行っている。ロボット20の周囲は、例えば、ロボット20が設置された部屋の内側のことであるが、これに限られず、ロボット20を中心とするあらかじめ決められた半径の球形状の領域内のことであってもよく、ロボット20が作業を行うことが可能な領域内のことであってもよく、あるいは、ロボット20に応じた他の領域内のことであってもよい。
位置検出装置25は、例えば、エリアセンサーである。エリアセンサーは、例えば、ロボット20の付近に設定されて、ロボット20に近付く物体を検出することができ、また、当該物体を検出することが可能な範囲において当該物体の位置を検出することも可能である。
位置検出装置25は、ロボット20の周囲における作業者Hの位置を検出し、検出した当該位置を示す情報(説明の便宜上、「作業者位置情報」ともいう。)をロボット制御装置30に送信する。
ここで、本実施形態では、位置検出装置25は、作業者Hの位置として、表示装置40の位置を検出する。すなわち、本実施形態では、表示装置40の位置を作業者Hの位置とみなす。なお、他の例として、位置検出装置25は、作業者H自体の位置を検出する構成であってもよい。
なお、作業者Hあるいは表示装置40の位置を検出する手法としては、任意の手法が用いられてもよい。
例えば、レーザーを用いて対象物の形状データを検出するレーザーレンジセンサーを用いて、当該対象物の位置を検出する手法が用いられてもよい。
また、例えば、作業者Hあるいは表示装置40にGPS(Global Positioning System)の受信機を備え、GPSの機能により、作業者Hあるいは表示装置40の位置を検出する手法が用いられてもよい。この場合、例えば、当該受信機は、GPSの機能により取得された作業者Hあるいは表示装置40の位置の情報を位置検出装置25に送信し、位置検出装置25は当該情報を取得する。
ロボット制御装置30は、あらかじめ記憶された動作プログラムに基づく制御によってロボット20にあらかじめ決められた作業を行わせる。
ロボット制御装置30は、位置検出装置25から送信された作業者位置情報を受信して取得する。
ロボット制御装置30は、表示対象となる画像の情報あるいは他の情報を表示装置40に送信する。
表示装置40は、例えば、ヘッドマウントディスプレイ(HMD:Head Mounted Display)である。すなわち、表示装置40は、可視光を透過する表示部(例えば、ディスプレイ)を有し、当該表示部のうちの一部または全部に画像を表示することが可能である。
表示装置40は、あらかじめ決められた装着方法に則って作業者Hに装着されている。作業者Hが当該装着方法に則って表示装置40を装着している場合、表示装置40が有する表示部は、作業者Hの視界の少なくとも一部を覆い隠すように配置される。また、当該表示部が可視光を透過するため、作業者Hは、当該表示部越しに外界を見ることができる。ここで、外界は、表示装置40の表示部に対して作業者Hの側とは反対の側の視界を意味する。
表示装置40は、例えば、ロボット制御装置30から送信された画像の情報を受信し、受信された画像の情報に基づく画像を表示部に表示する。
また、表示装置40は、例えば、ロボット制御装置30から送信された画像以外の情報を受信して、受信された情報に基づいて画像を生成し、生成された画像を表示部に表示してもよい。
[ロボット制御装置のハードウェア構成]
図2は、本発明の一実施形態に係るロボット制御装置30のハードウェア構成の一例を示す図である。
ロボット制御装置30は、例えば、プロセッサー31と、メモリー(説明の便宜上、制御装置側メモリー32という。)と、通信部(説明の便宜上、制御装置側通信部34という。)を備える。これらの構成要素は、バス38を介して相互に通信可能に接続されている。また、ロボット制御装置30は、制御装置側通信部34を介してロボット20、位置検出装置25、表示装置40のそれぞれと通信を行う。
プロセッサー31は、例えば、CPU(Central Processing Unit)である。なお、プロセッサー31は、FPGA(Field Programmable Gate Array)などのように、他のプロセッサーであってもよい。プロセッサー31は、制御装置側メモリー32に格納された各種のプログラムを読み出して実行する。
制御装置側メモリー32は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、EEPROM(Electrically Erasable Programmable Read Only Memory)、ROM(Read Only Memory)、RAM(Random Access Memory)などのうちの1以上を含んでもよい。なお、制御装置側メモリー32は、ロボット制御装置30に内蔵される記憶装置に代えて、USB(Universal Serial Bus)などのように、デジタル入出力ポートなどによって接続された外付け型の記憶装置であってもよい。制御装置側メモリー32は、ロボット制御装置30により処理される各種の情報、各種の画像、各種の動作プログラムなどを格納する。
制御装置側通信部34は、外部の装置と通信するインターフェイスである。
制御装置側通信部34は、例えば、USBなどのデジタル入出力ポート、イーサネット(登録商標)のポートなどのうちの1以上を含んで構成される。
なお、ロボット制御装置30は、例えば、キーボード、マウス、タッチパッドなどの入力装置を備える構成であってもよい。また、ロボット制御装置30は、例えば、液晶ディスプレイパネル、有機EL(ElectroLuminescence)ディスプレイパネルなどを有する表示装置を備える構成であってもよい。
[ロボット制御装置および表示装置の機能構成]
図3は、本発明の一実施形態に係るロボット制御装置30の機能構成の一例および表示装置40の機能構成の一例を示す図である。
<ロボット制御装置の機能構成>
ロボット制御装置30は、制御装置側メモリー32と、制御装置側通信部34と、制御部(説明の便宜上、制御装置側制御部36という。)を備える。
制御装置側制御部36は、ロボット制御装置30の全体を制御する。制御装置側制御部36は、表示制御部(説明の便宜上、制御装置側表示制御部51という。)と、ロボット制御部53を備える。制御装置側制御部36に備えられたこれらの機能部は、例えば、プロセッサー31が、制御装置側メモリー32に記憶された各種のプログラムを実行することにより実現される。また、これらの機能部のうち一部または全部は、LSI(Large Scale Integration)、あるいは、ASIC(Application Specific Integrated Circuit)などのようなハードウェア機能部であってもよい。
制御装置側表示制御部51は、表示装置40に表示させる各種の画像を生成する。制御装置側表示制御部51は、生成された画像を表示装置40に出力して表示させる。
ロボット制御部53は、ロボット20を制御し、あらかじめ決められた作業をロボット20に行わせる。
<表示装置の機能構成>
表示装置40は、メモリー(説明の便宜上、表示装置側メモリー42という。)と、通信部(説明の便宜上、表示装置側通信部44という。)と、表示部46と、制御部(説明の便宜上、表示装置側制御部48という。)を備える。
表示装置側メモリー42は、例えば、HDD、SSD、EEPROM、ROM、RAMなどのうちの1以上を含んでもよい。なお、表示装置側メモリー42は、表示装置40に内蔵される記憶装置に代えて、USBなどのように、デジタル入出力ポートなどによって接続された外付け型の記憶装置であってもよい。表示装置側メモリー42は、表示装置40により処理される各種の情報、各種の画像、各種の動作プログラムなどを格納する。
表示装置側通信部44は、外部の装置と通信するインターフェイスである。
表示装置側通信部44は、例えば、USBなどのデジタル入出力ポート、イーサネット(登録商標)のポートなどのうちの1以上を含んで構成される。
表示部46は、可視光を透過するとともに、各種の画像を表示する。
表示装置側制御部48は、表示装置40の全体を制御する。表示装置側制御部48は、表示制御部(説明の便宜上、表示装置側表示制御部61という。)を備える。表示装置側制御部48に備えられた機能部は、例えば、プロセッサー(図示せず)が、表示装置側メモリー42に記憶された各種のプログラムを実行することにより実現される。また、当該機能部は、LSI、あるいは、ASICなどのようなハードウェア機能部であってもよい。
表示装置側表示制御部61は、表示部46に表示させる各種の画像を生成する。表示装置側表示制御部61は、生成された画像を表示部46に出力して表示させる。
ここで、本実施形態では、説明の便宜上、ロボット制御装置30が画像を生成して、当該画像をロボット制御装置30から表示装置40に送って、当該画像を表示装置40が表示する機能と、表示装置40が画像を生成して、当該画像を表示装置40が表示する機能との両方の機能を備える構成を示して、これらの機能をまとめて説明するが、例えば、これらのうちの任意の一方の機能が備えられた構成としてもよい。
すなわち、ロボット制御装置30が画像を生成して表示装置40が当該画像を表示するロボットシステム1が構成されてもよく、あるいは、表示装置40が画像を生成して当該画像を表示するロボットシステム1が構成されてもよく、あるいは、これらの両方の画像表示を行うことが可能なロボットシステム1が構成されてもよい。
[ロボット制御装置における画像生成機能]
ロボット制御装置30の制御装置側表示制御部51が表示対象の画像を生成する場合について説明する。
本実施形態では、制御装置側表示制御部51は、仮想壁を含む画像(説明の便宜上、「仮想壁画像」ともいう。)を生成し、生成された仮想壁画像を表示装置40に表示させる。
ここで、本実施形態では、仮想壁は、仮想現実空間上に仮想的に生成される壁であり、現実のロボット20が仮想現実空間上に反映されたロボットを取り囲む壁である。仮想壁は、例えば、ロボット20が超えることが禁止された領域であってロボット20の可動域となる領域を内側に有する壁である。仮想壁は、例えば、このような領域と同じ領域を仕切ってもよく、あるいは、このような領域よりも少し大きい領域を仕切ってもよい。
作業者Hにとっては、例えば、仮想壁の内側にある当該領域のところまでロボット20に近付くと、ロボット20に触れる可能性がある。本実施形態では、作業者Hがいずれかの仮想壁に接触した場合、あるいは、作業者Hが仮想壁で仕切られた領域に入った場合には、ロボット制御装置30はロボット20の可動部Aを緊急停止させる。
仮想壁は、ロボット20の機能安全機能におけるものであり、例えば、ロボット20の作業者によってリスクアセスメントに基づいて仮想壁が設定される場合があり、あるいは、ロボット20の動作に基づいてロボット20の可動域が算出されて、当該可動域に基づいて仮想壁が設定される場合がある。
なお、仮想壁として、他の定義の仮想的な壁が用いられてもよい。
また、仮想壁は、任意の情報を用いて特定されてもよい。
一例として、1個の仮想壁は、当該仮想壁を特定することが可能な1個以上の特徴値を用いて特定されてもよい。具体例として、仮想壁が四角形である場合には、当該四角形の4個の頂点の座標を特徴値として用いて、当該仮想壁を特定することが可能である。
他の例として、1個の仮想壁は、当該仮想壁の面上の有限個の点の位置の座標を特徴値として用いて特定されてもよい。
制御装置側表示制御部51は、現実空間上での仮想壁とロボット20の可動部Aとの距離を算出する。ここで、現実空間上での仮想壁とは、仮想現実空間における仮想壁をロボット20および作業者Hが存在する現実空間上に配置したと仮定した場合における当該仮想壁に対応した壁を意味する。
また、制御装置側表示制御部51は、ロボット20の可動部Aの速度を算出する。
また、制御装置側表示制御部51は、位置検出装置25から作業者位置情報を取得する。そして、制御装置側表示制御部51は、取得された作業者位置情報に基づいて、現実空間上での仮想壁と作業者Hとの距離を算出する。
また、制御装置側表示制御部51は、ロボット20の可動部Aの姿勢の変化量を算出する。当該変化量は、例えば、所定の単位時間当たりの変化量である。
ここで、ロボット制御装置30では、ロボット制御部53によりロボット20を制御する際に、ロボット20の可動部Aの位置および姿勢、ロボット20の可動部Aの速度、ロボット20の可動部Aの姿勢の変化量を把握している。これにより、制御装置側表示制御部51は、これらを特定することができる。
また、ロボット制御装置30では、制御装置側表示制御部51により仮想壁画像の生成などを行う際に、現実空間上での仮想壁の位置および姿勢を把握している。これにより、制御装置側表示制御部51は、これらを特定することができる。
なお、ロボット20の可動部A以外の箇所の位置は、例えば、ロボット20の可動部Aにより作業が行われているときには、固定された位置となっている。
同様に、ロボット20の可動部A以外の箇所の姿勢は、例えば、ロボット20の可動部Aにより作業が行われているときには、固定された姿勢となっている。
本実施形態では、制御装置側表示制御部51は、ロボット20の動く部分である可動部Aと仮想壁との距離を測って、当該距離に基づいて仮想壁の表示形態を制御するが、他の例として、制御装置側表示制御部51は、ロボット20の動かない部分と仮想壁との距離を測って、当該距離に基づいて仮想壁の表示形態を制御してもよい。ロボット20の動かない部分としては、例えば、基台Bがある。
ここで、ロボット20の可動部Aの位置、ロボット20の可動部Aの姿勢、ロボット20の可動部Aの速度、および、ロボット20の可動部Aの姿勢の変化量は、例えば、ロボット20の可動部Aの任意の箇所(部位)あるいはロボット20の可動部Aの付近の任意の箇所についての値が用いられてもよい。このような箇所としては、例えば、ロボット20の各関節、あるいは、ロボット20の制御点などが用いられてもよい。ロボット20の制御点としては、例えば、ロボット20の先端に対応付けられた仮想的な点であるTCP(Tool Center Point)が用いられてもよい。
また、ロボット20の可動部Aの速度あるいは姿勢の変化量としては、例えば、当該可動部Aの各関節の回動角(回動の角度)の変化量が用いられてもよく、あるいは、当該可動部Aの複数の関節の回動角の変化量の統計値が用いられてもよい。当該統計値としては、例えば、総和した値、すべての積の値、平均値、重み付け平均値などが用いられてもよい。この場合、例えば、可動部Aの各関節の回動角は、所定の時刻ごとに、求められる。
制御装置側表示制御部51は、現実空間上での仮想壁とロボット20の可動部Aとの距離、および、ロボット20の可動部Aの速度に基づいて、仮想壁の表示形態を決定し、仮想壁の表示形態を決定された表示形態へ変更する。
また、制御装置側表示制御部51は、例えば、現実空間上での仮想壁と作業者Hとの距離に基づいて、仮想壁の表示形態を決定し、仮想壁の表示形態を決定された表示形態へ変更する。
また、制御装置側表示制御部51は、例えば、ロボット20の可動部Aの姿勢の変化量に基づいて、仮想壁の表示形態を決定し、仮想壁の表示形態を決定された表示形態へ変更する。
例えば、制御装置側表示制御部51は、現実空間上での仮想壁とロボット20の可動部Aとの距離が短くても、ロボット20の可動部Aの速度が遅い場合には、安全なことを示す表示形式で仮想壁を表示させてもよい。
また、例えば、制御装置側表示制御部51は、現実空間上での仮想壁とロボット20の可動部Aとの距離が長くても、ロボット20の可動部Aの速度が速い場合には、危険なことを示す表示形式で仮想壁を表示させてもよい。
なお、ロボット20の可動部Aの速度は、例えば、当該可動部Aの姿勢の変化量(姿勢変化量)に基づいて決められてもよく、一例として、所定の単位時間当たりの当該可動部Aの姿勢の変化量(姿勢変化量)が当該可動部Aの速度として用いられてもよい。具体例として、ロボット20の可動部Aと仮想壁とが接触していても、当該可動部Aの姿勢の変化量がゼロであるときには、安全とみなされる場合もあり得る。
ここで、現実空間上での仮想壁とロボット20の可動部Aとの距離に基づいて変更される仮想壁の表示形態の種類と、現実空間上での仮想壁と作業者Hとの距離に基づいて変更される仮想壁の表示形態の種類とは、異なっていてもよい。一例として、現実空間上での仮想壁とロボット20の可動部Aとの距離に基づいて変更される仮想壁の表示形態の種類は仮想壁の色であり、現実空間上での仮想壁と作業者Hとの距離に基づいて変更される仮想壁の表示形態の種類は仮想壁の枠線(枠の線)の太さであってもよい。
ここで、仮想壁の表示形態としては、様々な種類の表示形態が変更されてもよい。仮想壁の部位の種類としては、例えば、仮想壁の頂点、仮想壁の頂点を結ぶ直線、仮想壁の頂点を結ぶ直線に囲まれる平面などがある。それぞれの部位の表示の仕方の種類としては、例えば、大きさ、点の太さ(幅)、線の太さ(幅)、色、透過率、形状などがある。
制御装置側表示制御部51は、現実空間上での仮想壁と作業者Hとの距離を算出する際に、あらかじめ決められた値を算出に用いる。当該値としては、例えば、人の腕のリーチの値が用いられてもよい。人の腕のリーチの値は、伸ばした腕の長さである。
例えば、人の腕のリーチの値としては、ISO13855に示される上肢の進入に対する安全距離の850mmをロボット制御装置30に設定してもよい。
より詳しくは、ISO13855では、「上肢の進入に対する安全距離」において、肩の基点までの腕について、開口部が40mmを超えて120mm以下である場合に、長方形、正方形、円形の開口部について、安全距離を850mm以上としてある。ここで、開口部の寸法は、正方形開口部の辺、円形開口部の直径および長方形開口部の最も狭い寸法に相当する。また、14歳以上の人を対象としている。このように、安全規格で人の身長や腕の長さが決まっている。
制御装置側表示制御部51は、現実空間上での仮想壁と作業者Hとの距離を算出する際に、例えば、人の腕のリーチの値が考慮されない場合の距離に対して、人の腕のリーチの値との差分をとった距離を算出することで、人の腕のリーチの値だけ距離を短くする。つまり、制御装置側表示制御部51は、現実空間上での仮想壁と、作業者Hが腕を伸ばしたと仮定したときの指の先との距離を算出する。他の例として、制御装置側表示制御部51は、現実空間上での仮想壁と作業者Hとの距離を算出する際に、例えば、人の腕のリーチの値が考慮されない場合の距離に対して、人の腕のリーチの値との差分をとった距離以外の距離を算出してもよい。
本実施形態では、作業者Hの腕のリーチの値として、あらかじめ設定された一定の値が用いられるが、他の例として、ロボットシステム1に備えられたカメラによって作業者Hを撮像し、得られた画像に基づいて作業者Hの腕のリーチの値が検出されて用いられてもよい。
制御装置側表示制御部51は、例えば、現在の情報に基づいて仮想壁の表示形式を決定してもよく、あるいは、未来に予測される情報に基づいて仮想壁の表示形式を決定してもよい。未来に予測される情報としては、例えば、未来に予測されるロボット20の可動部Aの位置、未来に予測されるロボット20の可動部Aの姿勢、未来に予測される作業者Hの位置などの情報が用いられてもよい。
例えば、制御装置側表示制御部51は、現実空間上での仮想壁と、ロボット20の可動部Aの現在位置から所定時間経過したときの位置との距離に基づいて、仮想壁の表示形態を決定してもよい。当該所定時間としては、任意の時間が用いられてもよい。
また、制御装置側表示制御部51は、例えば、仮想壁の表示形態以外の特性を決定する。表示形態以外の特性としては、例えば、仮想壁の位置および姿勢が用いられてもよい。
制御装置側表示制御部51は、例えば、ロボット20の可動部Aの動作における軌道に基づいて、仮想壁を表示させる。
また、制御装置側表示制御部51は、例えば、ロボット20の可動部Aの動作が変更されるときに、ロボット20の可動部Aの動作に応じて仮想壁を変更する。例えば、制御装置側表示制御部51は、ロボット20の可動部Aの動作における軌道が変化した場合に、軌道の変化に合わせて、表示させる仮想壁を変化する。
また、制御装置側表示制御部51は、例えば、ロボット20の可動部Aの動作が選択されたときに、選択された動作に応じて仮想壁を変更する。動作の選択は、例えば、ユーザーによる操作に基づいて行われてもよく、あるいは、外部の装置から入力される指示に基づいて行われてもよい。
また、制御装置側表示制御部51は、例えば、仮想壁によって囲まれた領域と相似形状の領域を表示する指令がユーザーから受け付けられた場合に、当該相似形状の領域を表示させる。これにより、仮想壁のスケーリングが実現される。
このようなスケーリングでは、例えば、仮想壁によって囲まれた領域の形を保ったまま、当該領域を拡大あるいは縮小することが行われる。
ここで、このようなスケーリングは、例えば、ユーザーから受け付けられた指令に基づいて行われてもよく、あるいは、USBなどの所定の装置から出力されるコマンド(指令)に基づいて行われてもよい。ユーザーからの指令は、例えば、ユーザーインターフェイスを介して入力されて受け付けられる。所定の装置からのコマンド(指令)は、例えば、当該装置とのインターフェイスを介して入力されて受け付けられる。
なお、ユーザーインターフェイスあるいは装置とのインターフェイスは、それぞれ、任意の装置に備えられてもよく、例えば、ロボット制御装置30、表示装置40、あるいは、他の情報処理装置(図示せず)などのうちの1以上の装置に備えられてもよい。
表示装置40は、作業者Hの視界の少なくとも一部に画像を表示させることができる。ここで、表示装置40は、ロボット制御装置30から仮想壁画像などの各種の画像を取得する。表示装置40は、取得された画像を、表示部46に表示させる。
具合例として、作業者Hが表示装置40の表示部46を介して現実空間上でのロボット20を見ているときに、表示装置40の表示部46に仮想壁画像が表示されると、作業者Hは、ロボット20および仮想壁が存在する空間を見ることになる。
[表示装置における画像生成機能]
表示装置40の表示装置側表示制御部61が表示対象の画像を生成する場合について説明する。
表示装置40の表示装置側表示制御部61は、例えば、ロボット制御装置30の制御装置側表示制御部51により行われる画像の生成処理および表示に関する制御と同様な処理および制御を行う機能を有する。
この場合に、表示装置40の表示装置側表示制御部61は、ロボット制御装置30の制御装置側表示制御部51により取得することができるが表示装置40の表示装置側表示制御部61により取得することができない情報を、ロボット制御装置30から受信する。ロボット制御装置30は、当該情報を表示装置40に送信する。
このような情報としては、例えば、位置検出装置25からロボット制御装置30に送信される作業者位置情報、あるいは、ロボット制御装置30において管理されるロボット20の可動部Aの位置および姿勢、ロボット20の可動部Aの速度、ロボット20の可動部Aの姿勢の変化量などの情報がある。
このように、本実施形態では、表示装置40の表示部46に表示する画像の生成および表示に関する制御については、表示装置40の表示装置側表示制御部61は、ロボット制御装置30の制御装置側表示制御部51と、実質的に同様な機能を有する。
ここで、本実施形態では、ロボット制御装置30と表示装置40とが直接的に通信する場合を示すが、他の例として、ロボット制御装置30と表示装置40との通信を中継する情報処理装置(図示せず)を備えてもよい。この場合、ロボット制御装置30から当該情報処理装置へ無線または有線で送信された情報が、当該情報処理装置により受信されて表示装置40へ無線または有線で送信される。また、表示装置40から当該情報処理装置へ無線または有線で送信された情報が、当該情報処理装置により受信されてロボット制御装置30へ無線または有線で送信される。
このような情報処理装置は、例えば、図3に示されるような表示装置40が備える機能の一部を当該表示装置40の代わりに備えてもよく、この構成では、表示装置40と当該情報処理装置とが連携して動作することで、図3に示されるような表示装置40と同様な機能を実現する。
このような情報処理装置は、例えば、監視制御装置などと呼ばれてもよい。
[仮想壁の表示形態の変更の具体例]
図4〜図7を参照して、仮想壁の表示形態の変更の具体例を説明する。
なお、以下では、ロボット制御装置30の制御装置側表示制御部51が仮想壁の表示形態を変更する処理を例として説明するが、表示装置40の表示装置側表示制御部61が仮想壁の表示形態を変更する処理についても同様である。
図4は、本発明の一実施形態に係るロボット20の可動部Aの姿勢を考慮した場合における仮想壁(説明の便宜上、第1仮想壁101−1〜第4仮想壁101−4という。)とロボット20の可動部Aとの距離の一例を示す図である。なお、図4の例では、ロボット20を簡易化して示してある。
図4には、現実空間におけるロボット20と、現実空間に反映させた4個の仮想壁に対応した4個の壁を示してある。本例では、説明の便宜上、これら4個の壁を、第1仮想壁101−1、第2仮想壁101−2、第3仮想壁101−3、第4仮想壁101−4として示してある。図4の例では、ロボット20の可動部Aは、ある姿勢をとっている。
また、図4には、ロボット20の可動部Aの姿勢を考慮した場合について、それぞれの仮想壁(第1仮想壁101−1〜第4仮想壁101−4)とロボット20の可動部Aとの距離Dr1〜Dr4を示してある。
ここで、図4の例では、第1仮想壁101−1〜第4仮想壁101−4およびロボット20を上方から下方へ向かった視線で見た様子を示してある。図4の例では、4個の仮想壁(第1仮想壁101−1〜第4仮想壁101−4)は、上下方向に平行な面を有する壁である。
そして、それぞれの仮想壁(第1仮想壁101−1〜第4仮想壁101−4)とロボット20の可動部Aとの距離Dr1〜Dr4は、それぞれの仮想壁(第1仮想壁101−1〜第4仮想壁101−4)の面に垂直な方向(当該面に直交する方向)について、ロボット20の可動部Aとそれぞれの仮想壁(第1仮想壁101−1〜第4仮想壁101−4)の面との最短距離となっている。
なお、当該最短距離については、例えば、当該最短距離を求めるための数式などがあらかじめ設定されて当該数式などに基づいて求められてもよく、あるいは、いわゆる総当たりで当該最短距離が求められてもよい。
本実施形態では、ロボット20の可動部Aの位置は、当該可動部Aの部位によって異なり、当該可動部Aの姿勢によって異なる位置となっている。ロボット20の可動部Aとそれぞれの仮想壁(第1仮想壁101−1〜第4仮想壁101−4)の面との距離を求める場合には、例えば、当該距離が最短となるように、当該可動部Aの部位が選択される。
制御装置側表示制御部51は、第1仮想壁101−1〜第4仮想壁101−4とロボット20との位置関係に基づいて、注意喚起の度合いを制御する。
本実施形態では、制御装置側表示制御部51は、ロボット20の可動部Aの姿勢を考慮した仮想壁(第1仮想壁101−1〜第4仮想壁101−4)とロボット20との距離が近いほど、注意喚起の度合いを大きくする。
図4の例では、それぞれの仮想壁(第1仮想壁101−1〜第4仮想壁101−4)とロボット20の可動部Aとの距離の大小関係は、Dr1<Dr4<Dr2=Dr3である。このため、仮想壁(第1仮想壁101−1〜第4仮想壁101−4)とロボット20の可動部Aとの距離に基づく注意喚起の度合いは、高い方から低い順へ、第1仮想壁101−1、第4仮想壁101−4、第2仮想壁101−2および第3仮想壁101−3となる。ここで、第2仮想壁101−2と第3仮想壁101−3は、注意喚起の度合いが等しい。
また、制御装置側表示制御部51は、可動部Aの速度に基づいて、注意喚起の度合いを制御する。
本実施形態では、制御装置側表示制御部51は、ロボット20の可動部Aの単位時間当たりの姿勢変化量が大きいほど、注意喚起の度合いが大きくなるように、すべての仮想壁を大きくする。ロボット20の単位時間当たりの姿勢変化量の大きさは、ロボット20の動作の速さの大小を表す。
例えば、連続運転状態のようにロボット20の可動部Aが高速で動作している場合、注意喚起の度合いは比較的大きくなり、一方、停止状態あるいはダイレクトティーチング時のようにロボット20の可動部Aが低速で動作している場合は、注意喚起の度合いは比較的小さくなる。
図5は、本発明の一実施形態に係る仮想壁(第1仮想壁101−1〜第4仮想壁101−4)と作業者Hとの距離の一例を示す図である。なお、図4の例では、ロボット20を簡易化して示してある。
本実施形態では、作業者Hは、表示装置40を装着している。
図5には、現実空間における作業者Hと、現実空間に反映させた4個の仮想壁に対応した4個の壁を示してある。本例では、説明の便宜上、これら4個の壁を、第1仮想壁101−1〜第4仮想壁101−4として示してある。
また、図5には、それぞれの仮想壁(第1仮想壁101−1〜第4仮想壁101−4)と作業者Hとの距離Dh1〜Dh4を示してある。
ここで、図5の例では、第1仮想壁101−1〜第4仮想壁101−4およびロボット20を上方から下方へ向かった視線で見た様子を示してある。図5の例では、4個の仮想壁(第1仮想壁101−1〜第4仮想壁101−4)は、上下方向に平行な面を有する壁である。これらの4個の仮想壁(第1仮想壁101−1〜第4仮想壁101−4)は、図4に示されるものと同様である。
そして、それぞれの仮想壁(第1仮想壁101−1〜第4仮想壁101−4)と作業者Hとの距離Dh1〜Dh4は、それぞれの仮想壁(第1仮想壁101−1〜第4仮想壁101−4)の面に垂直な方向(当該面に直交する方向)について、作業者Hとそれぞれの仮想壁(第1仮想壁101−1〜第4仮想壁101−4)の面との最短距離となっている。
なお、当該最短距離については、例えば、当該最短距離を求めるための数式などがあらかじめ設定されて当該数式などに基づいて求められてもよく、あるいは、いわゆる総当たりで当該最短距離が求められてもよい。
本実施形態では、作業者Hの位置は、一点としてある。また、本実施形態では、作業者Hの位置は、例えば、作業者Hがそれぞれの仮想壁(第1仮想壁101−1〜第4仮想壁101−4)との最短距離の方向に腕を伸ばしたときの指先の位置としてある。
制御装置側表示制御部51は、第1仮想壁101−1〜第4仮想壁101−4と作業者Hとの位置関係に基づいて、注意喚起の度合いを制御する。
本実施形態では、制御装置側表示制御部51は、仮想壁(第1仮想壁101−1〜第4仮想壁101−4)と作業者Hとの距離が近いほど、注意喚起の度合いを大きくする。
図5の例では、それぞれの仮想壁(第1仮想壁101−1〜第4仮想壁101−4)と作業者Hとの距離の大小関係は、Dh1=Dh2<Dh3=Dh4である。このため、仮想壁(第1仮想壁101−1〜第4仮想壁101−4)と作業者Hとの距離に基づく注意喚起の度合いは、高い方から低い順へ、第1仮想壁101−1および第2仮想壁101−2、第3仮想壁101−3および第4仮想壁101−4となる。ここで、第1仮想壁101−1と第2仮想壁101−2は、注意喚起の度合いが等しい。また、第3仮想壁101−3と第4仮想壁101−4は、注意喚起の度合いが等しい。
図6は、本発明の一実施形態に係る表示装置40に表示される仮想壁(第1仮想壁101−1〜第4仮想壁101−4)の一例を示す図である。なお、図6の例では、仮想壁(第1仮想壁101−1〜第4仮想壁101−4)の表示形態については、模式的に示してあり、例えば、色は現実のものとは異なり得る。
ここで、仮想壁(第1仮想壁101−1〜第4仮想壁101−4)は、例えば、図4の例および図5の例で示されるものと同様である。
図6の例では、4個の仮想壁(第1仮想壁101−1〜第4仮想壁101−4)が、ロボット20を取り囲むように、設定されている。
本実施形態では、制御装置側表示制御部51は、それぞれの仮想壁(第1仮想壁101−1〜第4仮想壁101−4)とロボット20の可動部Aとの距離およびロボット20の可動部Aの速度に基づく注意喚起の度合いについては、それぞれの仮想壁(第1仮想壁101−1〜第4仮想壁101−4)の頂点で囲まれる平面の色を制御することで表す。具体例として、制御装置側表示制御部51は、注意喚起の度合いが所定の閾値以上で高い場合には当該色を赤色とし、注意喚起の度合いが当該閾値未満で低い場合には当該色を緑色とする。
ここで、注意喚起の度合いと色との対応は、例えば、3以上の対応が用いられてもよく、注意喚起の度合いの範囲と色との対応が制御装置側表示制御部51に設定される。なお、注意喚起の度合いは、例えば、それぞれの仮想壁(第1仮想壁101−1〜第4仮想壁101−4)とロボット20の可動部Aとの距離およびロボット20の可動部Aの速度に基づく値で表される。
なお、色の変化は、例えば、注意喚起の度合いに応じて離散的な色の変化が用いられてもよく、あるいは、色のグラデーションのように、注意喚起の度合いに応じて連続的な色の変化が用いられてもよい。
本実施形態では、制御装置側表示制御部51は、それぞれの仮想壁(第1仮想壁101−1〜第4仮想壁101−4)と作業者Hとの距離に基づく注意喚起の度合いについては、仮想壁(第1仮想壁101−1〜第4仮想壁101−4)の頂点を結ぶ直線の太さを制御することで表す。具体例として、制御装置側表示制御部51は、注意喚起の度合いが所定の閾値以上で高い場合には当該直線を太くし、注意喚起の度合いが当該閾値未満で低い場合には当該直線を細くする。
また、図6の例では、それぞれの仮想壁(第1仮想壁101−1〜第4仮想壁101−4)の面は、半透明で表示されている。当該半透明は、例えば、透過率が50%〜60%程度である。
なお、図6の例は、仮想壁(第1仮想壁101−1〜第4仮想壁101−4)の表示形式の一例であり、他の様々な表示形式が用いられてもよい。
図7は、本発明の一実施形態に係る制御装置側表示制御部51により行われる仮想壁の表示形式を変更する処理の手順の一例を示す図である。
本例では、N(Nは1以上の整数)個の仮想壁が生成される場合を説明する。図4の例および図5の例では、n=4である。また、n(nは1以上でN以下の整数)により各仮想壁の番号を示す。
なお、本実施形態では、仮想現実空間に存在する仮想壁と現実空間に存在するロボット20および作業者Hとの位置関係などを表すために、これらが現実空間に存在したと仮定した場合を想定して位置関係などを表すが、逆に、これらが仮想現実空間に存在したと仮定した場合を想定して位置関係などを表してもよく、あるいは、これらが他の同一の空間に存在したと仮定した場合を想定して位置関係などを表してもよい。
ここで、制御装置側表示制御部51は、例えば、作業者Hの位置に基づいて現実空間における作業者Hの視覚の領域を仮想現実空間として特定し、現実空間と仮想現実空間とを対応付ける。そして、制御装置側表示制御部51は、現実空間に存在するロボット20の位置および姿勢、作業者Hの位置などと、仮想現実空間に存在する仮想壁の位置および姿勢などとを、同一の空間において対応付けることができる。この対応付けは、例えば、現実空間における三次元座標と、仮想現実空間における三次元座標との対応関係に基づいて行われてもよい。なお、現実空間における三次元座標と、仮想現実空間における三次元座標とは、それぞれ、任意の座標系が用いられてもよい。
図7の例では、作業空間は、現実空間を表す。また、n番目の仮想壁を「仮想壁n」と呼んで説明する。
(ステップS1)
制御装置側表示制御部51は、作業者Hの作業空間上の位置Xhを取得する。そして、ステップS2の処理へ移行する。
本実施形態では、当該位置Xhとして、当該作業者Hが装着した表示装置40の位置が用いられる。
(ステップS2)
制御装置側表示制御部51は、ロボット20の作業空間上の位置Xrを取得する。そして、ステップS3の処理へ移行する。
(ステップS3)
制御装置側表示制御部51は、ロボット20の作業空間上の姿勢Prを取得する。そして、ステップS4の処理へ移行する。
(ステップS4)
制御装置側表示制御部51は、ロボット20の作業空間上の姿勢Prの変化量ΔPrを取得する。そして、ステップS5の処理へ移行する。
(ステップS5)
制御装置側表示制御部51は、nに1を設定する。そして、ステップS6の処理へ移行する。
(ステップS6)
制御装置側表示制御部51は、nがN以下であるか否かを判定する。
この判定の結果、制御装置側表示制御部51は、nがN以下であると判定した場合には(ステップS6:YES)、ステップS7の処理へ移行する。
一方、この判定の結果、制御装置側表示制御部51は、nがN以下ではないと判定した場合には(ステップS6:NO)、本フローの処理を終了する。
(ステップS7)
制御装置側表示制御部51は、仮想壁nの作業空間上の位置Xb(n)とロボット20の作業空間上の位置Xrとの距離Dr(n)を計算する。そして、ステップS8の処理へ移行する。ここで、当該距離Dr(n)は、ロボット20の作業空間上の姿勢Prを考慮した距離である。
(ステップS8)
制御装置側表示制御部51は、ロボット20の作業空間上の姿勢Prの変化量ΔPrと、距離Dr(n)に基づいて、仮想壁nについて、注意喚起の度合いα(n)を決定する。そして、ステップS9の処理へ移行する。
本例では、仮想壁nの作業空間上の位置Xb(n)とロボット20の作業空間上の位置Xrとの距離Dr(n)の大小に応じて、注意喚起の度合いα(n)が異なり得る。
また、本例では、ロボット20の作業空間上の姿勢Prの変化量ΔPrの大小に応じて、注意喚起の度合いα(n)が異なり得る。
(ステップS9)
制御装置側表示制御部51は、仮想壁nの作業空間上の位置Xb(n)と作業者Hの作業空間上の位置Xhに基づいて、仮想壁nについて、注意喚起の度合いβ(n)を決定する。そして、ステップS10の処理へ移行する。
本例では、仮想壁nの作業空間上の位置Xb(n)と作業者Hの作業空間上の位置Xhとの距離Dh(n)の大小に応じて、注意喚起の度合いβ(n)が異なり得る。
(ステップS10)
制御装置側表示制御部51は、注意喚起の度合いα(n)および注意喚起の度合いβ(n)にしたがった表示形態で、表示装置40に、仮想壁nを描画することで表示させる。そして、ステップS11の処理へ移行する。
これにより、注意喚起の度合いα(n)と注意喚起の度合いβ(n)が同時に表示形式に反映される。
(ステップS11)
制御装置側表示制御部51は、nに1を加算する。そして、ステップS6の処理へ移行する。
ここで、本例では、実質的に、仮想壁nの作業空間上の位置Xb(n)とロボット20の作業空間上の位置Xrとの距離Dr(n)、仮想壁nの作業空間上の位置Xb(n)と作業者Hの作業空間上の位置Xhとの距離Dh(n)、および、ロボット20の作業空間上の姿勢Prの変化量ΔPrと、注意喚起の度合いα(n)との対応関係が、あらかじめ設定される。このような対応関係は、例えば、距離Dr(n)に関する1以上の閾値、距離Dh(n)に関する1以上の閾値、姿勢Prの変化量ΔPrに関する1以上の閾値を用いて設定されてもよい。
また、図7の例では、注意喚起の度合いα(n)および注意喚起の度合いβ(n)といった2種類の注意喚起の度合いに基づいて仮想壁nの表示形態が決定される場合を示したが、他の例として、注意喚起の度合いα(n)に基づいて仮想壁nの表示形態が決定されてもよく、この場合、注意喚起の度合いβ(n)は決定されなくてもよく、注意喚起の度合いβ(n)を求める処理は行われなくてもよい。
また、図7の例では、ロボット20に対して表示する仮想壁nがあらかじめ設定されていて、当該仮想壁nの表示形態が変更される場合について説明した。この場合、ロボット20に対して表示する仮想壁nを決定する手法としては、任意の手法が用いられてもよい。
ロボット20に対して表示する仮想壁nを決定する手法では、例えば、仮想壁nの位置および姿勢が決定されてもよい。また、仮想壁nの初期的な表示形態が設定されてもよい。
本実施形態では、作業者Hへの注意喚起の度合いα(n)、β(n)に基づいて、仮想壁nの表示形態が変更させられる。
また、本実施形態では、表示装置40を装着した作業者Hに対して注意喚起が行われる場合を示すが、例えば、表示装置40を装着した作業者Hが、注意喚起が行われたことを、表示装置40を装着していない人に知らせてもよい。すなわち、表示装置40を装着していない人がロボット20の付近で作業を行う場合に、表示装置40を装着した作業者Hが、注意喚起の有無を監視して、注意喚起があったときに、当該人に対して注意喚起を伝えることができる。
[未来の予測に基づく仮想壁の表示]
ここで、例えば、ロボット20に関する現在の情報に基づいて仮想壁の表示および仮想壁の表示形態の変更が行われるばかりでなく、例えば、ロボット20に関する未来の予測される情報に基づいて仮想壁の表示および仮想壁の表示形態の変更が行われてもよい。
未来としては、現在に対して任意の未来が用いられてもよく、例えば、1秒後の未来、2秒後の未来、あるいは、1分後の未来、10分後の未来、などが用いられてもよい。
また、例えば、ロボット20に関する現在の情報に基づく仮想壁と、ロボット20に関する未来の予測される情報に基づく仮想壁とが、異なる表示形態で、同時に表示されてもよい。この場合に、ロボット20に関する未来の予測される情報に基づく仮想壁が、複数の異なる時間のそれぞれに対応する複数の未来の仮想壁であってもよい。未来における複数の異なる時間としては、任意の時間であってもよく、例えば、1秒後、2秒後、3秒後などといったように、一定の時間間隔をもった複数の異なる時間であってもよい。
また、例えば、ロボット20に関する現在の情報に基づく仮想壁が表示されずに、1以上の未来の仮想壁が表示される場合があってもよい。
異なる表示形態としては、任意の表示形態が用いられてもよく、例えば、仮想壁の面の色、あるいは、透過率などが、異なる表示形態に設定されてもよい。
また、複数の時間(現在あるいは1以上の未来のうちの2以上の時間)の仮想壁を同時に表示する場合、例えば、2個以上の仮想壁が重なる部分において、注意喚起の度合いが最も大きい仮想壁の表示形態を優先的に使用して表示することが行われてもよい。
また、ロボット20に関する未来の予測される情報としては、任意の手法を用いて取得されてもよい。例えば、ロボット20に関する現在の情報と過去の情報との一方または両方に基づいて、同様な状況が継続することを仮定して、ロボット20に関する未来の予測される情報が取得されてもよい。一例として、ロボット20の可動部Aの現在の位置および姿勢と、当該位置および当該姿勢の変化の仕方に基づいて、ロボット20の可動部Aの未来の位置および姿勢を予測することが可能である。当該位置および当該姿勢の変化の仕方としては、例えば、変化の速度などが用いられてもよい。
[表示する仮想壁の決定の具体例]
図8〜図27を参照して、表示する仮想壁の決定の具体例を説明する。
なお、以下では、ロボット制御装置30の制御装置側表示制御部51が表示する仮想壁を決定する処理を例として説明するが、表示装置40の表示装置側表示制御部61が表示する仮想壁を決定する処理についても同様である。
<ユーザーにより実行される準備>
ロボット制御装置30が自動的に仮想壁を設定することを可能とするために、ユーザーは、あらかじめ、ロボット20の動作の経路をロボット制御装置30に教示して、ロボット制御装置30にロボット20の動作のシミュレーションを実行させる。ここで、教示としては、任意の教示が行われてもよく、本実施形態では、ポイントごとの教示が行われる。
なお、ユーザーは、例えば、作業者Hであってもよく、あるいは、他の任意の者であってもよい。
また、本実施形態では、ロボット制御装置30の制御装置側表示制御部51が、ロボット20の動作のシミュレーション、当該シミュレーションの結果の表示、当該シミュレーションの結果の分析、仮想壁の設定などの各種の処理を実行する。
本実施形態では、動作命令として、GO命令(ゴー命令)と、MOVE命令(ムーブ命令)が用いられている。
GO命令は、Point to Point(ポイント トゥ ポイント)の動作命令であり、二点の位置が指定されて、当該二点のうちの一点の位置から他の一点の位置への動作の命令である。
MOVE命令は、例えば直線の経路の動作のように、経路の形が指定される動作の命令である。
図8は、本発明の一実施形態に係るロボット20の動作経路の一例を示す図である。なお、図8の例では、ロボット20を簡易化して示してある。
図8には、ロボットシステム1における作業環境の一例として、ロボット20と、加工前の部品を載置するパレットである加工前部品パレット201と、加工済みの部品を載置するパレットである加工済み部品パレット202と、加工を行う機械である加工機203を示してある。
図8には、説明の便宜上、XYZ直交座標系の軸を示してある。
また、図8には、XYZ三次元直交座標系の一例を示してある。
図8の例では、ロボット20は、(処理D1)〜(処理D5)を行う。
(処理D1)は、ロボット20が、加工前部品パレット201から加工対象の部品を加工機203の手前まで持っていく処理である。図8には、(処理D1)の経路(説明の便宜上、第1経路a1という。)が示されている。(処理D1)は、例えば、GO命令により指示される。
(処理D2)は、ロボット20が、部品を加工機203の供給口のところまで運搬する処理である。図8には、(処理D2)の経路(説明の便宜上、第2経路a2という。)が示されている。(処理D2)は、例えば、MOVE命令により指示される。
(処理D3)は、ロボット20が、部品を加工機203に供給した後に、加工機203から加工済みの部品を受け取る位置に移動する処理である。図8には、(処理D3)の経路(説明の便宜上、第3経路a3という。)が示されている。(処理D3)は、MOVE命令により指示される。
(処理D4)は、ロボット20が、加工済みの部品を受け取る処理である。図8には、(処理D4)の経路(説明の便宜上、第4経路a4という。))が示されている。(処理D4)は、例えば、MOVE命令により指示される。
(処理D5)は、ロボット20が、加工済みの部品を加工済み部品パレット202に持っていく処理である。図8には、(処理D5)の経路(説明の便宜上、第5経路a5という。)が示されている。(処理D5)は、例えば、GO命令により指示される。
<ユーザーインターフェイスの例>
本実施形態では、ユーザーインターフェイスとしては、ロボット制御装置30と無線または有線により通信可能に接続される情報処理装置(図示せず)の画面が用いられる。当該情報処理装置は、例えば、コンピューターである。
ユーザーが、シミュレーション空間に仮想壁を生成することを指示する方法として、例えば、プログラミングベースで、仮想壁を生成したい動作に対してコマンドを記述することで展開する方法が用いられる。あるいは、仮想壁を生成したい動作のコードをドラッグして、設定用のウィザードを開くことで展開する方法が用いられる。
<ソースコードの例>
図9は、本発明の一実施形態に係るソースコード(説明の便宜上、第1ソースコード251という。)の一例を示す図である。
当該第1ソースコード251は、ユーザーにより、記述される。
例えば、始点である第1の位置(Point1)および終点である第2の位置(Point2)が指定された処理の実行命令([Go Point1 Go Point2])において、第1の仮想壁を生成する処理の実行命令(Virtual Wall1{properties})が指定されている。
同様に、始点である第3の位置(Point3)および終点である第4の位置(Point4)が指定された処理の実行命令([Go Point3 Go Point4])において、第2の仮想壁を生成する処理の実行命令(Virtual Wall2{properties})が指定されている。
なお、仮想壁を生成する処理では、属性(properties)が指定され得る。
図10は、本発明の一実施形態に係るソースコード(説明の便宜上、第2ソースコード252という。)の他の例を示す図である。
当該第2ソースコード252は、ユーザーにより、記述される。
第1の位置(Point1)が指定された処理の実行命令(Go Point1)、第2の位置(Point2)が指定された処理の実行命令(Go Point2)、第3の位置(Point3)が指定された処理の実行命令(Go Point3)、第4の位置(Point4)が指定された処理の実行命令(Go Point4)がマウスのクリック等に応じて選択された状態で、所定のウィザード261がポップアップ表示されている。当該ウィザード261は、仮想壁の生成を指示するためのウィザードであり、指定されると、仮想壁を生成する処理が実行される。
<ロボットのモデル化>
ロボット20の全体を考慮して仮想壁を設定するために、ロボット20をモデル化する。
本実施形態では、ロボット制御装置30の制御装置側表示制御部51は、ロボット20の各軸のアーム(第1アームA1、第2アームA2)を直方体あるいは立方体の近似モデルを使用してモデル化する。
なお、他の例として、このようなモデル化がユーザーなどにより行われて、当該モデル化の結果がロボット制御装置30に設定されて制御装置側表示制御部51により使用されてもよい。
図11は、本発明の一実施形態に係るロボット20のモデル化の一例を示す図である。
本実施形態では、ロボット20を上下方向で見た場合について、基台Bの部分を矩形の基台部301に簡易化し、第1アームA1の部分を矩形の第1アーム部311に簡易化し、第2アームA2の部分を矩形の第2アーム部312に簡易化することで、ロボット20を簡易な形状にモデル化している。
また、図11には、説明の便宜上、XYZ直交座標系の軸を示してある。
ここで、モデル化としては、他の任意のモデル化の手法が用いられてもよい。
例えば、CAD(Computer Aided Design)モデルのようなポリゴンモデルを使用することで、より詳細なモデル化を行い、これにより、より詳細なシミュレーションの結果を得ることも可能である。
<各時刻におけるシミュレーションの結果>
図12〜図13は、それぞれ、本発明の一実施形態に係る時刻ごとにおけるモデル化されたロボット20の位置の一例を示す図である。
図12〜図13には、それぞれ、説明の便宜上、XYZ直交座標系の軸を示してある。
図12〜図13には、それぞれ、ロボット20の動作をシミュレーションした結果として、それぞれの時刻における、モデル化されたロボット20の位置を示してある。
このようなシミュレーションの結果は、例えば、ロボット制御装置30の制御装置側表示制御部51により、ユーザーインターフェイスとなる画面に表示される。
なお、図12の例〜図13の例では、本実施形態において固定されている基台部301については、図示を省略してある。
また、図12の例〜図13の例では、仮想壁を設定するために使用され得るメッシュ(説明の便宜上、第1メッシュ351−1〜第2メッシュ351−2という。)を示してある。第1メッシュ351−1〜第2メッシュ351−2は、一定の間隔ごとに配置された複数の直線、および、当該直線と直交して一定の間隔ごとに配置された複数の直線から構成されている。第1メッシュ351−1〜第2メッシュ351−2の間隔の大きさは、例えば、ユーザーなどにより、任意に変更されることが可能であってもよい。
なお、他の例として、第1メッシュ351−1〜第2メッシュ351−2は、表示されなくてもよい。
図12の例では、ある時刻t1における、モデル化されたロボット20の位置のシミュレーション結果が示されている。
具体的には、ロボット20がロボット制御装置30により制御された状態の位置として、第1アーム部311の位置(説明の便宜上、第1位置361−1という。)と、第2アーム部312の位置(説明の便宜上、第2位置361−2という。)が示されている。また、仮にロボット20に非常停止命令が発せられた場合にロボット20が到達し得る位置として、第1アーム部311の位置(説明の便宜上、第3位置371−1という。)と、第2アーム部312の位置(説明の便宜上、第4位置371−2という。)が示されている。
図13の例では、他の時刻t2における、モデル化されたロボット20の位置のシミュレーション結果が示されている。
具体的には、ロボット20がロボット制御装置30により制御された状態の位置として、第1アーム部311の位置(説明の便宜上、第5位置362−1という。)と、第2アーム部312の位置(説明の便宜上、第6位置362−2という。)が示されている。また、仮にロボット20に非常停止命令が発せられた場合にロボット20が到達し得る位置として、第1アーム部311の位置(説明の便宜上、第7位置372−1という。)と、第2アーム部312の位置(説明の便宜上、第8位置372−2という。)が示されている。
さらに、図12の例〜図13の例と同様に、シミュレーションにおける他の時刻tについても、ロボット20がロボット制御装置30により制御された状態の位置、および、仮にロボット20に非常停止命令が発せられた場合にロボット20が到達し得る位置が取得される。
なお、非常停止命令は、例えば、ロボット制御装置30からロボット20に対して送信され、これに応じてロボット20は空走動作を行って緊急停止する。
また、ロボット20が停止している状態では、緊急停止は考えられなくてもよい。
<すべての時刻におけるシミュレーションの結果の重ね合わせ>
すべての時刻におけるシミュレーションの結果を重ね合わせると、ユーザーにより教示されたロボット20の動作が行われる場合にロボット20が通過し得る領域が生成される。
図14は、本発明の一実施形態に係るモデル化されたロボット20が通過し得る領域の一例を示す図である。
図14には、説明の便宜上、XYZ直交座標系の軸を示してある。
図14には、メッシュ(説明の便宜上、第3メッシュ411という。)が示されている。
図14には、ロボット20が通常の動作を行う場合に第1アーム部311が通過し得る領域(説明の便宜上、第1領域401という。)と、ロボット20が通常の動作を行う場合に第2アーム部312が通過し得る領域(説明の便宜上、第2領域402という。)と、ロボット20が非常停止命令時に空走動作を行う場合に第1アーム部311および第2アーム部312が通過し得る領域(説明の便宜上、第3領域403という。)が示されている。
ここで、通常の動作とは、非常停止命令が発生られていないときの動作である。
<安全領域の生成>
ロボット制御装置30の制御装置側表示制御部51は、シミュレーションの結果に基づいて、ロボット20が到達しない位置から構成される領域を安全領域として設定する。
図15は、本発明の一実施形態に係るモデル化されたロボット20が通過しない安全領域431の一例を示す図である。
図15には、説明の便宜上、XYZ直交座標系の軸を示してある。
図15の例では、図14の例に対して安全領域431が設定されている。
図15には、図14に示される第3メッシュ411および第1領域401〜第3領域403が示されている。
ここで、本実施形態では、第3メッシュ411により構成される正方形を単位として、安全領域431が設定されている。つまり、1個の正方形を考えたときに、ロボット20が通過し得る領域(第1領域401〜第3領域403)が当該正方形と全く重複しない場合には当該正方形の領域を安全領域431に含める一方、ロボット20が通過し得る領域(第1領域401〜第3領域403)が当該正方形の一部または全部と重複する場合には当該正方形の領域を安全領域431に含めない。
<数値パターン化>
ロボット制御装置30の制御装置側表示制御部51は、ロボット20が通過し得る領域(説明の便宜上、「通過領域」ともいう。)と安全領域431を数値パターン化する。
図16は、本発明の一実施形態に係る通過領域432と安全領域431の数値パターンの一例を示す図である。
図16には、説明の便宜上、平面上のxy直交座標系を示してある。本例では、xy直交座標系のx軸の方向は水平方向に相当し、y軸の方向は垂直方向に相当する。
図16には、図15に示されるものと同様な第3メッシュ411を示してある。
また、図16には、安全領域431と、通過領域432を示してある。
なお、安全領域431は、無限の領域となり得るため、本実施形態では、限定された領域について演算処理を行っている。
ロボット制御装置30の制御装置側表示制御部51は、第3メッシュ411により構成される複数の正方形について、安全領域431に含まれる正方形には「1」の値を設定し、通過領域432に含まれる正方形には「0」の値を設定する。これにより、安全領域431と通過領域432が数値パターン化される。
このように、ロボット制御装置30の制御装置側表示制御部51は、第3メッシュ411により構成される複数の正方形のそれぞれにスコア(値)を割り振る。
ここで、安全領域431に含まれる正方形に設定される値と、通過領域432に含まれる正方形に設定される値としては、それぞれ、任意の値が設定されてもよい。
<エッジの検出>
ロボット制御装置30の制御装置側表示制御部51は、図16に示される数値パターンを画像情報として、所定のフィルタリングの処理を行って、エッジを検出する。この場合、ロボット制御装置30の制御装置側表示制御部51は、第3メッシュ411により構成される複数の正方形のそれぞれを1個の画素とみなして、各画素に画素値である数値が設定された画像として扱う。画素値は、例えば、輝度値とみなされてもよい。
ここで、所定のフィルタリングとしては、エッジを検出するための任意のフィルタリングが用いられてもよく、例えば、ソーベルフィルタのフィルタリング、あるいは、ラプラシアンフィルタのフィルタリングなどが用いられてもよい。
図17は、本発明の一実施形態に係る数値パターンのフィルタリング結果の一例を示す図である。
図17には、説明の便宜上、図16の場合と同様に、平面上のxy直交座標系を示してある。
図17には、図16に示されるものと同様な第3メッシュ411を示してある。
そして、当該第3メッシュ411により構成される複数の正方形のそれぞれに、フィルタリング結果の数値が示されている。
ここで、本例のフィルタリング処理を説明する。
図17に示されるxy直交座標系にしたがって、第3メッシュ411により構成される複数の正方形が並ぶ方向をx方向とy方向とする。図17の例において、x方向は水平の方向であり、y方向は垂直の方向である。
x方向に並ぶ複数の正方形を順番に番号付けした場合における当該番号をiで表す。同様に、y方向に並ぶ複数の正方形を順番に番号付けした場合における当該番号をjで表す。
iとjにより特定される正方形に割り当てられた画素値をI(i、j)で表す。
xの微小成分をΔxと表し、yの微小成分をΔyと表し、I(i、j)の微小成分をΔI(i、j)と表す。
式(1)には、画素値について、(x方向の勾配、y方向の勾配)を示してある。
式(2)には、画素値の全体的な勾配ΔI(i、j)を示してある。
式(3)には、x方向についてオペレーターを示してある。
式(4)には、y方向についてオペレーターを示してある。
Figure 2020011357
Figure 2020011357
Figure 2020011357
Figure 2020011357
ロボット制御装置30の制御装置側表示制御部51は、式(1)に示される(x方向の勾配、y方向の勾配)を算出する。
そして、制御装置側表示制御部51は、式(2)に示される画素値全体の勾配ΔI(i、j)を算出する。
この場合に、制御装置側表示制御部51は、注目する画素およびその周辺の画素の画素値のマトリクスに、式(3)に示されるx方向のオペレーターを掛ける演算を行うことで、x方向の勾配を導出する。ここで、当該マトリクスと当該オペレーターとは、x方向の画素の数(正方形の数)が同じであり、かつ、y方向の画素の数(正方形の数)が同じである。また、当該マトリクスの中心の画素(正方形)が注目する画素(正方形)となる。
同様に、制御装置側表示制御部51は、注目する画素およびその周辺の画素の画素値のマトリクスに、式(4)に示されるy方向のオペレーターを掛ける演算を行うことで、y方向の勾配を導出する。ここで、当該マトリクスと当該オペレーターとは、x方向の画素の数(正方形の数)が同じであり、かつ、y方向の画素の数(正方形の数)が同じである。また、当該マトリクスの中心の画素(正方形)が注目する画素(正方形)となる。
ここで、注目する画素およびその周辺の画素の画素値のマトリクスは、x方向の演算とy方向の演算とで共通である。
また、本例では、マトリクスにオペレーターを掛ける演算として、それぞれの画素(正方形)についてマトリクスの値とオペレーターの値とを乗算し、その乗算結果をすべての画素(正方形)について総和する演算が行われる。
具体例として、3×3のマトリクスおよびオペレーターを例として、マトリクスが{1行目が(1、1、0)、2行目が(1、1、1)、3行目が(1、1、1)}であり、オペレーターが{1行目が(−1、0、1)、2行目が(−2、0、2)、3行目が(−1、0、1)}である場合には、これらの演算結果は−1(=1×−1+1×0+0×1+1×−2+1×0+1×2+1×−1+1×0+1×1)となる。
なお、画素値の正負の符号については、適宜、逆転するなどのように、調整されてもよい。
<エッジの2値化>
次に、ロボット制御装置30の制御装置側表示制御部51は、検出されたエッジの数値パターンを2値化する。
本例では、制御装置側表示制御部51は、所定の閾値を用いて2値化を行う。具体的には、制御装置側表示制御部51は、フィルタリング結果におけるそれぞれの画素(正方形)の画素値について、画素値が所定の閾値以上である場合には「1」の値を割り当てる一方、画素値が当該閾値未満である場合には「0」の値を割り当てる。なお、割り当てられる値としては、他の任意の値が用いられてもよい。また、閾値としては、任意の値が用いられてもよい。
図18は、本発明の一実施形態に係るフィルタリング結果の二値化の一例を示す図である。
図18には、説明の便宜上、図16〜図17の場合と同様に、平面上のxy直交座標系を示してある。
図18の例は、図17の例に対して二値化の処理が行われた結果の一例である。
本例では、二値化のための閾値として、例えば、「3」または「4」が用いられている。
次に、ロボット制御装置30の制御装置側表示制御部51は、エッジに関する二値化の結果において、ロボット20の通過領域432に重複する画素(正方形)については、画素値をエッジではない「0」の値で上書きする。つまり、二値化の結果においてエッジの境界の候補となっていても、通過領域432にある画素(正方形)については、エッジの境界の候補から取り除く。
図19は、本発明の一実施形態に係る安全領域431の境界の一例を示す図である。
図19には、説明の便宜上、図16〜図18の場合と同様に、平面上のxy直交座標系を示してある。
図19の例では、図18に示されるエッジの境界の候補の画素(正方形)のうち、図16に示される通過領域432に含まれる画素(正方形)を除いた部分を、最終的な安全領域431の境界としている。
ロボット制御装置30の制御装置側表示制御部51は、例えば、最終的な安全領域431の境界に対応するところに仮想壁を設ける。
ここで、制御装置側表示制御部51は、求められた最終的な安全領域431の境界に対して、例えば、当該境界のところに仮想壁を設けてもよく、あるいは、当該境界よりも外側のところに仮想壁を設けてもよい。
また、制御装置側表示制御部51は、例えば、算出された境界に対してマージンを設けて、当該マージンに対応したところに仮想壁を設けてもよい。
また、制御装置側表示制御部51は、最終的な安全領域431の境界に基づいて、例えば、複数のマージンが異なる仮想壁を生成して設けてもよい。
複数のマージンが異なる仮想壁としては、例えば、ロボット20の動作を遅くする仮想的な領域を区切る仮想壁、あるいは、ロボット20の動作を停止する仮想的な領域を区切る仮想壁、などに用いられてもよい。
また、複数のマージンが異なる仮想壁は、例えば、基準となる1個以上の仮想壁に対してスケーリングを行って、当該仮想壁が囲む形に対して拡大あるいは縮小された相似形状が生成されることで、取得されてもよい。
ここで、安全領域431の境界に応じて仮想壁を生成する手法としては、任意の手法が用いられてもよく、例えば、安全領域431の境界などから凸包を生成し、当該凸包をCADなどのデータとして生成する手法が用いられてもよい。
なお、それぞれの仮想壁の面は、例えば、xy平面に対して垂直であってもよく、あるいは、垂直から傾いていてもよい。
制御装置側表示制御部51は、生成された仮想壁をシミュレーションの結果などとして表示する。
<安全領域の境界を生成する他の手法>
図20および図21を参照して、安全領域の境界を生成する他の手法を説明する。
図20および図21は、それぞれ、本発明の一実施形態に係る安全領域の境界を生成する他の一例を示す図である。
図20〜図21の例では、図15〜図19の例に示される安全領域の境界を生成する手法とは異なる手法を説明する。
本手法では、ロボット20などを上下方向で見た場合のxy平面上において処理が行われる。
図20および図21には、それぞれ、説明の便宜上、XYZ直交座標系の軸を示してある。
図20および図21には、それぞれ、図14に示されるものと同様な第3メッシュ411および3個の領域(第1領域401〜第3領域403)を示してある。
図20に示されるように、ロボット制御装置30の制御装置側表示制御部51は、ロボット20の原点の位置P1から最も離れている動作領域の位置P2を探索して検出する。そして、制御装置側表示制御部51は、検出された位置P2を基準として、原点の位置P1から位置P2までのベクトル(説明の便宜上、第1ベクトル521という。)の伸縮および部分ベクトルの回転を行い、例えば、ベクトルのノルムを可能な限り大きくすることができ、かつ、当該位置P2に近い動作領域の位置P3を探索して検出する。
ここで、それぞれの位置は、例えば、座標の値を用いて特定されてもよい。
また、ロボット20の原点の位置P1としては、例えば、ロボット20の基台Bの重心位置などが用いられてもよい。
また、本例では、ロボット20の動作領域は、3個の領域(第1領域401〜第3領域403)が重ね合わされたときの外枠で囲まれる領域となる。つまり、本例では、3個の領域(第1領域401〜第3領域403)のうちの少なくとも1個の領域に含まれる位置は、ロボット20の動作領域の位置となる。
具体的には、制御装置側表示制御部51は、例えば、原点の位置P1から位置P2までの第1ベクトル521を原点の位置P1から離れる方向に伸ばして、伸びた分のベクトル(説明の便宜上、第2ベクトル522という。)を、位置P2を中心として、所定の回転方向531に回転させて、当該第2ベクトル522が3個の領域(第1領域401〜第3領域403)の外周に接する点の位置P3を検出する。これにより、位置P2から位置P3までのベクトル(説明の便宜上、第3ベクトル541という。)の線分が、安全領域の境界として特定される。
続いて、制御装置側表示制御部51は、位置P2の代わりに、位置P3について、同様な処理を行う。
制御装置側表示制御部51は、このような処理の手順を、安全領域の境界によって動作領域の全体が1周分覆われるまで、繰り返して行う。このとき、位置P3以降に順番に検出されていく位置が最初の位置P2に戻ったときに、繰り返しの処理が終了となる。
そして、制御装置側表示制御部51は、このようなアルゴリズムにおいて安全領域の境界に対応するベクトルとして特定されたすべてのベクトル(第3ベクトル541など)の線分を結合して、結合された線分の集合を安全領域の境界として特定する。
図21には、安全領域の境界571の一例が示されている。安全領域の境界571は、ロボット20の動作領域の外周あるいはその付近を1周分覆い当該動作領域を囲む線となる。
このようにして、制御装置側表示制御部51は、安全領域の境界571を生成する。
図22は、本発明の一実施形態に係る仮想壁(説明の便宜上、第5仮想壁601という。)の一例を示す図である。なお、図22の例では、ロボット20などを簡易化して示してある。
図22では、説明の便宜上、XYZ直交座標系の軸を示してある。
図22には、ロボット20と、ロボット20の動作領域を囲む第5仮想壁601が示されている。
なお、それぞれの第5仮想壁601の面は、例えば、xy平面に対して垂直であってもよく、あるいは、垂直から傾いていてもよい。
制御装置側表示制御部51は、生成された第5仮想壁601をシミュレーションの結果などとして表示する。
<ロボットの動作における軌道に応じた仮想壁の生成>
ロボット制御装置30の制御装置側表示制御部51は、例えば、ロボット20により行われる一連の動作の最初から終わりまで一定の仮想壁を設定してもよいが、他の例として、ロボット20により行われる一連の動作の途中で仮想壁を変更してもよい。
例えば、制御装置側表示制御部51は、ロボット20の動作における軌道に応じて仮想壁を生成して、ロボット20の動作における軌道に応じて仮想壁を変更してもよい。
具体的に、図8の例では、(処理D1)〜(処理D3)におけるロボット20の動作によるロボット20の軌道が存在する領域はある程度近くにまとまっており、(処理D4)〜(処理D5)におけるロボット20の動作によるロボット20の軌道が存在する領域はある程度近くにまとまっているが、これら2個の領域は主な作業位置がずれているとする。
このような場合に、制御装置側表示制御部51は、それぞれの領域について、異なる仮想壁を生成してもよい。つまり、制御装置側表示制御部51は、(処理D1)〜(処理D3)におけるロボット20に適用される仮想壁と、(処理D4)〜(処理D5)におけるロボット20に適用される仮想壁とを異ならせてもよい。そして、制御装置側表示制御部51は、(処理D1)〜(処理D3)ではそれに合った仮想壁を設定し、(処理D4)〜(処理D5)ではそれに合った異なる仮想壁を設定するように、使用される仮想壁を変更してもよい。
このように、ロボット20により行われる一連の動作のすべてにおいて同一の仮想壁が用いられる場合と比べて、ロボット20の軌道が同一または近い2以上の動作群のそれぞれごとに異なる仮想壁が用いられる方が効果的な場合もある。ここで、当該動作群は、例えば、2個以上の動作を含んでもよく、あるいは、1個の動作のみ含んでもよい。また、それぞれの動作の区切りは、ユーザーなどにより任意に設定されてもよい。
ここでは、動作ごとに仮想壁が異なり得るという表現で説明したが、例えば、作業ごとに仮想壁が異なり得るという表現が用いられてもよく、あるいは、軌道ごとに仮想壁が異なり得るという表現が用いられてもよい。
<仮想壁の生成について>
本実施形態に係るロボットシステム1では、ロボット制御装置30などにおいて、作業者Hにより教示されたロボット20の動作をシミュレーションにより実行させた結果に基づいて、侵入検知等のための仮想的な領域に応じた仮想壁を自動的に設定することができる。このため、ロボット制御装置30などにおいて、例えば、シミュレーションにおけるロボット20の動作の経路などを変更することで、変更後の経路などに適した仮想壁へ変更することができる。
ここで、本実施形態に係るロボットシステム1では、仮想壁を自動的に設定するために利用するシミュレーションにおいて、例えば、ロボット20の先端部分の位置情報だけではなく、ロボット20の全体の位置情報および姿勢情報を用いることが可能である。ロボット20の全体の位置情報および姿勢情報は、例えば、シミュレーションが実行されたときに得られる、各時刻におけるロボット20の各関節軸の角度情報およびロボット20のモデルに基づいて算出される。
また、本実施形態に係るロボットシステム1では、ロボット制御装置30などにおいて、ロボット20の各関節軸の角度情報について、シミュレーションを達成するために必要な各時刻における角度以外にも、各時刻において非常停止命令が発せられたときにロボット20が完全に停止するまでに追加で動く必要のある角度量である空走角度も同時に記録する。これにより、ロボット制御装置30などにおいて、例えば、ロボット20の誤動作に対して非常停止命令が発せられる場合も考慮した仮想壁が設定される。
このように、本実施形態に係るロボットシステム1では、例えば、作業者Hなどのユーザーがロボット20の動作を決定すると、仮想壁を自動的に設定するため、当該ユーザーは仮想壁の設定の仕方を考えなくてもよく、ロボットシステム1の構築に要する時間の短縮が期待される。
また、本実施形態に係るロボットシステム1では、例えば、2段階の仮想的な領域を設定することが可能であるとともに、3段階以上の仮想的な領域を設定することも可能である。これにより、本実施形態に係るロボットシステム1では、例えば、それぞれの段階の仮想的な領域ごとに、当該仮想的な領域に作業者Hなどが侵入したときにおけるロボット20の動作を遅くするなどの態様を異ならせることが可能である。
ここで、本実施形態に係るロボットシステム1では、複数の段階の仮想的な領域は、例えば、基準となる仮想的な領域のスケーリングなどにより容易に生成することが可能である。
本実施形態に係るロボットシステム1では、複数の段階の仮想壁が設定される場合に、例えば、それぞれの段階の仮想壁ごとに、異なる表示形態が用いられてもよい。他の例として、複数の段階の仮想壁が設定される場合に、すべての段階の仮想壁について、同一の表示形態が用いられてもよい。
本実施形態に係るロボットシステム1では、例えば、人あるいは物体の位置を障害物の位置として検出することが可能なエリアセンサーなどのセンサーが現実空間に設置されることで、障害物が仮想的な領域に侵入したか否かを検出して、ロボット20の動作を遅くするあるいは当該動作を停止することなどが可能であり、人協働ロボット分野への応用が期待される。
また、本実施形態に係るロボットシステム1では、例えば、ユーザーは、シミュレーションの結果のように仮想現実空間を表示する画面上で仮想的な領域あるいは仮想壁を確認することが可能であるだけでなく、ヘッドマウントディスプレイなどを装着することで、現実空間に存在するロボット20などとの関係においても、仮想的な領域あるいは仮想壁を容易に確認することが可能である。
ここで、比較例として、仮想現実空間上に2個の仮想的な領域が設定されて、一方の仮想的な領域にロボットの先端部分が侵入すると当該ロボットの動作速度が制限され、当該一方の仮想的な領域の内側に設定された他方の仮想的な領域に当該ロボットの先端部分が侵入すると当該ロボットの動作が停止させられるかまたは当該他方の仮想的な領域から退避させられる、構成が考えられる。そして、当該ロボットの動作のシミュレーション結果において、このような2個の仮想的な領域が作業者に表示されて、当該作業者によりそれぞれの仮想的な領域を任意の位置に設定することが可能な構成が考えられる。
しかしながら、このような比較例では、作業者がロボットの動作のミュレーションの果を見た上で、作業者自身でどの位置に仮想的な領域を設定するべきかを考える必要があった。また、このような比較例では、ロボットの動作のシミュレーション結果として当該ロボットの先端部分のみに関する結果が表示されるため、当該先端部分を含むロボット全体の位置を考慮して仮想的な領域を設定することは、ロボットに関する知識を持っていなければ難しい場合があった。
このように、作業者がリスクアセスメントに基づいて手動で仮想壁を設定する場合には、当該作業者がロボットの動作に関する多くの知識を有する必要があったが、本実施形態では、作業者Hなどのユーザーに多くの知識が求められなくても、ロボット制御装置30あるいは表示装置40によりロボット20の動作に適した仮想壁を設定することができる。
[実施形態のまとめ]
以上のように、本実施形態に係るロボットシステム1では、可動部Aを有するロボット20を制御するロボット制御装置30(本実施形態では、制御装置の一例)において、可視光を透過する表示部46に表示される仮想壁の表示形態を、現実空間上での仮想壁と可動部Aとの距離と、可動部Aの速度と、に基づいて変更する制御装置側表示制御部51(本実施形態では、表示制御部の一例)を備える。
したがって、本実施形態に係るロボットシステム1では、ロボット制御装置30において、現実空間上での仮想壁と可動部Aとの距離および可動部Aの速度に基づいて、適した表示形態で仮想壁が表示部46に表示されることを実現することができる。これにより、本実施形態に係るロボットシステム1では、例えば、表示部46の表示を見る作業者Hなどにとって、有効な表示形態で仮想壁を表示することができ、ロボット20の現在の状況を把握しやすくすることが可能である。
本実施形態に係るロボットシステム1では、ロボット制御装置30において、例えば、制御装置側表示制御部51は、表示部46を装着した作業者Hと仮想壁との距離に基づいて、仮想壁の表示形態を変更する。
したがって、本実施形態に係るロボットシステム1では、現実空間上での仮想壁と作業者Hとの距離に基づいて、適した表示形態で仮想壁が表示部46に表示されることを実現することができる。これにより、本実施形態に係るロボットシステム1では、例えば、表示部46の表示を見る作業者Hなどにとって、有効な表示形態で仮想壁を表示することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
本実施形態に係るロボットシステム1では、例えば、仮想壁と可動部Aとの距離に基づいて変更される仮想壁の表示形態の種類は、作業者Hと仮想壁との距離に基づいて変更される仮想壁の表示形態の種類と異なる。
したがって、本実施形態に係るロボットシステム1では、例えば、仮想壁と可動部Aとの距離に基づいて変更される仮想壁の表示形態の種類と、作業者Hと仮想壁との距離に基づいて変更される仮想壁の表示形態の種類とが異なるため、それぞれの距離に応じて適した種類の表示形態を変更することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
本実施形態に係るロボットシステム1では、ロボット制御装置30において、例えば、制御装置側表示制御部51は、作業者Hと前記仮想壁との距離と、あらかじめ決められた値(本実施形態では、作業者Hの腕のリーチの値)と、に基づいて仮想壁の表示形態を変更する。
したがって、本実施形態に係るロボットシステム1では、例えば、作業者Hの腕のリーチの値を考慮して、適した表示形態で仮想壁が表示部46に表示されることを実現することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
本実施形態に係るロボットシステム1では、ロボット制御装置30において、例えば、制御装置側表示制御部51は、仮想壁と、可動部Aの現在位置から所定時間経過した時の位置との距離に基づいて、仮想壁の表示形態を変更する。
したがって、本実施形態に係るロボットシステム1では、例えば、未来の可動部Aの位置に基づいて、適した表示形態で仮想壁が表示部46に表示されることを実現することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
本実施形態に係るロボットシステム1では、ロボット制御装置30において、例えば、制御装置側表示制御部51は、可動部Aの動作における軌道に基づいて、仮想壁を表示する。
したがって、本実施形態に係るロボットシステム1では、例えば、可動部Aの動作における軌道に基づいて、適した仮想壁が表示部46に表示されることを実現することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
本実施形態に係るロボットシステム1では、例えば、動作は、第1動作と、第1動作の後に実行され第1動作と異なる第2動作を含み、ロボット制御装置30において、制御装置側表示制御部51は、可動部Aが第1動作から第2動作に変更するとき、第1動作における可動部Aの軌道に応じた仮想壁から第2動作における可動部Aの軌道に応じた仮想壁に変更する。
したがって、本実施形態に係るロボットシステム1では、例えば、それぞれの動作における可動部Aの軌道に応じて、適した仮想壁が表示部46に表示されることを実現することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
本実施形態に係るロボットシステム1では、ロボット制御装置30において、例えば、制御装置側表示制御部51は、動作のうち選択された動作における可動部Aの軌道に応じた仮想壁を表示する。
したがって、本実施形態に係るロボットシステム1では、例えば、選択された動作における可動部Aの軌道に応じて、適した仮想壁が表示部46に表示されることを実現することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
本実施形態に係るロボットシステム1では、例えば、仮想壁によって囲まれた領域と相似形状の領域を表示する指令を、ユーザーから受け付ける受付部(本実施形態では、ユーザーインターフェイス)を備え、ロボット制御装置30において、制御装置側表示制御部51は、受付部が受け付けた指令に基づいて、相似形状の領域を表示する。
したがって、本実施形態に係るロボットシステム1では、例えば、ユーザーから受け付けられた指令に基づいて、仮想壁により囲まれた領域のスケーリングを行うことが可能であり、仮想壁のスケーリングを行うことが可能である。
なお、このような構成は、必ずしも実施されなくてもよい。
本実施形態に係るロボットシステム1では、例えば、ヘッドマウントディスプレイ(本実施形態では、表示装置40の一例)において、仮想壁が表示され可視光を透過する表示部46と、表示部46に表示される仮想壁の表示形態を、ロボット20が有する可動部Aと現実空間上での仮想壁との距離と、可動部Aの速度と、に基づいて変更する表示装置側表示制御部61(本実施形態では、表示制御部の一例)と、を備える。
したがって、本実施形態に係るロボットシステム1では、ヘッドマウントディスプレイにおいて、現実空間上での仮想壁と可動部Aとの距離および可動部Aの速度に基づいて、適した表示形態で仮想壁が表示部46に表示されることを実現することができる。これにより、本実施形態に係るロボットシステム1では、例えば、表示部46の表示を見る作業者Hなどにとって、有効な表示形態で仮想壁を表示することができ、ロボット20の現在の状況を把握しやすくすることが可能である。
本実施形態に係るロボットシステム1では、ヘッドマウントディスプレイにおいて、例えば、表示装置側表示制御部61は、表示部46を装着した作業者Hと仮想壁との距離に基づいて、仮想壁の表示形態を変更する。
したがって、本実施形態に係るロボットシステム1では、ヘッドマウントディスプレイにおいて、現実空間上での仮想壁と作業者Hとの距離に基づいて、適した表示形態で仮想壁が表示部46に表示されることを実現することができる。これにより、本実施形態に係るロボットシステム1では、例えば、表示部46の表示を見る作業者Hなどにとって、有効な表示形態で仮想壁を表示することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
本実施形態に係るロボットシステム1では、例えば、仮想壁と可動部Aとの距離に基づいて変更される仮想壁の表示形態の種類は、作業者Hと仮想壁との距離に基づいて変更される仮想壁の表示形態の種類と異なる。
したがって、本実施形態に係るロボットシステム1では、例えば、仮想壁と可動部Aとの距離に基づいて変更される仮想壁の表示形態の種類と、作業者Hと仮想壁との距離に基づいて変更される仮想壁の表示形態の種類とが異なるため、それぞれの距離に応じて適した種類の表示形態を変更することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
本実施形態に係るロボットシステム1では、ヘッドマウントディスプレイにおいて、例えば、表示装置側表示制御部61は、作業者Hと仮想壁との距離と、あらかじめ決められた値(本実施形態では、作業者Hの腕のリーチの値)と、に基づいて仮想壁の表示形態を変更する。
したがって、本実施形態に係るロボットシステム1では、ヘッドマウントディスプレイにおいて、例えば、作業者Hの腕のリーチの値を考慮して、適した表示形態で仮想壁が表示部46に表示されることを実現することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
本実施形態に係るロボットシステム1では、ヘッドマウントディスプレイにおいて、例えば、表示装置側表示制御部61は、仮想壁と、可動部Aの現在位置から所定時間経過した時の位置との距離に基づいて、仮想壁の表示形態を変更する。
したがって、本実施形態に係るロボットシステム1では、ヘッドマウントディスプレイにおいて、例えば、未来の可動部Aの位置に基づいて、適した表示形態で仮想壁が表示部46に表示されることを実現することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
本実施形態に係るロボットシステム1では、ヘッドマウントディスプレイにおいて、例えば、表示装置側表示制御部61は、可動部Aの動作における軌道に基づいて、仮想壁を表示する。
したがって、本実施形態に係るロボットシステム1では、ヘッドマウントディスプレイにおいて、例えば、可動部Aの動作における軌道に基づいて、適した仮想壁が表示部46に表示されることを実現することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
本実施形態に係るロボットシステム1では、例えば、動作は、第1動作と、第1動作の後に実行され第1動作と異なる第2動作を含み、ヘッドマウントディスプレイにおいて、表示装置側表示制御部61は、可動部Aが第1動作から第2動作に変更するとき、第1動作における可動部Aの軌道に応じた仮想壁から第2動作における可動部Aの軌道に応じた仮想壁に変更する。
したがって、本実施形態に係るロボットシステム1では、ヘッドマウントディスプレイにおいて、例えば、それぞれの動作における可動部Aの軌道に応じて、適した仮想壁が表示部46に表示されることを実現することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
本実施形態に係るロボットシステム1では、ヘッドマウントディスプレイにおいて、例えば、表示装置側表示制御部61は、動作のうち選択された動作における可動部Aの軌道に応じた仮想壁を表示する。
したがって、本実施形態に係るロボットシステム1では、ヘッドマウントディスプレイにおいて、例えば、選択された動作における可動部Aの軌道に応じて、適した仮想壁が表示部46に表示されることを実現することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
本実施形態に係るロボットシステム1では、例えば、仮想壁によって囲まれた領域と相似形状の領域を表示する指令を、ユーザーから受け付ける受付部(本実施形態では、ユーザーインターフェイス)を備え、表示装置側表示制御部61は、受付部が受け付けた指令に基づいて、相似形状の領域を表示する。
したがって、本実施形態に係るロボットシステム1では、例えば、ユーザーから受け付けられた指令に基づいて、仮想壁により囲まれた領域のスケーリングを行うことが可能であり、仮想壁のスケーリングを行うことが可能である。
なお、このような構成は、必ずしも実施されなくてもよい。
本実施形態に係るロボットシステム1では、可動部Aを有するロボット20と、可視光を透過する表示部46を有し、表示部46に仮想壁を表示するヘッドマウントディスプレイ(本実施形態では、表示装置40の一例)と、表示部46に表示される仮想壁の表示形態を、現実空間上での仮想壁と可動部Aとの距離と、可動部Aの速度と、に基づいて変更する表示制御部(本実施形態では、制御装置側表示制御部51あるいは表示装置側表示制御部61)と、を備える。
したがって、本実施形態に係るロボットシステム1では、現実空間上での仮想壁と可動部Aとの距離および可動部Aの速度に基づいて、適した表示形態で仮想壁が表示部46に表示されることを実現することができる。これにより、本実施形態に係るロボットシステム1では、例えば、表示部46の表示を見る作業者Hなどにとって、有効な表示形態で仮想壁を表示することができ、ロボット20の現在の状況を把握しやすくすることが可能である。
なお、以上に説明したような装置(例えば、位置検出装置25、ロボット制御装置30、表示装置40など)における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体(記憶媒体)に記録(記憶)し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、オペレーティングシステム(OS:Operating System)あるいは周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD(Compact Disc)−ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークあるいは電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)あるいは電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
例えば、本実施形態では、スカラロボット(水平多関節ロボット)を例として説明したが、他の例として、いわゆる6軸ロボットあるいは7軸ロボットのような垂直多関節ロボット、または、他のロボットに、本実施形態の全部または一部に係る技術が適用されてもよい。
1…ロボットシステム、20…ロボット、25…位置検出装置、30…ロボット制御装置、31…プロセッサー、32…制御装置側メモリー、34…制御装置側通信部、36…制御装置側制御部、38…バス、40…表示装置、42…表示装置側メモリー、44…表示装置側通信部、46…表示部、48…表示装置側制御部、51…制御装置側表示制御部、53…ロボット制御部、61…表示装置側表示制御部、101−1…第1仮想壁、101−2…第2仮想壁、101−3…第3仮想壁、101−4…第4仮想壁、201…加工前部品パレット、202…加工済み部品パレット、203…加工機、251…第1ソースコード、252…第2ソースコード、261…ウィザード、301…基台部、311…第1アーム部、312…第2アーム部、351−1…第1メッシュ、351−2…第2メッシュ、361−1…第1位置、361−2…第2位置、371−1…第3位置、371−2…第4位置、362−1…第5位置、362−2…第6位置、372−1…第7位置、372−2…第8位置、401…第1領域、402…第2領域、403…第3領域、411…第3メッシュ、431…安全領域、432…通過領域、521…第1ベクトル、522…第2ベクトル、531…回転方向、541…第3ベクトル、571…境界、601…第5仮想壁、A…可動部、A1…第1アーム、A2…第2アーム、AX1…第1回動軸、AX2…第2回動軸、AX3…第3回動軸、B…基台、H…作業者、P1〜P3…位置、S…シャフト、a1…第1経路、a2…第2経路、a3…第3経路、a4…第4経路、a5…第5経路

Claims (19)

  1. 可動部を有するロボットを制御する制御装置であって、
    可視光を透過する表示部に表示される仮想壁の表示形態を、現実空間上での前記仮想壁と前記可動部との距離と、前記可動部の速度と、に基づいて変更する表示制御部を備える、
    制御装置。
  2. 前記表示制御部は、前記表示部を装着した作業者と前記仮想壁との距離に基づいて、前記仮想壁の表示形態を変更する、
    請求項1に記載の制御装置。
  3. 前記仮想壁と前記可動部との距離に基づいて変更される前記仮想壁の表示形態の種類は、前記作業者と前記仮想壁との距離に基づいて変更される前記仮想壁の表示形態の種類と異なる、
    請求項2に記載の制御装置。
  4. 前記表示制御部は、前記作業者と前記仮想壁との距離と、あらかじめ決められた値と、に基づいて前記仮想壁の表示形態を変更する、
    請求項2または請求項3のいずれか1項に記載の制御装置。
  5. 前記表示制御部は、前記仮想壁と、前記可動部の現在位置から所定時間経過した時の位置との距離に基づいて、前記仮想壁の表示形態を変更する、
    請求項1から請求項4のいずれか1項に記載の制御装置。
  6. 前記表示制御部は、前記可動部の動作における軌道に基づいて、前記仮想壁を表示する、
    請求項1から請求項5のいずれか1項に記載の制御装置。
  7. 前記動作は、第1動作と、前記第1動作の後に実行され前記第1動作と異なる第2動作を含み、
    前記表示制御部は、前記可動部が前記第1動作から前記第2動作に変更するとき、前記第1動作における前記可動部の軌道に応じた前記仮想壁から前記第2動作における前記可動部の軌道に応じた前記仮想壁に変更する、
    請求項6に記載の制御装置。
  8. 前記表示制御部は、前記動作のうち選択された動作における前記可動部の軌道に応じた仮想壁を表示する、
    請求項6または請求項7のいずれか1項に記載の制御装置。
  9. 前記仮想壁によって囲まれた領域と相似形状の領域を表示する指令を、ユーザーから受け付ける受付部を備え、
    前記表示制御部は、前記受付部が受け付けた指令に基づいて、前記相似形状の領域を表示する、
    請求項1から請求項8のいずれか1項に記載の制御装置。
  10. 仮想壁が表示され、可視光を透過する表示部と、
    前記表示部に表示される前記仮想壁の表示形態を、ロボットが有する可動部と現実空間上での前記仮想壁との距離と、前記可動部の速度と、に基づいて変更する表示制御部と、
    を備えるヘッドマウントディスプレイ。
  11. 前記表示制御部は、前記表示部を装着した作業者と前記仮想壁との距離に基づいて、前記仮想壁の表示形態を変更する、
    請求項10に記載のヘッドマウントディスプレイ。
  12. 前記仮想壁と前記可動部との距離に基づいて変更される前記仮想壁の表示形態の種類は、前記作業者と前記仮想壁との距離に基づいて変更される前記仮想壁の表示形態の種類と異なる、
    請求項11に記載のヘッドマウントディスプレイ。
  13. 前記表示制御部は、前記作業者と前記仮想壁との距離と、あらかじめ決められた値と、に基づいて前記仮想壁の表示形態を変更する、
    請求項11または請求項12のいずれか1項に記載のヘッドマウントディスプレイ。
  14. 前記表示制御部は、前記仮想壁と、前記可動部の現在位置から所定時間経過した時の位置との距離に基づいて、前記仮想壁の表示形態を変更する、
    請求項10から請求項13のいずれか1項に記載のヘッドマウントディスプレイ。
  15. 前記表示制御部は、前記可動部の動作における軌道に基づいて、前記仮想壁を表示する、
    請求項10から請求項14のいずれか1項に記載のヘッドマウントディスプレイ。
  16. 前記動作は、第1動作と、前記第1動作の後に実行され前記第1動作と異なる第2動作を含み、
    前記表示制御部は、前記可動部が前記第1動作から前記第2動作に変更するとき、前記第1動作における前記可動部の軌道に応じた前記仮想壁から前記第2動作における前記可動部の軌道に応じた前記仮想壁に変更する、
    請求項15に記載のヘッドマウントディスプレイ。
  17. 前記表示制御部は、前記動作のうち選択された動作における前記可動部の軌道に応じた仮想壁を表示する、
    請求項15または請求項16のいずれか1項に記載のヘッドマウントディスプレイ。
  18. 前記仮想壁によって囲まれた領域と相似形状の領域を表示する指令を、ユーザーから受け付ける受付部を備え、
    前記表示制御部は、前記受付部が受け付けた指令に基づいて、前記相似形状の領域を表示する、
    請求項10から請求項17のいずれか1項に記載のヘッドマウントディスプレイ。
  19. 可動部を有するロボットと、
    可視光を透過する表示部を有し、前記表示部に仮想壁を表示するヘッドマウントディスプレイと、
    前記表示部に表示される前記仮想壁の表示形態を、現実空間上での前記仮想壁と前記可動部との距離と、前記可動部の速度と、に基づいて変更する表示制御部と、を備える、
    ロボットシステム。
JP2018136769A 2018-07-20 2018-07-20 制御装置、ヘッドマウントディスプレイおよびロボットシステム Active JP7167518B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018136769A JP7167518B2 (ja) 2018-07-20 2018-07-20 制御装置、ヘッドマウントディスプレイおよびロボットシステム
US16/516,319 US11157226B2 (en) 2018-07-20 2019-07-19 Control apparatus, head mounted display and robot system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018136769A JP7167518B2 (ja) 2018-07-20 2018-07-20 制御装置、ヘッドマウントディスプレイおよびロボットシステム

Publications (2)

Publication Number Publication Date
JP2020011357A true JP2020011357A (ja) 2020-01-23
JP7167518B2 JP7167518B2 (ja) 2022-11-09

Family

ID=69161319

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018136769A Active JP7167518B2 (ja) 2018-07-20 2018-07-20 制御装置、ヘッドマウントディスプレイおよびロボットシステム

Country Status (2)

Country Link
US (1) US11157226B2 (ja)
JP (1) JP7167518B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021058972A (ja) * 2019-10-08 2021-04-15 ファナック株式会社 ロボットシステム
US11565418B2 (en) * 2019-05-22 2023-01-31 Seiko Epson Corporation Robot system

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6816077B2 (ja) * 2018-09-14 2021-01-20 ファナック株式会社 誘導情報提示装置、誘導情報提示サーバ、誘導情報提示システム、誘導情報提示方法及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011080882A1 (ja) * 2009-12-28 2011-07-07 パナソニック株式会社 動作空間提示装置、動作空間提示方法およびプログラム
JP2011212831A (ja) * 2010-03-15 2011-10-27 Yaskawa Electric Corp ロボットシステム
JP2017100205A (ja) * 2015-11-30 2017-06-08 株式会社デンソーウェーブ バーチャルフェンス表示システム
JP2017100204A (ja) * 2015-11-30 2017-06-08 株式会社デンソーウェーブ ロボット操作システム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3055744B1 (en) * 2013-10-07 2018-06-13 ABB Schweiz AG A method and a device for verifying one or more safety volumes for a movable mechanical unit
US10813709B2 (en) * 2015-08-25 2020-10-27 Kawasaki Jukogyo Kabushiki Kaisha Robot system
US9855664B2 (en) * 2015-11-25 2018-01-02 Denso Wave Incorporated Robot safety system
US10384347B2 (en) 2016-03-25 2019-08-20 Seiko Epson Corporation Robot control device, robot, and simulation device
JP6743453B2 (ja) 2016-03-30 2020-08-19 セイコーエプソン株式会社 ロボット制御装置、ロボットおよびシミュレーション装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011080882A1 (ja) * 2009-12-28 2011-07-07 パナソニック株式会社 動作空間提示装置、動作空間提示方法およびプログラム
JP2011212831A (ja) * 2010-03-15 2011-10-27 Yaskawa Electric Corp ロボットシステム
JP2017100205A (ja) * 2015-11-30 2017-06-08 株式会社デンソーウェーブ バーチャルフェンス表示システム
JP2017100204A (ja) * 2015-11-30 2017-06-08 株式会社デンソーウェーブ ロボット操作システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11565418B2 (en) * 2019-05-22 2023-01-31 Seiko Epson Corporation Robot system
JP2021058972A (ja) * 2019-10-08 2021-04-15 ファナック株式会社 ロボットシステム

Also Published As

Publication number Publication date
US11157226B2 (en) 2021-10-26
JP7167518B2 (ja) 2022-11-09
US20200026478A1 (en) 2020-01-23

Similar Documents

Publication Publication Date Title
US11850755B2 (en) Visualization and modification of operational bounding zones using augmented reality
JP6853280B2 (ja) 拡張現実ロボットシステムの可視化
US20210205986A1 (en) Teleoperating Of Robots With Tasks By Mapping To Human Operator Pose
EP3055744B1 (en) A method and a device for verifying one or more safety volumes for a movable mechanical unit
US10818099B2 (en) Image processing method, display device, and inspection system
EP1435280B1 (en) A method and a system for programming an industrial robot
JP6643170B2 (ja) 作業支援システム及び方法
JP4850984B2 (ja) 動作空間提示装置、動作空間提示方法およびプログラム
JP2023018097A (ja) 人間とロボットの相互作用の拡張現実調整
US11157226B2 (en) Control apparatus, head mounted display and robot system
JP2018008347A (ja) ロボットシステムおよび動作領域表示方法
EP3118725A1 (en) Walk simulation system and method
Kunz et al. Real walking in virtual environments for factory planning and evaluation
JP6736298B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP7471428B2 (ja) 製造又は産業環境における協調ロボットとの相互作用のために仮想/拡張現実を使用するためのシステム、方法及びコンピュータ読み取り可能媒体
JP2010042466A (ja) ロボット教示システム及びロボットの動作のシミュレーション結果の表示方法
CN107257946B (zh) 用于虚拟调试的系统
US20200273243A1 (en) Remote monitoring and assistance techniques with volumetric three-dimensional imaging
JP2015174184A (ja) 制御装置
JP7125872B2 (ja) 作業支援装置、および、作業支援方法
JP6885909B2 (ja) ロボット制御装置
JP2023505322A (ja) ロボットをプログラムするための方法及びシステム
JPH1177568A (ja) 教示支援方法及び装置
Yun et al. An Application of a Wearable Device with Motion-Capture and Haptic-Feedback for Human–Robot Collaboration
Zhu et al. Motion capture of fastening operation using Wiimotes for ergonomic analysis

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210607

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220412

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220606

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220927

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221010

R150 Certificate of patent or registration of utility model

Ref document number: 7167518

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150