(57)【要約】【課題】基体から延設された複数の可動リンクを備える移動ロボットにおける異常接触の発生の有無をリアルタイムで検知することを、安価な構成で適切に実現する。【解決手段】移動ロボット１の動作中に、１つ以上の可動リンク３，４のそれぞれの接触反力と、１つ以上の可動リンク３，４のそれぞれの接触反力の関数値として表される接触反力関数値とのうちの少なくとも一方から成る複数の参照パラメータのそれぞれの観測値を、移動ロボット１の各可動リンク３，４に搭載された力検出器３１の出力に基づいて取得し、参照パラメータのそれぞれの観測値を用いて、接触検知用モデルＡｉにより移動ロボット１の異常接触の発生の有無を検知する。【選択図】図６
2018144149.tif 000002
【特許請求の範囲】
【請求項１】
基体と、該基体に対して動き得るように該基体から各々延設された複数の可動リンクと、各可動リンクの先端部と外界物との接触に応じて該可動リンクに作用する接触反力を検出し得るように各可動リンクに各々搭載された力検出器とを備え、１つ以上の前記可動リンクの空中移動を行う動作と該空中移動に続いて該可動リンクの先端部を外界物に接触させる動作とを含む運動により移動可能な移動ロボットにおける異常接触の発生の有無を検知する方法であって、
前記移動ロボットの動作中に、１つ以上の前記可動リンクのそれぞれの接触反力と、１つ以上の前記可動リンクのそれぞれの接触反力の関数値として表される接触反力関数値とのうちの少なくとも一方から成る複数の接触検知用の参照パラメータのそれぞれの観測値を、前記力検出器の出力に基づいて取得する第１ステップと、
前記接触検知用の参照パラメータのそれぞれの観測値を用いて、あらかじめ作成された接触検知用モデルにより前記異常接触の発生の有無を検知する第２ステップとを備えることを特徴とする移動ロボットの異常接触検知方法。
【請求項２】
請求項１記載の移動ロボットの異常接触検知方法において、
前記接触検知用モデルは、前記異常接触が発生していない状態での前記移動ロボットの動作中に収集された前記接触検知用の参照パラメータのそれぞれの観測値のサンプルデータから、１クラスＳＶＭ（ＳＶＭ：Support Vector Machine）を用いて作成されたモデルであることを特徴とする移動ロボットの異常接触検知方法。
【請求項３】
請求項１又は２記載の移動ロボットの異常接触検知方法において、
前記接触検知用モデルは、前記移動ロボットの複数種類の動作パターンのそれぞれ毎に作成されており、前記第２ステップで用いる前記接触検知用モデルは、動作中の前記移動ロボットの動作パターンの種類に対応する接触検知用モデルであることを特徴とする移動ロボットの異常接触検知方法。
【請求項４】
請求項３記載の移動ロボットの異常接触検知方法において、
前記接触検知用モデルは、前記移動ロボットの複数種類の動作パターンのそれぞれ毎にあらかじめ定められた種類の前記接触検知用の参照パラメータのそれぞれの観測値を用いて、前記異常接触の発生の有無を検知するように構成されていることを特徴とする移動ロボットの異常接触検知方法。
【請求項５】
請求項１〜４のいずれか１項に記載の移動ロボットの異常接触検知方法において、
前記接触検知用モデルは、前記接触検知用の参照パラメータのそれぞれの観測値と、前記移動ロボットの動作目標により規定される該参照パラメータのそれぞれの目標値との偏差量を所定の時間幅の期間で積分してなる積分値、又は該偏差量を所定の時間幅の期間で平均化してなる平均値から、前記異常接触の発生の有無を検知するように構成されていることを特徴とする移動ロボットの異常接触検知方法。
【請求項６】
請求項１〜５のいずれか１項に記載の移動ロボットの異常接触検知方法において、
前記第２ステップで前記異常接触の発生が検知されたとき、前記移動ロボットの前記異常接触が発生した部位である異常接触部位を特定する第３ステップをさらに備えており、
前記第３ステップでは、１つ以上の前記可動リンクのそれぞれの接触反力と、前記接触反力関数値とのうちの少なくとも一方から成る複数の接触部位特定用の参照パラメータのそれぞれの観測値を、前記力検出器の出力に基づいて取得し、該接触部位特定用の参照パラメータのそれぞれの観測値を用いて、あらかじめ作成された接触部位特定用モデルにより、前記異常接触部位を特定することを特徴とする移動ロボットの異常接触検知方法。
【請求項７】
請求項６記載の移動ロボットの異常接触検知方法において、
前記接触部位特定用モデルは、前記移動ロボットの動作中に前記異常接触が発生した場合に収集された前記接触部位特定用の参照パラメータのそれぞれの観測値のサンプルデータから、多クラスＳＶＭ（ＳＶＭ：Support Vector Machine）を用いて作成されたモデルであることを特徴とする移動ロボットの異常接触検知方法。
【請求項８】
請求項６又は７記載の移動ロボットの異常接触検知方法において、
前記接触部位特定用モデルは、前記移動ロボットの複数種類の動作パターンのそれぞれ毎に作成されており、前記第３ステップで用いる前記接触部位特定用モデルは、動作中の前記移動ロボットの動作パターンの種類に対応するモデルであることを特徴とする移動ロボットの異常接触検知方法。
【請求項９】
請求項８記載の移動ロボットの異常接触検知方法において、
前記接触部位特定用モデルは、前記移動ロボットの複数種類の動作パターンのそれぞれ毎にあらかじめ定められた種類の前記接触部位特定用の参照パラメータの観測値を用いて、前記異常接触部位を特定するように構成されていることを特徴とする移動ロボットの異常接触検知方法。
【請求項１０】
請求項６〜９のいずれか１項に記載の移動ロボットの異常接触検知方法において、
前記接触部位特定用モデルは、前記接触部位特定用の参照パラメータのそれぞれの観測値と、前記移動ロボットの動作目標により規定される該参照パラメータのそれぞれの目標値との偏差量を所定の時間幅の期間で積分してなる積分値、又は該偏差量を所定の時間幅の期間で平均化してなる平均値から、前記異常接触部位を特定するように構成されていることを特徴とする移動ロボットの異常接触検知方法。
【請求項１１】
請求項１〜１０のいずれか１項に記載の移動ロボットの異常接触検知方法において、
前記第２ステップで前記異常接触の発生が検知されたとき、該検知に応じた応答動作を前記移動ロボットに行わせる第４ステップをさらに備えており、
前記応答動作は、前記異常接触の発生の検知時における前記移動ロボットの動作パターンの種類に応じて決定したパターンで、前記移動ロボットの空中移動状態の可動リンクの動きを停止させる動作を含むことを特徴とする移動ロボットの異常接触検知方法。
【請求項１２】
請求項１１記載の移動ロボットの異常接触検知方法において、
前記応答動作は、前記空中移動状態の可動リンクの動きを停止させる動作として、該可動リンクの先端部を、前記異常接触の発生前の前記移動ロボットの動作目標よりも早期に外界物に着地させた後、該可動リンクの動きを停止させる動作を含み、
前記応答動作による前記空中移動状態の可動リンクの先端部の移動中に、前記異常接触の発生の有無を検知する第５ステップと、
該第５ステップで前記異常接触の発生が検知された場合に、前記空中移動状態の可動リンクの先端部を、該異常接触の発生の検知時における位置から真下に下降させて着地させる第６ステップとをさらに備えることを特徴とする移動ロボットの異常接触検知方法。
【請求項１３】
基体と、該基体に対して動き得るように該基体から各々延設された複数の可動リンクと、各可動リンクの先端部と外界物との接触に応じて該可動リンクに作用する接触反力を検出し得るように各可動リンクに各々搭載された力検出器とを備え、１つ以上の前記可動リンクの空中移動を行う動作と該空中移動に続いて該可動リンクの先端部を外界物に接触させる動作とを含む運動により移動可能な移動ロボットの動作中に、該移動ロボットにおける異常接触の発生の有無を検知する第Ａステップと、
前記第Ａステップで前記異常接触の発生が検知されたとき、前記移動ロボットの前記異常接触が発生した部位である異常接触部位を特定する第Ｂステップとを備えており、
前記第Ｂステップでは、１つ以上の前記可動リンクのそれぞれの接触反力と、１つ以上の前記可動リンクのそれぞれの接触反力の関数値として表される接触反力関数値とのうちの少なくとも一方から成る複数の接触部位特定用の参照パラメータのそれぞれの観測値を、前記力検出器の出力に基づいて取得し、該接触部位特定用の参照パラメータのそれぞれの観測値を用いて、あらかじめ作成された接触部位特定用モデルにより、前記異常接触部位を特定することを特徴とする移動ロボットの接触部位特定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動ロボット等の可動装置の外界物体との接触の有無、あるいは、外界物体との接触部位を検知する方法に関する。
【背景技術】
【０００２】
２脚の移動ロボット等、基体から延設された複数の可動リンクを備え、これらの可動リンクの先端部の空中移動と、床面等の外界物への接触とを繰り返すことで移動を行う移動ロボットが従来より知られている（例えば特許文献１を参照）。
【０００３】
この種の移動ロボットは、種々様々な環境で移動することが可能である。このため、近年、この種の移動ロボットを、不整地等を含む種々様々な環境で活用することが図られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１１５７８０号公報
【特許文献２】特開２０１３−３１９１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記移動ロボットは、その移動時に、１つ又は複数の可動リンクの先端部の空中移動を繰り返すため、特に、不整地等、種々様々な物体が乱雑に存在するような環境下での該移動ロボットの移動時に、該移動ロボットの空中移動中の可動リンクが、該移動ロボットの動作目標では想定されていない外界物との接触を生じる状況が発生しやすい。本明細書では、移動ロボットの空中移動中の可動リンクと外界物との、このような接触（移動ロボットの動作目標で想定されていない接触）を異常接触という。
【０００６】
このような異常接触が発生した場合には、移動ロボットがバランスを崩したり、移動ロボットの実際の動作が動作目標から乖離したり、移動ロボットの損傷を生じやすい。このため、上記異常接触が発生した場合に、適切な対策処置を速やかにとることができるようにするために、該異常接触の発生をリアルタイムで検知し得ることが望ましい。さらには、移動ロボットのメンテナンス等のために、移動ロボットのどの部位で、異常接触が発生したのかを特定し得ることが望ましい。
【０００７】
この場合、例えば、各可動リンクの表面に面状の圧力センサを装着したり、あるいは、移動ロボットの各可動リンクの関節のそれぞれにトルクセンサを装着し、これらの圧力センサあるいはトルクセンサの出力を、移動ロボットの動作中に観測することで、上記異常接触を発生の検知することは可能である。
【０００８】
しかるに、このような技術では、異常接触の発生の検知のための構成が高価なものとなると共に、移動ロボットの小型化もしくは軽量化の妨げとなりやすい。
【０００９】
本発明はかかる背景に鑑みてなされたものであり、基体から延設された複数の可動リンクを備える移動ロボットにおける異常接触の発生の有無をリアルタイムで検知することを、安価な構成で適切に実現することを可能とする方法を提供することを目的とする。
【００１０】
さらに、該移動ロボットで異常接触が発生した場合に、異常接触が発生した部位を特定することを安価な構成で適切に実現することができる方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の移動ロボットの異常接触検知方法は、基体と、該基体に対して動き得るように該基体から各々延設された複数の可動リンクと、各可動リンクの先端部と外界物との接触に応じて該可動リンクに作用する接触反力を検出し得るように各可動リンクに各々搭載された力検出器とを備え、１つ以上の前記可動リンクの空中移動を行う動作と該空中移動に続いて該可動リンクの先端部を外界物に接触させる動作とを含む運動により移動可能な移動ロボットにおける異常接触の発生の有無を検知する方法であって、
前記移動ロボットの動作中に、１つ以上の前記可動リンクのそれぞれの接触反力と、１つ以上の前記可動リンクのそれぞれの接触反力の関数値として表される接触反力関数値とのうちの少なくとも一方から成る複数の接触検知用の参照パラメータのそれぞれの観測値を、前記力検出器の出力に基づいて取得する第１ステップと、
前記接触検知用の参照パラメータのそれぞれの観測値を用いて、あらかじめ作成された接触検知用モデルにより前記異常接触の発生の有無を検知する第２ステップとを備えることを特徴とする（第１発明）。
【００１２】
ここで、本発明（後述する第２〜第１３発明を含む）における用語に関して補足説明をしておく。本発明における「異常接触」は、移動ロボットの動作中に、空中移動状態となっている可動リンクと外界物との接触であって、該移動ロボットの動作目標で想定されていない接触を意味する。従って、当該「異常接触」には、移動ロボットの動作目標で予定されている当該可動リンクの空中移動後の到達予定地点での当該可動リンクと外界物との接触は含まれない。
【００１３】
また、各可動リンクに作用する「接触反力」は、一般的には、並進力ベクトルとモーメントベクトルの組として表現し得る。そして、「接触反力」を構成する並進力ベクトル及びモーメントベクトルのそれぞれの任意の成分（任意の方向の成分）が、前記接触検知用の参照パラメータ（又は後述の接触部位特定用の参照パラメータ）として利用し得るパラメータである。
【００１４】
また、「接触反力関数値」は、より詳しくは、１つ以上の前記可動リンクのそれぞれの接触反力を構成する並進力ベクトル及びモーメントベクトルの１つ以上の成分の関数値として表されるものである。該「接触反力関数値」としては、例えば、移動ロボットの実際のＺＭＰ（Zero Moment Point）の位置、あるいは、該ＺＭＰの単位時間当たりの変化量、あるいは、移動ロボットに作用する接触反力の全体によって、ＺＭＰの目標位置に作用する水平軸周り方向のモーメント成分等を採用し得る。
【００１５】
以上を前提として本発明を以下に説明する。本願発明者の各種実験、検討によれば、移動ロボットの動作中に、前記異常接触が発生した場合には、一般に、移動ロボットの前記複数の可動リンクのうちの、いずれか１つ以上の可動リンクの力検出器の出力が、該異常接触の発生に起因する影響を受ける。
【００１６】
ひいては、当該１つ以上の可動リンクの力検出器の出力により示される接触反力の観測値（当該１つ以上の可動リンクのそれぞれの接触反力の観測値）が、該異常接触の発生に起因する影響を受ける。
【００１７】
このため、全ての可動リンクのそれぞれの接触反力と、前記接触反力関数値とから、複数の異常接触検知用の参照パラメータを適切に選定しておくことで、前記第２ステップにより、異常接触の発生の有無をリアルタイムで適切に検知することが可能となる。
【００１８】
この場合、前記第２ステップで必要となる前記異常接触検知用の参照パラメータのそれぞれの観測値は、前記力検出器の出力に基づいて得られる値（検出値又は推定値）である。また、本発明の移動ロボット如き構成の移動ロボットには、一般に、その動作制御のために、各可動リンクに前記力検出器が搭載されている。
【００１９】
従って、前記第１ステップでは、前記異常接触検知用の参照パラメータのそれぞれの観測値を取得するための新たな力検出器を必要とすることなく、移動ロボットの既存の力検出器をそのまま用いて、前記異常接触検知用の参照パラメータのそれぞれの観測値を取得することができる。
【００２０】
よって、前記第１発明によれば、異常接触の発生の有無をリアルタイムで検知することを、安価な構成で適切に実現することが可能となる。
【００２１】
上記第１発明では、前記接触検知用モデルは、前記異常接触が発生していない状態での前記移動ロボットの動作中に収集された前記接触検知用の参照パラメータのそれぞれの観測値のサンプルデータから、１クラスＳＶＭ（ＳＶＭ：Support Vector Machine）を用いて作成されたモデルであることが好ましい（第２発明）。
【００２２】
これによれば、前記異常接触が発生した状況での前記接触検知用の参照パラメータのそれぞれの観測値のサンプルデータを必要とせずに、前記接触検知用モデルを作成できる。このため、移動ロボットに損傷を及ぼすことを極力防止しつつ、前記接触検知用モデルを作成できる。
【００２３】
上記第１発明又は第２発明では、前記接触検知用モデルは、前記移動ロボットの複数種類の動作パターンのそれぞれ毎に作成されており、前記第２ステップで用いる前記接触検知用モデルは、動作中の前記移動ロボットの動作パターンの種類に対応する接触検知用モデルであることが好ましい（第３発明）。
【００２４】
これによれば、各接触検知用モデルによる検知対象の異常接触が、該接触検知用モデルに対応する種類の動作パターンでの移動ロボットの動作中に発生する異常接触に限定されるので、種々様々な動作パターンでの移動ロボットの動作中に、高い信頼性で、異常接触の発生の有無を検知することができる。
【００２５】
上記第３発明では、前記接触検知用モデルは、前記移動ロボットの複数種類の動作パターンのそれぞれ毎にあらかじめ定められた種類の前記接触検知用の参照パラメータのそれぞれの観測値を用いて、前記異常接触の発生の有無を検知するように構成されていることが好ましい（第４発明）。
【００２６】
これによれば、移動ロボットの複数種類の動作パターンのそれぞれ毎に、最適な種類の接触検知用の参照パラメータの観測値を用いて、異常接触の発生の有無を検知することができるため、該異常接触の発生の有無の検知結果の信頼性をより一層高めることができる。
【００２７】
上記第１〜第４発明では、前記接触検知用モデルは、前記接触検知用の参照パラメータのそれぞれの観測値と、前記移動ロボットの動作目標により規定される該参照パラメータのそれぞれの目標値との偏差量を所定の時間幅の期間で積分してなる積分値、又は該偏差量を所定の時間幅の期間で平均化してなる平均値から、前記異常接触の発生の有無を検知するように構成されていることが好ましい（第５発明）。
【００２８】
なお、上記「偏差量」は、前記接触検知用の参照パラメータのそれぞれの観測値と、前記移動ロボットの動作目標により規定される該参照パラメータのそれぞれの目標値との偏差の値そのものでもよいが、該偏差を適宜、スケール変換してなる値（該偏差に所定値を乗じてなる値、あるいは、該偏差の所定値で除算してなる値）もしくはオフセットさせてなる値等、該偏差に対して単調変化する値であってもよい。
【００２９】
ここで、前記異常接触が発生した場合、前記接触検知用の参照パラメータのそれぞれについての前記偏差量の大きさが増加しやすい。また、前記積分値又は平均値は、前記力検出器の出力に混入する一時的なノイズ等を影響を受けにくい。従って、第５発明によれば、前記積分値又は平均値から、前記接触検知用モデルにより、前記異常接触の発生の有無を高い信頼性で検知することができる。
【００３０】
上記第１〜第５発明では、前記第２ステップで前記異常接触の発生が検知されたとき、前記移動ロボットの前記異常接触が発生した部位である異常接触部位を特定する第３ステップをさらに備えることも可能である。この場合、前記第３ステップでは、１つ以上の前記可動リンクのそれぞれの接触反力と、前記接触反力関数値とのうちの少なくとも一方から成る複数の接触部位特定用の参照パラメータのそれぞれの観測値を、前記力検出器の出力に基づいて取得し、該接触部位特定用の参照パラメータのそれぞれの観測値を用いて、あらかじめ作成された接触部位特定用モデルにより、前記異常接触部位を特定することが好ましい（第６発明）。
【００３１】
すなわち、本願発明者の各種実験、検討によれば、前記異常接触が発生した場合、その発生時の近辺において、いずれか１つ以上の可動リンクの接触反力の成分又は前記接触反力関数値が、異常接触が移動ロボットのどの部位で発生したのかということとの相関性が高いものとなる。
【００３２】
このため、全ての可動リンクのそれぞれの接触反力と、前記接触反力関数値とから、複数の接触部位特定用の参照パラメータを適切に選定しておくことで、前記第３ステップにより、異常接触部位を適切に特定することが可能となる。
【００３３】
そして、この場合、異常接触の発生の有無の検知の場合と同様に、移動ロボットの既存の力検出器をそのまま用いて、前記接触部位特定用の参照パラメータのそれぞれの観測値を取得することができる。
【００３４】
従って、第６発明によれば、異常接触部位を特定することとを安価な構成で適切に実現することができる。
【００３５】
上記第６発明では、前記接触部位特定用モデルは、前記移動ロボットの動作中に前記異常接触が発生した場合に収集された前記接触部位特定用の参照パラメータのそれぞれの観測値のサンプルデータから、多クラスＳＶＭ（ＳＶＭ：Support Vector Machine）を用いて作成されたモデルであるこが好ましい（第７発明）。
【００３６】
これによれば、前記接触部位特定用モデルを比較的容易に作成することができる。
【００３７】
上記第６発明又は第７発明では、前記接触部位特定用モデルは、前記移動ロボットの複数種類の動作パターンのそれぞれ毎に作成されており、前記第３ステップで用いる前記接触部位特定用モデルは、動作中の前記移動ロボットの動作パターンの種類に対応するモデルであることが好ましい（第８発明）。
【００３８】
これによれば、各接触部位特定用モデルによる異常接触部位の特定処理が、該接触検知用モデルに対応する種類の動作パターンでの移動ロボットの動作中に異常接触が発生した場合に限定されるので、種々様々な動作パターンでの移動ロボットの動作中に、異常接触が発生した場合に異常接触部位の特定することを、高い信頼性で実現することができる。
【００３９】
上記第８発明では、前記接触部位特定用モデルは、前記移動ロボットの複数種類の動作パターンのそれぞれ毎にあらかじめ定められた種類の前記接触部位特定用の参照パラメータの観測値を用いて、前記異常接触部位を特定するように構成されていることが好ましい（第９発明）。
【００４０】
これによれば、移動ロボットの複数種類の動作パターンのそれぞれ毎に、最適な種類の接触部位特定用の参照パラメータの観測値を用いて、異常接触部位の特定を行うことができるため、該異常接触部位の特定結果の信頼性をより一層高めることができる。
【００４１】
なお、移動ロボットの各種類の動作パターンに対応する接触部位特定用の参照パラメータの種類は、各種類の動作パターンに対応する前記接触検知用の参照パラメータの種類と同じであってもよい。
【００４２】
上記第６〜第１０発明では、前記接触部位特定用モデルは、前記接触部位特定用の参照パラメータのそれぞれの観測値と、前記移動ロボットの動作目標により規定される該参照パラメータのそれぞれの目標値との偏差量を所定の時間幅の期間で積分してなる積分値、又は該偏差量を所定の時間幅の期間で平均化してなる平均値から、前記異常接触部位を特定するように構成されていることが好ましい（第１０発明）。
【００４３】
なお、前記第５発明の場合と同様に、上記「偏差量」は、前記接触部位特定用の参照パラメータのそれぞれの観測値と、前記移動ロボットの動作目標により規定される該参照パラメータのそれぞれの目標値との偏差の値そのものでもよいが、該偏差を適宜、スケール変換してなる値もしくはオフセットさせてなる値等、該偏差に対して単調変化する値であってもよい。
【００４４】
上記第１０発明によれば、前記積分値又は平均値を用いることで、前記接触部位特定用モデルにより、高い信頼性で、前記異常接触部位を特定することができる。
【００４５】
上記第１〜第１０発明では、前記第２ステップで前記異常接触の発生が検知されたとき、該検知に応じた応答動作を前記移動ロボットに行わせる第４ステップをさらに備えており、前記応答動作は、前記異常接触の発生の検知時における前記移動ロボットの動作パターンの種類に応じて決定したパターンで、前記移動ロボットの空中移動状態の可動リンクの動きを停止させる動作を含むことが好ましい（第１１発明）。
【００４６】
これによれば、前記異常接触の発生が検知された場合に、前記移動ロボットの空中移動状態の可動リンクの動きを停止させる動作を含む応答動作を前記移動ロボットに実行させるので、該移動ロボットの損傷の増大化等を防止できる。
【００４７】
上記第１１発明では、前記応答動作は、前記空中移動状態の可動リンクの動きを停止させる動作として、該可動リンクの先端部を、前記異常接触の発生前の前記移動ロボットの動作目標よりも早期に外界物に着地させた後、該可動リンクの動きを停止させる動作を含み得る。この場合、前記応答動作による前記空中移動状態の可動リンクの先端部の移動中に、前記異常接触の発生の有無を検知する第５ステップと、該第５ステップで前記異常接触の発生が検知された場合に、前記空中移動状態の可動リンクの先端部を、該異常接触の発生の検知時における位置から真下に下降させて着地させる第６ステップとをさらに備えてもよい（第１２発明）。
【００４８】
これによれば、前記第５ステップで前記異常接触の発生が検知されない場合は、前記空中移動状態の可動リンクの先端部を、当初の動作目標での軌道から比較的滑らかな態様で移動させて着地させることが可能となる。従って、移動ロボットの動作の連続性を確保しつつ、空中移動状態の可動リンクの先端部を着地させることが可能となる。
【００４９】
一方、前記第５ステップで前記異常接触の発生が検知された場合には、前記空中移動状態の可動リンクの先端部を真下に下降させて着地させるので、該先端部を極力、短時間で着地させることができる。ひいては、前記第５ステップでの異常接触の発生に起因する移動ロボットの姿勢の崩れを、極力早期に防止することが可能となる。
【００５０】
また、本発明の移動ロボットの接触部位特定方法は、基体と、該基体に対して動き得るように該基体から各々延設された複数の可動リンクと、各可動リンクの先端部と外界物との接触に応じて該可動リンクに作用する接触反力を検出し得るように各可動リンクに各々搭載された力検出器とを備え、１つ以上の前記可動リンクの空中移動を行う動作と該空中移動に続いて該可動リンクの先端部を外界物に接触させる動作とを含む運動により移動可能な移動ロボットの動作中に、該移動ロボットにおける異常接触の発生の有無を検知する第Ａステップと、
前記第Ａステップで前記異常接触の発生が検知されたとき、前記移動ロボットの前記異常接触が発生した部位である異常接触部位を特定する第Ｂステップとを備えており、
前記第Ｂステップでは、１つ以上の前記可動リンクのそれぞれの接触反力と、１つ以上の前記可動リンクのそれぞれの接触反力の関数値として表される接触反力関数値とのうちの少なくとも一方から成る複数の接触部位特定用の参照パラメータのそれぞれの観測値を、前記力検出器の出力に基づいて取得し、該接触部位特定用の参照パラメータのそれぞれの観測値を用いて、あらかじめ作成された接触部位特定用モデルにより、前記異常接触部位を特定することを特徴とする（第１３発明）。
【００５１】
かかる第１３発明によれば、前記第６発明と同様に、異常接触部位を特定することを安価な構成で適切に実現することができる。
【００５２】
なお、第１３発明は、さらに、前記第７〜第１２発明と同様の態様を採用することもできる。
【図面の簡単な説明】
【００５３】
【図１】本発明の一実施形態における移動ロボットの概略構成を示す図。
【図２】実施形態の移動ロボットの動作制御に関する構成を示すブロック図。
【図３】実施形態の移動ロボットの動作パターンの種類と、参照パラメータとの種類との組み合わせの例を示す図。
【図４】実施形態の移動ロボットの動作パターンの種類と停止動作パターンとの組み合併せの例を示す図。
【図５】図５Ａ、図５Ｂ及び図５Ｃは、それぞれ、図４に示した各種類の停止動作パターンにおける可動リンクの動作形態を例示するグラフ。
【図６】実施形態の移動ロボットの動作中に制御装置が実行する処理を示すフローチャート。
【図７】実施形態の移動ロボットの動作中に異常接触の発生が検知された場合に、制御装置が実行する処理を示すフローチャート。
【発明を実施するための形態】
【００５４】
本発明の一実施形態を図１〜図７を参照して以下に説明する。図１を参照して、本実施形態の移動ロボット１は、例えば人型のロボットである。この移動ロボット１（以降、単にロボット１ということがある）は、上体に相当する基体２と、基体２から延設された複数（本実施形態では４個）の可動リンクとしての左右一対の（２つの）脚リンク３Ｌ，３Ｒ及び左右一対の（２つの）腕リンク４Ｌ，４Ｒと、頭部５とを備える。
【００５５】
なお、以降の説明では、左右の脚リンク３Ｌ，３Ｒを区別する必要が無いときは、単に脚リンク３と表記する。同様に、左右の腕リンク４Ｌ，４Ｒを区別する必要が無いときは、単に腕リンク４と表記する。また、脚リンク３Ｌ，３Ｒび腕リンク４Ｌ，４Ｒのそれぞれを単に可動リンクということがある。
【００５６】
基体２は、本実施形態では、基体２の下部を構成する下側基体６と、基体２の上部を構成する上側基体７と、該下側基体６及び上側基体７を連結する関節機構８とから構成される。関節機構８は、例えば、１軸、２軸、又は３軸の回転自由度を有するように構成される。
【００５７】
各脚リンク３は、基体２の下部（下側基体６）から延設されている。各脚リンク３は、大腿部１１、下腿部１２、足部１３にそれぞれ相当する要素リンクを、基体２側から順番に、股関節機構１４、膝関節機構１５、足首関節機構１６を介して連結して構成されている。各脚リンク３の先端部たる足部１３は、ロボット１の移動時等に、ロボット１を支える接触反力を受け得るように外界物（地面、床面、壁面、手摺り等）に適宜接触させる主たる接触動作部である。
【００５８】
なお、「ロボット１を支える接触反力」というのは、より詳しくは、ロボット１に作用する重力とロボット１の運動によって発生する慣性力との合力に抗する接触反力を意味する。
【００５９】
各脚リンク３の足部１３と基体２との間の関節機構１４，１５，１６は、本実施形態では、各脚リンク３が、例えば６自由度の運動自由度を有するように構成されている。
【００６０】
例えば、股関節機構１４は、総計３軸の回転自由度を有するように３つの関節（図示省略）により構成される。膝関節機構１５は、1軸の回転自由度を有するように単一の関節（図示省略）により構成される。足首関節機構１６は、総計２軸の回転自由度を有するように２つの関節（図示省略）により構成される。
【００６１】
なお、本実施形態の説明では、上記関節機構１４，１５，１６等の関節機構を構成する各「関節」は、特にことわらない限り、１軸の回転自由度を有する回転型の関節を意味する。該「関節」は、１軸周りに相対回転自在に係合された２つの部材を有する。
【００６２】
各腕リンク４は、基体２の上部（上側基体７）から延設されている。各腕リンク４は、上腕部２１、前腕部２２、ハンド部２３にそれぞれ相当する要素リンクを、基体２側から順番に、肩関節機構２４、肘関節機構２５、手首関節機構２６を介して連結して構成されている。
【００６３】
本実施形態では、各腕リンク４は、必要に応じて脚として機能し得る可動リンクである。この場合、各腕リンク４の先端部たるハンド部２３が、ロボット１を支える接触反力を受け得るように外界物（地面、床面、壁面、手摺り等）に適宜接触させる接触動作部となる。
【００６４】
各腕リンク４のハンド部２３と基体２との間の関節機構２４，２５，２６は、本実施形態では、各腕リンク４が、例えば６自由度の運動自由度を有するように構成されている。
【００６５】
例えば、肩関節機構２４は、総計３軸の回転自由度を有するように３つの関節（図示省略）により構成される。肘関節機構２５は、1軸の回転自由度を有するように単一の関節（図示省略）により構成される。手首関節機構２６は、総計２軸の回転自由度を有するように２つの関節（図示省略）により構成される。
【００６６】
また、各腕リンク４のハンド部２３は、本実施形態では、物体の把持を行うことができるように構成されている。例えば、各ハンド部２３は、クランプ機構、あるいは、人の手指と同様の動作を行い得る複数の指機構等により構成される。
【００６７】
頭部５は、基体２の上端部に首関節機構２７を介して取り付けられている。首関節機構２７は、例えば、１軸、２軸、又は３軸の回転自由度を有するように構成される。
【００６８】
以上がロボット１の機構的な構成の概要である。
【００６９】
上記の如く構成されたロボット１は、脚リンク３Ｌ，３Ｒ及び腕リンク４Ｌ，４Ｒのうちの１つ以上の可動リンクを外界物に接触させずに空中移動させる動作と該動作に続いて該可動リンクの先端部（足部１３又はハンド部２３）を外界物に接触させる動作とを含む運動によって移動することができる。
【００７０】
この場合、本実施形態のロボット１は種々様々な動作パターンで移動することができる。例えば、人の歩行動作と同様の運動パターンで左右の脚リンク３Ｌ，３Ｒを動かすという２脚歩容の動作パターンで、ロボット１の移動（歩行動作）を行うことができる。
【００７１】
また、例えば、左右の脚リンク３Ｌ，３Ｒを上記と同様の運動パターンで動かしながら、腕リンク４Ｌ，４Ｒの一方又は両方のハンド部２３を補助的に壁、手摺り等に適宜接触させるという動作パターンでロボット１の移動を行うこともできる。
【００７２】
また、例えば、４つの可動リンク３Ｌ，３Ｒ，４Ｌ，４Ｒを脚として使用して、該４つの可動リンク３Ｌ，３Ｒ，４Ｌ，４Ｒを、トロット、クロール、もしくはペース等の運動パターンで動かすという４脚歩容の動作パターンで、ロボット１の移動を行うこともできる。
【００７３】
さらに、例えば、４つの可動リンク３Ｌ，３Ｒ，４Ｌ，４Ｒを使用して、梯子等の昇降を行うこともできる。
【００７４】
補足すると、ロボット１の各脚リンク３あるいは各腕リンク４は、７自由度以上の運動自由度を有するように構成されていてもよい。また、各脚リンク３及び各腕リンク４のそれぞれは、回転型の関節に限らず、直動型の関節を含んでいてもよい。
【００７５】
また、ロボット１がハンド部２３による把持動作を必要としないロボットである場合には、各腕リンク４の先端部は、把持動作のための機構を備えない構造のものであってもよい。また、基体２は、関節機構を含まない一体構造のもの（下側基体６及び上側基体７を一体化した構造のもの）であってもよい。また、ロボット１は、頭部５を備えないもの、あるいは、頭部５が基体２の上端に固定されたものであってもよい。
【００７６】
次に、ロボット１の動作制御等に関する構成を説明する。以降の説明では、各脚リンク３の足部１３及び各腕リンク４のハンド部２３のそれぞれを総称的に先端部ということがある。また、ロボット１の可動リンク３，４のうち、ロボット１の移動時に、該ロボット１を支える接触反力を受けるように外界物に先端部を接触させた状態の可動リンクを支持脚側可動リンク、空中移動状態の可動リンクを遊脚側可動リンクということがある。
【００７７】
この場合、本実施形態では、上記遊脚側可動リンクは、ロボット１の移動中に、一時的もしくは周期的に空中移動を行う可動リンクだけではなく、外界物への非接触状態を定常的に維持する可動リンクも含む。例えば、各腕リンク４を外界物に接触させることなく、２脚歩容の動作パターンでロボット１の移動を行う場合には、空中移動状態の脚リンク３だけでなく、両方の腕リンク４Ｌ，４Ｒが、遊脚側可動リンクである。
【００７８】
図２に示すように、ロボット１には、その動作制御を行う機能を有する制御装置３０と、各可動リンク３，４の先端部１３，２３を外界物に接触させたときに該先端部１３，２３に作用する接触反力を検出し得るように各可動リンク３，４に搭載された力検出器３１と、ロボット１の各関節をそれぞれ駆動する関節アクチュエータ３２とが搭載されている。
【００７９】
各力検出器３１は、本実施形態では、該力検出器３１が備えられた可動リンク３，４の先端部１３，２３に作用する接触反力として、３次元の並進力ベクトルと３次元のモーメントベクトル（回転力ベクトル）との組を検出し得るように構成された検出器である。
【００８０】
具体的には、各力検出器３１は、例えば６軸力センサにより構成される。そして、各脚リンク３の力検出器３１は、例えば、図１に示すように該脚リンク３の先端部１３（足部１３）と、該脚リンク３の最も先端側の関節を含む足首関節機構１６との間に介装されている。また、各腕リンク４の力検出器３１は、例えば、図１に示すように該腕リンク４の先端部２３（ハンド部２３）と、該腕リンク４の最も先端側の関節を含む手首関節機構２６との間に介装されている。
【００８１】
関節アクチュエータ３２は、各関節毎に備えられており、例えば電動モータあるいは油圧アクチュエータ等により構成される。この場合、各関節アクチュエータ３２による各関節の駆動機構は公知の構造のものでよい。また、関節アクチュエータ３２は、回転型のアクチュエータに限らず、直動型のアクチュエータであってもよい。
【００８２】
制御装置３０は、ＣＰＵ、ＲＡＭ、ＲＯＭ、インターフェース回路等を含む１つ又は複数の電子回路ユニットにより構成される。該制御装置３０は、ロボット１の任意の適所（例えば下側基体６又は上側基体７）に搭載される。
【００８３】
この制御装置３０には、各力検出器３１から出力される検出信号が入力されると共に、その他の様々なセンシングデータが入力される。例えば、ロボット１の周囲の外界状態（外界物の位置、形状等）、鉛直方向（重力方向）又は水平面に対するロボット１の基準部位（例えば、下側基体６）の傾き、ロボット１の各関節の変位量（回転角）等を示すセンシングデータが、ロボット１に搭載された種々のセンサ、あるいは、ロボット１の外部のセンシングシステムから制御装置３０に入力される。さらに、制御装置３０は、外部のサーバもしくは操縦装置等と適宜、通信を行うことが可能である。
【００８４】
そして、制御装置３０は、実装されるハードウェア構成又はプログラム（ソフトウェア構成）により実現される機能として、ロボット１の動作目標を生成する動作目標生成部４１と、該動作目標に応じてロボット１の各関節の動作を関節アクチュエータ３２を介して制御する関節制御部４２と、ロボット１と外界物との異常接触の発生の有無を検知する異常接触検知部４３と、異常接触の発生が検知された場合に、ロボット１の異常接触が発生した部位（以降、異常接触部位という）を特定する接触部位特定部４４と、異常接触の発生が検知された場合に、ロボット１の動作を停止させる制御処理を実行する停止制御実行部４５とを備える。
【００８５】
動作目標生成部４１が生成する動作目標は、それによって、ロボット１の動作を規定し得る目標である。該動作目標には、例えば、ロボット１の運動（ロボット１の全体の空間的な動き）に関する目標と、ロボット１に作用させるべき外力に関する目標とが含まれる。
【００８６】
運動に関する目標（以降、目標運動という）は、例えば、ロボット１の可動リンク３，４の先端部１３，２３のそれぞれの目標位置及び目標姿勢の軌道、ロボット１の基準部位（例えば下側基体６又は上側基体７）の目標位置及び目標姿勢の軌道、下側基体６及び上側基体７の一方に対する他方の相対的な姿勢（向き）の目標値の軌道、上側基体７に対する頭部５の相対的な姿勢（向き）の目標値の軌道等を含む。なお、「軌道」は瞬時値の時系列を意味する。
【００８７】
また、外力に関する目標は、例えば、ロボット１のＺＭＰ（Zero Moment Point）の目標位置（以降、目標ＺＭＰという）の軌道、可動リンク３，４の先端部１３，２３のそれぞれに外界物から作用させるべき接触反力の目標値の軌道等を含む。
【００８８】
そして、動作目標生成部４１は、外部の操縦装置又はサーバから与えられる動作指令（あるいは、あらかじめティーチングされた動作スケジュール）、並びに、ロボット１の外界状態等のセンシングデータに基づいて、上記動作指令もしくは動作スケジュールにより指示された動作をロボット１に行わせるように動作目標を生成する。
【００８９】
なお、ロボット１の目標運動と、外力に関する目標とは所要の動力学的関係を満たし得るように作成される。
【００９０】
前記関節制御部４２は、上記動作目標を実現するように、該動作目標に応じてロボット１の各関節の目標変位量の軌道を生成する。なお、各関節の目標変位量は、回転型の関節では、回転変位量の目標値、直動型の関節では、並進変位量の目標値である。
【００９１】
この場合、関節制御部４２は、例えば、前記動作目標のうちの目標運動を、ロボット１の基準部位の傾きの検出値、並びに、各支持脚側可動リンク３又は４の接触反力の検出値と目標値との偏差等に応じて適宜修正し、その修正処理後の目標運動から、逆運動学の演算処理により、各関節の目標変位量の軌道を生成する。
【００９２】
そして、関節制御部４２は、各関節の実際の変位量（検出値）を目標変位量に追従させるように、各関節の変位量を該関節に対応する関節アクチュエータ３２を介してフィードバック制御する。
【００９３】
前記異常接触検知部４３が検知する「異常接触」は、本実施形態では、可動リンク３，４のうちの遊脚側可動リンク３又は４と、外界物との接触（ロボット１の動作目標で予定されていない接触）である。
【００９４】
そして、異常接触検知部４３は、ロボット１の動作中に、１つ以上の可動リンク３，４の接触反力に関する複数のパラメータを参照パラメータ（参照対象のパラメータ）として用い、該参照パラメータのそれぞれの観測値（検出値又は推定値）を用いて上記異常接触の発生の有無を検知する。
【００９５】
より詳しくは、本実施形態では、異常接触検知部４３は、上記参照パラメータのそれぞれの観測値と目標値と逐次取得しつつ、該参照パラメータのそれぞれの観測値及び目標値とから後述する誤差積分値を逐次算出する。そして、異常接触検知部４３は、該誤差積分値から、あらかじめ作成された接触検知用モデルＡｉ（ｉ＝１，２，…）を用いて、異常接触の発生の有無を検知する。
【００９６】
この場合、本実施形態では、異常接触の発生の有無の検知と、異常接触部位の特定とを行うために、ロボット１の動作パターン（動作形態）があらかじめ複数種類に分類されている。そして、ロボット１の各種類の動作パターン毎に、異常接触検知部４３の処理において参照パラメータとして使用するパラメータの種類があらかじめ定められていると共に、ロボット１の各種類の動作パターン毎に、接触検知用モデルＡｉ（ｉ＝１，２，…）があらかじめ作成されている。なお、参照符号の添え字「ｉ」（ｉ＝１，２，…）は、ロボット１の動作パターンの種類を区別する識別番号を意味する。
【００９７】
具体的には、前記参照パラメータとして使用可能なパラメータは、１つ以上の可動リンク３，４のそれぞれの接触反力と、１つ以上の可動リンク３，４のそれぞれの接触反力の関数値として表し得る接触反力関数値とのうちの一方又は両方である。
【００９８】
この場合、参照パラメータとして使用可能な「接触反力」は、より詳しくは、本実施形態では、グローバル座標系で見た当該接触反力の並進力ベクトル及びモーメントベクトルのそれぞれの各座標軸成分である。
【００９９】
上記グローバル座標系は、ロボット１の動作環境における該ロボット１の存在位置、外界物に対するロボット１の可動リンク３，４の接触位置等を表すために、ロボット１の動作環境の外界に対して任意に設計的に設定される座標系である。該グローバル座標系としては、例えば、図１に例示するように、Ｚ軸方向を鉛直方向（重力方向）、Ｘ軸方向及びＹ軸方向を互いに直交する水平軸方向とする３軸直交座標系（ＸＹＺ座標系）が用いられる。
【０１００】
なお、本実施形態の説明では、グローバル座標系のＸ軸方向は、例えば、ロボット１を水平面に投影して見た状態での下側基体６の前後方向（図１では、紙面に垂直な方向）、あるいは、ロボット１を水平面に投影して見た状態での該ロボット１の進行方向である。
【０１０１】
かかるグローバル座標系で見た接触反力は、並進力ベクトルのＸ軸方向成分Ｆx、Ｙ軸方向成分Ｆy及びＺ軸方向成分Ｆzと、モーメントベクトルのＸ軸周り方向成分Ｍx、Ｙ軸周り方向成分Ｍy及びＺ軸周り方向成分Ｍzとの６成分により構成される。これらの６成分のそれぞれが、参照パラメータとして使用可能なパラメータである。
【０１０２】
なお、グローバル座標系で見た各可動リンク３，４の接触反力の観測値は、各可動リンク３又は４毎に、力検出器３１の出力に基づき検出される接触反力（各力検出器３１に対して設定されたローカル座標系で見た接触反力の検出値）を、グローバル座標系に座標変換することで得られる検出値である。
【０１０３】
また、グローバル座標系で見た各可動リンク３，４の接触反力の目標値は、ロボット１の動作目標により規定される目標値である。
【０１０４】
また、参照パラメータとして使用可能な「接触反力関数値」は、本実施形態では、例えば、上記グローバル座標系で見たロボット１の実際のＺＭＰの位置（位置ベクトル）の各座標軸成分（ＺＭＰのＸ軸方向位置、Ｙ軸方向位置及びＺ軸方向位置）のそれぞれの単位時間当たりの変化量、換言すれば、ロボット１のＺＭＰの位置の単位時間当たりの変化量（以降、ＺＭＰ変化速度という）のＸ軸方向成分DZMPx、Ｙ軸方向成分DZMPy、及びＺ軸方向成分DZMPzである。
【０１０５】
ここで、ＺＭＰは、４つの可動リンク３Ｌ，３Ｒ，４Ｌ，４Ｒのうちの支持脚側可動リンクのそれぞれの接触反力の全体（合力）によって、その点の周りに発生する水平軸周り方向（グローバル座標系のＸ軸周り方向及びＹ軸周り方向）のモーメントがゼロになる点として定義し得る。このため、グローバル座標系で見たＺＭＰの位置、ひいては、その単位時間当たりの変化量（ＺＭＰ変化速度）は、１つ以上の可動リンク３，４のそれぞれの接触反力の関数値として表現し得る。従って、ＺＭＰ変化速度を接触反力関数値として使用できる。
【０１０６】
なお、グローバル座標系で見たＺＭＰの位置の観測値は、支持脚側可動リンクのそれぞれの接触反力の検出値と、該支持脚側可動リンクのそれぞれの先端部（足部１３又はハンド部２３）の実際の位置及び姿勢の推定値（又はそれぞれの先端部の目標位置及び目標姿勢）とを用いて所定の演算式により逐次算出することができる。そして、ＺＭＰの位置の観測値の単位時間当たりの変化量を、ＺＭＰ変化速度の観測値として得ることができる。
【０１０７】
また、グローバル座標系で見たＺＭＰ変化速度の目標値は、ロボット１の動作目標により規定される目標ＺＭＰの単位時間当たりの変化量として得ることができる。
【０１０８】
本実施形態では、ロボット１の各種類の動作パターンで前記参照パラメータとして使用されるパラメータは、４つの可動リンク３Ｌ，３Ｒ，４Ｌ，４Ｒのそれぞれの接触反力の６成分（Ｆx，Ｆy，Ｆz，Ｍx，Ｍy，Ｍz）と、接触反力関数値としてのＺＭＰ変化速度の３成分DZMPx，DZMPy，DZMPzとから、ロボット１の動作パターンの種類毎にあらかじめ選定されている。
【０１０９】
この場合、ロボット１の各種類の動作パターンに対応する参照パラメータは、該参照パラメータのそれぞれの観測値及び目標値に基づいて、当該動作パターンでのロボット１の動作中に異常接触が発生した状況と、異常接触が発生していない状況とを好適に区別して認識し得るように、あらかじめ実験もしくはシミュレーション等に基づいて選定されている。
【０１１０】
図３は、ロボット１の動作パターンの種類と、各種類の動作パターンに対応する参照パラメータの種類との組合わせを例示している。
【０１１１】
図３に例示する動作パターンの種類のうち、「４脚移動」は、４つの可動リンク３Ｌ，３Ｒ，４Ｌ，４Ｒを脚として使用し、該４つの可動リンク３Ｌ，３Ｒ，４Ｌ，４Ｒをトロット、クロール、もしくはペース等の運動パターンで動かすことで、ロボット１の移動を行う動作パターンである。
【０１１２】
この「４脚移動」の動作パターンでは、例えば、各可動リンク３，４の接触反力のうちのモーメントのＺ軸周り方向成分Ｍz及び並進力の水平軸方向成分Ｆx，Ｆyと、ＺＭＰ変化速度の水平軸方向成分DZMPx，DZMPyとから成る総計１４個のパラメータが参照パラメータとして使用される。
【０１１３】
この場合、「４脚移動」の動作パターンでは、各可動リンク３，４の先端部１３，２３を接触させる外界物（床面、地面等）の種々様々な表面状態等に起因して、各可動リンク３，４の接触反力のうち、特にモーメントの水平軸周り方向の成分Ｍx，Ｍy及び並進力のＺ軸方向成分Ｆzのそれぞれは、異常接触が発生していない場合でも、幅広い範囲で種々様々な値を取り得る。このため、各可動リンク３，４の接触反力のうちの、３つの成分Ｍx，Ｍy，Ｆzを参照パラメータから除外している。
【０１１４】
また、「２脚移動＋壁手付き」の動作パターンは、２つの腕リンク４Ｌ，４Ｒのそれぞれのハンド部２３を適宜、壁に接触させながら、２つの脚リンク３Ｌ，３Ｒを歩行動作と同様もしくは類似する運動パターンで動かすことで、ロボット１の移動を行う動作パターンである。
【０１１５】
この「２脚移動＋壁手付き」で動作パターンで使用する参照パラメータは、「４脚移動」の動作パターンと同じである（総計１４個の参照パラメータ）。この場合、「４脚移動」の動作パターンと同様の理由によって、各可動リンク３，４の接触反力のうちの、３つの成分Ｍx，Ｍy，Ｆzを参照パラメータから除外している。
【０１１６】
また、「２脚移動（手付き無し）」は、各腕リンク４を外界物に接触させることなく、２つの脚リンク３Ｌ，３Ｒを歩行動作と同様もしくは類似する運動パターンで動かすことで、ロボット１の移動を行う動作パターンである。
【０１１７】
この「２脚移動（手付き無し）」の動作パターンでは、例えば、各腕リンク４の接触反力の６成分Ｍx，Ｍy，Ｍz，Ｆx，Ｆy，Ｆzと、各脚リンク３の接触反力の６成分のうちのモーメントのＺ軸周り方向成分Ｍz及び並進力の水平軸方向成分Ｆx，Ｆyと、ＺＭＰ変化速度の水平軸方向成分DZMPx，DZMPyとから成る総計２０個のパラメータが参照パラメータとして使用される。
【０１１８】
この場合、「４脚移動」の動作パターンと同様の理由によって、各脚リンク３の接触反力のうちの３つの成分Ｍx，Ｍy，Ｆzを参照パラメータから除外している。
【０１１９】
さらに、本実施形態では、「２脚移動（手付き無し）」の動作パターンでは、空中移動中の脚リンク３の異常接触だけでなく、当該動作パターンでの定常的な遊脚側可動リンクとしての各腕リンク４の異常接触の発生の有無を検知し得るようにするために、各腕リンク４の接触反力の６成分Ｍx，Ｍy，Ｍz，Ｆx，Ｆy，Ｆzが参照パラメータに含まれている。
【０１２０】
また、「２脚移動＋ドア開閉」は、２つの脚リンク３Ｌ，３Ｒを歩行動作と同様もしくは類似する運動パターンで動かして移動しながら、一方又は両方の腕リンク４のハンド部２３をドアの取っ手に接触させて、該ドアの開閉を行う動作パターンである。
【０１２１】
この「２脚移動＋ドア開閉」の動作パターンでは、例えば、各脚リンク３の接触反力の６成分のうちのモーメントのＺ軸周り方向成分Ｍz及び並進力の水平軸方向成分Ｆx，Ｆyと、ＺＭＰ変化速度の水平軸方向成分DZMPx，DZMPyとから成る総計８個のパラメータが、参照パラメータとして使用される。
【０１２２】
この場合、「４脚移動」の動作パターンと同様の理由によって、各脚リンク３の接触反力の６成分のうちの、３つの成分Ｍx，Ｍy，Ｆzを参照パラメータから除外している。
【０１２３】
また、各腕リンク４のハンド部２３のドアへの接触形態等に起因して、各腕リンク４の接触反力の６成分のそれぞれは、幅広い範囲で種々様々な値を取り得る。このため、「２脚移動＋ドア開閉」の動作パターンでは、各腕リンク４の接触反力の６成分Ｍx，Ｍy，Ｍz，Ｆx，Ｆy，Ｆzの全てを参照パラメータから除外している。
【０１２４】
また、「梯子リーチング」は、梯子の昇降を開始する前に、２つの腕リンク４Ｌ，４Ｒのそれぞれのハンド部２３により梯子の踏桟等を把持させる動作パターンである。
【０１２５】
この「梯子リーチング」の動作パターンでは、例えば、各腕リンク４の接触反力の６成分のうちの並進力ベクトルのＺ軸方向成分Ｆzと、各脚リンク３の接触反力の６成分のうちのモーメントベクトルのＹ軸周り方向成分Ｍy（ロボット１のピッチ方向成分）及び並進力のＺ軸方向成分Ｆzと、ＺＭＰ変化速度のＸ軸方向成分DZMPxとから成る総計７個のパラメータが、参照パラメータとして使用される。
【０１２６】
この「梯子リーチング」の動作パターンでは、各腕リンク４のハンド部２３により梯子の踏桟等の掴み損ねが生じた場合に、いずれかの脚リンク３又はいずれかの腕リンク４の接触反力の６成分のうちの並進力のＺ軸方向成分Ｆz、あるいは、いずれかの脚リンク３のが接触反力の６成分のうちのモーメントのＹ軸周り方向成分Ｍy（ピッチ方向成分）、あるいは、ＺＭＰ変化速度のＸ軸方向成分DZMPxが想定外の値（異常な値）を取り易い。
【０１２７】
このため、「梯子リーチング」の動作パターンでの参照パラメータとして、各腕リンク４のＦz、各脚リンク３のＭy，Ｆz及びDZMPxを使用する。
【０１２８】
また、「手摺り付き階段昇降」は、一方又は両方の腕リンク４のハンド部２３により、階段の手摺りを適宜、把持することを行いつつ、２つの脚リンク３Ｌ，３Ｒを歩行動作と同様もしくは類似する運動パターン動かすことで、階段の昇降を行う動作パターンである。
【０１２９】
この「手摺り付き階段昇降」の動作パターンでは、例えば、各腕リンク４の接触反力の３成分Ｆx，Ｆy，Ｆzと、各脚リンク３の接触反力の６成分のうちのモーメントのＺ軸周り方向成分Ｍz及び並進力の水平軸方向成分Ｆx，Ｆyと、ＺＭＰ変化速度の水平軸方向成分DZMPx，DZMPyとから成る総計１４個のパラメータが、参照パラメータとして使用される。
【０１３０】
この場合、「４脚移動」の動作パターンと同様の理由によって、各脚リンク３の接触反力の６成分のうちの３つの成分Ｍx，Ｍy，Ｆzを参照パラメータから除外している。
【０１３１】
また、各ハンド部２３による手摺りの把持の際に、各ハンド部２３の手摺りへの接触形態等に起因して、各腕リンク４の接触反力の３成分Ｍx，Ｍy，Ｍzのそれぞれは、幅広い範囲で種々様々な値を取り得る。このため、「手摺り付き階段昇降」の動作パターンでは、各腕リンク４の接触反力の３成分Ｍx，Ｍy，Ｍzを参照パラメータから除外している。
【０１３２】
また、「梯子昇降」は、４つの可動リンク３Ｌ，３Ｒ，４Ｌ，４Ｒのそれぞれの先端部１３，２３を適宜、梯子の踏桟に接触させながら、クロール等の運動パターンと同様の運動パターンで各可動リンク３，４を動かすことで梯子の昇降を行う動作パターンである。
【０１３３】
この「梯子昇降」の動作パターンでは、例えば、各可動リンク３，４の接触反力の４成分Ｆx，Ｆy，Ｍx，Ｍzと、ＺＭＰ変化速度のＹ軸方向成分DZMPyとから成る総計１７個のパラメータが、参照パラメータとして使用される。
【０１３４】
この場合、「梯子昇降」の動作パターンでは、各可動リンク３，４の接触反力のうち、モーメントのＹ軸周り方向成分Ｍyと並進力のＺ軸方向成分のそれぞれは、幅広い範囲で種々様々な値を取り得る。このため、各可動リンク３，４の接触反力のうちの、２つの成分Ｍy，Ｆzを参照パラメータから除外している。
【０１３５】
また、「梯子昇降」の動作パターンでは、梯子の踏桟の掴み損ね、もしくは、踏み外しが発生した場合に、いずれかの脚リンク３又はいずれかの腕リンク４の接触反力の６成分のうちのモーメントのＸ軸周り方向成分Ｍx（ロール方向成分）が顕著な影響を受けやすい。
【０１３６】
このため、「梯子昇降」の動作パターンでの参照パラメータに、各可動リンク３，４の接触反力のうちのＭxを含ませている。
【０１３７】
以上の如く、ロボット１の各種類の動作パターン毎に各別に、参照対象のパラメータとして使用する参照パラメータの種類があらかじめ選定されている。なお、図３に示した各種類の動作パターンでは、ＺＭＰ変化速度のＺ軸方向成分DZMPzは参照パラメータとして使用されないが、動作パターンの種類によっては、DZMPzを参照パラメータとして使用することも可能である。
【０１３８】
異常接触検知部４３は、各種類の動作パターンでのロボット１の動作中に、該動作パターンの種類に対応する参照パラメータ（該動作パターンの種類に対応して、参照対象のパラメータとしてあらかじめ選定された種類の参照パラメータ）のそれぞれの観測値及び目標値を取得しつつ、該動作パターンの種類に対応してあらかじめ作成された接触検知用モデルＡｉを用いて異常接触の発生の有無を検知する。
【０１３９】
具体的には、本実施形態では、異常接触検知部４３は、ロボット１の動作パターンの種類に対応する参照パラメータのそれぞれの観測値と目標値とを、各参照パラメータの種類毎にあらかじめ定められた基準値で除算してなる正規化観測値と正規化目標値との偏差を逐次算出する。該偏差は、参照パラメータの観測値の目標値に対する誤差に相当するものである。
【０１４０】
この場合、参照パラメータの種類毎の上記基準値は、例えば、各種類の参照パラメータの観測値及び目標値のそれぞれの大きさ（絶対値）が該基準値以下となるように（換言すれば、上記正規化観測値及び正規化目標値のそれぞれの絶対値が「１」以下の値に収まるように）、該参照パラメータの実測データ等に基づいてあらかじめ設定された値である。
【０１４１】
そして、異常接触検知部４３は、上記偏差を所定の時間幅毎に積分してなる積分値（以降、誤差積分値という）を逐次算出し、この誤差積分値を基に、ロボット１の動作パターン種類に対応する接触検知用モデルＡｉを用いて異常接触の発生の有無を検知する。
【０１４２】
この場合、各接触検知用モデルＡｉは、それに対応する種類の動作パターンでのロボット１の動作中に上記の如く算出される誤差積分値（詳しくは、該動作パターンの種類に対応する参照パラメータのそれぞれの誤差積分値の組）から、異常接触が発生したか否か示す判定情報（以降、異常接触判定情報という）を逐次決定し得るように構成されている。
【０１４３】
例えば、前記「４脚移動」の動作パターンに対応する参照パラメータは、図３に示した如く、４つの可動リンク３Ｌ，３Ｒ，４Ｌ，４Ｒのそれぞれの接触反力Ｍz，Ｆx，Ｆyと、ＺＭＰ変化速度DZMPx，DZMPyとから成る総計１４個の参照パラメータである。この場合、「４脚移動」に対応する接触検知用モデルＡｉは、上記１４個の参照パラメータのそれぞれの誤差積分値（総計１４種類の誤差積分値の組）から、異常接触判定情報を決定し得るように構成されている。
【０１４４】
かかる接触検知用モデルＡｉは、本実施形態では、ロボット１の各種類の動作パターン毎に、教師データ付きの分類手法、例えば１クラスＳＶＭ（ＳＶＭ：Support Vector Machine）を用いてあらかじめ作成されている。
【０１４５】
この作成作業においては、様々な動作環境で、ロボット１を各種類の動作パターンで実際に動作させながら、ロボット１の動作パターンの種類に対応する参照パラメータのそれぞれの上記誤差積分値のサンプリングデータが教師データとして収集される。この場合、収集するサンプリングデータは、前記異常接触が発生していないことが確認されている状況でのサンプリングデータである。そして、各種類の動作パターン毎に、収集された教師データから、１クラスＳＶＭにより接触検知用モデルＡｉが作成される。
【０１４６】
この場合、１クラスＳＶＭを用いることで、前記異常接触が実際に発生した状況での教師データを必要とせずに、接触検知用モデルＡｉを作成できる。このため、教師データの収集時に、ロボット１の損傷を発生させることを極力回避することができる。
【０１４７】
補足すると、接触検知用モデルＡｉの作成作業において、ロボット１の各種類の動作パターン毎に、教師データの収集対象とする参照パラメータの種類の組わせを適宜、変更すると共に、その組合わせのそれぞれに対応して、収集した教師データを基に作成した接触検知用モデルＡｉの性能（該接触検知用モデルＡｉが生成する前記異常接触判定情報の信頼性）を評価することで、各種類の動作パターンに対応する接触検知用モデルＡｉの性能を極力高め得るように、各種類の動作パターンに対応する参照パラメータの種類を探索的に決定してもよい。このようにすることで、各種類の動作パターン毎に、異常接触の発生の有無を検知する上で好適な種類の参照パラメータを、探索的に選定できる。
【０１４８】
本実施形態では、異常接触検知部４３が使用する各接触検知用モデルＡｉは、ロボット１の各種類の動作パターン毎に、上記の如く作成されるモデルである。
【０１４９】
これらの接触検知用モデルＡｉ（ｉ＝１，２，…）は、制御装置３０の記憶部又は外部のサーバにデータベース化されて保存される。そして、異常接触検知部４３は、各種類の動作パターンに対応する接触検知用モデルＡｉを、適宜、制御装置３０の記憶部から読み込み、あるいは、外部のサーバからダウンロードすることで取得することができる。
【０１５０】
前記接触部位特定部４４は、ロボット１の各種類の動作パターン毎に、前記異常接触の発生が前記異常接触検知部４３により検知された場合に、所要の複数の参照パラメータの観測値を用いて、異常接触部位（異常接触が発生した部位）を特定する。
【０１５１】
より詳しくは、本実施形態では、接触部位特定部４４は、前記異常接触の発生が前記異常接触検知部４３により検知された場合に、所要の参照パラメータ（異常接触部位の特定のために参照対象のパラメータとして使用する参照パラメータ）のそれぞれについての前記誤差積分値（異常接触の発生の検知時における誤差積分値）を取得し、この誤差積分値から、ロボット１の各種類の動作パターン毎にあらかじめ作成された接触部位特定用モデルＢｉ（ｉ＝１，２，…）を用いて異常接触部位を特定する。
【０１５２】
ここで、本実施形態で、前記異常接触部位を特定するというのは、より詳しくは、前記異常接触部位が属する可動リンク（以降、異常接触発生可動リンクという）が、どの可動リンク３又は４であるかを特定する共に、該異常接触部位が、異常接触発生可動リンク３又は４のどの位置の部位であるかを特定することである。
【０１５３】
この場合、異常接触発生可動リンクとして特定される可動リンク３又は４は、より詳しくは、空中移動状態の１つの遊脚側可動リンクである。
【０１５４】
また、異常接触発生可動リンクにおける異常接触部位の位置の特定に関しては、本実施形態では、例えば、該異常接触発生可動リンクの基体２寄りの領域内の位置（以降、基体側領域の位置という）と、該異常接触発生可動リンクの先端寄りの領域内の位置（以降、先端側領域の位置という）と、これらの基体側領域と先端側領域との間の領域内の位置（以降、中間領域の位置という）との３種類の位置に分類して、異常接触部位の位置が特定される。
【０１５５】
また、本実施形態では、異常接触部位を特定するために、参照対象のパラメータとして使用する参照パラメータの種類は、ロボット１の各種類の動作パターン毎に、前記異常接触検知部４３の処理で使用する参照パラメータの種類と同じである。
【０１５６】
例えば、「４脚移動」の動作パターンでのロボット１の動作中に、異常接触の発生が検知された場合に、異常接触部位を特定するために使用する参照パラメータは、異常接触の発生の有無を検知する場合と同様に、４つの可動リンク３Ｌ，３Ｌ，４Ｒ，４Ｒのそれぞれの接触反力Ｍz，Ｆx，Ｆyと、ＺＭＰ変化速度DZMPx，DZMPyとから成る総計１４個の参照パラメータである。
【０１５７】
このため、本実施形態では、接触部位特定部４４は、異常接触検知部４３において、異常接触の発生の検知時に算出された各参照パラメータ（ロボット１の動作パターンの種類に対応する各参照パラメータ）の誤差積分値を、異常接触検知部４３から取得する。
【０１５８】
なお、接触部位特定部４４において、各参照パラメータの誤差積分値を逐次算出する処理を実行しておき、該接触部位特定部４４が、異常接触検知部４３による異常接触の発生の検知時に算出した各参照パラメータの誤差積分値を取得するようにしてもよい。
【０１５９】
そして、接触部位特定部４４は、異常接触の発生の検知時における各参照パラメータの誤差積分値から、ロボット１の動作パターンの種類に対応する接触部位特定用モデルＢｉにより、異常接触部位を特定する。
【０１６０】
この場合、ロボット１の各種類の動作パターンに対応する接触部位特定用モデルＢｉは、該動作パターンの種類に対応する各参照パラメータの誤差積分値から、異常接触発生可動リンクがいずれの可動リンクであるかを示す情報（以降、接触可動リンク特定情報という）と、異常接触部位が異常接触発生可動リンクのどの位置の部位であるかを示す情報（以降、接触位置特定情報という）とを決定するように構成されている。
【０１６１】
かかる接触部位特定用モデルＢｉは、本実施形態では、ロボット１の各種類の動作パターン毎に、教師データ付きの分類手法、例えば多クラスＳＶＭを用いてあらかじめ作成される。
【０１６２】
この作成作業においては、様々な動作環境で、ロボット１を各種類の動作パターンで実際に動作させながら、空中移動状態の遊脚側可動リンクのそれぞれの各部（基体側領域、中間領域及び先端側領域のそれぞれ）を外界物に接触させた状況における各参照パラメータの誤差積分値のサンプリングデータが、教師データとして収集される。そして、各種類の動作パターン毎に、収集された教師データから、多クラスＳＶＭにより接触部位特定用モデルＢｉが作成される。
【０１６３】
この場合、多クラスＳＶＭを用いることで、異常接触発生可動リンクの特定と、該異常接触発生可動リンクでの異常接触部位の位置の特定とを行い得る接触部位特定用モデルＢｉを適切に作成することができる。
【０１６４】
補足すると、接触検知用モデルＡｉの作成作業に関して補足説明したことと同様に、異常接触部位の特定のために参照対象のパラメータとして使用する参照パラメータの種類を探索的に選定することも可能である。
【０１６５】
前記停止制御実行部４５は、ロボット１の動作中に、異常接触検知部４３により異常接触の発生が検知された場合に、ロボット１の動作パターンの種類に応じた所定の停止動作パターンで、ロボット１の移動動作を停止させるように、ロボット１の各関節を関節アクチュエータ３２を介して制御する。
【０１６６】
図４は、図３で例示したロボット１の各種類の動作パターンのそれぞれに対応する停止動作パターンを例示している。
【０１６７】
なお、この例では、「４脚移動」は、さらにトロットの形態での高速移動と、トロットの形態での低速移動と、クロールの形態での移動とに区分している。
【０１６８】
ここで、図４に示す停止動作パターンのうち、「関節ロック」は、異常接触の発生の検知時におけるロボット１の動作パターンの種類に応じて規定される所定の可動リンクの各関節の変位を強制的に停止させる（該所定の可動リンクの各関節の変位量を異常接触の発生の検知時の変位量に一致もしくはほぼ一致する変位量に固定する）という動作である。
【０１６９】
この「関節ロック」では、対象の可動リンクの先端部の位置及び姿勢は、異常接触の発生の検知後、一定に維持されることとなる。例えば、「関節ロック」の対象の可動リンクが、空中移動状態の脚リンク３（遊脚側可動リンクとなっている脚リンク３）である場合、該脚リンク３の先端部（足部１３）の高さは、図５Ａのグラフで例示する如く、異常接触の発生の検知後、一定に維持される。なお、「関節ロック」の対象の可動リンクが、支持脚側可動リンクである場合には、該可動リンクの先端部は、外界物に接触した状態に継続的に保たれる。
【０１７０】
また、図４に示す停止動作パターンのうち、「遊脚その場降ろし」は、異常接触の発生の検知時におけるロボット１の動作パターンの種類に応じて規定される所定の遊脚側可動リンクの先端部を、異常接触の発生の検知時における位置から、ほぼ鉛直方向で真下に下降させて、着地させるという動作である。
【０１７１】
この「遊脚その場降ろし」では、異常接触の発生の検知時以後、例えば図５Ｂのグラフで例示する如く、対象の遊脚側可動リンク（例えば脚リンク３）の先端部をその直下の外界物表面（床面、地面等）まで速やかに移動させて着地させるように、該遊脚側可動リンクの各関節が関節アクチュエータ３２を介して駆動される。
【０１７２】
なお、図５Ｂでは、遊脚側可動リンクの先端部を一定速度で下降させる場合を例示しているが、例えば、該遊脚側可動リンクの先端部が外界物表面にある程度近づいたら減速するようにしてもよい。
【０１７３】
また、図４に示す停止動作パターンのうち、「リアルタイム停止動作」は、異常接触の発生の検知時におけるロボット１の動作パターンの種類に応じて規定される所定の遊脚側可動リンクの先端部を、異常接触の発生の検知時の位置から、ロボット１の安定性を確保しつつ、速やかに（詳しくは、異常接触の発生前の動作目標に応じて該遊脚側可動リンクの先端部の移動を行う場合よりも早期に）着地させ得るように生成した軌道（該遊脚側可動リンクの先端部の目標位置及び目標姿勢の軌道）で動かすことで着地させるという動作である。
【０１７４】
この「リアルタイム停止動作」では、異常接触の発生の検知時以後、例えば図５Ｃのグラフで例示する如く、対象の遊脚側可動リンク（例えば脚リンク３）の先端部を移動させるように、該先端部の目標位置及び目標姿勢の軌道が生成され、該軌道に従って、対象の遊脚側可動リンクの先端部を移動させるように、該遊脚側可動リンクの各関節が関節アクチュエータ３２を介して駆動される。
【０１７５】
補足すると、異常接触の発生の検知前のロボット１の動作中に、逐次、現在時点で異常接触の発生が検知されたと仮定した場合に、各遊脚側可動リンクの先端部をリアルタイム停止動作のパターンで着地させるための軌道を仮想的に生成しておき、異常接触の発生が実際に検知された場合に、対象の遊脚側可動リンクの先端部を、直前に生成したリアルタイム停止動作用の軌道で着地させるように、該遊脚側可動リンクの各関節を駆動することも可能である。
【０１７６】
図４に戻って、本実施形態では、異常接触の発生の検知時におけるロボット１の動作パターンが、ロボット１の移動を、トロットの形態で比較的高速に行う「４脚移動」である場合には、停止制御実行部４５は、停止動作のパターンとして、例えば「リアルタイム停止動作」を採用する。
【０１７７】
ここで、トロットの形態の「４脚移動」では、４つの可動リンク３Ｌ，３Ｒ，４Ｌ，４Ｒのそれぞれが、１つずつ順番に遊脚側可動リンクとして空中移動を行う。このため、「リアルタイム停止動作」の対象とされる可動リンクは、異常接触の発生の検知時に遊脚側可動リンクとなっていた（空中移動状態の）１つの可動リンク３Ｌ又は３Ｒ又は４Ｌ又は４Ｒである。
【０１７８】
なお、本実施形態では、前記異常接触検知部４３は、「リアルタイム停止動作」の実行中にも、異常接触の発生の有無を逐次検知する。そして、「リアルタイム停止動作」の実行途中に、異常接触の発生が新たに検知された場合には、停止制御実行部４５は、停止動作のパターンを、「リアルタイム停止動作」から、「遊脚その場降ろし」に変更する。この場合、「遊脚その場降ろし」の対象の可動リンクは、「リアルタイム停止動作」の対象の可動リンクと同じである。
【０１７９】
また、異常接触の発生の検知時におけるロボット１の動作パターンが、ロボット１の移動を、トロットの形態で比較的低速に行う「４脚移動」である場合、あるいは、ロボット１の移動を、クロールの形態で行う「４脚移動」である場合には、停止制御実行部４５は、停止動作のパターンとして、例えば「遊脚その場降ろし」を採用する。
【０１８０】
この場合、トロットの形態及び低速の「４脚移動」では、「遊脚その場降ろし」の対象の可動リンクは、前記したトロットの形態及び高速の「４脚移動」の場合と同じ（遊脚側可動リンクとなっていた１つの可動リンク３Ｌ又は３Ｒ又は４Ｌ又は４Ｒ）である。
【０１８１】
また、クロールの形態の「４脚移動」では、４つの可動リンク３Ｌ，３Ｒ，４Ｌ，４Ｒのうちの対角線方向の２つの可動リンクの組（可動リンク３Ｌ，４Ｒの組、及び可動リンク３Ｒ，４Ｌの組）が交互に遊脚側可動リンクとして動作する。このため、クロールの形態の「４脚移動」では、「遊脚その場降ろし」の対象の可動リンクは、遊脚側可動リンクとなっていた２つの可動リンク（３Ｌ，４Ｒ）又は（３Ｒ，４Ｌ）である。
【０１８２】
また、異常接触の発生の検知時におけるロボット１の動作パターンが、「２脚移動（手付き無し）」、あるいは、「２脚移動＋壁手付き」、あるいは、「２脚移動＋ドア開閉」、あるいは、「手摺り付き階段昇降」である場合には、停止制御実行部４５は、停止動作のパターンとして、例えば「リアルタイム停止動作」を採用する。
【０１８３】
この場合、上記のいずれの動作パターンでも、「リアルタイム停止動作」の対象の可動リンクは、脚リンク３Ｌ，３Ｒのうち、遊脚側可動リンクとなっていた１つの可動リンク３Ｌ又は３Ｒである。
【０１８４】
なお、「リアルタイム停止動作」の実行途中で、異常接触の発生が検知された場合には、前記したトロットの形態及び高速の「４脚移動」の場合と同様に、停止動作のパターンが、「リアルタイム停止動作」から、「遊脚その場降ろし」に変更される。
【０１８５】
また、異常接触の発生の検知時におけるロボット１の動作パターンが、「梯子リーチング」あるいは「梯子昇降」である場合には、停止制御実行部４５は、停止動作のパターンとして、例えば「関節ロック」を採用する。
【０１８６】
この場合、「関節ロック」の対象の可動リンクは、全ての可動リンク３Ｌ，３Ｒ，４Ｌ，４Ｒである。
【０１８７】
ここで、本発明と本実施形態との対応関係について補足しておく。本実施形態では、移動ロボット１の各種類の動作パターン毎の、前記参照パラメータは、異常接触検知部４３の処理と、接触部位特定部４４の処理とで共通であるので、本発明における接触検知用の参照パラメータに相当するものであると同時に、接触部位特定用の参照パラメータに相当するものである。
【０１８８】
また、本実施形態では、移動ロボット１の各種類の動作パターン毎に、前記接触検知用モデルＡｉと、前記誤差積分値の算出処理とを合わせたものが、本発明における接触検知用モデルに相当する。同様に、移動ロボット１の各種類の動作パターン毎に、前記接触部位特定用モデルＢｉと、前記誤差積分値の算出処理とを合わせたものが、本発明における接触部位特定用モデルに相当する。
【０１８９】
また、各参照パラメータの正規化観測値と正規化目標値との偏差が本発明における偏差量に相当する。
【０１９０】
また、前記停止動作パターンで可動リンクを動かす動作が、本発明における応答動作に相当する。
【０１９１】
次に、ロボット１の動作中における全体的な作動制御を図６及び図７のフローチャートを参照して説明する。
【０１９２】
制御装置３０は、ロボット１の動作中（前記動作目標生成部４１により動作目標を生成しつつ、該動作目標に応じて関節制御部４２によりロボット１の各関節の駆動制御を行っている状態）で、図６のフローチャートに示す処理を所定の制御処理周期で逐次実行する。
【０１９３】
ＳＴＥＰ１において、制御装置３０は、異常接触の発生の有無を検知する処理（異常接触検知部４３の処理）を実行することの要求が有るか否かを判断する。
【０１９４】
本実施形態では、外部のサーバもしくは操縦装置のオペレータが、異常接触検知部４３の処理の要否を適宜、制御装置３０に指令することが可能となっており、その指令に基づいて、ＳＴＥＰ１の判断処理が行われる。なお、例えばロボット１の外界状態のセンシングデータ等に基づいて、異常接触検知部４３の処理の要否を判断する処理を、制御装置３０が実行し得るように構成されていてもよい。
【０１９５】
ＳＴＥＰ１の判断結果が否定的である場合には、各制御処理周期での図６の処理は終了する。一方、ＳＴＥＰ１の判断結果が肯定的である場合には、次にＳＴＥＰ２において、制御装置３０は、ロボット１の現在の制御処理周期での動作パターンの種類を示す情報を取得する。該動作パターンの種類を示す情報は、例えば、外部のサーバもしくは操縦装置から与えられる。あるいは、該動作パターンの種類を示す情報は、外部のサーバもしくは操縦装置から与えられた動作指令、あるいは、あらかじめティーチングされた動作スケジュールに基づいて、制御装置３０により決定される。
【０１９６】
次いで、ＳＴＥＰ３において、制御装置３０は、ロボット１の現在の動作パターンの種類に対応する接触検知用モデルＡｉが有るか否か（作成済であるか否か）を判断する。
【０１９７】
この判断処理では、より具体的には、例えば、制御装置３０は、自身の記憶部に該当の接触検知用モデルＡｉ（ロボット１の現在の動作パターンに対応する接触検知用モデルＡｉ）が既に保存されているか否かを判断し、保存されていない場合には、さらに、外部のサーバとの通信によって、該当の接触検知用モデルＡｉが外部のサーバに保存されているか否かを確認する。
【０１９８】
この場合、制御装置３０の記憶部と外部のサーバとの両方に、該当の接触検知用モデルＡｉが保存されていない場合に、ＳＴＥＰ３の判断結果が否定的になる。この場合には、各制御処理周期での図６の処理は終了する。
【０１９９】
また、制御装置３０の記憶部と外部のサーバとのいずれかに、該当の接触検知用モデルＡｉが保存されいる場合には、ＳＴＥＰ３の判断結果が肯定的になる。この場合には、制御装置３０は、次に、ＳＴＥＰ４，５において、前記異常接触検知部４３の処理を実行する。
【０２００】
なお、制御装置３０の記憶部に該当の接触検知用モデルＡｉが保存されていない場合には、該当の接触検知用モデルＡｉが外部のサーバから制御装置３０の記憶部にダウンロードされた上で、前記異常接触検知部４３の処理が実行される。
【０２０１】
ＳＴＥＰ４では、異常接触検知部４３は、該当の動作パターンに対応する参照パラメータ（図３に示した如く、動作パターンの種類毎に定められた所定種類の参照パラメータ）のそれぞれの前記誤差積分値を取得する。この場合、本実施形態では、異常接触検知部４３は、前記した如く、各参照パラメータの観測値と目標値とを逐次取得しつつ、各参照パラメータの誤差積分値を逐次（各制御処理周期毎に）算出する。
【０２０２】
続くＳＴＥＰ５では、異常接触検知部４３は、該当の動作パターンに対応する参照パラメータのそれぞれの誤差積分値の組から、該当の動作パターンに対応する接触検知用モデルＡｉにより、前記異常接触判定情報を決定する。
【０２０３】
次いで、制御装置３０は、ＳＴＥＰ６において、前記異常接触判定情報が異常接触の発生を示す情報であるか否かを確認することで、異常接触が発生したか否かを判断する。
【０２０４】
このＳＴＥＰ６の判断結果が否定的である場合（異常接触が発生していない場合）には、各制御処理周期での図６の処理は終了する。
【０２０５】
一方、ＳＴＥＰ６の判断結果が肯定的である場合（異常接触が発生したことが検知された場合）には、制御装置３０は、ＳＴＥＰ７において、異常接触が発生したことを示す報知情報を外部のサーバもしくは操縦装置に出力する。これに応じて、外部のサーバもしくは操縦装置のオペレータは、ロボット１で異常接触が発生したことを認識することができる。ひいては、該オペレータは、ロボット１の状態検査を行ったり、あるいは、ロボット１の以後の作業を変更する等の処置をとることができる。
【０２０６】
なお、異常接触が発生した旨の報知は、ロボット１に備えたランプもしくは発音器等を介して行うようにしてもよい。
【０２０７】
次いで、ＳＴＥＰ８において、制御装置３０は、ロボット１の停止動作が必要であるか否かを判断する。
【０２０８】
この判断は、例えば、外部のサーバもしくは操縦装置から与えられる指令、あるいは、あらかじめ定められた規則、あるいは、ロボット１の動作目標と実際の動作状態との乖離度合等に基づくロボット１の安定性の評価結果等に基づいて行われる。
【０２０９】
そして、ＳＴＥＰ８の判断結果が否定的である場合には、各制御処理周期での図６の処理は終了する。
【０２１０】
一方、ＳＴＥＰ８の判断結果が否定的である場合には、制御装置３０は、次にＳＴＥＰ９において、前記停止制御実行部４５により、ロボット１の停止動作の制御処理を実行する。
【０２１１】
この停止動作の制御処理では、停止制御実行部４５は、異常接触の発生の検知時（ＳＴＥＰ６の判断結果が肯定的となった制御処理周期の時刻）のロボット１の動作パターンの種類に応じて、前記図４に例示した如くあらかじめ定められた規則に従って、ロボット１の停止動作パターンを選定する。すなわち、停止制御実行部４５は、異常接触の発生の検知時のロボット１の動作パターンの種類に応じて、「関節ロック」、「遊脚その場降ろし」及び「リアルタイム停止動作」のいずれかの停止動作パターンを選定する。
【０２１２】
そして、停止制御実行部４５は、異常接触の発生の検知時のロボット１の動作パターンの種類に応じて前記した如く規定される対象の可動リンクに関して、選定したパターンでの停止動作を行うように、当該対象の可動リンクの関節を関節アクチュエータ３２を介して制御する。
【０２１３】
なお、停止動作パターンとして、「リアルタイム停止動作」を選定した場合には、前記した如く、異常接触検知部４３の処理が引き続き実行される。そして、「リアルタイム停止動作」の実行途中で、異常接触の発生が再び検知された場合には、停止制御実行部４５は、「遊脚その場降ろし」の停止動作を、当該対象の可動リンクに行わせる。
【０２１４】
また、図６の処理で、異常接触の発生が検知された場合（ＳＴＥＰ６の判断結果が肯定的になった場合には）、制御装置３０は、さらに図７のフローチャートに示す処理を実行する。なお、例えば、「リアルタイム停止動作」の実行中に、異常接触の発生が検知された場合にも、図７のフローチャートに示す処理を実行してもよい。
【０２１５】
図７の処理では、まず、ＳＴＥＰ１１において、制御装置３０は、異常接触部位を特定することの要求があるか否かを判断する。この判断は、前記した図６のＳＴＥＰ１と同様に、サーバもしくは操縦装置のオペレータにより制御装置３０に与えられる指令に基づいて行われる。
【０２１６】
ＳＴＥＰ１１の判断結果が否定的である場合には、図７の処理は終了する。一方、ＳＴＥＰ１１の判断結果が肯定的である場合には、次にＳＴＥＰ１２において、異常接触の発生の検知時におけるロボット１の動作パターンの種類を示す情報を取得する。
【０２１７】
さらに、ＳＴＥＰ１３において、制御装置３０は、異常接触の発生の検知時における動作パターンに対応する接触部位特定用モデルＢｉが有るか否か（作成済であるか否か）を判断する。
【０２１８】
この判断処理は、前記した図６のＳＴＥＰ３と同様に行われる。すなわち、制御装置３０は、自身の記憶部に該当の接触部位特定用モデルＢｉ（異常接触の発生の検知時における動作パターンに対応する接触部位特定用モデルＢｉ）が既に保存されているか否かを判断し、保存されていない場合には、さらに、外部のサーバとの通信によって、該当の接触部位特定用モデルＢｉが外部のサーバに保存されているか否かを確認する。
【０２１９】
この場合、制御装置３０の記憶部と外部のサーバとの両方に、該当の接触部位特定用モデルＢｉが保存されていない場合に、ＳＴＥＰ１３の判断結果が否定的になる。この場合には、図７の処理は終了する。
【０２２０】
また、制御装置３０の記憶部と外部のサーバとのいずれかに、該当の接触部位特定用モデルＢｉが保存されいる場合には、ＳＴＥＰ１３の判断結果が肯定的になる。この場合には、制御装置３０は、次に、ＳＴＥＰ１４，１５において、前記接触部位特定部４４の処理を実行する。
【０２２１】
なお、制御装置３０の記憶部に該当の接触部位特定用モデルＢｉが保存されていない場合には、該当の接触部位特定用モデルＢｉが外部のサーバから制御装置３０の記憶部にダウンロードされた上で、前記接触部位特定部４４の処理が実行される。
【０２２２】
ＳＴＥＰ１４では、接触部位特定部４４は、異常接触の発生の検知時における動作パターンに対応する参照パラメータ（図３に示した如く、動作パターンの種類毎に定められた所定種類の参照パラメータ）のそれぞれの前記誤差積分値を取得する。この場合、本実施形態では、接触部位特定部４４は、異常接触の発生の検知時に前記異常接触検知部４３が算出した誤差積分値を取得する。
【０２２３】
続くＳＴＥＰ１５では、接触部位特定部４４は、異常接触の発生の検知時における動作パターンに対応する参照パラメータのそれぞれの誤差積分値の組から、当該動作パターンに対応する接触部位特定用モデルＢｉにより、前記異常接触部位を特定する（前記接触可動リンク特定情報及び前記接触位置特定情報を決定する）。
【０２２４】
次いで、制御装置３０は、ＳＴＥＰ１６において、異常接触部位を特定結果を示す報知情報（接触可動リンク特定情報及び接触位置特定情報）を外部のサーバもしくは操縦装置に出力する。これに応じて、外部のサーバもしくは操縦装置のオペレータは、異常接触発生可動リンクが、ロボット１のどの可動リンクであるかを、接触可動リンク特定情報により認識することができると共に、該異常接触発生可動リンクのどのあたりの位置で、異常接触が発生したかを、接触位置特定情報により認識することができる。ひいては、該オペレータ等のロボット１の管理者は、ロボット１の異常接触部位の状態検査、補修等の処置を適切にとることができる。
【０２２５】
なお、接触可動リンク特定情報及び接触位置特定情報を制御装置３０の記憶部に記憶保持しておき、後に、これらの情報をロボット１の管理者等が随時、参照できるようにしてもよい。
【０２２６】
以上説明した本実施形態によれば。ロボット１の動作制御のために該ロボット１の各可動リンク３，４に搭載されている力検出器３１により検出される各可動リンク３，４の接触反力と、該接触反力の関数値である接触反力関数値（本実施形態ではＺＭＰ変化速度）とを、異常接触の発生の有無の検知、及び異常接触部位の特定のための参照パラメータ（参照対象のパラメータ）として使用する。このため、異常接触の発生の有無の検知、あるいは、異常接触部位の特定のために新たなセンサをロボット１に搭載することを必要とせずに、既存の力検出器３１を利用して、ロボット１の様々な動作パターンでの動作中に、異常接触の発生の有無の検知、及び異常接触部位の特定をそれぞれリアルタイムで適切に行うことができる。
【０２２７】
また、ロボット１の複数種類の動作パターンのそれぞれ毎に個別に、参照パラメータとして使用するパラメータの種類を選定しておくので、各種類での動作パターンでの動作中に、異常接触の発生の有無の検知、及び異常接触部位の特定を、高い信頼性で実現することができる。
【０２２８】
さらに、異常接触の発生の有無の検知、及び異常接触部位の特定のために前記誤差積分値を使用するので、異常発生の有無の検知結果及び異常接触部位の特定結果のそれぞれの信頼性を高めることができる。
【０２２９】
また、異常接触の発生が検知された場合に、ロボット１の動作パターンの種類に応じて、前記した停止動作パターンで、対象の可動リンクの停止動作を行うので、異常接触の発生に起因して、ロボット１のバランスが崩れるのを極力早期に防止することができる。ひいては、ロボット１の損傷の増大化等を防止できる。
【０２３０】
なお、本発明は、以上説明した実施形態に限定されるものではない。以下、いくつかの変形態様を説明する。
【０２３１】
前記実施形態では、参照パラメータ（接触検知用の参照パラメータ及び接触部位特定用の参照パラメータ）として、グローバル座標系で見た接触反力（並進力ベクトル及びモーメントベクトル）の各座標軸成分を使用した。ただし、ロボット１の動作パターンの種類等によっては、グローバル座標系以外の他の座標系（例えば、各力検出器３１のセンサ座標系）で見た接触反力の座標軸成分、あるいは、座標軸方向とは限らない所定方向の成分を、接触検知用の参照パラメータ又は接触部位特定用の参照パラメータとして使用することも可能である。
【０２３２】
また、前記実施形態では、参照パラメータ（接触検知用の参照パラメータ及び接触部位特定用の参照パラメータ）として使用可能な接触反力関数値として、ＺＭＰ変化速度を採用した。ただし、接触反力関数値として、他の種類のパラメータを用いることも可能である。例えば、ＺＭＰの位置を接触反力関数値として用いることも可能である。あるいは、目標ＺＭＰ周りでロボット１の全体に作用する外力モーメント（全ての支持脚側可動リンク３，４のそれぞれの接触反力の合力によって目標ＺＭＰ周りに発生するモーメント）のＸ軸周り方向成分及びＹ軸周り方向成分を、接触反力関数値として用いることも可能である。
【０２３３】
また、例えば、いずれかの可動リンク３，４のそれぞれの接触反力の所定の成分の線形結合値等を接触反力関数値をして用いることも可能である。
【０２３４】
また、前記実施形態では、ロボット１の各種類の動作パターンで、異常接触の発生の有無を検知するために使用する参照パラメータ（接触検知用の参照パラメータ）の種類と、異常接触部位の特定のために使用する参照パラメータ（接触部位特定用の参照パラメータ）の種類とが同じである場合を例示した。
【０２３５】
ただし、ロボット１のいずれかの種類の動作パターンに対応する接触検知用の参照パラメータの種類と、接触部位特定用の参照パラメータの種類とは、互いに異なっていもてよい。例えば、いずれかの種類の動作パターンに対応する接触部位特定用の参照パラメータの種類は、接触検知用の参照パラメータの種類よりも多いもの、あるいは、少ないものであってもよい。
【０２３６】
また、前記実施形態では、異常接触検知部４３及び接触部位特定部４４のそれぞれの処理で、前記誤差積分値を使用した。ただし、異常接触検知部４３及び接触部位特定部４４のそれぞれの処理において、該誤差積分値の代わりに、例えば、各参照パラメータの正規化観測値と正規化目標値との偏差の、所定の時間幅毎の平均値を使用してもよい。
【０２３７】
さらに、上記誤差積分値又は平均値の算出を行う時間幅を、ロボット１の動作パターンの種類に応じて異ならせることも可能である。
【０２３８】
さらに、ロボット１の動作パターンの種類によっては、異常接触検知部４３及び接触部位特定部４４のそれぞれの処理で、各参照パラメータの正規化観測値と正規化目標値との偏差の積分値又は平均値の代わりに、例えば、各参照パラメータの観測値と目標値との偏差の積分値又は平均値を使用することも可能である。
【０２３９】
また、ロボット１の動作パターンの種類によっては、異常接触検知部４３及び接触部位特定部４４のそれぞれの処理で、例えば、参照パラメータの目標値を用いずに、該参照パラメータの観測値（あるいは、正規化観測値）から、異常接触の発生の有無を検知すること、あるいは、異常接触部位と特定することを行うことも可能である。
【０２４０】
また、前記した制御装置３０の全体の処理又は一部の処理を、ロボット１の外部のコンピュータで実行することも可能である。
【０２４１】
また、本発明を適用し得る移動ロボットは、前記した構成のロボット１（人型のロボット）に限られない。例えば、移動ロボットは、例えば、３つ以上の脚リンクを有するロボット、あるいは、腕リンクを持たないロボット、あるいは３つ以上の腕リンクを有するロボット等であってもよい。
【符号の説明】
【０２４２】
１…移動ロボット、２…基体、３Ｌ，３Ｒ…脚リンク（可動リンク）、４Ｌ，４Ｒ…腕リンク（可動リンク）、３１…力検出器。
【図１】
2018144149.tif 000003
【図２】
2018144149.tif 000004
【図３】
2018144149.tif 000005
【図４】
2018144149.tif 000006
【図５】
2018144149.tif 000007
【図６】
2018144149.tif 000008
【図７】
2018144149.tif 000009