(57)【要約】【課題】ロボットの実際の動作に従った動作領域をユーザに容易に示すことができるロボットシステムおよび動作領域表示方法を提供する。【解決手段】本実施形態によるロボットシステムは、ロボットを撮像する撮像部と、ロボットの動作を制御するプログラムに基づいて該ロボットの三次元的な動作領域を示すパラメータを取得し、該パラメータを用いてロボットの動作領域の三次元的な形状データを作成し、並びに、ロボットの位置を特定するためのマーカの画像に基づいてロボットの実機の画像と形状データとを重ね合わせて拡張現実空間を生成する演算部と、拡張現実空間を表示する表示部とを備える。【選択図】図１
2018008347.tif 000002
【特許請求の範囲】
【請求項１】
ロボットを撮像する撮像部と、
前記ロボットの動作を制御するプログラムに基づいて該ロボットの三次元的な動作領域を示すパラメータを取得し、該パラメータを用いて前記ロボットの動作領域の三次元的な形状データを作成し、並びに、前記ロボットの位置を特定するためのマーカの画像に基づいて前記ロボットの実機の画像と前記形状データとを重ね合わせて拡張現実空間を生成する演算部と、
前記拡張現実空間を表示する表示部とを備えたロボットシステム。
【請求項２】
前記パラメータは、前記ロボットの少なくとも一部分の位置を示す座標情報、前記ロボットを構成する複数のリンク間の関節の角度情報、および、前記ロボットの姿勢を示す姿勢情報の少なくとも１つの情報を示す、請求項１に記載のロボットシステム。
【請求項３】
前記パラメータは、前記プログラムを模擬的に実行したときに周期的に取得される、請求項１または請求項２に記載のロボットシステム。
【請求項４】
前記プログラムを格納する記憶部をさらに備え、
前記演算部は、前記記憶部内の前記プログラムが更新された場合に、前記更新後のプログラムを用いて新たな拡張現実空間を生成する、請求項１から請求項３のいずれか一項に記載のロボットシステム。
【請求項５】
前記演算部は、前記パラメータの取得、前記形状データの作成、並びに、前記拡張現実空間の生成を、前記撮像部が前記ロボットを撮像しながら実行する、請求項１から請求項４のいずれか一項に記載のロボットシステム。
【請求項６】
前記演算部は、三次元シミュレーションプログラムで前記プログラムを実行することによりパラメータを取得する、請求項１から請求項５のいずれか一項に記載のロボットシステム。
【請求項７】
前記演算部は、前記パラメータを三次元ＣＡＤプログラムで描画することによって前記形状データを作成する、請求項１から請求項６のいずれか一項に記載のロボットシステム。
【請求項８】
ロボットの動作を制御するプログラムに基づいて該ロボットの三次元的な動作領域を示すパラメータを演算部で取得し、
前記パラメータを用いて前記ロボットの動作領域の三次元的な形状データを前記演算部で作成し、
前記ロボットの位置を特定するためのマーカの画像および前記ロボットの実機の画像を撮像部で撮像し、
前記マーカの画像に基づいて前記ロボットの実機の画像と前記形状データとを重ね合わせて拡張現実空間を前記演算部で生成し、
前記拡張現実空間を表示部に表示することを具備する、動作領域表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明による実施形態は、ロボットシステムおよび動作領域表示方法に関する。
【背景技術】
【０００２】
産業用ロボットの動作領域にユーザが不用意に進入した場合、ロボットがユーザに衝突する危険がある。しかし、従来、ロボットの実際の動作に従った動作領域をユーザに示すことは困難であった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１８０７０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ロボットの実際の動作に従った動作領域をユーザに容易に示すことができるロボットシステムおよび動作領域表示方法を提供する。
【課題を解決するための手段】
【０００５】
本実施形態によるロボットシステムは、ロボットを撮像する撮像部と、ロボットの動作を制御するプログラムに基づいて該ロボットの三次元的な動作領域を示すパラメータを取得し、該パラメータを用いてロボットの動作領域の三次元的な形状データを作成し、並びに、ロボットの位置を特定するためのマーカの画像に基づいてロボットの実機の画像と形状データとを重ね合わせて拡張現実空間を生成する演算部と、拡張現実空間を表示する表示部とを備える。
【図面の簡単な説明】
【０００６】
【図１】本実施形態によるロボットシステムの構成の一例を示すブロック図。
【図２】ロボット１の外観の一例を示す図。
【図３】ロボット１の構成の一例を示す図。
【図４】本実施形態によるロボットシステム１００の動作（動作領域表示方法）の一例を示すフロー図。
【図５】シミュレータ４１がロボット制御プログラムを模擬的に実行している様子を示す図。
【図６】ロボット１の動作領域の三次元的な形状データＲを示す概念図。
【図７】拡張現実空間を示す概念図。
【図８】変形例に従ったロボットシステムの構成の一例を示すブロック図。
【発明を実施するための形態】
【０００７】
以下、図面を参照して本発明に係る実施形態を説明する。本実施形態は、本発明を限定するものではない。
【０００８】
図１は、本実施形態によるロボットシステムの構成の一例を示すブロック図である。ロボットシステム１００は、ロボット１と、端末２と、マーカ３とを備えている。ロボットシステム１００は、ロボット１の動作を制御するプログラムを、三次元シミュレーションプログラムを用いて模擬的に実行し、ロボット１の動作領域の三次元的な形状データを作成する。ロボットシステム１００は、その形状データをロボット１の実機の画像にその形状データを重ね合わせることによってロボット１の動作領域を拡張現実空間（ＡＲ（Augmented Reality））で示す。
【０００９】
ロボット１は、例えば、垂直多関節ロボットや水平多関節ロボット、直動型ロボットのような同一動作を繰り返し実行する産業用ロボットであり、アーム構造体をなすリンク、関節、スライダー等を有する。しかし、ロボット１は、これに限定されず、任意のロボットでよい。図２は、ロボット１の外観の一例を示す図である。図３は、ロボット１の構成の一例を示す図である。ロボット１は、例えば、６自由度を有する多関節型ロボットである。ロボット１の一端側は、床面Ｆに対して固定され、他端側にはハンド２ｄが設けられている。ロボット１のハンド２ｄの先端Ｅの位置は、ロボット座標系Ｃを基準座標として示される。ロボット座標系Ｃは、ロボット１が配置された床面Ｆに対して垂直な方向をＺ方向とし、床面Ｆに平行な方向をＸ方向とする。さらに、Ｘ方向及びＺ方向に直交する方向（紙面に垂直な方向）をＹ方向とする。なお、ロボット座標系Ｃの原点は、例えば、床面Ｆに対してロボット１を固定した点とする。
【００１０】
ロボット１は、図３に示すように、アーム構造体をなすリンクＫ１〜Ｋ７を複数有している。リンクＫ１は、ロボット１が設置された床面Ｆに対して固定されている。リンクＫ２は、床面Ｆに対して略垂直な回転軸Ａ１（関節Ｊ１）まわりに回転可能にリンクＫ１に連結されている。リンクＫ３は、回転軸Ａ１に対して略垂直な回転軸Ａ２（関節Ｊ２）まわりに回転可能にリンクＫ２に連結されている。リンクＫ４は、回転軸Ａ２に対して略平行な回転軸Ａ３（関節Ｊ３）まわりに回転可能にリンクＫ３に連結されている。リンクＫ５は、回転軸Ａ３に対して略垂直な回転軸Ａ４（関節Ｊ４）まわりに回転可能にリンクＫ４に連結されている。リンクＫ６は、回転軸Ａ４に対して略垂直な回転軸Ａ５（関節Ｊ５）まわりに回転可能にリンクＫ５に連結されている。リンクＫ７は、回転軸Ａ５に対して略垂直な回転軸Ａ６（関節Ｊ６）まわりに回転可能にリンクＫ６に連結されている。尚、略平行および略垂直は、厳密な平行および垂直だけでなく、平行および垂直から若干ずれている場合も含む広い意味である。
【００１１】
各回転軸Ａ１〜Ａ６（関節Ｊ１〜Ｊ６）にはそれぞれサーボモータが設けられており、各サーボモータは、それぞれの回転位置を検出する角度センサＴ１〜Ｔ６を有している。各サーボモータは、ロボット１のコントローラ（図示せず）に接続されており、コントローラの制御指令に基づいて動作する。コントローラは、ロボット１の動作を制御するプログラム（以下、ロボット制御プログラム）を実行することによって、各サーボモータを制御する。これにより、各回転軸Ａ１〜Ａ６（関節Ｊ１〜Ｊ６）が所望の角度に制御され、ハンド２ｄを所望の位置および所望の角度に移動させることができる。このように、ロボット制御プログラムは、ロボット１を実際に動作させるために用いられる。
【００１２】
図１を再度参照し、端末２について説明する。端末２は、入力部１０と、記憶部２０と、撮像部３０と、演算部４０と、表示部５０とを備えている。端末２は、例えば、タブレット端末、スマートフォン、パーソナルコンピュータ等でよい。端末２は、ロボット１のとは別個の装置として構成してもよく、あるいは、ロボット１内に組み込んでもよい。
【００１３】
入力部１０は、ロボット１等の外部装置と通信接続可能なインタフェース（例えば、ＵＳＢ（Universal Serial Bus）端子等）、および／あるいは、ユーザ４がデータを入力可能なユーザインタフェース（例えば、タッチパネル、キーボード、マウス等）でよい。尚、入力部１０は、表示部５０とともにタッチパネル式ディスプレイとして構成されてもよい。入力部１０は、ロボット１または図示しない外部装置からロボット制御プログラムを受け取り、このロボット制御プログラムを記憶部２０へ格納する。
【００１４】
記憶部２０は、例えば、メインメモリとして機能するＲＡＭ（Random Access Memory）またはＲＯＭ(Read Only Memory)、および、ストレージとして機能するＨＤＤ（Hard Disk Drive）またはＳＳＤ（Solid State Drive）を備えてもよい。記憶部２０は、端末２を動作させる各種プログラムやデータを格納するとともに、入力部１０から受け取ったロボット制御プログラム、後述する三次元シミュレーションプログラムおよび三次元ＣＡＤ(Computer-Aided Design)プログラムも格納することができる。
【００１５】
撮像部３０は、ロボット１やマーカ３の画像データを取得する機能と、記憶部２０や演算部４０に画像データを出力する機能とを有するカメラでよい。撮像部３０は、カメラに付随する方位磁石やジャイロセンサ等を有し、カメラの傾斜等を検出することができる。
【００１６】
演算部４０は、シミュレータ４１と、動作領域生成部４２と、拡張現実空間生成部４３とを備えている。演算部４０は、例えば、１つまたは複数のＣＰＵ(Central Processor Unit)および／またはロジックＬＳＩ（Large Scale Integration）等で構成してよい。
【００１７】
シミュレータ４１は、記憶部２０からロボット制御プログラムを受け取り、該ロボット制御プログラムを模擬的に実行する。シミュレータ４１は、例えば、三次元シミュレーションプログラムを実行し、該三次元シミュレーションプログラム上においてロボット制御プログラムを少なくとも１サイクル実行する。三次元シミュレーションプログラムは、ロボット１の実機を実際に動作させることなく、ロボット制御プログラムに基づいて該ロボット１の動作をシミュレートすることができる。このとき、シミュレータ４１は、ロボット制御プログラムを実行することによってロボット１の三次元的な動作領域を示すパラメータを周期的に取得する。三次元シミュレーションプログラムは市販されているものでよい。例えば、三次元シミュレーションプログラムは、例えば、東芝機械株式会社製のロボットプログラム作成支援ツール「ＴＳＡｓｓｉｓｔ（登録商標）」等でよい。
【００１８】
ロボット１の三次元的な動作領域を示すパラメータとしては、ロボット１の少なくとも一部分の位置を示す座標情報、ロボット１を構成する複数のリンクＫ１〜Ｋ７の間の関節Ｊ１〜Ｊ６の角度情報、および、ロボット１の姿勢を示す姿勢情報の少なくとも１つの情報を示す。座標情報は、例えば、ハンド２ｄの先端Ｅの三次元的な位置を示す座標（ｘ、ｙ、ｚ）でよい。勿論、座標情報は、他のリンクＫ１〜Ｋ７または関節Ｊ１〜Ｊ７の三次元的な位置を示す座標でもよい。関節Ｊ１〜Ｊ６の角度情報は、隣接する２つのリンク間の角度を示す。姿勢情報は、座標情報および角度情報だけでは、ロボット１の姿勢（Ｋ１〜Ｋ７の位置）が一意に決まらない場合に用いられる。例えば、ハンド２ｄの先端Ｅの位置および関節Ｊ１〜Ｊ６の角度が同一であっても、ロボット１の姿勢が左右で反転可能であることがある。この場合、ロボット１は２つの姿勢（左姿勢または右姿勢）を採り得る。このように、座標情報および角度情報だけではロボット１の姿勢が一意に決まらない場合に、姿勢情報（例えば、左姿勢または右姿勢）が用いられる。これらのパラメータにより、ロボット１の位置や姿勢が特定される。
【００１９】
シミュレータ４１がパラメータを取得する周期は、任意でよい。例えば、シミュレータ４１は、ロボット制御プログラムを実行してから、０．１秒ごとにパラメータを取得してよい。シミュレータ４１は、ロボット制御プログラムのシミュレーションによってサンプリングされたパラメータを動作領域生成部４２へ送る。
【００２０】
動作領域生成部４２は、上記シミュレータ４１でサンプリングされたパラメータを用いてロボット１の動作領域の三次元的な形状データを作成する。ロボット１の動作領域は、シミュレータ４１によるロボット制御プログラムを少なくとも１サイクル実行することによって上記パラメータで表現される。従って、動作領域生成部４２は、これらのパラメータを時系列的にプロットすることによってロボット１の動作領域の三次元的な形状データを作成することができる。例えば、動作領域生成部４２は、三次元ＣＡＤプログラムを用いてパラメータを描画することによって形状データを作成する。三次元ＣＡＤプログラムは、市販されているものでよい。例えば、三次元ＣＡＤプログラムは、ＰＴＣ  Ｉｎｃ．社製の「Ｃｒｅｏ（ＰＴＣ  Ｉｎｃ．（米国マサチューセッツ州法人）が著作権等の知的財産権を保有するＣＡＤソフトウェア）（米国登録商標）」等でよい。この動作領域の形状データは、記憶部２０へ格納されるとともに、拡張現実空間生成部４３へ送られる。
【００２１】
拡張現実空間生成部４３は、撮像部３０からロボット１の実機の画像を取得し、かつ、動作領域生成部４２からロボット１の動作領域の三次元的な形状データを取得する。拡張現実空間生成部４３は、ロボット１の実機の画像と形状データとを重ね合わせて拡張現実空間を生成する。
【００２２】
このとき、拡張現実空間生成部４３は、撮像部３０から取得されたマーカ３の画像に基づいて、端末２に対するロボット１の位置、距離、角度を特定する。例えば、マーカ３の形状、模様および大きさは、予め記憶部２０に格納されている。拡張現実空間生成部４３は、記憶部２０に格納されたマーカ３の情報と、撮像部３０で撮像された実際の画像におけるマーカ３の形状、模様および大きさとを比較して、端末２に対するロボット１の位置、距離、角度等を特定する。これにより、拡張現実空間生成部４３は、ロボット１の実機の画像に、その動作領域を示す形状データを正確に重ね合わせることができる。拡張現実空間生成部４３は、このように生成された拡張現実空間を記憶部２０へ格納するとともに表示部５０へ送る。
【００２３】
表示部５０は、拡張現実空間生成部４３からの拡張現実空間を表示する。即ち、表示部５０は、ロボット１の実機の画像に動作範囲を示す形状データを重ね合わせて表示する。このとき、表示部５０は、形状データを半透明で表示し、ロボット１の実機の画像とともにロボット１の動作範囲が容易に分かるように表示する。
【００２４】
図４は、本実施形態によるロボットシステム１００の動作（動作領域表示方法）の一例を示すフロー図である。
【００２５】
まず、入力部１０がロボット１または外部装置からロボット制御プログラムを受け取り、このロボット制御プログラムを記憶部２０へ格納する（Ｓ１０）。ロボット制御プログラムの他に、ロボット１の三次元画像を得るために、各リンクの三次元モデルの輪郭データ、関節数等のロボット１固有のパラメータも必要になる。ロボット１の固有パラメータは、予め記憶部２０へ登録されていてもよく、ステップＳ１０においてロボット制御プログラムとともに入力されてもよい。このとき、ロボット１自体はロボット制御プログラムに基づく動作を実行していなくてよい。
【００２６】
次に、シミュレータ４１がロボット制御プログラムを模擬的に実行し、ロボット１の三次元的な動作領域を示すパラメータを周期的に取得する（Ｓ２０）。例えば、図５は、シミュレータ４１がロボット制御プログラムを模擬的に実行している様子を示す図である。シミュレーションによるロボット１の模擬的な動作は、図５に示すように表示部５０に表示してもよい。尚、ロボット１の三次元画像は、上記固有パラメータを用いて作成することができる。
【００２７】
次に、動作領域生成部４２がパラメータを用いてロボット１の動作領域の三次元的な形状データを作成する（Ｓ３０）。例えば、図６は、ロボット１の動作領域の三次元的な形状データＲを示す概念図である。形状データＲも表示部５０に表示してもよい。
【００２８】
次に、撮像部３０がマーカ３の画像およびロボット１の実機の画像を取得する（Ｓ４０）。このとき、撮像部３０は、マーカ３およびロボット１の画像をリアルタイムで連続して撮像し、表示部５０に表示させる。尚、マーカ３およびロボット１の画像は、記憶部２０に格納する必要は無い。
【００２９】
次に、拡張現実空間生成部４３がマーカ３の画像に基づいて、端末２に対するロボット１の位置、距離、角度を特定する（Ｓ５０）。このとき、拡張現実空間生成部４３は、撮像部３０のカメラの傾斜等の情報も用いてよい。
【００３０】
次に、拡張現実空間生成部４３がロボット１の実機の画像と形状データとを重ね合わせて拡張現実空間を生成する（Ｓ６０）。その後、表示部５０が拡張現実空間を表示する（Ｓ７０）。例えば、図７は、拡張現実空間を示す概念図である。このとき、端末２は、端末２に対するロボット１の実機の位置、距離、角度が分かっているので、ロボット１の画像Ｐに形状データＲを重ね合わせることができる。これにより、ロボットシステム１００は、ユーザに対してロボット１の実際の動作領域を拡張現実空間として示すことができる。
【００３１】
ロボットシステム１００は、ロボット１の停止中にこの拡張現実空間を作成および表示してもよく、ロボット１の動作中において拡張現実空間を作成および表示してもよい。また、ロボットシステム１００は、ステップＳ４０においてロボット１の撮像中に、その撮像と並行して、パラメータの取得、形状データの作成、並びに、拡張現実空間の生成および表示（ステップＳ２０、Ｓ３０、Ｓ５０〜Ｓ７０）を実行してもよい。これにより、ユーザに拡張現実空間を提示するまでに要する時間を短縮し、ユーザの待機時間を短縮することができる。さらに、端末２は、ユーザが記憶部２０に格納されたロボット制御プログラムを書き換えることを可能にし、更新後のロボット制御プログラムを用いてその場でステップＳ２０〜Ｓ７０を実行可能としてもよい。例えば、図８は、このような変形例に従ったロボットシステムの構成の一例を示すブロック図である。この場合、端末２は、ユーザが更新後のロボット制御プログラムを記憶部２０に格納（上書き）したときに、拡張現実空間の再作成および再表示を実行させるボタン５５を表示部５０に表示させる。ユーザがこのボタン５５をタッチ（押下）すると、端末２は、更新されたロボット制御プログラムを用いて新たな拡張現実空間の再作成し表示部５０に再表示する。これにより、ユーザは、ロボット制御プログラムを変更しながらリアルタイムでロボット１の動作領域を確認することができる。
【００３２】
このように、本実施形態によるロボットシステム１００は、ロボット制御プログラムをシミュレーションで模擬的に実行することによってロボット１の三次元的な動作領域の形状データを取得し、ロボット１の実機の画像と該形状データとを重ね合わせた拡張現実空間を作成する。これにより、ロボットシステム１００は、ロボット１の実際の動作領域を拡張現実空間で表示することができる。
【００３３】
もし、実際のロボット制御プログラムを用いずに、ロボット１の可動領域（ロボット１が動作可能な最大範囲）を拡張現実空間で表示した場合、実際にはロボット１が通過しないような領域についても可動領域として表示される。従って、ロボット１の可動領域を立ち入り禁止領域とした場合、ユーザが立ち入ってもロボット１に干渉せず問題とならないような領域まで立ち入り禁止領域として拡張現実空間で表示されてしまう。
【００３４】
これに対し、本実施形態によるロボットシステム１００は、実際にロボット１を制御するロボット制御プログラムに基づいて動作領域の形状データを作成している。従って、動作領域の形状データは、実際のロボット１の動作領域に則しており、可動領域内であってもロボット１が通過しないような領域を含まない。よって、ロボットシステム１００は、ロボット１の実際の動作領域に従った適切な範囲（必要最小限の範囲）の拡張現実空間（ＡＲ空間）を表示することができる。即ち、ロボット１の可動領域であっても、実際にはロボット１が通過しないような領域は、立ち入り禁止領域として表示しない。その結果、ロボットシステム１００は、ロボット１の実際の動作に従った動作領域をユーザに容易に示すことができる。これにより、ユーザは、直感的にロボット１の実際の動作領域を認識することができる。
【００３５】
本実施形態による動作領域表示方法の少なくとも一部は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、その方法の少なくとも一部の機能を実現するプログラムをフレキシブルディスクやＣＤ−ＲＯＭ等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。また、動作領域表示方法の少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線（無線通信も含む）を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
【００３６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００３７】
１００・・・ロボットシステム、１・・・ロボット、２・・・端末、３・・・マーカ、１０・・・入力部、２０・・・記憶部、３０・・・撮像部、４０・・・演算部、５０・・・表示部
【図１】
2018008347.tif 000003
【図２】
2018008347.tif 000004
【図３】
2018008347.tif 000005
【図４】
2018008347.tif 000006
【図５】
2018008347.tif 000007
【図６】
2018008347.tif 000008
【図７】
2018008347.tif 000009
【図８】
2018008347.tif 000010