(57)【要約】【課題】本発明は、教示作業時にロボットアームの手先以外の部位も動作制限領域に侵入しないロボット制御装置を得ることを目的とする。【解決手段】本発明のロボット制御装置は位置指令によりロボットアームの手先が動作制限領域に侵入する場合、位置指令の動作制限領域方向の成分を減少させて位置指令を補正する位置指令補正部と、補正された位置指令からロボットアームが有する各関節軸の角度パターンを算出する逆運動学計算部と、逆運動学計算部により算出された各関節軸の角度パターンのうち、ロボットアームが動作制限領域に侵入しない各関節軸の角度パターンを選択する角度パターン選択部を備えるので、教示作業時にロボットアームの手先以外の部位が動作制限領域へ侵入することを防ぐことができる。【選択図】図１
2020001137.tif 000002
【特許請求の範囲】
【請求項１】
ロボットアームの手先に加えられた外部操作力を検知する外部操作力検知部と、
前記ロボットアームを侵入させない領域である動作制限領域を記憶する動作制限領域記憶部と、
前記外部操作力検知部が検知した前記外部操作力の情報から、前記手先の移動先の位置を指示する位置指令を生成する位置指令生成部と、
前記位置指令により前記手先が前記動作制限領域に侵入する場合、前記位置指令の前記動作制限領域の方向の成分を減少させて前記位置指令を補正する位置指令補正部と、
補正された前記位置指令から前記ロボットアームが有する各関節軸の角度パターンを算出する逆運動学計算部と、
前記逆運動学計算部により算出された前記各関節軸の角度パターンのうち、前記ロボットアームが前記動作制限領域に侵入しない前記各関節軸の角度パターンを選択する角度パターン選択部と
を備えるロボット制御装置。
【請求項２】
前記角度パターン選択部は、前記ロボットアームが前記動作制限領域に侵入しない前記各関節軸の角度パターンが複数存在する場合、前記各関節軸の角度の変化が最小の前記角度パターンを選択することを特徴とする
請求項１に記載のロボット制御装置。
【請求項３】
前記動作制限領域に侵入する要因を示すアラームを発生させるアラーム発生部を更に備え、
前記位置指令補正部は、前記位置指令生成部が生成した前記位置指令が前記動作制限領域内に侵入すると判断しても、前記アラーム発生部に判断結果の情報と伝えると共に、前記位置指令を補正して前記ロボットアームの動作を継続する
ことを特徴とする請求項１または２に記載のロボット制御装置。
【請求項４】
前記ロボットアームと、
前記ロボットアームに設置され、前記外部操作力を検知して前記外部操作力検知部へ伝達するセンサと、
請求項１または２に記載のロボット制御装置と、を備えるロボットシステム。
【請求項５】
前記ロボットアームと、
前記ロボットアームに設置され、前記外部操作力を検知して前記外部操作力検知部へ伝達するセンサと、
請求項３に記載のロボット制御装置と、を備えるロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、動作範囲を制限されたロボットアームの直接教示において、動作範囲制限を回避するロボット制御装置およびロボットシステムに関するものである。
【背景技術】
【０００２】
ロボットアームの動作軌跡をロボットアームに認識させるために、従来より、教示作業を実施している。教示作業とは、制御プログラムによるロボットアームの運転を行う前に、制御プログラムで使用するロボットアームの手先を移動させたい位置をロボットアームに記憶させる作業であり、この教示動作の一手法として、直接教示がある。直接教示はロボットアームを人が直接つかんで手動操作し、記憶させたい位置へ移動させることで教示を行う方法である。直接教示では、ロボットアームを人が直接つかんで動かすと、ロボットアームに発生した力を各関節軸のモータの電流値やトルクセンサなどが検知し、この検知した力からロボットアームへの時々刻々の指令を作成することができる。移動先の位置を指定するためには、作業者はロボットアームを手動操作して移動先の位置へロボットアームの手先を移動させることで、移動先の位置をロボットアームに記憶させることができる。
【０００３】
上記のような直接教示が可能なロボットアームにおいて、直接教示中に動作環境内にある障害物等にロボットアームを触れさせたくない場合、その対象物のエリアを動作制限領域として設定し、ロボットアームが動作制限領域に侵入しないよう、ロボットアームの動作を補正したり停止させたりして、ロボットアームを障害物に接触させないようにする技術が従来より知られている。
【０００４】
例えば、特許文献１では教示作業時にロボットアームの手先に力が加えられると、手先が動作制限領域から離れている場合は、加えられた力情報を移動先の手先位置に変換した後、その手先位置から逆運動学により各関節軸の角度を算出し、算出した各関節軸の角度に基づいて、モータを駆動をさせることでロボットアームを駆動する。ただし、手先が動作制限領域に近づくと、手先に加えられた力情報の動作制限領域方向の成分を減少させる補正をしてから、補正した力情報を用いて先と同様にしてロボットアームを駆動する。これにより、手先が動作制限領域に近づくにつれ、動作制限領域方向の力が無視されるので、教示作業時にロボットアームの手先が動作制限領域に侵入することを防止できる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−３４９９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、上記特許文献１のようなロボット制御装置は、手先に加えられた力を補正し、手先位置のみを補正するため、手先の動作に伴い動作するロボットアームの手先以外の部位が、動作制限領域へ侵入することを防ぐことができなかった。
【０００７】
本発明は、上記に鑑みてなされたものであり、教示作業時にロボットアームの手先以外の部位も動作制限領域に侵入しないロボット制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
本発明のロボット制御装置は、ロボットアームの手先に加えられた外部操作力を検知する外部操作力検知部と、ロボットアームを侵入させない領域である動作制限領域を記憶する動作制限領域記憶部と、外部操作力検知部が検知した外部操作力の情報から、手先の移動先の位置を指示する位置指令を生成する位置指令生成部と、位置指令により手先が動作制限領域に侵入する場合、位置指令の動作制限領域方向の成分を減少させて位置指令を補正する位置指令補正部と、補正された位置指令からロボットアームが有する各関節軸の角度パターンを算出する逆運動学計算部と、逆運動学計算部により算出された各関節軸の角度パターンのうち、ロボットアームが動作制限領域に侵入しない各関節軸の角度パターンを選択する角度パターン選択部と、を備える。
【発明の効果】
【０００９】
本発明に係るロボット制御装置およびロボットシステムによれば、位置指令によりロボットアームの手先が動作制限領域に侵入する場合、位置指令の動作制限領域方向の成分を減少させて補正した位置指令を生成する位置指令補正部と、補正した位置指令からロボットアームが有する各関節軸の角度パターンを算出する逆運動学計算部と、逆運動学計算部により算出された各関節軸の角度パターンのうち、ロボットアームが動作制限領域に侵入しない各関節軸の角度パターンを選択する角度パターン選択部を備えるので、教示作業時にロボットアームの手先以外の部位が動作制限領域へ侵入することを防ぐロボット制御装置およびロボットシステムを得ることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態１のロボット制御装置を備えるロボットシステムの模式図
【図２】本発明の実施の形態１のロボット制御装置の動作を示すフローチャート
【図３】本発明の実施の形態１の補正処理の概要図
【図４】本発明の実施の形態１の補正処理の説明図
【図５】本発明の実施の形態１のロボット制御装置を備えるロボットシステムの模式図
【発明を実施するための形態】
【００１１】
実施の形態１
以下、本発明の実施形態１におけるロボット制御装置について、図を用いて説明する。
【００１２】
図１は、本発明の実施の形態１のロボット制御装置を備えるロボットシステムの模式図である。本発明の実施の形態１のロボットシステムはロボットアーム１とロボット制御装置３を備える。
【００１３】
ロボットアーム１はロボットアーム１の手先に外部から加えられる力の大きさを検知可能なセンサ２を備えている。力の大きさを検知可能な装置はトルクセンサや力覚センサに限らず、各関節軸モータの電流値などでもよい。
【００１４】
ロボット制御装置３は外部操作力検知部４、位置指令生成部５、動作制限領域記憶部６、位置指令補正部７、逆運動学計算部８、及び角度パターン選択部９を備える。
【００１５】
外部操作力検知部４はロボットアーム１のセンサ２から取得した力情報からロボットアーム１の手先にかけられた外部操作力を検知する。
【００１６】
位置指令生成部５は、外部操作力検知部４から伝達される外部操作力情報に基づいてロボットアーム１の手先の移動先の位置を指示する位置指令を生成する。
【００１７】
動作制限領域記憶部６は３次元位置座標系で指定される動作制限領域１０を記憶する。動作制限領域とは、おいてロボットアーム１の侵入を禁止する領域であり、例えば、人が存在する領域等を指す。
【００１８】
位置指令補正部７は、位置指令生成部５が生成した位置指令に従うとロボットアーム１の手先が動作制限領域１０に近づく場合に、位置指令の動作制限領域１０の境界面法線方向の成分を減少させて、手先の移動先の位置指令を補正する。
【００１９】
逆運動学計算部８は、位置指令補正部７が補正した手先の移動先の位置指令から、手先をその位置にするためのロボットアーム１が有する各関節軸の角度パターンを算出する。手先をある位置にするためには各関節軸の角度の組み合わせは複数存在し、角度パターンとは、この手先のある位置を実現する各関節軸の角度の組み合わせのことを指す。なお、本発明の説明において、ロボットアーム１の間接軸は複数であることを前提として説明しているが、これに限られず、ロボットアーム１の間接軸は１つでもよい。
【００２０】
角度パターン選択部９は逆運動学計算部８により算出された各関節軸の角度パターンのうち、ロボットアーム１が動作制限領域記憶部６が記憶する動作制限領域１０に侵入しない各関節軸の角度パターンを選択し、各関節軸のモータへの回転指令情報へ変換し、ロボットアーム１に伝える。なお、角度パターン選択部９は、ロボットアーム１が動作制限領域１０に侵入しない各関節軸の角度パターンを選択するものとしたが、選択可能な角度パターンの候補が複数存在する場合には、このときの各関節軸の角度からの変化が最小のパターンを選択すれば良い。このように、最小のパターンを選択することで、より短時間且つ少ないロボットアーム１の動きで目的の手先位置に移動させることができるので、教示作業動作の効率を向上させると共にロボットアーム１の動作による振動によるブレを軽減できる。
【００２１】
次に、本実施の形態１のロボット制御装置３の動作、特に教示作業中の動作について説明する。図２は、本実施の形態１の教示作業中のロボット制御装置３の制御フローである。
【００２２】
教示作業を始める前に、ロボットシステム構築者はロボットアーム１の動作制限領域１０を設定する。この動作制限領域１０の情報はロボット制御装置３内の３次元位置座標系において定義され、ロボット制御装置３の動作制限領域記憶部６に格納される。動作制限領域１０の定義方法としては、３次元空間における位置を３点指定して３次元空間における無限平面を使用して領域を区切る方法や、平面を複数使用して３次元多面体の領域を設定する方法等がある。動作制限領域１０の設定方法は動作制限領域１０の表現に必要な位置情報を直接数値入力する方法や、ロボットアーム１を該当位置に動作させてロボットアーム１の手先位置情報をにより設定する方法等がある。
【００２３】
動作制限領域１０を設定した後、ロボット制御装置３は図２の制御フローを開始する。まず、ステップＳ１で、外部操作力検知部４が作業者によりロボットアーム１に力が加えられたか否かを判断する。外部操作力検知部４が外部操作力を検知しなかった場合、フローは終了し、再度ステップＳ１に戻り外部操作力の検知を繰り返す。
【００２４】
外部操作力検知部４が外部操作力を検知した場合、ステップＳ２に進み、外部操作力検知部４はロボットアーム１から取得した外部操作力の情報を外部操作力情報に変換し、位置指令生成部５に伝え、位置指令生成部５が位置指令を作成する。外部操作力情報としてはロボットアーム１の手先への力のベクトル情報やロボットアーム１の各関節軸のトルク情報、ロボットアーム１の各関節軸の指令位置と実際の位置との偏差などが考えられる。位置指令生成部５はこの外部操作力情報を基にロボットアーム１の手先の位置指令を作成する。ここで作成される位置指令としてはロボットアーム１の手先位置に限らず、ロボットアーム１の関節角度やその情報を基にロボットアーム１の機構情報から順運動学計算で算出したロボットアーム１の各部位の位置情報でもよい。
【００２５】
ステップＳ２の後、ステップＳ３に進み、位置指令補正部７が、動作制限領域記憶部６に格納されている動作制限領域１０の情報を基に位置指令生成部５が生成した位置指令によってロボットアーム１が動作制限領域１０に侵入するか否かを判定する。判定処理の一例として、動作制限領域１０がロボット制御装置内の３次元座標系における平面の表側として定義されている場合、位置指令におけるロボットアーム１の制限対象の１点がその平面の表側にある場合に動作制限領域１０に侵入していると判定する。
【００２６】
ステップＳ３で位置指令補正部７によりそのままの位置指令ではロボットアーム１の手先が動作制限領域１０に侵入すると判定されたとき、ステップＳ４に進み、位置指令補正部７で、位置指令の補正処理を実施した後、逆運動学計算部８に補正した位置指令を伝えステップＳ５に進む。位置指令補正部７によりロボットアーム１の手先が動作制限領域１０に侵入していないと判定された場合にはステップＳ４の補正処理は実施せず、位置指令補正部７がそのまま逆運動学計算部８に位置指令を伝えステップＳ５に進む。
【００２７】
ステップＳ５で、逆運動学計算部８が位置指令補正部７からの位置指令からロボットアーム１が有する各関節軸の角度パターンを算出し、角度パターン選択部９は逆運動学計算部８により算出された各関節軸の角度パターンのうち、ロボットアーム１が動作制限領域記憶部６が記憶する動作制限領域に侵入しない各関節軸の角度パターンを選択し、各関節軸の角度パターンに変換された位置指令をロボットアーム１の各関節軸のサーボモータに送信することでロボットアーム１が動作する。
【００２８】
以上のようなステップＳ１〜ステップＳ５の動作により、ロボット制御装置３がロボットアーム１を制御する。
【００２９】
次に、本発明の実施の形態１の位置指令補正部７での補正の方法を具体的に説明する。
図３は本発明の実施の形態１の補正処理の概要図である。ここでは３次元平面によってロボットアーム１が存在しない側を動作制限領域１０として設定し、ロボットアーム１の手先に対してのみ外部の作業者の手１１により力を加える場合を考える。ＰＯはロボットアーム１のモータエンコーダから取得した各関節軸の回転角度から算出した実際のロボットアーム１の手先位置、Ｐｄは位置指令生成部５により出力された位置指令、Ｐmodは位置指令補正部で補正された位置指令を示す。
【００３０】
図４はステップＳ４で行う位置指令補正部７による位置指令の補正処理の説明図である。Ｘｄは位置指令の動作制限領域１０に侵入した成分であり、上記現在のロボットアーム１の手先位置ＰＯと位置指令Ｐｄを結んだ線分と、動作制限領域１０を定義する平面との交点をＰCとしたとき、上記ＰCから上記Ｐｄへの位置ベクトルが上記Ｘｄである。あらかじめ設定された補正係数α（α≧１）を用いることで、補正後の位置指令は下記式（１）によって算出される。
【００３１】
【数１】
2020001137.tif 000003
（１）
によって算出される。
【００３２】
実際の位置指令補正部７での処理の流れを説明する。図３の例では、位置指令Ｐｄが動作制限領域１０内に侵入しているため、ステップＳ４にて位置指令補正部７が位置指令の補正を行い、動作制限領域１０の外になるよう、Ｐmodに補正する必要がある。
【００３３】
そこでまずは図４のように、ロボットアーム１の各関節軸のモータエンコーダから取得した各関節軸の回転角度から算出した現在のロボットアーム１の手先位置ＰＯと位置指令生成部５から出力されたＰｄを結ぶ線分と動作制限領域記憶部６に格納されている動作制限領域１０を定義する平面との交点ＰCを算出する。次に算出したＰCと上記位置指令Ｐｄを結ぶベクトルＸｄを算出して、そのＸｄを動作制限領域１０を定義する平面と直交するベクトルＸnと平面上のベクトルＸtに分解する。上記で算出されたＸnとあらかじめ設定された補正係数αから上記式（１）を使用して補正された位置指令Ｐmod  を算出する。図４の例はα＝１で計算した場合である。
【００３４】
上記により算出された補正した位置指令Ｐmodを位置指令補正部７が逆運動学計算部８に出力する。逆運動学計算部８は位置指令からロボットアーム１が有する各関節軸の角度パターンを算出し、角度パターン選択部９は逆運動学計算部８により算出された各関節軸の角度パターンのうち、ロボットアーム１が動作制限領域記憶部６が記憶する動作制限領域に侵入しない各関節軸の角度パターンを選択し、各関節軸の角度パターンに変換された位置指令をロボットアーム１の各関節軸のサーボモータに送信する。
【００３５】
このように、各関節軸の角度パターンに変換された位置指令を角度パターン選択部９がロボットアーム１の各関節軸のサーボモータに送信し、あとは通常の位置制御と同様に制御が行われる。
【００３６】
なお、図３のように、位置指令Ｐｄが動作制限領域１０内に侵入しており、ステップＳ３でそのままの位置指令Ｐｄではロボットアーム１の手先が動作制限領域１０に侵入すると位置指令補正部７により判定されたとき、ステップＳ４で、位置指令補正部７で、位置指令の補正処理を実施して逆運動学計算部８に補正した位置指令を伝えると同時に、ロボットアーム１に動作制限領域１０に侵入する要因を示すアラームを発生させ、動作を停止をすることなく教示動作を継続してもよい。その場合は図５に示すように、ロボット制御装置３にアラーム発生部１２を設ける。この場合、ステップＳ４で、位置指令補正部７で、位置指令の補正処理を実施すると同時に、位置指令補正部７からアラーム発生部１２にロボットアーム１の手先が動作制限領域１０に侵入するか否かの判定結果を伝える。アラーム発生部１２はロボットアーム１の手先が動作制限領域１０に侵入するという判定結果を受けた場合、動作制限領域１０に侵入する要因を示すアラームを発生させる。
【００３７】
または、位置指令Ｐｄが動作制限領域１０内に侵入しており、ステップＳ３でそのままの位置指令Ｐｄではロボットアーム１の手先が動作制限領域１０に侵入すると位置指令補正部７により判定されたとき、動作制限領域１０に侵入しないように操作者が力を加えるまでロボットアームの動作を停止させてもよい。
【００３８】
以上がロボット制御装置３の位置指令の補正方法である。これによりロボットアーム１に動作制限領域１０内へ入るような外部操作力を加えても、動作制限領域１０内へ移動する指令成分が打ち消されるため、ロボットアーム１は動作制限領域１０内へ入ることはなく、動作制限領域１０に沿って教示動作を続けることができる。これにより、動作制限領域１０内に侵入してロボットアーム１が停止することなく、動作制限領域１０付近でスムーズに教示作業を行うことができる。
【００３９】
作業者は直接教示操作によって、目的の教示位置をロボットアーム１に認識させることができた時点で教示作業を完了する。
【００４０】
以上のようにして、本発明のロボット制御装置３およびロボットシステムによれば、外部操作力情報に基づいて生成された位置指令によりロボットアーム１が動作制限領域１０に侵入する場合に、位置指令の動作制限領域１０の境界面法線方向の成分を減少させて、補正した位置指令を生成する位置指令補正部７を備え、補正した位置指令からロボットアーム１が有する各関節軸の角度パターンを算出する逆運動学計算部８と、逆運動学計算部８により算出された各関節軸の角度パターンのうち、ロボットアーム１が動作制限領域１０に侵入しない各関節軸の角度パターンを選択する角度パターン選択部９を備えるので、ロボットアーム１の手先位置および手先位置以外の部位についても、教示作業時に動作制限領域１０へ侵入することを防ぐことができる。
【符号の説明】
【００４１】
１    ロボットアーム
２    センサ
３    ロボット制御装置
４    外部操作力検知部
５    位置指令生成部
６    動作制限領域記憶部
７    位置指令補正部
８    逆運動学計算部
９    角度パターン選択部
１０  動作制限領域
１１  手
１２  アラーム発生部
【図１】
2020001137.tif 000004
【図２】
2020001137.tif 000005
【図３】
2020001137.tif 000006
【図４】
2020001137.tif 000007
【図５】
2020001137.tif 000008