(57)【特許請求の範囲】
【請求項１】
本体と、本体の下部両側にて二軸方向に揺動可能に取り付けられた中間に膝部を有する二本の脚部と、各脚部の下端に二軸方向に揺動可能に取り付けられた足部と、各脚部，膝部及び足部を揺動させる駆動手段と、要求動作に対応して目標角度軌道，目標角速度，目標角加速度を含む歩容データを生成する歩容生成部と、この歩容データに基づいて上記駆動手段を駆動制御する歩行制御装置と、を備えた二脚歩行式移動装置において、
各足部の足裏が複数に分割されており、
上記歩行制御装置が、
足裏の各分割部毎に備えられて足裏に加わる力を検出する三軸力センサと、
上記三軸力センサからの検出信号から演算される水平床反力に基づいて歩容生成部からの歩容データを修正する補償部と、
を含んでいることを特徴とする、二脚歩行式移動装置。
【請求項２】
前記本体が人型ロボットの上体であって、頭部及び両手部を備えていることを特徴とする、請求項１に記載の二脚歩行式移動装置。
【請求項３】
前記補償部が、自動キャリブレーションにより各三軸力センサからの検出信号を自動的に較正することを特徴とする、請求項１又は２に記載の二脚歩行式移動装置。
【請求項４】
本体と、本体の下部両側にて二軸方向に揺動可能に取り付けられた中間に膝部を有する二本の脚部と、各脚部の下端に二軸方向に揺動可能に取り付けられた足部と、各脚部，膝部及び足部を揺動させる駆動手段と、から成る二脚歩行式移動装置に関して、要求動作に対応して歩容生成部により生成される目標角度軌道，目標角速度，目標角加速度を含む歩容データに基づいて上記駆動手段を駆動制御する、二脚歩行式移動装置の歩行制御装置において、
各足部の足裏が複数に分割されており、
上記歩行制御装置が、
足裏の各分割部毎に備えられて足裏に加わる力を検出する三軸力センサと、
上記三軸力センサからの検出信号から演算される水平床反力に基づいて歩容生成部からの歩容データを修正する補償部と、
を含んでいることを特徴とする、二脚歩行式移動装置の歩行制御装置。
【請求項５】
前記補償部が、自動キャリブレーションにより各三軸力センサからの検出信号を自動的に較正することを特徴とする、請求項４に記載の二脚歩行式移動装置の歩行制御装置。
【請求項６】
本体と、本体の下部両側にて二軸方向に揺動可能に取り付けられた中間に膝部を有する二本の脚部と、各脚部の下端に二軸方向に揺動可能に取り付けられた足部と、各脚部，膝部及び足部を揺動させる駆動手段と、から成る二脚歩行式移動装置に関して、要求動作に対応して歩容生成部により生成される、目標角度軌道，目標角速度，目標角加速度を含む歩容データに基づいて上記駆動手段を駆動制御する、二脚歩行式移動装置の歩行制御方法において、
各足部の足裏が複数に分割されており、
上記歩行制御方法が、歩容データの修正を行なう際に、
足裏の各分割部毎に備えられた三軸力センサにより、足裏に加わる力を検出する第一の段階と、
上記三軸力センサからの検出信号から演算される水平床反力に基づいて、歩容生成部からの歩容データを修正する第二の段階と、
を含んでいることを特徴とする、二脚歩行式移動装置の歩行制御方法。
【請求項７】
前記補償部が、自動キャリブレーションにより各三軸力センサからの検出信号を自動的に較正することを特徴とする、請求項６に記載の二脚歩行式移動装置の歩行制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は二脚歩行式移動装置に関し、特に歩行安定化を実現するようにした歩行制御に関するものである。
【０００２】
【従来の技術】
従来、所謂二脚歩行式ロボットは、前もって設定された歩行パターン（以下、歩容という）データを生成して、この歩容データに従って歩行制御を行なって、所定の歩行パターンで脚部を動作させることにより二脚歩行を実現するようにしている。
ところで、このような二脚歩行式ロボットは、例えば路面状況，ロボット自体の物理パラメータの誤差等によって歩行の際の姿勢が不安定になりやすく、場合によっては転倒してしまう。
【０００３】
これに対して、歩容データを前もって設定せずに、リアルタイムにロボットの歩行状態を認識しながら歩行制御を行なうようにすれば、歩行の際の姿勢を安定させて歩行を行なわせることも可能であるが、このような場合でも、予期しない路面状況等が発生した場合には、歩行姿勢が崩れてロボットが転倒してしまうことになる。
【０００４】
このため、歩行制御によってロボットの足裏における床反力と重力の合成モーメントがゼロとなる点（以下、ＺＭＰ（Ｚｅｒｏ  Ｍｏｍｅｎｔ  Ｐｏｉｎｔ）という）を目標値に収束させる、所謂ＺＭＰ補償を行なう必要がある。
このようなＺＭＰ補償のための制御方法としては、例えば特開平５−３０５５８３号公報に示すように、コンプライアンス制御を利用して、ＺＭＰを目標値に収束させ、ロボットの上体を加速させて修正する方法や、ロボットの足の接地場所を修正する制御方法が知られている。
【０００５】
【発明が解決しようとする課題】
ところで、このような制御方法においては、ＺＭＰ規範により、ロボットの安定化を図るようにしている。そして、このＺＭＰ規範においては、床面上をロボットの各足が滑らないことが前提条件となっている。
【０００６】
しかしながら、このような構成の二脚歩行式ロボットにおいては、ロボットの各足の足裏が滑るような環境、例えば濡れた床面，氷上，ぬかるみや毛足の長い絨毯等の足場の不安定な路面状況においては、ＺＭＰの補償を正確に行なうことができなくなり、ロボットの安定性を確保することができず、ロボットの二脚歩行が困難になってしまう。
【０００７】
この発明は、以上の点にかんがみて、足裏がすべるような不安定な床面であっても歩行安定性を実現できるようにした、二脚歩行式移動装置とその歩行制御装置及び歩行制御方法を提供することを目的としている。
【０００８】
【課題を解決するための手段】
上記目的は、この発明の第一の構成によれば、本体と、本体の下部両側にて二軸方向に揺動可能に取り付けられた中間に膝部を有する二本の脚部と、各脚部の下端に二軸方向に揺動可能に取り付けられた足部と、各脚部，膝部及び足部を揺動させる駆動手段と、要求動作に対応して、目標角度軌道，目標角速度，目標角加速度を含む歩容データを生成する歩容生成部と、この歩容データに基づいて上記駆動手段を駆動制御する歩行制御装置とを備えた二脚歩行式移動装置において、各足部の足裏が複数に分割されており、上記歩行制御装置が、足裏の各分割部毎に備えられて足裏に加わる力を検出する三軸力センサと、上記三軸力センサからの検出信号から演算される水平床反力に基づいて歩容生成部からの歩容データを修正する補償部とを含んでいる二脚歩行式移動装置により達成される。
【０００９】
本発明による二脚歩行式移動装置は、好ましくは、上記本体が人型ロボットの上体であって頭部及び両手部を備えている。
【００１２】
本発明による二脚歩行式移動装置は、好ましくは、上記補償部が、自動キャリブレーションにより各三軸力センサからの検出信号を自動的に較正する。
【００１３】
また、上記目的は、この発明の第二の構成によれば、本体と、本体の下部両側にて二軸方向に揺動可能に取り付けられた中間に膝部を有する二本の脚部と、各脚部の下端に二軸方向に揺動可能に取り付けられた足部と、各脚部，膝部及び足部を揺動させる駆動手段とから成る二脚歩行式移動装置に関して、要求動作に対応して歩容生成部により生成される目標角度軌道，目標角速度，目標角加速度を含む歩容データに基づいて上記駆動手段を駆動制御する二脚歩行式移動装置の歩行制御装置において、各足部の足裏が複数に分割されており、上記歩行制御装置が、足裏の各分割部毎に備えられて足裏に加わる力を検出する三軸力センサと、上記三軸力センサからの検出信号から演算される水平床反力に基づいて歩容生成部からの歩容データを修正する補償部とを含んでいる二脚歩行式移動装置の歩行制御装置により達成される。
【００１６】
本発明による二脚歩行式移動装置の歩行制御装置は、好ましくは、上記補償部が、自動キャリブレーションにより各三軸力センサからの検出信号を自動的に較正する。
【００１７】
さらに上記目的は、この発明の第三の構成によれば、本体と、本体の下部両側にて二軸方向に揺動可能に取り付けられた中間に膝部を有する二本の脚部と、各脚部の下端に二軸方向に揺動可能に取り付けられた足部と、各脚部，膝部及び足部を揺動させる駆動手段とから成る二脚歩行式移動装置に関して、要求動作に対応して歩容生成部により生成される目標角度軌道，目標角速度，目標角加速度を含む歩容データに基づいて上記駆動手段を駆動制御する二脚歩行式移動装置の歩行制御方法において、各足部の足裏が複数に分割されており、上記歩行制御方法が、歩容データの修正を行なう際に足裏の各分割部毎にそれぞれ備えられた三軸力センサにより、足裏に加わる力を検出する第一の段階と、上記三軸力センサからの検出信号から演算される水平床反力に基づいて歩容生成部からの歩容データを修正する第二の段階とを含んでいる二脚歩行式移動装置の歩行制御方法により達成される。
【００２０】
本発明による二脚歩行式移動装置の歩行制御方法は、好ましくは、上記補償部が、自動キャリブレーションにより各三軸力センサからの検出信号を自動的に較正する。
【００２１】
上記構成によれば、各足部の足裏に設けられた三軸力センサにより検出した水平床反力に基づいて、補償部により歩容生成部からの歩容データを修正して駆動手段を駆動制御する。
従って、ロボットの各足部の足裏がすべるような床面に着地しているときでも、足裏の床面との摩擦力によって生ずる水平床反力に基づいて、歩容データを修正することにより本体、好ましくはロボットの上体の安定化を図るようになっている。
これにより、ロボットの各足部の足裏が、例えば濡れた床面，氷上，ぬかるみや毛足の長い絨毯等の足場の不安定な路面状況においても、ロボットの安定性を確保することができ、確実に歩行制御を行なうことが可能である。
【００２２】
各足部の足裏が複数に分割されており、各分割部毎にそれぞれ力センサを備えて、各分割部毎に設けられた三軸力センサにより、全体として水平床反力を検出することができるので、ロボットの各足部が着地している状態で、各分割部にそれぞれ備えられた各三軸力センサに加わる力が分散される。このため、個々の三軸力センサは小型で軽量のものを使用することができ、コストを低減し得る。
また、各三軸力センサに加わる力が分散されることにより、各三軸力センサの解像度が向上するので、同じ解像度を得るためには、各三軸力センサの検出信号をＡＤ変換するためのＡＤコンバータも性能が低く且つ低コストのものを使用することができる。
さらに、ロボットの各足部の一部のみが床面に載っているようなときでも、確実に水平床反力を検出することができる。これにより、ロボットの各足部の足裏が、例えば凹凸等により一部のみ床面に着地しているようなときでも、ロボットの安定性を確保することができ、確実に歩行制御を行なうことが可能である。
【００２３】
上記各分割部にそれぞれ備えられた力センサが、三軸力センサであって、上記補償部が、少なくとも二つの三軸力センサにより六軸方向の力を演算することができるので、各分割部には、それぞれ安価な三軸力センサを備えることにより六軸力センサと同様に六軸方向の力を検出することができると共に、コストを低減することができる。
【００２４】
上記補償部が、自動キャリブレーションにより各三軸力センサからの検出信号を自動的に較正する場合には、個々の三軸力センサが周囲の温度や経年変化によって検出精度が変化したとしても、自動キャリブレーションによって自動較正されることによって各三軸力センサからの検出信号により正確に水平床反力を検出することができる。
【００２５】
【発明の実施の形態】
以下、図面に示した実施形態に基づいて、この発明を詳細に説明する。
図１乃至図２は、この発明による二脚歩行式移動装置を適用した二脚歩行式ロボットの一実施形態の構成を示している。
図１において、二脚歩行式ロボット１０は、本体である上体１１と、上体１１の下部両側に取り付けられた中間に膝部１２Ｌ，１２Ｒを備えた二本の脚部１３Ｌ，１３Ｒと、各脚部１３Ｌ，１３Ｒの下端に取り付けられた足部１４Ｌ，１４Ｒと、を含んでいる。
【００２６】
ここで、上記脚部１３Ｌ，１３Ｒはそれぞれ六個の関節部、即ち上方から順に、上体１１に対する腰の脚部回旋用（ｚ軸周り）の関節部１５Ｌ，１５Ｒ、腰のロール方向（ｘ軸周り）の関節部１６Ｌ，１６Ｒ、腰のピッチ方向（ｙ軸周り）の関節部１７Ｌ，１７Ｒ、膝部１２Ｌ，１２Ｒのピッチ方向の関節部１８Ｌ，１８Ｒ、足部１４Ｌ，１４Ｒに対する足首部のピッチ方向の関節部１９Ｌ，１９Ｒ、足首部のロール方向の関節部２０Ｌ，２０Ｒを備えている。なお、各関節部１５Ｌ，１５Ｒ乃至２０Ｌ，２０Ｒは、それぞれ関節駆動用モータにより構成されている。
【００２７】
このようにして、腰関節は、上記関節部１５Ｌ，１５Ｒ，１６Ｌ，１６Ｒ，１７ＫＬ，１７Ｒから構成され、また足関節は、関節部１９Ｌ，１９Ｒ，２０Ｌ，２０Ｒから構成されることになる。
さらに、腰関節と膝関節との間は、大腿リンク２１Ｌ，２１Ｒにより連結されており、また膝関節と足関節との間は、下腿リンク２２Ｌ，２２Ｒにより連結されている。
これにより、二脚歩行式ロボット１０の左右両側の脚部１３Ｌ，１３Ｒ及び足部１４Ｌ，１４Ｒは、それぞれ６自由度を与えられることになり、歩行中にこれらの１２個の関節部をそれぞれ駆動モータにより適宜の角度に駆動制御することにより、脚部１３Ｌ，１３Ｒ，足部１４Ｌ，１４Ｒ全体に所望の動作を与えて、任意に三次元空間を歩行することができるように構成されている。
【００２８】
さらに、上記足部１４Ｌ，１４Ｒは、足裏（下面）に、力センサ２３Ｌ，２３Ｒを備えている。この力センサ２３Ｌ，２３Ｒは、後述するようにそれぞれ各足部１４Ｌ，１４Ｒにおける力、特に水平床反力Ｆを検出するようになっている。
【００２９】
なお、上記上体１１は、図示の場合、単に箱状に示されているが、実際には、頭部や両手を備えていてもよい。
【００３０】
図２は、図１に示した二脚歩行式ロボット１０の電気的構成を示している。
図２において、二脚歩行式ロボット１０は、要求動作に対応して歩容データを生成する歩容生成部２４と、この歩容データに基づいて、駆動手段、即ち上述した各関節部、即ち関節駆動用モータ１５Ｌ，１５Ｒ乃至２０Ｌ，２０Ｒを駆動制御する歩行制御装置３０と、を備えている。
なお、二脚歩行式ロボット１０の座標系として、前後方向をｘ方向（前方＋），横方向をｙ方向（内方＋）そして上下方向をｚ方向（上方＋）とするｘｙｚ座標系を使用する。
【００３１】
上記歩容生成部２４は、外部から入力される要求動作に対応して、二脚歩行式ロボット１０の歩行に必要な各関節部１５Ｌ，１５Ｒ乃至２０Ｌ，２０Ｒの目標角度軌道，目標角速度，目標角加速度を含む歩容データを生成するようになっている。
【００３２】
上記歩行制御装置３０は、角度計測ユニット３１と、補償部３２と、制御部３３と、モータ制御ユニット３４と、から構成されている。
上記角度計測ユニット３１は、各関節部１５Ｌ，１５Ｒ乃至２０Ｌ，２０Ｒの関節駆動用モータに備えられた例えばロータリエンコーダ等により各関節駆動用モータの角度情報が入力されることにより、各関節駆動用モータの角度位置、即ち角度及び角速度に関する状態ベクトルφを計測して、補償部３２に出力するようになっている。
【００３３】
上記補償部３２は、力センサ２３Ｌ，２３Ｒからの検出出力に基づいて、水平床反力Ｆを演算して、この水平床反力Ｆ及び角度計測ユニット３１からの状態ベクトルφに基づいて、歩容生成部２４からの歩容データを修正し、ベクトルθｉ（ｉ＝１からｎ、ただし、ｎはロボット１０の歩行に関する自由度）を制御部３３へ出力するようになっている。
【００３４】
上記制御部３３は、補償部３２で修正された歩容データであるベクトルθｉから、ロボットの各関節部における角度ベクトルθ０を減算して、ベクトル（θｉ−θ０）に基づいて、各関節駆動用モータの制御信号、即ちトルクベクトルτを生成するようになっている。
上記モータ制御ユニット３４は、制御部３３からの制御信号（トルクベクトルτ）に従って各関節駆動用モータを駆動制御するようになっている。
【００３５】
ここで、上記力センサ２３Ｌ，２３Ｒは、左右対称の構成であるから、力センサ２３Ｌについて図３を参照して説明する。
図３において、力センサ２３Ｌは、足部１４Ｌの下面である足裏板３５の下側にて、水平方向に分割して、即ちｘ方向に三分割，ｙ方向に二分割して設けられた、六個の力センサ３６ａ，３６ｂ，３６ｃ，３６ｄ，３６ｅ，３６ｆとして構成されている。
【００３６】
各力センサ３６ａ，３６ｂ，３６ｃ，３６ｄ，３６ｅ，３６ｆは、互いに同じ構成であり、力センサ３６ａについて図４を参照して説明する。
図４において、力センサ３６ａは、上方のソール３７と下方のソール３８との間に取り付けられた三軸力センサであって、足部１４Ｌが床面に着地したとき、床面から受ける力を検出するようになっている。下方のソール３８は、力センサ３６ａのセンサ軸を中心に前後左右に揺動可能に支持されており、全方位について揺動により接地し得るようになっている。
【００３７】
なお、この場合、力センサ２３Ｌ及び２３Ｒは、それぞれ六個に分割されているが、これに限らず、少なくとも各足部１４Ｌ，１４Ｒのかかと部の両側及び足先部の両側の四個に分割されていればよく、さらに七個以上に分割されていてもよい。
また、各力センサ３６ａ乃至３６ｆは、図示の場合、足裏にて整列して配置されているが、これに限らず、任意に配置されていてもよい。
これにより、ロボット１０の歩行の際に、足部１４Ｌ，１４Ｒのかかと部から床面に着地することによってそれぞれ三軸力センサにより衝撃が吸収され得ることになる。
【００３８】
ここで、一般的には同一平面上に四個以上の力センサが設けられていても、すべての力センサが着地した状態で、それぞれ力を検出することは幾何学的にも不可能になり、四個目以上は、冗長となる。
しかしながら、この場合には、各分割部が互いに分割されていることにより、すべての力センサ３６ａ乃至３６ｆが床面に着地可能となり、冗長な力センサがなくなって、各力センサがそれぞれ力を検出することができる。
従って、足部１４Ｌ，１４Ｒの床面への着地により加えられる力は、各力センサ３６ａ乃至３６ｆに分散して印加されることになるので、各力センサ３６ａ乃至３６ｆは、小型で軽量のものを使用することができ、これにより、各力センサ３６ａ乃至３６ｆのコストを低減することができる。
また、各力センサ３６ａ乃至３６ｆに印加される力が小さくなるので、解像度が向上することになる。従って、同じ解像度を得るためには、各力センサ３６ａ乃至３６ｆを受けてＡＤ変換するＡＤコンバータとして、比較的性能が低く安価なものを使用することができるので、ＡＤコンバータのコストを低減することができる。
【００３９】
ここで、上述した各力センサ３６ａ乃至３６ｆは三軸力センサであるが、二個以上の三軸力センサが在れば六軸方向の力を演算することができる。
以下、一般的にｎ個の三軸力センサから、六軸方向の力を演算する場合について図５を参照して説明する。
図５において、足裏にて、力計測の原点Ｏ（Ｏｘ，Ｏｙ）に対して、ｎ個の三軸力センサＳ１，Ｓ２，Ｓ３，・・・，Ｓｎが配置されている。なお、力計測の原点Ｏは、例えば足部の関節の駆動座標系に一致させることが好ましい。
ここで、各三軸力センサＳｉの位置を、Ｓｉ＝（Ｘ（ｉ），Ｙ（ｉ））とすると、六軸方向の力はそれぞれ以下の式で与えられる。
【００４０】
即ち、各方向の力ＦＸ，ＦＹ，ＦＺは、
【数１】
0003574951.tif 000002
【数２】
0003574951.tif 000003
【数３】
0003574951.tif 000004
で与えられ、また各方向のトルクＴＸ，ＴＹ，ＴＺは、
【数４】
0003574951.tif 000005
【数５】
0003574951.tif 000006
【数６】
0003574951.tif 000007
で与えられる。ただし、上記式（６）において、αは、
【数７】
0003574951.tif 000008
で与えられる。
このようにして、各三軸力センサ３６ａ乃至３６ｆの検出出力に基づいて、補償部３２内に設けられた演算回路により演算が行なわれ、六軸方向の力が検出されることになる。
【００４１】
さらに、これらの六軸方向の力から、水平床反力Ｆは、床面とロボット１０の足裏の摩擦力によって生ずる水平方向の力、即ち上記Ｘ方向及びＹ方向の力ＦＸ，ＦＹの合力として表わされ、そのベクトルＦＣ及び大きさ｜ＦＣ｜は、
【数８】
0003574951.tif 000009
で表わされる。
【００４２】
なお、各三軸力センサ３６ａ乃至３６ｆは、個々の検出出力のバラツキがあると共に、周囲の温度，経年変化等によって検出出力が変動する。従って、各三軸力センサ３６ａ乃至３６ｆの検出出力は、以下のような自動キャリブレーションにより、補償部３２内にて自動的に較正されるようになっている。
【００４３】
先ず、Ｚ軸方向のキャリブレーションについて説明する。
上述したように分散配置された三軸力センサＳ１乃至Ｓｎのうち、任意の三個の三軸力センサ、例えばＳ１，Ｓ２，Ｓ３を選択し、これらの座標位置を、それぞれＳ１＝Ｘ（１），Ｙ（１），（Ｚ（１），Ｓ２＝Ｘ（２），Ｙ（２），Ｚ（２），Ｓ３＝Ｘ（３），Ｙ（３），Ｚ（３）とする。
【００４４】
そして、これらの三軸力センサＳ１乃至Ｓ３のみに負荷がかかるように、三点支持の状態にして、図５（Ｂ）に示すように、これらのうち、適宜の二つの三軸力センサ、例えばＳ１及びＳ２を直線で結び、この直線に対する残りの一個の三軸力センサＳ３からの垂線の足をＣとする。
ここで、上記垂線上にて駆動対象の重心位置をＳ３からＣへ静的に移動させて、そのときのＳ１乃至Ｓ３から出力される電圧値を計測する。その際、移動中の計測ポイントが多いほど、正確な較正を行なうことができる。
【００４５】
ｆを計測した力，Ａ，Ｂをキャリブレーションパラメータ、Ｖをそのときの電圧値とし、Ｍを駆動対象の全質量，ｇを重力の加速度とし、ｋを計測ポイントとすると、以下の関係式、
【数９】
0003574951.tif 000010
【数１０】
0003574951.tif 000011
【数１１】
0003574951.tif 000012
【数１２】
0003574951.tif 000013
が成立する。
【００４６】
そして、Ｖ，Ｍ，Ｙを既知として、これらの式をｆの連立方程式として解いて、その結果を、以下の式
【数１３】
0003574951.tif 000014
に代入することにより、求めるＦ／Ｖ直線の傾きＡ及び切片Ｂを同時に求めることができる。さらに、ｎ回の計測を行なうことにより、較正のための補正パラメータを算出することができる。
【００４７】
このようにして、上記三つの三軸力センサＳ１乃至Ｓ３に関するＺ軸方向のキャリブレーションが終了する。そして、他の異なる三つの三軸力センサを選択して、同様にして補正パラメータの算出を繰り返し、すべての三軸力センサについて補正パラメータの算出を行なうことにより、すべての三軸力センサのＺ軸方向の較正を行なうことができる。
【００４８】
さらに、ＸＹ軸に関するキャリブレーションの方法について説明する。
先ず、分散配置された三軸力センサＳ１乃至Ｓｎのうち、任意の二個の三軸力センサ、例えばＳ１，Ｓ２を選択し、ロボットの上体１１または反対側の脚部１３Ｌまたは１３Ｒを利用して、Ｚ軸周りのモーメントｍを発生させる。このとき、モーメントｍと三軸力センサＳ１，Ｓ２にかかる力Ｆ１，Ｆ２は、Ｆ１＝Ｆ２となり、以下の式
【数１４】
0003574951.tif 000015
により表わされる。
従って、個々の三軸力センサＳ１，Ｓ２にかかる力Ｆ１，Ｆ２が計算され、それぞれのＸ成分，Ｙ成分は、以下の式
【数１５】
0003574951.tif 000016
により表わされる。
【００４９】
これに対して、各三軸力センサＳ１，Ｓ２から出力される電圧Ｖと力ｆｘ，ｆｙの関係は、計測回数をｋとすると、以下の式
【数１６】
0003574951.tif 000017
により表わされる。
これらの式を連立させて、ｎ回の計測を行なうと、以下の行列式
【数１７】
0003574951.tif 000018
【数１８】
0003574951.tif 000019
が得られ、補正パラメータＡ，Ｂを算出することができる。
このようにして、Ｘ軸方向及びＹ方向の補正パラメータＡ，Ｂを同時に算出して、ＸＹ軸方向のキャリブレーションを行なうことが可能である。
【００５０】
本発明実施形態による二脚歩行式ロボット１０は以上のように構成されており、歩行動作は、図６に示すフローチャートにより以下のように行なわれる。
図６において、先ずステップＳＴ１にて、歩容生成部２４が、入力された要求動作（Ｊ＝Ｊ）に基づいて歩容データを生成し、歩行制御装置３０の補償部３２に出力する。
そして、ステップＳＴ２にて、双方の足部１４Ｌ，１４Ｒに備えられた力センサ２３Ｌ，２３Ｒが、それぞれ力を検出して補償部３２に出力する。
また、ステップＳＴ３にて、角度計測ユニット３１が各関節部１６Ｌ，１６Ｒ乃至２０Ｌ，２０Ｒの状態ベクトルφを計測して、補償部３２に出力する。
【００５１】
これにより、ステップＳＴ４にて、補償部３２が力センサ２３Ｌ，２３Ｒからの検出出力に基づいて水平床反力Ｆを演算する。
そして、ステップＳＴ５にて、補償部３２が、この水平床反力Ｆ及び角度計測ユニット３１からの各関節部１６Ｌ，１６Ｒ乃至２０Ｌ，２０Ｒの状態ベクトルφに基づいて歩容データを修正し、ベクトルθｉを制御部３３に出力する。
【００５２】
次に、ステップＳＴ６にて、制御部３３は、ベクトルθｉからロボットの各関節部における角度ベクトルθ０を減算して、ベクトル（θｉ−θ０）に基づいて各関節駆動用モータの制御信号、即ちトルクベクトルτを生成し、モータ制御ユニット３４に出力する。
そして、ステップＳＴ７にて、モータ制御ユニット３４がこのトルクベクトルτに基づいて各関節部の関節駆動用モータを駆動制御する。
これにより、二脚歩行式ロボット１０は、要求動作に対応して、歩行動作を行なうことになる。
【００５３】
その後、ステップＳＴ８にて、制御部３３が、動作カウンタインクリメントによりＪ＝Ｊ＋１として、所定のサンプリング時間になるまで待機した後、ステップＳＴ９にて、上記Ｊが前以て決められた動作終了カウント以下の場合には、再びステップ２に戻って上記動作を繰り返す。
そして、ステップＳＴ９にて、上記Ｊが動作終了カウントを超えた場合には、動作を終了する。
【００５４】
この場合、二脚歩行式ロボット１０において、各関節駆動用モータの駆動制御の際に、歩容データが、補償部３２にて各足部１４Ｌ，１４Ｒの足裏に設けられた力センサ２３Ｌ，２３Ｒからの水平床反力Ｆに基づいて修正され、ベクトルθｉが生成されることにより、この水平床反力Ｆを規範として、ロボット１０の安定性を得るようになっている。
これにより、ロボット１０の各足部１４Ｌ，１４Ｒが、例えば足裏が滑るような床面に着地したとしても、足裏に設けられた力センサ２３Ｌ，２３Ｒが水平床反力Ｆを検出することができるので、要求動作に対する歩行動作を確実に行なうことが可能となる。
従って、従来のＺＭＰを規範とする歩行制御では歩行が困難であった、例えば濡れた床面，氷上，ぬかるみや毛足の長い絨毯等の足場の不安定な路面状況においても、本発明による二脚歩行式ロボット１０によれば、安定した状態を保持しながら、確実に歩行動作を行なうことができる。
【００５５】
さらに、水平床反力Ｆを検出するために各足部１４Ｌ，１４Ｒの足裏に設けられた力センサ２３Ｌ，２３Ｒが、それぞれ六個に分割された各部に備えられた三軸力センサ３６ａ乃至３６ｆから構成されているので、各足部１４Ｌ，１４Ｒが着地している状態で、各分割部にそれぞれ備えられた各三軸力センサ３６ａ乃至３６ｆに加わる力が分散されるので、個々の三軸力センサ３６ａ乃至３６ｆは小型で軽量のものを使用することができ、コストを低減することができる。
【００５６】
また、各力に加わる力が分散されることにより、各三軸力センサ３６ａ乃至３６ｆの解像度が向上するので、同じ解像度を得るためには、各三軸力センサ３６ａ乃至３６ｆの検出信号をＡＤ変換するためのＡＤコンバータも性能が低く且つ低コストのものを使用することができる。従って、全体のコストを低減することが可能となる。
【００５７】
さらに、各足部１４Ｌ，１４Ｒの一部のみが床面に載っているようなときでも確実に水平床反力を検出することができる。これにより、ロボットの各足部の足裏が、例えば凹凸等により一部のみ床面に着地しているようなときでも、ロボットの安定性を確保することができ、確実に歩行制御を行なうことが可能である。
【００５８】
このようにして、本発明実施形態による二脚歩行式ロボット１０によれば、各足部１４Ｌ，１４Ｒの足裏に設けられた力センサ２３Ｌ，２３Ｒ、即ち複数に分割された足裏にそれぞれ設けられた三軸力センサ３６ａ乃至３６ｆからの検出信号から演算される水平床反力Ｆに基づいて、歩容データを修正することにより、足裏の床面との摩擦力により生ずる水平床反力Ｆを規範として歩行制御を行なうことにより、足裏がすべりやすい路面状況においても、ロボット１０の歩行安定化を実現することができる。
【００５９】
上述した実施形態においては、本発明を二脚歩行式ロボットに適用した場合について説明したが、これに限らず、他の各種機器を二本足で支持する共に、この二本足で歩行するようにした、二脚歩行式移動装置に対して本発明を適用し得ることは明らかである。
【００６０】
【発明の効果】
以上述べたように、この発明によれば、各足部の足裏に設けられた三軸力センサにより検出した水平床反力に基づいて、補償部により歩容生成部からの歩容データを修正して、駆動手段を駆動制御する。
従って、ロボットの各足部の足裏がすべるような床面に着地しているときでも、足裏の水平床反力に基づいて歩容データを修正することにより、本体、好ましくはロボットの上体の安定化を図るようになっている。これにより、ロボットの各足部の足裏が、例えば濡れた床面，氷上，ぬかるみや毛足の長い絨毯等の足場の不安定な路面状況においても、ロボットの安定性を確保することができ、確実に歩行制御を行なうことが可能である。
【００６１】
各足部の足裏が複数に分割されており、各分割部毎にそれぞれ力センサを備えて、各分割部毎に設けられた三軸力センサにより全体として水平床反力を検出することができるので、ロボットの各足部が着地している状態で、各分割部にそれぞれ備えられた各三軸力センサに加わる力が分散される。このため、個々の三軸力センサは小型で軽量のものを使用することができ、コストを低減することができる。また、各三軸力センサに加わる力が分散されるので、各三軸力センサの解像度が向上し、同じ解像度を得るためには、各三軸力センサの検出信号をＡＤ変換するためのＡＤコンバータも性能が低く且つ低コストのものを使用することができる。このため、全体のコストを低減することが可能となる。
さらに、ロボットの各足部の一部のみが床面に載っているようなときでも、確実に水平床反力を検出することができる。これにより、ロボットの各足部の足裏が、例えば凹凸等により一部のみ床面に着地しているようなときでも、ロボットの安定性を確保することができ、確実に歩行制御を行なうことが可能である。
【００６２】
上記各分割部にそれぞれ備えられた力センサが、三軸力センサであって、上記補償部が、少なくとも二つの三軸力センサにより六軸方向の力を演算することができるので、各分割部には、それぞれ安価な三軸力センサを備えることにより、六軸力センサと同様に六軸方向の力を検出することができると共に、コストを低減することができる。
【００６３】
このようにして、本発明によれば、足裏がすべるような不安定な床面であっても、歩行安定性を実現できるようにした、極めて優れた二脚歩行式移動装置とその歩行制御装置及び歩行制御方法が提供される。
【図面の簡単な説明】
【図１】この発明による二脚歩行式ロボットの一実施形態の機械的構成を示す概略図である。
【図２】図１の二脚歩行式ロボットの電気的構成を示すブロック図である。
【図３】図１の二脚歩行式ロボットの各足部の足裏に設けられた力センサの構成を示し、（Ａ）は斜め上方から、（Ｂ）は斜め下方から見た概略斜視図である。
【図４】図３の力センサを構成する各三軸力センサの構成を示し、（Ａ）は斜め上方から、（Ｂ）は斜め下方から見た概略斜視図である。
【図５】図４の各三軸力センサと力計測の基点の配置を示すグラフである。
【図６】図１の二脚歩行式ロボットの歩行制御動作を示すフローチャートである。
【符号の説明】
１０    二脚歩行式ロボット
１１    本体
１２Ｌ，１２Ｒ    膝部
１３Ｌ，１３Ｒ    脚部
１４Ｌ，１４Ｒ    足部
１５Ｌ，１５Ｒ乃至２０Ｌ，２０Ｒ    関節部（関節駆動用モータ）
２１Ｌ，２１Ｒ    大腿部
２２Ｌ，２２Ｒ    下腿部
２３Ｌ，２３Ｒ    力センサ
２４    歩容生成部
３０    歩行制御装置
３１    角度計測ユニット
３２    補償部
３３    制御部
３４    モータ制御ユニット
３５    足裏板
３６ａ乃至３６ｆ    三軸力センサ
３７    上方のソール
３８    下方のソール
【図１】
0003574951.tif 000020
【図２】
0003574951.tif 000021
【図３】
0003574951.tif 000022
【図４】
0003574951.tif 000023
【図５】
0003574951.tif 000024
【図６】
0003574951.tif 000025