(57)【要約】【課題】回避すべき周辺物体の位置を正確にかつ簡便に取得し、ロボットの周辺物体との干渉を確実に回避することができる。【解決手段】干渉回避装置３は、ロボットアームの先端部に取り付けられ、ロボット１の周辺の距離画像を取得する３次元センサ１３と、距離画像における周辺物体の座標をロボット座標系における座標に変換し、ロボット座標系における周辺物体の座標に基づいて周辺物体の位置データ２３を作成する位置データ作成部１５と、位置データ２３を記憶する記憶部１２と、ロボット座標系に基づいてロボット１を制御する制御部１１とを備え、制御部１１が、記憶部１２に記憶された位置データ２３に基づいて、ロボット１の周辺物体との干渉を回避するようにロボット１を制御する。【選択図】図２
2020028957.tif 000002
【特許請求の範囲】
【請求項１】
ロボットと、該ロボットの周辺に配置された周辺物体との干渉を回避する干渉回避装置であって、
前記ロボットのロボットアームの先端部に取り付けられ、前記ロボットの周辺の距離画像を取得する３次元センサと、
前記距離画像における前記周辺物体の座標をロボット座標系における座標に変換し、該ロボット座標系における前記周辺物体の座標に基づいて前記周辺物体の位置データを作成する位置データ作成部と、
前記位置データを記憶する記憶部と、
前記ロボット座標系に基づいて前記ロボットを制御する制御部とを備え、
該制御部が、前記記憶部に記憶された前記周辺物体の位置データに基づいて、前記ロボットの前記周辺物体との干渉を回避するように前記ロボットを制御する干渉回避装置。
【請求項２】
前記位置データ作成部は、
前記ロボット座標系における前記周辺物体の座標の各々が前記ロボットの自己座標であるか否かを判別し、該自己座標は、前記距離画像の取得時の前記ロボットの前記ロボット座標系における座標であり、
前記自己座標である前記周辺物体の座標以外の他の前記ロボット座標系における前記周辺物体の座標に基づいて前記位置データを作成する請求項１に記載の干渉回避装置。
【請求項３】
前記ロボットアームが、複数の関節を有し、該複数の関節の動作によって前記３次元センサの位置および姿勢を３次元的に変更可能であり、
前記制御部が、前記ロボットアームの前記複数の関節を動作させながら前記３次元センサに前記距離画像を取得させる請求項１または請求項２に記載の干渉回避装置。
【請求項４】
前記３次元センサが、前記ロボットの動作領域の全体を含む範囲の前記距離画像を取得する請求項１から請求項３のいずれかに記載の干渉回避装置。
【請求項５】
ロボットアームを有するロボットと、
請求項１から請求項４のいずれかに記載の干渉回避装置とを備えるロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、干渉回避装置およびロボットシステムに関するものである。
【背景技術】
【０００２】
従来、ロボットと周辺物体との干渉を回避する機能を有するロボットシステムが知られている（例えば、特許文献１〜４参照。）。
特許文献１〜３では、ロボットアームの先端のセンサによってワークおよび該ワークの近傍の物体の位置を検出しながら、ハンドが物体と干渉しないようにハンドの位置を制御している。
【０００３】
特許文献４では、ロボットと該ロボットの周辺の障害物との干渉を回避するために、ロボットの周辺領域のカメラ画像を３Ｄカメラによって取得し、カメラ画像に基いて障害物が存在する干渉領域を設定する。その後、干渉領域内へのロボットの移動を禁止するようにロボットを制御している。ここで、特許文献４では、３Ｄカメラによってロボットの外側からロボットを含む周辺領域を撮像している。ロボットには、カメラ画像内のロボットを認識するためのマーカが付されている。カメラ画像内のマーカに基づいて、カメラ画像内の障害物の座標がロボット座標系での座標に変換される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１２５９８９号公報
【特許文献２】特開２００２−３３１４８０号公報
【特許文献３】特開２０１８−００１３３２号公報
【特許文献４】特許第５９８０８７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記のように、特許文献１〜３では、ロボットの作業中にワークの近傍の物体の位置を検出している。したがって、ロボットと周辺の障害物との干渉を回避することはできない。
【０００６】
特許文献４では、ロボットに対する３Ｄカメラの位置および姿勢を変更しながら複数のカメラ画像を取得している。したがって、カメラ画像内の障害物の座標の変換に、複雑な計算が必要である。また、複雑な座標変換の計算の結果、ロボット座標系での障害物の位置精度が低くなる。
また、カメラ画像は、周辺からロボットおよび障害物を見た画像である。このようなカメラ画像に基づいて、ロボットから見た障害物の正確な位置を把握することは難しい。
また、３Ｄカメラの撮像範囲にロボットのマーカが含まれる必要があるため、３Ｄカメラの位置および姿勢が制限される。したがって、ロボットの動作領域内に３Ｄカメラの死角が生じ得る。死角に存在する物体は干渉領域に設定されないため、このような物体とのロボットの干渉を回避することができない。
【０００７】
本発明は、上述した事情に鑑みてなされたものであって、回避すべき周辺物体の位置を正確にかつ簡便に取得し、ロボットの周辺物体との干渉を確実に回避することができる干渉回避装置およびロボットシステムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明は以下の手段を提供する。
本発明の一態様は、ロボットと、該ロボットの周辺に配置された周辺物体との干渉を回避する干渉回避装置であって、前記ロボットのロボットアームの先端部に取り付けられ、前記ロボットの周辺の距離画像を取得する３次元センサと、前記距離画像における前記周辺物体の座標をロボット座標系における座標に変換し、該ロボット座標系における前記周辺物体の座標に基づいて前記周辺物体の位置データを作成する位置データ作成部と、前記位置データを記憶する記憶部と、前記ロボット座標系に基づいて前記ロボットを制御する制御部とを備え、該制御部が、前記記憶部に記憶された前記周辺物体の位置データに基づいて、前記ロボットの前記周辺物体との干渉を回避するように前記ロボットを制御する干渉回避装置である。
【０００９】
本態様によれば、ロボットが作業を行う前に、周辺物体の位置データが３次元センサおよび位置データ作成部によって取得され記憶部に記憶される。すなわち、ロボットの周辺の距離画像が３次元センサによって取得され、ロボット座標系における周辺物体の位置データが位置データ作成部によって距離画像から作成される。その後、制御部による制御に従って、ロボットは、周辺物体との干渉を回避しながら作業を行う。
３次元センサはロボットアームの先端部に取り付けられているので、周辺物体の正確な位置データを簡便に取得することができる。このような正確な位置データに基づき、ロボットの周辺物体との干渉を確実に回避することができる。
【００１０】
すなわち、距離画像の取得時の３次元センサのロボット座標系における正確な位置および姿勢が、制御部がロボットの制御に用いる制御信号から容易に得られる。したがって、距離画像における周辺物体の座標を、簡単な計算で精度良くロボット座標系の座標に変換することができ、ロボット座標系での周辺物体の正確な位置を取得することができる。
また、ロボットから見た周辺物体の距離画像が３次元センサによって得られる。したがって、ロボットの動作領域内に３次元センサの死角が生じることがなく、動作領域内の周辺物体の存在を正確に把握することができる。また、ロボットから見た周辺物体の正確な位置を得ることができる。
【００１１】
上記態様においては、前記位置データ作成部は、前記ロボット座標系における前記周辺物体の座標の各々が前記ロボットの自己座標であるか否かを判別し、該自己座標は、前記距離画像の取得時の前記ロボットの前記ロボット座標系における座標であり、前記自己座標である前記周辺物体の座標以外の他の前記ロボット座標系における前記周辺物体の座標に基づいて前記位置データを作成してもよい。
距離画像内にはロボットの一部分が含まれ得る。距離画像内のロボットの一部分の位置は、ロボットの動作に伴って変化する。したがって、距離画像内のロボットの一部分の位置データが記憶部に記憶された場合、制御部は、距離画像の取得時のロボットの一部分の位置に周辺物体が存在している誤認識し、当該位置を回避するようにロボットを制御してしまう。上記構成によれば、このような誤認識を防止し、ロボットの不要な回避動作を無くすことができる。
【００１２】
上記態様においては、前記ロボットアームが、複数の関節を有し、該複数の関節の動作によって前記３次元センサの位置および姿勢を３次元的に変更可能であり、前記制御部が、前記ロボットアームの前記複数の関節を動作させながら前記３次元センサに前記距離画像を取得させてもよい。
この構成によれば、１つの３次元センサを用いて、ロボットの周辺の広範囲の距離画像を取得することができる。
【００１３】
上記態様においては、前記３次元センサが、前記ロボットの動作領域の全体を含む範囲の前記距離画像を取得してもよい。
この構成によれば、作業中のロボットが配置され得る動作領域内の全ての周辺物体の座標が距離画像から取得され、全ての周辺物体に関する位置データが記憶部に記憶される。これにより、ロボットの周辺物体との干渉をより確実に回避することができる。
【００１４】
本発明の他の態様は、ロボットアームを有するロボットと、上記いずれかに記載の干渉回避装置とを備えるロボットシステムである。
【発明の効果】
【００１５】
本発明によれば、回避すべき周辺物体の位置を正確にかつ簡便に取得し、ロボットの周辺物体との干渉を確実に回避することができるという効果を奏する。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態に係るロボットシステムの全体構成図である。
【図２】図１のロボットシステムのブロック図である。
【図３】図１のロボットシステムの動作を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下に、本発明の一実施形態に係る干渉回避装置およびロボットシステムについて図面を参照して説明する。
本実施形態に係るロボットシステム１０は、図１に示されるように、ロボット１の周辺に周辺物体Ｏが配置されている環境において、作業中のロボット１の周辺物体Ｏとの干渉を回避するようにロボット１を制御するシステムである。周辺物体Ｏは、例えば、機器、他のロボット、および構造物等である。ロボットシステム１０は、図１および図２に示されるように、ロボット１と、ロボット１に接続された制御装置２と、ロボット１の周辺物体Ｏとの干渉を回避する干渉回避装置３とを備えている。
【００１８】
ロボット１は、例えば、６軸多関節ロボットである。ロボット１は、複数の関節が設けられたロボットアーム４を有し、関節の動作によってロボットアーム４の先端の位置および姿勢を３次元的に変更することができる。ロボットアーム４の先端と一緒に、ロボットアーム４の先端部に取り付けられた３次元センサ１３（後述）の位置および姿勢も変更される。各関節にはサーボモータ（図示略）が設けられており、各サーボモータは、制御装置２からのロボット制御信号に従って対応する関節を回転させる。ロボットアーム４の先端の手首フランジには、ハンドまたは工具のようなエンドエフェクタ（図示略）が取り付けられている。ロボット１は、エンドエフェクタを用いてワークの搬送または加工のような所定の作業を行う。
【００１９】
ロボット１には、ロボット座標系Ａが定義されている。ロボット座標系Ａは、ロボット１の動かない部分の所定の位置（例えば、基台５の設置面の中心）を原点とする３次元座標系である。
【００２０】
制御装置２は、図２に示されるように、プロセッサを有するロボット制御部１１と、ＲＡＭ、ＲＯＭおよび不揮発性ストレージ等を有する記憶部１２とを備えている。
記憶部１２には、動作プログラム２１が格納されている。ロボット制御部１１は、動作プログラム２１に基づいて各サーボモータを駆動するためのロボット制御信号を生成し、ロボット制御信号を各サーボモータに送信する。これにより、ロボットアーム４が動作プログラム２１に基づいて動作する。ロボット制御部１１によるロボット１の制御には、ロボット座標系Ａでの座標が使用される。
【００２１】
干渉回避装置３は、３次元センサ１３と、センサ制御部１４と、位置データ作成部１５とを備えている。センサ制御部１４および位置データ作成部１５は、例えば、制御装置２内に設けられている。ロボット制御部（制御部）１１および記憶部１２も、干渉回避装置３の一部として機能する。
【００２２】
３次元センサ１３は、ロボットアーム４の先端部に取り付けられている。例えば、３次元センサ１３は、一対のカメラを有するステレオカメラである。ステレオカメラは、一対のカメラによって取得されたステレオ画像から、該ステレオ画像内の物体のステレオカメラからの距離を計算し、距離画像を生成する。例えば、３次元センサ１３は、エンドエフェクタと共に手首フランジに取り付けられ、エンドエフェクタによって把持または加工されるワークを観察するビジョンセンサである。３次元センサ１３は、レーザを出力し、レーザの反射位置および反射時間から物体の距離を計算するレーザ距離計であってもよい。
【００２３】
３次元センサ１３は、ロボット１の周辺の距離画像を取得する。距離画像は、各画素が３次元センサ１３から物体までの距離の情報を有する画像である。好ましくは、距離画像の撮像範囲は、ロボット１が作業中に配置され得る動作領域の全体を含む。このような広範囲の距離画像は、ロボットアーム４の動作によって、３次元センサ１３をロボット１の外側に向けながら３次元センサ１３の位置および姿勢を３次元的に変更し、３次元センサ１３が複数の位置および姿勢で距離画像を取得することによって得られる。距離画像は、３次元センサ１３から制御装置２に送信され、記憶部１２に記憶される。
【００２４】
３次元センサ１３には、センサ座標系Ｂが定義されている。センサ座標系Ｂは、３次元センサ１３の所定の位置を原点とする３次元座標系である。距離画像内の物体の座標は、センサ座標系Ｂでの座標である。
【００２５】
センサ制御部１４は、３次元センサ１３を制御する。センサ制御部１４は、ロボット制御部１１からのセンサ制御信号に応答して３次元センサ１３に撮像を実行させることによって、ロボットアーム４の動作と同期して３次元センサ１３に距離画像を取得させる。
【００２６】
位置データ作成部１５は、プロセッサを有し、後述する位置データ作成プログラム２２に従って以下の処理を実行する。位置データ作成部１５は、記憶部１２から距離画像を読み出し、距離画像内の周辺物体Ｏの表面の３次元の座標を取得する。取得された座標は、センサ座標系Ｂにおける座標である。次に、位置データ作成部１５は、距離画像の取得時のロボット座標系Ａにおける３次元センサ１３の位置および姿勢に基づき、周辺物体Ｏの表面の座標を、ロボット座標系Ａにおける座標に変換する。
【００２７】
距離画像の取得時のロボット座標系Ａにおける３次元センサ１３の位置および姿勢は、距離画像の取得時のロボットアーム４の先端の位置および姿勢と、ロボットアーム４の先端に対する３次元センサ１３の位置および姿勢と、から算出される。ロボットアーム４の先端の位置および姿勢は、ロボット制御信号から算出される。これらの計算は、例えば、ロボット制御部１１または位置データ作成部１５によって行われる。
【００２８】
次に、位置データ作成部１５は、ロボット座標系Ａでの周辺物体Ｏの３次元の座標に基づいて、周辺物体Ｏの位置データ２３を作成する。位置データ２３は、例えば、ロボット座標系Ａにおける周辺物体Ｏの表面の座標の集合である。
【００２９】
記憶部１２には、位置データ作成プログラム２２が格納されている。ロボット制御部１１は、位置データ作成プログラム２２に基づいてロボット制御信号およびセンサ制御信号を生成する。ロボット制御部１１は、ロボット制御信号を各サーボモータに送信し、センサ制御信号をセンサ制御部１４に送信する。これにより、ロボットアーム４が位置データ作成プログラム２２に基づいて動作し、３次元センサ１３が位置データ作成プログラム２２に基づいて距離画像を取得する。
【００３０】
ロボット制御部１１は、動作プログラム２１に従ってロボットアーム４の先端を目標位置へ移動させるためのロボット制御信号を生成する。ロボット制御部１１は、ロボット制御信号をロボット１へ送信する前に、目標位置へ先端が到達するまでの間にロボット１が周辺物体Ｏと干渉するか否かを位置データ２３に基づいて予測する。ロボット１が周辺物体Ｏと干渉しないと予測された場合、ロボット制御部１１は、ロボット１へロボット制御信号を送信し、ロボットアーム４の先端を目標位置へ移動させる。一方、ロボット１が周辺物体Ｏと干渉すると予測された場合、ロボット制御部１１は、ロボット１の周辺物体Ｏとの干渉を回避するようにロボット１を制御する。例えば、ロボット制御部１１は、ロボット１へのロボット制御信号の送信を取り止め、ロボット１の動作を停止させる。
【００３１】
ロボット１の周辺物体Ｏとの干渉は、例えば、以下の手順に従って予測される。
記憶部１２には、位置データ２３として、周辺物体Ｏの表面の位置の座標Ｐｉ＝（Ｘｉ，Ｙｉ，Ｚｉ）（ｉ＝１，２，…，ｎ）が記憶されている。座標Ｐｉは、ロボット座標系Ａでの座標である。ロボット制御部１１は、ロボット１の３次元形状を、複数の円柱状の領域Ｃｊ（ｊ＝１，２，…，ｍ）として定義する。すなわち、ロボット１の３次元形状は、複数の領域Ｃｊの組み合わせとして表される。実際には、ロボット１の３次元形状を複数の領域Ｃｊの組み合わせによって正確に表すことは難しいので、ロボット１全体が複数の領域Ｃｊの組み合わせに含まれるように、各領域Ｃｊが設定される。
【００３２】
ロボット制御部１１は、ロボット制御信号に従ってロボットアーム４が動作したと仮定したときのロボット１の３次元形状Ｃｊを計算する。次に、ロボット制御部１１は、ｉ＝１，２，…，ｎおよびｊ＝１，２，…，ｍについて、Ｐｉ∈Ｃｊを満たす（ｉ，ｊ)が存在するか否かを計算する。存在しない場合には、ロボット制御部１１は、ロボット１が周辺物体Ｏと干渉しないと予測する。一方、存在する場合には、ロボット制御部１１は、ロボット１が周辺物体Ｏと干渉すると予測する。
【００３３】
次に、このように構成されたロボットシステム１０の作用について説明する。
本実施形態に係るロボットシステム１０によれば、位置データ作成プログラム２２が実行され、その後に動作プログラム２１が実行される。
位置データ作成プログラム２２が実行されると、図３に示されるように、ロボットアーム４の動作によって３次元センサ１３の位置および姿勢が変更され、複数の位置および姿勢で３次元センサ１３が距離画像を取得する。これにより、ロボット１の周辺の距離画像が取得される（ステップＳ１）。距離画像は、３次元センサ１３から制御装置２に送信され、記憶部１２に記憶される。次に、位置データ作成部１５において、距離画像内の周辺物体Ｏの３次元の座標が取得され、周辺物体Ｏの座標がロボット座標系Ａにおける座標に変換され（ステップＳ２）、ロボット座標系Ａにおける周辺物体Ｏの座標から周辺物体Ｏの位置データ２３が作成される（ステップＳ３）。位置データ２３は、記憶部１２に記憶される（ステップＳ４）。
【００３４】
位置データ作成プログラム２２は、動作プログラム２１の実行前に毎回実行されてもよい。あるいは、位置データ作成プログラム２２は、ロボット１を移動させた後や周辺機器の配置を変更した後等、ロボット１の周辺の環境が変化した後にのみ実行されてもよい。
【００３５】
次に、動作プログラム２１が実行される。ロボット制御部１１は、動作プログラム２１に従ってロボット１に所定の作業を実行させる。また、ロボット制御部１１は、記憶部１２から位置データ２３を読み出し、位置データ２３に基づいて、ロボットアーム４の周辺物体Ｏとの干渉を回避するように、作業中のロボット１を制御する。例えば、ロボット制御部１１は、ロボットアーム４の先端の次の目標位置または目標位置までの移動経路上でロボット１が周辺物体Ｏと干渉するか否かを予測し、干渉の発生が予測され場合にはロボット１を停止させる。
【００３６】
このように、本実施形態によれば、ロボットアーム４の先端部に取り付けられた３次元センサ１３によって周辺物体Ｏの距離画像が取得される。この距離画像に基づいて周辺物体Ｏの正確な位置データ２３を取得することができ、正確な位置データ２３に基づいてロボット１の周辺物体Ｏとの干渉を確実に回避することができるという利点がある。
【００３７】
具体的には、距離画像内の周辺物体Ｏの位置をロボット座標系Ａでの位置に変換するためには、距離画像の取得時のロボット座標系Ａでの３次元センサ１３の位置および姿勢の情報が必要である。本実施形態によれば、ロボット座標系Ａでの３次元センサ１３の正確な位置および姿勢が、ロボット制御信号から簡単な計算によって得られる。したがって、ロボット座標系Ａでの周辺物体Ｏの正確な位置を算出することができる。
また、距離画像はロボットアーム４の先端部から周辺物体Ｏを見た画像である。したがって、３次元センサ１３によって撮像することができない死角がロボット１の動作領域内に生じず、動作領域内に存在する周辺物体Ｏを距離画像から確実に認識することができる。また、ロボット１から見た周辺物体Ｏの正確な位置を距離画像から得ることができる。
【００３８】
ロボット１の周辺に配置された３次元センサによって周辺物体Ｏの距離画像を取得する場合とは異なり、ロボットアーム４の先端部の３次元センサ１３によって距離画像を取得する場合には、ロボット１自体が撮像されることが少ない。ただし、距離画像には、ロボット１の一部分が含まれることがある。距離画像内のロボット１の一部分が可動部分（例えば、ロボットアーム４）であり可動部分の座標が位置データ２３として記憶された場合、ロボット制御部１１は、距離画像の取得時に可動部分が配置されていた３次元領域を周辺物体Ｏであると誤認識し、この領域を回避するようにロボット１を制御する。
【００３９】
このような不要な干渉回避動作を防ぐために、位置データ作成部１５は、距離画像から取得された周辺物体Ｏの座標からロボット１の一部分の座標を除外し、残った座標から位置データ２３を作成してもよい。
位置データ作成部１５は、座標変換後の周辺物体Ｏの座標がロボット１の可動部分の自己座標であるか否かを判別する。ロボット１の可動部分の自己座標は、距離画像取得時に可動部分が配置される３次元領域のロボット座標系Ａにおける座標である。位置データ作成部１５は、自己座標である周辺物体Ｏの座標以外の他の周辺物体Ｏの座標から位置データ２３を作成する。
【００４０】
ロボット１の自己座標は、ロボット制御信号から容易に計算することができる。したがって、距離画像内の物体が周辺物体Ｏであるか、それともロボット１の一部分であるかを、容易に判別することができる。位置データ作成プログラム２２に基づいて算出されたロボット１の自己座標が、予め記憶部１２に記憶されていてもよい。
【００４１】
本実施形態において、位置データ作成部１５は、距離画像から取得された周辺物体Ｏの座標の全てを含む位置データ２３を作成してもよいが、距離画像から取得された周辺物体Ｏの座標を間引き、残った座標から位置データ２３を作成してもよい。例えば、所定の距離内に周辺物体Ｏの２つの座標が存在する場合、一方のみを位置データ２３に使用してもよい。
このように、位置データ２３に含まれる座標の数を減らすことによって、位置データ２３の情報量を減らすことができる。また、ロボット１の周辺物体Ｏとの干渉の判定に要する処理時間を減らすことができる。
【符号の説明】
【００４２】
１  ロボット
２  制御装置
３  干渉回避装置
４  ロボットアーム
５  基台
１０  ロボットシステム
１１  ロボット制御部
１２  記憶部
１３  ３次元センサ
１４  センサ制御部
１５  位置データ作成部
２１  動作プログラム
２２  位置データ作成プログラム
２３  位置データ
【図１】
2020028957.tif 000003
【図２】
2020028957.tif 000004
【図３】
2020028957.tif 000005