(57)【要約】【課題】  ロボット装置内部で異常状態を検出した際に、ロボット装置内部で自律的に異常状態の対処を行なう。【解決手段】  ロボット装置は、さまざまな異常状態を検出するために、互いに独立して動作する複数の異常検出器を備える。異常状態の検出時には、思考制御又は行動制御を行なう上位制御系を介さず、自律的に異常状態の対処処理を行なうので、レスポンスが早い。また、異常状態の検出時には上位制御系からの指令をシャットダウンし、誤動作を防止する。２以上の異常状態が複合的に発生しても、各異常状態に設定されたプライオリティに従い整合性のとれた対処を行なう。【選択図】  図６
2006051564.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも複数の可動部を備えたロボット装置の動作制御装置であって、
前記可動部を駆動する駆動手段と、
前記可動部又は前記ロボット装置の状態を計測する計測手段と、
前記計測手段による計測結果に基づいて異常状態の検出並びに異常に対する対処処理を行なう複数の異常状態検出手段と、
前記複数の異常状態検出手段による異常検出並びに異常に対する対処処理を並行して動作させる異常状態管理手段と、
を具備することを特徴とするロボット装置の動作制御装置。
【請求項２】
前記異常状態管理手段は、前記複数の異常状態検出手段に対しそれぞれプライオリティを設定し、プライオリティに基づいて各異常状態検出手段を並行して動作させる、
ことを特徴とする請求項１に記載のロボット装置の動作制御装置。
【請求項３】
前記異常状態管理手段は、各異常状態検出手段の動作を有効又は無効にする設定、並びにプライオリティの設定を動的に行なう、
ことを特徴とする請求項１に記載のロボット装置の動作制御装置。
【請求項４】
前記ロボット装置は複数の姿勢をとることができ、
前記異常状態管理手段は、有効にすべき異常状態検出手段を姿勢毎に登録する、
ことを特徴とする請求項１に記載のロボット装置の動作制御装置。
【請求項５】
前記ロボット装置は少なくとも可動脚を備えた脚式移動ロボットで、少なくとも立ち姿勢と座り姿勢と寝姿勢を持ち、
前記異常状態管理手段は、
立ち姿勢において、「緊急停止」、「トルク・リミッタ検出」、「過電流保護」、「挟み込み防止」、「転倒制御」、「転倒回避制御」に関する各異常状態検出手段を登録し、
座り姿勢並びに寝姿勢において、「緊急停止」、「トルク・リミッタ検出」、「過電流保護」、「挟み込み防止」、「転がり検出」に関する各異常状態検出手段を登録する、
ことを特徴とする請求項４に記載のロボット装置の動作制御装置。
【請求項６】
前記ロボット装置は複数の動作モードをとることができ、
前記異常状態管理手段は、有効にすべき異常状態検出手段を動作モード毎に登録する、
ことを特徴とする請求項１に記載のロボット装置の動作制御装置。
【請求項７】
前記異常状態管理手段は、
ロボットの性能を最大限に引き出すためのＰｒｏ用モードでは、緊急停止、トルク・リミッタ検出、過電流検出など、前記ロボット装置の損傷を防ぐための最低限の異常状態検出手段のみを登録し、
機体の損傷を防ぐための機体保護モードでは、緊急停止、トルク・リミッタ検出、過電流検出などの機体動作に伴う損傷回避のための最低限の異常状態検出手段に加え、転倒検出並びに転倒回避に関する異常検出手段を登録し、
機体及びユーザともに安全な状態を保つための動作モードは、緊急停止、トルク・リミッタ検出、過電流検出など、機体動作に伴う損傷回避のための最低限の異常状態検出手段と、転倒検出、転倒回避など機体保護のための異常状態検出手段に加え、挟み込み防止などユーザの安全性を確保するための異常状態検出手段を登録する、
ことを特徴とする請求項６に記載のロボット装置の動作制御装置。
【請求項８】
前記異常状態管理手段は、所定の制御周期毎に又は設定された頻度で、登録されている各異常検出手段を、プライオリティに従って順次起動する、
ことを特徴とする請求項１に記載のロボット装置の動作制御装置。
【請求項９】
各異常状態検出手段は、該当する計測手段からの計測結果を処理する定常処理と、該計測結果が異常を検出すべきレベルに到達したか否かを判別する異常検出処理と、異常に対する対処処理を開始するための前処理と、異常に対処する対処処理と、異常状態対処の後処理を備える、
ことを特徴とする請求項１に記載のロボット装置の動作制御装置。
【請求項１０】
前記異常状態管理手段は、各異常状態検出手段における定常処理及び異常検出処理をそれぞれプライオリティに従って交互に起動する、
ことを特徴とする請求項９に記載のロボット装置の動作制御装置。
【請求項１１】
前記異常状態管理手段は、異常が検出された最もプライオリティの高い異常状態についてのみ対処処理を実行する、
ことを特徴とする請求項１０に記載のロボット装置の動作制御装置。
【請求項１２】
前記異常状態管理手段は、複数の異常状態検出手段を２以上のグループに分ける、
ことを特徴とする請求項１に記載のロボット装置の動作制御装置。
【請求項１３】
前記異常状態管理手段は、各グループ内では、異常が検出された最もプライオリティの高い異常状態についてのみ対処処理を実行する、
ことを特徴とする請求項１２に記載のロボット装置の動作制御装置。
【請求項１４】
前記異常状態管理手段は、各グループにプライオリティを設定し、プライオリティに従って各グループに登録されている異常状態検出手段を順次起動する、
ことを特徴とする請求項１２に記載のロボット装置の動作制御装置。
【請求項１５】
少なくとも複数の可動部を備えたロボット装置の動作制御方法であって、
前記可動部を駆動する際の、前記可動部又は前記ロボット装置の状態を計測する計測ステップと、
前記計測ステップにおける計測結果に基づく異常状態の検出並びに異常に対する対処処理を行なう複数の異常状態検出処理を並行して動作させる異常状態管理ステップと、
を具備することを特徴とするロボット装置の動作制御方法。
【請求項１６】
前記異常状態管理ステップでは、前記複数の異常状態検出処理に対しそれぞれプライオリティを設定し、プライオリティに基づいて各異常状態検出処理を並行して動作させる、
ことを特徴とする請求項１５に記載のロボット装置の動作制御方法。
【請求項１７】
前記異常状態管理ステップでは、各異常状態検出処理を有効又は無効にする設定、並びにプライオリティの設定を動的に行なう、
ことを特徴とする請求項１５に記載のロボット装置の動作制御方法。
【請求項１８】
前記ロボット装置は複数の姿勢をとることができ、
前記異常状態管理ステップでは、有効にすべき異常状態検出手段を姿勢毎に登録する、
ことを特徴とする請求項１５に記載のロボット装置の動作制御方法。
【請求項１９】
前記ロボット装置は少なくとも可動脚を備えた脚式移動ロボットで、少なくとも立ち姿勢と座り姿勢と寝姿勢を持ち、
前記異常状態管理ステップでは、
立ち姿勢において、「緊急停止」、「トルク・リミッタ検出」、「過電流保護」、「挟み込み防止」、「転倒制御」、「転倒回避制御」に関する各異常状態検出処理を登録し、
座り姿勢並びに寝姿勢において、「緊急停止」、「トルク・リミッタ検出」、「過電流保護」、「挟み込み防止」、「転がり検出」に関する各異常状態検出処理を登録する、
ことを特徴とする請求項１８に記載のロボット装置の動作制御方法。
【請求項２０】
前記ロボット装置は複数の動作モードをとることができ、
前記異常状態管理ステップでは、有効にすべき異常状態検出手段を動作モード毎に登録する、
ことを特徴とする請求項１５に記載のロボット装置の動作制御方法。
【請求項２１】
前記異常状態管理ステップにおいて、
ロボットの性能を最大限に引き出すためのＰｒｏ用モードでは、緊急停止、トルク・リミッタ検出、過電流検出など、前記ロボット装置の損傷を防ぐための最低限の異常状態検出処理のみを登録し、
機体の損傷を防ぐための機体保護モードでは、緊急停止、トルク・リミッタ検出、過電流検出などの機体動作に伴う損傷回避のための最低限の異常状態検出処理に加え、転倒検出並びに転倒回避に関する異常検出処理を登録し、
機体及びユーザともに安全な状態を保つための動作モードは、緊急停止、トルク・リミッタ検出、過電流検出など、機体動作に伴う損傷回避のための最低限の異常状態検出処理と、転倒検出、転倒回避など機体保護のための異常状態検出処理に加え、挟み込み防止などユーザの安全性を確保するための異常状態検出処理を登録する、
ことを特徴とする請求項２０に記載のロボット装置の動作制御方法。
【請求項２２】
前記異常状態管理ステップでは、所定の制御周期毎に又は設定された頻度で、登録されている各異常検出処理を、プライオリティに従って順次起動する、
ことを特徴とする請求項１５に記載のロボット装置の動作制御方法。
【請求項２３】
各異常状態検出処理は、該当する計測ステップにおける計測結果を処理する定常処理と、該計測結果が異常を検出すべきレベルに到達したか否かを判別する異常検出処理と、異常に対する対処処理を開始するための前処理と、異常に対処する対処処理と、異常状態対処の後処理を備える、
ことを特徴とする請求項１５に記載のロボット装置の動作制御方法。
【請求項２４】
前記異常状態管理ステップでは、各異常状態検出処理における定常処理及び異常検出処理をそれぞれプライオリティに従って交互に起動する、
ことを特徴とする請求項１６に記載のロボット装置の動作制御方法。
【請求項２５】
前記異常状態管理ステップでは、異常が検出された最もプライオリティの高い異常状態についてのみ対処処理を実行する、
ことを特徴とする請求項２４に記載のロボット装置の動作制御方法。
【請求項２６】
前記異常状態管理ステップでは、複数の異常状態検出手段を２以上のグループに分ける、
ことを特徴とする請求項１５に記載のロボット装置の動作制御方法。
【請求項２７】
前記異常状態管理ステップでは、各グループ内では、異常が検出された最もプライオリティの高い異常状態についてのみ対処処理を実行する、
ことを特徴とする請求項１５に記載のロボット装置の動作制御方法。
【請求項２８】
前記異常状態管理ステップでは、各グループにプライオリティを設定し、プライオリティに従って各グループに登録されている異常状態検出処理を順次起動する、
ことを特徴とする請求項１５に記載のロボット装置の動作制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、少なくとも複数の可動部を備えたロボット装置の動作制御装置及び動作制御方法に係り、特に、さまざまな環境下での使用が想定されるロボット装置の動作制御装置及び動作制御方法に関する。
【０００２】
さらに詳しくは、本発明は、ロボット装置内部で異常状態を検出した際に、ロボット装置内部で自律的に異常状態の対処を行なうロボット装置の動作制御装置及び動作制御方法に係り、特に、複数の異常状態が複合して検出された際に、整合性のとれた対処処理を自律的に行なうロボット装置の動作制御装置及び動作制御方法に関する。
【背景技術】
【０００３】
電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行なう機械装置のことを「ロボット」という。ロボットの語源は、スラブ語の“ＲＯＢＯＴＡ（奴隷機械）”に由来すると言われている。わが国では、ロボットが普及し始めたのは１９６０年代末からであるが、その多くは、工場における生産作業の自動化・無人化などを目的としたマニピュレータや搬送ロボットなどの産業用ロボット（ｉｎｄｕｓｔｒｉａｌ ｒｏｂｏｔ）であった。
【０００４】
最近では、ヒトやサルなどの２足直立歩行を行なう動物の身体メカニズムや動作を模した脚式移動ロボットに関する研究開発が進展し、実用化への期待も高まってきている（例えば、特許文献１を参照のこと）。２足直立による脚式移動は、クローラ式や、４足又は６足式などに比し不安定で姿勢制御や歩行制御が難しくなるが、不整地や障害物など作業経路上に凹凸のある歩行面や、階段や梯子の昇降など不連続な歩行面に対応することができるなど、柔軟な移動作業を実現できるという点で優れている。
【０００５】
また、ヒトの生体メカニズムや動作を再現した脚式移動ロボットのことを、特に、「人間形」、若しくは「人間型」のロボット（ｈｕｍａｎｏｉｄ ｒｏｂｏｔ）と呼ぶ。人間型ロボットは、例えば、生活支援、すなわち住環境その他の日常生活上のさまざまな場面における人的活動の支援などを行なうことができる。
【０００６】
人間の作業空間や居住空間のほとんどは、２足直立歩行という人間が持つ身体メカニズムや行動様式に合わせて形成されおり、車輪その他の駆動装置を移動手段とした現状の機械システムが移動するのには多くの障壁が存在する。したがって、機械システムすなわちロボットがさまざまな人的作業を代行し、さらに人間の住空間に深く浸透していくためには、ロボットの移動可能範囲が人間のそれとほぼ同じであることが好ましい。これが、脚式移動ロボットの実用化が大いに期待されている所以でもある。
【０００７】
多くの場合、脚式移動ロボットの姿勢安定制御には、ＺＭＰ（Ｚｅｒｏ Ｍｏｍｅｎｔ Ｐｏｉｎｔ）が歩行の安定度判別の規範として用いられている。ここで言う「ＺＭＰ」とは、歩行中の床反力によるモーメントがゼロとなる床面上の点のことである。ＺＭＰによる安定度判別規範は、歩行系から路面には重力と慣性力、並びにこれらのモーメントが路面から歩行系への反作用としての床反力並びに床反力モーメントとバランスするという「ダランベールの原理」に基づく。力学的推論の帰結として、足底接地点と路面の形成する支持多角形の内側にピッチ軸及びロール軸モーメントがゼロとなる点、すなわちＺＭＰが存在する（例えば、非特許文献１を参照のこと）。
【０００８】
目標ＺＭＰ制御は、すべての瞬間において、動的釣り合いを取るように運動を計画することにより、実機上で成功を収めている。ＺＭＰ規範に基づく２足歩行パターン生成は、足底着地点をあらかじめ設定することができ、路面形状に応じた足先の運動学的拘束条件を考慮し易いなどの利点がある。また、ＺＭＰを安定度判別規範とすることは、力ではなく軌道を運動制御上の目標値として扱うことを意味するので、技術的に実現可能性が高まる。
【０００９】
ここで、高い脚式移動ロボットは、整地・不整地を問わず、あらゆる環境下での使用が想定され、機体の制御系が保証する運用条件を逸脱するような場面が多々存在する。このため、予期しない場面で異常状態が発生する可能性が他の機械装置に比べて高い。したがって、ロボット装置内部で異常状態を検出し、検出された異常状態に対する対処処理を自律的に行なうことが望まれている。また、２以上の異常状態が複合して発生することも想定されるが、それぞれの異常状態に対する対処処理を、整合性をとりながら行なう必要がある。
【００１０】
従来のロボット技術に関しては、その機能に重点を置いたものが多く、外界への安全機能に関して考慮をなされているものは殆ど存在しない。例えば工業用ロボットに関しては安全対策が数多く行なわれているが、それは可動部に人が入らないように空間的に敷居を設けたり、緊急停止スイッチを設けたり（例えば、特許文献２を参照のこと）といった、ロボット内部に実装した安全機能ではなく、外部に設けた安全機能が主である。
【００１１】
今後、エンタテイメント・ロボットを筆頭に各家庭にロボットが入り込んでいくことを想定すると、ユーザや環境などの外界のみならずロボット自身の損傷や負荷を減らすための行動がますます必要となる。すなわち、ロボット内部で何らかの異常状態を検出し、素早く自律的に対処を行なわなければならない。
【００１２】
その際、人間が熱いものを触ったときを例とするならば、理性で「熱い」と感じてから手を退くのではなく、本能的に手を退くといった、より早い段階で異常状態に対処するような機能がロボットにおいても必須となる。
【００１３】
【特許文献１】特開平１３−１２９７７５号公報
【特許文献２】特開２００１−３８６６１号公報
【非特許文献１】ヴコブラトビッチ（Ｍｉｏｍｉｒ Ｖｕｋｏｂｒａｔｏｖｉｃ）著「脚式移動ロボット（ＬＥＧＧＥＤ ＬＯＣＯＭＯＴＩＯＮ ＲＯＢＯＴＳ）」（加藤一郎外著『歩行ロボットと人工の足』（日刊工業新聞社））
【発明の開示】
【発明が解決しようとする課題】
【００１４】
本発明の目的は、さまざまな環境下で自律的若しくは自己完結的な動作を行なうことができる、優れたロボット装置の動作制御装置及び動作制御方法を提供することにある。
【００１５】
本発明のさらなる目的は、ロボット装置内部で異常状態を検出した際に、ロボット装置内部で自律的に異常状態の対処を行なうことができる、優れたロボット装置の動作制御装置及び動作制御方法を提供することにある。
【００１６】
本発明のさらなる目的は、複数の異常状態が複合して検出された際に、整合性のとれた対処処理を自律的に行なうことができる、優れたロボット装置の動作制御装置及び動作制御方法を提供することにある。
【課題を解決するための手段】
【００１７】
本発明は、上記課題を参酌してなされたものであり、少なくとも複数の可動部を備えたロボット装置の動作制御装置であって、
前記可動部を駆動する駆動手段と、
前記可動部または前記ロボット装置の状態を計測する計測手段と、
前記計測手段による計測結果に基づいて異常状態の検出並びに異常に対する対処処理を行なう複数の異常状態検出手段と、
前記複数の異常状態検出手段による異常検出並びに異常に対する対処処理を並行して動作させる異常状態管理手段と、
を具備することを特徴とするロボット装置の動作制御装置である。
【００１８】
ロボット装置が普及し、さまざまな人的作業を代替し、自動化を図るためには、ロボット装置内部で異常状態を検出し、検出された異常状態に対する対処処理を自律的に行なうことが望まれている。ところが、不安定な直立姿勢をとり整地・不整地を問わない環境下で動作する脚式移動ロボットなどでは、機体の制御系が保証する運用条件を逸脱するような場面が多々存在、予期しない場面で異常状態が発生する可能性が他の機械装置に比べて高い。このような場合、２以上の異常状態が複合して発生することも想定されるが、それぞれの異常状態に対する対処処理を、整合性をとりながら行なう必要がある。
【００１９】
本発明によれば、前記異常状態管理手段は、前記複数の異常状態検出手段に対しそれぞれプライオリティを設定することにより、プライオリティに基づいて各異常状態検出手段を、互いの整合性をとりながら、並行して動作させることができる。
【００２０】
前記異常状態管理手段は、各異常状態検出手段の動作を有効又は無効にする設定、並びにプライオリティの設定を動的に行なうようにしてもよい。
【００２１】
また、前記ロボット装置は複数の姿勢をとることができる場合には、前記異常状態管理手段は、有効にすべき異常状態検出手段を姿勢毎に登録するようにしてもよい。例えば、前記ロボット装置が少なくとも可動脚を備えた脚式移動ロボットであれば、立ち姿勢と座り姿勢と寝姿勢を持ち、前記異常状態管理手段は、それぞれの姿勢において、異常状態検出手段を登録するようにする。
【００２２】
例えば、立ち姿勢において、「緊急停止」、「トルク・リミッタ検出」、「過電流保護」、「挟み込み防止」、「転倒制御」、「転倒回避制御」に関する各異常状態検出手段を登録する。また、座り姿勢並びに寝姿勢では、「緊急停止」、「トルク・リミッタ検出」、「過電流保護」、「挟み込み防止」に関する各異常状態検出手段を登録する他、もはや転倒する姿勢でないことから、代わりに「転がり検出」を登録する。
【００２３】
また、前記ロボット装置が複数の動作モードをとることができる場合には、前記異常状態管理手段は、有効にすべき異常状態検出手段を動作モード毎に登録するようにしてもよい。
【００２４】
例えば、ロボットの性能を最大限に引き出すためのＰｒｏ用モードでは、緊急停止、トルク・リミッタ検出、過電流検出など、前記ロボット装置の損傷を防ぐための最低限の異常状態検出器のみを登録する。また、機体の損傷を防ぐための機体保護モードでは、緊急停止、トルク・リミッタ検出、過電流検出などの機体動作に伴う損傷を回避するための最低限の異常状態検出手段に加え、転倒検出並びに転倒回避に関する異常検出手段を登録する。また、機体及びユーザともに安全な状態を保つための動作モードは、緊急停止、トルク・リミッタ検出、過電流検出など、機体動作に伴う損傷を回避するための最低限の異常状態検出手段と、転倒検出、転倒回避など機体保護のための異常状態検出手段に加え、挟み込み防止などユーザの安全性を確保するための異常状態検出手段を登録する。
【００２５】
前記異常状態管理手段は、所定の制御周期毎に、あるいは設定された頻度で、登録されている各異常検出手段を、プライオリティに従って順次起動することにより、これらを並列に動作させることができる。
【００２６】
ここで、各異常状態検出手段は、該当する計測手段からの計測結果を処理する定常処理と、該計測結果が異常を検出すべきレベルに到達したか否かを判別する異常検出処理と、異常に対する対処処理を開始するための前処理と、異常に対処する対処処理と、異常状態対処の後処理というように、複数の処理で構成される。このような場合には、前記異常状態管理手段は、定常処理及び異常検出処理毎に、各異常状態検出手段をプライオリティに従って交互に起動することで、これらの並列動作を実現することができる。
【００２７】
また、前記異常状態管理手段は、異常が検出された最もプライオリティの高い異常状態についてのみ対処処理を実行するようにしてもよい。
【００２８】
また、前記異常状態管理手段は、複数の異常状態検出手段を２以上のグループに分けるようにしてもよい。
【００２９】
この場合、前記異常状態管理手段は、各グループ内では、異常が検出された最もプライオリティの高い異常状態についてのみ対処処理を実行するようにしてもよい。
【００３０】
また、前記異常状態管理手段は、各グループにプライオリティを設定し、プライオリティに従って各グループに登録されている異常状態検出手段を順次起動するようにしてもよい。
【発明の効果】
【００３１】
本発明によれば、ロボット装置内部で異常状態を検出した際に、ロボット装置内部で自律的に異常状態の対処を行なうことができる、優れたロボット装置の動作制御装置及び動作制御方法を提供することができる。
【００３２】
また、本発明によれば、複数の異常状態が複合して検出された際に、整合性のとれた対処処理を自律的に行なうことができる、優れたロボット装置の動作制御装置及び動作制御方法を提供することができる。
【００３３】
本発明によれば、想定される異常状態の対処を考慮したロボット装置の設計において、他の異常状態を考慮することなく簡潔な実装が可能となる。また、適切な異常状態検出器のプライオリティ付けにより、安全性の高いロボット装置を実現することができる。
【００３４】
本発明に係るロボット装置は、さまざまな異常状態を検出するために、互いに独立して動作する複数の異常検出器を備えるが、各異常状態検出器の有効／無効、並びにこれらのプライオリティを動的に操作することにより、用途別でのロボットの緊急時の対処能力に違いを設けることができる。
【００３５】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【発明を実施するための最良の形態】
【００３６】
以下、図面を参照しながら本発明の実施形態について詳解する。
【００３７】
本発明では、胴体部に繋がった複数の関節を持ち、ロボット内部の制御周期毎に静的なモーション及びリアルタイムな動作生成による目標指令値（角度やトルク、アクチュエータ・ゲインなど）を各関節アクチュエータ（若しくは関節駆動に対応するデバイス）に与えることができるロボット装置を想定としている。
【００３８】
図１及び図２には本発明の実施に供される「人間形」又は「人間型」のロボット装置１００が直立している様子を前方及び後方の各々から眺望した様子を示している。図示の通り、ロボット装置１００は、胴体部と、頭部と、左右の上肢部と、脚式移動を行なう左右２足の下肢部とで構成され、例えば胴体に内蔵されている制御部（図示しない）によりロボット装置の動作を統括的にコントロールするようになっている。
【００３９】
左右各々の下肢は、大腿部と、膝関節と、脛部と、足首と、足平とで構成され、股関節によって体幹部の略最下端にて連結されている。また、左右各々の上肢は、上腕と、肘関節と、前腕とで構成され、肩関節によって体幹部の上方の左右各側縁にて連結されている。また、頭部は、首関節によって体幹部の略最上端中央に連結されている。
【００４０】
このように構成されたロボット装置１００は、制御部（図１及び図２には図示しない）による全身協調的な動作制御により、２足歩行を実現することができる。かかる２足歩行は、一般に、以下に示す各動作期間に分割される歩行周期を繰り返すことによって行なわれる。すなわち、
【００４１】
（１）右脚を持ち上げた、左脚による単脚支持期
（２）右足が接地した両脚支持期
（３）左脚を持ち上げた、右脚による単脚支持期
（４）左足が接地した両脚支持期
【００４２】
制御部は、このロボット装置１００を構成する各関節アクチュエータの駆動制御や各センサ（後述）などからの外部入力を処理するコントローラ（主制御部）や、電源回路その他の周辺機器類を搭載した筐体である。制御部は、その他、遠隔操作用の通信インターフェースや通信装置を含んでいてもよい。
【００４３】
ロボット装置１００における歩行制御は、あらかじめ下肢の目標軌道を計画し、上記の各期間において計画軌道の修正を行なうことによって実現される。すなわち、両脚支持期では、下肢軌道の修正を停止して、計画軌道に対する総修正量を用いて腰の高さを一定値で修正する。また、単脚支持期では、修正を受けた脚の足首と腰との相対位置関係を計画軌道に復帰させるように修正軌道を生成する。
【００４４】
歩行動作の軌道修正を始めとして、ロボット装置の姿勢安定制御には、ＺＭＰを歩行の安定度判別の規範として用いている。このため、ＺＭＰに対する偏差を小さくするための位置、速度、及び加速度が連続となるように、５次多項式を用いた補間計算により行なう。ＺＭＰによる安定度判別規範は、歩行系から路面には重力と慣性力、並びにこれらのモーメントが路面から歩行系への反作用としての床反力並びに床反力モーメントとバランスするという「ダランベールの原理」に基づく。当該原理の力学的推論の帰結として、足底接地点と路面の形成する支持多角形（すなわちＺＭＰ安定領域）の内側にピッチ軸及びロール軸モーメントがゼロとなる点、すなわちＺＭＰが存在する。
【００４５】
図３には、このロボット装置１００が具備する関節自由度構成を模式的に示している。同図に示すように、ロボット装置１００は、２本の腕部と頭部１を含む上肢と、移動動作を実現する２本の脚部からなる下肢と、上肢と下肢とを連結する体幹部とで構成された、複数の肢を備えた構造体である。
【００４６】
頭部を支持する首関節（Ｎｅｃｋ）は、首関節ヨー軸１０１と、首関節ピッチ軸１０２Ａ、頭ピッチ軸１０２Ｂ、首関節ロール軸１０３という４自由度を有している。
【００４７】
また、各腕部は、その自由度として、肩（Ｓｈｏｕｌｄｅｒ）における肩関節ピッチ軸１０４と、肩関節ロール軸１０５と、上腕ヨー軸１０６、肘（Ｅｌｂｏｗ）における肘関節ピッチ軸１０７と、手首（Ｗｒｉｓｔ）における手首関節ヨー軸１０８と、手部とで構成される。手部は、実際には、複数本の指を含む多関節・多自由度構造体である。
【００４８】
また、体幹部（Ｔｒｕｎｋ）は、体幹ピッチ軸１０９と、体幹ロール軸１１０という２自由度を有する。
【００４９】
また、下肢を構成する各々の脚部は、股関節（Ｈｉｐ）における股関節ヨー軸１１１と、股関節ピッチ軸１１２と、股関節ロール軸１１３と、膝（Ｋｎｅｅ）における膝関節ピッチ軸１１４と、足首（Ａｎｋｌｅ）における足首関節ピッチ軸１１５と、足首関節ロール軸１１６と、足部とで構成される。
【００５０】
但し、ロボット装置１００が上述したすべての自由度を装備しなければならない訳でも、あるいはこれに限定される訳でもない。設計・製作上の制約条件や要求仕様などに応じて、自由度すなわち関節数を適宜増減することができることは言うまでもない。
【００５１】
上述したようなロボット装置１００が持つ各自由度は、実際には回転型アクチュエータを用いて実装され、これらの回転位置制御に基づいて運動制御を行なうようになっている。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、２足歩行という不安定構造体に対して姿勢制御を行なうことなどの要請から、これら関節アクチュエータは小型且つ軽量であることが好ましい。
【００５２】
本実施形態では、ギア直結型で、且つサーボ制御系、電源系、並びにセンサ系の回路を搭載した制御基板をモータ・ユニットに内蔵したタイプの小型ＡＣサーボ・アクチュエータを搭載することとした。モータ・ユニット内のセンサには、サーボ制御のための回転位置若しくは関節位置を検出する角度・位置センサ、姿勢安定制御（例えばＺＭＰ方程式のパラメータ取得）のための加速度センサやジャイロ・センサ、異常状態検出のためのトルク・センサや電流検出センサなどが含まれる。また、アクチュエータ・モータの直結ギアとして低減速ギアを採用することにより、人間との物理的インタラクションを重視するタイプのロボット１００に求められている駆動系自身の受動的特性を得ている。この種のＡＣサーボ・アクチュエータに関しては、例えば本出願人に既に譲渡されている特開２０００−２９９９７０号公報や特開２００４−１８１６１３号公報などに開示されている。
【００５３】
図４には、ロボット装置１００の制御システム構成を模式的に示している。同図に示すように、ロボット装置１００は、ヒトの四肢を表現した各機構ユニット１３０、１４０、１４１、１５０Ｒ／Ｌ、１６０Ｒ／Ｌと、各機構ユニット間の協調動作を実現するための適応制御を行なう制御ユニット１８０とで構成される（但し、Ｒ及びＬの各々は、右及び左の各々を示す接尾辞である。以下同様）。
【００５４】
ロボット装置１００全体の動作は、制御ユニット１８０によって統括的に制御される。制御ユニット１８０は、ＣＰＵ（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）やメモリなどの主要回路コンポーネント（図示しない）で構成される主制御部１８１と、電源回路やロボット１００の各構成要素とのデータやコマンドの授受を行なうインターフェース（いずれも図示しない）などを含んだ周辺回路１８２とで構成される。
【００５５】
ここで言う周辺回路１８２は、ロボット装置に搭載される周辺機器類の他、ケーブルや無線を通して接続される外付けの周辺機器、充電ステーション（図示しない）やその他の周辺機器を接続するためのインターフェース・コネクタなどを含むものとする。
【００５６】
本発明を実現する上で、この制御ユニット１８０の設置場所は特に限定されない。図４では体幹部ユニット１４０に搭載されているが、頭部ユニット１３０に搭載してもよい。あるいは、ロボット装置１００外に制御ユニット１８０を配備して、ロボット装置１００本体とは有線若しくは無線で交信するようにしてもよい。
【００５７】
図３に示したロボット装置１００内の各関節自由度は、それぞれに対応するアクチュエータによって実現される。すなわち、頭部ユニット３０には、首関節ヨー軸１０１、首関節ピッチ軸１０２、首関節ロール軸１０３の各々を表現する首関節ヨー軸アクチュエータＭ1、首関節ピッチ軸アクチュエータＭ2、首関節ロール軸アクチュエータＭ3が配設されている。
【００５８】
また、体幹部ユニット１４０には、体幹ピッチ軸１０９、体幹ロール軸１１０の各々を表現する体幹ピッチ軸アクチュエータＭ9、体幹ロール軸アクチュエータＭ10が配設されている。
【００５９】
また、腕部ユニット１５０Ｒ／Ｌは、上腕ユニット１５１Ｒ／Ｌと、肘関節ユニット１５２Ｒ／Ｌと、前腕ユニット１５３Ｒ／Ｌに細分化されるが、肩関節ピッチ軸１０４、肩関節ロール軸１０５、上腕ヨー軸１０６、肘関節ピッチ軸１０７、手首関節ヨー軸１０８の各々を表現する肩関節ピッチ軸アクチュエータＭ4、肩関節ロール軸アクチュエータＭ5、上腕ヨー軸アクチュエータＭ6、肘関節ピッチ軸アクチュエータＭ7、手首関節ヨー軸アクチュエータＭ8が配設されている。
【００６０】
また、脚部ユニット１６０Ｒ／Ｌは、大腿部ユニット１６１Ｒ／Ｌと、膝ユニット１６２Ｒ／Ｌと、脛部ユニット１６３Ｒ／Ｌに細分化されるが、股関節ヨー軸１１１、股関節ピッチ軸１１２、股関節ロール軸１１３、膝関節ピッチ軸１１４、足首関節ピッチ軸１１５、足首関節ロール軸１１６の各々を表現する股関節ヨー軸アクチュエータＭ11、股関節ピッチ軸アクチュエータＭ12、股関節ロール軸アクチュエータＭ13、膝関節ピッチ軸アクチュエータＭ14、足首関節ピッチ軸アクチュエータＭ15、足首関節ロール軸アクチュエータＭ16が配設されている。
【００６１】
各関節に用いられるアクチュエータＭ1、Ｍ2、Ｍ3…は、より好ましくは、ギア直結型で且つサーボ制御系などをワンチップ化してモータ・ユニット内に搭載したタイプの小型ＡＣサーボ・アクチュエータ（前述）で構成することができる。
【００６２】
頭部ユニット１３０、体幹部ユニット１４０、腕部ユニット１５０、各脚部ユニット１６０などの機構ユニット毎に、アクチュエータ駆動制御用の副制御部１３５、１４５、１５５、１６５が配設されている。
【００６３】
腰部１４１には、加速度センサ１９６と姿勢センサ１９５が配設されている。加速度センサ１９６は、ＸＹＺの各軸方向に配置する。また、腰部１４１に加速度センサ１９６を配設することによって、質量操作量が大きな部位である腰部を制御対象点として設定して、その位置における姿勢や加速度を直接計測して、ＺＭＰに基づく姿勢安定制御を行なうことができる。加速度センサ９６と姿勢センサ９５は、図３中ではそれぞれ加速度センサＡ１及びジャイロ・センサＧ１として構成されている。
【００６４】
また、左右の各脚部１６０Ｒ及び１６０Ｌには、接地確認センサ１９１及び１９２と、加速度センサ１９３及び１９４がそれぞれ配設されている。接地確認センサ１９１及び１９２は、例えば足底に圧力センサを装着することにより構成され、床反力の有無により足底が着床したか否かを検出することができる。また、加速度センサ１９３及び１９４は、少なくともＸ及びＹの各軸方向に配置する。左右の足部に加速度センサ１９３及び１９４を配設することにより、ＺＭＰ位置に最も近い足部で直接ＺＭＰ方程式を組み立てることができる。図３中では、左右の足首に、足平における加速度を計測するセンサＡ２及びＡ２と、足平の姿勢を計測するジャイロ・センサＧ２及びＧ３がそれぞれ配設されている。また、左右の足底の四隅に、接地並びに床反力を計測する力センサＦ１〜Ｆ４、Ｆ５〜Ｆ８が配設されている。
【００６５】
本実施形態では、路面との接触部位である足部にＺＭＰと力を直接する反力センサ・システム（床反力センサなど）を配備するとともに、制御に用いるローカル座標とその座標を直接的に計測するための加速度センサを配設している。したがって、ＺＭＰ位置に最も近い足部で直接的にＺＭＰ釣合い方程式を組み立てることによって、より厳密な姿勢安定化制御を高速で実現することができる。この結果、力やトルクが作用すると路面が動いてしまう砂利上や毛足の長い絨毯上や、並進の摩擦係数が充分に確保できずに滑りが生じ易い住居のタイルなどであっても、ロボット装置の安定歩行（運動）を保証することができる。
【００６６】
主制御部１８０は、各センサＡ１〜Ａ３、Ｇ１〜Ｇ３、Ｆ１〜Ｆ８の出力に応答して制御目標をダイナミックに補正することができる。より具体的には、副制御部１３５、１４５、１５５、１６５の各々に対して適応的な制御を行ない、ロボット装置１００の上肢、体幹、及び下肢が協調して駆動する全身運動パターンを実現する。
【００６７】
ロボット装置１００の全身運動は、足部運動、ＺＭＰ軌道、体幹運動、上肢運動、腰部高さなどを設定するとともに、これらの設定内容に従った動作を指示するコマンドを各副制御部１３５、１４５、１５５、１６５に転送する。そして、各々の副制御部１３５、１４５…では、主制御部１８１からの受信コマンドを解釈して、各アクチュエータＭ1、Ｍ2、Ｍ3…に対して駆動制御信号を出力する。ここで言う「ＺＭＰ」とは、歩行中の床反力によるモーメントがゼロとなる床面上の点であり、「ＺＭＰ軌道」とは、例えばロボット１００の歩行動作期間中にＺＭＰが動く軌跡を意味する。
【００６８】
脚式移動ロボットは、ＺＭＰを歩行の安定度判別の規範として用いることができる。ＺＭＰによる安定度判別規範は、系が適切なＺＭＰ空間を形成し、支持多角形の内側にＺＭＰがある場合は、系に回転運動や並進運動が発生せず、回転や並進に関する運動方程式を解く必要がない。これに対し、支持多角形の内側にＺＭＰがない場合や、外界に対する支持作用点が存在しない場合は、ＺＭＰ方程式に代えて、運動方程式を解く必要がある。例えば、ジャンプしたときや高台から飛び降りたときなど離床時には支持多角形が存在しないので、ＺＭＰ方程式に代えて運動方程式を解くようにすればよい。
【００６９】
ＺＭＰ方程式は、目標ＺＭＰ上での各モーメントの釣合い関係を記述したものである。例えば、ロボット装置を多数の質点ｍiで表わし、これらを制御対象点とした場合、すべての制御対象点ｍiにおいて発生する目標ＺＭＰ上でのモーメントの総和がゼロとなる各制御点の軌道を求める式としてＺＭＰ釣合い方程式を構成することができる。ＺＭＰ釣合い方程式は、目標ＺＭＰにおける床反力モーメント（モーメント・異常成分）Ｔを含んでいる。このモーメント・異常をゼロ又は所定の許容範囲内に抑えることによって、ロボット装置の姿勢安定性が維持される。言い換えれば、モーメント・異常をゼロ又は許容値以下となるように運動（足部運動や上半身の各部位の軌道など）を修正することが、ＺＭＰを安定度判別規範とした姿勢安定化制御の本質である。
【００７０】
なお、本実施形態に係るロボット装置１００は、腰部位置に重心が設定されており、姿勢安定制御の重要な制御対象点であるとともに、装置の「基体」を構成する。
【００７１】
上述したような脚式移動型のロボットでは、歩行動作や各種作業を円滑に実行するといったパフォーマンス性やエンタテインメント性が優れている。その反面、転倒や挟み込みやトルク増大による過大な負荷がアクチュエータに加わるといった各種の異常状態が発生することが想定される。また、これらの各種異常状態が複合的に発生したり、ロボットの姿勢によって検出すべき異常状態が変化したりといったさまざまな場合が考えられる。
【００７２】
したがって、ロボット装置内部で異常状態を検出し、検出された異常状態に対する対処処理を自律的に行なうことが望まれている。また、２以上の異常状態が複合して発生することも想定されるが、それぞれの異常状態に対する対処処理を、整合性をとりながら行なう必要がある。
【００７３】
本実施形態では、ロボット装置は、さまざまな異常状態を検出するために、互いに独立して並列的に動作することができる複数の異常検出器を備えている。そして異常状態の検出時には、思考制御又は行動制御を行なう上位制御系を介さず、自律的に異常状態の対処処理を行なうことにより、迅速な応答性を確保するようにした。また、異常状態の検出時には上位制御系からの指令をシャットダウンし、誤動作を防止する。そして、各異常検出器にプライオリティをあらかじめ設定しておくことにより、２以上の異常状態が複合的に発生しても、各異常状態に設定されたプライオリティに従い整合性のとれた対処を行なう。
【００７４】
図５には、複数の異常状態の検出並びにそれらの対処処理機能を備えた脚式移動ロボットの動作制御システムの機能構成を模式的に示している。
【００７５】
図示の通り、本実施形態に係る脚式移動ロボットは、機体に内部実装され自律動作を制御する思考系モジュール２０によるコマンドや、機体外に実装された遠隔操作系（遠隔操作装置など）３０からのコマンドに従って動作するようになっている。
【００７６】
思考系モジュール２０は、機体上における自律的な行動や動作を実現する。例えば、本出願人に既に譲渡されている特開２００３−３３４７８５号公報には、外部刺激や内部状態に基づいて、熟考した行動、若しくは状況依存型の行動制御を行なうロボットの行動制御システムについて開示されている。例えば、思考系モジュール２０をこのような行動制御システムにより構成することもできるが、本発明の要旨は特にこれに限定されない。
【００７７】
また、遠隔操作系（遠隔操作装置など）のモジュール３０は、例えばパーソナル・コンピュータ（ＰＣ）のような無線ＬＡＮ機能を備えた計算機システムで構成され、入力デバイスとＰＣアプリケーション３１を備えている。
【００７８】
入力デバイス３２は、ジョイスティックやキーボード、マウスなどのユーザ入力装置で構成され、ユーザからの手動操作に基づくロボットに対する指示を受容する。
【００７９】
ＰＣアプリケーション３１は、ロボットと無線ＬＡＮ経由で接続し、実ロボットとの間でデータ交換を行なう。ＰＣアプリケーション３１は、入力デバイス信号を常時監視し、それをロボット用のコマンドに変換し、ロボットに送信するとともに、ロボット側からの返答や異常通知を受け取ることができる。
【００８０】
ゲートウェイ１９は、例えばＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）などの通信プロトコルを実装し、遠隔操作系（遠隔操作装置など）３０などの外部のコンピュータとの通信（無線又は有線）を実現するロボット内オブジェクトである。
【００８１】
ロボットの各リソース管理及び姿勢遷移制御モジュール１１は、送られてきたコマンドに応じて、頭、体、腕、脚といったリソース単位で処理を分配する。また、姿勢遷移に関して、整合性を判断し、コマンドに対し不整合な姿勢から整合性のある姿勢へとの遷移も担当する。
【００８２】
復帰マネージャ１２は、ロボットが未知姿勢に陥ったときに、未知姿勢から最も近い既知姿勢へと復帰し、所定の姿勢遷移モデルへ復帰させる。
【００８３】
エージェント群は、各リソースに対する動作を計画し、内容に応じたロコモーション生成、モーション再生などの依頼を行なう。図示の例では、エージェント群には、頭部の動作を計画するＨｅａｄＡｇｅｎｔ１３Ａ、胴体の動作を計画するＢｏｄｙＡｇｅｎｔ１３Ｂ、歩行動作を計画するＷａｌｋＡｇｅｎｔ１３Ｃなどが用意されている。
【００８４】
ロコモーション生成部１４は、エージェントからの依頼に応じて、リアルタイムに歩容を生成するオブジェクトであり、生成結果に対して、姿勢の安定化も考慮して、下肢の各関節角度を算出し、デバイスへの指令値を作成する。
【００８５】
モーション再生部１５は、エージェントからの依頼されたモーションに応じて、各関節角度の指令値を変更する。
【００８６】
異常状態管理部１６は、各デバイスからのセンサ値を常時参照し、異常状態の有無を監視する。ここで言う異常状態として、例えば、トルク・リミッタ、過電流検出、挟み込み、転倒、安定判別などを挙げることができる。異常には、優先順位が設定されており、優先順位の高いものから検出及び回避処理を行なう。
【００８７】
本実施形態では、異常状態管理部１６は、互いに独立して並列的に動作することができる複数の異常検出器を備えている。各異常検出器は、それぞれの独立性が保たれた設計であり、想定される異常状態の対処を考慮したロボット装置の設計において、他の異常状態を考慮することなく簡潔な実装が可能となる。また、各異常検出器に適切なプライオリティを割り振ることにより、安全性の高いロボット装置を実現している。例えば、複数の異常状態が複合して検出された際に、このプライオリティに基づいて整合性のとれた対処処理を自律的に行なうことができる。各異常状態検出器の有効／無効、並びにこれらのプライオリティを動的に操作してもよく、用途別でのロボットの緊急時の対処能力に違いを設けることができる。異常状態管理部１６の詳細については後述に譲る。
【００８８】
また、本実施形態では、ロコモーション生成部１４とモーション再生部１５にはゲート（Ｇａｔｅ）１７という概念が導入されている。このゲート１７がオープンしている間は、ロコモーション生成部１４とモーション再生部１５はクライアントからのコマンドを受け付けるが、ゲート１７がクローズすると、コマンドを拒否することができる。また、ゲート１７のオープン／クローズ操作は、異常状態管理部１６が担当する。また、ゲート１７のクローズ時にも、ゲート１７は、異常状態管理部１６からのコマンドには対処することができ、異常回避動作を実現することができる。
【００８９】
デバイス・マネージャ１８は、アクチュエータやセンサなど、ロボットを構成する各デバイスと通信を行ない、指令値の送信や計測値の受信を行なう。
【００９０】
図５に示す動作制御システムの基本動作は、遠隔操作系（遠隔操作装置など）３０においては、ＰＣ上のアプリケーション３１で入力デバイス信号を監視し、ロボット用コマンドに変換する。作成されたコマンドは無線ＬＡＮ経由でロボット内のゲートウェイ１９を通して、ロボットのリソース管理及び姿勢遷移制御系モジュール１１に送られる。その後、そのコマンドに対する返答が同様にＰＣアプリケーション３１に送られる。
【００９１】
異常検出時には、依頼されたコマンドがロボット内部処理によって、すべてブロックされ、操作系入力における影響がロボットに悪影響を及ぼすことはない。また、発生した異常の種別も操作系に送られるので、それに応じた、入力デバイス３２へのフィードバックを掛けることができる。また、異常解消時には、その旨の通知が操作系に送られ、遠隔操作系（遠隔操作装置など）からの通常のコマンド入力を再開することができる。
【００９２】
一方、ロボットの自律行動時には、遠隔操作系（遠隔操作装置など）３０の代わりに思考系モジュール２０からコマンド送信を行なうことができる。異常検出時には、依頼されたコマンドがロボット内部処理によって、すべてブロックされる。また、異常解消時には、その旨の通知が操作系に送られ、遠隔操作系（遠隔操作装置など）３０からの通常のコマンド入力を再開することができる。また、異常発生時にも、思考系モジュール２０において異常種別に応じた任意の感情表現を行なうなどの処理に利用できる。
【００９３】
以下、この動作制御システムの動作について説明する。
【００９４】
遠隔操作を行なう場合、ＰＣアプリケーション３１は、入力デバイス３２を介して得られた入力情報を基にロボットに対するコマンドを発行し、これを無線ＬＡＮ経由でロボットに転送する。
【００９５】
ロボットの各リソース管理及び姿勢遷移制御１１モジュールは、ゲートウェイ１９を介して、遠隔操作系（遠隔操作装置など）３０からのコマンドを受信すると、該当するエージェント１３によって各リソースに対する動作を計画し、その内容に応じて、ロコモーション生成部１４又はモーション再生部１５に動作の発現を依頼する。ロコモーション生成部１４又はモーション再生部１５は、デバイス・マネージャ１８をコールして、該当するロボットの各種デバイスに対して指令値を送信する。
【００９６】
ロボットの各種デバイスからは、指令値に基づいて駆動したときに検出されるセンサ情報を、指令の伝播とは逆の経路で、入力デバイスまで伝達される。
【００９７】
また、デバイス・マネージャ１８は、遠隔操作系（遠隔操作装置など）３０からの指令値に基づいて駆動したときに検出されるセンサ情報を、異常状態管理部１６にも通知する。
【００９８】
異常状態管理部１６は、センサ情報に基づいて、トルク・リミッタ、過電流検出、挟み込み、転倒、安定判別などの異常を検出する。そして、機体上の異常を検出すると、ロコモーション生成部１４とモーション再生部１５にゲート１７のクローズを指示する。ロコモーション生成部１４とモーション再生部１５は、ゲート・クローズに応答して、ゲート１７を介したクライアント（遠隔操作系３０又は思考系モジュール２０）からのコマンドを拒否する。
【００９９】
また、異常状態管理部１６は、ゲート１７のクローズ指示とともに、ロコモーション生成部１４又はモーション再生部１５に対して、異常検出時の機体動作を依頼するコマンドを発行する。
【０１００】
また、異常状態管理部１６は、異常を検出したとき、ロボットの各リソース管理及び姿勢遷移制御モジュール１１に対して異常通知を行なう。ロボットの各リソース管理及び姿勢遷移制御モジュール１１は、ゲートウェイ１９経由で遠隔操作系（遠隔操作装置など）３０に異常種別を通知する。また、思考系モジュール２０にも異常種別を通知する。
【０１０１】
ロコモーション生成部１４又はモーション再生部１５は、異常状態管理部１６からのコマンドに従って、異常回避処理を行なう。また、ロコモーション生成部１４又はモーション再生部１５は、コマンド実行に伴うステータスを異常状態管理部１６に返す。
【０１０２】
異常状態管理部１６は、ロボットの各種デバイスからのセンサ情報に基づいて、異常が解除されたかどうかを判別する。そして、異常が解除されると、ロコモーション生成部１４及びモーション再生部１５に対してゲート１７のオープンを指示する。ゲート１７のオープンに伴い、ロコモーション生成部１４及びモーション再生部１５は、ゲート１７を介したクライアントからのコマンドを受け付けることができる。
【０１０３】
また、異常状態管理部１６は、ロボットの各リソース管理及び姿勢遷移制御モジュール１１にも、異常解除を通知する。ロボットの各リソース管理及び姿勢遷移制御モジュール１１は、ゲートウェイ１９経由で遠隔操作系（遠隔操作装置など）３０に復帰終了通知を送るとともに、思考系モジュール２０にも復帰終了通知を送る。
【０１０４】
本実施形態では、異常状態管理部１６は複数の異常検出器を備え、各異常検出器には適切なプライオリティが与えられ、それぞれ独立並行して動作し、整合性のとれた対処処理を行なうことができる。ここで言う異常状態検出器には、「緊急停止」、「トルク・リミッタ検出」、「過電流保護」、「挟み込み防止」、「転倒制御」、「転倒回避制御」などが挙げられる。なお、本出願人に既に譲渡されている特願２００３−４０３９３２号明細書には、ロボット装置の関節駆動用アクチュエータにおける過電流などの異常状態の検出ならびに対処処理を行なう異常状態検出器の構成例について開示されている。
【０１０５】
また、異常状態管理部１６では、各異常状態検出器の有効／無効、並びにこれらのプライオリティを動的に操作することにより、姿勢別、動作モード別、あるいは用途別でのロボットの緊急時の対処能力に違いを設けることができる。
【０１０６】
図６には、２足脚式移動ロボットにおいて、想定される異常状態検出器の姿勢別登録状態の一例を示している。
【０１０７】
図示の例では、立脚姿勢、座り姿勢、寝姿勢という３種類の姿勢が設定されている。すべての姿勢において、「緊急停止」、「トルク・リミッタ検出」、「過電流保護」、「挟み込み防止」がこの順のプライオリティで登録されている。さらに立脚姿勢では、「転倒制御」並びに「転倒回避制御」が登録される。これに対し、座り姿勢や寝姿勢では、転倒はあり得ないので、「転倒制御」並びに「転倒回避制御」は登録されず、代わって「転がり検出」が登録される。
【０１０８】
ロボットの起動時に、各異常状態検出器は異常状態管理部１８に対し、自身の登録を行なう。登録する際のパラメータは以下のようになる。
【０１０９】
（１）検出優先度
（２）アクティブになるべきロボットの姿勢
（３）必要とされる検知頻度（アクティブにされる頻度）
【０１１０】
検知頻度の設定により、各制御周期で毎回呼び出されるほど緊急を要さない異常状態処理に関して、プロセッサの演算負荷を軽減することができる。
【０１１１】
なお、それぞれの姿勢において、図示のように、各異常状態検出器にプライオリティが与えられている。異常状態管理部１６は、所定の制御周期内で、登録されている各異常検出器を、プライオリティに従って順次起動することにより、制御周期毎の独立並行した動作を実現している。
【０１１２】
また、図７には、２足脚式移動ロボットにおいて、想定される異常状態検出器の動作モード別に異常状態検出器を登録した状態の一例を示している。図示の例では、安全志向モード、機体保護モード、Ｐｒｏ用モードという３種類の動作モードが定義されている。
【０１１３】
Ｐｒｏ用モードは、各種の安全装置を取り払い、ロボットの性能を最大限に引き出すための動作モードであり、緊急停止、トルク・リミッタ検出、過電流検出など、ロボット装置の損傷を防ぐための最低限の異常状態検出器のみを登録すなわち有効にしている。稼動する異常状態検出器を限定することにより、プロセッサの演算負荷を軽減し、あるいはその分の演算リソースを機体の動作制御や姿勢安定制御に活用することができる。
【０１１４】
機体保護モードは、機体の損傷を防ぐための動作モードである。２足直立歩行型のロボット装置の場合、転倒に伴う床面やその他の物体との予期できない衝突に伴い、致命的な損傷を受ける可能性がある。そこで、緊急停止、トルク・リミッタ検出、過電流検出など、機体動作に伴う損傷を回避するための最低限の異常状態検出器に加え、転倒検出並びに転倒回避をさらに登録すなわち有効にしている。但し、この動作モードでは、ユーザに関する安全性は無視されており、挟み込みなどのユーザの安全性を確保するための異常状態検出器は無効にされる。言い換えれば、機体保護モードは、デモンストレーションなど人の手が触れない作業環境での用途のために定義されている。
【０１１５】
安全志向モードは、機体及びユーザともに安全な状態を保つための動作モードであり、緊急停止、トルク・リミッタ検出、過電流検出など、機体動作に伴う損傷を回避するための最低限の異常状態検出器や、転倒検出、転倒回避など機体保護のための異常状態検出器に加え、挟み込み防止などユーザの安全性を確保するための異常状態検出器も有効にしている。
【０１１６】
なお、それぞれの動作モード下では、図示のように、各異常状態検出器にプライオリティが与えられている。異常状態管理部１６は、所定の制御周期内で、登録されている各異常検出器を、プライオリティに従って順次起動することにより、制御周期毎の独立並行した動作を実現している。
【０１１７】
図８には、所定の制御周期毎に行なわれる、異常状態管理部１６における通常処理の手順をフローチャートの形式で示している。
【０１１８】
ステップＳ１〜Ｓ３では、現在のロボット姿勢において有効となる異常状態検出器に関し順次定常処理の呼び出しを行なう。そして、各異常状態検出器では、センサ値の積分処理などの定常処理を、このタイミングで実行する。
【０１１９】
次いで、登録されているプライオリティの高い順に、異常状態検出器を呼び出す（ステップＳ４）。呼び出された各異常状態検出器では、定常処理を呼び出し（ステップＳ５）、検出対象の状態をセンサ出力値と目標値との偏差などを用いて、検出すべき状態に達しているかどうかを判別する（ステップＳ６）。
【０１２０】
ここで、異常状態が検出された場合には、異常状態の検出結果に応じて以下のような条件分岐を行なう。
【０１２１】
前回まで検出されていなかった異常が検出された場合には、前回までに何らかの異常処理対処中であれば（ステップＳ１１）、その後処理を呼び出し（ステップＳ１２）、新たに発生した異常状態に対する前処理を呼び出す（ステップＳ１３）。その後、引き続き新たに発現した異常状態の対処処理を呼び出す（ステップＳ１４）。そして、異常状態管理部１６は次の制御周期を待つ（ステップＳ１５）。
【０１２２】
また、前回に引き続き同じ異常状態が検出された際には（ステップＳ１１）、その異常状態検出器に対し、異常状態対処処理を呼び出す（ステップＳ１４）。また、対処処理が終了した場合には、その異常状態検出器に対し後処理を呼び出す。そして、異常状態管理部１６は次の制御周期を待つ（ステップＳ１５）。
【０１２３】
すべての異常状態検出器において、異常が検出されないまま、検出処理が終了し（ステップＳ５）、前回対処中の異常処理があった場合（ステップＳ９）、すなわち前回まで検出されていた異常状態が検出されなくなった場合には、その異常状態検出器に対し、後処理を呼び出す（ステップＳ１０）。そして、異常状態管理部１６は次の制御周期を待つ（ステップＳ１５）。
【０１２４】
異常状態が何も検出されない場合には、異常状態管理部１６は何も行なわず、次の制御周期を待つ（ステップＳ１５）。
【０１２５】
ステップＳ７において、新たに異常状態を検出した場合、異常状態管理部１６は、上位制御系（若しくはクライアント）からの指令をゲート１７（前述）でシャットダウンし、発生した異常状態の種別を上位に通知する。また、これまで発現していた異常状態が解消された場合には、異常状態管理部１６は、上位制御系からの指令の受け入れを再開し、異常状態が解消された旨を上位に通知する。
【０１２６】
続いて、個々の異常状態検出器の動作について説明する。登録されている異常検出器は、異常状態管理機構側から毎制御周期、若しくは設定された頻度で呼び出される。各異常状態検出器は、定常処理、異常状態の検出処理、異常状態対処の前処理、異常状態の対処処理、並びに異常状態対処の後処理を備えている。但し、異常状態検出器が、これらすべての処理を備えていることは必須ではない。以下、図９を参照しながら、各呼び出し時の動作について説明する。
【０１２７】
定常処理：
センサ値の積分処理などの毎制御周期で行なう必要がある定常処理を、このタイミングで実行する。
【０１２８】
エラー状態検出処理：
各異常状態検出器において、現在のロボットの状態が対象とする異常状態に達しているかを判別し、その結果を管理機構に返す。
【０１２９】
異常状態対処前処理：
異常状態対処処理を開始するために必要な処理であり、新たに異常状態が検出された際に、その対処処理を行なう前に呼び出される。
【０１３０】
異常状態対処処理：
各異常状態検出器で対象とする異常状態を回避したり、解消したりするための
１制御周期分の対処処理を実行する。その結果、異常状態の解消に関する処理が終了した場合にはその旨を異常状態管理部１６に返す。
【０１３１】
異常状態対処後処理：
これまで続けていた異常状態対処処理に関する内部リソースの開放などの後始末を行なう。
【０１３２】
ロボット本体のシャットダウン処理などでソフトウェアを終了する際、異常状態管理部１６の終了処理が呼び出される。異常状態管理部１６は、これまで使用していた各異常状態検出器に関する内部リソースの開放などを行なってから、終了する。ロボット本体の安全のためにもロボットが安全な位置や姿勢に移行してから、終了処理が呼び出されるようにする。
【０１３３】
上述したように、本実施形態では、ロボット装置上では複数の異常状態検出器が同時に登録すなわち有効な状態にされている。そして、各異常状態検出器にプライオリティを割り振ることにより、異常状態管理部１６は、所定の制御周期内で、登録されている各異常検出器を、プライオリティに従って順次起動することにより、制御周期毎の独立並行した動作を実現している。
【０１３４】
このため、異常状態管理部１６によりロボット装置の安全機構を実現する上で、最も重要となるのが各異常状態検出器間のプライオリティの設定である。例えば、以下に示すようなポリシーに従い、プライオリティを決定する。
【０１３５】
（１）ロボット及びユーザの安全性を考慮し、より緊急に対処すべき必要がある処理のプライオリティを上位にする。
（２）検出のための条件が重複している異常状態が存在する場合は、より条件の狭い異常状態のプライオリティを上位にする。
（３）ある異常状態Ａに関する対処中は、必ず異常状態Ｂは発生しないという条件下では、一般にＡのプライオリティをＢよりも高く設定する。
【０１３６】
また、異常状態管理部１６は、複数の異常状態検出器の管理を容易にするために、階層化若しくは異常状態検出器のグループ分けの手法を導入することもできる
【０１３７】
図１０には、異常状態検出器をグループ分けした一例を示している。図示の例では、異常状態検出器は、緊急停止系、関節軸安全設計、ユーザ安全設計、機体安全設計という４つのグループに分類されている。
【０１３８】
緊急停止系では、不測の事態が発生したときにロボットの動作を緊急で停止させるためのグループであり、緊急停止が含まれる。
【０１３９】
関節軸安全設計では、各関節に配置されている関節駆動用アクチュエータを保護するための異常状態検出器の集まりであり、トルク・リミッタ検出や過電流検出などの異常状態検出器が含まれる。これらの対処処理として、過大なトルクや過電流発生時に各アクチュエータのゲインを下げて破損防ぐことなどを行なう。
【０１４０】
ユーザ安全設計では、例えばユーザの指がロボットのリンク機構に挟まれたりしてユーザが総称することを防ぐための異常状態検出器の集まりであり、挟み込み防止などが含まれる。このグループは、商品化の際の安全設計に欠かせない異常状態検出器群である。
【０１４１】
機体安全設計は、例えば２足直立型など姿勢が不安定若しくは姿勢安定制御が必要なロボット装置に必要となるグループである。例えば、ロボット装置がバランスを崩した際に動作を停止する転倒回避や、不可避な点等を検出した際に受身動作をとる転倒制御、寝姿勢や座り姿勢において外的な要因による転がりを検出する転がり検出などの異常状態検出器がこのグループに含まれる。例えば、関節駆動用アクチュエータのゲインを下げて損傷を防いだり、機械的破損を防いだりするための異常状態検出並びに対処処理を行なう。
【０１４２】
図１０に示したような異常状態検出器のグループ分けを行なう際、同時に発生することのない検出器群や、検出条件が類似する検出器群など、特徴により分類することもできる。但し、重要な異常状態検出器に関しては、例えば緊急停止系のように単独で１つのグループを構成するようにすることが好ましい。
【０１４３】
異常状態管理部１６は、所定の制御周期内で、登録されている各異常検出器を、プライオリティに従って順次起動することにより、制御周期毎の独立並行した動作を実現している。ここで、図１０に示したように異常状態検出器のグルーピングを行なった場合には、各グループにプライオリティを設定し、グループ単位での並列対処処理を行なう方法と、グループ化するものの、グループを混合して登録して異常状態検出器毎のプライオリティに従って並列対処処理を行なう方法をとることができる。
【０１４４】
図１１には、各グループにプライオリティを設定し、グループ単位での並列対処処理を行なう場合の動作手順の一例を示している。ここで、各異常状態検出器は、図９に示したように、定常処理、検出処理、対処処理の前処理、対処処理、並びに対処処理の後処理を備えているものとする。
【０１４５】
グループ登録に関しては、各異常状態検出器が異常状態管理部１６への初期登録時に行ない、異常状態管理部１６ではマスク処理を行なうことによりグループ毎の管理を行なう。
【０１４６】
図示の例では、複数の異常状態検出器はＡ〜Ｄという４つのグループに分けられ、Ａ、Ｂ、Ｃ、Ｄの順にプライオリティが設定されている。また、各グループ内では、異常状態検出器がプライオリティに従って配置されている。そして、制御周期毎に、グループ毎、並びにグループ内の各異常状態検出器の処理が、設定されたプライオリティに従いラウンドロビン方式で呼び出される。ある制御周期で、グループ内の異常状態検出器で異常が検出されると、そのグループ内では下位のプライオリティの異常状態検出器では検出処理が停止され、以降は、当該グループ内では検出された異常状態に対処するための処理のみが実行される（すなわち、グループ内で起動する異常状態検出器はただ１つである）。
【０１４７】
Ａグループでは、図１１中のすべての制御周期において異常状態は検出されない。
【０１４８】
Ｂグループでは、時点（１）において対処処理が実行されている。但し、図示の例では、このタイミングで異常状態が発生した訳ではなく、前回の制御周期に引き続いて異常状態が発生しているためで、ここでは当該対処処理のための前処理は呼び出されない。また、時点（２）では、当該対処処理が終了したため、後処理を行ない、正常状態に復帰している。
【０１４９】
Ｃグループでは、時点（３）において異常状態検出器Ｃ−３に関する異常状態が発生しているが、それが解消する前に次の制御周期の時点（４）においてプライオリティがより高い異常検出器Ｃ−２に関する異常状態が検出されたため、対処処理はＣ−２の方に移っている。
【０１５０】
Ｄグループでは、時点（５）において、異常状態検出器Ｄ−２に関する異常状態が発生しているが、時点（６）において同様の異常状態が検出されなくなっているので、当該異常の対処に関する後処理を実行し、時点（７）において正常状態に復帰している。
【０１５１】
また、図１２には、グループを混合して登録して異常状態検出器毎のプライオリティに従って並列対処処理を行なったときの動作手順の一例を示している。但し、各異常状態検出器は、図９に示したように、定常処理、検出処理、対処処理の前処理、対処処理、並びに対処処理の後処理を備えているものとする。
【０１５２】
図示の例では、複数の異常状態検出器はＡ〜Ｄという４つのグループに分けられているが、グループを混合して、異常状態検出器毎のプライオリティに従って配置されている。そして、制御周期毎に、混合された各異常状態検出器の処理が、設定されたプライオリティに従いラウンドロビン方式で呼び出される。
【０１５３】
但し、この場合も、ある制御周期で、グループ内の異常状態検出器で異常が検出されると、そのグループ内では下位のプライオリティでは異常状態検出器の検出処理が停止され、以降は、当該グループ内では検出された異常状態に対処するための処理のみが実行される（すなわち、グループ内で起動する異常状態検出器はただ１つである）。
【産業上の利用可能性】
【０１５４】
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
【０１５５】
本発明の要旨は、必ずしも「ロボット」と称される製品には限定されない。すなわち、電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行なう機械装置あるいはその他一般的な移動体装置であるならば、例えば玩具などのような他の産業分野に属する製品であっても、同様に本発明を適用することができる。
【０１５６】
また、本明細書では、脚式移動型のロボット装置に対して本発明を適用した実施形態を中心に説明してきたが、本発明の要旨はこれに限定されるものではなく、ロボットの形態を問わずあらゆるタイプのロボット機構に関し導入することが可能である。
【０１５７】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【図面の簡単な説明】
【０１５８】
【図１】図１は、本発明の実施に供される「人間形」又は「人間型」のロボット装置１００が直立している様子を前方から眺望した様子を示した図である。
【図２】図２は、本発明の実施に供される「人間形」又は「人間型」のロボット装置１００が直立している様子を後方から眺望した様子を示した図である。
【図３】図３は、ロボット装置１００が具備する関節自由度構成を模式的に示した図である。
【図４】図４は、ロボット装置１００の制御システム構成を模式的に示した図である。
【図５】図５は、複数の異常状態の検出並びにそれらの対処処理機能を備えた脚式移動ロボットの動作制御システムの機能構成を模式的に示した図である。
【図６】図６は、２足脚式移動ロボットにおいて、想定される異常状態検出器の姿勢別登録状態の一例を示した図である。
【図７】図７は、２足脚式移動ロボットにおいて、想定される異常状態検出器の動作モード別に異常状態検出器を登録した状態の一例を示した図である。
【図８】図８は、所定の制御周期毎に行なわれる、異常状態管理部１６における通常処理の手順を示したフローチャートである。所定の制御周期毎に行なわれる、異常状態管理部１６における通常処理の手順を示したフローチャートである。
【図９】図９は、異常状態検出器が実行する処理を説明するための図である。
【図１０】図１０は、異常状態検出器をグループ分けした一例を示した図である。
【図１１】図１１は、グループ毎にプライオリティを設定し、グループ毎の並列対処処理を行なったときの動作手順の一例を示した図である。
【図１２】図１２は、グループを混合して登録して異常状態検出器毎のプライオリティに従って並列対処処理を行なったときの動作手順の一例を示した図である。
【符号の説明】
【０１５９】
１１…ロボットの各リソースの管理及び姿勢遷移制御モジュール
１２…復帰マネージャ
１３…エージェント
１４…ロコモーション生成部
１５…モーション再生部
１６…異常状態管理部
１７…ゲート
１８…デバイス・マネージャ
１９…ゲートウェイ
２０…思考系モジュール
３０…遠隔操作系（遠隔操作装置など）
３１…ＰＣアプリケーション
３２…入力デバイス
１００…脚式移動ロボット
１０１…首関節ヨー軸
１０２Ａ…第１の首関節ピッチ軸
１０２Ｂ…第２の首関節（頭）ピッチ軸
１０３…首関節ロール軸
１０４…肩関節ピッチ軸
１０５…肩関節ロール軸
１０６…上腕ヨー軸
１０７…肘関節ピッチ軸
１０８…手首関節ヨー軸
１０９…体幹ピッチ軸
１１０…体幹ロール軸
１１１…股関節ヨー軸
１１２…股関節ピッチ軸
１１３…股関節ロール軸
１１４…膝関節ピッチ軸
１１５…足首関節ピッチ軸
１１６…足首関節ロール軸
１３０…頭部ユニット
１４０…体幹部ユニット
１４１…腰部ユニット
１５０…腕部ユニット，１５１…上腕ユニット
１５２…肘関節ユニット，１５３…前腕ユニット
１６０…脚部ユニット，１６１…大腿部ユニット
１６２…膝関節ユニット，１６３…脛部ユニット
１８０…制御ユニット，１８１…主制御部
１８２…周辺回路
１９１，１９２…接地確認センサ
１９３，１９４…加速度センサ
１９５…姿勢センサ
１９６…加速度センサ
【図１】
2006051564.tif 000003
【図２】
2006051564.tif 000004
【図３】
2006051564.tif 000005
【図４】
2006051564.tif 000006
【図５】
2006051564.tif 000007
【図６】
2006051564.tif 000008
【図７】
2006051564.tif 000009
【図８】
2006051564.tif 000010
【図９】
2006051564.tif 000011
【図１０】
2006051564.tif 000012
【図１１】
2006051564.tif 000013
【図１２】
2006051564.tif 000014