JPWO2013038544A1 - ロボットシステム及びロボット制御装置 - Google Patents
ロボットシステム及びロボット制御装置 Download PDFInfo
- Publication number
- JPWO2013038544A1 JPWO2013038544A1 JP2013533415A JP2013533415A JPWO2013038544A1 JP WO2013038544 A1 JPWO2013038544 A1 JP WO2013038544A1 JP 2013533415 A JP2013533415 A JP 2013533415A JP 2013533415 A JP2013533415 A JP 2013533415A JP WO2013038544 A1 JPWO2013038544 A1 JP WO2013038544A1
- Authority
- JP
- Japan
- Prior art keywords
- robot
- angular velocity
- joint
- command
- joint angular
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
冗長ロボットの操作性を向上させたロボットシステム(10)及びロボット制御装置(14)を提供する。ロボットシステム(10)は、サーボモータによって駆動され冗長軸を含む複数の関節軸を有するロボット(12)と、ロボット(12)を制御するロボット制御装置(14)とを備え、ロボット制御装置(14)は、ロボット(12)の第1の関節角速度指令を生成する第1の指令生成部(14a)と、ロボット(12)が動作限界となる状態を回避するためのロボット(12)の関節角速度指令Aを生成するリミット回避指令生成部(14b)と、ロボット(12)の姿勢を最適化するためのロボット(12)の関節角速度指令Bを生成する姿勢最適化指令生成部(14c)と、制御点に関するヤコビ行列のゼロ空間行列を計算するゼロ空間行列計算部(14d)と、関節角速度指令A、関節角速度指令B、及びゼロ空間行列に基づいて、ロボット(12)の第2の関節角速度指令を生成する第2の指令生成部(14e)と、サーボモータを制御する制御部(14f)とを有する。
Description
本発明は、ロボットシステム及びロボット制御装置に関する。
特許文献1には、ロボットによる作業に要求される自由度以外に、ロボット作業に影響しない冗長自由度を有するロボットを用いて、動作軌跡の教示データを作成することができるロボットの動作軌跡教示方法が記載されている。
この動作軌跡教示方法は、冗長自由度を要素とし、ロボットの関節角度空間の余裕を表現する評価関数に基づいて冗長自由度を決定することを特徴としている。
この動作軌跡教示方法は、冗長自由度を要素とし、ロボットの関節角度空間の余裕を表現する評価関数に基づいて冗長自由度を決定することを特徴としている。
本発明は、本発明の構成を有しない場合に比べ、冗長ロボットの操作性を向上させたロボットシステム及びロボット制御装置を提供することを目的とする。
上記課題を解決するため、本発明の一の観点によれば、サーボモータによって駆動され、冗長軸を含む複数の関節軸を有するロボットと、
前記ロボットを制御するロボット制御装置とを備え、
前記ロボット制御装置は、入力された前記ロボットの制御点の速度指令に基づいて、前記ロボットの第1の関節角速度指令を生成する第1の指令生成部と、
信号Aが入力されている間、評価関数Aに基づいて、前記ロボットが動作限界となる状態を回避するための該ロボットの関節角速度指令Aを生成するリミット回避指令生成部と、
信号Bが入力されている間、評価関数Bに基づいて、前記ロボットの姿勢を最適化するための該ロボットの関節角速度指令Bを生成する姿勢最適化指令生成部と、
前記制御点に関するヤコビ行列のゼロ空間行列を計算するゼロ空間行列計算部と、
前記関節角速度指令A、前記関節角速度指令B、及び前記ゼロ空間行列に基づいて、前記ロボットの第2の関節角速度指令を生成する第2の指令生成部と、
前記第1及び第2の関節角速度指令の和である第3の関節角速度指令に基づいて、前記サーボモータを制御する制御部とを有するロボットシステムが適用される。
前記ロボットを制御するロボット制御装置とを備え、
前記ロボット制御装置は、入力された前記ロボットの制御点の速度指令に基づいて、前記ロボットの第1の関節角速度指令を生成する第1の指令生成部と、
信号Aが入力されている間、評価関数Aに基づいて、前記ロボットが動作限界となる状態を回避するための該ロボットの関節角速度指令Aを生成するリミット回避指令生成部と、
信号Bが入力されている間、評価関数Bに基づいて、前記ロボットの姿勢を最適化するための該ロボットの関節角速度指令Bを生成する姿勢最適化指令生成部と、
前記制御点に関するヤコビ行列のゼロ空間行列を計算するゼロ空間行列計算部と、
前記関節角速度指令A、前記関節角速度指令B、及び前記ゼロ空間行列に基づいて、前記ロボットの第2の関節角速度指令を生成する第2の指令生成部と、
前記第1及び第2の関節角速度指令の和である第3の関節角速度指令に基づいて、前記サーボモータを制御する制御部とを有するロボットシステムが適用される。
また、他の観点によれば、冗長軸を含む複数の関節軸を有するロボットの制御点の速度指令に基づいて、前記ロボットの第1の関節角速度指令を生成する第1の指令生成部と、
信号Aが入力されている間、評価関数Aに基づいて、前記ロボットが動作限界となる状態を回避するための該ロボットの関節角速度指令Aを生成するリミット回避指令生成部と、
信号Bが入力されている間、評価関数Bに基づいて、前記ロボットの姿勢を最適化するための該ロボットの関節角速度指令Bを生成する姿勢最適化指令生成部と、
前記制御点に関するヤコビ行列のゼロ空間行列を計算するゼロ空間行列計算部と、
前記関節角速度指令A、前記関節角速度指令B、及び前記ゼロ空間行列に基づいて、前記ロボットの第2の関節角速度指令を生成する第2の指令生成部と、
前記第1及び第2の関節角速度指令の和である第3の関節角速度指令に基づいて、サーボモータを制御する制御部とを有するロボット制御装置が適用される。
信号Aが入力されている間、評価関数Aに基づいて、前記ロボットが動作限界となる状態を回避するための該ロボットの関節角速度指令Aを生成するリミット回避指令生成部と、
信号Bが入力されている間、評価関数Bに基づいて、前記ロボットの姿勢を最適化するための該ロボットの関節角速度指令Bを生成する姿勢最適化指令生成部と、
前記制御点に関するヤコビ行列のゼロ空間行列を計算するゼロ空間行列計算部と、
前記関節角速度指令A、前記関節角速度指令B、及び前記ゼロ空間行列に基づいて、前記ロボットの第2の関節角速度指令を生成する第2の指令生成部と、
前記第1及び第2の関節角速度指令の和である第3の関節角速度指令に基づいて、サーボモータを制御する制御部とを有するロボット制御装置が適用される。
本発明によれば、本発明の構成を有しない場合に比べ、冗長ロボットの操作性を向上できる。
続いて、添付した図面を参照しつつ、本発明を具体化した実施例につき説明し、本発明の理解に供する。なお、各図において、説明に関連しない部分は図示を省略する場合がある。
<第1の実施例>
本発明の第1の実施例に係るロボットシステム10は、図1に示すように、第1〜第7の関節軸J1〜J7を有するロボット12と、このロボット12の動作を制御するロボット制御装置14と、ロボット12の位置姿勢を教示するための教示ペンダント16を備えている。
図1に示すロボット座標系Crは、例えば、ロボット12の第1の関節軸J1上にある点を原点とし、ロボット12の前後方向に延びるX軸、左右方向に延びるY軸、及び上下方向に延びるZ軸からなる直交座標系である。
本発明の第1の実施例に係るロボットシステム10は、図1に示すように、第1〜第7の関節軸J1〜J7を有するロボット12と、このロボット12の動作を制御するロボット制御装置14と、ロボット12の位置姿勢を教示するための教示ペンダント16を備えている。
図1に示すロボット座標系Crは、例えば、ロボット12の第1の関節軸J1上にある点を原点とし、ロボット12の前後方向に延びるX軸、左右方向に延びるY軸、及び上下方向に延びるZ軸からなる直交座標系である。
ロボット12は冗長ロボットであり、例えば、関節軸J3を冗長軸として含む7軸の垂直多関節ロボットである。各関節軸J1〜J7は、エンコーダが内蔵されたサーボモータ(不図示)により駆動される。ロボット12は、7軸の垂直多関節ロボットに限定されるものではない。ロボットの他の例として、ロボットの作業空間の自由度に対して、関節軸を冗長に有するロボットが挙げられる。例えば、ロボット座標系CrのY軸回りにそれぞれ回転する3つの関節のみを有する3軸のロボットは、XZ平面に対しては冗長性を有している。従って、この3軸のロボットは、XZ平面上の動作に関しては、関節軸を冗長に有するロボットである。つまり、ロボットは、関節の軸数や軸構成に関係なく、冗長自由度を有する冗長ロボットであればよい。
ロボット制御装置14は、ロボット12に接続されている。ロボット制御装置14は、第1の指令生成部14aと、リミット回避指令生成部14bと、姿勢最適化指令生成部14cと、ゼロ空間行列計算部14dと、第2の指令生成部14eと、位置速度制御部(制御部の一例)14fと、監視部14gとを有している。ロボット制御装置14は、図示しないCPUを搭載しており、図1に示す各ブロックの機能は、CPUにより実行されるソフトウェアプログラムやハードウェアによって実現される。
第1の指令生成部14aは、ロボット12の手先の速度指令(以下、単に「手先速度指令」という。)Vが入力されると、速度指令Vに基づいて、関節角速度指令(第1の関節角速度指令)ωref1を生成できる。
リミット回避指令生成部14bは、教示ペンダント16から信号Aが入力されるとロボット12がリミットを回避するための関節角速度指令(関節角速度指令A)φLMTを出力できる。信号Aについては後述する。
ここで、リミットとは、ロボット12が動作限界となる状態をいい、例えば、以下の第1〜第3のリミットがある。
第1のリミットは、関節軸が可動制限角度に到達する場合のリミットである。可動制限角度には、ロボット12の設計上、機械的に定まる可動制限角度と、ソフトウェア上で任意に設定される可動制限角度とがあり、いずれのリミットを適用することも可能である。
第2のリミットは、ロボット12が、ソフトウェア上で設定された距離まで障害物(例えば、周辺機器又は他のロボット)に接近する場合のリミットである。
第3のリミットは、ロボット12が、ソフトウェア上で設定された範囲まで特異姿勢に接近する場合のリミットである。第3のリミットに到達したロボットは過大な関節角速度指令が与えられる。ここで、ロボットの特異姿勢とは、ロボットの関節の位置と回転軸の方向などの運動学的な状態により、特定の自由度が失われた姿勢である。例えば、ロボット12の第2の関節軸J2、第4の関節軸J4、及び第6の関節軸J6が一直線上に並んだ姿勢で、特定方向に動作指令を与えると、これらの関節の関節角速度指令が過大になる。
ここで、リミットとは、ロボット12が動作限界となる状態をいい、例えば、以下の第1〜第3のリミットがある。
第1のリミットは、関節軸が可動制限角度に到達する場合のリミットである。可動制限角度には、ロボット12の設計上、機械的に定まる可動制限角度と、ソフトウェア上で任意に設定される可動制限角度とがあり、いずれのリミットを適用することも可能である。
第2のリミットは、ロボット12が、ソフトウェア上で設定された距離まで障害物(例えば、周辺機器又は他のロボット)に接近する場合のリミットである。
第3のリミットは、ロボット12が、ソフトウェア上で設定された範囲まで特異姿勢に接近する場合のリミットである。第3のリミットに到達したロボットは過大な関節角速度指令が与えられる。ここで、ロボットの特異姿勢とは、ロボットの関節の位置と回転軸の方向などの運動学的な状態により、特定の自由度が失われた姿勢である。例えば、ロボット12の第2の関節軸J2、第4の関節軸J4、及び第6の関節軸J6が一直線上に並んだ姿勢で、特定方向に動作指令を与えると、これらの関節の関節角速度指令が過大になる。
リミット回避指令生成部14bは、前述のリミットの種類に対応して、1)第1のリミットを回避するための関節角速度指令φJLC、2)第2のリミットを回避するための関節角速度指令φOAC、及び3)第3のリミットを回避するための関節角速度指令φSACをそれぞれ生成できる。これら関節角速度指令φJLC、φOAC、φSACの詳細な生成方法については後述する。
リミット回避指令生成部14bは、生成した関節角速度指令φJLC、φOAC、φSACの和を関節角速度指令φLMTとして出力できる。
リミット回避指令生成部14bは、生成した関節角速度指令φJLC、φOAC、φSACの和を関節角速度指令φLMTとして出力できる。
姿勢最適化指令生成部14cは、教示ペンダント16から信号Bが入力されると、ロボット12の姿勢を最適化するための関節角速度指令(関節角速度指令B)φOPTを出力できる。信号Bについては後述する。
ここで、ロボット12の姿勢の最適化には、例えば、以下の第1及び第2の最適化がある。第1の最適化は、ロボット12の動作時間を短縮するための最適化である。第2の最適化は、ロボット12の可操作度を向上させるための最適化である。
ここで、ロボット12の姿勢の最適化には、例えば、以下の第1及び第2の最適化がある。第1の最適化は、ロボット12の動作時間を短縮するための最適化である。第2の最適化は、ロボット12の可操作度を向上させるための最適化である。
姿勢最適化指令生成部14cは、最適化の種類に対応して、1)動作時間を短縮するための関節角速度指令φTMC、及び2)可操作度向上のための関節角速度指令φSACをそれぞれ生成できる。これら関節角速度指令φTMC、φSACの詳細な生成方法については後述する。なお、最適化の種類は、教示ペンダント16から出力される信号BSELの値に基づいて判断される。
姿勢最適化指令生成部14cは、生成した各関節角速度指令φTMC、φSACを関節角速度指令φOPTとして出力できる。
姿勢最適化指令生成部14cは、生成した各関節角速度指令φTMC、φSACを関節角速度指令φOPTとして出力できる。
ゼロ空間行列計算部14dは、ロボット12の関節角度に基づいて、ロボット12の手先(制御点の一例)に関するヤコビ行列Jのゼロ空間行列Nを計算できる。詳細には、ゼロ空間行列計算部14dは、関節角度(関節角度の現在値)からロボット12の手先の位置姿勢及び各関節軸J1〜J7の方向を求め、ロボット12の手先に関するヤコビ行列のゼロ空間行列を計算できる。
このゼロ空間行列とは、冗長ロボットにおいて、手先の位置姿勢を維持したまま、冗長自由度の動作指令を生成するための演算行列である。ここで、この動作指令は、冗長軸という特定の軸のみに対する指令ではなく、冗長自由度(手先の位置姿勢に影響の無い関節自由度)に対する指令であって、制御対象軸は、冗長軸を含む全ての軸又は一部の軸であり、制御周期毎のロボットの姿勢、動作方向に応じて異なる。ここで、この制御対象軸について、ロボット座標系CrのY軸回りにそれぞれ回転する3つの関節軸(第1〜第3の関節軸)のみを有する3軸ロボットを例に説明する。この場合の冗長自由度としての制御対象軸は、3軸ロボットの第1〜第3の関節軸のうちの1つの関節軸に限られるのではなく、手先位置を維持したまま、ロボット座標系CrのY軸回りに回転できる(姿勢を変化させる事ができる)第1〜第3の関節軸のうちの少なくとも1つの関節軸である。いずれの関節軸を制御対象軸とするかはゼロ空間行列を用いて計算される。例えば、第3の関節軸が動作リミットに到達し、Z軸方向又はX軸方向へ手先を移動させる動作に寄与できない場合には、冗長自由度としての制御対象軸は第1の関節軸及び第2の関節軸となる。
ゼロ空間行列Nは、手先に関するヤコビ行列J、ヤコビ行列の擬似逆行列J+、単位行列Iに基づいて、次式により計算される。
このゼロ空間行列とは、冗長ロボットにおいて、手先の位置姿勢を維持したまま、冗長自由度の動作指令を生成するための演算行列である。ここで、この動作指令は、冗長軸という特定の軸のみに対する指令ではなく、冗長自由度(手先の位置姿勢に影響の無い関節自由度)に対する指令であって、制御対象軸は、冗長軸を含む全ての軸又は一部の軸であり、制御周期毎のロボットの姿勢、動作方向に応じて異なる。ここで、この制御対象軸について、ロボット座標系CrのY軸回りにそれぞれ回転する3つの関節軸(第1〜第3の関節軸)のみを有する3軸ロボットを例に説明する。この場合の冗長自由度としての制御対象軸は、3軸ロボットの第1〜第3の関節軸のうちの1つの関節軸に限られるのではなく、手先位置を維持したまま、ロボット座標系CrのY軸回りに回転できる(姿勢を変化させる事ができる)第1〜第3の関節軸のうちの少なくとも1つの関節軸である。いずれの関節軸を制御対象軸とするかはゼロ空間行列を用いて計算される。例えば、第3の関節軸が動作リミットに到達し、Z軸方向又はX軸方向へ手先を移動させる動作に寄与できない場合には、冗長自由度としての制御対象軸は第1の関節軸及び第2の関節軸となる。
ゼロ空間行列Nは、手先に関するヤコビ行列J、ヤコビ行列の擬似逆行列J+、単位行列Iに基づいて、次式により計算される。
N=I−J+J 式(1)
ロボット12の手先以外の箇所を制御対象箇所(制御点)とする場合には、制御対象箇所のヤコビ行列が用いられる。
なお、ロボット12の関節角度及び関節角速度は、エンコーダからフィードバックされたエンコーダ値に減速比を乗算した結果に基づいて求められる。
なお、ロボット12の関節角度及び関節角速度は、エンコーダからフィードバックされたエンコーダ値に減速比を乗算した結果に基づいて求められる。
第2の指令生成部14eは、関節角速度指令φLMT、関節角速度指令φOPT、及びゼロ空間行列Nに基づいて、関節角速度指令(第2の関節角速度指令)ωref2を生成できる。生成された関節角速度指令ωref2は、第1の指令生成部14aが生成した関節角速度指令ωref1に加算され、関節角速度指令(第3の関節角速度指令)ωref3となる(図1参照)。
位置速度制御部14fは、関節角速度指令ωref3と関節角速度フィードバックωfbとの差eに基づいて、サーボモータを制御し、各関節の位置速度を制御できる。本実施例では、位置速度制御部14fへの指令として、関節角速度指令ωref3を使用している。なお、位置速度制御部14fへの指令として、ロボット12の現在の関節角度に関節角速度指令ωref3を加算した関節角度指令を使用してもよい。
なお、位置速度制御部14fは、ロボット12を構成する関節軸J1〜J7の数に対応する分だけ設けられている。
なお、位置速度制御部14fは、ロボット12を構成する関節軸J1〜J7の数に対応する分だけ設けられている。
監視部14gは、ロボット12がリミットに到達したか否かを判定できる。監視部14gは、リミットに到達した場合には、ロボット12の動作を停止し、アラームを出力できる。
具体的には、監視部14gは、各関節軸J1〜J7の角度を監視することによって、第1のリミットに到達したか否かを判定できる。
また、監視部14gは、予め登録された障害物の位置及び寸法に基づいてロボット12と障害物との距離を計算し、第2のリミットに到達したことを判定できる。障害物の位置及び寸法が予めロボット制御装置14に登録されていない場合には、操作者が目視により第2のリミットに到達したことを判定し、ロボット12の動作を停止することもできる。
また、監視部14gは、ロボット12が特異姿勢に接近すると過大な関節角速度指令ωref3が生成されるので、ロボット12の姿勢(ロボット12の関節角度の現在値θfb)と関節角速度指令ωref3を監視することによって、第3のリミットに到達したか否かを判定できる。ロボット12の特異姿勢は、第2の関節軸J2、第4の関節軸J4、及び第6の関節軸J6が一直線上に並んだ姿勢である。ロボットの特異姿勢は、リンクの構成によって異なる。
具体的には、監視部14gは、各関節軸J1〜J7の角度を監視することによって、第1のリミットに到達したか否かを判定できる。
また、監視部14gは、予め登録された障害物の位置及び寸法に基づいてロボット12と障害物との距離を計算し、第2のリミットに到達したことを判定できる。障害物の位置及び寸法が予めロボット制御装置14に登録されていない場合には、操作者が目視により第2のリミットに到達したことを判定し、ロボット12の動作を停止することもできる。
また、監視部14gは、ロボット12が特異姿勢に接近すると過大な関節角速度指令ωref3が生成されるので、ロボット12の姿勢(ロボット12の関節角度の現在値θfb)と関節角速度指令ωref3を監視することによって、第3のリミットに到達したか否かを判定できる。ロボット12の特異姿勢は、第2の関節軸J2、第4の関節軸J4、及び第6の関節軸J6が一直線上に並んだ姿勢である。ロボットの特異姿勢は、リンクの構成によって異なる。
教示ペンダント16は、ロボット制御装置14に接続されている。教示ペンダント16には、ジョグ操作ボタン20、第1のリミット回避ボタン(第1の信号出力部の一例)21、第1の姿勢最適化ボタン(第2の信号出力部の一例)22及び表示画面32が設けられている。
ロボット12の操作者は、教示ペンダント16に設けられたジョグ操作ボタン20を用いて、ロボット12をジョグ操作し、ロボット12の作業プログラムの教示を行うことができる。
また、操作者は、教示ペンダント16に設けられた再生ボタン19を用いて作業プログラムの再生動作を行うことができる。
更に、操作者は、教示ペンダント16を用いて、ロボット12の制御対象箇所(制御点)を指定の座標系に基づいて動作させることができる。
ロボット12の操作者は、教示ペンダント16に設けられたジョグ操作ボタン20を用いて、ロボット12をジョグ操作し、ロボット12の作業プログラムの教示を行うことができる。
また、操作者は、教示ペンダント16に設けられた再生ボタン19を用いて作業プログラムの再生動作を行うことができる。
更に、操作者は、教示ペンダント16を用いて、ロボット12の制御対象箇所(制御点)を指定の座標系に基づいて動作させることができる。
ここで、制御対象箇所は、例えば、ロボット12の手先である。制御対象箇所の他の例として、ロボット12の関節の特定部位や手先に取付けたエンドエフェクタの先端等が挙げられる。
また、指定の座標系とは、例えば、ロボット座標系Crである。指定の座標系としてロボット座標系Crが選択されている場合には、ロボット12の手先をX軸方向、Y軸方向及びZ軸方向並びにX軸回りの回転方向、Y軸回りの回転方向及びZ軸回りの回転方向に移動させることができる。指定の座標系の他の例として、関節座標系やロボット12の操作者が任意に設定した座標系等が挙げられる。
ジョグ操作ボタン20は、操作者がロボット12をジョグ操作するためのボタンである。ジョグ操作ボタン20が押されると、教示ペンダント16は、予め設定された手先速度指令Vを出力する。
第1のリミット回避ボタン21は、操作者が、リミットを回避することを指示するためのボタンである。第1のリミット回避ボタン21が押されると、教示ペンダント16は、信号Aを出力する。第1のリミット回避ボタン21は、モーメンタリ動作する。つまり、教示ペンダント16は、第1のリミット回避ボタン21が押されている間、信号Aを出力する。
第1の姿勢最適化ボタン22は、操作者が、ロボット12の姿勢を最適化することを指示するためのボタンである。教示ペンダント16は、第1の姿勢最適化ボタン22が押されると、信号Bを出力する。第1の姿勢最適化ボタン22は、モーメンタリ動作する。つまり、教示ペンダント16は、第1の姿勢最適化ボタン22が押されている間、信号Bを出力する。
教示ペンダント16の表示画面32には、ロボット制御装置14が有する機能に応じた表示領域が構成されるとともに、この表示領域に文字や画像等の情報が表示される。後述するロボット12の姿勢の最適化を支援するための姿勢最適化支援機能を実行する際には、表示画面32には、例えば図5に示すように、左側に表示領域D1、右側上部に表示領域D2、右側下部に表示領域D3が構成される。表示領域D1には、ロボット12の教示データを記述した教示プログラムが表示される。表示領域D2には、現在のロボット12の姿勢を表すグラフィックス画像が表示される。表示領域D3には、姿勢が最適化されるロボット12を表すグラフィックス画像が表示される。
教示ペンダント16は、図6に示すように、姿勢最適化指令生成部16cと、ゼロ空間行列計算部16dと、第2の指令生成部16eと、ロボットモデル描画部(描画部の一例)16rとを更に有している。
姿勢最適化指令生成部16cは、ロボット制御装置14に設けられた姿勢最適化指令生成部14cと実質的に同じように動作する。姿勢最適化指令生成部16cは、信号Sが入力されると、ロボット12の姿勢を最適化するための関節角速度指令φOPTaを出力できる。
姿勢最適化指令生成部16cは、ロボット制御装置14に設けられた姿勢最適化指令生成部14cと実質的に同じように動作する。姿勢最適化指令生成部16cは、信号Sが入力されると、ロボット12の姿勢を最適化するための関節角速度指令φOPTaを出力できる。
ゼロ空間行列計算部16dは、ロボット制御装置14に設けられたゼロ空間行列計算部14dと実質的に同じように動作する。ゼロ空間行列計算部16dは、ロボットモデル描画部16rが出力する関節角度θmfbに基づいて、ロボットモデルの手先に関するヤコビ行列のゼロ空間行列Naを計算できる。
第2の指令生成部16eは、ロボット制御装置14に設けられた第2の指令生成部14eと実質的に同じように動作する。第2の指令生成部16eは、関節角速度指令φOPTa及びゼロ空間行列Naに基づいて、関節角速度指令ωref2aを生成できる。生成された関節角速度指令ωref2aは、積分器16iにて積分され、ロボット制御装置14から送信されたロボット12の関節角度の現在値θfbに加算され、関節角度θmとなる。
ロボットモデル描画部16rは、ロボット12の関節角度に基づいて、ロボット12のグラフィックス画像を作成し、表示画面32に描画できる。ロボットモデル描画部16rは、ロボット制御装置14から送信されたロボット12の関節角度の現在値θfbに基づいて、その関節角度θfbのロボットモデルのグラフィックス画像を表示領域D2に描画できる。ロボット12の関節角度θfbが変化すれば、ロボットモデル描画部は、随時グラフィックス画像の描画を更新する。
また、ロボットモデル描画部16rは、関節角度θmに基づいて、関節の角度が角度θmとなるロボットモデルのグラフィックス画像を表示領域D3に描画できる。
教示ペンダント16には、操作者が操作する対象を実機のロボット12及び表示領域D3に表示されるロボットモデルのいずれか一方に切り替える切り替えボタン25(図1参照)が設けられている。
また、ロボットモデル描画部16rは、関節角度θmに基づいて、関節の角度が角度θmとなるロボットモデルのグラフィックス画像を表示領域D3に描画できる。
教示ペンダント16には、操作者が操作する対象を実機のロボット12及び表示領域D3に表示されるロボットモデルのいずれか一方に切り替える切り替えボタン25(図1参照)が設けられている。
なお、姿勢最適化指令生成部16c、ゼロ空間行列計算部16d、第2の指令生成部16e、及びロボットモデル描画部16rは、必ずしも、教示ペンダント16に設けられていなくてもよい。即ち、姿勢最適化指令生成部16c、ゼロ空間行列計算部16d、第2の指令生成部16e、及びロボットモデル描画部16rの一部が、例えばロボット制御装置14に設けられ、ロボット制御装置14と教示ペンダント16とが、互いに通信してデータを送受信することで、同様の構成を実現することもできる。
次に、図2を参照して、ロボットシステム10の動作について説明する。
操作者は、ジョグ操作ボタン20を押して、ロボット12の手先の位置姿勢を操作できる。手先の位置姿勢を操作している間に、ロボット12がリミットに到達した場合、操作者は、第1のリミット回避ボタン21を押し、冗長軸J3を含むロボット12の全関節軸J1〜J7を動作させ、手先の位置姿勢を維持しながら、リミットを回避できる。また、操作者は、第1の姿勢最適化ボタン22を押し、冗長軸J3を含むロボット12の全関節軸J1〜J7を動作させ、手先の位置姿勢を維持しながら、ロボット12の姿勢を最適化できる。
操作者は、ジョグ操作ボタン20を押して、ロボット12の手先の位置姿勢を操作できる。手先の位置姿勢を操作している間に、ロボット12がリミットに到達した場合、操作者は、第1のリミット回避ボタン21を押し、冗長軸J3を含むロボット12の全関節軸J1〜J7を動作させ、手先の位置姿勢を維持しながら、リミットを回避できる。また、操作者は、第1の姿勢最適化ボタン22を押し、冗長軸J3を含むロボット12の全関節軸J1〜J7を動作させ、手先の位置姿勢を維持しながら、ロボット12の姿勢を最適化できる。
(ステップSa1)
操作者がジョグ操作ボタン20を押して、ロボット12の手先を所望する位置姿勢に移動させる。
図1に示す第1の指令生成部14aに、教示ペンダント16から手先速度指令Vが入力される。第1の指令生成部14aは、手先速度指令V及びロボット12の手先に関するヤコビ行列の擬似逆行列J+に基づいて、式(2)を用いて関節角速度指令ωref1を生成する。
操作者がジョグ操作ボタン20を押して、ロボット12の手先を所望する位置姿勢に移動させる。
図1に示す第1の指令生成部14aに、教示ペンダント16から手先速度指令Vが入力される。第1の指令生成部14aは、手先速度指令V及びロボット12の手先に関するヤコビ行列の擬似逆行列J+に基づいて、式(2)を用いて関節角速度指令ωref1を生成する。
ωref1=J+V 式(2)
第1の指令生成部14aは、式(2)を用いずに関節角速度指令ωref1を生成してもよい。例えば、第1の指令生成部14aは、手先速度指令Vを積分して手先位置指令に変換した後、逆運動学計算することによって、関節角速度指令ωref1を生成できる。
(ステップSa2)
監視部14gが、ロボット12がリミットに到達したか否かを判定する。
監視部14gが、ロボット12がリミットに到達したと判断した場合には、ロボット12を停止し、アラームを出力する。その後、次ステップSa3に示すリミットを回避するためのリミット回避動作が実行される。
監視部14gが、ロボット12がリミットに到達していないと判断した場合には、ステップSa4に進む。
監視部14gが、ロボット12がリミットに到達したか否かを判定する。
監視部14gが、ロボット12がリミットに到達したと判断した場合には、ロボット12を停止し、アラームを出力する。その後、次ステップSa3に示すリミットを回避するためのリミット回避動作が実行される。
監視部14gが、ロボット12がリミットに到達していないと判断した場合には、ステップSa4に進む。
(ステップSa3)
ロボット12の操作者がジョグ操作ボタン20から指を離し、第1のリミット回避ボタン21を押すと、信号Aがリミット回避指令生成部14b(図1参照)に入力され、以下のステップSa31及びステップSa32(図3参照)が順に処理される。
その結果、ロボット12は、リミットを回避するためのリミット回避動作を実行する。
ロボット12の操作者がジョグ操作ボタン20から指を離し、第1のリミット回避ボタン21を押すと、信号Aがリミット回避指令生成部14b(図1参照)に入力され、以下のステップSa31及びステップSa32(図3参照)が順に処理される。
その結果、ロボット12は、リミットを回避するためのリミット回避動作を実行する。
(ステップSa31)
リミット回避指令生成部14bが、監視部14gが出力したアラームに対応する第1〜第3のリミットをそれぞれ回避するための関節角速度指令φJLC、φOAC、φSACを計算する。以下、各関節角度指令φJLC、φOAC、φSACの計算方法について説明する。
リミット回避指令生成部14bが、監視部14gが出力したアラームに対応する第1〜第3のリミットをそれぞれ回避するための関節角速度指令φJLC、φOAC、φSACを計算する。以下、各関節角度指令φJLC、φOAC、φSACの計算方法について説明する。
(1)関節角速度指令φJLCの計算
第1のリミットを回避するための関節角速度指令φJLCは、評価関数VJLC(評価関数Aの一例)に基づいて、式(3)、式(4a)、式(4b)により計算される。
第1のリミットを回避するための関節角速度指令φJLCは、評価関数VJLC(評価関数Aの一例)に基づいて、式(3)、式(4a)、式(4b)により計算される。
φJLC = −grad(VJLC) 式(3)
θ―<θ<θ+の場合:
VJLC = 0 式(4a)
θ―<θ<θ+以外の場合:
VJLC = 0.5KJLC(θLIM−θ)2 式(4b)
VJLC = 0 式(4a)
θ―<θ<θ+以外の場合:
VJLC = 0.5KJLC(θLIM−θ)2 式(4b)
式(3)、式(4a)及び式(4b)の処理は、各関節軸J1〜J7について行われる。係数KJLCは関節角速度指令のゲイン(重み)である。
角度θLIMは、各関節の可動範囲を制限するための角度(可動限界角度)として設定された設定角度である。角度θは、各関節の角度の現在値である。
角度θ−及び角度θ+はそれぞれ、設定角度θLIMの上限及び下限であり、評価関数VJLCが計算される制限領域を表す(図7参照)。
角度θLIMは、各関節の可動範囲を制限するための角度(可動限界角度)として設定された設定角度である。角度θは、各関節の角度の現在値である。
角度θ−及び角度θ+はそれぞれ、設定角度θLIMの上限及び下限であり、評価関数VJLCが計算される制限領域を表す(図7参照)。
式(4a)及び式(4b)に示すように、制限領域内に侵入した関節についてのみ評価関数VJLCを計算し、それ以外の関節は評価関数VJLCを0にする。なお、第1のリミットの回避が完了したら、関節角度指令は0となる。
評価関数VJLCは、式(4b)に示すように、設定角度θLIMと各関節の角度フィードバック(関節角度の現在値)θとの差の大きさに基づいて求められる。
従って、評価関数VJLCの勾配から、関節が関節可動域から遠ざかるように関節角速度指令φJLCが計算される。
評価関数VJLCは、式(4b)に示すように、設定角度θLIMと各関節の角度フィードバック(関節角度の現在値)θとの差の大きさに基づいて求められる。
従って、評価関数VJLCの勾配から、関節が関節可動域から遠ざかるように関節角速度指令φJLCが計算される。
(2)関節角速度指令φOACの計算
第2のリミットを回避するための関節角速度指令φOACは、評価関数VOAC(評価関数Aの一例)に基づいて、式(5)、式(6a)、式(6b)により計算される。
第2のリミットを回避するための関節角速度指令φOACは、評価関数VOAC(評価関数Aの一例)に基づいて、式(5)、式(6a)、式(6b)により計算される。
φOAC = −JP Tgrad(VOAC) 式(5)
D―<D<D+の場合:
VOAC = 0 式(6a)
D―<D<D+以外の場合:
VOAC = 0.5KOAC(DLIM−D)2 式(6b)
VOAC = 0 式(6a)
D―<D<D+以外の場合:
VOAC = 0.5KOAC(DLIM−D)2 式(6b)
式(5)において、行列JPは、ロボット12の障害物に最も近い箇所(最近点)から計算される最近点のヤコビ行列である。なお、最近点は、ロボット12がリミットを回避している間は、ロボット12の関節角度の現在値が変更されると新たに計算される。
式(5)の処理は、各関節軸J1〜J7について行われる。式(6a)及び式(6b)の処理はロボット座標系Crの各軸(X軸、Y軸及びZ軸)について行われる。係数KOACは回避指令のゲイン(重み)である。
距離DLIMは、障害物に対しロボット12が接近可能な距離として設定された設定距離である。障害物は、例えば、CADデータやオフラインシミュレータのモデルデータを読み込むことによって、ロボット制御装置14にモデルデータとして設定される。また、他の例として、障害物は、カメラやレーザセンサ等を用いて障害物のデータを実測することによって設定される。更に、他の例として、障害物は、操作者が教示ペンダント16を操作することによって設定される。
距離Dは、障害物からロボット12までの最短距離である。
距離D―及び距離D+は、それぞれ距離DLIMの上限及び下限であり、評価関数VOACが計算される制限領域を表す(図8参照)。
距離DLIMは、障害物に対しロボット12が接近可能な距離として設定された設定距離である。障害物は、例えば、CADデータやオフラインシミュレータのモデルデータを読み込むことによって、ロボット制御装置14にモデルデータとして設定される。また、他の例として、障害物は、カメラやレーザセンサ等を用いて障害物のデータを実測することによって設定される。更に、他の例として、障害物は、操作者が教示ペンダント16を操作することによって設定される。
距離Dは、障害物からロボット12までの最短距離である。
距離D―及び距離D+は、それぞれ距離DLIMの上限及び下限であり、評価関数VOACが計算される制限領域を表す(図8参照)。
式(6a)及び式(6b)に示すように、ロボット12が制限領域内に侵入した場合について評価関数VOACを計算し、それ以外は評価関数VOACを0にする。なお、第2のリミットの回避が完了したら、関節角速度指令φOACは0となる。
評価関数VOACは、式(6b)に示すように、距離DLIMと距離Dとの差の大きさに基づいて求められる。
従って、評価関数VOACの勾配及びヤコビ行列JPから、ロボット12が障害物から遠ざかるように関節角速度指令φOACが計算される。
評価関数VOACは、式(6b)に示すように、距離DLIMと距離Dとの差の大きさに基づいて求められる。
従って、評価関数VOACの勾配及びヤコビ行列JPから、ロボット12が障害物から遠ざかるように関節角速度指令φOACが計算される。
(3)関節角速度指令φSACの計算
第3のリミットを回避するための関節角速度指令φSACは、評価関数VSAC(評価関数Aの一例)に基づいて、式(7)、式(8a)、式(8b)により計算される。
第3のリミットを回避するための関節角速度指令φSACは、評価関数VSAC(評価関数Aの一例)に基づいて、式(7)、式(8a)、式(8b)により計算される。
φSAC = −grad(VSAC) 式(7)
ω―<ω<ω+の場合:
VSAC = 0 式(8a)
VSAC = 0 式(8a)
ω―<ω<ω+以外の場合:
式(7)、式(8a)及び式(8b)の処理は、各関節軸J1〜J7について行われる。係数KSACは関節角速度指令のゲイン(重み)である。
角速度指令ωは、各関節の角速度指令である。
角速度ω―及び角速度ω+は、それぞれ関節の角速度指令ωの上限と下限であり、評価関数VSACが計算される制限角速度を表す。
角速度指令ωは、各関節の角速度指令である。
角速度ω―及び角速度ω+は、それぞれ関節の角速度指令ωの上限と下限であり、評価関数VSACが計算される制限角速度を表す。
式(8a)及び式(8b)に示すように、制限角速度ω―、ω+を超えて関節角速度指令ωが与えられた関節についてのみ評価関数VSACを計算し、それ以外の関節は評価関数VSACを0にする。なお、第3のリミットの回避が完了したら、関節角速度指令φSACは0となる。
式(8a)、式(8b)の場合分けは、角速度指令ωに基づいて行われている。ただし、場合分けの前に特異姿勢の判定が行われる。つまり、ロボット12の姿勢に関する判定を事前に実施し、特異姿勢と判断した後に式(8a)、式(8b)が演算される。
評価関数VSACは、式(8b)に示すように、ロボット12の手先の可操作度に基づいて求められる。
従って、評価関数VSACの勾配から、関節が特異点から遠ざかるように関節角速度指令φSACが計算される。
式(8a)、式(8b)の場合分けは、角速度指令ωに基づいて行われている。ただし、場合分けの前に特異姿勢の判定が行われる。つまり、ロボット12の姿勢に関する判定を事前に実施し、特異姿勢と判断した後に式(8a)、式(8b)が演算される。
評価関数VSACは、式(8b)に示すように、ロボット12の手先の可操作度に基づいて求められる。
従って、評価関数VSACの勾配から、関節が特異点から遠ざかるように関節角速度指令φSACが計算される。
リミット回避指令生成部14bは、生成した各関節角速度指令φJLC、φOAC、φSACを関節角速度指令φLMTとして出力する。
ただし、リミット回避指令生成部14bは、生成した各関節角速度指令φJLC、φOAC、φSACの和を関節角速度指令φLMTとして出力する。即ち、2つ以上のリミットが発生した場合には、該当するリミットをそれぞれ回避するための関節角速度指令の和が、関節角速度指令φLMTとなる。
ただし、リミット回避指令生成部14bは、生成した各関節角速度指令φJLC、φOAC、φSACの和を関節角速度指令φLMTとして出力する。即ち、2つ以上のリミットが発生した場合には、該当するリミットをそれぞれ回避するための関節角速度指令の和が、関節角速度指令φLMTとなる。
(ステップSa32)
第2の指令生成部14eが、ゼロ空間行列Nを用いて手先の位置姿勢を維持しながらリミットを回避するための関節角速度指令ωLMTを次式により計算し、計算した関節角速度指令ωLMTを、関節角速度指令ωref2として生成する。前述のように、ゼロ空間行列Nを用いることにより、各制御周期で、冗長自由度としての制御対象軸を決定し、関節角速度指令ωLMTを計算するのである。
第2の指令生成部14eが、ゼロ空間行列Nを用いて手先の位置姿勢を維持しながらリミットを回避するための関節角速度指令ωLMTを次式により計算し、計算した関節角速度指令ωLMTを、関節角速度指令ωref2として生成する。前述のように、ゼロ空間行列Nを用いることにより、各制御周期で、冗長自由度としての制御対象軸を決定し、関節角速度指令ωLMTを計算するのである。
ωLMT = NφLMT 式(9)
ここで、関節角速度指令φLMTはリミット回避指令生成部14bが出力した、リミット回避のための関節角速度指令φJLC、φOAC、φSACの和である。
なお、式(9)以外に、式(10)〜式(12)を用いて、手先の位置姿勢を維持しながらリミット回避する関節角速度指令ωLMTを計算する方法がある。
VLMT = JφLMT 式(10)
ここで、VLMTはφLMTから計算された仮想的な手先速度指令である。
ここで、VLMTはφLMTから計算された仮想的な手先速度指令である。
式(12)の第1項目(φLMT)は、リミット回避するための関節角速度である。式(12)の第2項目は、VLMTを生み出す関節角速度の中で、角速度ノルムが最小となる関節角速度指令である。第1項目と第2項目とは異なるため、手先の位置姿勢を維持しながら、リミット回避を行うことができる。
ロボット12の操作者が第1のリミット回避ボタン21から指を離すと、第2の指令生成部14eが出力する関節角速度指令ωref2はゼロとなる。
以上、ステップSa31及びステップSa32が順に処理されることによって、ステップSa3に示したリミット回避動作が行われる。
以上、ステップSa31及びステップSa32が順に処理されることによって、ステップSa3に示したリミット回避動作が行われる。
このように、ロボット12がリミットに到達した場合に、第1のリミット回避ボタン21を用いることで、例えば、ロボット12の操作者は冗長軸をどちらの方向に、何度移動させればリミット回避できるかという回避動作を気にする手間が低減される。即ち、操作者は、第1のリミット回避ボタン21を押して、オンラインでリミット回避をすることができる。また、操作者は、第1のリミット回避ボタン21を押す時間を調整することにより、実機のロボット12の関節の動作角度を決定できる。
(ステップSa4)
操作者が、ロボット12の手先の位置姿勢が所望の位置姿勢に到達したかを判断する。
操作者が所望の位置姿勢に到達したと判断した場合には、次ステップSa5が実行される。
一方、操作者が、所望の位置姿勢に到達していないと判断した場合には、ステップSa1が実行される。即ち、操作者が、教示ペンダント16を用いて、ロボット12を再度移動させる。ただし、ロボット12が動作範囲の限界(到達限界)に到達した場合、ロボット12は、それ以上は所定方向に移動できない。到達限界は、ロボット12のリンク長や関節可動域などの設計上のパラメータから決定される。到達限界は、ロボット制御装置14に予め設定されている。
操作者が、ロボット12の手先の位置姿勢が所望の位置姿勢に到達したかを判断する。
操作者が所望の位置姿勢に到達したと判断した場合には、次ステップSa5が実行される。
一方、操作者が、所望の位置姿勢に到達していないと判断した場合には、ステップSa1が実行される。即ち、操作者が、教示ペンダント16を用いて、ロボット12を再度移動させる。ただし、ロボット12が動作範囲の限界(到達限界)に到達した場合、ロボット12は、それ以上は所定方向に移動できない。到達限界は、ロボット12のリンク長や関節可動域などの設計上のパラメータから決定される。到達限界は、ロボット制御装置14に予め設定されている。
(ステップSa5)
手先の位置姿勢が所望する位置姿勢に到達した際に、操作者が、最適化の種類(第1の最適化又は第2の最適化)を選択し、ロボット12の操作者が第1の姿勢最適化ボタン22を押すと、信号BSEL及び信号Bが姿勢最適化指令生成部14cに入力される。その後、以下のステップSa51及びステップSa52(図4参照)が順に処理される。
その結果、ロボット12の冗長自由度を使用して、手先の位置姿勢を維持しながら冗長自由度を有するロボット12の姿勢を最適化する姿勢最適化動作が実行される。
手先の位置姿勢が所望する位置姿勢に到達した際に、操作者が、最適化の種類(第1の最適化又は第2の最適化)を選択し、ロボット12の操作者が第1の姿勢最適化ボタン22を押すと、信号BSEL及び信号Bが姿勢最適化指令生成部14cに入力される。その後、以下のステップSa51及びステップSa52(図4参照)が順に処理される。
その結果、ロボット12の冗長自由度を使用して、手先の位置姿勢を維持しながら冗長自由度を有するロボット12の姿勢を最適化する姿勢最適化動作が実行される。
(ステップSa51)
図1に示す姿勢最適化指令生成部14cが、操作者によって選択された最適化の種類(信号BSELの値)に応じて、動作時間短縮のための関節角速度指令φTMC又は可操作度向上のための関節角速度指令φSACを計算する。なお、リミット回避指令生成部14bで生成される、第3のリミットを回避するためのφSACと、姿勢最適化指令生成部14cで生成される、可操作度向上のためのφSACとは、両者とも特異点から離そうとする指令なので、同じ変数φSACを用いている。
図1に示す姿勢最適化指令生成部14cが、操作者によって選択された最適化の種類(信号BSELの値)に応じて、動作時間短縮のための関節角速度指令φTMC又は可操作度向上のための関節角速度指令φSACを計算する。なお、リミット回避指令生成部14bで生成される、第3のリミットを回避するためのφSACと、姿勢最適化指令生成部14cで生成される、可操作度向上のためのφSACとは、両者とも特異点から離そうとする指令なので、同じ変数φSACを用いている。
(1)関節角速度指令φTMCの計算
動作時間短縮のための関節角速度指令φTMCは、評価関数VTMC(評価関数Bの一例)に基づいて、式(13)、式(14)により計算される。
動作時間短縮のための関節角速度指令φTMCは、評価関数VTMC(評価関数Bの一例)に基づいて、式(13)、式(14)により計算される。
φTMC = −grad(VTMC) 式(13)
VTMC = 0.5KTMC(θTMC−θ)2 式(14)
式(13)及び式(14)において、変数iは、関節軸の番号(1〜7)を示している。係数KTMCは関節角速度指令のゲイン(重み)である。
角度θTMCは、前教示点(現教示点の1つ前の教示点)における関節角度である。現教示点におけるロボット12の関節軸の関節角度を、前教示点におけるロボット12の関節軸の関節角度に近づけるように制御することで、前教示点から現教示点までのロボット12の動作時間が短縮される。いずれの軸を制御対象とするかは(動作時間短縮のための関節角速度指令を与えるかは)、制御周期毎のロボットの姿勢、動作方向に応じて異なり、ゼロ空間行列Nを用いて計算する。
角度θは、各関節の角度の現在値である。
角度θTMCは、前教示点(現教示点の1つ前の教示点)における関節角度である。現教示点におけるロボット12の関節軸の関節角度を、前教示点におけるロボット12の関節軸の関節角度に近づけるように制御することで、前教示点から現教示点までのロボット12の動作時間が短縮される。いずれの軸を制御対象とするかは(動作時間短縮のための関節角速度指令を与えるかは)、制御周期毎のロボットの姿勢、動作方向に応じて異なり、ゼロ空間行列Nを用いて計算する。
角度θは、各関節の角度の現在値である。
式(14)に示すように、評価関数VTMCは、角度θTMCと各関節の角度フィードバック(各関節の角度の現在値)θとの差の大きさに基づいて求められる。
従って、評価関数VTMCの勾配から、前教示位置に近い関節角速度指令、つまり動作時間を短縮する関節角速度指令φTMCが計算される。
従って、評価関数VTMCの勾配から、前教示位置に近い関節角速度指令、つまり動作時間を短縮する関節角速度指令φTMCが計算される。
最大動作速度の大きい関節のゲインを大きく設定することで、より動作時間の短縮が可能となる。つまり、動作速度の大きい関節を大きく動作させ、動作速度の小さい関節を小さく動作させることによって、より効率的な動作指令が生成される。
(2)関節角速度指令φSACの計算
可操作度向上のための関節角速度指令φSACは、評価関数VSAC(評価関数Bの一例)に基づいて、式(15)、式(16)により計算される。
可操作度向上のための関節角速度指令φSACは、評価関数VSAC(評価関数Bの一例)に基づいて、式(15)、式(16)により計算される。
φSAC = −grad(VSAC) 式(15)
式(15)及び式(16)に示すように、評価関数VSACは、ロボット12の可操作度に基づいて計算され、ステップSa31の特異点回避と同様の方法により、関節角速度指令φSACが生成される。
(ステップSa52)
図1に示す第2の指令生成部14eが、ゼロ空間行列Nを用いて手先の位置姿勢を維持しながらロボット12の姿勢を最適化するための関節角速度指令ωOPTを次式により計算し、計算した関節角速度指令ωOPTを、関節角速度指令ωref2として生成する。
図1に示す第2の指令生成部14eが、ゼロ空間行列Nを用いて手先の位置姿勢を維持しながらロボット12の姿勢を最適化するための関節角速度指令ωOPTを次式により計算し、計算した関節角速度指令ωOPTを、関節角速度指令ωref2として生成する。
ωOPT = NφOPT 式(17)
ここで、関節角速度指令φOPTは姿勢最適化指令生成部14cが出力した、ロボット12の姿勢最適化のための関節角速度指令φTMC、φSACのいずれかである。
ロボット12の操作者が第1の姿勢最適化ボタン22から指を離すと、第2の指令生成部14eが出力する関節角速度指令ωref2はゼロとなる。
以上、ステップSa51及びステップSa52が順に処理されることによって、ステップSa5に示した姿勢最適化動作が行われる。
以上、ステップSa51及びステップSa52が順に処理されることによって、ステップSa5に示した姿勢最適化動作が行われる。
このように、手先に関するゼロ空間行列Nを用いることにより手先の位置姿勢を維持しながらロボット12の姿勢を最適化することができる。
ここで、ステップSa5において、ロボット12の操作者は、ロボット姿勢最適化支援機能を用いて、ロボット12の姿勢最適化動作における挙動を予測できる。以下、ロボット姿勢最適化支援機能について説明する。
前述の通り、表示領域D2には、図6に示すロボットモデル描画部16rにより、現在のロボットモデルのグラフィックス画像が描画されている。また、ロボットモデル描画部16rにより、表示領域D3には、姿勢を最適化したロボットモデルのグラフィックス画像が描画されている。
前述の通り、表示領域D2には、図6に示すロボットモデル描画部16rにより、現在のロボットモデルのグラフィックス画像が描画されている。また、ロボットモデル描画部16rにより、表示領域D3には、姿勢を最適化したロボットモデルのグラフィックス画像が描画されている。
まず、操作者は、ロボット12の手先が所望する位置姿勢に到達した後、図1に示す切り替えボタン25を押して、操作対象を実機のロボット12から表示領域D3に表示されたロボットモデルへと切り替える。また、最適化の種類(第1の最適化又は第2の最適化)を選択する。
次に、操作者は第1の姿勢最適化ボタン22を押す。教示ペンダント16の姿勢最適化指令生成部16cに信号S(図6参照)が入力される。姿勢最適化指令生成部16cは、ロボット12の操作者が選択した最適化の種類に応じた関節角速度指令φOPTaを計算する。第2の指令生成部16eは、姿勢最適化指令生成部16cが計算した関節角速度指令φOPTa及びゼロ空間行列計算部16dが計算したゼロ空間行列Naに基づいて、関節角速度指令ωref2aを生成する。
ロボットモデル描画部16rは、積分器16iにて積分された関節角速度指令にロボット制御装置14から送信されたロボット12の関節角度の現在値θfbが加算された関節角度θmに基づいて、その関節角度θmのロボットモデルのグラフィックス画像を表示領域D3に描画する。即ち、姿勢を最適化したロボット12のグラフィックス画像が表示領域D3に表示される。
なお、操作者は、第1の姿勢最適化ボタン22を押す時間を調整することにより、ロボットモデルの関節の動作角度(最適化の度合い)を決定できる。
なお、操作者は、第1の姿勢最適化ボタン22を押す時間を調整することにより、ロボットモデルの関節の動作角度(最適化の度合い)を決定できる。
図5に示す表示領域D3には、第2の最適化(可操作度を向上させるための最適化)により最適化されたロボット12が描画されている。表示領域D2に描画された現在のロボット12の姿勢に比べると、表示領域D3に描画されたロボット12の方が、手先の可操作度が向上している。
このように、操作者が姿勢最適化支援機能を実行することによって、姿勢を最適化したロボット12のグラフィックス画像を表示領域D3上で確認できる。
また、予め決定された統一的な評価指標(例えば、評価関数)を使って全教示データに関する冗長自由度を決定するのでは無く、教示位置毎に個別の評価指標を選択し、選択した評価指標により冗長自由度を最適化できる。換言すると、動作プログラム内の教示データに関する位置全てを同じ評価指標で最適化するのではなく、教示点毎に、操作者が最適化手段を選択できる。
また、予め決定された統一的な評価指標(例えば、評価関数)を使って全教示データに関する冗長自由度を決定するのでは無く、教示位置毎に個別の評価指標を選択し、選択した評価指標により冗長自由度を最適化できる。換言すると、動作プログラム内の教示データに関する位置全てを同じ評価指標で最適化するのではなく、教示点毎に、操作者が最適化手段を選択できる。
続いて操作者は、表示領域D3上にてロボットモデルの姿勢を確認した後、再度切り替えボタン25(図1参照)を押し、操作対象を表示領域D3に表示されたロボットモデルから実機へと切り替える。
操作者は、実機のロボット12の冗長自由度の姿勢を最適化して、最終的な教示位置を決定できる。
なお、操作者は、第1の姿勢最適化ボタン22を押す時間を調整することにより、実機のロボット12の関節の動作角度(最適化の度合い)を決定できる。
操作者は、実機のロボット12の冗長自由度の姿勢を最適化して、最終的な教示位置を決定できる。
なお、操作者は、第1の姿勢最適化ボタン22を押す時間を調整することにより、実機のロボット12の関節の動作角度(最適化の度合い)を決定できる。
以上説明したように、本実施例に係るロボットシステムは、ロボット12がリミットに到達する前に、手先の位置姿勢を維持しながらリミットを回避できる。また、ロボット12が目標位置に到達した後に、手先の位置姿勢を維持しながら冗長自由度の姿勢を最適化できる。即ち、操作者は、冗長自由度を含むロボット12の関節角度を、オンラインで決定できるので、冗長ロボットの操作性が向上する。
<第2の実施例>
続いて、本発明の第2の実施例に係るロボットシステムについて説明する。第1の実施例に係るロボットシステム10と同一の構成要素同じ符号を付して詳しい説明を省略する場合がある。
続いて、本発明の第2の実施例に係るロボットシステムについて説明する。第1の実施例に係るロボットシステム10と同一の構成要素同じ符号を付して詳しい説明を省略する場合がある。
教示ペンダント116には、図9に示すように、第2のリミット回避ボタン121及び第2の姿勢最適化ボタン122が更に設けられている。
第2のリミット回避ボタン121は、操作者が、リミットを回避することを指示するためのボタンである。第2のリミット回避ボタン121が押されると、教示ペンダント116は、信号Aを出力する。第2のリミット回避ボタン121は、オルタネート動作する。つまり、教示ペンダント116は、第2のリミット回避ボタン121が一度押されると、再度第2のリミット回避ボタン121が押されるまで、信号Aを出力する。
第2のリミット回避ボタン121は、操作者が、リミットを回避することを指示するためのボタンである。第2のリミット回避ボタン121が押されると、教示ペンダント116は、信号Aを出力する。第2のリミット回避ボタン121は、オルタネート動作する。つまり、教示ペンダント116は、第2のリミット回避ボタン121が一度押されると、再度第2のリミット回避ボタン121が押されるまで、信号Aを出力する。
第2の姿勢最適化ボタン122は、操作者が、ロボット12の姿勢を最適化することを指示するためのボタンである。第2の姿勢最適化ボタン122が押されると、教示ペンダント116は、信号Bを出力する。第2の姿勢最適化ボタン122は、オルタネート動作する。つまり、教示ペンダント116は、第2の姿勢最適化ボタン122が一度押されると、再度第2の姿勢最適化ボタン122が押されるまで、信号Bを出力する。
次に、第2の実施例に係るロボットシステムの動作について、図10に基づいて説明する。
(ステップSb1)
ロボット制御装置14が、ロボット12のCADデータやオフラインシミュレータから障害物とロボット12のモデルデータを読み込む。その結果、ロボット制御装置14に、障害物のモデルが設定される。
ロボット制御装置14が、ロボット12のCADデータやオフラインシミュレータから障害物とロボット12のモデルデータを読み込む。その結果、ロボット制御装置14に、障害物のモデルが設定される。
(ステップSb2)
操作者が教示ペンダント116に設けられた第2のリミット回避ボタン121及び第2の姿勢最適化ボタン122を押す。教示ペンダント116から出力された信号A及び信号Bが、それぞれロボット制御装置14のリミット回避指令生成部14b及び姿勢最適化指令生成部14cに入力される。
ロボット制御装置14のリミット回避指令生成部14b及び姿勢最適化指令生成部14cは、それぞれ関節角速度指令φLMT、φOPTを出力する。
操作者が教示ペンダント116に設けられた第2のリミット回避ボタン121及び第2の姿勢最適化ボタン122を押す。教示ペンダント116から出力された信号A及び信号Bが、それぞれロボット制御装置14のリミット回避指令生成部14b及び姿勢最適化指令生成部14cに入力される。
ロボット制御装置14のリミット回避指令生成部14b及び姿勢最適化指令生成部14cは、それぞれ関節角速度指令φLMT、φOPTを出力する。
(ステップSb3)
また、操作者が最適化の種類(第1の最適化又は第2の最適化)を選択する。姿勢最適化指令生成部14cに、最適化の種類に応じた信号BSELが入力される。
また、操作者が最適化の種類(第1の最適化又は第2の最適化)を選択する。姿勢最適化指令生成部14cに、最適化の種類に応じた信号BSELが入力される。
(ステップSb4)
操作者がロボット12の手先を所望する位置姿勢に移動させるため、ジョグ操作ボタン20を押して、ロボット12をジョグ操作すると、自動でリミット回避動作及び姿勢最適化動作が実行される。
操作者がロボット12の手先を所望する位置姿勢に移動させるため、ジョグ操作ボタン20を押して、ロボット12をジョグ操作すると、自動でリミット回避動作及び姿勢最適化動作が実行される。
リミット回避動作及び姿勢最適化動作の為の関節角速度指令は、それぞれ、第1の実施例にて説明したステップSa3及びステップSa5に示した処理と同様の方法により求められる。つまり、本ステップSb4では、式(2)に基づいて第1の指令生成部14aが出力した手先速度指令Vを実現する関節角速度指令ωref1と、第2の指令生成部14eが出力した関節角速度指令ωref2とが加算され、ロボット12の各関節角速度指令ωref3が生成される。この関節角速度指令ωref2は、手先の位置姿勢を維持しながらリミットを回避するための関節角速度指令ωLMT(式(9)参照)と、手先の位置姿勢を維持しながらロボット12の姿勢を最適化するための関節角速度指令ωOPT(式(17)参照)との和である。
第2のリミット回避ボタン121及び第2の姿勢最適化ボタン122を再度押した場合には、教示ペンダント116は、信号A及び信号Bの出力を停止し、リミット回避動作又は姿勢最適化動作の実行は解除される。
なお、操作者は、第2のリミット回避ボタン121又は第2の姿勢最適化ボタン122のいずれか一方のみを押して、リミット回避動作又は姿勢最適化動作のいずれか一方のみを実行することも可能である。
本実施例に示した方法によれば、自動でリミット回避動作及び姿勢最適化動作が実行されるので、冗長ロボットの操作性が向上する。
本発明は、前述の実施例に限定されるものではなく、本発明の要旨を変更しない範囲での変更は可能である。例えば、前述の実施例や変形例の一部又は全部を組み合わせて発明を構成する場合も本発明の技術的範囲に含まれる。
教示ペンダントには、第1及び第2のリミット回避ボタン並びに第1及び第2の姿勢最適化ボタンのうち、必要な機能に対応するボタンのみ設けることができる。
ボタンは、ハードウェアによるボタンに限定されるものではない。ボタンは、ソフトウェアによって実現されるボタンであっても良い。
本発明は、前述の実施例に示したように実機のロボットを用いる場合だけでなく、ロボットのシミュレーションモデルを用いる場合にも適用できる。即ち、オフラインシミュレータを用いて教示プログラムの妥当性を確認するためにも利用出来る。
10:ロボットシステム、12:ロボット、14:ロボット制御装置、14a:第1の指令生成部、14b:リミット回避指令生成部、14c:姿勢最適化指令生成部、14d:ゼロ空間行列計算部、14e:第2の指令生成部、14f:位置速度制御部、14g:監視部、16:教示ペンダント、16c:姿勢最適化指令生成部、16d:ゼロ空間行列計算部、16e:第2の指令生成部、16i:積分器、16r:ロボットモデル描画部、19:再生ボタン、20:ジョグ操作ボタン、21:第1のリミット回避ボタン、22:第1の姿勢最適化ボタン、25:切り替えボタン、32:表示画面、116:教示ペンダント、121:第2のリミット回避ボタン、122:第2の姿勢最適化ボタン
Claims (9)
- サーボモータによって駆動され、冗長軸を含む複数の関節軸を有するロボットと、
前記ロボットを制御するロボット制御装置とを備え、
前記ロボット制御装置は、入力された前記ロボットの制御点の速度指令に基づいて、前記ロボットの第1の関節角速度指令を生成する第1の指令生成部と、
信号Aが入力されている間、評価関数Aに基づいて、前記ロボットが動作限界となる状態を回避するための該ロボットの関節角速度指令Aを生成するリミット回避指令生成部と、
信号Bが入力されている間、評価関数Bに基づいて、前記ロボットの姿勢を最適化するための該ロボットの関節角速度指令Bを生成する姿勢最適化指令生成部と、
前記制御点に関するヤコビ行列のゼロ空間行列を計算するゼロ空間行列計算部と、
前記関節角速度指令A、前記関節角速度指令B、及び前記ゼロ空間行列に基づいて、前記ロボットの第2の関節角速度指令を生成する第2の指令生成部と、
前記第1及び第2の関節角速度指令の和である第3の関節角速度指令に基づいて、前記サーボモータを制御する制御部とを有するロボットシステム。 - 請求項1記載のロボットシステムにおいて、
前記評価関数Aは、前記ロボットの各関節の可動限界角度として設定された設定角度と該各関節の角度の現在値との差の大きさに基づいて計算され、
前記リミット回避指令生成部は、前記評価関数Aの勾配に基づいて前記関節角速度指令Aを生成するロボットシステム。 - 請求項1記載のロボットシステムにおいて、
前記評価関数Aは、障害物に前記ロボットが接近可能な距離として設定された設定距離と、該障害物から該ロボットまでの距離との差の大きさに基づいて計算され、
前記リミット回避指令生成部は、前記評価関数Aの勾配に基づいて前記関節角速度指令Aを生成するロボットシステム。 - 請求項1記載のロボットシステムにおいて、
前記評価関数Aは、前記ロボットの可操作度に基づいて計算され、
前記リミット回避指令生成部は、前記評価関数Aの勾配に基づいて前記関節角速度指令Aを生成するロボットシステム。 - 請求項1〜4のいずれか1項に記載のロボットシステムにおいて、
前記評価関数Bは、前記ロボットの前教示点における各関節の角度と該各関節の角度の現在値との差の大きさに基づいて計算され、
前記姿勢最適化指令生成部は、前記評価関数Bの勾配に基づいて前記関節角速度指令Bを生成するロボットシステム。 - 請求項1〜4のいずれか1項に記載のロボットシステムにおいて、
前記評価関数Bは、前記ロボットの可操作度に基づいて計算され、
前記姿勢最適化指令生成部は、前記評価関数Bの勾配に基づいて前記関節角速度指令Bを生成するロボットシステム。 - 請求項1〜6のいずれか1項に記載のロボットシステムにおいて、
前記ロボットの位置姿勢を教示するための教示ペンダントを更に備え、
前記教示ペンダントが、前記信号Aを出力するための第1の信号出力部及び前記信号Bを出力するための第2の信号出力部を有するロボットシステム。 - 請求項7記載のロボットシステムにおいて、
前記教示ペンダントは、表示画面と、
前記表示画面に現在の前記ロボットの姿勢を表すグラフィックス画像、及び該姿勢を最適化する前記ロボットのグラフィックス画像をそれぞれ描画する描画部を更に有するロボットシステム。 - 冗長軸を含む複数の関節軸を有するロボットの制御点の速度指令に基づいて、前記ロボットの第1の関節角速度指令を生成する第1の指令生成部と、
信号Aが入力されている間、評価関数Aに基づいて、前記ロボットが動作限界となる状態を回避するための該ロボットの関節角速度指令Aを生成するリミット回避指令生成部と、
信号Bが入力されている間、評価関数Bに基づいて、前記ロボットの姿勢を最適化するための該ロボットの関節角速度指令Bを生成する姿勢最適化指令生成部と、
前記制御点に関するヤコビ行列のゼロ空間行列を計算するゼロ空間行列計算部と、
前記関節角速度指令A、前記関節角速度指令B、及び前記ゼロ空間行列に基づいて、前記ロボットの第2の関節角速度指令を生成する第2の指令生成部と、
前記第1及び第2の関節角速度指令の和である第3の関節角速度指令に基づいて、サーボモータを制御する制御部とを有するロボット制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013533415A JPWO2013038544A1 (ja) | 2011-09-15 | 2011-09-15 | ロボットシステム及びロボット制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013533415A JPWO2013038544A1 (ja) | 2011-09-15 | 2011-09-15 | ロボットシステム及びロボット制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2013038544A1 true JPWO2013038544A1 (ja) | 2015-03-23 |
Family
ID=52821174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013533415A Pending JPWO2013038544A1 (ja) | 2011-09-15 | 2011-09-15 | ロボットシステム及びロボット制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPWO2013038544A1 (ja) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0596477A (ja) * | 1991-10-03 | 1993-04-20 | Mitsubishi Heavy Ind Ltd | マスタスレーブマニピユレータの制御方法 |
JPH05228864A (ja) * | 1992-02-19 | 1993-09-07 | Yaskawa Electric Corp | 冗長軸マニピュレータの肘移動制御装置 |
JPH09109072A (ja) * | 1995-10-11 | 1997-04-28 | Mitsubishi Heavy Ind Ltd | 冗長マニピュレータの制御方法 |
JP2003103482A (ja) * | 2001-09-28 | 2003-04-08 | Nachi Fujikoshi Corp | 調整用パラメータの設定方法 |
JP2004094399A (ja) * | 2002-08-29 | 2004-03-25 | Mitsubishi Heavy Ind Ltd | 多関節マニピュレータの制御方法及びその制御プログラム、並びにその制御システム |
JP2008238396A (ja) * | 2007-03-26 | 2008-10-09 | Honda Research Inst Europe Gmbh | ロボットのモーションの発生及び制御のための装置ならびに方法 |
JP2009521751A (ja) * | 2005-12-22 | 2009-06-04 | 本田技研工業株式会社 | 多関節システムの姿勢の再構築、リターゲット、軌道追従及び推定 |
JP2010082774A (ja) * | 2008-10-01 | 2010-04-15 | Kawasaki Heavy Ind Ltd | ロボット制御方法、ロボット制御装置、及びロボット操作装置 |
JP2010120124A (ja) * | 2008-11-20 | 2010-06-03 | Toyota Motor Corp | ロボットアームの教示システム及び方法 |
-
2011
- 2011-09-15 JP JP2013533415A patent/JPWO2013038544A1/ja active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0596477A (ja) * | 1991-10-03 | 1993-04-20 | Mitsubishi Heavy Ind Ltd | マスタスレーブマニピユレータの制御方法 |
JPH05228864A (ja) * | 1992-02-19 | 1993-09-07 | Yaskawa Electric Corp | 冗長軸マニピュレータの肘移動制御装置 |
JPH09109072A (ja) * | 1995-10-11 | 1997-04-28 | Mitsubishi Heavy Ind Ltd | 冗長マニピュレータの制御方法 |
JP2003103482A (ja) * | 2001-09-28 | 2003-04-08 | Nachi Fujikoshi Corp | 調整用パラメータの設定方法 |
JP2004094399A (ja) * | 2002-08-29 | 2004-03-25 | Mitsubishi Heavy Ind Ltd | 多関節マニピュレータの制御方法及びその制御プログラム、並びにその制御システム |
JP2009521751A (ja) * | 2005-12-22 | 2009-06-04 | 本田技研工業株式会社 | 多関節システムの姿勢の再構築、リターゲット、軌道追従及び推定 |
JP2008238396A (ja) * | 2007-03-26 | 2008-10-09 | Honda Research Inst Europe Gmbh | ロボットのモーションの発生及び制御のための装置ならびに方法 |
JP2010082774A (ja) * | 2008-10-01 | 2010-04-15 | Kawasaki Heavy Ind Ltd | ロボット制御方法、ロボット制御装置、及びロボット操作装置 |
JP2010120124A (ja) * | 2008-11-20 | 2010-06-03 | Toyota Motor Corp | ロボットアームの教示システム及び方法 |
Non-Patent Citations (4)
Title |
---|
JPN6015031036; 荒井 裕彦: '差分方程式拘束を伴う離散時間非ホロノミック系まの運動計画' 日本ロボット学会誌 第18巻/第6号, 20000915, pp.65-72 * |
JPN6015031039; Podhorodeski, R.P. ; Goldenberg, A.A. ; Fenton, R.G.: 'Resolving redundant manipulator joint rates and identifying special arm configurations using Jacobia' Robotics and Automation, IEEE Transactions on Volume : 7 , Issue:5, 199110, pp.607-618 * |
JPN6015031041; Kang, H.-J. ; Freeman, R.A.: 'Joint torque optimization of redundant manipulators via the null space damping method' Robotics and Automation, 1992. Proceedings., 1992 IEEE International Conference on vol.1, 19920512, pp.520-525 * |
JPN6015031043; Khatib, O.: 'A unified approach for motion and force control of robot manipulators: The operational space formula' Robotics and Automation, IEEE Journal of Volume:3 , Issue: 1, 198702, pp.43-53 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2013038544A1 (ja) | ロボットシステム及びロボット制御装置 | |
JP5893666B2 (ja) | 力に応じて動かすロボットのロボット制御装置およびロボットシステム | |
KR20180059888A (ko) | 로봇교시방법 및 로봇 암 제어장치 | |
JP5946859B2 (ja) | 力に応じて動かすロボットのロボット制御装置およびロボットシステム | |
US8977392B2 (en) | Robot control device, robot control method, robot control program, and robot system | |
JP6683671B2 (ja) | ジョグ座標系を設定するロボットの制御装置 | |
KR20180069031A (ko) | 로봇의 다이렉트 교시방법 | |
JP2012011498A (ja) | ロボットアーム操作システムおよびその操作方法 | |
US10427298B2 (en) | Robot system displaying information for teaching robot | |
JP7124440B2 (ja) | ロボット制御装置およびロボットシステム | |
WO2015186508A1 (ja) | 作業ロボットの教示データ生成装置及び教示データ生成方法 | |
US20180117764A1 (en) | Force control coordinate axis setting device, robot, and force control coordinate axis setting method | |
JP2007136590A (ja) | 冗長関節部を有する冗長ロボットの制御装置および制御方法 | |
WO2015137162A1 (ja) | 制御装置、ロボットシステム、および制御用データ生成方法 | |
JP2012192518A (ja) | 冗長関節部を有する冗長ロボットの制御装置および制御方法 | |
KR101787865B1 (ko) | 다관절 링크 기구의 역운동학 해법, 및 이 역운동학 해법을 이용한 교시 데이터 작성 장치 | |
Zi et al. | Comparative study of cable parallel manipulators with and without hybrid-driven planar five-bar mechanism | |
JP7260405B2 (ja) | オフラインプログラミング装置、ロボット制御装置および拡張現実システム | |
JP6338389B2 (ja) | 動力学計算方法及びプログラム、並びにシミュレーション装置 | |
JPWO2013038544A1 (ja) | ロボットシステム及びロボット制御装置 | |
JP2009166172A (ja) | ロボットのシミュレーション方法及びロボットのシミュレーション装置 | |
JP2015100874A (ja) | ロボットシステム | |
JP5755715B2 (ja) | ロボットの制御方法 | |
WO2020149020A1 (ja) | ロボット制御装置、ロボット制御方法、及びロボット制御プログラム | |
Turpel et al. | Balance-arm tablet computer stand for robotic camera control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150804 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20151201 |