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