(57)【要約】【課題】共通信号線で接続される複数サーボモータの初期設定を効率的に実施する。【解決手段】コントローラ21と、コントローラ21とシリアルバスSBで接続された複数のサーボモータM1〜M5と、サーボモータに駆動される複数の駆動部11，13〜16とを備えたロボット10であって、サーボモータM1〜M5は夫々互いに異なるＩＤコードを記憶するメモリを備え、コントローラ21がシリアルバスSBに送信したＩＤコードがメモリに記憶する内容と一致する際に当該サーボモータを動作させ、コントローラ21は、サーボモータのＩＤコードをシリアルバスSBに送信し、複数のサーボモータM1〜M5のいずれかが動作し、動作したサーボモータに駆動される駆動部の動きに起因するロボット10の動作態様を検出し、検出した動作態様に基づいて、送信したＩＤコードが複数のサーボモータM1〜M5中のいずれであるのかを示す対応情報を生成して登録する。【選択図】      図２
2019111611.tif 000002
【特許請求の範囲】
【請求項１】
コントローラと、上記コントローラと共通信号線を介して接続された複数のサーボモータと、上記複数のサーボモータの夫々により駆動される複数の駆動部とを備えた駆動装置であって、
上記複数のサーボモータは夫々、
互いに異なる識別情報を記憶する第１の記憶部と、
上記コントローラが上記共通信号線に送信した識別情報が上記第１の記憶部に記憶する識別情報と一致する場合に当該サーボモータを動作させる駆動制御部と、を備え、
上記コントローラは、
サーボモータを指定する識別情報を上記共通信号線に送信する第１の送信手段と、
上記第１の送信手段で識別情報を上記共通信号線に送信することにより、上記複数のサーボモータのいずれかが動作し、動作したサーボモータにより駆動される駆動部の動きに起因する当該駆動装置の動作態様を検出する動作検出手段と、
上記動作検出手段で検出した動作態様に基づいて、上記第１の送信手段で送信した識別情報が、上記複数のサーボモータ中のいずれのサーボモータであるのかを示す対応情報を生成する対応情報生成手段と、を備える、
駆動装置。
【請求項２】
上記複数のサーボモータは夫々、
ランダム値を発生し、発生したランダム値を上記識別情報として生成する識別情報生成手段と、
上記識別情報生成手段で生成した識別情報を上記第１の記憶部に記憶させる第１の記憶制御手段と、
上記識別情報生成手段で生成した識別情報を、上記共通信号線を介して上記コントローラへ送信する第２の送信手段と、
をさらに備える、請求項１記載の駆動装置。
【請求項３】
上記コントローラは、
上記複数のサーボモータの夫々が送信した識別情報を受信して記憶する第２の記憶部をさらに備える、請求項１または２記載の駆動装置。
【請求項４】
上記コントローラは、
上記第２の記憶部に記憶しているいずれか１つの識別情報に基づいて、識別情報とサーボモータを動作させるための動作情報とを含むパケットデータを生成するパケットデータ生成手段をさらに備える、請求項３記載の駆動装置。
【請求項５】
上記動作検出手段は、上記サーボモータが駆動する上記駆動部の動きに起因する当該駆動装置の動作態様を、加速度、角速度、音声及び映像の少なくとも１つにより検出する、請求項１乃至４いずれか記載の駆動装置。
【請求項６】
上記駆動装置はロボットであり、上記複数の駆動部は、生物を模した、胴体部に対する頭部、頸部、四肢部の少なくとも１つを形成する、請求項１乃至５いずれか記載の駆動装置。
【請求項７】
上記サーボモータは、上記頭部、頸部、四肢部のいずれかに配設され、
上記対応情報生成手段は、上記動作検出手段で検出した動作態様に基づいて、上記第１の送信手段で送信した識別情報が、いずれの部位に配設されたサーボモータであるのかを示す対応情報を生成する、
請求項６記載の駆動装置。
【請求項８】
コントローラと、上記コントローラと共通信号線を介して接続され、互いに異なる識別情報を記憶する第１の記憶部、及び上記コントローラが上記共通信号線に送信した識別情報が上記第１の記憶部に記憶する識別情報と一致する場合にサーボモータを動作させる駆動制御部を設けた複数のサーボモータと、上記複数のサーボモータの夫々により駆動される複数の駆動部とを備えた装置での駆動方法であって、
上記コントローラによる、
サーボモータを指定する識別情報を上記共通信号線に送信する第１の送信工程と、
上記第１の送信工程で識別情報を上記共通信号線に送信することにより、上記複数のサーボモータのいずれかが動作し、動作したサーボモータにより駆動される駆動部の動きに起因する当該装置の動作態様を検出する動作検出工程と、
上記動作検出工程で検出した動作態様に基づいて、上記第１の送信工程で送信した識別情報が、上記複数のサーボモータ中のいずれのサーボモータであるのかを示す対応情報を生成する対応情報生成工程と、
を有する駆動方法。
【請求項９】
コントローラと、上記コントローラと共通信号線を介して接続され、互いに異なる識別情報を記憶する第１の記憶部、及び上記コントローラが上記共通信号線に送信した識別情報が上記第１の記憶部に記憶する識別情報と一致する場合にサーボモータを動作させる駆動制御部を設けた複数のサーボモータと、上記複数のサーボモータの夫々により駆動される複数の駆動部とを備えた装置が内蔵するコンピュータが実行するプログラムであって、上記コンピュータを、
サーボモータを指定する識別情報を上記共通信号線に送信する第１の送信手段と、
上記第１の送信手段で識別情報を上記共通信号線に送信することにより、上記複数のサーボモータのいずれかが動作し、動作したサーボモータにより駆動される駆動部の動きに起因する当該装置の動作態様を検出する動作検出手段と、
上記動作検出手段で検出した動作態様に基づいて、上記第１の送信手段で送信した識別情報が、上記複数のサーボモータ中のいずれのサーボモータであるのかを示す対応情報を生成する対応情報生成手段と、
して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット等に好適な駆動装置、駆動方法及びプログラムに関する。
【背景技術】
【０００２】
関節部に夫々サーボモータを設けることで、何らかの生体等を模して動作するロボットにおいては、ロボット全体で使用するサーボモータの数が多くなるために、ＵＡＲＴ（Ｕｎｉｖｅｒｓａｌ  Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｒｅｃｅｉｖｅｒ／Ｔｒａｎｓｍｉｔｔｅｒ）等のシリアル通信インタフェイスを用いて、同一の信号線上に複数のサーボモータを接続する構成を採ることがある。
【０００３】
この場合、すべてのサーボモータを統括して制御するコントローラからの信号は、同一信号線上の各サーボモータに同じ信号として配信される。各サーボモータは、内部のメモリに固有のＩＤ情報を記憶しており、配信される信号に付加されているＩＤ情報により、自分宛に送信してきた信号であるか否かを判断することができる。
【０００４】
サーボモータは、初期状態では同じＩＤ情報が割り振られているため、コントローラは信号線に１つのサーボモータのみを信号線上に接続し、コントローラから認識できるモータが１つのみである１対１の状態で、ＩＤ情報を当該サーボモータに書換えさせる、という作業を、使用するサーボモータの数だけ繰返して実行する必要があり、とても煩雑な作業が必要となる。
【０００５】
実際にロボットに実装するサーボモータにＩＤ情報を設定するためには、ロボットの組立前に個々のサーボモータ毎にＩＤ情報を設定してからロボットを組立てるか、あるいはロボットの組立後に個々のサーボモータを１つずつ取り外してＩＤ情報を設定した後、元の位置に装着し直す、という方法が考えられるが、いずれにしても作業が大変に煩雑なものとなる。
【０００６】
数値制御装置の分野においても、同様の煩雑な作業を避けるべく、装置の立ち上げ時に発生するパラメータ設定を極力自動化し、ユーザが設定しなければならない場合でも誤設定を防止し、かつ短時間で目的の制御を実現させるための技術が提案されている。（例えば、特許文献１）
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平９−０６２３２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記特許文献１においても、上述した各サーボモータに固有のＩＤ情報を書込む際の煩雑な作業が発生するという課題がある。
【０００９】
本発明は上記のような実情に鑑みてなされたもので、その目的とするところは、共通の信号線を介して接続される複数のサーボモータの初期設定を効率的に実施することが可能な駆動装置、駆動方法及びプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
本発明の一態様は、コントローラと、上記コントローラと共通信号線を介して接続された複数のサーボモータと、上記複数のサーボモータの夫々により駆動される複数の駆動部とを備えた駆動装置であって、上記複数のサーボモータは夫々、互いに異なる識別情報を記憶する第１の記憶部と、上記コントローラが上記共通信号線に送信した識別情報が上記第１の記憶部に記憶する識別情報と一致する場合に当該サーボモータを動作させる駆動制御部と、を備え、上記コントローラは、サーボモータを指定する識別情報を上記共通信号線に送信する第１の送信手段と、上記第１の送信手段で識別情報を上記共通信号線に送信することにより、上記複数のサーボモータのいずれかが動作し、動作したサーボモータにより駆動される駆動部の動きに起因する当該駆動装置の動作態様を検出する動作検出手段と、上記動作検出手段で検出した動作態様に基づいて、上記第１の送信手段で送信した識別情報が、上記複数のサーボモータ中のいずれのサーボモータであるのかを示す対応情報を生成する対応情報生成手段と、を備える。
【発明の効果】
【００１１】
本発明によれば、共通の信号線を介して接続される複数のサーボモータの初期設定を効率的に実施することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態に係るロボットの外観構成を示す斜視図。
【図２】同実施形態に係る電子回路の機能構成を示すブロック図。
【図３】同実施形態に係る全体の処理の流れを示すフローチャート。
【図４】同実施形態に係るシリアルバスを挟んだコントローラとサーボモータモジュール相互間のＩＤコード設定時の通信内容を示すシーケンス図。
【図５】同実施形態に係るＩＤ要求メッセージ」のパケットデータのフォーマットを示す図。
【図６】同実施形態に係るコントローラ側でのＩＤコード設定の処理内容を示すフローチャート。
【図７】同実施形態に係るサーボモータモジュール側でのＩＤコード設定の処理内容を示すフローチャート。
【図８】同実施形態に係るロボットをデスクボードＢＤ上に仰向けとなる状態に載置した場合を示す斜視図。
【図９】同実施形態に係る部位登録時のＩＤコードと対応付けた登録設定の処理内容を示すフローチャート。
【発明を実施するための形態】
【００１３】
以下、本発明をヒト型ロボットに適用した場合の一実施形態について、図面を参照して説明する。  
図１は、本実施形態に係るロボット１０の外観構成を示す斜視図である。同図においては、胴体部１２に対して頭部１１、右手部１３、左手部１４、右足部１５、及び左足部１６を夫々回動自在に取付け、各基部に配設したサーボモータモジュールＭ１〜Ｍ５夫々の駆動により、胴体部１２に対する各取付角度が可変するように任意に動作させることが可能であるものとする。
【００１４】
サーボモータモジュールＭ１〜Ｍ５は、具体的にはモータとそのドライバ回路とで構成される。
【００１５】
図２は、上記ロボット１０内に設けられる電子回路の機能構成を示すブロック図である。コントローラ２１を中心に、ＵＡＲＴを用いたシリアルバスＳＢを介して、上記サーボモータモジュールＭ１〜Ｍ５と接続される。またコントローラ２１は、入出力部２２とも接続される。この入出力部２２に対して、音声処理部２３と加速度センサＡＣとが接続される。
【００１６】
音声処理部２３は、マイクロホンＭＣとスピーカＳＰとを接続し、マイクロホンＭＣから入力されるアナログの音声信号をデジタル符号化した後に入出力部２２を介して上記コントローラ２１へ送信する。また音声処理部２３は、例えばＰＣＭ音源回路を有し、コントローラ２１から入出力部２２を介して与えられるデジタル音声データをアナログの音声信号に変換し、スピーカＳＰにより拡声出力させる。
【００１７】
加速度センサＡＣは、上記胴体部１２の中心に配設される、例えば３軸加速度センサとその検出回路とで構成され、胴体部１２における、重力加速度を含めた互いに直交する３軸方向の加速度情報から、その時点で胴体部１２にかかっている挙動やロボット１０全体の姿勢を検出するために用いられる。
【００１８】
コントローラ２１は、例えば１チップのマイクロコンピュータで構成されるもので、ＣＰＵとワークメモリとなるＲＡＭ、及び動作プログラムや各種固定データ等を記憶している不揮発性のフラッシュメモリメモリなどを含んで、このロボット１０の動作を統括して制御する。
【００１９】
なお、説明を簡易化するために、本実施形態ではロボット１０が５軸のみの自由度（駆動部）を有するものとしたが、実際に製品化されているペット型ロボットやヒト型ロボットでは２０〜３０軸程度の自由度（駆動部）を有するものもあり、それら各駆動部毎に設けられるサーボモータモジュールをコントローラ２１に並列接続することは現実的ではない。そのため、上述したようにシリアルバスＳＢに一様に接続する構成を採るものである。上記サーボモータモジュールＭ１〜Ｍ５の各ドライバ回路には、当該モータのＩＤコードを記憶するためのメモリが内蔵されている。
【００２０】
次に上記実施形態の動作について説明する。  
図３は、コントローラ２１による初期設定時の処理全体の流れを示すもので、大きく分けて２段階に分かれる。まず第１の段階において、すべてのサーボモータモジュールＭ１〜Ｍ５に対してＩＤコードを自動的に設定する（ステップＳ１０１）。次いで、第２の段階において、設定したＩＤコードに基づいて、サーボモータモジュールＭ１〜Ｍ５が夫々、ロボット１０のどの部位であるのか検出し、検出した位置を示す情報をそのモータのＩＤコードと対応付けて記憶する（ステップＳ１０２）。
【００２１】
まず第１の段階のサーボモータモジュールＭｘ（ｘ：１，２，…，５のいずれか）毎にＩＤコードを設定する処理について説明する。  
図４は、シリアルバスＳＢを挟んで、コントローラ２１とサーボモータモジュールＭ１〜Ｍ５相互間で実行する、ＩＤコード設定時の通信内容を示すシーケンス図である。シリアルバスＳＢ上のデータは、コントローラ２１とサーボモータモジュールＭ１〜Ｍ５の双方で送受信することができる。
【００２２】
その当初にコントローラ２１がシリアルバスＳＢを介して全サーボモータモジュールＭ１〜Ｍ５に対して「ＩＤ要求メッセージ要求」を送信する（ｍｓｇ０１）。
【００２３】
この「ＩＤ要求メッセージ要求」は、サーボモータモジュールＭ１〜Ｍ５に対して、「ＩＤ要求メッセージ」の送信を促すための要求メッセージである。
【００２４】
当該メッセージを受信したサーボモータモジュールＭｘは、「ＩＤ要求メッセージ」を応答として送信する（ｍｓｇ０２）。ここで、メッセージに対して応答を行なうか否かは各サーボモータモジュールＭｘがランダムに選択するものとする。
【００２５】
「ＩＤ要求メッセージ」を送信したサーボモータモジュールＭｘは、ＩＤコードの設定を受付ける状態となるが。当該受付け状態は、次に「ＩＤ要求メッセージ要求」を受信することでリセットされる。
【００２６】
図５は、サーボモータモジュールＭｘが送信する「ＩＤ要求メッセージ」のパケットデータのフォーマットを示す図である。同図に示すように、先頭に１バイト分のＩＤ登録要求のコマンドデータＤ１を配し、その後に４バイト分の発生したランダム値Ｄ２を配している。最後に、４バイト分のチェックサムＤ３を配して、計９バイトから構成されている。
【００２７】
シリアルバスＳＢ上に上記「ＩＤ要求メッセージ」を２個以上送信された場合、すなわち複数のサーボモータモジュールが同時に「ＩＤ要求メッセージ」を返信した場合、シリアルバスＳＢ上で信号が交錯することにより、上記チェックサムＤ３が正しいデータとならない。したがって、コントローラ２１は正しいチェックサムＤ３が返信されるまで、「ＩＤ要求メッセージ要求」の送信を繰返し実施する（ｍｓｇ０３）。
【００２８】
そして、正しいチェックサムＤ３を有する返信があったと判断した時点で（ｍｓｇ０４）、コントローラ２１は１個のサーボモータモジュールＭｘのみが「ＩＤ要求メッセージ」を返信して受付け状態であるものとして、データフォーマット中、受信したランダム値Ｄ２に基づいて当該モータのＩＤコードを設定するべく送信する（ｍｓｇ０５）。
【００２９】
受付状態にある１個のサーボモータモジュールＭｘは、送信されてきたＩＤコードを内部のメモリに記憶することで、ＩＤコードの設定が完了する。
【００３０】
コントローラ２１は同様に、１個のサーボモータモジュールＭｘのみが「ＩＤ要求メッセージ」を送信してくるのを待機して１個ずつサーボモータモジュールＭｘへのＩＤコード設定を順次実行する。
【００３１】
図６は、上記コントローラ２１側が実行する、ＩＤコード設定時の処理内容を示すフローチャートである。その当初にコントローラ２１は、シリアルバスＳＢに接続されるすべてのサーボモータモジュールＭ１〜Ｍ５へのＩＤコードの設定が完了していないことを確認した上で（ステップＳ２０１のＮｏ）、「ＩＤ要求メッセージ要求」をシリアルバスＳＢに対して送信する（ステップＳ２０２）。
【００３２】
この１回の「ＩＤ要求メッセージ要求」送信に際して、予め設定した時間が経過してタイムアウトとなったか否か（ステップＳ２０３）、いずれか少なくとも１つのサーボモータモジュールＭｘからメッセージを受信したか否か（ステップＳ２０４）を繰返し判断し続けることで、タイムアウトとなるか、またはサーボモータモジュールＭｘからのメッセージの受信があるのを待機する。
【００３３】
上記ステップＳ２０３において、タイムアウトとなったと判断した場合（ステップＳ２０３のＹｅｓ）、コントローラ２１は上記ステップＳ２０２からの処理に戻って、再び「ＩＤ要求メッセージ要求」をシリアルバスＳＢに対して送信する。
【００３４】
また上記ステップＳ２０４において、少なくとも１つのサーボモータモジュールＭｘからメッセージを受信したと判断した場合（ステップＳ２０４のＹｅｓ）、コントローラ２１はそのメッセージ中の上記図５で示したチェックサムＤ３の内容を確認した上で（ステップＳ２０５）、その内容が正しいものであったか否かを判断する（ステップＳ２０６）。
【００３５】
チェックサムＤ３が正しくないと判断した場合（ステップＳ２０６のＮｏ）、コントローラ２１は、複数のサーボモータモジュールから「ＩＤ要求メッセージ」が返信されたものと判断して、上記ステップＳ２０２からの処理に戻り、再び「ＩＤ要求メッセージ要求」をシリアルバスＳＢに対して送信する。
【００３６】
また上記ステップＳ２０６において、チェックサムＤ３の内容が正しく、１個のサーボモータモジュールＭｘのみが「ＩＤ要求メッセージ」を返信して受付け状態であると判断したコントローラ２１は、そのチェックサムＤ３の前に付加されていたランダム値Ｄ２に基づいたＩＤコードを当該サーボモータモジュールに設定するべく送信する（ステップＳ２０７）。
【００３７】
次いでその時点で保持しているＩＤコードを登録設定して、次のサーボモータモジュールＭｘのＩＤコードの設定に備えるものとした後（ステップＳ２０８）、上記ステップＳ２０１の処理に戻って、以下同様にまだＩＤコードの設定を行っていないサーボモータモジュールＭｘに対して同様の処理を続行する。
【００３８】
そして、すべてのサーボモータモジュールＭ１〜Ｍ５に対するＩＤコードの設定を完了したことを判断した時点で（ステップＳ２０１のＹｅｓ）、この図６によるコントローラ２１におけるＩＤコードの設定処理を終える。
【００３９】
図７は、一方のサーボモータモジュールＭ１〜Ｍ５の夫々において、上記第１の段階においてＩＤコードを設定する間での処理内容を示すフローチャートである。以下、サーボモータモジュールＭｘにおける処理として説明する。
【００４０】
サーボモータモジュールＭｘにおいて、ＩＤ設定時にコントローラ２１からの「ＩＤ要求メッセージ要求」をシリアルバスＳＢを介して受信したか否かを判断する（ステップＳ３０１）。受信していないと判断した場合（ステップＳ３０１のＮｏ）、続けて、その時点でＩＤコード設定の受付け状態であり、且つシリアルバスＳＢを介してＩＤコードの設定を受けたか否かを判断する（ステップＳ３０２）。
【００４１】
ＩＤコード設定の受付け状態ではないか、またはＩＤコード設定の受付け状態であってもシリアルバスＳＢを介してＩＤコードの設定を受けていないと判断した場合（ステップＳ３０２のＮｏ）、サーボモータモジュールＭｘでは再び上記ステップＳ３０１からの処理に戻る。
【００４２】
こうしてステップＳ３０１，Ｓ３０２の処理を繰返し実行しながら、「ＩＤ要求メッセージ要求」を受信するか、またはＩＤコード設定の受付け状態からＩＤコードの設定を受けるのを待機する。
【００４３】
上記ステップＳ３０１において、「ＩＤ要求メッセージ要求」を受信したと判断した場合（ステップＳ３０１のＹｅｓ）、サーボモータモジュールＭｘでは、その時点でＩＤコードの設定受付け状態をリセットした上で（ステップＳ３０３）、コントローラ２１に対して「ＩＤ要求メッセージ」を送信するか否かを判断する（ステップＳ３０４）。
【００４４】
上述した如く、サーボモータモジュールＭｘにおいては、コントローラ２１からのメッセージに対して応答を行なうか否かはランダムに選択するものであり、ここでコントローラ２１からの「ＩＤ要求メッセージ要求」に対して応答せず、「ＩＤ要求メッセージ」を送信しないと判断した場合（ステップＳ３０４のＮｏ）、サーボモータモジュールＭｘでは再び上記ステップＳ３０１からの処理に戻る。
【００４５】
また上記ステップＳ３０４において、コントローラ２１からの「ＩＤ要求メッセージ要求」に対して応答するものとし、「ＩＤ要求メッセージ」を送信すると判断した場合（ステップＳ３０４のＹｅｓ）、サーボモータモジュールＭｘではあらためて上記図５に示した「ＩＤ要求メッセージ」をシリアルバスＳＢを介してコントローラ２１に向けて送信した上で（ステップＳ３０５）、ＩＤコードの設定受付け状態をセットし(ステップＳ３０６）、再び上記ステップＳ３０１からの処理に戻って、コントローラ２１からＩＤコードを設定するべく送信されてくるのを待機する。
【００４６】
そして上記ステップＳ３０２において、ＩＤコード設定の受付け状態であり、且つシリアルバスＳＢを介してＩＤコードの設定を受けたと判断した場合（ステップＳ３０２のＹｅｓ）、サーボモータモジュールＭｘでは、コントローラ２１から受信したＩＤコードを内部のメモリ部に記憶させ（ステップＳ３０７）、以上でこの図７によるサーボモータモジュールＭｘでのＩＤコードの設定処理を終える。
【００４７】
次に上記第２の段階として、すべてのサーボモータモジュールＭ１〜Ｍ５に夫々ランダムに発生したユニークなＩＤコードを設定した状態から、それらサーボモータモジュールＭ１〜Ｍ５がロボット１０のどの部位であるのか検出し、検出した位置を示す情報をＩＤコードと対応付けて記憶する場合の動作について説明する。
【００４８】
図８は、ロボット１０を例えばデスクボードＢＤ上に仰向けとなる状態に載置した場合を示す。同図の状態において、胴体部１２部内の略中央に破線で示すように上記加速度センサＡＣが配設されており、上記サーボモータモジュールＭ１〜Ｍ５のいずれか１つを予め設定された一定量だけ動作させることにより、ロボット１０において発生する挙動の変化から、その時点で駆動されたサーボモータモジュールＭｘのロボット１０における部位を判断するものとする。
【００４９】
図９は、上記図８に示した状態から、コントローラ２１で実行する、上記第２の段階での処理内容を示すフローチャートである。
【００５０】
その当初にコントローラ２１では、位置未検出のサーボモータモジュールＭｘが少なくとも１つあるか否かにより、当該第２の段階での設定を終えていないことを確認する（ステップＳ４０１）。
【００５１】
位置未検出のサーボモータモジュールＭｘが少なくとも１つあり、当該第２の段階での設定を終えていないと判断すると（ステップＳ４０１のＹｅｓ）、コントローラ２１では、未検出のサーボモータモジュールＭｘを１つ選択してそのＩＤコードを指定した上で、例えば、現在の状態からモータ角度を−１０°から（＋）１０°までの２０°に渡って回転駆動し、その後に元の０°の状態に戻すような指示信号を送信する（ステップＳ４０２）。
【００５２】
同時にコントローラ２１では、加速度センサＡＣからの３軸加速度データを随時計測することで、上記ロボット１０の傾きの変化がどのように発生しているのか、その経時的な変化を取得する（ステップＳ４０３）。
【００５３】
コントローラ２１では、加速度センサＡＣから得た経時的なデータ系列のパターンを、予め記憶している、部位毎のパターンデータと比較して夫々の部位のパターン出たとの類似度を夫々算出することで、最も類似度が高い部位を当該サーボモータモジュールＭｘが配設されている部位であるものとして決定する（ステップＳ４０４）。
【００５４】
そして、決定した部位に関する情報を、該当するサーボモータモジュールＭｘのＩＤコードと対応付けて記録設定する（ステップＳ４０５）。
【００５５】
以上で、１つのサーボモータモジュールＭｘに対する部位の検出と線路に関する処理を終えたものとして、再び上記ステップＳ４０１からの処理に戻る。
【００５６】
こうしてステップＳ４０１〜Ｓ４０５の処理をサーボモータモジュールＭ１〜Ｍ５の数だけ繰返し実行することで、サーボモータモジュールＭ１〜Ｍ５すべての部位を夫々のＩＤコードと対応付けて記録させることができる。
【００５７】
その後、上記ステップＳ４０１において、すべてのサーボモータモジュールＭ１〜Ｍ５に対する記録設定を終えた状態で、位置未検出のサーボモータモジュールＭｘがもうないと判断すると（ステップＳ４０１のＮｏ）、以上でこの図９の処理を終了すると共に、上記第２の段階を終えて、このロボット１０での初期設定を完了する。
【００５８】
以上詳述した如く本実施形態によれば、共通の信号線を介して接続される複数のサーボモータの初期設定を効率的に実施することが可能となる。
【００５９】
また上記実施形態では、サーボモータモジュールＭ１〜Ｍ５が夫々発生したランダム値に基づいて夫々を識別するためのＩＤコードとして設定するものとしたので、コントローラ２１側がその制御対象に対するＩＤコードを生成する手間を省いて処理の負担を軽減できる。
【００６０】
この場合にコントローラ２１側では、サーボモータモジュールＭ１〜Ｍ５に設定したＩＤモータをその都度記憶しておくことにより、後の段階で検出した部位と対応付けて記憶することで、初期設定を効率的に実行できる。
【００６１】
また上記実施形態では説明しなかったが、上記初期設定のみならず、初期設定を完了した後の通常動作時においても、シリアルバスＳＢを介してコントローラ２１がサーボモータモジュールＭ１〜Ｍ５夫々に動作を指示する際のＩＤコードを含めた制御データをパケットデータ化してシリアルバスＳＢへ送信することで、当該指示を受信するサーボモータモジュールＭ１〜Ｍ５側での受信データの取り扱いが容易となる。
【００６２】
また上記実施形態では、初期設定の第２の段階における加速度センサＡＣでの計算結果に基づいてサーボモータモジュールＭ１〜Ｍ５の各部位を検出するものとして説明したが、加速度センサＡＣのみならず、ロボット１０が有するサーボモータモジュールＭ１〜Ｍ５夫々の動作を、例えばジャイロセンサを用いた角速度、モータの駆動音と周囲環境等の物理干渉等によるマイクロホンＭＣで集音した音声信号、あるいはさらにロボット１０がイメージセンサを含む撮像系を有するものとして周囲、あるいはロボット１０と対向設置した鏡によりロボット１０自体の動作の映像信号の変化により検出できるものとすれば、それら各種信号を統括して判断することで、動作させている部位をより正確に検出することができる。
【００６３】
また上述した如く、何らかの生物を模した、より高位のロボットにおいては、多数の自由度（駆動部）を有するが故に初期設定が煩雑化するため、本実施形態のような初期設定時の処理を採用することで、必要な手間を大幅に簡略化できる。
【００６４】
その他、本願発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【００６５】
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。  
［請求項１］  
コントローラと、上記コントローラと共通信号線を介して接続された複数のサーボモータと、上記複数のサーボモータの夫々により駆動される複数の駆動部とを備えた駆動装置であって、  
上記複数のサーボモータは夫々、  
互いに異なる識別情報を記憶する第１の記憶部と、  
上記コントローラが上記共通信号線に送信した識別情報が上記第１の記憶部に記憶する識別情報と一致する場合に当該サーボモータを動作させる駆動制御部と、を備え、  
上記コントローラは、  
サーボモータを指定する識別情報を上記共通信号線に送信する第１の送信手段と、  
上記第１の送信手段で識別情報を上記共通信号線に送信することにより、上記複数のサーボモータのいずれかが動作し、動作したサーボモータにより駆動される駆動部の動きに起因する当該駆動装置の動作態様を検出する動作検出手段と、  
上記動作検出手段で検出した動作態様に基づいて、上記第１の送信手段で送信した識別情報が、上記複数のサーボモータ中のいずれのサーボモータであるのかを示す対応情報を生成する対応情報生成手段と、を備える、  
駆動装置。  
［請求項２］  
上記複数のサーボモータは夫々、  
ランダム値を発生し、発生したランダム値を上記識別情報として生成する識別情報生成手段と、  
上記識別情報生成手段で生成した識別情報を上記第１の記憶部に記憶させる第１の記憶制御手段と、  
上記識別情報生成手段で生成した識別情報を、上記共通信号線を介して上記コントローラへ送信する第２の送信手段と、  
をさらに備える、請求項１記載の駆動装置。  
［請求項３］  
上記コントローラは、  
上記複数のサーボモータの夫々が送信した識別情報を受信して記憶する第２の記憶部をさらに備える、請求項１または２記載の駆動装置。  
［請求項４］  
上記コントローラは、  
上記第２の記憶部に記憶しているいずれか１つの識別情報に基づいて、識別情報とサーボモータを動作させるための動作情報とを含むパケットデータを生成するパケットデータ生成手段をさらに備える、請求項３記載の駆動装置。  
［請求項５］  
上記動作検出手段は、上記サーボモータが駆動する上記駆動部の動きに起因する当該駆動装置の動作態様を、加速度、角速度、音声及び映像の少なくとも１つにより検出する、請求項１乃至４いずれか記載の駆動装置。  
［請求項６］  
上記駆動装置はロボットであり、上記複数の駆動部は、生物を模した、胴体部に対する頭部、頸部、四肢部の少なくとも１つを形成する、請求項１乃至５いずれか記載の駆動装置。  
［請求項７］  
上記サーボモータは、上記頭部、頸部、四肢部のいずれかに配設され、  
上記対応情報生成手段は、上記動作検出手段で検出した動作態様に基づいて、上記第１の送信手段で送信した識別情報が、いずれの部位に配設されたサーボモータであるのかを示す対応情報を生成する、  
請求項６記載の駆動装置。  
［請求項８］  
コントローラと、上記コントローラと共通信号線を介して接続され、互いに異なる識別情報を記憶する第１の記憶部、及び上記コントローラが上記共通信号線に送信した識別情報が上記第１の記憶部に記憶する識別情報と一致する場合にサーボモータを動作させる駆動制御部を設けた複数のサーボモータと、上記複数のサーボモータの夫々により駆動される複数の駆動部とを備えた装置での駆動方法であって、  
上記コントローラによる、  
サーボモータを指定する識別情報を上記共通信号線に送信する第１の送信工程と、  
上記第１の送信工程で識別情報を上記共通信号線に送信することにより、上記複数のサーボモータのいずれかが動作し、動作したサーボモータにより駆動される駆動部の動きに起因する当該装置の動作態様を検出する動作検出工程と、  
上記動作検出工程で検出した動作態様に基づいて、上記第１の送信工程で送信した識別情報が、上記複数のサーボモータ中のいずれのサーボモータであるのかを示す対応情報を生成する対応情報生成工程と、  
を有する駆動方法。  
［請求項９］  
コントローラと、上記コントローラと共通信号線を介して接続され、互いに異なる識別情報を記憶する第１の記憶部、及び上記コントローラが上記共通信号線に送信した識別情報が上記第１の記憶部に記憶する識別情報と一致する場合にサーボモータを動作させる駆動制御部を設けた複数のサーボモータと、上記複数のサーボモータの夫々により駆動される複数の駆動部とを備えた装置が内蔵するコンピュータが実行するプログラムであって、上記コンピュータを、  
サーボモータを指定する識別情報を上記共通信号線に送信する第１の送信手段と、  
上記第１の送信手段で識別情報を上記共通信号線に送信することにより、上記複数のサーボモータのいずれかが動作し、動作したサーボモータにより駆動される駆動部の動きに起因する当該装置の動作態様を検出する動作検出手段と、  
上記動作検出手段で検出した動作態様に基づいて、上記第１の送信手段で送信した識別情報が、上記複数のサーボモータ中のいずれのサーボモータであるのかを示す対応情報を生成する対応情報生成手段と、  
して機能させるプログラム。
【符号の説明】
【００６６】
１０…（ヒト型）ロボット
１１…頭部
１２…胴体部
１３…右手部
１４…左手部
１５…右足部
１６…左足部
２１…コントローラ
ＡＣ…加速度センサ
Ｍ１〜Ｍ５…サーボモータモジュール
ＭＣ…マイクロホン
ＳＢ…シリアルバス
ＳＰ…スピーカ
【図１】
2019111611.tif 000003
【図２】
2019111611.tif 000004
【図３】
2019111611.tif 000005
【図４】
2019111611.tif 000006
【図５】
2019111611.tif 000007
【図６】
2019111611.tif 000008
【図７】
2019111611.tif 000009
【図８】
2019111611.tif 000010
【図９】
2019111611.tif 000011