(57)【要約】【課題】新たな部材を付加することなく，軽量で剛性の高くない腕部を有する有腕ロボットでも腕部の不自然な振動を抑制することができる有腕ロボットおよびその制御方法を提供すること。【解決手段】本発明の有腕ロボットは，多関節のロボット腕部２７を有する２足歩行ロボット１であって，ロボット腕部２７への動作指令の信号を出力する指令部（ここでは，先読みバッファ２２）と，指令部の出力信号に従いロボット腕部２７を高い位置精度で制御する第１腕部コントローラ２３と，指令部の出力信号に従い腕部を低い位置精度で制御する第２腕部コントローラ２４と，ロボット腕部２７への動作指令が高要求精度のものである場合に第１腕部コントローラ２３による制御を選択し，低要求精度のものである場合に第２腕部コントローラ２４による制御を選択する切り替え判断部２５とを有する。【選択図】            図２
2006326737.tif 000002
【特許請求の範囲】
【請求項１】
多関節の腕部を有する有腕ロボットにおいて，
前記腕部への動作指令の信号を出力する指令部と，
前記指令部の出力信号に従い前記腕部を高い位置精度で制御する第１腕制御部と，
前記指令部の出力信号に従い前記腕部を低い位置精度で制御する第２腕制御部と，
前記腕部への動作指令が高要求精度のものである場合に前記第１腕制御部による制御を選択し，低要求精度のものである場合に前記第２腕制御部による制御を選択する選択部とを有することを特徴とする有腕ロボット。
【請求項２】
請求項１に記載の有腕ロボットにおいて，
前記選択部による選択が前記第２腕制御部から前記第１腕制御部に切り替えられるときに，前記腕部への動作指令の信号を，前記腕部の現在位置へ近づける方向に補正する補正部を有することを特徴とする有腕ロボット。
【請求項３】
請求項２に記載の有腕ロボットにおいて，
前記指令部からの動作指令の信号を先読みして出力する先読みバッファを有し，
前記補正部は，前記先読みバッファに格納されている信号を補正することを特徴とする有腕ロボット。
【請求項４】
請求項１から請求項３までのいずれか１つに記載の有腕ロボットにおいて，
歩行移動する複数の脚部を有し，
前記選択部は，前記腕部への動作指令が低要求精度のものであり，かつ，前記脚部の動きが衝撃性動作である場合に限り，前記第２腕制御部による制御を選択することを特徴とする有腕ロボット。
【請求項５】
多関節の腕部を有する有腕ロボットの制御方法において，
前記腕部への動作指令が高要求精度のものである場合には前記腕部を高い位置精度で制御し，
前記腕部への動作指令が低要求精度のものである場合には前記腕部を低い位置精度で制御することを特徴とする有腕ロボットの制御方法。
【請求項６】
請求項５に記載の有腕ロボットの制御方法において，
前記腕部への動作指令を先読みバッファに先読みし，
前記先読みバッファから出力される動作指令により前記腕部を制御し，
前記腕部の制御の位置精度が低から高に切り替えられるときには，前記先読みバッファに格納されている動作指令を，前記腕部の現在位置へ近づける方向に補正することを特徴とする有腕ロボットの制御方法。
【請求項７】
請求項５または請求項６に記載の有腕ロボットの制御方法において，
複数の脚部により歩行移動する有腕ロボットを制御対象とし，
前記腕部への動作指令が低要求精度のものであり，かつ，前記脚部の動きが衝撃性動作である場合に限り，前記腕部を低い位置精度で制御することを特徴とする有腕ロボットの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，多関節の腕部を有して作業等が可能な有腕ロボットおよびその制御方法に関する。さらに詳細には，複数の脚部を有して歩行するとともに，腕部の各関節の機械系の剛性がさほど高くない有腕ロボットおよびその制御方法に関するものである。
【背景技術】
【０００２】
多関節の腕部を有した有腕ロボットとして例えば，人型の２足歩行ロボットがある。このような２足歩行ロボットには，脚部および腕部に複数の関節を有し，それぞれの自由度に応じた数のアクチュエータをそれぞれ備えているものがある。例えば脚部には膝関節や股関節等のアクチュエータを備え，体幹に対して左右の脚部を交互に前方に送り出して歩行する。また，腕部には肩関節や肘関節等のアクチュエータを備え，肩部の回転や肘部の屈伸動作等を利用して，重量物の運搬等の作業をすることもできる。さらに，手指部を有して，より細かな作業が可能なものもある。
【０００３】
このような２足歩行ロボットでは，一般に，経時的に両腕と両脚のそれぞれの位置を指示するデータである腕部指令値データまたは脚部指令値データに基づいて，各関節の関節角が制御される。すなわち，手先や足先等が，一連の腕部指令値データと脚部指令値データによって指示されている位置に時間の経過とともに順次到達するように，各関節が制御される。このとき，上体のバランスを考慮して転倒しないように，腕部の制御と脚部の制御とは関連づけられている。例えば，特許文献１に記載されている歩行ロボットの制御方法では，床面の摩擦力の変化や慣性力等による外乱に遭遇した時に，上体の動きを利用して安定性を回復する技術が開示されている。
【０００４】
ここで，従来の２足歩行ロボット１００の概略の制御構成を図５に示す。２足歩行ロボット１００の両脚部の制御に関しては，ひとまとまりの動作に対応して，両脚部の各位置を経時的に指示する脚部指令値データが算出されて第１記憶部１０１に保管される。そして，この脚部指令値データに基づいて，脚部コントローラ１０２が両脚部の各関節に設けられたアクチュエータ１０３を駆動する。これによって変化した両脚部の位置がフィードバックされて（矢印１０４），各アクチュエータ１０３の次の駆動量が補正される。
【０００５】
同様に両腕部の制御は，両腕部の各位置を経時的に指示する腕部指令値データが算出されて第２記憶部１０６に保管される。この腕部指令値データに基づいて，腕部コントローラ１０７が両腕部の各関節に設けられたアクチュエータ１０８を駆動する。これによって変化した両腕部の位置がフィードバックされて（矢印１０９），各アクチュエータ１０８の次の駆動量が補正される。
【０００６】
このとき，図５に矢印１１０，１１１で示したように，両脚部の駆動と両腕部の駆動との間には互いに干渉による力が働く。一般に，矢印１１０，１１１の太さで示したように，脚部から腕部への干渉（矢印１１１）は大きく，腕部から脚部への干渉（矢印１１０）は小さい。例えば，脚部の着地時の振動等は全身に伝わり，手先の軌道に微少なズレを発生させる。そのため，腕部コントローラでは，フィードバックされた両腕部位置情報を用いて，このズレを補正するように制御している。
【特許文献１】特開平７−２０５０６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら，前記した従来の２足歩行ロボット１００では，このように位置情報がフィードバックされて制御されるため，腕部の不自然な振動が誘起されるおそれがあった。これは，発生した位置ズレを急速に補正しようとする制御がなされるために，応答が振動的になりがちなためである。特に，腕部の各関節の剛性がそれほど高くなく，さらに，比較的軽量に形成されている場合等では，この傾向が大きい。これに対して，腕部の振動を抑える一般的な手法としては，機械系の剛性を高める，または，ジャイロセンサやひずみセンサ等のフィードバックを行うなどがあるが，いずれも構造が複雑になるうえ，重量化の原因となり，また，コストもかかるという問題点があった。
【０００８】
本発明は，前記した従来の有腕ロボットおよびその制御方法が有する問題点を解決するためになされたものである。すなわちその課題とするところは，新たな部材を付加することなく，軽量で剛性の高くない腕部を有する有腕ロボットでも腕部の不自然な振動を抑制することができる有腕ロボットおよびその制御方法を提供することにある。
【課題を解決するための手段】
【０００９】
この課題の解決を目的としてなされた有腕ロボットは，多関節の腕部を有する有腕ロボットであって，腕部への動作指令の信号を出力する指令部と，指令部の出力信号に従い腕部を高い位置精度で制御する第１腕制御部と，指令部の出力信号に従い腕部を低い位置精度で制御する第２腕制御部と，腕部への動作指令が高要求精度のものである場合に第１腕制御部による制御を選択し，低要求精度のものである場合に第２腕制御部による制御を選択する選択部とを有するものである。
【００１０】
本発明の有腕ロボットによれば，位置精度の異なる第１腕制御部と第２腕制御部とを有しているので，必要に応じてこれらを切り替えて使用できる。そこで，腕部への動作指令が高要求精度のものである場合に第１腕制御部による制御を選択し，低要求精度のものである場合に第２腕制御部による制御を選択すれば，必ずしも必要でない場合においても高精度に制御されることがない。例えば，腕振り歩行動作では，手先の位置精度はほどほどでよく，このような場合に第２腕制御部で制御することによって手先の振動が抑制される。従って，新たな部材を付加することなく，軽量で剛性の高くない腕部を有する有腕ロボットでも腕部の不自然な振動を抑制することができる。
【００１１】
さらに本発明では，選択部による選択が第２腕制御部から第１腕制御部に切り替えられるときに，腕部への動作指令の信号を，腕部の現在位置へ近づける方向に補正する補正部を有することが望ましい。
このようにすれば，第１腕制御部によって高い位置精度で制御されることが選択されたとき，動作指令の信号が現在位置からあまり遠くないところへ補正される。従って，急激な移動が誘発されることはなく，自然な動作となる。
【００１２】
さらに本発明では，指令部からの動作指令の信号を先読みして出力する先読みバッファを有し，補正部は，先読みバッファに格納されている信号を補正することが望ましい。
このようにすれば，補正が指示されてからデータを用意するのでなく，あらかじめ先読みバッファに用意されている信号を用いて補正が行われるので，迅速な対応が可能となる。
【００１３】
さらに本発明では，歩行移動する複数の脚部を有し，選択部は，腕部への動作指令が低要求精度のものであり，かつ，脚部の動きが衝撃性動作である場合に限り，第２腕制御部による制御を選択することが望ましい。
脚部の動きが衝撃性動作である場合には，腕部の位置は脚部の動作により干渉を受ける。この干渉によって腕部の位置ズレが起きるが，腕部への動作指令が低要求精度であれば，多少の位置ズレは許容される。そこで，このような場合には，第２腕制御部によって低い位置精度で制御することにより，この位置ズレを急速補正するための振動的な応答を抑制できる。
【００１４】
また，本発明は，多関節の腕部を有する有腕ロボットの制御方法であって，精度のものである場合には腕部を高い位置精度で制御し，腕部への動作指令が低要求精度のものである場合には腕部を低い位置精度で制御する有腕ロボットの制御方法にも及ぶ。
【００１５】
さらに本発明では，腕部への動作指令を先読みバッファに先読みし，先読みバッファから出力される動作指令により腕部を制御し，腕部の制御の位置精度が低から高に切り替えられるときには，先読みバッファに格納されている動作指令を，腕部の現在位置へ近づける方向に補正することが望ましい。
【００１６】
さらに本発明では，複数の脚部により歩行移動する有腕ロボットを制御対象とし，腕部への動作指令が低要求精度のものであり，かつ，脚部の動きが衝撃性動作である場合に限り，腕部を低い位置精度で制御することが望ましい。
【発明の効果】
【００１７】
本発明の有腕ロボットおよびその制御方法によれば，新たな部材を付加することなく，軽量で剛性の高くない腕部を有する有腕ロボットでも腕部の不自然な振動を抑制することができる。
【発明を実施するための最良の形態】
【００１８】
以下，本発明を具体化した最良の形態について，添付図面を参照しつつ詳細に説明する。本形態は，人型の２足歩行ロボットに本発明を適用したものである。
【００１９】
本形態の２足歩行ロボット１は，それぞれ多関節の２つの脚部と２つの腕部を有する人型のロボットである。脚部や腕部の各関節は図１に示すように，それぞれ所定の自由度（軸Ａ〜Ｑ）を有し，各関節の各自由度ごとにそれぞれエンコーダ付きモータ等のアクチュエータが設けられている。これにより，各自由度ごとに個別に制御される。また，この他にも手指や首の各関節にも自由度を有していても良い。
【００２０】
次に，本形態の２足歩行ロボット１の概略制御構成を図２に示す。図２に示すように，この２足歩行ロボット１は脚部の制御のための構成として，第１記憶部１１，脚部コントローラ１２を有し，これによりロボット脚部１３を駆動して脚部位置が制御される。このロボット脚部１３は，図１の軸Ａ〜Ｅの自由度を有するロボット脚部１３（左）と，軸Ｆ〜Ｊの自由度を有するロボット脚部１３（右）とを含む。このロボット脚部１３は，脚部コントローラ１２の出力に基づいて，各関節の各自由度ごとにそれぞれ駆動される。
【００２１】
また，２足歩行ロボット１は，その腕部の制御のための構成として，第２記憶部２１，先読みバッファ２２，第１腕部コントローラ２３，第２腕部コントローラ２４，切り替え判断部２５，切り替え器２６を有し，これらによりロボット腕部２７が駆動されて腕部位置が制御される。このロボット腕部２７は，図１の軸Ｋ〜Ｍの自由度を有するロボット腕部２７（左）と，軸Ｎ〜Ｐの自由度を有するロボット腕部２７（右）とを含む。このロボット腕部２７は，第１腕部コントローラ２３または第２腕部コントローラ２４の出力に基づいて，各関節の各自由度ごとにそれぞれ駆動される。
【００２２】
第１記憶部１１と第２記憶部２１とには，それぞれ２足歩行ロボット１の両脚部や両腕部の各位置を経時的に指示する脚部指令値データおよび腕部指令値データが保管される。これらの指令値は，所定の一連の動作指示に対応して算出され，その一連の動作を開始する前にあらかじめ第１記憶部１１および第２記憶部２１に記憶される。なお，各動作の指令値には，その動作が高精度が要求される動作であるか，あるいは低精度でもかまわない動作であるかを示す情報も付加されて記憶される。さらに，脚部指令値データには，その動作が衝撃性の動作であるかどうかを示す情報も付加される。
【００２３】
そして，脚部コントローラ１２は，所定の周期ごとに次回の指示に相当する脚部指令値データを第１記憶部１１から読み出す。そして，読み出した脚部指令値データに基づいて，脚部が各指示位置へ順次移動するようにロボット脚部１３の各アクチュエータを駆動する。このとき，脚部コントローラ１２は，実際に変化した両脚部の位置をフィードバック情報として受け，この情報によって次回の駆動量を補正する。このロボット脚部１３の制御に関しては，従来の制御方法と同様である。
【００２４】
次に，ロボット腕部２７の制御について説明する。第２記憶部２１に記憶されている腕部指令値データは，先読みバッファ２２によって，あらかじめ読み出されて一旦保管される。ここで，この先読みバッファ２２は補正処理機能を有している。この補正処理機能については，後述する。
【００２５】
また，ロボット腕部２７を制御するコントローラとしては，図２に示すように，第１腕部コントローラ２３と第２腕部コントローラ２４との２種類が備えられている。第１腕部コントローラ２３は，腕部位置の精密な制御を行うためのコントローラである。この第１腕部コントローラ２３は，追従性や外乱抑圧性能が高く，制御帯域が高い。さらに，フィードバック情報のゲインが高く，腕部位置を指令値に正確に追従させるものである。これによれば，手先の位置が精度良く制御されるので，手指を使って作業を行う場合などに適している。これは，本出願人による先行出願（例えば，特願２００３−３５４８６６号）等に記載される一般的な腕部コントローラと同様である。
【００２６】
一方，第２腕部コントローラ２４は，位置精度を落とした制御を行うコントローラである。この第２腕部コントローラ２４は，位置制御ゲインが低く減衰性が重視されているとともに，制御帯域が低い。すなわち，外乱等により手先位置に多少の偏差が発生しても，このコントローラによって制御されているときには急激な補正がなされないので振動的な応答を誘発しにくい。そのため，この第２腕部コントローラ２４の制御によれば，脚部着地時等に脚部からの大きな干渉を受けた場合でも，腕部の振動的な応答が発生しにくい。従って，単なる腕振り歩行を行う等の手先の積極的な制御が不要である場合に適している。この第２腕部コントローラ２４は，第１腕部コントローラ２３の精度を落としただけであり，上記の先行出願に記載の一般的な腕部コントローラから容易に作成することができる。
【００２７】
すなわち，この２足方向ロボット１は，ロボット腕部２７の制御方法として，２種類のモードを有している。そこで，切り替え判断部２５によって，これらのモード間の切り替えが選択される。切り替え判断部２５は，腕部位置の精度の必要性と脚部の動作の種類（特に，脚部着地時かどうか）等の各種条件を受けて，使用する腕部コントローラを第１腕部コントローラ２３と第２腕部コントローラ２４とから選択する。具体的には，第２記憶部２１に記憶されている次回の腕部指令値データより，次回の腕部動作が精度を要求される制御であるかどうかを判断する。また，第１記憶部１１に記憶されている次回の脚部指令値データより，次回の脚部動作が着地等の反動の大きいものであるかどうかを判断する。これらの結果から，次回の制御に使用する腕部コントローラ２３，２４を選択して切り替え器２６に出力する。
【００２８】
切り替え器２６は，切り替え判断部２５の判断を受けて，ロボット腕部２７への出力を第１腕部コントローラ２３と第２腕部コントローラ２４とから切り替える。そして，切り替え器２６によってロボット腕部２７に接続されている腕部コントローラ（２３または２４）の出力によって，ロボット腕部２７の各アクチュエータが駆動される。さらに，このとき実際に変化した両腕部の位置がフィードバックされ，次回の駆動量が補正される。
【００２９】
ところで，上記のように，第２腕部コントローラ２４での制御では位置制御ゲインが低いため，手先の実際の位置と腕部指令値データとの間に多少の偏差があることが避けられない。第２腕部コントローラ２４ではこのような多少の偏差が許容されているが，第１腕部コントローラ２３では許容される範囲はごく小さい。そのため，第２腕部コントローラ２４で制御されているときに，第１腕部コントローラ２３への切り替えが指示された場合には，この偏差がごく小さくなるように移動させる必要がある。しかしながら，この偏差を急激に無くそうとすると，補正方向へ腕部の各アクチュエータを急加速してしまうおそれがあるため好ましくない。そこで，このような場合に本形態では，先読みバッファ２２が有している前述の補正処理機能が利用される。
【００３０】
すなわち，切り替え判断部２５は，第２腕部コントローラ２４から第１腕部コントローラ２３への切り替えを切り替え器２６に指示したときには，先読みバッファ２２の補正処理機能を実行するかどうかを判断する。そのためにまず，先読みバッファ２２からの出力にフィードバック情報を加え，両腕部コントローラ２３，２４に入力される直前の指令値データを，第２記憶部２１に記憶されている次回の理想的な腕部指令値データと比較する。そして，それらの間の偏差が所定値より大きいかどうかを判断する。偏差が所定以上の大きさであれば，切り替え判断部２５は，先読みバッファ２２の補正処理機能に対して補正処理の実行を指示する。なお，偏差が小さい場合には，補正処理機能による補正は不要である。
【００３１】
補正処理が行われると，先読みして先読みバッファ２２に格納されている腕部指令値データは，ロボット腕部２７の現在位置へ近づける方向に補正される。すなわち，上記の偏差を急激になくすのでなく，少しずつ何回かに分けて理想の位置に近づけるようにする。これにより，自然な動作の範囲内で偏差をなくすことができる。そして，偏差が無くなったら，その後は第２記憶部２１に記憶されている腕部指令値データをそのまま用いて，第１腕部コントローラ２３によって制御すればよい。
【００３２】
次に，本形態の２足歩行ロボット１の腕部コントローラの状態遷移図を図３に示す。腕部コントローラの状態には，第１腕部コントローラ２３の出力によって制御されている状態３１と第２腕部コントローラ２４の出力によって制御されている状態３２との２つの状態がある。上腕の制御に精度が要求される場合には，状態３１を保つ（矢印Ｒ）。上腕の制御に精度が要求されない場合であり，かつ，脚部着地時等の反動を受ける脚部動作を行う場合には，状態３２に遷移する（矢印Ｓ）。この条件が満たされている限り，状態３２を保つ（矢印Ｔ）。状態３２において，上腕の制御に精度が要求されると，偏差が急に変化しないように指令値を補正しつつ状態３１へ遷移する（矢印Ｕ）。以後，同様に２つの状態３１，３２間を遷移する。
【００３３】
次に，本形態の２足歩行ロボット１の腕部制御処理を図４のフローチャートを参照して説明する。この２足歩行ロボット１の電源が入力され，動作が開始されるとまず，切り替え判断部２５は，第１腕部コントローラ２３を選択する（Ｓ１０１）。従って，切り替え器２６は，第１腕部コントローラ２３側に設定される。さらに，第２記憶部２１に記憶されている腕部指令値データを先読みバッファ２２に先読みしながら，制御周期ごとに区切って先読みバッファ２２から腕部指令値データを読み出す（Ｓ１０２）。この段階では，先読みバッファ２２でのデータの補正は行われていない。
【００３４】
次に，第２記憶部２１に記憶されている腕部指令値データをすべて消費したかどうかを判断する（Ｓ１０３）。すべて消費した場合は（Ｓ１０３：Ｙｅｓ），指示された一連の動作をすべて終了したということなので，この処理を終了し，次回の指示を受けるまで待機する。
【００３５】
あるいは，データをすべて消費したわけではない場合は（Ｓ１０３：Ｎｏ），次回の指令値データを使用して第１腕部コントローラ２３と第２腕部コントローラ２４との両方のアルゴリズムによってそれぞれ，腕部の各アクチュエータの駆動量を算出する（Ｓ１０４）。ここで，あらかじめ両方のアルゴリズムを計算しておく理由は，切り替えが指示された場合でも遅れることなくスムーズに駆動が連続するためにである。
【００３６】
そして次に，現在使用されているのが第１腕部コントローラ２３であるかどうかを判断する（Ｓ１０５）。現在使用されているのが第１腕部コントローラ２３である場合には（Ｓ１０５：Ｙｅｓ），まず，Ｓ１０４で算出した第１腕部コントローラ２３の出力によってロボット腕部２７を制御する（Ｓ１０６）。そして，次回の動作について，腕部指令値データに付加されて第２記憶部２１に記憶されている情報を利用し，上腕の制御に精度が必要とされているかどうかを判断する（Ｓ１０７）。精度が必要とされている場合は（Ｓ１０７：Ｙｅｓ），そのまま，第１腕部コントローラ２３の出力によって制御する（Ｓ１０６）。
【００３７】
あるいは，第２記憶部２１の情報から次回の動作では，上腕の制御に精度が必要とされていないと判断される場合には（Ｓ１０７：Ｎｏ），次に，脚部指令値データに付加されて第１記憶部１１に記憶されている情報を利用し，脚部の動作が衝撃性の動作であるか，すなわち脚部の動作が反動を受ける種類のものであるかどうかを判断する（Ｓ１０８）。脚部が静止している等の反動の小さい種類の動作であると判断される場合は（Ｓ１０８：Ｎｏ），そのまま，第１腕部コントローラ２３の出力によって制御する（Ｓ１０６）。あるいは，第１記憶部１１の情報から脚部の動作が歩行中の着地時等の衝撃性で反動を受ける種類のものであると判断される場合は（Ｓ１０８：Ｙｅｓ），第２腕部コントローラ２４に切り替える（Ｓ１０９）。そして，Ｓ１０２に戻って，同様に処理を続ける。
【００３８】
また，現在使用されているのが第２腕部コントローラ２４である場合には（Ｓ１０５：Ｎｏ），Ｓ１０４で算出した第２腕部コントローラ２４の出力によって，ロボット腕部２７の各アクチュエータを駆動制御する（Ｓ１１０）。そして，次回の動作について記憶部２１に記憶されている情報から，上腕の制御に精度が必要とされているかどうかを判断する（Ｓ１１１）。精度が必要とされていない場合は（Ｓ１１１：Ｎｏ），第１記憶部１１に記憶されている情報から，脚部の動作が衝撃性の動作であるか，すなわち反動を受ける種類のものであるかどうかを判断する（Ｓ１１２）。脚部の動作が衝撃性の動作である場合は（Ｓ１１２：Ｙｅｓ），第２腕部コントローラ２４による制御を継続する（Ｓ１１０）。
【００３９】
あるいは，第２記憶部２１の情報から次回の動作で上腕の制御に精度が必要とされていると判断される場合（Ｓ１１１：Ｙｅｓ），または，第１記憶部１１の情報から脚部の動作が衝撃性でなく反動の小さい種類の動作であると判断される場合は（Ｓ１１２：Ｎｏ），第１腕部コントローラ２３の出力によって制御するほうがよい。そこでまず，先読みバッファ２２内に格納されている腕部指令値データを，先読みバッファ２２内の補正処理機能によって補正する（Ｓ１１３）。そうしておいて，第１腕部コントローラ２３に切り替える（Ｓ１１４）。そして，Ｓ１０２に戻り，腕部指令値データをすべて消費し終わるまで，同様に処理を続ける。これで，この処理の説明を終了する。
【００４０】
以上詳細に説明したように，本形態の２足方向ロボット１によれば，腕部を制御するためのコントローラとして第１腕部コントローラ２３と第２腕部コントローラ２４とを有し，これらが切り替えて使用される。ここで，第２腕部コントローラ２４は，速度制御ゲインが高く，かつ，位置制御ゲインが低いため減衰性が重視され，偏差が生じても急激な補正は行われない。本形態では，脚部着地時等の反動を受けた場合にこの第２腕部コントローラ２４を使用するので，反動によってロボット腕部２７が振動的に応答することが防止される。これにより，新たな部材を付加することなく，軽量で剛性の高くない腕部を有する２足歩行ロボット１でも腕部の不自然な振動が抑制されている。
【００４１】
なお，本形態は単なる例示にすぎず，本発明を何ら限定するものではない。したがって本発明は当然に，その要旨を逸脱しない範囲内で種々の改良，変形が可能である。
例えば，先読みバッファ２２は，その内部に補正処理機能を有しているとしたが，これらは別に設けられていても良い。
また例えば，図４のＳ１０４において，あらかじめ，第１腕部コントローラ２３と第２腕部コントローラ２４との両方のアルゴリズムを計算するとしたが，処理速度が十分に速い場合には判断後に必要な方のみを計算するようにしても良い。
また例えば，反動による干渉を脚部の動作から判断するとしたが，体幹や腕部の動作による干渉や周囲からの外乱等も考慮しても良い。
また例えば，上腕の制御に精度が必要とされていない場合は，脚部の動作の種類にかかわらず第２腕部コントローラ２４を使用するとしても良い。
【図面の簡単な説明】
【００４２】
【図１】本形態の歩行ロボットの概略の自由度構成を示す説明図である。
【図２】本形態の歩行ロボットの概略制御構成を示すブロック図である。
【図３】本形態の歩行ロボットのコントローラ状態遷移図である。
【図４】本形態の歩行ロボットのコントローラ切替処理を示すフローチャートである。
【図５】従来の歩行ロボットの概略制御構成を示すブロック図である。
【符号の説明】
【００４３】
１  ２足歩行ロボット
１３  ロボット脚部
２２  先読みバッファ
２３  第１腕部コントローラ
２４  第２腕部コントローラ
２５  切り替え判断部
【図１】
2006326737.tif 000003
【図２】
2006326737.tif 000004
【図３】
2006326737.tif 000005
【図４】
2006326737.tif 000006
【図５】
2006326737.tif 000007