(57)【特許請求の範囲】
【請求項１】
少なくとも胴体と、
肩部のロール、ピッチ、ヨーの各軸回りの関節自由度と、肘部のピッチ軸回りの関節自由度と、手首のロール及びヨーの各軸回りの関節自由度と、手先に近い部位に設けられたピッチ軸回りの自由度を持つ最先端ピッチ軸関節をそれぞれ備え、前記最先端ピッチ軸関節は、手部の掌の内側、又は手首部のいずれかに配設されている、前記胴体に連結された左右の双腕と、
把持対象となる物体の位置姿勢を認識する物体認識手段と、
前記双腕を含む各部の関節駆動を制御する制御部と、
を備え、
前記制御部は、前記双腕それぞれの前記最先端ピッチ軸関節のピッチ軸がほぼ一直線上にあり、且つ該直線上に把持対象物体の重心が来るようにして、前記双腕を把持対象物体の幅を徐々に狭めて左右の手部で挟み込むようにして把持する、
ことを特徴とするロボット装置。
【請求項２】
前記制御部は、双腕で物体を把持している期間中における物体の位置姿勢変更要求に応じて、腕部のその他の関節を固定させたまま、前記最先端ピッチ軸のみを駆動して、把持物体の姿勢を変更する、
ことを特徴とする請求項１に記載のロボット装置。
【請求項３】
前記制御部は、要求されている把持物体の位置姿勢変更を行なうと、前記最先端ピッチ軸の可動域を外れ又は自己干渉を生じるときには、前記最先端ピッチ軸を現在位置に保ちながら、要求されている把持物体の位置姿勢を得るための腕部のその他の関節についてのインバースキネマティクス解を求める、
ことを特徴とする請求項２に記載のロボット装置。
【請求項４】
前記制御部は、双腕で物体を把持している期間中における物体の移動要求に応じて、前記最先端ピッチ軸を冗長軸として、腕部の他の関節自由度を用いて把持物体の姿勢を維持しながら移動する、
ことを特徴とする請求項１に記載のロボット装置。
【請求項５】
前記制御部は、複数の側面を設置面とすることができる物体を移動する際に、該物体の設置場所の高さ若しくは奥行きの方向に応じた設置面となるように、該設置場所において前記最先端ピッチ軸の回転駆動により該把持物体の姿勢を変更する、
ことを特徴とする請求項１に記載のロボット装置。
【請求項６】
前記双腕を用いて把持している物体の落下を検出する落下検出手段をさらに備える、
ことを特徴とする請求項１に記載のロボット装置。
【請求項７】
前記双腕の手首部に６軸力センサが設けられており、
前記落下検出手段は、物体を把持した直後の当該センサの出力値を記憶しておき、該センサの出力値が把持直後よりも下回ることにより把持物体の落下を検出する、
ことを特徴とする請求項６に記載のロボット装置。
【請求項８】
前記落下検出手段は、前記物体認識手段により認識される物体位置が前記双腕の掌から大きくずれたとき、又は観察できなくなったときに、把持物体の落下を検出する、
ことを特徴とする請求項６に記載のロボット装置。
【請求項９】
前記落下検出手段は、手首部の６軸センサのＹ軸方向の値が閾値以下となったときには、さらにＹ軸の値が低下する直前にＸ方向又はＺ方向に大きな力が加わったかどうかをチェックし、特に大きな力が加わっていないときには把持物体が下方へ落下したと推定し、掌が物体を把持する方向とは異なる向きに大きな力が加わった場合には把持物体が無理矢理落とされた可能性があると判断する、
ことを特徴とする請求項７に記載のロボット装置。
【請求項１０】
前記制御部は、把持物体を所望の設置場所に設置する際に、前記落下検出手段を用いて双腕把持状態の解除を確認する、
ことを特徴とする請求項６に記載のロボット装置。
【請求項１１】
体幹、及び可動脚の自由度をさらに備え、
前記制御部は、把持対象物体の位置及び姿勢を変更しながら運搬する際に、
まず、前記双腕のみを用いてインバースキネマティクス演算を行なって所望する物体の位置及び姿勢を得ることができる解を検索し、
前記双腕のみによる解が見つからなかったときに、続いて、前記双腕に前記体幹の自由度を加えてインバースキネマティクス演算を行なって所望する物体の位置及び姿勢を得ることができる解を検索し、
解が見つからなかったときに、さらに脚部に自由度を加えてインバースキネマティクス演算を行なって所望する物体の位置及び姿勢を得ることができる解を検索する、
ことを特徴とする請求項１に記載のロボット装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の関節自由度を持つロボット装置に係り、特に、可動脚とともに双腕を備えたロボット装置に関する。
【０００２】
さらに詳しくは、本発明は、双腕を用いた物体の把持や運搬を行なうロボット装置に係り、特に、移動や運搬の対象となる物体の位置や姿勢を考慮しながら双腕を用いて把持するロボット装置に関する。
【背景技術】
【０００３】
従来のロボットは、６軸のマニピュレータに代表されるように、主な用途は、産業活動・生産活動などにおける各種の人的作業の代行や支援であった。この場合のロボットは、工場などの構造化された環境内で動作することを前提としており、人や環境との複雑な物理的インタラクションは基本的に行なわない。
【０００４】
これに対し、最近では、パートナー型、すなわち人間との「共生」あるいは「エンターティンメント」という用途が注目されてきている。この種のロボットは、環境やものだけでなく、人と接するなど、高度な物理インタラクション能力を備えていることが望まれる。パートナー型ロボットは、６軸マニピュレータなどのように所定の場所に固定されるのではなく、自律的に移動してさまざまなサービスを提供する、いわゆる移動ロボットが一般的である。パートナー型ロボットの代表例はヒューマノイドである。例えば、可動脚からなる移動手段を備え、接地・無接地間を遷移する安定な運動パターンを実時間で生成することができるロボット装置について提案がなされている（例えば、特許文献１を参照のこと）。
【０００５】
ヒューマノイドは、四肢を活用して、人や環境とのさまざまな物理的インタラクションが可能である。例えば、左右の可動脚による単脚支持期及び両脚支持期を交互に繰り返すことによって、歩行や走行といった移動作業を行なうことができる。脚式移動によれば、クローラ式ロボットに比し不安定で姿勢制御や歩行制御が難しくなるが、階段の昇降や障害物の乗り越えなど、柔軟な歩行・走行動作を実現できるという点で優れている。最近、脚式移動ロボットの構造やその安定歩行制御に関する研究開発が進展し、実用化への期待も高まってきている。
【０００６】
また、ヒューマノイドは、手や腕を用いて物体を把持することができ、さらに脚式動作と組み合わせて物体の運搬を行なうことができる。
【０００７】
単腕のマニピュレータの手先に設けられた複数本の指を用いて物体を把持することができる。例えば、関節を持ちほぼ平行に配置された２本以上の人差し指、中指、環指、小指と、それらの指と対向するように配置された拇指と、拇指を除く２本以上の指の関節を屈曲させるために牽引される可撓部材からなり、１個の駆動源から発生する動力を１個以上の動滑車を介して２本以上の可撓部材に伝達し、その各々の可撓部材を牽引することにより２本以上の指に把持力が発生するように構成される多指可動ロボットハンドは、２本以上の指と拇指を異径物を含む把持対象物に接触させて把持動作を行なうことが可能である（例えば、特許文献２を参照のこと）。
【０００８】
これに対し、ロボットの双腕を用いれば、単腕では手首関節部分に過大なトルクが掛かるような長大で重量のある物体を把持し運搬することが可能になる。
【０００９】
例えば、双腕協調を行なうロボットについて提案がなされている（例えば、特許文献３を参照のこと）。この双腕ロボットでは、マスターアームＭに教示点データを教示し、該データから補間計算により通過点を決定し、マスターアームが移動すべき通過点データをスレーブアームＳに送信し、該送信されたデータと両アームの相対的な位置・姿勢関係を表すデータとに基づいてスレーブアームＳの移動すべき点を決定し、各アームを各々移動すべき点に同期的に移動させるようにし、補間計算によるマスターアームＭの移動すべき点の決定、該点のデータの送信、スレーブアームＳが移動すべき点の計算、両アームの移動という行程を繰返し実行することで両アームが目標点協調動作を続けて、物品の把持・運搬等の作業を行なうようになっている。
【００１０】
また、左右の腕の手先を用いて物体の両端付近を把持すれば、把持状態をそれほど堅固なものにする必要がなく、手部の構造を簡略化することもできる。例えば、手部の指先部を装着して、２足歩行しながら人間と協働して物品を運搬する歩行型ロボットについて提案がなされている（例えば、特許文献４を参照のこと）。
【００１１】
しかしながら、左右の腕を用いて物体を運搬する双腕ロボットの多くは、左右の手部の掌部分に物体の両端付近を載せて運搬するものが多い。このような場合、移動先で物体を降ろす際に、物体を置くときの設置面と掌で掴む接触面が同じになることから、把持中の物体を解放する作業において、指を挟む、あるいは指の高さ分だけ物体を落下させることになり、問題となる。また、物体を把持する際には、あらかじめ物体の底面に指先を挿入するだけのギャップがあることを前提にしなければならない。
【００１２】
また、人間の骨格に比べて、ロボットの関節自由度は制約が多い。物体を最初に掴んだときから同じ高さで移動やその他の作業を行なうには問題ないが、床に置かれている物体を持ち上げて高い場所に設置するには、十分な関節自由度が備わっているとは言い難い。
【００１３】
【特許文献１】特開２００４−１６７６７６号公報
【特許文献２】特開２００３−１４５４７４号公報
【特許文献３】特開平６−７１５８０号公報
【特許文献４】特開２００５−１３１７１８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
本発明の目的は、可動脚とともに双腕を備えた、優れたロボット装置を提供することにある。
【００１５】
本発明のさらなる目的は、双腕を協働的に用いることにより長大で重量のある物体の把持や運搬を好適に行なうことができる、優れたロボット装置を提供することにある。
【００１６】
本発明のさらなる目的は、移動や運搬の対象となる物体の位置や姿勢を考慮しながら双腕を用いて好適に把持することができる、優れたロボット装置を提供することにある。
【課題を解決するための手段】
【００１７】
本発明は、上記課題を参酌してなされたものであり、少なくとも胴体と、前記胴体に連結された左右の双腕と、前記双腕を含む各部の関節駆動を制御する制御部を備えたロボット装置であって、前記双腕は、肩部のロール、ピッチ、ヨーの各軸回りの関節自由度と、肘部のピッチ軸回りの関節自由度と、手首のロール及びヨーの各軸回りの関節自由度と、手先に近い部位に設けられたピッチ軸回りの自由度を持つ最先端ピッチ軸関節を備えることを特徴とするロボット装置である。
【００１８】
パートナー型ロボットの代表例であるヒューマノイドは、可動脚からなる移動手段や腕を備えており、物体を把持して所望の設置場所に運搬・移動するといったアプリケーションが考えられる。特に、ロボットの双腕を用いれば、単腕では手首関節部分に過大なトルクが掛かるような長大で重量のある物体を把持し運搬することが可能になる。しかしながら、従来の双腕ロボットの多くは、左右の手部の掌部分に物体の両端付近を載せて運搬するものが多い。このような場合、移動した先で物体を降ろす際に、物体を置くときの設置面と掌で掴む接触面が同じになることから、把持中の物体を解放する作業において、指を挟む、あるいは指の高さ分だけ物体を落下させることになり、問題である。
【００１９】
これに対し、本発明に係るロボット装置は、物体の左右の対向する側面を把持面にして双腕で挟持するという持ち方をすることができるので、床面から持ち上げ易く、且つ設置面を開放していることから、設置場所で物体の把持状態を解除し易い（すなわち置き易い）。
【００２０】
このような持ち方をするためには、ロボット装置は、ステレオ・カメラなどの撮像画像から把持対象物体を画像認識して、双腕それぞれの最先端ピッチ軸関節のピッチ軸がほぼ一直線上にあり、且つ該直線上に把持対象物体の重心が来るようにして、前記双腕を把持対象物体の幅を徐々に狭めて手部で挟み込むようにして把持するようにすればよい。
【００２１】
例えば、最先端ピッチ軸が掌内に設けられている場合、双腕で物体を把持している期間中における物体の位置姿勢変更要求に応じて、腕部のその他の関節を固定させたまま、最先端ピッチ軸のみを駆動して、把持物体の姿勢を変更することができる。すなわち、左右の掌ピッチ軸が１直線上となるように物体を把持すれば、掌ピッチ軸の回転駆動のみによって、あたかも物体が回転軸を持つかのように姿勢が変化するので、腕部の他の６軸を姿勢制御することなく把持物体の姿勢を変更することができる。また、腕部最先端のピッチ軸をエンドエフェクタとしての掌の内側に設けることにより、把持物体の重心位置と回転軸を一致させ易くなり安定した把持が可能になる。
【００２２】
また、要求されている把持物体の位置姿勢変更を行なうと、最先端ピッチ軸の可動域を外れ又は自己干渉を生じることが想定される。このような場合には、前記最先端ピッチ軸を現在位置に保ちながら、要求されている把持物体の位置姿勢を得るための腕部のその他の関節についてのインバースキネマティクス解を求めることにより対処することができる。
【００２３】
あるいは、最先端ピッチ軸のみを駆動するのではなく、双腕で物体を把持している期間中における物体の移動要求に応じて、最先端ピッチ軸を冗長軸として、腕部の他の関節自由度を用いて把持物体の姿勢維持しながら移動するという双腕把持動作を行なうこともできる。
【００２４】
このような場合、腕部の前記冗長軸以外の各関節のインバースキネマティクス解の余裕が最大となるように冗長軸の位置を決定することが好ましい。これによって、物体の運搬・移動の途中でインバースキネマティクス演算の求解が困難になりにくい（すなわち動作が破綻しにくい）双腕動作を実現することができる。
【００２５】
上述したように、本発明に係るロボット装置は、双腕の最先端ピッチ軸のみを駆動して把持物体の姿勢を変更したり、あるいは最先端ピッチ軸を冗長軸として用いて、物体の姿勢を維持した運搬・移動を行なったりすることができる。そして、物体の設置場所の高さ若しくは奥行きの方向によっては、把持直前の接地面で物体を置くことが困難なこともあるが、設置が可能な設置面となるように最先端ピッチ軸の回転駆動により該把持物体の姿勢を適宜変更することにより、把持状態を解除することができる。
【００２６】
また、ロボット装置は、最先端ピッチ軸を用いてさまざまな方法で双腕を用いて把持することができることから、床面にある物体を双腕で把持する際に、該物体の設置場所の高さ若しくは奥行きの方向に応じて決定される設置面を得易くなるような手先の姿勢となるように最先端ピッチ軸を回転駆動させてから、物体の把持を行なうようにしてもよい。
【００２７】
また、本発明に係るロボット装置は、双腕を用いて把持している物体の落下を検出する落下検出手段をさらに備えることができる。
【００２８】
例えば、双腕の掌に設けられたタッチ・センサのオン／オフに基づいて把持物体の落下を検出することができる。
【００２９】
また、双腕の手首部に６軸力センサを設け、物体を把持した直後の当該センサの出力値を記憶しておき、センサ出力値が把持直後よりも下回ることにより把持物体の落下を検出することができる。手首部の６軸センサのＹ軸方向の値が閾値以下となったときには、さらにＹ軸の値が低下する直前にＸ方向又はＺ方向に大きな力が加わったかどうかをチェックし、特に大きな力が加わっていないときには把持物体が下方へ落下したと推定し、掌が物体を把持する方向とは異なる向きに大きな力が加わった場合には把持物体が無理矢理落とされた可能性があると判断することができる。
【００３０】
また、双腕のポテンションから計算される関節角度から両掌の間隔を得て、把持対象物体のモデル情報から得られる幅に対し掌の間隔が小さくなったときに把持物体の落下を検出することができる。
【００３１】
また、ステレオ・カメラの撮像画像により認識される物体位置が双腕の掌から大きくずれたとき、又は観察できなくなったときに、把持物体の落下を検出することができる。
【００３２】
また、可動脚を備え、ＺＭＰを姿勢安定制御の規範に用いるロボット装置の場合、接地面において床面から受ける加重を検出する足底センサが取り付けられている。物体を把持した直後に足底センサから得られる加重を保持しておき、把持中に計測される加重から計算される値が一定値を下回ったときに、把持物体の落下を検出することができる。
【００３３】
また、ロボット装置が音声認識などの目的で指向性が調整された複数のマイクを備えている場合、ロボットの腕部の下方から大きな音が感知されると、落下の可能性があると認識することができる。
【００３４】
また、ロボット装置は、把持物体の落下が検出されたことに応答して、落下した物体を床面で探索するといった所定の対処処理を起動するようにしてもよい。
【００３５】
また、ロボット装置は、把持物体を所望の設置場所に設置する際に、上述したような落下検出手段を用いて双腕把持状態の解除を確認することができる。
【００３６】
また、ロボット装置が体幹、及び可動脚の自由度をさらに備え、双腕を含めた全身協調動作によって物体の運搬・移動を行なうことができる。この場合には、まず、双腕のみを用いてインバースキネマティクス演算を行なって所望する物体の位置及び姿勢を得ることができる解を検索する。そして、双腕のみによる解が見つからなかったときに、続いて、双腕に前記体幹の自由度を加えてインバースキネマティクス演算を行なって所望する物体の位置及び姿勢を得ることができる解を検索する。この場合も解が見つからなかったときに、さらに脚部に自由度を加えてインバースキネマティクス演算を行なって所望する物体の位置及び姿勢を得ることができる解を検索するようにする。
【００３７】
このような処理手順によれば、双腕のみを使って次の物体の位置及び姿勢が得られるときには双腕のみで解を求めるといった具合に、使用する自由度数を可能な限り抑えることで、双腕を用いて物体を積み上げるといった所望のモーションをより低コストで実現することができる。
【発明の効果】
【００３８】
本発明によれば、双腕を協働的に用いることにより長大で重量のある物体の把持や運搬を好適に行なうことができる、優れたロボット装置を提供することができる。
【００３９】
また、本発明によれば、移動や運搬の対象となる物体の位置や姿勢を考慮しながら双腕を用いて好適に把持することができる、優れたロボット装置を提供することができる。
【００４０】
また、本発明によれば、双腕を用いて、単腕では手首関節部分に過大なトルクが掛かるような長大で重量のある物体を把持し運搬することができる、優れたロボット装置を提供することができる。
【００４１】
また、本発明によれば、双腕を用いて物体を把持するとともに、把持前から物体の設置面を適宜変更しながら物体を放すことにより、双腕、体幹や腰の高さの自由度の制限に拘わらず、広い範囲で物体の運搬や移動を行なうことができる、優れたロボット装置を提供することができる。
【００４２】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【発明を実施するための最良の形態】
【００４３】
以下、図面を参照しながら本発明の実施形態について詳解する。
【００４４】
ロボット装置の構成：
図１には、本発明の一実施形態に係るロボット装置の外観構成を示している。図示のロボット装置は、いわゆる人間型ロボットであり、骨盤部には、移動手段としての２肢の脚体と、腰関節を介して上体が接続されている。上体には、２肢の腕部と、首関節を介して頭部が接続されている。
【００４５】
左右の脚体は、それぞれ股関節３自由度と、膝関節１自由度と、足首関節２自由度の、計６自由度を備えている。また、左右の腕部は、それぞれ肩関節３自由度と、肘関節１自由度と、手首関節２自由度及び掌関節１自由度（若しくは手首関節３自由度）の、計７自由度を備えている。首関節及び腰関節は、ともにＸ、Ｙ、Ｚ軸回りに３自由度を有するとする。また、手先に取り付けられた指部も関節自由度を持つが、本発明の要旨には直接関連しないので、以下では説明を省略する。
【００４６】
図２には、図１に示したロボット装置における、各部の関節駆動用のアクチュエータ間を接続する結線トポロジの構成例を示している。また、図３には、図１に示したロボット装置の関節自由度モデルを示している。
【００４７】
ロボット装置は、胴体部に、３軸の腰関節アクチュエータａ１、ａ２、ａ３、及び３軸の首関節アクチュエータａ１６、ａ１７、ａ１８を持ち、これらは制御ユニットに対しシリアル接続されている。各関節アクチュエータは、シリアル・ケーブルを通じて、その位置制御目標値を受け取るとともに、現在の出力トルクや、関節角度、関節角速度を制御ユニットに送信する。
【００４８】
また、ロボット装置は、左腕部に、３軸の肩関節アクチュエータａ４、ａ５、ａ６、１軸の肘関節アクチュエータａ７、２軸の手首関節アクチュエータａ８、ａ９、及び１軸の掌関節アクチュエータａ３１を持ち、これらは制御ユニットに対しシリアル接続されている。同様に、右腕部には、３軸の肩関節アクチュエータａ１０、ａ１１、ａ１２、１軸の肘関節アクチュエータａ１３、２軸の手首関節アクチュエータａ１４、ａ１５、及び１軸の掌関節アクチュエータａ３２を持ち、これらは制御ユニットに対しシリアル接続されている。
【００４９】
また、ロボット装置は、左脚部に、３軸の股関節アクチュエータａ１９、ａ２０、ａ２１、１軸の膝関節アクチュエータａ２２、及び２軸の足首関節アクチュエータａ２３、ａ２４を持ち、これらは制御ユニットに対しシリアル接続されている。同様に、右脚部には、３軸の肩関節アクチュエータａ２５、ａ２６、ａ２７、１軸の肘関節アクチュエータａ２８、及び２軸の足首関節アクチュエータａ２９、ａ３０を持ち、これらは制御ユニットに対しシリアル接続されている。
【００５０】
各関節で使用されるアクチュエータａ１〜ａ３０は、例えばＤＣブラシレス・モータと減速機、並びに減速機の出力軸の回転位置を検出する位置センサで構成され、外部から与えられた位置制御目標値に従って回転駆動するとともに、現在の出力トルクや、関節角度、関節角速度を出力する。この種の関節アクチュエータについては、例えば本出願人に既に譲渡されている特開２００４−１８１６１３号公報に記載されている。
【００５１】
図３から分るように、２足歩行の移動ロボットを、骨盤Ｂを基底とする開リンク木構造として表現することができる。移動ロボットの場合、ロボットがワールド空間中を自由に移動し、姿勢を変化させることができる。したがって、ロボット全体の状態を表すための状態変数として、骨盤Ｂのオイラー角α＝（α，β，γ）Tとその位置ｐ0（ｐ0x，ｐ0y，ｐ0z）Tを導入する。すると、ロボットは複数の剛体が連なって構成されるリンク構造物として扱うことができるので、ロボットの運動方程式は、下式（１）のような形で表現することができる。
【００５２】
【数１】
0004774964.tif 000002
【００５３】
ここで、ｑはロボット全体の一般化変数であり、ロボットの運動状態としてのベースの姿勢α及び位置ｐ0を並べたベクトルと、アクチュエータの現在状態としての全関節値を並べてできるベクトルθで構成される。すなわち、ｑは、リンク構造物としてのロボットの力学モデルに相当し、下式（２）のような形で表現される。
【００５４】
【数２】
0004774964.tif 000003
【００５５】
また、上式（１）中で、τは、一般化変数ｑに対応した一般化力であり、αとｐ0に対応する成分は（力を発生するアクチュエータが存在しないため）０となり、θに対応する成分は各関節部を駆動するアクチュエータの発生力に等しい。Ｈは、ロボット全体の慣性行列、ｂは重力やコリオリ力などを表す。ｆは外力である。Ｊは、外力作用方向に発生する速度と、一般化変数ｑの時間微分である一般化速度とを対応付けるヤコビアンであり、下式（３）の通りとなる。
【００５６】
【数３】
0004774964.tif 000004
【００５７】
図４には、ロボット装置の可動脚による歩行や双腕を用いた物体の把持や運搬などの全身協調動作を実現するための制御システム構成を模式的に示している。同図に示すように、ロボット装置１は、各関節アクチュエータの駆動の統括的制御やその他のデータ処理を行なう制御ユニット２０と、入出力部４０と、駆動部５０と、電源部６０とで構成される。以下、各部について説明する。
【００５８】
入出力部４０は、入力部としてロボット装置１の目に相当するカメラ１５や、耳に相当するマイクロフォン１６、頭部や背中などの部位に配設されてユーザの接触を感知するタッチ・センサ１８、あるいは五感に相当するその他の各種のセンサを含む。また、出力部として、口に相当するスピーカ１７、あるいは点滅の組み合わせや点灯のタイミングにより顔の表情を形成するＬＥＤインジケータ（目ランプ）１９などを装備している。これら出力部は、音声やランプの点滅など、脚などによる機械運動パターン以外の形式でもロボット装置１からのユーザ・フィードバックを表現することができる。また、７個のマイクロフォンを、指向性を調整して頭部に搭載することにより、音源方向を検知することができる。
【００５９】
ここで、カメラ１５は、所定の位置関係に保たれた異なる視点（投影中心）を持つ２台のカメラによりステレオ・カメラを構成し、撮像画像中の各点と投影中心との距離を３角測量の原理により測定することができる。
【００６０】
駆動部５０は、制御部２０が指令する所定の運動パターンに従ってロボット装置１の機体動作を実現する機能ブロックであり、モーション実行時の制御対象である。駆動部５０は、ロボット装置１の各関節における自由度を実現するための機能モジュールであり、それぞれの関節におけるロール、ピッチ、ヨーなど軸毎に設けられた複数の駆動ユニットで構成される。各駆動ユニットは、所定軸回りの回転動作を行なうモータ５１並びに減速機（図示しない）と、モータ５１の回転位置を検出するエンコーダ５２と、エンコーダ５２の出力に基づいてモータ５１の回転位置や回転速度を適応的に制御するドライバ５３の組み合わせで構成される。
【００６１】
電源部６０は、ロボット装置１内の各電気回路などに対して給電を行なう機能モジュールである。充電バッテリ６１は、例えば、複数本のリチウムイオン２次電池セルをカートリッジ式にパッケージ化した「バッテリ・パック」の形態で構成される。充放電制御部６２は、バッテリ６１の端子電圧や充電／放電電流量、バッテリ６１の周囲温度などを測定することでバッテリ６１の残存容量を把握し、充電の開始時期や終了時期などを決定する。充放電制御部６２が決定する充電の開始及び終了時期は制御ユニット２０に通知され、ロボット装置１が充電オペレーションを開始及び終了するためのトリガとなる。
【００６２】
制御ユニット２０は、「頭脳」に相当し、例えばロボット装置１の機体頭部あるいは胴体部に搭載されている。図５には、制御ユニット２０の構成をさらに詳細に図解している。同図に示すように、制御ユニット２０は、メイン・コントローラとしてのＣＰＵ２１が、メモリやその他の各回路コンポーネントや周辺機器とバス接続された構成となっている。バス２７は、データ・バス、アドレス・バス、コントロール・バスなどを含む共通信号伝送路である。バス２７上の各装置にはそれぞれに固有のアドレス（メモリ・アドレス又はＩ／Ｏアドレス）が割り当てられている。ＣＰＵ２１は、アドレスを指定することによってバス２８上の特定の装置と通信することができる。
【００６３】
ＲＡＭ２２は、ＤＲＡＭなどの揮発性メモリで構成された書き込み可能メモリであり、ＣＰＵ２１が実行するプログラム・コードをロードしたり、実行プログラムによる作業データの一時的な保存したりするために使用される。ＲＯＭ２３は、プログラムやデータを恒久的に格納する読み出し専用メモリである。ＲＯＭ２３に格納されるプログラム・コードには、ロボット装置１の電源投入時に実行する自己診断テスト・プログラムや、ロボット装置１の動作を規定する動作制御プログラムなどが挙げられる。不揮発性メモリ２４は、例えばＥＥＰＲＯＭのように電気的に消去再書き込みが可能なメモリ素子で構成され、暗号鍵やその他のセキュリティ情報、出荷後にインストールすべき装置制御プログラムなど、逐次更新すべきデータを不揮発的に保持するために使用される。
【００６４】
インターフェース２５は、制御ユニット２０外の機器と相互接続し、データ交換を可能にするための装置である。インターフェース２５は、例えば、カメラ１５やマイクロフォン１６、スピーカ１７との間でデータ入出力を行なう。また、インターフェース２５は、駆動部５０内の各ドライバ５３−１…との間でデータやコマンドの入出力を行なう。
【００６５】
また、インターフェース２５は、ＲＳ−２３２Ｃなどのシリアル・インターフェース、ＩＥＥＥ１２８４などのパラレル・インターフェース、ＵＳＢインターフェース、ＩＥＥＥ１３９４インターフェース、ＳＣＳＩインターフェース、ＰＣカードやメモリ・スティックを受容するカード・スロットなどのような、コンピュータの周辺機器接続用の汎用インターフェースを備え、ローカル接続された外部機器との間でプログラムやデータの移動を行なうようにしてもよい。
【００６６】
さらに、制御ユニット２０は、無線通信インターフェース２６やネットワーク・インターフェース・カード２７などを含み、Ｂｌｕｅｔｏｏｔｈのような近接無線データ通信や、ＩＥＥＥ８０２．１１ｂのような無線ネットワーク、あるいはインターネットなどの広域ネットワークを経由して、外部ホスト装置とデータ通信を行なうことができる。
【００６７】
双腕の自由度構成：
図６には、図１に示したロボット装置の右腕部の自由度構成を具体的に示している。双腕は左右対称なので、ここでは左腕部の自由度構成の図示を省略する。
【００６８】
肩部は、ロール、ピッチ、ヨーの各軸回りに回動する関節自由度を持ち、それぞれについて対応する肩関節アクチュエータａ１０、ａ１１、ａ１２が配設されている。また、肘部はピッチ軸回りに回動する肘ピッチ軸回転自由度を持ち、これに対応する肘ピッチ軸関節アクチュエータａ１３が配設されている。また、手首部には、ロール、ヨーの各軸回りに回動する関節自由度を持ち、それぞれについて対応する手首関節アクチュエータａ１４及びａ１５が配設されている。また、掌は手部に対してピッチ軸回りに回動する関節自由度を持ち、これに対応する掌関節ピッチ軸アクチュエータａ３２が配設されている。掌関節は、腕部の最先端ピッチ軸自由度を構成する。
【００６９】
また、図７には、図１に示したロボット装置の右腕部の自由度構成の変形例を示している。図６との相違点は、手部は掌ではなく手首においてピッチ軸回りの関節自由度が与えられており、この場合、アクチュエータａ３２は掌関節ピッチ軸ではなく手首関節ピッチ軸の回転駆動に用いられる。手首関節は、腕分最先端ピッチ軸自由度を構成する。
【００７０】
ロボット装置の左右の腕部が、肩部のロール、ピッチ、ヨー軸関節、肘部のピッチ軸関節、手首のロール及びヨー軸関節の６軸に加え、図６に示したように、エンドエフェクタである掌にピッチ軸の関節自由度を備えることにより、双腕で物体を把持するというアプリケーションにおいて以下のような２通りの動作が実現可能となる。
【００７１】
（１）腕部の６軸を固定し、掌ピッチ軸のみの駆動による把持物体の姿勢変更。
（２）掌ピッチ軸を冗長軸とし、腕部の他の６軸自由度を用い、把持物体の姿勢を固定した移動・運搬。
【００７２】
掌ピッチ軸のみの駆動による把持物体の姿勢変更
図８〜図１０には、図１に示したロボット装置の双腕を、掌ピッチ軸以外の６軸を固定した状態で、手先が手首に対して、水平、下向き、上向きとなるように掌ピッチ軸を駆動させた様子をそれぞれ示している。
【００７３】
ここで、ロボット装置が、立方体の対向する一組の側面を左右それぞれの掌との接触面として、双腕で挟み込むようにして立方体を把持している場合、上記の動作を行なうと、図１１〜図１３に示すように、立方体は掌ピッチ軸を中心に回転する。すなわち、左右の掌ピッチ軸が１直線上となるように物体を把持すれば、掌ピッチ軸の回転駆動のみによって、あたかも物体が回転軸を持つかのように姿勢が変化するので、腕部の他の６軸を姿勢制御することなく把持物体の姿勢を変更することができる。
【００７４】
このとき、左右の掌ピッチ軸が一致する回転軸上若しくはその近傍に物体の重心が来るように把持を行なうようにすれば、物体の重心位置をほとんど変化させることなく、物体の姿勢を掌ピッチ軸の回転駆動のみにより変更することができる。
【００７５】
また、腕部最先端のピッチ軸を、図６に示すように掌の内側すなわちエンドエフェクタ内に設けることにより、把持物体の重心位置と回転軸を一致させ易くなり安定した把持が可能になる。
【００７６】
例えば、ｑ＝（ｑ１，ｑ２，ｑ３，ｑ４，ｑ５，ｑ６，ｑ７）という７軸の関節自由度を持つ腕部のエンドエフェクタ（手先）位置ｒを指定すると、各関節軸への回転指令はｒからインバースキネマティクス演算により求まる。ｑとｒの間には以下の式（４）に示す関係がある。但し、Ｊはヤコビアンである。
【００７７】
【数４】
0004774964.tif 000005
【００７８】
ｑ７をエンドエフェクタ内側のピッチ軸とすると、左右の掌ピッチ軸が一致する回転軸上若しくはその近傍に物体の重心が来るようにして一旦把持し、その後物体の姿勢のみを変更したい場合には、ｑ７のみの回転を行なえば済むので、インバースキネマティクス演算を繰り返す必要はない。
【００７９】
これに対し、図７に示したように腕部最先端のピッチ軸が手首などエンドエフェクタ外にある場合、あるいは最先端の関節軸がピッチ軸以外の方向を向いている場合には、図１１〜図１３に示したような把持物体の回転を行なうと、その回転とともにエンドエフェクタ位置が変化してしまう。このため、把持物体の姿勢のみを変更するには、腕部のインバースキネマティクス演算を解き直し、腕部全体の関節角度を変更する必要がある。
【００８０】
勿論、図６に示したように腕部最先端の自由度がエンドエフェクタ内側のピッチ軸である場合であっても、把持物体の姿勢を変更する際に当該ピッチ軸の可動範囲を外れるときには、腕部の他の６軸を用いて所望の位置・姿勢となるようにインバースキネマティクス演算を解き直せばよい。
【００８１】
図１４には、左右の掌ピッチ軸が一致する回転軸上若しくはその近傍に物体の重心が来るように物体を把持したときの、把持物体の姿勢を変更するための処理手順をフローチャートの形式で示している。
【００８２】
ロボット装置は、初期姿勢として、双腕の掌で、左右の掌ピッチ軸が１直線上となるように物体を把持しているとする。物体の位置・姿勢の変更要求がなければ、物体の現在位置及び姿勢を保持したまま待機する（ステップＳ８）。
【００８３】
ここで、物体の位置・姿勢の変更要求があると（ステップＳ１のＹｅｓ）、要求されている位置・姿勢を掌ピッチの回転駆動のみで実現可能かどうかを判別する（ステップＳ２）。
【００８４】
要求されている位置・姿勢を掌ピッチの回転駆動のみで実現可能であれば（ステップＳ２のＹｅｓ）、掌ピッチ軸を要求された回転量だけ変更する（ステップＳ３）。掌ピッチ軸のみの回転駆動は、他の６軸のインバースキネマティクス演算を行なう場合に比べ、計算コストの面で極めて有利である。
【００８５】
次いで、掌ピッチ軸が可動域内かどうかを判別し（ステップＳ４）、可動域内に収まっていれば、新しい関節角度として設定し（ステップＳ７）、ステップＳ１に戻る。
【００８６】
一方、要求されている位置・姿勢を掌ピッチの回転駆動のみで実現可能でないとき（ステップＳ２のＮｏ）、並びに、掌ピッチ軸を要求された回転量だけ変更すると可動域から外れるときには（ステップＳ４のＮｏ）、掌ピッチ軸は現在値を保持し、それ以外の６軸についてインバースキネマティクス演算により求解する（ステップＳ５）。
【００８７】
そして、得られた６軸の各関節が可動域内であるかどうか、及び腕部方の部位と衝突する自己干渉を生じないか、チェックを行なう（ステップＳ６）。６軸の関節が可動域内であり、且つ自己干渉を生じない場合には、新しい関節角度として設定し（ステップＳ７）、ステップＳ１に戻る。また、いずれかの関節軸が可動域を外れ、又は自己干渉を生じるときには、物体の現在位置及び姿勢を保持し（ステップＳ８）、ステップＳ１に戻る。
【００８８】
掌ピッチ軸を冗長軸とし、把持物体の姿勢を固定した移動・運搬
図１５〜図１６には、図１に示したロボット装置の双腕を、エンドエフェクタとしての手先の位置・姿勢を固定させたまま肩部から手首部までの６軸を変更させる様子を示している。
【００８９】
これは、把持した物体をある特定の位置及び姿勢にするために、第７軸となる最先端の掌ピッチ軸を備えることにより、肩部から手首部までの６軸が持つインバースキネマティクスの解空間が拡大したことを意味する。図４２に示すように、冗長軸を除く腕部の６軸のＩＫの解が冗長軸の可動範囲内であれば、７軸でのエンドエフェクタの姿勢を維持することができるから、冗長軸により６軸のＩＫの解空間が拡大されるという訳である。これにより、肩部から手首部までの６軸からなる腕部では、インバースキネマティクス演算で破壊が見つからない（若しくは所定回数の再帰演算では解が収束しない）場合であっても、第７軸の駆動により解を得易くなる。
【００９０】
例えば、ロボット装置が双腕で挟み込むようにして物体を把持し、その姿勢を維持しながら物体を持ち上げていくような場合、まず７軸のうちより少ない関節自由度数を用いてインバースキネマティクス演算を行ない、解の導出が困難になった時点で使用する関節自由度数を順次増やしていくことで、少ないコストで動作を実現することができる。また、把持物体（すなわちエンドエフェクタ）の同じ位置及び姿勢に関するインバースキネマティクスの解空間において、エンドエフェクタ（すなわち掌若しくは手首のピッチ軸）を冗長軸とし、それ以外の６軸のインバースキネマティクス解の余裕が最大となる（すなわち可動範囲に余裕がある）ように冗長軸の位置を決定することにより、物体の運搬・移動の途中でインバースキネマティクス演算の求解が困難になりにくい（すなわち動作が破綻しにくい）双腕動作を実現することができる。
【００９１】
図１７には、ロボット装置がインバースキネマティクス演算の解空間を最大化しながら双腕を用いて把持物体を運搬するための処理手順をフローチャートの形式で示している。以下では、ロボット装置は、両腕の最先端自由度として掌若しくは手首のピッチ軸回りの関節を持ち、且つこれが冗長軸に設定されているとする。
【００９２】
ロボット装置は物体を把持しており、物体の位置・姿勢の変更要求が発生したとする。この場合、物体の位置・姿勢を実現するために、双腕の位置・姿勢を変更する必要がある。
【００９３】
この場合、まず、冗長軸を動かさずに物体の位置・姿勢の変更を実現できる双腕のインバースキネマティクス解を得る（ステップＳ１１）。ここでは、説明の便宜上、インバースキネマティクス解が求まらない状況は想定しないことにする。
【００９４】
次いで、冗長軸以外の６軸について、その双腕姿勢において冗長軸をプラス方向へ動かした場合に、可動角リミットから遠のく関節群Ａとその逆の関節群Ｂに分ける（ステップＳ１２）。
【００９５】
ここで、他の６軸がすべてＡ群又はＢ群のみとなった場合（若しくは一方の関節群に集中した場合）には（ステップＳ１３）、次の物体の位置・姿勢変更指令次第では、関節軸が可動角リミットに到達し易く、動作が破綻する可能性が高くなる。そこで、Ａ群若しくはＢ群の関節のいずれかが他方の関節群となるように冗長軸を動かして、インバースキネマティクス演算の解空間の拡大を試みる（ステップＳ１４）。そして、把持物体の位置・姿勢が変更後の物体の位置・姿勢Ｐを維持できるような双腕のインバースキネマティクス解を得る。
【００９６】
次いで、Ａ群及びＢ群のそれぞれから、最も可動角リミットに近い関節を１つずつ選び（ステップＳ１５）、可動角リミットにより近いのはいずれであるかを判別する（ステップＳ１６）。
【００９７】
ここで、Ａ群の方が可動角リミットにより近い関節軸を持つ場合には、冗長軸をプラス方向に動かして、可動範囲をＡ群とＢ群とで均等化した後、把持物体の位置・姿勢が変更後の位置・姿勢Ｐを維持できるような双腕のインバースキネマティクス解を得て（ステップＳ１７）、ステップＳ１５に戻る。
【００９８】
また、Ｂ群の方が可動角リミットにより近い関節軸を持つ場合には、冗長軸をマイナス方向に動かして、可動範囲をＡ群とＢ群とで均等化した後、把持物体の位置・姿勢が変更後の位置・姿勢Ｐを維持できるような双腕のインバースキネマティクス解を得て（ステップＳ１８）、ステップＳ１５に戻る。
【００９９】
また、Ａ群とＢ群で、可動角リミットまでの余裕がほぼ均等である場合には、本処理ルーチン全体を終了する。
【０１００】
双腕を用いた物体の運搬
ここでは、散在する立方体をロボットが１つずつ持ち運んで、特定の回収場所に積み上げていくという具体例を採り上げて、ロボット装置の双腕を用いた物体の運搬作業について説明する。
【０１０１】
各立方体の表面にはそれぞれ別の色が塗られ、視覚的あるいはその他の手段でロボット装置は個々の立方体を識別可能であるとする。そして、物体の置き方、すなわち立方体を積み上げる順序はあらかじめ決められているものとする（図１８を参照のこと）。したがって、置く順番により、各立方体を積み上げる高さは異なる。
【０１０２】
図６並びに図７に示したように、ロボット装置の双腕がエンドエフェクタに近い部位にピッチ軸回りの関節自由度を備えている場合、床面に置かれている立方体に対し、さまざまな方法で双腕を用いて把持することができる（図１９を参照のこと）。また、立方体の底面ではなく、対向する１組の側面を接触面として挟持するので、床面から持ち上げ易く、且つ設置面を開放していることから、設置場所で置き易い。
【０１０３】
一方、置く順番により、積み上げるときの立方体の高さは相違するから（図２０を参照のこと）、指定された高さで置き易くなるような手先の位置を選んで、床面にあるそれぞれの立方体を把持する必要がある（図２１を参照のこと）。
【０１０４】
ある高さ若しくは奥行きの方向へ立方体を移動する場合は、把持する前すなわち床面上の立方体の底面をそのまま移動先での設置面とすることができる（図２２を参照のこと）。また、移動先での設置面が双腕だけでは到達できない高さや奥行きであっても、体幹の姿勢や腰の高さなどを加味し、全身を協調した運搬を行なうことで、立方体の移動は可能である。
【０１０５】
他方、双腕の動作で形成できる姿勢には限界があることから、より高い、あるいはより奥行き方向への遠い位置へ立方体を移動する場合には、把持する前すなわち床面上の立方体の底面をそのまま移動先での設置面とすることができなくなることがある（図２３を参照のこと）。また、体幹の姿勢や腰の高さなどを加味し、全身を強調した運搬を行なうとしても、立方体の移動には限界がある。
【０１０６】
本実施形態に係るロボット装置は、双腕がエンドエフェクタに近い部位にピッチ軸回りの関節自由度を備えているので、図１９に示したように、さまざまな方法で双腕を用いて把持することができるので、移動した先での設置面を考慮した移動を行なうことで、上記の問題を解決した移動・運搬を行なうことができる。
【０１０７】
立方体であれば、図２４に示すように、すべての側面Ｔ１〜Ｔ６を設置面にすることができる。双腕把持面を右面Ｔ５と左面Ｔ６とした場合、把持する直前では床面に接地していない前面Ｔ１を、エンドエフェクタに近い部位にピッチ軸回りの関節自由度を利用して、移動先では設置面となるように立方体の姿勢を変更することができる。この結果、設置面を変えないでは立方体を移動できないような高い位置であっても、図２５に示すように設置面の変更により移動が可能となる。
【０１０８】
図２６には、把持対象物体の許容姿勢を考慮した移動可能性の判断を行なうための処理手順をフローチャートの形式で示している。
【０１０９】
把持対象物体Ｔを位置Ｐ１からＰ２へ移動する際、まず、物体Ｔの位置Ｐ２における姿勢が指定されているかどうかをチェックする（ステップＳ２１）。
【０１１０】
物体Ｔの移動先の位置Ｐ２における姿勢が指定されていない場合には、物体Ｔの姿勢を変更せずに位置Ｐ１からＰ２へ移動することができるかどうかを、例えば位置Ｐ２における設置面の高さと双腕並びに体幹及び腰の高さの自由度を比較して、判断する（ステップＳ２２）。
【０１１１】
物体Ｔの姿勢を変更せずに位置Ｐ１からＰ２へ移動することができるときには、移動可能と判定して、本処理ルーチンを終了する。
【０１１２】
また、物体Ｔの姿勢を変更せずに位置Ｐ１からＰ２へ移動することができないときには、続いて、物体Ｔの位置Ｐ２における姿勢に、現在位置Ｐ１における姿勢以外の候補があるかどうかをチェックする（ステップＳ２３）。例えば、上述したように、物体Ｔの設置面を変更して位置Ｐ２におくことができるかどうかを判別する。物体Ｔの設置面を変更して位置Ｐ２におくことができるときには、その面を設置面とする姿勢を物体Ｔの姿勢候補として出力する。また、姿勢候補を決定することができないときには、移動不可能と判定して、本処理ルーチンを終了する。
【０１１３】
そして、物体Ｔについて位置Ｐ２であらかじめ指定されている姿勢、又はステップＳ２３で決定された姿勢候補によって物体Ｔを移動することができるかどうかをチェックする（ステップＳ２４）。指定された姿勢で移動することができる、若しくは姿勢候補の中に移動することができるものがあるときには、移動可能と判定して本処理ルーチン全体を終了する。また、指定された姿勢では移動できない、若しくは移動可能となる姿勢がないときには、移動不可能と判定して、本処理ルーチン全体を終了する。
【０１１４】
以下では、図２２並びに図２５に示したような、ロボット装置が物体の双腕把持、及び移動・運搬を行なうための動作について説明する。但し、その前提として、ロボット装置は、把持対象物体の積み方、把持対象物体の把持の仕方、把持対象物体のモデル情報、並びにロボット自体のモデル情報を把握しているものとする（図２７を参照のこと）。把持対象物体のモデル情報には、形状、大きさ、重さ、表面素材（摩擦係数）といった、把持対象物体について既知の情報が含まれる。また、ロボット自体のモデル情報には、双腕の７軸インバースキネマティクス解の範囲、体幹及び腰の高さの自由度に関する情報が含まれる。
【０１１５】
図２８には、ロボット装置が把持対象物体を把持していない状態から把持して歩行可能な状態になるまでの処理手順をフローチャートの形式で示している。
【０１１６】
まず、把持対象物体及び把持対象物体の積み先を、カメラ映像の画像認識などの方法により認識する（ステップＳ３１）。
【０１１７】
次いで、把持対象物体の積み方を探索する（ステップＳ３２）。把持対象物体を目的の位置姿勢へ積むために、以下のことを先に決定する。
【０１１８】
・把持対象物体のどこを把持するか。
・両掌をどのような姿勢で把持するか。
・どのくらいの把持圧で把持するか。
・取るときと置くときの体幹の姿勢及び腰の高さ。
【０１１９】
把持対象物体のどこを把持するかは、図２６に示した処理手順に従って決定することができる。
【０１２０】
次いで、把持対象物体へ正対するように、歩行しながら近づいて（ステップＳ３３）、把持対象物体を把持できる位置姿勢へ両掌を持っていける位置に立つ。
【０１２１】
次いで、双腕が把持対象物体を把持できる状況にする（ステップＳ３４）。具体的には、把持対象物体の接地状態とロボット自体の接地状態を考慮して、以下のような動作を行なう。ここでは、把持対象物体の接地状態やロボット装置自体の接地状態を考慮する。
【０１２２】
・把持対象物体の幅以上に両掌間を広げる。
・体幹を起こす（若しくは屈める）。
・腰を上げる（若しくは下げる）。
・指を開く。
・置き方を想定した把持ができる位置姿勢へ両掌を持っていく。
【０１２３】
次いで、把持対象物体を把持する（ステップＳ３５）。具体的には、前ステップＳ３４において双腕で把持対象物体を把持できる状況から、把持対象物体の幅まで両掌間を狭めていく。そして、把持対象物体の運搬（持ち上げ）に必要な把持圧が加わるまで、両掌を狭めるような双腕の動作制御を行なう。また、両掌の把持面が把持対象物体面へ密着するように微調整する。十分な把持圧に到達したら、指でロックする。
【０１２４】
次いで、把持状態継続処理を開始する（ステップＳ３６）。すなわち、双腕の動作や、脚部を用いた歩行などの他の動作制御と並行処理により、把持物体が両掌の間に固定させ続けるように、双腕の力制御若しくは各関節アクチュエータのゲイン制御を行なう。
【０１２５】
把持対象物体の把持とともに、当該把持物体の落下検出処理を開始し（ステップＳ３７）、並列処理にて、落下しないかを監視し続ける。落下の検知方法や、物体が落下したときの対処方法の詳細については、後述に譲る。
【０１２６】
また、把持物体を解放する（すなわち、所望の設置位置で手放す）までの間、並列処理にて、把持物体を把持できているかを確かめる（ステップＳ３８）。例えば、微小高さだけ（もし取り落としていても把持対象物体が大きく転がらない程度に）手先を持ち上げてみて、落下検出に引っかかったら、正しく把持できていないと判断する。
【０１２７】
そして、ロボット装置自体と把持対象物体の位置姿勢を、把持して歩行するのに支障がない状態にする。具体的には、ステップＳ３４において把持できる状況にするために変更した体幹や腰の位置姿勢を元に戻す、把持対象物体を状態へ引き戻すといった動作を行なう。
【０１２８】
また、把持対象物体を解放する（すなわち、所望の設置位置で手放す）までの間、物体の位置姿勢の変更要求があると、図１７に示した処理手順に従って、双腕のインバースキネマティクス演算の解空間が最大となるように動作する。
【０１２９】
ステップＳ３１では、ロボット装置の頭部に搭載されたステレオ・カメラの映像を画像処理することによって、把持対象物体を認識することができる。図２９には、その際の処理手順をフローチャートの形式で示している。但し、把持対象物体は立方体とし、そのモデル情報（図２７を参照のこと）は既知であるとする。
【０１３０】
把持対象物体の撮像画像が図３０である場合、まずカラー画像に対して色による閾値でラベリング処理を行なって、図３１に示すような、把持対象物体の領域が抽出されたラベリング画像を得る（ステップＳ４１）。
【０１３１】
そして、ラベリング画像に対して膨張及び収縮処理を施してノイズ除去した後（ステップＳ４２）、エッジ抽出処理を適用して、ラベリング画像のエッジ部分のみを抽出する（ステップＳ４３）。図３２には、図３１に示すラベリング画像から得られるエッジ画像を示している。
【０１３２】
次いで、エッジ画像に対してハフ変換（ステップＳ４４）と逆ハフ変換（ステップＳ４５）を施すことにより、エッジに関する直線検出を行なう。図３３には、図３２に示したエッジ画像から得られる直線を示している。
【０１３３】
次いで、得られた直線群の中から、有効線分を検索し（ステップＳ４６）、さらに既知立方体のモデル情報を加味して、有効線分や点の検出を行なう（ステップＳ４７）。図３４には、ハフ変換により得られた直線群から検出される立方体の頂点を示している。
【０１３４】
そして、有効な点とステレオ視の情報とのマッチングを行なうことで３次元情報を持つ点に変換し、３次元情報から立方体の位置と傾きを求める。有効線分上にない、エッジ画像内の頂点位置を、立方体のモデル情報に基づいて補間して、立方体として認識する（ステップＳ４８）。
【０１３５】
ステップＳ３３では、このような物体の認識結果を利用して、把持対象物体へ正対するように近づく。立方体を双腕で把持するためには、両掌で接触しようとする立方体の側面とそれぞれ平行になる必要がある。言い換えれば、ロボット装置の前面が立方体の１つの側面と対峙するように近づけば、その両端の側面が両掌に対しほぼ平行に向き合うことになる。
【０１３６】
図３５には、ロボット装置が立方体に近づく様子を示している。図示の例では、床面に対し直交する４つの側面Ａ〜ＤのうちＡが最もロボット装置に近いので、Ａに正対するように、歩行して立方体に近づく。これによって、Ａの両端となるＢ及びＤが両掌による把持面となる。
【０１３７】
また、ロボット装置は、双腕による双腕把持動作において、把持対象物体の把持とともに、ステップＳ３７において当該把持物体の落下検出処理を開始し、並列処理にて、落下しないかを監視し続ける。この落下検出処理のため、ロボット装置は、例えば以下に示すセンサのうち少なくとも１つ又は２以上の組み合わせを利用することができる。
【０１３８】
（１）掌のタッチ・センサ
（２）手首の６軸力センサ
（３）関節角
（４）カメラによる把持対象物体の観察映像の画像認識
（５）足底センサ
（６）音
【０１３９】
図３６に示すように掌に物体（外界）との接触が判るスイッチを設け、このスイッチのオン／オフ出力に基づいて落下検知を行なうことができる。把持物体が落下するとスイッチが解放され、スイッチはオフとなる。
【０１４０】
手首部に６軸力センサを設けて落下検出を行なう場合、ステップＳ３５において物体を把持した直後の当該センサの出力値を記憶しておく。そして、落下検出処理中に、センサ出力値が把持直後よりもｎ％（ｎは任意の閾値）を下回ると、両掌で十分な力で物体を挟持できていない、すなわち落下したと判断することができる。ここでは、６軸力センサ出力のうち、掌すなわち把持面に垂直な成分のみを使用するものとする。また、把持直後のセンサ値として、両掌のセンサ値の和を用いることで、物体の姿勢を変更した際の把持圧の相違を加味することができる。
【０１４１】
また、ロボット装置の双腕のポテンションから計算される関節角度から、両掌の間隔を得ることができる。把持対象物体のモデル情報から得られる幅に対し、掌の間隔が小さくなったときには、もはや物体を挟持していないと想定されることから、落下したと判断することができる。
【０１４２】
また、ロボット装置は、物体の把持動作を行なっている最中は、例えば定期的に、把持対象物体をカメラで観察するようにしてもよい。そして、画像認識により処理したときの物体位置が、両掌から大きくずれたときや、もはや観察できなくなったときには、物体が落下したと判断することができる。
【０１４３】
また、ロボット装置がＺＭＰ（Ｚｅｒｏ Ｍｏｍｅｎｔ Ｐｏｉｎｔ）を安定度判別規範として歩行やその他の立脚作業を行なう場合、足底接地点と路面の形成する支持多角形の内側にピッチ軸及びロール軸モーメントがゼロとなる点を求めるために、足底センサを設けることが多い。このような場合、物体を把持した直後に足底センサから得られる加重を保持しておき、把持中に計測される加重から計算される値が一定値を下回ったときには、もはや物体を指示していないことになるので、物体が落下したと判断することができる。
【０１４４】
また、図４にも示したように、本実施形態に係るロボット装置はマイクを備えている。例えば、指向性を調整して７個のマイクを頭部に搭載することにより、音源方向を検知することができる。この７個のマイクを用いて、ロボットの腕部の下方から大きな音が感知されると、落下の可能性があると認識することができる。但し、落下以外の原因も考えられることから、音の感知だけで物体の落下と断定することは難しく、例えば、音の鳴った方向をカメラ映像で観察するなど（図３７を参照のこと）、他のセンサ出力と組み合わせることが好ましい。
【０１４５】
図３８には、ロボット装置が上述したセンサ検出結果に基づいて落下検出を行なうための処理手順をフローチャートの形式で示している。
【０１４６】
掌の下方で大きな音が発生したとき（ステップＳ５１）、カメラ映像からは把持物体が掌位置に見えなくなったとき（ステップＳ５２）、足底センサにより計測される加重が閾値以下となったとき（ステップＳ５３）、双腕の関節角度から算出される掌の間隔が閾値以下となったとき（ステップＳ５４）、又は掌のタッチ・センサがオフとなったときには（ステップＳ５５）、両掌から物体が離れ、その下方に落下した（すなわち、通常の落下）と推定される（ステップＳ５８）。
【０１４７】
また、手首部の６軸センサのＹ軸方向（若しくは把持面と垂直の方向）の値が閾値以下となったときには（ステップＳ５６）、さらに、Ｙ軸の値が低下する直前にＸ方向又はＺ方向に大きな力が加わったかどうかをチェックする（ステップＳ５７）。ここで、特に大きな力が加わっていないときには、上述と同様に把持物体は下方へ落下した（すなわち、通常の落下）と推定することができる（ステップＳ５８）。これに対し、掌が物体を把持する方向とは異なる向きに大きな力が加わった場合には、把持物体は無理矢理落とされた可能性がある（ステップＳ５９）。
【０１４８】
このようにしてロボット装置が把持物体の落下を検知すると、続いてその対処処理を起動する。図３９には把持物体落下時の対処処理の手順をフローチャートの形式で示している。
【０１４９】
まず、検知された落下が通常の落下かどうかを判別する（ステップＳ６１）。通常の落下であれば、掌の下方を中心に地面上で落下した物体を探索する（ステップＳ６２）。また、通常の落下でない、すなわち把持物体が無理矢理落とされたときには、落下する直前に検知された、Ｚ軸及びＸ軸の力に基づいて落下方向、落下位置を推定し、その地点から物体の探索を開始する（ステップＳ６３）。
【０１５０】
そして、落下した物体を発見することができた場合には（ステップＳ６４のＹｅｓ）、ステップＳ３３〜Ｓ３５と同様の手順に従って、当該物体に接近して把持する（ステップＳ６５）。
【０１５１】
一方、推定された落下位置では物体を発見することができない場合には（ステップＳ６４のＮｏ）、地面全体にわたって物体の探索を行なう（ステップＳ６６）。
【０１５２】
ロボット装置は、図２８に示した処理手順に従って、立方体を双腕で把持して、歩行可能な状態をとると、続いて、把持した立方体を所定の設置位置まで運搬するための処理動作に移行する。運搬作業は、ロボット装置の全身協調運動により実現する。
【０１５３】
ロボット装置のモーション・データは、例えば、時系列的に並んだ姿勢データという形式で構成される。そして、インバースキネマティクス演算を実行して姿勢データから各関節の回転角、角速度、角加速度などを算出して、アクチュエータに指示値を送るという処理を所定の制御周期毎に繰り返すことによって、モーションが実現する。図４０には、ロボット装置が、全身協調動作により把持物体を運搬するための処理手順をフローチャートの形式で示している。この処理手順を制御周期毎に行なうことで、把持対象物体の位置及び姿勢を変更しながら運搬することができる。
【０１５４】
まず、双腕のみを用いてインバースキネマティクス演算を行ない、所望する物体の位置及び姿勢を得ることができる解を検索する（ステップＳ７１）。ここでは、図１７に示した処理手順に従って、双腕のインバースキネマティクス演算の解空間が最大となるような解を求める。
【０１５５】
そして、所望する物体の位置姿勢が得られたときには（ステップＳ７２）、当該制御周期の処理は成功したものとする。また、所望する物体の位置姿勢が得られないときには、双腕に体幹並びに腰部の自由度を加えて、インバースキネマティクス演算を行ない、所望する物体の位置及び姿勢を得ることができる解を検索する（ステップＳ７３）。
【０１５６】
そして、所望する物体の位置姿勢が得られたときには（ステップＳ７４）、当該制御周期の処理は成功したものとする。また、所望する物体の位置姿勢が得られないときには、双腕と体幹に腰（及び脚部）の自由度を加えて、インバースキネマティクス演算を行ない、所望する物体の位置及び姿勢を得ることができる解を検索する（ステップＳ７５）。
【０１５７】
そして、所望する物体の位置姿勢が得られたときには（ステップＳ７６）、当該制御周期の処理は成功したものとし、解が得られなかったときには当該制御周期は失敗した旨の値を返す。
【０１５８】
図４０に示した処理手順によれば、双腕のみを使って次の物体の位置及び姿勢が得られるときには双腕のみで解を求めるといった具合に、使用する自由度数を可能な限り抑えることで、より低コストで所望の物体積み上げモーションを実現するようになっている。
【０１５９】
そして、ロボット装置は、所望の設置位置まで立方体の運搬を行なうと、目標の位置へ立方体を積み上げて、立方体を解放し、積んだ場所から退避する。図４１には、ロボット装置が目的の位置へ物体を積み上げて作業を終えるまでの処理手順をフローチャートの形式で示している。
【０１６０】
まず、把持対象物体を積み上げ可能な高さ及び姿勢へ運搬（変更）する（ステップＳ８１）。具体的には、体幹を起こす（若しくは屈める）、腰を上げる（若しくは下げる）、把持対象物体の姿勢を積む姿勢へ変更する（図２５、図２６を参照のこと）、把持対象物体の位置を積める高さへと変更する、といった動作を行なう。ここで、高さは積む場所へ歩いて近づいたときに支障がない高さである。また、双腕の姿勢は、例えば図１７に示すようにインバースキネマティクス解空間の最大化処理を取り入れて、積むときに支障がない姿勢を選択するようにする。
【０１６１】
次いで、把持対象物体を所定の場所で積める位置まで歩く（ステップＳ８２）。
【０１６２】
次いで、把持対象物体の設置状態及びロボット装置自体の接地状態を考慮し、積む場所の上へ把持対象物体を微調整しながら運搬する（ステップＳ８３）。
【０１６３】
把持対象物体を積み終わると、双腕による把持状態を解除する（ステップＳ８４）。具体的には、ステップＳ３６で起動した把持状態継続処理を停止し、両掌の指を開くとともに、両掌間を把持対象物体の幅以上には広げる。
【０１６４】
そして、把持状態の解除を確認する（ステップＳ８５）。この確認処理には、掌タッチ・センサのオフなど、上述した把持物体の検出処理を適用することができる。すなわち、把持状態継続処理の停止後も、ステップＳ３７で起動した落下検出処理を継続しておくことで、把持対象物体が確実に双腕把持状態から解除されたことを検出することができる。
【０１６５】
次いで、物体を積んだ場所から退避する（ステップＳ８６）。このとき、積んである物体に影響がないように、双腕を対比させるとともに、積んである物体へ影響が内容に歩いてその場所から退避する。
【０１６６】
そして、ロボット装置を所定の姿勢に戻して（ステップＳ８７）、本処理ルーチン全体を終了する。
【産業上の利用可能性】
【０１６７】
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
【０１６８】
本発明の要旨は、必ずしも「ロボット」と称される製品には限定されない。すなわち、電気的若しくは磁気的な作用を用いて人間の双腕を用いた動作に似せた運動を行なう機械装置あるいはその他一般的な移動体装置であるならば、例えば玩具などのような他の産業分野に属する製品であっても、同様に本発明を適用することができる。
【０１６９】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【図面の簡単な説明】
【０１７０】
【図１】図１は、本発明の一実施形態に係るロボット装置の外観構成を示した図である。
【図２】図２は、図１に示したロボット装置における、各部の関節駆動用のアクチュエータ間を接続する結線トポロジの構成例を示した図である。
【図３】図３は、図１に示したロボット装置の自由度構成を示した図である。
【図４】図４は、ロボット装置の可動脚による歩行や双腕を用いた物体の把持や運搬などの全身協調動作を実現するための制御システム構成を模式的に示した図である。
【図５】図５は、制御ユニット２０の構成をさらに詳細に示した図である。
【図６】図６は、図１に示したロボット装置の右腕部の自由度構成を具体的に示した図である。
【図７】図７は、図１に示したロボット装置の右腕部の自由度構成の変形例を示した図である。
【図８Ａ】図８Ａは、図１に示したロボット装置の双腕を、掌ピッチ軸以外の６軸を固定した状態で、手先が手首に対して水平となるように掌ピッチ軸を駆動させた様子を示した図である。
【図８Ｂ】図８Ｂは、図１に示したロボット装置の双腕を、掌ピッチ軸以外の６軸を固定した状態で、手先が手首に対して水平となるように掌ピッチ軸を駆動させた様子を示した図である。
【図９Ａ】図９Ａは、図１に示したロボット装置の双腕を、掌ピッチ軸以外の６軸を固定した状態で、手先が手首に対して下向きとなるように掌ピッチ軸を駆動させた様子を示した図である。
【図９Ｂ】図９Ｂは、図１に示したロボット装置の双腕を、掌ピッチ軸以外の６軸を固定した状態で、手先が手首に対して下向きとなるように掌ピッチ軸を駆動させた様子を示した図である。
【図１０Ａ】図１０Ａは、図１に示したロボット装置の双腕を、掌ピッチ軸以外の６軸を固定した状態で、手先が手首に対して上向きとなるように掌ピッチ軸を駆動させた様子を示した図である。
【図１０Ｂ】図１０Ｂは、図１に示したロボット装置の双腕を、掌ピッチ軸以外の６軸を固定した状態で、手先が手首に対して上向きとなるように掌ピッチ軸を駆動させた様子を示した図である。
【図１１】図１１は、図１に示したロボット装置の双腕を、掌ピッチ軸以外の６軸を固定した状態で掌ピッチ軸を駆動させることにより、把持物体の姿勢を変更する様子を示した図である。
【図１２】図１２は、図１に示したロボット装置の双腕を、掌ピッチ軸以外の６軸を固定した状態で掌ピッチ軸を駆動させることにより、把持物体の姿勢を変更する様子を示した図である。
【図１３】図１３は、図１に示したロボット装置の双腕を、掌ピッチ軸以外の６軸を固定した状態で掌ピッチ軸を駆動させることにより、把持物体の姿勢を変更する様子を示した図である。
【図１４】図１４は、左右の掌ピッチ軸が一致する回転軸上若しくはその近傍に物体の重心が来るように物体を把持したときの、把持物体の姿勢を変更するための処理手順を示したフローチャートである。
【図１５Ａ】図１５Ａは、図１に示したロボット装置の双腕を、エンドエフェクタとしての手先の位置・姿勢を固定させたまま肩部から手首部までの６軸を変更させる様子を示した図である。
【図１５Ｂ】図１５Ｂは、図１に示したロボット装置の双腕を、エンドエフェクタとしての手先の位置・姿勢を固定させたまま肩部から手首部までの６軸を変更させる様子を示した図である。
【図１５Ｃ】図１５Ｃは、図１に示したロボット装置の双腕を、エンドエフェクタとしての手先の位置・姿勢を固定させたまま肩部から手首部までの６軸を変更させる様子を示した図である。
【図１５Ｄ】図１５Ｄは、図１に示したロボット装置の双腕を、エンドエフェクタとしての手先の位置・姿勢を固定させたまま肩部から手首部までの６軸を変更させる様子を示した図である。
【図１６Ａ】図１６Ａは、図１に示したロボット装置の双腕を、エンドエフェクタとしての手先の位置・姿勢を固定させたまま肩部から手首部までの６軸を変更させる様子を示した図である。
【図１６Ｂ】図１６Ｂは、図１に示したロボット装置の双腕を、エンドエフェクタとしての手先の位置・姿勢を固定させたまま肩部から手首部までの６軸を変更させる様子を示した図である。
【図１６Ｃ】図１６Ｃは、図１に示したロボット装置の双腕を、エンドエフェクタとしての手先の位置・姿勢を固定させたまま肩部から手首部までの６軸を変更させる様子を示した図である。
【図１６Ｄ】図１６Ｄは、図１に示したロボット装置の双腕を、エンドエフェクタとしての手先の位置・姿勢を固定させたまま肩部から手首部までの６軸を変更させる様子を示した図である。
【図１７】図１７は、ロボット装置がインバースキネマティクス演算の解空間を最大化しながら双腕を用いて把持物体を運搬するための処理手順を示したフローチャートである。
【図１８】図１８は、ロボット装置が複数の立方体を積み上げる手順を説明するための図である。
【図１９】図１９は、双腕がエンドエフェクタに近い部位にピッチ軸回りの関節自由度を備えているロボット装置が、床面におかれている立方体に対し、さまざまな方法で双腕を用いて把持する様子を示した図である。
【図２０】図２０は、置く順番により、積み上げるときの立方体の高さが相違する様子を示した図である。
【図２１】図２１は、指定された高さで置き易くなるような手先の位置を選んで、床面にあるそれぞれの立方体を把持する様子を示した図である。
【図２２】図２２は、ある高さ若しくは奥行きの方向へ立方体を移動する場合は、把持する前すなわち床面上の立方体の底面をそのまま移動先での設置面とすることを説明するための図である。
【図２３】図２３は、双腕の動作で形成できる姿勢の限界により、床面上の立方体の底面をそのまま移動先での設置面とすることができなくなる様子を示した図である。
【図２４】図２４は、立方体のすべての側面Ｔ１〜Ｔ６を設置面にできる様子を示した図である。
【図２５】図２５は、設置面の変更によりロボット装置が立方体の移動が可能となる様子を示した図である。
【図２６】図２６は、把持対象物体の許容姿勢を考慮した移動可能性の判断を行なうための処理手順を示したフローチャートである。
【図２７】図２７は、ロボット装置が物体の双腕把持、及び移動・運搬を行なう動作を行なう際に把握している情報を示した図である。
【図２８】図２８は、ロボット装置が把持対象物体を把持していない状態から把持して歩行可能な状態になるまでの処理手順を示したフローチャートである。
【図２９】図２９は、ロボット装置の頭部に搭載されたステレオ・カメラの映像を画像処理することによって、把持対象物体を認識する処理手順を示したフローチャートである。
【図３０】図３０は、把持対象物体の撮像画像を示した図である。
【図３１】図３１は、図３０に示した把持対象物体の撮像画像から得られたラベリング画像を示した図である。
【図３２】図３２は、図３１に示したラベリング画像から抽出されたエッジ画像を示した図である。
【図３３】図３３は、図３２に示したエッジ画像から得られる直線を示した図である。
【図３４】図３４は、直線群から検出される立方体の頂点を示した図である。
【図３５】図３５は、ロボット装置が立方体に近づく様子を示した図である。
【図３６】図３６は、掌に物体（外界）との接触が判るスイッチを設けた様子を示した図である。
【図３７】図３７は、ロボット装置が音のなった方向をカメラ映像で観察する様子を示した図である。
【図３８】図３８は、ロボット装置がセンサ検出結果に基づいて落下検出を行なうための処理手順を示したフローチャートである。
【図３９】図３９は、把持物体落下時の対処処理の手順を示したフローチャートである。
【図４０】図４０は、ロボット装置が全身協調動作により把持物体を運搬するための処理手順を示したフローチャートである。
【図４１】図４１は、ロボット装置が目的の位置へ物体を積み上げて作業を終えるまでの処理手順を示したフローチャートである。
【図４２】図４２は、冗長軸を除く腕部の６軸のＩＫの解が冗長軸の可動範囲内であれば、７軸でのエンドエフェクタの姿勢が維持される様子を示した図である。
【符号の説明】
【０１７１】
１…ロボット装置
１５…ＣＣＤカメラ
１６…マイクロフォン
１７…スピーカ
１８…タッチ・センサ
１９…ＬＥＤインジケータ
２０…制御部
２１…ＣＰＵ
２２…ＲＡＭ
２３…ＲＯＭ
２４…不揮発メモリ
２５…インターフェース
２６…無線通信インターフェース
２７…ネットワーク・インターフェース・カード
２８…バス
２９…キーボード
４０…入出力部
５０…駆動部
５１…モータ
５２…エンコーダ
５３…ドライバ
【図１】
0004774964.tif 000006
【図２】
0004774964.tif 000007
【図３】
0004774964.tif 000008
【図４】
0004774964.tif 000009
【図５】
0004774964.tif 000010
【図６】
0004774964.tif 000011
【図７】
0004774964.tif 000012
【図８Ａ】
0004774964.tif 000013
【図８Ｂ】
0004774964.tif 000014
【図９Ａ】
0004774964.tif 000015
【図９Ｂ】
0004774964.tif 000016
【図１０Ａ】
0004774964.tif 000017
【図１０Ｂ】
0004774964.tif 000018
【図１１】
0004774964.tif 000019
【図１２】
0004774964.tif 000020
【図１３】
0004774964.tif 000021
【図１４】
0004774964.tif 000022
【図１５Ａ】
0004774964.tif 000023
【図１５Ｂ】
0004774964.tif 000024
【図１５Ｃ】
0004774964.tif 000025
【図１５Ｄ】
0004774964.tif 000026
【図１６Ａ】
0004774964.tif 000027
【図１６Ｂ】
0004774964.tif 000028
【図１６Ｃ】
0004774964.tif 000029
【図１６Ｄ】
0004774964.tif 000030
【図１７】
0004774964.tif 000031
【図１８】
0004774964.tif 000032
【図１９】
0004774964.tif 000033
【図２０】
0004774964.tif 000034
【図２１】
0004774964.tif 000035
【図２２】
0004774964.tif 000036
【図２３】
0004774964.tif 000037
【図２４】
0004774964.tif 000038
【図２５】
0004774964.tif 000039
【図２６】
0004774964.tif 000040
【図２７】
0004774964.tif 000041
【図２８】
0004774964.tif 000042
【図２９】
0004774964.tif 000043
【図３０】
0004774964.tif 000044
【図３１】
0004774964.tif 000045
【図３２】
0004774964.tif 000046
【図３３】
0004774964.tif 000047
【図３４】
0004774964.tif 000048
【図３５】
0004774964.tif 000049
【図３６】
0004774964.tif 000050
【図３７】
0004774964.tif 000051
【図３８】
0004774964.tif 000052
【図３９】
0004774964.tif 000053
【図４０】
0004774964.tif 000054
【図４１】
0004774964.tif 000055
【図４２】
0004774964.tif 000056