JP2009255231A - 歩行制御装置および歩行制御方法 - Google Patents
歩行制御装置および歩行制御方法 Download PDFInfo
- Publication number
- JP2009255231A JP2009255231A JP2008107993A JP2008107993A JP2009255231A JP 2009255231 A JP2009255231 A JP 2009255231A JP 2008107993 A JP2008107993 A JP 2008107993A JP 2008107993 A JP2008107993 A JP 2008107993A JP 2009255231 A JP2009255231 A JP 2009255231A
- Authority
- JP
- Japan
- Prior art keywords
- robot
- walking
- walking control
- target value
- storage amount
- 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
【課題】歩行制御装置及び歩行制御方法における演算負荷を軽減すること。
【解決手段】歩行制御装置200は、ロボット100の倒立振子モデル300における重心軌道Sに基づいて、ロボット100の歩行制御を行う。また、歩行制御装置200は、倒立振子モデル300の重心軌道Sに基づいて、ロボット100の歩行運動における現在の保存量を算出する保存量算出手段211と、ロボット100の歩行の目標進行方向と、目標歩行速度とに基づいて、保存量の目標値を算出する目標値算出手段212と、保存量算出手段211により算出された現在の保存量と、目標値算出手段212により算出された目標値とに基づいて、ロボット100の歩行制御を行う歩行制御手段213と、を備える。
【選択図】図7
【解決手段】歩行制御装置200は、ロボット100の倒立振子モデル300における重心軌道Sに基づいて、ロボット100の歩行制御を行う。また、歩行制御装置200は、倒立振子モデル300の重心軌道Sに基づいて、ロボット100の歩行運動における現在の保存量を算出する保存量算出手段211と、ロボット100の歩行の目標進行方向と、目標歩行速度とに基づいて、保存量の目標値を算出する目標値算出手段212と、保存量算出手段211により算出された現在の保存量と、目標値算出手段212により算出された目標値とに基づいて、ロボット100の歩行制御を行う歩行制御手段213と、を備える。
【選択図】図7
Description
本発明は、ロボットの歩行制御を行う歩行制御装置および歩行制御方法に関し、より詳細には、ロボットの倒立振子モデルにおける重心軌道に基づいて、ロボットの歩行制御を行う歩行制御装置および歩行制御方法に関するものである。
脚式ロボットの歩行制御において、ZMP(Zero Moment Point)規範の歩行制御が行われており、安定した2足歩行を比較的に容易に実現できるようになっている。しかしながら、このZMP規範の歩行制御においては、消費エネルギーが大きく、その歩行動作は人間の歩行動作と比較して不自然になるというような問題が生じている。
一方で、遊脚側の脚部リンクが着地した後、脚部リンクの関節における制御値の補正量を保持し、立脚切り換え後に経時的に低減させる脚式移動ロボットの歩行制御装置が知られている(例えば、特許文献1参照)。
また、実際の支持脚の足平配置を計測し、計測された足平配置の目標とする足平配置経路からの差異に基づいて、動作計画を更新しながら歩行する脚式ロボットが知られている(例えば、特許文献2参照)。
特開平5−253866号公報
特開2007−7802号公報
しかしながら、上記特許文献1の歩行制御装置及び特許文献2の脚式ロボットは、ロボットの歩行を目標進行方向及び目標歩行速度に漸近させるために、現在から数歩先の歩行を予測する予測演算を行い、その演算結果に基づいて、次の遊脚の着地位置や次の1歩を決定している。このため、繰り返し実行される予測演算等により演算負荷が高くなり、演算プロセスも複雑化する虞がある。
本発明は、このような問題点を解決するためになされたものであり、演算負荷を軽減した歩行制御装置及び歩行制御方法を提供することを主たる目的とする。
上記目的を達成するための本発明の一態様は、ロボットの倒立振子モデルにおける重心軌道に基づいて、前記ロボットの歩行制御を行う歩行制御装置であって、前記倒立振子モデルの重心軌道に基づいて、前記ロボットの歩行運動における現在の保存量を算出する保存量算出手段と、 予め設定された前記ロボットの歩行の目標進行方向と、目標歩行速度とに基づいて、前記保存量の目標値を算出する目標値算出手段と、前記保存量算出手段により算出された前記現在の保存量と、前記目標値算出手段により算出された前記目標値とに基づいて、前記ロボットの歩行制御を行う歩行制御手段と、を備えることを特徴とする歩行制御装置である。この一態様によれば、当該制御装置における演算負荷を軽減することができる。
この一態様において、前記歩行制御手段は、前記保存量算出手段により算出された前記現在の保存量が、前記目標値算出手段により算出された前記目標値に収束するように、前記ロボットの歩行における次の遊脚の着地位置を決定してもよい。これにより、現在の保存量を目標値に収束させることで、ロボットの歩行を目標歩行速度に近付けることができる。
この一態様において、前記ロボットの歩行の進行方向を変更する進行方向変更手段を更に備え、前記進行方向変更手段は、前記目標値算出手段により算出された前記目標値を増減させることで、前記ロボットの進行方向を変更してもよい。これにより、ロボットの進行方向を任意の方向に変更することができるため、ロボットの歩行を目標進行方向及び目標歩行速度に近付けることができる。
この一態様において、前記歩行制御手段は、前記保存量算出手段により算出された前記現在の保存量を保持し、かつ、次の1歩における前記ロボットの進行方向が、前記目標進行方向に漸近するように、現在の1歩の終端となる遊脚着地時の振子長を決定してもよい。これにより、ロボットの進行方向を任意の方向に変更することができるため、ロボットの歩行を目標進行方向及び目標歩行速度に近付けることができる。
この一態様において、前記ロボットの関節を駆動する関節駆動手段と、前記ロボットの関節角度を検出する関節角度検出手段と、を更に備え、前記歩行制御手段は、前記倒立振子モデルの重心軌道を満たすような前記ロボットの関節角度を、逆キネマティクスにより算出し、該算出した関節角度と、前記関節角度検出手段により検出された前記関節角度と、に基づいて、前記関節駆動手段を制御してもよい。これにより、倒立振子モデルの重心軌道を満たすように、ロボットの歩行制御を高精度に行うことができる。
他方、上記目的を達成するための本発明の一態様は、ロボットの倒立振子モデルにおける重心軌道に基づいて、前記ロボットの歩行制御を行う歩行制御方法であって、前記ロボットの重心軌道に基づいて、前記ロボットの歩行運動における現在の保存量を算出する保存量算出工程と、前記ロボットの歩行の目標進行方向と、目標歩行速度とに基づいて、前記保存量の目標値を算出する目標値算出工程と、前記保存量算出工程で算出された前記現在の保存量と、前記目標値算出工程で算出された前記目標値とに基づいて、前記ロボットの歩行制御を行う歩行制御工程と、を含む、ことを特徴とする歩行制御方法であってもよい。この一態様によれば、当該制御方法における演算負荷を軽減することができる。
本発明によれば、歩行制御装置及び歩行制御方法における演算負荷を軽減することができる。
(本発明の実施形態1.)
以下、本発明を実施するための最良の形態について、添付図面を参照しながら実施形態1を挙げて説明する。図1は、本発明の実施形態1に係るロボットの機械構成を示したスケルトン図である。
以下、本発明を実施するための最良の形態について、添付図面を参照しながら実施形態1を挙げて説明する。図1は、本発明の実施形態1に係るロボットの機械構成を示したスケルトン図である。
図1に示すように、ロボット100において、股関節は3軸、膝関節は1軸、足首関節は2軸、肩関節は2軸、肘関節は2軸、および、手首関節は1軸、で夫々構成されている。また、ロボット100は、各関節にエンコーダ付きモータ1、2、・・・、24を有している。各関節のモータ(関節駆動手段)1a、2a、・・・、24a(図2)は、各関節の関節角度θ1、θ2、・・・、θ24を調整できる。一方、各関節のエンコーダ(関節角度検出手段)1b、2b、・・・、24bは、各関節の関節角度θ1、θ2・・・、θ24を計測することができる。
ロボット100は、右側及び左側の足平部101、102の裏側にホトセンサ25、26を、夫々有している。各ホトセンサ25、26は、各足平部101、102が接地しているのか否か、又は浮遊しているのか否か、を検出することができる。
図2は、本実施形態1に係るロボット100の歩行制御装置200のシステム構成を示すブロック図である。本実施形態1に係る歩行制御装置200は、各関節のモータ1a〜24a及びエンコーダ1b〜24bと、ホトセンサ25、26と、コントローラ210と、を備えている。
コントローラ210には、各関節のエンコーダ1b〜24b及び各足平部101、102のホトセンサ25、26から、センサ出力が入力されている。また、コントローラ210は、各関節のモータ1a〜24aに対して、回転角度の制御信号を出力している。
なお、コントローラ210は、主要なハードウェア構成として、制御処理、演算処理等と行うCPU(Central Processing Unit)210aと、CPU210aによって実行される制御プログラム、演算プログラム等が記憶されたROM(Read Only Memory)210bと、処理データ等を一時的に記憶するRAM(Random Access Memory)210cと、を有するマイクロコンピュータにより構成されている。また、これらCPU210a、ROM210b、及びRAM210cは、データバス210dによって相互に接続されている。
コントローラ210は、ロボット100を受動歩行させるような倒立振子モデルの重心軌道を、ロボット100が歩行動作を開始する前に予め生成して、記憶している。コントローラ210は、ロボット100の歩行動作を開始すると、予め記憶された重心軌道を読み出し、逆キネマティクス演算を行う。そして、コントローラ210は、各関節のモータ1a〜24aに対して制御指示するための、回転角度の時系列データを生成する。各モータ1a〜24aは、この生成された回転角度の時系列データに従って、各関節の関節角度θ1〜θ24を調整する。これにより、ロボット100は、受動歩行を行うことができる。
また、コントローラ210は、ロボット100の受動歩行中に、ホトセンサ25、26及びエンコーダ1b〜24bからの検出結果に基づいて、ロボット100の現在の状態(姿勢、相対位置等)を特定する。コントローラ210は、特定されたロボット100の現在の状態に基づいて、読み出された重心軌道を修正して、各関節の関節角度θ1〜θ24を生成する、いわゆるフィードバック制御(例えば、PID制御)を行う。
次に、ロボット100の受動歩行について、詳細に説明する。本実施形態1に係るロボット100において、一方の脚が支持脚として接地した状態で、支持脚の足首関節は、進行方向にも体側方向(後方向)にも回転自由である。この状態で、進行方向へ慣性が存在すると、ロボット100は支持脚の足首関節を支点とした倒立振子の挙動を示し、進行方向へ向けて倒れ込む。このとき、遊脚が進行方向へ向けて振り出されると、ロボット100が倒れ込むことによって、遊脚の足先が接地する。
遊脚の足先が接地した後、その接地した遊脚は新たに支持脚となる。このとき、新たな支持脚の足首関節は、進行方向又は体側方向にも回転自由となる。ロボット100には、進行方向への慣性が作用しているため、ロボット100は新たな支持脚の足首関節を支点とする倒立振子の挙動を示し、さらに進行方向へ向けて倒れ込む。また、そのときまで支持脚であった脚は、ロボット100が倒れ込むことによって浮遊し、遊脚となる。その後、新たな遊脚を進行方向に向けて振り出しておけば、ロボット100が倒れこむことによって、再び遊脚の足先が接地する。このような動作を繰り返すことによって、ロボット100は、受動的な歩行を継続することができる。
なお、支持脚の足首関節を回転自由(非駆動関節)とした場合でも、実際には足首関節には摩擦が存在する。しかしながら、回転自由とする足首関節のモータ1a、2a、7a、8aに、摩擦を相殺するだけのトルクを与えることによって、摩擦が存在しない状態を作り出すことができる。すなわち、本実施形態1において、関節を回転自由にするとは、足首関節のモータ1a、2a、7a、8aに電流を加えないで受動回転を許容するようにするだけでなく、摩擦を相殺するだけのトルクを与えることによって実質的には摩擦が存在しない状態とすることの両者を含むものとする。
本実施形態1に係る歩行制御装置200のコントローラ210は、倒立振子モデルにおけるロボット100の重心軌道に基づいて、ロボットの歩行制御を行う。したがって、コントローラ210は、上述のロボット100に受動歩行を行わせる際に、倒立振子モデルに基づいて、目標となる重心軌道Sを生成する。
図3は、本実施形態1に係るロボット100の重心軌道を生成する倒立振子モデルの一例を示している。倒立振子モデル300において、例えば、図3に示す如く、ロボット100が右脚を支持脚として接地させ、左脚を遊脚として前方に振り出している状態をモデル化している。
倒立振子モデル300では、質量mの質点301がロボット100の重心Gに相当している。この重心Gは、支持脚リンク302を介して、支持脚の足平部101に対して接続されている。支持脚リンク302の下端は、支持脚の足平部101に対して、ピッチP及びヨーYの2軸での回転が可能に接続されている。支持脚リンク302の上端は、重心Gに対して、ピッチP、ロールR及びヨーYの3軸での回転が可能に接続されている。
さらに、支持脚リンク302の長さlを伸縮させることで、倒立振子モデル300の振子長Lを調整することができる。この6自由度の倒立振子モデル300によって、支持脚の足平部101から見たロボット100の重心Gの並進運動と、ロボット100の重心G周りの回転運動を記述することができる。
本実施形態1に係る倒立振子モデル300において、ロボット100の重心Gが床面に対してピッチP及びロールRの2軸に関して回転しないように制御される。また、倒立振子モデル300において、遊脚リンク304が重心Gに対して、ピッチP、ロールR及びヨーYの3軸での回転が可能に接続されている。遊脚リンク303の先端304は、ロボット100の遊脚の足先に相当している。
なお、倒立振子モデル300は、支持脚の接地位置を2軸に回転自由な支点とする倒立振子を表現している。この倒立振子モデル300における重心Gは、図4に示す極座標(φ、θ、L)を用いることで、簡易的に扱うことができる。図4に示す極座標系では、支持脚の足平部101、102の基準点(例えば、中心点)を原点Oとして、重心Gの動径をLとしている。支持脚の足平部101、102の接地面に垂直な方向(図4のz軸方向)からの重心Gの偏角(ピッチ角)をθとしている。支持脚の足平部101、102の接地面に重心Gを投影したときの支持脚の足平部101、102が向いている方向(図4のx軸方向)からの偏角(ロール角)をφとしている。
さらに、倒立振子モデル300の重心軌道(重心Gの軌道)Sは、支持脚の足平部101、102の基準点を原点Oとする相対座標によって表現されている(図5)。したがって、例えば、支持脚が左脚である場合は、左脚の足平部102の基準点を原点Oとして、重心軌道Sの極座標(φ、θ、L)が構成される。一方、支持脚が左脚から右脚へ切り替わると、右脚の足平部101の基準点を原点Oとして、重心軌道Sの極座標(φ、θ、L)が構成される。これを繰り返すことにより、ロボット100の連続的かつ自然な歩行運動が表現される(図6)。
なお、図5及び図6に示すように、偏角θは、支持脚期間の前半(倒立振子モデル300の振子が起き上がる状態)において減少し、後半(倒立振子モデル300の振子が倒れる状態)で増加している。一方で、偏角φは、支持脚期間において、上記前半及び後半を問わず、常に増加している。
また、倒立振子モデル300の振子長Lは、ロボット100の滑らかな歩行運動が実現されるように、多項式、スプライン関数等を用いて、調整される。例えば、振子長Lは、θの関数となる下記多項式(1)を用いて、調整することができる。
上記(1)式において、L0は振子長の初期値であり、予め設定される。また、上記(1)式において、a、b、c及びdは、任意の定数である。
ところで、従来の歩行制御装置は、ロボットの歩行を目標進行方向及び/又は目標歩行速度に漸近させるために、現在から数歩先の歩行を予測する予測演算を行い、その演算結果に基づいて、次の遊脚の着地位置や次の1歩を決定している。このため、繰り返し実行される予測演算等によりコントローラの演算負荷が高くなり、計算プロセスも複雑化する虞がある。
そこで、本実施形態1に係る歩行制御装置200において、歩行制御部213は、保存量算出部211により算出された現在の保存量C1、C2と、目標値算出部212により算出された保存量目標値C1T、C2Tと、に基づいて、ロボット100の次の遊脚における着地位置を決定する。これにより、上述のような、繰り返し実行される数歩先の予測演算を必要としないため、演算プロセスを簡略化することができる。したがって、コントローラ210における演算負荷を軽減することができる。
図7は、本実施形態1に係る歩行制御装置200のコントローラ210のシステム構成の一例を示すブロック図である。コントローラ210は、ロボット100の歩行運動における現在の保存量C1、C2を算出する保存量算出部211と、保存量の目標値C1T、C2Tを算出する目標値算出部212と、ロボット100の歩行制御を行う歩行制御部213と、を有している。
保存量算出部(保存量算出手段)211は、倒立振子モデル300における重心G(φ、θ、L)の軌道に基づいて、ロボット100の歩行運動における現在の保存量を算出する(保存量算出工程)。まず。倒立振子モデル300において、重心G(質点m)の運動方程式は、極座標(φ、θ、L)を用いて、下記(2)及び(3)式のように表現することができる。
なお、現在の保存量C1、C2は、角運動量の2乗の次元を有している。また、現在の保存量C1、C2は、その1歩が開始されたときの初期条件によって決定され、その1歩間で一定値に維持される。
目標値算出部(目標値算出手段)212は、予め設定されたロボット100の歩行の目標進行方向と、目標歩行速度と、目標値モデルパターンと、に基づいて、保存量の目標値C1T、C2Tを算出する(目標値算出工程)。ここで、目標値モデルパターンには、予めシミュレーション等により、目標進行方向及び目標歩行速度と、保存量の目標値(以下、保存量目標値と称す)C1T、C2Tとの相関関係(相関関数等)が導出され、設定されている。また、本実施形態1において、上記目標進行方向は、直進方向に固定されているものとする。
歩行制御部(歩行制御手段)213は、保存量算出部211により算出された現在の保存量C1、C2と、目標値算出部212により算出された保存量目標値C1T、C2Tと、に基づいて、ロボット100の歩行制御を行う(歩行制御工程)。より具体的には、歩行制御部213は、保存量算出部211により算出された現在の保存量C1、C2と、目標値算出部212により算出された保存量目標値C1T、C2Tと、の差ΔC1(ΔC1=C1−C1T)、ΔC2(ΔC2=C2−C2T)が減少するように、次の1歩における重心Gの偏角(φ、θ)と振子長Lとの連動関数f(φ、θ、L)、および、遊脚の着地位置を、夫々決定する。
ここで、歩行制御部213は、遊脚の足平部101、102の着地位置を、例えば、図8(a)乃至(c)に示すようにして決定する。図8(a)において、例えば、振子長L1の後脚を支持脚とし、振子長L2の前脚を遊脚とする。この場合、図8(b)において、遊脚の足平部102を支持脚の足平部101と対称となる位置から反時計方向(左方向)へ、重心Gを中心にして足平回転角度Δ(Δ>0)だけ回転させ、着地させる。同様に、図8(c)において、遊脚の足平部102を支持脚の足平部101と対称となる位置から時計方向(右方向)へ、重心Gを中心にして足平回転角度Δ(Δ<0)だけ回転させ、着地させる。このように、歩行制御部213は、振子長L1、L2及び足平回転角度Δを決定することで、遊脚の足平部101、102の着地位置を、任意の位置に決定することができる。
次に、本実施形態1に係る歩行制御装置200のコントローラ210による制御処理フローについて、詳細に説明する。図9は、本実施形態1に係る歩行制御装置200のコントローラ210による制御処理フローの一例を示すフローチャートである。
まず、コントローラ210の目標値算出部212に、ロボット100の目標歩行速度が、ユーザにより予め設定される。ここで、ロボット100の目標進行方向は、上述の如く、直進方向となっている。そして、目標値算出部212は、設定された目標歩行速度に基づき、目標値モデルパターンを用いて、保存量目標値C1T、C2Tを算出する(ステップS10)。
歩行制御部213は、極座標系の倒立振子モデル300に基づいて、ロボット100の重心軌道S(φ、θ、L)を逐次的に設定する(ステップS11)。また、歩行制御部213は、上記重心軌道Sを満たすような各関節の関節角度θ1〜θ24を、逆キネマティクスにより算出する(ステップS12)。
歩行制御部213は、算出した関節角度θ1〜θ24に応じた回転角度の信号を、対応する各関節のモータ1a〜24aに出力し、フィードバック制御を行う(ステップS13)。各関節のモータ1a〜24aは、この回転角度の信号に基づいて、各関節を回転駆動する。ここで、足首関節は、支持脚期間において非駆動関節となるため、歩行制御部213は、足首関節のモータ1a、2a、7a、8aに制御信号を供給しないものとする。
歩行制御部213は、保存量算出部211により算出された現在の保存量C1、C2と、目標値算出部212により算出された保存量目標値C1T、C2Tと、の差ΔC1T、ΔC2Tが0に収束するように、ロボット100の次の1歩における、重心Gの偏角(φ、θ)と振子長Lとの連動関数f(φ、θ、L)、および、足平回転角度Δを夫々決定し、次の遊脚の着地位置を決定する(ステップS14)。
上述のように、ロボット100の次の1歩における重心Gの偏角(φ、θ)と振子長Lとの連動関数f(φ、θ、L)を決定することにより、現在の1歩の終端である遊脚着時の振子長L2と、その次の遊脚着地時の振子長L1とを、夫々決定することができる。なお、現在の1歩の終端となる遊脚着地時の振子長L1は、前回の遊脚着地時において既に決定されている。また、歩行制御部213は、保存量算出部211により算出された現在の保存量C1、C2と、目標値算出部212により算出された保存量目標値C1T、C2Tと、の差ΔC1、ΔC2が、夫々0に収束するように足平回転角度Δを決定する。
次に、歩行制御部213は、現在の1歩における支持脚期間中であると判断したとき(ステップS15のYES)、上記(ステップS11)の処理に戻る。一方、歩行制御部213は、支持脚期間が終了したと判断したとき(ステップS15のNO)、本制御処理を終了する。
なお、各支持脚期間において、上記(ステップS11)乃至(ステップS14)の処理は、所定の制御周期毎に繰り返し実行される。これにより、ロボット100の次の1歩における、重心Gの偏角(φ、θ)と振子長Lとの連動関数f(φ、θ、L)、および、足平回転角度Δを更新することで、遊脚の着地位置を制御周期毎に更新することができる。したがって、制御周期毎に、保存量算出部211により算出される現在の保存量C1、C2を、目標値算出部212により算出される目標値C1T、C2Tへ、徐々に収束させることができる。その結果、ロボット100の歩行速度を、予め設定された目標歩行速度に漸近させることができる。
以上、本実施形態1に係る歩行制御装置200において、歩行制御部213は、保存量算出部211により算出された現在の保存量C1、C2と、目標値算出部212により算出された保存量目標値C1T、C2Tと、の差ΔC1T、ΔC2Tが減少するように、ロボット100の次の1歩における、重心Gの偏角(φ、θ)と振子長Lとの連動関数f(φ、θ、L)、および、足平回転角度Δを夫々決定し、次の遊脚の着地位置を決定する。これにより、繰り返し実行されるロボット100の数歩先の予測演算を必要としないため、コントローラ210の演算プロセスが簡略化され、コントローラ210の演算負荷を軽減することができる。
(本発明の実施形態2.)
図10は、本発明の実施形態2に係る歩行制御装置のコントローラのシステム構成の一例を示すブロック図である。本発明の実施形態2に係る歩行制御装置220のコントローラ230は、上記実施形態1に係る歩行制御装置200のコントローラ210の構成に、ロボット100の歩行の進行方向を任意の方向へ変更する進行方向変更部231を更に備えるものである。これにより、コントローラ230の演算負荷を軽減しつつ、ロボット100の歩行を任意の進行方向へ制御することができる。
(本発明の実施形態2.)
図10は、本発明の実施形態2に係る歩行制御装置のコントローラのシステム構成の一例を示すブロック図である。本発明の実施形態2に係る歩行制御装置220のコントローラ230は、上記実施形態1に係る歩行制御装置200のコントローラ210の構成に、ロボット100の歩行の進行方向を任意の方向へ変更する進行方向変更部231を更に備えるものである。これにより、コントローラ230の演算負荷を軽減しつつ、ロボット100の歩行を任意の進行方向へ制御することができる。
進行方向変更部231は、目標値算出部212により算出された保存量目標値C1T、C2Tを増減させることで、ロボット100の進行方向を任意の方向へ変更することができる。例えば、進行方向変更部231は、ロボット100を進行させる方向と反対側となる脚の支持脚期間中における、保存量目標値C1T、C2Tを増減させることで、1歩間の重心Gの偏角φの変化量を制御する。これにより、ロボット100の進行方向を制御することができる。
より具体的には、ロボット100を右方向へ進行させる場合、進行方向変更部231は、左脚の支持脚期間中における保存量目標値C1T、C2Tを増減させることで、1歩間の重心Gの偏角φの変化量を制御する。これにより、ロボット100の進行方向を右方向へ制御することができる。一方、ロボット100を左方向へ進行させる場合、進行方向変更部231は、右脚の支持脚期間中における保存量目標値C1T、C2Tを増減させることで、1歩間の重心Gの偏角φの変化量を制御する。これにより、ロボット100の進行方向を左方向へ制御することができる。
図11は、本発明の実施形態2に係る歩行制御装置220のコントローラ230による制御処理フローの一例を示すフローチャートである。まず、コントローラ230の目標値算出部212に、ロボット100の目標進行方向及び目標歩行速度が、ユーザにより予め設定される。そして、目標値算出部212は、予め設定された目標進行方向と目標歩行速度とに基づき、目標値モデルパターンを用いて、保存量目標値C1T、C2Tを算出する(ステップS20)。
歩行制御部213は、極座標系の倒立振子モデル300に基づいて、ロボット100の重心軌道S(φ、θ、L)を逐次的に設定する(ステップS21)。また、歩行制御部213は、上記重心軌道Sを満たすような各関節の関節角度θ1〜θ24を、逆キネマティクスにより算出する(ステップS22)。
歩行制御部213は、算出した関節角度θ1〜θ24に応じた回転角度の信号を、対応する各関節のモータ1a〜24aに対して出力し、フィードバック制御を行う(ステップS23)。各関節のモータ1a〜24aは、この回転角度の信号に基づいて、各関節を駆動する。ここで、足首関節は、支持脚期間において非駆動関節となるため、歩行制御部213は、足首関節のモータ1a、2a、7a、8aに制御信号を供給しないものとする。
歩行制御部213は、保存量算出部211により算出された現在の保存量C1、C2と、目標値算出部212により算出された保存量目標値C1T、C2Tと、の差ΔC1T、ΔC2Tが0に収束するように、ロボット100の次の1歩における、重心Gの偏角(φ、θ)と振子長Lとの連動関数f(φ、θ、L)、および、足平回転角度Δを夫々決定し、次の遊脚の着地位置を決定する(ステップS24)。
次に、歩行制御部213は、現在の1歩における支持脚期間中であると判断したとき(ステップS25のYES)、重心Gの偏角θの角速度dθ/dtが0(dθ/dt=0)であるか否かを判断する(ステップS26)。ここで、角速度dθ/dtが0になるとは、倒立振子モデル300の振子(支持脚)が起き上がり、倒れ始める直前の状態を指す。
歩行制御部213は、角速度dθ/dtが0であると判断したとき(ステップS26のYES)、現在の保存量C1、C2を保持する。そして、歩行制御部213は、この保持状態で、次の1歩におけるロボット100の進行方向が、設定された目標進行方向へ漸近するように、現在の1歩における重心Gの偏角(φ、θ)と振子長Lとの連動関数f(φ、θ、L)を更新する。これにより、現在の1歩の終端となる遊脚着地時の振子長L1が更新される(ステップS27)。
さらに、進行方向変更部231は、次の1歩における保存量目標値C1T、C2Tを所定時間だけ、増減させることで、重心Gの偏角φの変化量を制御する(ステップS28)。これにより、ロボット100の次の1歩における進行方向を、目標進行方向へ制御することができる。次に、本制御処理は、上記(ステップS21)に戻る。
一方、歩行制御部213は、角速度dθ/dtが0でないと判断したとき(ステップS26のNO)、上記(ステップS21)に戻る。
以上、本実施形態2に係る歩行制御装置220において、歩行制御部213は、次の1歩におけるロボット100の進行方向が、設定された目標進行方向に漸近するように、現在の1歩における重心Gの偏角(φ、θ)と振子長Lとの連動関数f(φ、θ、L)を更新し、現在の1歩の終端である遊脚着地時の振子長L1を更新する。さらに、進行方向変更部231は、次の1歩における保存量目標値C1T、C2Tを、所定時間だけ増減させることで、ロボット100の次の1歩における進行方向を目標進行方向へ制御する。これにより、ロボット100の進行方向を任意の方向に変更することができる。すなわち、コントローラ230の演算負荷を軽減しつつ、ロボット100の歩行を任意の進行方向へ制御することができる。
例えば、ロボット100の歩行中に外乱が生じた場合でも、ロボット100の歩行速度及び進行方向を、予め設定された目標歩行速度及び目標進行方向へ夫々漸近させることができる。したがって、ユーザは目標歩行速度及び目標進行方向をコントローラ230に予め設定するだけで、ロボット100に外乱が生じた場合でも、このロボット100に所望の歩行動作を行わせることができる。
なお、本発明を実施するための最良の形態について実施形態1及び2を用いて説明したが、本発明はこうした実施形態1及び2に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において、上述した実施形態1及び2に種々の変形及び置換を加えることができる。
1〜24 エンコーダ付きモータ
1a〜24a モータ
1b〜24b エンコーダ
25、26 ホトセンサ
100 ロボット
101、102 足平部
200 歩行制御装置
210 コントローラ
211 保存量算出部
212 目標値算出部
213 歩行制御部
300 倒立振子モデル
G 重心
S 重心軌道
L、L1、L2 振子長
φ、θ 偏角
1a〜24a モータ
1b〜24b エンコーダ
25、26 ホトセンサ
100 ロボット
101、102 足平部
200 歩行制御装置
210 コントローラ
211 保存量算出部
212 目標値算出部
213 歩行制御部
300 倒立振子モデル
G 重心
S 重心軌道
L、L1、L2 振子長
φ、θ 偏角
Claims (6)
- ロボットの倒立振子モデルにおける重心軌道に基づいて、前記ロボットの歩行制御を行う歩行制御装置であって、
前記倒立振子モデルの重心軌道に基づいて、前記ロボットの歩行運動における現在の保存量を算出する保存量算出手段と、
予め設定された前記ロボットの歩行の目標進行方向と、目標歩行速度とに基づいて、前記保存量の目標値を算出する目標値算出手段と、
前記保存量算出手段により算出された前記現在の保存量と、前記目標値算出手段により算出された前記目標値とに基づいて、前記ロボットの歩行制御を行う歩行制御手段と、を備える、ことを特徴とする歩行制御装置。 - 請求項1記載の歩行制御装置であって、
前記歩行制御手段は、前記保存量算出手段により算出された前記現在の保存量が、前記目標値算出手段により算出された前記目標値に収束するように、前記ロボットの歩行における次の遊脚の着地位置を決定する、ことを特徴とする歩行制御装置。 - 請求項1又は2記載の歩行制御装置であって、
前記ロボットの歩行の進行方向を変更する進行方向変更手段を更に備え、
前記進行方向変更手段は、前記目標値算出手段により算出された前記目標値を増減させることで、前記ロボットの進行方向を変更する、ことを特徴とする歩行制御装置。 - 請求項1乃至3のうちいずれか1項記載の歩行制御装置であって、
前記歩行制御手段は、前記保存量算出手段により算出された前記現在の保存量を保持し、かつ、次の1歩における前記ロボットの進行方向が、前記目標進行方向に漸近するように、現在の1歩の終端となる遊脚着地時の振子長を決定する、ことを特徴とする歩行制御装置。 - 請求項1乃至4のうちいずれか1項記載の歩行制御装置であって、
前記ロボットの関節を駆動する関節駆動手段と、
前記ロボットの関節角度を検出する関節角度検出手段と、を更に備え、
前記歩行制御手段は、前記倒立振子モデルの重心軌道を満たすような前記ロボットの関節角度を、逆キネマティクスにより算出し、該算出した関節角度と、前記関節角度検出手段により検出された前記関節角度と、に基づいて、前記関節駆動手段を制御する、ことを特徴とする歩行制御装置。 - ロボットの倒立振子モデルにおける重心軌道に基づいて、前記ロボットの歩行制御を行う歩行制御方法であって、
前記ロボットの重心軌道に基づいて、前記ロボットの歩行運動における現在の保存量を算出する保存量算出工程と、
前記ロボットの歩行の目標進行方向と、目標歩行速度とに基づいて、前記保存量の目標値を算出する目標値算出工程と、
前記保存量算出工程で算出された前記現在の保存量と、前記目標値算出工程で算出された前記目標値とに基づいて、前記ロボットの歩行制御を行う歩行制御工程と、を含む、ことを特徴とする歩行制御方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008107993A JP2009255231A (ja) | 2008-04-17 | 2008-04-17 | 歩行制御装置および歩行制御方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008107993A JP2009255231A (ja) | 2008-04-17 | 2008-04-17 | 歩行制御装置および歩行制御方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2009255231A true JP2009255231A (ja) | 2009-11-05 |
Family
ID=41383325
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008107993A Pending JP2009255231A (ja) | 2008-04-17 | 2008-04-17 | 歩行制御装置および歩行制御方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2009255231A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2011055738A1 (ja) * | 2009-11-06 | 2011-05-12 | Ishino Yojiro | 二脚式歩行装置 |
| JP2012531316A (ja) * | 2009-06-30 | 2012-12-10 | オルドウバラン、ロボティクス エス、ア | 移動ロボットの歩行動作の制御方法およびその方法を実装したロボット |
| CN113119097A (zh) * | 2019-12-30 | 2021-07-16 | 深圳市优必选科技股份有限公司 | 机器人的行走控制方法、装置、机器人和可读存储介质 |
-
2008
- 2008-04-17 JP JP2008107993A patent/JP2009255231A/ja active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012531316A (ja) * | 2009-06-30 | 2012-12-10 | オルドウバラン、ロボティクス エス、ア | 移動ロボットの歩行動作の制御方法およびその方法を実装したロボット |
| WO2011055738A1 (ja) * | 2009-11-06 | 2011-05-12 | Ishino Yojiro | 二脚式歩行装置 |
| JP2011115937A (ja) * | 2009-11-06 | 2011-06-16 | Nagoya Institute Of Technology | 二脚式歩行装置 |
| CN113119097A (zh) * | 2019-12-30 | 2021-07-16 | 深圳市优必选科技股份有限公司 | 机器人的行走控制方法、装置、机器人和可读存储介质 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3760186B2 (ja) | 二脚歩行式移動装置及びその歩行制御装置並びに歩行制御方法 | |
| US9073209B2 (en) | Walking robot and control method thereof | |
| US7664572B2 (en) | Control device of legged mobile robot | |
| US8311677B2 (en) | Control device for legged mobile robot | |
| KR101029228B1 (ko) | 로봇과 그 제어 방법 | |
| JP4513320B2 (ja) | ロボット装置、並びにロボット装置の運動制御方法 | |
| JP3672426B2 (ja) | 脚式移動ロボットの姿勢制御装置 | |
| KR101687630B1 (ko) | 보행 로봇 및 그 균형 제어 방법 | |
| JP5181957B2 (ja) | ロボット制御装置、ロボット制御方法およびロボット制御プログラム | |
| JPH05337849A (ja) | 脚式移動ロボットの姿勢安定化制御装置 | |
| JPH10277969A (ja) | 脚式移動ロボットの制御装置 | |
| WO1998033629A1 (en) | Leg type mobile robot control apparatus | |
| KR20130068694A (ko) | 보행 로봇 및 그 제어 방법 | |
| WO1998026905A1 (fr) | Controleur d'attitude de robot mobile sur jambes | |
| WO2010122705A1 (ja) | ロボット制御装置、ロボット制御方法、及び脚式ロボット | |
| JP2004223712A (ja) | 歩行式ロボット及びその位置移動方法 | |
| US8805582B2 (en) | Robot control apparatus | |
| JP4912891B2 (ja) | 脚式移動ロボットおよびその制御プログラム | |
| JP2009107033A (ja) | 脚式移動ロボット及びその制御方法 | |
| JP2009255231A (ja) | 歩行制御装置および歩行制御方法 | |
| JP5040693B2 (ja) | 脚式ロボット、及びその制御方法 | |
| KR20070084479A (ko) | 다리식 이동 로봇 및 그 제어 프로그램 | |
| JP2006116672A (ja) | 2脚ロボットの歩行制御装置および歩行制御方式 | |
| JP6311153B2 (ja) | 2足走行ロボットの移動制御システム | |
| JP4833121B2 (ja) | 脚式ロボットと歩容生成装置と歩容修正装置を備えるシステム |
