(57)【要約】【課題】  歩行ロボットに異常が発生した場合に、その異常に適した異常処理を選択して実行する技術を提供する。【解決手段】  歩行ロボットは、一対の脚リンクの各脚関節の角度を変化させて歩行する。その歩行ロボットは、歩容データに基づいて各脚関節の角度を調整するコントローラ６３と、歩行ロボットに発生した異常を検出するとともに、検出した異常が立脚および遊脚の少なくとも一方の部位で発生したか否かを検出する異常検出手段７６を備えている。コントローラ６３は、異常検出手段７６が異常を検出し、検出した異常が立脚および遊脚のいずれでもない部位で発生した場合に、歩容データに基づく各脚関節の角度調整を継続するととともに、各脚関節の動作速度を減速させながら各足先を所定回数接地させてから、各足先が接地した状態で各脚関節をロックする異常処理を実行する。【選択図】  図４
2007007799.tif 000002
【特許請求の範囲】
【請求項１】
一対の脚リンクの各脚関節の角度を変化させて歩行するロボットであり、
一対の脚リンクの各足先の位置を指定する歩容データを記憶している歩容データ記憶手段と、
歩容データ記憶手段が記憶している歩容データに基づいて各脚関節の角度を調整するコントローラと、
歩行ロボットに発生した異常を検出するとともに、検出した異常が立脚および遊脚の少なくとも一方の部位で発生したか否かを検出する異常検出手段を備えており、
コントローラは、異常検出手段が異常を検出し、検出した異常が立脚および遊脚のいずれでもない部位で発生した場合に、歩容データに基づく各脚関節の角度調整を継続するととともに、各脚関節の動作速度を減速させながら各足先を所定回数接地させてから、各足先が接地した状態で各脚関節をロックする第１異常処理を実行することを特徴とする歩行ロボット。
【請求項２】
コントローラは、さらに異常が立脚において発生したものか、有脚において発生したものかを検出可能であり、異常検出手段が遊脚の異常を検出した場合に、その遊脚の足先が接地した後に全脚関節をロックする第２異常処理を実行することを特徴とする請求項１の歩行ロボット。
【請求項３】
コントローラは、異常検出手段が立脚の異常を検出した場合に、全脚関節を自由動作可能な状態にする第３異常処理を実行することを特徴とする請求項１又は２の歩行ロボット。
【請求項４】
コントローラは、異常検出手段が複数部位の異常を検出した場合に、第１異常処理、第２異常処理、第３異常処理の内の順序の遅い異常処理を優先して実行することを特徴とする請求項３の歩行ロボット。
【請求項５】
コントローラは、異常検出手段が立脚と遊脚の双方以外の部位の異常を検出した場合に、各足先が所定回数接地してから各足先が接地した状態で各脚関節がロックするまで、目標軌道に沿って歩行ロボットを歩行させることを特徴とする請求項１から４のいずれかの歩行ロボット。
【請求項６】
胴体の速度または加速度を検出する第１胴体センサと、
胴体の移動方向を検出する第２胴体センサを備えており、
コントローラは、第１胴体センサが検出した胴体の速度または加速度が所定値以上の場合に、第２胴体センサが検出した胴体の移動方向の水平方向成分が延びる側に遊脚の足先が接地するように、歩容データ記憶手段が記憶している歩容データを変更することを特徴とする請求項１から５のいずれかの歩行ロボット。
【請求項７】
請求項１から６のいずれかの歩行ロボットの複数が隊列を組んで歩行する歩行ロボット群であり、
歩行ロボット間の通信手段を備えており、
一の歩行ロボットが異常処理を実行するときには他の歩行ロボットにそれを通信し、
それを受信した他の歩行ロボットも異常処理を実行することを特徴とする歩行ロボット群。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、歩行ロボットに関するものである。特に、歩行ロボットで異常が発生した場合の対処技術に関するものである。
【背景技術】
【０００２】
特許文献１には、歩行しているロボットを非常停止させる技術が開示されている。歩行ロボットは、マイクロフォンと、非常停止コントローラと、ロボットコントローラを備えている。オペレータは、歩行ロボットを非常停止させようとするときに、非常停止用の笛を吹く。笛の音がマイクロフォンによってとらえられると、非常停止コントローラは、ロボットコントローラに非常停止信号を出力する。ロボットコントローラは、非常停止信号が入力されると、歩行ロボットを非常停止させる。特許文献１に開示されている技術は、オペレータが歩行しているロボットを看視しており、オペレータが異常を認めた場合に歩行ロボットを非常停止させるものである。
【０００３】
【特許文献１】特開平５−３１８３４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
歩行ロボットには、歩行中に種々の異常が発生することがある。異常の種類によっては、歩行ロボットを非常停止させないで、動作を継続させたほうがよい場合もある。例えば、腕の関節に異常が発生したような場合には、歩行には直接的な影響がないことから、歩行を継続して緩やかに停止させる方が好ましい。非常停止させると、慣性の影響等によって歩行ロボットがバランスを崩し、かえって深刻な事態に発展することもありえる。あるいは遊脚に異常が発生した場合も、非常停止させないで動作を継続させた方がよいこともある。遊脚に異常が発生した段階で非常停止させると、歩行ロボットが片足接地状態で姿勢を固定してしまい、そのまま転倒しかねない。もちろん、非常停止を必要する異常もある。従来の技術では、異常の種類に対応してそれに適した異常処理を選択することができない。
本発明では、歩行ロボットに異常が発生した場合に、その異常に適した異常処理を選択して実行する技術を提供する。
【課題を解決するための手段】
【０００５】
本発明が提供する歩行ロボットは、一対の脚リンクの各脚関節の角度を変化させて歩行する。その歩行ロボットは、一対の脚リンクの各足先の位置を指定する歩容データを記憶している歩容データ記憶手段と、歩容データ記憶手段が記憶している歩容データに基づいて各脚関節の角度を調整するコントローラと、歩行ロボットに発生した異常を検出するとともに、検出した異常が立脚および遊脚の少なくとも一方の部位で発生したか否かを検出する異常検出手段を備えている。コントローラは、異常検出手段が異常を検出し、検出した異常が立脚および遊脚のいずれでもない部位で発生した場合に、歩容データに基づく各脚関節の角度調整を継続するととともに、各脚関節の動作速度を減速させながら各足先を所定回数接地させてから、各足先が接地した状態で各脚関節をロックする第１異常処理を実行する。
立脚および遊脚のいずれでもない部位で異常が発生した場合、歩行ロボットは歩行を継続することができる。慣性力等によって転倒するかもしれない危険にさらしてまで、歩行ロボットを非常停止させる必要がない。
上述の歩行ロボットは、立脚および遊脚のいずれでもない部位で異常が発生した場合に第１異常処理を実行する。第１異常処理を実行すると、歩行ロボットは歩容データに基づいて歩行しながら減速し、最後に各足先が接地した状態（両足立脚状態）で停止する。歩行を続けながら緩やかに減速してから停止するので、異常処理の間に歩行ロボットがバランスを崩すことがなく、両足立脚状態で停止する。腕の関節等の、立脚でも遊脚でもないその他の部位に異常が発生した場合に適した異常処理が実行される。
【０００６】
上記のロボットにおいて、コントローラは、さらに異常が立脚において発生したものか、有脚において発生したものかを検出可能であり、異常検出手段が遊脚の異常を検出した場合に、その遊脚の足先が接地した後に全脚関節をロックする第２異常処理を実行することが好ましい。
この歩行ロボットは、遊脚に異常が発生した場合に、第２異常処理を実行することによって、遊脚の足先が接地した後に全脚関節をロックする。よって、歩行ロボットは、両足立脚状態に至るまでは予定の動作を継続し、両足立脚状態に至った段階で停止する。遊脚に異常が発生した場合に適した異常処理が実行される。
【０００７】
上記の歩行ロボットにおいて、コントローラは、異常検出手段が立脚の異常を検出した場合に、全脚関節を自由動作可能な状態にする第３異常処理を実行することが好ましい。
この歩行ロボットは、立脚の異常が発生した場合に、第３異常処理を実行することによって、全脚関節を自由動作可能な状態にする。ここで、「脚関節が自由動作可能な状態」とは、脚関節に外力が作用した場合に、脚関節がその外力に抗せずに自由に動くことができる状態を意味する。立脚の異常が発生した場合には、歩行ロボットは、歩行を継続できない。よって、この場合には、全脚関節を自由動作可能な状態にすることによって、歩行ロボットをしゃがみ込ませる。
【０００８】
上記の歩行ロボットにおいて、コントローラは、異常検出手段が複数部位の異常を検出した場合に、第１異常処理、第２異常処理、第３異常処理の内の順序の遅い異常処理を優先して実行することが好ましい。
この歩行ロボットは、複数部位の異常が発生した場合に、第１異常処理、第２異常処理、第３異常処理の内の順序の遅い異常処理を優先して実行することによって、異常に適した異常処理を行うことができる。
【０００９】
上記の歩行ロボットにおいて、コントローラは、異常検出手段が立脚と遊脚の双方以外の部位の異常を検出した場合に、各足先が所定回数接地してから各足先が接地した状態で各脚関節がロックするまで目標軌道に沿って歩行ロボットを歩行させることが好ましい。
このようになっていると、歩行ロボットが障害物の近傍を通る目標軌道に沿って歩行しているときに、立脚と遊脚の双方以外の部位の異常が検出されても、目標軌道に沿って歩行してから停止することによって、障害物との干渉を防止することができる。
【００１０】
上記の歩行ロボットにおいて、胴体の速度または加速度を検出する第１胴体センサと、胴体の移動方向を検出する第２胴体センサを備えており、コントローラは、第１胴体センサが検出した胴体の速度または加速度が所定値以上の場合に、第２胴体センサが検出した胴体の移動方向の水平方向成分が延びる側に遊脚の足先が接地するように、歩容データ記憶手段が記憶している歩容データを変更することが好ましい。
歩行ロボットは、転倒しそうになると、第１胴体センサが検出する胴体の速度または加速後が所定値以上になる。そのときには、歩容データを変更することによって、第２胴体センサが検出した胴体の移動方向の水平方向成分が延びる側に遊脚の足先を接地させる。よって、歩行ロボットの転倒が防止される。
【００１１】
複数台の歩行ロボットが隊列を組んで歩行することがある。この場合、隊列を構成する一台の歩行ロボットに異常が発生した場合に、異常が発生した歩行ロボットにのみ異常処理を実行させると、異常処理を実行する歩行ロボットと正常な歩行ロボットが干渉し、接触して転倒する等の事態に発展する可能性がある。
そこで、隊列を組んで歩行する歩行ロボット群の場合、歩行ロボット間の通信手段を備えており、一の歩行ロボットが異常処理を実行するときには他の歩行ロボットにそれを通信し、それを受信した他の歩行ロボットも異常処理を実行することが好ましい。
この歩行ロボット群によると、異常処理を実行する歩行ロボットと正常処理を継続する歩行ロボットが干渉する事態の発生を防止でき、異常が深刻な事態に発展することを防止できる。
【発明の効果】
【００１２】
本発明の歩行ロボットは、異常現象が発生した部位を特定し、異常発生部位に適した異常処理を実行する。異常が発生してもその異常から深刻な事態に発生しないように異常処理することができる。
【発明を実施するための最良の形態】
【００１３】
本発明の好適な実施形態を例示する。
（形態１）
共通の軸を持つ一対の駆動輪を用いて走行するロボットであり、
各駆動輪を独立して駆動する駆動手段と、
昇降可能であるとともに、降下位置で接地することによって走行ロボットを所定姿勢に維持する補助輪と、
駆動手段と補助輪を制御するコントローラと、
走行ロボットに発生した異常を検出するとともに、異常発生部位を判別可能な異常検出手段を備えており、
コントローラは、走行中に異常検出手段が駆動輪以外の部位の異常を検出した場合に、減速しながら所定距離走行後に駆動輪を停止するとともに補助輪を降下させ、異常検出手段が駆動輪の異常を検出した場合に、駆動輪を停止するとともに補助輪を降下させることを特徴とする走行ロボット。
【実施例】
【００１４】
（第１実施例）
本発明のロボットに係る第１実施例について、図面を参照しながら説明する。
図１に示すように、ロボット１０は、左脚１２、右脚１４、胴体１５、左腕１６、右腕１７、頭部６０を備えている。図２は、それらの機械的接続状態を図示している。以下においては、説明の便宜上、図２に示すｘ、ｙ、ｚ軸の３軸からなる座標系を設定する。ｘ軸（ロール軸）は、ロボット１０の前後方向に延びている。ｙ軸（ピッチ軸）は、ロボット１０の左右方向に延びている。ｚ軸（ヨー軸）は、ロボット１０の上下方向に延びている。また、関節と、その関節を駆動する関節アクチュエータに同一の符号を用いる。例えば、左膝関節２２と記載することもあるし、左膝関節アクチュエータ２２と記載することもある。
【００１５】
左脚１２は、左股関節４０、左上腿２１、左膝関節２２、左下腿２３、左足首関節２４、左６軸力センサ２５、左足先２６を有している。左股関節４０は、腰４９と左上腿２１を接続しており、ｘ、ｙ、ｚ軸廻りの関節角度を変化させる。左膝関節２２は、左上腿２１と左下腿２３を接続しており、ｙ軸廻りの関節角度を変化させる。左足首関節２４は、左下腿２３と左６軸力センサ２５を接続しており、ｘ軸廻りと、ｙ軸廻りの関節角度を変化させる。左足先２６は、左６軸力センサ２５に固定されている。左６軸力センサ２５は、左足首関節２４と左足先２６との間に作用する６つの軸力を検出する。具体的には、ｘ軸方向の力、ｙ軸方向の力、ｚ軸方向の力、ｘ軸廻りのモーメント、ｙ軸廻りのモーメント、ｚ軸廻りのモーメントを検出する。
右脚１４は、右股関節４８、右上腿３１、右膝関節３２、右下腿３３、右足首関節３４、右６軸力センサ３５、右足先３６を有している。右脚１４の構成は、左脚１２と同様である。従って、これ以上の説明は省略する。
【００１６】
左腕４１は、左肩関節４６、左上腕４２、左肘関節４３、左前腕４４、左掌４５を有している。左肩関節４６は、肩４７と左上腕４２を接続している。左肩関節４６は、ｘ軸廻りと、ｙ軸廻りの関節角度を変化させる。左肘関節４３は、左上腕４２と左前腕４４を接続しており、ｙ軸廻りの関節角度を変化させる。左掌４５は、左前腕４４に取り付けられている。
右腕５１は、右肩関節５６、右上腕５２、右肘関節５３、右前腕５４、右掌５５を有している。右腕５１の構成は、左腕４１と同様なので、これ以上の説明は省略する。
頭部６０は、首関節６１を介して肩４７と接続されている。首関節６１は、ｘ軸廻りの関節角度と、ｙ軸廻りの関節角度を変化させる。
【００１７】
図３は、ロボット１０の制御系を模式的に示している。中央コントローラ６３は、胴体１５内に装着されている。中央コントローラ６３には、通信線６４を介して、首関節アクチュエータ６１と左肩関節アクチュエータ４６と左肘関節アクチュエータ４３が直列に接続されている。中央コントローラ６３には、通信線６５を介して右肩関節アクチュエータ５６と右肘関節アクチュエータ５３が直列に接続されている。中央コントローラ６３には、通信線６６を介して左股関節アクチュエータ４０と左膝関節アクチュエータ２２と左足首関節アクチュエータ２４と左６軸力センサ２５が直列に接続されている。中央コントローラ６３には、通信線６７を介して、右股関節アクチュエータ４８と右膝関節アクチュエータ３２と右足首関節アクチュエータ３４と右６軸力センサ３５が直列に接続されている。通信線６４、６５、６６、６７はシリアル通信線である。中央コントローラ６３は、通信線６４、６５、６６、６７を介して、関節２２、２４、３２、３４、４０、４３、４６、４８、５３、５６、６１（以下においては、各関節を識別する必要がない場合には、これらの関節、あるいは個々の関節を、単に「関節」と記載する）、６軸力センサ２５、３５との間で、各種情報をパケット通信する。通信線６４、６５、６６、６７を介してパケット通信を行うことにより、中央コントローラ６３と、関節や６軸力センサ２３、２５との間の電気的インターフェイスが簡略化されている。なお、中央コントローラ６３には、後述するＧセンサ９３等が接続されているが、図３ではそれらの図示を省略している。
【００１８】
図４に示すように、中央コントローラ６３は、外部通信ユニット７２、Ｇセンサ９３、ジャイロ９４、動作指令ユニット７０を有している。中央コントローラ６３には、電源線（図示省略）を経由して電力が供給されている。
外部通信ユニット７２には、アンテナ７４が接続されている。外部通信ユニット７２は、アンテナ７４が受信した信号を動作指令ユニット７０が処理可能なデータ形式に変換し、動作指令ユニット７０に出力する。また、動作指令ユニット７０は、外部通信ユニット７２にロボット１０の動作状態に係る情報を送信する。外部通信ユニット７２は、受信した情報をアンテナ７４から送信可能な信号に変換する。アンテナ７４は、信号を外部に送信する。
Ｇセンサ９３とジャイロ９４は、胴体１５内に装着されており、それぞれ動作指令ユニット７０に接続されている。Ｇセンサ９３は、胴体１５の加速度を検出する。ジャイロ９４は、胴体１５の姿勢を検出する。
【００１９】
動作指令ユニット７０は、データ記憶部７５と異常処理記憶部７６を有している。データ記憶部７５は、歩容データと目標軌道データと動作指令プログラムを記憶している。歩容データは、左足先２６と腰４９と右足先３６の位置と姿勢に係る経時的データである。目標軌道データは、ロボット１０が歩行しようとする目標軌道に係るデータである。動作指令ユニット７０は、動作指令プログラムを用いて、外部通信ユニット７２、６軸力センサ２５、３５、Ｇセンサ９３、ジャイロ９４から入力される信号と、歩容データと、目標軌道データを処理し、各関節毎の動作コマンドを設定する。動作コマンドは、各関節に出力される。各関節は、動作コマンドに従って関節角度を変化させる。ロボット１０は、各関節が動作コマンドに従って関節角度を変化させることによって歩行する。
異常処理記憶部７６は、異常処理ロジックを記憶している。異常処理記憶部７６は、異常が発生している関節から関節異常信号（後述する）が入力された場合に、記憶している異常処理プログラムを用いて異常処理を実行することにより、異常処理コマンドを設定する。異常処理コマンドは、各関節に出力される。
【００２０】
関節アクチュエータについて説明する。各関節アクチュエータは、共通した構成を有しているので、左膝関節アクチュエータ２２で代表して説明する。図５に示すように、左膝関節アクチュエータ２２は、モータコントローラ８０、モータ駆動回路８１、モータ８３、エンコーダ８９を備えている。
モータコントローラ８０は、モータ駆動指令生成部８５と異常看視部８６を有している。モータコントローラ８０には、電源線８７を経由して電力が供給されている。モータコントローラ８０のモータ駆動指令生成部８５には、通信線６６を介して、中央コントローラ６３から動作コマンドが入力される。
モータ駆動指令生成部８５は、中央コントローラ６３からの動作コマンドに応じた指令信号を、モータ駆動回路８１に出力する。モータ駆動回路８１には、電源線８２を経由して電力が供給されている。モータ駆動回路８１は、モータ駆動指令生成部８５から入力された指令信号に基づいて、モータ８３を回転させる。モータ８３は、その駆動軸に連結されている減速機構（図示省略）を介して左膝関節２２を駆動する。左下腿２３は、モータ８３が一方側に回転した場合に、左膝関節２２廻りに一方向（例えば、後方）に回動する。左下腿２３は、モータ８３が他方側に回転した場合に、左膝関節２２廻りに他方向（例えば、前方）に回動する。また、左膝関節アクチュエータ２２は、モータ８３の駆動軸を拘束するロック機構（図示省略）を有している。
エンコーダ８９は、左膝関節２２の関節角度を検出する。エンコーダ８９が検出した左膝関節２２の関節角度は、モータコントローラ８０に出力される。
モータとエンコーダは、関節アクチュエータの軸毎に設けられている。上述した左膝関節アクチュエータ２２は、１軸（ｙ軸）を持っているので、モータ８３を１つと、エンコーダ８９を１つ有している。例えば、左股関節アクチュエータ４０は、３軸（ｘ軸、ｙ軸、ｚ軸）を持っている。従って、左股関節アクチュエータ４０は、モータを３つと、エンコーダを３つ有している。
【００２１】
異常看視部８６は、モータ駆動指令生成部８５が出力した指令信号に応じてモータ８３が回転しているか否かを看視している。具体的には、エンコーダ８９が検出した左膝関節２２の関節角度から、指令信号に応じてモータ８３が回転しているか否かを看視している。異常看視部８６は、指令信号に応じてモータ８３が回転していない場合に、関節異常信号を中央コントローラ６３に出力する。既に説明したように、中央コントローラ６３の異常処理記憶部７６は、関節から関節異常信号が入力された場合に、異常処理を実行することによって異常処理コマンドを設定する。異常処理コマンドは、各関節に出力される。
【００２２】
中央コントローラ６３の異常処理記憶部７６が実行する異常処理について説明する。
図６に示すように、異常処理Ｓ１０の最初の処理であるＳ１１では、関節から関節異常信号が入力したか否かを判別する。Ｓ１１で関節から関節異常信号が入力していないと判別した場合（ＮＯの場合）には、そのまま待機する。Ｓ１１で関節から関節異常信号が入力したと判別した場合（ＹＥＳの場合）には、Ｓ１２に移行する。
Ｓ１２では、初回の異常であるか否かを判別する。初回の異常であるとは、ロボット１０が歩行を開始してから最初に発生した異常であることを意味する。Ｓ１２で初回の異常であると判別した場合（ＹＥＳの場合）には、Ｓ１４を実行する。
Ｓ１４では、異常なのは立脚の足関節であるか否かを判別する。立脚とは、地面に接している脚を意味する。ロボット１０は、両脚（左脚１２と右脚１４）で立脚することもあるし、片脚（左脚１２、または右脚１４）で立脚することもある。これに対して、地面に接していない脚を「遊脚」と言う。Ｓ１４で、異常なのは立脚の足関節であると判別した場合（ＹＥＳの場合）には、Ｓ１６に移行する。
【００２３】
Ｓ１６では、異常な足関節と正常な足関節と腕関節に、図７に示す種類〔１〕の内容の異常処理コマンドを指令する。また、首関節６１に種類〔４〕の内容の異常処理コマンドを指令する。種類〔１〕の異常処理の内容は、関節をフリーに回転可能にすることである。具体的には、各関節アクチュエータのモータ駆動回路が、モータに供給する電力をオフにする。このため、左脚１２の各関節と、右脚１４の各関節は、ロボット１０に作用する重力によって回動する。このため、ロボット１０は、その場にしゃがみ込む。腕４１、５１は、腕の関節がフリーに回転可能になっているので、ロボット１０がしゃがみ込んだときに、地面に触れても突っ張らない。従って、しゃがみ込む途中のロボット１０の姿勢が安定する。種類〔４〕の異常処理の内容は、関節をロックすることである。首関節６１をロックすると、頭部６０が首関節６１廻りにブラブラしない。頭部６０がブラブラしないと、しゃがみ込む途中のロボット１０の姿勢が安定する。
立脚は、ロボット１０を支えている脚である。このため、立脚の足関節が異常な場合には、ロボット１０の姿勢を安定させることができない可能性が高い。よって、立脚の足関節が異常な場合、ロボット１０は、姿勢を崩して転倒することがある。本実施例のロボット１０は、立脚の足関節が異常な場合、しゃがみ込むことによって、転倒してしまうのを防止している。以下においては、ロボット１０がこのようにしゃがみ込むことを「緊急しゃがみ込み」と言う。
Ｓ１６に続いて、Ｓ１１を再び実行する
【００２４】
Ｓ１４で、異常なのは立脚の足関節でないと判別した場合（ＮＯの場合）には、Ｓ１８を実行する。Ｓ１８では、異常なのは遊脚の足関節であるか否かを判別する。Ｓ１８で異常なのは遊脚の足関節であると判別した場合（ＹＥＳの場合）には、Ｓ２０に移行する。
Ｓ２０では、異常な足関節（すなわち遊脚の足関節）に、図７に示す種類〔２〕の内容の異常処理コマンドを指令する。また、正常な足関節に種類〔３〕の内容の異常処理コマンドを指令する。さらには、腕関節と首関節に種類〔４〕の内容の異常処理コマンドを指令する。種類〔２〕の異常処理の内容は、関節をフリーに回転可能にするとともに、遊脚が接地したら所定時間後に関節をロックすることである。種類〔３〕の異常処理の内容は、関節の動作を継続するとともに、遊脚が接地したら所定時間後に関節をロックすることである。遊脚が接地したか否かは、６軸力センサ２５、３５の出力から判断する。既に説明したように、種類〔４〕の異常処理の内容は、関節をロックすることである。
６軸力センサ２５、３５を装備せず、例えば、脚１２、１４の各関節の角度から遊脚が接地したか否かを推定することもできる。
【００２５】
Ｓ２０を実行すると、例えば、左脚１２が遊脚の状態で左足首関節２４に異常が発生した場合、左足首関節２４がフリーに回転可能になるとともに、それ以外の正常な足関節（関節２２、３２、３４、４０、４８）は、動作を継続する。正常な足関節が動作を継続することにより、左脚１２の左足先２６は地面に接地する。左足首関節２４がフリーに回転可能になっているので、左足先２６は地面に倣う。そして、左足先２６が接地してから所定時間後に、左足首関節２４がロックする。その所定時間は、左足先２６が接地してから地面に倣うまでの値が設定されている。左足先２６が接地してから所定時間後に、正常な足関節がロックする。従って、ロボット１０は、両足立脚の状態で停止する。また、腕関節（関節４３、４６、５３、５６）と首関節６１は、ロックする。腕関節と首関節６１がロックすることによって、腕４１、５１と頭部６０はブラブラしない。腕４１、５１と頭部６０がブラブラしないと、ロボット１０は、安定した状態で両足立脚する。以下においては、ロボット１０が、このように両足立脚で停止することを「緊急停止」と言う。
Ｓ２０に続いて、再びＳ１１を実行する。
【００２６】
Ｓ１８で異常なのは遊脚の足関節でないと判別した場合（ＮＯの場合）には、Ｓ２２に移行する。このように判別されるのは、腕関節（関節４３、４６、５３、５６）、首関節６１が異常な場合である。
Ｓ２２では、足関節に、図７に示す種類〔５〕の内容の異常処理コマンドを指令する。腕関節と首関節６１には、種類〔４〕の内容の異常処理コマンドを指令する。種類〔５〕の異常処理の内容は、関節の動作を継続しながらその回動速度を遅くし、所定歩数歩行してから両足立脚の状態で関節をロックすることである。上述したように、Ｓ１８でＮＯと判別してＳ２２が実行されるのは、腕関節、首関節６１が異常な場合である。すなわち、足関節の異常ではないので、歩行することができる。従って、ロボット１０を、立脚の足関節に異常が発生したときのようにしゃがみ込ませたり（緊急しゃがみ込み）、遊脚の足関節に異常が発生したときのように遊脚が接地したら直ぐに両足立脚状態で停止（緊急停止）させるのではなく、足関節の動作を継続しながらその回動速度を遅くし、所定歩数歩行してから両足立脚状態で足関節をロックする。腕関節と首関節６１は、種類〔４〕の内容の異常処理コマンドが入力されることにより、ロックする。以下においては、ロボット１０がこのように所定歩数歩行してから、その後に両足立脚の状態で停止することを「安全停止」と言う。
上述した緊急停止が実行された場合、ロボット１０は急に停止する。ロボット１０は、緊急停止した場合、慣性力によって姿勢が崩れやすい。これに対して安全停止では、ロボット１０は、足関節の回動速度が遅くなってから、すなわち前進速度が遅くなってから停止する。よって、姿勢が崩れにくい。
Ｓ２２の次に、再びＳ１１を実行する。
【００２７】
中央コントローラ６３の異常処理記憶部７６の機能を、各関節アクチュエータに持たせることもできる。例えば、左脚１２が遊脚であり、そのときに左膝関節２２が異常になったとする。その場合には、左膝関節アクチュエータ２２は、自らをフリーに回転させるとともに、左脚１２が接地したら自らを所定時間後にロックする処理を選択し、その選択結果を中央コントローラ６３に出力する。中央コントローラ６３は、その他の関節アクチュエータに左膝関節２２が異常になったことを出力する。他の関節アクチュエータは、異常処理を選択して自ら実行する。すなわち、他の足関節のアクチュエータは、動作を継続するとともに、左脚１２が接地したら所定時間後に自らをロックする。腕と首のアクチュエータは、ロックする。中央コントローラ６３は、複数の異常が発生した場合の異常処理の優先順位を記憶しており、そのような異常が発生すると、優先順位に従って動作するように各関節アクチュエータに指令する。このように構成すると、異常処理の選択を各関節アクチュエータが実行するので、中央コントローラ６３の負荷を軽減することができる。
【００２８】
一方、Ｓ１２で初回の異常ではないと判別した場合（ＮＯの場合）、すなわち２回目以降の異常が発生した場合には、異常優先処理Ｓ４０を実行する。
図８に示すように、異常優先処理Ｓ４０のＳ４４では、異常なのは立脚の足首関節であるか否かを判別する。Ｓ４４で異常なのは立脚の足首関節であると判別した場合（ＹＥＳの場合）には、Ｓ４６を実行する。Ｓ４６では、異常な足関節と正常な足関節と腕関節に、図７に示す種類〔１〕の内容の異常処理コマンドを指令する。また、首関節６１に種類〔４〕の内容の異常処理コマンドを指令する。種類〔１〕の異常処理の内容は、関節をフリーに回転可能にすることである。従って、ロボット１０は、緊急しゃがみ込みを行う。
このように、２回目以降の異常で立脚の関節が異常になった場合には、それ以前の異常がどのようなものであっても、ロボット１０は緊急しゃがみ込みを行う。例えば、異常処理Ｓ１０（図６参照）のＳ２２が実行されることによって、ロボット１０が両足立脚で停止する前に減速して歩行している状態で、立脚の関節が異常になってＳ４６が実行されると、ロボット１０は緊急しゃがみ込みを行う。Ｓ４６を実行してから、リターンして異常処理Ｓ１０のＳ１１を再び行う。
Ｓ４４で異常なのは立脚の足関節でないと判別した場合（ＮＯの場合）には、Ｓ４８に移行する。Ｓ４４で異常なのは立脚の足関節でないと判別するのは、遊脚の足関節、腕関節、首関節６１が異常な場合である。Ｓ４８では、異常なのは遊脚の足関節であるか否かを判別する。Ｓ４８で異常なのは遊脚の足関節であると判別した場合（ＹＥＳの場合）には、Ｓ５０を行う。
【００２９】
Ｓ５０では、異常処理の種類〔１〕を実行中であるか否かを判別する。Ｓ５０において異常処理の種類〔１〕を実行中であると判別した場合（ＹＥＳの場合）には、Ｓ５２に移行する。Ｓ５２では、異常処理の種類〔１〕の実行を継続する。すなわち、遊脚の足関節で初回の異常が発生した場合には、両足立脚の状態で停止するのであるが、遊脚の足関節に２回目以降の異常が発生したときに異常処理の種類〔１〕を実行中である場合には、種類〔１〕を優先して行う。Ｓ５２を実行してから、リターンして異常処理Ｓ１０のＳ１１を再び行う。Ｓ５０で異常処理の種類〔１〕を実行中でないと判別した場合（ＮＯの場合）には、Ｓ５４を実行する。
Ｓ５４は、異常処理Ｓ１０のＳ２０と同内容である。従って、Ｓ５４を実行すると、ロボット１０は、遊脚が接地してから両足立脚状態で停止する。Ｓ５４を実行してから、リターンして異常処理Ｓ１０のＳ１１を再び行う。
一方、Ｓ４８で異常なのは遊脚の足関節ではないと判別した場合（ＮＯの場合）には、Ｓ５５を実行する。Ｓ４８でＮＯと判別されるのは、腕関節が異常であるか、あるいは首関節６１が異常な場合である。Ｓ５５では、異常処理の種類〔１〕を実行中であるか否かを判別する。Ｓ５５で異常処理の種類〔１〕を実行中であると判別した場合（ＹＥＳの場合）には、Ｓ５２に移行することによって、異常処理の種類〔１〕の実行を継続する。Ｓ５５で異常処理の種類〔１〕を実行中でないと判別した場合（ＮＯの場合）には、Ｓ５６を行う。
Ｓ５６は、異常処理Ｓ１０のＳ２２と同内容である。従って、ロボット１０は、所定歩数歩行してから両足立脚の状態で停止する。Ｓ５６を実行してから、リターンして異常処理Ｓ１０のＳ１１を再び行う。
【００３０】
図９は、ロボット１０が緊急停止するときの左脚１２と右脚１４の動作を、地面に接地したときの左足先２６と右足先３６の位置で例示している。ロボット１０は、曲線状の目標軌道９０に沿いながら、紙面上方に向かって歩行している。右足先３６が「Ａ」の位置で接地しており、左足先２６が「Ｂ」の位置で地面から離れて「Ｃ」の位置で接地するために前方に向かっているときに（右脚１４が立脚であり、左脚１２が遊脚であるときに）、左脚先２６が「Ｄ」の位置を通過したタイミングで左脚１２の左膝関節２２に異常が発生したとする。この場合には、遊脚である左脚１２の足関節に異常が発生しているので緊急停止が行われる。ロボット１０は、右足先３６が「Ａ」の位置で接地し、左足先２６が「Ｃ」の位置で接地した状態で、両足立脚の姿勢で緊急停止する。
【００３１】
図１０は、安全停止するとき左足先２６と右足先３６の位置を示している。ロボット１０は、曲線状の目標軌道９１に沿いながら、紙面上方に向かって歩行している。右足先３６が「Ｆ」の位置で接地しており、左足先２６が「Ｇ」の位置で地面から離れて「Ｈ」の位置で接地するために前方に向かっているときに、左足先２６が「Ｊ」の位置を通過したタイミングで右腕５１の右肘関節５３に異常が発生したとする。腕の関節に異常が発生しているので、この場合には、安全停止が行われる。具体的には、左足先２６が「Ｈ」の位置で接地すると、右足先３６が「Ｆ」の位置で地面から離れる（左脚１２が立脚になり、右脚１４が遊脚になる）。右足先３６が「Ｋ」の位置で接地すると、左足先２６は「Ｈ」の位置で地面から離れる。そして左足先２６は、「Ｌ」の位置で接地する。ロボット１０は、左足先２６と右足先３６を揃えた状態で、両足立脚姿勢で停止する。「Ｊ」のタイミングで異常が発生してから、左脚１２と右脚１４の足関節は、回動速度が徐々に遅くなる。従って、ロボット１０は、歩行速度が徐々の遅くなりながら歩行し、最後に停止する。歩行速度が徐々に遅くなりながら停止すると、緊急停止する場合よりも、ロボット１０の姿勢が崩れにくくなる。
目標軌道は、障害物の近傍を通過するように設定されていることがある。ロボット１０が安全停止するときに、目標軌道に沿って停止すると、ロボット１０と障害物の干渉を防止することができる。
【００３２】
複数のロボット（ロボット群）が互いに干渉しない目標軌道に沿って同時に歩行している場合、一部のロボットに異常が発生した場合には、他のロボットも、異常が発生したロボットと同じ動作（緊急しゃがみ込み、緊急停止、安全停止）を実行するのが好ましい。一部のロボットに異常が発生した場合に、他のロボットも異常が発生したロボットと同じ動作を実行すると、ロボット同士の干渉を防止できる。この場合、個々のロボットは、外部通信ユニット７２とアンテナ７４を介して互いに通信することによって、他のロボットに異常が発生したことを感知し、異常が発生したロボットと同じ動作を実行する。
例えば、複数のロボットが異なる目標軌道を干渉しないように歩行しているときに、１台のロボットの腕関節に異常が発生したとする。そのときには、全てのロボットが、それぞれの目標軌道に沿って移動しながら安全停止する。よって、ロボット同士の干渉が防止される。
【００３３】
ロボット１０は、地面の凹凸に躓いたりした場合に、姿勢が崩れて転倒しそうになることがある。本発明のロボット１０は、転倒しそうになった場合に、それを防止する動作を実行する。以下、その動作について説明する。
ロボット１０が転倒しそうか否かは、胴体１５に内蔵しているＧセンサ９３の検出値を用いる。詳しくは、Ｇセンサ９３が検出した加速度を積分処理することにより胴体の速度を求め、その値が所定値以上である場合には、転倒しそうだと判断する。また、ジャイロ９４の検出値から、胴体１５の移動方向を求める。そして、その移動方向側に左脚１２あるいは右脚１４が踏み出すような歩容データを生成する。歩容データに基づいて、胴体１５の移動方向側に左脚１２あるいは右脚１４が踏み出すことによって、ロボット１０の転倒を防止する。
【００３４】
例えば、図１１に示すように、「Ｔ」の位置で左足先２６が接地した状態で、右足先３６が「Ｐ」の位置で地面から離れ、「Ｑ」の位置で接地しようとしていたときに、Ｇセンサ９３とジャイロ９４によって、胴体１５が所定値以上の速度で、「Ｒ」の方向に移動しているのが検出されたとする。すなわち、ロボットは、右前のめりに転倒しそうになっている。この場合には、「Ｓ」の位置に右足先３６を接地させ、そのまま両足立脚することによって、ロボット１０の転倒を防止する。
例えば、図１２に示すように、「Ｕ」の位置で左足先２６が接地した状態で、右足先３６が「Ｖ」の位置で地面から離れ、「Ｗ」の位置で接地しようとしていたときに、Ｇセンサ９３とジャイロ９４によって、胴体１５が所定値以上の速度で、「Ｘ」の方向に移動しているのが検出されたとする。この場合には、「Ｗ」の位置に右足先３６を接地させてから、左足先２６を「Ｕ」の位置で地面から離してから「Ｙ」の位置で接地させ、そのまま両足立脚状態にすることによって、ロボット１０の転倒を防止する。あるいは、右足先３６を「Ｖ」の位置から直接「Ｙ」の位置に移動することにより、転倒を防止する。
【００３５】
（第２実施例）
本発明のロボットに係る第２実施例について、図面を参照しながら説明する。
図１３、図１４に示すように、ロボット１５０は、台車部１５１、胴体１５２、左腕１５３、右腕１５４、頭部１５６を備えている。台車部１５１は、左駆動輪１６０、右駆動輪１６１、一対の前方補助輪１６３、一対の後方補助輪１６４を有している。駆動輪１６０、１６１は、モータ（図示省略）によって駆動される。モータはコントローラ（図示省略）によって制御されている。コントローラには、異常処理を実行するプログラムも格納されている。補助輪１６３、１６４は、昇降機構（図示省略）に昇降されて、上昇位置（図１３、図１４に示す位置）と、降下位置（図１５に示す位置）に配置される。補助輪１６３、１６４は、降下位置に配置された状態で、地面と接触する。
ロボット１５０は、駆動輪１６０、１６１が駆動されることによって、前後のバランスを取りながら２輪走行する。
ロボット１５０は、異常が発生した場合に、緊急停止あるいは安全停止を行う。緊急停止は、駆動輪１６０、１６１を駆動するモータが正常に制御されない場合（例えば、２輪走行状態で前後のバランスが取れない場合）に実行される。ロボット１５０は、緊急停止が実行されると、直ちに停止する。
安全停止は、首関節や、腕１５３、１５４の腕関節が異常な場合に実行される。ロボット１５０は、安全停止が実行されると、減速しながら所定距離を走行し、その後に停止する。
緊急停止の場合でも、安全停止の場合でも、ロボット１５０が停止すると、補助輪１６３、１６４が降下位置に配置される。よって、ロボット１５０は、安定した姿勢で停止する。
【００３６】
例えば、図１６に示すように、目標軌道１７０に沿って紙面上方方向に走行しているロボット１５０で、「Ｍ」のタイミングでモータの制御が異常になったとする。その場合には、ロボット１５０は緊急停止するとともに、補助輪１６３，１６４が降下する。
例えば、図１７に示すように、目標軌道１７１に沿って紙面上方方向に走行しているロボット１５０で、「Ｎ」のタイミングで左腕１５３の腕関節が異常になったとする。この場合には、安全停止が行われ、ロボット１５０は目標軌道に沿って減速しながら所定距離を走行し、その後に停止する。停止するときに、補助輪１６３，１６４が降下する。
【００３７】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時の請求項に記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【００３８】
【図１】ロボットの斜視図。
【図２】ロボットの機械的接続状態を示す斜視図。
【図３】制御系のブロック図。
【図４】中央コントローラのブロック図。
【図５】関節アクチュエータのブロック図。
【図６】異常処理のフローチャート。
【図７】異常処理内容の表。
【図８】異常優先処理のフローチャート。
【図９】ロボットが緊急停止するときの歩行状態説明図。
【図１０】ロボットが安全停止するときの歩行状態説明図。
【図１１】ロボットが転倒を防止するときの歩行状態説明図。
【図１２】ロボットが転倒を防止するときの歩行状態説明図。
【図１３】ロボットの側面図。
【図１４】ロボットの正面図。
【図１５】ロボットの側面図。
【図１６】ロボットが緊急停止するときの走行状態説明図。
【図１７】ロボットが安全停止するときの歩行状態説明図。
【符号の説明】
【００３９】
１０：ロボット
１２：左脚
１４：右脚
１５：胴体
１６：左腕
１７：右腕
２１：左上腿
２２：左膝関節
２３：左下腿
２４：左足首関節
２５：左６軸力センサ
２６：左足先
３１：右上腿
３２：右膝関節
３３：右下腿
３４：右足首関節
３５：右６軸力センサ
３６：右足先
４０：左股関節
４１：左腕
４２：左上腕
４３：左肘関節
４４：左前腕
４５：左掌
４６：左肩関節
４８：右股関節
４９：腰
５２：右上腕
５３：右肘関節
５４：右前腕
５５：左掌
５６：右肩関節
６０：頭部
６１：首関節
６３：中央コントローラ
６４、６５、６６、６７：通信線
７０：動作指令ユニット
７２：外部通信ユニット
７４：アンテナ
７５：データ記憶部
７６：異常処理記憶部
８０：モータコントローラ
８１：モータ駆動回路
８２：電源線
８３：モータ
８５：モータ駆動指令生成部
８６：異常看視部
８７：電源線
８９：エンコーダ
９０、９１：目標軌道
９３：Ｇセンサ
９４：ジャイロ
１５０：ロボット
１５１：台車部
１５２：胴体
１５３：左腕
１５４：右腕
１５６：頭部
１６０：左駆動輪
１６１：右駆動輪
１６３：前方補助輪
１６４：後方補助輪
１７０、１７１：目標軌道
【図１】
2007007799.tif 000003
【図２】
2007007799.tif 000004
【図３】
2007007799.tif 000005
【図４】
2007007799.tif 000006
【図５】
2007007799.tif 000007
【図６】
2007007799.tif 000008
【図７】
2007007799.tif 000009
【図８】
2007007799.tif 000010
【図９】
2007007799.tif 000011
【図１０】
2007007799.tif 000012
【図１１】
2007007799.tif 000013
【図１２】
2007007799.tif 000014
【図１３】
2007007799.tif 000015
【図１４】
2007007799.tif 000016
【図１５】
2007007799.tif 000017
【図１６】
2007007799.tif 000018
【図１７】
2007007799.tif 000019