(57)【特許請求の範囲】
【請求項１】
分離可能な複数の構成ユニツトを、２つ以上に分岐して連結された複数の構成ユニツトにより構築されるモジユラ型のロボツト装置において、
各構成ユニツトの連結状態を検出する連結状態検出手段と、
上記ロボツト装置の形態を各上記構成ユニツトの上記連結状態に応じて複数のカテゴリに分類した、各上記カテゴリ毎の各上記構成ユニツトの上記連結状態を記憶する記憶手段と、
上記連結状態検出手段により検出された各上記構成ユニツトの上記連結状態と、上記記憶手段により記憶された各上記カテゴリ毎の各上記構成ユニツトの上記連結状態とに基づいて、上記ロボツト装置がどの上記カテゴリに属するかを判別する判別手段と
を具えることを特徴とするロボツト装置。
【請求項２】
上記記憶手段は、各上記カテゴリ毎の基本動作をそれぞれ発生させる複数のプログラムを記憶し、
上記判別手段は、上記ロボツト装置がどの上記カテゴリに属するかの判別結果と、上記記憶手段に記憶された対応する上記プログラムとに基づいて各上記構成ユニツトを駆動制御するための制御信号を生成する
ことを特徴とする請求項１に記載のロボツト装置。
【請求項３】
重力方向を検出する重力センサを具え、
上記ロボツト装置の形態は、各上記構成ユニツトの上記連結状態及び電源投入時における当該ロボツト装置の姿勢に応じて複数の上記カテゴリに分類され、
上記判別手段は、上記重力センサの検出結果と、上記記憶手段により記憶された各上記カテゴリ毎の各上記構成ユニツトの上記連結状態とに基づいて、上記ロボツト装置がどの上記カテゴリに属するかを判別する
ことを特徴とする請求項１に記載のロボツト装置。
【発明の詳細な説明】
【０００１】
【目次】
以下の順序で本発明を説明する。
【０００２】
発明の属する技術分野
従来の技術（図９）
発明が解決しようとする課題（図９）
課題を解決するための手段（図１〜図８）
発明の実施の形態
（１）第１の実施の形態
（１−１）第１の実施の形態によるロボツトの構成（図１及び図２）
（１−２）第１の実施の形態の動作及び効果（図１及び図２）
（２）第２の実施の形態
（２−１）第２の実施の形態によるロボツトの構成（図３）
（２−２）第２の実施の形態におけるソフトウエアのアーキテクチヤ（図４〜図８）
（２−３）第２の実施の形態の動作及び効果（図３〜図８）
（３）他の実施の形態（図１〜図８）
発明の効果
【０００３】
【発明の属する技術分野】
本発明はロボツト装置に関し、例えば複数の構成ユニツト（部品）を連結するようにして構築する、いわゆるモジユラ型のロボツトに適用して好適なものである。
【０００４】
【従来の技術】
従来、この種のロボツトとして、例えば特開昭47-25858号公報や、特開昭59-205292 号公報、「Robot Models for Space Environment」（R.O.Ambrose and C.G.Ambrose,IEEE International conference on R&A,1995 pp.2113-2131）、「The Concept and Construction of a modular robot system」（K.-H Wurst Proc of 16 th ISIR,1986,pp.37-44 ）及び「Conceptual Design of a Modular Robot」（R.Cohen et.al Journal of Mechanical Design,1992 vol.114 pp.117-125）などにおいて種々の構成のものが提案されている。
【０００５】
また例えば「モジユラー・マヌピユレータの構成・形状認識と作業遂行可／不可判定の方法に関する検討」（松丸隆文他  日本ロボツト学会誌 Vol.15 No.3、 PP.408 〜416.1997）では、関節モジユールとリンクモジユールとを自在に連結して構築し得るモジユラー・マヌピユレータにおいて、その構成を自動的に認識し、組み立てた後すぐに実際的で有益を作業を行い得るようにする方法が開示されている。
【０００６】
【発明が解決しようとする課題】
ところがこれらはすべてマニピユレータ（機械の腕）を前提としており、このため構成ユニツトを２つ以上の分岐して連結するタイプのロボツトにはこれら各文献において開示された各種工夫を適用し難い問題があつた。
【０００７】
実際上、例えば胴体部ユニツトに対して頭部や、腕部、脚部及び車輪等の各種構成ユニツトを所望状態に取り付けることにより、例えば図９（Ａ）のような４足歩行型や、図９（Ｂ）のような２足歩行型、図９（Ｃ）のような車型、又は図９（Ｄ）のような２輪推進型などの各種形態に組み立て得るようになされたロボツトでは、組み立て終わつた段階で全体の構成を自動的に認識できるように構築したとしても、当該ロボツトがどのユニツトを「腕」として用い、どのユニツトを「足」として用いるかといつたことや、２足歩行型及び４足歩行型のいずれの形態に組み立てられたのかといつたことを判別できず、組み立てた段階において直ちにその形態に応じた行動を行わせ難い問題がある。
【０００８】
従つてこのような問題を解決しなければ、構築したロボツトの形態に応じたプログラムを入力するなどの作業を行うことなしに当該ロボツトに組立て形態に応じた行動をとらせることができず、モジユラ型ロボツトの組み立て作業を容易化させることができない。
【０００９】
本発明は以上の点を考慮してなされたもので、組立て作業を容易化させ得るロボツト装置を提案しようとするものである。
【００１０】
【課題を解決するための手段】
かかる課題を解決するため本発明においては、分離可能な複数の構成ユニツトを、２つ以上に分岐して連結された複数の構成ユニツトにより構築されるモジユラ型のロボツト装置において、各構成ユニツトの連結状態を検出する連結状態検出手段と、ロボツト装置の形態を各構成ユニツトの連結状態に応じて複数のカテゴリに分類した、各カテゴリ毎の各構成ユニツトの連結状態を記憶する記憶手段と、連結状態検出手段により検出された各構成ユニツトの連結状態と、記憶手段により記憶された各カテゴリ毎の各構成ユニツトの連結状態とに基づいて、ロボツト装置がどのカテゴリに属するかを判別する判別手段とを設けることにより、２つ以上に分岐して連結された複数の構成ユニツトの連結状態を基にモジユラ型のロボツト装置自身がそのカテゴリを判別することができるので、２つ以上に分岐して連結された複数の構成ユニツトからなる複雑な形態のロボツト装置であつても、ロボツト装置が組み立てられた段階で、ユーザがその形態を知らせることなく、その形態を認識してロボツト装置自身がカテゴリを把握することができる。
【００１１】
この結果、ロボツト装置では、ユーザが構築したロボツト装置にその形態を知らせることなくロボツト装置に自分自身の形態を自動的に認識させることができる。
【００１４】
【発明の実施の形態】
以下図面について、本発明の一実施の形態を詳述する。
【００１５】
（１）第１の実施の形態
（１−１）第１の実施の形態によるロボツトの構成
図１において、１は全体として本発明によるモジユラ型のロボツトを示し、胴体部ユニツト２の前後左右の各隅部にそれぞれ太股部ユニツト３〜６及びすね部ユニツト７〜１０が順次着脱自在に連結されると共に、胴体部ユニツト２の前端中央部に首部ユニツト１１及び頭部ユニツト１２が順次着脱自在に連結されている。なお以下の説明においては、胴体部ユニツト２、各太股部ユニツト３〜６、各すね部ユニツト７〜１０、首部ユニツト１１及び頭部ユニツト１２をまとめて構成ユニツト２〜１２と呼ぶものとする。
【００１６】
この場合胴体部ユニツト２の内部には、図２に示すように、ロボツト１全体の動作制御を司るＣＰＵ（Central Processing Unit ）２０、後述のシリアルバスを管理するＳＢＨ（Serial Bus Host ）２１、ＨＵＢ（分配器）２２、メモリ２３、ＲＡＭ（Random Access Memory）１８及び構築されたロボツト１に各種行動を発生させるためのプログラムが格納されたＲＯＭ（Read Only Memory）１９が収納されている。
【００１７】
またメモリ２３には、胴体部ユニツト２の幅や長さ等の形状に関する情報（以下、これを形状情報と呼ぶ）と、胴体部ユニツト２の質量、回転モーメント、回転軸の中心位置及び当該胴体部ユニツト２の重心位置などの運動を記述するのに必要な情報（以下、これを運動情報と呼ぶ）と、ＨＵＢ２２の各連結点Ｐ１〜Ｐ５の位置情報とが格納されている。
【００１８】
一方、胴体部ユニツト２を除く各構成ユニツト３〜１２の内部には、それぞれＨＵＢ２４と、メモリ２５と、アクチユエータ及びセンサ等の必要な電子部品２６とが収納されており、各メモリ２５にはそれぞれその構成ユニツト３〜１２の形状情報及び運動情報と、当該構成ユニツト３〜１２に収納された電子部品２６の機能及び特性に関する情報（以下、これを特性情報と呼ぶ）とが格納されている。
【００１９】
さらに各構成ユニツト２〜１２には、それぞれ他の構成ユニツト２〜１２との連結位置に、その構成ユニツト２〜１２の内部に配設されたＩＥＥＥ１３９４又はＵＳＢ（Universal Serial Bus）等のシリアルバス２７を介してＨＵＢ２４と接続されたコネクタ（図示せず）が設けられており、構成ユニツト２〜１２同士を物理的に連結することによつてこれら構成ユニツト２〜１２内のＨＵＢ２２、２４同士をもシリアルバス２７を介して電気的に接続し得るようになされている。
【００２０】
これによりこのロボツト１においては、例えば図１及び図２のように組み立てられた状態において、胴体部ユニツト２内のＣＰＵ２０が当該胴体部ユニツト２内のＳＢＨ２１及びＨＵＢ２２と各構成ユニツト３〜１２内のＨＵＢ２４とを順次介して、これら構成ユニツト２〜１２内のメモリ２３、２５からその構成ユニツト２〜１２の形状情報や運動情報及び特性情報を読み出し、若しくは各構成ユニツト３〜１２内のセンサの出力を受信し、又は各構成ユニツト３〜１２内のアクチユエータを制御することができるようになされている。
【００２１】
かくするにつきこのロボツト１では、ＣＰＵ２０が、胴体部ユニツト２のメモリ２３に格納されたＨＵＢ２２の各連結点Ｐ１〜Ｐ５の位置情報と、各構成ユニツト２〜１２のメモリ２３、２５にそれぞれ格納された形状情報とに基づいて、胴体部ユニツト２のどの連結位置にどのような構成ユニツト３〜６が連結され、またその構成ユニツト３〜６にどのような構成ユニツト７〜１０が連結されているかといつたロボツト１の形態を認識できる。
【００２２】
またこのロボツト１では、ＣＰＵ２０が、胴体部ユニツト２を除く各構成ユニツト３〜１２のメモリ２５にそれぞれ格納された運動情報及び電子部品２６の特性情報に基づいて、各構成ユニツト３〜１２のアクチユエータを所望状態に駆動し、かつそのときの各構成ユニツト３〜１２の状態をその構成ユニツト３〜１２内のセンサの出力に基づいてモニタし得るようになされている。
【００２３】
かかる構成に加えこのロボツト１の場合、各構成ユニツト２〜１２のメモリ２３、２５には、例えば「右前太股」や、「左後すね」、「首」、「頭」などといつたその構成ユニツト２〜１２のロボツト１全体からみた役割に関する情報（以下、これを役割情報と呼ぶ）が格納されている。
【００２４】
これによりこのロボツト１では、この役割情報に基づいてＣＰＵ２０が各構成ユニツト２〜１２の役割を認識でき、かくして例えば外部（又は内部の上位のプログラム）から「右前すね部を上げろ」といつた所定の役割の構成ユニツト２〜１２を所定状態に駆動すべき動作命令が与えられたときに、対応する構成ユニツト２〜１２のアクチユエータを制御することによつて指定された構成ユニツト２〜１２を指定された状態に動作させ得るようになされている。
【００２５】
ここで実際上ＣＰＵ２０は、ロボツト１が組み立てられた状態において電源が投入されると、ＲＯＭ１９に格納された各種行動を発生させるためのプログラムを読み出し、これをＲＡＭ１８にダウンロードする。
【００２６】
次いでＣＰＵ２０は、胴体部ユニツト２内のＳＢＨ２１及びＨＵＢ２２と、各構成ユニツト３〜１２内のＨＵＢ２４とを順次介して各構成ユニツト２〜１２内のメモリ２３、２５から当該メモリ２３、２５内に格納されたその構成ユニツト２〜１２についての形状情報や運動情報、特性情報及び役割情報を読み出し、これらをＲＡＭ１９に格納する一方、各構成ユニツト２〜１２の形状情報に基づいて組み立てられたロボツト１の形態を認識し、各構成ユニツト２〜１２の役割情報に基づいて各構成ユニツト２〜１２の役割を認識する。
【００２７】
またＣＰＵ２０は、この後例えば外部から「右前すね部を上げろ」、「頭をさげろ」といつた所定の役割の構成ユニツト２〜１２を所定状態に駆動すべき動作命令が与えられると、ＲＡＭ１８にダウンロードしたプログラムと、ＲＡＭ１８に格納された対応する構成ユニツト３〜１２の運動情報及び特性情報とに基づいて対応する制御信号を生成し、当該生成した制御信号をその構成ユニツト３〜１２内のアクチユエータに与える。
【００２８】
このようにしてＣＰＵ２０は、この制御信号に基づいて指定された構成ユニツト３〜１２のアクチユエータを指定された状態に駆動させるようになされ、かくして当該構成ユニツト３〜１２を指定された状態に駆動させるようになされている。
【００２９】
（１−２）第１の実施の形態の動作及び効果
以上の構成において、このロボツト１では、ＣＰＵ２０が各構成ユニツト３〜１２のメモリ２５に格納された役割情報に基づいて各構成ユニツト３〜１２の役割を認識し、認識結果に基づいて構成ユニツト３〜１２のアクチユエータを駆動制御することにより、外部から与えられる動作命令に応じた動作を実行する。
【００３０】
従つてこのロボツト２０では、組み立てられた状態においてユーザが胴体部ユニツト２に連結した各構成ユニツト３〜１２の役割を設定する（組み立て後、ユーザが各構成ユニツト３〜１２の役割に関するデータをＣＰＵ２０に与える）必要がなく、その分組み立て作業を簡易化させることができる。
【００３１】
以上の構成によれば、各構成ユニツト３〜１２にその構成ユニツト３〜１２の役割情報を記録したメモリ２４を配設すると共に、当該役割情報に基づいてＣＰＵ２０が各構成ユニツト３〜１２の役割を認識するようにしたことにより、ユーザが各構成ユニツト３〜１２の役割を設定することなくＣＰＵ２０に各構成ユニツト２〜１２の役割を認識させることができ、かくして組み立て作業を容易化させ得るロボツトを実現できる。
【００３２】
（２）第２の実施の形態
（２−１）第２の実施の形態によるロボツトの構成
図２との対応部分に同一符号を付して示す図３及び図１は、第２の実施の形態によるロボツト３０を示し、胴体部ユニツト３１のＲＯＭ５０に格納されたプログラムがＲＯＭ１９（図２）に格納されたプログラムと異なる点と、胴体部ユニツト３１の内部に重力センサを含む電子部品５１が追加されている点と、各構成ユニツト３１〜４１のメモリ５４、５２にその構成ユニツト３１〜４１の役割情報が格納されておらず、その構成ユニツト３１〜４１に関する形状情報、運動情報及び特性情報のみが格納されている点とを除いて第１の実施の形態のロボツト１（図１及び図２）とほぼ同様に構成されている。
【００３３】
この場合この胴体部ユニツト３１のＲＯＭ５０には、ロボツト３０が組み立てられた状態において例えば図４（Ａ）〜（Ｃ）のようにＣＰＵ５３に対してアクチユエータＡc や車輪Ｗh がどのような位置関係でどのような順番で接続されるかといつた、ＣＰＵ５３とアクチユエータＡc 及び車輪Ｗh との接続関係を表すツリー構造のデータが格納されている。
【００３４】
実際上ロボツト３０の形態は、このようなツリー構造に応じて複数のカテゴリに分けることができ、例えば図９（Ａ）及び（Ｂ）のような形態のロボツトではそのツリー構造が図４（Ａ）のように表されるのに対して、図９（Ｃ）のような形態のロボツトではそのツリー構造が図４（Ｂ）のように表され、図９（Ｄ）のような形態のロボツトでは、そのツリー構造が図４（Ｃ）のように表される。
【００３５】
そして胴体部ユニツト３１のＲＯＭ５０には、予め予想される構築されるロボツト３０の形態をそのツリー構造に応じて複数のカテゴリに分類した場合の各カテゴリ毎のツリー構造のデータが格納されている。なおこの場合、例えば図９（Ａ）及び（Ｂ）のように同じツリー構造の形態でも、電源投入時におけるロボツト３０の姿勢により異なるカテゴリに分類されている（胴体部ユニツト３１が鉛直方向と平行に位置している場合は２足歩行型、胴体部ユニツト３１が鉛直方向と垂直な方向に位置している場合は４足歩行型など）。
【００３６】
またＲＯＭ５０には、これら各カテゴリのツリー構造のデータと共に例えばどの構成ユニツト３２〜４１を「頭」、「足」、「手」などと認識してどのように行動するかといつた行動を発生させるためのプログラムが各カテゴリにそれぞれ対応させて複数種類格納されている。
【００３７】
これによりこのロボツト３０においては、胴体部ユニツト３１のＣＰＵ５３が、各構成ユニツト３１〜４１のメモリ５４、５２内に格納された形状情報に基づいて組み立てられたロボツト３０の形態を認識し、当該認識結果と、ＲＯＭ５０に格納された各カテゴリのツリー構造のデータとに基づいてそのロボツト３０のカテゴリを判別でき、さらにこの判別結果と、ＲＯＭ５０に格納された各カテゴリ毎の行動のための各種プログラムに基づいて必要時に必要な構成ユニツト３２〜４１を駆動制御することにより、組立て形態に応じた行動をとることができるようになされている。
【００３８】
ここで実際上、胴体部ユニツト３１のＣＰＵ５３は、ロボツト３０が組み立てられた状態において電源が投入されると、ＲＯＭ５０に格納された各種プログラムを読み出し、これをＲＡＭ１８にダウンロードする。
【００３９】
次いでＣＰＵ５３は、ＳＢＨ２１及びＨＡＢ２２と、各構成ユニツト３２〜４１のＨＵＢ２４とを順次介して各構成ユニツト３１〜４１のメモリ５４、５２から形状情報を読み出すことにより組み立てられたロボツト３０のツリー構造を検出する。またこのときＣＰＵ５３は、胴体部ユニツト３１の電子部品５１を構成する重力センサの出力に基づいて、電源投入時におけるロボツト３０の姿勢を検出する。
【００４０】
次いでＣＰＵ５３は、このようにして検出したロボツト３０のツリー構造及び姿勢に基づいてそのロボツトのカテゴリを判別し、当該判別結果に基づいて対応するプログラムを選択し、当該プログラムに基づいてそのカテゴリにおける基本姿勢を各状態ごとに割り付ける。実際上例えば４足型ロボツトであれば胴体部ユニツト３１を水平にすると共に各足を伸ばした状態が「standing」の基本姿勢として割り付けられ、２輪推進型であれば胴体部ユニツト３１を垂直にした状態が「standing」の基本姿勢として割り付けられる。そしてＣＰＵ５３は、この後このプログラム基づいて必要時に必要な構成ユニツト３２〜４１内のアクチユエータを制御する。
【００４１】
このようにしてＣＰＵ５３は、組み立てられたロボツト３０の形態及び電源投入時における姿勢に基づいて、対応するプログラムに従つて各構成ユニツト３２〜４１を駆動制御する。
【００４２】
（２−２）第２の実施の形態におけるソフトウエアのアーキテクチヤ
ここで図５は、胴体部ユニツト３１のＲＯＭ５０に格納されるソフトウエアのアーキテクチヤを示すものである。
【００４３】
この図５においてＣＰＣ（Configurational Physical Component）ドライバ６０は各構成ユニツト３２〜４１のアクチユエータ等のＣＰＣデバイスを初期化したり、胴体部ユニツト３１のＲＡＭ１８にデータを読み書きするプログラムであり、ＣＰＵ５３により検出された現在のロボツト３０のツリー構造のデータ及び電源投入時におけるロボツト３０の姿勢に関するデータ（以下これらデータをまとめて形態データＤ１と呼ぶ）を保持する。そしてこの形態データＤ１がカテゴリーストツク６１に与えられる。
【００４４】
カテゴリストツク６１は、予め登録された各カテゴリ毎のツリー構造のデータ及び姿勢のデータ（以下、これらデータをまとめてカテゴリ分けデータＣＤ1 〜ＣＤn と呼ぶ）を管理するプログラムであり、これら登録された各カテゴリ分けデータＣＤ1 〜ＣＤn と、ＣＰＣドライバ６０から与えられる形態データＤ１とを比較することにより、組み立てられたロボツト３０がどのカテゴリに属するかを判別し、判別結果をカテゴリーインフオメーシヨンストツク６２に与える。
【００４５】
カテゴリーインフオメーシヨンストツク６２は、予め登録されている各カテゴリでのロボツト３０の姿勢遷移と動きに関するプログラム（以下、これをモーシヨンネツトワークと呼ぶ）MoNet1〜MoNet n と、各カテゴリにおいて上位のプログラムから与えられる行動コマンドCOM を対応する命令に変換するための変換データＣＣ1 〜ＣＣn とを管理するプログラムであり、カテゴリーストツク６１による判別結果に基づいて対応するモーシヨンネツトワークMoNet1〜MoNet n 及び変換データＣＣ1 〜ＣＣn を選択し、これをモーシヨンジエネレータ６３に与える。
【００４６】
モーシヨンジエネレータ６３は、動作データを生成するプログラムであり、カテゴリーインフオメーシヨンストツク６２から与えられるモーシヨンネツトワークMoNet1〜MoNet n 及び変換データＣＣ1 〜ＣＣn を保持する一方、当該保持した変換データＣＣ1 〜ＣＣn に基づいて上位のプログラムから与えられる行動コマンドCOM をそのカテゴリに応じた命令に変換し、得られた命令と、保持しているモーシヨンネツトワークMoNet1〜MoNet n とに基づいて対応する動作データＤ２を生成し、これをＣＰＣドライバ６０に与える。
【００４７】
かくしてロボツト３０においては、このＣＰＣドライバ６０に従つてＣＰＵ５３の制御のもとに各構成ブロツク３２〜４１内の対応するアクチユエータが制御され、これにより上位のプログラムから与えられる行動コマンドCOM 応じた行動が行われる。
【００４８】
なお図６に４足歩行型ロボツトのモーシヨンネツトワークMoNet x のグラフ構造を示し、図７に２輪推進型ロボツトのモーシヨンネツトワークMoNet y のグラフ構造を示す。
【００４９】
図６からも明らかなように、４足歩行型ロボツトのモーシヨンネツトワークMoNet x は、「sleeping」、「sitting 」、「standing」、「forward walking 」及び「forward walking 」の５つのNodeＳＴ１〜ＳＴ５を有し、これらのうちの遷移可能なNodeＳＴ１〜ＳＴ５間がEdge（向きつきの矢）により結ばれている。
【００５０】
また各NodeＳＴ１〜ＳＴ５にはそのNodeＳＴ１〜ＳＴ５での動作を発生させるためのプログラムＥ１〜Ｅ５が関連付けられると共に、各Edgeにもその状態遷移の際に必要とする動作を発生させるためのプログラムＥ６〜Ｅ１３が関連付けられている。この状態遷移の際に必要とする動作を発生させるためのプログラムＥ６〜Ｅ１３は制御アルゴリズムを含むプログラムであり、各状態遷移の際に必要となる制御はここから供給される。
【００５１】
なお２輪推進型ロボツトのモーシヨンネツトワークMoNet y （図７）も、「sleeping」及び「sitting 」のNodeＳＴ１、ＳＴ２がないことを除いて４足歩行型ロボツトのモーシヨンネツトワークMoNet x とほぼ同様に構成される。
【００５２】
さらに図８は、４足歩行型ロボツト及び２輪推進型ロボツトの各変換データＣＣx 、ＣＣY を示すものである。この図８からも明らかなように、４足歩行型ロボツトでは、上位のプログラムから与えられる「Move forward」、「Move backward 」、「stay」、「Rest」及び「sleep 」といつた命令がそれぞれ「forward walking 」、「backward walking」、「standing」、「sitting 」又は「sleeping」といつた命令に変換される。
【００５３】
また２輪推進型ロボツトでは、「Move forward」、「Move backward 」、「stay」、「Rest」及び「sleep 」といつた命令がそれぞれ「forward 」、「backward」、「stop」、「stop」又は「stop」といつた命令に変換される。
【００５４】
（２−３）第２の実施の形態の動作及び効果
以上の構成において、胴体部ユニツト３１のＣＰＵ５３は、各構成ユニツト３１〜４１のメモリ５４、５２内に格納された形状情報に基づいて組み立てられたロボツト３０の形態を認識し、当該認識結果と、ＲＯＭ５０に格納された各カテゴリのツリー構造のデータとに基づいてそのロボツト３０のカテゴリを判別し、さらにこの判別結果と、ＲＯＭ５０に格納された各カテゴリ毎の行動のための各種プログラムに基づいて各構成ユニツト３２〜４１のアクチユエータを駆動制御することにより、ロボツト３０全体として組立て形態に応じた行動を実行させる。
【００５５】
従つてこのロボツト３０では、組み立てられた状態においてユーザがそのロボツト３０の組立て形態をＣＰＵ５３に知らせることなくロボツト３０自身が電源投入時に自分の形態を認識することができ、その分組み立て作業を簡易化させることができる。
【００５６】
またこのロボツト３０の場合、例えば第１の実施の形態のように各構成ユニツト３１〜４１のメモリに役割情報が格納されていない分、各構成ユニツト３１〜４１を予め設定した役割以外の役割をもたせて使用する（例えば「足」としてして用いていた構成ユニツト３２〜３９を例えば指の１本として使用する）ことができるため、第１の実施の形態に比べて各構成ユニツト３１〜４１の汎用性を向上させることができる。
【００５７】
以上の構成において、ＣＰＵ５３が、各構成ユニツト３１〜４１のメモリ５４、５２内に格納された形状情報に基づいて組み立てられたロボツト３０の形態を認識し、当該認識結果と、ＲＯＭ５０に格納された各カテゴリのツリー構造のデータとに基づいてそのロボツト３０のカテゴリを判別し、さらにこの判別結果と、ＲＯＭ５０に格納された各カテゴリ毎の行動のための各種プログラムに基づいて必要時に必要な構成ユニツト３２〜４１のアクチユエータを駆動制御するようにしたことにより、ロボツト３０に自分自身の形態を自動的に認識させ、これに応じた行動をとらせることができ、かくして組み立て作業を容易化させ得るロボツトを実現できる。
【００５８】
（３）他の実施の形態
なお上述の第１の実施の形態においては、各構成ユニツト２〜１２にそれぞれ設けられ、その構成ユニツト２〜１２の役割に関する役割情報を記憶する記憶手段として、メモリ２３、２５を適用するようにした場合について述べたが、本発明はこれに限らず、デイスク状記録媒体や、テープ状記録媒体などこの他種々の記憶手段を広く適用することができる。
【００５９】
また上述の第１の実施の形態においては、各構成ユニツト２〜１２のメモリ２３、２５からその構成ユニツト２〜１２の役割情報をそれぞれ読み出し、当該読み出した各役割情報に基づいて各構成ユニツト２〜１２の役割を認識する認識手段としてロボツト１全体の制御を司るＣＰＵ２０を適用するようにした場合について述べたが、本発明はこれに限らず、各構成ユニツト２〜１２の役割を認識する認識手段と、ロボツト１全体の制御を司るＣＰＵ２０とを別体に構成するようにしても良く、認識手段の構成としては、この他種々の構成を広く適用することができる。
【００６０】
さらに上述の第１の実施の形態においては、各種行動を発生させるためのプログラムを胴体部ユニツト２のＲＯＭ１９に格納しておくようにした場合について述べたが、本発明はこれに限らず、例えば外部からその役割の構成ユニツトを所定状態に動かすべき動作命令が与えられた場合の対応する動作を発生させるためのプログラムを各構成ユニツト２〜１２のメモリ２３、２５に格納しておき、ＣＰＵ２０が電源投入時又はこの他のタイミングでこのプログラムを読み出し、当該読み出したプログラムと、各構成ユニツト２〜１２の役割の認識結果とに基づいて、所定の役割の構成ユニツト２〜１２を所定状態に駆動すべき動作命令が与えられたときに対応する構成ユニツト２〜１２を駆動制御するための制御信号を生成し、当該制御信号に基づいて対応する構成ユニツト２〜１２内のアクチユエータを駆動制御するようにしても良い。
【００６１】
さらに上述の第１の実施の形態においては、ＣＰＵ２０が各構成ユニツト２〜１２の形状情報に基づいて組み立てられたロボツト１の形態を認識するようにした場合について述べたが、その手法として例えば第２の実施の形態のように組み立てられたロボツト１のツリー構造に応じてその形態を認識するようにすれば良い。
【００６２】
さらに上述の第２の実施の形態においては、各構成ユニツト３１〜４１の連結状態（ツリー構造）を検出する連結状態検出手段として、ロボツト３０全体の制御を司るＣＰＵ５３を適用するようにした場合について述べたが、本発明はこれに限らず、連結状態検出手段をロボツト３０全体の制御を司るＣＰＵ５３と別体に設けるようにしても良い。
【００６３】
さらに上述の第２の実施の形態においては、構築されるロボツト装置の形態を各構成ユニツト３１〜４１の連結状態に応じて複数のカテゴリに分類した、各カテゴリ毎の各構成ユニツト３１〜４１の連結状態を記憶する記憶手段としてＲＯＭ５０を適用するようにした場合について述べたが、本発明はこれに限らず、記憶手段としては、デイスク状記録媒体やテープ状記録媒体等この他種々の記憶手段を広く適用することができる。
【００６４】
さらに上述の第２の実施の形態においては、検出した各構成ユニツト３１〜４１の連結状態と、予めＲＯＭ５０に格納されている各カテゴリ毎の各構成ユニツト３１〜４１の連結状態とに基づいて、構築されたロボツト３０がどのカテゴリに属するかを判別する判別手段として、ロボツト３０全体の制御を司るＣＰＵ５３を適用するようにした場合について述べたが、本発明はこれに限らず、判別手段をロボツト３０全体の制御を司るＣＰＵ５３と別体に設けるようにしても良い。
【００６５】
さらに上述の第２の実施の形態においては、構築されるロボツト３０の形態を初期状態と、ツリー構造とに応じてカテゴリ分けするようにした場合について述べたが、本発明はこれに限らず、要は、構築されるロボツト３０の形態を少なくともツリー構造によりカテゴリ分けするのであれば、これ以上の細かなカテゴリ分けの方法としてはこの他種々の方法を広く適用することができる。
【００６６】
さらに上述の第２の実施の形態においては、胴体部ユニツト３１内に重力センサを配設し、当該重力センサの出力に基づいてＣＰＵ５３がロボツト３０の形態のカテゴリを判別するようにした場合について述べたが、本発明はこれに限らず、例えば構築されたロボツトの形態の種類（２足歩行型、４足歩行型、車輪型、２輪推進型など）を入力設定できるスイツチ等の設定手段をロボツト３０に設け、ユーザによる当該設定手段を介した入力設定に基づいてＣＰＵ５３がロボツト３０の形態のカテゴリを判別するようにしても良い。
【００６７】
また重力センサに代えて例えば各構成ユニツト３１〜４１に接地センサを設け、当該接地センサの出力に基づいて初期状態においてどの構成ユニツト３１〜４１のどの部分が接地しているかに基づいて構築されたロボツト３１の形態のカテゴリを判別するようにしても良く、初期状態を判別し得るようにする手法としては、この他種々の手法を広く適用することができる。
【００６８】
さらに上述の第２の実施の形態においては、ＣＰＵ５３が電源投入時におけるロボツト３０の姿勢に基づいて当該ロボツト３０のカテゴリを判別するようにした場合について述べたが、本発明はこれに限らず、ＣＰＵ５３が電源投入時以外の他のタイミング時におけるロボツト３０の姿勢に基づいて当該ロボツト３０のカテゴリを判別するようにしても良い。
【００６９】
【発明の効果】
上述のように本発明によれば、２つ以上に分岐して連結された複数の構成ユニツトの連結状態を基にモジユラ型のロボツト装置自身がそのカテゴリを判別することができるので、２つ以上に分岐して連結された複数の構成ユニツトからなる複雑な形態のロボツト装置であつても、ロボツト装置が組み立てられた段階で、ユーザがその形態を知らせることなく、その形態を認識してロボツト装置自身がカテゴリを把握することができ、かくして組立て作業を容易化させ得るロボツト装置を実現することができる。
【図面の簡単な説明】
【図１】本発明によるロボツトの構成を示す概念図である。
【図２】第１の実施の形態によるロボツトの構成を示すブロツク図である。
【図３】第２の実施の形態によるロボツトの構成を示すブロツク図である。
【図４】各種ツリー構造を示す概念図である。
【図５】第２の実施の形態によるソフトウエアのアーキテクチヤを示す概念図である。
【図６】４足歩行型ロボツトのモーシヨンネツトワークを示す概念図である。
【図７】２輪推進型ロボツトのモーシヨンネツトワークを示す概念図である。
【図８】４足歩行型ロボツト及び２輪推進型ロボツトにおけるそれぞれの変換データ例を示す図表である。
【図９】モジユラ型ロボツトの各種形態の説明に供する略線的な斜視図である。
【符号の説明】
１、３０……ロボツト、２〜１２、３１〜３１……構成ユニツト、１９、５０……ＲＯＭ、２０、５３……ＣＰＵ、２３、２５、５２……メモリ。
【図１】
0003919040.tif 000002
【図２】
0003919040.tif 000003
【図３】
0003919040.tif 000004
【図４】
0003919040.tif 000005
【図５】
0003919040.tif 000006
【図６】
0003919040.tif 000007
【図７】
0003919040.tif 000008
【図８】
0003919040.tif 000009
【図９】
0003919040.tif 000010