(57)【要約】【課題】汎用性があり、どのようなタイプの多軸制御工作機械においても、共通の方法によって幾何誤差の補償値を効率良く算出することができる上、幾何誤差の補償値の計算用として、処理能力が低く安価なＣＰＵを搭載することを可能とする実用的な誤差補償値計算方法を提供する。【解決手段】幾何誤差の補償値を計算する際には、機械の駆動軸のつながり順番を示す第一インデックスと、幾何学的誤差を含んだ駆動軸のつながり順番を示す第二インデックスとを求める。しかる後、第一インデックスのつながり情報にしたがって基準ベクトルをマトリックス演算して第一ベクトルを求め、第二インデックスのつながり情報にしたがって基準ベクトルをマトリックス演算して第二ベクトルを求める。そして、得られた第一ベクトルと第二ベクトルとの差分を補償値として算出する。【選択図】図９
2012248098.tif 000002
【特許請求の範囲】
【請求項１】
機械の幾何学的誤差を補償するための補償値を計算する方法であって、
機械の駆動軸のつながり順番を示す第一インデックスと、幾何学的誤差を含んだ前記駆動軸のつながり順番を示す第二インデックスとを求め、前記第一インデックスのつながり順番に関する情報にしたがって基準ベクトルをマトリックス演算して第一ベクトルを求め、前記第二インデックスのつながり順番に関する情報にしたがって基準ベクトルをマトリックス演算して第二ベクトルを求め、前記第一ベクトルと第二ベクトルとの差分を補償値とすることを特徴とする機械の誤差補償値の計算方法。
【請求項２】
機械の幾何学的誤差を補償するための補償値を計算する方法であって、
機械の駆動軸のつながり順番を示す第一インデックスと、幾何学的誤差を含んだ前記駆動軸のつながり順番を示す第二インデックスとを求め、それらのインデックスの要素の種類に応じて予め対応付けられた計算処理を、前記第一インデックスのつながり情報にしたがって基準ベクトルに対して行って第一ベクトルを求めるとともに、前記第二インデックスのつながり情報にしたがって基準ベクトルに対して行って第二ベクトルを求め、前記第一ベクトルと第二ベクトルとの差分を補償値とすることを特徴とする機械の誤差補償値の計算方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多軸工作機械やロボット等の機械において幾何誤差を補償するための補償値を計算するための計算方法に関するものである。
【背景技術】
【０００２】
機械の一種として、能率の高い加工や複雑な形状のワークの加工を行う目的で従来の３軸マシニングセンタに回転軸や旋回軸を付加した５軸制御工作機械（５軸マシニングセンタ等）が知られている。そのような５軸制御工作機械の運動精度およびワークの形状精度に影響を及ぼす要因として、回転軸と並進軸の平行度や各回転軸間の回転中心の不一致等の各軸間の幾何学的な誤差（所謂、幾何誤差）を挙げることができる。５軸制御工作機械を製造する際に、かかる幾何誤差をなくすことは非常に困難である。それゆえ、特許文献１の如く、５軸制御工作機械を制御する際に、回転軸の中心ズレや傾き誤差を考慮して、工具とワークの相対関係が誤差のない機械と同じになるように、各軸の指令位置を補償して各軸を駆動する方法が考案されている。
【０００３】
かかる特許文献１の制御方法においては、補償値を計算する際に、構成される駆動軸の動作とそれに含まれる幾何誤差が、４行×４列のマトリックス（行列式）の乗算によって求められている。また、５軸制御工作機械を、軸構成の違いによって、主軸回転型、テーブル回転型、主軸・テーブル混合型との３タイプに分けて、それぞれ異なる計算式によって幾何誤差の補償値が算出されており、どのタイプの５軸制御工作機械の補償値の算出においても、下記の数１のように、４行×４列のマトリックスと４行×１列のマトリックスとの乗算が行われている。
【０００４】
【数１】
2012248098.tif 000003
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−２７２８８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１に示された幾何誤差の補償値の計算方法は、５軸制御工作機械のタイプによって別々の計算式を用いて補償値を算出するものであるため、汎用性がない。また、特許文献１に示された幾何誤差の補償値の計算方法は、４行×４列のマトリックスと４行×１列のマトリックスとの乗算を行うものであるため、１２回の加算処理と、１６回の乗算処理という膨大な計算処理を行わなければならず、非常に効率が悪い上、処理能力の高いＣＰＵが必要となる、という課題がある。
【０００７】
本発明の目的は、上記従来の幾何誤差の補償値の計算方法が有する問題点を解消し、汎用性があり、どのようなタイプの多軸制御工作機械においても、共通の方法によって幾何誤差の補償値を効率良く算出することができる上、幾何誤差の補償値の計算用として安価なＣＰＵを搭載することを可能とする実用的な機械の誤差補償値の計算方法（誤差補償値計算方法）を提供することにある。
【課題を解決するための手段】
【０００８】
請求項１に記載された発明（以下、第一の発明という）は、機械の幾何学的誤差を補償するための補償値を計算する方法であって、機械の駆動軸のつながり順番を示す第一インデックスと、幾何学的誤差を含んだ前記駆動軸のつながり順番を示す第二インデックスとを求め、前記第一インデックスのつながり順番に関する情報にしたがって基準ベクトルをマトリックス演算して第一ベクトルを求め、前記第二インデックスのつながり順番に関する情報にしたがって基準ベクトルをマトリックス演算して第二ベクトルを求め、前記第一ベクトルと第二ベクトルとの差分を補償値とすることを特徴とするものである。
【０００９】
請求項２に記載された発明（以下、第二の発明という）は、機械の幾何学的誤差を補償するための補償値を計算する方法であって、機械の駆動軸のつながり順番を示す第一インデックスと、幾何学的誤差を含んだ前記駆動軸のつながり順番を示す第二インデックスとを求め、それらのインデックスの要素の種類に応じて予め対応付けられた計算処理を、前記第一インデックスのつながり情報にしたがって基準ベクトルに対して行って第一ベクトルを求めるとともに、前記第二インデックスのつながり情報にしたがって基準ベクトルに対して行って第二ベクトルを求め、前記第一ベクトルと第二ベクトルとの差分を補償値とすることを特徴とするものである。
【発明の効果】
【００１０】
本発明に係る機械の誤差補償値計算方法は、汎用性があり、どのようなタイプの５軸制御工作機械（もしくは４軸以下あるいは６軸以上を制御する工作機械）においても、共通の方法によって幾何誤差の補償値を計算することができる。また、本発明に係る機械の誤差補償値計算方法によれば、計算量を少なくすることができ、効率良く幾何誤差の補償値を算出することができる上、幾何誤差の補償値の計算用として、処理能力が低く安価なＣＰＵを搭載することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】Ｘ軸、Ｙ軸、Ｚ軸の並進軸およびテーブル側にＡ軸、Ｃ軸の回転軸を有する５軸制御工作機械を示す模式図（斜視図）である。
【図２】５軸制御工作機械の制御機構を示すブロック図である。
【図３】機械立ち上げ時の処理内容を示すフローチャートである。
【図４】機械の軸構成を示す機構チェインの概念図である。
【図５】幾何誤差のない機械での計算順番を示すＩ−チェインの概念図である。
【図６】幾何誤差のない機械での計算順番を示すＩ−チェインの概念図である。
【図７】幾何誤差のある機械での計算順番を示すＲ−チェインの概念図である。
【図８】幾何誤差のある機械での計算順番を示すＲ−チェインの概念図である。
【図９】機械の幾何誤差の補償値計算処理の内容を示すフローチャートである。
【図１０】Ｘ軸、Ｙ軸、Ｚ軸の並進軸および主軸側にＢ軸、Ｃ軸の回転軸を有する５軸制御工作機械を示す模式図（斜視図）である。
【図１１】機械の軸構成を示す機構チェインの概念図である。
【図１２】幾何誤差のない機械での計算順番を示すＩ−チェインの概念図である。
【図１３】幾何誤差のある機械での計算順番を示すＲ−チェインの概念図である。
【図１４】場合分け計算処理の内容を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明（第一の発明および第二の発明）に係る幾何誤差を補償するための補償値を計算する方法（誤差補償値計算方法）の一実施形態について、図面に基づいて詳細に説明する。
【００１３】
［実施例１］
実施例１では、図１の如きテーブル側に２つの回転軸を有する５軸制御工作機械において、第一の発明に係る誤差補償値計算方法によって補償値を算出する一例について説明する。
【００１４】
＜多軸工作機械の構成＞
図１は、３つの並進軸と２つの回転軸を有する５軸制御工作機械（５軸制御マシニングセンタ）を示したものである（以下、単に工作機械Ｍ１という）。工作機械Ｍ１のベッド（基台）１には、主軸頭２、テーブル３、トラニオンユニット４が駆動制御可能に設置されている。主軸頭２は、並進軸であり互いに直交するＸ軸、Ｚ軸によって並進２自由度の運動が可能になっている。また、テーブル３は、トラニオンユニット４に内蔵された互いに直交した回転軸であるＡ軸、Ｃ軸によって回転２自由度の運動が可能になっているとともに、並進軸でありＸ・Ｚ軸に直交するＹ軸により並進１自由度の運動が可能になっている。かかる工作機械Ｍ１は、ＮＣ制御装置（図２参照）により、サーボモータ（図示せず）でＸ，Ｙ，Ｚ，Ａ，Ｃの各軸を駆動制御することによって、主軸頭２に装着される工具を用いて、テーブル３に固定されるワークを任意の形状に加工することができるようになっている。
【００１５】
図２は、上記した工作機械Ｍ１の制御機構を示すブロック図であり、主軸頭２、テーブル３、トラニオンユニット４を並進させるための各サーボモータ、および、テーブル３を回転させるための各サーボモータは、ＮＣ制御装置２１によって駆動制御されるようになっている。また、ＮＣ制御装置２１には、割出位置（割出条件）等を設定するための入力手段３１、算出された幾何誤差の補償値の結果等を出力するためのモニタ等の出力手段３２等が接続されている。さらに、ＮＣ制御装置２１には、記憶手段２２が設けられており、当該記憶手段２２内には、幾何誤差の補償値を算出するための各種のプログラムを記憶するためのプログラム記憶領域、各種の演算に用いる変数等を記憶するための変数記憶領域等が設けられている。
【００１６】
＜誤差補償値計算方法＞
上記した工作機械Ｍ１においては、主軸に装着された工具からテーブルに固定されるワークまでの駆動軸のつながりは、Ｚ軸、Ｘ軸、Ｙ軸、Ａ軸、Ｃ軸の順番になっており、外界に固定されるベッド１の位置、すなわちグラウンド座標系は、Ｙ軸とＸ軸との間になっている。なお、当該グラウンド座標系をｇで表し、工作機械Ｍ１の軸のつながりをＣＡＹｇＸＺと表記する。また、以下の説明においては、この軸構成を表すつながりを機構チェイン（Ｋ−Ｃｈａｉｎ）と総称する。
【００１７】
工作機械Ｍ１の主軸頭２に装着された工具の工具長をＴと仮定し、Ｘ軸、Ｙ軸、Ｚ軸、Ａ軸、Ｃ軸の指令値を、それぞれｘ，ｙ，ｚ，ａ，ｃと仮定する。工作機械Ｍ１に幾何誤差がない場合には、ワーク座標系における工具先端点ベクトルＷＰＩは、工具座標系における工具先端点ベクトルＴＰから、機構チェインにしたがって同時変換を行うことによって、下記の数２から求めることができる。
【００１８】
【数２】
2012248098.tif 000004
【００１９】
ここで、幾何誤差が各軸間の６自由度相対誤差εとして各軸間に存在すると考えると、幾何誤差が存在する場合のワーク座標系における工具先端点ベクトルＷＰＲは、以下の数３となる。
【００２０】
【数３】
2012248098.tif 000005
【００２１】
したがって、ワーク座標系における工具先端点の位置誤差ベクトルWΔＰは、以下の数４となる。
【００２２】
【数４】
2012248098.tif 000006
【００２３】
この誤差を補償するためのＸ，Ｙ，Ｚ軸の補償値としては、上記した位置誤差ベクトルを指令値の座標系に変換した指令値座標系での位置誤差ベクトルＯΔＰを用いることができる。そして、当該位置誤差ベクトルＯΔＰは、以下の数５から求めることができる。すなわち、指令値座標系は、Ｙ軸とＡ軸との間にあり、ワーク座標系から指令値座標系への変換は、ワーク座標系から逆行列で、Ｃ軸、Ａ軸の順番で掛け合わせることによって求めることができる。
【００２４】
【数５】
2012248098.tif 000007
【００２５】
上記数２〜５により、ワーク座標系から指令値座標系に変換された誤差のない場合の工具先端点ベクトルＯＰＩ、および、誤差のある場合の工具先端点ベクトルＯＰＲは、それぞれ、以下の数６、数７として表すことができる。
【００２６】
【数６】
2012248098.tif 000008
【００２７】
【数７】
2012248098.tif 000009
【００２８】
したがって、補償値となる位置誤差ベクトルＯΔＰは、以下の数８からも求めることができる。
【００２９】
【数８】
2012248098.tif 000010
【００３０】
上記数６〜８により、工作機械Ｍ１の如きテーブル側に回転軸が２軸あるタイプの５軸制御工作機械の補償値を求めることができる（なお、後述するように、他のタイプの工作機械では、別の数式を利用して補償値を求める必要がある）。
【００３１】
［実施例２］
実施例２では、第一の発明に係る誤差補償値計算方法を、すべてのタイプの工作機械に共通して使用できるようにアレンジする方法の一例について説明する。かかる計算方法においては、工作機械を制御するＮＣ装置の初期化時の処理において、上記した機構チェインに基づいて、幾何誤差がない場合の工具からワークまでの軸構成を示すＩ−チェイン、および、幾何誤差がある場合の工具からワークまでの軸構成を示すＲ−チェインを求めるとともに、幾何誤差パラメータを設定する。
【００３２】
図３は、ＮＣ装置２１の初期化時に行う処理の内容を示したものであり、当該初期化処理においては、まず、ステップ（Ｓ）１で、上記した機構チェイン（Ｋ−Ｃｈａｉｎ）を、予めＮＣ装置２１の記憶手段２２に記憶させておく。この際、機構チェイン内の各軸名称を、数字や記号に置き換える。図４は、記憶された機構チェインの概念図であり、右側が工具側になっており、左側がワーク側になっている。
【００３３】
次に、Ｓ２で、記憶された機構チェインから軸のつながりに関連したつながり情報を読み取り、幾何誤差がない場合の工具からワークまでの軸構成を示すＩ−チェインを作成する。図５は、作成されたＩ−チェインの概念図である。補償値を求める際には、Ｉ−チェインを指令値座標系に変換する必要があるため、ワーク座標系から指令値座標系まで逆にたどり、上記した数６のように相殺できる場合には相殺して、Ｉ−チェインを図６のように更新する。ここで、指令値座標系は、Ａ軸とＹ軸との間にある（すなわち、機構チェインにおいてグラウンド座標系からワーク側の最初の回転軸と直進軸との間にある）と判断できる。
【００３４】
同様に、Ｓ３で、幾何誤差がある場合の工具からワークまでの軸構成を示すＲ−チェインを図７のように作成する。さらに、指令値座標系まで逆にたどり、Ｒ−チェインを図８のように更新する。
【００３５】
一方、Ｓ４で、予め記憶手段２２に記憶しておいた幾何誤差パラメータを読み込み、Ｓ５で、幾何誤差パラメータとして設定しておく。この幾何誤差パラメータは、熱変位、重力による変形、直線軸の真直度誤差等の影響により可変なものとすることもできる。
【００３６】
次に、軸動作時の補償値の計算方法について、図９のフローチャートにしたがって説明する。補償値の計算においては、まず、Ｓ１１で、ＮＣ装置２１が入力されたＮＣプログラムを読み込み、解釈し、各軸の指令値を生成する。しかる後、Ｓ１２で、生成された回転軸の指令値に対してＳＩＮとＣＯＳを計算する。さらに、生成された各軸の指令値に対して、それぞれ変換マトリックスを用意する。また、ＮＣ装置２１の初期化処理で求めた（設定された）幾何誤差パラメータを用いて、幾何誤差のマトリックスも用意する。なお、この処理においても、幾何誤差パラメータを、熱変位や重力・慣性力による変形、直進軸の真直度誤差等により可変なものとすることができる。
【００３７】
次に、Ｓ１３で、Ｉ−チェイン内の軸順番にしたがって、工具座標系での工具先端点ベクトルＴＰを各変換マトリックスに掛け合わせていき、指令値座標系での工具先端点ベクトルＯＰＩを求める。
【００３８】
さらに、Ｓ１４で、Ｒ−チェイン内の軸順番にしたがって、工具座標系での誤差のない場合の工具先端点ベクトルＴＰを各変換マトリックスに掛け合わせていき、指令値座標系での誤差のある場合の工具先端点ベクトルＯＰＲを求める。
【００３９】
その後、上記した数８を用いて補償値OΔPを求める。
【００４０】
［実施例３］
実施例３では、図１０の如き主軸頭側に２つの回転軸を有する５軸制御工作機械において、第一の発明に係る誤差補償値計算方法によって補償値を求める一例について説明する。図１０の工作機械Ｍ２においては、主軸頭１２は、並進軸であり互いに直交するＹ軸、Ｚ軸によって並進２自由度の運動が可能になっているとともに、ユニバーサルヘッド１４に内蔵された互いに直交した回転軸であるＢ軸、Ｃ軸によって回転２自由度の運動が可能になっている。また、テーブル１３は、並進軸でありＹ・Ｚ軸に直交するＸ軸により並進１自由度の運動が可能になっている。かかる工作機械Ｍ２は、ＮＣ制御装置（図示せず）によりサーボモータでＸ，Ｙ，Ｚ，Ｂ，Ｃの各軸を駆動制御することによって、主軸頭１２に装着される工具を用いて、テーブル１３に固定されたワークを任意の形状に加工することができるようになっている（なお、実施例３の工作機械Ｍ２の制御機構は、実施例１，２の工作機械Ｍ１の制御機構と略同様である）。
【００４１】
上記した工作機械Ｍ２においては、工具からワークまでの駆動軸のつながりはＢ軸、Ｃ軸、Ｚ軸、Ｙ軸、Ｘ軸の順番になっており、機構チェインは、ＸｇＹＺＣＢと記述することができるため、機構チェインを図１１の如く示すことができる。また、指令値座標系は、Ｘの左側にあるため、Ｉ−チェインを図１２の如く示すことができ、Ｒ−チェインを図１３の如く示すことができる。そして、図１２、図１３に示された両チェインにしたがって、以下の数９によりＯＰＩを算出することができ、以下の数１０によりＯＰＲを算出することができる。そして、上記した数８から補償値となる位置誤差ベクトルＯΔＰを求めることができる。
【００４２】
【数９】
2012248098.tif 000011
【００４３】
【数１０】
2012248098.tif 000012
【００４４】
＜実施例４＞
実施例４では、第二の発明に係る誤差補償値計算方法によって補償値を算出する一例について説明する。上記した第一の発明に係る実施例１〜３においては、Ｉ−チェインおよびＲ−チェインの各要素にしたがってマトリックス乗算を行っているが、実施例４の計算方法においては、当該マトリックス乗算を要素毎に分類し、場合分けして計算処理を行う。すわなち、要素毎に以下の処理をおこなう。ここで、変換する基準ベクトルＰ＝［Ｐｘ，Ｐｙ，Ｐｚ］ｔとする。
【００４５】
１）要素がＸ，Ｙ，Ｚである場合
この場合には、対応したベクトル要素のみ加算を１回行う。たとえば、Ｘの場合には、下記の数１１のようにＰｘにのみ加算して更新する。
【００４６】
【数１１】
2012248098.tif 000013
【００４７】
２）要素がＡ，Ｂ，Ｃである場合
この場合には、指定した回転軸と平行な軸に対応したベクトル要素以外の２つの要素に対して、加算２回、乗算４回を行う。たとえば、Ａの場合には、下記の数１２のようにＰｙとＰｚとに対して加算・乗算を行い更新する。なお、ＣＯＳ，ＳＩＮは、上述のように予め求めておいたものを利用する。
【００４８】
【数１２】
2012248098.tif 000014
【００４９】
３）要素がＡ−１，Ｂ−１，Ｃ−１である場合
この場合には、要素がＡ，Ｂ，Ｃである場合と同様に、指定した回転軸と平行な軸に対応したベクトル要素以外の２つの要素に対して、加算２回、乗算４回を行うが、ＳＩＮの符号を逆にする。たとえば、Ａ−１の場合には、下記の数１３のようにＰｙとＰｚに対して加算・乗算を行い更新する。なお、ＣＯＳ，ＳＩＮは、上述のように予め求めておいたものを利用する。
【００５０】
【数１３】
2012248098.tif 000015
【００５１】
４）要素がε（εＷＣ，εＣＡ，εＡＹ，εＹＸ，εＸＺ，εＺＴ）である場合
この場合には、対応したεの幾何誤差パラメータα＊，β＊，γ＊，δｘ＊，δｙ＊，δｚ＊を用いて、加算９回、乗算６回を行う。たとえば、εＡＹの場合には、下記の数１４として求められる。この説明では、６つのパラメータをすべて計算しているが、εによっては、６つすべてに値が入らない場合があるので、さらに計算を細分化して場合分けしても良い。
【００５２】
【数１４】
2012248098.tif 000016
【００５３】
以下、上記の如き要素の場合分けを用いてＯＰＩもしくはＯＰＲを計算する方法について、図１４のフローチャートにしたがって説明する。
【００５４】
要素の場合分けを用いてＯＰＩ，ＯＰＲを計算する場合には、まず、Ｓ２１の如く、ベクトルＰを、上記した数３の工具先端点ベクトルＴＰになるように初期化する。次に、Ｓ２２で、ループカウンタｉを０にし、Ｉ−チェインもしくはＲ−チェインの最大ノード数ｎだけのループを行う（Ｓ２３〜Ｓ２８）。このループ内では、各チェインのｉ番目のノードを読み出し、対応した要素毎に場合分けされた計算を行い、Ｐを更新する。これを最大ノード数まで繰り返すことで得られるＰ（更新されたＰ）が、ＯＰＩもしくはＯＰＲとなる。
【００５５】
＜誤差補償値計算方法による効果＞
上記した実施例１〜４の各誤差補償値計算方法は、汎用性があり、どのようなタイプの５軸制御工作機械（もしくは４軸以下あるいは６軸以上を制御する工作機械）においても、共通の方法によって幾何誤差の補償値を計算することができる。また、上記した実施例１〜４の各誤差補償値計算方法によれば、計算量を少なくすることができ、効率良く幾何誤差の補償値を算出することができる上、幾何誤差の補償値の計算用として、処理能力が低く安価なＣＰＵを搭載することが可能となる。
【００５６】
＜幾何誤差計算方法の変更例＞
本発明に係る誤差補償値計算方法は、上記実施形態の態様に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で、必要に応じて適宜変更することができる。また、本発明に係る誤差補償値計算方法を利用可能な機械は、上記実施形態の如き５軸制御工作機械に限定されず、４軸以下の制御軸を有する工作機械や６軸以上の制御軸を有する工作機械においても、本発明に係る方法によって、誤差誤差の補償値を算出することが可能である。加えて、本発明に係る誤差補償値計算方法を利用可能な機械は、工作機械に限定されず、ロボット、産業機械、建築機械等においても、本発明に係る方法によって、誤差誤差の補償値を算出することが可能である。
【産業上の利用可能性】
【００５７】
本発明に係る誤差補償値計算方法は、上記の如く優れた効果を奏するものであるから、各種の機械において幾何誤差の補償値を計算する方法として好適に用いることができる。
【符号の説明】
【００５８】
Ｍ１，Ｍ２・・工作機械
１・・ベッド
２・・主軸頭
３・・テーブル
４・・トラニオンユニット
２１・・ＮＣ制御装置
【図１】
2012248098.tif 000017
【図２】
2012248098.tif 000018
【図３】
2012248098.tif 000019
【図４】
2012248098.tif 000020
【図５】
2012248098.tif 000021
【図６】
2012248098.tif 000022
【図７】
2012248098.tif 000023
【図８】
2012248098.tif 000024
【図９】
2012248098.tif 000025
【図１０】
2012248098.tif 000026
【図１１】
2012248098.tif 000027
【図１２】
2012248098.tif 000028
【図１３】
2012248098.tif 000029
【図１４】
2012248098.tif 000030