(57)【特許請求の範囲】
【請求項１】
ロボットの周囲を撮像することにより、距離情報と色情報とを含む前記ロボットの周囲の領域のカメラ画像を取得する位置および姿勢が変更可能で複数の画像を合成可能な３Ｄカメラと、
前記カメラ画像に基づき前記ロボットの周囲の３次元空間に等間隔に配置される複数の点列からなる３Ｄマップを生成する３Ｄマップ生成部であって、各々の前記点列は前記カメラ画像に含まれる前記色情報を有する３Ｄマップ生成部と、
前記ロボットおよび前記ロボットの周囲の障害物の少なくとも一方の色であり、前記ロボットと前記障害物とを区別可能な色を設定する色設定部と、
前記３Ｄマップ生成部により生成された前記３Ｄマップから前記色設定部で設定された色に対応する色情報を有する点列を検索する色検索部と、
前記色検索部で検索された前記点列の位置データであって、前記カメラ画像の前記距離情報によって得られる位置データに基づき、前記障害物が存在する領域である干渉領域を設定する干渉領域設定部と、を備え、
前記カメラ画像は、ロボット座標系の基準となるマーカの画像を含み、
前記干渉領域設定部は、前記マーカの画像に基づいてロボット座標系で前記干渉領域を設定することを特徴とするロボットの干渉領域設定装置。
【請求項２】
請求項１に記載のロボットの干渉領域設定装置において、
前記色設定部は、前記ロボットの色を設定し、
前記色検索部は、前記３Ｄマップから前記ロボットの色に対応する色情報を有するロボット点列を検索し、
前記干渉領域設定部は、前記ロボット点列を除いた前記３Ｄマップの残りの点列の位置データに基づき前記干渉領域を設定することを特徴とするロボットの干渉領域設定装置。
【請求項３】
請求項１に記載のロボットの干渉領域設定装置において、
前記色設定部は、前記障害物の色を設定し、
前記色検索部は、前記３Ｄマップから前記障害物の色に対応する色情報を有する障害物点列を検索し、
前記干渉領域設定部は、前記障害物点列の位置データに基づき前記干渉領域を設定することを特徴とするロボットの干渉領域設定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの干渉領域を設定する干渉領域設定装置に関する。
【背景技術】
【０００２】
従来より、ロボットを用いて作業を行う場合に、ロボットと周囲の障害物との干渉を避けるために、ロボットの周囲に、障害物等が存在する干渉領域を設定し、干渉領域内へのロボットの進入を禁止するようにした装置が知られている。この点に関し、例えば特許文献１には、オフラインで干渉領域を設定し、動作シミュレーションを行う装置が記載されている。特許文献１記載の装置では、ＣＡＤ装置からロボットおよび障害物等の３次元形状データを読み込み、この３次元形状データを用いて画面上に干渉領域を設定する。さらに、マウス操作等により、安全柵等に対応する干渉領域を画面上に設定する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−８１４４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１記載の装置では、干渉領域を設定するために予め３次元形状モデルを準備し、さらには干渉領域を手動で入力する必要があり、多大な手間を要する。
【課題を解決するための手段】
【０００５】
本発明の一態様であるロボットの干渉領域設定装置は、ロボットの周囲を撮像することにより、距離情報と色情報とを含むロボットの周囲の領域のカメラ画像を取得する位置および姿勢が変更可能で複数の画像を合成可能な３Ｄカメラと、カメラ画像に基づきロボットの周囲の３次元空間に等間隔に配置される複数の点列からなる３Ｄマップを生成する３Ｄマップ生成部であって、各々の点列はカメラ画像に含まれる色情報を有する３Ｄマップ生成部と、ロボットおよびロボットの周囲の障害物の少なくとも一方の色であり、ロボットと障害物とを区別可能な色を設定する色設定部と、３Ｄマップ生成部により生成された３Ｄマップから色設定部で設定された色に対応する色情報を有する点列を検索する色検索部と、色検索部で検索された点列の位置データであって、カメラ画像の距離情報によって得られる位置データに基づき、障害物が存在する領域である干渉領域を設定する干渉領域設定部と、を備え、カメラ画像は、ロボット座標系の基準となるマーカの画像を含み、干渉領域設定部は、マーカの画像に基づいてロボット座標系で干渉領域を設定する。
【発明の効果】
【０００６】
本発明によれば、干渉領域をユーザが手動で入力して設定する必要がなく、障害物の３次元形状モデルを準備する必要もなく、干渉領域を容易に設定することができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施形態に干渉領域設定装置が適用される加工システムの一例を示す図。
【図２】本発明の実施形態に係る干渉領域設定装置の全体構成を示すブロック図。
【図３】図２のロボット制御装置で実行される処理の一例を示すフローチャート。
【発明を実施するための形態】
【０００８】
以下、図１〜図３を参照して本発明の実施形態について説明する。図１は、本発明の実施形態に係る干渉領域設定装置が適用される加工システム１００の一例を示す図である。この加工システム１００は、ロボット１と工作機械２とを有する。工作機械１はカバー３を有し、カバー３により加工室４が形成されている。カバー３の一部には開閉可能な扉５が設けられ、扉５を介して加工室４内にワークが搬送され、加工室４内でワークが加工される。
【０００９】
加工室４には、ロボット１が配置されている。ロボット１は、例えば回動可能な複数のアームを有する垂直多関節ロボットである。ロボット１はサーボモータの駆動により動作し、アーム先端部でワークや治具等を把持して、工作機械２によるワークの加工を補助する。なお、アーム先端部に溶接装置や塗装装置を取り付けてロボット１を溶接ロボットや塗装ロボットとして構成し、加工室４でロボット１によりワークを加工することもできる。ロボット１は、ロボット制御装置１０（図２）に接続され、予め定められたプログラムに従いロボット制御装置１０により制御される。作業員がロボット制御装置１０にロボット１の駆動指令を入力し、その駆動指令に応じてロボット１を制御することもできる。
【００１０】
このように加工室４に配置されたロボット１を、作業員の操作により動作させる場合、ロボット１が工作機械２の一部（加工室４内のテーブルや床、カバー３等）あるいは加工室４に配置された各種部材（以下、これらをまとめて障害物と呼ぶ）に干渉するおそれがある。したがって、予めロボット１の周囲に、障害物が存在する干渉領域を設定し、ロボット制御装置１０により、干渉領域内へのロボット１の移動を禁止することが好ましい。
【００１１】
干渉領域は、例えば大きさや位置の異なる複数の直方体を、作業員がロボット制御装置１０に入力することで設定できる。しかしながら、このように干渉領域を手動で設定したのでは手間がかかる。さらに、直方体の数が入力可能な直方体の数の上限に達した場合には、干渉領域を設定できない。障害物の３Ｄモデルを用いて干渉領域を設定することもできるが、この場合には、障害物の位置や形状が変化する度に３Ｄモデルを作り直さなければならず、容易でない。そこで、本実施形態では、以下のように３Ｄカメラ６により取得したロボット１の周囲のカメラ画像を用いて干渉領域を設定する。
【００１２】
３Ｄカメラ６とは、対象物を異なる方向から同時に撮影し、視差を生み出すことによって、対象物までの距離情報を取得するものであり、ステレオカメラの一種である。３Ｄカメラ６は、所定距離だけ離れて配置された一対のカメラ６ａ，６ｂを有し、一対のカメラ６ａ，６ｂはそれぞれ撮像素子を有する。本実施形態の３Ｄカメラ６は、距離情報だけでなく対象物の色情報（ＲＧＢ等）も取得する。なお、３Ｄカメラ６は、レーザを発射して反射位置および反射時間から反射点の距離情報を取得するものであってもよい。
【００１３】
干渉領域を設定する際、まず、３Ｄカメラ６によりロボット１の周囲（加工室４の全域）が撮像される。ロボット１には、ロボット座標系の基準点（例えば原点）を示すマーカ７（図では矢印）が付されている。したがって、３Ｄカメラ６によりマーカ７を含む領域を撮像することで、換言すれば、撮像範囲８にマーカ７を含めることで、撮像範囲８内の対象物の位置（ＸＹＺ座標）を、ロボット座標系を用いて表すことが算出できる。
【００１４】
図１では、作業員が３Ｄカメラ６を把持して撮像する例を示している。一方、３Ｄカメラ６の位置および姿勢を変更可能なカメラスタンドで３Ｄカメラ６を保持し、外部からの撮影指令により撮像を実行することもできる。この場合には、カメラスタンド駆動用のアクチュエータに制御信号を出力して３Ｄカメラ６の位置および姿勢を調整することができる。この際、加工室４の全域が撮像範囲８に含まれない場合には、３Ｄカメラ６の位置および姿勢を変更し、加工室４の全域を撮像し終わるまで、複数個所および複数方向から複数回撮像を繰り返す。これによって得られた複数のカメラ画像を合成することで、加工室４の全域のロボット座標系における距離情報を取得することができる。この際、カメラスタンドでカメラの位置および姿勢を調整せずに、手でカメラを持って撮影した複数の画像を合成できるカメラを用いてもよい。
【００１５】
図２は、本発明の実施形態に係る干渉領域設定装置の全体構成を示すブロック図である。干渉領域設定装置の一部は、ロボット制御装置１０により構成される。ロボット制御装置１０は、機能的構成として、３Ｄカメラコントローラ１１と、３Ｄマップ生成部１２と、色設定部１３と、色検索部１４と、干渉領域設定部１５と、ロボット制御部１６とを有する。
【００１６】
ロボット制御装置１０には、教示操作盤９が接続されている。教示操作盤９は入力部９ａを有し、入力部９ａを介してロボット制御装置１０に各種指令を入力することができる。また、教示操作盤９は表示部９ｂを有し、表示部９ｂを介して各種指令値や演算結果、干渉領域等を表示することができる。
【００１７】
３Ｄカメラコントローラ１１は、３Ｄカメラ６を制御する。すなわち、３Ｄカメラ６に撮影指令を出力し、撮像タイミングを調整する。あるいは、レーザの発射タイミングを調整する。３Ｄカメラ６をカメラスタンドで保持している場合には、３Ｄカメラコントローラ１１がカメラスタンドに制御信号を出力し、３Ｄカメラ６の位置および姿勢を変更することもできる。３Ｄカメラ６によって取得したカメラ画像は、ロボット制御装置１０のメモリに記憶される。
【００１８】
３Ｄマップ生成部１２は、メモリに記憶されたカメラ画像（距離情報）に基づき、ロボット１の周囲の３次元空間に等間隔に複数の点列を配置して３Ｄマップを生成する。すなわち、３Ｄマップ生成部１２は、カメラ画像を用いてロボット１および障害物の位置を特定し、ロボット１および障害物によって形成される３次元空間に、等間隔に点列を設定する。なお、３Ｄマップを生成した段階では、ロボット１と障害物とがまだ区別されていない。
【００１９】
３Ｄマップを構成する各々の点列は微小長さの正方形の領域を構成し、各点列はカメラ画像に含まれる色情報（ＲＧＢ）のデータをそれぞれ有する。すなわち、点列がロボット１や障害物に該当するときは、点列はその色情報を有する。一方、点列が加工室４内の何もない空間に該当するときは、点列に、ロボット１および障害物と区別するための色情報（例えばＲ，Ｇ，Ｂ＝０，０，０）を与える。３Ｄマップ生成部１２は、さらに３Ｄカメラ６により取得されたカメラ画像の中から、パターンマッチング等によりマーカ７の画像を特定し、マーカ７に対応した点列に、他の点列と識別可能な色情報（例えばＲ，Ｇ，Ｂ＝１，１，１）を与える。
【００２０】
色設定部１３は、教示操作盤９を介して指令されたロボット１の色（外形色）を設定する。本実施形態では、ロボット１と障害物とが互いに異なる色（それぞれロボット色と障害物色と呼ぶ）で形成されている。例えば、ロボット色は黄色であり、障害物色は黄色以外（例えば灰色）である。なお、ロボット色が複数の色（例えば黄色と赤色）を含んでもよく、その場合の障害物色は、黄色と赤色以外の単一または複数の色である。
【００２１】
色検索部１４は、３Ｄマップ生成部１２により生成された３Ｄマップからマーカ７に対応した色情報を有する点列を検索する。検索された点列を基準点（原点）とすることで、３Ｄマップの各点列を、ロボット座標系での点列データに変換することができる。さらに色検索部１４は、色設定部１３で設定されたロボット色（黄色）に対応する色情報（ＲＧＢ）を有する点列を検索する。ロボット色は経年変化等によりロボットの各部で微妙にずれていることがある。したがって、点列を検索するときは、色情報に所定の幅を持たせ、その幅内にある点列を検索することが好ましい。
【００２２】
干渉領域設定部１５は、３次元マップの点列から、色検索部１４で検索されたロボット色の点列を除外する。そして、３Ｄマップの残りの点列の位置データに基づき干渉領域を設定する。これにより障害物の位置データのみで、干渉領域が設定される。設定された干渉領域は、メモリに記憶される。
【００２３】
ロボット制御部１６は、予め定めた加工プログラムに基づいて、あるいは作業員からの指令に応じてロボット駆動用のサーボモータに制御信号を出力し、ロボット１を動作させる。この際、ロボット制御部１６は、ロボット１が干渉領域に進入したか否かを随時判定し、干渉領域に進入したら、あるいは干渉領域に進入しそうになったら、サーボモータに停止信号を出力してロボット１の動作を停止させる。これによりロボット１と障害物との衝突を防ぐことができる。
【００２４】
図３は、ロボット制御装置１０で実行される処理の一例を示すフローチャートである。このフローチャートに示す処理は、例えば作業員がロボット制御装置１０に干渉領域設定指令を入力すると開始される。
【００２５】
ステップＳ１では、色設定部１３での処理により、教示操作盤９を介して入力されたロボット色を設定する。ステップＳ２では、３Ｄカメラコントローラ１１での処理により、カメラスタンドおよび３Ｄカメラ６に制御信号を出力して加工室４の全域を撮像し、マーカ７を含むカメラ画像を取得する。ステップＳ３では、３Ｄマップ生成部１２での処理により、カメラ画像に基づいて、ロボット１の周囲の３次元空間に複数の点列からなる３Ｄマップを生成する。
【００２６】
ステップＳ４では、色検索部１４での処理により、３Ｄマップからマーカ７を検索する。ステップＳ５では、３Ｄマップ生成部１２での処理により、マーカ７に対応する点列を基準として、３Ｄマップの各点列をロボット座標系における点列データに変換する。ステップＳ６では、色検索部１４での処理により、ステップＳ１で設定されたロボット色に対応する色情報を有する点列を検索する。ステップＳ７では、干渉領域設定部１５での処理により、３Ｄマップの点列からロボット色の点列を除外し、３Ｄマップの残りの点列の位置データを用いて干渉領域を設定する。
【００２７】
本実施形態によれば以下のような作用効果を奏することができる。
（１）干渉領域設定装置は、ロボット１の周囲を撮像することにより、距離情報と色情報とを含むロボット１の周囲の領域のカメラ画像を取得する３Ｄカメラ６と、カメラ画像に基づきロボット１の周囲の３次元空間に等間隔に配置される複数の点列からなる３Ｄマップを生成する３Ｄマップ生成部１２と、ロボット１の色を設定する色設定部１３と、３Ｄマップ生成部１２により生成された３Ｄマップからロボット色に対応する色情報を有する点列を検索する色検索部１４と、検索された点列の位置データに基づき干渉領域を設定する干渉領域設定部１５とを備える。これにより干渉領域をユーザが手動で入力して設定する必要がなく、障害物の３次元形状モデルをユーザが作成する必要もなく、種々の形状の干渉領域を容易に設定することができる。
【００２８】
（２）色設定部１３がロボット色を設定し、色検索部１４が３Ｄマップからロボット色に対応する色情報を有する点列（ロボット点列）を検索し、干渉領域設定部１５がロボット点列を除いた３Ｄマップの残りの点列の位置データに基づき干渉領域を設定する。したがって、ロボット１を除外した適切な干渉領域を容易に設定することができる。
【００２９】
（３）カメラ画像は、ロボット座標系の基準となるマーカ７の画像を含み、干渉領域設定部１５は、マーカ７の画像に基づいてロボット座標系で干渉領域を設定する。したがって、ロボット１の位置と干渉領域とが同一の座標系で表され、ロボット１の干渉領域への進入の有無を容易に判定することができる。
【００３０】
なお、上記実施形態では、色設定部１３でロボットの色を設定したが、障害物の色を設定するようにしてもよい。この場合、色検索部１４が、３Ｄマップから障害物の色に対応する色情報を有する点列（障害物点列）を検索し、干渉領域設定部１５が、障害物点列の位置データに基づき干渉領域を設定すればよい。色設定部１３でロボット色と障害物色の両方を設定し、色検索部１４で３Ｄマップからロボット点列と障害物点列をそれぞれ検索するようにしてもよい。すなわち、色検索部１４で検索された点列の位置データに基づき干渉領域を設定するのであれば、干渉領域設定部１５の構成はいかなるものでもよい。
【００３１】
上記実施形態では、マーカ７に対応した点列に、他の点列と識別可能な色情報を与えて、３Ｄマップからマーカ７を検索するようにしたが（ステップＳ４）、３Ｄマップを作成する際に、マーカ７に対応する点列のデータに何等かの識別子を付して、マーカ７の点列を他の点列と区別するようにしてもよい。すなわち、カメラ画像によって特定されたマーカ７の画像に基づいて干渉領域設定部１５がロボット座標系で干渉領域を設定するのであれば、他の構成によりマーカ７を検索してもよい。
【００３２】
以上の説明はあくまで一例であり、本発明の特徴を損なわない限り、上述した実施形態および変形例により本発明が限定されるものではない。上記実施形態および変形例の構成要素には、発明の同一性を維持しつつ置換可能かつ置換自明なものが含まれる。すなわち、本発明の技術的思想の範囲内で考えられる他の形態についても、本発明の範囲内に含まれる。また、上記実施形態と変形例の１つまたは複数を任意に組み合わせることも可能である。
【符号の説明】
【００３３】
１    ロボット
６    ３Ｄカメラ
７    マーカ
１１    ３Ｄカメラコントローラ
１２    ３Ｄマップ生成部
１３    色設定部
１４    色検索部
１５    干渉領域設定部
【図１】
0005980873.tif 000002
【図２】
0005980873.tif 000003
【図３】
0005980873.tif 000004