(57)【要約】  【構成】コミュニケーションロボット１０は、たとえば高密度全身分布型触覚センサとして皮膚センサネットワーク７２を含む。皮膚センサネットワーク７２では、たとえば複数のノードが相互接続型のネットワークを形成し、各ノードには複数の触覚センサエレメント（ピエゾフィルム）が接続される。各ノードは、触覚センサエレメントの出力データを、触覚コミュニケーションにおける触られ方を母関数としたウェーブレット変換によって圧縮し、圧縮に基づく触覚情報をＣＰＵ６０に送信する。  【効果】送信データ量を低減でき、しかも触られ方の特徴抽出を容易に行える。【選択図】図３
2006281347.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの触覚センサエレメントをそれぞれが備え少なくとも１つの他のノードと互いに接続される複数のノードを含む触覚センサ、および前記触覚センサと接続されるロボット制御用コンピュータを備えるコミュニケーションロボットであって、
前記複数のノードのそれぞれは、
前記触覚センサエレメントの出力データを取得する取得手段、
触覚コミュニケーションにおける触覚センサエレメントの出力に固有の波形を母関数としたウェーブレット変換によって、前記取得手段によって取得された前記出力データを圧縮する圧縮手段、および
前記圧縮手段による圧縮に基づく触覚情報を前記ロボット制御用コンピュータに対して送信する送信手段を含む、コミュニケーションロボット。
【請求項２】
前記送信手段は、最大の圧縮率が得られた前記母関数を用いた圧縮に基づく触覚情報を送信する、請求項１記載のコミュニケーションロボット。
【請求項３】
前記送信手段は、前記触覚情報として触覚センサエレメントの触られ方を示す情報を送信する、請求項１または２記載のコミュニケーションロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はコミュニケーションロボットに関し、特にたとえば、全身に分布された複数の触覚センサエレメントを備えるコミュニケーションロボットに関する。
【背景技術】
【０００２】
日常環境の中で活動するロボットにとって表面の柔らかさと敏感さは、コミュニケーションの相手となる人間への安全性という面において重要である。さらに、スキンシップという言葉の通り、体の表面は最初に触れるインタフェースであることから、コミュニケーションの相手がどのようにどの場所に触れているかを知ることは、相手の状態を知ることに繋がる。たとえば強く握ったり、やさしくなでたりするという触行動は自分の意思や気持ちを相手に伝えるための行動であり、根本的なコミュニケーション行動の１つである。したがって、ロボットの全身の柔らかさと触覚は、日常環境の中で活動するコミュニケーションロボットにとって非常に重要である。
【０００３】
本件出願人は、たとえば特許文献１において、柔らかい皮膚を持ち、触覚情報を出力するピエゾセンサ（触覚センサエレメントまたは皮膚センサエレメント）を全身に配置したコミュニケーションロボットを提案している。この特許文献１のコミュニケーションロボットでは、一例として４８枚のピエゾセンサシートが配置されている。さらに多数の触覚センサエレメントを用いることによって高密度全身分布型触覚センサをロボットの体表に形成することができる。
【０００４】
また、たとえばロボットの全身触覚に関しては、ロボットの体表に実装できる触覚デバイス（非特許文献１）や、触覚情報を送る手法（非特許文献２）などが研究されている。具体的には、非特許文献１の技術は、多値接触センサを読み取ってホストコンピュータに情報を送るノードがバス接続されたシステムである。また、非特許文献２の技術では、ＭＥＭＳ（Micro Electro Mechanical System）による小型接触センサと無線ユニットとを一体化した小型チップをロボット表面に分布させることで階層化された無線ネットワークの形成を可能にしている。
【特許文献１】特開２００４−２８３９７５号公報
【非特許文献１】陰山竜介（外４名）、“ロボット表面多値接触センサの開発と応用”、ロボティクスメカトロニクス講演会´９８講演論文集（1CI1-2）
【非特許文献２】Hiroyuki Shinoda（外３名）、“Two-Dimensional Signal Transmission Technology for Robotics”, Proceedings of the 2003 IEEE International Conference on Robotics & Automation Taipei, Taiwan, September 14-19,2003
【発明の開示】
【発明が解決しようとする課題】
【０００５】
高密度の分布型触覚センサを構築する場合には、センサ情報が膨大になる。上述の従来技術では、すべての触覚センサ情報がロボット制御用コンピュータ（ＣＰＵ）に送られていたので、大量のセンサ情報をコンピュータに送信して処理しなければならなかった。
【０００６】
それゆえに、この発明の主たる目的は、触覚に関する送信データ量を低減でき、しかも触られ方の特徴抽出を容易に行える、コミュニケーションロボットを提供することである。
【課題を解決するための手段】
【０００７】
請求項１の発明は、少なくとも１つの触覚センサエレメントをそれぞれが備え少なくとも１つの他のノードと互いに接続される複数のノードを含む触覚センサ、および触覚センサと接続されるロボット制御用コンピュータを備えるコミュニケーションロボットであって、複数のノードのそれぞれは、触覚センサエレメントの出力データを取得する取得手段、触覚コミュニケーションにおける触覚センサエレメントの出力に固有の波形を母関数としたウェーブレット変換によって取得手段によって取得された出力データを圧縮する圧縮手段、および圧縮手段による圧縮に基づく触覚情報をロボット制御用コンピュータに対して送信する送信手段を含む、コミュニケーションロボットである。
【０００８】
請求項１の発明では、コミュニケーションロボットは、触覚センサおよびロボット制御用コンピュータを含む。触覚センサは複数のノードを含み、複数のノードのそれぞれは少なくとも１つの触覚センサエレメントを備え、かつ、少なくとも１つの他のノードと互いに接続されている。触覚センサは、たとえば皮膚センサネットワークであり、複数のノードは相互接続型ネットワークを形成している。触覚センサエレメントは、実施例ではピエゾフィルムであり、複数のピエゾフィルムが柔軟な素材からなる皮膚中に分布して配置される。各ノードの取得手段は、触覚センサエレメントの出力データを取得する。たとえば、出力データは所定時間間隔で検出され、一定時間分の出力データがノードのメモリに記憶される。各ノードの圧縮手段は、取得手段によって取得されたたとえば一定時間分の出力データを圧縮する。この圧縮は、触覚コミュニケーションにおける触覚センサエレメントの出力に固有の波形を母関数としたウェーブレット変換によって実行される。母関数は、触行動をしている人間によって触られているときの触覚センサエレメントの出力の波形であり、人間の触り方、すなわち、ロボットの触られ方を示す。したがって、この圧縮によって、各触覚センサエレメントの出力データを圧縮するとともに、ロボットの触られ方を抽出し認識することができる。送信手段は、圧縮に基づく触覚情報をロボット制御用コンピュータに対して送信する。送信される触覚情報は、たとえば、圧縮された出力データ、当該圧縮に用いた母関数を示す識別情報等を含む。したがって、請求項１の発明によれば、触覚センサの出力データの送信データ量を低減でき、しかも各ノードで触られ方を抽出できるので、触られ方の特徴抽出が容易になる。
【０００９】
請求項２の発明は、請求項１の発明に従属し、送信手段は、最大の圧縮率が得られた母関数を用いた圧縮に基づく触覚情報を送信する。
【００１０】
請求項２の発明では、送信される触覚情報は、最大の圧縮率が得られた母関数を用いた圧縮に基づく情報である。出力データの圧縮は、触られ方を母関数としたウェーブレット変換によって実行されるので、最大の圧縮率が得られた母関数が当該触覚センサエレメントの実際の触られ方を示しているものと見なすことができる。したがって、最も圧縮された出力データを送信するので、送信データ量をより低減できる。しかも、実際の触られ方をそのノードで抽出した上で送信するので、当該触覚センサエレメントがどのように触られたかを容易に把握でき、ロボット制御用コンピュータの処理負担を軽減できる。
【００１１】
請求項３の発明は、請求項１または２の発明に従属し、送信手段は、触覚情報として触覚センサエレメントの触られ方を示す情報を送信する。
【００１２】
請求項３の発明では、触覚センサエレメントの触られ方を示す情報が触覚情報として送信される。触られ方を示す情報は、実施例では触られ方ラベル情報であり、母関数の識別情報に関連付けられている。したがって、触られ方を識別するためのデータ量の僅かな情報を触覚情報として送信するので、送信データを極めて少なくできる。また、最大の圧縮率が得られた母関数に対応する触られ方を示す情報のみを送信する場合には、さらに送信データ量を低減できる。
【発明の効果】
【００１３】
この発明によれば、各ノードが、各触覚センサエレメントの出力データを触られ方を母関数としたウェーブレット変換によって圧縮し、当該圧縮に基づく触覚情報を送信するようにした。したがって、送信データ量を非常に少なくできる。しかも、各ノードで圧縮によって触られ方を抽出できるので、触られ方の特徴抽出を容易に行うことができる。
【００１４】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００１５】
図１を参照して、この実施例のコミュニケーションロボット（以下、単に「ロボット」ということがある。）１０は台車１２を含み、この台車１２の側面には、このロボット１０を自律移動させる車輪１４が設けられる。この車輪１４は、車輪モータ（図３において参照番号「１６」で示す。）によって駆動され、台車１２すなわちロボット１０を前後左右任意の方向に動かすことができる。なお、図示しないが、この台車１２の前面には、衝突センサが取り付けられ、この衝突センサは、台車１２への人間や他の障害物の接触を検知する。
【００１６】
台車１２の上には、多角形柱状のセンサ取付パネル１８が設けられ、このセンサ取付パネル１８の各面には、超音波距離センサ２０が取り付けられる。この実施例ではたとえば２４個の超音波距離センサ２０が周囲３６０度にわたるように設けられる。この超音波距離センサ２０は、センサ取付パネル１８すなわちロボット１０の周囲の主として人間との距離を計測するものである。具体的には、超音波距離センサ２０は超音波を発射し、その超音波が人から反射されて超音波距離センサ２０に入射されたタイミングを測定して、人との間の距離情報を出力する。
【００１７】
台車１２の上には、人体状部２２が直立するように取り付けられる。このロボット本体としての人体状部２２の全身は、後に詳しく説明するように、柔軟素材からなる皮膚２４によって覆われる。人体状部２２は、たとえば鉄板のような筐体（図示せず）を含み、その筐体にコンピュータやその他必要なコンポーネントを収容している。そして、皮膚２４は、その筐体上に被せられる。皮膚２４の下の筐体の上部ほぼ中央にはマイク２６が設けられる。このマイク２６は、周囲の音声、特に人間の声を収集するためものである。
【００１８】
人体状部２２は、右腕２８Ｒおよび左腕２８Ｌを含み、右腕２８Ｒおよび左腕２８Ｌすなわち上腕３０Ｒおよび３０Ｌは、それぞれ、肩関節３２Ｒおよび３２Ｌによって、胴体部分に変位自在に取り付けられる。この肩関節３２Ｒおよび３２Ｌは、３軸の自由度を有する。上腕３０Ｒおよび３０Ｌには、１軸の肘関節３４Ｒおよび３４Ｌによって、前腕３６Ｒおよび３６Ｌが取り付けられ、この前腕３６Ｒおよび３６Ｌには、手３８Ｒおよび３８Ｌが取り付けられる。これら右腕２８Ｒおよび左腕２８Ｌの各関節における各軸はここでは図示しないモータによってそれぞれ制御される。すなわち、右腕２８Ｒおよび左腕２８Ｌのそれぞれ４個のモータが、図３において、それぞれ右腕モータ４０および左腕モータ４２として表される。
【００１９】
人体状部１８の上部には首関節４４を介して頭部４６が、人間の頭と同様に俯仰・回転可能に取付けられる。この３軸の首関節４４は、図３に示す頭部モータ４８によって制御される。頭部４６の前面の「目」に相当する位置には２つの眼カメラ５０が設けられ、この眼カメラ５０は、ロボット１０に接近した人間の顔や他の部分を撮影してその映像信号を取り込む。眼カメラ５０はたとえばＣＣＤやＣＭＯＳのような固体撮像素子を含むカメラであってよい。頭部４６の前面の眼カメラ５０の下方にはスピーカ５２が設けられる。このスピーカ５２は、ロボット１０がそれの周囲の人間に対して音声によってコミュニケーションを図るために用いられる。
【００２０】
上で説明した人体状部２２の胴体や頭部４６および腕は上記したようにすべて柔軟な素材からなる皮膚２４に覆われる。この皮膚２４は、図２に示すように、下層のウレタンフォーム５４と、その上に積層される比較的肉厚のシリコンゴム層５６ａおよび比較的肉薄のシリコンゴム層５６ｂとを含む。そして、２つのシリコンゴム層５６ａおよび５６ｂの間に、複数のピエゾセンサシート（触覚センサエレメント）５８が埋め込まれる。このピエゾセンサシート５８は、たとえば米国ＭＳＩ社製、株式会社東京センサ販売のピエゾフィルムを用いる（http://www.t-sensor.co.jp/PIEZO/TOP/index.html）。このピエゾフィルムは、圧電フィルム（たとえばＰＶＤＦ（ポリビニリデンフルオロイド））の両面に金属薄膜が形成された構造、つまり、圧電体が導体で挟まれた構造を有する圧電センサである。ピエゾフィルムは、圧力等で変形されると、そのひずみ速度に応じた電圧を発生する。ピエゾフィルムは、たとえば、３０×３０ｍｍ程度の大きさにカットされ、約５ｍｍの間隔で皮膚２４中に配置される。
【００２１】
実施例では、上述のように、発泡ウレタンとシリコンゴムとを使って皮膚２４の柔らかさを得た。シリコンゴムだけである程度の厚みと柔らかさとを得ようとすると、重くなりすぎてエネルギ消費量が大きくなるだけでなく、裂傷に弱くなる。そこで、発明者等は、実験を重ねた結果、大まかな形と厚みはウレタンフォームで作り、その表面を約２０ｍｍのシリコンゴムで覆う形を採用することとした。そして、シリコンゴム層を２つにし、それらのシリコンゴム層５６ａおよび５６ｂの間に、上述のピエゾセンサシート５８を埋め込んだ。このとき、内側のシリコンゴム層５６ａを厚く（約１５ｍｍ）し、表面側のシリコンゴム層５６ｂを薄く（約５ｍｍ）した。このようにすると、ロボット１０の振動や人間が表面を押したときに生じる高周波の振動をカットでき、なおかつフィルムが変形し易くなるので、圧力の計測が容易になる。つまり、シリコンゴム層の厚みはロボット１０の構造やパワーによるが、なるべく薄く、しかし変形が伝わり易く、雑音となる振動が伝わり難いものが必要となる。また、この柔らかい皮膚を介して、人との間で触行動によるコミュニケーションを行うことができるので、人に対して安心感を与えて親和性を高めることができるし、触れたりぶつかったりした場合の人の怪我を防止して安全性も高めることができる。
【００２２】
なお、皮膚２４の素材は軟性素材であればよく、上述のものに限定されずたとえば他のゴム素材等でもよい。ただし、ピエゾセンサシートの表面金属薄膜が腐食しない材質である必要がある。また、上述の皮膚２４の厚み（各層の厚み）は一例であり、素材等によって適宜変更され得る。また、皮膚２４の積層構造も適宜変更可能である。
【００２３】
人体状部２２の全身にわたって多数の触覚センサエレメント（皮膚センサエレメント）５８が埋め込まれ、高密度分布型の皮膚センサが構築される。触覚センサエレメント５８は、人間等が接触することによって皮膚２４に加えられた圧力を圧覚（触覚）情報として検知する。後述するように、複数の触覚センサエレメント５８はセンサネットワークを形成している。
【００２４】
図１に示すロボット１０の電気的構成が図３のブロック図に示される。図３に示すように、このロボット１０は、全体の制御のためにマイクロコンピュータまたはＣＰＵ６０を含み、このＣＰＵ（ロボット制御用コンピュータ）６０には、バス６２を通して、メモリ６４，モータ制御ボード６６，センサ入力／出力ボード６８およびサウンド入力／出力ボード７０が接続される。
【００２５】
メモリ６４は、図示しないが、ＲＯＭやＨＤＤ、ＲＡＭ等を含む。ＲＯＭやＨＤＤ等にはこのロボット１０の制御プログラムが予め記憶されている。制御プログラムはたとえばコミュニケーション行動を実行するためのプログラム、外部のコンピュータと通信するためのプログラム等を含む。メモリ６４にはまた、コミュニケーション行動を実行するためのデータが記憶され、そのデータは、たとえば、個々の行動を実行する際に、スピーカ５２から発生すべき音声または声の音声データ（音声合成データ）、および所定の身振りを提示するための各関節軸の角度制御データ等を含む。ＲＡＭは、一時記憶メモリとして用いられるとともに、ワーキングメモリとして利用される。ＣＰＵ６０はプログラムに従ってデータをＲＡＭに生成しまたは取得しつつ処理を実行する。
【００２６】
モータ制御ボード６６は、たとえばＤＳＰ(Digital Signal Processor) で構成され、各腕や頭部などの各軸モータを制御する。すなわち、モータ制御ボード６６は、ＣＰＵ６０からの制御データを受け、右肩関節３２Ｒの３軸のそれぞれの角度を制御する３つのモータと右肘関節３４Ｒの１軸の角度を制御する１つのモータとの計４つのモータ（図３ではまとめて、「右腕モータ」として示す。）４０の回転角度を調節する。また、モータ制御ボード６６は、左肩関節３２Ｌの３軸と左肘関節３４Ｌの１軸、計４つのモータ（図３ではまとめて、「左腕モータ」として示す。）４２の回転角度を調節する。モータ制御ボード６６は、また、頭部４６の３軸のモータ（図３ではまとめて、「頭部モータ」として示す。）４８の回転角度を調節する。そして、モータ制御ボード６６は、車輪１４を駆動する２つのモータ（図３ではまとめて、「車輪モータ」として示す。）１６を制御する。
【００２７】
なお、この実施例の上述のモータは、車輪モータ１６を除いて、制御を簡単化するためにそれぞれステッピングモータまたはパルスモータであるが、車輪モータ１６と同様に、直流モータであってよい。
【００２８】
センサ入力／出力ボード６８も、同様に、ＤＳＰで構成され、各センサやカメラからの信号を取り込んでＣＰＵ６０に与える。すなわち、図示しない衝突センサの各々からの接触に関するデータがこのセンサ入力／出力ボード６８を通して、ＣＰＵ６０に入力される。また、眼カメラ５０からの映像信号が、必要に応じてこのセンサ入力／出力ボード６８で所定の処理が施された後、ＣＰＵ６０に入力される。
【００２９】
また、皮膚センサネットワーク７２がこのセンサ入力／出力ボード６８に含まれるシリアル通信ポートを介してＣＰＵ６０に接続される。皮膚センサネットワーク７２は、図４に示すように、複数のノード７４を含む。複数のノード７４は相互接続型のネットワークを形成している。各ノード７４は他の少なくとも１つのノード７４と相互に接続されている。この実施例では各ノード７４は４つの通信ポートを備えており、最大で４つのノード７４と接続され得る。各ノード７４はこの相互に接続された経路を介して通信を行う。ＣＰＵ６０は、センサ入力／出力ボード６８のシリアルポートに接続されたケーブルを介して、ネットワークを形成する複数のノード７４のうちの少なくとも１つのノード７４と接続されていて、当該接続されたノード７４との間でセンサ入力／出力ボード６８を介してデータを送受信する。なお、図４ではセンサ入力／出力ボード６８は省略されている。
【００３０】
各ノード７４にはこの実施例では複数の触覚センサエレメント５８が接続されている。各ノード７４は、たとえば、所属ないし所有する複数の触覚センサエレメント５８との配線長を短くするために当該触覚センサエレメント５８のなるべく近傍になるように筐体内において配置される。各ノード７４は、接続されている複数の触覚センサエレメント５８のそれぞれの出力を検出し、センサ出力データとして取得する。なお、ノード７４は少なくとも１つの触覚センサエレメント５８を備えていればよい。この実施例では、皮膚センサネットワーク７２によってロボット１０の体表に高密度分布型触覚センサを形成するので、多数（たとえば数百個程度）の触覚センサエレメント５８がたとえば上記所定間隔で皮膚２４中に分散配置される。
【００３１】
図５にはノード７４の電気的構成の一例が示される。ノード７４は基板７６（破線表示）を含み、基板７６にはこのノード７４の制御を行うマイクロコンピュータまたはＣＰＵ７８が設けられる。一例として、基板７６の大きさは７０×６０ｍｍ程度であり、ＣＰＵ７８にはたとえばルネサス製Ｈ８Ｓ２６３３が使用され得る。このプロセサはＣＩＳＣ構成の命令を６９種類実行可能であり、センサデータの処理をノード７４上で行える。ＣＰＵ７８はメモリ８０と接続され、メモリ８０はセンサデータバッファ８２および転送データバッファ８４と接続される。メモリ８０はＲＯＭおよびＲＡＭ等を含み、ＲＯＭにはノード７４の動作を制御するためのプログラムおよびデータが予め記憶されている。ＣＰＵ７８はメモリ８０のＲＯＭのプログラムに従ってデータをＲＡＭに生成しまたは取得しつつ処理を実行する。たとえば、メモリ８０は、内蔵ＲＯＭ２５６ｋＢｙｔｅ、ＲＡＭ１６ｋＢｙｔｅを含み、クロック１２．２８８ＭＨｚをもとに動作する。
【００３２】
センサデータバッファ８２にはＡ／Ｄ変換器８６が接続される。Ａ／Ｄ変換器８６としては、たとえば１５チャネル１０ビットのものが使用され得る。つまり、この実施例では、１つのＡ／Ｄ変換器８６には最大１５個の触覚センサエレメント５８が接続され得る。Ａ／Ｄ変換器８６は、触覚センサエレメント５８から出力された信号をディジタルデータに変換する。Ａ／Ｄ変換器８６は、センサ出力データを、この実施例では０を基準点として−５１２から５１２までの値で出力する。そのセンサ出力データはセンサデータバッファ８２に与えられ、触覚センサエレメント５８ごとに設けられた領域に格納される。ＣＰＵ７８はセンサデータバッファ８２からセンサ出力データを取得して、センサ出力データを、当該データを出力した触覚センサエレメント５８の識別情報に関連付けてメモリ８０に格納する。センサ出力データはたとえばＣＰＵ７８の内部タイマに基づく検出時刻を付与されて記憶されてよい。センサ出力のサンプリングレートはたとえば１００Ｈｚなど適宜に設定される。
【００３３】
転送データバッファ８４には複数のシリアル通信のためのポート８８が接続される。この実施例では４つのポート８８が設けられる。各ポート８８で独立全二重通信が可能であり、通信速度はたとえば３８４００ｂｐｓとした。各ノード７４はポート８８およびケーブルを介して他のノード７４（もしくはＣＰＵ６０）と接続される。ＣＰＵ７８は、送信すべきデータをメモリ８０から転送データバッファ８４の所定の領域に与えて、対応するポート８８から当該データを送信する。また、他のノード７４（もしくはＣＰＵ６０）から送信されたデータは、ポート８８を介して転送データバッファ８４の所定の領域に格納される。ＣＰＵ７８は転送データバッファ８４から受信データを取得して、受信データを、たとえば当該データを受信したポート８８の識別情報に関連付けてメモリ８０に格納する。
【００３４】
この皮膚センサネットワーク７２のような相互接続型のネットワークでは、ホストコンピュータ（ＣＰＵ６０）までの経路を確保する必要がある。たとえば、ホストコンピュータ６０が各ノード７４に経路をマクロキャリブレーションによって明示的に示すようにしてもよい。しかし、この場合には、ホストコンピュータ６０に負担がかかる。そのため、この実施例では、各ノード７４が協調して経路確保を行う。このようにホストコンピュータからの明示的な指定なしに各ノードがデータ送信経路を確保できるとき、そのセンサネットワークは自己組織化可能であると表現する。この皮膚センサネットワーク７２は、相互接続型の自己組織化可能なセンサネットワークに基づく分布型高密度皮膚センサを構成する。
【００３５】
自己組織化可能なセンサネットワーク７２は、ＣＰＵ６０からは１つのデバイスのように使うことができ、ＣＰＵ６０はネットワークを意識しなくてもよい。発明者等は、アドホックネットワークのＤＳＲ(Dynamic Source Routing Protocol)と類似した手法を用いて、この自己組織化ネットワークのためのプロトコルを作成した。この作成したプロトコルによってＣＰＵ６０まで転送する経路をＣＰＵ６０が明示的に指示することなく確保できることを、発明者等はシミュレータで確認している。
【００３６】
概略を言えば、まず、ホストコンピュータとしてのＣＰＵ６０が経路確保の命令（経路要求コマンド）をブロードキャスト送信する。各ノード７４は、経路確保命令を受信すると、他のポート８８にそのコマンドのコピーを送信する。したがって、ＣＰＵ６０からの経路確保命令は全てのノード７４に送信されることとなる。
【００３７】
各ノード７４は、ブロードキャストの信号（経路確保命令）が流れてきた方向に経路確保を行う。たとえば、各ノード７４のＣＰＵ７８は、最初に経路確保命令を受信したポート８８をホスト側経路として確保し、つまり、そのポート８８の識別情報（ポート番号）を、ホスト側の経路を示す経路確保データとしてメモリ８０に記憶する。ノード７４のＣＰＵ７８は、ＣＰＵ６０宛にデータを転送する際には、メモリ８０に記憶した経路確保データを参照して、ホスト側のポート８８に向けてデータを送信する。このようにして、皮膚センサネットワーク７２では、ＣＰＵ６０からの明示的な経路の指定なしに、通信の経路を確保することができる。ＣＰＵ６０はネットワーク全体の経路情報を取得する。
【００３８】
また、ネットワーク中でたとえば断線があった場合でも、上述のようにＣＰＵ６０から経路確保の命令を送信することによって各ノード７４が経路確保を行うので、通信経路を簡単に再構築することができる。
【００３９】
この手法により、ＣＰＵ６０はネットワークの構造を意識することなく、キャリブレーションの信号（経路確保要求）を送ってデータを受信するという２つのステップで皮膚センサネットワーク７２を使うことができる。
【００４０】
具体的には、各ノード７４は、上述のように、独立に通信できる複数の通信ポート８８を有し、受信データについて識別可能である。経路確保とデータ転送のために、次の（１）から（８）に示すようなコマンドを設ける。各ノード７４は、コマンド受信時には当該コマンドを解釈し、決められたルールに従って動作する。
【００４１】
（１）経路要求コマンドＲＲＥＱは、経路確保を要求するためのコマンドである。経路要求コマンドは初めにホストコンピュータとしてのＣＰＵ６０から送信される。また、各ノード７４は、ホスト側のノード７４と双方向通信が確認されたことに応じて、この経路要求コマンドをホスト側以外のポート８８に向けて送信する。経路要求コマンドは、引数として世代番号Ｇｎおよびホップ番号Ｈｎを含む。世代番号Ｇｎおよびホップ番号Ｈｎはメモリに記憶されている。
【００４２】
なお、世代番号Ｇｎはネットワーク世代番号であり、ルーティングのためのネットワーク管理番号であり、初期値は０である。ＣＰＵ６０から経路確保要求するたびにその値が変更される。各コマンドは引数としてこの世代番号Ｇｎを必ず含んで送信され、各ノード７４ではこの世代番号Ｇｎが常にチェックされる。経路要求コマンドの場合には、この世代番号Ｇｎが異なるとき経路が再確保されることとなり、他のコマンドの場合にはこの世代番号Ｇｎはネットワークの識別に用いられる。
【００４３】
また、ホップ番号Ｈｎは、ＣＰＵ６０からのホップ数を示し、初期値は０である。ホップ番号Ｈｎは、今の経路がこの番号分のノード７４を介してホストに経路を確保していることを示す。センサ入力／出力ボード６８のポートと接続されているノード７４のホップ番号Ｈｎは１になる。ホップ番号Ｈｎはたとえば経路データの結合時に使用される。
【００４４】
この経路要求コマンドを受信したとき、ノード７４は世代番号Ｇｎを確認する。その世代番号Ｇｎの含まれるコマンドをまだ受信していない場合には、ノード７４は当該経路要求コマンドを受け取ったポート８８に向けて経路応答コマンドＲＲＥＰ＿ｌｏｃａｌ（承諾）を送信する。これによって、経路要求を承諾し、経路応答確認コマンドを待つ。一方、その世代番号Ｇｎの含まれるコマンドを既に受信している場合には、ノード７４は当該経路要求コマンドを受け取ったポート８８に向けて経路応答コマンドＲＲＥＰ＿ｌｏｃａｌ（拒否）を送信して、経路要求を拒否する。
【００４５】
（２）経路応答コマンドＲＲＥＰ＿ｌｏｃａｌは、ルート要求に対する承諾または拒否の応答をするためのコマンドである。経路応答コマンドは引数として世代番号Ｇｎおよびホップ番号Ｈｎを含む。経路応答コマンド（承諾）を受信したとき、ノード７４（またはＣＰＵ６０）は、経路確保確認コマンドを受信ポート８８に向けて送信する。そして、ネットワーク経路応答コマンドを待つ。一方、経路応答コマンド（拒否）を受信したとき、ノード７４は当該ポート８８に向けた経路要求に対する拒否を記憶する。
【００４６】
（３）経路応答確認コマンドＣＯＮＦＩＲＭ＿ＲＲＥＰは、ルート確立の確認をするためのコマンドである。経路応答確認コマンドは引数として世代番号Ｇｎおよびホップ番号Ｈｎを含む。経路応答確認コマンドを受信したとき、ノード７４は経路要求コマンドを受信したポート８８以外の全てのポート８８に向けて経路要求コマンドを送信する。そして、経路応答コマンドを待つ。
【００４７】
なお、経路応答コマンド待ち処理で、タイムアウトになったとき、または全てのポート８８から経路応答コマンド（拒否）を受信したときには、当該ノード７４がネットワークの末端になる。したがって、当該末端のノード７４は、自分の経路データを生成して、ホスト側のポート８８に向けてネットワーク経路応答コマンドを送信する。自分の経路データは、ホップ番号Ｈｎおよび経路として確保したホスト側のポート番号Ｐｎ＿ｈｏｓｔｓｉｄｅ等を含む。自分の経路データからは、当該ノード７４が幾つのノード７４を介してホストに経路を確保しているか、どのポート番号でホスト側経路につながっているかが把握される。
【００４８】
（４）ネットワーク経路応答コマンドＲＲＥＰ＿ｅｎｔｉｒｅは、ルート情報をホストに知らせるためのコマンドである。ネットワーク経路応答コマンドは引数としてデータ長Ｄｌｅｎ、世代番号ＧｎおよびデータＤａｔａを含む。各ノード７４は、ネットワーク経路応答コマンドを葉側から受信したとき、自分の経路情報を付加した経路データを生成する。たとえば、自分の経路データに、ホップ数に関する情報ＴＡＢ＊Ｈｎ、および当該コマンドを受信したポート番号Ｐｎ＿ｌｅａｆｓｉｄｅとともに、受信した経路データＤａｔａ＿ｌｅａｆｓｉｄｅを追加する。葉側ポート番号が含まれるので、葉側の経路データをどのポート８８から受信したかを把握できる。この追加は、葉側のポート８８からのネットワーク経路応答コマンドの受信ごとに行われる。このようにして生成される経路データは、当該データを生成するノード７４を根とするツリー構造となる。つまり、経路データは、当該ノード７４を根とした葉側のネットワークの経路を示すネットワーク経路データともいえる。各ノード７４は、末端側（葉側）の全てのポート８８からネットワーク経路応答コマンドを受信した場合には、生成した経路データを含むネットワーク経路応答コマンドをホスト側のポート８８へ向けて送信する。したがって、ホストコンピュータであるＣＰＵ６０は、接続されているノード７４を根とするツリー構造でネットワーク全体の経路が示されたネットワーク経路データを受信することとなり、受信したネットワーク経路データによってネットワーク全体の経路を把握することができる。
【００４９】
（５）ホスト中継コマンドＲＥＬＡＹ＿ｔｏ＿Ｈｏｓｔは、触覚情報をＣＰＵ６０に送るためのコマンドである。ホスト中継コマンドは引数としてデータ長Ｄｌｅｎ、世代番号ＧｎおよびデータＤａｔａを含む。ホスト中継コマンドを受信したとき、ノード７４は、確保した経路（ホスト側経路）のポート８８に向けて、当該受信したデータのコピーを送信する。触覚情報には各触覚センサエレメント５８の識別情報等が付与されているので、ＣＰＵ６０は、どの触覚センサエレメント５８の触覚情報であるかを認識できる。
【００５０】
（６）ノード中継コマンドＲＥＬＡＹ＿ｔｏ＿Ｎｏｄｅは、任意のノード７４にコマンドまたはデータを送信するためのコマンドである。ノード中継コマンドは引数としてデータ長Ｄｌｅｎ、世代番号Ｇｎ、指定ポート番号ＰｎおよびデータＤａｔａを含む。このノード中継コマンドを受信したときには、受信したデータがコマンドであれば、ノード７４は、指定された番号のポート８８に向けて当該コマンドを送信する。一方、受信したデータがコマンドでなければ、当該データを指定番号のポート８８に向けてノード中継コマンドで送信する。また、指定ポート番号Ｐｎがｌｏｃａｌｈｏｓｔのストリームへのポート番号である場合には、ノード７４は自分自身に対して送信されたデータであると判断して、当該データを受信して記憶する。
【００５１】
このノード中継コマンドは、ホストと任意ノード間通信のため、および、任意ノード間（隣接ノードを含む）通信のために設けられている。ポート番号Ｐｎをたとえば１，２，…，ｎで割り振り、ｌｏｃａｌｈｏｓｔのストリームへのポート番号をたとえば０とする。たとえばノード１（ポート＿２）→ノード２という経路（ノード１はポート＿２を介してノード２と接続されている）の場合において、ノード１がＲＥＬＡＹ＿ｔｏ＿Ｎｏｄｅ（Ｄｌｅｎ，Ｇｎ，Ｐｎ＝０，Ｄａｔａ）をポート＿２へ送信したとき、ノード２は、指定ポート番号Ｐｎが０なので、受信したＤａｔａが自分自身へ送られたものであると判断できる。また、たとえばノード１（ポート＿２）→ノード２（ポート＿１）→ノード３という経路の場合において、ノード１がＲＥＬＡＹ＿ｔｏ＿Ｎｏｄｅ（Ｄｌｅｎ，Ｇｎ，Ｐｎ＝１，Ｄａｔａ＝（“Ｐｎ＝０”＋（データ）））をポート＿２に向けて送信すれば、ノード１はデータをノード３に対して送信することができる。
【００５２】
なお、物理的に近い位置に存在するノード７４とデータを交換するためには、ネットワークの経路情報は必要ではないが、当該ノード７４の位置情報を記憶しておく必要がある。また、このコマンドを使って任意のノード間でデータを与える場合には、ホストが経路を指示する必要がある。
【００５３】
（７）識別番号割当コマンドＧＩＶＥ＿ＩＤ＿ＮＵＭＢＥＲは、識別番号を各ノード７４に割り振るためのコマンドである。識別番号割当コマンドは引数として世代番号Ｇｎ、ホップ番号ＨｎおよびデータＤａｔａを含む。この識別番号割当コマンドを受信したとき、ノード７４はデータに含まれる識別番号を記憶する。識別番号割当コマンドは、ＣＰＵ６０から各ノード７４に向けて送信される。ＣＰＵ６０は経路データを受信したとき、経路データに基づいて経路上の各ノード７４の識別番号を特定する。ロボット１０のメモリ６４には、たとえばノード配置情報が予め記憶されていて、各ノード７４の識別番号と各ノード７４が他のノード７４との接続に使用しているポート番号等が記憶されている。ＣＰＵ６０はこのノード配置情報と取得した経路情報に基づいて、取得された経路上における各ノード７４の識別番号を特定することができる。そして、ＣＰＵ６０は、センサ入力／出力ボード６８に接続されたノード７４にはこの識別番号割当コマンドを用いて当該ノード７４の識別番号を送信し、他のノード７４には、ノード中継コマンドを用いてかつそのデータにこの識別番号割当コマンドを含めることによって、各ノード７４に当該ノード７４の識別番号を送信する。
【００５４】
たとえば、ノード１のポート２に接続されているノード２に対して識別番号を与える際には、ＣＰＵ６０は、ＲＥＬＡＹ＿ｔｏ＿Ｎｏｄｅ（Ｄｌｅｎ，Ｇｎ，Ｐｎ＝２，Ｄａｔａ＝（ＧＩＶＥ＿ＩＤ＿ＮＵＭＢＥＲ（Ｈｎ，Ｇｎ，Ｄａｔａ＝（識別番号））））を、センサ入力／出力ボード６８を介してノード１に送信する。これに応じてノード１は、Ｄａｔａがコマンドなので、指定された番号Ｐｎ（＝２）のポート８８へ向けて、当該識別番号割当コマンドを送信する。したがって、ノード２は識別番号割当コマンドを受信して、識別番号を記憶することができる。
【００５５】
また、この識別番号割当コマンドを受信したことに応じて、ノード７４は触覚情報をホストへ送信するための処理を開始する。すなわち、この識別番号割当コマンドはＣＰＵ６０からの触覚情報の送信要求に相当する。各ノード７４はこの送信要求命令を受信すると、ホスト宛の触覚情報を含むホスト転送命令（ホスト中継コマンド）をホスト側のポート８８に向けて送信する。
【００５６】
（８）エラーコマンドＥｒｒｏｒは、エラーをホストに知らせるためのコマンドである。エラーコマンドは引数として世代番号Ｇｎおよびエラー番号Ｅｎを含み、場合によってはデータＤａｔａを含んでよい。エラーコマンドを受信したとき、ノード７４はエラー番号を記憶し、当該エラー番号を既に送信したことがあるか否かを判定する。当該エラー番号をまだ受信したことがなかった場合には、ノード７４は他のポート８８に向けてエラーコマンドを送信し、一方、当該エラー番号を既に受信していた場合には当該エラーコマンドの送信は行わない。
【００５７】
上述のコマンド等に基づいて、ＣＰＵ６０は経路確保要求を送って皮膚センサネットワーク７２で経路を確保することができる。そして、触覚情報の送信要求を送信することで、ＣＰＵ６０は、センサ入力／出力ボード６８を介して、各ノード７４から送信されたホスト宛の触覚情報を受信することができる。
【００５８】
図３に戻って、スピーカ５２にはサウンド入力／出力ボード７０を介して、ＣＰＵ６０から、合成音声データが与えられ、それに応じて、スピーカ５２からはそのデータに従った音声または声が出力される。また、マイク２６からの音声入力が、サウンド入力／出力ボード７０を介して、ＣＰＵ６０に取り込まれる。
【００５９】
また、ＣＰＵ６０には、バス６２を介して通信ＬＡＮボード９０および無線通信装置９２が接続される。通信ＬＡＮボード９０は、ＤＳＰで構成され、ＣＰＵ６０から送られる送信データを無線通信装置９２に与え、無線通信装置９２から送信データを、図示は省略するが、たとえば無線ＬＡＮまたはインタネットのようなネットワークを介して外部のコンピュータに送信させる。また、通信ＬＡＮボード９０は、無線通信装置９２を介してデータを受信し、受信したデータをＣＰＵ６０に与える。つまり、この通信ＬＡＮボード９０および無線通信装置９２によって、ロボット１０は外部のコンピュータ等と無線通信を行うことができる。
【００６０】
この実施例では、皮膚センサネットワーク７２の各ノード７４は、触覚センサエレメント５８の出力データを圧縮し、圧縮された触覚情報をＣＰＵ６０宛に送信する。このセンサデータの圧縮はウェーブレット変換によって行われる。ウェーブレット変換は、原信号を空間的な周波数成分に変換する直交変換の一種であり、信号を有限の幅をもつ小さな波（ｗａｖｅｌｅｔ：ウェーブレット）の集合に分解し、時間情報と周波数情報の解析を可能にしている。そして、この実施例では、触行動を受けているときの触覚センサエレメント出力に固有の波形、すなわち、触覚コミュニケーションにおける触られ方を母関数としたウェーブレット変換による圧縮を行うようにした。したがって、データ転送量を低減できるばかりでなく、各ノード７４で、圧縮によって触られ方を抽出し認識できるので、触られ方の特徴抽出を容易に行うことができる。
【００６１】
ウェーブレット変換の母関数は、ロボット１０と人間との触覚コミュニケーション実験から抽出される。実験では、たとえば人間（被験者）に自由にロボット１０を触るように指示して、人間の触行動により反応した触覚センサエレメント５８（皮膚センサネットワーク７２）の出力データを収集する。触覚センサエレメント５８のサンプリングレートはたとえば１００Ｈｚ（１秒間に１００フレーム）である。皮膚センサネットワーク７２の時系列の出力データは、ロボット１０からたとえば無線ＬＡＮを介して、図示しない母関数作成用コンピュータに逐次または実験完了後にまとめて取り込まれる。
【００６２】
図６には撫でられる場合の触覚センサエレメント５８の反応の一例が示され、図７には叩かれる場合の触覚センサエレメント５８の反応の一例が示される。このように、触覚センサエレメント５８の出力は、触られ方の違いに応じて特徴的な波形を示す。したがって、触覚コミュニケーション時のロボット１０の触られ方はクラスタリングが可能であるので、触覚センサエレメント５８の出力データをクラスタリングして、クラスタを代表する波形（クラスタ代表値）を母関数として採用する。
【００６３】
図８には、母関数作成用コンピュータの動作の一例が示される。まず、ステップＳ１で、作成用コンピュータは、実験により、人間の触行動時の触覚センサ（皮膚センサネットワーク７２）の出力データを取得して、メモリに蓄積する。
【００６４】
次に、ステップＳ３で、各触覚センサエレメント５８の出力の時系列データから、継続的に反応している部分を、触られ方のデータとして抽出する。たとえば、触覚センサ出力が閾値以上のフレームを選別する。閾値は触覚センサエレメント５８ごとに実験的に求められて予め設定されている。閾値を超えている場合には、反応が継続していると判断する。そして、一定時間たとえば１０秒以上の時間、閾値以上の出力が検出されなければ、そこで継続的な反応が終了したと判断する。したがって、このステップＳ５では、継続的に反応している部分の１まとまりを、触られ方のデータとして選択または抽出する。
【００６５】
続いて、ステップＳ５で、各触られ方のデータの距離を動的計画法（Dynamic Programming）によって算出する。そして、ステップＳ７で、距離情報を元に各触られ方のデータをクラスタリングして、距離の近いデータどうしを同一のクラスタにまとめる。
【００６６】
ステップＳ９では、オペレータ入力に基づいて、各クラスタに触られ方のラベル情報を付与する。実験における触られ方の評価は、たとえば被験者の触行動を録画した映像を実験者（オペレータ）が観察することによって行われる。たとえば作成用コンピュータのディスプレイに、各クラスタに含まれる触られ方のデータの検出時刻を表示する。オペレータは当該検出時刻における映像を観察して当該クラスタの触られ方を評価する。そして、作成用コンピュータの入力装置を用いて、そのクラスタの触られ方をたとえばリストから選択しまたは直接文字で入力することによって入力する。作成用コンピュータは、入力された触られ方のラベル情報（触られ方の識別情報）を当該クラスタに関連付けて記憶する。
【００６７】
そして、ステップＳ１１で、各クラスタ代表値を、当該触られ方のラベル情報に関連付けて、ウェーブレット変換の母関数としてメモリに記憶する。
【００６８】
このようにして、触覚コミュニケーションにおける触られ方が抽出され、ウェーブレット変換の母関数として記憶される。そして、母関数のデータは、皮膚センサネットワーク７２の各ノード７４のメモリ８０に記憶される。
【００６９】
なお、この実施例では、たとえば頭や肩のような部位や設置場所の違いを考慮せずに、すべての触覚センサエレメント５８の出力の時系列データから触られ方を抽出している。他の実施例では、部位や設置場所ごとに触られ方を抽出して、部位や設置場所ごとに母関数を作成するようにしてもよい。
【００７０】
図９には、各ノード７４のメモリ８０のデータ記憶領域に記憶される母関数情報の内容の一例が示される。ウェーブレット変換の母関数のデータは、当該触れられ方のラベル情報（触れられ方の識別情報、すなわち、ウェーブレット変換の母関数の識別情報）に関連付けられて記憶されている。図９では、触られ方の一例として、撫でられる場合、叩かれる場合、抓られる場合、引っかかれる場合等が示される。また、撫でられる場合の母関数（１）および（２）が示されている。このように、同じ呼称が付けられる触られ方にも幾つかのパターンが存在しており、クラスタリングによってそれらが抽出されている。
【００７１】
一方、図示は省略するが、ロボット１０のメモリ６４には、たとえば、触られ方のラベル情報に関連付けられて、圧縮データの復号のための関数のデータが予め記憶される。したがって、ＣＰＵ６０は、圧縮された出力データと当該圧縮に用いた母関数に対応する触られ方ラベル情報とを受信した場合、圧縮データを復号して当該出力データを取得することができる。
【００７２】
コミュニケーション時には、ロボット１０のＣＰＵ６０は、たとえば内部タイマに基づいて一定時間間隔等で触覚情報を検出する。この実施例では、触覚コミュニケーションにおける触られ方で触覚センサ出力データを圧縮するので、検出時間間隔は、たとえば抽出された各触られ方の継続時間を考慮して設定されてよい。触覚情報はたとえば１から３秒間隔程度で検出されるようにしてよい。
【００７３】
図１０には、ロボット１０のＣＰＵ６０の触覚情報検出処理における動作の一例が示される。なお、図１０では省略するが、上述のように、ＣＰＵ６０がまず経路確保要求（経路要求コマンド）を送信することによって、皮膚センサネットワーク７２では経路が確保され、ＣＰＵ６０は皮膚センサネットワーク７２の経路情報をセンサ入力／出力ボード６８を介してメモリ６４に取得する。
【００７４】
経路確保した後、ステップＳ２１で、センサ入力／出力ボード６８を介して、皮膚センサネットワーク７２の各ノード７４に対して触覚情報の送信要求命令（識別番号割当コマンド）を送信する。
【００７５】
次に、ステップＳ２３で、触覚情報を受信したか否かを判断する。つまり、ステップＳ２１の送信要求に応じて各ノード７４から送信されるホスト中継コマンドの受信を待機する。このステップＳ２３で“ＹＥＳ”であれば、ステップＳ２５で、当該コマンドに含まれる触覚情報を抽出して、メモリ６４に記憶する。
【００７６】
触覚情報は、後述するように、各触覚センサエレメント５８の出力データのウェーブレット圧縮によって得られた圧縮データを含み、各触覚センサエレメント５８の識別情報（センサＩＤ）に対応付けられている。触覚情報は、当該コマンドで一緒に送信されてくるノード７４の識別番号に対応付けて記憶する。また、触覚情報はＣＰＵ６０の内部タイマに基づいて検出（取得）時刻がさらに付与されて記憶されてもよい。
【００７７】
続いて、ステップＳ２７で、たとえばステップＳ２１の処理から一定時間が経過したか否かを判断する。ステップＳ２７で“ＮＯ”であれば、ステップＳ２３に戻り、ホスト中継コマンドの受信待ちを行う。このステップＳ２７の一定時間は、たとえば全てのノード７４から触覚情報が送信された場合でも、タイムアウトにならず全てのデータを受信することが可能な値に設定されている。ステップＳ２７で“ＹＥＳ”であれば、この触覚情報検出処理を終了する。
【００７８】
このようにして取得された触覚情報が、触覚センサエレメント５８の出力データを圧縮した圧力値データを含む場合には、ＣＰＵ６０は、受信した触覚情報に含まれる触られ方ラベル情報とメモリ６４に記憶された復号のための関数情報とに基づいて、当該圧縮データを復号することができる。したがって、ＣＰＵ６０は、当該触覚センサエレメント５８の触られ方とともにその圧力値の変化を把握することができる。
【００７９】
また、取得された触覚情報が触られ方ラベル情報のみである場合には、ＣＰＵ６０は、当該ノード７４の当該触覚センサエレメント５８が、当該触られ方ラベル情報で示される触られ方で触られたことを知ることができる。
【００８０】
したがって、ＣＰＵ６０は、受信した触覚情報に基づいて触られ方や圧力値を把握して、当該触られ方や圧力値に基づいて動作やコミュニケーション行動を制御することができる。
【００８１】
一方、皮膚センサネットワーク７２の各ノード７４では、たとえば一定時間間隔でセンサ出力が取得される。また、各ポート８８の受信バッファがチェックされ、コマンドを受信しているときにはポート８８ごとのコマンド処理が実行される。ＣＰＵ６０からの送信要求命令（識別番号割当コマンド）を受信した場合には、触覚情報の送信処理が開始される。
【００８２】
図１１には、ノード７４のＣＰＵ７８のセンサ出力取得処理の動作の一例が示される。ステップＳ４１では、触覚センサエレメント５８の出力を取得する時刻であるか否かを判断する。たとえば一定時間間隔で出力をサンプリングする場合には、ＣＰＵ７８の内部タイマに基づいて当該一定時間が経過したか否かが判断される。ステップＳ４１で“ＹＥＳ”であれば、ステップＳ４３で、センサデータバッファ８２から各触覚センサエレメント５８の出力データを取得して、センサＩＤおよびサンプリング時刻等のデータに関連付けてメモリ８０の所定領域に記憶する。つまり、自ノード７４に所属する触覚センサエレメント５８の出力データの時系列データが記憶される。メモリ８０には、たとえば所定の検出回数分の出力データの履歴が記憶される。ステップＳ４３を終了し、またはステップＳ４１で“ＮＯ”であれば、このセンサ出力取得処理を終了する。
【００８３】
図１２には、ノード７４のＣＰＵ７８の触覚情報送信処理の動作の一例が示される。ステップＳ５１では、送信要求を受信したか否か、つまり、受信コマンドが送信要求命令であったか否かを判断する。ステップＳ５１で“ＮＯ”であれば、この触覚情報送信処理を終了する。
【００８４】
一方、ステップＳ５３で“ＹＥＳ”であれば、ステップＳ５３で、触られ方を母関数としたウェーブレット変換によって、各触覚センサエレメント５８の出力データを圧縮する。圧縮される出力データは、メモリ８０に記憶されたたとえば一定時間分の圧力値データである。
【００８５】
各触覚センサエレメント５８の出力データは、準備した全ての母関数を用いて圧縮される。また、各母関数を用いた変換の圧縮率が算出される。母関数は触覚コミュニケーションにおける触られ方の波形であるので、高い圧縮率の得られた母関数ほど、処理された出力データの触られ方に近いといえる。したがって、圧縮率の最大であった母関数が、当該触覚センサエレメント５８の実際の触られ方を示すものと見なすことができる。また、複数の母関数で圧縮率がほぼ同程度になった場合には、当該触覚センサエレメント５８はそれらが複合されたような触られ方で触られたものと見なすことも可能である。このように、各触覚センサエレメント５８の実際の触られ方をその所属ノード７４で抽出し認識することが可能であるので、触覚コミュニケーションにおける触られ方の特徴抽出が容易になる。
【００８６】
そして、ステップＳ５５で、ホスト側のポート８８へ向けて、圧縮に基づく触覚情報を送信する。送信される情報は、各触覚センサエレメント５８のセンサＩＤに対応付けられた触覚情報を含む。触覚情報とともに当該ノード７４の識別情報も送信されてよい。このホストに対しての送信はホスト中継コマンドを用いて行われる。各ノード７４は、末端側のポート８８からホスト中継コマンドを受信すると、当該データをそのままホスト側のポート８８に転送するので、この触覚情報はＣＰＵ６０に送信されることとなる。ステップＳ５５を終了すると、この触覚情報送信処理を終了する。
【００８７】
具体的には、ステップＳ５５では、圧縮率が最大のデータを検出して、当該最大の圧縮率が得られた母関数に基づいて圧縮された触覚情報を送信する。この場合、送信される各触覚センサエレメント５８の触覚情報は、圧縮された出力データと当該圧縮に使用された母関数に対応する触られ方ラベル情報等を含む。上述のように、最大の圧縮率が得られた母関数が、当該触覚センサエレメント５８の触られ方を示すので、この場合には、各ノード７４で各触覚センサエレメント５８の触られ方を抽出して、ＣＰＵ６０に送信することができる。
【００８８】
また、各触覚センサエレメント５８の触覚情報として、圧縮率が最大の母関数に対応する触られ方ラベル情報のみを送信するようにしてもよい。この場合には、皮膚センサネットワーク７２からは、触られ方を示す識別情報のみがＣＰＵ６０に伝達される。ＣＰＵ６０は、この触られ方ラベル情報に基づいて各触覚センサエレメント５８の触られ方のみを把握できる。したがって、圧縮された出力データを送信せず、触られ方を識別するためのデータ量の僅かな情報のみを触覚情報として送信するので、送信データ量を極めて少なくすることができる。
【００８９】
また、全ての母関数に基づいて圧縮された触覚情報を送信するようにしてもよい。たとえば、いずれの圧縮率も閾値を超えず、複数の母関数で圧縮率に大きな差がないような場合には、種々の触り方が複合されていると見なせるので、全ての母関数の圧縮に基づく触覚情報を送信することによって、当該複合的な触られ方をＣＰＵ６０で把握できる。この場合、送信される各触覚センサエレメント５８の触覚情報は、全ての母関数について、圧縮された出力データと触られ方ラベル情報を含んでよい。しかし、全ての母関数による圧縮後の出力データを送信するとデータ量が許容レベルを超えるような場合には、たとえば、圧縮された出力データを送信せずに、触れられ方ラベル情報とその圧縮率とを送信するようにしてもよい。あるいは、圧縮率が最大の母関数については、圧縮後の出力データならびに当該触られ方ラベル情報および圧縮率等を送信し、その他については当該触れられ方ラベル情報および圧縮率等を送信するようにしてもよい。
【００９０】
また、複数の母関数で同程度の圧縮率が得られるような場合には、複数の触り方が複合された触り方が行われていると見なせるので、当該複数の母関数に基づく触覚情報を送信するようにしてもよい。送信される各触覚センサエレメント５８の触覚情報は、上述の全ての母関数に関する情報を送信する場合と同様に、該当する複数の母関数について、圧縮後の出力データと触られ方ラベル情報を含んでよいし、または、触られ方ラベル情報とその圧縮率であってよい。あるいは、該当する複数の母関数について触られ方ラベル情報のみを送信するようにしてもよい。
【００９１】
この実施例によれば、皮膚センサネットワーク７２の各ノード７４で、各触覚センサエレメント５８の出力データを、触覚コミュニケーションにおける触られ方を母関数としたウェーブレット変換によって圧縮して、圧縮に基づく触覚情報をロボット制御用コンピュータ６０に対して送信するようにした。したがって、送信データ量を非常に少なくできる。しかも、各ノード７４でのウェーブレット圧縮処理によって触られ方を抽出できるので、触られ方の特徴抽出を容易に行うことができる。したがって、データ転送のボトルネックを回避できるし、ロボット制御用コンピュータ６０の処理負担も軽減できる。
【００９２】
なお、上述の実施例では、触覚センサは相互接続型の皮膚センサネットワーク７２であったが、触覚センサエレメント５８の出力データを処理する複数のノード７４またはマイクロコンピュータの接続形態は適宜変更されてよい。たとえば本件出願人による特許文献１（特開２００４−２８３９７５号公報）に開示されるように、各マイコンはデイジーチェーン式で接続されてもよい。
【図面の簡単な説明】
【００９３】
【図１】この発明の一実施例のコミュニケーションロボットを示す図解図である。
【図２】図１実施例のコミュニケーションロボットに用いる皮膚とその中に埋め込まれるピエゾセンサシート（触覚センサエレメント）とを示す図解図である。
【図３】図１実施例のコミュニケーションロボットの電気的構成を示すブロック図である。
【図４】皮膚センサネットワークの概要を示す図解図である。
【図５】皮膚センサネットワークのノードの電気的構成の一例を示すブロック図である。
【図６】撫でられる場合の触覚センサエレメントの反応の一例を示す図解図である。
【図７】叩かれる場合の触覚センサエレメントの反応の一例を示す図解図である。
【図８】母関数作成用コンピュータの母関数作成処理の動作の一例を示すフロー図である。
【図９】ノードのメモリに記憶される母関数情報の内容の一例を示す図解図である。
【図１０】図１実施例のコミュニケーションロボットの触覚情報検出処理の動作の一例を示すフロー図である。
【図１１】皮膚センサネットワークのノードのセンサ出力取得処理の動作の一例を示すフロー図である。
【図１２】皮膚センサネットワークのノードの触覚情報送信処理の動作の一例を示すフロー図である。
【符号の説明】
【００９４】
１０  …コミュニケーションロボット
２２  …人体状部
２４  …皮膚
５８  …触覚センサエレメント（ピエゾフィルム）
６０  …ＣＰＵ
６４  …メモリ
６６  …モータ制御ボード
６８  …センサ入力／出力ボード
７２  …皮膚センサネットワーク
７４  …ノード
【図１】
2006281347.tif 000003
【図２】
2006281347.tif 000004
【図３】
2006281347.tif 000005
【図４】
2006281347.tif 000006
【図５】
2006281347.tif 000007
【図６】
2006281347.tif 000008
【図７】
2006281347.tif 000009
【図８】
2006281347.tif 000010
【図９】
2006281347.tif 000011
【図１０】
2006281347.tif 000012
【図１１】
2006281347.tif 000013
【図１２】
2006281347.tif 000014