(57)【要約】【課題】移動動作に起因する上肢の揺れを抑制し，歩行動作の安定化が図られたロボットを提供すること。【解決手段】まず，ロボットの胴体に配置された姿勢制御センサにて胴体の加速度を検出する（Ｓ１）。次に，その加速度および上肢の姿勢情報から手先が受ける加速度を算出する（Ｓ２）。つまり，姿勢制御センサにて検出された胴体の加速度と上肢の各関節の関節角とを基に，手先が受ける加速度を算出する。次に，手先が受ける加速度を基に手先の微小変位量を算出する（Ｓ３）。そして，手先の位置を，手先の加速度を感知した方向にならう方向に微小変位させる（Ｓ４）。つまり，手先の微小変位量を手先の歩容データに反映させる。これを繰り返すことにより，手先および胴体の振動が抑制される。【選択図】            図４
2006321013.tif 000002
【特許請求の範囲】
【請求項１】
一方の端部が体幹に連結された上肢を有するロボットにおいて，
前記上肢が受ける所定方向についての加速度を検出する加速度検出部と，
前記加速度検出部にて検出された上肢の加速度の値から，上肢の前記所定方向の変位量を算出する上肢変位量算出部と，
前記上肢変位量算出部にて算出された上肢の変位量に基づく量だけ，前記所定方向に上肢を変位させる制御部とを備えることを特徴とするロボット。
【請求項２】
請求項１に記載するロボットにおいて，
前記加速度検出部は，
ロボットの体幹に付設され，その体幹が受ける所定方向についての加速度を検出する加速度センサと，
前記加速度センサの検出値と上肢の関節角とを基に，上肢が受ける所定方向についての加速度を算出する加速度算出部とを備えることを特徴とするロボット。
【請求項３】
請求項１に記載するロボットにおいて，
前記加速度検出部は，
ロボットの上肢に付設され，その上肢が受ける所定方向についての加速度を検出する加速度センサを備えることを特徴とするロボット。
【請求項４】
一方の端部が体幹に連結された上肢を有するロボットの制御方法において，
前記上肢が受ける所定方向についての加速度を検出する加速度検出ステップと，
前記加速度検出ステップにて検出された上肢の加速度の値から，上肢の前記所定方向の変位量を算出する上肢変位量算出ステップと，
前記上肢変位量算出ステップにて算出された上肢の変位量に基づく量だけ，前記所定方向に上肢を変位させる制御ステップとを含むことを特徴とするロボットの制御方法。
【請求項５】
請求項４に記載するロボットの制御方法において，
前記加速度検出ステップは，
ロボットの体幹が受ける所定方向についての加速度を検出する体幹加速度検出ステップと，
前記体幹加速度検出ステップにて検出した体幹の加速度と上肢の関節角とを基に，上肢が受ける所定方向についての加速度を算出する上肢加速度算出ステップとを含むことを特徴とするロボットの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，体幹に対して上肢が揺動可能に連結されているロボットに関する。さらに詳細には，移動動作に起因する上肢の揺れを抑制し，動作の安定化を図るロボットに関するものである。
【背景技術】
【０００２】
従来から，上肢を動作させながら歩行する歩行ロボットが開示されている。この種のロボットでは，一般に各肢体の関節の動きを複数個のアクチュエータで実現している。ロボットの姿勢を変化させる方法としては，例えば，体幹，左足先，右足先，左手先，右手先の各位置を時系列に指示する歩容データを作成しておき，その歩容データに従って，体幹，両足，両腕の相対的姿勢を経時的に変化させることが行われている（例えば，特許文献１）。すなわち，あらかじめ記憶された足先および手先の軌跡に追従するように各アクチュエータを動作させる。
【０００３】
また，ロボットの体幹には，体幹の姿勢角や加速度を検出するセンサ群が備えられている。また，ロボットの各関節は，エンコーダ付きのモータを備えてられている。これらのセンサ群によってロボットの姿勢を計測することができ，安定した２足歩行動作を実現している。
【特許文献１】特開２００５−７４９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら，前記したような移動動作を実現するロボットでは，次のような問題があった。例えば，歩行ロボットが歩行動作を行う際，着地の度に足先から伝わる振動が体幹に伝播する。また，例えば，ジャンプしながら移動するロボットが移動する際も同様に着地の旅に振動が伝播する。そして，その振動は体幹を介して上肢の手先まで伝播する。そのため，着地の度に手先が揺れることとなり，見苦しい外観となる。また，手先の揺れが長引くと，実際の歩行ロボットの位置が歩容データによる指定位置からずれてしまい，歩行動作に乱れが生じる。
【０００５】
特に，ロボットが何らかの負荷物を把持する，さらにはその負荷物を高い位置に掲げるといった動作を行うと，手先の揺れが顕著になる。また，手先の揺れが大きくなると，手先を所定の位置に維持し続けるといった動作が困難となる。
【０００６】
本発明は，前記した従来のロボットが有する問題点を解決するためになされたものである。すなわちその課題とするところは，移動動作に起因する上肢の揺れを抑制し，歩行動作の安定化が図られたロボットを提供することにある。
【課題を解決するための手段】
【０００７】
この課題の解決を目的としてなされたロボットは，一方の端部が体幹に連結された上肢を有するロボットにおいて，その上肢が受ける所定方向についての加速度を検出する加速度検出部と，加速度検出部にて検出された上肢の加速度の値から，上肢の所定方向の変位量を算出する上肢変位量算出部と，上肢変位量算出部にて算出された上肢の変位量に基づく量だけ，その所定方向に上肢を変位させる制御部とを備えることを特徴としている。
【０００８】
すなわち，本発明のロボットは，加速度検出部にて上肢が受ける所定方向についての加速度を検出（加速度検出ステップ）し，その加速度を基に上肢変位量算出部にて上肢の所定方向への変位量を算出（手先変位量算出ステップ）している。加速度を検出する部位としては，例えば先端部（手先部），手部，あるいは関節部が適用可能である。
【０００９】
また，制御部にて上肢の動きを制御（制御ステップ）している。具体的には，上肢の各関節部を制御する際に，上肢変位量算出部にて算出した上肢の変位量を反映させる。すなわち，ロボットの上肢が受ける加速度の方向にならい，その変位量分だけロボットの上肢が変位するように制御する。すなわち，振動によって生じた加速度にならって上肢を微小変位させる。この上肢の微小変位によって上肢に伝播した振動を抑制する。
【００１０】
また，本発明の加速度検出部は，ロボットの体幹に付設され，その体幹が受ける所定方向についての加速度を検出する加速度センサと，加速度センサの検出値と上肢の関節角とを基に，ロボットの上肢が受ける加速度を算出する加速度算出部とを備えることとするとよい。
【００１１】
すなわち，加速度検出部は，体幹に付設された加速度センサにて体幹が受ける所定方向についての加速度を検出（体幹加速度検出ステップ）し，その検出値と上肢の関節角とを基に手先が受ける加速度を算出（手先加速度算出ステップ）するとしてもよい。このように体幹の加速度から上肢の加速度を推測することで，ロボットの上肢の構造をシンプルにすることができる。つまり，上肢に加速度センサを設ける必要がなく，上肢の制御負荷を小さくすることができる。
【００１２】
また，本発明の加速度検出部は，ロボットの上肢に付設され，その上肢が受ける所定方向についての加速度を検出する加速度センサを備えることとしてもとよい。すなわち，上肢に加速度センサを設けることで振動抑制のための制御をシンプルにすることができる。また，上肢の加速度を推測する方法と比べて，より正確な加速度を検出することができる。
【発明の効果】
【００１３】
本発明によれば，振動によって生じた加速度にならって上肢を微小変位させる。この微小変位によって上肢が受ける振動を抑制することができる。そのため，美観を損なわない。また，振動が抑制されることから，移動動作が安定する。よって，移動動作に起因する上肢の揺れを抑制し，歩行動作の安定化が図られたロボットが実現されている。
【発明を実施するための最良の形態】
【００１４】
以下，本発明に係るロボットを具体化した実施の形態について図面を基に説明する。本実施の形態は，上肢で負荷物を把持しつつ歩行することが可能な２足歩行ロボットに本発明を適用したものである。
【００１５】
［第１の形態］
第１の形態の歩行ロボットは，胴体（体幹）と，頭部と，２本の脚部（下肢）と，２本の腕部（上肢）とを備えた２足歩行ロボットである。図１は，本形態の歩行ロボット１００における各関節の構成を示している。図１中，ｘ軸は歩行ロボット１００の前後方向（進行方向）を，ｙ軸は歩行ロボット１００の左右方向を，ｚ軸は歩行ロボット１００の上下方向（高さ方向）をそれぞれ意味している。歩行ロボット１００は，左右の股関節にそれぞれ２軸，腰部に１軸，左右の膝関節にそれぞれ１軸，左右の足首関節にそれぞれ２軸，左右の肩関節にそれぞれ２軸，左右の肘関節にそれぞれ１軸の自由度を持っている。各関節は，エンコーダ付きのモータを備えており，関節角を計測するとともに関節角を調節することができる。
【００１６】
具体的に，中央の関節１７および左右の関節（股関節）１，２，６，７によって腰部を構成している。また，関節（膝関節）３が大腿リンクを介して関節２に，さらに関節（足首関節）４，５が下腿リンクを介して関節３にそれぞれ連結されて左脚部を構成し，関節４，５の下には足平部１９が設けられている。また，関節（膝関節）８が大腿リンクを介して関節７に，さらに関節（足首関節）９，１０が下腿リンクを介して関節８にそれぞれ連結されて右脚部を構成し，関節９，１０の下には足平部２０が設けられている。
【００１７】
また，腰部中央の関節１７がリンクを介して頭部１８に連結されている。また，頭部１８に連結するリンクに直交配置されるリンクに，関節（肩関節）１１，１２，１４，１５が連結されている。また，関節（肘関節）１３が上腕リンクを介して関節１１，１２に，さらに関節１３が前腕リンクを介して手部２１にそれぞれ連結されて左腕部を構成している。また，関節（肘関節）１６が上腕リンクを介して関節１４，１５に，さらに関節１６が前腕リンクを介して手部２２にそれぞれ連結されて右腕部を構成している。
【００１８】
また，腰部の中央には，胴体の加速度を検出する加速度センサや姿勢角（ｚ軸方向に対する傾き）を検出するジャイロセンサからなる姿勢制御センサ群２５が設けられている。
【００１９】
続いて，本形態の歩行ロボット１００の動作制御について説明する。歩行ロボット１００は，図２に示すようにロボットの動作（例えば，歩行動作，負荷物を把持する動作，さらにはその負荷物を高い位置に掲げる動作など）を指示する動作指示生成装置３０と，各関節の関節角を調節する関節角群計算装置４１と，算出された関節角に従って各関節を稼動するアクチュエータ制御装置４２と，手先の微小変位量を算出する手先位置変位量算出装置４３とを有している。
【００２０】
動作指示生成装置３０は，動作の基本となる歩容データを作成する機能を有している。また，動作指示生成装置３０は，足先位置指令値生成部３１と，体幹位置指令値生成部３２と，手先位置指令値生成部３３と，歩容データ記憶部３４とを備えている。動作指示生成装置３０には，動作の選択信号や開始／停止信号が入力される。また，動作指示生成装置３０からは，足先位置や手先位置に関する情報，すなわち歩容データが関節角群計算装置４１に出力される。この出力情報を基にロボットの機械系が駆動される。
【００２１】
足先位置指令値生成部３１には，足先の軌道が記憶されている。すなわち，両足先の３次元座標（ｘ，ｙ，ｚ）と時間との関係を示す経時的な足先軌道データがあらかじめ記憶されている。そして，足先軌道データを基に，右足先の位置の指令値Ｒｆｓ（ｔ）と左足先の位置の指令値Ｌｆｓ（ｔ）とを作成する。指令値Ｒｆｓ（ｔ），Ｌｆｓ（ｔ）は，足先位置Ｒｆｓ，Ｌｆｓと時間ｔとの関係を示すデータ，すなわち足先位置の経時的変化の内容が記憶されたデータである。指令値Ｒｆｓ（ｔ），Ｌｆｓ（ｔ）は，体幹位置指令値生成部３２および歩容データ記憶部３４に出力される。
【００２２】
体幹位置指令値生成部３２では，足先の位置情報（指令値Ｒｆｓ，Ｌｆｓ）を基に，目標ＺＭＰ（ゼロ・モーメント・ポイント）位置を計算する。目標ＺＭＰ位置は，接地足の足平内に常にあるように計算される。目標ＺＭＰ位置は，２次元の座標（ｘ，ｙ）で表現され，ｚ座標をゼロとする。そして，目標ＺＭＰ位置の経時的変化の内容が記憶されたＺＭＰ軌道データが作成される。そして，このＺＭＰ軌道データに従って歩容ロボット１００が動作するように，体幹の基準位置の指令値Ｗ（ｔ）を作成する。指令値Ｗ（ｔ）は，体幹の基準位置Ｗと時間ｔとの関係を示すデータ，すなわち基準位置の経時的変化の内容が記憶されたデータである。指令値Ｗ（ｔ）は，歩容データ記憶部３４に出力される。
【００２３】
なお，指令値Ｗ（ｔ）を計算する手法の詳細については，本出願人によって出願された特願２００３−１７１９６７号，あるいは特願２００３−３５４８６６号に記載されている。
【００２４】
手先位置指令値生成部３３には，手先の軌道が記憶されている。すなわち，両手先の３次元座標（ｘ，ｙ，ｚ）と時間との関係を示す経時的な手先軌道データがあらかじめ記憶されている。そして，手先軌道データを基に，右手先の位置の指令値Ｒｈｓ（ｔ）と左手先の位置の指令値Ｌｈｓ（ｔ）とを作成する。指令値Ｒｈｓ（ｔ），Ｌｈｓ（ｔ）は，手先位置Ｒｈｓ，Ｌｈｓと時間ｔとの関係を示すデータ，すなわち手先位置の経時的変化の内容が記憶されたデータである。指令値Ｒｈｓ（ｔ），Ｌｈｓ（ｔ）は，歩容データ記憶部３４に出力される。
【００２５】
また，手先位置指令値生成部３３には，後述する手先位置変位量算出部４３から手先の変位量△ｄｈがおよそ１０ｍｓ周期で送られる。この手先の変位量△ｄｈは，足先からの振動等によって変動する値である。そして，指令値Ｒｈｓ（ｔ），Ｌｈｓ（ｔ）を作成する際，手先が受けた加速度の方向にならう方向に変位量△ｄｈを反映させる。すなわち，手先が受ける加速度に従って手先の位置が微小変位するような指令値Ｒｈｓ（ｔ），Ｌｈｓ（ｔ）を作成する。
【００２６】
歩容データ記憶部３４には，歩行ロボット１００の姿勢を決定するのに十分なデータ群（歩容データ：Ｌｆｓ（ｔ），Ｒｆｓ（ｔ），Ｌｈｓ（ｔ），Ｒｈｓ（ｔ），Ｗ（ｔ））が記憶されている。歩容データ記憶部３４からは，歩容データがおよそ１０ｍｓ周期で関節角群計算装置４１に送られる。歩行ロボット１００は，この歩容データに基づいて手足を動作させる。すなわち，歩容データを基に各関節が駆動される。
【００２７】
関節角群計算装置４１は，各部位の位置が記憶されている歩容データを基に，いわゆる逆キネマティクス演算を解いて各関節のモータに対する関節角を計算する。計算された関節角は，アクチュエータ制御装置４２に送られる。アクチュエータ制御装置４２は，計算された関節角に基づいて，各関節のアクチュエータ１〜１７の駆動制御を行う。これにより，歩行ロボット１００の関節角が調節され，歩行ロボット１００の歩行動作が実現する。
【００２８】
また，手先位置変位量算出装置４３には，姿勢制御センサ群２５の検出値が入力される。具体的には，足先からの振動等によって胴体が受ける加速度が入力される。さらには，上肢の各関節へのモータ指令角（関節角）が入力される。すなわち，現時点での上半身の姿勢情報が入力される。
【００２９】
手先位置変位量算出装置４３は，手先が受ける加速度を算出する機能と，手先の微小変位量を算出する機能とを備えている。手先の加速度，および手先の微小変位量は，入力された関節角などの情報を基に手先位置変位量算出装置４３内の演算部（例えば，ＣＰＵ）が算出する。なお，演算部は，各機能それぞれに設けてもよい。また，手先位置変位量算出装置４３と動作指示生成部３０とが一体の装置であれば，その装置内の１つのＣＰＵであってもよい。
【００３０】
そして，手先位置変位量算出装置４３では，図３に示すような制御を行う。すなわち，胴体の加速度と上肢の各関節角とを基に，手先が受ける加速度を算出する。次に，その加速度にゲインＫを乗じて手先の微小変位量△ｄｈを算出する。この手先の微小変位量△ｄｈを手先位置指令値生成部３３に出力する。さらに，微小変位量△ｄｈからいわゆる逆キネマティクス演算を解き，上肢の各関節角の変位量を計算する。そして，その関節角の変位量を上肢の関節角にフィードバックする。
【００３１】
続いて，歩行ロボット１００の手先を微小変位させる手順について，図４のフローチャートおよび図５の概念図を基に説明する。
【００３２】
まず，胴体に配置された姿勢制御センサ群２５により，胴体の加速度を検出する（Ｓ１：図５（ａ））。次に，その加速度および上肢の姿勢情報から手先が受ける加速度を算出する（Ｓ２：図５（ｂ））。つまり，姿勢制御センサ群２５にて検出された胴体の加速度と上肢の関節の関節角とを基に，手先が受ける所定方向についての加速度を算出する。具体的には，胴体に付設された加速度センサにて，胴体についてのｘ方向，ｙ方向，ｚ方向（図１参照）の加速度情報を取得し，その加速度情報と既知である上肢の関節角の情報とから手先の加速度を算出する。なお，手先が受ける加速度は左右の手先それぞれに算出する。
【００３３】
次に，手先が受ける加速度を基に手先の微小変位量を算出する（Ｓ３）。具体的には，単純に，加速度の２回微分により移動距離を算出する方法では，発振するおそれがあり正確な変位量が求められない。そのため，手先の振動制御は，胴体インピーダンス制御（胴体スカイフック制御）と同様に手先をバネ−マス（質量）−ダンパ系と考え，次の式（１）を解く。
ｍ０（ａ−ａ０）＝ｍｘ”＋ｄｘ’＋ｋｘ    （１）
式（１）中，ａは加速度センサから検出したあるいは推定した加速度を，ａ０は手先の加速度の目標値を，ｍ０は手先の質量を，ｘは手先の変位量を，ｍ，ｄ，ｋはそれぞれ目標インピーダンスの質量，ダンピング，バネ定数をそれぞれ意味している。式（１）を基にｘを求めることで変位量ｘを決定する。
【００３４】
次に，手先の位置を，手先の加速度を感知した方向にならう方向に微小変位させる（Ｓ４：図５（ｃ））。つまり，手先の微小変位量を手先の歩容データに反映させる。例えば，基本となる手先の位置が（ｘ０，ｙ０，ｚ０）で，微小変位量が（△ｘ，△ｙ，△ｚ）であったとすると，修正後の手先の位置を（ｘ０＋△ｘ，ｙ０＋△ｙ，ｚ０＋△ｚ）とする。これを繰り返すことにより，手先および胴体の振動が抑制される。
【００３５】
［第２の形態］
第２の形態の歩行ロボットは，第１の形態の歩行ロボットと同様に，胴体と，頭部と，２本の脚部と，２本の腕部とを備えた２足歩行ロボットである。図６は，本形態の歩行ロボット２００における各関節の構成を示している。本形態の歩行ロボット２００は，左右の手先にそれぞれ加速度センサ２６，２７を配している。この点，手先に加速度センサを配していない第１の形態と異なる。
【００３６】
続いて，手先の位置を微小変位させる手順について，図７のフローチャートを基に説明する。まず，左右の手先にそれぞれ配置された加速度センサ２６，２７にて左右の手先の加速度をそれぞれ検出する（Ｓ１１）。つまり，姿勢制御センサ群２５にて検出された胴体の加速度を利用することなく，手先に配置された加速度センサ２６，２７から手先が受ける所定方向についての加速度を検出する。
【００３７】
次に，手先が受ける加速度を基に手先の微小変位量を算出する（Ｓ１２）。そして，手先の位置を，手先の加速度を感知した方向にならう方向に微小変位させる（Ｓ１３）。つまり，手先の微小変位量を手先の歩容データに反映させる。これを繰り返すことにより，手先および胴体の振動が抑制される。
【００３８】
以上詳細に説明したように実施の形態の歩行ロボットでは，手先が受ける所定方向についての加速度を，胴体が受ける加速度を基に算出する，あるいは手先に付設した加速度センサにより検出することとしている。そして，その手先の加速度を基に，手先の微小変位量を求めることとしている。そして，その微小変位量を基に，手先の位置を手先の加速方向にならって微小変位させることとしている。すなわち，振動による微小変位を歩行ロボットに姿勢に反映させ，振動を吸収している。これにより，手先および胴体の振動が抑制され，歩行動作が安定する。また，振動が抑制されることから，外観の見苦しさの問題が解消される。よって，移動動作に起因する上肢の揺れを抑制し，歩行動作の安定化が図られたロボットが実現している。
【００３９】
例えば，歩行ロボットが金管楽器を把持し，さらに実際に演奏するような動作を行う場合，高い位置で手先が安定することが望まれる。そこで，実施の形態のように，手先の揺れが抑制されることで金管楽器の位置が安定し，見栄えがよくなるとともに安定した演奏を行うことができる。
【００４０】
また，第１の形態に示した歩行ロボット１００のように，胴体の加速度を基に手先の加速度を予測し，その予測加速度を基に手先を微小変位させると，従来の歩行ロボットから加速度センサを増設することなく振動の抑制が可能となる。そのため，手先の機械的な構造がシンプルであり，安価に実現することができる。
【００４１】
また，第２の形態に示した歩行ロボット２００のように，手先に配置された加速度センサから直接に加速度を検出し，その加速度を基に手先を微小変位させると，より正確に変位量を求めることができ，振動の抑制が確実となる。
【００４２】
なお，本実施の形態は単なる例示にすぎず，本発明を何ら限定するものではない。したがって本発明は当然に，その要旨を逸脱しない範囲内で種々の改良，変形が可能である。例えば，歩行ロボットの下肢は２本である必要はなく，３本以上であってもよい。また，本発明の適用範囲は，歩行ロボットに限るものではない。例えば，歩行を伴わないロボット（車輪によって移動するロボットやジャンプして移動するロボット等）にも適用可能である。
【００４３】
また，加速度を取得する位置は，上肢の手先に限るものではない。すなわち，上肢の揺れ量を取得することができる位置であればよい。例えば，上肢の手部であってもよいし，関節部であってもよい。
【図面の簡単な説明】
【００４４】
【図１】第１の形態にかかる歩行ロボットの関節構成を示すスケルトン図である。
【図２】第１の形態にかかる歩行ロボットの機能構成を示すブロック図である。
【図３】手先位置変位量算出装置の制御を示すブロック図である。
【図４】手先の位置を微小変位させる手順を示すフローチャートである。
【図５】手先の位置を微小変位させる概念を示す図である。
【図６】第２の形態にかかる歩行ロボットの関節構成を示すスケルトン図である。
【図７】手先の位置を微小変位させる手順を示すフローチャートである。
【符号の説明】
【００４５】
１〜１７  アクチュエータ
２５    姿勢制御センサ群
３０    動作指示生成装置
３１    足先位置指令値生成部
３２    体幹位置指令値生成部
３３    手先位置指令値生成部
３４    歩容データ記憶部
４１    関節角群計算装置
４２    アクチュエータ制御装置
４３    手先位置変位量算出装置
１００  歩行ロボット
【図１】
2006321013.tif 000003
【図２】
2006321013.tif 000004
【図３】
2006321013.tif 000005
【図４】
2006321013.tif 000006
【図５】
2006321013.tif 000007
【図６】
2006321013.tif 000008
【図７】
2006321013.tif 000009