JP2009072839A - 二足歩行ロボットの制御装置および歩容制御方法 - Google Patents
二足歩行ロボットの制御装置および歩容制御方法 Download PDFInfo
- Publication number
- JP2009072839A JP2009072839A JP2007242040A JP2007242040A JP2009072839A JP 2009072839 A JP2009072839 A JP 2009072839A JP 2007242040 A JP2007242040 A JP 2007242040A JP 2007242040 A JP2007242040 A JP 2007242040A JP 2009072839 A JP2009072839 A JP 2009072839A
- Authority
- JP
- Japan
- Prior art keywords
- gait
- walking
- actuator
- target zmp
- gravity
- 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
Landscapes
- Manipulator (AREA)
Abstract
【課題】歩容をオンライン生成できる二足歩行ロボットの歩容生成装置を提供する。
【解決手段】二足の脚構造と、歩容生成装置と、脚構造を動作させる複数アクチュエータと、姿勢等の状態量を検出する各種センサと、各種センサ情報を基に歩容を修正する安定化制御器と、修正歩容を基に指令を生成するアクチュエータ指令生成装置と、アクチュエータの状態量を検出するアクチュエータセンサと、アクチュエータ指令どおりにアクチュエータを動作させるアクチュエータ制御器と、を備え、歩容生成装置が、両脚を揃えて停止している状態を停止状態とし、停止状態の目標ZMP3を重心の真下とし、停止状態の目標ZMPより後方にずれた位置を歩行開始歩容前後方向目標ZMP2とし、歩行開始歩容の始めから1歩目の着地までの間、前後方向の目標ZMPを歩行開始歩容前後方向目標ZMPに固定した歩行開始歩容を生成する。
【選択図】図1
【解決手段】二足の脚構造と、歩容生成装置と、脚構造を動作させる複数アクチュエータと、姿勢等の状態量を検出する各種センサと、各種センサ情報を基に歩容を修正する安定化制御器と、修正歩容を基に指令を生成するアクチュエータ指令生成装置と、アクチュエータの状態量を検出するアクチュエータセンサと、アクチュエータ指令どおりにアクチュエータを動作させるアクチュエータ制御器と、を備え、歩容生成装置が、両脚を揃えて停止している状態を停止状態とし、停止状態の目標ZMP3を重心の真下とし、停止状態の目標ZMPより後方にずれた位置を歩行開始歩容前後方向目標ZMP2とし、歩行開始歩容の始めから1歩目の着地までの間、前後方向の目標ZMPを歩行開始歩容前後方向目標ZMPに固定した歩行開始歩容を生成する。
【選択図】図1
Description
本発明は、二足歩行ロボットの制御装置において、両脚支持の停止状態から歩行を開始する際および歩行を停止して停止状態とする際の歩容を生成する歩容生成装置・方法に関する。
従来の二足歩行ロボットのリアルタイム歩容生成装置は、あらかじめ動力学シミュレーションや実験により様々なパターンの安定な歩容を試行錯誤的に作成し、ロボットに搭載したハードディスクなどの記録媒体の中にデータベースとして保存しておき、それらを組み合わせることにより歩容を生成している(例えば,特許文献1参照)。
以下では図9を用いて従来の二足歩行ロボットの制御装置の全体構成を説明する。
以下では図9を用いて従来の二足歩行ロボットの制御装置の全体構成を説明する。
図9において、100は歩容生成装置であり、上位コンピュータまたは操作者から歩行指令を受け取り、歩行指令の要求を満たすように歩容を生成する。本従来例では、歩行指令とは要求される歩幅と旋回角の組であり、歩容とは上体位置姿勢軌道、足平位置姿勢軌道、ZMP軌道の組である。101は安定化制御器であり、予測しなかった外乱により歩行ロボットが転倒するのを防ぐため、各種センサ情報を用いて歩容生成装置100が生成した歩容を修正する。
102はアクチュエータ指令生成器であり、安定化制御器101が生成した修正歩容を、逆キネマティクス演算により各関節のアクチュエータ指令に変換する。65はアクチュエータ制御器であり、アクチュエータセンサ67からのアクチュエータセンサ情報を用いて、アクチュエータ指令生成器102が生成したアクチュエータ指令どおりの位置にアクチュエータを動作させるようにアクチュエータ操作量を変化させる。
66はアクチュエータおよび脚構造であり、アクチュエータ制御器65によって操作されるアクチュエータと脚構造である。脚構造は地面等と接触することにより二足歩行ロボットを移動させる力を発生する。
67はアクチュエータセンサであり、アクチュエータの状態量を検出し、アクチュエータ制御器65へフィードバックする。具体的には、関節のアクチュエータとしてはサーボモータが使用される例が多く、その場合のアクチュエータ指令とはサーボモータの回転量をあらわす位置指令であり、アクチュエータ状態量とはサーボモータの回転量である。ロボットの関節の角度とサーボモータの回転量は一対一に対応する。アクチュエータセンサ情報とはサーボモータに取り付けられたエンコーダの信号である。アクチュエータおよび脚構造66が動作した結果、各種状態量が変化する。
68は各種センサであり,各種状態量を検出して安定化制御器にフィードバックする。具体的には、各種状態量とは二足歩行ロボットの上体の傾き、向き、またはそれらの速度、足裏に受ける圧力であり、各種センサとは、傾斜センサ、ジャイロセンサ、加速度センサ、地磁気センサ、圧力センサ、6軸力センサ、カメラなどが用いられる例が多い。
以下では、図10を用いて前述の歩容生成装置100の構成をより詳細に説明する。図10において、100は歩容生成装置であり、101は安定化制御器であり、102はアクチュエータ指令生成器であり、図9で説明したものである。
歩容生成装置100の内部動作をより詳しく説明すると、111は標準歩容の集合である。標準歩容とは、あらかじめ動力学シミュレーションや試行錯誤的な実験や数式モデルを用いた解析的な手法により、オフラインで求められた安定な歩容の集合をデータベースとして保存したものである。離散的な複数の歩幅と旋回角に対して、それを実現する歩容のパターンを標準歩容としてマトリックス状に保有している。歩幅と旋回角が指令として与えられた場合、これらの標準歩容の中から最も近いものを1つ選択すれば指令に近い歩容を生成することはできるが、指令に近い歩容を生成するためにはマトリックスの間隔を狭める必要があり、データ量が増加する。本従来技術では、指令の要求が歩幅と旋回角の2つであるが、将来さらに拡張して3つ以上に増やす場合にはさらにデータ量は膨大になる。この問題を解決するため、
102はアクチュエータ指令生成器であり、安定化制御器101が生成した修正歩容を、逆キネマティクス演算により各関節のアクチュエータ指令に変換する。65はアクチュエータ制御器であり、アクチュエータセンサ67からのアクチュエータセンサ情報を用いて、アクチュエータ指令生成器102が生成したアクチュエータ指令どおりの位置にアクチュエータを動作させるようにアクチュエータ操作量を変化させる。
66はアクチュエータおよび脚構造であり、アクチュエータ制御器65によって操作されるアクチュエータと脚構造である。脚構造は地面等と接触することにより二足歩行ロボットを移動させる力を発生する。
67はアクチュエータセンサであり、アクチュエータの状態量を検出し、アクチュエータ制御器65へフィードバックする。具体的には、関節のアクチュエータとしてはサーボモータが使用される例が多く、その場合のアクチュエータ指令とはサーボモータの回転量をあらわす位置指令であり、アクチュエータ状態量とはサーボモータの回転量である。ロボットの関節の角度とサーボモータの回転量は一対一に対応する。アクチュエータセンサ情報とはサーボモータに取り付けられたエンコーダの信号である。アクチュエータおよび脚構造66が動作した結果、各種状態量が変化する。
68は各種センサであり,各種状態量を検出して安定化制御器にフィードバックする。具体的には、各種状態量とは二足歩行ロボットの上体の傾き、向き、またはそれらの速度、足裏に受ける圧力であり、各種センサとは、傾斜センサ、ジャイロセンサ、加速度センサ、地磁気センサ、圧力センサ、6軸力センサ、カメラなどが用いられる例が多い。
以下では、図10を用いて前述の歩容生成装置100の構成をより詳細に説明する。図10において、100は歩容生成装置であり、101は安定化制御器であり、102はアクチュエータ指令生成器であり、図9で説明したものである。
歩容生成装置100の内部動作をより詳しく説明すると、111は標準歩容の集合である。標準歩容とは、あらかじめ動力学シミュレーションや試行錯誤的な実験や数式モデルを用いた解析的な手法により、オフラインで求められた安定な歩容の集合をデータベースとして保存したものである。離散的な複数の歩幅と旋回角に対して、それを実現する歩容のパターンを標準歩容としてマトリックス状に保有している。歩幅と旋回角が指令として与えられた場合、これらの標準歩容の中から最も近いものを1つ選択すれば指令に近い歩容を生成することはできるが、指令に近い歩容を生成するためにはマトリックスの間隔を狭める必要があり、データ量が増加する。本従来技術では、指令の要求が歩幅と旋回角の2つであるが、将来さらに拡張して3つ以上に増やす場合にはさらにデータ量は膨大になる。この問題を解決するため、
この従来技術では、標準歩容を組み合わせてマトリックスの間を補完した混合歩容を生成している。112は歩容混合器であり、歩行指令として与えられた歩幅と旋回角を実現する歩容を生成するために、標準歩容の集合111から3つの標準歩容を選び出し、それらの番号と歩容混合の重みを生成する。3つの標準歩容とは、歩行指令として与えられた歩幅と旋回角に最も近い標準歩容であるベース歩容と、ベース歩容と歩幅のみが異なる標準歩容と、ベース歩容と旋回角のみが異なる標準歩容の3つである。歩幅のみが異なる標準歩容は、その歩幅とベース歩容の歩幅との間に指令の歩幅が存在するように選ばれる。
同様に、旋回角のみが異なる標準歩容は、その旋回角とベース歩容の旋回角との間に指令の旋回角が存在するように選ばれる。選んだ3つの標準歩容を線形補完するための重みを算出する。さらに運動パラメータとZMPパラメータも生成する。
114は上体水平位置発生器であり、歩容混合器112が生成した標準歩容の番号と歩容混合の重みを基に標準歩容の集合111から上体水平位置の時系列データを組み合わせて上体水平位置姿勢の瞬時値を算出する。
上体水平位置発生器114での具体的処理については、特許文献2に述べられている技術を用いて実現できる。115は足平軌道生成器であり,歩容混合器112が生成した運動パラメータから足平位置姿勢の瞬時値を算出する。足平軌道発生器115での具体的処理については、特許文献2や特許文献3に述べられている技術を用いて実現できる。116は上体高さ決定器であり、歩容混合器112が生成した運動パラメータから上体高さの瞬時値を算出する。上体高さ決定器116の具体的処理については、特許文献4に述べられている技術を用いて実現できる。117はZMP生成器であり、歩容混合器112が生成したZMPパラメータからZMP軌道を生成する。118はタイマであり、歩容混合器112に切り替えのタイミングを与え、さらに混合歩容瞬時値発生器113に時刻のパラメータを与えている。
このように、従来の二足歩行ロボットの歩容生成装置は、あらかじめ動力学シミュレーションや実験により様々なパターンの安定な歩容を試行錯誤的に作成し、ロボットに搭載したハードディスクなどの記録媒体の中にデータベースとして保存しておき、それらを組み合わせることにより歩容を生成するのである。
同様に、旋回角のみが異なる標準歩容は、その旋回角とベース歩容の旋回角との間に指令の旋回角が存在するように選ばれる。選んだ3つの標準歩容を線形補完するための重みを算出する。さらに運動パラメータとZMPパラメータも生成する。
114は上体水平位置発生器であり、歩容混合器112が生成した標準歩容の番号と歩容混合の重みを基に標準歩容の集合111から上体水平位置の時系列データを組み合わせて上体水平位置姿勢の瞬時値を算出する。
上体水平位置発生器114での具体的処理については、特許文献2に述べられている技術を用いて実現できる。115は足平軌道生成器であり,歩容混合器112が生成した運動パラメータから足平位置姿勢の瞬時値を算出する。足平軌道発生器115での具体的処理については、特許文献2や特許文献3に述べられている技術を用いて実現できる。116は上体高さ決定器であり、歩容混合器112が生成した運動パラメータから上体高さの瞬時値を算出する。上体高さ決定器116の具体的処理については、特許文献4に述べられている技術を用いて実現できる。117はZMP生成器であり、歩容混合器112が生成したZMPパラメータからZMP軌道を生成する。118はタイマであり、歩容混合器112に切り替えのタイミングを与え、さらに混合歩容瞬時値発生器113に時刻のパラメータを与えている。
このように、従来の二足歩行ロボットの歩容生成装置は、あらかじめ動力学シミュレーションや実験により様々なパターンの安定な歩容を試行錯誤的に作成し、ロボットに搭載したハードディスクなどの記録媒体の中にデータベースとして保存しておき、それらを組み合わせることにより歩容を生成するのである。
従来の二足歩行ロボットの歩容生成装置は、あらかじめ動力学シミュレーションや実験により様々なパターンの安定な歩容を試行錯誤的に作成し,ロボットに搭載したハードディスクなどの記録媒体の中にデータベースとして保存しておき、それらを組み合わせることにより歩容を生成しており、元となる歩容は、ロボットの設計が変更されるたびにそれぞれのロボット専用の歩容を人間が算出しなければならず、試行錯誤の実験やシミュレーションに多くの時間と手間がかかるという問題があった。
また、元となる歩容を数多く記憶させておくために大容量のハードディスクなどの記憶装置が必要で、コストが高くなるなどの問題もあった。
本発明はこのような問題点に鑑みてなされたものであり、実験やシミュレーションによる試行錯誤的なパターン生成作業や、ハードディスクなどの大容量記録媒体を必要とせず、倒立振子モデルより得られた数式を用いて歩行開始や歩行停止を含む歩容をオンライン生成することができる二足歩行ロボットの歩容生成装置および歩容制御方法を提供することを目的とする。
また、元となる歩容を数多く記憶させておくために大容量のハードディスクなどの記憶装置が必要で、コストが高くなるなどの問題もあった。
本発明はこのような問題点に鑑みてなされたものであり、実験やシミュレーションによる試行錯誤的なパターン生成作業や、ハードディスクなどの大容量記録媒体を必要とせず、倒立振子モデルより得られた数式を用いて歩行開始や歩行停止を含む歩容をオンライン生成することができる二足歩行ロボットの歩容生成装置および歩容制御方法を提供することを目的とする。
上記問題を解決するため、請求項1記載の二足歩行ロボットの制御装置の発明は、二足の脚構造と、上位コンピュータまたは人間とのインターフェース装置が生成した歩行指令どおりの歩行を実現する歩容を生成する歩容生成装置と、前記脚構造を動作させるための複数のアクチュエータと、姿勢または外力または環境情報のうちのいずれかまたはすべてを含む各種状態量を検出して各種センサ情報を生成する各種センサと、前記各種センサ情報を基に前記歩容を修正する安定化制御器と、前記修正歩容を基に前記複数のアクチュエータそれぞれに対する指令を生成するアクチュエータ指令生成装置と、アクチュエータの位置または速度または力または電流のうちのいずれかまたはすべてを含むアクチュエータ状態量を検出してアクチュエータセンサ情報を生成するためのアクチュエータセンサと、前記アクチュエータ指令どおりにアクチュエータを動作させるためのアクチュエータ制御器と、を備えた二足歩行ロボットの制御装置において、前記歩容生成装置は、両脚を左右に揃えて停止している状態を停止状態とし、停止状態の目標ZMPを重心の真下とし、前記停止状態の目標ZMPより後方にずれた位置を歩行開始歩容前後方向目標ZMPとし、歩行開始歩容の始めから1歩目の着地までの間、前後方向の目標ZMPを前記歩行開始歩容前後方向目標ZMPに固定した歩行開始歩容を生成することを特徴としている。
また、請求項2記載の発明は、前記歩容生成装置は、1歩目の着地時の前後方向重心速度が定常歩容の切替時の前後方向重心速度と等しくなるように前記歩行開始歩容前後方向目標ZMPの前後方向位置を決定することを特徴としている。
また、請求項3記載の二足歩行ロボットの制御装置の発明は、二足の脚構造と、上位コンピュータまたは人間とのインターフェース装置が生成した歩行指令どおりの歩行を実現する歩容を生成する歩容生成装置と、前記脚構造を動作させるための複数のアクチュエータと、姿勢または外力または環境情報のうちのいずれかまたはすべてを含む各種状態量検出して各種センサ情報を生成する各種センサと、前記各種センサ情報を基に前記歩容を修正する安定化制御器と、前記修正歩容を基に前記複数のアクチュエータそれぞれに対する指令を生成するアクチュエータ指令生成装置と、アクチュエータの位置または速度または力または電流のうちのいずれかまたはすべてを含むアクチュエータ状態量を検出してアクチュエータセンサ情報を生成するためのアクチュエータセンサと、前記アクチュエータ指令どおりにアクチュエータを動作させるためのアクチュエータ制御器と、を備えた二足歩行ロボットの制御装置において、前記歩容生成装置は、両脚を左右に揃えて停止している状態を停止状態とし、停止状態の目標ZMPを重心の真下とし、前記停止状態の目標ZMPより1歩目に踏み出す足の方にずれた位置を歩行開始歩容横方向目標ZMPとし、歩行開始歩容の始めから1歩目の離床までの間、横方向の目標ZMPを前記歩行開始歩容横方向目標ZMPに固定した歩行開始歩容を生成することを特徴としている。
また、請求項4記載の発明は、請求項3記載の二足歩行ロボットの制御装置において、前記歩容生成装置が、1歩目の着地時の横方向重心速度が定常歩容の切替時の横方向重心速度と一致するような歩行開始時片脚支持歩容を求め,1歩目の離床の瞬間に横方向重心位置および速度が前記歩行開始時片脚支持歩容の横方向重心位置および速度と同時に一致するように前記歩行開始歩容横方向目標ZMPおよび1歩目の離床タイミングを決定することを特徴としている。
また、請求項2記載の発明は、前記歩容生成装置は、1歩目の着地時の前後方向重心速度が定常歩容の切替時の前後方向重心速度と等しくなるように前記歩行開始歩容前後方向目標ZMPの前後方向位置を決定することを特徴としている。
また、請求項3記載の二足歩行ロボットの制御装置の発明は、二足の脚構造と、上位コンピュータまたは人間とのインターフェース装置が生成した歩行指令どおりの歩行を実現する歩容を生成する歩容生成装置と、前記脚構造を動作させるための複数のアクチュエータと、姿勢または外力または環境情報のうちのいずれかまたはすべてを含む各種状態量検出して各種センサ情報を生成する各種センサと、前記各種センサ情報を基に前記歩容を修正する安定化制御器と、前記修正歩容を基に前記複数のアクチュエータそれぞれに対する指令を生成するアクチュエータ指令生成装置と、アクチュエータの位置または速度または力または電流のうちのいずれかまたはすべてを含むアクチュエータ状態量を検出してアクチュエータセンサ情報を生成するためのアクチュエータセンサと、前記アクチュエータ指令どおりにアクチュエータを動作させるためのアクチュエータ制御器と、を備えた二足歩行ロボットの制御装置において、前記歩容生成装置は、両脚を左右に揃えて停止している状態を停止状態とし、停止状態の目標ZMPを重心の真下とし、前記停止状態の目標ZMPより1歩目に踏み出す足の方にずれた位置を歩行開始歩容横方向目標ZMPとし、歩行開始歩容の始めから1歩目の離床までの間、横方向の目標ZMPを前記歩行開始歩容横方向目標ZMPに固定した歩行開始歩容を生成することを特徴としている。
また、請求項4記載の発明は、請求項3記載の二足歩行ロボットの制御装置において、前記歩容生成装置が、1歩目の着地時の横方向重心速度が定常歩容の切替時の横方向重心速度と一致するような歩行開始時片脚支持歩容を求め,1歩目の離床の瞬間に横方向重心位置および速度が前記歩行開始時片脚支持歩容の横方向重心位置および速度と同時に一致するように前記歩行開始歩容横方向目標ZMPおよび1歩目の離床タイミングを決定することを特徴としている。
また、請求項5記載の二足歩行ロボットの制御装置記載の発明は、二足の脚構造と、上位コンピュータまたは人間とのインターフェース装置が生成した歩行指令どおりの歩行を実現する歩容を生成する歩容生成装置と、前記脚構造を動作させるための複数のアクチュエータと、姿勢または外力または環境情報のうちのいずれかまたはすべてを含む各種状態量検出して各種センサ情報を生成する各種センサと、前記各種センサ情報を基に前記歩容を修正する安定化制御器と、前記修正歩容を基に前記複数のアクチュエータそれぞれに対する指令を生成するアクチュエータ指令生成装置と、アクチュエータの位置または速度または力または電流のうちのいずれかまたはすべてを含むアクチュエータ状態量を検出してアクチュエータセンサ情報を生成するためのアクチュエータセンサと、前記アクチュエータ指令どおりにアクチュエータを動作させるためのアクチュエータ制御器と、を備えた二足歩行ロボットの制御装置において、前記歩容生成装置は、両脚を左右に揃えて停止している状態を停止状態とし、停止状態の目標ZMPを重心の真下とし、前記停止状態の目標ZMPより前方にずれた位置を歩行停止歩容前後方向目標ZMPとし、最後から2歩目の着地の瞬間から停止までの間、前後方向の目標ZMPを前記歩行停止歩容前後方向目標ZMPの位置に固定した歩行停止歩容を生成し、前後方向重心速度が0となった時点で前後方向の目標ZMPを前記停止状態の目標ZMPとすることを特徴としている。
また、請求項6記載の発明は、請求項5記載の二足歩行ロボットの制御装置において、前記歩容生成装置が、最後から2歩目の着地時の前後方向重心速度が定常歩容の切替時の前後方向重心速度と等しく、与えられた時間で前後方向重心速度を0にするように前記停止時前後方向目標ZMPを決定することを特徴としている。
また、請求項7記載の二足歩行ロボットの制御装置の発明は、二足の脚構造と、上位コンピュータまたは人間とのインターフェース装置が生成した歩行指令どおりの歩行を実現する歩容を生成する歩容生成装置と、前記脚構造を動作させるための複数のアクチュエータと、姿勢または外力または環境情報のうちのいずれかまたはすべてを含む各種状態量検出して各種センサ情報を生成する各種センサと、前記各種センサ情報を基に前記歩容を修正する安定化制御器と、前記修正歩容を基に前記複数のアクチュエータそれぞれに対する指令を生成するアクチュエータ指令生成装置と、アクチュエータの位置または速度または力または電流のうちのいずれかまたはすべてを含むアクチュエータ状態量を検出してアクチュエータセンサ情報を生成するためのアクチュエータセンサと、前記アクチュエータ指令どおりにアクチュエータを動作させるためのアクチュエータ制御器と、を備えた二足歩行ロボットの制御装置において、前記歩容生成装置は、両脚を左右に揃えて停止している状態を停止状態とし、停止状態の目標ZMPを重心の真下とし、前記停止状態の目標ZMPより最後の1歩の足の方にずれた位置を歩行停止歩容横方向目標ZMPとし、最後の1歩の着地時から停止までの間,横方向目標ZMPを前記歩行停止歩容横方向目標ZMPに固定した歩行停止歩容を生成し、横方向重心速度が0となった時点で目標ZMPを重心の真下とすることを特徴としている。
また、請求項8記載の発明は、請求項7記載の二足歩行ロボットの制御装置において、前記歩容生成装置が、最後から2歩目の着地時に横方向重心速度が定常歩容の切替速度と一致するような歩行停止時片脚支持歩容を求め、最後の1歩の着地の瞬間に横方向重心位置および速度が前記片脚支持歩容の横方向重心位置および速度と同時に一致するように前記歩行停止歩容横方向目標ZMPおよび最後の1歩の着地タイミングを決定することを特徴としている。
また、請求項9記載の発明は、請求項1〜8のいずれか1項記載の二足歩行ロボットの制御装置において、前記歩容生成装置が、倒立振子モデルから解析的に与えられる数式を用いて歩容を生成することを特徴としている。
また、請求項10記載の発明は、請求項9記載の二足歩行ロボットの制御装置において、前記歩容が、重心加速度が、重力加速度を一定値である重心高さで除して、重心のX座標値と目標ゼロモーメントポイントZMPのX座標値との差分を乗じて表され、重心位置、重心加速度および着地位置が当該関係を満たしていないと転倒するZMP方程式を用いて演算されることを特徴としている。
また、請求項6記載の発明は、請求項5記載の二足歩行ロボットの制御装置において、前記歩容生成装置が、最後から2歩目の着地時の前後方向重心速度が定常歩容の切替時の前後方向重心速度と等しく、与えられた時間で前後方向重心速度を0にするように前記停止時前後方向目標ZMPを決定することを特徴としている。
また、請求項7記載の二足歩行ロボットの制御装置の発明は、二足の脚構造と、上位コンピュータまたは人間とのインターフェース装置が生成した歩行指令どおりの歩行を実現する歩容を生成する歩容生成装置と、前記脚構造を動作させるための複数のアクチュエータと、姿勢または外力または環境情報のうちのいずれかまたはすべてを含む各種状態量検出して各種センサ情報を生成する各種センサと、前記各種センサ情報を基に前記歩容を修正する安定化制御器と、前記修正歩容を基に前記複数のアクチュエータそれぞれに対する指令を生成するアクチュエータ指令生成装置と、アクチュエータの位置または速度または力または電流のうちのいずれかまたはすべてを含むアクチュエータ状態量を検出してアクチュエータセンサ情報を生成するためのアクチュエータセンサと、前記アクチュエータ指令どおりにアクチュエータを動作させるためのアクチュエータ制御器と、を備えた二足歩行ロボットの制御装置において、前記歩容生成装置は、両脚を左右に揃えて停止している状態を停止状態とし、停止状態の目標ZMPを重心の真下とし、前記停止状態の目標ZMPより最後の1歩の足の方にずれた位置を歩行停止歩容横方向目標ZMPとし、最後の1歩の着地時から停止までの間,横方向目標ZMPを前記歩行停止歩容横方向目標ZMPに固定した歩行停止歩容を生成し、横方向重心速度が0となった時点で目標ZMPを重心の真下とすることを特徴としている。
また、請求項8記載の発明は、請求項7記載の二足歩行ロボットの制御装置において、前記歩容生成装置が、最後から2歩目の着地時に横方向重心速度が定常歩容の切替速度と一致するような歩行停止時片脚支持歩容を求め、最後の1歩の着地の瞬間に横方向重心位置および速度が前記片脚支持歩容の横方向重心位置および速度と同時に一致するように前記歩行停止歩容横方向目標ZMPおよび最後の1歩の着地タイミングを決定することを特徴としている。
また、請求項9記載の発明は、請求項1〜8のいずれか1項記載の二足歩行ロボットの制御装置において、前記歩容生成装置が、倒立振子モデルから解析的に与えられる数式を用いて歩容を生成することを特徴としている。
また、請求項10記載の発明は、請求項9記載の二足歩行ロボットの制御装置において、前記歩容が、重心加速度が、重力加速度を一定値である重心高さで除して、重心のX座標値と目標ゼロモーメントポイントZMPのX座標値との差分を乗じて表され、重心位置、重心加速度および着地位置が当該関係を満たしていないと転倒するZMP方程式を用いて演算されることを特徴としている。
また、請求項11記載の二足歩行ロボットの制御装置の歩容制御方法の発明は、二足の脚構造と、上位コンピュータまたは人間とのインターフェース装置が生成した歩行指令どおりの歩行を実現する歩容を生成する歩容生成装置と、前記脚構造を動作させるための複数のアクチュエータと、姿勢または外力または環境情報のうちのいずれかまたはすべてを含む各種状態量を検出して各種センサ情報を生成する各種センサと、前記各種センサ情報を基に前記歩容を修正する安定化制御器と、前記修正歩容を基に前記複数のアクチュエータそれぞれに対する指令を生成するアクチュエータ指令生成装置と、アクチュエータの位置または速度または力または電流のうちのいずれかまたはすべてを含むアクチュエータ状態量を検出してアクチュエータセンサ情報を生成するためのアクチュエータセンサと、前記アクチュエータ指令どおりにアクチュエータを動作させるためのアクチュエータ制御器と、を備えた二足歩行ロボットの制御装置の歩容制御方法において、上位装置より歩行速度指令を受け取り、ロボットが停止状態かを判断して、前記ロボッとが停止状態の場合は、前記歩行速度指令がゼロかを判断し、ゼロの場合はそのまま終了しゼロで無い場合は歩行開始歩容生成処理を行い。前記ロボットが停止状態かの判断で停止状態では無い場合も、前記歩行速度指令の確認を行い、前記歩行速度指令がゼロの場合は歩行停止歩容生成処理を行い、前記歩行速度指令の確認で歩行速度指令がゼロでは無い場合は、該歩行速度指令が前回と同じかを判断し、同じ場合は定常歩容生成処理を行って歩行を続行し、前記歩行速度指令が同じでは無い場合は過渡歩容処理に移行する、上記1連の歩容生成処理を、1歩毎に行い、前記ZMP方程式を解いて第n歩目の歩容の重心位置と速度を求めるための積分定数を算出し、算出された前記積分定数を用いて制御周期毎に歩容を表す重心軌道を算出して歩容制御を実行することを特徴としている。
また、請求項12記載の発明は、請求項11記載の二足歩行ロボットの制御装置の歩容制御方法において、前記歩行開始歩容生成が、両脚を左右に揃えて停止している状態を停止状態とし、停止状態の目標ZMPを重心の真下とし、前記停止状態の目標ZMPより後方にずれた位置を歩行開始歩容前後方向目標ZMPとし、歩行開始歩容の始めから1歩目の着地までの間、前後方向の目標ZMPを前記歩行開始歩容前後方向目標ZMPに固定すると共に、前記停止状態の目標ZMPより1歩目に踏み出す足の方にずれた位置を歩行開始歩容横方向目標ZMPとし、歩行開始歩容の始めから1歩目の離床までの間、横方向の目標ZMPを前記歩行開始歩容横方向目標ZMPに固定して、前記積分定数を算出し重心軌道を算出して歩行開始歩容を生成することを特徴としている。
また、請求項13記載の発明は、 請求項11記載の二足歩行ロボットの制御装置の歩容制御方法において、前記歩行停止歩容生成は、両脚を左右に揃えて停止している状態を停止状態とし、停止状態の目標ZMPを重心の真下とし、前記停止状態の目標ZMPより前方にずれた位置を歩行停止歩容前後方向目標ZMPとし、最後から2歩目の着地の瞬間から停止までの間、前後方向の目標ZMPを前記歩行停止歩容前後方向目標ZMPの位置に固定した歩行停止歩容を生成し、前後方向重心速度が0となった時点で前後方向の目標ZMPを前記停止状態の目標ZMPとすると共に、前記停止状態の目標ZMPより最後の1歩の足の方にずれた位置を歩行停止歩容横方向目標ZMPとし、最後の1歩の着地時から停止までの間,横方向目標ZMPを前記歩行停止歩容横方向目標ZMPに固定した歩行停止歩容を生成し、横方向重心速度が0となった時点で目標ZMPを重心の真下とするようにして、前記積分定数を算出し重心軌道を算出し歩行停止歩容を生成することを特徴としている。
また、請求項12記載の発明は、請求項11記載の二足歩行ロボットの制御装置の歩容制御方法において、前記歩行開始歩容生成が、両脚を左右に揃えて停止している状態を停止状態とし、停止状態の目標ZMPを重心の真下とし、前記停止状態の目標ZMPより後方にずれた位置を歩行開始歩容前後方向目標ZMPとし、歩行開始歩容の始めから1歩目の着地までの間、前後方向の目標ZMPを前記歩行開始歩容前後方向目標ZMPに固定すると共に、前記停止状態の目標ZMPより1歩目に踏み出す足の方にずれた位置を歩行開始歩容横方向目標ZMPとし、歩行開始歩容の始めから1歩目の離床までの間、横方向の目標ZMPを前記歩行開始歩容横方向目標ZMPに固定して、前記積分定数を算出し重心軌道を算出して歩行開始歩容を生成することを特徴としている。
また、請求項13記載の発明は、 請求項11記載の二足歩行ロボットの制御装置の歩容制御方法において、前記歩行停止歩容生成は、両脚を左右に揃えて停止している状態を停止状態とし、停止状態の目標ZMPを重心の真下とし、前記停止状態の目標ZMPより前方にずれた位置を歩行停止歩容前後方向目標ZMPとし、最後から2歩目の着地の瞬間から停止までの間、前後方向の目標ZMPを前記歩行停止歩容前後方向目標ZMPの位置に固定した歩行停止歩容を生成し、前後方向重心速度が0となった時点で前後方向の目標ZMPを前記停止状態の目標ZMPとすると共に、前記停止状態の目標ZMPより最後の1歩の足の方にずれた位置を歩行停止歩容横方向目標ZMPとし、最後の1歩の着地時から停止までの間,横方向目標ZMPを前記歩行停止歩容横方向目標ZMPに固定した歩行停止歩容を生成し、横方向重心速度が0となった時点で目標ZMPを重心の真下とするようにして、前記積分定数を算出し重心軌道を算出し歩行停止歩容を生成することを特徴としている。
請求項1記載の発明によると、歩行開始時の前後方向の目標ZMPの中央位置からのずれを最小限にすることができ、安定性を高めることができる。
また、請求項2記載の発明によると、前後方向について,歩行開始歩容から定常歩容に滑らかに接続する軌道が生成できるため、切替時の安定性を高めることができる。
また、請求項3記載の発明によると、横方向の目標ZMPの中央位置からのずれを最小限にすることができ、歩行開始時の安定性を高めることができる。
また、請求項4記載の発明によると、横方向について、歩行開始歩容から定常歩容に滑らかに接続する軌道が生成できるため、切替時の安定性を高めることができる。
また、請求項5記載の発明によると、歩行停止時の前後方向の目標ZMPの中央位置からのずれを最小限にすることができ、安定性を高めることができる。
また、請求項6記載の発明によると、前後方向について、定常歩容から歩行停止歩容に滑らかに接続する軌道が生成できるため、切替時の安定性を高めることができる。
また、請求項7記載の発明によると、横方向の目標ZMPの中央位置からのずれを最小限にすることができ、歩行停止時の安定性を高めることができる。
また、請求項8記載の発明によると、横方向について、定常歩容から歩行停止歩容に滑らかに接続する軌道が生成できるため、切替時の安定性を高めることができる。
また、請求項9および10記載の発明によると、実験やシミュレーションによる試行錯誤的なパターン生成作業や、ハードディスクなどの大容量記録媒体を必要とせず、歩行開始や歩行停止を含む歩容をオンライン生成することができる。
また、請求項11〜13記載の発明によると、歩行開始や歩行停止を含む歩容をオンライン生成して、歩容の安定性を高める方法を提供できる。
また、請求項2記載の発明によると、前後方向について,歩行開始歩容から定常歩容に滑らかに接続する軌道が生成できるため、切替時の安定性を高めることができる。
また、請求項3記載の発明によると、横方向の目標ZMPの中央位置からのずれを最小限にすることができ、歩行開始時の安定性を高めることができる。
また、請求項4記載の発明によると、横方向について、歩行開始歩容から定常歩容に滑らかに接続する軌道が生成できるため、切替時の安定性を高めることができる。
また、請求項5記載の発明によると、歩行停止時の前後方向の目標ZMPの中央位置からのずれを最小限にすることができ、安定性を高めることができる。
また、請求項6記載の発明によると、前後方向について、定常歩容から歩行停止歩容に滑らかに接続する軌道が生成できるため、切替時の安定性を高めることができる。
また、請求項7記載の発明によると、横方向の目標ZMPの中央位置からのずれを最小限にすることができ、歩行停止時の安定性を高めることができる。
また、請求項8記載の発明によると、横方向について、定常歩容から歩行停止歩容に滑らかに接続する軌道が生成できるため、切替時の安定性を高めることができる。
また、請求項9および10記載の発明によると、実験やシミュレーションによる試行錯誤的なパターン生成作業や、ハードディスクなどの大容量記録媒体を必要とせず、歩行開始や歩行停止を含む歩容をオンライン生成することができる。
また、請求項11〜13記載の発明によると、歩行開始や歩行停止を含む歩容をオンライン生成して、歩容の安定性を高める方法を提供できる。
以下、本発明の実施の形態について図を参照して説明する。
図1は本発明の実施例1に係る二足歩行ロボットの制御装置による歩行開始歩容の重心軌道を示す図である。
図2は図1に示す二足歩行ロボットの制御装置で用いる倒立振子モデルを示す図である。
図3は図2に示す倒立振子モデルによる定常歩行の説明図である。
図1において、1は点線で示すように移動するロボットの歩容を表す重心軌道である。3はロボットの左脚5、右脚6の中央点等で表わされる絶対座標系の原点となる停止状態の目標ZMPで、2は目標ZMP3から△X、△Yだけ補正された位置を表す歩行開始歩容目標ZMPであり、4は歩行開始歩容左脚支持状態の目標ZMPである。7は右脚6による一歩目着地位置を示し、8は左脚5による2歩目の着地位置を示す。11は停止時の両脚支持状態から一歩目を踏み出す左脚支持状態の歩容を含む歩行開始歩容であり、12は定常状態に入った場合の定常歩容である。なお、重心軌道1の左・右脚支持切替点に表示されている矢印記号は重心のX、Y方向の速度を示す。
また、本実施例の歩容を生成する歩容生成装置としては特に図示していないが、ブロック図は、従来と同じく図9のように構成された二足歩行ロボットの制御装置の中の歩容生成装置100に相当するものである。二足歩行ロボットを安定に歩行させるためには、フィードフォワード的に転倒しにくい歩行パターンを与える歩容生成装置100と、外乱などによって体が傾いたときセンサ情報を基にフィードバック的に姿勢を立て直す安定化制御器101の2つが必要である。本実施例の歩容生成装置を、さらに安定化制御器と組み合わせることで予測が困難な外乱に対する安定性を向上させることができる。
図2は図1に示す二足歩行ロボットの制御装置で用いる倒立振子モデルを示す図である。
図3は図2に示す倒立振子モデルによる定常歩行の説明図である。
図1において、1は点線で示すように移動するロボットの歩容を表す重心軌道である。3はロボットの左脚5、右脚6の中央点等で表わされる絶対座標系の原点となる停止状態の目標ZMPで、2は目標ZMP3から△X、△Yだけ補正された位置を表す歩行開始歩容目標ZMPであり、4は歩行開始歩容左脚支持状態の目標ZMPである。7は右脚6による一歩目着地位置を示し、8は左脚5による2歩目の着地位置を示す。11は停止時の両脚支持状態から一歩目を踏み出す左脚支持状態の歩容を含む歩行開始歩容であり、12は定常状態に入った場合の定常歩容である。なお、重心軌道1の左・右脚支持切替点に表示されている矢印記号は重心のX、Y方向の速度を示す。
また、本実施例の歩容を生成する歩容生成装置としては特に図示していないが、ブロック図は、従来と同じく図9のように構成された二足歩行ロボットの制御装置の中の歩容生成装置100に相当するものである。二足歩行ロボットを安定に歩行させるためには、フィードフォワード的に転倒しにくい歩行パターンを与える歩容生成装置100と、外乱などによって体が傾いたときセンサ情報を基にフィードバック的に姿勢を立て直す安定化制御器101の2つが必要である。本実施例の歩容生成装置を、さらに安定化制御器と組み合わせることで予測が困難な外乱に対する安定性を向上させることができる。
次に動作について説明する。
本発明の歩容生成装置で生成される定常歩行パターンは、常に片脚のみで支持しており、支持脚が地面から離れると同時に次の足を着地するものとする。その二足歩行ロボットを図2のような倒立振子モデルで表して見る。脚は質量を持たず、質量は重心の1点に集中しているとする。二足歩行ロボットの股関節と足首との間の長さは可変であり、重心の高さを一定値Hに保ちつつ水平に運動するものとする。進行方向をx軸、右横方向をy軸、鉛直上方向をz軸とする。進行方向の運動方程式は以下で表される。
ただし、XZMPは目標ゼロモーメントポイント(ZMP)のx座標である。歩容生成装置内の演算では、常に上式を満たすように軌道を生成する。本発明の二足歩行ロボット制御装置の定常歩容では常に片脚支持状態であるため、目標ZMPは支持脚着地位置の中央と考えてよい。XCOGは重心のx座標であり、変数の上の点は微分を意味し、2つの点は2階微分を意味する。gは重力加速度を表す。数1はZMP方程式と呼ばれ、重心位置、重心加速度、着地位置がこの関係を満たしていないと胴体にモーメントが生じ、転倒する。(1)式を解くと
ここで、C1x、C2xは積分定数である。同様に横方向について次式が成立する。
ただし、yZMPはゼロモーメントポイント(ZMP)のy座標、yCOGは重心のy座標である。支持脚が左の時の軌道と右の時の軌道は、符号の違いだけであるため、どちらか一方だけ求めておき、符号を変えて用いればよい。
本発明の歩容生成装置で生成される定常歩行パターンは、常に片脚のみで支持しており、支持脚が地面から離れると同時に次の足を着地するものとする。その二足歩行ロボットを図2のような倒立振子モデルで表して見る。脚は質量を持たず、質量は重心の1点に集中しているとする。二足歩行ロボットの股関節と足首との間の長さは可変であり、重心の高さを一定値Hに保ちつつ水平に運動するものとする。進行方向をx軸、右横方向をy軸、鉛直上方向をz軸とする。進行方向の運動方程式は以下で表される。
以上のことを用いて、定常歩行時の歩容生成方法を説明する。第n歩目の着地時刻をt=0、第n+1歩目の着地時刻をt=Tとする。t=0での重心位置をX0とする。x軸方向すなわち前方向について、定常状態では支持脚切り替え時の進行方向速度が等しいという条件を与える。
このとき、
となり,
となっている。ただし、Xstrideは歩幅を表し、
である。
歩数と着地点と重心位置の関係を図示すると図3のようになる。
歩行速度指令をVrefとすると、
となっていなければならない。
(7)式、(8)式より、(5)式は次のように表せる。
速度指令が与えられたとき、(9)式によりC1x、C2xを求め、(2)式に代入すれば定常状態でのn歩目の進行方向重心軌道を求めることができる。
y軸方向すなわち横方向について、定常状態では切り替え時の重心位置が等しく、速度が逆という条件を満たす。
このとき,
横方向の着地位置yZMPを指定しておき、(11)式によりC1y、C2yを求めて、(3)式に代入すれば定常状態でのn歩目の横方向重心軌道を求めることができる。ただし、nが奇数の時と偶数の時では符号を逆とする。
定常状態での重心軌道と切換時速度は図4のような、重心軌道30、n−1歩目の着地位置21、n歩目の着地位置22、n+1歩目の着地位置23になる。X方向の切替時速度VxおよびY方向の切替時速度Vyは、(3)式または(4)式でt=0とすれば次式で与えられる。
歩数と着地点と重心位置の関係を図示すると図3のようになる。
歩行速度指令をVrefとすると、
(7)式、(8)式より、(5)式は次のように表せる。
y軸方向すなわち横方向について、定常状態では切り替え時の重心位置が等しく、速度が逆という条件を満たす。
定常状態での重心軌道と切換時速度は図4のような、重心軌道30、n−1歩目の着地位置21、n歩目の着地位置22、n+1歩目の着地位置23になる。X方向の切替時速度VxおよびY方向の切替時速度Vyは、(3)式または(4)式でt=0とすれば次式で与えられる。
次に、歩行開始時の歩容生成方法について説明する。
図1に示すように、停止状態とは、両脚5、6を横に揃えて重心が停止しており、目標ZMP3が重心の真下にある状態を意味する。停止状態の目標ZMP3は、例えば両足の中央とすればよい。停止状態の目標ZMP位置を絶対座標系の原点とする。歩行開始歩容の演算式では歩行開始時刻を0とした時刻t’を用いるものとする。歩行開始歩容は、以下のようなものとする。まず、歩行開始と同時に、停止状態の目標ZMP3から前後方向にΔX,横方向にΔYだけずらした位置を歩行開始歩容目標ZMP2とし、図2のような倒立振子モデルにより重心軌道を生成する。時刻Tyで一方の足を持ち上げ片脚支持状態とする。片脚支持状態では,前後方向の目標ZMPはそのまま、横方向の目標ZMPを支持脚の中央とした倒立振子モデルにより重心軌道を生成する。例えば、図6は歩行開始歩容のタイムチャートであり、図示の時刻Txで遊脚を着地し、同時に支持脚を持ち上げ、定常歩容に入る。ただし、Tx>Tyでなければならない。
以上のような歩行開始歩容の演算方法を以下に説明する。まず、X方向について、時刻0からTxまでの間、次式が成り立つ。
ここで、C’1x、C’2xは歩行開始歩容時の時刻0からTxまでの間の積分定数である。X方向重心速度について、初速度0、与えられた時刻Txで定常歩容の切替時速度Vxと等しいという条件を与える。
これを解くと、次式が得られる。
ただし、C1x、C2xはは定常歩容の積分定数である。
これらを(13)式に代入することにより、X方向の重心軌道が得られる。一歩目の着地位置は、時刻Txでの重心位置よりXstrideの半分だけ前とする。
図1に示すように、停止状態とは、両脚5、6を横に揃えて重心が停止しており、目標ZMP3が重心の真下にある状態を意味する。停止状態の目標ZMP3は、例えば両足の中央とすればよい。停止状態の目標ZMP位置を絶対座標系の原点とする。歩行開始歩容の演算式では歩行開始時刻を0とした時刻t’を用いるものとする。歩行開始歩容は、以下のようなものとする。まず、歩行開始と同時に、停止状態の目標ZMP3から前後方向にΔX,横方向にΔYだけずらした位置を歩行開始歩容目標ZMP2とし、図2のような倒立振子モデルにより重心軌道を生成する。時刻Tyで一方の足を持ち上げ片脚支持状態とする。片脚支持状態では,前後方向の目標ZMPはそのまま、横方向の目標ZMPを支持脚の中央とした倒立振子モデルにより重心軌道を生成する。例えば、図6は歩行開始歩容のタイムチャートであり、図示の時刻Txで遊脚を着地し、同時に支持脚を持ち上げ、定常歩容に入る。ただし、Tx>Tyでなければならない。
以上のような歩行開始歩容の演算方法を以下に説明する。まず、X方向について、時刻0からTxまでの間、次式が成り立つ。
これらを(13)式に代入することにより、X方向の重心軌道が得られる。一歩目の着地位置は、時刻Txでの重心位置よりXstrideの半分だけ前とする。
次に、Y方向について、時刻0からTyまでの間、次式が成り立つ。
ここで、C’1y、C’2yは歩行開始歩容時の時刻0からTyまでの間の積分定数である。
Y方向重心速度について、初期位置0、初速度0、時刻Tyで定常歩容の重心位置および速度と同時に一致するという条件を与える。ただし、時刻Tyで乗り移る定常歩容は時刻Txで定常歩容の切替位置および速度となるようにするため、t’=Tyのとき、定常歩容のt=T−Tx+Tyとなる。
この関係を図6に示す。
これを解くと、次式が得られる。
ただし、C1y、C2yは(11)式で与えられる定常歩容の積分定数である。(18)式を(16)式に代入することにより、時刻0からTyまでの間のY方向の重心軌道が得られる。時刻TyからTxまでの間の軌道は次式で与えられる。
以上の演算式を用いて実際に重心軌道を求めた例を図7の軌道図に示す。
Y方向重心速度について、初期位置0、初速度0、時刻Tyで定常歩容の重心位置および速度と同時に一致するという条件を与える。ただし、時刻Tyで乗り移る定常歩容は時刻Txで定常歩容の切替位置および速度となるようにするため、t’=Tyのとき、定常歩容のt=T−Tx+Tyとなる。
この関係を図6に示す。
次に、本発明の実施例2として、歩行停止時の歩容生成方法について説明する。
図5は本発明の実施例2に係る二足歩行ロボットの制御装置の歩行停止歩容の重心軌道を示す図である。
歩行停止時の歩容は、前述の歩行開始歩容の時間軸およびX軸を逆にした歩容とすればよい。歩行停止歩容の開始は、定常歩行の切替の瞬間、すなわち着地の瞬間とする。歩行停止歩容の演算式では、歩行停止開始時刻を0とした時刻t’’を用いるものとする。歩行停止歩容は以下のようなものとする。
図5の定常歩容12の切替位置で歩行停止歩容36を開始する。
歩行停止歩容開始時に、最後から2歩目31の片脚支持状態とし、停止状態での目標ZMP33から前後方向にΔXだけずらした倒立振子モデルにより重心軌道を生成する。ただし、前述のように、停止状態とは,両脚を横に揃えて重心が停止しており、目標ZMP33が重心の真下にある状態を意味する。停止状態の目標ZMP位置を絶対座標系の原点とする。時刻t’’=Tx−Tyで最後の1歩35を着地して両脚支持状態とし、停止状態の目標ZMP33から前後方向にΔX、横方向にΔYだけずらした倒立振子モデルにより重心軌道30を生成する。t’’=Txで重心速度は横方向、前後方向ともに0となり、それと同時に目標ZMPを停止状態の目標ZMPにする。
以上のような歩行停止歩容の演算方法を以下に説明する。
まず,X方向について、時刻0からTxまでの間の軌道を次式で与える。
ここで、C’1y、C’2yは(18)式で与えられるものを用いればよい。
次に、Y方向について、時刻0からTx−Tyまでの間の軌道を次式で与える。
Y方向は、時刻Tx−Tyで両脚支持の歩容に切り替わり、時刻Txで停止状態となる。
図5は本発明の実施例2に係る二足歩行ロボットの制御装置の歩行停止歩容の重心軌道を示す図である。
歩行停止時の歩容は、前述の歩行開始歩容の時間軸およびX軸を逆にした歩容とすればよい。歩行停止歩容の開始は、定常歩行の切替の瞬間、すなわち着地の瞬間とする。歩行停止歩容の演算式では、歩行停止開始時刻を0とした時刻t’’を用いるものとする。歩行停止歩容は以下のようなものとする。
図5の定常歩容12の切替位置で歩行停止歩容36を開始する。
歩行停止歩容開始時に、最後から2歩目31の片脚支持状態とし、停止状態での目標ZMP33から前後方向にΔXだけずらした倒立振子モデルにより重心軌道を生成する。ただし、前述のように、停止状態とは,両脚を横に揃えて重心が停止しており、目標ZMP33が重心の真下にある状態を意味する。停止状態の目標ZMP位置を絶対座標系の原点とする。時刻t’’=Tx−Tyで最後の1歩35を着地して両脚支持状態とし、停止状態の目標ZMP33から前後方向にΔX、横方向にΔYだけずらした倒立振子モデルにより重心軌道30を生成する。t’’=Txで重心速度は横方向、前後方向ともに0となり、それと同時に目標ZMPを停止状態の目標ZMPにする。
以上のような歩行停止歩容の演算方法を以下に説明する。
まず,X方向について、時刻0からTxまでの間の軌道を次式で与える。
次に、Y方向について、時刻0からTx−Tyまでの間の軌道を次式で与える。
次に本発明の実施例3について説明する。
図8は本発明の実施例3に係る二足歩行ロボットの制御装置の歩容生成処理のフローチャートである。
実施例3として、以上のように倒立振子モデルを用いて解析的に得られた数式を用いて、どのように歩容を生成するかを図8のフローを用いて以下に説明する。
図8で表される歩容生成処理は、一歩ごとに行われ、第n歩目の歩容を表す数式の係数を算出する。算出された係数を用いて、制御周期ごとの重心軌道を算出する。
歩容生成処理は、まずstep1で、歩行速度指令を受け取る。
次に、step2に移行し、その時点でロボットが停止状態であればstep3へ、停止状態でない場合はstep4へ移行する。step3では、受け取った歩行速度指令が0であるかどうかを判定し、0であれば停止状態のまま終了する。0でない場合はstep6へ移行する。step4では、受け取った歩行速度指令が0であるかどうかを判定し、0であればstep7へ移行する。
0でない場合はstep5へ移行する。step5では受け取った歩行速度指令が前回と同じであるかどうかを判定し、同じであればstep8へ、変わっていればstep9へ移行する。step6では歩行開始歩容を生成する。step7では歩行停止歩容を生成する。step8では定常歩容を生成する。step9では過渡歩容を生成する。
本発明の特徴となるのは、歩行開始歩容および歩行停止歩容の生成方法であるため、過渡歩容の詳細な生成方法については省略する。過渡歩容の生成方法としては、例えば本出願人が先に提出した特許文献に記載されている方法を用いればよい。
図8は本発明の実施例3に係る二足歩行ロボットの制御装置の歩容生成処理のフローチャートである。
実施例3として、以上のように倒立振子モデルを用いて解析的に得られた数式を用いて、どのように歩容を生成するかを図8のフローを用いて以下に説明する。
図8で表される歩容生成処理は、一歩ごとに行われ、第n歩目の歩容を表す数式の係数を算出する。算出された係数を用いて、制御周期ごとの重心軌道を算出する。
歩容生成処理は、まずstep1で、歩行速度指令を受け取る。
次に、step2に移行し、その時点でロボットが停止状態であればstep3へ、停止状態でない場合はstep4へ移行する。step3では、受け取った歩行速度指令が0であるかどうかを判定し、0であれば停止状態のまま終了する。0でない場合はstep6へ移行する。step4では、受け取った歩行速度指令が0であるかどうかを判定し、0であればstep7へ移行する。
0でない場合はstep5へ移行する。step5では受け取った歩行速度指令が前回と同じであるかどうかを判定し、同じであればstep8へ、変わっていればstep9へ移行する。step6では歩行開始歩容を生成する。step7では歩行停止歩容を生成する。step8では定常歩容を生成する。step9では過渡歩容を生成する。
本発明の特徴となるのは、歩行開始歩容および歩行停止歩容の生成方法であるため、過渡歩容の詳細な生成方法については省略する。過渡歩容の生成方法としては、例えば本出願人が先に提出した特許文献に記載されている方法を用いればよい。
図8では歩行速度指令が0の場合は停止状態となるようにしているが、停止状態と歩行状態を切り替えるフラグを指令として与えてもよい。この場合、歩行速度指令が0の場合は停止状態ではなく足踏みを続けるようにすることもできる。その場合、step1で、歩行速度指令とフラグを受け取り、step3およびstep4での判定はフラグが歩行停止かどうかとすればよい。
1、10、20 重心軌道
2 歩行開始歩容目標ZMP
3、33 停止状態の目標ZMP
4、32 左脚支持状態の目標ZMP
5 左脚
6 右脚
7 一歩目の着地位置
8 2歩目の着地位置
11 歩行開始歩容
12 定常歩容
21 n−1歩目の着地位置
22 n歩目の着地位置
23 n+1歩目の着地位置
24 Xstride
31 最後から2歩目の着地位置
34 両脚支持状態の目標ZMP
35 最後の一歩の着地位置
36 歩行停止歩容
2 歩行開始歩容目標ZMP
3、33 停止状態の目標ZMP
4、32 左脚支持状態の目標ZMP
5 左脚
6 右脚
7 一歩目の着地位置
8 2歩目の着地位置
11 歩行開始歩容
12 定常歩容
21 n−1歩目の着地位置
22 n歩目の着地位置
23 n+1歩目の着地位置
24 Xstride
31 最後から2歩目の着地位置
34 両脚支持状態の目標ZMP
35 最後の一歩の着地位置
36 歩行停止歩容
Claims (13)
- 二足の脚構造と、上位コンピュータまたは人間とのインターフェース装置が生成した歩行指令どおりの歩行を実現する歩容を生成する歩容生成装置と、前記脚構造を動作させるための複数のアクチュエータと、姿勢または外力または環境情報のうちのいずれかまたはすべてを含む各種状態量を検出して各種センサ情報を生成する各種センサと、前記各種センサ情報を基に前記歩容を修正する安定化制御器と、前記修正歩容を基に前記複数のアクチュエータそれぞれに対する指令を生成するアクチュエータ指令生成装置と、アクチュエータの位置または速度または力または電流のうちのいずれかまたはすべてを含むアクチュエータ状態量を検出してアクチュエータセンサ情報を生成するためのアクチュエータセンサと、前記アクチュエータ指令どおりにアクチュエータを動作させるためのアクチュエータ制御器と、を備えた二足歩行ロボットの制御装置において、
前記歩容生成装置は、両脚を左右に揃えて停止している状態を停止状態とし、停止状態の目標ZMPを重心の真下とし、前記停止状態の目標ZMPより後方にずれた位置を歩行開始歩容前後方向目標ZMPとし、歩行開始歩容の始めから1歩目の着地までの間、前後方向の目標ZMPを前記歩行開始歩容前後方向目標ZMPに固定した歩行開始歩容を生成することを特徴とする二足歩行ロボットの制御装置。 - 前記歩容生成装置は、1歩目の着地時の前後方向重心速度が定常歩容の切替時の前後方向重心速度と等しくなるように前記歩行開始歩容前後方向目標ZMPの前後方向位置を決定することを特徴とする請求項1記載の二足歩行ロボットの制御装置。
- 二足の脚構造と、上位コンピュータまたは人間とのインターフェース装置が生成した歩行指令どおりの歩行を実現する歩容を生成する歩容生成装置と、前記脚構造を動作させるための複数のアクチュエータと、姿勢または外力または環境情報のうちのいずれかまたはすべてを含む各種状態量検出して各種センサ情報を生成する各種センサと、前記各種センサ情報を基に前記歩容を修正する安定化制御器と、前記修正歩容を基に前記複数のアクチュエータそれぞれに対する指令を生成するアクチュエータ指令生成装置と、アクチュエータの位置または速度または力または電流のうちのいずれかまたはすべてを含むアクチュエータ状態量を検出してアクチュエータセンサ情報を生成するためのアクチュエータセンサと、前記アクチュエータ指令どおりにアクチュエータを動作させるためのアクチュエータ制御器と、を備えた二足歩行ロボットの制御装置において、
前記歩容生成装置は、両脚を左右に揃えて停止している状態を停止状態とし、停止状態の目標ZMPを重心の真下とし、前記停止状態の目標ZMPより1歩目に踏み出す足の方にずれた位置を歩行開始歩容横方向目標ZMPとし、歩行開始歩容の始めから1歩目の離床までの間、横方向の目標ZMPを前記歩行開始歩容横方向目標ZMPに固定した歩行開始歩容を生成することを特徴とする二足歩行ロボットの制御装置。 - 前記歩容生成装置は、1歩目の着地時の横方向重心速度が定常歩容の切替時の横方向重心速度と一致するような歩行開始時片脚支持歩容を求め,1歩目の離床の瞬間に横方向重心位置および速度が前記歩行開始時片脚支持歩容の横方向重心位置および速度と同時に一致するように前記歩行開始歩容横方向目標ZMPおよび1歩目の離床タイミングを決定することを特徴とする請求項3記載の二足歩行ロボットの制御装置。
- 二足の脚構造と、上位コンピュータまたは人間とのインターフェース装置が生成した歩行指令どおりの歩行を実現する歩容を生成する歩容生成装置と、前記脚構造を動作させるための複数のアクチュエータと、姿勢または外力または環境情報のうちのいずれかまたはすべてを含む各種状態量検出して各種センサ情報を生成する各種センサと、前記各種センサ情報を基に前記歩容を修正する安定化制御器と、前記修正歩容を基に前記複数のアクチュエータそれぞれに対する指令を生成するアクチュエータ指令生成装置と、アクチュエータの位置または速度または力または電流のうちのいずれかまたはすべてを含むアクチュエータ状態量を検出してアクチュエータセンサ情報を生成するためのアクチュエータセンサと、前記アクチュエータ指令どおりにアクチュエータを動作させるためのアクチュエータ制御器と、を備えた二足歩行ロボットの制御装置において、
前記歩容生成装置は、両脚を左右に揃えて停止している状態を停止状態とし、停止状態の目標ZMPを重心の真下とし、前記停止状態の目標ZMPより前方にずれた位置を歩行停止歩容前後方向目標ZMPとし、最後から2歩目の着地の瞬間から停止までの間、前後方向の目標ZMPを前記歩行停止歩容前後方向目標ZMPの位置に固定した歩行停止歩容を生成し、前後方向重心速度が0となった時点で前後方向の目標ZMPを前記停止状態の目標ZMPとすることを特徴とする二足歩行ロボットの制御装置。 - 前記歩容生成装置は、最後から2歩目の着地時の前後方向重心速度が定常歩容の切替時の前後方向重心速度と等しく、与えられた時間で前後方向重心速度を0にするように前記停止時前後方向目標ZMPを決定することを特徴とする請求項5記載の二足歩行ロボットの制御装置。
- 二足の脚構造と、上位コンピュータまたは人間とのインターフェース装置が生成した歩行指令どおりの歩行を実現する歩容を生成する歩容生成装置と、前記脚構造を動作させるための複数のアクチュエータと、姿勢または外力または環境情報のうちのいずれかまたはすべてを含む各種状態量検出して各種センサ情報を生成する各種センサと、前記各種センサ情報を基に前記歩容を修正する安定化制御器と、前記修正歩容を基に前記複数のアクチュエータそれぞれに対する指令を生成するアクチュエータ指令生成装置と、アクチュエータの位置または速度または力または電流のうちのいずれかまたはすべてを含むアクチュエータ状態量を検出してアクチュエータセンサ情報を生成するためのアクチュエータセンサと、前記アクチュエータ指令どおりにアクチュエータを動作させるためのアクチュエータ制御器と、を備えた二足歩行ロボットの制御装置において、
前記歩容生成装置は、両脚を左右に揃えて停止している状態を停止状態とし、停止状態の目標ZMPを重心の真下とし、前記停止状態の目標ZMPより最後の1歩の足の方にずれた位置を歩行停止歩容横方向目標ZMPとし、最後の1歩の着地時から停止までの間,横方向目標ZMPを前記歩行停止歩容横方向目標ZMPに固定した歩行停止歩容を生成し、横方向重心速度が0となった時点で目標ZMPを重心の真下とすることを特徴とする二足歩行ロボットの制御装置。 - 前記歩容生成装置は、最後から2歩目の着地時に横方向重心速度が定常歩容の切替速度と一致するような歩行停止時片脚支持歩容を求め、最後の1歩の着地の瞬間に横方向重心位置および速度が前記片脚支持歩容の横方向重心位置および速度と同時に一致するように前記歩行停止歩容横方向目標ZMPおよび最後の1歩の着地タイミングを決定することを特徴とする請求項7記載の二足歩行ロボットの制御装置。
- 前記歩容生成装置は、倒立振子モデルから解析的に与えられる数式を用いて歩容を生成することを特徴とする請求項1〜8のいずれか1項記載の二足歩行ロボットの制御装置。
- 前記歩容は、重心加速度が、重力加速度を一定値である重心高さで除して、重心のX座標値と目標ゼロモーメントポイントZMPのX座標値との差分を乗じて表され、重心位置、重心加速度および着地位置が当該関係を満たしていないと転倒するZMP方程式を用いて演算されることを特徴とする請求項9記載の二足歩行ロボットの制御装置。
- 二足の脚構造と、上位コンピュータまたは人間とのインターフェース装置が生成した歩行指令どおりの歩行を実現する歩容を生成する歩容生成装置と、前記脚構造を動作させるための複数のアクチュエータと、姿勢または外力または環境情報のうちのいずれかまたはすべてを含む各種状態量を検出して各種センサ情報を生成する各種センサと、前記各種センサ情報を基に前記歩容を修正する安定化制御器と、前記修正歩容を基に前記複数のアクチュエータそれぞれに対する指令を生成するアクチュエータ指令生成装置と、アクチュエータの位置または速度または力または電流のうちのいずれかまたはすべてを含むアクチュエータ状態量を検出してアクチュエータセンサ情報を生成するためのアクチュエータセンサと、前記アクチュエータ指令どおりにアクチュエータを動作させるためのアクチュエータ制御器と、を備えた二足歩行ロボットの制御装置の歩容制御方法において、
上位装置より歩行速度指令を受け取り、ロボットが停止状態かを判断して、前記ロボッとが停止状態の場合は、前記歩行速度指令がゼロかを判断し、ゼロの場合はそのまま終了しゼロで無い場合は歩行開始歩容生成処理を行い。前記ロボットが停止状態かの判断で停止状態では無い場合も、前記歩行速度指令の確認を行い、前記歩行速度指令がゼロの場合は歩行停止歩容生成処理を行い、前記歩行速度指令の確認で歩行速度指令がゼロでは無い場合は、該歩行速度指令が前回と同じかを判断し、同じ場合は定常歩容生成処理を行って歩行を続行し、前記歩行速度指令が同じでは無い場合は過渡歩容処理に移行する、上記1連の歩容生成処理を、1歩毎に行い、前記ZMP方程式を解いて第n歩目の歩容の重心位置と速度を求めるための積分定数を算出し、算出された前記積分定数を用いて制御周期毎に歩容を表す重心軌道を算出して歩容制御を実行することを特徴とする二足歩行ロボットの制御装置の歩容制御方法。 - 前記歩行開始歩容生成は、両脚を左右に揃えて停止している状態を停止状態とし、停止状態の目標ZMPを重心の真下とし、前記停止状態の目標ZMPより後方にずれた位置を歩行開始歩容前後方向目標ZMPとし、歩行開始歩容の始めから1歩目の着地までの間、前後方向の目標ZMPを前記歩行開始歩容前後方向目標ZMPに固定すると共に、前記停止状態の目標ZMPより1歩目に踏み出す足の方にずれた位置を歩行開始歩容横方向目標ZMPとし、歩行開始歩容の始めから1歩目の離床までの間、横方向の目標ZMPを前記歩行開始歩容横方向目標ZMPに固定して、前記積分定数を算出し重心軌道を算出して歩行開始歩容を生成することを特徴とする請求項11記載の二足歩行ロボットの制御装置の歩容制御方法。
- 前記歩行停止歩容生成は、両脚を左右に揃えて停止している状態を停止状態とし、停止状態の目標ZMPを重心の真下とし、前記停止状態の目標ZMPより前方にずれた位置を歩行停止歩容前後方向目標ZMPとし、最後から2歩目の着地の瞬間から停止までの間、前後方向の目標ZMPを前記歩行停止歩容前後方向目標ZMPの位置に固定した歩行停止歩容を生成し、前後方向重心速度が0となった時点で前後方向の目標ZMPを前記停止状態の目標ZMPとすると共に、前記停止状態の目標ZMPより最後の1歩の足の方にずれた位置を歩行停止歩容横方向目標ZMPとし、最後の1歩の着地時から停止までの間,横方向目標ZMPを前記歩行停止歩容横方向目標ZMPに固定した歩行停止歩容を生成し、横方向重心速度が0となった時点で目標ZMPを重心の真下とするようにして、前記積分定数を算出し重心軌道を算出し歩行停止歩容を生成することを特徴とする請求項11記載の二足歩行ロボットの制御装置の歩容制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007242040A JP2009072839A (ja) | 2007-09-19 | 2007-09-19 | 二足歩行ロボットの制御装置および歩容制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007242040A JP2009072839A (ja) | 2007-09-19 | 2007-09-19 | 二足歩行ロボットの制御装置および歩容制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009072839A true JP2009072839A (ja) | 2009-04-09 |
Family
ID=40608357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007242040A Pending JP2009072839A (ja) | 2007-09-19 | 2007-09-19 | 二足歩行ロボットの制御装置および歩容制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009072839A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8565921B2 (en) | 2010-07-22 | 2013-10-22 | Toyota Jidosha Kabushiki Kaisha | Biped walking robot |
US20160023699A1 (en) * | 2014-07-23 | 2016-01-28 | Google Inc. | Predictively Adjustable Hydraulic Pressure Rails |
CN105973143A (zh) * | 2016-05-06 | 2016-09-28 | 北京理工大学 | 一种双足行走步行参数的测量方法与装置 |
CN111197446A (zh) * | 2018-11-20 | 2020-05-26 | 宝沃汽车(中国)有限公司 | 开启后备箱的方法、装置、存储介质及车辆 |
CN112486170A (zh) * | 2020-11-23 | 2021-03-12 | 深圳市优必选科技股份有限公司 | 机器人控制方法、装置、计算机可读存储介质及机器人 |
CN112847398A (zh) * | 2021-01-08 | 2021-05-28 | 北京工业大学 | 一种对助行安全异常自动采取保护方法 |
-
2007
- 2007-09-19 JP JP2007242040A patent/JP2009072839A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8565921B2 (en) | 2010-07-22 | 2013-10-22 | Toyota Jidosha Kabushiki Kaisha | Biped walking robot |
US20160023699A1 (en) * | 2014-07-23 | 2016-01-28 | Google Inc. | Predictively Adjustable Hydraulic Pressure Rails |
US9849926B2 (en) * | 2014-07-23 | 2017-12-26 | Boston Dynamics, Inc. | Predictively adjustable hydraulic pressure rails |
US11077898B2 (en) | 2014-07-23 | 2021-08-03 | Boston Dynamics, Inc. | Predictively adjustable hydraulic pressure rails |
CN105973143A (zh) * | 2016-05-06 | 2016-09-28 | 北京理工大学 | 一种双足行走步行参数的测量方法与装置 |
CN105973143B (zh) * | 2016-05-06 | 2019-08-09 | 北京理工大学 | 一种双足行走步行参数的测量方法与装置 |
CN111197446A (zh) * | 2018-11-20 | 2020-05-26 | 宝沃汽车(中国)有限公司 | 开启后备箱的方法、装置、存储介质及车辆 |
CN112486170A (zh) * | 2020-11-23 | 2021-03-12 | 深圳市优必选科技股份有限公司 | 机器人控制方法、装置、计算机可读存储介质及机器人 |
CN112847398A (zh) * | 2021-01-08 | 2021-05-28 | 北京工业大学 | 一种对助行安全异常自动采取保护方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6301524B1 (en) | Gait generation system of legged mobile robot | |
JP5034235B2 (ja) | 制御システム及び制御方法、並びにコンピュータ・プログラム | |
JP4591419B2 (ja) | ロボットとその制御方法 | |
JP4818716B2 (ja) | ロボット制御装置 | |
JP5483997B2 (ja) | 脚式移動ロボットの制御装置 | |
JP4641252B2 (ja) | 脚式移動ロボットの歩容生成装置 | |
JP4392037B2 (ja) | 脚式ロボット、及びその制御方法 | |
CN100589937C (zh) | 腿式移动机器人及其控制程序 | |
US7765030B2 (en) | Gait generator for mobile robot | |
WO2006013779A1 (ja) | 脚式移動ロボットの歩容生成装置および制御装置 | |
WO2006067904A1 (ja) | 脚式移動ロボットの歩容生成装置 | |
WO2006040868A1 (ja) | 脚式移動ロボットの歩容生成装置 | |
WO2006040867A1 (ja) | 脚式移動ロボットの制御装置 | |
JP2009072839A (ja) | 二足歩行ロボットの制御装置および歩容制御方法 | |
JPWO2003057429A1 (ja) | 脚式移動ロボットの歩容生成装置 | |
WO2004041484A1 (ja) | ロボット装置、ロボット装置の運動制御装置及び運動制御方法 | |
JPWO2002040224A1 (ja) | 脚式移動ロボットの歩容生成装置 | |
JP2007175810A (ja) | ロボット制御装置 | |
JP2016022540A (ja) | 移動ロボットの動作目標生成装置 | |
JP2010069546A (ja) | ロボット制御装置、ロボット制御方法およびロボット制御プログラム | |
JP2011161524A (ja) | 2脚歩行ロボット及びそのための歩容データ生成方法 | |
JP2008119763A (ja) | 二足歩行ロボットの制御装置 | |
JP5632609B2 (ja) | ロボット制御装置およびロボット制御方法 | |
JP4905041B2 (ja) | ロボット制御装置 | |
JP2008119764A (ja) | 二足歩行ロボットの制御装置 |