歩行ロボット
【課題】 歩行ロボットに異常が発生した場合に、その異常に適した異常処理を選択して実行する技術を提供する。
【解決手段】 歩行ロボットは、一対の脚リンクの各脚関節の角度を変化させて歩行する。その歩行ロボットは、歩容データに基づいて各脚関節の角度を調整するコントローラ63と、歩行ロボットに発生した異常を検出するとともに、検出した異常が立脚および遊脚の少なくとも一方の部位で発生したか否かを検出する異常検出手段76を備えている。コントローラ63は、異常検出手段76が異常を検出し、検出した異常が立脚および遊脚のいずれでもない部位で発生した場合に、歩容データに基づく各脚関節の角度調整を継続するととともに、各脚関節の動作速度を減速させながら各足先を所定回数接地させてから、各足先が接地した状態で各脚関節をロックする異常処理を実行する。
【解決手段】 歩行ロボットは、一対の脚リンクの各脚関節の角度を変化させて歩行する。その歩行ロボットは、歩容データに基づいて各脚関節の角度を調整するコントローラ63と、歩行ロボットに発生した異常を検出するとともに、検出した異常が立脚および遊脚の少なくとも一方の部位で発生したか否かを検出する異常検出手段76を備えている。コントローラ63は、異常検出手段76が異常を検出し、検出した異常が立脚および遊脚のいずれでもない部位で発生した場合に、歩容データに基づく各脚関節の角度調整を継続するととともに、各脚関節の動作速度を減速させながら各足先を所定回数接地させてから、各足先が接地した状態で各脚関節をロックする異常処理を実行する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、歩行ロボットに関するものである。特に、歩行ロボットで異常が発生した場合の対処技術に関するものである。
【背景技術】
【0002】
特許文献1には、歩行しているロボットを非常停止させる技術が開示されている。歩行ロボットは、マイクロフォンと、非常停止コントローラと、ロボットコントローラを備えている。オペレータは、歩行ロボットを非常停止させようとするときに、非常停止用の笛を吹く。笛の音がマイクロフォンによってとらえられると、非常停止コントローラは、ロボットコントローラに非常停止信号を出力する。ロボットコントローラは、非常停止信号が入力されると、歩行ロボットを非常停止させる。特許文献1に開示されている技術は、オペレータが歩行しているロボットを看視しており、オペレータが異常を認めた場合に歩行ロボットを非常停止させるものである。
【0003】
【特許文献1】特開平5−318341号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
歩行ロボットには、歩行中に種々の異常が発生することがある。異常の種類によっては、歩行ロボットを非常停止させないで、動作を継続させたほうがよい場合もある。例えば、腕の関節に異常が発生したような場合には、歩行には直接的な影響がないことから、歩行を継続して緩やかに停止させる方が好ましい。非常停止させると、慣性の影響等によって歩行ロボットがバランスを崩し、かえって深刻な事態に発展することもありえる。あるいは遊脚に異常が発生した場合も、非常停止させないで動作を継続させた方がよいこともある。遊脚に異常が発生した段階で非常停止させると、歩行ロボットが片足接地状態で姿勢を固定してしまい、そのまま転倒しかねない。もちろん、非常停止を必要する異常もある。従来の技術では、異常の種類に対応してそれに適した異常処理を選択することができない。
本発明では、歩行ロボットに異常が発生した場合に、その異常に適した異常処理を選択して実行する技術を提供する。
【課題を解決するための手段】
【0005】
本発明が提供する歩行ロボットは、一対の脚リンクの各脚関節の角度を変化させて歩行する。その歩行ロボットは、一対の脚リンクの各足先の位置を指定する歩容データを記憶している歩容データ記憶手段と、歩容データ記憶手段が記憶している歩容データに基づいて各脚関節の角度を調整するコントローラと、歩行ロボットに発生した異常を検出するとともに、検出した異常が立脚および遊脚の少なくとも一方の部位で発生したか否かを検出する異常検出手段を備えている。コントローラは、異常検出手段が異常を検出し、検出した異常が立脚および遊脚のいずれでもない部位で発生した場合に、歩容データに基づく各脚関節の角度調整を継続するととともに、各脚関節の動作速度を減速させながら各足先を所定回数接地させてから、各足先が接地した状態で各脚関節をロックする第1異常処理を実行する。
立脚および遊脚のいずれでもない部位で異常が発生した場合、歩行ロボットは歩行を継続することができる。慣性力等によって転倒するかもしれない危険にさらしてまで、歩行ロボットを非常停止させる必要がない。
上述の歩行ロボットは、立脚および遊脚のいずれでもない部位で異常が発生した場合に第1異常処理を実行する。第1異常処理を実行すると、歩行ロボットは歩容データに基づいて歩行しながら減速し、最後に各足先が接地した状態(両足立脚状態)で停止する。歩行を続けながら緩やかに減速してから停止するので、異常処理の間に歩行ロボットがバランスを崩すことがなく、両足立脚状態で停止する。腕の関節等の、立脚でも遊脚でもないその他の部位に異常が発生した場合に適した異常処理が実行される。
【0006】
上記のロボットにおいて、コントローラは、さらに異常が立脚において発生したものか、有脚において発生したものかを検出可能であり、異常検出手段が遊脚の異常を検出した場合に、その遊脚の足先が接地した後に全脚関節をロックする第2異常処理を実行することが好ましい。
この歩行ロボットは、遊脚に異常が発生した場合に、第2異常処理を実行することによって、遊脚の足先が接地した後に全脚関節をロックする。よって、歩行ロボットは、両足立脚状態に至るまでは予定の動作を継続し、両足立脚状態に至った段階で停止する。遊脚に異常が発生した場合に適した異常処理が実行される。
【0007】
上記の歩行ロボットにおいて、コントローラは、異常検出手段が立脚の異常を検出した場合に、全脚関節を自由動作可能な状態にする第3異常処理を実行することが好ましい。
この歩行ロボットは、立脚の異常が発生した場合に、第3異常処理を実行することによって、全脚関節を自由動作可能な状態にする。ここで、「脚関節が自由動作可能な状態」とは、脚関節に外力が作用した場合に、脚関節がその外力に抗せずに自由に動くことができる状態を意味する。立脚の異常が発生した場合には、歩行ロボットは、歩行を継続できない。よって、この場合には、全脚関節を自由動作可能な状態にすることによって、歩行ロボットをしゃがみ込ませる。
【0008】
上記の歩行ロボットにおいて、コントローラは、異常検出手段が複数部位の異常を検出した場合に、第1異常処理、第2異常処理、第3異常処理の内の順序の遅い異常処理を優先して実行することが好ましい。
この歩行ロボットは、複数部位の異常が発生した場合に、第1異常処理、第2異常処理、第3異常処理の内の順序の遅い異常処理を優先して実行することによって、異常に適した異常処理を行うことができる。
【0009】
上記の歩行ロボットにおいて、コントローラは、異常検出手段が立脚と遊脚の双方以外の部位の異常を検出した場合に、各足先が所定回数接地してから各足先が接地した状態で各脚関節がロックするまで目標軌道に沿って歩行ロボットを歩行させることが好ましい。
このようになっていると、歩行ロボットが障害物の近傍を通る目標軌道に沿って歩行しているときに、立脚と遊脚の双方以外の部位の異常が検出されても、目標軌道に沿って歩行してから停止することによって、障害物との干渉を防止することができる。
【0010】
上記の歩行ロボットにおいて、胴体の速度または加速度を検出する第1胴体センサと、胴体の移動方向を検出する第2胴体センサを備えており、コントローラは、第1胴体センサが検出した胴体の速度または加速度が所定値以上の場合に、第2胴体センサが検出した胴体の移動方向の水平方向成分が延びる側に遊脚の足先が接地するように、歩容データ記憶手段が記憶している歩容データを変更することが好ましい。
歩行ロボットは、転倒しそうになると、第1胴体センサが検出する胴体の速度または加速後が所定値以上になる。そのときには、歩容データを変更することによって、第2胴体センサが検出した胴体の移動方向の水平方向成分が延びる側に遊脚の足先を接地させる。よって、歩行ロボットの転倒が防止される。
【0011】
複数台の歩行ロボットが隊列を組んで歩行することがある。この場合、隊列を構成する一台の歩行ロボットに異常が発生した場合に、異常が発生した歩行ロボットにのみ異常処理を実行させると、異常処理を実行する歩行ロボットと正常な歩行ロボットが干渉し、接触して転倒する等の事態に発展する可能性がある。
そこで、隊列を組んで歩行する歩行ロボット群の場合、歩行ロボット間の通信手段を備えており、一の歩行ロボットが異常処理を実行するときには他の歩行ロボットにそれを通信し、それを受信した他の歩行ロボットも異常処理を実行することが好ましい。
この歩行ロボット群によると、異常処理を実行する歩行ロボットと正常処理を継続する歩行ロボットが干渉する事態の発生を防止でき、異常が深刻な事態に発展することを防止できる。
【発明の効果】
【0012】
本発明の歩行ロボットは、異常現象が発生した部位を特定し、異常発生部位に適した異常処理を実行する。異常が発生してもその異常から深刻な事態に発生しないように異常処理することができる。
【発明を実施するための最良の形態】
【0013】
本発明の好適な実施形態を例示する。
(形態1)
共通の軸を持つ一対の駆動輪を用いて走行するロボットであり、
各駆動輪を独立して駆動する駆動手段と、
昇降可能であるとともに、降下位置で接地することによって走行ロボットを所定姿勢に維持する補助輪と、
駆動手段と補助輪を制御するコントローラと、
走行ロボットに発生した異常を検出するとともに、異常発生部位を判別可能な異常検出手段を備えており、
コントローラは、走行中に異常検出手段が駆動輪以外の部位の異常を検出した場合に、減速しながら所定距離走行後に駆動輪を停止するとともに補助輪を降下させ、異常検出手段が駆動輪の異常を検出した場合に、駆動輪を停止するとともに補助輪を降下させることを特徴とする走行ロボット。
【実施例】
【0014】
(第1実施例)
本発明のロボットに係る第1実施例について、図面を参照しながら説明する。
図1に示すように、ロボット10は、左脚12、右脚14、胴体15、左腕16、右腕17、頭部60を備えている。図2は、それらの機械的接続状態を図示している。以下においては、説明の便宜上、図2に示すx、y、z軸の3軸からなる座標系を設定する。x軸(ロール軸)は、ロボット10の前後方向に延びている。y軸(ピッチ軸)は、ロボット10の左右方向に延びている。z軸(ヨー軸)は、ロボット10の上下方向に延びている。また、関節と、その関節を駆動する関節アクチュエータに同一の符号を用いる。例えば、左膝関節22と記載することもあるし、左膝関節アクチュエータ22と記載することもある。
【0015】
左脚12は、左股関節40、左上腿21、左膝関節22、左下腿23、左足首関節24、左6軸力センサ25、左足先26を有している。左股関節40は、腰49と左上腿21を接続しており、x、y、z軸廻りの関節角度を変化させる。左膝関節22は、左上腿21と左下腿23を接続しており、y軸廻りの関節角度を変化させる。左足首関節24は、左下腿23と左6軸力センサ25を接続しており、x軸廻りと、y軸廻りの関節角度を変化させる。左足先26は、左6軸力センサ25に固定されている。左6軸力センサ25は、左足首関節24と左足先26との間に作用する6つの軸力を検出する。具体的には、x軸方向の力、y軸方向の力、z軸方向の力、x軸廻りのモーメント、y軸廻りのモーメント、z軸廻りのモーメントを検出する。
右脚14は、右股関節48、右上腿31、右膝関節32、右下腿33、右足首関節34、右6軸力センサ35、右足先36を有している。右脚14の構成は、左脚12と同様である。従って、これ以上の説明は省略する。
【0016】
左腕41は、左肩関節46、左上腕42、左肘関節43、左前腕44、左掌45を有している。左肩関節46は、肩47と左上腕42を接続している。左肩関節46は、x軸廻りと、y軸廻りの関節角度を変化させる。左肘関節43は、左上腕42と左前腕44を接続しており、y軸廻りの関節角度を変化させる。左掌45は、左前腕44に取り付けられている。
右腕51は、右肩関節56、右上腕52、右肘関節53、右前腕54、右掌55を有している。右腕51の構成は、左腕41と同様なので、これ以上の説明は省略する。
頭部60は、首関節61を介して肩47と接続されている。首関節61は、x軸廻りの関節角度と、y軸廻りの関節角度を変化させる。
【0017】
図3は、ロボット10の制御系を模式的に示している。中央コントローラ63は、胴体15内に装着されている。中央コントローラ63には、通信線64を介して、首関節アクチュエータ61と左肩関節アクチュエータ46と左肘関節アクチュエータ43が直列に接続されている。中央コントローラ63には、通信線65を介して右肩関節アクチュエータ56と右肘関節アクチュエータ53が直列に接続されている。中央コントローラ63には、通信線66を介して左股関節アクチュエータ40と左膝関節アクチュエータ22と左足首関節アクチュエータ24と左6軸力センサ25が直列に接続されている。中央コントローラ63には、通信線67を介して、右股関節アクチュエータ48と右膝関節アクチュエータ32と右足首関節アクチュエータ34と右6軸力センサ35が直列に接続されている。通信線64、65、66、67はシリアル通信線である。中央コントローラ63は、通信線64、65、66、67を介して、関節22、24、32、34、40、43、46、48、53、56、61(以下においては、各関節を識別する必要がない場合には、これらの関節、あるいは個々の関節を、単に「関節」と記載する)、6軸力センサ25、35との間で、各種情報をパケット通信する。通信線64、65、66、67を介してパケット通信を行うことにより、中央コントローラ63と、関節や6軸力センサ23、25との間の電気的インターフェイスが簡略化されている。なお、中央コントローラ63には、後述するGセンサ93等が接続されているが、図3ではそれらの図示を省略している。
【0018】
図4に示すように、中央コントローラ63は、外部通信ユニット72、Gセンサ93、ジャイロ94、動作指令ユニット70を有している。中央コントローラ63には、電源線(図示省略)を経由して電力が供給されている。
外部通信ユニット72には、アンテナ74が接続されている。外部通信ユニット72は、アンテナ74が受信した信号を動作指令ユニット70が処理可能なデータ形式に変換し、動作指令ユニット70に出力する。また、動作指令ユニット70は、外部通信ユニット72にロボット10の動作状態に係る情報を送信する。外部通信ユニット72は、受信した情報をアンテナ74から送信可能な信号に変換する。アンテナ74は、信号を外部に送信する。
Gセンサ93とジャイロ94は、胴体15内に装着されており、それぞれ動作指令ユニット70に接続されている。Gセンサ93は、胴体15の加速度を検出する。ジャイロ94は、胴体15の姿勢を検出する。
【0019】
動作指令ユニット70は、データ記憶部75と異常処理記憶部76を有している。データ記憶部75は、歩容データと目標軌道データと動作指令プログラムを記憶している。歩容データは、左足先26と腰49と右足先36の位置と姿勢に係る経時的データである。目標軌道データは、ロボット10が歩行しようとする目標軌道に係るデータである。動作指令ユニット70は、動作指令プログラムを用いて、外部通信ユニット72、6軸力センサ25、35、Gセンサ93、ジャイロ94から入力される信号と、歩容データと、目標軌道データを処理し、各関節毎の動作コマンドを設定する。動作コマンドは、各関節に出力される。各関節は、動作コマンドに従って関節角度を変化させる。ロボット10は、各関節が動作コマンドに従って関節角度を変化させることによって歩行する。
異常処理記憶部76は、異常処理ロジックを記憶している。異常処理記憶部76は、異常が発生している関節から関節異常信号(後述する)が入力された場合に、記憶している異常処理プログラムを用いて異常処理を実行することにより、異常処理コマンドを設定する。異常処理コマンドは、各関節に出力される。
【0020】
関節アクチュエータについて説明する。各関節アクチュエータは、共通した構成を有しているので、左膝関節アクチュエータ22で代表して説明する。図5に示すように、左膝関節アクチュエータ22は、モータコントローラ80、モータ駆動回路81、モータ83、エンコーダ89を備えている。
モータコントローラ80は、モータ駆動指令生成部85と異常看視部86を有している。モータコントローラ80には、電源線87を経由して電力が供給されている。モータコントローラ80のモータ駆動指令生成部85には、通信線66を介して、中央コントローラ63から動作コマンドが入力される。
モータ駆動指令生成部85は、中央コントローラ63からの動作コマンドに応じた指令信号を、モータ駆動回路81に出力する。モータ駆動回路81には、電源線82を経由して電力が供給されている。モータ駆動回路81は、モータ駆動指令生成部85から入力された指令信号に基づいて、モータ83を回転させる。モータ83は、その駆動軸に連結されている減速機構(図示省略)を介して左膝関節22を駆動する。左下腿23は、モータ83が一方側に回転した場合に、左膝関節22廻りに一方向(例えば、後方)に回動する。左下腿23は、モータ83が他方側に回転した場合に、左膝関節22廻りに他方向(例えば、前方)に回動する。また、左膝関節アクチュエータ22は、モータ83の駆動軸を拘束するロック機構(図示省略)を有している。
エンコーダ89は、左膝関節22の関節角度を検出する。エンコーダ89が検出した左膝関節22の関節角度は、モータコントローラ80に出力される。
モータとエンコーダは、関節アクチュエータの軸毎に設けられている。上述した左膝関節アクチュエータ22は、1軸(y軸)を持っているので、モータ83を1つと、エンコーダ89を1つ有している。例えば、左股関節アクチュエータ40は、3軸(x軸、y軸、z軸)を持っている。従って、左股関節アクチュエータ40は、モータを3つと、エンコーダを3つ有している。
【0021】
異常看視部86は、モータ駆動指令生成部85が出力した指令信号に応じてモータ83が回転しているか否かを看視している。具体的には、エンコーダ89が検出した左膝関節22の関節角度から、指令信号に応じてモータ83が回転しているか否かを看視している。異常看視部86は、指令信号に応じてモータ83が回転していない場合に、関節異常信号を中央コントローラ63に出力する。既に説明したように、中央コントローラ63の異常処理記憶部76は、関節から関節異常信号が入力された場合に、異常処理を実行することによって異常処理コマンドを設定する。異常処理コマンドは、各関節に出力される。
【0022】
中央コントローラ63の異常処理記憶部76が実行する異常処理について説明する。
図6に示すように、異常処理S10の最初の処理であるS11では、関節から関節異常信号が入力したか否かを判別する。S11で関節から関節異常信号が入力していないと判別した場合(NOの場合)には、そのまま待機する。S11で関節から関節異常信号が入力したと判別した場合(YESの場合)には、S12に移行する。
S12では、初回の異常であるか否かを判別する。初回の異常であるとは、ロボット10が歩行を開始してから最初に発生した異常であることを意味する。S12で初回の異常であると判別した場合(YESの場合)には、S14を実行する。
S14では、異常なのは立脚の足関節であるか否かを判別する。立脚とは、地面に接している脚を意味する。ロボット10は、両脚(左脚12と右脚14)で立脚することもあるし、片脚(左脚12、または右脚14)で立脚することもある。これに対して、地面に接していない脚を「遊脚」と言う。S14で、異常なのは立脚の足関節であると判別した場合(YESの場合)には、S16に移行する。
【0023】
S16では、異常な足関節と正常な足関節と腕関節に、図7に示す種類〔1〕の内容の異常処理コマンドを指令する。また、首関節61に種類〔4〕の内容の異常処理コマンドを指令する。種類〔1〕の異常処理の内容は、関節をフリーに回転可能にすることである。具体的には、各関節アクチュエータのモータ駆動回路が、モータに供給する電力をオフにする。このため、左脚12の各関節と、右脚14の各関節は、ロボット10に作用する重力によって回動する。このため、ロボット10は、その場にしゃがみ込む。腕41、51は、腕の関節がフリーに回転可能になっているので、ロボット10がしゃがみ込んだときに、地面に触れても突っ張らない。従って、しゃがみ込む途中のロボット10の姿勢が安定する。種類〔4〕の異常処理の内容は、関節をロックすることである。首関節61をロックすると、頭部60が首関節61廻りにブラブラしない。頭部60がブラブラしないと、しゃがみ込む途中のロボット10の姿勢が安定する。
立脚は、ロボット10を支えている脚である。このため、立脚の足関節が異常な場合には、ロボット10の姿勢を安定させることができない可能性が高い。よって、立脚の足関節が異常な場合、ロボット10は、姿勢を崩して転倒することがある。本実施例のロボット10は、立脚の足関節が異常な場合、しゃがみ込むことによって、転倒してしまうのを防止している。以下においては、ロボット10がこのようにしゃがみ込むことを「緊急しゃがみ込み」と言う。
S16に続いて、S11を再び実行する
【0024】
S14で、異常なのは立脚の足関節でないと判別した場合(NOの場合)には、S18を実行する。S18では、異常なのは遊脚の足関節であるか否かを判別する。S18で異常なのは遊脚の足関節であると判別した場合(YESの場合)には、S20に移行する。
S20では、異常な足関節(すなわち遊脚の足関節)に、図7に示す種類〔2〕の内容の異常処理コマンドを指令する。また、正常な足関節に種類〔3〕の内容の異常処理コマンドを指令する。さらには、腕関節と首関節に種類〔4〕の内容の異常処理コマンドを指令する。種類〔2〕の異常処理の内容は、関節をフリーに回転可能にするとともに、遊脚が接地したら所定時間後に関節をロックすることである。種類〔3〕の異常処理の内容は、関節の動作を継続するとともに、遊脚が接地したら所定時間後に関節をロックすることである。遊脚が接地したか否かは、6軸力センサ25、35の出力から判断する。既に説明したように、種類〔4〕の異常処理の内容は、関節をロックすることである。
6軸力センサ25、35を装備せず、例えば、脚12、14の各関節の角度から遊脚が接地したか否かを推定することもできる。
【0025】
S20を実行すると、例えば、左脚12が遊脚の状態で左足首関節24に異常が発生した場合、左足首関節24がフリーに回転可能になるとともに、それ以外の正常な足関節(関節22、32、34、40、48)は、動作を継続する。正常な足関節が動作を継続することにより、左脚12の左足先26は地面に接地する。左足首関節24がフリーに回転可能になっているので、左足先26は地面に倣う。そして、左足先26が接地してから所定時間後に、左足首関節24がロックする。その所定時間は、左足先26が接地してから地面に倣うまでの値が設定されている。左足先26が接地してから所定時間後に、正常な足関節がロックする。従って、ロボット10は、両足立脚の状態で停止する。また、腕関節(関節43、46、53、56)と首関節61は、ロックする。腕関節と首関節61がロックすることによって、腕41、51と頭部60はブラブラしない。腕41、51と頭部60がブラブラしないと、ロボット10は、安定した状態で両足立脚する。以下においては、ロボット10が、このように両足立脚で停止することを「緊急停止」と言う。
S20に続いて、再びS11を実行する。
【0026】
S18で異常なのは遊脚の足関節でないと判別した場合(NOの場合)には、S22に移行する。このように判別されるのは、腕関節(関節43、46、53、56)、首関節61が異常な場合である。
S22では、足関節に、図7に示す種類〔5〕の内容の異常処理コマンドを指令する。腕関節と首関節61には、種類〔4〕の内容の異常処理コマンドを指令する。種類〔5〕の異常処理の内容は、関節の動作を継続しながらその回動速度を遅くし、所定歩数歩行してから両足立脚の状態で関節をロックすることである。上述したように、S18でNOと判別してS22が実行されるのは、腕関節、首関節61が異常な場合である。すなわち、足関節の異常ではないので、歩行することができる。従って、ロボット10を、立脚の足関節に異常が発生したときのようにしゃがみ込ませたり(緊急しゃがみ込み)、遊脚の足関節に異常が発生したときのように遊脚が接地したら直ぐに両足立脚状態で停止(緊急停止)させるのではなく、足関節の動作を継続しながらその回動速度を遅くし、所定歩数歩行してから両足立脚状態で足関節をロックする。腕関節と首関節61は、種類〔4〕の内容の異常処理コマンドが入力されることにより、ロックする。以下においては、ロボット10がこのように所定歩数歩行してから、その後に両足立脚の状態で停止することを「安全停止」と言う。
上述した緊急停止が実行された場合、ロボット10は急に停止する。ロボット10は、緊急停止した場合、慣性力によって姿勢が崩れやすい。これに対して安全停止では、ロボット10は、足関節の回動速度が遅くなってから、すなわち前進速度が遅くなってから停止する。よって、姿勢が崩れにくい。
S22の次に、再びS11を実行する。
【0027】
中央コントローラ63の異常処理記憶部76の機能を、各関節アクチュエータに持たせることもできる。例えば、左脚12が遊脚であり、そのときに左膝関節22が異常になったとする。その場合には、左膝関節アクチュエータ22は、自らをフリーに回転させるとともに、左脚12が接地したら自らを所定時間後にロックする処理を選択し、その選択結果を中央コントローラ63に出力する。中央コントローラ63は、その他の関節アクチュエータに左膝関節22が異常になったことを出力する。他の関節アクチュエータは、異常処理を選択して自ら実行する。すなわち、他の足関節のアクチュエータは、動作を継続するとともに、左脚12が接地したら所定時間後に自らをロックする。腕と首のアクチュエータは、ロックする。中央コントローラ63は、複数の異常が発生した場合の異常処理の優先順位を記憶しており、そのような異常が発生すると、優先順位に従って動作するように各関節アクチュエータに指令する。このように構成すると、異常処理の選択を各関節アクチュエータが実行するので、中央コントローラ63の負荷を軽減することができる。
【0028】
一方、S12で初回の異常ではないと判別した場合(NOの場合)、すなわち2回目以降の異常が発生した場合には、異常優先処理S40を実行する。
図8に示すように、異常優先処理S40のS44では、異常なのは立脚の足首関節であるか否かを判別する。S44で異常なのは立脚の足首関節であると判別した場合(YESの場合)には、S46を実行する。S46では、異常な足関節と正常な足関節と腕関節に、図7に示す種類〔1〕の内容の異常処理コマンドを指令する。また、首関節61に種類〔4〕の内容の異常処理コマンドを指令する。種類〔1〕の異常処理の内容は、関節をフリーに回転可能にすることである。従って、ロボット10は、緊急しゃがみ込みを行う。
このように、2回目以降の異常で立脚の関節が異常になった場合には、それ以前の異常がどのようなものであっても、ロボット10は緊急しゃがみ込みを行う。例えば、異常処理S10(図6参照)のS22が実行されることによって、ロボット10が両足立脚で停止する前に減速して歩行している状態で、立脚の関節が異常になってS46が実行されると、ロボット10は緊急しゃがみ込みを行う。S46を実行してから、リターンして異常処理S10のS11を再び行う。
S44で異常なのは立脚の足関節でないと判別した場合(NOの場合)には、S48に移行する。S44で異常なのは立脚の足関節でないと判別するのは、遊脚の足関節、腕関節、首関節61が異常な場合である。S48では、異常なのは遊脚の足関節であるか否かを判別する。S48で異常なのは遊脚の足関節であると判別した場合(YESの場合)には、S50を行う。
【0029】
S50では、異常処理の種類〔1〕を実行中であるか否かを判別する。S50において異常処理の種類〔1〕を実行中であると判別した場合(YESの場合)には、S52に移行する。S52では、異常処理の種類〔1〕の実行を継続する。すなわち、遊脚の足関節で初回の異常が発生した場合には、両足立脚の状態で停止するのであるが、遊脚の足関節に2回目以降の異常が発生したときに異常処理の種類〔1〕を実行中である場合には、種類〔1〕を優先して行う。S52を実行してから、リターンして異常処理S10のS11を再び行う。S50で異常処理の種類〔1〕を実行中でないと判別した場合(NOの場合)には、S54を実行する。
S54は、異常処理S10のS20と同内容である。従って、S54を実行すると、ロボット10は、遊脚が接地してから両足立脚状態で停止する。S54を実行してから、リターンして異常処理S10のS11を再び行う。
一方、S48で異常なのは遊脚の足関節ではないと判別した場合(NOの場合)には、S55を実行する。S48でNOと判別されるのは、腕関節が異常であるか、あるいは首関節61が異常な場合である。S55では、異常処理の種類〔1〕を実行中であるか否かを判別する。S55で異常処理の種類〔1〕を実行中であると判別した場合(YESの場合)には、S52に移行することによって、異常処理の種類〔1〕の実行を継続する。S55で異常処理の種類〔1〕を実行中でないと判別した場合(NOの場合)には、S56を行う。
S56は、異常処理S10のS22と同内容である。従って、ロボット10は、所定歩数歩行してから両足立脚の状態で停止する。S56を実行してから、リターンして異常処理S10のS11を再び行う。
【0030】
図9は、ロボット10が緊急停止するときの左脚12と右脚14の動作を、地面に接地したときの左足先26と右足先36の位置で例示している。ロボット10は、曲線状の目標軌道90に沿いながら、紙面上方に向かって歩行している。右足先36が「A」の位置で接地しており、左足先26が「B」の位置で地面から離れて「C」の位置で接地するために前方に向かっているときに(右脚14が立脚であり、左脚12が遊脚であるときに)、左脚先26が「D」の位置を通過したタイミングで左脚12の左膝関節22に異常が発生したとする。この場合には、遊脚である左脚12の足関節に異常が発生しているので緊急停止が行われる。ロボット10は、右足先36が「A」の位置で接地し、左足先26が「C」の位置で接地した状態で、両足立脚の姿勢で緊急停止する。
【0031】
図10は、安全停止するとき左足先26と右足先36の位置を示している。ロボット10は、曲線状の目標軌道91に沿いながら、紙面上方に向かって歩行している。右足先36が「F」の位置で接地しており、左足先26が「G」の位置で地面から離れて「H」の位置で接地するために前方に向かっているときに、左足先26が「J」の位置を通過したタイミングで右腕51の右肘関節53に異常が発生したとする。腕の関節に異常が発生しているので、この場合には、安全停止が行われる。具体的には、左足先26が「H」の位置で接地すると、右足先36が「F」の位置で地面から離れる(左脚12が立脚になり、右脚14が遊脚になる)。右足先36が「K」の位置で接地すると、左足先26は「H」の位置で地面から離れる。そして左足先26は、「L」の位置で接地する。ロボット10は、左足先26と右足先36を揃えた状態で、両足立脚姿勢で停止する。「J」のタイミングで異常が発生してから、左脚12と右脚14の足関節は、回動速度が徐々に遅くなる。従って、ロボット10は、歩行速度が徐々の遅くなりながら歩行し、最後に停止する。歩行速度が徐々に遅くなりながら停止すると、緊急停止する場合よりも、ロボット10の姿勢が崩れにくくなる。
目標軌道は、障害物の近傍を通過するように設定されていることがある。ロボット10が安全停止するときに、目標軌道に沿って停止すると、ロボット10と障害物の干渉を防止することができる。
【0032】
複数のロボット(ロボット群)が互いに干渉しない目標軌道に沿って同時に歩行している場合、一部のロボットに異常が発生した場合には、他のロボットも、異常が発生したロボットと同じ動作(緊急しゃがみ込み、緊急停止、安全停止)を実行するのが好ましい。一部のロボットに異常が発生した場合に、他のロボットも異常が発生したロボットと同じ動作を実行すると、ロボット同士の干渉を防止できる。この場合、個々のロボットは、外部通信ユニット72とアンテナ74を介して互いに通信することによって、他のロボットに異常が発生したことを感知し、異常が発生したロボットと同じ動作を実行する。
例えば、複数のロボットが異なる目標軌道を干渉しないように歩行しているときに、1台のロボットの腕関節に異常が発生したとする。そのときには、全てのロボットが、それぞれの目標軌道に沿って移動しながら安全停止する。よって、ロボット同士の干渉が防止される。
【0033】
ロボット10は、地面の凹凸に躓いたりした場合に、姿勢が崩れて転倒しそうになることがある。本発明のロボット10は、転倒しそうになった場合に、それを防止する動作を実行する。以下、その動作について説明する。
ロボット10が転倒しそうか否かは、胴体15に内蔵しているGセンサ93の検出値を用いる。詳しくは、Gセンサ93が検出した加速度を積分処理することにより胴体の速度を求め、その値が所定値以上である場合には、転倒しそうだと判断する。また、ジャイロ94の検出値から、胴体15の移動方向を求める。そして、その移動方向側に左脚12あるいは右脚14が踏み出すような歩容データを生成する。歩容データに基づいて、胴体15の移動方向側に左脚12あるいは右脚14が踏み出すことによって、ロボット10の転倒を防止する。
【0034】
例えば、図11に示すように、「T」の位置で左足先26が接地した状態で、右足先36が「P」の位置で地面から離れ、「Q」の位置で接地しようとしていたときに、Gセンサ93とジャイロ94によって、胴体15が所定値以上の速度で、「R」の方向に移動しているのが検出されたとする。すなわち、ロボットは、右前のめりに転倒しそうになっている。この場合には、「S」の位置に右足先36を接地させ、そのまま両足立脚することによって、ロボット10の転倒を防止する。
例えば、図12に示すように、「U」の位置で左足先26が接地した状態で、右足先36が「V」の位置で地面から離れ、「W」の位置で接地しようとしていたときに、Gセンサ93とジャイロ94によって、胴体15が所定値以上の速度で、「X」の方向に移動しているのが検出されたとする。この場合には、「W」の位置に右足先36を接地させてから、左足先26を「U」の位置で地面から離してから「Y」の位置で接地させ、そのまま両足立脚状態にすることによって、ロボット10の転倒を防止する。あるいは、右足先36を「V」の位置から直接「Y」の位置に移動することにより、転倒を防止する。
【0035】
(第2実施例)
本発明のロボットに係る第2実施例について、図面を参照しながら説明する。
図13、図14に示すように、ロボット150は、台車部151、胴体152、左腕153、右腕154、頭部156を備えている。台車部151は、左駆動輪160、右駆動輪161、一対の前方補助輪163、一対の後方補助輪164を有している。駆動輪160、161は、モータ(図示省略)によって駆動される。モータはコントローラ(図示省略)によって制御されている。コントローラには、異常処理を実行するプログラムも格納されている。補助輪163、164は、昇降機構(図示省略)に昇降されて、上昇位置(図13、図14に示す位置)と、降下位置(図15に示す位置)に配置される。補助輪163、164は、降下位置に配置された状態で、地面と接触する。
ロボット150は、駆動輪160、161が駆動されることによって、前後のバランスを取りながら2輪走行する。
ロボット150は、異常が発生した場合に、緊急停止あるいは安全停止を行う。緊急停止は、駆動輪160、161を駆動するモータが正常に制御されない場合(例えば、2輪走行状態で前後のバランスが取れない場合)に実行される。ロボット150は、緊急停止が実行されると、直ちに停止する。
安全停止は、首関節や、腕153、154の腕関節が異常な場合に実行される。ロボット150は、安全停止が実行されると、減速しながら所定距離を走行し、その後に停止する。
緊急停止の場合でも、安全停止の場合でも、ロボット150が停止すると、補助輪163、164が降下位置に配置される。よって、ロボット150は、安定した姿勢で停止する。
【0036】
例えば、図16に示すように、目標軌道170に沿って紙面上方方向に走行しているロボット150で、「M」のタイミングでモータの制御が異常になったとする。その場合には、ロボット150は緊急停止するとともに、補助輪163,164が降下する。
例えば、図17に示すように、目標軌道171に沿って紙面上方方向に走行しているロボット150で、「N」のタイミングで左腕153の腕関節が異常になったとする。この場合には、安全停止が行われ、ロボット150は目標軌道に沿って減速しながら所定距離を走行し、その後に停止する。停止するときに、補助輪163,164が降下する。
【0037】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時の請求項に記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【0038】
【図1】ロボットの斜視図。
【図2】ロボットの機械的接続状態を示す斜視図。
【図3】制御系のブロック図。
【図4】中央コントローラのブロック図。
【図5】関節アクチュエータのブロック図。
【図6】異常処理のフローチャート。
【図7】異常処理内容の表。
【図8】異常優先処理のフローチャート。
【図9】ロボットが緊急停止するときの歩行状態説明図。
【図10】ロボットが安全停止するときの歩行状態説明図。
【図11】ロボットが転倒を防止するときの歩行状態説明図。
【図12】ロボットが転倒を防止するときの歩行状態説明図。
【図13】ロボットの側面図。
【図14】ロボットの正面図。
【図15】ロボットの側面図。
【図16】ロボットが緊急停止するときの走行状態説明図。
【図17】ロボットが安全停止するときの歩行状態説明図。
【符号の説明】
【0039】
10:ロボット
12:左脚
14:右脚
15:胴体
16:左腕
17:右腕
21:左上腿
22:左膝関節
23:左下腿
24:左足首関節
25:左6軸力センサ
26:左足先
31:右上腿
32:右膝関節
33:右下腿
34:右足首関節
35:右6軸力センサ
36:右足先
40:左股関節
41:左腕
42:左上腕
43:左肘関節
44:左前腕
45:左掌
46:左肩関節
48:右股関節
49:腰
52:右上腕
53:右肘関節
54:右前腕
55:左掌
56:右肩関節
60:頭部
61:首関節
63:中央コントローラ
64、65、66、67:通信線
70:動作指令ユニット
72:外部通信ユニット
74:アンテナ
75:データ記憶部
76:異常処理記憶部
80:モータコントローラ
81:モータ駆動回路
82:電源線
83:モータ
85:モータ駆動指令生成部
86:異常看視部
87:電源線
89:エンコーダ
90、91:目標軌道
93:Gセンサ
94:ジャイロ
150:ロボット
151:台車部
152:胴体
153:左腕
154:右腕
156:頭部
160:左駆動輪
161:右駆動輪
163:前方補助輪
164:後方補助輪
170、171:目標軌道
【技術分野】
【0001】
本発明は、歩行ロボットに関するものである。特に、歩行ロボットで異常が発生した場合の対処技術に関するものである。
【背景技術】
【0002】
特許文献1には、歩行しているロボットを非常停止させる技術が開示されている。歩行ロボットは、マイクロフォンと、非常停止コントローラと、ロボットコントローラを備えている。オペレータは、歩行ロボットを非常停止させようとするときに、非常停止用の笛を吹く。笛の音がマイクロフォンによってとらえられると、非常停止コントローラは、ロボットコントローラに非常停止信号を出力する。ロボットコントローラは、非常停止信号が入力されると、歩行ロボットを非常停止させる。特許文献1に開示されている技術は、オペレータが歩行しているロボットを看視しており、オペレータが異常を認めた場合に歩行ロボットを非常停止させるものである。
【0003】
【特許文献1】特開平5−318341号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
歩行ロボットには、歩行中に種々の異常が発生することがある。異常の種類によっては、歩行ロボットを非常停止させないで、動作を継続させたほうがよい場合もある。例えば、腕の関節に異常が発生したような場合には、歩行には直接的な影響がないことから、歩行を継続して緩やかに停止させる方が好ましい。非常停止させると、慣性の影響等によって歩行ロボットがバランスを崩し、かえって深刻な事態に発展することもありえる。あるいは遊脚に異常が発生した場合も、非常停止させないで動作を継続させた方がよいこともある。遊脚に異常が発生した段階で非常停止させると、歩行ロボットが片足接地状態で姿勢を固定してしまい、そのまま転倒しかねない。もちろん、非常停止を必要する異常もある。従来の技術では、異常の種類に対応してそれに適した異常処理を選択することができない。
本発明では、歩行ロボットに異常が発生した場合に、その異常に適した異常処理を選択して実行する技術を提供する。
【課題を解決するための手段】
【0005】
本発明が提供する歩行ロボットは、一対の脚リンクの各脚関節の角度を変化させて歩行する。その歩行ロボットは、一対の脚リンクの各足先の位置を指定する歩容データを記憶している歩容データ記憶手段と、歩容データ記憶手段が記憶している歩容データに基づいて各脚関節の角度を調整するコントローラと、歩行ロボットに発生した異常を検出するとともに、検出した異常が立脚および遊脚の少なくとも一方の部位で発生したか否かを検出する異常検出手段を備えている。コントローラは、異常検出手段が異常を検出し、検出した異常が立脚および遊脚のいずれでもない部位で発生した場合に、歩容データに基づく各脚関節の角度調整を継続するととともに、各脚関節の動作速度を減速させながら各足先を所定回数接地させてから、各足先が接地した状態で各脚関節をロックする第1異常処理を実行する。
立脚および遊脚のいずれでもない部位で異常が発生した場合、歩行ロボットは歩行を継続することができる。慣性力等によって転倒するかもしれない危険にさらしてまで、歩行ロボットを非常停止させる必要がない。
上述の歩行ロボットは、立脚および遊脚のいずれでもない部位で異常が発生した場合に第1異常処理を実行する。第1異常処理を実行すると、歩行ロボットは歩容データに基づいて歩行しながら減速し、最後に各足先が接地した状態(両足立脚状態)で停止する。歩行を続けながら緩やかに減速してから停止するので、異常処理の間に歩行ロボットがバランスを崩すことがなく、両足立脚状態で停止する。腕の関節等の、立脚でも遊脚でもないその他の部位に異常が発生した場合に適した異常処理が実行される。
【0006】
上記のロボットにおいて、コントローラは、さらに異常が立脚において発生したものか、有脚において発生したものかを検出可能であり、異常検出手段が遊脚の異常を検出した場合に、その遊脚の足先が接地した後に全脚関節をロックする第2異常処理を実行することが好ましい。
この歩行ロボットは、遊脚に異常が発生した場合に、第2異常処理を実行することによって、遊脚の足先が接地した後に全脚関節をロックする。よって、歩行ロボットは、両足立脚状態に至るまでは予定の動作を継続し、両足立脚状態に至った段階で停止する。遊脚に異常が発生した場合に適した異常処理が実行される。
【0007】
上記の歩行ロボットにおいて、コントローラは、異常検出手段が立脚の異常を検出した場合に、全脚関節を自由動作可能な状態にする第3異常処理を実行することが好ましい。
この歩行ロボットは、立脚の異常が発生した場合に、第3異常処理を実行することによって、全脚関節を自由動作可能な状態にする。ここで、「脚関節が自由動作可能な状態」とは、脚関節に外力が作用した場合に、脚関節がその外力に抗せずに自由に動くことができる状態を意味する。立脚の異常が発生した場合には、歩行ロボットは、歩行を継続できない。よって、この場合には、全脚関節を自由動作可能な状態にすることによって、歩行ロボットをしゃがみ込ませる。
【0008】
上記の歩行ロボットにおいて、コントローラは、異常検出手段が複数部位の異常を検出した場合に、第1異常処理、第2異常処理、第3異常処理の内の順序の遅い異常処理を優先して実行することが好ましい。
この歩行ロボットは、複数部位の異常が発生した場合に、第1異常処理、第2異常処理、第3異常処理の内の順序の遅い異常処理を優先して実行することによって、異常に適した異常処理を行うことができる。
【0009】
上記の歩行ロボットにおいて、コントローラは、異常検出手段が立脚と遊脚の双方以外の部位の異常を検出した場合に、各足先が所定回数接地してから各足先が接地した状態で各脚関節がロックするまで目標軌道に沿って歩行ロボットを歩行させることが好ましい。
このようになっていると、歩行ロボットが障害物の近傍を通る目標軌道に沿って歩行しているときに、立脚と遊脚の双方以外の部位の異常が検出されても、目標軌道に沿って歩行してから停止することによって、障害物との干渉を防止することができる。
【0010】
上記の歩行ロボットにおいて、胴体の速度または加速度を検出する第1胴体センサと、胴体の移動方向を検出する第2胴体センサを備えており、コントローラは、第1胴体センサが検出した胴体の速度または加速度が所定値以上の場合に、第2胴体センサが検出した胴体の移動方向の水平方向成分が延びる側に遊脚の足先が接地するように、歩容データ記憶手段が記憶している歩容データを変更することが好ましい。
歩行ロボットは、転倒しそうになると、第1胴体センサが検出する胴体の速度または加速後が所定値以上になる。そのときには、歩容データを変更することによって、第2胴体センサが検出した胴体の移動方向の水平方向成分が延びる側に遊脚の足先を接地させる。よって、歩行ロボットの転倒が防止される。
【0011】
複数台の歩行ロボットが隊列を組んで歩行することがある。この場合、隊列を構成する一台の歩行ロボットに異常が発生した場合に、異常が発生した歩行ロボットにのみ異常処理を実行させると、異常処理を実行する歩行ロボットと正常な歩行ロボットが干渉し、接触して転倒する等の事態に発展する可能性がある。
そこで、隊列を組んで歩行する歩行ロボット群の場合、歩行ロボット間の通信手段を備えており、一の歩行ロボットが異常処理を実行するときには他の歩行ロボットにそれを通信し、それを受信した他の歩行ロボットも異常処理を実行することが好ましい。
この歩行ロボット群によると、異常処理を実行する歩行ロボットと正常処理を継続する歩行ロボットが干渉する事態の発生を防止でき、異常が深刻な事態に発展することを防止できる。
【発明の効果】
【0012】
本発明の歩行ロボットは、異常現象が発生した部位を特定し、異常発生部位に適した異常処理を実行する。異常が発生してもその異常から深刻な事態に発生しないように異常処理することができる。
【発明を実施するための最良の形態】
【0013】
本発明の好適な実施形態を例示する。
(形態1)
共通の軸を持つ一対の駆動輪を用いて走行するロボットであり、
各駆動輪を独立して駆動する駆動手段と、
昇降可能であるとともに、降下位置で接地することによって走行ロボットを所定姿勢に維持する補助輪と、
駆動手段と補助輪を制御するコントローラと、
走行ロボットに発生した異常を検出するとともに、異常発生部位を判別可能な異常検出手段を備えており、
コントローラは、走行中に異常検出手段が駆動輪以外の部位の異常を検出した場合に、減速しながら所定距離走行後に駆動輪を停止するとともに補助輪を降下させ、異常検出手段が駆動輪の異常を検出した場合に、駆動輪を停止するとともに補助輪を降下させることを特徴とする走行ロボット。
【実施例】
【0014】
(第1実施例)
本発明のロボットに係る第1実施例について、図面を参照しながら説明する。
図1に示すように、ロボット10は、左脚12、右脚14、胴体15、左腕16、右腕17、頭部60を備えている。図2は、それらの機械的接続状態を図示している。以下においては、説明の便宜上、図2に示すx、y、z軸の3軸からなる座標系を設定する。x軸(ロール軸)は、ロボット10の前後方向に延びている。y軸(ピッチ軸)は、ロボット10の左右方向に延びている。z軸(ヨー軸)は、ロボット10の上下方向に延びている。また、関節と、その関節を駆動する関節アクチュエータに同一の符号を用いる。例えば、左膝関節22と記載することもあるし、左膝関節アクチュエータ22と記載することもある。
【0015】
左脚12は、左股関節40、左上腿21、左膝関節22、左下腿23、左足首関節24、左6軸力センサ25、左足先26を有している。左股関節40は、腰49と左上腿21を接続しており、x、y、z軸廻りの関節角度を変化させる。左膝関節22は、左上腿21と左下腿23を接続しており、y軸廻りの関節角度を変化させる。左足首関節24は、左下腿23と左6軸力センサ25を接続しており、x軸廻りと、y軸廻りの関節角度を変化させる。左足先26は、左6軸力センサ25に固定されている。左6軸力センサ25は、左足首関節24と左足先26との間に作用する6つの軸力を検出する。具体的には、x軸方向の力、y軸方向の力、z軸方向の力、x軸廻りのモーメント、y軸廻りのモーメント、z軸廻りのモーメントを検出する。
右脚14は、右股関節48、右上腿31、右膝関節32、右下腿33、右足首関節34、右6軸力センサ35、右足先36を有している。右脚14の構成は、左脚12と同様である。従って、これ以上の説明は省略する。
【0016】
左腕41は、左肩関節46、左上腕42、左肘関節43、左前腕44、左掌45を有している。左肩関節46は、肩47と左上腕42を接続している。左肩関節46は、x軸廻りと、y軸廻りの関節角度を変化させる。左肘関節43は、左上腕42と左前腕44を接続しており、y軸廻りの関節角度を変化させる。左掌45は、左前腕44に取り付けられている。
右腕51は、右肩関節56、右上腕52、右肘関節53、右前腕54、右掌55を有している。右腕51の構成は、左腕41と同様なので、これ以上の説明は省略する。
頭部60は、首関節61を介して肩47と接続されている。首関節61は、x軸廻りの関節角度と、y軸廻りの関節角度を変化させる。
【0017】
図3は、ロボット10の制御系を模式的に示している。中央コントローラ63は、胴体15内に装着されている。中央コントローラ63には、通信線64を介して、首関節アクチュエータ61と左肩関節アクチュエータ46と左肘関節アクチュエータ43が直列に接続されている。中央コントローラ63には、通信線65を介して右肩関節アクチュエータ56と右肘関節アクチュエータ53が直列に接続されている。中央コントローラ63には、通信線66を介して左股関節アクチュエータ40と左膝関節アクチュエータ22と左足首関節アクチュエータ24と左6軸力センサ25が直列に接続されている。中央コントローラ63には、通信線67を介して、右股関節アクチュエータ48と右膝関節アクチュエータ32と右足首関節アクチュエータ34と右6軸力センサ35が直列に接続されている。通信線64、65、66、67はシリアル通信線である。中央コントローラ63は、通信線64、65、66、67を介して、関節22、24、32、34、40、43、46、48、53、56、61(以下においては、各関節を識別する必要がない場合には、これらの関節、あるいは個々の関節を、単に「関節」と記載する)、6軸力センサ25、35との間で、各種情報をパケット通信する。通信線64、65、66、67を介してパケット通信を行うことにより、中央コントローラ63と、関節や6軸力センサ23、25との間の電気的インターフェイスが簡略化されている。なお、中央コントローラ63には、後述するGセンサ93等が接続されているが、図3ではそれらの図示を省略している。
【0018】
図4に示すように、中央コントローラ63は、外部通信ユニット72、Gセンサ93、ジャイロ94、動作指令ユニット70を有している。中央コントローラ63には、電源線(図示省略)を経由して電力が供給されている。
外部通信ユニット72には、アンテナ74が接続されている。外部通信ユニット72は、アンテナ74が受信した信号を動作指令ユニット70が処理可能なデータ形式に変換し、動作指令ユニット70に出力する。また、動作指令ユニット70は、外部通信ユニット72にロボット10の動作状態に係る情報を送信する。外部通信ユニット72は、受信した情報をアンテナ74から送信可能な信号に変換する。アンテナ74は、信号を外部に送信する。
Gセンサ93とジャイロ94は、胴体15内に装着されており、それぞれ動作指令ユニット70に接続されている。Gセンサ93は、胴体15の加速度を検出する。ジャイロ94は、胴体15の姿勢を検出する。
【0019】
動作指令ユニット70は、データ記憶部75と異常処理記憶部76を有している。データ記憶部75は、歩容データと目標軌道データと動作指令プログラムを記憶している。歩容データは、左足先26と腰49と右足先36の位置と姿勢に係る経時的データである。目標軌道データは、ロボット10が歩行しようとする目標軌道に係るデータである。動作指令ユニット70は、動作指令プログラムを用いて、外部通信ユニット72、6軸力センサ25、35、Gセンサ93、ジャイロ94から入力される信号と、歩容データと、目標軌道データを処理し、各関節毎の動作コマンドを設定する。動作コマンドは、各関節に出力される。各関節は、動作コマンドに従って関節角度を変化させる。ロボット10は、各関節が動作コマンドに従って関節角度を変化させることによって歩行する。
異常処理記憶部76は、異常処理ロジックを記憶している。異常処理記憶部76は、異常が発生している関節から関節異常信号(後述する)が入力された場合に、記憶している異常処理プログラムを用いて異常処理を実行することにより、異常処理コマンドを設定する。異常処理コマンドは、各関節に出力される。
【0020】
関節アクチュエータについて説明する。各関節アクチュエータは、共通した構成を有しているので、左膝関節アクチュエータ22で代表して説明する。図5に示すように、左膝関節アクチュエータ22は、モータコントローラ80、モータ駆動回路81、モータ83、エンコーダ89を備えている。
モータコントローラ80は、モータ駆動指令生成部85と異常看視部86を有している。モータコントローラ80には、電源線87を経由して電力が供給されている。モータコントローラ80のモータ駆動指令生成部85には、通信線66を介して、中央コントローラ63から動作コマンドが入力される。
モータ駆動指令生成部85は、中央コントローラ63からの動作コマンドに応じた指令信号を、モータ駆動回路81に出力する。モータ駆動回路81には、電源線82を経由して電力が供給されている。モータ駆動回路81は、モータ駆動指令生成部85から入力された指令信号に基づいて、モータ83を回転させる。モータ83は、その駆動軸に連結されている減速機構(図示省略)を介して左膝関節22を駆動する。左下腿23は、モータ83が一方側に回転した場合に、左膝関節22廻りに一方向(例えば、後方)に回動する。左下腿23は、モータ83が他方側に回転した場合に、左膝関節22廻りに他方向(例えば、前方)に回動する。また、左膝関節アクチュエータ22は、モータ83の駆動軸を拘束するロック機構(図示省略)を有している。
エンコーダ89は、左膝関節22の関節角度を検出する。エンコーダ89が検出した左膝関節22の関節角度は、モータコントローラ80に出力される。
モータとエンコーダは、関節アクチュエータの軸毎に設けられている。上述した左膝関節アクチュエータ22は、1軸(y軸)を持っているので、モータ83を1つと、エンコーダ89を1つ有している。例えば、左股関節アクチュエータ40は、3軸(x軸、y軸、z軸)を持っている。従って、左股関節アクチュエータ40は、モータを3つと、エンコーダを3つ有している。
【0021】
異常看視部86は、モータ駆動指令生成部85が出力した指令信号に応じてモータ83が回転しているか否かを看視している。具体的には、エンコーダ89が検出した左膝関節22の関節角度から、指令信号に応じてモータ83が回転しているか否かを看視している。異常看視部86は、指令信号に応じてモータ83が回転していない場合に、関節異常信号を中央コントローラ63に出力する。既に説明したように、中央コントローラ63の異常処理記憶部76は、関節から関節異常信号が入力された場合に、異常処理を実行することによって異常処理コマンドを設定する。異常処理コマンドは、各関節に出力される。
【0022】
中央コントローラ63の異常処理記憶部76が実行する異常処理について説明する。
図6に示すように、異常処理S10の最初の処理であるS11では、関節から関節異常信号が入力したか否かを判別する。S11で関節から関節異常信号が入力していないと判別した場合(NOの場合)には、そのまま待機する。S11で関節から関節異常信号が入力したと判別した場合(YESの場合)には、S12に移行する。
S12では、初回の異常であるか否かを判別する。初回の異常であるとは、ロボット10が歩行を開始してから最初に発生した異常であることを意味する。S12で初回の異常であると判別した場合(YESの場合)には、S14を実行する。
S14では、異常なのは立脚の足関節であるか否かを判別する。立脚とは、地面に接している脚を意味する。ロボット10は、両脚(左脚12と右脚14)で立脚することもあるし、片脚(左脚12、または右脚14)で立脚することもある。これに対して、地面に接していない脚を「遊脚」と言う。S14で、異常なのは立脚の足関節であると判別した場合(YESの場合)には、S16に移行する。
【0023】
S16では、異常な足関節と正常な足関節と腕関節に、図7に示す種類〔1〕の内容の異常処理コマンドを指令する。また、首関節61に種類〔4〕の内容の異常処理コマンドを指令する。種類〔1〕の異常処理の内容は、関節をフリーに回転可能にすることである。具体的には、各関節アクチュエータのモータ駆動回路が、モータに供給する電力をオフにする。このため、左脚12の各関節と、右脚14の各関節は、ロボット10に作用する重力によって回動する。このため、ロボット10は、その場にしゃがみ込む。腕41、51は、腕の関節がフリーに回転可能になっているので、ロボット10がしゃがみ込んだときに、地面に触れても突っ張らない。従って、しゃがみ込む途中のロボット10の姿勢が安定する。種類〔4〕の異常処理の内容は、関節をロックすることである。首関節61をロックすると、頭部60が首関節61廻りにブラブラしない。頭部60がブラブラしないと、しゃがみ込む途中のロボット10の姿勢が安定する。
立脚は、ロボット10を支えている脚である。このため、立脚の足関節が異常な場合には、ロボット10の姿勢を安定させることができない可能性が高い。よって、立脚の足関節が異常な場合、ロボット10は、姿勢を崩して転倒することがある。本実施例のロボット10は、立脚の足関節が異常な場合、しゃがみ込むことによって、転倒してしまうのを防止している。以下においては、ロボット10がこのようにしゃがみ込むことを「緊急しゃがみ込み」と言う。
S16に続いて、S11を再び実行する
【0024】
S14で、異常なのは立脚の足関節でないと判別した場合(NOの場合)には、S18を実行する。S18では、異常なのは遊脚の足関節であるか否かを判別する。S18で異常なのは遊脚の足関節であると判別した場合(YESの場合)には、S20に移行する。
S20では、異常な足関節(すなわち遊脚の足関節)に、図7に示す種類〔2〕の内容の異常処理コマンドを指令する。また、正常な足関節に種類〔3〕の内容の異常処理コマンドを指令する。さらには、腕関節と首関節に種類〔4〕の内容の異常処理コマンドを指令する。種類〔2〕の異常処理の内容は、関節をフリーに回転可能にするとともに、遊脚が接地したら所定時間後に関節をロックすることである。種類〔3〕の異常処理の内容は、関節の動作を継続するとともに、遊脚が接地したら所定時間後に関節をロックすることである。遊脚が接地したか否かは、6軸力センサ25、35の出力から判断する。既に説明したように、種類〔4〕の異常処理の内容は、関節をロックすることである。
6軸力センサ25、35を装備せず、例えば、脚12、14の各関節の角度から遊脚が接地したか否かを推定することもできる。
【0025】
S20を実行すると、例えば、左脚12が遊脚の状態で左足首関節24に異常が発生した場合、左足首関節24がフリーに回転可能になるとともに、それ以外の正常な足関節(関節22、32、34、40、48)は、動作を継続する。正常な足関節が動作を継続することにより、左脚12の左足先26は地面に接地する。左足首関節24がフリーに回転可能になっているので、左足先26は地面に倣う。そして、左足先26が接地してから所定時間後に、左足首関節24がロックする。その所定時間は、左足先26が接地してから地面に倣うまでの値が設定されている。左足先26が接地してから所定時間後に、正常な足関節がロックする。従って、ロボット10は、両足立脚の状態で停止する。また、腕関節(関節43、46、53、56)と首関節61は、ロックする。腕関節と首関節61がロックすることによって、腕41、51と頭部60はブラブラしない。腕41、51と頭部60がブラブラしないと、ロボット10は、安定した状態で両足立脚する。以下においては、ロボット10が、このように両足立脚で停止することを「緊急停止」と言う。
S20に続いて、再びS11を実行する。
【0026】
S18で異常なのは遊脚の足関節でないと判別した場合(NOの場合)には、S22に移行する。このように判別されるのは、腕関節(関節43、46、53、56)、首関節61が異常な場合である。
S22では、足関節に、図7に示す種類〔5〕の内容の異常処理コマンドを指令する。腕関節と首関節61には、種類〔4〕の内容の異常処理コマンドを指令する。種類〔5〕の異常処理の内容は、関節の動作を継続しながらその回動速度を遅くし、所定歩数歩行してから両足立脚の状態で関節をロックすることである。上述したように、S18でNOと判別してS22が実行されるのは、腕関節、首関節61が異常な場合である。すなわち、足関節の異常ではないので、歩行することができる。従って、ロボット10を、立脚の足関節に異常が発生したときのようにしゃがみ込ませたり(緊急しゃがみ込み)、遊脚の足関節に異常が発生したときのように遊脚が接地したら直ぐに両足立脚状態で停止(緊急停止)させるのではなく、足関節の動作を継続しながらその回動速度を遅くし、所定歩数歩行してから両足立脚状態で足関節をロックする。腕関節と首関節61は、種類〔4〕の内容の異常処理コマンドが入力されることにより、ロックする。以下においては、ロボット10がこのように所定歩数歩行してから、その後に両足立脚の状態で停止することを「安全停止」と言う。
上述した緊急停止が実行された場合、ロボット10は急に停止する。ロボット10は、緊急停止した場合、慣性力によって姿勢が崩れやすい。これに対して安全停止では、ロボット10は、足関節の回動速度が遅くなってから、すなわち前進速度が遅くなってから停止する。よって、姿勢が崩れにくい。
S22の次に、再びS11を実行する。
【0027】
中央コントローラ63の異常処理記憶部76の機能を、各関節アクチュエータに持たせることもできる。例えば、左脚12が遊脚であり、そのときに左膝関節22が異常になったとする。その場合には、左膝関節アクチュエータ22は、自らをフリーに回転させるとともに、左脚12が接地したら自らを所定時間後にロックする処理を選択し、その選択結果を中央コントローラ63に出力する。中央コントローラ63は、その他の関節アクチュエータに左膝関節22が異常になったことを出力する。他の関節アクチュエータは、異常処理を選択して自ら実行する。すなわち、他の足関節のアクチュエータは、動作を継続するとともに、左脚12が接地したら所定時間後に自らをロックする。腕と首のアクチュエータは、ロックする。中央コントローラ63は、複数の異常が発生した場合の異常処理の優先順位を記憶しており、そのような異常が発生すると、優先順位に従って動作するように各関節アクチュエータに指令する。このように構成すると、異常処理の選択を各関節アクチュエータが実行するので、中央コントローラ63の負荷を軽減することができる。
【0028】
一方、S12で初回の異常ではないと判別した場合(NOの場合)、すなわち2回目以降の異常が発生した場合には、異常優先処理S40を実行する。
図8に示すように、異常優先処理S40のS44では、異常なのは立脚の足首関節であるか否かを判別する。S44で異常なのは立脚の足首関節であると判別した場合(YESの場合)には、S46を実行する。S46では、異常な足関節と正常な足関節と腕関節に、図7に示す種類〔1〕の内容の異常処理コマンドを指令する。また、首関節61に種類〔4〕の内容の異常処理コマンドを指令する。種類〔1〕の異常処理の内容は、関節をフリーに回転可能にすることである。従って、ロボット10は、緊急しゃがみ込みを行う。
このように、2回目以降の異常で立脚の関節が異常になった場合には、それ以前の異常がどのようなものであっても、ロボット10は緊急しゃがみ込みを行う。例えば、異常処理S10(図6参照)のS22が実行されることによって、ロボット10が両足立脚で停止する前に減速して歩行している状態で、立脚の関節が異常になってS46が実行されると、ロボット10は緊急しゃがみ込みを行う。S46を実行してから、リターンして異常処理S10のS11を再び行う。
S44で異常なのは立脚の足関節でないと判別した場合(NOの場合)には、S48に移行する。S44で異常なのは立脚の足関節でないと判別するのは、遊脚の足関節、腕関節、首関節61が異常な場合である。S48では、異常なのは遊脚の足関節であるか否かを判別する。S48で異常なのは遊脚の足関節であると判別した場合(YESの場合)には、S50を行う。
【0029】
S50では、異常処理の種類〔1〕を実行中であるか否かを判別する。S50において異常処理の種類〔1〕を実行中であると判別した場合(YESの場合)には、S52に移行する。S52では、異常処理の種類〔1〕の実行を継続する。すなわち、遊脚の足関節で初回の異常が発生した場合には、両足立脚の状態で停止するのであるが、遊脚の足関節に2回目以降の異常が発生したときに異常処理の種類〔1〕を実行中である場合には、種類〔1〕を優先して行う。S52を実行してから、リターンして異常処理S10のS11を再び行う。S50で異常処理の種類〔1〕を実行中でないと判別した場合(NOの場合)には、S54を実行する。
S54は、異常処理S10のS20と同内容である。従って、S54を実行すると、ロボット10は、遊脚が接地してから両足立脚状態で停止する。S54を実行してから、リターンして異常処理S10のS11を再び行う。
一方、S48で異常なのは遊脚の足関節ではないと判別した場合(NOの場合)には、S55を実行する。S48でNOと判別されるのは、腕関節が異常であるか、あるいは首関節61が異常な場合である。S55では、異常処理の種類〔1〕を実行中であるか否かを判別する。S55で異常処理の種類〔1〕を実行中であると判別した場合(YESの場合)には、S52に移行することによって、異常処理の種類〔1〕の実行を継続する。S55で異常処理の種類〔1〕を実行中でないと判別した場合(NOの場合)には、S56を行う。
S56は、異常処理S10のS22と同内容である。従って、ロボット10は、所定歩数歩行してから両足立脚の状態で停止する。S56を実行してから、リターンして異常処理S10のS11を再び行う。
【0030】
図9は、ロボット10が緊急停止するときの左脚12と右脚14の動作を、地面に接地したときの左足先26と右足先36の位置で例示している。ロボット10は、曲線状の目標軌道90に沿いながら、紙面上方に向かって歩行している。右足先36が「A」の位置で接地しており、左足先26が「B」の位置で地面から離れて「C」の位置で接地するために前方に向かっているときに(右脚14が立脚であり、左脚12が遊脚であるときに)、左脚先26が「D」の位置を通過したタイミングで左脚12の左膝関節22に異常が発生したとする。この場合には、遊脚である左脚12の足関節に異常が発生しているので緊急停止が行われる。ロボット10は、右足先36が「A」の位置で接地し、左足先26が「C」の位置で接地した状態で、両足立脚の姿勢で緊急停止する。
【0031】
図10は、安全停止するとき左足先26と右足先36の位置を示している。ロボット10は、曲線状の目標軌道91に沿いながら、紙面上方に向かって歩行している。右足先36が「F」の位置で接地しており、左足先26が「G」の位置で地面から離れて「H」の位置で接地するために前方に向かっているときに、左足先26が「J」の位置を通過したタイミングで右腕51の右肘関節53に異常が発生したとする。腕の関節に異常が発生しているので、この場合には、安全停止が行われる。具体的には、左足先26が「H」の位置で接地すると、右足先36が「F」の位置で地面から離れる(左脚12が立脚になり、右脚14が遊脚になる)。右足先36が「K」の位置で接地すると、左足先26は「H」の位置で地面から離れる。そして左足先26は、「L」の位置で接地する。ロボット10は、左足先26と右足先36を揃えた状態で、両足立脚姿勢で停止する。「J」のタイミングで異常が発生してから、左脚12と右脚14の足関節は、回動速度が徐々に遅くなる。従って、ロボット10は、歩行速度が徐々の遅くなりながら歩行し、最後に停止する。歩行速度が徐々に遅くなりながら停止すると、緊急停止する場合よりも、ロボット10の姿勢が崩れにくくなる。
目標軌道は、障害物の近傍を通過するように設定されていることがある。ロボット10が安全停止するときに、目標軌道に沿って停止すると、ロボット10と障害物の干渉を防止することができる。
【0032】
複数のロボット(ロボット群)が互いに干渉しない目標軌道に沿って同時に歩行している場合、一部のロボットに異常が発生した場合には、他のロボットも、異常が発生したロボットと同じ動作(緊急しゃがみ込み、緊急停止、安全停止)を実行するのが好ましい。一部のロボットに異常が発生した場合に、他のロボットも異常が発生したロボットと同じ動作を実行すると、ロボット同士の干渉を防止できる。この場合、個々のロボットは、外部通信ユニット72とアンテナ74を介して互いに通信することによって、他のロボットに異常が発生したことを感知し、異常が発生したロボットと同じ動作を実行する。
例えば、複数のロボットが異なる目標軌道を干渉しないように歩行しているときに、1台のロボットの腕関節に異常が発生したとする。そのときには、全てのロボットが、それぞれの目標軌道に沿って移動しながら安全停止する。よって、ロボット同士の干渉が防止される。
【0033】
ロボット10は、地面の凹凸に躓いたりした場合に、姿勢が崩れて転倒しそうになることがある。本発明のロボット10は、転倒しそうになった場合に、それを防止する動作を実行する。以下、その動作について説明する。
ロボット10が転倒しそうか否かは、胴体15に内蔵しているGセンサ93の検出値を用いる。詳しくは、Gセンサ93が検出した加速度を積分処理することにより胴体の速度を求め、その値が所定値以上である場合には、転倒しそうだと判断する。また、ジャイロ94の検出値から、胴体15の移動方向を求める。そして、その移動方向側に左脚12あるいは右脚14が踏み出すような歩容データを生成する。歩容データに基づいて、胴体15の移動方向側に左脚12あるいは右脚14が踏み出すことによって、ロボット10の転倒を防止する。
【0034】
例えば、図11に示すように、「T」の位置で左足先26が接地した状態で、右足先36が「P」の位置で地面から離れ、「Q」の位置で接地しようとしていたときに、Gセンサ93とジャイロ94によって、胴体15が所定値以上の速度で、「R」の方向に移動しているのが検出されたとする。すなわち、ロボットは、右前のめりに転倒しそうになっている。この場合には、「S」の位置に右足先36を接地させ、そのまま両足立脚することによって、ロボット10の転倒を防止する。
例えば、図12に示すように、「U」の位置で左足先26が接地した状態で、右足先36が「V」の位置で地面から離れ、「W」の位置で接地しようとしていたときに、Gセンサ93とジャイロ94によって、胴体15が所定値以上の速度で、「X」の方向に移動しているのが検出されたとする。この場合には、「W」の位置に右足先36を接地させてから、左足先26を「U」の位置で地面から離してから「Y」の位置で接地させ、そのまま両足立脚状態にすることによって、ロボット10の転倒を防止する。あるいは、右足先36を「V」の位置から直接「Y」の位置に移動することにより、転倒を防止する。
【0035】
(第2実施例)
本発明のロボットに係る第2実施例について、図面を参照しながら説明する。
図13、図14に示すように、ロボット150は、台車部151、胴体152、左腕153、右腕154、頭部156を備えている。台車部151は、左駆動輪160、右駆動輪161、一対の前方補助輪163、一対の後方補助輪164を有している。駆動輪160、161は、モータ(図示省略)によって駆動される。モータはコントローラ(図示省略)によって制御されている。コントローラには、異常処理を実行するプログラムも格納されている。補助輪163、164は、昇降機構(図示省略)に昇降されて、上昇位置(図13、図14に示す位置)と、降下位置(図15に示す位置)に配置される。補助輪163、164は、降下位置に配置された状態で、地面と接触する。
ロボット150は、駆動輪160、161が駆動されることによって、前後のバランスを取りながら2輪走行する。
ロボット150は、異常が発生した場合に、緊急停止あるいは安全停止を行う。緊急停止は、駆動輪160、161を駆動するモータが正常に制御されない場合(例えば、2輪走行状態で前後のバランスが取れない場合)に実行される。ロボット150は、緊急停止が実行されると、直ちに停止する。
安全停止は、首関節や、腕153、154の腕関節が異常な場合に実行される。ロボット150は、安全停止が実行されると、減速しながら所定距離を走行し、その後に停止する。
緊急停止の場合でも、安全停止の場合でも、ロボット150が停止すると、補助輪163、164が降下位置に配置される。よって、ロボット150は、安定した姿勢で停止する。
【0036】
例えば、図16に示すように、目標軌道170に沿って紙面上方方向に走行しているロボット150で、「M」のタイミングでモータの制御が異常になったとする。その場合には、ロボット150は緊急停止するとともに、補助輪163,164が降下する。
例えば、図17に示すように、目標軌道171に沿って紙面上方方向に走行しているロボット150で、「N」のタイミングで左腕153の腕関節が異常になったとする。この場合には、安全停止が行われ、ロボット150は目標軌道に沿って減速しながら所定距離を走行し、その後に停止する。停止するときに、補助輪163,164が降下する。
【0037】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時の請求項に記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【0038】
【図1】ロボットの斜視図。
【図2】ロボットの機械的接続状態を示す斜視図。
【図3】制御系のブロック図。
【図4】中央コントローラのブロック図。
【図5】関節アクチュエータのブロック図。
【図6】異常処理のフローチャート。
【図7】異常処理内容の表。
【図8】異常優先処理のフローチャート。
【図9】ロボットが緊急停止するときの歩行状態説明図。
【図10】ロボットが安全停止するときの歩行状態説明図。
【図11】ロボットが転倒を防止するときの歩行状態説明図。
【図12】ロボットが転倒を防止するときの歩行状態説明図。
【図13】ロボットの側面図。
【図14】ロボットの正面図。
【図15】ロボットの側面図。
【図16】ロボットが緊急停止するときの走行状態説明図。
【図17】ロボットが安全停止するときの歩行状態説明図。
【符号の説明】
【0039】
10:ロボット
12:左脚
14:右脚
15:胴体
16:左腕
17:右腕
21:左上腿
22:左膝関節
23:左下腿
24:左足首関節
25:左6軸力センサ
26:左足先
31:右上腿
32:右膝関節
33:右下腿
34:右足首関節
35:右6軸力センサ
36:右足先
40:左股関節
41:左腕
42:左上腕
43:左肘関節
44:左前腕
45:左掌
46:左肩関節
48:右股関節
49:腰
52:右上腕
53:右肘関節
54:右前腕
55:左掌
56:右肩関節
60:頭部
61:首関節
63:中央コントローラ
64、65、66、67:通信線
70:動作指令ユニット
72:外部通信ユニット
74:アンテナ
75:データ記憶部
76:異常処理記憶部
80:モータコントローラ
81:モータ駆動回路
82:電源線
83:モータ
85:モータ駆動指令生成部
86:異常看視部
87:電源線
89:エンコーダ
90、91:目標軌道
93:Gセンサ
94:ジャイロ
150:ロボット
151:台車部
152:胴体
153:左腕
154:右腕
156:頭部
160:左駆動輪
161:右駆動輪
163:前方補助輪
164:後方補助輪
170、171:目標軌道
【特許請求の範囲】
【請求項1】
一対の脚リンクの各脚関節の角度を変化させて歩行するロボットであり、
一対の脚リンクの各足先の位置を指定する歩容データを記憶している歩容データ記憶手段と、
歩容データ記憶手段が記憶している歩容データに基づいて各脚関節の角度を調整するコントローラと、
歩行ロボットに発生した異常を検出するとともに、検出した異常が立脚および遊脚の少なくとも一方の部位で発生したか否かを検出する異常検出手段を備えており、
コントローラは、異常検出手段が異常を検出し、検出した異常が立脚および遊脚のいずれでもない部位で発生した場合に、歩容データに基づく各脚関節の角度調整を継続するととともに、各脚関節の動作速度を減速させながら各足先を所定回数接地させてから、各足先が接地した状態で各脚関節をロックする第1異常処理を実行することを特徴とする歩行ロボット。
【請求項2】
コントローラは、さらに異常が立脚において発生したものか、有脚において発生したものかを検出可能であり、異常検出手段が遊脚の異常を検出した場合に、その遊脚の足先が接地した後に全脚関節をロックする第2異常処理を実行することを特徴とする請求項1の歩行ロボット。
【請求項3】
コントローラは、異常検出手段が立脚の異常を検出した場合に、全脚関節を自由動作可能な状態にする第3異常処理を実行することを特徴とする請求項1又は2の歩行ロボット。
【請求項4】
コントローラは、異常検出手段が複数部位の異常を検出した場合に、第1異常処理、第2異常処理、第3異常処理の内の順序の遅い異常処理を優先して実行することを特徴とする請求項3の歩行ロボット。
【請求項5】
コントローラは、異常検出手段が立脚と遊脚の双方以外の部位の異常を検出した場合に、各足先が所定回数接地してから各足先が接地した状態で各脚関節がロックするまで、目標軌道に沿って歩行ロボットを歩行させることを特徴とする請求項1から4のいずれかの歩行ロボット。
【請求項6】
胴体の速度または加速度を検出する第1胴体センサと、
胴体の移動方向を検出する第2胴体センサを備えており、
コントローラは、第1胴体センサが検出した胴体の速度または加速度が所定値以上の場合に、第2胴体センサが検出した胴体の移動方向の水平方向成分が延びる側に遊脚の足先が接地するように、歩容データ記憶手段が記憶している歩容データを変更することを特徴とする請求項1から5のいずれかの歩行ロボット。
【請求項7】
請求項1から6のいずれかの歩行ロボットの複数が隊列を組んで歩行する歩行ロボット群であり、
歩行ロボット間の通信手段を備えており、
一の歩行ロボットが異常処理を実行するときには他の歩行ロボットにそれを通信し、
それを受信した他の歩行ロボットも異常処理を実行することを特徴とする歩行ロボット群。
【請求項1】
一対の脚リンクの各脚関節の角度を変化させて歩行するロボットであり、
一対の脚リンクの各足先の位置を指定する歩容データを記憶している歩容データ記憶手段と、
歩容データ記憶手段が記憶している歩容データに基づいて各脚関節の角度を調整するコントローラと、
歩行ロボットに発生した異常を検出するとともに、検出した異常が立脚および遊脚の少なくとも一方の部位で発生したか否かを検出する異常検出手段を備えており、
コントローラは、異常検出手段が異常を検出し、検出した異常が立脚および遊脚のいずれでもない部位で発生した場合に、歩容データに基づく各脚関節の角度調整を継続するととともに、各脚関節の動作速度を減速させながら各足先を所定回数接地させてから、各足先が接地した状態で各脚関節をロックする第1異常処理を実行することを特徴とする歩行ロボット。
【請求項2】
コントローラは、さらに異常が立脚において発生したものか、有脚において発生したものかを検出可能であり、異常検出手段が遊脚の異常を検出した場合に、その遊脚の足先が接地した後に全脚関節をロックする第2異常処理を実行することを特徴とする請求項1の歩行ロボット。
【請求項3】
コントローラは、異常検出手段が立脚の異常を検出した場合に、全脚関節を自由動作可能な状態にする第3異常処理を実行することを特徴とする請求項1又は2の歩行ロボット。
【請求項4】
コントローラは、異常検出手段が複数部位の異常を検出した場合に、第1異常処理、第2異常処理、第3異常処理の内の順序の遅い異常処理を優先して実行することを特徴とする請求項3の歩行ロボット。
【請求項5】
コントローラは、異常検出手段が立脚と遊脚の双方以外の部位の異常を検出した場合に、各足先が所定回数接地してから各足先が接地した状態で各脚関節がロックするまで、目標軌道に沿って歩行ロボットを歩行させることを特徴とする請求項1から4のいずれかの歩行ロボット。
【請求項6】
胴体の速度または加速度を検出する第1胴体センサと、
胴体の移動方向を検出する第2胴体センサを備えており、
コントローラは、第1胴体センサが検出した胴体の速度または加速度が所定値以上の場合に、第2胴体センサが検出した胴体の移動方向の水平方向成分が延びる側に遊脚の足先が接地するように、歩容データ記憶手段が記憶している歩容データを変更することを特徴とする請求項1から5のいずれかの歩行ロボット。
【請求項7】
請求項1から6のいずれかの歩行ロボットの複数が隊列を組んで歩行する歩行ロボット群であり、
歩行ロボット間の通信手段を備えており、
一の歩行ロボットが異常処理を実行するときには他の歩行ロボットにそれを通信し、
それを受信した他の歩行ロボットも異常処理を実行することを特徴とする歩行ロボット群。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2007−7799(P2007−7799A)
【公開日】平成19年1月18日(2007.1.18)
【国際特許分類】
【出願番号】特願2005−193275(P2005−193275)
【出願日】平成17年7月1日(2005.7.1)
【新規性喪失の例外の表示】特許法第30条第3項適用申請有り 平成17年3月10日(トヨタグループ館開館) 財団法人2005年日本国際博覧会協会開催の「2005年日本国際博覧会・トヨタグループ館」に出品
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】
【公開日】平成19年1月18日(2007.1.18)
【国際特許分類】
【出願日】平成17年7月1日(2005.7.1)
【新規性喪失の例外の表示】特許法第30条第3項適用申請有り 平成17年3月10日(トヨタグループ館開館) 財団法人2005年日本国際博覧会協会開催の「2005年日本国際博覧会・トヨタグループ館」に出品
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】
[ Back to top ]