TOP > 国内特許検索 > 多体節型ロボット及びその体節 > 明細書

明細書 :多体節型ロボット及びその体節

発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2014-188607 (P2014-188607A)
公開日 平成26年10月6日(2014.10.6)
発明の名称または考案の名称 多体節型ロボット及びその体節
国際特許分類 B25J  11/00        (2006.01)
B25J  17/00        (2006.01)
FI B25J 11/00 Z
B25J 17/00 L
請求項の数または発明の数 8
出願形態 OL
全頁数 22
出願番号 特願2013-064308 (P2013-064308)
出願日 平成25年3月26日(2013.3.26)
発明者または考案者 【氏名】嵯峨 宣彦
出願人 【識別番号】503092180
【氏名又は名称】学校法人関西学院
個別代理人の代理人 【識別番号】100104444、【弁理士】、【氏名又は名称】上羽 秀敏
【識別番号】100112715、【弁理士】、【氏名又は名称】松山 隆夫
【識別番号】100125704、【弁理士】、【氏名又は名称】坂根 剛
【識別番号】100120662、【弁理士】、【氏名又は名称】川上 桂子
審査請求 未請求
テーマコード 3C707
Fターム 3C707BS19
3C707CS08
3C707HS27
3C707KS12
3C707KS36
3C707LV15
3C707WA05
3C707WA18
3C707WA25
要約 【課題】移動面の形状にかかわらず移動可能なロボット、及びこれに使用される体節を提供する。
【解決手段】多体節型ロボットの体節であって、ロボットの体軸方向に沿って伸縮する伸縮アームと、伸縮アームに接続され、体軸方向と交差する方向に延びる回転軸周りに回転する回転アームと、を備える。
【選択図】図1
特許請求の範囲 【請求項1】
多体節型ロボットの体節であって、
前記ロボットの体軸方向に沿って伸縮する伸縮アームと、
前記伸縮アームに接続され、前記体軸方向と交差する方向に延びる回転軸周りに回転する回転アームと、
を備える、体節。
【請求項2】
請求項1に記載の体節であって、
前記回転アームは、初期状態において、前記伸縮アームが伸長する方向と同じ方向に延びている、体節。
【請求項3】
多体節型ロボットであって、
請求項1又は2に記載の複数の体節を備え、
前記複数の体節のうち1つの体節の伸縮アームは、前記1つの体節に隣接する他の1つの体節に連結されている、ロボット。
【請求項4】
請求項3に記載のロボットであって、
前記複数の体節のうち、一方端に位置する体節の伸縮アームは、他方端に位置する体節側に伸長し、
前記他方端に位置する体節の伸縮アームは、前記一方端に位置する体節側に伸長する、ロボット。
【請求項5】
請求項3又は4に記載のロボットであって、さらに、
前記各体節において、前記伸縮アームを伸縮させ、且つ前記回転アームが前記ロボットの移動面と当接及び離間するように前記回転アームを回転させる制御部を備え、
前記複数の体節は、
第1の体節と、
前記第1の体節の方向に、その伸縮アームが伸長する第2の体節と、
を含み、
前記制御部は、
前記第2の体節の回転アームを前記移動面に当接させるとともに前記第2の体節以外の体節の回転アームを前記移動面から離間させた状態で、前記第2の体節の伸縮アームを前記第1の体節側に伸長させた後、
前記第1の体節の回転アームを前記移動面に当接させるとともに前記第1の体節以外の体節の回転アームを前記移動面から離間させた状態で、前記第2の体節の伸縮アームを収縮させる、ロボット。
【請求項6】
請求項3又は4に記載のロボットであって、さらに、
前記各体節において、前記伸縮アームを伸縮させ、且つ前記回転アームが前記ロボットの移動面と当接及び離間するように前記回転アームを回転させる制御部を備え、
前記複数の体節は、
第1の体節と、
前記第1の体節の方向に、その伸縮アームが伸長する第2の体節と、
を含み、
前記制御部は、
前記第1の体節の回転アームを前記移動面に当接させるとともに前記第1の体節以外の体節の回転アームを前記移動面から離間させた状態で、前記第2の体節の伸縮アームを前記第1の体節側に伸長させた後、
前記第2の体節の回転アームを前記移動面に当接させるとともに前記第2の体節以外の体節の回転アームを前記移動面から離間させた状態で、前記第2の体節の伸縮アームを収縮させる、ロボット。
【請求項7】
請求項3又は4に記載のロボットであって、さらに、
前記各体節において、前記伸縮アームを伸縮させ、且つ前記回転アームが前記ロボットの移動面と当接及び離間するように前記回転アームを回転させる制御部を備え、
前記制御部は、前記複数の体節のうち2つ以上の体節の回転アームを前記移動面に当接させた状態で、少なくとも1つの体節の伸縮アームを伸長又は収縮させる、ロボット。
【請求項8】
請求項3又は4に記載のロボットであって、さらに、
前記複数の体節のうち少なくとも1つの体節を前記ロボットの進行方向に対して前方に移動させるために、前記少なくとも1つの体節の回転アームを前記ロボットの移動面に衝突するように回転させる制御部を備える、ロボット。
発明の詳細な説明 【技術分野】
【0001】
本発明は、ロボットに関し、より詳しくは、多体節型ロボット、及びこのロボットに使用される体節に関する。
【背景技術】
【0002】
従来、配管内、瓦礫内、又は瓦礫上等を移動するロボットに関する様々な技術が提案されている。例えば、非特許文献1には、蠕動運動によって配管内を移動するロボットが記載されている。このロボットは、複数の伸縮モジュールを備えており、各伸縮モジュールは、ロボットの進行方向に沿って屈伸可能な3つのアクチュエータで構成されている。このロボットは、複数の伸縮モジュールが、所定の順序でアクチュエータを伸長及び屈曲させて長さ方向及び太さ方向の伸縮を繰り返し、これにより配管内を移動する。しかしながら、このような伸縮モジュールでは、各アクチュエータが長さ方向の伸長と太さ方向の伸長との双方を行うため、長さ方向の伸長量と太さ方向の伸長量とが互いに制限され合うという問題があった。
【0003】
これに対して、特許文献1には、長さ方向に伸縮する弾性伸縮体と、弾性伸縮体を挟んで配置され太さ方向に伸縮する係止手段と、を備えたロボットが記載されている。このロボットは、係止手段の一方を径方向に膨らませて配管の内壁面に当接させることによって、ロボットの後端部又は前端部を配管の内壁面に固定する。そして、このロボットは、後端部又は前端部を配管の内壁面に固定した状態で、弾性伸縮体を伸縮させることによって、配管内を移動する。このように、特許文献1に記載されたロボットは、弾性伸縮体が長さ方向の伸長を行い、これとは別の係止手段が太さ方向の伸長を行うため、非特許文献1に記載されたロボットのように、長さ方向の伸長量と太さ方向の伸長量とが互いに制限され合うことがない。
【先行技術文献】
【0004】

【特許文献1】特開平3-45464号公報
【特許文献2】特開平3-86679号公報
【特許文献3】特表2009-511388号公報
【特許文献4】特開2012-157918号公報
【特許文献5】米国特許第4522129号明細書
【0005】

【非特許文献1】嘉藤俊介、他3名、「ミミズを規範とした多関節ロボットのためのモジュール開発」、日本ロボット学会学術講演会予稿集、日本ロボット学会、2007年9月13日、第25巻、p.1F32
【非特許文献2】則次俊郎、他1名、「空気圧ソフトアクチュエータを用いた管内移動ロボットの開発」、日本ロボット学会誌、日本ロボット学会、2000年9月15日、第18巻、第6号、第p.831-838
【非特許文献3】嵯峨宣彦、他2名、「人工筋アクチュエータを用いた蠕動運動型ロボットの開発」、計測自動制御学会論文集、計測自動制御学会、第41巻、第12号、2005年12月、p.1013-1018
【非特許文献4】篠原英司、他2名、「ミミズのような蠕動運動システム」、電気学会論文誌. E, センサ・マイクロマシン準部門誌、電気学会、1999年6月13日、第119巻、第6号、p.334-339
【非特許文献5】原坂龍太、他3名、「インフレータブルアクチュエータを有するミミズ型レスキューロボットの開発」、ロボティクス・メカトロニクス講演会講演概要集、日本機械学会、第2005巻、2005年6月9日、p.92
【非特許文献6】A.Menciassi、他3名、“A SMA Actuated Artificial Earthworm”、Proc.IEEE Int.Conf.、Robotics and Automation(ICRA’04),New Orleans,USA、2004年、p.3282-3287
【非特許文献7】N.Saga、他3名、“Design of a Three Dimensional Running Peristaltic Crawling Robot”、Proc. of 19th International Conference on Mechatronics and Machine Vision in Practice(M2VIP), Auckland(New Zealand)、2012年、p.473-476
【非特許文献8】N.Saga、他1名、“Elucidation of Propulsive force of micro-robot using magnetic fluid”、J. Appl. Phys.、Vol.91、2002年、p.7003
【非特許文献9】H.Omori、他2名、“Locomotion and turning patterns of a peristaltic crawling earthworm robot composedof flexible units”、2008 IEEE/RSJ International Conference on Intelligent Robots and Systems、2008年、p.1630-1635
【非特許文献10】T.Nakamura、他1名、“Locomotion Strategy for a Peristaltic Crawling Robot in a 2-Dimensional Space”、2008 IEEE International Conference on Robotics and Automation、2008年、p.238-243
【非特許文献11】N.Saga、他3名、“Peristalsis Crawling Robot for Use on the Ground and in Plumbing Pipes”、Proceedings of 19th CISM-IFToMM Symposium on Robot Design, Dynamics, and Control(ROMANSY2012)、2012年、 p.4.1-5
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、上記特許文献1のようなロボットでは、その後端部又は前端部を配管の内壁面等の移動面に固定するために、係止手段と移動面との間に十分な摩擦力を生じさせる必要がある。しかしながら、移動面がロボットの側方及び上方に壁がない平面等である場合、係止手段と移動面との間に十分な摩擦力が生じず、ロボットを移動させることが困難であるという問題がある。
【0007】
そこで、本発明は、移動面の形状にかかわらず移動可能なロボット、及びこれに使用される体節を提供することを課題とする。
【課題を解決するための手段】
【0008】
本発明は、上記課題を解決するためのものであり、多体節型ロボットの体節であって、ロボットの体軸方向に沿って伸縮する伸縮アームと、伸縮アームに接続され、体軸方向と交差する方向に延びる回転軸周りに回転する回転アームと、を備える。
【0009】
上記体節において、回転アームは、体軸方向と交差する方向に延びる回転軸周りに回転し、ロボットの移動面に対して角度をもって当接する。このため、移動面の形状にかかわらず、回転アームと移動面との間に十分な摩擦力を生じさせることができ、体節が移動面に対して移動するのを防止することができる。
【0010】
また、上記体節の回転アームは、初期状態において、伸縮アームが伸長する方向と同じ方向に延びていてもよい。この構成によれば、ロボットの体軸方向における体節の寸法を小さくすることができる。
【0011】
また、本発明は、多体節型ロボットであって、複数の上記体節を備え、複数の体節のうち1つの体節の伸縮アームは、1つの体節に隣接する他の1つの体節に連結されている。
【0012】
上記ロボットにおいては、1つの体節の伸縮アームが、この1つの体節に隣接する他の1つの体節に連結されているため、1つの体節において回転アームをロボットの移動面に当接させた状態で伸縮アームを伸縮させることによって、他の1つの体節を押し出したり引き寄せたりすることができる。このような動作の結果、上記ロボットは移動面を移動する。上述した通り、各体節は、移動面の形状にかかわらず、回転アームと移動面との間に十分な摩擦力を生じさせることができ、移動面に対して容易に移動しないため、ロボットは、その側方及び上方に壁がない平面等も移動することができる。
【0013】
上記ロボットは、複数の体節のうち、一方端に位置する体節の伸縮アームが、他方端に位置する体節側に伸長し、他方端に位置する体節の伸縮アームが、一方端に位置する体節側に伸長するように構成されていてもよい。
【0014】
また、上記ロボットは、さらに、各体節において、伸縮アームを伸縮させ、且つ回転アームがロボットの移動面と当接及び離間するように回転アームを回転させる制御部を備えることもできる。
【0015】
この場合、複数の体節は、第1の体節と、第1の体節の方向に、その伸縮アームが伸長する第2の体節と、を含み、制御部は、第2の体節の回転アームを移動面に当接させるとともに第2の体節以外の体節の回転アームを移動面から離間させた状態で、第2の体節の伸縮アームを第1の体節側に伸長させた後、第1の体節の回転アームを移動面に当接させるとともに第1の体節以外の体節の回転アームを移動面から離間させた状態で、第2の体節の伸縮アームを収縮させてもよい。
【0016】
あるいは、上記制御部は、第1の体節の回転アームを移動面に当接させるとともに第1の体節以外の体節の回転アームを移動面から離間させた状態で、第2の体節の伸縮アームを第1の体節側に伸長させた後、第2の体節の回転アームを移動面に当接させるとともに第2の体節以外の体節の回転アームを移動面から離間させた状態で、第2の体節の伸縮アームを収縮させてもよい。
【0017】
このような構成により、第1及び第2の体節のうち一方のみが移動面に当接した状態で、第1又は第2の体節を押し出したり引き寄せたりすることができ、ロボットを移動面上で移動させることができる。
【0018】
また、上記制御部は、複数の体節のうち2つ以上の体節の回転アームを移動面に当接させた状態で、少なくとも1つの体節の伸縮アームを伸長又は収縮させてもよい。この構成によれば、ロボットの移動に際して、少なくとも2つの体節の回転アームが移動面に当接し、ロボットは、少なくとも2つの体節によって移動面上で支持されるため、安定して移動することができる。
【0019】
また、上記ロボットは、さらに、複数の体節のうち少なくとも1つの体節をロボットの進行方向に対して前方に移動させるために、少なくとも1つの体節の回転アームをロボットの移動面に衝突するように回転させる制御部を備えることもできる。この構成によれば、少なくとも1つの体節の回転アームが回転して移動面に衝突することによって、この少なくとも1つの体節が進行方向前方に移動する。これにより、ロボットは移動面を移動することができる。
【図面の簡単な説明】
【0020】
【図1】本発明の一実施形態に係るロボットの斜視図である。
【図2】上記実施形態に係るロボットの体節において、各アームが初期状態にある状態を示す斜視図である。
【図3】上記実施形態に係るロボットの体節において、各アームが動作した後の状態を示す斜視図である。
【図4】上記実施形態に係るロボットの物理構成図である。
【図5】上記実施形態に係るロボットが最速モードで動作する場合の処理を示すフローチャートである。
【図6】上記実施形態に係るロボットの最速モードにおける動作を示す側面概略図である。
【図7A】上記実施形態に係るロボットが安定モードで動作する場合の処理を示すフローチャートである。
【図7B】上記実施形態に係るロボットが安定モードで動作する場合の処理を示すフローチャートである。
【図8】上記実施形態に係るロボットの安定モードにおける動作を示す側面概略図である。
【図9】上記実施形態に係るロボットが省エネモードで動作する場合の処理を示すフローチャートである。
【図10】上記実施形態に係るロボットの省エネモードにおける動作を示す側面概略図である。
【図11】上記実施形態に係るロボットが掻き出しモードで動作する場合の処理を示すフローチャートである。
【図12】上記実施形態に係るロボットの掻き出しモードにおける動作を示す平面概略図である。
【図13】上記実施形態に係るロボットが左右掻き出しモードで動作する場合の処理を示すフローチャートである。
【図14】上記実施形態に係るロボットの左右掻き出しモードにおける動作を示す平面概略図である。
【図15】上記実施形態の変形例に係るロボットの動作を示す側面概略図である。
【図16】上記実施形態の別の変形例に係るロボットの動作を示す側面概略図である。
【発明を実施するための形態】
【0021】
以下、本発明の実施の形態について図面を参照しつつ説明する。以下の説明において、既に説明した構成及びこれに相当する構成については、同一の符号を付して同じ説明を繰り返さない。

【0022】
本実施形態に係るロボット10は、図1に示すように、4つの体節1A、1B、1C、1Dと、2つのヘッド部2A、2Bと、制御部3と、を備えている。図1において、体節1A、1Bは、後述する伸縮アーム11が体軸方向に対して左に伸長し、体節1C、1Dは、伸縮アーム11が体軸方向に対して右に伸長する。なお、以下の説明では、4つの体節1A、1B、1C、1Dを体節1、2つのヘッド部2A、2Bをヘッド部2と総称することがある。

【0023】
各体節1は、それぞれ、図1~図3に示すように、伸縮アーム11と、3つの回転アーム12と、2つのプレート13、14と、を有している。なお、説明の便宜上、各体節1において、プレート13側を正面、又は前若しくは先、プレート14側を背面又は後という。図2及び図3においては、プレート13は省略し、プレート14の一部のみを示す。

【0024】
伸縮アーム11は、図2及び図3に示すように、ロボット10の体軸方向に沿って伸縮可能であり、好ましくはリニアアクチュエータで構成されている。伸縮アーム11は、先端部111がプレート13に接続されるとともに、後端部112がプレート14に接続されている。

【0025】
3つの回転アーム12は、図2に示すように、伸縮アーム11の周囲に等間隔で配置されている。各回転アーム12は、初期状態においては、伸縮アーム11が伸長する方向と同じ方向に延びている。各回転アーム12は、サーボモータ121と、ハンド部122と、ロボット10の体軸方向に約90度で交差する方向に延びる回転軸123と、を備えている。各サーボモータ121は、回転軸123周りにおいて双方向に回転する。ハンド部122は、中央部が膨らんだ円柱形状に形成されており、サーボモータ121の先端部に設けられた取付部124を介してサーボモータ121に取り付けられている。

【0026】
プレート13は、図1に示すように、体節1の前端に設けられ、プレート本体131を有している。プレート本体131の後面には、伸縮アーム11の先端部111が接続されている。

【0027】
プレート14は、図1に示すように、体節1の後端に設けられている。プレート14は、図1~図3に示すように、プレート本体141と、伸縮アーム11とプレート本体141とを接続する接続部材142と、各回転アーム12とプレート本体141とを接続する3つの接続部材143と、を有している。

【0028】
接続部材142は、図3に示すように、プレート本体141の前面中央部において正面視で略U字状に形成されており、伸縮アーム11の後端部112を把持している。3つの接続部材143は、図2及び図3に示すように、プレート本体141の前面において、接続部材142の周囲に等間隔で配置されている。各接続部材143は、プレート本体141の前面に固定される底部143aと、底部143aの前面から突出する壁部143bと、を有している。壁部143bは、隣り合う2つの回転アーム12の各サーボモータ121の側面に沿うように、約120度の角度をなすL字状に形成されている。壁部143bの両端部には、略U字状の溝143cが形成されており、各溝143cは隣り合う2つの回転アーム12の各回転軸123を支持している。

【0029】
各体節1の間には、隣接する体節1同士が相対的に屈曲及び回転可能なよう、この体節1同士を連結する関節機構4が設けられている。各関節機構4は、図1に示すように、プレート本体131の前面及びプレート本体141の後面に取り付けられている。なお、本実施形態では、関節機構4としていわゆる球面軸受を採用しているが、これに限定されるものではない。各関節機構4は、ハウジング41と、ハウジング41内に収容されたリテーナ42と、隣接する関節機構4の連結部43と連結される連結部43と、を有している。リテーナ42は、内部に太陽球(図示省略)を収容するとともに内壁面にベアリング(図示省略)を保持しており、リテーナ42内で太陽球が傾いたり回転したりすることによって、隣接する体節1同士が相対的に屈曲及び回転する。制御部3において、体節1B、1Cと対向する面にも関節機構4が設けられており、制御部3は体節1B、1Cと相対的に屈曲及び回転する。なお、図1において、体節1A、1Dは、プレート本体141の後面上に関節機構4が設けられていないが、他の体節1B、1Cと同様に、プレート本体141の後面上に関節機構4が設けられていてもよい。

【0030】
ヘッド部2A、2Bは、図1に示すように、ロボット10の両端部に設けられている。ヘッド部2A、2Bは、それぞれ、体節1A、1D側に関節(図示省略)を有しており、隣接する体節1A、1Dと相対的に屈曲することができる。なお、ヘッド部2の関節としては、関節機構4と同様のものを使用してもよいし、関節機構4と別のものを使用してもよい。また、ヘッド部2は、図4に示すように、2つのモータ21と、超音波距離計22と、を備えている。2つのモータ21のうち一方は、ヘッド部2をロボットの進行方向に対して上下に動かし、他方は、ヘッド部2を進行方向に対して左右に動かす。超音波距離計22は、発射した超音波が反射して戻ってくるまでの時間に基づいて、ヘッド部2とヘッド部2の前方に位置する物体との距離を算出する。

【0031】
制御部3は、マイクロコンピュータが組み込まれており、体節1A~1D及びヘッド部2A、2Bを制御する。制御部3は、図4に示すように、CPU基板(ユーザボード)31と、CPU基板(I/Fボード)32と、を備えている。制御部3は、無線モジュール51、52を介してコンピュータ6と通信可能であるとともに、体節1A~1D及びヘッド部2A、2Bとも通信可能となっている。

【0032】
ユーザボード31は、後述のロボット10の動作モードに関する指令信号をコンピュータ6から受信し、且つヘッド部2とヘッド部2の前方に位置する物体との距離信号を、I/Fボード32を介して超音波距離計22から受信する。ユーザボード31は、距離信号に基づいてロボット10が進行可能な空間が存在する方向を決定し、ロボット10の進行方向及び動作に関する指令信号をI/Fボード32に引き渡す。また、ユーザボード31は、後述のカウントT及び指示角度θを記憶する。

【0033】
I/Fボード32は、ユーザボード31から受け取った指令信号を駆動信号に変換して、各体節1における伸縮アーム11及び回転アーム12のサーボモータ121、並びに各ヘッド部2の各モータ21に送信する。なお、各回転アーム12には、必要に応じて、RS232-RS432変換基板等のシリアル信号変換基板125が設けられていてもよい。

【0034】
次に、上述のように構成されたロボット10の動作について説明する。

【0035】
ロボット10は、コンピュータ6の指令信号に基づき、所定の動作モードで動作を行う。動作モードとしては、最速モード、安定モード、省エネモード、掻き出しモード、及び左右掻き出しモードを挙げることができる。以下、各動作モードでのロボット10の動作について詳細に説明する。なお、いずれの動作モードにおいても、初期位置では、体節1A~1Dにおいて、各伸縮アーム11は収縮状態となっており、回転アーム12は伸縮アーム11が伸長する方向と同じ方向に延びた状態、つまり閉じた状態となっている(図示省略)。

【0036】
(最速モード)
以下、ロボット10が最速モードで管P内を移動する場合の動作について、図5及び図6を参照しつつ説明する。

【0037】
制御部3において、ユーザボード31は、最速モードで動作させるための指令信号をコンピュータ6から受信すると、体節1Dの各サーボモータ121を回転させるための指令信号を生成する。ユーザボード31は、この指令信号をI/Fボード32に引き渡し、I/Fボード32は、受け取った指令信号を駆動信号に変換して体節1Dの各サーボモータ121に送信する。この駆動信号によって、体節1Dの各サーボモータ121は、伸縮アーム11から離れるように回転軸123周りに回転する。これにより、図5及び図6(1)に示すように、体節1Dの各ハンド部122が管Pの内壁面に当接し、ロボット10は、管Pの内壁面上において、体節1Dの各回転アーム12によって支持される(ステップS101)。

【0038】
次に、ユーザボード31は、体節1A~1Dの各伸縮アーム11を伸長させるための指令信号を生成するとともにカウントTを0に初期化し、指令信号をI/Fボード32に引き渡す。I/Fボード32は、受け取った指令信号を駆動信号に変換して体節1A~1Dの各伸縮アーム11に送信する。この駆動信号によって、図6(2)に示すように、体節1A~1Dの各伸縮アーム11が伸長する(ステップS102)。このとき、体節1Dの各回転アーム12は、管Pの内壁面においてロボット10を支持したままである。これにより、体節1A~1C、制御部3、及びヘッド部2Aは進行方向前方に移動する。

【0039】
ユーザボード31は、カウントTが250を超えているか否か判断する(ステップS103)。カウントTが250以下である場合、ユーザボード31は、カウントTをインクリメントし(ステップS104)、体節1A~1Dの各伸縮アーム11は、伸長動作が完了していない場合、伸長動作を継続する(ステップS102)。ここで、ユーザボード31の性能等にもよるが、通常、カウントTが0から250になるまでには約5秒間を要する。すなわち、体節1A~1Dの各伸縮アーム11が伸長を開始してから約5秒間は、次のステップS105の処理が開始されない。このように、本実施形態では、各伸縮アーム11の動作開始から次の動作開始まで約5秒間の待機時間を確保することによって、各伸縮アーム11の動作が完了しないうちに次の動作が開始されるのを防止している。

【0040】
カウントTが250を超えた場合、ユーザボード31は、体節1A、1Dの各サーボモータ121を回転させるための指令信号を生成し、この指令信号をI/Fボード32に引き渡す。I/Fボード32は、この指令信号を駆動信号に変換して体節1A、1Dの各サーボモータ121に送信する。この駆動信号によって、図6(3)に示すように、体節1Aにおいて、各サーボモータ121が伸縮アーム11から離れるように回転軸123周りに回転し、これにより、各ハンド部122が管Pの内壁面に当接する。一方、体節1Dにおいては、各サーボモータ121が伸縮アーム11に近づくように回転軸123周りに回転し、これにより、各ハンド部122が管Pの内壁面から離間する。この結果、ロボット10は、管Pの内壁面上において、体節1Aの各回転アーム12によって支持される(ステップS105)。

【0041】
次に、ユーザボード31は、体節1A~1Dの各伸縮アーム11を収縮させるための指令信号を生成するとともにカウントTを0に初期化し、この指令信号をI/Fボード32に引き渡す。I/Fボード32は、この指令信号を駆動信号に変換して体節1A~1Dの各伸縮アーム11に送信する。体節1A~1Dの各伸縮アーム11は、図6(4)に示すように、この駆動信号によって収縮する(ステップS106)。このとき、体節1Aの各回転アーム12は、管Pの内壁面上において、ロボット10を支持したままである。これにより、体節1B~1D、制御部3、及びヘッド部2Bは、進行方向前方に移動し、ロボット10が管P内で前進する。

【0042】
ユーザボード31は、カウントTが250を超えているか否か判断する(ステップS107)。カウントTが250以下である場合、ユーザボード31は、カウントTをインクリメントし(ステップS108)、体節1A~1Dの各伸縮アーム11は、収縮動作が完了していない場合、収縮動作を継続する(ステップS106)。

【0043】
カウントTが250を超えた場合、ユーザボード31は、コンピュータ6から動作終了の指令信号を受信しているか否かを判断する(ステップS109)。ユーザボード31が動作終了の指令信号を受信している場合、最速モードの動作は終了する。

【0044】
ユーザボード31が動作終了の指令信号を受信していない場合、ユーザボード31は、体節1Aの各サーボモータ121を回転させるための指令信号を生成し、この指令信号をI/Fボード32に引き渡す。I/Fボード32は、この指令信号を駆動信号に変換して体節1Aの各サーボモータ121に送信する。この駆動信号によって、体節1Aにおいて、各サーボモータ121が伸縮アーム11に近づくように回転軸123周りに回転し、各ハンド部122が管Pの内壁面から離間する。これにより、体節1Aによるロボット1の支持が解除され、初期状態(図示省略)に戻る(ステップS110)。その後、ステップS101~ステップS109の処理が再度行われる。

【0045】
このように、最速モードにおいては、体節1A~1Dの伸縮アーム11を同時に伸縮させるため、ロボット10を高速で前進させることができる。

【0046】
(安定モード)
以下、ロボット10が安定モードで管P内を移動する場合の動作について、図7A、図7B、及び図8を参照しつつ説明する。

【0047】
ユーザボード31は、安定モードで動作させるための指令信号をコンピュータ6から受信すると、体節1B~1Dの各サーボモータ121を回転させ、且つ体節1Aの伸縮アーム11を伸長させるための指令信号を生成するとともにカウントTを0に初期化し、指令信号をI/Fボード32に引き渡す。I/Fボード32は、この指令信号を駆動信号に変換して体節1B~1Dの各サーボモータ121、及び体節1Aの伸縮アーム11に送信する。この駆動信号によって、図8(1)に示すように、体節1B~1Dにおいて、各サーボモータ121が伸縮アーム11から離れるように回転軸123周りに回転し、各ハンド部122が管Pの内壁面に当接する。また、図8(2)に示すように、体節1Aの伸縮アーム11が伸長する。これにより、管Pの内壁面上においてロボット10が体節1B~1Dの各回転アーム12によって支持されるとともに、体節1A及びヘッド部2Aが進行方向前方に移動する(ステップS201)。

【0048】
ユーザボード31は、カウントTが250を超えているか否か判断する(ステップS202)。カウントTが250以下である場合、ユーザボード31は、カウントTをインクリメントし(ステップS203)、体節1Aの伸縮アーム11は、伸長動作が完了していない場合、伸長動作を継続する(ステップS201)。

【0049】
カウントTが250を超えた場合、ユーザボード31は、体節1A、1Bの各サーボモータ121を回転させるための指令信号を生成し、この指令信号をI/Fボード32に引き渡す。I/Fボード32は、この指令信号を駆動信号に変換して体節1A、1Bの各サーボモータ121に送信する。この駆動信号によって、図8(3)に示すように、体節1Aにおいて、各サーボモータ121が伸縮アーム11から離れるように回転軸123周りに回転し、これにより、各ハンド部122が管Pの内壁面に当接する。一方、体節1Bにおいては、各サーボモータ121が伸縮アーム11に近づくように回転軸123周りに回転し、これにより、各ハンド部122が管Pの内壁面から離間する。この結果、体節1Bの各回転アーム12によるロボット10の支持は解除され、ロボット10は、管Pの内壁面上において、体節1A、1C、及び1Dの各回転アーム12によって支持される(ステップS204)。

【0050】
次に、ユーザボード31は、体節1A、1Bの各伸縮アーム11を伸縮させるための指令信号を生成するとともにカウントTを0に初期化し、この指令信号をI/Fボード32に引き渡す。I/Fボード32は、この指令信号を駆動信号に変換して体節1A、1Bの各伸縮アーム11に送信する。この駆動信号によって、図8(4)に示すように、体節1Aの伸縮アーム11は収縮し、体節1Bの伸縮アーム11は伸長する(ステップS205)。これにより、体節1Bが進行方向前方に移動する。

【0051】
ユーザボード31は、カウントTが250を超えているか否か判断する(ステップS206)。カウントTが250以下である場合、ユーザボード31は、カウントTをインクリメントし(ステップS207)、体節1A、1Bの伸縮アーム11は、伸縮動作が完了していない場合、伸縮動作を継続する(ステップS205)。

【0052】
カウントTが250を超えた場合、ユーザボード31は、体節1Bの各サーボモータ121を回転させるための指令信号を生成し、この指令信号をI/Fボード32に引き渡す。I/Fボード32は、この指令信号を駆動信号に変換して、この駆動信号を体節1Bの各サーボモータ121に送信する。この駆動信号によって、図8(5)に示すように、体節1Bにおいて、各サーボモータ121が伸縮アーム11から離れるように回転軸123周りに回転し、各ハンド部122が管Pの内壁面に当接する。これにより、ロボット10は、管Pの内壁面上において、体節1A~1Dの各回転アーム12によって支持される(ステップS208)。

【0053】
次に、ユーザボード31は、体節1B、1Cの各伸縮アーム11を伸縮させるための指令信号を生成するとともにカウントTを0に初期化し、この指令信号をI/Fボード32に引き渡す。I/Fボード32は、この指令信号を駆動信号に変換して体節1B、1Cの各伸縮アーム11に送信する。この駆動信号によって、図8(5)に示すように、体節1Bの伸縮アーム11は収縮し、体節1Cの伸縮アーム11は伸長する(ステップS209)。これにより、体節1Bと体節1Cとの間に配置された制御部3が進行方向前方に移動する。

【0054】
ユーザボード31は、カウントTが250を超えているか否か判断する(ステップS210)。カウントTが250以下である場合、ユーザボード31は、カウントTをインクリメントし(ステップS211)、体節1B、1Cの伸縮アーム11は、伸縮動作が完了していない場合、伸縮動作を継続する(ステップS209)。

【0055】
カウントTが250を超えた場合、ユーザボード31は、体節1Cの各サーボモータ121を回転させるための指令信号を生成し、この指令信号をI/Fボード32に引き渡す。I/Fボード32は、この指令信号を駆動信号に変換して体節1Cの各サーボモータ121に送信する。この駆動信号によって、図8(6)に示すように、体節1Cにおいて、各サーボモータ121は、伸縮アーム11から近づくように回転軸123周りに回転し、各ハンド部122が管Pの内壁面から離間する。これにより、体節1Cの各回転アーム12によるロボット10の支持が解除され(ステップS212)、ロボット10は、管Pの内壁面上において、体節1A、1B、及び1Dの各回転アーム12によって支持される。

【0056】
次に、ユーザボード31は、体節1C、1Dの各伸縮アーム11を伸縮させるための指令信号を生成するとともにカウントTを0に初期化し、この指令信号をI/Fボード32に引き渡す。I/Fボード32は、この指令信号を駆動信号に変換して体節1C、1Dの各伸縮アーム11に送信する。この駆動信号によって、図8(6)に示すように、体節1Cの伸縮アーム11は収縮し、体節1Dの伸縮アーム11は伸長する(ステップS213)。これにより、体節1Cが進行方向前方に移動する。

【0057】
ユーザボード31は、カウントTが250を超えているか否か判断する(ステップS214)。カウントTが250以下である場合、ユーザボード31は、カウントTをインクリメントし(ステップS215)、体節1C、1Dの伸縮アーム11は、伸縮動作が完了していない場合、伸縮動作を継続する(ステップS213)。

【0058】
カウントTが250を超えた場合、ユーザボード31は、体節1C、1Dの各サーボモータ121を回転させるための指令信号を生成し、この指令信号をI/Fボード32に引き渡す。I/Fボード32は、この指令信号を駆動信号に変換して体節1C、1Dの各サーボモータ121に送信する。この駆動信号によって、図8(7)に示すように、体節1Cにおいて、各サーボモータ121が伸縮アーム11から離れるように回転軸123周りに回転し、これにより、各ハンド部122が管Pの内壁面に当接する。一方、体節1Dにおいては、各サーボモータ121が伸縮アーム11に近づくように回転軸123周りに回転し、これにより、各ハンド部122が管Pの内壁面から離間する。この結果、体節1Bの各回転アーム12によるロボット10の支持が解除され、ロボット10は、管Pの内壁面上において、体節1A~1Cの各回転アーム12によって支持される(ステップS216)。

【0059】
次に、ユーザボード31は、体節1Dの伸縮アーム11を収縮させるための指令信号を生成するとともにカウントTを0に初期化し、この指令信号をI/Fボード32に引き渡す。I/Fボード32は、この指令信号を駆動信号に変換して体節1Dの伸縮アーム11に送信する。この駆動信号によって、図8(7)に示すように、体節1Dの伸縮アーム11は収縮する(ステップS217)。これにより、体節1D及びヘッド部2Bが進行方向前方に移動し、ロボット10が管P内で前進する。

【0060】
ユーザボード31は、カウントTが250を超えているか否か判断する(ステップS218)。カウントTが250以下である場合、ユーザボード31は、カウントTをインクリメントし(ステップS219)、体節1Dの伸縮アーム11は、収縮動作が完了していない場合、収縮動作を継続する(ステップS218)。

【0061】
カウントTが250を超えた場合、ユーザボード31は、コンピュータ6から動作終了の指令信号を受信しているか否かを判断する(ステップS220)。ユーザボード31が動作終了の指令信号を受信している場合、安定モードの動作は終了する。

【0062】
ユーザボード31が動作終了の指令信号を受信していない場合、ユーザボード31は、体節1Aの各サーボモータ121を回転させるための指令信号を生成し、この指令信号をI/Fボード32に引き渡す。I/Fボード32は、この指令信号を駆動信号に変換して体節1Aの各サーボモータ121に送信する。この駆動信号によって、体節1Aにおいて、各サーボモータ121が伸縮アーム11に近づくように回転軸123周りに回転し、各ハンド部122が管Pの内壁面から離間する。これにより、体節1Aによるロボット10の支持が解除される(ステップS221)。その後、ステップS201~ステップS220の処理が再度行われる。なお、体節1B、1Cの各ハンド部122は既に管Pの内壁面に当接した状態となっているため、再度のステップS201では、体節1Dのサーボモータ121のみが回転軸123周りに回転する。

【0063】
このように、安定モードにおいては、各体節1の伸縮アーム11を伸縮させるときに3つの体節1の回転アーム12によってロボット10を支持するため、ロボット10を安定して前進させることができる。ただし、各体節1における伸縮アーム11の伸縮に際しては、少なくとも2つの体節1の回転アーム12でロボット10を支持することができればよい。

【0064】
(省エネモード)
以下、ロボット10が省エネモードで管P内を移動する場合の動作について、図9及び図10を参照しつつ説明する。

【0065】
ユーザボード31は、省エネモードで動作させるための指令信号をコンピュータ6から受信すると、体節1Bの各サーボモータ121を回転させるための指令信号を生成し、この指令信号をI/Fボード32に引き渡す。I/Fボード32は、この指令信号を駆動信号に変換して体節1Bの各サーボモータ121に送信する。この駆動信号によって、図10(1)に示すように、体節1Bにおいて、各サーボモータ121が伸縮アーム11から離れるように回転軸123周りに回転し、各ハンド部122が管Pの内壁面に当接する。これにより、ロボット10は、管Pの内壁面上において、体節1Bの各回転アーム12によって支持される(ステップS301)。

【0066】
次に、ユーザボード31は、体節1Aの伸縮アーム11を伸長させるための指令信号を生成するとともにカウントTを0に初期化し、この指令信号をI/Fボード32に引き渡す。I/Fボード32は、この指令信号を駆動信号に変換して体節1Aの伸縮アーム11に送信する。この駆動信号によって、図10(2)に示すように、体節1Aの伸縮アーム11は伸長する(ステップS302)。これにより、体節1A及びヘッド部2Aが進行方向前方に移動する。

【0067】
ユーザボード31は、カウントTが250を超えているか否か判断する(ステップS303)。カウントTが250以下である場合、ユーザボード31は、カウントTをインクリメントし(ステップS304)、体節1Aの伸縮アーム11は、伸長動作が完了していない場合、伸長動作を継続する(ステップS302)。

【0068】
カウントTが250を超えた場合、ユーザボード31は、体節1A、1Bの各サーボモータ121を回転させるための指令信号を生成し、この指令信号をI/Fボード32に引き渡す。I/Fボード32は、この指令信号を駆動信号に変換して体節1A、1Bの各サーボモータ121に送信する。この駆動信号によって、図10(3)に示すように、体節1Aにおいて、各サーボモータ121が伸縮アーム11から離れるように回転軸123周りに回転し、これにより、各ハンド部122が管Pの内壁面に当接する。一方、体節1Bにおいては、各サーボモータ121が伸縮アーム11に近づくように回転軸123周りに回転し、これにより、各ハンド部122が管Pの内壁面から離間する。この結果、体節1Bの各回転アーム12によるロボット10の支持は解除され、ロボット10は、管Pの内壁面上において、体節1Aの各回転アーム12によって支持される(ステップS305)。

【0069】
次に、ユーザボード31は、体節1Aの伸縮アーム11を収縮させるための指令信号を生成するとともにカウントTを0に初期化し、この指令信号をI/Fボード32に引き渡す。I/Fボード32は、この指令信号を駆動信号に変換して体節1Aの伸縮アーム11に送信する。この駆動信号によって、図10(4)に示すように、体節1Aの伸縮アーム11は収縮する(ステップS306)。これにより、体節1B~1D、制御部3、及びヘッド部2Bが進行方向前方に移動する。

【0070】
ユーザボード31は、カウントTが250を超えているか否か判断する(ステップS307)。カウントTが250以下である場合、ユーザボード31は、カウントTをインクリメントし(ステップS308)、体節1Aの伸縮アーム11は、収縮動作が完了していない場合、収縮動作を継続する(ステップS306)。

【0071】
カウントTが250を超えた場合、ユーザボード31は、コンピュータ6から動作終了の指令信号を受信しているか否かを判断する(ステップS309)。ユーザボード31が動作終了の指令信号を受信している場合、省エネモードの動作は終了する。

【0072】
ユーザボード31が動作終了の指令信号を受信していない場合、ユーザボード31は、体節1Aの各サーボモータ121を回転させるための指令信号を生成し、この指令信号をI/Fボード32に引き渡す。I/Fボード32は、この指令信号を駆動信号に変換して体節1Aの各サーボモータ121に送信する。この駆動信号によって、体節1Aにおいて、各サーボモータ121が伸縮アーム11に近づくように回転軸123周りに回転し、各ハンド部122が管Pの内壁面から離間する。これにより、体節1Aの各回転アーム12によるロボット10の支持が解除され、初期状態(図示省略)に戻る(ステップS310)。その後、ステップS301~ステップS309の処理が再度行われる。

【0073】
このように、省エネモードにおいては、体節1A、1Bの動作によってロボット10を前進させ、体節1C、1Dを動作させないため、ロボット10を移動させるのに必要な電力等のエネルギーを節約することができる。

【0074】
(掻き出しモード)
以下、ロボット10が、左右に壁面がない平面上を掻き出しモードで移動する場合の動作について、図11、及び図12を参照しつつ説明する。既に説明した各動作モードにおいては、体節1A、1Bと体節1C、1Dとが制御部3を挟んで向かい合っていたが、掻き出しモード及び後述の左右掻き出しモードにおいては、図11に示すように、体節1A~1Dが全て同じ方向を向いている。また、掻き出しモード及び左右掻き出しモードでロボット10が動作する場合、体節1A~1Dにおいて、1つの回転アーム12が伸縮アーム11のほぼ真上に位置し、他の2つの回転アーム12が伸縮アーム11の下方においてほぼ同じ高さに位置していることが好ましい。なお、図12では、体節1A~1Dにおいて、伸縮アーム11のほぼ真上に位置する回転アーム12の図示は省略する。

【0075】
ユーザボード31は、掻き出しモードで動作させるための指令信号をコンピュータ6から受信すると、体節1C、1Dの各サーボモータ121を回転させるための指令信号を生成するとともに指示角度θを所定の初期値で初期化し、この指令信号をI/Fボード32に引き渡す。I/Fボード32は、この指令信号を駆動信号に変換して体節1C、1Dの各サーボモータ121に送信する。この駆動信号によって、図12(2)に示すように、体節1C、1Dにおいて、各サーボモータ121は、伸縮アーム11から離れるように、回転軸123周りに指示角度θだけ回転する(ステップS401)。

【0076】
ユーザボード31は、指示角度θが60度を超えているか否かを判断する(ステップS402)。ここでは、体節1C、1Dの各サーボモータ121が60度を超えて回転したときに、体節1C、1Dの各ハンド部122は、平面に衝突し、平面を進行方向前方から後方に掻き出すようにして、体節1C、1Dを進行方向前方に押し出すことができる。すなわち、指示角度θが60度を超えたとき、体節1C、1Dの各サーボモータ121の回転によってロボット10が前進する。ただし、指示角度θは、体節1C、1Dの回転アーム12が平面に衝突し、体節1C、1Dが前進する程度に回転する角度であればよく、そのような角度であれば、60度より小さい値に設定されていてもよいし、60度を超えた値(例えば90度以上)に設定されていてもよい。

【0077】
指示角度θが60度以下の場合、ユーザボード31は、指示角度θをインクリメントし(ステップS403)、再度ステップS401の処理を行う。ただし、再度のステップS401の処理においては、指示角度θの初期化は行わない。

【0078】
指示角度θが60度を超え、ロボット10が前進すると、ユーザボード31は、体節1A、1Bの各サーボモータ121を回転させるための指令信号を生成し、この指令信号をI/Fボード32に引き渡す。I/Fボード32は、この指令信号を駆動信号に変換して体節1A、1Bの各サーボモータ121に送信する。この駆動信号によって、図12(3)に示すように、体節1A、1Bにおいて、各サーボモータ121は、伸縮アーム11から離れるように回転軸123周りに回転し、2つのハンド部122が平面に当接する。これにより、ロボット10は、初期位置よりも前進した位置において、体節1A、1Bの回転アーム12によって平面上で支持される(ステップS404)。

【0079】
次に、ユーザボード31は、体節1C、1Dの各サーボモータ121を初期位置に戻すための指令信号を生成し、この指令信号をI/Fボード32に引き渡す。I/Fボード32は、この指令信号を駆動信号に変換して体節1C、1Dの各サーボモータ121に送信する。ユーザボード31は、体節1C、1Dの各サーボモータ121を初期位置から指示角度θだけ回転した位置に移動させ(ステップS405)、指示角度θが0度であるか否か判断する(ステップS406)。指示角度θが0度でない場合、ユーザボード31は指示角度θをデクリメントし(ステップS407)、体節1C、1Dの各サーボモータ121を初期位置からデクリメント後の指示角度θだけ回転した位置に移動させる(ステップS405)。すなわち、指示角度θが徐々に小さくなることによって、体節1C、1Dの各サーボモータ121は、各伸縮アーム11に近づくように回転し、図12(4)に示すように、最終的には初期位置に到達する。

【0080】
指示角度θが0度になると、ユーザボード31は、コンピュータ6から動作終了の指令信号を受信しているか否かを判断する(ステップS408)。ユーザボード31が動作終了の指令信号を受信している場合、掻き出しモードの動作は終了する。

【0081】
ユーザボード31が動作終了の指令信号を受信していない場合、ユーザボード31は、体節1A、1Bの各サーボモータ121を回転させるための指令信号を生成し、この指令信号をI/Fボード32に引き渡す。I/Fボード32は、この指令信号を駆動信号に変換して体節1A、1Bの各サーボモータ121に送信する。この駆動信号によって、体節1A、1Bにおいて、各サーボモータ121は伸縮アーム11に近づくように回転軸123周りに回転し、平面に当接していた各ハンド部122が平面から離間し、初期状態(図示省略)に戻る(ステップS409)。その後、ステップS401~ステップS408の処理が再度行われる。

【0082】
このように、掻き出しモードにおいては、体節1C、1Dの回転アーム12が平面に衝突し、平面を掻き出すように動作するため、体節1C、1Dが前進する。そして、体節1C、1Dが前進した状態で体節1A、1Bの回転アーム12によって平面上でロボット10を支持するため、体節1C、1Dが前進した状態を維持することができ、平面上であってもロボット10を容易に前進させることができる。

【0083】
(左右掻き出しモード)
以下、ロボット10が、平面上を左右掻き出しモードで移動する場合の動作について、図13及び図14を参照しつつ説明する。左右掻き出しモードでは、説明の便宜上、体節1A~1Dにおいて、伸縮アーム11の下方に位置する2つの回転アーム12のうち、進行方向右側のものを回転アーム12Rとし、進行方向左側のものを回転アーム12Lとする。同様に、各体節の回転アーム12R及び112Lがそれぞれ有する各構成についても、符号の末尾に“R”、“L”を付して区別することとする。なお、図14では、体節1A~1Dにおいて、伸縮アーム11のほぼ真上に位置する回転アーム12の図示は省略する。

【0084】
ユーザボード31は、左右掻き出しモードで動作させるための指令信号をコンピュータ6から受信すると、体節1A、1Cの各サーボモータ121R、及び体節1B、1Dの各サーボモータ121Lを回転させるための指令信号を生成するとともに指示角度θを所定の初期値で初期化し、この指令信号をI/Fボード32に引き渡す。I/Fボード32は、この指令信号を駆動信号に変換して体節1A、1Cの各サーボモータ121R、及び体節1B、1Dの各サーボモータ121Lに送信する。この駆動信号によって、体節1A、1Cにおいて、各サーボモータ121Rが、伸縮アーム11から離れるように、回転軸123R周りに指示角度θだけ回転する。また、体節1B、1Dにおいて、各サーボモータ121Lが、伸縮アーム11から離れるように、回転軸123L周りに指示角度θだけ回転する(ステップS501)。

【0085】
ユーザボード31は、指示角度θが60度を超えているか否かを判断する(ステップS502)。指示角度θが60度以下の場合、ユーザボード31は、指示角度θをインクリメントし(ステップS503)、再度ステップS501の処理を行う。ただし、再度のステップS501の処理においては、指示角度θの初期化は行わない。

【0086】
指示角度θが60度を超え、体節1A、1Cの各回転アーム12Rが平面を進行方向前方から後方に掻き出すように動作したとき、体節1A、1Cは、図14(2)に示すように、進行方向に対して右側の部分が前方に押し出される。一方、指示角度θが60度を超え、体節1B、1Dの各回転アーム12Lが平面を進行方向前方から後方に掻き出すように動作したとき、体節1B、1Dは、進行方向に対して左側の部分が前方に押し出される。

【0087】
指示角度θが60度を超えた場合、ユーザボード31は、体節1A、1Cの各サーボモータ121R、及び体節1B、1Dの各サーボモータ121Lを初期位置に戻すための指令信号を生成し、この指令信号をI/Fボード32に引き渡す。I/Fボード32は、この指令信号を駆動信号に変換して体節1A、1Cの各サーボモータ121R、及び体節1B、1Dの各サーボモータ121Lに送信する。ユーザボード31は、体節1A、1Cの各サーボモータ121R、及び体節1B、1Dの各サーボモータ121Lを初期位置から指示角度θだけ回転した位置に移動させ(ステップS504)、指示角度θが0度であるか否か判断する(ステップS505)。指示角度θが0度でない場合、ユーザボード31は指示角度θをデクリメントし(ステップS506)、体節1A、1Cの各サーボモータ121R、及び体節1B、1Dの各サーボモータ121Lを初期位置からデクリメント後の指示角度θだけ回転した位置に移動させる(ステップS504)。

【0088】
指示角度θが0度になると、ユーザボード31は、体節1A、1Cの各サーボモータ121L、及び体節1B、1Dの各サーボモータ121Rを回転させるための指令信号を生成するとともに指示角度θを所定の初期値で初期化し、この指令信号をI/Fボード32に引き渡す。I/Fボード32は、この指令信号を駆動信号に変換して体節1A、1Cの各サーボモータ121L、及び体節1B、1Dの各サーボモータ121Rに送信する。この駆動信号によって、体節1A、1Cにおいて、各サーボモータ121Lが、伸縮アーム11から離れるように、回転軸123L周りに指示角度θだけ回転する。また、体節1B、1Dにおいて、各サーボモータ121Rが、伸縮アーム11から離れるように、回転軸123R周りに指示角度θだけ回転する(ステップS507)。

【0089】
ユーザボード31は、指示角度θが60度を超えているか否かを判断する(ステップS508)。指示角度θが60度以下の場合、ユーザボード31は、指示角度θをインクリメントし(ステップS509)、再度ステップS507の処理を行う。ただし、再度のステップS507の処理においては、指示角度θの初期化は行わない。

【0090】
指示角度θが60度を超え、体節1A、1Cの各回転アーム12Lが平面を進行方向前方から後方に掻き出すように動作したとき、体節1A、1Cは、図14(3)に示すように、進行方向に対して左側の部分が前方に押し出される。一方、指示角度θが60度を超え、体節1B、1Dの各回転アーム12Rが平面を進行方向前方から後方に掻き出すように動作したとき、体節1B、1Dは、進行方向に対して右側の部分が前方に押し出される。

【0091】
指示角度θが60度を超えた場合、ユーザボード31は、体節1A、1Cの各サーボモータ121L、及び体節1B、1Dの各サーボモータ121Rを初期位置に戻すための指令信号を生成し、この指令信号をI/Fボード32に引き渡す。I/Fボード32は、この指令信号を駆動信号に変換して体節1A、1Cの各サーボモータ121L、及び体節1B、1Dの各サーボモータ121Rに送信する。ユーザボード31は、体節1A、1Cの各サーボモータ121L、及び体節1B、1Dの各サーボモータ121Rを初期位置から指示角度θだけ回転した位置に移動させ(ステップS510)、指示角度θが0度であるか否か判断する(ステップS511)。指示角度θが0度でない場合、ユーザボード31は指示角度θをデクリメントし(ステップS512)、体節1A、1Cの各サーボモータ121L、及び体節1B、1Dの各サーボモータ121Rを初期位置からデクリメント後の指示角度θだけ回転した位置に移動させる(ステップS510)。

【0092】
指示角度θが0度になると、ユーザボード31は、コンピュータ6から動作終了の指令信号を受信しているか否かを判断する(ステップS513)。ユーザボード31が動作終了の指令信号を受信している場合、掻き出しモードの動作は終了する。ユーザボード31が動作終了の指令信号を受信していない場合、ステップS501~S512の処理が再度行われる。

【0093】
このように、左右掻き出しモードにおいては、各体節1が、進行方向に対して右半身と左半身とが交互に前に出るよう動作する。この結果、ロボット10は平面上であっても容易に前進することができる。

【0094】
以上のように、本実施形態のロボット10において、各体節1の回転アーム12は、ロボット10の体軸方向と約90度で交差する方向に延びる回転軸123周りに回転し、ロボットの移動面に対して角度をもって当接する。このため、管Pだけでなく平面のような移動面であっても、回転アーム12と移動面との間に十分な摩擦力を発生させることができ、体節1が移動面に対して移動するのを防止することができる。また、各体節1の回転アーム12は、移動面を掻き出すように動作し、自身をロボット10の進行方向前方に押し出すこともできる。これらの結果、ロボット10は、移動面の形状にかかわらず、移動することができる。さらに、ロボット10においては、各体節1の伸縮アーム11及び回転アーム12がそれぞれ独立して動作するため、伸縮アーム11の伸長量と回転アーム12の回転量とが互いに制限され合うことがない。

【0095】
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて、種々の変更が可能である。

【0096】
例えば、上記実施形態において、ロボット10は、4つの体節1A~1Dを備えていたが、少なくとも2つの体節を備えていればよい。

【0097】
また、上記実施形態においては、体節1A、1Bと体節1C、1Dとは、制御部3を挟んで向かい合い、あるいは全て同じ方向を向くように配置されていたが、体節の向きは必要に応じて適宜変更すればよい。

【0098】
また、上記実施形態において、体節1の3つの回転アーム12は伸縮アーム11の周囲に等間隔に配置されていたが、回転アーム12間の間隔は適宜変更することができる。

【0099】
また、上記実施形態において、体節1は、3つの回転アーム12を備えていたが、少なくとも1つの回転アーム12を備えていればよい。

【0100】
また、上記実施形態において、回転アーム12の回転軸123は、ロボット10の体軸方向と約90度で交差する方向に延びていたが、体軸方向と回転軸が延びる方向との交差角度は特に限定されない。

【0101】
また、上記実施形態では、各回転アーム12は、伸縮アーム11に近接する位置から管Pに当接又は平面に衝突する位置まで回転していたが、その向きが逆になるまで回転するよう構成することができる。すなわち、図15に示すように、伸縮アーム11の上方に位置し且つ伸縮アーム11が伸長する方向と同じ方向に延びている回転アーム12Maを、回転軸123周りに約180度回転させることによって逆向きにすることができる。また、伸縮アーム11の下方に位置する回転アーム12Maについては、平面Fによって回転が妨げられないように、ロボット10Ma又は体節1Maを体軸周りに回転させて伸縮アーム11の上方に移動させた後、同様に約180度回転させればよい。

【0102】
また、上記実施形態において、各回転アームは折りたたみ式であってもよい。すなわち、図16に示すように、回転アーム12Mbに少なくとも1つの関節部126を設け、この関節部126で回転アーム12Mbを折り曲げたり伸ばしたりすることができるよう構成してもよい。このような回転アーム12Mbを備えた体節は、径が大きい管P1内をロボット10Mbが移動する場合であっても、回転アーム12Mbを伸ばしてハンド部122を管P1の内壁面に当接させることができる。径が小さい管P2内をロボット10Mbが移動する場合は、回転アーム12Mbを折り曲げたままの状態で回転させ、関節部126を管P2の内壁面に当接させればよい。

【0103】
また、上記実施形態において、体節1の伸縮アーム11と回転アーム12とはプレート14を介して接続されていたが、プレート14以外の介在物を介して接続されていてもよいし、直接接続されていてもよい。
【符号の説明】
【0104】
10,10Ma,10Mb ロボット
1A~1D 体節
11 伸縮アーム
12,12Ma,12Mb 回転アーム
3 制御部
図面
【図1】
0
【図2】
1
【図3】
2
【図4】
3
【図5】
4
【図6】
5
【図7A】
6
【図7B】
7
【図8】
8
【図9】
9
【図10】
10
【図11】
11
【図12】
12
【図13】
13
【図14】
14
【図15】
15
【図16】
16