(57)【要約】【課題】移動面の形状にかかわらず移動可能なロボット、及びこれに使用される体節を提供する。【解決手段】多体節型ロボットの体節であって、ロボットの体軸方向に沿って伸縮する伸縮アームと、伸縮アームに接続され、体軸方向と交差する方向に延びる回転軸周りに回転する回転アームと、を備える。【選択図】図１
2014188607.tif 000002
【特許請求の範囲】
【請求項１】
多体節型ロボットの体節であって、
前記ロボットの体軸方向に沿って伸縮する伸縮アームと、
前記伸縮アームに接続され、前記体軸方向と交差する方向に延びる回転軸周りに回転する回転アームと、
を備える、体節。
【請求項２】
請求項１に記載の体節であって、
前記回転アームは、初期状態において、前記伸縮アームが伸長する方向と同じ方向に延びている、体節。
【請求項３】
多体節型ロボットであって、
請求項１又は２に記載の複数の体節を備え、
前記複数の体節のうち１つの体節の伸縮アームは、前記１つの体節に隣接する他の１つの体節に連結されている、ロボット。
【請求項４】
請求項３に記載のロボットであって、
前記複数の体節のうち、一方端に位置する体節の伸縮アームは、他方端に位置する体節側に伸長し、
前記他方端に位置する体節の伸縮アームは、前記一方端に位置する体節側に伸長する、ロボット。
【請求項５】
請求項３又は４に記載のロボットであって、さらに、
前記各体節において、前記伸縮アームを伸縮させ、且つ前記回転アームが前記ロボットの移動面と当接及び離間するように前記回転アームを回転させる制御部を備え、
前記複数の体節は、
第１の体節と、
前記第１の体節の方向に、その伸縮アームが伸長する第２の体節と、
を含み、
前記制御部は、
前記第２の体節の回転アームを前記移動面に当接させるとともに前記第２の体節以外の体節の回転アームを前記移動面から離間させた状態で、前記第２の体節の伸縮アームを前記第１の体節側に伸長させた後、
前記第１の体節の回転アームを前記移動面に当接させるとともに前記第１の体節以外の体節の回転アームを前記移動面から離間させた状態で、前記第２の体節の伸縮アームを収縮させる、ロボット。
【請求項６】
請求項３又は４に記載のロボットであって、さらに、
前記各体節において、前記伸縮アームを伸縮させ、且つ前記回転アームが前記ロボットの移動面と当接及び離間するように前記回転アームを回転させる制御部を備え、
前記複数の体節は、
第１の体節と、
前記第１の体節の方向に、その伸縮アームが伸長する第２の体節と、
を含み、
前記制御部は、
前記第１の体節の回転アームを前記移動面に当接させるとともに前記第１の体節以外の体節の回転アームを前記移動面から離間させた状態で、前記第２の体節の伸縮アームを前記第１の体節側に伸長させた後、
前記第２の体節の回転アームを前記移動面に当接させるとともに前記第２の体節以外の体節の回転アームを前記移動面から離間させた状態で、前記第２の体節の伸縮アームを収縮させる、ロボット。
【請求項７】
請求項３又は４に記載のロボットであって、さらに、
前記各体節において、前記伸縮アームを伸縮させ、且つ前記回転アームが前記ロボットの移動面と当接及び離間するように前記回転アームを回転させる制御部を備え、
前記制御部は、前記複数の体節のうち２つ以上の体節の回転アームを前記移動面に当接させた状態で、少なくとも１つの体節の伸縮アームを伸長又は収縮させる、ロボット。
【請求項８】
請求項３又は４に記載のロボットであって、さらに、
前記複数の体節のうち少なくとも１つの体節を前記ロボットの進行方向に対して前方に移動させるために、前記少なくとも１つの体節の回転アームを前記ロボットの移動面に衝突するように回転させる制御部を備える、ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットに関し、より詳しくは、多体節型ロボット、及びこのロボットに使用される体節に関する。
【背景技術】
【０００２】
従来、配管内、瓦礫内、又は瓦礫上等を移動するロボットに関する様々な技術が提案されている。例えば、非特許文献１には、蠕動運動によって配管内を移動するロボットが記載されている。このロボットは、複数の伸縮モジュールを備えており、各伸縮モジュールは、ロボットの進行方向に沿って屈伸可能な３つのアクチュエータで構成されている。このロボットは、複数の伸縮モジュールが、所定の順序でアクチュエータを伸長及び屈曲させて長さ方向及び太さ方向の伸縮を繰り返し、これにより配管内を移動する。しかしながら、このような伸縮モジュールでは、各アクチュエータが長さ方向の伸長と太さ方向の伸長との双方を行うため、長さ方向の伸長量と太さ方向の伸長量とが互いに制限され合うという問題があった。
【０００３】
これに対して、特許文献１には、長さ方向に伸縮する弾性伸縮体と、弾性伸縮体を挟んで配置され太さ方向に伸縮する係止手段と、を備えたロボットが記載されている。このロボットは、係止手段の一方を径方向に膨らませて配管の内壁面に当接させることによって、ロボットの後端部又は前端部を配管の内壁面に固定する。そして、このロボットは、後端部又は前端部を配管の内壁面に固定した状態で、弾性伸縮体を伸縮させることによって、配管内を移動する。このように、特許文献１に記載されたロボットは、弾性伸縮体が長さ方向の伸長を行い、これとは別の係止手段が太さ方向の伸長を行うため、非特許文献１に記載されたロボットのように、長さ方向の伸長量と太さ方向の伸長量とが互いに制限され合うことがない。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平３−４５４６４号公報
【特許文献２】特開平３−８６６７９号公報
【特許文献３】特表２００９−５１１３８８号公報
【特許文献４】特開２０１２−１５７９１８号公報
【特許文献５】米国特許第４５２２１２９号明細書
【非特許文献】
【０００５】
【非特許文献１】嘉藤俊介、他３名、「ミミズを規範とした多関節ロボットのためのモジュール開発」、日本ロボット学会学術講演会予稿集、日本ロボット学会、２００７年９月１３日、第２５巻、ｐ.１Ｆ３２
【非特許文献２】則次俊郎、他１名、「空気圧ソフトアクチュエータを用いた管内移動ロボットの開発」、日本ロボット学会誌、日本ロボット学会、２０００年９月１５日、第１８巻、第６号、第ｐ.８３１−８３８
【非特許文献３】嵯峨宣彦、他２名、「人工筋アクチュエータを用いた蠕動運動型ロボットの開発」、計測自動制御学会論文集、計測自動制御学会、第４１巻、第１２号、２００５年１２月、ｐ.１０１３−１０１８
【非特許文献４】篠原英司、他２名、「ミミズのような蠕動運動システム」、電気学会論文誌.  Ｅ,  センサ・マイクロマシン準部門誌、電気学会、１９９９年６月１３日、第１１９巻、第６号、ｐ.３３４−３３９
【非特許文献５】原坂龍太、他３名、「インフレータブルアクチュエータを有するミミズ型レスキューロボットの開発」、ロボティクス・メカトロニクス講演会講演概要集、日本機械学会、第２００５巻、２００５年６月９日、ｐ.９２
【非特許文献６】Ａ．Ｍｅｎｃｉａｓｓｉ、他３名、“Ａ  ＳＭＡ  Ａｃｔｕａｔｅｄ Ａｒｔｉｆｉｃｉａｌ  Ｅａｒｔｈｗｏｒｍ”、Ｐｒｏｃ.ＩＥＥＥ  Ｉｎｔ.Ｃｏｎｆ.、Ｒｏｂｏｔｉｃｓ  ａｎｄ  Ａｕｔｏｍａｔｉｏｎ(ＩＣＲＡ’０４),Ｎｅｗ Ｏｒｌｅａｎｓ,ＵＳＡ、２００４年、ｐ.３２８２−３２８７
【非特許文献７】Ｎ.Ｓａｇａ、他３名、“Ｄｅｓｉｇｎ  ｏｆ  ａ  Ｔｈｒｅｅ  Ｄｉｍｅｎｓｉｏｎａｌ  Ｒｕｎｎｉｎｇ  Ｐｅｒｉｓｔａｌｔｉｃ  Ｃｒａｗｌｉｎｇ  Ｒｏｂｏｔ”、Ｐｒｏｃ.  ｏｆ  １９ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｍｅｃｈａｔｒｏｎｉｃｓ  ａｎｄ  Ｍａｃｈｉｎｅ  Ｖｉｓｉｏｎ  ｉｎ  Ｐｒａｃｔｉｃｅ（Ｍ２ＶＩＰ）, Ａｕｃｋｌａｎｄ（Ｎｅｗ  Ｚｅａｌａｎｄ）、２０１２年、ｐ．４７３−４７６
【非特許文献８】Ｎ.Ｓａｇａ、他１名、“Ｅｌｕｃｉｄａｔｉｏｎ  ｏｆ  Ｐｒｏｐｕｌｓｉｖｅ  ｆｏｒｃｅ  ｏｆ  ｍｉｃｒｏ−ｒｏｂｏｔ  ｕｓｉｎｇ  ｍａｇｎｅｔｉｃ  ｆｌｕｉｄ”、Ｊ.  Ａｐｐｌ.  Ｐｈｙｓ.、Ｖｏｌ．９１、２００２年、ｐ．７００３
【非特許文献９】Ｈ．Ｏｍｏｒｉ、他２名、“Ｌｏｃｏｍｏｔｉｏｎ  ａｎｄ  ｔｕｒｎｉｎｇ  ｐａｔｔｅｒｎｓ  ｏｆ  ａ  ｐｅｒｉｓｔａｌｔｉｃ  ｃｒａｗｌｉｎｇ  ｅａｒｔｈｗｏｒｍ  ｒｏｂｏｔ  ｃｏｍｐｏｓｅｄｏｆ  ｆｌｅｘｉｂｌｅ  ｕｎｉｔｓ”、２００８  ＩＥＥＥ／ＲＳＪ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｉｎｔｅｌｌｉｇｅｎｔ  Ｒｏｂｏｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ、２００８年、ｐ．１６３０−１６３５
【非特許文献１０】Ｔ．Ｎａｋａｍｕｒａ、他１名、“Ｌｏｃｏｍｏｔｉｏｎ  Ｓｔｒａｔｅｇｙ  ｆｏｒ  ａ  Ｐｅｒｉｓｔａｌｔｉｃ  Ｃｒａｗｌｉｎｇ  Ｒｏｂｏｔ  ｉｎ  ａ  ２−Ｄｉｍｅｎｓｉｏｎａｌ  Ｓｐａｃｅ”、２００８  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｒｏｂｏｔｉｃｓ  ａｎｄ  Ａｕｔｏｍａｔｉｏｎ、２００８年、ｐ．２３８−２４３
【非特許文献１１】Ｎ.Ｓａｇａ、他３名、“Ｐｅｒｉｓｔａｌｓｉｓ  Ｃｒａｗｌｉｎｇ  Ｒｏｂｏｔ  ｆｏｒ  Ｕｓｅ  ｏｎ  ｔｈｅ  Ｇｒｏｕｎｄ  ａｎｄ  ｉｎ  Ｐｌｕｍｂｉｎｇ  Ｐｉｐｅｓ”、Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  １９ｔｈ  ＣＩＳＭ−ＩＦＴｏＭＭ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｒｏｂｏｔ  Ｄｅｓｉｇｎ,  Ｄｙｎａｍｉｃｓ,  ａｎｄ  Ｃｏｎｔｒｏｌ（ＲＯＭＡＮＳＹ２０１２）、２０１２年、 ｐ．４．１−５
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、上記特許文献１のようなロボットでは、その後端部又は前端部を配管の内壁面等の移動面に固定するために、係止手段と移動面との間に十分な摩擦力を生じさせる必要がある。しかしながら、移動面がロボットの側方及び上方に壁がない平面等である場合、係止手段と移動面との間に十分な摩擦力が生じず、ロボットを移動させることが困難であるという問題がある。
【０００７】
そこで、本発明は、移動面の形状にかかわらず移動可能なロボット、及びこれに使用される体節を提供することを課題とする。
【課題を解決するための手段】
【０００８】
本発明は、上記課題を解決するためのものであり、多体節型ロボットの体節であって、ロボットの体軸方向に沿って伸縮する伸縮アームと、伸縮アームに接続され、体軸方向と交差する方向に延びる回転軸周りに回転する回転アームと、を備える。
【０００９】
上記体節において、回転アームは、体軸方向と交差する方向に延びる回転軸周りに回転し、ロボットの移動面に対して角度をもって当接する。このため、移動面の形状にかかわらず、回転アームと移動面との間に十分な摩擦力を生じさせることができ、体節が移動面に対して移動するのを防止することができる。
【００１０】
また、上記体節の回転アームは、初期状態において、伸縮アームが伸長する方向と同じ方向に延びていてもよい。この構成によれば、ロボットの体軸方向における体節の寸法を小さくすることができる。
【００１１】
また、本発明は、多体節型ロボットであって、複数の上記体節を備え、複数の体節のうち１つの体節の伸縮アームは、１つの体節に隣接する他の１つの体節に連結されている。
【００１２】
上記ロボットにおいては、１つの体節の伸縮アームが、この１つの体節に隣接する他の１つの体節に連結されているため、１つの体節において回転アームをロボットの移動面に当接させた状態で伸縮アームを伸縮させることによって、他の１つの体節を押し出したり引き寄せたりすることができる。このような動作の結果、上記ロボットは移動面を移動する。上述した通り、各体節は、移動面の形状にかかわらず、回転アームと移動面との間に十分な摩擦力を生じさせることができ、移動面に対して容易に移動しないため、ロボットは、その側方及び上方に壁がない平面等も移動することができる。
【００１３】
上記ロボットは、複数の体節のうち、一方端に位置する体節の伸縮アームが、他方端に位置する体節側に伸長し、他方端に位置する体節の伸縮アームが、一方端に位置する体節側に伸長するように構成されていてもよい。
【００１４】
また、上記ロボットは、さらに、各体節において、伸縮アームを伸縮させ、且つ回転アームがロボットの移動面と当接及び離間するように回転アームを回転させる制御部を備えることもできる。
【００１５】
この場合、複数の体節は、第１の体節と、第１の体節の方向に、その伸縮アームが伸長する第２の体節と、を含み、制御部は、第２の体節の回転アームを移動面に当接させるとともに第２の体節以外の体節の回転アームを移動面から離間させた状態で、第２の体節の伸縮アームを第１の体節側に伸長させた後、第１の体節の回転アームを移動面に当接させるとともに第１の体節以外の体節の回転アームを移動面から離間させた状態で、第２の体節の伸縮アームを収縮させてもよい。
【００１６】
あるいは、上記制御部は、第１の体節の回転アームを移動面に当接させるとともに第１の体節以外の体節の回転アームを移動面から離間させた状態で、第２の体節の伸縮アームを第１の体節側に伸長させた後、第２の体節の回転アームを移動面に当接させるとともに第２の体節以外の体節の回転アームを移動面から離間させた状態で、第２の体節の伸縮アームを収縮させてもよい。
【００１７】
このような構成により、第１及び第２の体節のうち一方のみが移動面に当接した状態で、第１又は第２の体節を押し出したり引き寄せたりすることができ、ロボットを移動面上で移動させることができる。
【００１８】
また、上記制御部は、複数の体節のうち２つ以上の体節の回転アームを移動面に当接させた状態で、少なくとも１つの体節の伸縮アームを伸長又は収縮させてもよい。この構成によれば、ロボットの移動に際して、少なくとも２つの体節の回転アームが移動面に当接し、ロボットは、少なくとも２つの体節によって移動面上で支持されるため、安定して移動することができる。
【００１９】
また、上記ロボットは、さらに、複数の体節のうち少なくとも１つの体節をロボットの進行方向に対して前方に移動させるために、少なくとも１つの体節の回転アームをロボットの移動面に衝突するように回転させる制御部を備えることもできる。この構成によれば、少なくとも１つの体節の回転アームが回転して移動面に衝突することによって、この少なくとも１つの体節が進行方向前方に移動する。これにより、ロボットは移動面を移動することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施形態に係るロボットの斜視図である。
【図２】上記実施形態に係るロボットの体節において、各アームが初期状態にある状態を示す斜視図である。
【図３】上記実施形態に係るロボットの体節において、各アームが動作した後の状態を示す斜視図である。
【図４】上記実施形態に係るロボットの物理構成図である。
【図５】上記実施形態に係るロボットが最速モードで動作する場合の処理を示すフローチャートである。
【図６】上記実施形態に係るロボットの最速モードにおける動作を示す側面概略図である。
【図７Ａ】上記実施形態に係るロボットが安定モードで動作する場合の処理を示すフローチャートである。
【図７Ｂ】上記実施形態に係るロボットが安定モードで動作する場合の処理を示すフローチャートである。
【図８】上記実施形態に係るロボットの安定モードにおける動作を示す側面概略図である。
【図９】上記実施形態に係るロボットが省エネモードで動作する場合の処理を示すフローチャートである。
【図１０】上記実施形態に係るロボットの省エネモードにおける動作を示す側面概略図である。
【図１１】上記実施形態に係るロボットが掻き出しモードで動作する場合の処理を示すフローチャートである。
【図１２】上記実施形態に係るロボットの掻き出しモードにおける動作を示す平面概略図である。
【図１３】上記実施形態に係るロボットが左右掻き出しモードで動作する場合の処理を示すフローチャートである。
【図１４】上記実施形態に係るロボットの左右掻き出しモードにおける動作を示す平面概略図である。
【図１５】上記実施形態の変形例に係るロボットの動作を示す側面概略図である。
【図１６】上記実施形態の別の変形例に係るロボットの動作を示す側面概略図である。
【発明を実施するための形態】
【００２１】
以下、本発明の実施の形態について図面を参照しつつ説明する。以下の説明において、既に説明した構成及びこれに相当する構成については、同一の符号を付して同じ説明を繰り返さない。
【００２２】
本実施形態に係るロボット１０は、図１に示すように、４つの体節１Ａ、１Ｂ、１Ｃ、１Ｄと、２つのヘッド部２Ａ、２Ｂと、制御部３と、を備えている。図１において、体節１Ａ、１Ｂは、後述する伸縮アーム１１が体軸方向に対して左に伸長し、体節１Ｃ、１Ｄは、伸縮アーム１１が体軸方向に対して右に伸長する。なお、以下の説明では、４つの体節１Ａ、１Ｂ、１Ｃ、１Ｄを体節１、２つのヘッド部２Ａ、２Ｂをヘッド部２と総称することがある。
【００２３】
各体節１は、それぞれ、図１〜図３に示すように、伸縮アーム１１と、３つの回転アーム１２と、２つのプレート１３、１４と、を有している。なお、説明の便宜上、各体節１において、プレート１３側を正面、又は前若しくは先、プレート１４側を背面又は後という。図２及び図３においては、プレート１３は省略し、プレート１４の一部のみを示す。
【００２４】
伸縮アーム１１は、図２及び図３に示すように、ロボット１０の体軸方向に沿って伸縮可能であり、好ましくはリニアアクチュエータで構成されている。伸縮アーム１１は、先端部１１１がプレート１３に接続されるとともに、後端部１１２がプレート１４に接続されている。
【００２５】
３つの回転アーム１２は、図２に示すように、伸縮アーム１１の周囲に等間隔で配置されている。各回転アーム１２は、初期状態においては、伸縮アーム１１が伸長する方向と同じ方向に延びている。各回転アーム１２は、サーボモータ１２１と、ハンド部１２２と、ロボット１０の体軸方向に約９０度で交差する方向に延びる回転軸１２３と、を備えている。各サーボモータ１２１は、回転軸１２３周りにおいて双方向に回転する。ハンド部１２２は、中央部が膨らんだ円柱形状に形成されており、サーボモータ１２１の先端部に設けられた取付部１２４を介してサーボモータ１２１に取り付けられている。
【００２６】
プレート１３は、図１に示すように、体節１の前端に設けられ、プレート本体１３１を有している。プレート本体１３１の後面には、伸縮アーム１１の先端部１１１が接続されている。
【００２７】
プレート１４は、図１に示すように、体節１の後端に設けられている。プレート１４は、図１〜図３に示すように、プレート本体１４１と、伸縮アーム１１とプレート本体１４１とを接続する接続部材１４２と、各回転アーム１２とプレート本体１４１とを接続する３つの接続部材１４３と、を有している。
【００２８】
接続部材１４２は、図３に示すように、プレート本体１４１の前面中央部において正面視で略Ｕ字状に形成されており、伸縮アーム１１の後端部１１２を把持している。３つの接続部材１４３は、図２及び図３に示すように、プレート本体１４１の前面において、接続部材１４２の周囲に等間隔で配置されている。各接続部材１４３は、プレート本体１４１の前面に固定される底部１４３ａと、底部１４３ａの前面から突出する壁部１４３ｂと、を有している。壁部１４３ｂは、隣り合う２つの回転アーム１２の各サーボモータ１２１の側面に沿うように、約１２０度の角度をなすＬ字状に形成されている。壁部１４３ｂの両端部には、略Ｕ字状の溝１４３ｃが形成されており、各溝１４３ｃは隣り合う２つの回転アーム１２の各回転軸１２３を支持している。
【００２９】
各体節１の間には、隣接する体節１同士が相対的に屈曲及び回転可能なよう、この体節１同士を連結する関節機構４が設けられている。各関節機構４は、図１に示すように、プレート本体１３１の前面及びプレート本体１４１の後面に取り付けられている。なお、本実施形態では、関節機構４としていわゆる球面軸受を採用しているが、これに限定されるものではない。各関節機構４は、ハウジング４１と、ハウジング４１内に収容されたリテーナ４２と、隣接する関節機構４の連結部４３と連結される連結部４３と、を有している。リテーナ４２は、内部に太陽球（図示省略）を収容するとともに内壁面にベアリング（図示省略）を保持しており、リテーナ４２内で太陽球が傾いたり回転したりすることによって、隣接する体節１同士が相対的に屈曲及び回転する。制御部３において、体節１Ｂ、１Ｃと対向する面にも関節機構４が設けられており、制御部３は体節１Ｂ、１Ｃと相対的に屈曲及び回転する。なお、図１において、体節１Ａ、１Ｄは、プレート本体１４１の後面上に関節機構４が設けられていないが、他の体節１Ｂ、１Ｃと同様に、プレート本体１４１の後面上に関節機構４が設けられていてもよい。
【００３０】
ヘッド部２Ａ、２Ｂは、図１に示すように、ロボット１０の両端部に設けられている。ヘッド部２Ａ、２Ｂは、それぞれ、体節１Ａ、１Ｄ側に関節（図示省略）を有しており、隣接する体節１Ａ、１Ｄと相対的に屈曲することができる。なお、ヘッド部２の関節としては、関節機構４と同様のものを使用してもよいし、関節機構４と別のものを使用してもよい。また、ヘッド部２は、図４に示すように、２つのモータ２１と、超音波距離計２２と、を備えている。２つのモータ２１のうち一方は、ヘッド部２をロボットの進行方向に対して上下に動かし、他方は、ヘッド部２を進行方向に対して左右に動かす。超音波距離計２２は、発射した超音波が反射して戻ってくるまでの時間に基づいて、ヘッド部２とヘッド部２の前方に位置する物体との距離を算出する。
【００３１】
制御部３は、マイクロコンピュータが組み込まれており、体節１Ａ〜１Ｄ及びヘッド部２Ａ、２Ｂを制御する。制御部３は、図４に示すように、ＣＰＵ基板（ユーザボード）３１と、ＣＰＵ基板（Ｉ／Ｆボード）３２と、を備えている。制御部３は、無線モジュール５１、５２を介してコンピュータ６と通信可能であるとともに、体節１Ａ〜１Ｄ及びヘッド部２Ａ、２Ｂとも通信可能となっている。
【００３２】
ユーザボード３１は、後述のロボット１０の動作モードに関する指令信号をコンピュータ６から受信し、且つヘッド部２とヘッド部２の前方に位置する物体との距離信号を、Ｉ／Ｆボード３２を介して超音波距離計２２から受信する。ユーザボード３１は、距離信号に基づいてロボット１０が進行可能な空間が存在する方向を決定し、ロボット１０の進行方向及び動作に関する指令信号をＩ／Ｆボード３２に引き渡す。また、ユーザボード３１は、後述のカウントＴ及び指示角度θを記憶する。
【００３３】
Ｉ／Ｆボード３２は、ユーザボード３１から受け取った指令信号を駆動信号に変換して、各体節１における伸縮アーム１１及び回転アーム１２のサーボモータ１２１、並びに各ヘッド部２の各モータ２１に送信する。なお、各回転アーム１２には、必要に応じて、ＲＳ２３２−ＲＳ４３２変換基板等のシリアル信号変換基板１２５が設けられていてもよい。
【００３４】
次に、上述のように構成されたロボット１０の動作について説明する。
【００３５】
ロボット１０は、コンピュータ６の指令信号に基づき、所定の動作モードで動作を行う。動作モードとしては、最速モード、安定モード、省エネモード、掻き出しモード、及び左右掻き出しモードを挙げることができる。以下、各動作モードでのロボット１０の動作について詳細に説明する。なお、いずれの動作モードにおいても、初期位置では、体節１Ａ〜１Ｄにおいて、各伸縮アーム１１は収縮状態となっており、回転アーム１２は伸縮アーム１１が伸長する方向と同じ方向に延びた状態、つまり閉じた状態となっている（図示省略）。
【００３６】
（最速モード）
以下、ロボット１０が最速モードで管Ｐ内を移動する場合の動作について、図５及び図６を参照しつつ説明する。
【００３７】
制御部３において、ユーザボード３１は、最速モードで動作させるための指令信号をコンピュータ６から受信すると、体節１Ｄの各サーボモータ１２１を回転させるための指令信号を生成する。ユーザボード３１は、この指令信号をＩ／Ｆボード３２に引き渡し、Ｉ／Ｆボード３２は、受け取った指令信号を駆動信号に変換して体節１Ｄの各サーボモータ１２１に送信する。この駆動信号によって、体節１Ｄの各サーボモータ１２１は、伸縮アーム１１から離れるように回転軸１２３周りに回転する。これにより、図５及び図６（１）に示すように、体節１Ｄの各ハンド部１２２が管Ｐの内壁面に当接し、ロボット１０は、管Ｐの内壁面上において、体節１Ｄの各回転アーム１２によって支持される（ステップＳ１０１）。
【００３８】
次に、ユーザボード３１は、体節１Ａ〜１Ｄの各伸縮アーム１１を伸長させるための指令信号を生成するとともにカウントＴを０に初期化し、指令信号をＩ／Ｆボード３２に引き渡す。Ｉ／Ｆボード３２は、受け取った指令信号を駆動信号に変換して体節１Ａ〜１Ｄの各伸縮アーム１１に送信する。この駆動信号によって、図６（２）に示すように、体節１Ａ〜１Ｄの各伸縮アーム１１が伸長する（ステップＳ１０２）。このとき、体節１Ｄの各回転アーム１２は、管Ｐの内壁面においてロボット１０を支持したままである。これにより、体節１Ａ〜１Ｃ、制御部３、及びヘッド部２Ａは進行方向前方に移動する。
【００３９】
ユーザボード３１は、カウントＴが２５０を超えているか否か判断する（ステップＳ１０３）。カウントＴが２５０以下である場合、ユーザボード３１は、カウントＴをインクリメントし（ステップＳ１０４）、体節１Ａ〜１Ｄの各伸縮アーム１１は、伸長動作が完了していない場合、伸長動作を継続する（ステップＳ１０２）。ここで、ユーザボード３１の性能等にもよるが、通常、カウントＴが０から２５０になるまでには約５秒間を要する。すなわち、体節１Ａ〜１Ｄの各伸縮アーム１１が伸長を開始してから約５秒間は、次のステップＳ１０５の処理が開始されない。このように、本実施形態では、各伸縮アーム１１の動作開始から次の動作開始まで約５秒間の待機時間を確保することによって、各伸縮アーム１１の動作が完了しないうちに次の動作が開始されるのを防止している。
【００４０】
カウントＴが２５０を超えた場合、ユーザボード３１は、体節１Ａ、１Ｄの各サーボモータ１２１を回転させるための指令信号を生成し、この指令信号をＩ／Ｆボード３２に引き渡す。Ｉ／Ｆボード３２は、この指令信号を駆動信号に変換して体節１Ａ、１Ｄの各サーボモータ１２１に送信する。この駆動信号によって、図６（３）に示すように、体節１Ａにおいて、各サーボモータ１２１が伸縮アーム１１から離れるように回転軸１２３周りに回転し、これにより、各ハンド部１２２が管Ｐの内壁面に当接する。一方、体節１Ｄにおいては、各サーボモータ１２１が伸縮アーム１１に近づくように回転軸１２３周りに回転し、これにより、各ハンド部１２２が管Ｐの内壁面から離間する。この結果、ロボット１０は、管Ｐの内壁面上において、体節１Ａの各回転アーム１２によって支持される（ステップＳ１０５）。
【００４１】
次に、ユーザボード３１は、体節１Ａ〜１Ｄの各伸縮アーム１１を収縮させるための指令信号を生成するとともにカウントＴを０に初期化し、この指令信号をＩ／Ｆボード３２に引き渡す。Ｉ／Ｆボード３２は、この指令信号を駆動信号に変換して体節１Ａ〜１Ｄの各伸縮アーム１１に送信する。体節１Ａ〜１Ｄの各伸縮アーム１１は、図６（４）に示すように、この駆動信号によって収縮する（ステップＳ１０６）。このとき、体節１Ａの各回転アーム１２は、管Ｐの内壁面上において、ロボット１０を支持したままである。これにより、体節１Ｂ〜１Ｄ、制御部３、及びヘッド部２Ｂは、進行方向前方に移動し、ロボット１０が管Ｐ内で前進する。
【００４２】
ユーザボード３１は、カウントＴが２５０を超えているか否か判断する（ステップＳ１０７）。カウントＴが２５０以下である場合、ユーザボード３１は、カウントＴをインクリメントし（ステップＳ１０８）、体節１Ａ〜１Ｄの各伸縮アーム１１は、収縮動作が完了していない場合、収縮動作を継続する（ステップＳ１０６）。
【００４３】
カウントＴが２５０を超えた場合、ユーザボード３１は、コンピュータ６から動作終了の指令信号を受信しているか否かを判断する（ステップＳ１０９）。ユーザボード３１が動作終了の指令信号を受信している場合、最速モードの動作は終了する。
【００４４】
ユーザボード３１が動作終了の指令信号を受信していない場合、ユーザボード３１は、体節１Ａの各サーボモータ１２１を回転させるための指令信号を生成し、この指令信号をＩ／Ｆボード３２に引き渡す。Ｉ／Ｆボード３２は、この指令信号を駆動信号に変換して体節１Ａの各サーボモータ１２１に送信する。この駆動信号によって、体節１Ａにおいて、各サーボモータ１２１が伸縮アーム１１に近づくように回転軸１２３周りに回転し、各ハンド部１２２が管Ｐの内壁面から離間する。これにより、体節１Ａによるロボット１の支持が解除され、初期状態（図示省略）に戻る（ステップＳ１１０）。その後、ステップＳ１０１〜ステップＳ１０９の処理が再度行われる。
【００４５】
このように、最速モードにおいては、体節１Ａ〜１Ｄの伸縮アーム１１を同時に伸縮させるため、ロボット１０を高速で前進させることができる。
【００４６】
（安定モード）
以下、ロボット１０が安定モードで管Ｐ内を移動する場合の動作について、図７Ａ、図７Ｂ、及び図８を参照しつつ説明する。
【００４７】
ユーザボード３１は、安定モードで動作させるための指令信号をコンピュータ６から受信すると、体節１Ｂ〜１Ｄの各サーボモータ１２１を回転させ、且つ体節１Ａの伸縮アーム１１を伸長させるための指令信号を生成するとともにカウントＴを０に初期化し、指令信号をＩ／Ｆボード３２に引き渡す。Ｉ／Ｆボード３２は、この指令信号を駆動信号に変換して体節１Ｂ〜１Ｄの各サーボモータ１２１、及び体節１Ａの伸縮アーム１１に送信する。この駆動信号によって、図８（１）に示すように、体節１Ｂ〜１Ｄにおいて、各サーボモータ１２１が伸縮アーム１１から離れるように回転軸１２３周りに回転し、各ハンド部１２２が管Ｐの内壁面に当接する。また、図８（２）に示すように、体節１Ａの伸縮アーム１１が伸長する。これにより、管Ｐの内壁面上においてロボット１０が体節１Ｂ〜１Ｄの各回転アーム１２によって支持されるとともに、体節１Ａ及びヘッド部２Ａが進行方向前方に移動する（ステップＳ２０１）。
【００４８】
ユーザボード３１は、カウントＴが２５０を超えているか否か判断する（ステップＳ２０２）。カウントＴが２５０以下である場合、ユーザボード３１は、カウントＴをインクリメントし（ステップＳ２０３）、体節１Ａの伸縮アーム１１は、伸長動作が完了していない場合、伸長動作を継続する（ステップＳ２０１）。
【００４９】
カウントＴが２５０を超えた場合、ユーザボード３１は、体節１Ａ、１Ｂの各サーボモータ１２１を回転させるための指令信号を生成し、この指令信号をＩ／Ｆボード３２に引き渡す。Ｉ／Ｆボード３２は、この指令信号を駆動信号に変換して体節１Ａ、１Ｂの各サーボモータ１２１に送信する。この駆動信号によって、図８（３）に示すように、体節１Ａにおいて、各サーボモータ１２１が伸縮アーム１１から離れるように回転軸１２３周りに回転し、これにより、各ハンド部１２２が管Ｐの内壁面に当接する。一方、体節１Ｂにおいては、各サーボモータ１２１が伸縮アーム１１に近づくように回転軸１２３周りに回転し、これにより、各ハンド部１２２が管Ｐの内壁面から離間する。この結果、体節１Ｂの各回転アーム１２によるロボット１０の支持は解除され、ロボット１０は、管Ｐの内壁面上において、体節１Ａ、１Ｃ、及び１Ｄの各回転アーム１２によって支持される（ステップＳ２０４）。
【００５０】
次に、ユーザボード３１は、体節１Ａ、１Ｂの各伸縮アーム１１を伸縮させるための指令信号を生成するとともにカウントＴを０に初期化し、この指令信号をＩ／Ｆボード３２に引き渡す。Ｉ／Ｆボード３２は、この指令信号を駆動信号に変換して体節１Ａ、１Ｂの各伸縮アーム１１に送信する。この駆動信号によって、図８（４）に示すように、体節１Ａの伸縮アーム１１は収縮し、体節１Ｂの伸縮アーム１１は伸長する（ステップＳ２０５）。これにより、体節１Ｂが進行方向前方に移動する。
【００５１】
ユーザボード３１は、カウントＴが２５０を超えているか否か判断する（ステップＳ２０６）。カウントＴが２５０以下である場合、ユーザボード３１は、カウントＴをインクリメントし（ステップＳ２０７）、体節１Ａ、１Ｂの伸縮アーム１１は、伸縮動作が完了していない場合、伸縮動作を継続する（ステップＳ２０５）。
【００５２】
カウントＴが２５０を超えた場合、ユーザボード３１は、体節１Ｂの各サーボモータ１２１を回転させるための指令信号を生成し、この指令信号をＩ／Ｆボード３２に引き渡す。Ｉ／Ｆボード３２は、この指令信号を駆動信号に変換して、この駆動信号を体節１Ｂの各サーボモータ１２１に送信する。この駆動信号によって、図８（５）に示すように、体節１Ｂにおいて、各サーボモータ１２１が伸縮アーム１１から離れるように回転軸１２３周りに回転し、各ハンド部１２２が管Ｐの内壁面に当接する。これにより、ロボット１０は、管Ｐの内壁面上において、体節１Ａ〜１Ｄの各回転アーム１２によって支持される（ステップＳ２０８）。
【００５３】
次に、ユーザボード３１は、体節１Ｂ、１Ｃの各伸縮アーム１１を伸縮させるための指令信号を生成するとともにカウントＴを０に初期化し、この指令信号をＩ／Ｆボード３２に引き渡す。Ｉ／Ｆボード３２は、この指令信号を駆動信号に変換して体節１Ｂ、１Ｃの各伸縮アーム１１に送信する。この駆動信号によって、図８（５）に示すように、体節１Ｂの伸縮アーム１１は収縮し、体節１Ｃの伸縮アーム１１は伸長する（ステップＳ２０９）。これにより、体節１Ｂと体節１Ｃとの間に配置された制御部３が進行方向前方に移動する。
【００５４】
ユーザボード３１は、カウントＴが２５０を超えているか否か判断する（ステップＳ２１０）。カウントＴが２５０以下である場合、ユーザボード３１は、カウントＴをインクリメントし（ステップＳ２１１）、体節１Ｂ、１Ｃの伸縮アーム１１は、伸縮動作が完了していない場合、伸縮動作を継続する（ステップＳ２０９）。
【００５５】
カウントＴが２５０を超えた場合、ユーザボード３１は、体節１Ｃの各サーボモータ１２１を回転させるための指令信号を生成し、この指令信号をＩ／Ｆボード３２に引き渡す。Ｉ／Ｆボード３２は、この指令信号を駆動信号に変換して体節１Ｃの各サーボモータ１２１に送信する。この駆動信号によって、図８（６）に示すように、体節１Ｃにおいて、各サーボモータ１２１は、伸縮アーム１１から近づくように回転軸１２３周りに回転し、各ハンド部１２２が管Ｐの内壁面から離間する。これにより、体節１Ｃの各回転アーム１２によるロボット１０の支持が解除され（ステップＳ２１２）、ロボット１０は、管Ｐの内壁面上において、体節１Ａ、１Ｂ、及び１Ｄの各回転アーム１２によって支持される。
【００５６】
次に、ユーザボード３１は、体節１Ｃ、１Ｄの各伸縮アーム１１を伸縮させるための指令信号を生成するとともにカウントＴを０に初期化し、この指令信号をＩ／Ｆボード３２に引き渡す。Ｉ／Ｆボード３２は、この指令信号を駆動信号に変換して体節１Ｃ、１Ｄの各伸縮アーム１１に送信する。この駆動信号によって、図８（６）に示すように、体節１Ｃの伸縮アーム１１は収縮し、体節１Ｄの伸縮アーム１１は伸長する（ステップＳ２１３）。これにより、体節１Ｃが進行方向前方に移動する。
【００５７】
ユーザボード３１は、カウントＴが２５０を超えているか否か判断する（ステップＳ２１４）。カウントＴが２５０以下である場合、ユーザボード３１は、カウントＴをインクリメントし（ステップＳ２１５）、体節１Ｃ、１Ｄの伸縮アーム１１は、伸縮動作が完了していない場合、伸縮動作を継続する（ステップＳ２１３）。
【００５８】
カウントＴが２５０を超えた場合、ユーザボード３１は、体節１Ｃ、１Ｄの各サーボモータ１２１を回転させるための指令信号を生成し、この指令信号をＩ／Ｆボード３２に引き渡す。Ｉ／Ｆボード３２は、この指令信号を駆動信号に変換して体節１Ｃ、１Ｄの各サーボモータ１２１に送信する。この駆動信号によって、図８（７）に示すように、体節１Ｃにおいて、各サーボモータ１２１が伸縮アーム１１から離れるように回転軸１２３周りに回転し、これにより、各ハンド部１２２が管Ｐの内壁面に当接する。一方、体節１Ｄにおいては、各サーボモータ１２１が伸縮アーム１１に近づくように回転軸１２３周りに回転し、これにより、各ハンド部１２２が管Ｐの内壁面から離間する。この結果、体節１Ｂの各回転アーム１２によるロボット１０の支持が解除され、ロボット１０は、管Ｐの内壁面上において、体節１Ａ〜１Ｃの各回転アーム１２によって支持される（ステップＳ２１６）。
【００５９】
次に、ユーザボード３１は、体節１Ｄの伸縮アーム１１を収縮させるための指令信号を生成するとともにカウントＴを０に初期化し、この指令信号をＩ／Ｆボード３２に引き渡す。Ｉ／Ｆボード３２は、この指令信号を駆動信号に変換して体節１Ｄの伸縮アーム１１に送信する。この駆動信号によって、図８（７）に示すように、体節１Ｄの伸縮アーム１１は収縮する（ステップＳ２１７）。これにより、体節１Ｄ及びヘッド部２Ｂが進行方向前方に移動し、ロボット１０が管Ｐ内で前進する。
【００６０】
ユーザボード３１は、カウントＴが２５０を超えているか否か判断する（ステップＳ２１８）。カウントＴが２５０以下である場合、ユーザボード３１は、カウントＴをインクリメントし（ステップＳ２１９）、体節１Ｄの伸縮アーム１１は、収縮動作が完了していない場合、収縮動作を継続する（ステップＳ２１８）。
【００６１】
カウントＴが２５０を超えた場合、ユーザボード３１は、コンピュータ６から動作終了の指令信号を受信しているか否かを判断する（ステップＳ２２０）。ユーザボード３１が動作終了の指令信号を受信している場合、安定モードの動作は終了する。
【００６２】
ユーザボード３１が動作終了の指令信号を受信していない場合、ユーザボード３１は、体節１Ａの各サーボモータ１２１を回転させるための指令信号を生成し、この指令信号をＩ／Ｆボード３２に引き渡す。Ｉ／Ｆボード３２は、この指令信号を駆動信号に変換して体節１Ａの各サーボモータ１２１に送信する。この駆動信号によって、体節１Ａにおいて、各サーボモータ１２１が伸縮アーム１１に近づくように回転軸１２３周りに回転し、各ハンド部１２２が管Ｐの内壁面から離間する。これにより、体節１Ａによるロボット１０の支持が解除される（ステップＳ２２１）。その後、ステップＳ２０１〜ステップＳ２２０の処理が再度行われる。なお、体節１Ｂ、１Ｃの各ハンド部１２２は既に管Ｐの内壁面に当接した状態となっているため、再度のステップＳ２０１では、体節１Ｄのサーボモータ１２１のみが回転軸１２３周りに回転する。
【００６３】
このように、安定モードにおいては、各体節１の伸縮アーム１１を伸縮させるときに３つの体節１の回転アーム１２によってロボット１０を支持するため、ロボット１０を安定して前進させることができる。ただし、各体節１における伸縮アーム１１の伸縮に際しては、少なくとも２つの体節１の回転アーム１２でロボット１０を支持することができればよい。
【００６４】
（省エネモード）
以下、ロボット１０が省エネモードで管Ｐ内を移動する場合の動作について、図９及び図１０を参照しつつ説明する。
【００６５】
ユーザボード３１は、省エネモードで動作させるための指令信号をコンピュータ６から受信すると、体節１Ｂの各サーボモータ１２１を回転させるための指令信号を生成し、この指令信号をＩ／Ｆボード３２に引き渡す。Ｉ／Ｆボード３２は、この指令信号を駆動信号に変換して体節１Ｂの各サーボモータ１２１に送信する。この駆動信号によって、図１０（１）に示すように、体節１Ｂにおいて、各サーボモータ１２１が伸縮アーム１１から離れるように回転軸１２３周りに回転し、各ハンド部１２２が管Ｐの内壁面に当接する。これにより、ロボット１０は、管Ｐの内壁面上において、体節１Ｂの各回転アーム１２によって支持される（ステップＳ３０１）。
【００６６】
次に、ユーザボード３１は、体節１Ａの伸縮アーム１１を伸長させるための指令信号を生成するとともにカウントＴを０に初期化し、この指令信号をＩ／Ｆボード３２に引き渡す。Ｉ／Ｆボード３２は、この指令信号を駆動信号に変換して体節１Ａの伸縮アーム１１に送信する。この駆動信号によって、図１０（２）に示すように、体節１Ａの伸縮アーム１１は伸長する（ステップＳ３０２）。これにより、体節１Ａ及びヘッド部２Ａが進行方向前方に移動する。
【００６７】
ユーザボード３１は、カウントＴが２５０を超えているか否か判断する（ステップＳ３０３）。カウントＴが２５０以下である場合、ユーザボード３１は、カウントＴをインクリメントし（ステップＳ３０４）、体節１Ａの伸縮アーム１１は、伸長動作が完了していない場合、伸長動作を継続する（ステップＳ３０２）。
【００６８】
カウントＴが２５０を超えた場合、ユーザボード３１は、体節１Ａ、１Ｂの各サーボモータ１２１を回転させるための指令信号を生成し、この指令信号をＩ／Ｆボード３２に引き渡す。Ｉ／Ｆボード３２は、この指令信号を駆動信号に変換して体節１Ａ、１Ｂの各サーボモータ１２１に送信する。この駆動信号によって、図１０（３）に示すように、体節１Ａにおいて、各サーボモータ１２１が伸縮アーム１１から離れるように回転軸１２３周りに回転し、これにより、各ハンド部１２２が管Ｐの内壁面に当接する。一方、体節１Ｂにおいては、各サーボモータ１２１が伸縮アーム１１に近づくように回転軸１２３周りに回転し、これにより、各ハンド部１２２が管Ｐの内壁面から離間する。この結果、体節１Ｂの各回転アーム１２によるロボット１０の支持は解除され、ロボット１０は、管Ｐの内壁面上において、体節１Ａの各回転アーム１２によって支持される（ステップＳ３０５）。
【００６９】
次に、ユーザボード３１は、体節１Ａの伸縮アーム１１を収縮させるための指令信号を生成するとともにカウントＴを０に初期化し、この指令信号をＩ／Ｆボード３２に引き渡す。Ｉ／Ｆボード３２は、この指令信号を駆動信号に変換して体節１Ａの伸縮アーム１１に送信する。この駆動信号によって、図１０（４）に示すように、体節１Ａの伸縮アーム１１は収縮する（ステップＳ３０６）。これにより、体節１Ｂ〜１Ｄ、制御部３、及びヘッド部２Ｂが進行方向前方に移動する。
【００７０】
ユーザボード３１は、カウントＴが２５０を超えているか否か判断する（ステップＳ３０７）。カウントＴが２５０以下である場合、ユーザボード３１は、カウントＴをインクリメントし（ステップＳ３０８）、体節１Ａの伸縮アーム１１は、収縮動作が完了していない場合、収縮動作を継続する（ステップＳ３０６）。
【００７１】
カウントＴが２５０を超えた場合、ユーザボード３１は、コンピュータ６から動作終了の指令信号を受信しているか否かを判断する（ステップＳ３０９）。ユーザボード３１が動作終了の指令信号を受信している場合、省エネモードの動作は終了する。
【００７２】
ユーザボード３１が動作終了の指令信号を受信していない場合、ユーザボード３１は、体節１Ａの各サーボモータ１２１を回転させるための指令信号を生成し、この指令信号をＩ／Ｆボード３２に引き渡す。Ｉ／Ｆボード３２は、この指令信号を駆動信号に変換して体節１Ａの各サーボモータ１２１に送信する。この駆動信号によって、体節１Ａにおいて、各サーボモータ１２１が伸縮アーム１１に近づくように回転軸１２３周りに回転し、各ハンド部１２２が管Ｐの内壁面から離間する。これにより、体節１Ａの各回転アーム１２によるロボット１０の支持が解除され、初期状態（図示省略）に戻る（ステップＳ３１０）。その後、ステップＳ３０１〜ステップＳ３０９の処理が再度行われる。
【００７３】
このように、省エネモードにおいては、体節１Ａ、１Ｂの動作によってロボット１０を前進させ、体節１Ｃ、１Ｄを動作させないため、ロボット１０を移動させるのに必要な電力等のエネルギーを節約することができる。
【００７４】
（掻き出しモード）
以下、ロボット１０が、左右に壁面がない平面上を掻き出しモードで移動する場合の動作について、図１１、及び図１２を参照しつつ説明する。既に説明した各動作モードにおいては、体節１Ａ、１Ｂと体節１Ｃ、１Ｄとが制御部３を挟んで向かい合っていたが、掻き出しモード及び後述の左右掻き出しモードにおいては、図１１に示すように、体節１Ａ〜１Ｄが全て同じ方向を向いている。また、掻き出しモード及び左右掻き出しモードでロボット１０が動作する場合、体節１Ａ〜１Ｄにおいて、１つの回転アーム１２が伸縮アーム１１のほぼ真上に位置し、他の２つの回転アーム１２が伸縮アーム１１の下方においてほぼ同じ高さに位置していることが好ましい。なお、図１２では、体節１Ａ〜１Ｄにおいて、伸縮アーム１１のほぼ真上に位置する回転アーム１２の図示は省略する。
【００７５】
ユーザボード３１は、掻き出しモードで動作させるための指令信号をコンピュータ６から受信すると、体節１Ｃ、１Ｄの各サーボモータ１２１を回転させるための指令信号を生成するとともに指示角度θを所定の初期値で初期化し、この指令信号をＩ／Ｆボード３２に引き渡す。Ｉ／Ｆボード３２は、この指令信号を駆動信号に変換して体節１Ｃ、１Ｄの各サーボモータ１２１に送信する。この駆動信号によって、図１２（２）に示すように、体節１Ｃ、１Ｄにおいて、各サーボモータ１２１は、伸縮アーム１１から離れるように、回転軸１２３周りに指示角度θだけ回転する（ステップＳ４０１）。
【００７６】
ユーザボード３１は、指示角度θが６０度を超えているか否かを判断する（ステップＳ４０２）。ここでは、体節１Ｃ、１Ｄの各サーボモータ１２１が６０度を超えて回転したときに、体節１Ｃ、１Ｄの各ハンド部１２２は、平面に衝突し、平面を進行方向前方から後方に掻き出すようにして、体節１Ｃ、１Ｄを進行方向前方に押し出すことができる。すなわち、指示角度θが６０度を超えたとき、体節１Ｃ、１Ｄの各サーボモータ１２１の回転によってロボット１０が前進する。ただし、指示角度θは、体節１Ｃ、１Ｄの回転アーム１２が平面に衝突し、体節１Ｃ、１Ｄが前進する程度に回転する角度であればよく、そのような角度であれば、６０度より小さい値に設定されていてもよいし、６０度を超えた値（例えば９０度以上）に設定されていてもよい。
【００７７】
指示角度θが６０度以下の場合、ユーザボード３１は、指示角度θをインクリメントし（ステップＳ４０３）、再度ステップＳ４０１の処理を行う。ただし、再度のステップＳ４０１の処理においては、指示角度θの初期化は行わない。
【００７８】
指示角度θが６０度を超え、ロボット１０が前進すると、ユーザボード３１は、体節１Ａ、１Ｂの各サーボモータ１２１を回転させるための指令信号を生成し、この指令信号をＩ／Ｆボード３２に引き渡す。Ｉ／Ｆボード３２は、この指令信号を駆動信号に変換して体節１Ａ、１Ｂの各サーボモータ１２１に送信する。この駆動信号によって、図１２（３）に示すように、体節１Ａ、１Ｂにおいて、各サーボモータ１２１は、伸縮アーム１１から離れるように回転軸１２３周りに回転し、２つのハンド部１２２が平面に当接する。これにより、ロボット１０は、初期位置よりも前進した位置において、体節１Ａ、１Ｂの回転アーム１２によって平面上で支持される（ステップＳ４０４）。
【００７９】
次に、ユーザボード３１は、体節１Ｃ、１Ｄの各サーボモータ１２１を初期位置に戻すための指令信号を生成し、この指令信号をＩ／Ｆボード３２に引き渡す。Ｉ／Ｆボード３２は、この指令信号を駆動信号に変換して体節１Ｃ、１Ｄの各サーボモータ１２１に送信する。ユーザボード３１は、体節１Ｃ、１Ｄの各サーボモータ１２１を初期位置から指示角度θだけ回転した位置に移動させ（ステップＳ４０５）、指示角度θが０度であるか否か判断する（ステップＳ４０６）。指示角度θが０度でない場合、ユーザボード３１は指示角度θをデクリメントし（ステップＳ４０７）、体節１Ｃ、１Ｄの各サーボモータ１２１を初期位置からデクリメント後の指示角度θだけ回転した位置に移動させる（ステップＳ４０５）。すなわち、指示角度θが徐々に小さくなることによって、体節１Ｃ、１Ｄの各サーボモータ１２１は、各伸縮アーム１１に近づくように回転し、図１２（４）に示すように、最終的には初期位置に到達する。
【００８０】
指示角度θが０度になると、ユーザボード３１は、コンピュータ６から動作終了の指令信号を受信しているか否かを判断する（ステップＳ４０８）。ユーザボード３１が動作終了の指令信号を受信している場合、掻き出しモードの動作は終了する。
【００８１】
ユーザボード３１が動作終了の指令信号を受信していない場合、ユーザボード３１は、体節１Ａ、１Ｂの各サーボモータ１２１を回転させるための指令信号を生成し、この指令信号をＩ／Ｆボード３２に引き渡す。Ｉ／Ｆボード３２は、この指令信号を駆動信号に変換して体節１Ａ、１Ｂの各サーボモータ１２１に送信する。この駆動信号によって、体節１Ａ、１Ｂにおいて、各サーボモータ１２１は伸縮アーム１１に近づくように回転軸１２３周りに回転し、平面に当接していた各ハンド部１２２が平面から離間し、初期状態（図示省略）に戻る（ステップＳ４０９）。その後、ステップＳ４０１〜ステップＳ４０８の処理が再度行われる。
【００８２】
このように、掻き出しモードにおいては、体節１Ｃ、１Ｄの回転アーム１２が平面に衝突し、平面を掻き出すように動作するため、体節１Ｃ、１Ｄが前進する。そして、体節１Ｃ、１Ｄが前進した状態で体節１Ａ、１Ｂの回転アーム１２によって平面上でロボット１０を支持するため、体節１Ｃ、１Ｄが前進した状態を維持することができ、平面上であってもロボット１０を容易に前進させることができる。
【００８３】
（左右掻き出しモード）
以下、ロボット１０が、平面上を左右掻き出しモードで移動する場合の動作について、図１３及び図１４を参照しつつ説明する。左右掻き出しモードでは、説明の便宜上、体節１Ａ〜１Ｄにおいて、伸縮アーム１１の下方に位置する２つの回転アーム１２のうち、進行方向右側のものを回転アーム１２Ｒとし、進行方向左側のものを回転アーム１２Ｌとする。同様に、各体節の回転アーム１２Ｒ及び１１２Ｌがそれぞれ有する各構成についても、符号の末尾に“Ｒ”、“Ｌ”を付して区別することとする。なお、図１４では、体節１Ａ〜１Ｄにおいて、伸縮アーム１１のほぼ真上に位置する回転アーム１２の図示は省略する。
【００８４】
ユーザボード３１は、左右掻き出しモードで動作させるための指令信号をコンピュータ６から受信すると、体節１Ａ、１Ｃの各サーボモータ１２１Ｒ、及び体節１Ｂ、１Ｄの各サーボモータ１２１Ｌを回転させるための指令信号を生成するとともに指示角度θを所定の初期値で初期化し、この指令信号をＩ／Ｆボード３２に引き渡す。Ｉ／Ｆボード３２は、この指令信号を駆動信号に変換して体節１Ａ、１Ｃの各サーボモータ１２１Ｒ、及び体節１Ｂ、１Ｄの各サーボモータ１２１Ｌに送信する。この駆動信号によって、体節１Ａ、１Ｃにおいて、各サーボモータ１２１Ｒが、伸縮アーム１１から離れるように、回転軸１２３Ｒ周りに指示角度θだけ回転する。また、体節１Ｂ、１Ｄにおいて、各サーボモータ１２１Ｌが、伸縮アーム１１から離れるように、回転軸１２３Ｌ周りに指示角度θだけ回転する（ステップＳ５０１）。
【００８５】
ユーザボード３１は、指示角度θが６０度を超えているか否かを判断する（ステップＳ５０２）。指示角度θが６０度以下の場合、ユーザボード３１は、指示角度θをインクリメントし（ステップＳ５０３）、再度ステップＳ５０１の処理を行う。ただし、再度のステップＳ５０１の処理においては、指示角度θの初期化は行わない。
【００８６】
指示角度θが６０度を超え、体節１Ａ、１Ｃの各回転アーム１２Ｒが平面を進行方向前方から後方に掻き出すように動作したとき、体節１Ａ、１Ｃは、図１４（２）に示すように、進行方向に対して右側の部分が前方に押し出される。一方、指示角度θが６０度を超え、体節１Ｂ、１Ｄの各回転アーム１２Ｌが平面を進行方向前方から後方に掻き出すように動作したとき、体節１Ｂ、１Ｄは、進行方向に対して左側の部分が前方に押し出される。
【００８７】
指示角度θが６０度を超えた場合、ユーザボード３１は、体節１Ａ、１Ｃの各サーボモータ１２１Ｒ、及び体節１Ｂ、１Ｄの各サーボモータ１２１Ｌを初期位置に戻すための指令信号を生成し、この指令信号をＩ／Ｆボード３２に引き渡す。Ｉ／Ｆボード３２は、この指令信号を駆動信号に変換して体節１Ａ、１Ｃの各サーボモータ１２１Ｒ、及び体節１Ｂ、１Ｄの各サーボモータ１２１Ｌに送信する。ユーザボード３１は、体節１Ａ、１Ｃの各サーボモータ１２１Ｒ、及び体節１Ｂ、１Ｄの各サーボモータ１２１Ｌを初期位置から指示角度θだけ回転した位置に移動させ（ステップＳ５０４）、指示角度θが０度であるか否か判断する（ステップＳ５０５）。指示角度θが０度でない場合、ユーザボード３１は指示角度θをデクリメントし（ステップＳ５０６）、体節１Ａ、１Ｃの各サーボモータ１２１Ｒ、及び体節１Ｂ、１Ｄの各サーボモータ１２１Ｌを初期位置からデクリメント後の指示角度θだけ回転した位置に移動させる（ステップＳ５０４）。
【００８８】
指示角度θが０度になると、ユーザボード３１は、体節１Ａ、１Ｃの各サーボモータ１２１Ｌ、及び体節１Ｂ、１Ｄの各サーボモータ１２１Ｒを回転させるための指令信号を生成するとともに指示角度θを所定の初期値で初期化し、この指令信号をＩ／Ｆボード３２に引き渡す。Ｉ／Ｆボード３２は、この指令信号を駆動信号に変換して体節１Ａ、１Ｃの各サーボモータ１２１Ｌ、及び体節１Ｂ、１Ｄの各サーボモータ１２１Ｒに送信する。この駆動信号によって、体節１Ａ、１Ｃにおいて、各サーボモータ１２１Ｌが、伸縮アーム１１から離れるように、回転軸１２３Ｌ周りに指示角度θだけ回転する。また、体節１Ｂ、１Ｄにおいて、各サーボモータ１２１Ｒが、伸縮アーム１１から離れるように、回転軸１２３Ｒ周りに指示角度θだけ回転する（ステップＳ５０７）。
【００８９】
ユーザボード３１は、指示角度θが６０度を超えているか否かを判断する（ステップＳ５０８）。指示角度θが６０度以下の場合、ユーザボード３１は、指示角度θをインクリメントし（ステップＳ５０９）、再度ステップＳ５０７の処理を行う。ただし、再度のステップＳ５０７の処理においては、指示角度θの初期化は行わない。
【００９０】
指示角度θが６０度を超え、体節１Ａ、１Ｃの各回転アーム１２Ｌが平面を進行方向前方から後方に掻き出すように動作したとき、体節１Ａ、１Ｃは、図１４（３）に示すように、進行方向に対して左側の部分が前方に押し出される。一方、指示角度θが６０度を超え、体節１Ｂ、１Ｄの各回転アーム１２Ｒが平面を進行方向前方から後方に掻き出すように動作したとき、体節１Ｂ、１Ｄは、進行方向に対して右側の部分が前方に押し出される。
【００９１】
指示角度θが６０度を超えた場合、ユーザボード３１は、体節１Ａ、１Ｃの各サーボモータ１２１Ｌ、及び体節１Ｂ、１Ｄの各サーボモータ１２１Ｒを初期位置に戻すための指令信号を生成し、この指令信号をＩ／Ｆボード３２に引き渡す。Ｉ／Ｆボード３２は、この指令信号を駆動信号に変換して体節１Ａ、１Ｃの各サーボモータ１２１Ｌ、及び体節１Ｂ、１Ｄの各サーボモータ１２１Ｒに送信する。ユーザボード３１は、体節１Ａ、１Ｃの各サーボモータ１２１Ｌ、及び体節１Ｂ、１Ｄの各サーボモータ１２１Ｒを初期位置から指示角度θだけ回転した位置に移動させ（ステップＳ５１０）、指示角度θが０度であるか否か判断する（ステップＳ５１１）。指示角度θが０度でない場合、ユーザボード３１は指示角度θをデクリメントし（ステップＳ５１２）、体節１Ａ、１Ｃの各サーボモータ１２１Ｌ、及び体節１Ｂ、１Ｄの各サーボモータ１２１Ｒを初期位置からデクリメント後の指示角度θだけ回転した位置に移動させる（ステップＳ５１０）。
【００９２】
指示角度θが０度になると、ユーザボード３１は、コンピュータ６から動作終了の指令信号を受信しているか否かを判断する（ステップＳ５１３）。ユーザボード３１が動作終了の指令信号を受信している場合、掻き出しモードの動作は終了する。ユーザボード３１が動作終了の指令信号を受信していない場合、ステップＳ５０１〜Ｓ５１２の処理が再度行われる。
【００９３】
このように、左右掻き出しモードにおいては、各体節１が、進行方向に対して右半身と左半身とが交互に前に出るよう動作する。この結果、ロボット１０は平面上であっても容易に前進することができる。
【００９４】
以上のように、本実施形態のロボット１０において、各体節１の回転アーム１２は、ロボット１０の体軸方向と約９０度で交差する方向に延びる回転軸１２３周りに回転し、ロボットの移動面に対して角度をもって当接する。このため、管Ｐだけでなく平面のような移動面であっても、回転アーム１２と移動面との間に十分な摩擦力を発生させることができ、体節１が移動面に対して移動するのを防止することができる。また、各体節１の回転アーム１２は、移動面を掻き出すように動作し、自身をロボット１０の進行方向前方に押し出すこともできる。これらの結果、ロボット１０は、移動面の形状にかかわらず、移動することができる。さらに、ロボット１０においては、各体節１の伸縮アーム１１及び回転アーム１２がそれぞれ独立して動作するため、伸縮アーム１１の伸長量と回転アーム１２の回転量とが互いに制限され合うことがない。
【００９５】
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて、種々の変更が可能である。
【００９６】
例えば、上記実施形態において、ロボット１０は、４つの体節１Ａ〜１Ｄを備えていたが、少なくとも２つの体節を備えていればよい。
【００９７】
また、上記実施形態においては、体節１Ａ、１Ｂと体節１Ｃ、１Ｄとは、制御部３を挟んで向かい合い、あるいは全て同じ方向を向くように配置されていたが、体節の向きは必要に応じて適宜変更すればよい。
【００９８】
また、上記実施形態において、体節１の３つの回転アーム１２は伸縮アーム１１の周囲に等間隔に配置されていたが、回転アーム１２間の間隔は適宜変更することができる。
【００９９】
また、上記実施形態において、体節１は、３つの回転アーム１２を備えていたが、少なくとも１つの回転アーム１２を備えていればよい。
【０１００】
また、上記実施形態において、回転アーム１２の回転軸１２３は、ロボット１０の体軸方向と約９０度で交差する方向に延びていたが、体軸方向と回転軸が延びる方向との交差角度は特に限定されない。
【０１０１】
また、上記実施形態では、各回転アーム１２は、伸縮アーム１１に近接する位置から管Ｐに当接又は平面に衝突する位置まで回転していたが、その向きが逆になるまで回転するよう構成することができる。すなわち、図１５に示すように、伸縮アーム１１の上方に位置し且つ伸縮アーム１１が伸長する方向と同じ方向に延びている回転アーム１２Ｍａを、回転軸１２３周りに約１８０度回転させることによって逆向きにすることができる。また、伸縮アーム１１の下方に位置する回転アーム１２Ｍａについては、平面Ｆによって回転が妨げられないように、ロボット１０Ｍａ又は体節１Ｍａを体軸周りに回転させて伸縮アーム１１の上方に移動させた後、同様に約１８０度回転させればよい。
【０１０２】
また、上記実施形態において、各回転アームは折りたたみ式であってもよい。すなわち、図１６に示すように、回転アーム１２Ｍｂに少なくとも１つの関節部１２６を設け、この関節部１２６で回転アーム１２Ｍｂを折り曲げたり伸ばしたりすることができるよう構成してもよい。このような回転アーム１２Ｍｂを備えた体節は、径が大きい管Ｐ１内をロボット１０Ｍｂが移動する場合であっても、回転アーム１２Ｍｂを伸ばしてハンド部１２２を管Ｐ１の内壁面に当接させることができる。径が小さい管Ｐ２内をロボット１０Ｍｂが移動する場合は、回転アーム１２Ｍｂを折り曲げたままの状態で回転させ、関節部１２６を管Ｐ２の内壁面に当接させればよい。
【０１０３】
また、上記実施形態において、体節１の伸縮アーム１１と回転アーム１２とはプレート１４を介して接続されていたが、プレート１４以外の介在物を介して接続されていてもよいし、直接接続されていてもよい。
【符号の説明】
【０１０４】
１０，１０Ｍａ，１０Ｍｂ  ロボット
１Ａ〜１Ｄ  体節
１１  伸縮アーム
１２，１２Ｍａ，１２Ｍｂ  回転アーム
３  制御部
【図１】
2014188607.tif 000003
【図２】
2014188607.tif 000004
【図３】
2014188607.tif 000005
【図４】
2014188607.tif 000006
【図５】
2014188607.tif 000007
【図６】
2014188607.tif 000008
【図７Ａ】
2014188607.tif 000009
【図７Ｂ】
2014188607.tif 000010
【図８】
2014188607.tif 000011
【図９】
2014188607.tif 000012
【図１０】
2014188607.tif 000013
【図１１】
2014188607.tif 000014
【図１２】
2014188607.tif 000015
【図１３】
2014188607.tif 000016
【図１４】
2014188607.tif 000017
【図１５】
2014188607.tif 000018
【図１６】
2014188607.tif 000019