JP2020011357A - 制御装置、ヘッドマウントディスプレイおよびロボットシステム - Google Patents
制御装置、ヘッドマウントディスプレイおよびロボットシステム Download PDFInfo
- 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
Links
- 230000008859 change Effects 0.000 claims description 37
- 238000000034 method Methods 0.000 description 87
- 230000008569 process Effects 0.000 description 62
- 238000010586 diagram Methods 0.000 description 31
- 238000012545 processing Methods 0.000 description 28
- 238000004088 simulation Methods 0.000 description 26
- 230000006870 function Effects 0.000 description 21
- 238000004891 communication Methods 0.000 description 17
- 238000001514 detection method Methods 0.000 description 16
- 239000013598 vector Substances 0.000 description 16
- 238000001914 filtration Methods 0.000 description 12
- 230000010365 information processing Effects 0.000 description 11
- 239000011159 matrix material Substances 0.000 description 11
- 239000012636 effector Substances 0.000 description 8
- 238000002834 transmittance Methods 0.000 description 7
- 239000004984 smart glass Substances 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000000052 comparative effect Effects 0.000 description 3
- 230000005484 gravity Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 238000005401 electroluminescence Methods 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012502 risk assessment Methods 0.000 description 2
- 210000001364 upper extremity Anatomy 0.000 description 2
- 230000036626 alertness Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000005389 magnetism Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000000059 patterning Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000032258 transport Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/147—Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/06—Control stands, e.g. consoles, switchboards
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/06—Safety devices
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
- G02B27/0172—Head mounted characterised by optical features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/012—Head tracking input arrangements
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/006—Controls for manipulators by means of a wireless system for controlling one or several manipulators
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
- G02B2027/0141—Head-up displays characterised by optical features characterised by the informative content of the display
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39427—Panel on arm, hand of robot, controlled axis
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/50—Machine tool, machine tool null till machine tool work handling
- G05B2219/50391—Robot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/01—Indexing scheme relating to G06F3/01
- G06F2203/012—Walk-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
Description
なお、バーチャルフェンスは、仮想壁に相当する。
図1は、本発明の一実施形態に係るロボットシステム1の概略的な構成例を示す図である。
図1では、説明の便宜上、XYZ直交座標系の軸を示してある。
ロボットシステム1は、ロボット20と、位置検出装置25と、ロボット制御装置30と、表示装置40を備える。
ここで、本実施形態では、ロボット20は、水平多関節ロボット(スカラロボット)である。また、ロボット20は、例えば、産業用ロボットであってもよく、他の用途のロボットであってもよい。
また、図1には、表示装置40を装着した作業者Hを示してある。作業者Hは、ロボット制御装置30を操作する者であってもよく、あるいは、ロボット20に関する作業を行う他の者であってもよい。
本実施形態では、説明の便宜上、ロボット20が設置されている面に直交する方向であってロボット20から当該面に向かう方向を下または下方向と称し、当該方向と反対の方向を上または上方向と称して説明する。本実施形態では、一例として、下方向が、重力方向と一致しているとともに、ロボット20のロボット座標系RCにおけるZ軸の負方向と一致している場合について説明する。
なお、他の例として、下方向は、重力方向と当該負方向とのいずれか一方または両方と一致しない構成であってもよい。
可動部Aは、基台Bにより第1回動軸AX1の周りに回動可能に支持された第1アームA1と、第1アームA1により第2回動軸AX2の周りに回動可能に支持された第2アームA2と、第2アームA2により第3回動軸AX3の周りに回動可能かつ第3回動軸AX3の軸方向に並進可能に支持されたシャフトSを備える。
一例として、第1回動軸AX1は、第1モーターの回動軸と一致する仮想的な軸であるが、他の例として、第1モーターの回動軸と一致しない仮想的な軸であってもよい。
一例として、第2回動軸AX2は、第2モーターの回動軸と一致する仮想的な軸であるが、他の例として、第2モーターの回動軸と一致しない仮想的な軸であってもよい。
一例として、第3回動軸AX3は、シャフトSの中心軸と一致する仮想的な軸であるが、他の例として、シャフトSの中心軸と一致しない仮想的な軸であってもよい。
位置検出装置25は、ロボット制御装置30と無線または有線によって通信可能に接続されている。
表示装置40は、ロボット制御装置30と無線または有線によって通信可能に接続されている。
位置検出装置25は、ロボット20の周囲における作業者Hの位置を検出し、検出した当該位置を示す情報(説明の便宜上、「作業者位置情報」ともいう。)をロボット制御装置30に送信する。
ここで、本実施形態では、位置検出装置25は、作業者Hの位置として、表示装置40の位置を検出する。すなわち、本実施形態では、表示装置40の位置を作業者Hの位置とみなす。なお、他の例として、位置検出装置25は、作業者H自体の位置を検出する構成であってもよい。
例えば、レーザーを用いて対象物の形状データを検出するレーザーレンジセンサーを用いて、当該対象物の位置を検出する手法が用いられてもよい。
また、例えば、作業者Hあるいは表示装置40にGPS(Global Positioning System)の受信機を備え、GPSの機能により、作業者Hあるいは表示装置40の位置を検出する手法が用いられてもよい。この場合、例えば、当該受信機は、GPSの機能により取得された作業者Hあるいは表示装置40の位置の情報を位置検出装置25に送信し、位置検出装置25は当該情報を取得する。
ロボット制御装置30は、位置検出装置25から送信された作業者位置情報を受信して取得する。
ロボット制御装置30は、表示対象となる画像の情報あるいは他の情報を表示装置40に送信する。
表示装置40は、あらかじめ決められた装着方法に則って作業者Hに装着されている。作業者Hが当該装着方法に則って表示装置40を装着している場合、表示装置40が有する表示部は、作業者Hの視界の少なくとも一部を覆い隠すように配置される。また、当該表示部が可視光を透過するため、作業者Hは、当該表示部越しに外界を見ることができる。ここで、外界は、表示装置40の表示部に対して作業者Hの側とは反対の側の視界を意味する。
また、表示装置40は、例えば、ロボット制御装置30から送信された画像以外の情報を受信して、受信された情報に基づいて画像を生成し、生成された画像を表示部に表示してもよい。
図2は、本発明の一実施形態に係るロボット制御装置30のハードウェア構成の一例を示す図である。
ロボット制御装置30は、例えば、プロセッサー31と、メモリー(説明の便宜上、制御装置側メモリー32という。)と、通信部(説明の便宜上、制御装置側通信部34という。)を備える。これらの構成要素は、バス38を介して相互に通信可能に接続されている。また、ロボット制御装置30は、制御装置側通信部34を介してロボット20、位置検出装置25、表示装置40のそれぞれと通信を行う。
制御装置側通信部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)などのようなハードウェア機能部であってもよい。
ロボット制御部53は、ロボット20を制御し、あらかじめ決められた作業をロボット20に行わせる。
表示装置40は、メモリー(説明の便宜上、表示装置側メモリー42という。)と、通信部(説明の便宜上、表示装置側通信部44という。)と、表示部46と、制御部(説明の便宜上、表示装置側制御部48という。)を備える。
表示装置側メモリー42は、例えば、HDD、SSD、EEPROM、ROM、RAMなどのうちの1以上を含んでもよい。なお、表示装置側メモリー42は、表示装置40に内蔵される記憶装置に代えて、USBなどのように、デジタル入出力ポートなどによって接続された外付け型の記憶装置であってもよい。表示装置側メモリー42は、表示装置40により処理される各種の情報、各種の画像、各種の動作プログラムなどを格納する。
表示装置側通信部44は、例えば、USBなどのデジタル入出力ポート、イーサネット(登録商標)のポートなどのうちの1以上を含んで構成される。
表示部46は、可視光を透過するとともに、各種の画像を表示する。
表示装置側表示制御部61は、表示部46に表示させる各種の画像を生成する。表示装置側表示制御部61は、生成された画像を表示部46に出力して表示させる。
すなわち、ロボット制御装置30が画像を生成して表示装置40が当該画像を表示するロボットシステム1が構成されてもよく、あるいは、表示装置40が画像を生成して当該画像を表示するロボットシステム1が構成されてもよく、あるいは、これらの両方の画像表示を行うことが可能なロボットシステム1が構成されてもよい。
ロボット制御装置30の制御装置側表示制御部51が表示対象の画像を生成する場合について説明する。
本実施形態では、制御装置側表示制御部51は、仮想壁を含む画像(説明の便宜上、「仮想壁画像」ともいう。)を生成し、生成された仮想壁画像を表示装置40に表示させる。
作業者Hにとっては、例えば、仮想壁の内側にある当該領域のところまでロボット20に近付くと、ロボット20に触れる可能性がある。本実施形態では、作業者Hがいずれかの仮想壁に接触した場合、あるいは、作業者Hが仮想壁で仕切られた領域に入った場合には、ロボット制御装置30はロボット20の可動部Aを緊急停止させる。
なお、仮想壁として、他の定義の仮想的な壁が用いられてもよい。
一例として、1個の仮想壁は、当該仮想壁を特定することが可能な1個以上の特徴値を用いて特定されてもよい。具体例として、仮想壁が四角形である場合には、当該四角形の4個の頂点の座標を特徴値として用いて、当該仮想壁を特定することが可能である。
他の例として、1個の仮想壁は、当該仮想壁の面上の有限個の点の位置の座標を特徴値として用いて特定されてもよい。
また、制御装置側表示制御部51は、ロボット20の可動部Aの速度を算出する。
また、制御装置側表示制御部51は、位置検出装置25から作業者位置情報を取得する。そして、制御装置側表示制御部51は、取得された作業者位置情報に基づいて、現実空間上での仮想壁と作業者Hとの距離を算出する。
また、制御装置側表示制御部51は、ロボット20の可動部Aの姿勢の変化量を算出する。当該変化量は、例えば、所定の単位時間当たりの変化量である。
また、ロボット制御装置30では、制御装置側表示制御部51により仮想壁画像の生成などを行う際に、現実空間上での仮想壁の位置および姿勢を把握している。これにより、制御装置側表示制御部51は、これらを特定することができる。
同様に、ロボット20の可動部A以外の箇所の姿勢は、例えば、ロボット20の可動部Aにより作業が行われているときには、固定された姿勢となっている。
本実施形態では、制御装置側表示制御部51は、ロボット20の動く部分である可動部Aと仮想壁との距離を測って、当該距離に基づいて仮想壁の表示形態を制御するが、他の例として、制御装置側表示制御部51は、ロボット20の動かない部分と仮想壁との距離を測って、当該距離に基づいて仮想壁の表示形態を制御してもよい。ロボット20の動かない部分としては、例えば、基台Bがある。
また、制御装置側表示制御部51は、例えば、現実空間上での仮想壁と作業者Hとの距離に基づいて、仮想壁の表示形態を決定し、仮想壁の表示形態を決定された表示形態へ変更する。
また、制御装置側表示制御部51は、例えば、ロボット20の可動部Aの姿勢の変化量に基づいて、仮想壁の表示形態を決定し、仮想壁の表示形態を決定された表示形態へ変更する。
また、例えば、制御装置側表示制御部51は、現実空間上での仮想壁とロボット20の可動部Aとの距離が長くても、ロボット20の可動部Aの速度が速い場合には、危険なことを示す表示形式で仮想壁を表示させてもよい。
なお、ロボット20の可動部Aの速度は、例えば、当該可動部Aの姿勢の変化量(姿勢変化量)に基づいて決められてもよく、一例として、所定の単位時間当たりの当該可動部Aの姿勢の変化量(姿勢変化量)が当該可動部Aの速度として用いられてもよい。具体例として、ロボット20の可動部Aと仮想壁とが接触していても、当該可動部Aの姿勢の変化量がゼロであるときには、安全とみなされる場合もあり得る。
例えば、人の腕のリーチの値としては、ISO13855に示される上肢の進入に対する安全距離の850mmをロボット制御装置30に設定してもよい。
より詳しくは、ISO13855では、「上肢の進入に対する安全距離」において、肩の基点までの腕について、開口部が40mmを超えて120mm以下である場合に、長方形、正方形、円形の開口部について、安全距離を850mm以上としてある。ここで、開口部の寸法は、正方形開口部の辺、円形開口部の直径および長方形開口部の最も狭い寸法に相当する。また、14歳以上の人を対象としている。このように、安全規格で人の身長や腕の長さが決まっている。
本実施形態では、作業者Hの腕のリーチの値として、あらかじめ設定された一定の値が用いられるが、他の例として、ロボットシステム1に備えられたカメラによって作業者Hを撮像し、得られた画像に基づいて作業者Hの腕のリーチの値が検出されて用いられてもよい。
例えば、制御装置側表示制御部51は、現実空間上での仮想壁と、ロボット20の可動部Aの現在位置から所定時間経過したときの位置との距離に基づいて、仮想壁の表示形態を決定してもよい。当該所定時間としては、任意の時間が用いられてもよい。
制御装置側表示制御部51は、例えば、ロボット20の可動部Aの動作における軌道に基づいて、仮想壁を表示させる。
また、制御装置側表示制御部51は、例えば、ロボット20の可動部Aの動作が変更されるときに、ロボット20の可動部Aの動作に応じて仮想壁を変更する。例えば、制御装置側表示制御部51は、ロボット20の可動部Aの動作における軌道が変化した場合に、軌道の変化に合わせて、表示させる仮想壁を変化する。
また、制御装置側表示制御部51は、例えば、ロボット20の可動部Aの動作が選択されたときに、選択された動作に応じて仮想壁を変更する。動作の選択は、例えば、ユーザーによる操作に基づいて行われてもよく、あるいは、外部の装置から入力される指示に基づいて行われてもよい。
このようなスケーリングでは、例えば、仮想壁によって囲まれた領域の形を保ったまま、当該領域を拡大あるいは縮小することが行われる。
なお、ユーザーインターフェイスあるいは装置とのインターフェイスは、それぞれ、任意の装置に備えられてもよく、例えば、ロボット制御装置30、表示装置40、あるいは、他の情報処理装置(図示せず)などのうちの1以上の装置に備えられてもよい。
具合例として、作業者Hが表示装置40の表示部46を介して現実空間上でのロボット20を見ているときに、表示装置40の表示部46に仮想壁画像が表示されると、作業者Hは、ロボット20および仮想壁が存在する空間を見ることになる。
表示装置40の表示装置側表示制御部61が表示対象の画像を生成する場合について説明する。
表示装置40の表示装置側表示制御部61は、例えば、ロボット制御装置30の制御装置側表示制御部51により行われる画像の生成処理および表示に関する制御と同様な処理および制御を行う機能を有する。
このような情報としては、例えば、位置検出装置25からロボット制御装置30に送信される作業者位置情報、あるいは、ロボット制御装置30において管理されるロボット20の可動部Aの位置および姿勢、ロボット20の可動部Aの速度、ロボット20の可動部Aの姿勢の変化量などの情報がある。
このような情報処理装置は、例えば、図3に示されるような表示装置40が備える機能の一部を当該表示装置40の代わりに備えてもよく、この構成では、表示装置40と当該情報処理装置とが連携して動作することで、図3に示されるような表示装置40と同様な機能を実現する。
このような情報処理装置は、例えば、監視制御装置などと呼ばれてもよい。
図4〜図7を参照して、仮想壁の表示形態の変更の具体例を説明する。
なお、以下では、ロボット制御装置30の制御装置側表示制御部51が仮想壁の表示形態を変更する処理を例として説明するが、表示装置40の表示装置側表示制御部61が仮想壁の表示形態を変更する処理についても同様である。
図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を示してある。
そして、それぞれの仮想壁(第1仮想壁101−1〜第4仮想壁101−4)とロボット20の可動部Aとの距離Dr1〜Dr4は、それぞれの仮想壁(第1仮想壁101−1〜第4仮想壁101−4)の面に垂直な方向(当該面に直交する方向)について、ロボット20の可動部Aとそれぞれの仮想壁(第1仮想壁101−1〜第4仮想壁101−4)の面との最短距離となっている。
なお、当該最短距離については、例えば、当該最短距離を求めるための数式などがあらかじめ設定されて当該数式などに基づいて求められてもよく、あるいは、いわゆる総当たりで当該最短距離が求められてもよい。
本実施形態では、制御装置側表示制御部51は、ロボット20の可動部Aの姿勢を考慮した仮想壁(第1仮想壁101−1〜第4仮想壁101−4)とロボット20との距離が近いほど、注意喚起の度合いを大きくする。
本実施形態では、制御装置側表示制御部51は、ロボット20の可動部Aの単位時間当たりの姿勢変化量が大きいほど、注意喚起の度合いが大きくなるように、すべての仮想壁を大きくする。ロボット20の単位時間当たりの姿勢変化量の大きさは、ロボット20の動作の速さの大小を表す。
例えば、連続運転状態のようにロボット20の可動部Aが高速で動作している場合、注意喚起の度合いは比較的大きくなり、一方、停止状態あるいはダイレクトティーチング時のようにロボット20の可動部Aが低速で動作している場合は、注意喚起の度合いは比較的小さくなる。
本実施形態では、作業者Hは、表示装置40を装着している。
図5には、現実空間における作業者Hと、現実空間に反映させた4個の仮想壁に対応した4個の壁を示してある。本例では、説明の便宜上、これら4個の壁を、第1仮想壁101−1〜第4仮想壁101−4として示してある。
また、図5には、それぞれの仮想壁(第1仮想壁101−1〜第4仮想壁101−4)と作業者Hとの距離Dh1〜Dh4を示してある。
そして、それぞれの仮想壁(第1仮想壁101−1〜第4仮想壁101−4)と作業者Hとの距離Dh1〜Dh4は、それぞれの仮想壁(第1仮想壁101−1〜第4仮想壁101−4)の面に垂直な方向(当該面に直交する方向)について、作業者Hとそれぞれの仮想壁(第1仮想壁101−1〜第4仮想壁101−4)の面との最短距離となっている。
なお、当該最短距離については、例えば、当該最短距離を求めるための数式などがあらかじめ設定されて当該数式などに基づいて求められてもよく、あるいは、いわゆる総当たりで当該最短距離が求められてもよい。
本実施形態では、制御装置側表示制御部51は、仮想壁(第1仮想壁101−1〜第4仮想壁101−4)と作業者Hとの距離が近いほど、注意喚起の度合いを大きくする。
ここで、仮想壁(第1仮想壁101−1〜第4仮想壁101−4)は、例えば、図4の例および図5の例で示されるものと同様である。
図6の例では、4個の仮想壁(第1仮想壁101−1〜第4仮想壁101−4)が、ロボット20を取り囲むように、設定されている。
ここで、注意喚起の度合いと色との対応は、例えば、3以上の対応が用いられてもよく、注意喚起の度合いの範囲と色との対応が制御装置側表示制御部51に設定される。なお、注意喚起の度合いは、例えば、それぞれの仮想壁(第1仮想壁101−1〜第4仮想壁101−4)とロボット20の可動部Aとの距離およびロボット20の可動部Aの速度に基づく値で表される。
なお、色の変化は、例えば、注意喚起の度合いに応じて離散的な色の変化が用いられてもよく、あるいは、色のグラデーションのように、注意喚起の度合いに応じて連続的な色の変化が用いられてもよい。
なお、図6の例は、仮想壁(第1仮想壁101−1〜第4仮想壁101−4)の表示形式の一例であり、他の様々な表示形式が用いられてもよい。
本例では、N(Nは1以上の整数)個の仮想壁が生成される場合を説明する。図4の例および図5の例では、n=4である。また、n(nは1以上でN以下の整数)により各仮想壁の番号を示す。
なお、本実施形態では、仮想現実空間に存在する仮想壁と現実空間に存在するロボット20および作業者Hとの位置関係などを表すために、これらが現実空間に存在したと仮定した場合を想定して位置関係などを表すが、逆に、これらが仮想現実空間に存在したと仮定した場合を想定して位置関係などを表してもよく、あるいは、これらが他の同一の空間に存在したと仮定した場合を想定して位置関係などを表してもよい。
図7の例では、作業空間は、現実空間を表す。また、n番目の仮想壁を「仮想壁n」と呼んで説明する。
制御装置側表示制御部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の処理へ移行する。
制御装置側表示制御部51は、nがN以下であるか否かを判定する。
この判定の結果、制御装置側表示制御部51は、nがN以下であると判定した場合には(ステップS6:YES)、ステップS7の処理へ移行する。
一方、この判定の結果、制御装置側表示制御部51は、nがN以下ではないと判定した場合には(ステップS6:NO)、本フローの処理を終了する。
制御装置側表示制御部51は、仮想壁nの作業空間上の位置Xb(n)とロボット20の作業空間上の位置Xrとの距離Dr(n)を計算する。そして、ステップS8の処理へ移行する。ここで、当該距離Dr(n)は、ロボット20の作業空間上の姿勢Prを考慮した距離である。
制御装置側表示制御部51は、ロボット20の作業空間上の姿勢Prの変化量ΔPrと、距離Dr(n)に基づいて、仮想壁nについて、注意喚起の度合いα(n)を決定する。そして、ステップS9の処理へ移行する。
本例では、仮想壁nの作業空間上の位置Xb(n)とロボット20の作業空間上の位置Xrとの距離Dr(n)の大小に応じて、注意喚起の度合いα(n)が異なり得る。
また、本例では、ロボット20の作業空間上の姿勢Prの変化量ΔPrの大小に応じて、注意喚起の度合いα(n)が異なり得る。
制御装置側表示制御部51は、仮想壁nの作業空間上の位置Xb(n)と作業者Hの作業空間上の位置Xhに基づいて、仮想壁nについて、注意喚起の度合いβ(n)を決定する。そして、ステップS10の処理へ移行する。
本例では、仮想壁nの作業空間上の位置Xb(n)と作業者Hの作業空間上の位置Xhとの距離Dh(n)の大小に応じて、注意喚起の度合いβ(n)が異なり得る。
制御装置側表示制御部51は、注意喚起の度合いα(n)および注意喚起の度合いβ(n)にしたがった表示形態で、表示装置40に、仮想壁nを描画することで表示させる。そして、ステップS11の処理へ移行する。
これにより、注意喚起の度合いα(n)と注意喚起の度合いβ(n)が同時に表示形式に反映される。
(ステップS11)
制御装置側表示制御部51は、nに1を加算する。そして、ステップS6の処理へ移行する。
ロボット20に対して表示する仮想壁nを決定する手法では、例えば、仮想壁nの位置および姿勢が決定されてもよい。また、仮想壁nの初期的な表示形態が設定されてもよい。
本実施形態では、作業者Hへの注意喚起の度合いα(n)、β(n)に基づいて、仮想壁nの表示形態が変更させられる。
ここで、例えば、ロボット20に関する現在の情報に基づいて仮想壁の表示および仮想壁の表示形態の変更が行われるばかりでなく、例えば、ロボット20に関する未来の予測される情報に基づいて仮想壁の表示および仮想壁の表示形態の変更が行われてもよい。
未来としては、現在に対して任意の未来が用いられてもよく、例えば、1秒後の未来、2秒後の未来、あるいは、1分後の未来、10分後の未来、などが用いられてもよい。
また、例えば、ロボット20に関する現在の情報に基づく仮想壁が表示されずに、1以上の未来の仮想壁が表示される場合があってもよい。
また、複数の時間(現在あるいは1以上の未来のうちの2以上の時間)の仮想壁を同時に表示する場合、例えば、2個以上の仮想壁が重なる部分において、注意喚起の度合いが最も大きい仮想壁の表示形態を優先的に使用して表示することが行われてもよい。
図8〜図27を参照して、表示する仮想壁の決定の具体例を説明する。
なお、以下では、ロボット制御装置30の制御装置側表示制御部51が表示する仮想壁を決定する処理を例として説明するが、表示装置40の表示装置側表示制御部61が表示する仮想壁を決定する処理についても同様である。
ロボット制御装置30が自動的に仮想壁を設定することを可能とするために、ユーザーは、あらかじめ、ロボット20の動作の経路をロボット制御装置30に教示して、ロボット制御装置30にロボット20の動作のシミュレーションを実行させる。ここで、教示としては、任意の教示が行われてもよく、本実施形態では、ポイントごとの教示が行われる。
なお、ユーザーは、例えば、作業者Hであってもよく、あるいは、他の任意の者であってもよい。
また、本実施形態では、ロボット制御装置30の制御装置側表示制御部51が、ロボット20の動作のシミュレーション、当該シミュレーションの結果の表示、当該シミュレーションの結果の分析、仮想壁の設定などの各種の処理を実行する。
GO命令は、Point to Point(ポイント トゥ ポイント)の動作命令であり、二点の位置が指定されて、当該二点のうちの一点の位置から他の一点の位置への動作の命令である。
MOVE命令は、例えば直線の経路の動作のように、経路の形が指定される動作の命令である。
図8には、ロボットシステム1における作業環境の一例として、ロボット20と、加工前の部品を載置するパレットである加工前部品パレット201と、加工済みの部品を載置するパレットである加工済み部品パレット202と、加工を行う機械である加工機203を示してある。
図8には、説明の便宜上、XYZ直交座標系の軸を示してある。
また、図8には、XYZ三次元直交座標系の一例を示してある。
(処理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)が指定され得る。
当該第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により使用されてもよい。
本実施形態では、ロボット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の例では、仮想壁を設定するために使用され得るメッシュ(説明の便宜上、第1メッシュ351−1〜第2メッシュ351−2という。)を示してある。第1メッシュ351−1〜第2メッシュ351−2は、一定の間隔ごとに配置された複数の直線、および、当該直線と直交して一定の間隔ごとに配置された複数の直線から構成されている。第1メッシュ351−1〜第2メッシュ351−2の間隔の大きさは、例えば、ユーザーなどにより、任意に変更されることが可能であってもよい。
なお、他の例として、第1メッシュ351−1〜第2メッシュ351−2は、表示されなくてもよい。
具体的には、ロボット20がロボット制御装置30により制御された状態の位置として、第1アーム部311の位置(説明の便宜上、第1位置361−1という。)と、第2アーム部312の位置(説明の便宜上、第2位置361−2という。)が示されている。また、仮にロボット20に非常停止命令が発せられた場合にロボット20が到達し得る位置として、第1アーム部311の位置(説明の便宜上、第3位置371−1という。)と、第2アーム部312の位置(説明の便宜上、第4位置371−2という。)が示されている。
具体的には、ロボット20がロボット制御装置30により制御された状態の位置として、第1アーム部311の位置(説明の便宜上、第5位置362−1という。)と、第2アーム部312の位置(説明の便宜上、第6位置362−2という。)が示されている。また、仮にロボット20に非常停止命令が発せられた場合にロボット20が到達し得る位置として、第1アーム部311の位置(説明の便宜上、第7位置372−1という。)と、第2アーム部312の位置(説明の便宜上、第8位置372−2という。)が示されている。
なお、非常停止命令は、例えば、ロボット制御装置30からロボット20に対して送信され、これに応じてロボット20は空走動作を行って緊急停止する。
また、ロボット20が停止している状態では、緊急停止は考えられなくてもよい。
すべての時刻におけるシミュレーションの結果を重ね合わせると、ユーザーにより教示されたロボット20の動作が行われる場合にロボット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には、説明の便宜上、XYZ直交座標系の軸を示してある。
図15の例では、図14の例に対して安全領域431が設定されている。
図15には、図14に示される第3メッシュ411および第1領域401〜第3領域403が示されている。
ロボット制御装置30の制御装置側表示制御部51は、ロボット20が通過し得る領域(説明の便宜上、「通過領域」ともいう。)と安全領域431を数値パターン化する。
図16には、説明の便宜上、平面上のxy直交座標系を示してある。本例では、xy直交座標系のx軸の方向は水平方向に相当し、y軸の方向は垂直方向に相当する。
図16には、図15に示されるものと同様な第3メッシュ411を示してある。
また、図16には、安全領域431と、通過領域432を示してある。
なお、安全領域431は、無限の領域となり得るため、本実施形態では、限定された領域について演算処理を行っている。
このように、ロボット制御装置30の制御装置側表示制御部51は、第3メッシュ411により構成される複数の正方形のそれぞれにスコア(値)を割り振る。
ここで、安全領域431に含まれる正方形に設定される値と、通過領域432に含まれる正方形に設定される値としては、それぞれ、任意の値が設定されてもよい。
ロボット制御装置30の制御装置側表示制御部51は、図16に示される数値パターンを画像情報として、所定のフィルタリングの処理を行って、エッジを検出する。この場合、ロボット制御装置30の制御装置側表示制御部51は、第3メッシュ411により構成される複数の正方形のそれぞれを1個の画素とみなして、各画素に画素値である数値が設定された画像として扱う。画素値は、例えば、輝度値とみなされてもよい。
ここで、所定のフィルタリングとしては、エッジを検出するための任意のフィルタリングが用いられてもよく、例えば、ソーベルフィルタのフィルタリング、あるいは、ラプラシアンフィルタのフィルタリングなどが用いられてもよい。
図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)と表す。
式(2)には、画素値の全体的な勾配ΔI(i、j)を示してある。
式(3)には、x方向についてオペレーターを示してある。
式(4)には、y方向についてオペレーターを示してある。
そして、制御装置側表示制御部51は、式(2)に示される画素値全体の勾配ΔI(i、j)を算出する。
この場合に、制御装置側表示制御部51は、注目する画素およびその周辺の画素の画素値のマトリクスに、式(3)に示されるx方向のオペレーターを掛ける演算を行うことで、x方向の勾配を導出する。ここで、当該マトリクスと当該オペレーターとは、x方向の画素の数(正方形の数)が同じであり、かつ、y方向の画素の数(正方形の数)が同じである。また、当該マトリクスの中心の画素(正方形)が注目する画素(正方形)となる。
同様に、制御装置側表示制御部51は、注目する画素およびその周辺の画素の画素値のマトリクスに、式(4)に示されるy方向のオペレーターを掛ける演算を行うことで、y方向の勾配を導出する。ここで、当該マトリクスと当該オペレーターとは、x方向の画素の数(正方形の数)が同じであり、かつ、y方向の画素の数(正方形の数)が同じである。また、当該マトリクスの中心の画素(正方形)が注目する画素(正方形)となる。
また、本例では、マトリクスにオペレーターを掛ける演算として、それぞれの画素(正方形)についてマトリクスの値とオペレーターの値とを乗算し、その乗算結果をすべての画素(正方形)について総和する演算が行われる。
なお、画素値の正負の符号については、適宜、逆転するなどのように、調整されてもよい。
次に、ロボット制御装置30の制御装置側表示制御部51は、検出されたエッジの数値パターンを2値化する。
本例では、制御装置側表示制御部51は、所定の閾値を用いて2値化を行う。具体的には、制御装置側表示制御部51は、フィルタリング結果におけるそれぞれの画素(正方形)の画素値について、画素値が所定の閾値以上である場合には「1」の値を割り当てる一方、画素値が当該閾値未満である場合には「0」の値を割り当てる。なお、割り当てられる値としては、他の任意の値が用いられてもよい。また、閾値としては、任意の値が用いられてもよい。
図18には、説明の便宜上、図16〜図17の場合と同様に、平面上のxy直交座標系を示してある。
図18の例は、図17の例に対して二値化の処理が行われた結果の一例である。
本例では、二値化のための閾値として、例えば、「3」または「4」が用いられている。
図19には、説明の便宜上、図16〜図18の場合と同様に、平面上のxy直交座標系を示してある。
図19の例では、図18に示されるエッジの境界の候補の画素(正方形)のうち、図16に示される通過領域432に含まれる画素(正方形)を除いた部分を、最終的な安全領域431の境界としている。
ここで、制御装置側表示制御部51は、求められた最終的な安全領域431の境界に対して、例えば、当該境界のところに仮想壁を設けてもよく、あるいは、当該境界よりも外側のところに仮想壁を設けてもよい。
また、制御装置側表示制御部51は、例えば、算出された境界に対してマージンを設けて、当該マージンに対応したところに仮想壁を設けてもよい。
複数のマージンが異なる仮想壁としては、例えば、ロボット20の動作を遅くする仮想的な領域を区切る仮想壁、あるいは、ロボット20の動作を停止する仮想的な領域を区切る仮想壁、などに用いられてもよい。
また、複数のマージンが異なる仮想壁は、例えば、基準となる1個以上の仮想壁に対してスケーリングを行って、当該仮想壁が囲む形に対して拡大あるいは縮小された相似形状が生成されることで、取得されてもよい。
なお、それぞれの仮想壁の面は、例えば、xy平面に対して垂直であってもよく、あるいは、垂直から傾いていてもよい。
制御装置側表示制御部51は、生成された仮想壁をシミュレーションの結果などとして表示する。
図20および図21を参照して、安全領域の境界を生成する他の手法を説明する。
図20および図21は、それぞれ、本発明の一実施形態に係る安全領域の境界を生成する他の一例を示す図である。
図20〜図21の例では、図15〜図19の例に示される安全領域の境界を生成する手法とは異なる手法を説明する。
本手法では、ロボット20などを上下方向で見た場合のxy平面上において処理が行われる。
図20および図21には、それぞれ、図14に示されるものと同様な第3メッシュ411および3個の領域(第1領域401〜第3領域403)を示してある。
また、ロボット20の原点の位置P1としては、例えば、ロボット20の基台Bの重心位置などが用いられてもよい。
また、本例では、ロボット20の動作領域は、3個の領域(第1領域401〜第3領域403)が重ね合わされたときの外枠で囲まれる領域となる。つまり、本例では、3個の領域(第1領域401〜第3領域403)のうちの少なくとも1個の領域に含まれる位置は、ロボット20の動作領域の位置となる。
続いて、制御装置側表示制御部51は、位置P2の代わりに、位置P3について、同様な処理を行う。
制御装置側表示制御部51は、このような処理の手順を、安全領域の境界によって動作領域の全体が1周分覆われるまで、繰り返して行う。このとき、位置P3以降に順番に検出されていく位置が最初の位置P2に戻ったときに、繰り返しの処理が終了となる。
このようにして、制御装置側表示制御部51は、安全領域の境界571を生成する。
図22では、説明の便宜上、XYZ直交座標系の軸を示してある。
図22には、ロボット20と、ロボット20の動作領域を囲む第5仮想壁601が示されている。
なお、それぞれの第5仮想壁601の面は、例えば、xy平面に対して垂直であってもよく、あるいは、垂直から傾いていてもよい。
制御装置側表示制御部51は、生成された第5仮想壁601をシミュレーションの結果などとして表示する。
ロボット制御装置30の制御装置側表示制御部51は、例えば、ロボット20により行われる一連の動作の最初から終わりまで一定の仮想壁を設定してもよいが、他の例として、ロボット20により行われる一連の動作の途中で仮想壁を変更してもよい。
例えば、制御装置側表示制御部51は、ロボット20の動作における軌道に応じて仮想壁を生成して、ロボット20の動作における軌道に応じて仮想壁を変更してもよい。
このような場合に、制御装置側表示制御部51は、それぞれの領域について、異なる仮想壁を生成してもよい。つまり、制御装置側表示制御部51は、(処理D1)〜(処理D3)におけるロボット20に適用される仮想壁と、(処理D4)〜(処理D5)におけるロボット20に適用される仮想壁とを異ならせてもよい。そして、制御装置側表示制御部51は、(処理D1)〜(処理D3)ではそれに合った仮想壁を設定し、(処理D4)〜(処理D5)ではそれに合った異なる仮想壁を設定するように、使用される仮想壁を変更してもよい。
ここでは、動作ごとに仮想壁が異なり得るという表現で説明したが、例えば、作業ごとに仮想壁が異なり得るという表現が用いられてもよく、あるいは、軌道ごとに仮想壁が異なり得るという表現が用いられてもよい。
本実施形態に係るロボットシステム1では、ロボット制御装置30などにおいて、作業者Hにより教示されたロボット20の動作をシミュレーションにより実行させた結果に基づいて、侵入検知等のための仮想的な領域に応じた仮想壁を自動的に設定することができる。このため、ロボット制御装置30などにおいて、例えば、シミュレーションにおけるロボット20の動作の経路などを変更することで、変更後の経路などに適した仮想壁へ変更することができる。
ここで、本実施形態に係るロボットシステム1では、複数の段階の仮想的な領域は、例えば、基準となる仮想的な領域のスケーリングなどにより容易に生成することが可能である。
しかしながら、このような比較例では、作業者がロボットの動作のミュレーションの果を見た上で、作業者自身でどの位置に仮想的な領域を設定するべきかを考える必要があった。また、このような比較例では、ロボットの動作のシミュレーション結果として当該ロボットの先端部分のみに関する結果が表示されるため、当該先端部分を含むロボット全体の位置を考慮して仮想的な領域を設定することは、ロボットに関する知識を持っていなければ難しい場合があった。
以上のように、本実施形態に係るロボットシステム1では、可動部Aを有するロボット20を制御するロボット制御装置30(本実施形態では、制御装置の一例)において、可視光を透過する表示部46に表示される仮想壁の表示形態を、現実空間上での仮想壁と可動部Aとの距離と、可動部Aの速度と、に基づいて変更する制御装置側表示制御部51(本実施形態では、表示制御部の一例)を備える。
したがって、本実施形態に係るロボットシステム1では、ロボット制御装置30において、現実空間上での仮想壁と可動部Aとの距離および可動部Aの速度に基づいて、適した表示形態で仮想壁が表示部46に表示されることを実現することができる。これにより、本実施形態に係るロボットシステム1では、例えば、表示部46の表示を見る作業者Hなどにとって、有効な表示形態で仮想壁を表示することができ、ロボット20の現在の状況を把握しやすくすることが可能である。
したがって、本実施形態に係るロボットシステム1では、現実空間上での仮想壁と作業者Hとの距離に基づいて、適した表示形態で仮想壁が表示部46に表示されることを実現することができる。これにより、本実施形態に係るロボットシステム1では、例えば、表示部46の表示を見る作業者Hなどにとって、有効な表示形態で仮想壁を表示することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
したがって、本実施形態に係るロボットシステム1では、例えば、仮想壁と可動部Aとの距離に基づいて変更される仮想壁の表示形態の種類と、作業者Hと仮想壁との距離に基づいて変更される仮想壁の表示形態の種類とが異なるため、それぞれの距離に応じて適した種類の表示形態を変更することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
したがって、本実施形態に係るロボットシステム1では、例えば、作業者Hの腕のリーチの値を考慮して、適した表示形態で仮想壁が表示部46に表示されることを実現することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
したがって、本実施形態に係るロボットシステム1では、例えば、未来の可動部Aの位置に基づいて、適した表示形態で仮想壁が表示部46に表示されることを実現することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
したがって、本実施形態に係るロボットシステム1では、例えば、可動部Aの動作における軌道に基づいて、適した仮想壁が表示部46に表示されることを実現することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
したがって、本実施形態に係るロボットシステム1では、例えば、それぞれの動作における可動部Aの軌道に応じて、適した仮想壁が表示部46に表示されることを実現することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
したがって、本実施形態に係るロボットシステム1では、例えば、選択された動作における可動部Aの軌道に応じて、適した仮想壁が表示部46に表示されることを実現することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
したがって、本実施形態に係るロボットシステム1では、例えば、ユーザーから受け付けられた指令に基づいて、仮想壁により囲まれた領域のスケーリングを行うことが可能であり、仮想壁のスケーリングを行うことが可能である。
なお、このような構成は、必ずしも実施されなくてもよい。
したがって、本実施形態に係るロボットシステム1では、ヘッドマウントディスプレイにおいて、現実空間上での仮想壁と可動部Aとの距離および可動部Aの速度に基づいて、適した表示形態で仮想壁が表示部46に表示されることを実現することができる。これにより、本実施形態に係るロボットシステム1では、例えば、表示部46の表示を見る作業者Hなどにとって、有効な表示形態で仮想壁を表示することができ、ロボット20の現在の状況を把握しやすくすることが可能である。
したがって、本実施形態に係るロボットシステム1では、ヘッドマウントディスプレイにおいて、現実空間上での仮想壁と作業者Hとの距離に基づいて、適した表示形態で仮想壁が表示部46に表示されることを実現することができる。これにより、本実施形態に係るロボットシステム1では、例えば、表示部46の表示を見る作業者Hなどにとって、有効な表示形態で仮想壁を表示することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
したがって、本実施形態に係るロボットシステム1では、例えば、仮想壁と可動部Aとの距離に基づいて変更される仮想壁の表示形態の種類と、作業者Hと仮想壁との距離に基づいて変更される仮想壁の表示形態の種類とが異なるため、それぞれの距離に応じて適した種類の表示形態を変更することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
したがって、本実施形態に係るロボットシステム1では、ヘッドマウントディスプレイにおいて、例えば、作業者Hの腕のリーチの値を考慮して、適した表示形態で仮想壁が表示部46に表示されることを実現することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
したがって、本実施形態に係るロボットシステム1では、ヘッドマウントディスプレイにおいて、例えば、未来の可動部Aの位置に基づいて、適した表示形態で仮想壁が表示部46に表示されることを実現することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
したがって、本実施形態に係るロボットシステム1では、ヘッドマウントディスプレイにおいて、例えば、可動部Aの動作における軌道に基づいて、適した仮想壁が表示部46に表示されることを実現することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
したがって、本実施形態に係るロボットシステム1では、ヘッドマウントディスプレイにおいて、例えば、それぞれの動作における可動部Aの軌道に応じて、適した仮想壁が表示部46に表示されることを実現することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
したがって、本実施形態に係るロボットシステム1では、ヘッドマウントディスプレイにおいて、例えば、選択された動作における可動部Aの軌道に応じて、適した仮想壁が表示部46に表示されることを実現することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
したがって、本実施形態に係るロボットシステム1では、例えば、ユーザーから受け付けられた指令に基づいて、仮想壁により囲まれた領域のスケーリングを行うことが可能であり、仮想壁のスケーリングを行うことが可能である。
なお、このような構成は、必ずしも実施されなくてもよい。
したがって、本実施形態に係るロボットシステム1では、現実空間上での仮想壁と可動部Aとの距離および可動部Aの速度に基づいて、適した表示形態で仮想壁が表示部46に表示されることを実現することができる。これにより、本実施形態に係るロボットシステム1では、例えば、表示部46の表示を見る作業者Hなどにとって、有効な表示形態で仮想壁を表示することができ、ロボット20の現在の状況を把握しやすくすることが可能である。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
例えば、本実施形態では、スカラロボット(水平多関節ロボット)を例として説明したが、他の例として、いわゆる6軸ロボットあるいは7軸ロボットのような垂直多関節ロボット、または、他のロボットに、本実施形態の全部または一部に係る技術が適用されてもよい。
Claims (19)
- 可動部を有するロボットを制御する制御装置であって、
可視光を透過する表示部に表示される仮想壁の表示形態を、現実空間上での前記仮想壁と前記可動部との距離と、前記可動部の速度と、に基づいて変更する表示制御部を備える、
制御装置。 - 前記表示制御部は、前記表示部を装着した作業者と前記仮想壁との距離に基づいて、前記仮想壁の表示形態を変更する、
請求項1に記載の制御装置。 - 前記仮想壁と前記可動部との距離に基づいて変更される前記仮想壁の表示形態の種類は、前記作業者と前記仮想壁との距離に基づいて変更される前記仮想壁の表示形態の種類と異なる、
請求項2に記載の制御装置。 - 前記表示制御部は、前記作業者と前記仮想壁との距離と、あらかじめ決められた値と、に基づいて前記仮想壁の表示形態を変更する、
請求項2または請求項3のいずれか1項に記載の制御装置。 - 前記表示制御部は、前記仮想壁と、前記可動部の現在位置から所定時間経過した時の位置との距離に基づいて、前記仮想壁の表示形態を変更する、
請求項1から請求項4のいずれか1項に記載の制御装置。 - 前記表示制御部は、前記可動部の動作における軌道に基づいて、前記仮想壁を表示する、
請求項1から請求項5のいずれか1項に記載の制御装置。 - 前記動作は、第1動作と、前記第1動作の後に実行され前記第1動作と異なる第2動作を含み、
前記表示制御部は、前記可動部が前記第1動作から前記第2動作に変更するとき、前記第1動作における前記可動部の軌道に応じた前記仮想壁から前記第2動作における前記可動部の軌道に応じた前記仮想壁に変更する、
請求項6に記載の制御装置。 - 前記表示制御部は、前記動作のうち選択された動作における前記可動部の軌道に応じた仮想壁を表示する、
請求項6または請求項7のいずれか1項に記載の制御装置。 - 前記仮想壁によって囲まれた領域と相似形状の領域を表示する指令を、ユーザーから受け付ける受付部を備え、
前記表示制御部は、前記受付部が受け付けた指令に基づいて、前記相似形状の領域を表示する、
請求項1から請求項8のいずれか1項に記載の制御装置。 - 仮想壁が表示され、可視光を透過する表示部と、
前記表示部に表示される前記仮想壁の表示形態を、ロボットが有する可動部と現実空間上での前記仮想壁との距離と、前記可動部の速度と、に基づいて変更する表示制御部と、
を備えるヘッドマウントディスプレイ。 - 前記表示制御部は、前記表示部を装着した作業者と前記仮想壁との距離に基づいて、前記仮想壁の表示形態を変更する、
請求項10に記載のヘッドマウントディスプレイ。 - 前記仮想壁と前記可動部との距離に基づいて変更される前記仮想壁の表示形態の種類は、前記作業者と前記仮想壁との距離に基づいて変更される前記仮想壁の表示形態の種類と異なる、
請求項11に記載のヘッドマウントディスプレイ。 - 前記表示制御部は、前記作業者と前記仮想壁との距離と、あらかじめ決められた値と、に基づいて前記仮想壁の表示形態を変更する、
請求項11または請求項12のいずれか1項に記載のヘッドマウントディスプレイ。 - 前記表示制御部は、前記仮想壁と、前記可動部の現在位置から所定時間経過した時の位置との距離に基づいて、前記仮想壁の表示形態を変更する、
請求項10から請求項13のいずれか1項に記載のヘッドマウントディスプレイ。 - 前記表示制御部は、前記可動部の動作における軌道に基づいて、前記仮想壁を表示する、
請求項10から請求項14のいずれか1項に記載のヘッドマウントディスプレイ。 - 前記動作は、第1動作と、前記第1動作の後に実行され前記第1動作と異なる第2動作を含み、
前記表示制御部は、前記可動部が前記第1動作から前記第2動作に変更するとき、前記第1動作における前記可動部の軌道に応じた前記仮想壁から前記第2動作における前記可動部の軌道に応じた前記仮想壁に変更する、
請求項15に記載のヘッドマウントディスプレイ。 - 前記表示制御部は、前記動作のうち選択された動作における前記可動部の軌道に応じた仮想壁を表示する、
請求項15または請求項16のいずれか1項に記載のヘッドマウントディスプレイ。 - 前記仮想壁によって囲まれた領域と相似形状の領域を表示する指令を、ユーザーから受け付ける受付部を備え、
前記表示制御部は、前記受付部が受け付けた指令に基づいて、前記相似形状の領域を表示する、
請求項10から請求項17のいずれか1項に記載のヘッドマウントディスプレイ。 - 可動部を有するロボットと、
可視光を透過する表示部を有し、前記表示部に仮想壁を表示するヘッドマウントディスプレイと、
前記表示部に表示される前記仮想壁の表示形態を、現実空間上での前記仮想壁と前記可動部との距離と、前記可動部の速度と、に基づいて変更する表示制御部と、を備える、
ロボットシステム。
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6816077B2 (ja) * | 2018-09-14 | 2021-01-20 | ファナック株式会社 | 誘導情報提示装置、誘導情報提示サーバ、誘導情報提示システム、誘導情報提示方法及びプログラム |
Citations (4)
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)
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 | セイコーエプソン株式会社 | ロボット制御装置、ロボットおよびシミュレーション装置 |
-
2018
- 2018-07-20 JP JP2018136769A patent/JP7167518B2/ja active Active
-
2019
- 2019-07-19 US US16/516,319 patent/US11157226B2/en active Active
Patent Citations (4)
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)
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 |