Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
ROBOT CONTROL DEVICE, ROBOT CONTROL METHOD, AND ROBOT CONTROL PROGRAM
Document Type and Number:
WIPO Patent Application WO/2009/040885
Kind Code:
A1
Abstract:
When external force is applied to the upper body of a robot, a reflection control section (123d) determines, using a gyro index, whether or not reflection control is necessary, and, when determining that reflection control is necessary, performs appropriate reflection control on the basis of the position of a ZMP, the amount of positional change of the ZMP, and whether the robot stands on one leg or both legs. The gyro index is calculated from rotation angles of the trunk in a rolling direction and a pitching direction detected by a gyro sensor. The position of the ZMP is calculated from force detected by a force sensor provided on the sole of the foot.

Inventors:
ZAIER RIADH (JP)
Application Number:
PCT/JP2007/068581
Publication Date:
April 02, 2009
Filing Date:
September 25, 2007
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
FUJITSU LTD (JP)
ZAIER RIADH (JP)
International Classes:
B25J5/00; B25J13/00
Foreign References:
JP2004167666A2004-06-17
JP2006175567A2006-07-06
Attorney, Agent or Firm:
SAKAI, Hiroaki (Kasumigaseki Building2-5, Kasumigaseki 3-chom, Chiyoda-ku Tokyo 20, JP)
Download PDF:
Claims:
 ロボットの歩行を制御するロボット制御装置であって、
 ロボットが転倒することなく単独で立っている参照姿勢を少なくとも含む複数の異なる時点の姿勢に基づいて制御情報を生成し、ロボットが予め定められた歩行動作を行うように制御する歩行動作制御手段と、
 前記歩行動作制御手段による制御中にジャイロインデックスの値が所定の閾値より大きいか否かを判定し、所定の閾値より大きい場合に反射制御を実行する反射制御手段と、
 を備えたことを特徴とするロボット制御装置。
 前記反射制御手段は、ジャイロインデックスの値が所定の閾値より大きい場合の反射制御として、ZMPが所定の安定領域内にあるか否かを判定し、所定の安定領域内にない場合には、歩行動作を停止し、ローリング振幅およびZMPフィードバックゲインを増加し、上げている脚を外力により上半身が振られた方向へ移動する制御を実行することを特徴とする請求項1に記載のロボット制御装置。
 前記反射制御手段は、ジャイロインデックスの値が所定の閾値より大きい場合の反射制御として、ZMPが所定の安定領域内にあるか否かを判定し、ZMPが所定の安定領域内にある場合には片脚立ちであるか否かを判定し、片脚立ちである場合には、歩行動作を停止し、上げている脚を外力の方向へ動かして着地し、外力の減少にともなって元の姿勢に復帰する制御を実行することを特徴とする請求項1または2に記載のロボット制御装置。
 前記反射制御手段は、ジャイロインデックスの値が所定の閾値より大きい場合の反射制御として、ZMPが所定の安定領域内にあるか否かを判定し、ZMPが所定の安定領域内にある場合には片脚立ちであるか否かを判定し、両脚立ちである場合には、ZMPを所定の安定領域内に維持可能であるか否かを判定し、ZMPを所定の安定領域内に維持可能である場合には、歩行動作を停止し、上半身を前屈し、ジャイロフィードバックの目標値を前屈量に応じて変更する制御を実行することを特徴とする請求項1または2に記載のロボット制御装置。
 前記反射制御手段は、ジャイロインデックスの値が所定の閾値より大きい場合の反射制御として、ZMPが所定の安定領域内にあるか否かを判定し、ZMPが所定の安定領域内にある場合には片脚立ちであるか否かを判定し、両脚立ちである場合には、ZMPを所定の安定領域内に維持可能であるか否かを判定し、ZMPを所定の安定領域内に維持可能でない場合には、歩行動作を停止し、上半身を前屈するとともに脚を折り曲げ、ジャイロフィードバックの目標値を前屈量に応じて変更する制御を実行することを特徴とする請求項1または2に記載のロボット制御装置。
 ロボットの歩行を制御するロボット制御方法であって、
 ロボットが転倒することなく単独で立っている参照姿勢を少なくとも含む複数の異なる時点の姿勢に基づいて制御情報を生成し、ロボットが予め定められた歩行動作を行うように制御する歩行動作制御ステップと、
 前記歩行動作制御ステップによる制御中にジャイロインデックスの値が所定の閾値より大きいか否かを判定し、所定の閾値より大きい場合に反射制御を実行する反射制御ステップと、
 を含んだことを特徴とするロボット制御方法。
 ロボットの歩行を制御するロボット制御プログラムであって、
 ロボットが転倒することなく単独で立っている参照姿勢を少なくとも含む複数の異なる時点の姿勢に基づいて制御情報を生成し、ロボットが予め定められた歩行動作を行うように制御する歩行動作制御手順と、
 前記歩行動作制御手順による制御中にジャイロインデックスの値が所定の閾値より大きいか否かを判定し、所定の閾値より大きい場合に反射制御を実行する反射制御手順と、
 をコンピュータに実行させることを特徴とするロボット制御プログラム。
Description:
ロボット制御装置、ロボット制 方法およびロボット制御プログラム

 この発明は、ロボットの歩行を制御する ボット制御装置、ロボット制御方法および ボット制御プログラムに関し、特に、歩行 に上半身に加えられた外力にロボットを対 させることができるロボット制御装置、ロ ット制御方法およびロボット制御プログラ に関するものである。

 近年、ヒューマノイドロボット、特にヒ ーマノイドロボットの歩行は数多くの研究 の注意を引いている。このヒューマノイド ボットの歩行に関する研究の大部分は、ZMP( Zero Moment Point)規範を用いている。このZMP規 は、支持多角形の内部にZMPを留めるように 御する。このアプローチでは、ヒューマノ ドロボットやロボットの周囲環境を正確に デリングし、微分方程式を解くことになる ところが、このモデリングはアンノウンな 素がある場合には難しくなる。さらに、微 方程式を解くのに時間がかかるため、リア タイム制御は困難なものとなる。

 他のアプローチとして、ZMP規範を用いな 方法がある。例えば、ロボットの可動部の 期運動を利用して、ロボットの姿勢が安定 るよう周期運動の位相を調節する従来技術 ある(特許文献1を参照)。ここで、可動部と 、ロボットの脚や腕である。

 また、ヒューマノイドロボットやロボッ の周囲環境のモデリングを不要としつつ、 ューマノイドロボットがさまざまな運動を 定して行うことができるよう効率的に制御 る技術が特許文献2に記載されている。

特開2005-96068号公報

特開2007-175809号公報

 しかしながら、かかる従来技術には、歩 中に上半身に外力を受けるとロボットは周 運動を継続することが不可能となり、ロボ トを制御下に置くことができなくなるとい 問題がある。

 本発明は、上記に鑑みてなされたもので って、歩行中に上半身に加えられた外力に ボットを対応させることができるロボット 御装置、ロボット制御方法およびロボット 御プログラムを提供することを目的とする

 上述した課題を解決し、目的を達成する め、本発明は、ロボットの歩行を制御する ボット制御装置であって、ロボットが転倒 ることなく単独で立っている参照姿勢を少 くとも含む複数の異なる時点の姿勢に基づ て制御情報を生成し、ロボットが予め定め れた歩行動作を行うように制御する歩行動 制御手段と、前記歩行動作制御手段による 御中にジャイロインデックスの値が所定の 値より大きいか否かを判定し、所定の閾値 り大きい場合に反射制御を実行する反射制 手段と、を備えたことを特徴とする。

 また、本発明は、ロボットの歩行を制御 るロボット制御方法であって、ロボットが 倒することなく単独で立っている参照姿勢 少なくとも含む複数の異なる時点の姿勢に づいて制御情報を生成し、ロボットが予め められた歩行動作を行うように制御する歩 動作制御ステップと、前記歩行動作制御ス ップによる制御中にジャイロインデックス 値が所定の閾値より大きいか否かを判定し 所定の閾値より大きい場合に反射制御を実 する反射制御ステップと、を含んだことを 徴とする。

 また、本発明は、ロボットの歩行を制御 るロボット制御プログラムであって、ロボ トが転倒することなく単独で立っている参 姿勢を少なくとも含む複数の異なる時点の 勢に基づいて制御情報を生成し、ロボット 予め定められた歩行動作を行うように制御 る歩行動作制御手順と、前記歩行動作制御 順による制御中にジャイロインデックスの が所定の閾値より大きいか否かを判定し、 定の閾値より大きい場合に反射制御を実行 る反射制御手順と、をコンピュータに実行 せることを特徴とする。

 かかる発明によれば、ロボットが転倒す ことなく単独で立っている参照姿勢を少な とも含む複数の異なる時点の姿勢に基づい 制御情報を生成して、ロボットが予め定め れた歩行動作を行うように制御し、制御中 ジャイロインデックスの値が所定の閾値よ 大きいか否かを判定し、所定の閾値より大 い場合に反射制御を実行するよう構成した で、ロボットの上半身に加えられた外力を 切に検出して反射制御を実行することがで る。

 また、本発明は、上記発明において、前 反射制御手段は、ジャイロインデックスの が所定の閾値より大きい場合の反射制御と て、ZMPが所定の安定領域内にあるか否かを 定し、所定の安定領域内にない場合には、 行動作を停止し、ローリング振幅およびZMP ィードバックゲインを増加し、上げている を外力により上半身が振られた方向へ移動 る制御を実行することを特徴とする。

 本発明によれば、ジャイロインデックス 値が所定の閾値より大きい場合の反射制御 して、ZMPが所定の安定領域内にあるか否か 判定し、所定の安定領域内にない場合には 歩行動作を停止し、ローリング振幅およびZ MPフィードバックゲインを増加し、上げてい 脚を外力により上半身が振られた方向へ移 する制御を実行するよう構成したので、大 な外力に対しても適切に対応することがで る。

 また、本発明は、上記発明において、前 反射制御手段は、ジャイロインデックスの が所定の閾値より大きい場合の反射制御と て、ZMPが所定の安定領域内にあるか否かを 定し、ZMPが所定の安定領域内にある場合に 片脚立ちであるか否かを判定し、片脚立ち ある場合には、歩行動作を停止し、上げて る脚を外力の方向へ動かして着地し、外力 減少にともなって元の姿勢に復帰する制御 実行することを特徴とする。

 本発明によれば、ジャイロインデックス 値が所定の閾値より大きい場合の反射制御 して、ZMPが所定の安定領域内にあるか否か 判定し、ZMPが所定の安定領域内にある場合 は片脚立ちであるか否かを判定し、片脚立 である場合には、歩行動作を停止し、上げ いる脚を外力の方向へ動かして着地し、外 の減少にともなって元の姿勢に復帰する制 を実行するよう構成したので、外力が大き ない場合には歩行動作を継続することがで る。

 また、本発明は、上記発明において、前 反射制御手段は、ジャイロインデックスの が所定の閾値より大きい場合の反射制御と て、ZMPが所定の安定領域内にあるか否かを 定し、ZMPが所定の安定領域内にある場合に 片脚立ちであるか否かを判定し、両脚立ち ある場合には、ZMPを所定の安定領域内に維 可能であるか否かを判定し、ZMPを所定の安 領域内に維持可能である場合には、歩行動 を停止し、上半身を前屈し、ジャイロフィ ドバックの目標値を前屈量に応じて変更す 制御を実行することを特徴とする。

 本発明によれば、ジャイロインデックス 値が所定の閾値より大きい場合の反射制御 して、ZMPが所定の安定領域内にあるか否か 判定し、ZMPが所定の安定領域内にある場合 は片脚立ちであるか否かを判定し、両脚立 である場合には、ZMPを所定の安定領域内に 持可能であるか否かを判定し、ZMPを所定の 定領域内に維持可能である場合には、歩行 作を停止し、上半身を前屈し、ジャイロフ ードバックの目標値を前屈量に応じて変更 る制御を実行するよう構成したので、ロボ トを安定させることができる。

 また、本発明は、上記発明において、前 反射制御手段は、ジャイロインデックスの が所定の閾値より大きい場合の反射制御と て、ZMPが所定の安定領域内にあるか否かを 定し、ZMPが所定の安定領域内にある場合に 片脚立ちであるか否かを判定し、両脚立ち ある場合には、ZMPを所定の安定領域内に維 可能であるか否かを判定し、ZMPを所定の安 領域内に維持可能でない場合には、歩行動 を停止し、上半身を前屈するとともに脚を り曲げ、ジャイロフィードバックの目標値 前屈量に応じて変更する制御を実行するこ を特徴とする。

 本発明によれば、ジャイロインデックス 値が所定の閾値より大きい場合の反射制御 して、ZMPが所定の安定領域内にあるか否か 判定し、ZMPが所定の安定領域内にある場合 は片脚立ちであるか否かを判定し、両脚立 である場合には、ZMPを所定の安定領域内に 持可能であるか否かを判定し、ZMPを所定の 定領域内に維持可能でない場合には、歩行 作を停止し、上半身を前屈するとともに脚 折り曲げ、ジャイロフィードバックの目標 を前屈量に応じて変更する制御を実行する う構成したので、ロボットをより安定させ ことができる。

 本発明によれば、ロボットの上半身に加 られた外力を適切に検出して反射制御を実 するので、ロボットの転倒を防ぎ、安定さ ることができるという効果を奏する。

図1は、本実施例に係るロボット歩行を 説明する図である。 図2は、各フレームP0~P11の状態遷移図で ある。 図3は、本実施例に係るロボットの概略 図である。 図4は、ロボットの歩行運動を説明する タイムチャートである。 図5は、本実施例に係るロボット制御シ ステムの機能ブロック図である。 図6は、中央制御部の構成を示す機能ブ ロック図である。 図7は、ZMPの軌跡を示す図である。 図8は、反射制御部によるZMPの計算法を 示す図である。 図9は、反射制御部による反射制御の処 理手順を示すフローチャートである。 図10は、第1反射制御の処理手順を示す フローチャートである。 図11は、第2反射制御の処理手順を示す フローチャートである。 図12は、第3反射制御の処理手順を示す フローチャートである。 図13は、第4反射制御の処理手順を示す フローチャートである。 図14は、本実施例に係るロボット制御 ログラムを実行するコンピュータの構成を す機能ブロック図である。

符号の説明

 10  ピッチ腰関節
 11R  右ヨー股関節
 11L  左ヨー股関節
 12R  右ロール股関節
 12L  左ロール股関節
 13R  右ピッチ股関節
 13L  左ピッチ股関節
 14R  右ピッチ膝関節
 14L  左ピッチ膝関節
 15R  右ピッチ足首関節
 15L  左ピッチ足首関節
 16R  右ロール足首関節
 16L  左ロール足首関節
 20  胴体
 30R  右脚
 30L  左脚
 40  足裏
 50a~50d,115 1 ~115 m   力センサ
 60,111  ジャイロセンサ
100  外部端末装置
110  ロボット
112  ジャイロセンサ制御部
113 1 ~113 n   関節
114 1 ~114 n   関節制御部
116 1 ~116 m   力センサ制御部
121  通信インターフェース
122  メモリ
123  中央制御部
123a  動作生成部
123b  コンプライアンス制御部
123c  フィードバック制御部
123d  反射制御部
123e  補正部
200  コンピュータ
210  RAM
220  CPU
230  フラッシュメモリ
231  ロボット制御プログラム
240  USBインターフェース
250  COMインターフェース

 以下に、本発明に係るロボット制御装置 ロボット制御方法およびロボット制御プロ ラムの実施例を図面に基づいて詳細に説明 る。

 図1は、本実施例に係るロボット歩行を説 明する図である。ここで、ロボットの右脚は 実線で、ロボットの左脚は点線で表されてい る。ここでは、あらかじめロボットの歩行運 動中のさまざまな姿勢を定義する複数のフレ ームPiがロボット制御装置に設定される。正 には、フレームはロボットの関節の角度な のパラメータを定義する。

 図1では、P0からP11までの12のフレームが 定されている。ただし、このフレーム数は 意である。フレームP0は、ロボットが倒れる ことなく単独で立っている歩行前の姿勢を表 している。フレームP1,P6,P11は、ロボットが倒 れることなく単独で立って、動かないでいる 姿勢である。

 たとえば、フレームP6では、ロボットの ニア速度は0であり、ロボットは左脚のみで っており、歩幅は0である。フレームP1とフ ームP11のロボットの状態は同じである。す わち、これらのフレームP1,P11においては、 ボットのリニア速度は0であり、ロボットは 右脚のみで立っており、歩幅は0となってい 。歩幅が0とは、ロボットの両脚が揃ってい ことを意味する。フレームP1,P6,P11において 、ロボットは単独で立っており、また、歩 は0であるので、これらのフレームをリファ レンスフレームと呼ぶこととする。

 あるフレームから別のフレームへの切り えは、すべての介在するフレームの姿勢を 間することにより行われる。また、リファ ンスフレーム以外のフレームにおける各姿 は大まかに定義されたものであり、これら 各姿勢は歩行が安定的に行われるように適 修正される。

 図2は、各フレームP0~P11の状態遷移図であ る。ロボットの状態は、フレームP0からリフ レンスフレームP1(リファレンスフレームP11 同じ)あるいはリファレンスフレームP6に遷 する。また、ロボットの状態は、リファレ スフレームP1あるいはリファレンスフレー P6からフレームP0に遷移することもできる。 1の例では、まず、フレームP0からリファレ スフレームP1にロボットの状態が遷移する その後、ロボットの状態は、リファレンス レームP2からリファレンスフレームP10を経由 してリファレンスフレームP11に遷移する。

 このように、ロボットが転倒することな 単独で立っているリファレンスフレームP1,P 6,P11を含むフレーム情報を取得し、ロボット 動作がリファレンスフレームP1,P6,P11の姿勢 なるようフレームP0~P11の間で姿勢を補間す ことにより、ロボットの状態が制御される その結果、たとえロボットの姿勢が不安定 なった場合でも、リファレンスフレームで 姿勢が安定な状態となる。すなわち、ロボ トは歩行運動を安定して継続することがで る。

 また、リファレンスフレームP6,P11では、 ボットは歩行を停止し、安定して立ってい 状態なので、それ以降の歩行の歩幅を変更 たり、歩行する方向を変更したり、あるい 、歩行以外の運動を開始したりすることが 易にできる。

 図3は、本実施例に係るロボットの概略図 である。このロボットは、胴体20、胴体に備 られたジャイロセンサ60、右脚30Rおよび左 30Lの2本の脚を有する。また、各脚は6つの関 節を有する。すなわち、各脚の自由度は6で る。なお、関節の数は任意である。

 関節は、ピッチ腰関節10、右ヨー股関節11 R、左ヨー股関節11L、右ロール股関節12R、左 ール股関節12L、右ピッチ股関節13R、左ピッ 股関節13L、右ピッチ膝関節14R、左ピッチ膝 節14L、右ピッチ足首関節15R、左ピッチ足首 節15L、右ロール足首関節16R、左ロール足首 節16Lを含む。各関節には、モータ(図示せず) が組み込まれている。各関節のモータは、そ れぞれの関節の動きを制御する。また、各関 節には位置センサ(図示せず)が組み込まれて る。各関節の位置センサは、それぞれの関 の動き、具体的には回転角度を検出する。

 ピッチ腰関節10は、胴体20の前後の動き( ッチング)を制御する。右ヨー股関節11Rおよ 左ヨー股関節11Lは、それぞれの脚の付け根 分におけるロボットの左右に回転する動き( ヨーイング)を生じさせる。

 右ロール股関節12Rおよび左ロール股関節1 2Lは、それぞれの脚の付け根部分におけるロ ットの横向きの回転(ローリング)を生じさ る。右ピッチ股関節13Rおよび左ピッチ股関 13Lは、それぞれの脚の付け根部分における ボットの前後の回転(ピッチング)を生じさせ る。

 また、右ピッチ膝関節14Rおよび左ピッチ 関節14Lは、それぞれの膝部分におけるロボ トの前後の動き(ピッチング)を生じさせる 右ピッチ足首関節15Rおよび左ピッチ足首関 15Lは、それぞれの足首部分におけるロボッ の前後の動き(ピッチング)を生じさせる。右 ロール足首関節16Rおよび左ロール足首関節16L は、それぞれの足首部分におけるロボットの 横向きの動き(ローリング)を生じさせる。

 また、それぞれの脚には、足裏が取り付 られている。図3には、左脚30Lに取り付けら れた足裏40が示されている。それぞれの足裏 は、4つの力センサが組み込まれている。な お、力センサの数は任意である。図3には、 裏40に備えられた力センサ50a~50dが示されて る。これらの力センサは、足裏40が床面から 受ける反力を測定する。力センサにより測定 された反力は、ロボットの動きのコンプライ アンス制御およびフィードバック制御に用い られる。

 ジャイロセンサ60は、横向き(ローリング) 方向および前後(ピッチング)方向の胴体20の 転角度を測定する。ジャイロセンサ60により 測定された回転角度は、ロボットの動きのフ ィードバック制御に用いられる。

 図4は、ロボットの歩行運動を説明するタ イムチャートである。時間t0で、右ロール股 節12R、左ロール股関節12L、右ロール足首関 16R、左ロール足首関節16Lは、左脚を持ち上 るため、両脚をロボットの右側に傾けるロ リングの動作を行う。この動作を行う場合 右ロール股関節12R、左ロール股関節12L、右 ール足首関節16R、左ロール足首関節16Lの動 は、ギアバックラッシュ補償の分だけわず に異なるものとなる。

 ローリング動作の振幅は、試行錯誤によ 決定される。あるいは、ローリング動作の 幅は、胴体20のローリング角の評価関数が 小となるようにフィードバック制御を行う とにより決定される。

 時間t1では、右ロール股関節12R、左ロー 股関節12L、右ロール足首関節16R、左ロール 首関節16Lはローリングの動作を停止する。 して、左脚を持ち上げるため、すなわち、 脚のリフティング操作を行うため、左ピッ 膝関節14Lは、左脚を縮めるように回転し、 ピッチ足首関節15Lは、左足首を縮めるよう 回転する。

 時間t2では、左ピッチ膝関節14Lおよび左 ッチ足首関節15Lはリフティングの動作を停 する。そして、右ピッチ股関節13Rおよび右 ッチ足首関節15Rは回転して、胴体20が前方に 移動するようピッチングの動作を行う。

 時間t2と時間t3の間では、右ピッチ股関節 13Rおよび右ピッチ足首関節15Rは、ピッチング の動作を停止する。

 時間t3では、左ピッチ膝関節14Lは、左脚 床面に着地させるため、左脚を伸ばすよう 回転し、左ピッチ足首関節15Lは、左足首を ばすように回転する。

 時間t4では、左脚が床面に着地する。加 て、右ロール股関節12R、左ロール股関節12L 右ロール足首関節16R、左ロール足首関節16L 、右脚を持ち上げるため、両脚をロボット 左側に傾けるローリングの動作を行う。さ に、右ピッチ股関節13Rおよび右ピッチ足首 節15Rは、元の状態、すなわち、時間t2におけ る状態に戻るように回転する。さらに、右脚 を前方に振り出すため、左ピッチ股関節13Lお よび左ピッチ足首関節15Lは回転して、胴体20 前方に移動するようピッチングの動作を行 。

 時間t4と時間t5の間では、右ピッチ股関節 13Rおよび右ピッチ足首関節15Rは元の状態に戻 るとともに、左ピッチ股関節13Lおよび左ピッ チ足首関節15Lはピッチングの動作を停止する 。

 そして、時間t5では、右ロール股関節12R 左ロール股関節12L、右ロール足首関節16R、 ロール足首関節16Lはローリングの動作を停 する。さらに、右脚を持ち上げるため、す わち、右脚のリフティング操作を行うため 右ピッチ膝関節14Rは、右脚を縮めるように 転し、右ピッチ足首関節15Rは、右足首を縮 るように回転する。

 時間t6では、右ピッチ膝関節14Rおよび右 ッチ足首関節15Rはリフティングの動作を停 する。さらに、左ピッチ股関節13Lおよび左 ッチ足首関節15Lは、元の状態、すなわち、 間t4における状態に戻るように回転する。そ の結果、ロボットの姿勢が、リファレンスフ レームP6で定義される姿勢に設定される。

 時間t6と時間t7の間では、左ピッチ股関節 13Lおよび左ピッチ足首関節15Lは元の状態に復 帰する。その結果、ロボットの姿勢が、リフ ァレンスフレームP6で定義される姿勢に設定 れる。すなわち、ロボットのリニア速度は0 であり、ロボットは左脚のみで立っており、 歩幅は0となる。

 時間t7では、右脚を前方に振り出すため 左ピッチ股関節13Lおよび左ピッチ足首関節15 Lは回転して、胴体20が前方に移動するようピ ッチングの動作を行う。

 時間t7と時間t8の間では、左ピッチ股関節 13Lおよび左ピッチ足首関節15Lは、ピッチング の動作を停止する。時間t8では、右脚を床面 着地させるため、右ピッチ膝関節14Rは、右 を伸ばすように回転し、右ピッチ足首関節1 5Rは、右足首を伸ばすように回転する。

 時間t9では、右脚が床面に着地する。加 て、右ロール股関節12R、左ロール股関節12L 右ロール足首関節16R、左ロール足首関節16L 、左脚を持ち上げるため、両脚をロボット 右側に傾けるローリングの動作を行う。さ に、左脚を前方に振り出すため、右ピッチ 関節13Rおよび右ピッチ足首関節15Rは回転し 、胴体20が前方に移動するようピッチングの 動作を行う。さらに、左ピッチ股関節13Lおよ び左ピッチ足首関節15Lは、元の状態、すなわ ち、時間t7における状態に戻るように回転す 。

 時間t10では、右ロール股関節12R、左ロー 股関節12L、右ロール足首関節16R、左ロール 首関節16Lはローリングの動作を停止する。 らに、左脚を持ち上げるため、すなわち、 脚のリフティング操作を行うため、左ピッ 膝関節14Lは、左脚を縮めるように回転し、 ピッチ足首関節15Lは、左足首を縮めるよう 回転する。

 時間t11では、左ピッチ膝関節14Lおよび左 ッチ足首関節15Lはリフティングの動作を停 する。さらに、右ピッチ股関節13Rおよび右 ッチ足首関節15Rは、元の状態、すなわち、 間t9における状態に戻るように回転する。 の結果、ロボットの姿勢が、リファレンス レームP11で定義される姿勢に設定される。

 時間t11以後、右ピッチ股関節13Rおよび右 ッチ足首関節15Rは元の状態に復帰する。そ 結果、ロボットの姿勢が、リファレンスフ ームP11で定義される姿勢に設定される。す わち、ロボットのリニア速度は0であり、ロ ボットは右脚のみで立っており、歩幅は0と る。このような動きを繰り返すことにより ロボットの歩行運動が実現される。

 図5は、本実施例に係るロボット制御シス テムの機能ブロック図である。このロボット 制御システムは、外部端末装置100とロボット 110とを含む。

 外部端末装置100は、ロボットの動作を管 するオペレータにより操作されるパーソナ コンピュータなどである。この外部端末装 100は、ロボット110との間で通信を行う。こ 通信は、さまざまな種類の情報の授受を含 ものである。

 この外部端末装置100は、あらかじめ設定 たロボット110のフレーム情報および/または ロボット110への指令情報などをロボット110に 送信したり、ロボット110からロボット110の状 態(姿勢や速度など)に係る情報などを受信す 。ロボット110から得られた情報は、表示装 (図示せず)に表示される。

 ロボット110は、たとえば2本脚のヒューマノ イドロボットである。このロボット110は、ジ ャイロセンサ111、ジャイロセンサ制御部112、 関節113 1 ~113 n 、関節制御部114 1 ~114 n (nは自然数)、力センサ115 1 ~115 m (mは自然数)、力センサ制御部116 1 ~116 m 、通信インターフェース121、メモリ122、中央 制御部123を有する。

 ジャイロセンサ111は、図3に示したジャイ ロセンサ60と同様の機能を有する。このジャ ロセンサ111は、ロボット110の胴体20に備え れ、横向き(ローリング)方向および前後(ピ チング)方向の胴体20の回転角度を測定する ジャイロセンサ制御部112は、ジャイロセン 111の機能を制御するとともに、ジャイロセ サ111により測定された回転角度の情報を中 制御部123に送信する。

 関節113 1 ~113 n は、ロボット110をさまざまに動かすものであ る。モータ(図示せず)がこれらの関節を駆動 せる。関節には、図3で説明したピッチ腰関 節10、右ヨー股関節11R、左ヨー股関節11L、右 ール股関節12R、左ロール股関節12L、右ピッ 股関節13R、左ピッチ股関節13L、右ピッチ膝 節14R、左ピッチ膝関節14L、右ピッチ足首関 15R、左ピッチ足首関節15L、右ロール足首関 16R、左ロール足首関節16Lが含まれる。

 関節制御部114 1 ~114 n は、各関節113 1 ~113 n の動作を制御する。特に、関節制御部114 1 ~114 n は、関節113 1 ~113 n が所定の時間に、所定の角速度で所定の角度 だけ回転するよう制御する。この角度、角速 度、時間は中央制御部123により指定される。

 力センサ115 1 ~115 m は、ロボット110の右脚および左脚の足裏に設 けられる。この力センサ115 1 ~115 m は、床面からの反力を測定する。また、この 力センサ115 1 ~115 m は、図3で説明した力センサ50a~50dと同様の機 を有する。力センサ制御部116 1 ~116 m は、力センサ115 1 ~115 m の機能を制御するとともに、力センサ115 1 ~115 m により測定された反力の情報を中央制御部123 に送信する。

 通信インターフェース121は、外部端末装 100との間で通信を行う。この通信インター ェース121は、外部端末装置100との間で無線 信および/または有線通信を行う。

 メモリ122は、さまざまな情報を記憶する たとえば、メモリ122は、外部端末装置100か 受信した情報および/または外部端末装置100 に送信される情報を記憶するとともに、中央 制御部123によりなされた種々の演算の結果に 係る情報を記憶する。

 中央制御部123は、ロボット110を全体制御す 。この中央制御部123は、たとえば、外部端 装置100から受信したフレーム情報を基にし 、ロボット110が動作する際の各関節113 1 ~113 n の回転開始時間、角速度、回転角などを算出 し、その結果を関節制御部114 1 ~114 n に送信する。

 また、中央制御部123は、外部端末装置100 ら通信インターフェース121を介してロボッ 110の動作制御要求を受け付ける。動作制御 求とは、歩幅の変更要求や歩行方向の変更 求、あるいは歩行以外の動作の実行要求を むものである。

 中央制御部123は、リファレンスフレームP1,P 6,P11の姿勢が実現された後にのみ、上記要求 実行する。要求を実行する際には、中央制 部123は、要求された動作に対応する関節113 1 ~113 n の回転開始時間、角速度、回転角などの情報 を関節制御部114 1 ~114 n に送信する。リファレンスフレームP1,P6,P11に おいては、ロボット110は、片脚で安定して立 っているので、ロボット110がリファレンスフ レームP1,P6,P11に対応する姿勢で立っている場 合に上記要求を実行することは都合がよいこ とである。

 なお、ここでは、中央制御部123がさまざま パラメータを算出することとしているが、 部端末装置100がそれらを算出し、ロボット 制御する構成を採用することとしてもよい このような構成を採用する場合には、外部 末装置100は、回転開始時間、角速度、回転 などの算出に必要な情報をロボット110から 信し、受信した情報に基づいて各パラメー を算出する。関節制御部114 1 ~114 n は、外部端末装置100から算出結果の情報を受 信し、受信した情報に基づいてロボット110の 動作制御を行う。

 以下に、中央制御部123が行うロボット制 処理について詳細に説明する。図6は、中央 制御部123の構成を示す機能ブロック図である 。同図に示すように、この中央制御部123は、 動作生成部123aと、コンプライアンス制御部12 3bと、フィードバック制御部123cと、反射制御 部123dと、補正部123eとを有する。

 動作生成部123aは、外部端末装置100から通信 インターフェース121を介して受信したフレー ム情報を基にして、ロボット110が動作する際 の各関節113 1 ~113 n の回転開始時間、角速度、回転角などを算出 し、補正部123eに出力する処理部である。ま 、この動作生成部123aは、ロボット110がロー ングフェーズ、リフティングフェーズ、着 (ランディング)フェーズうちのどのフェー にあるかのフェーズ情報をコンプライアン 制御部123bおよびフィードバック制御部123cに 渡す。

 コンプライアンス制御部123bは、力センサ115 1 ~115 m によって測定された力センサデータおよび動 作生成部123aからのフェーズ情報に基づいて 地動作などのコンプライアンス制御を行う 理部であり、コンプライアンス制御量を算 して補正部123eに出力する。

 フィードバック制御部123cは、ジャイロセン サ111によって測定されたジャイロセンサデー タに基づくジャイロフィードバック制御およ び力センサ115 1 ~115 m によって測定された力センサデータに基づく ZMPフィードバック制御を行う処理部であり、 フィードバック制御量を算出して補正部123e 出力する。

 反射制御部123dは、歩行中のロボット110の上 半身に加えられた外力を検出し、反射制御を 行う処理部であり、力センサ115 1 ~115 m によって測定された力センサデータ、ジャイ ロセンサ111によって測定されたジャイロセン サデータを用いてロボット110が外力に対して 安定するように制御する。

 補正部123eは、動作生成部123aが各関節113 1 ~113 n に対して算出した回転開始時間、角速度、回 転角などをコンプライアンス制御部123b、フ ードバック制御部123cおよび反射制御部123dの 出力で補正し、各関節113 1 ~113 n のモータに対するコマンドを出力する処理部 である。

 次に、反射制御部123dによる反射制御の詳 細について説明する。ここで、ロボット110へ の外力とは、ロボット110が外部から押される などによって受ける大きな力のことである。

 ロボット110への外力はジャイロインデック によって検出される。ここで、ジャイロイ デックスとは、ジャイロセンサ111によって 出された値を(Gyro x ,Gyro y )とし、足裏40の幅/長さをνとすると
である。

 反射制御部123dは、ジャイロインデックス の値が所定の閾値を越えると、ロボット110の 歩行動作を停止し、ZMPの位置、ZMPの位置変化 量およびロボット110が片脚立ちか両脚立ちか に基づいて反射制御を行う。ここで、所定の 閾値は、ジャイロフィードバック安定度マー ジンから決定される。すなわち、所定の閾値 は、ジャイロフィードバックによってロボッ ト110を安定させることができなくなるときの ジャイロインデックスの値である。

 図7は、ロボット110が歩行中に右脚で片脚 立ちをしている場合の通常のZMPの軌跡を太い 矢印で示している。ロボット110が歩行中に上 半身に外力を受けると、外力を受けた方向に よって、ZMPは通常の軌跡からはずれる。反射 制御部123dは、ZMPが安定領域内であるか否か ZMPを安定領域内に維持可能か否か、および ロボット110が片脚立ちか両脚立ちかに基づ て反射制御を行う。ここで、安定領域とは 足裏40が形成する四角形である。

 反射制御部123dは、ZMPの位置および変化量を 判定するために、力センサデータを用いてZMP を計算する。図8は、反射制御部123dによるZMP 計算法を示す図である。同図に示すように 反射制御部123dは、4つの力センサデータF 1 ~F 4 および力センサが取り付けられた座標を用い てZMP(x m ,y m )を計算する。また、反射制御部123dは、ZMP(x m ,y m )からZMPの変化量を計算する。また、反射制 部123dは、左右の足裏40で検出される力の大 さによって、ロボット110が片脚立ちか両足 ちかを判定する。

 次に、反射制御部123dによる反射制御の処 理手順について説明する。図9は、反射制御 123dによる反射制御の処理手順を示すフロー ャートである。なお、この反射制御処理は 定の時間間隔で起動される。

 図9に示すように、この反射制御処理では 、反射制御部123dは、ジャイロインデックス 所定の閾値を越えたか否かを判定し(ステッ S1)、所定の閾値を超えていない場合には、 射制御は不要であるため、処理を終了する

 これに対して、ジャイロインデックスが 定の閾値を越えた場合には、ZMPが所定の安 領域内にあるか否かを判定する(ステップS2) 。その結果、ZMPが所定の安定領域内にない場 合には、ロボット110の転倒を防ぐための反射 制御として第1反射制御を行う(ステップS3)。 お、第1反射制御の詳細については後述する 。

 一方、ZMPが所定の安定領域内にある場合 は、ロボット110が片脚立ちの状態にあるか かを判定し(ステップS4)、片脚立ちの状態に ある場合には、ロボットを安定化させるため の反射制御として第2反射制御を行う(ステッ S5)。なお、第2反射制御の詳細については後 述する。

 一方、ロボット110が両脚立ちの状態にあ 場合には、ZMPを所定の安定領域内に維持可 であるか否かを判定する(ステップS6)。ここ で、ZMPを所定の安定領域内に維持可能である か否かは、ZMPの変化量が所定の閾値以内であ るか否かによって判定する。

 その結果、ZMPを所定の安定領域内に維持 能である場合には、ロボットを安定化させ ための反射制御として第3反射制御を行い( テップS7)、ZMPを所定の安定領域内に維持可 でない場合には、ロボットを安定化させる めの反射制御として第4反射制御を行う(ステ ップS8)。なお、第3反射制御および第4反射制 の詳細については後述する。

 このように、ジャイロインデックス、ZMP 位置、ZMPの位置変化量およびロボット110が 脚立ちか両脚立ちかに基づいて反射制御を うことによって、上半身に加えられた外力 対してロボット110を転倒させることなく、 定させることができる。

 次に、第1反射制御の処理手順について説 明する。図10は、第1反射制御の処理手順を示 すフローチャートである。同図に示すように 、第1反射制御では、反射制御部123dは、ロボ ト110の歩行動作を停止し(ステップS31)、ロ リング振幅およびZMPフィードッバックゲイ を増加する(ステップS32)。なお、ZMPフィード バック制御は足首関節と腰関節または股関節 とを制御する。

 そして、反射制御部123dは、上半身の振動 を抑えるためにジャイロフィードバックのゲ インを減少し(ステップS33)、上げている脚を 半身が振られている方向へ動かす(ステップ S34)。ここで、上半身が振られている方向は ZMPの軌跡から算出する。そして、最終姿勢 おいて、ジャイロフィードバックのゲイン 増加させる(ステップS35)。

 このように、ZMPが所定の安定領域内にな 場合に、ローリング振幅およびZMPフィード バックゲインを増加し、上げている脚を上 身が振られている方向へ動かすことによっ 、ロボット110の転倒を防ぐことができる。

 次に、第2反射制御の処理手順について説 明する。図11は、第2反射制御の処理手順を示 すフローチャートである。同図に示すように 、第2反射制御では、反射制御部123dは、ロボ ト110の歩行動作を停止し(ステップS51)、上 ている脚を外力の方向へ動かして着地させ (ステップS52)。

 ここで、上げている脚を動かす距離は、Z MPの現在地と所定の安定領域の中心との距離 比例する。そして、外力が減少するとロボ ト110の姿勢を元の姿勢に復帰する(ステップ S53)。

 このように、片脚立ちの場合に、上げて る脚を外力の方向へZMPの現在地と所定の安 領域の中心との距離に比例した距離だけ動 して着地させることによって、ロボット110 安定させることができる。

 次に、第3反射制御の処理手順について説 明する。図12は、第3反射制御の処理手順を示 すフローチャートである。同図に示すように 、第3反射制御では、反射制御部123dは、コン ライアンス制御および上半身を安定化する めのジャイロフィードバック制御を行った まロボット110の歩行動作を停止する(ステッ プS71)。

 そして、腰関節または股関節と足首関節 動作させて上半身を前に曲げる(ステップS72 )。前屈の程度は、上半身に加えられた外力 大きさに依存する。そして、上半身が振動 ないように制御するジャイロフィードバッ の目標値を前屈の角度に基づいて変更する( テップS73)。

 このように、両脚立ちの場合に、上半身 前屈させることによって、ロボット110を安 させることができる。

 次に、第4反射制御の処理手順について説 明する。図13は、第4反射制御の処理手順を示 すフローチャートである。同図に示すように 、第4反射制御では、反射制御部123dは、コン ライアンス制御および上半身を安定化する めのジャイロフィードバック制御を行った まロボット110の歩行動作を停止する(ステッ プS81)。

 そして、腰関節または股関節と足首関節 動作させて上半身を前に曲げるとともに、 を折り曲げて重心を下げる(ステップS82)。 屈および脚の折り曲げの程度は、上半身に えられた外力の大きさに依存する。そして 上半身が振動しないように制御するジャイ フィードバックの目標値を前屈の角度に基 いて変更する(ステップS83)。

 このように、両脚立ちの場合でZMPを所定 安定領域内に維持することができない場合 は、上半身を前屈させるとともに脚を折り げて重心を下げることによって、ロボット1 10を安定させることができる。

 上述してきたように、本実施例では、ロ ット110の上半身に外力が加えられた場合に 反射制御部123dが、ジャイロインデックスを 用いて反射制御が必要であるか否かを判定し 、反射制御が必要と判定した場合には、ZMPの 位置、ZMPの位置変化量およびロボット110が片 脚立ちか両脚立ちかに基づいて適切な反射制 御を行うこととしたので、ロボット110を転倒 させることなく安定させることができる。

 なお、本実施例では、ロボット制御装置 ついて説明したが、ロボット制御装置が有 る構成をソフトウェアによって実現するこ で、同様の機能を有するロボット制御プロ ラムを得ることができる。そこで、このロ ット制御プログラムを実行するコンピュー について説明する。

 図14は、本実施例に係るロボット制御プ グラムを実行するコンピュータの構成を示 機能ブロック図である。同図に示すように このコンピュータ200は、RAM210と、CPU220と、 ラッシュメモリ230と、USBインターフェース24 0と、COMインターフェース250とを有する。

 RAM210は、プログラムやプログラムの実行 中結果などを記憶するメモリであり、図5に 示したメモリ122に対応する。CPU220は、RAM210か らプログラムを読み出して実行する中央処理 装置である。フラッシュメモリ230は、プログ ラムやデータを格納する不揮発性メモリであ り、USBインターフェース240は、コンピュータ 200を関節やセンサに接続するためのインター フェースである。COMインターフェース250は、 外部端末装置100と通信するためのインターフ ェースであり、図5に示した通信インターフ ース121に対応するものである。そして、こ コンピュータ200において実行されるロボッ 制御プログラム231は、フラッシュメモリ230 ら読み出されてCPU220によって実行される。

 以上のように、本発明に係るロボット制 装置、ロボット制御方法およびロボット制 プログラムは、ロボットの歩行制御に有用 あり、特に、歩行中のロボットの上半身に 力が加えられた場合に適している。




 
Previous Patent: CONTROLLER FOR ELECTRIC MOTOR

Next Patent: AGITATING APPARATUS