(57)【特許請求の範囲】
【請求項１】
本体と、本体の下部両側にて二軸方向に揺動可能に取り付けられた中間に膝部を有する二本の脚部と、各脚部の下端に取り付けられた足部と、各脚部，膝部及び足部を揺動させる駆動手段と、を備えた二脚歩行式移動装置において、
上記足部が、
対応する脚部下端に対して固定的に取り付けられるベース部と、
ベース部に固定配置された踵部と、
ベース部から実質的に前方に向かって並んで延び、且つベース部に対して上下方向に揺動可能に支持された一対の足先部と、
から構成され、上記踵部および上記一対の足先部に三軸力センサがそれぞれ配置されており、
さらに、要求動作に対応して、目標角度軌道、目標角速度、目標角加速度を含む歩容データを生成する歩容生成部と、
上記三軸力センサの検出信号に基づいて上記歩容生成部からの歩容データを修正し、上記駆動手段を駆動制御する歩行制御装置とを備え、
上記足部が上記踵部と上記一対の足先部とで三点支持されて不整地に着地し、かつ、上記歩容生成部で生成された歩容データを、不整地に着地している上記三軸力センサの検出信号に基づいて修正して、要求動作に対する歩行動作を行なえることを特徴とする、二脚歩行式移動装置。
【請求項２】
前記本体が人型ロボットの上体であって、頭部及び両手部を備えていることを特徴とする、請求項１に記載の二脚歩行式移動装置。
【請求項３】
前記駆動手段が、各足先部をそれぞれ揺動させることを特徴とする、請求項１または２に記載の二脚歩行式移動装置。
【請求項４】
前記駆動手段が、各足先部を同方向に等角度運動させることにより、各足先部を互いに一体的に揺動させることを特徴とする、請求項３に記載の二脚歩行式移動装置。
【請求項５】
前記駆動手段が、各足先部を異なる方向または異なる角速度で運動させることにより、各足先部を互いに別個に揺動させることを特徴とする、請求項３に記載の二脚歩行式移動装置。
【請求項６】
各三軸力センサが足裏から下方に突出していることを特徴とする、請求項１〜５の何れかに記載の二脚歩行式移動装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、二脚歩行式移動装置に関し、特に不整地歩行においても容易に歩行安定化を実現するようにした二脚歩行式移動装置に関するものである。
【０００２】
【従来の技術】
従来、所謂二脚歩行式ロボットは、前もって設定された歩行パターン（以下、歩容という）データを生成して、この歩容データに従って歩行制御を行なって、所定の歩行パターンで脚部を動作させることにより二脚歩行を実現するようにしている。
ところで、このような二脚歩行式ロボットは、例えば路面状況，ロボット自体の物理パラメータの誤差等によって、歩行の際の姿勢が不安定になりやすく、場合によっては転倒してしまう。
【０００３】
ここで、従来の二脚歩行式ロボットの脚部は、その下端に地面に接地すべき足部を備えており、このような足部は、例えば図６及び図７に示すように構成されている。図６において、二脚歩行式ロボットの足部１は、その下面が平坦に形成されていると共に、脚部２に対して、二軸方向に揺動可能に取り付けられており、二軸方向にそれぞれ駆動手段３，４により駆動されるようになっている。このような構成の足部１によれば、歩行における遊脚の着地の際に、足部１が二軸方向に適宜に揺動されることによって、平坦な地面に対して確実に接地するようになっている。
【０００４】
また、図７においては、二脚歩行式ロボットの足部５は、同様にその下面が平坦に形成されていると共に、脚部６に対して三軸方向に揺動可能に取り付けられており、三軸方向にそれぞれ駆動手段７，８，９により駆動されるようになっている。このような構成の足部５によれば、歩行における遊脚の着地の際に、足部５が三軸方向に適宜に揺動されることによって、平坦な地面に対してより一層確実に接地することができる。
【０００５】
【発明が解決しようとする課題】
しかしながら、このような構成の足部１，５においては、二脚歩行式ロボットの歩行制御は、整地された平坦な路面を歩行することが前提になっており、複雑な凹凸がある不安定な路面状況においては、足裏全体が路面に着地しなくなることがある。このような不整地歩行の場合、足裏における床反力を正確に検出することができず、歩行制御が困難になると共に、足部１，５が安定して着地できなくなることから、機構的にもロボットの安定性を確保することができず、ロボットの二脚歩行が困難になってしまう。
【０００６】
この発明は、上記の点にかんがみて、簡単な構造により、複雑な凹凸がある不安定な路面状況においても足部が確実に着地できるようにした、二脚歩行式移動装置を提供することを目的としている。
【０００７】
【課題を解決するための手段】
上記目的は、この発明の構成によれば、本体と、本体の下部両側にて二軸方向に揺動可能に取り付けられた中間に膝部を有する二本の脚部と、各脚部の下端に取り付けられた足部と、各脚部，膝部及び足部を揺動させる駆動手段と、を備えた二脚歩行式移動装置において、上記足部が、対応する脚部下端に対して固定的に取り付けられるベース部と、ベース部に固定配置された踵部と、ベース部から実質的に前方に向かって並んで延び、且つベース部に対して上下方向に揺動可能に支持された一対の足先部と、から構成され、上記踵部および上記一対の足先部に三軸力センサがそれぞれ配置されており、さらに、要求動作に対応して、目標角度軌道、目標角速度、目標角加速度を含む歩容データを生成する歩容生成部と、上記三軸力センサの検出信号に基づいて上記歩容生成部からの歩容データを修正し、上記駆動手段を駆動制御する歩行制御装置とを備え、上記足部が上記踵部と上記一対の足先部とで三点支持されて不整地に着地し、かつ、上記歩容生成部で生成された歩容データを、不整地に着地している上記三軸力センサの検出信号に基づいて修正して、要求動作に対する歩行動作を行なえることを特徴とする、二脚歩行式移動装置により、達成される。
【０００８】
本発明による二脚歩行式移動装置は、好ましくは、上記本体が人型ロボットの上体であって、頭部及び両手部を備えている。
【０００９】
本発明による二脚歩行式移動装置は、好ましくは、上記駆動手段が各足先部をそれぞれ揺動させる。
【００１０】
本発明による二脚歩行式移動装置は、好ましくは、上記駆動手段が各足先部を同方向に等角度運動させることにより、各足先部を互いに一体的に揺動させる。
【００１１】
本発明による二脚歩行式移動装置は、好ましくは、上記駆動手段が、各足先部を異なる方向または異なる角速度で運動させることにより、各足先部を互いに別個に揺動させる。
【００１２】
本発明による二脚歩行式移動装置は、好ましくは、各三軸力センサが足裏から下方に突出している。
【００１６】
上記の構成によれば、足部が、後端付近の踵部と、前端付近の二つの並んだ足先部により、三点支持されることになるので、複雑な凹凸を備えた路面等に足部が着地しているときでも、足部が、上記踵部及び二つの足先部により確実に接地することになる。従って、不安定な路面であっても、足部が路面等に確実に着地することができるので、二脚歩行式移動装置が機構的に安定して歩行することが可能となる。これにより、二脚歩行式移動装置の各足部の足裏が、複雑な凹凸を備えた不安定な路面状況であっても確実に着地することによって、二脚歩行式移動装置の安定性を確保することができ、確実に歩行制御を行なうことが可能である。また、三軸力センサが踵部および一対の足先部にそれぞれ配置されており、確実に着地した各三軸力センサの検出信号に基づいて歩容データを修正する。従って、二脚歩行式移動装置が、要求動作に対する歩容動作を確実に行なうことが可能となる。
【００１７】
上記駆動手段が、各足先部をそれぞれ揺動させる場合には、二つの足先部がそれぞれの駆動手段により揺動され、それぞれの所望の高さ位置に持ち来たされるので、固定された踵部に対して、各足先部がそれぞれ任意の高さに設定されることにより、複雑な凹凸を備えた不安定な路面状況であっても、足部が確実に着地することができる。
【００１８】
上記駆動手段が、各足先部を同方向に等角度運動させることにより、各足先部を互いに一体的に揺動させる場合には、少なくとも横方向に関して水平な路面においても、各足先部が同様に揺動されて足先全体が一体に揺動され、足部全体が確実に着地することができる。
【００１９】
上記駆動手段が、各足先部を異なる方向または異なる角速度で運動させることにより、各足先部を互いに別個に揺動させる場合には、少なくとも横方向に関して凹凸を備えた路面においても、各足先部がそれぞれ独立的に路面に対応して揺動されて、各足先部がそれぞれ路面に接地することになり、足部全体が確実に着地することができる。
【００２０】
【発明の実施の形態】
以下、図面に示した実施形態に基づいて、この発明を詳細に説明する。
図１乃至図２は、この発明による二脚歩行式移動装置を適用した二脚歩行式ロボットの一実施形態の構成を示している。図１において、二脚歩行式ロボット１０は、本体である上体１１と、上体１１の下部両側に取り付けられた中間に膝部１２Ｌ，１２Ｒを備えた二本の脚部１３Ｌ，１３Ｒと、各脚部１３Ｌ，１３Ｒの下端に取り付けられた足部１４Ｌ，１４Ｒと、を含んでいる。
【００２１】
ここで、上記脚部１３Ｌ，１３Ｒは、それぞれ六個の関節部、即ち上方から順に、上体１１に対する腰の脚部回旋用（ｚ軸周り）の関節部１５Ｌ，１５Ｒ、腰のロール方向（ｘ軸周り）の関節部１６Ｌ，１６Ｒ、腰のピッチ方向（ｙ軸周り）の関節部１７Ｌ，１７Ｒ、膝部１２Ｌ，１２Ｒのピッチ方向の関節部１８Ｌ，１８Ｒを備えている。なお、各関節部１５Ｌ，１５Ｒ乃至１８Ｌ，１８Ｒは、それぞれ関節駆動用モータにより構成されている。
【００２２】
また、上記足部１４Ｌ，１４Ｒは互いに左右対称に構成されており、以下に右の足部１４Ｌについて、図２により詳細に説明する。図２に示すように、左脚に対応する左の足部１４Ｌは、対応する脚部１３Ｌの下端に対して固定的に取り付けられるベース部１４ａと、ベース部１４ａの後端付近に固定配置された踵部１４ｂと、ベース部１４ａから実質的に前方に向かって並んで延び且つベース部に対して上下方向に揺動可能に支持された一対の足先部１４ｃ，１４ｄと、から構成されている。ベース部１４ａは、下腿リンク２２Ｌ，２２Ｒの下端で左右に水平方向に固定配置したリンクで構成され、このベース部１４ａの左右両端からそれぞれ一対のリンクが分岐されてその下端に、二つづつの関節駆動用モータ１９Ｌ，１９Ｒ及び２０Ｌ，２０Ｒを介してそれぞれ左右の一対の足先部１４ｃ，１４ｄ、１４ｃ，１４ｄが連結されて構成されている。
【００２３】
ここで、上記踵部１４ｂは、ベース部１４ａの横方向中央付近から後方に向かって斜め下方に延びたリンクで構成されている。
また、上記足先部１４ｃ，１４ｄは、それぞれベース部１４ａの横方向両側付近から前方に向かって延びており、先端が上下方向に揺動するように、ベース部１４ａに対してそれぞれ関節部１９Ｌ，２０Ｌを介して連結されている。
【００２４】
この関節部１９Ｌ，２０Ｌは、前述した他の関節部と同様にして、それぞれ関節駆動用モータにより構成されている。そして、足部１４Ｌの二つの関節部１９Ｌ，２０Ｌは、それぞれ互いに独立して駆動制御されるようになっている。
【００２５】
これに対して、右脚に対応する右の足部１４Ｒも、同様にして、ベース部１４ａ，踵部１４ｂそして二つの足先部１４ｃ，１４ｄを備えており、各足先部１４ｃ，１４ｄは、それぞれ関節部１９Ｌ，２０Ｌを介してベース部１４ａに対して上下方向に揺動可能に連結されている。
【００２６】
このようにして、腰関節は、上記関節部１５Ｌ，１５Ｒ，１６Ｌ，１６Ｒ，１７Ｌ，１７Ｒから構成され、また足関節は、関節部１９Ｌ，１９Ｒ，２０Ｌ，２０Ｒから構成されることになる。
さらに、腰関節と膝関節との間は、大腿リンク２１Ｌ，２１Ｒにより連結されており、また膝関節と足関節との間は、下腿リンク２２Ｌ，２２Ｒにより連結されている。
【００２７】
これにより、二脚歩行式ロボット１０の左右両側の脚部１３Ｌ，１３Ｒ及び足部１４Ｌ，１４Ｒは、それぞれ６自由度を与えられることになり、歩行中にこれらの１２個の関節部をそれぞれ駆動モータにより適宜の角度に駆動制御することにより、脚部１３Ｌ，１３Ｒ，足部１４Ｌ，１４Ｒ全体に所望の動作を与えて、任意に三次元空間を歩行することができるように構成されている。
【００２８】
さらに、上記足部１４Ｌ，１４Ｒは、足裏（下面）に、力検出部２３Ｌ，２３Ｒを備えている。この力検出部２３Ｌ，２３Ｒは、後述するようにそれぞれ各足部１４Ｌ，１４Ｒにおける力、特に水平床反力Ｆを検出するようになっている。
【００２９】
なお、上記上体１１は、図示の場合、単に箱状に示されているが、実際には、頭部や両手を備えていてもよい。
【００３０】
図４は、図１に示した二脚歩行式ロボット１０の電気的構成を示している。図４において、二脚歩行式ロボット１０は、要求動作に対応して歩容データを生成する歩容生成部２４と、この歩容データに基づいて、駆動手段、即ち上述した各関節部としての関節駆動用モータ１５Ｌ，１５Ｒ乃至２０Ｌ，２０Ｒを駆動制御する歩行制御装置３０と、を備えている。なお、二脚歩行式ロボット１０の座標系として、前後方向をｘ方向（前方＋），横方向をｙ方向（内方＋）そして上下方向をｚ方向（上方＋）とするｘｙｚ座標系を使用する。
【００３１】
上記歩容生成部２４は、外部から入力される要求動作に対応して、二脚歩行式ロボット１０の歩行に必要な各関節部１５Ｌ，１５Ｒ乃至２０Ｌ，２０Ｒの目標角度軌道，目標角速度，目標角加速度を含む歩容データを生成するようになっている。
【００３２】
上記歩行制御装置３０は、角度計測ユニット３１と、補償部３２と、制御部３３と、モータ制御ユニット３４と、から構成されている。上記角度計測ユニット３１は、各関節部１５Ｌ，１５Ｒ乃至２０Ｌ，２０Ｒの関節駆動用モータに備えられた、例えばロータリエンコーダ等から各関節駆動用モータの角度情報が入力されることにより、各関節駆動用モータの角度位置、即ち角度及び角速度に関する状態ベクトルφを計測して、補償部３２に出力するようになっている。
【００３３】
上記補償部３２は、力検出部２３Ｌ，２３Ｒからの検出出力に基づいて、水平床反力Ｆを演算して、この水平床反力Ｆ及び角度計測ユニット３１からの状態ベクトルφに基づいて、歩容生成部２４からの歩容データを修正し、ベクトルθｉ（ｉ＝１からｎ、ただし、ｎはロボット１０の歩行に関する自由度）を制御部３３へ出力するようになっている。
【００３４】
上記制御部３３は、補償部３２で修正された歩容データであるベクトルθｉから、ロボットの各関節部における角度ベクトルθ０を減算して、ベクトル（θｉ−θ０）に基づいて、各関節駆動用モータの制御信号、即ちトルクベクトルτを生成するようになっている。上記モータ制御ユニット３４は、制御部３３からの制御信号（トルクベクトルτ）に従って各関節駆動用モータを駆動制御するようになっている。
【００３５】
また、上記力検出部２３Ｌ，２３Ｒは左右対称の構成であるから、力検出部２３Ｌについて、図２を参照して説明する。
図２において、力検出部２３Ｌは、足部１４Ｌの踵部１４ｂと二つの足先部１４ｃ，１４ｄの先端の下面にそれぞれ配置された三個の三軸力センサ３５ａ，３５ｂ，３５ｃから構成されている。
【００３６】
各三軸力センサ３５ａ，３５ｂ，３５ｃは互いに同じ構成であり、図２（Ｂ）に示すように、足裏から下方へ突出するように構成されている。ここで、各三軸力センサ３５ａ乃至３５ｃは、個々の検出出力のバラツキがあると共に、周囲の温度，経年変化等によって検出出力が変動する。従って、各三軸力センサ３５ａ乃至３５ｃの検出出力は、自動キャリブレーションにより、補償部３２内にて自動的に較正されるようになっている。
【００３７】
これにより、例えば足部１４Ｌは、各三軸力センサ３５ａ乃至３５ｃからの検出出力に基づいて二つの関節部１９Ｌ，２０Ｌが駆動制御されることによって、例えば二つの関節部１９Ｌ，２０Ｌが同方向に等角度運動して、図３（Ａ）に示すように、爪先を持ち上げるように、あるいは図３（Ｂ）に示すように、爪先を下方に伸ばすように駆動制御されると共に、二つの関節部１９Ｌ，２０Ｌが異なる方向に等角度運動し、または異なる角速度で運動することにより、図３（Ｃ）に示すように爪先を左右に傾斜させるように駆動制御され、これにより、複雑な凹凸を有する路面においても、確実に着地することができる。同様にして、足部１４Ｒも、二つの関節部１９Ｒ，２０Ｒの駆動制御によって、複雑な凹凸を有する路面においても確実に着地することができる。
【００３８】
本発明にかかる実施の形態による二脚歩行式ロボット１０は以上のように構成されており、歩行動作は、図５に示すフローチャートにより以下のように行なわれる。
図５において、先ずステップＳＴ１にて、歩容生成部２４が、入力された要求動作（Ｊ＝Ｊ）に基づいて歩容データを生成し、歩行制御装置３０の補償部３２に出力する。そして、ステップＳＴ２にて、双方の足部１４Ｌ，１４Ｒに備えられた力検出部２３Ｌ，２３Ｒがそれぞれ力を検出して、補償部３２に出力する。また、ステップＳＴ３にて、角度計測ユニット３１が、各関節部１６Ｌ，１６Ｒ乃至２０Ｌ，２０Ｒの状態ベクトルφを計測して、補償部３２へ出力する。
【００３９】
これにより、ステップＳＴ４にて、補償部３２が、力検出部２３Ｌ，２３Ｒからの検出出力に基づいて水平床反力Ｆを演算する。そして、ステップＳＴ５において、補償部３２が、この水平床反力Ｆ及び角度計測ユニット３１からの各関節部１６Ｌ，１６Ｒ乃至２０Ｌ，２０Ｒの状態ベクトルφに基づいて歩容データを修正し、ベクトルθｉを制御部３３に出力する。
【００４０】
次に、ステップＳＴ６にて、制御部３３は、ベクトルθｉからロボットの各関節部における角度ベクトルθ０を減算して、ベクトル（θｉ−θ０）に基づいて各関節駆動用モータの制御信号、即ちトルクベクトルτを生成し、モータ制御ユニット３４に出力する。そして、ステップＳＴ７にて、モータ制御ユニット３４が、このトルクベクトルτに基づいて各関節部の関節駆動用モータを駆動制御する。これにより、二脚歩行式ロボット１０は、要求動作に対応して歩行動作を行なうことになる。
【００４１】
その後、ステップＳＴ８にて、制御部３３が、動作カウンタインクリメントによりＪ＝Ｊ＋１として、所定のサンプリング時間になるまで待機した後、ステップＳＴ９にて、上記Ｊが前以て決められた動作終了カウント以下の場合には、再びステップ２に戻って、上記動作を繰り返す。そして、ステップＳＴ９にて、上記Ｊが動作終了カウントを超えた場合には、動作を終了する。
【００４２】
この場合、二脚歩行式ロボット１０において、各関節駆動用モータの駆動制御の際に、歩容データが、補償部３２にて、各足部１４Ｌ，１４Ｒの足裏に設けられた力検出部２３Ｌ，２３Ｒの各三軸力センサ３５ａ，３５ｂ，３５ｃからの検出信号による水平床反力Ｆに基づいて修正され、ベクトルθｉが生成されることにより、この水平床反力Ｆを規範として、ロボット１０の安定性を得るようになっている。
【００４３】
その際、足部１４Ｌ，１４Ｒが、各三軸駆動センサ３５ａ乃至３５ｃの検出出力に基づいて関節部１９Ｌ，１９Ｒ，２０Ｌ，２０Ｒがそれぞれ図４に示すように適宜に駆動制御されることにより、踵部１４ｂと二つの足先部１４ｃ，１４ｄの三点により着地することになる。従って、例えば複雑な凹凸を備えた不安定な路面に着地したとしても、常に足部１４Ｌ，１４Ｒは、三点支持により安定した状態で接地することになる。
そして、踵部１４ｂ及び二つの足先部１４ｃ，１４ｄの下面に設けられた力検出部２３Ｌ，２３Ｒの各三軸力センサ３５ａ，３５ｂ，３５ｃが確実に着地して水平床反力Ｆを検出することができるので、要求動作に対する歩行動作を確実に行なうことが可能となる。
【００４４】
このようにして、本発明実施形態による二脚歩行式ロボット１０によれば、各足部１４Ｌ，１４Ｒが固定された踵部１４ｂと、二つ並んだ揺動可能な足先部１４ｃ，１４ｄから構成されているので、二つの足先部１４ｃ，１４ｄが適宜に揺動されることによって、複雑な凹凸を備えた路面に対しても確実に着地することになる。
従って、踵部１４ｂ及び二つの足先部１４ｃ，１４ｄの下面に備えられた各三軸力センサからの検出信号から演算される水平床反力Ｆに基づいて、歩容データを修正することにより、足裏の床面との摩擦力により生ずる水平床反力Ｆを規範として歩行制御を行なうことができ、複雑な凹凸を備えた不安定な路面状況においても、ロボット１０の歩行安定化を実現することができる。
【００４５】
上述した実施形態においては、本発明を二脚歩行式ロボットに適用した場合について説明したが、これに限らず、他の各種機器を二本足で支持する共に、この二本足で歩行するようにした、二脚歩行式移動装置に対して本発明を適用し得ることは明らかである。
【００４６】
【発明の効果】
以上述べたように、この発明によれば、足部が、後端付近の踵部と、前端付近の二つの並んだ足先部により三点支持されることになるので、複雑な凹凸を備えた路面等に足部が着地しているときでも、足部が、上記踵部及び二つの足先部によって確実に接地することになる。従って、不安定な路面であっても、足部が路面等に確実に着地することができるので、二脚歩行式移動装置が機構的に安定して歩行することが可能となる。これにより、二脚歩行式移動装置の各足部の足裏が、複雑な凹凸を備えた不安定な路面状況であっても、確実に着地することによって、二脚歩行式移動装置の安定性を確保することができ、確実に歩行制御を行なうことが可能である。
このようにして、本発明によれば、簡単な構成により、複雑な凹凸がある不安定な路面状況においても、足部が確実に着地できるようにした、極めて優れた二脚歩行式移動装置が提供される。
【図面の簡単な説明】
【図１】この発明による二脚歩行式ロボットの一実施形態の機械的構成を示す概略図である。
【図２】図１の二脚歩行式ロボットにおける足部の構造を示し、（Ａ）は概略斜視図、（Ｂ）は概略側面図である。
【図３】図１の二脚歩行式ロボットにおける足部の各種動作を示す概略斜視図である。
【図４】図１の二脚歩行式ロボットの電気的構成を示すブロック図である。
【図５】図１の二脚歩行式ロボットの歩行制御動作を示すフローチャートである。
【図６】従来の二脚歩行式ロボットの足部の一例の構成を示す概略斜視図である。
【図７】従来の二脚歩行式ロボットの足部の他の例の構成を示す概略斜視図である。
【符号の説明】
１０    二脚歩行式ロボット
１１    本体
１２Ｌ，１２Ｒ  膝部
１３Ｌ，１３Ｒ  脚部
１４Ｌ，１４Ｒ  足部
１４ａ  ベース部
１４ｂ  踵部
１４ｃ，１４ｄ  足先部
１５Ｌ，１５Ｒ乃至２０Ｌ，２０Ｒ  関節部（関節駆動用モータ）
２１Ｌ，２１Ｒ  大腿部
２２Ｌ，２２Ｒ  下腿部
２３Ｌ，２３Ｒ  力検出部
２４    歩容生成部
３０    歩行制御装置
３１    角度計測ユニット
３２    補償部
３３    制御部
３４    モータ制御ユニット
３５ａ乃至３５ｃ    三軸力センサ
【図１】
0003569768.tif 000002
【図２】
0003569768.tif 000003
【図３】
0003569768.tif 000004
【図４】
0003569768.tif 000005
【図５】
0003569768.tif 000006
【図６】
0003569768.tif 000007
【図７】
0003569768.tif 000008