(57)【要約】【課題】ロボットの現在の状況を把握しやすくすることが可能である制御装置を提供する。【解決手段】可動部を有するロボットを制御する制御装置であって、可視光を透過する表示部に表示される仮想壁の表示形態を、現実空間上での前記仮想壁と前記可動部との距離と、前記可動部の速度と、に基づいて変更する表示制御部を備える、制御装置である。【選択図】図１
2020011357.tif 000002
【特許請求の範囲】
【請求項１】
可動部を有するロボットを制御する制御装置であって、
可視光を透過する表示部に表示される仮想壁の表示形態を、現実空間上での前記仮想壁と前記可動部との距離と、前記可動部の速度と、に基づいて変更する表示制御部を備える、
制御装置。
【請求項２】
前記表示制御部は、前記表示部を装着した作業者と前記仮想壁との距離に基づいて、前記仮想壁の表示形態を変更する、
請求項１に記載の制御装置。
【請求項３】
前記仮想壁と前記可動部との距離に基づいて変更される前記仮想壁の表示形態の種類は、前記作業者と前記仮想壁との距離に基づいて変更される前記仮想壁の表示形態の種類と異なる、
請求項２に記載の制御装置。
【請求項４】
前記表示制御部は、前記作業者と前記仮想壁との距離と、あらかじめ決められた値と、に基づいて前記仮想壁の表示形態を変更する、
請求項２または請求項３のいずれか１項に記載の制御装置。
【請求項５】
前記表示制御部は、前記仮想壁と、前記可動部の現在位置から所定時間経過した時の位置との距離に基づいて、前記仮想壁の表示形態を変更する、
請求項１から請求項４のいずれか１項に記載の制御装置。
【請求項６】
前記表示制御部は、前記可動部の動作における軌道に基づいて、前記仮想壁を表示する、
請求項１から請求項５のいずれか１項に記載の制御装置。
【請求項７】
前記動作は、第１動作と、前記第１動作の後に実行され前記第１動作と異なる第２動作を含み、
前記表示制御部は、前記可動部が前記第１動作から前記第２動作に変更するとき、前記第１動作における前記可動部の軌道に応じた前記仮想壁から前記第２動作における前記可動部の軌道に応じた前記仮想壁に変更する、
請求項６に記載の制御装置。
【請求項８】
前記表示制御部は、前記動作のうち選択された動作における前記可動部の軌道に応じた仮想壁を表示する、
請求項６または請求項７のいずれか１項に記載の制御装置。
【請求項９】
前記仮想壁によって囲まれた領域と相似形状の領域を表示する指令を、ユーザーから受け付ける受付部を備え、
前記表示制御部は、前記受付部が受け付けた指令に基づいて、前記相似形状の領域を表示する、
請求項１から請求項８のいずれか１項に記載の制御装置。
【請求項１０】
仮想壁が表示され、可視光を透過する表示部と、
前記表示部に表示される前記仮想壁の表示形態を、ロボットが有する可動部と現実空間上での前記仮想壁との距離と、前記可動部の速度と、に基づいて変更する表示制御部と、
を備えるヘッドマウントディスプレイ。
【請求項１１】
前記表示制御部は、前記表示部を装着した作業者と前記仮想壁との距離に基づいて、前記仮想壁の表示形態を変更する、
請求項１０に記載のヘッドマウントディスプレイ。
【請求項１２】
前記仮想壁と前記可動部との距離に基づいて変更される前記仮想壁の表示形態の種類は、前記作業者と前記仮想壁との距離に基づいて変更される前記仮想壁の表示形態の種類と異なる、
請求項１１に記載のヘッドマウントディスプレイ。
【請求項１３】
前記表示制御部は、前記作業者と前記仮想壁との距離と、あらかじめ決められた値と、に基づいて前記仮想壁の表示形態を変更する、
請求項１１または請求項１２のいずれか１項に記載のヘッドマウントディスプレイ。
【請求項１４】
前記表示制御部は、前記仮想壁と、前記可動部の現在位置から所定時間経過した時の位置との距離に基づいて、前記仮想壁の表示形態を変更する、
請求項１０から請求項１３のいずれか１項に記載のヘッドマウントディスプレイ。
【請求項１５】
前記表示制御部は、前記可動部の動作における軌道に基づいて、前記仮想壁を表示する、
請求項１０から請求項１４のいずれか１項に記載のヘッドマウントディスプレイ。
【請求項１６】
前記動作は、第１動作と、前記第１動作の後に実行され前記第１動作と異なる第２動作を含み、
前記表示制御部は、前記可動部が前記第１動作から前記第２動作に変更するとき、前記第１動作における前記可動部の軌道に応じた前記仮想壁から前記第２動作における前記可動部の軌道に応じた前記仮想壁に変更する、
請求項１５に記載のヘッドマウントディスプレイ。
【請求項１７】
前記表示制御部は、前記動作のうち選択された動作における前記可動部の軌道に応じた仮想壁を表示する、
請求項１５または請求項１６のいずれか１項に記載のヘッドマウントディスプレイ。
【請求項１８】
前記仮想壁によって囲まれた領域と相似形状の領域を表示する指令を、ユーザーから受け付ける受付部を備え、
前記表示制御部は、前記受付部が受け付けた指令に基づいて、前記相似形状の領域を表示する、
請求項１０から請求項１７のいずれか１項に記載のヘッドマウントディスプレイ。
【請求項１９】
可動部を有するロボットと、
可視光を透過する表示部を有し、前記表示部に仮想壁を表示するヘッドマウントディスプレイと、
前記表示部に表示される前記仮想壁の表示形態を、現実空間上での前記仮想壁と前記可動部との距離と、前記可動部の速度と、に基づいて変更する表示制御部と、を備える、
ロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、ヘッドマウントディスプレイおよびロボットシステムに関する。
【背景技術】
【０００２】
ロボットの付近で作業を行う人（以下、説明の便宜上、「作業者」ともいう。）に対して、仮想的な壁（以下、説明の便宜上、「仮想壁」ともいう。）を表示することが行われている。
【０００３】
一例として、特許文献１に記載されたバーチャルフェンス表示システムでは、ロボット安全コントローラは、ロボットアームの位置を中心に、その周辺に仮想的に配置されるバーチャルフェンス（仮想的な安全柵）の３Ｄモデル画像データを保持し、その画像データを複数の直方体で分割した形態でかつ各直方体をそれぞれ所定の透過率の画像で表示可能とする。そして、当該バーチャルフェンス表示システムでは、ロボット安全コントローラは、スマートグラスを装着している作業者の位置および方向の情報を取得すると、表示部に表示させるバーチャルフェンスの３Ｄモデル画像データをバーチャルフェンスと作業者との位置および方向の関係に応じて、複数の直方体のうち作業者の近傍側にあるものほど透過率が低く、遠方側にあるものほど透過率が高くなるように加工してスマートグラス側に送信する。そして、当該スマートグラスは受信した３Ｄモデル画像データを表示部に投影して表示させる（特許文献１を参照。特に、要約書を参照。）。
なお、バーチャルフェンスは、仮想壁に相当する。
【０００４】
しかしながら、特許文献１に記載されたバーチャルフェンス表示システムでは、作業者に最も近いバーチャルフェンスの透過度が低くなるため、作業者がロボットに接近すればするほど実際のロボットがどのような状態にあるのかを把握しづらい場合があった。ロボットの状態としては、例えば、ロボットが静止している状態、ロボットが高速あるいは低速で動作中である状態などがある。
【０００５】
具体例として、力制御（力覚制御）を使用したダイレクトティーチングを作業者が行う場合、あるいは、作業者がロボットを一時停止させてから当該ロボットに近づいて作業を行う場合などに、作業者にとって、スマートグラスの表示部を見てロボットがどのような状態であるのかを観察することが難しいことがあった。また、例えば、作業者が、スマートグラスを使用せずにロボットがどのような状態であるのかを確認する場合には、バーチャルフェンスの設定状況を確認することができなかった。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１７−１００２０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述のように、従来例に係るバーチャルフェンス表示システムでは、バーチャルフェンスと作業者との位置および方向の関係に基づいて、スマートグラスの表示部に表示されるバーチャルフェンスの透過度を制御するが、ロボットの現在の状況を把握しづらい場合があった。
【課題を解決するための手段】
【０００８】
上記課題を解決するために本発明の一態様は、可動部を有するロボットを制御する制御装置であって、可視光を透過する表示部に表示される仮想壁の表示形態を、現実空間上での前記仮想壁と前記可動部との距離と、前記可動部の速度と、に基づいて変更する表示制御部を備える、制御装置である。
【０００９】
上記課題を解決するために本発明の一態様は、仮想壁が表示され、可視光を透過する表示部と、前記表示部に表示される前記仮想壁の表示形態を、ロボットが有する可動部と現実空間上での前記仮想壁との距離と、前記可動部の速度と、に基づいて変更する表示制御部と、を備えるヘッドマウントディスプレイである。
【００１０】
上記課題を解決するために本発明の一態様は、可動部を有するロボットと、可視光を透過する表示部を有し、前記表示部に仮想壁を表示するヘッドマウントディスプレイと、前記表示部に表示される前記仮想壁の表示形態を、現実空間上での前記仮想壁と前記可動部との距離と、前記可動部の速度と、に基づいて変更する表示制御部と、を備える、ロボットシステムである。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係るロボットシステムの概略的な構成例を示す図である。
【図２】本発明の一実施形態に係るロボット制御装置のハードウェア構成の一例を示す図である。
【図３】本発明の一実施形態に係るロボット制御装置の機能構成の一例および表示装置の機能構成の一例を示す図である。
【図４】本発明の一実施形態に係るロボットの可動部の姿勢を考慮した場合における仮想壁とロボットの可動部との距離の一例を示す図である。
【図５】本発明の一実施形態に係る仮想壁と作業者との距離の一例を示す図である。
【図６】本発明の一実施形態に係る表示装置に表示される仮想壁の一例を示す図である。
【図７】本発明の一実施形態に係る表示制御部により行われる仮想壁の表示形式を変更する処理の手順の一例を示す図である。
【図８】本発明の一実施形態に係るロボットの動作経路の一例を示す図である。
【図９】本発明の一実施形態に係るソースコードの一例を示す図である。
【図１０】本発明の一実施形態に係るソースコードの他の例を示す図である。
【図１１】本発明の一実施形態に係るロボットのモデル化の一例を示す図である。
【図１２】本発明の一実施形態に係る時刻ごとにおけるモデル化されたロボットの位置の一例を示す図である。
【図１３】本発明の一実施形態に係る時刻ごとにおけるモデル化されたロボットの位置の一例を示す図である。
【図１４】本発明の一実施形態に係るモデル化されたロボットが通過し得る領域の一例を示す図である。
【図１５】本発明の一実施形態に係るモデル化されたロボットが通過しない安全領域の一例を示す図である。
【図１６】本発明の一実施形態に係る通過領域と安全領域の数値パターンの一例を示す図である。
【図１７】本発明の一実施形態に係る数値パターンのフィルタリング結果の一例を示す図である。
【図１８】本発明の一実施形態に係るフィルタリング結果の二値化の一例を示す図である。
【図１９】本発明の一実施形態に係る安全領域の境界の一例を示す図である。
【図２０】本発明の一実施形態に係る安全領域の境界を生成する他の一例を示す図である。
【図２１】本発明の一実施形態に係る安全領域の境界を生成する他の一例を示す図である。
【図２２】本発明の一実施形態に係る仮想壁の一例を示す図である。
【発明を実施するための形態】
【００１２】
本発明の実施形態について図面を参照して詳細に説明する。
【００１３】
［ロボットシステム］
図１は、本発明の一実施形態に係るロボットシステム１の概略的な構成例を示す図である。
図１では、説明の便宜上、ＸＹＺ直交座標系の軸を示してある。
ロボットシステム１は、ロボット２０と、位置検出装置２５と、ロボット制御装置３０と、表示装置４０を備える。
ここで、本実施形態では、ロボット２０は、水平多関節ロボット（スカラロボット）である。また、ロボット２０は、例えば、産業用ロボットであってもよく、他の用途のロボットであってもよい。
また、図１には、表示装置４０を装着した作業者Ｈを示してある。作業者Ｈは、ロボット制御装置３０を操作する者であってもよく、あるいは、ロボット２０に関する作業を行う他の者であってもよい。
【００１４】
ロボット２０は、床面に設置されている。なお、ロボット２０は、床面に代えて、例えば、壁面、天井面、テーブルの上面、治具が有する面、台が有する面などのように、他の面に設置されてもよい。
本実施形態では、説明の便宜上、ロボット２０が設置されている面に直交する方向であってロボット２０から当該面に向かう方向を下または下方向と称し、当該方向と反対の方向を上または上方向と称して説明する。本実施形態では、一例として、下方向が、重力方向と一致しているとともに、ロボット２０のロボット座標系ＲＣにおけるＺ軸の負方向と一致している場合について説明する。
なお、他の例として、下方向は、重力方向と当該負方向とのいずれか一方または両方と一致しない構成であってもよい。
【００１５】
ロボット２０は、可動部Ａと、可動部Ａを支持する基台Ｂを備える。
可動部Ａは、基台Ｂにより第１回動軸ＡＸ１の周りに回動可能に支持された第１アームＡ１と、第１アームＡ１により第２回動軸ＡＸ２の周りに回動可能に支持された第２アームＡ２と、第２アームＡ２により第３回動軸ＡＸ３の周りに回動可能かつ第３回動軸ＡＸ３の軸方向に並進可能に支持されたシャフトＳを備える。
【００１６】
シャフトＳは、円柱形状の軸体である。シャフトＳの周表面には、ボールねじ溝（図示せず）とスプライン溝（図示せず）がそれぞれ形成されている。本実施形態では、シャフトＳは、第２アームＡ２の端部のうちの第１アームＡ１と反対側の端部を、上下方向に貫通するように、設けられている。
【００１７】
シャフトＳが有する端部のうち下側の端部は、エンドエフェクター等の外部装置が取り付けられることが可能である。図１の例では、当該端部には、何も取り付けられていない。当該端部に取り付けられるエンドエフェクターは、任意のエンドエフェクターであってもよく、例えば、指部によって物体を保持することが可能なエンドエフェクターであってもよく、空気あるいは磁気による吸着等によって物体を保持することが可能なエンドエフェクターであってもよく、あるいは、物体を保持することが可能な他のエンドエフェクターであってもよい。また、当該端部に取り付けられるエンドエフェクターは、例えば、物体を保持することが不可能なエンドエフェクターであってもよい。なお、本実施形態では、物体を保持することは、当該物体を持ち上げることが可能な状態にすることを意味する。
【００１８】
第１アームＡ１は、第１回動軸ＡＸ１の周りに回動し、水平方向に移動する。水平方向は、上下方向と直交する方向である。本実施形態では、水平方向は、ロボット座標系ＲＣにおけるＸ軸およびＹ軸によって張られる平面であるＸＹ平面に沿った方向である。なお、第１アームＡ１が移動する方向は、上下方向と直交する方向（水平方向）に代えて、上下方向と直交しない方向であってもよい。
【００１９】
また、第１アームＡ１は、基台Ｂに備えられた第１モーター（図示せず）によって第１回動軸ＡＸ１の周りに回動（駆動）させられる。
一例として、第１回動軸ＡＸ１は、第１モーターの回動軸と一致する仮想的な軸であるが、他の例として、第１モーターの回動軸と一致しない仮想的な軸であってもよい。
【００２０】
第２アームＡ２は、第２回動軸ＡＸ２の周りに回動し、水平方向に移動する。第２アームＡ２は、第２アームＡ２に備えられた第２モーター（図示せず）によって第２回動軸ＡＸ２の周りに回動（駆動）させられる。なお、第２アームＡ２が移動する方向は、上下方向と直交する方向（水平方向）に代えて、上下方向と直交しない方向であってもよい。
一例として、第２回動軸ＡＸ２は、第２モーターの回動軸と一致する仮想的な軸であるが、他の例として、第２モーターの回動軸と一致しない仮想的な軸であってもよい。
【００２１】
また、第２アームＡ２は、第３モーター（図示せず）および第４モーター（図示せず）を備え、シャフトＳを支持する。第３モーターは、シャフトＳのボールねじ溝の外周部に設けられたボールねじナットをタイミングベルト等で回動させることにより、シャフトＳを上下方向に移動（昇降）させる。第４モーターは、シャフトＳのスプライン溝の外周部に設けられたボールスプラインナットをタイミングベルト等で回動させることにより、シャフトＳを第３回動軸ＡＸ３の周りに回動（駆動）させる。
一例として、第３回動軸ＡＸ３は、シャフトＳの中心軸と一致する仮想的な軸であるが、他の例として、シャフトＳの中心軸と一致しない仮想的な軸であってもよい。
【００２２】
ロボット２０は、ロボット制御装置３０と無線または有線によって通信可能に接続されている。
位置検出装置２５は、ロボット制御装置３０と無線または有線によって通信可能に接続されている。
表示装置４０は、ロボット制御装置３０と無線または有線によって通信可能に接続されている。
【００２３】
位置検出装置２５は、ロボット２０の周囲に存在する作業者Ｈの位置を検出する。本実施形態では、作業者Ｈは、ロボット２０の周囲において何らかの作業を行う人である。本実施形態では、作業者Ｈは、表示装置４０を装着しており、ロボット２０の周囲において作業を行っている。ロボット２０の周囲は、例えば、ロボット２０が設置された部屋の内側のことであるが、これに限られず、ロボット２０を中心とするあらかじめ決められた半径の球形状の領域内のことであってもよく、ロボット２０が作業を行うことが可能な領域内のことであってもよく、あるいは、ロボット２０に応じた他の領域内のことであってもよい。
【００２４】
位置検出装置２５は、例えば、エリアセンサーである。エリアセンサーは、例えば、ロボット２０の付近に設定されて、ロボット２０に近付く物体を検出することができ、また、当該物体を検出することが可能な範囲において当該物体の位置を検出することも可能である。
位置検出装置２５は、ロボット２０の周囲における作業者Ｈの位置を検出し、検出した当該位置を示す情報（説明の便宜上、「作業者位置情報」ともいう。）をロボット制御装置３０に送信する。
ここで、本実施形態では、位置検出装置２５は、作業者Ｈの位置として、表示装置４０の位置を検出する。すなわち、本実施形態では、表示装置４０の位置を作業者Ｈの位置とみなす。なお、他の例として、位置検出装置２５は、作業者Ｈ自体の位置を検出する構成であってもよい。
【００２５】
なお、作業者Ｈあるいは表示装置４０の位置を検出する手法としては、任意の手法が用いられてもよい。
例えば、レーザーを用いて対象物の形状データを検出するレーザーレンジセンサーを用いて、当該対象物の位置を検出する手法が用いられてもよい。
また、例えば、作業者Ｈあるいは表示装置４０にＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）の受信機を備え、ＧＰＳの機能により、作業者Ｈあるいは表示装置４０の位置を検出する手法が用いられてもよい。この場合、例えば、当該受信機は、ＧＰＳの機能により取得された作業者Ｈあるいは表示装置４０の位置の情報を位置検出装置２５に送信し、位置検出装置２５は当該情報を取得する。
【００２６】
ロボット制御装置３０は、あらかじめ記憶された動作プログラムに基づく制御によってロボット２０にあらかじめ決められた作業を行わせる。
ロボット制御装置３０は、位置検出装置２５から送信された作業者位置情報を受信して取得する。
ロボット制御装置３０は、表示対象となる画像の情報あるいは他の情報を表示装置４０に送信する。
【００２７】
表示装置４０は、例えば、ヘッドマウントディスプレイ（ＨＭＤ：Ｈｅａｄ  Ｍｏｕｎｔｅｄ  Ｄｉｓｐｌａｙ）である。すなわち、表示装置４０は、可視光を透過する表示部（例えば、ディスプレイ）を有し、当該表示部のうちの一部または全部に画像を表示することが可能である。
表示装置４０は、あらかじめ決められた装着方法に則って作業者Ｈに装着されている。作業者Ｈが当該装着方法に則って表示装置４０を装着している場合、表示装置４０が有する表示部は、作業者Ｈの視界の少なくとも一部を覆い隠すように配置される。また、当該表示部が可視光を透過するため、作業者Ｈは、当該表示部越しに外界を見ることができる。ここで、外界は、表示装置４０の表示部に対して作業者Ｈの側とは反対の側の視界を意味する。
【００２８】
表示装置４０は、例えば、ロボット制御装置３０から送信された画像の情報を受信し、受信された画像の情報に基づく画像を表示部に表示する。
また、表示装置４０は、例えば、ロボット制御装置３０から送信された画像以外の情報を受信して、受信された情報に基づいて画像を生成し、生成された画像を表示部に表示してもよい。
【００２９】
［ロボット制御装置のハードウェア構成］
図２は、本発明の一実施形態に係るロボット制御装置３０のハードウェア構成の一例を示す図である。
ロボット制御装置３０は、例えば、プロセッサー３１と、メモリー（説明の便宜上、制御装置側メモリー３２という。）と、通信部（説明の便宜上、制御装置側通信部３４という。）を備える。これらの構成要素は、バス３８を介して相互に通信可能に接続されている。また、ロボット制御装置３０は、制御装置側通信部３４を介してロボット２０、位置検出装置２５、表示装置４０のそれぞれと通信を行う。
【００３０】
プロセッサー３１は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。なお、プロセッサー３１は、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）などのように、他のプロセッサーであってもよい。プロセッサー３１は、制御装置側メモリー３２に格納された各種のプログラムを読み出して実行する。
【００３１】
制御装置側メモリー３２は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などのうちの１以上を含んでもよい。なお、制御装置側メモリー３２は、ロボット制御装置３０に内蔵される記憶装置に代えて、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）などのように、デジタル入出力ポートなどによって接続された外付け型の記憶装置であってもよい。制御装置側メモリー３２は、ロボット制御装置３０により処理される各種の情報、各種の画像、各種の動作プログラムなどを格納する。
【００３２】
制御装置側通信部３４は、外部の装置と通信するインターフェイスである。
制御装置側通信部３４は、例えば、ＵＳＢなどのデジタル入出力ポート、イーサネット（登録商標）のポートなどのうちの１以上を含んで構成される。
なお、ロボット制御装置３０は、例えば、キーボード、マウス、タッチパッドなどの入力装置を備える構成であってもよい。また、ロボット制御装置３０は、例えば、液晶ディスプレイパネル、有機ＥＬ（ＥｌｅｃｔｒｏＬｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイパネルなどを有する表示装置を備える構成であってもよい。
【００３３】
［ロボット制御装置および表示装置の機能構成］
図３は、本発明の一実施形態に係るロボット制御装置３０の機能構成の一例および表示装置４０の機能構成の一例を示す図である。
【００３４】
＜ロボット制御装置の機能構成＞
ロボット制御装置３０は、制御装置側メモリー３２と、制御装置側通信部３４と、制御部（説明の便宜上、制御装置側制御部３６という。）を備える。
制御装置側制御部３６は、ロボット制御装置３０の全体を制御する。制御装置側制御部３６は、表示制御部（説明の便宜上、制御装置側表示制御部５１という。）と、ロボット制御部５３を備える。制御装置側制御部３６に備えられたこれらの機能部は、例えば、プロセッサー３１が、制御装置側メモリー３２に記憶された各種のプログラムを実行することにより実現される。また、これらの機能部のうち一部または全部は、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）、あるいは、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などのようなハードウェア機能部であってもよい。
【００３５】
制御装置側表示制御部５１は、表示装置４０に表示させる各種の画像を生成する。制御装置側表示制御部５１は、生成された画像を表示装置４０に出力して表示させる。
ロボット制御部５３は、ロボット２０を制御し、あらかじめ決められた作業をロボット２０に行わせる。
【００３６】
＜表示装置の機能構成＞
表示装置４０は、メモリー（説明の便宜上、表示装置側メモリー４２という。）と、通信部（説明の便宜上、表示装置側通信部４４という。）と、表示部４６と、制御部（説明の便宜上、表示装置側制御部４８という。）を備える。
表示装置側メモリー４２は、例えば、ＨＤＤ、ＳＳＤ、ＥＥＰＲＯＭ、ＲＯＭ、ＲＡＭなどのうちの１以上を含んでもよい。なお、表示装置側メモリー４２は、表示装置４０に内蔵される記憶装置に代えて、ＵＳＢなどのように、デジタル入出力ポートなどによって接続された外付け型の記憶装置であってもよい。表示装置側メモリー４２は、表示装置４０により処理される各種の情報、各種の画像、各種の動作プログラムなどを格納する。
【００３７】
表示装置側通信部４４は、外部の装置と通信するインターフェイスである。
表示装置側通信部４４は、例えば、ＵＳＢなどのデジタル入出力ポート、イーサネット（登録商標）のポートなどのうちの１以上を含んで構成される。
表示部４６は、可視光を透過するとともに、各種の画像を表示する。
【００３８】
表示装置側制御部４８は、表示装置４０の全体を制御する。表示装置側制御部４８は、表示制御部（説明の便宜上、表示装置側表示制御部６１という。）を備える。表示装置側制御部４８に備えられた機能部は、例えば、プロセッサー（図示せず）が、表示装置側メモリー４２に記憶された各種のプログラムを実行することにより実現される。また、当該機能部は、ＬＳＩ、あるいは、ＡＳＩＣなどのようなハードウェア機能部であってもよい。
表示装置側表示制御部６１は、表示部４６に表示させる各種の画像を生成する。表示装置側表示制御部６１は、生成された画像を表示部４６に出力して表示させる。
【００３９】
ここで、本実施形態では、説明の便宜上、ロボット制御装置３０が画像を生成して、当該画像をロボット制御装置３０から表示装置４０に送って、当該画像を表示装置４０が表示する機能と、表示装置４０が画像を生成して、当該画像を表示装置４０が表示する機能との両方の機能を備える構成を示して、これらの機能をまとめて説明するが、例えば、これらのうちの任意の一方の機能が備えられた構成としてもよい。
すなわち、ロボット制御装置３０が画像を生成して表示装置４０が当該画像を表示するロボットシステム１が構成されてもよく、あるいは、表示装置４０が画像を生成して当該画像を表示するロボットシステム１が構成されてもよく、あるいは、これらの両方の画像表示を行うことが可能なロボットシステム１が構成されてもよい。
【００４０】
［ロボット制御装置における画像生成機能］
ロボット制御装置３０の制御装置側表示制御部５１が表示対象の画像を生成する場合について説明する。
本実施形態では、制御装置側表示制御部５１は、仮想壁を含む画像（説明の便宜上、「仮想壁画像」ともいう。）を生成し、生成された仮想壁画像を表示装置４０に表示させる。
【００４１】
ここで、本実施形態では、仮想壁は、仮想現実空間上に仮想的に生成される壁であり、現実のロボット２０が仮想現実空間上に反映されたロボットを取り囲む壁である。仮想壁は、例えば、ロボット２０が超えることが禁止された領域であってロボット２０の可動域となる領域を内側に有する壁である。仮想壁は、例えば、このような領域と同じ領域を仕切ってもよく、あるいは、このような領域よりも少し大きい領域を仕切ってもよい。
作業者Ｈにとっては、例えば、仮想壁の内側にある当該領域のところまでロボット２０に近付くと、ロボット２０に触れる可能性がある。本実施形態では、作業者Ｈがいずれかの仮想壁に接触した場合、あるいは、作業者Ｈが仮想壁で仕切られた領域に入った場合には、ロボット制御装置３０はロボット２０の可動部Ａを緊急停止させる。
【００４２】
仮想壁は、ロボット２０の機能安全機能におけるものであり、例えば、ロボット２０の作業者によってリスクアセスメントに基づいて仮想壁が設定される場合があり、あるいは、ロボット２０の動作に基づいてロボット２０の可動域が算出されて、当該可動域に基づいて仮想壁が設定される場合がある。
なお、仮想壁として、他の定義の仮想的な壁が用いられてもよい。
【００４３】
また、仮想壁は、任意の情報を用いて特定されてもよい。
一例として、１個の仮想壁は、当該仮想壁を特定することが可能な１個以上の特徴値を用いて特定されてもよい。具体例として、仮想壁が四角形である場合には、当該四角形の４個の頂点の座標を特徴値として用いて、当該仮想壁を特定することが可能である。
他の例として、１個の仮想壁は、当該仮想壁の面上の有限個の点の位置の座標を特徴値として用いて特定されてもよい。
【００４４】
制御装置側表示制御部５１は、現実空間上での仮想壁とロボット２０の可動部Ａとの距離を算出する。ここで、現実空間上での仮想壁とは、仮想現実空間における仮想壁をロボット２０および作業者Ｈが存在する現実空間上に配置したと仮定した場合における当該仮想壁に対応した壁を意味する。
また、制御装置側表示制御部５１は、ロボット２０の可動部Ａの速度を算出する。
また、制御装置側表示制御部５１は、位置検出装置２５から作業者位置情報を取得する。そして、制御装置側表示制御部５１は、取得された作業者位置情報に基づいて、現実空間上での仮想壁と作業者Ｈとの距離を算出する。
また、制御装置側表示制御部５１は、ロボット２０の可動部Ａの姿勢の変化量を算出する。当該変化量は、例えば、所定の単位時間当たりの変化量である。
【００４５】
ここで、ロボット制御装置３０では、ロボット制御部５３によりロボット２０を制御する際に、ロボット２０の可動部Ａの位置および姿勢、ロボット２０の可動部Ａの速度、ロボット２０の可動部Ａの姿勢の変化量を把握している。これにより、制御装置側表示制御部５１は、これらを特定することができる。
また、ロボット制御装置３０では、制御装置側表示制御部５１により仮想壁画像の生成などを行う際に、現実空間上での仮想壁の位置および姿勢を把握している。これにより、制御装置側表示制御部５１は、これらを特定することができる。
【００４６】
なお、ロボット２０の可動部Ａ以外の箇所の位置は、例えば、ロボット２０の可動部Ａにより作業が行われているときには、固定された位置となっている。
同様に、ロボット２０の可動部Ａ以外の箇所の姿勢は、例えば、ロボット２０の可動部Ａにより作業が行われているときには、固定された姿勢となっている。
本実施形態では、制御装置側表示制御部５１は、ロボット２０の動く部分である可動部Ａと仮想壁との距離を測って、当該距離に基づいて仮想壁の表示形態を制御するが、他の例として、制御装置側表示制御部５１は、ロボット２０の動かない部分と仮想壁との距離を測って、当該距離に基づいて仮想壁の表示形態を制御してもよい。ロボット２０の動かない部分としては、例えば、基台Ｂがある。
【００４７】
ここで、ロボット２０の可動部Ａの位置、ロボット２０の可動部Ａの姿勢、ロボット２０の可動部Ａの速度、および、ロボット２０の可動部Ａの姿勢の変化量は、例えば、ロボット２０の可動部Ａの任意の箇所（部位）あるいはロボット２０の可動部Ａの付近の任意の箇所についての値が用いられてもよい。このような箇所としては、例えば、ロボット２０の各関節、あるいは、ロボット２０の制御点などが用いられてもよい。ロボット２０の制御点としては、例えば、ロボット２０の先端に対応付けられた仮想的な点であるＴＣＰ（Ｔｏｏｌ  Ｃｅｎｔｅｒ  Ｐｏｉｎｔ）が用いられてもよい。
【００４８】
また、ロボット２０の可動部Ａの速度あるいは姿勢の変化量としては、例えば、当該可動部Ａの各関節の回動角（回動の角度）の変化量が用いられてもよく、あるいは、当該可動部Ａの複数の関節の回動角の変化量の統計値が用いられてもよい。当該統計値としては、例えば、総和した値、すべての積の値、平均値、重み付け平均値などが用いられてもよい。この場合、例えば、可動部Ａの各関節の回動角は、所定の時刻ごとに、求められる。
【００４９】
制御装置側表示制御部５１は、現実空間上での仮想壁とロボット２０の可動部Ａとの距離、および、ロボット２０の可動部Ａの速度に基づいて、仮想壁の表示形態を決定し、仮想壁の表示形態を決定された表示形態へ変更する。
また、制御装置側表示制御部５１は、例えば、現実空間上での仮想壁と作業者Ｈとの距離に基づいて、仮想壁の表示形態を決定し、仮想壁の表示形態を決定された表示形態へ変更する。
また、制御装置側表示制御部５１は、例えば、ロボット２０の可動部Ａの姿勢の変化量に基づいて、仮想壁の表示形態を決定し、仮想壁の表示形態を決定された表示形態へ変更する。
【００５０】
例えば、制御装置側表示制御部５１は、現実空間上での仮想壁とロボット２０の可動部Ａとの距離が短くても、ロボット２０の可動部Ａの速度が遅い場合には、安全なことを示す表示形式で仮想壁を表示させてもよい。
また、例えば、制御装置側表示制御部５１は、現実空間上での仮想壁とロボット２０の可動部Ａとの距離が長くても、ロボット２０の可動部Ａの速度が速い場合には、危険なことを示す表示形式で仮想壁を表示させてもよい。
なお、ロボット２０の可動部Ａの速度は、例えば、当該可動部Ａの姿勢の変化量（姿勢変化量）に基づいて決められてもよく、一例として、所定の単位時間当たりの当該可動部Ａの姿勢の変化量（姿勢変化量）が当該可動部Ａの速度として用いられてもよい。具体例として、ロボット２０の可動部Ａと仮想壁とが接触していても、当該可動部Ａの姿勢の変化量がゼロであるときには、安全とみなされる場合もあり得る。
【００５１】
ここで、現実空間上での仮想壁とロボット２０の可動部Ａとの距離に基づいて変更される仮想壁の表示形態の種類と、現実空間上での仮想壁と作業者Ｈとの距離に基づいて変更される仮想壁の表示形態の種類とは、異なっていてもよい。一例として、現実空間上での仮想壁とロボット２０の可動部Ａとの距離に基づいて変更される仮想壁の表示形態の種類は仮想壁の色であり、現実空間上での仮想壁と作業者Ｈとの距離に基づいて変更される仮想壁の表示形態の種類は仮想壁の枠線（枠の線）の太さであってもよい。
【００５２】
ここで、仮想壁の表示形態としては、様々な種類の表示形態が変更されてもよい。仮想壁の部位の種類としては、例えば、仮想壁の頂点、仮想壁の頂点を結ぶ直線、仮想壁の頂点を結ぶ直線に囲まれる平面などがある。それぞれの部位の表示の仕方の種類としては、例えば、大きさ、点の太さ（幅）、線の太さ（幅）、色、透過率、形状などがある。
【００５３】
制御装置側表示制御部５１は、現実空間上での仮想壁と作業者Ｈとの距離を算出する際に、あらかじめ決められた値を算出に用いる。当該値としては、例えば、人の腕のリーチの値が用いられてもよい。人の腕のリーチの値は、伸ばした腕の長さである。
例えば、人の腕のリーチの値としては、ＩＳＯ１３８５５に示される上肢の進入に対する安全距離の８５０ｍｍをロボット制御装置３０に設定してもよい。
より詳しくは、ＩＳＯ１３８５５では、「上肢の進入に対する安全距離」において、肩の基点までの腕について、開口部が４０ｍｍを超えて１２０ｍｍ以下である場合に、長方形、正方形、円形の開口部について、安全距離を８５０ｍｍ以上としてある。ここで、開口部の寸法は、正方形開口部の辺、円形開口部の直径および長方形開口部の最も狭い寸法に相当する。また、１４歳以上の人を対象としている。このように、安全規格で人の身長や腕の長さが決まっている。
【００５４】
制御装置側表示制御部５１は、現実空間上での仮想壁と作業者Ｈとの距離を算出する際に、例えば、人の腕のリーチの値が考慮されない場合の距離に対して、人の腕のリーチの値との差分をとった距離を算出することで、人の腕のリーチの値だけ距離を短くする。つまり、制御装置側表示制御部５１は、現実空間上での仮想壁と、作業者Ｈが腕を伸ばしたと仮定したときの指の先との距離を算出する。他の例として、制御装置側表示制御部５１は、現実空間上での仮想壁と作業者Ｈとの距離を算出する際に、例えば、人の腕のリーチの値が考慮されない場合の距離に対して、人の腕のリーチの値との差分をとった距離以外の距離を算出してもよい。
本実施形態では、作業者Ｈの腕のリーチの値として、あらかじめ設定された一定の値が用いられるが、他の例として、ロボットシステム１に備えられたカメラによって作業者Ｈを撮像し、得られた画像に基づいて作業者Ｈの腕のリーチの値が検出されて用いられてもよい。
【００５５】
制御装置側表示制御部５１は、例えば、現在の情報に基づいて仮想壁の表示形式を決定してもよく、あるいは、未来に予測される情報に基づいて仮想壁の表示形式を決定してもよい。未来に予測される情報としては、例えば、未来に予測されるロボット２０の可動部Ａの位置、未来に予測されるロボット２０の可動部Ａの姿勢、未来に予測される作業者Ｈの位置などの情報が用いられてもよい。
例えば、制御装置側表示制御部５１は、現実空間上での仮想壁と、ロボット２０の可動部Ａの現在位置から所定時間経過したときの位置との距離に基づいて、仮想壁の表示形態を決定してもよい。当該所定時間としては、任意の時間が用いられてもよい。
【００５６】
また、制御装置側表示制御部５１は、例えば、仮想壁の表示形態以外の特性を決定する。表示形態以外の特性としては、例えば、仮想壁の位置および姿勢が用いられてもよい。
制御装置側表示制御部５１は、例えば、ロボット２０の可動部Ａの動作における軌道に基づいて、仮想壁を表示させる。
また、制御装置側表示制御部５１は、例えば、ロボット２０の可動部Ａの動作が変更されるときに、ロボット２０の可動部Ａの動作に応じて仮想壁を変更する。例えば、制御装置側表示制御部５１は、ロボット２０の可動部Ａの動作における軌道が変化した場合に、軌道の変化に合わせて、表示させる仮想壁を変化する。
また、制御装置側表示制御部５１は、例えば、ロボット２０の可動部Ａの動作が選択されたときに、選択された動作に応じて仮想壁を変更する。動作の選択は、例えば、ユーザーによる操作に基づいて行われてもよく、あるいは、外部の装置から入力される指示に基づいて行われてもよい。
【００５７】
また、制御装置側表示制御部５１は、例えば、仮想壁によって囲まれた領域と相似形状の領域を表示する指令がユーザーから受け付けられた場合に、当該相似形状の領域を表示させる。これにより、仮想壁のスケーリングが実現される。
このようなスケーリングでは、例えば、仮想壁によって囲まれた領域の形を保ったまま、当該領域を拡大あるいは縮小することが行われる。
【００５８】
ここで、このようなスケーリングは、例えば、ユーザーから受け付けられた指令に基づいて行われてもよく、あるいは、ＵＳＢなどの所定の装置から出力されるコマンド（指令）に基づいて行われてもよい。ユーザーからの指令は、例えば、ユーザーインターフェイスを介して入力されて受け付けられる。所定の装置からのコマンド（指令）は、例えば、当該装置とのインターフェイスを介して入力されて受け付けられる。
なお、ユーザーインターフェイスあるいは装置とのインターフェイスは、それぞれ、任意の装置に備えられてもよく、例えば、ロボット制御装置３０、表示装置４０、あるいは、他の情報処理装置（図示せず）などのうちの１以上の装置に備えられてもよい。
【００５９】
表示装置４０は、作業者Ｈの視界の少なくとも一部に画像を表示させることができる。ここで、表示装置４０は、ロボット制御装置３０から仮想壁画像などの各種の画像を取得する。表示装置４０は、取得された画像を、表示部４６に表示させる。
具合例として、作業者Ｈが表示装置４０の表示部４６を介して現実空間上でのロボット２０を見ているときに、表示装置４０の表示部４６に仮想壁画像が表示されると、作業者Ｈは、ロボット２０および仮想壁が存在する空間を見ることになる。
【００６０】
［表示装置における画像生成機能］
表示装置４０の表示装置側表示制御部６１が表示対象の画像を生成する場合について説明する。
表示装置４０の表示装置側表示制御部６１は、例えば、ロボット制御装置３０の制御装置側表示制御部５１により行われる画像の生成処理および表示に関する制御と同様な処理および制御を行う機能を有する。
【００６１】
この場合に、表示装置４０の表示装置側表示制御部６１は、ロボット制御装置３０の制御装置側表示制御部５１により取得することができるが表示装置４０の表示装置側表示制御部６１により取得することができない情報を、ロボット制御装置３０から受信する。ロボット制御装置３０は、当該情報を表示装置４０に送信する。
このような情報としては、例えば、位置検出装置２５からロボット制御装置３０に送信される作業者位置情報、あるいは、ロボット制御装置３０において管理されるロボット２０の可動部Ａの位置および姿勢、ロボット２０の可動部Ａの速度、ロボット２０の可動部Ａの姿勢の変化量などの情報がある。
【００６２】
このように、本実施形態では、表示装置４０の表示部４６に表示する画像の生成および表示に関する制御については、表示装置４０の表示装置側表示制御部６１は、ロボット制御装置３０の制御装置側表示制御部５１と、実質的に同様な機能を有する。
【００６３】
ここで、本実施形態では、ロボット制御装置３０と表示装置４０とが直接的に通信する場合を示すが、他の例として、ロボット制御装置３０と表示装置４０との通信を中継する情報処理装置（図示せず）を備えてもよい。この場合、ロボット制御装置３０から当該情報処理装置へ無線または有線で送信された情報が、当該情報処理装置により受信されて表示装置４０へ無線または有線で送信される。また、表示装置４０から当該情報処理装置へ無線または有線で送信された情報が、当該情報処理装置により受信されてロボット制御装置３０へ無線または有線で送信される。
このような情報処理装置は、例えば、図３に示されるような表示装置４０が備える機能の一部を当該表示装置４０の代わりに備えてもよく、この構成では、表示装置４０と当該情報処理装置とが連携して動作することで、図３に示されるような表示装置４０と同様な機能を実現する。
このような情報処理装置は、例えば、監視制御装置などと呼ばれてもよい。
【００６４】
［仮想壁の表示形態の変更の具体例］
図４〜図７を参照して、仮想壁の表示形態の変更の具体例を説明する。
なお、以下では、ロボット制御装置３０の制御装置側表示制御部５１が仮想壁の表示形態を変更する処理を例として説明するが、表示装置４０の表示装置側表示制御部６１が仮想壁の表示形態を変更する処理についても同様である。
【００６５】
図４は、本発明の一実施形態に係るロボット２０の可動部Ａの姿勢を考慮した場合における仮想壁（説明の便宜上、第１仮想壁１０１−１〜第４仮想壁１０１−４という。）とロボット２０の可動部Ａとの距離の一例を示す図である。なお、図４の例では、ロボット２０を簡易化して示してある。
図４には、現実空間におけるロボット２０と、現実空間に反映させた４個の仮想壁に対応した４個の壁を示してある。本例では、説明の便宜上、これら４個の壁を、第１仮想壁１０１−１、第２仮想壁１０１−２、第３仮想壁１０１−３、第４仮想壁１０１−４として示してある。図４の例では、ロボット２０の可動部Ａは、ある姿勢をとっている。
また、図４には、ロボット２０の可動部Ａの姿勢を考慮した場合について、それぞれの仮想壁（第１仮想壁１０１−１〜第４仮想壁１０１−４）とロボット２０の可動部Ａとの距離Ｄｒ１〜Ｄｒ４を示してある。
【００６６】
ここで、図４の例では、第１仮想壁１０１−１〜第４仮想壁１０１−４およびロボット２０を上方から下方へ向かった視線で見た様子を示してある。図４の例では、４個の仮想壁（第１仮想壁１０１−１〜第４仮想壁１０１−４）は、上下方向に平行な面を有する壁である。
そして、それぞれの仮想壁（第１仮想壁１０１−１〜第４仮想壁１０１−４）とロボット２０の可動部Ａとの距離Ｄｒ１〜Ｄｒ４は、それぞれの仮想壁（第１仮想壁１０１−１〜第４仮想壁１０１−４）の面に垂直な方向（当該面に直交する方向）について、ロボット２０の可動部Ａとそれぞれの仮想壁（第１仮想壁１０１−１〜第４仮想壁１０１−４）の面との最短距離となっている。
なお、当該最短距離については、例えば、当該最短距離を求めるための数式などがあらかじめ設定されて当該数式などに基づいて求められてもよく、あるいは、いわゆる総当たりで当該最短距離が求められてもよい。
【００６７】
本実施形態では、ロボット２０の可動部Ａの位置は、当該可動部Ａの部位によって異なり、当該可動部Ａの姿勢によって異なる位置となっている。ロボット２０の可動部Ａとそれぞれの仮想壁（第１仮想壁１０１−１〜第４仮想壁１０１−４）の面との距離を求める場合には、例えば、当該距離が最短となるように、当該可動部Ａの部位が選択される。
【００６８】
制御装置側表示制御部５１は、第１仮想壁１０１−１〜第４仮想壁１０１−４とロボット２０との位置関係に基づいて、注意喚起の度合いを制御する。
本実施形態では、制御装置側表示制御部５１は、ロボット２０の可動部Ａの姿勢を考慮した仮想壁（第１仮想壁１０１−１〜第４仮想壁１０１−４）とロボット２０との距離が近いほど、注意喚起の度合いを大きくする。
【００６９】
図４の例では、それぞれの仮想壁（第１仮想壁１０１−１〜第４仮想壁１０１−４）とロボット２０の可動部Ａとの距離の大小関係は、Ｄｒ１＜Ｄｒ４＜Ｄｒ２＝Ｄｒ３である。このため、仮想壁（第１仮想壁１０１−１〜第４仮想壁１０１−４）とロボット２０の可動部Ａとの距離に基づく注意喚起の度合いは、高い方から低い順へ、第１仮想壁１０１−１、第４仮想壁１０１−４、第２仮想壁１０１−２および第３仮想壁１０１−３となる。ここで、第２仮想壁１０１−２と第３仮想壁１０１−３は、注意喚起の度合いが等しい。
【００７０】
また、制御装置側表示制御部５１は、可動部Ａの速度に基づいて、注意喚起の度合いを制御する。
本実施形態では、制御装置側表示制御部５１は、ロボット２０の可動部Ａの単位時間当たりの姿勢変化量が大きいほど、注意喚起の度合いが大きくなるように、すべての仮想壁を大きくする。ロボット２０の単位時間当たりの姿勢変化量の大きさは、ロボット２０の動作の速さの大小を表す。
例えば、連続運転状態のようにロボット２０の可動部Ａが高速で動作している場合、注意喚起の度合いは比較的大きくなり、一方、停止状態あるいはダイレクトティーチング時のようにロボット２０の可動部Ａが低速で動作している場合は、注意喚起の度合いは比較的小さくなる。
【００７１】
図５は、本発明の一実施形態に係る仮想壁（第１仮想壁１０１−１〜第４仮想壁１０１−４）と作業者Ｈとの距離の一例を示す図である。なお、図４の例では、ロボット２０を簡易化して示してある。
本実施形態では、作業者Ｈは、表示装置４０を装着している。
図５には、現実空間における作業者Ｈと、現実空間に反映させた４個の仮想壁に対応した４個の壁を示してある。本例では、説明の便宜上、これら４個の壁を、第１仮想壁１０１−１〜第４仮想壁１０１−４として示してある。
また、図５には、それぞれの仮想壁（第１仮想壁１０１−１〜第４仮想壁１０１−４）と作業者Ｈとの距離Ｄｈ１〜Ｄｈ４を示してある。
【００７２】
ここで、図５の例では、第１仮想壁１０１−１〜第４仮想壁１０１−４およびロボット２０を上方から下方へ向かった視線で見た様子を示してある。図５の例では、４個の仮想壁（第１仮想壁１０１−１〜第４仮想壁１０１−４）は、上下方向に平行な面を有する壁である。これらの４個の仮想壁（第１仮想壁１０１−１〜第４仮想壁１０１−４）は、図４に示されるものと同様である。
そして、それぞれの仮想壁（第１仮想壁１０１−１〜第４仮想壁１０１−４）と作業者Ｈとの距離Ｄｈ１〜Ｄｈ４は、それぞれの仮想壁（第１仮想壁１０１−１〜第４仮想壁１０１−４）の面に垂直な方向（当該面に直交する方向）について、作業者Ｈとそれぞれの仮想壁（第１仮想壁１０１−１〜第４仮想壁１０１−４）の面との最短距離となっている。
なお、当該最短距離については、例えば、当該最短距離を求めるための数式などがあらかじめ設定されて当該数式などに基づいて求められてもよく、あるいは、いわゆる総当たりで当該最短距離が求められてもよい。
【００７３】
本実施形態では、作業者Ｈの位置は、一点としてある。また、本実施形態では、作業者Ｈの位置は、例えば、作業者Ｈがそれぞれの仮想壁（第１仮想壁１０１−１〜第４仮想壁１０１−４）との最短距離の方向に腕を伸ばしたときの指先の位置としてある。
【００７４】
制御装置側表示制御部５１は、第１仮想壁１０１−１〜第４仮想壁１０１−４と作業者Ｈとの位置関係に基づいて、注意喚起の度合いを制御する。
本実施形態では、制御装置側表示制御部５１は、仮想壁（第１仮想壁１０１−１〜第４仮想壁１０１−４）と作業者Ｈとの距離が近いほど、注意喚起の度合いを大きくする。
【００７５】
図５の例では、それぞれの仮想壁（第１仮想壁１０１−１〜第４仮想壁１０１−４）と作業者Ｈとの距離の大小関係は、Ｄｈ１＝Ｄｈ２＜Ｄｈ３＝Ｄｈ４である。このため、仮想壁（第１仮想壁１０１−１〜第４仮想壁１０１−４）と作業者Ｈとの距離に基づく注意喚起の度合いは、高い方から低い順へ、第１仮想壁１０１−１および第２仮想壁１０１−２、第３仮想壁１０１−３および第４仮想壁１０１−４となる。ここで、第１仮想壁１０１−１と第２仮想壁１０１−２は、注意喚起の度合いが等しい。また、第３仮想壁１０１−３と第４仮想壁１０１−４は、注意喚起の度合いが等しい。
【００７６】
図６は、本発明の一実施形態に係る表示装置４０に表示される仮想壁（第１仮想壁１０１−１〜第４仮想壁１０１−４）の一例を示す図である。なお、図６の例では、仮想壁（第１仮想壁１０１−１〜第４仮想壁１０１−４）の表示形態については、模式的に示してあり、例えば、色は現実のものとは異なり得る。
ここで、仮想壁（第１仮想壁１０１−１〜第４仮想壁１０１−４）は、例えば、図４の例および図５の例で示されるものと同様である。
図６の例では、４個の仮想壁（第１仮想壁１０１−１〜第４仮想壁１０１−４）が、ロボット２０を取り囲むように、設定されている。
【００７７】
本実施形態では、制御装置側表示制御部５１は、それぞれの仮想壁（第１仮想壁１０１−１〜第４仮想壁１０１−４）とロボット２０の可動部Ａとの距離およびロボット２０の可動部Ａの速度に基づく注意喚起の度合いについては、それぞれの仮想壁（第１仮想壁１０１−１〜第４仮想壁１０１−４）の頂点で囲まれる平面の色を制御することで表す。具体例として、制御装置側表示制御部５１は、注意喚起の度合いが所定の閾値以上で高い場合には当該色を赤色とし、注意喚起の度合いが当該閾値未満で低い場合には当該色を緑色とする。
ここで、注意喚起の度合いと色との対応は、例えば、３以上の対応が用いられてもよく、注意喚起の度合いの範囲と色との対応が制御装置側表示制御部５１に設定される。なお、注意喚起の度合いは、例えば、それぞれの仮想壁（第１仮想壁１０１−１〜第４仮想壁１０１−４）とロボット２０の可動部Ａとの距離およびロボット２０の可動部Ａの速度に基づく値で表される。
なお、色の変化は、例えば、注意喚起の度合いに応じて離散的な色の変化が用いられてもよく、あるいは、色のグラデーションのように、注意喚起の度合いに応じて連続的な色の変化が用いられてもよい。
【００７８】
本実施形態では、制御装置側表示制御部５１は、それぞれの仮想壁（第１仮想壁１０１−１〜第４仮想壁１０１−４）と作業者Ｈとの距離に基づく注意喚起の度合いについては、仮想壁（第１仮想壁１０１−１〜第４仮想壁１０１−４）の頂点を結ぶ直線の太さを制御することで表す。具体例として、制御装置側表示制御部５１は、注意喚起の度合いが所定の閾値以上で高い場合には当該直線を太くし、注意喚起の度合いが当該閾値未満で低い場合には当該直線を細くする。
【００７９】
また、図６の例では、それぞれの仮想壁（第１仮想壁１０１−１〜第４仮想壁１０１−４）の面は、半透明で表示されている。当該半透明は、例えば、透過率が５０％〜６０％程度である。
なお、図６の例は、仮想壁（第１仮想壁１０１−１〜第４仮想壁１０１−４）の表示形式の一例であり、他の様々な表示形式が用いられてもよい。
【００８０】
図７は、本発明の一実施形態に係る制御装置側表示制御部５１により行われる仮想壁の表示形式を変更する処理の手順の一例を示す図である。
本例では、Ｎ（Ｎは１以上の整数）個の仮想壁が生成される場合を説明する。図４の例および図５の例では、ｎ＝４である。また、ｎ（ｎは１以上でＮ以下の整数）により各仮想壁の番号を示す。
なお、本実施形態では、仮想現実空間に存在する仮想壁と現実空間に存在するロボット２０および作業者Ｈとの位置関係などを表すために、これらが現実空間に存在したと仮定した場合を想定して位置関係などを表すが、逆に、これらが仮想現実空間に存在したと仮定した場合を想定して位置関係などを表してもよく、あるいは、これらが他の同一の空間に存在したと仮定した場合を想定して位置関係などを表してもよい。
【００８１】
ここで、制御装置側表示制御部５１は、例えば、作業者Ｈの位置に基づいて現実空間における作業者Ｈの視覚の領域を仮想現実空間として特定し、現実空間と仮想現実空間とを対応付ける。そして、制御装置側表示制御部５１は、現実空間に存在するロボット２０の位置および姿勢、作業者Ｈの位置などと、仮想現実空間に存在する仮想壁の位置および姿勢などとを、同一の空間において対応付けることができる。この対応付けは、例えば、現実空間における三次元座標と、仮想現実空間における三次元座標との対応関係に基づいて行われてもよい。なお、現実空間における三次元座標と、仮想現実空間における三次元座標とは、それぞれ、任意の座標系が用いられてもよい。
図７の例では、作業空間は、現実空間を表す。また、ｎ番目の仮想壁を「仮想壁ｎ」と呼んで説明する。
【００８２】
（ステップＳ１）
制御装置側表示制御部５１は、作業者Ｈの作業空間上の位置Ｘｈを取得する。そして、ステップＳ２の処理へ移行する。
本実施形態では、当該位置Ｘｈとして、当該作業者Ｈが装着した表示装置４０の位置が用いられる。
（ステップＳ２）
制御装置側表示制御部５１は、ロボット２０の作業空間上の位置Ｘｒを取得する。そして、ステップＳ３の処理へ移行する。
（ステップＳ３）
制御装置側表示制御部５１は、ロボット２０の作業空間上の姿勢Ｐｒを取得する。そして、ステップＳ４の処理へ移行する。
（ステップＳ４）
制御装置側表示制御部５１は、ロボット２０の作業空間上の姿勢Ｐｒの変化量ΔＰｒを取得する。そして、ステップＳ５の処理へ移行する。
（ステップＳ５）
制御装置側表示制御部５１は、ｎに１を設定する。そして、ステップＳ６の処理へ移行する。
【００８３】
（ステップＳ６）
制御装置側表示制御部５１は、ｎがＮ以下であるか否かを判定する。
この判定の結果、制御装置側表示制御部５１は、ｎがＮ以下であると判定した場合には（ステップＳ６：ＹＥＳ）、ステップＳ７の処理へ移行する。
一方、この判定の結果、制御装置側表示制御部５１は、ｎがＮ以下ではないと判定した場合には（ステップＳ６：ＮＯ）、本フローの処理を終了する。
【００８４】
（ステップＳ７）
制御装置側表示制御部５１は、仮想壁ｎの作業空間上の位置Ｘｂ（ｎ）とロボット２０の作業空間上の位置Ｘｒとの距離Ｄｒ（ｎ）を計算する。そして、ステップＳ８の処理へ移行する。ここで、当該距離Ｄｒ（ｎ）は、ロボット２０の作業空間上の姿勢Ｐｒを考慮した距離である。
【００８５】
（ステップＳ８）
制御装置側表示制御部５１は、ロボット２０の作業空間上の姿勢Ｐｒの変化量ΔＰｒと、距離Ｄｒ（ｎ）に基づいて、仮想壁ｎについて、注意喚起の度合いα（ｎ）を決定する。そして、ステップＳ９の処理へ移行する。
本例では、仮想壁ｎの作業空間上の位置Ｘｂ（ｎ）とロボット２０の作業空間上の位置Ｘｒとの距離Ｄｒ（ｎ）の大小に応じて、注意喚起の度合いα（ｎ）が異なり得る。
また、本例では、ロボット２０の作業空間上の姿勢Ｐｒの変化量ΔＰｒの大小に応じて、注意喚起の度合いα（ｎ）が異なり得る。
【００８６】
（ステップＳ９）
制御装置側表示制御部５１は、仮想壁ｎの作業空間上の位置Ｘｂ（ｎ）と作業者Ｈの作業空間上の位置Ｘｈに基づいて、仮想壁ｎについて、注意喚起の度合いβ（ｎ）を決定する。そして、ステップＳ１０の処理へ移行する。
本例では、仮想壁ｎの作業空間上の位置Ｘｂ（ｎ）と作業者Ｈの作業空間上の位置Ｘｈとの距離Ｄｈ（ｎ）の大小に応じて、注意喚起の度合いβ（ｎ）が異なり得る。
【００８７】
（ステップＳ１０）
制御装置側表示制御部５１は、注意喚起の度合いα（ｎ）および注意喚起の度合いβ（ｎ）にしたがった表示形態で、表示装置４０に、仮想壁ｎを描画することで表示させる。そして、ステップＳ１１の処理へ移行する。
これにより、注意喚起の度合いα（ｎ）と注意喚起の度合いβ（ｎ）が同時に表示形式に反映される。
（ステップＳ１１）
制御装置側表示制御部５１は、ｎに１を加算する。そして、ステップＳ６の処理へ移行する。
【００８８】
ここで、本例では、実質的に、仮想壁ｎの作業空間上の位置Ｘｂ（ｎ）とロボット２０の作業空間上の位置Ｘｒとの距離Ｄｒ（ｎ）、仮想壁ｎの作業空間上の位置Ｘｂ（ｎ）と作業者Ｈの作業空間上の位置Ｘｈとの距離Ｄｈ（ｎ）、および、ロボット２０の作業空間上の姿勢Ｐｒの変化量ΔＰｒと、注意喚起の度合いα（ｎ）との対応関係が、あらかじめ設定される。このような対応関係は、例えば、距離Ｄｒ（ｎ）に関する１以上の閾値、距離Ｄｈ（ｎ）に関する１以上の閾値、姿勢Ｐｒの変化量ΔＰｒに関する１以上の閾値を用いて設定されてもよい。
【００８９】
また、図７の例では、注意喚起の度合いα（ｎ）および注意喚起の度合いβ（ｎ）といった２種類の注意喚起の度合いに基づいて仮想壁ｎの表示形態が決定される場合を示したが、他の例として、注意喚起の度合いα（ｎ）に基づいて仮想壁ｎの表示形態が決定されてもよく、この場合、注意喚起の度合いβ（ｎ）は決定されなくてもよく、注意喚起の度合いβ（ｎ）を求める処理は行われなくてもよい。
【００９０】
また、図７の例では、ロボット２０に対して表示する仮想壁ｎがあらかじめ設定されていて、当該仮想壁ｎの表示形態が変更される場合について説明した。この場合、ロボット２０に対して表示する仮想壁ｎを決定する手法としては、任意の手法が用いられてもよい。
ロボット２０に対して表示する仮想壁ｎを決定する手法では、例えば、仮想壁ｎの位置および姿勢が決定されてもよい。また、仮想壁ｎの初期的な表示形態が設定されてもよい。
本実施形態では、作業者Ｈへの注意喚起の度合いα（ｎ）、β（ｎ）に基づいて、仮想壁ｎの表示形態が変更させられる。
【００９１】
また、本実施形態では、表示装置４０を装着した作業者Ｈに対して注意喚起が行われる場合を示すが、例えば、表示装置４０を装着した作業者Ｈが、注意喚起が行われたことを、表示装置４０を装着していない人に知らせてもよい。すなわち、表示装置４０を装着していない人がロボット２０の付近で作業を行う場合に、表示装置４０を装着した作業者Ｈが、注意喚起の有無を監視して、注意喚起があったときに、当該人に対して注意喚起を伝えることができる。
【００９２】
［未来の予測に基づく仮想壁の表示］
ここで、例えば、ロボット２０に関する現在の情報に基づいて仮想壁の表示および仮想壁の表示形態の変更が行われるばかりでなく、例えば、ロボット２０に関する未来の予測される情報に基づいて仮想壁の表示および仮想壁の表示形態の変更が行われてもよい。
未来としては、現在に対して任意の未来が用いられてもよく、例えば、１秒後の未来、２秒後の未来、あるいは、１分後の未来、１０分後の未来、などが用いられてもよい。
【００９３】
また、例えば、ロボット２０に関する現在の情報に基づく仮想壁と、ロボット２０に関する未来の予測される情報に基づく仮想壁とが、異なる表示形態で、同時に表示されてもよい。この場合に、ロボット２０に関する未来の予測される情報に基づく仮想壁が、複数の異なる時間のそれぞれに対応する複数の未来の仮想壁であってもよい。未来における複数の異なる時間としては、任意の時間であってもよく、例えば、１秒後、２秒後、３秒後などといったように、一定の時間間隔をもった複数の異なる時間であってもよい。
また、例えば、ロボット２０に関する現在の情報に基づく仮想壁が表示されずに、１以上の未来の仮想壁が表示される場合があってもよい。
【００９４】
異なる表示形態としては、任意の表示形態が用いられてもよく、例えば、仮想壁の面の色、あるいは、透過率などが、異なる表示形態に設定されてもよい。
また、複数の時間（現在あるいは１以上の未来のうちの２以上の時間）の仮想壁を同時に表示する場合、例えば、２個以上の仮想壁が重なる部分において、注意喚起の度合いが最も大きい仮想壁の表示形態を優先的に使用して表示することが行われてもよい。
【００９５】
また、ロボット２０に関する未来の予測される情報としては、任意の手法を用いて取得されてもよい。例えば、ロボット２０に関する現在の情報と過去の情報との一方または両方に基づいて、同様な状況が継続することを仮定して、ロボット２０に関する未来の予測される情報が取得されてもよい。一例として、ロボット２０の可動部Ａの現在の位置および姿勢と、当該位置および当該姿勢の変化の仕方に基づいて、ロボット２０の可動部Ａの未来の位置および姿勢を予測することが可能である。当該位置および当該姿勢の変化の仕方としては、例えば、変化の速度などが用いられてもよい。
【００９６】
［表示する仮想壁の決定の具体例］
図８〜図２７を参照して、表示する仮想壁の決定の具体例を説明する。
なお、以下では、ロボット制御装置３０の制御装置側表示制御部５１が表示する仮想壁を決定する処理を例として説明するが、表示装置４０の表示装置側表示制御部６１が表示する仮想壁を決定する処理についても同様である。
【００９７】
＜ユーザーにより実行される準備＞
ロボット制御装置３０が自動的に仮想壁を設定することを可能とするために、ユーザーは、あらかじめ、ロボット２０の動作の経路をロボット制御装置３０に教示して、ロボット制御装置３０にロボット２０の動作のシミュレーションを実行させる。ここで、教示としては、任意の教示が行われてもよく、本実施形態では、ポイントごとの教示が行われる。
なお、ユーザーは、例えば、作業者Ｈであってもよく、あるいは、他の任意の者であってもよい。
また、本実施形態では、ロボット制御装置３０の制御装置側表示制御部５１が、ロボット２０の動作のシミュレーション、当該シミュレーションの結果の表示、当該シミュレーションの結果の分析、仮想壁の設定などの各種の処理を実行する。
【００９８】
本実施形態では、動作命令として、ＧＯ命令（ゴー命令）と、ＭＯＶＥ命令（ムーブ命令）が用いられている。
ＧＯ命令は、Ｐｏｉｎｔ  ｔｏ  Ｐｏｉｎｔ（ポイント  トゥ  ポイント）の動作命令であり、二点の位置が指定されて、当該二点のうちの一点の位置から他の一点の位置への動作の命令である。
ＭＯＶＥ命令は、例えば直線の経路の動作のように、経路の形が指定される動作の命令である。
【００９９】
図８は、本発明の一実施形態に係るロボット２０の動作経路の一例を示す図である。なお、図８の例では、ロボット２０を簡易化して示してある。
図８には、ロボットシステム１における作業環境の一例として、ロボット２０と、加工前の部品を載置するパレットである加工前部品パレット２０１と、加工済みの部品を載置するパレットである加工済み部品パレット２０２と、加工を行う機械である加工機２０３を示してある。
図８には、説明の便宜上、ＸＹＺ直交座標系の軸を示してある。
また、図８には、ＸＹＺ三次元直交座標系の一例を示してある。
【０１００】
図８の例では、ロボット２０は、（処理Ｄ１）〜（処理Ｄ５）を行う。
（処理Ｄ１）は、ロボット２０が、加工前部品パレット２０１から加工対象の部品を加工機２０３の手前まで持っていく処理である。図８には、（処理Ｄ１）の経路（説明の便宜上、第１経路ａ１という。）が示されている。（処理Ｄ１）は、例えば、ＧＯ命令により指示される。
（処理Ｄ２）は、ロボット２０が、部品を加工機２０３の供給口のところまで運搬する処理である。図８には、（処理Ｄ２）の経路（説明の便宜上、第２経路ａ２という。）が示されている。（処理Ｄ２）は、例えば、ＭＯＶＥ命令により指示される。
（処理Ｄ３）は、ロボット２０が、部品を加工機２０３に供給した後に、加工機２０３から加工済みの部品を受け取る位置に移動する処理である。図８には、（処理Ｄ３）の経路（説明の便宜上、第３経路ａ３という。）が示されている。（処理Ｄ３）は、ＭＯＶＥ命令により指示される。
（処理Ｄ４）は、ロボット２０が、加工済みの部品を受け取る処理である。図８には、（処理Ｄ４）の経路（説明の便宜上、第４経路ａ４という。））が示されている。（処理Ｄ４）は、例えば、ＭＯＶＥ命令により指示される。
（処理Ｄ５）は、ロボット２０が、加工済みの部品を加工済み部品パレット２０２に持っていく処理である。図８には、（処理Ｄ５）の経路（説明の便宜上、第５経路ａ５という。）が示されている。（処理Ｄ５）は、例えば、ＧＯ命令により指示される。
【０１０１】
＜ユーザーインターフェイスの例＞
本実施形態では、ユーザーインターフェイスとしては、ロボット制御装置３０と無線または有線により通信可能に接続される情報処理装置（図示せず）の画面が用いられる。当該情報処理装置は、例えば、コンピューターである。
ユーザーが、シミュレーション空間に仮想壁を生成することを指示する方法として、例えば、プログラミングベースで、仮想壁を生成したい動作に対してコマンドを記述することで展開する方法が用いられる。あるいは、仮想壁を生成したい動作のコードをドラッグして、設定用のウィザードを開くことで展開する方法が用いられる。
【０１０２】
＜ソースコードの例＞
図９は、本発明の一実施形態に係るソースコード（説明の便宜上、第１ソースコード２５１という。）の一例を示す図である。
当該第１ソースコード２５１は、ユーザーにより、記述される。
例えば、始点である第１の位置（Ｐｏｉｎｔ１）および終点である第２の位置（Ｐｏｉｎｔ２）が指定された処理の実行命令（［Ｇｏ  Ｐｏｉｎｔ１  Ｇｏ  Ｐｏｉｎｔ２］）において、第１の仮想壁を生成する処理の実行命令（Ｖｉｒｔｕａｌ  Ｗａｌｌ１｛ｐｒｏｐｅｒｔｉｅｓ｝）が指定されている。
同様に、始点である第３の位置（Ｐｏｉｎｔ３）および終点である第４の位置（Ｐｏｉｎｔ４）が指定された処理の実行命令（［Ｇｏ  Ｐｏｉｎｔ３  Ｇｏ  Ｐｏｉｎｔ４］）において、第２の仮想壁を生成する処理の実行命令（Ｖｉｒｔｕａｌ  Ｗａｌｌ２｛ｐｒｏｐｅｒｔｉｅｓ｝）が指定されている。
なお、仮想壁を生成する処理では、属性（ｐｒｏｐｅｒｔｉｅｓ）が指定され得る。
【０１０３】
図１０は、本発明の一実施形態に係るソースコード（説明の便宜上、第２ソースコード２５２という。）の他の例を示す図である。
当該第２ソースコード２５２は、ユーザーにより、記述される。
第１の位置（Ｐｏｉｎｔ１）が指定された処理の実行命令（Ｇｏ  Ｐｏｉｎｔ１）、第２の位置（Ｐｏｉｎｔ２）が指定された処理の実行命令（Ｇｏ  Ｐｏｉｎｔ２）、第３の位置（Ｐｏｉｎｔ３）が指定された処理の実行命令（Ｇｏ  Ｐｏｉｎｔ３）、第４の位置（Ｐｏｉｎｔ４）が指定された処理の実行命令（Ｇｏ  Ｐｏｉｎｔ４）がマウスのクリック等に応じて選択された状態で、所定のウィザード２６１がポップアップ表示されている。当該ウィザード２６１は、仮想壁の生成を指示するためのウィザードであり、指定されると、仮想壁を生成する処理が実行される。
【０１０４】
＜ロボットのモデル化＞
ロボット２０の全体を考慮して仮想壁を設定するために、ロボット２０をモデル化する。
本実施形態では、ロボット制御装置３０の制御装置側表示制御部５１は、ロボット２０の各軸のアーム（第１アームＡ１、第２アームＡ２）を直方体あるいは立方体の近似モデルを使用してモデル化する。
なお、他の例として、このようなモデル化がユーザーなどにより行われて、当該モデル化の結果がロボット制御装置３０に設定されて制御装置側表示制御部５１により使用されてもよい。
【０１０５】
図１１は、本発明の一実施形態に係るロボット２０のモデル化の一例を示す図である。
本実施形態では、ロボット２０を上下方向で見た場合について、基台Ｂの部分を矩形の基台部３０１に簡易化し、第１アームＡ１の部分を矩形の第１アーム部３１１に簡易化し、第２アームＡ２の部分を矩形の第２アーム部３１２に簡易化することで、ロボット２０を簡易な形状にモデル化している。
また、図１１には、説明の便宜上、ＸＹＺ直交座標系の軸を示してある。
【０１０６】
ここで、モデル化としては、他の任意のモデル化の手法が用いられてもよい。
例えば、ＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）モデルのようなポリゴンモデルを使用することで、より詳細なモデル化を行い、これにより、より詳細なシミュレーションの結果を得ることも可能である。
【０１０７】
＜各時刻におけるシミュレーションの結果＞
図１２〜図１３は、それぞれ、本発明の一実施形態に係る時刻ごとにおけるモデル化されたロボット２０の位置の一例を示す図である。
図１２〜図１３には、それぞれ、説明の便宜上、ＸＹＺ直交座標系の軸を示してある。
図１２〜図１３には、それぞれ、ロボット２０の動作をシミュレーションした結果として、それぞれの時刻における、モデル化されたロボット２０の位置を示してある。
このようなシミュレーションの結果は、例えば、ロボット制御装置３０の制御装置側表示制御部５１により、ユーザーインターフェイスとなる画面に表示される。
【０１０８】
なお、図１２の例〜図１３の例では、本実施形態において固定されている基台部３０１については、図示を省略してある。
また、図１２の例〜図１３の例では、仮想壁を設定するために使用され得るメッシュ（説明の便宜上、第１メッシュ３５１−１〜第２メッシュ３５１−２という。）を示してある。第１メッシュ３５１−１〜第２メッシュ３５１−２は、一定の間隔ごとに配置された複数の直線、および、当該直線と直交して一定の間隔ごとに配置された複数の直線から構成されている。第１メッシュ３５１−１〜第２メッシュ３５１−２の間隔の大きさは、例えば、ユーザーなどにより、任意に変更されることが可能であってもよい。
なお、他の例として、第１メッシュ３５１−１〜第２メッシュ３５１−２は、表示されなくてもよい。
【０１０９】
図１２の例では、ある時刻ｔ１における、モデル化されたロボット２０の位置のシミュレーション結果が示されている。
具体的には、ロボット２０がロボット制御装置３０により制御された状態の位置として、第１アーム部３１１の位置（説明の便宜上、第１位置３６１−１という。）と、第２アーム部３１２の位置（説明の便宜上、第２位置３６１−２という。）が示されている。また、仮にロボット２０に非常停止命令が発せられた場合にロボット２０が到達し得る位置として、第１アーム部３１１の位置（説明の便宜上、第３位置３７１−１という。）と、第２アーム部３１２の位置（説明の便宜上、第４位置３７１−２という。）が示されている。
【０１１０】
図１３の例では、他の時刻ｔ２における、モデル化されたロボット２０の位置のシミュレーション結果が示されている。
具体的には、ロボット２０がロボット制御装置３０により制御された状態の位置として、第１アーム部３１１の位置（説明の便宜上、第５位置３６２−１という。）と、第２アーム部３１２の位置（説明の便宜上、第６位置３６２−２という。）が示されている。また、仮にロボット２０に非常停止命令が発せられた場合にロボット２０が到達し得る位置として、第１アーム部３１１の位置（説明の便宜上、第７位置３７２−１という。）と、第２アーム部３１２の位置（説明の便宜上、第８位置３７２−２という。）が示されている。
【０１１１】
さらに、図１２の例〜図１３の例と同様に、シミュレーションにおける他の時刻ｔについても、ロボット２０がロボット制御装置３０により制御された状態の位置、および、仮にロボット２０に非常停止命令が発せられた場合にロボット２０が到達し得る位置が取得される。
なお、非常停止命令は、例えば、ロボット制御装置３０からロボット２０に対して送信され、これに応じてロボット２０は空走動作を行って緊急停止する。
また、ロボット２０が停止している状態では、緊急停止は考えられなくてもよい。
【０１１２】
＜すべての時刻におけるシミュレーションの結果の重ね合わせ＞
すべての時刻におけるシミュレーションの結果を重ね合わせると、ユーザーにより教示されたロボット２０の動作が行われる場合にロボット２０が通過し得る領域が生成される。
【０１１３】
図１４は、本発明の一実施形態に係るモデル化されたロボット２０が通過し得る領域の一例を示す図である。
図１４には、説明の便宜上、ＸＹＺ直交座標系の軸を示してある。
図１４には、メッシュ（説明の便宜上、第３メッシュ４１１という。）が示されている。
図１４には、ロボット２０が通常の動作を行う場合に第１アーム部３１１が通過し得る領域（説明の便宜上、第１領域４０１という。）と、ロボット２０が通常の動作を行う場合に第２アーム部３１２が通過し得る領域（説明の便宜上、第２領域４０２という。）と、ロボット２０が非常停止命令時に空走動作を行う場合に第１アーム部３１１および第２アーム部３１２が通過し得る領域（説明の便宜上、第３領域４０３という。）が示されている。
ここで、通常の動作とは、非常停止命令が発生られていないときの動作である。
【０１１４】
＜安全領域の生成＞
ロボット制御装置３０の制御装置側表示制御部５１は、シミュレーションの結果に基づいて、ロボット２０が到達しない位置から構成される領域を安全領域として設定する。
【０１１５】
図１５は、本発明の一実施形態に係るモデル化されたロボット２０が通過しない安全領域４３１の一例を示す図である。
図１５には、説明の便宜上、ＸＹＺ直交座標系の軸を示してある。
図１５の例では、図１４の例に対して安全領域４３１が設定されている。
図１５には、図１４に示される第３メッシュ４１１および第１領域４０１〜第３領域４０３が示されている。
【０１１６】
ここで、本実施形態では、第３メッシュ４１１により構成される正方形を単位として、安全領域４３１が設定されている。つまり、１個の正方形を考えたときに、ロボット２０が通過し得る領域（第１領域４０１〜第３領域４０３）が当該正方形と全く重複しない場合には当該正方形の領域を安全領域４３１に含める一方、ロボット２０が通過し得る領域（第１領域４０１〜第３領域４０３）が当該正方形の一部または全部と重複する場合には当該正方形の領域を安全領域４３１に含めない。
【０１１７】
＜数値パターン化＞
ロボット制御装置３０の制御装置側表示制御部５１は、ロボット２０が通過し得る領域（説明の便宜上、「通過領域」ともいう。）と安全領域４３１を数値パターン化する。
【０１１８】
図１６は、本発明の一実施形態に係る通過領域４３２と安全領域４３１の数値パターンの一例を示す図である。
図１６には、説明の便宜上、平面上のｘｙ直交座標系を示してある。本例では、ｘｙ直交座標系のｘ軸の方向は水平方向に相当し、ｙ軸の方向は垂直方向に相当する。
図１６には、図１５に示されるものと同様な第３メッシュ４１１を示してある。
また、図１６には、安全領域４３１と、通過領域４３２を示してある。
なお、安全領域４３１は、無限の領域となり得るため、本実施形態では、限定された領域について演算処理を行っている。
【０１１９】
ロボット制御装置３０の制御装置側表示制御部５１は、第３メッシュ４１１により構成される複数の正方形について、安全領域４３１に含まれる正方形には「１」の値を設定し、通過領域４３２に含まれる正方形には「０」の値を設定する。これにより、安全領域４３１と通過領域４３２が数値パターン化される。
このように、ロボット制御装置３０の制御装置側表示制御部５１は、第３メッシュ４１１により構成される複数の正方形のそれぞれにスコア（値）を割り振る。
ここで、安全領域４３１に含まれる正方形に設定される値と、通過領域４３２に含まれる正方形に設定される値としては、それぞれ、任意の値が設定されてもよい。
【０１２０】
＜エッジの検出＞
ロボット制御装置３０の制御装置側表示制御部５１は、図１６に示される数値パターンを画像情報として、所定のフィルタリングの処理を行って、エッジを検出する。この場合、ロボット制御装置３０の制御装置側表示制御部５１は、第３メッシュ４１１により構成される複数の正方形のそれぞれを１個の画素とみなして、各画素に画素値である数値が設定された画像として扱う。画素値は、例えば、輝度値とみなされてもよい。
ここで、所定のフィルタリングとしては、エッジを検出するための任意のフィルタリングが用いられてもよく、例えば、ソーベルフィルタのフィルタリング、あるいは、ラプラシアンフィルタのフィルタリングなどが用いられてもよい。
【０１２１】
図１７は、本発明の一実施形態に係る数値パターンのフィルタリング結果の一例を示す図である。
図１７には、説明の便宜上、図１６の場合と同様に、平面上のｘｙ直交座標系を示してある。
図１７には、図１６に示されるものと同様な第３メッシュ４１１を示してある。
そして、当該第３メッシュ４１１により構成される複数の正方形のそれぞれに、フィルタリング結果の数値が示されている。
【０１２２】
ここで、本例のフィルタリング処理を説明する。
図１７に示されるｘｙ直交座標系にしたがって、第３メッシュ４１１により構成される複数の正方形が並ぶ方向をｘ方向とｙ方向とする。図１７の例において、ｘ方向は水平の方向であり、ｙ方向は垂直の方向である。
ｘ方向に並ぶ複数の正方形を順番に番号付けした場合における当該番号をｉで表す。同様に、ｙ方向に並ぶ複数の正方形を順番に番号付けした場合における当該番号をｊで表す。
ｉとｊにより特定される正方形に割り当てられた画素値をＩ（ｉ、ｊ）で表す。
ｘの微小成分をΔｘと表し、ｙの微小成分をΔｙと表し、Ｉ（ｉ、ｊ）の微小成分をΔＩ（ｉ、ｊ）と表す。
【０１２３】
式（１）には、画素値について、（ｘ方向の勾配、ｙ方向の勾配）を示してある。
式（２）には、画素値の全体的な勾配ΔＩ（ｉ、ｊ）を示してある。
式（３）には、ｘ方向についてオペレーターを示してある。
式（４）には、ｙ方向についてオペレーターを示してある。
【０１２４】
【数１】
2020011357.tif 000003
【０１２５】
【数２】
2020011357.tif 000004
【０１２６】
【数３】
2020011357.tif 000005
【０１２７】
【数４】
2020011357.tif 000006
【０１２８】
ロボット制御装置３０の制御装置側表示制御部５１は、式（１）に示される（ｘ方向の勾配、ｙ方向の勾配）を算出する。
そして、制御装置側表示制御部５１は、式（２）に示される画素値全体の勾配ΔＩ（ｉ、ｊ）を算出する。
この場合に、制御装置側表示制御部５１は、注目する画素およびその周辺の画素の画素値のマトリクスに、式（３）に示されるｘ方向のオペレーターを掛ける演算を行うことで、ｘ方向の勾配を導出する。ここで、当該マトリクスと当該オペレーターとは、ｘ方向の画素の数（正方形の数）が同じであり、かつ、ｙ方向の画素の数（正方形の数）が同じである。また、当該マトリクスの中心の画素（正方形）が注目する画素（正方形）となる。
同様に、制御装置側表示制御部５１は、注目する画素およびその周辺の画素の画素値のマトリクスに、式（４）に示されるｙ方向のオペレーターを掛ける演算を行うことで、ｙ方向の勾配を導出する。ここで、当該マトリクスと当該オペレーターとは、ｘ方向の画素の数（正方形の数）が同じであり、かつ、ｙ方向の画素の数（正方形の数）が同じである。また、当該マトリクスの中心の画素（正方形）が注目する画素（正方形）となる。
【０１２９】
ここで、注目する画素およびその周辺の画素の画素値のマトリクスは、ｘ方向の演算とｙ方向の演算とで共通である。
また、本例では、マトリクスにオペレーターを掛ける演算として、それぞれの画素（正方形）についてマトリクスの値とオペレーターの値とを乗算し、その乗算結果をすべての画素（正方形）について総和する演算が行われる。
【０１３０】
具体例として、３×３のマトリクスおよびオペレーターを例として、マトリクスが｛１行目が（１、１、０）、２行目が（１、１、１）、３行目が（１、１、１）｝であり、オペレーターが｛１行目が（−１、０、１）、２行目が（−２、０、２）、３行目が（−１、０、１）｝である場合には、これらの演算結果は−１（＝１×−１＋１×０＋０×１＋１×−２＋１×０＋１×２＋１×−１＋１×０＋１×１）となる。
なお、画素値の正負の符号については、適宜、逆転するなどのように、調整されてもよい。
【０１３１】
＜エッジの２値化＞
次に、ロボット制御装置３０の制御装置側表示制御部５１は、検出されたエッジの数値パターンを２値化する。
本例では、制御装置側表示制御部５１は、所定の閾値を用いて２値化を行う。具体的には、制御装置側表示制御部５１は、フィルタリング結果におけるそれぞれの画素（正方形）の画素値について、画素値が所定の閾値以上である場合には「１」の値を割り当てる一方、画素値が当該閾値未満である場合には「０」の値を割り当てる。なお、割り当てられる値としては、他の任意の値が用いられてもよい。また、閾値としては、任意の値が用いられてもよい。
【０１３２】
図１８は、本発明の一実施形態に係るフィルタリング結果の二値化の一例を示す図である。
図１８には、説明の便宜上、図１６〜図１７の場合と同様に、平面上のｘｙ直交座標系を示してある。
図１８の例は、図１７の例に対して二値化の処理が行われた結果の一例である。
本例では、二値化のための閾値として、例えば、「３」または「４」が用いられている。
【０１３３】
次に、ロボット制御装置３０の制御装置側表示制御部５１は、エッジに関する二値化の結果において、ロボット２０の通過領域４３２に重複する画素（正方形）については、画素値をエッジではない「０」の値で上書きする。つまり、二値化の結果においてエッジの境界の候補となっていても、通過領域４３２にある画素（正方形）については、エッジの境界の候補から取り除く。
【０１３４】
図１９は、本発明の一実施形態に係る安全領域４３１の境界の一例を示す図である。
図１９には、説明の便宜上、図１６〜図１８の場合と同様に、平面上のｘｙ直交座標系を示してある。
図１９の例では、図１８に示されるエッジの境界の候補の画素（正方形）のうち、図１６に示される通過領域４３２に含まれる画素（正方形）を除いた部分を、最終的な安全領域４３１の境界としている。
【０１３５】
ロボット制御装置３０の制御装置側表示制御部５１は、例えば、最終的な安全領域４３１の境界に対応するところに仮想壁を設ける。
ここで、制御装置側表示制御部５１は、求められた最終的な安全領域４３１の境界に対して、例えば、当該境界のところに仮想壁を設けてもよく、あるいは、当該境界よりも外側のところに仮想壁を設けてもよい。
また、制御装置側表示制御部５１は、例えば、算出された境界に対してマージンを設けて、当該マージンに対応したところに仮想壁を設けてもよい。
【０１３６】
また、制御装置側表示制御部５１は、最終的な安全領域４３１の境界に基づいて、例えば、複数のマージンが異なる仮想壁を生成して設けてもよい。
複数のマージンが異なる仮想壁としては、例えば、ロボット２０の動作を遅くする仮想的な領域を区切る仮想壁、あるいは、ロボット２０の動作を停止する仮想的な領域を区切る仮想壁、などに用いられてもよい。
また、複数のマージンが異なる仮想壁は、例えば、基準となる１個以上の仮想壁に対してスケーリングを行って、当該仮想壁が囲む形に対して拡大あるいは縮小された相似形状が生成されることで、取得されてもよい。
【０１３７】
ここで、安全領域４３１の境界に応じて仮想壁を生成する手法としては、任意の手法が用いられてもよく、例えば、安全領域４３１の境界などから凸包を生成し、当該凸包をＣＡＤなどのデータとして生成する手法が用いられてもよい。
なお、それぞれの仮想壁の面は、例えば、ｘｙ平面に対して垂直であってもよく、あるいは、垂直から傾いていてもよい。
制御装置側表示制御部５１は、生成された仮想壁をシミュレーションの結果などとして表示する。
【０１３８】
＜安全領域の境界を生成する他の手法＞
図２０および図２１を参照して、安全領域の境界を生成する他の手法を説明する。
図２０および図２１は、それぞれ、本発明の一実施形態に係る安全領域の境界を生成する他の一例を示す図である。
図２０〜図２１の例では、図１５〜図１９の例に示される安全領域の境界を生成する手法とは異なる手法を説明する。
本手法では、ロボット２０などを上下方向で見た場合のｘｙ平面上において処理が行われる。
【０１３９】
図２０および図２１には、それぞれ、説明の便宜上、ＸＹＺ直交座標系の軸を示してある。
図２０および図２１には、それぞれ、図１４に示されるものと同様な第３メッシュ４１１および３個の領域（第１領域４０１〜第３領域４０３）を示してある。
【０１４０】
図２０に示されるように、ロボット制御装置３０の制御装置側表示制御部５１は、ロボット２０の原点の位置Ｐ１から最も離れている動作領域の位置Ｐ２を探索して検出する。そして、制御装置側表示制御部５１は、検出された位置Ｐ２を基準として、原点の位置Ｐ１から位置Ｐ２までのベクトル（説明の便宜上、第１ベクトル５２１という。）の伸縮および部分ベクトルの回転を行い、例えば、ベクトルのノルムを可能な限り大きくすることができ、かつ、当該位置Ｐ２に近い動作領域の位置Ｐ３を探索して検出する。
【０１４１】
ここで、それぞれの位置は、例えば、座標の値を用いて特定されてもよい。
また、ロボット２０の原点の位置Ｐ１としては、例えば、ロボット２０の基台Ｂの重心位置などが用いられてもよい。
また、本例では、ロボット２０の動作領域は、３個の領域（第１領域４０１〜第３領域４０３）が重ね合わされたときの外枠で囲まれる領域となる。つまり、本例では、３個の領域（第１領域４０１〜第３領域４０３）のうちの少なくとも１個の領域に含まれる位置は、ロボット２０の動作領域の位置となる。
【０１４２】
具体的には、制御装置側表示制御部５１は、例えば、原点の位置Ｐ１から位置Ｐ２までの第１ベクトル５２１を原点の位置Ｐ１から離れる方向に伸ばして、伸びた分のベクトル（説明の便宜上、第２ベクトル５２２という。）を、位置Ｐ２を中心として、所定の回転方向５３１に回転させて、当該第２ベクトル５２２が３個の領域（第１領域４０１〜第３領域４０３）の外周に接する点の位置Ｐ３を検出する。これにより、位置Ｐ２から位置Ｐ３までのベクトル（説明の便宜上、第３ベクトル５４１という。）の線分が、安全領域の境界として特定される。
続いて、制御装置側表示制御部５１は、位置Ｐ２の代わりに、位置Ｐ３について、同様な処理を行う。
制御装置側表示制御部５１は、このような処理の手順を、安全領域の境界によって動作領域の全体が１周分覆われるまで、繰り返して行う。このとき、位置Ｐ３以降に順番に検出されていく位置が最初の位置Ｐ２に戻ったときに、繰り返しの処理が終了となる。
【０１４３】
そして、制御装置側表示制御部５１は、このようなアルゴリズムにおいて安全領域の境界に対応するベクトルとして特定されたすべてのベクトル（第３ベクトル５４１など）の線分を結合して、結合された線分の集合を安全領域の境界として特定する。
【０１４４】
図２１には、安全領域の境界５７１の一例が示されている。安全領域の境界５７１は、ロボット２０の動作領域の外周あるいはその付近を１周分覆い当該動作領域を囲む線となる。
このようにして、制御装置側表示制御部５１は、安全領域の境界５７１を生成する。
【０１４５】
図２２は、本発明の一実施形態に係る仮想壁（説明の便宜上、第５仮想壁６０１という。）の一例を示す図である。なお、図２２の例では、ロボット２０などを簡易化して示してある。
図２２では、説明の便宜上、ＸＹＺ直交座標系の軸を示してある。
図２２には、ロボット２０と、ロボット２０の動作領域を囲む第５仮想壁６０１が示されている。
なお、それぞれの第５仮想壁６０１の面は、例えば、ｘｙ平面に対して垂直であってもよく、あるいは、垂直から傾いていてもよい。
制御装置側表示制御部５１は、生成された第５仮想壁６０１をシミュレーションの結果などとして表示する。
【０１４６】
＜ロボットの動作における軌道に応じた仮想壁の生成＞
ロボット制御装置３０の制御装置側表示制御部５１は、例えば、ロボット２０により行われる一連の動作の最初から終わりまで一定の仮想壁を設定してもよいが、他の例として、ロボット２０により行われる一連の動作の途中で仮想壁を変更してもよい。
例えば、制御装置側表示制御部５１は、ロボット２０の動作における軌道に応じて仮想壁を生成して、ロボット２０の動作における軌道に応じて仮想壁を変更してもよい。
【０１４７】
具体的に、図８の例では、（処理Ｄ１）〜（処理Ｄ３）におけるロボット２０の動作によるロボット２０の軌道が存在する領域はある程度近くにまとまっており、（処理Ｄ４）〜（処理Ｄ５）におけるロボット２０の動作によるロボット２０の軌道が存在する領域はある程度近くにまとまっているが、これら２個の領域は主な作業位置がずれているとする。
このような場合に、制御装置側表示制御部５１は、それぞれの領域について、異なる仮想壁を生成してもよい。つまり、制御装置側表示制御部５１は、（処理Ｄ１）〜（処理Ｄ３）におけるロボット２０に適用される仮想壁と、（処理Ｄ４）〜（処理Ｄ５）におけるロボット２０に適用される仮想壁とを異ならせてもよい。そして、制御装置側表示制御部５１は、（処理Ｄ１）〜（処理Ｄ３）ではそれに合った仮想壁を設定し、（処理Ｄ４）〜（処理Ｄ５）ではそれに合った異なる仮想壁を設定するように、使用される仮想壁を変更してもよい。
【０１４８】
このように、ロボット２０により行われる一連の動作のすべてにおいて同一の仮想壁が用いられる場合と比べて、ロボット２０の軌道が同一または近い２以上の動作群のそれぞれごとに異なる仮想壁が用いられる方が効果的な場合もある。ここで、当該動作群は、例えば、２個以上の動作を含んでもよく、あるいは、１個の動作のみ含んでもよい。また、それぞれの動作の区切りは、ユーザーなどにより任意に設定されてもよい。
ここでは、動作ごとに仮想壁が異なり得るという表現で説明したが、例えば、作業ごとに仮想壁が異なり得るという表現が用いられてもよく、あるいは、軌道ごとに仮想壁が異なり得るという表現が用いられてもよい。
【０１４９】
＜仮想壁の生成について＞
本実施形態に係るロボットシステム１では、ロボット制御装置３０などにおいて、作業者Ｈにより教示されたロボット２０の動作をシミュレーションにより実行させた結果に基づいて、侵入検知等のための仮想的な領域に応じた仮想壁を自動的に設定することができる。このため、ロボット制御装置３０などにおいて、例えば、シミュレーションにおけるロボット２０の動作の経路などを変更することで、変更後の経路などに適した仮想壁へ変更することができる。
【０１５０】
ここで、本実施形態に係るロボットシステム１では、仮想壁を自動的に設定するために利用するシミュレーションにおいて、例えば、ロボット２０の先端部分の位置情報だけではなく、ロボット２０の全体の位置情報および姿勢情報を用いることが可能である。ロボット２０の全体の位置情報および姿勢情報は、例えば、シミュレーションが実行されたときに得られる、各時刻におけるロボット２０の各関節軸の角度情報およびロボット２０のモデルに基づいて算出される。
【０１５１】
また、本実施形態に係るロボットシステム１では、ロボット制御装置３０などにおいて、ロボット２０の各関節軸の角度情報について、シミュレーションを達成するために必要な各時刻における角度以外にも、各時刻において非常停止命令が発せられたときにロボット２０が完全に停止するまでに追加で動く必要のある角度量である空走角度も同時に記録する。これにより、ロボット制御装置３０などにおいて、例えば、ロボット２０の誤動作に対して非常停止命令が発せられる場合も考慮した仮想壁が設定される。
【０１５２】
このように、本実施形態に係るロボットシステム１では、例えば、作業者Ｈなどのユーザーがロボット２０の動作を決定すると、仮想壁を自動的に設定するため、当該ユーザーは仮想壁の設定の仕方を考えなくてもよく、ロボットシステム１の構築に要する時間の短縮が期待される。
【０１５３】
また、本実施形態に係るロボットシステム１では、例えば、２段階の仮想的な領域を設定することが可能であるとともに、３段階以上の仮想的な領域を設定することも可能である。これにより、本実施形態に係るロボットシステム１では、例えば、それぞれの段階の仮想的な領域ごとに、当該仮想的な領域に作業者Ｈなどが侵入したときにおけるロボット２０の動作を遅くするなどの態様を異ならせることが可能である。
ここで、本実施形態に係るロボットシステム１では、複数の段階の仮想的な領域は、例えば、基準となる仮想的な領域のスケーリングなどにより容易に生成することが可能である。
【０１５４】
本実施形態に係るロボットシステム１では、複数の段階の仮想壁が設定される場合に、例えば、それぞれの段階の仮想壁ごとに、異なる表示形態が用いられてもよい。他の例として、複数の段階の仮想壁が設定される場合に、すべての段階の仮想壁について、同一の表示形態が用いられてもよい。
【０１５５】
本実施形態に係るロボットシステム１では、例えば、人あるいは物体の位置を障害物の位置として検出することが可能なエリアセンサーなどのセンサーが現実空間に設置されることで、障害物が仮想的な領域に侵入したか否かを検出して、ロボット２０の動作を遅くするあるいは当該動作を停止することなどが可能であり、人協働ロボット分野への応用が期待される。
【０１５６】
また、本実施形態に係るロボットシステム１では、例えば、ユーザーは、シミュレーションの結果のように仮想現実空間を表示する画面上で仮想的な領域あるいは仮想壁を確認することが可能であるだけでなく、ヘッドマウントディスプレイなどを装着することで、現実空間に存在するロボット２０などとの関係においても、仮想的な領域あるいは仮想壁を容易に確認することが可能である。
【０１５７】
ここで、比較例として、仮想現実空間上に２個の仮想的な領域が設定されて、一方の仮想的な領域にロボットの先端部分が侵入すると当該ロボットの動作速度が制限され、当該一方の仮想的な領域の内側に設定された他方の仮想的な領域に当該ロボットの先端部分が侵入すると当該ロボットの動作が停止させられるかまたは当該他方の仮想的な領域から退避させられる、構成が考えられる。そして、当該ロボットの動作のシミュレーション結果において、このような２個の仮想的な領域が作業者に表示されて、当該作業者によりそれぞれの仮想的な領域を任意の位置に設定することが可能な構成が考えられる。
しかしながら、このような比較例では、作業者がロボットの動作のミュレーションの果を見た上で、作業者自身でどの位置に仮想的な領域を設定するべきかを考える必要があった。また、このような比較例では、ロボットの動作のシミュレーション結果として当該ロボットの先端部分のみに関する結果が表示されるため、当該先端部分を含むロボット全体の位置を考慮して仮想的な領域を設定することは、ロボットに関する知識を持っていなければ難しい場合があった。
【０１５８】
このように、作業者がリスクアセスメントに基づいて手動で仮想壁を設定する場合には、当該作業者がロボットの動作に関する多くの知識を有する必要があったが、本実施形態では、作業者Ｈなどのユーザーに多くの知識が求められなくても、ロボット制御装置３０あるいは表示装置４０によりロボット２０の動作に適した仮想壁を設定することができる。
【０１５９】
［実施形態のまとめ］
以上のように、本実施形態に係るロボットシステム１では、可動部Ａを有するロボット２０を制御するロボット制御装置３０（本実施形態では、制御装置の一例）において、可視光を透過する表示部４６に表示される仮想壁の表示形態を、現実空間上での仮想壁と可動部Ａとの距離と、可動部Ａの速度と、に基づいて変更する制御装置側表示制御部５１（本実施形態では、表示制御部の一例）を備える。
したがって、本実施形態に係るロボットシステム１では、ロボット制御装置３０において、現実空間上での仮想壁と可動部Ａとの距離および可動部Ａの速度に基づいて、適した表示形態で仮想壁が表示部４６に表示されることを実現することができる。これにより、本実施形態に係るロボットシステム１では、例えば、表示部４６の表示を見る作業者Ｈなどにとって、有効な表示形態で仮想壁を表示することができ、ロボット２０の現在の状況を把握しやすくすることが可能である。
【０１６０】
本実施形態に係るロボットシステム１では、ロボット制御装置３０において、例えば、制御装置側表示制御部５１は、表示部４６を装着した作業者Ｈと仮想壁との距離に基づいて、仮想壁の表示形態を変更する。
したがって、本実施形態に係るロボットシステム１では、現実空間上での仮想壁と作業者Ｈとの距離に基づいて、適した表示形態で仮想壁が表示部４６に表示されることを実現することができる。これにより、本実施形態に係るロボットシステム１では、例えば、表示部４６の表示を見る作業者Ｈなどにとって、有効な表示形態で仮想壁を表示することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
【０１６１】
本実施形態に係るロボットシステム１では、例えば、仮想壁と可動部Ａとの距離に基づいて変更される仮想壁の表示形態の種類は、作業者Ｈと仮想壁との距離に基づいて変更される仮想壁の表示形態の種類と異なる。
したがって、本実施形態に係るロボットシステム１では、例えば、仮想壁と可動部Ａとの距離に基づいて変更される仮想壁の表示形態の種類と、作業者Ｈと仮想壁との距離に基づいて変更される仮想壁の表示形態の種類とが異なるため、それぞれの距離に応じて適した種類の表示形態を変更することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
【０１６２】
本実施形態に係るロボットシステム１では、ロボット制御装置３０において、例えば、制御装置側表示制御部５１は、作業者Ｈと前記仮想壁との距離と、あらかじめ決められた値（本実施形態では、作業者Ｈの腕のリーチの値）と、に基づいて仮想壁の表示形態を変更する。
したがって、本実施形態に係るロボットシステム１では、例えば、作業者Ｈの腕のリーチの値を考慮して、適した表示形態で仮想壁が表示部４６に表示されることを実現することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
【０１６３】
本実施形態に係るロボットシステム１では、ロボット制御装置３０において、例えば、制御装置側表示制御部５１は、仮想壁と、可動部Ａの現在位置から所定時間経過した時の位置との距離に基づいて、仮想壁の表示形態を変更する。
したがって、本実施形態に係るロボットシステム１では、例えば、未来の可動部Ａの位置に基づいて、適した表示形態で仮想壁が表示部４６に表示されることを実現することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
【０１６４】
本実施形態に係るロボットシステム１では、ロボット制御装置３０において、例えば、制御装置側表示制御部５１は、可動部Ａの動作における軌道に基づいて、仮想壁を表示する。
したがって、本実施形態に係るロボットシステム１では、例えば、可動部Ａの動作における軌道に基づいて、適した仮想壁が表示部４６に表示されることを実現することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
【０１６５】
本実施形態に係るロボットシステム１では、例えば、動作は、第１動作と、第１動作の後に実行され第１動作と異なる第２動作を含み、ロボット制御装置３０において、制御装置側表示制御部５１は、可動部Ａが第１動作から第２動作に変更するとき、第１動作における可動部Ａの軌道に応じた仮想壁から第２動作における可動部Ａの軌道に応じた仮想壁に変更する。
したがって、本実施形態に係るロボットシステム１では、例えば、それぞれの動作における可動部Ａの軌道に応じて、適した仮想壁が表示部４６に表示されることを実現することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
【０１６６】
本実施形態に係るロボットシステム１では、ロボット制御装置３０において、例えば、制御装置側表示制御部５１は、動作のうち選択された動作における可動部Ａの軌道に応じた仮想壁を表示する。
したがって、本実施形態に係るロボットシステム１では、例えば、選択された動作における可動部Ａの軌道に応じて、適した仮想壁が表示部４６に表示されることを実現することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
【０１６７】
本実施形態に係るロボットシステム１では、例えば、仮想壁によって囲まれた領域と相似形状の領域を表示する指令を、ユーザーから受け付ける受付部（本実施形態では、ユーザーインターフェイス）を備え、ロボット制御装置３０において、制御装置側表示制御部５１は、受付部が受け付けた指令に基づいて、相似形状の領域を表示する。
したがって、本実施形態に係るロボットシステム１では、例えば、ユーザーから受け付けられた指令に基づいて、仮想壁により囲まれた領域のスケーリングを行うことが可能であり、仮想壁のスケーリングを行うことが可能である。
なお、このような構成は、必ずしも実施されなくてもよい。
【０１６８】
本実施形態に係るロボットシステム１では、例えば、ヘッドマウントディスプレイ（本実施形態では、表示装置４０の一例）において、仮想壁が表示され可視光を透過する表示部４６と、表示部４６に表示される仮想壁の表示形態を、ロボット２０が有する可動部Ａと現実空間上での仮想壁との距離と、可動部Ａの速度と、に基づいて変更する表示装置側表示制御部６１（本実施形態では、表示制御部の一例）と、を備える。
したがって、本実施形態に係るロボットシステム１では、ヘッドマウントディスプレイにおいて、現実空間上での仮想壁と可動部Ａとの距離および可動部Ａの速度に基づいて、適した表示形態で仮想壁が表示部４６に表示されることを実現することができる。これにより、本実施形態に係るロボットシステム１では、例えば、表示部４６の表示を見る作業者Ｈなどにとって、有効な表示形態で仮想壁を表示することができ、ロボット２０の現在の状況を把握しやすくすることが可能である。
【０１６９】
本実施形態に係るロボットシステム１では、ヘッドマウントディスプレイにおいて、例えば、表示装置側表示制御部６１は、表示部４６を装着した作業者Ｈと仮想壁との距離に基づいて、仮想壁の表示形態を変更する。
したがって、本実施形態に係るロボットシステム１では、ヘッドマウントディスプレイにおいて、現実空間上での仮想壁と作業者Ｈとの距離に基づいて、適した表示形態で仮想壁が表示部４６に表示されることを実現することができる。これにより、本実施形態に係るロボットシステム１では、例えば、表示部４６の表示を見る作業者Ｈなどにとって、有効な表示形態で仮想壁を表示することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
【０１７０】
本実施形態に係るロボットシステム１では、例えば、仮想壁と可動部Ａとの距離に基づいて変更される仮想壁の表示形態の種類は、作業者Ｈと仮想壁との距離に基づいて変更される仮想壁の表示形態の種類と異なる。
したがって、本実施形態に係るロボットシステム１では、例えば、仮想壁と可動部Ａとの距離に基づいて変更される仮想壁の表示形態の種類と、作業者Ｈと仮想壁との距離に基づいて変更される仮想壁の表示形態の種類とが異なるため、それぞれの距離に応じて適した種類の表示形態を変更することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
【０１７１】
本実施形態に係るロボットシステム１では、ヘッドマウントディスプレイにおいて、例えば、表示装置側表示制御部６１は、作業者Ｈと仮想壁との距離と、あらかじめ決められた値（本実施形態では、作業者Ｈの腕のリーチの値）と、に基づいて仮想壁の表示形態を変更する。
したがって、本実施形態に係るロボットシステム１では、ヘッドマウントディスプレイにおいて、例えば、作業者Ｈの腕のリーチの値を考慮して、適した表示形態で仮想壁が表示部４６に表示されることを実現することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
【０１７２】
本実施形態に係るロボットシステム１では、ヘッドマウントディスプレイにおいて、例えば、表示装置側表示制御部６１は、仮想壁と、可動部Ａの現在位置から所定時間経過した時の位置との距離に基づいて、仮想壁の表示形態を変更する。
したがって、本実施形態に係るロボットシステム１では、ヘッドマウントディスプレイにおいて、例えば、未来の可動部Ａの位置に基づいて、適した表示形態で仮想壁が表示部４６に表示されることを実現することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
【０１７３】
本実施形態に係るロボットシステム１では、ヘッドマウントディスプレイにおいて、例えば、表示装置側表示制御部６１は、可動部Ａの動作における軌道に基づいて、仮想壁を表示する。
したがって、本実施形態に係るロボットシステム１では、ヘッドマウントディスプレイにおいて、例えば、可動部Ａの動作における軌道に基づいて、適した仮想壁が表示部４６に表示されることを実現することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
【０１７４】
本実施形態に係るロボットシステム１では、例えば、動作は、第１動作と、第１動作の後に実行され第１動作と異なる第２動作を含み、ヘッドマウントディスプレイにおいて、表示装置側表示制御部６１は、可動部Ａが第１動作から第２動作に変更するとき、第１動作における可動部Ａの軌道に応じた仮想壁から第２動作における可動部Ａの軌道に応じた仮想壁に変更する。
したがって、本実施形態に係るロボットシステム１では、ヘッドマウントディスプレイにおいて、例えば、それぞれの動作における可動部Ａの軌道に応じて、適した仮想壁が表示部４６に表示されることを実現することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
【０１７５】
本実施形態に係るロボットシステム１では、ヘッドマウントディスプレイにおいて、例えば、表示装置側表示制御部６１は、動作のうち選択された動作における可動部Ａの軌道に応じた仮想壁を表示する。
したがって、本実施形態に係るロボットシステム１では、ヘッドマウントディスプレイにおいて、例えば、選択された動作における可動部Ａの軌道に応じて、適した仮想壁が表示部４６に表示されることを実現することができる。
なお、このような構成は、必ずしも実施されなくてもよい。
【０１７６】
本実施形態に係るロボットシステム１では、例えば、仮想壁によって囲まれた領域と相似形状の領域を表示する指令を、ユーザーから受け付ける受付部（本実施形態では、ユーザーインターフェイス）を備え、表示装置側表示制御部６１は、受付部が受け付けた指令に基づいて、相似形状の領域を表示する。
したがって、本実施形態に係るロボットシステム１では、例えば、ユーザーから受け付けられた指令に基づいて、仮想壁により囲まれた領域のスケーリングを行うことが可能であり、仮想壁のスケーリングを行うことが可能である。
なお、このような構成は、必ずしも実施されなくてもよい。
【０１７７】
本実施形態に係るロボットシステム１では、可動部Ａを有するロボット２０と、可視光を透過する表示部４６を有し、表示部４６に仮想壁を表示するヘッドマウントディスプレイ（本実施形態では、表示装置４０の一例）と、表示部４６に表示される仮想壁の表示形態を、現実空間上での仮想壁と可動部Ａとの距離と、可動部Ａの速度と、に基づいて変更する表示制御部（本実施形態では、制御装置側表示制御部５１あるいは表示装置側表示制御部６１）と、を備える。
したがって、本実施形態に係るロボットシステム１では、現実空間上での仮想壁と可動部Ａとの距離および可動部Ａの速度に基づいて、適した表示形態で仮想壁が表示部４６に表示されることを実現することができる。これにより、本実施形態に係るロボットシステム１では、例えば、表示部４６の表示を見る作業者Ｈなどにとって、有効な表示形態で仮想壁を表示することができ、ロボット２０の現在の状況を把握しやすくすることが可能である。
【０１７８】
なお、以上に説明したような装置（例えば、位置検出装置２５、ロボット制御装置３０、表示装置４０など）における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体（記憶媒体）に記録（記憶）し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、オペレーティングシステム（ＯＳ：Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）あるいは周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークあるいは電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１７９】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）あるいは電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【０１８０】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
例えば、本実施形態では、スカラロボット（水平多関節ロボット）を例として説明したが、他の例として、いわゆる６軸ロボットあるいは７軸ロボットのような垂直多関節ロボット、または、他のロボットに、本実施形態の全部または一部に係る技術が適用されてもよい。
【符号の説明】
【０１８１】
１…ロボットシステム、２０…ロボット、２５…位置検出装置、３０…ロボット制御装置、３１…プロセッサー、３２…制御装置側メモリー、３４…制御装置側通信部、３６…制御装置側制御部、３８…バス、４０…表示装置、４２…表示装置側メモリー、４４…表示装置側通信部、４６…表示部、４８…表示装置側制御部、５１…制御装置側表示制御部、５３…ロボット制御部、６１…表示装置側表示制御部、１０１−１…第１仮想壁、１０１−２…第２仮想壁、１０１−３…第３仮想壁、１０１−４…第４仮想壁、２０１…加工前部品パレット、２０２…加工済み部品パレット、２０３…加工機、２５１…第１ソースコード、２５２…第２ソースコード、２６１…ウィザード、３０１…基台部、３１１…第１アーム部、３１２…第２アーム部、３５１−１…第１メッシュ、３５１−２…第２メッシュ、３６１−１…第１位置、３６１−２…第２位置、３７１−１…第３位置、３７１−２…第４位置、３６２−１…第５位置、３６２−２…第６位置、３７２−１…第７位置、３７２−２…第８位置、４０１…第１領域、４０２…第２領域、４０３…第３領域、４１１…第３メッシュ、４３１…安全領域、４３２…通過領域、５２１…第１ベクトル、５２２…第２ベクトル、５３１…回転方向、５４１…第３ベクトル、５７１…境界、６０１…第５仮想壁、Ａ…可動部、Ａ１…第１アーム、Ａ２…第２アーム、ＡＸ１…第１回動軸、ＡＸ２…第２回動軸、ＡＸ３…第３回動軸、Ｂ…基台、Ｈ…作業者、Ｐ１〜Ｐ３…位置、Ｓ…シャフト、ａ１…第１経路、ａ２…第２経路、ａ３…第３経路、ａ４…第４経路、ａ５…第５経路
【図１】
2020011357.tif 000007
【図２】
2020011357.tif 000008
【図３】
2020011357.tif 000009
【図４】
2020011357.tif 000010
【図５】
2020011357.tif 000011
【図６】
2020011357.tif 000012
【図７】
2020011357.tif 000013
【図８】
2020011357.tif 000014
【図９】
2020011357.tif 000015
【図１０】
2020011357.tif 000016
【図１１】
2020011357.tif 000017
【図１２】
2020011357.tif 000018
【図１３】
2020011357.tif 000019
【図１４】
2020011357.tif 000020
【図１５】
2020011357.tif 000021
【図１６】
2020011357.tif 000022
【図１７】
2020011357.tif 000023
【図１８】
2020011357.tif 000024
【図１９】
2020011357.tif 000025
【図２０】
2020011357.tif 000026
【図２１】
2020011357.tif 000027
【図２２】
2020011357.tif 000028