(57)【要約】  【構成】コミュニケーションロボット１０は、全身に分散配置された複数のピエゾセンサシートすなわち触覚センサ５８を含み、触行動をしている相手の位置に関連付けられた触覚センサ５８の出力パターンの確率的な遷移を示す触覚アスペクトグラフデータを記憶している。触覚アスペクトグラフデータを用いて、取得した触覚センサ出力ベクトルとたとえば眼カメラ５０の撮影画像データから検出した相手の位置に基づいて、相手の位置や触行動がどのように確率的に遷移するかを取得する。取得した相手の次の位置などの遷移先情報に基づいて動作を制御して、当該位置への移動や腕の動きを回避し、また、当該次の位置に相手を存在させるように移動または旋回して、予測された触行動に相手を誘導する。  【効果】相手の次の位置や触行動を予測できるので、安全性を向上し、円滑なコミュニケーションを実現できる。【選択図】  図４
2006281348.tif 000002
【特許請求の範囲】
【請求項１】
複数の触覚センサ、
触行動をしているコミュニケーションの相手の位置に関連付けられた複数の触覚センサの出力のパターンの確率的な遷移を示す触覚アスペクトグラフデータを記憶する触覚アスペクト記憶手段、
前記複数の触覚センサの出力データを取得する取得手段、
前記取得手段によって前記出力データを取得するときの相手の位置を検出する検出手段、
前記取得手段によって取得された前記複数の触覚センサの出力データと前記検出手段による検出結果に基づいて、前記触覚アスペクト記憶手段から前記相手の少なくとも次の位置を含む遷移先の情報を取得する遷移先情報取得手段、および
前記遷移先情報取得手段によって取得された前記遷移先の情報に基づいて動作を制御する制御手段を備える、コミュニケーションロボット。
【請求項２】
前記制御手段は、前記遷移先情報取得手段によって取得された前記相手の次の位置への移動または部位の動きを回避する、請求項１記載のコミュニケーションロボット。
【請求項３】
前記制御手段は、前記取得手段によって取得された前記複数の触覚センサの出力データに対応する前記相手の位置と前記遷移先情報取得手段によって取得された前記相手の次の位置との差分に基づいて移動または旋回を制御する、請求項１記載のコミュニケーションロボット。
【請求項４】
ロボット本体上に被せられる柔軟素材からなる皮膚をさらに備え、
前記複数の触覚センサは前記皮膚中に分散配置される複数のピエゾセンサシートを含む、請求項１ないし３のいずれかに記載のコミュニケーションロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はコミュニケーションロボットに関し、特にたとえば、全身に分布された触覚センサを備え、触覚に基づいて相手の触行動を予測するコミュニケーションロボットに関する。
【背景技術】
【０００２】
日常環境の中で活動するロボットにとって表面の柔らかさと敏感さは、コミュニケーションの相手となる人間への安全性という面において重要である。さらに、スキンシップという言葉の通り、体の表面は最初に触れるインタフェースであることから、コミュニケーションの相手がどのようにどの場所に触れているかを知ることは、相手の状態を知ることに繋がる。たとえば強く握ったり、やさしくなでたりするという触行動は自分の意思や気持ちを相手に伝えるための行動であり、根本的なコミュニケーション行動の１つである。したがって、ロボットの全身の柔らかさと触覚は、日常環境の中で活動するコミュニケーションロボットにとって非常に重要である。
【０００３】
そこで、本件出願人は、たとえば特許文献１において、柔らかい皮膚を持ち、触覚情報を出力するピエゾセンサ（触覚センサまたは皮膚センサ）を全身に配置したコミュニケーションロボットを提案している。この特許文献１のコミュニケーションロボットでは、触覚センサの出力情報から圧力の強弱、持続時間、または変化の周波数などに着目することで、コミュニケーション相手である人間の触り方を区別することができることがわかっている。
【特許文献１】特開２００４−２８３９７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来技術では、たとえば撫でられているときに圧力がどういう力加減で変化するのかというように、短い時間間隔（たとえば２、３秒程度）での触り方が区別されていた。ロボットの状況をコミュニケーションに限定した場合には、長い時間間隔で捉えたときに次にどこに位置してどの場所をどのように触るのかというようなコミュニケーション相手である人間の触行動の遷移を、触覚に基づいてある程度限定することが可能である。
【０００５】
それゆえに、この発明の主たる目的は、触覚コミュニケーションでの相手の次の位置や触行動を予測できる、コミュニケーションロボットを提供することである。
【課題を解決するための手段】
【０００６】
請求項１の発明は、複数の触覚センサ、触行動をしているコミュニケーションの相手の位置に関連付けられた複数の触覚センサの出力のパターンの確率的な遷移を示す触覚アスペクトグラフデータを記憶する触覚アスペクト記憶手段、複数の触覚センサの出力データを取得する取得手段、取得手段によって出力データを取得するときの相手の位置を検出する検出手段、取得手段によって取得された複数の触覚センサの出力データと検出手段による検出結果に基づいて、触覚アスペクト記憶手段から相手の少なくとも次の位置を含む遷移先の情報を取得する遷移先情報取得手段、および遷移先情報取得手段によって取得された遷移先の情報に基づいて動作を制御する制御手段を備える、コミュニケーションロボットである。
【０００７】
請求項１の発明では、コミュニケーションロボットには、たとえば全身に分布して、複数の触覚センサが設けられる。触覚アスペクト記憶手段には、触行動をしているコミュニケーションの相手の位置に関連付けられた複数の触覚センサの出力のパターンの確率的な遷移を示す触覚アスペクトグラフデータが記憶されている。つまり、触覚アスペクトグラフデータは、複数の触覚センサの出力のパターンを状態とした確率的状態遷移を示す。たとえば、複数の触覚センサの出力パターンは複数のクラスタとして記憶されていて、複数のクラスタごとに、遷移先となるクラスタおよびその遷移確率が記憶される。クラスタは、触覚コミュニケーションにおける代表的な触られ方を示している。また、複数のクラスタのそれぞれに関連付けて、相手の位置に関する情報が記憶される。たとえば、相手の位置に関する情報はコミュニケーションロボットのたとえば重心などの位置を基準とした少なくとも相手の指先および腰の位置に関する確率分布として記憶される。つまり、この場合の触覚アスペクトグラフデータにおいて相手の位置は、相手の存在している位置（腰の位置）および相手に触られている場所（指先の位置）を示す。したがって、触覚アスペクト記憶手段には、相手の存在している位置、触られている場所およびそのときの触られ方がどのように確率的に遷移していくかを示す情報が記憶されている。コミュニケーションロボットに対して相手が触行動を行ったとき、取得手段は、複数の触覚センサの出力データを取得する。また、検出手段は、触覚センサの出力データを取得するときの相手の位置を検出する。検出手段は、実施例では、ロボットのたとえば頭部に設けられた眼カメラを含み、当該カメラで撮影された画像データに基づいて相手の位置を検出する。遷移先情報取得手段は、取得手段によって取得された複数の触覚センサの出力データと検出手段による検出結果に基づいて、触覚アスペクト記憶手段から相手の少なくとも次の位置を含む遷移先の情報を取得する。たとえば、複数の触覚センサの出力データと画像データに基づいて、触覚アスペクトグラフデータにおける現在のクラスタ、すなわち現在の相手の位置が特定される。そして、触覚アスペクトグラフデータから少なくとも相手の次の位置を含む遷移先の情報を取得する。取得した遷移先の情報から、コミュニケーションロボットは、少なくとも次には、相手の位置、触られる場所、触られ方などがどのように確率的に遷移するのかを知ることができ、つまり、少なくとも次の触行動を予測することができる。制御手段は、取得された遷移先の情報に基づいて動作を制御する。したがって、触覚に基づいて相手の次の位置などの触行動を予測することができ、その予測に対応して動作を制御することができるので、たとえば、危険回避によって安全性を向上でき、相手の誘導によって円滑なコミュニケーションを実現できる。
【０００８】
請求項２の発明は、請求項１の発明に従属し、制御手段は、遷移先情報取得手段によって取得された相手の次の位置への移動または部位の動きを回避する。
【０００９】
請求項２の発明では、制御手段は、相手の次の位置への移動または部位の動きを回避する。たとえば、取得した遷移先の情報に基づいて相手の次の位置を予測し、当該予測位置への移動または部位の動きを禁止または制限するような制御データを生成して、動作を制御する。したがって、相手への衝突や腕などの部位が相手にぶつかるのを防止することができるので、危険を回避することができ、安全性を向上できる。
【００１０】
請求項３の発明は、請求項１の発明に従属し、制御手段は、取得手段によって取得された複数の触覚センサの出力データに対応する相手の位置と遷移先情報取得手段によって取得された相手の次の位置との差分に基づいて移動または旋回を制御する。
【００１１】
請求項３の発明では、制御手段は、複数の触覚センサの出力データに対応する相手の位置すなわち相手の現在の位置と、相手の次の位置との差分に基づいて、移動または旋回を制御する。これによって、遷移先情報取得手段によって取得された次の位置に相手が存在することになるようにコミュニケーションロボットを移動または旋回させることができる。したがって、予測される次の位置に相手を位置させることができるので、相手が当該次の位置に対応する触り場所を触ったり、当該次の位置に対応する触り方を行ったりすることが期待される。つまり、予測される触行動に相手を誘導することができる。また、さらに先の遷移先の位置ないし触行動に導いていくこともできる。したがって、予測に対応して相手を所望の位置や触行動に誘導することができるので、円滑なコミュニケーションを実現できる。
【００１２】
請求項４の発明は、請求項１ないし３のいずれかの発明に従属し、ロボット本体上に被せられる柔軟素材からなる皮膚をさらに備え、複数の触覚センサは皮膚中に分散配置される複数のピエゾセンサシートを含む。
【００１３】
請求項４の発明では、たとえば筐体などを含むロボット本体上には柔軟素材からなる皮膚が被せられ、この皮膚中に、複数の触覚センサとして複数のピエゾセンサシートが分散配置される。したがって、たとえば全身分布型皮膚センサを有するコミュニケーションロボットを実現することができ、また、柔らかい皮膚を介して触行動が行われるので、相手に対して安心感を与えて親和性と安全性をより向上できるとともに、より円滑な触覚コミュニケーションを実現できる。
【発明の効果】
【００１４】
この発明によれば、相手の位置に対応付けられた触覚センサ出力の確率的遷移を示す触覚アスペクトグラフデータを記憶するようにしたので、触覚に基づいて相手の次の位置ないし触行動を予測することができる。したがって、予測に対応して動作を制御することによって、たとえば危険を回避したり、相手を予測された位置や触行動に誘導したりできるので、安全性を向上でき、また、円滑なコミュニケーションを実現できる。
【００１５】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００１６】
図１を参照して、この実施例のコミュニケーションロボット（以下、単に「ロボット」ということがある。）１０は台車１２を含み、この台車１２の側面には、このロボット１０を自律移動させる車輪１４が設けられる。この車輪１４は、車輪モータ（図４において参照番号「１６」で示す。）によって駆動され、台車１２すなわちロボット１０を前後左右任意の方向に動かすことができる。なお、図示しないが、この台車１２の前面には、衝突センサが取り付けられ、この衝突センサは、台車１２への人間や他の障害物の接触を検知する。
【００１７】
台車１２の上には、多角形柱状のセンサ取付パネル１８が設けられ、このセンサ取付パネル１８の各面には、超音波距離センサ２０が取り付けられる。この実施例ではたとえば２４個の超音波距離センサ２０が周囲３６０度にわたるように設けられる。この超音波距離センサ２０は、センサ取付パネル１８すなわちロボット１０の周囲の主として人間との距離を計測するものである。具体的には、超音波距離センサ２０は超音波を発射し、その超音波が人から反射されて超音波距離センサ２０に入射されたタイミングを測定して、人との間の距離情報を出力する。
【００１８】
台車１２の上には、人体状部２２が直立するように取り付けられる。このロボット本体としての人体状部２２の全身は、後に詳しく説明するように、柔軟素材からなる皮膚２４によって覆われる。人体状部２２は、たとえば鉄板のような筐体（図示せず）を含み、その筐体にコンピュータやその他必要なコンポーネントを収容している。そして、皮膚２４は、その筐体上に被せられる。皮膚２４の下の筐体の上部ほぼ中央にはマイク２６が設けられる。このマイク２６は、周囲の音声、特に人間の声を収集するためものである。
【００１９】
人体状部２２は、右腕２８Ｒおよび左腕２８Ｌを含み、右腕２８Ｒおよび左腕２８Ｌすなわち上腕３０Ｒおよび３０Ｌは、それぞれ、肩関節３２Ｒおよび３２Ｌによって、胴体部分に変位自在に取り付けられる。この肩関節３２Ｒおよび３２Ｌは、３軸の自由度を有する。上腕３０Ｒおよび３０Ｌには、１軸の肘関節３４Ｒおよび３４Ｌによって、前腕３６Ｒおよび３６Ｌが取り付けられ、この前腕３６Ｒおよび３６Ｌには、手３８Ｒおよび３８Ｌが取り付けられる。これら右腕２８Ｒおよび左腕２８Ｌの各関節における各軸はここでは図示しないモータによってそれぞれ制御される。すなわち、右腕２８Ｒおよび左腕２８Ｌのそれぞれ４個のモータが、図４において、それぞれ右腕モータ４０および左腕モータ４２として表される。
【００２０】
人体状部１８の上部には首関節４４を介して頭部４６が、人間の頭と同様に俯仰・回転可能に取付けられる。この３軸の首関節４４は、図４に示す頭部モータ４８によって制御される。頭部４６の前面の「目」に相当する位置には２つの眼カメラ５０が設けられ、この眼カメラ５０は、ロボット１０に接近した人間の顔や他の部分を撮影してその映像信号を取り込む。頭部４６の前面の目カメラ５０の下方にはスピーカ５２が設けられる。このスピーカ５２は、ロボット１０がそれの周囲の人間に対して音声によってコミュニケーションを図るために用いられる。
【００２１】
上で説明した人体状部２２の胴体や頭部４６および腕は上記したようにすべて柔軟な素材からなる皮膚２４に覆われる。この皮膚２４は、図２に示すように、下層のウレタンフォーム５４と、その上に積層される比較的肉厚のシリコンゴム層５６ａおよび比較的肉薄のシリコンゴム層５６ｂとを含む。そして、２つのシリコンゴム層５６ａおよび５６ｂの間に、ピエゾセンサシート（皮膚センサ）５８が埋め込まれる。このピエゾセンサシート５８は、たとえば米国ＭＳＩ社製、株式会社東京センサ販売のピエゾフィルムを用いる（http://www.t-sensor.co.jp/PIEZO/TOP/index.html）。実施例のロボットに使用したのはＡ４サイズ（型番：２００×１４０×２８）のピエゾフィルムを１／２、１／３、１／４、１／６の大きさにはさみでカットしたピエゾセンサシートである。このピエゾフィルムは、圧電フィルム（たとえばＰＶＤＦ（ポリビニリデンフルオロイド））の両面に金属薄膜が形成された構造、つまり、圧電体が導体で挟まれた構造を有する。圧力等で変形すると両面金属薄膜間にピエゾ電気を発生し、すなわち、電荷があらわれて電位差が生じる。
【００２２】
実施例では、上述のように、発泡ウレタンとシリコンゴムとを使って皮膚２４の柔らかさを得た。シリコンゴムだけである程度の厚みと柔らかさとを得ようとすると、重くなりすぎてエネルギ消費量が大きくなるだけでなく、裂傷に弱くなる。そこで、発明者等は、実験を重ねた結果、大まかな形と厚みはウレタンフォームで作り、その表面を約２０ｍｍのシリコンゴムで覆う形を採用することとした。そして、シリコンゴム層を２つにし、それらのシリコンゴム層５６ａおよび５６ｂの間に、上述のピエゾセンサシート５８を埋め込んだ。このとき、内側のシリコンゴム層５６ａを厚く（約１５ｍｍ）し、表面側のシリコンゴム層５６ｂを薄く（約５ｍｍ）した。このようにすると、ロボット１０の振動や人間が表面を押したときに生じる高周波の振動をカットでき、なおかつフィルムが変形し易くなるので、圧力の計測が容易になる。つまり、シリコンゴム層の厚みはロボット１０の構造やパワーによるが、なるべく薄く、しかし変形が伝わり易く、雑音となる振動が伝わり難いものが必要となる。また、この柔らかい皮膚を介して、人との間で触行動によるコミュニケーションを行うことができるので、人に対して安心感を与えて親和性を高めることができるし、触れたりぶつかったりした場合の人の怪我を防止して安全性も高めることができる。
【００２３】
なお、皮膚２４の素材は軟性素材であればよく、上述のものに限定されずたとえば他のゴム素材等でもよい。ただし、ピエゾフィルムシートの表面金属薄膜が腐食しない材質である必要がある。また、皮膚２４の厚み（各層の厚み）は、素材によって適宜変更され得る。
【００２４】
上述のピエゾセンサシートすなわち皮膚センサ（触覚センサ）５８は人体状部２２の全身にわたって埋め込まれ、それによって、人間等が接触することによって皮膚２４に加えられた圧力を圧覚（触覚）情報として検知する。この実施例では、図３に示すように、ロボット１０の全身にわたって４８枚のピエゾセンサシート５０１−５４８を埋め込んだ。つまり、ロボット１０は全身分布型皮膚センサを有するといえる。埋め込み状況（場所）に関しては、人間に触られやすい部位、たとえば頭頂や肩それに腕（手を含む）には、圧力を正確かつ確実に検知できるように、隙間なくピエゾセンサシートを埋め込み、あまり触られることを想定していない部位たとえば足あるいは脇腹には許容できる隙間を持ってピエゾセンサシートを埋め込んだ。それによって、検出精度と製造コストとのトレードオフを解決した。なお、これら４８枚のピエゾセンサシート５０１−５４８は、場合によっては、参照番号５８で区別なしに示されることがあることに留意されたい。
【００２５】
図１に示すロボット１０の電気的構成が図４のブロック図に示される。図４に示すように、このロボット１０は、全体の制御のためにマイクロコンピュータまたはＣＰＵ６０を含み、このＣＰＵ６０には、バス６２を通して、メモリ６４，モータ制御ボード６６，センサ入力／出力ボード６８およびサウンド入力／出力ボード７０が接続される。
【００２６】
メモリ６４は、図示しないが、ＲＯＭやＨＤＤ、ＲＡＭを含む。ＲＯＭやＨＤＤにはこのロボット１０の制御プログラムが予め書き込まれている。制御プログラムはたとえばコミュニケーション行動を実行するためのプログラム、外部のコンピュータと通信するためのプログラム等を含む。メモリ６４にはまた、コミュニケーション行動を実行するためのデータが記憶され、そのデータは、たとえば、個々の行動を実行する際に、スピーカ５２から発生すべき音声または声の音声データ（音声合成データ）、および所定の身振りを提示するための各関節軸の角度制御データ等を含む。ＲＡＭは、一時記憶メモリとして用いられるとともに、ワーキングメモリとして利用される。
【００２７】
モータ制御ボード６６は、たとえばＤＳＰ(Digital Signal Processor) で構成され、各腕や頭部などの各軸モータを制御する。すなわち、モータ制御ボード６６は、ＣＰＵ６０からの制御データを受け、右肩関節３２Ｒの３軸のそれぞれの角度を制御する３つのモータと右肘関節３４Ｒの１軸の角度を制御する１つのモータとの計４つのモータ（図４ではまとめて、「右腕モータ」として示す。）４０の回転角度を調節する。また、モータ制御ボード６６は、左肩関節３２Ｌの３軸と左肘関節３４Ｌの１軸、計４つのモータ（図４ではまとめて、「左腕モータ」として示す。）４２の回転角度を調節する。モータ制御ボード６６は、また、頭部４６の３軸のモータ（図４ではまとめて、「頭部モータ」として示す。）４８の回転角度を調節する。そして、モータ制御ボード６６は、車輪１４を駆動する２つのモータ（図４ではまとめて、「車輪モータ」として示す。）１６を制御する。
【００２８】
なお、この実施例の上述のモータは、車輪モータ１６を除いて、制御を簡単化するためにそれぞれステッピングモータまたはパルスモータであるが、車輪モータ１６と同様に、直流モータであってよい。
【００２９】
センサ入力／出力ボード６８も、同様に、ＤＳＰで構成され、各センサやカメラからの信号を取り込んでＣＰＵ６０に与える。すなわち、図示しない衝突センサの各々からの接触に関するデータがこのセンサ入力／出力ボード６８を通して、ＣＰＵ６０に入力される。また、眼カメラ５０からの映像信号が、必要に応じてこのセンサ入力／出力ボード６８で所定の処理が施された後、ＣＰＵ６０に入力される。
【００３０】
このセンサ入力／出力ボード６８は、さらに、図５に示すように、複数（実施例では１２枚）の基板７２，７２…を含み、各基板７２には、それぞれ１つのＰＩＣマイコン７４が設けられる。ＰＩＣマイコン７４はたとえばＡＳＩＣで構成され、同じく基板７２に設けられたＡ／Ｄ変換器７６からの電圧データ（たとえば１０ビット）をビット直列信号として出力する。
【００３１】
皮膚センサ５８は、図５に示すようにピエゾフィルム７８を電極ないし導体８０ａおよび８０ｂで挟んだものであり、圧力が加えられるとそのピエゾフィルム７８が電圧を発生し、その電圧が２つの導体８０ａおよび８０ｂ間に現れる。ただし、このとき発生される電圧は電位は高いが電流が微弱なため、この発生電圧をそのまま長いケーブルでコンピュータ６０（図４）に取り込むことは、ノイズが多く乗ってしまうので難しい。そこで、この実施例では、図５に示す基板７２を皮膚センサ５８に近い位置に配置し、その中に高インピーダンスの読み取り装置、すなわちＡ／Ｄ変換器７６を配置し、このＡ／Ｄ変換器７６で変換した電圧値をＰＩＣマイコン７４で読み取ってシリアル信号として出力し、それをＣＰＵ６０へ送るようにした。なお、ピエゾフィルムシートの電極の配置の一例として、導体８０ａは皮膚２４の表面側に配置され、導体８０ｂは筐体側に配置される。
【００３２】
Ａ／Ｄ変換器７６は、実施例では４チャネル１０ビットのものを用いた。したがって、１つの基板７２が４つの皮膚センサ５８を受け持つことができる。基板７２には、４つのピエゾセンサシートのために４対の端子８２ａおよび８２ｂが設けられ、それぞれに電極８０ａおよび８０ｂが接続される。端子８２ａおよび８２ｂ間にはノイズ除去用コンデンサ８４が接続されている。したがって、端子８２ａおよび８２ｂ間に与えられた皮膚センサ５８からの電圧は、ノイズ除去された後、オペアンプ８６によって電流増幅され、上述のＡ／Ｄ変換器７６の１つのチャネルに入力される。図５では１つの皮膚センサ５８が示されるだけであるが、他の皮膚センサ５８およびそれに関連する回路も同様に構成されるものである。
【００３３】
上述のように人体状部２２の皮膚２４中には４８個のピエゾセンサシート５０１−５４８が全身にわたって埋め込まれているが、それらをすべてロボット制御用のＣＰＵないしコンピュータ６０で読み取ろうとすると、ノイズを拾い易いだけでなく、コンピュータのＡ／Ｄポートを非常に多く必要としてしまい、現実的ではない。そこで、上述のように読み取り装置（基板７２、Ａ／Ｄ変換器７６）を皮膚センサ５８の近傍に分散配置し、それぞれの出力を１本のシリアルケーブル、たとえばＲＳ２３２Ｃ（商品名）で繋いだ、いわゆるデイジーチェーンを形成した。したがって、図５に示す１つの基板７２のＰＩＣマイコン７４から出力されたビットシリアル信号は、次段の基板７２のＰＩＣマイコン７４のシリアル入力ポートに与えられる。当該次段のＰＩＣマイコン７４は、前段のＰＩＣマイコン７４から送られてきたデータに自分が担当するＡ／Ｄ変換器７６から読み込んだデータを加えて、ビット直列信号として出力する。したがって、コンピュータ６０は、１つのシリアルポートで全身の皮膚センサ５８からの検知情報を取り込めるようになっている。
【００３４】
なお、各ＰＩＣマイコン７４から出力される検知データは、図３に示す４８個のピエゾセンサシート５０１−５４８のいずれであるかを示す識別子と、圧力値に関する情報とを含むので、コンピュータ６０は、どの（部位の）ピエゾセンサシートがどの程度の圧力を受けているかを容易に特定できる。
【００３５】
ただし、この実施例では、左右の手先に設けられるそれぞれ５つのピエゾセンサシート５３５−５３９と５４４−５４８については、Ａ／Ｄ変換器７６の入力が４つであることから、便宜上、先端の１個（右手：５３９、左手：５４８）と外側の１個（右手：５３６、左手：５４５）の出力を並列にしている。したがって、この実施例では、左右の手先の皮膚センサ５８は実質的にそれぞれ４個となるので、皮膚センサ５８の出力データは４６次元データとなる。
【００３６】
出力を読み取る場合、具体的には、コンピュータ６０は、たとえば５０ｍｓｅｃの周期で、ビットシリアルデータを出力する最終段のＰＩＣマイコン７４にポーリングをかけ、５０ｍｓｅｃ周期ですべてのピエゾセンサシート５０１−５４８の検知データを読み取ることができる。検知データは、Ａ／Ｄ変換器７６（図５）からはたとえば正負３２段階、合計６４段階で出力される。つまり、１０ビットのうち下位４ビットはノイズ成分として捨て、上位６ビットのデータだけが各ＰＩＣマイコン７４（図５）から出力される。
【００３７】
そして、コンピュータ６０は、皮膚センサ５８で検知した６４段階のデータを用いて、たとえば触られ方の強弱、押された状態の持続時間または電圧変化の波形の周波数（圧力変化の周波数）などの接触状態を計測することができる。触られ方の強弱によってたとえば「ひどく叩かれたか」、「軽く叩かれたか」、「やさしく手を置かれたか」、「軽く触られたか」などを判断することができ、持続時間によってたとえば「叩かれたか」、「押されたか」などの継続状態を判断することができ、圧力変化の周波数によってたとえば「叩かれているのか」、「なでられているのか」、「くすぐられているのか」という触られ方の種類を判断することができる。そして、ロボット１０は、触り方（接触状態）に応じて動作を制御することができる。このような動作制御は、本件出願人による特許文献１（特開２００４−２８３９７５号）にも詳細に開示されるので参照されたい。
【００３８】
図４に戻って、スピーカ５２にはサウンド入力／出力ボード７０を介して、ＣＰＵ６０から、合成音声データが与えられ、それに応じて、スピーカ５２からはそのデータに従った音声または声が出力される。また、マイク２６からの音声入力が、サウンド入力／出力ボード７０を介して、ＣＰＵ６０に取り込まれる。
【００３９】
また、ＣＰＵ６０には、バス６２を介して通信ＬＡＮボード８８および無線通信装置９０が接続される。通信ＬＡＮボード８８は、ＤＳＰで構成され、ＣＰＵ６０から送られる送信データを無線通信装置９０に与え、無線通信装置９０から送信データを、図示は省略するが、たとえば無線ＬＡＮまたはインタネットのようなネットワークを介して外部のコンピュータに送信させる。また、通信ＬＡＮボード８８は、無線通信装置９０を介してデータを受信し、受信したデータをＣＰＵ６０に与える。つまり、この通信ＬＡＮボード８８および無線通信装置９０によって、ロボット１０は外部のコンピュータ等と無線通信を行うことができる。
【００４０】
さらに、ＣＰＵ６０は、バス６２を介して触覚アスペクトグラフデータベース（ＤＢ）９２に接続される。ただし、このデータベースは、外部のコンピュータまたは外部のネットワーク上にアクセス可能に設けるようにしてもよい。
【００４１】
触覚アスペクトグラフＤＢ１１０には、触覚コミュニケーション時の相手の位置および姿勢に対応付けられた触覚センサ出力を状態とした、確率的状態遷移を示すデータ（触覚アスペクトグラフデータ）が記憶される。アスペクトグラフは、物体（パターン）認識の記述として利用され、物体の見え方（一般的にはカメラ画像情報に基づく）がどのように変化（遷移）していくかを示す。触覚センサ出力は、触覚コミュニケーション時の相手の位置および姿勢に対応付けられて記憶されており、したがって、このロボット１０は、触覚センサ５８を通して相手の位置を見る。そこで、触覚を通しての相手の見え方を示す触覚センサ出力の確率的遷移を、アスペクトグラフという用語を用いて、触覚アスペクトグラフと表現するものとする。なお、触覚センサ５８の出力と、触覚コミュニケーション時におけるコミュニケーション相手の位置・姿勢とを対応付けたデータをマップというものとする。
【００４２】
たとえば、ロボット１０は、コミュニケーション時に皮膚センサ５８の出力データを計測して、この触覚アスペクトグラフデータに含まれるマップデータを用いることで、触行動をしている相手が、現在どのような位置に居てどのような姿勢であるかを把握することができる。人間は日常のインタラクションやスキンシップコミュニケーションにおいて皮膚感覚を通して様々な情報を得ており、たとえば後ろから抱き付かれてもどのような抱き付き方をされたのか把握することができる。このロボット１０は、このマップデータによって、人間と同じように、目で見なくても触覚によって相手がどういった触行動をとっているのかを認識することが可能である。
【００４３】
また、このロボット１０は、計測した触覚センサ５８の出力データと触覚アスペクトグラフデータとに基づいて、次にどのような触覚センサ出力に確率的に遷移するかを把握することができる。つまり、ロボット１０は、遷移先の触覚センサ出力（クラスタ）に基づいて、次にどのような触られ方をするかを予測することができる。また、触覚センサ出力は相手の位置および姿勢に対応付けられているので、このロボット１０は、コミュニケーション相手の次の位置および姿勢を予測することができる。具体的には、相手の位置および姿勢は、この実施例では、相手の指先および腰の３次元位置に関する確率分布から把握される。したがって、ロボット１０は、次の触行動では、相手の腰がどこに位置して、その指先がどこに触れるのかを予測することができる。
【００４４】
このように、ロボット１０は、相手の次の行動（触行動）を予測することができる。また、触覚アスペクトグラフデータは、上述のように触覚センサ出力の確率的遷移を示すので、触覚アスペクトグラフデータに基づいて、１つ先への遷移だけでなく、更なる先への遷移も把握することが可能である。したがって、ロボット１０は、たとえば相手のさらに次の行動など、近い将来の行動（相手の位置、触られる場所、触られ方等）を予測することも可能になっている。
【００４５】
この触覚アスペクトグラフデータを作成する際には、まず、触覚センサ５８の出力と、触覚コミュニケーション時におけるコミュニケーション相手の位置・姿勢とを対応付けたマップを作成する。
【００４６】
コミュニケーションを目的とした触行動としては握手や抱擁などが挙げられるが、代表的な行動は誰が見てもその行動の意味が伝わることから、定型的な行動が多いと考えられる。そこで、ロボット１０の皮膚センサ５８と３次元動作計測システムとを組み合わせることで、ロボット１０と人間とのコミュニケーション時の皮膚センサ５８の出力と、３次元動作計測システムで計測した人間の位置・姿勢とのマッピングを行う。
【００４７】
たとえば、図６に示すような作成システム９４が用いられる。この作成システム９４は作成用コンピュータ９６を含み、作成用コンピュータ９６には複数のカメラ９８が接続される。また、作成用コンピュータ９６には、その内部または外部に３次元動作計測データＤＢ１０２、皮膚センサデータＤＢ１０４、マップＤＢ９２および触覚アスペクトグラフＤＢ１１０が設けられる。
【００４８】
作成システム９４はモーションキャプチャシステムとしての機能を備えるものであり、この実施例ではたとえばＶＩＣＯＮ社（http://www.vicon.com/）の光学式のモーションキャプチャシステムが適用される。なお、モーションキャプチャシステムは光学式のものに限られず、種々の公知のものが適用され得る。
【００４９】
ロボット１０と人間１００には、たとえば赤外線反射マーカが複数取り付けられ、カメラ９８は赤外線ストロボ付きカメラが適用される。複数のカメラ９８はロボット１０および人間１００に対して互いに異なる方向となるように設置され、原理的には少なくとも３台設けられればよい。この実施例では、たとえば１２台のカメラ９８が環境に設置された。
【００５０】
赤外線反射マーカは、図７に示すように、ロボット１０および人間１００共に、頭部に４箇所、腕部に６箇所×２（左右）、人差し指の指先に１箇所×２（左右）、胴体前部に２箇所、胴体後部に３箇所の合計２３箇所に取り付けられる。コミュニケーション時の相手の位置をロボット１０を基準とした座標系で得たいので、ロボット１０の原点と向きを決めるためにロボット１０にもマーカが取り付けられる。ロボット１０の原点は任意に設定されてよいがたとえば中心（重心）位置に設定される。座標軸方向も任意であるがたとえば両肩方向がＹ軸、奥行き方向がＸ軸、上下方向がＺ軸に設定される。
【００５１】
この実施例では、人間１００がどこを触っているか、どういった姿勢であるかを把握するために、指先と腰部（胴体後部）の合計３箇所のマーカをマップ作成に使用した。指先の位置によって、人間１００がどこを触っているのかが把握される。また、上半身のいずれかの位置と指先との相対位置関係から姿勢が決まる。そのうち腰の位置は、カメラ９８から見えなくなり難いこと、腰から足が出ているため相手が立っているかしゃがんでいるかなどが分かること等によって、姿勢が分かり易いという利点があるので、腰の位置を対応付けに採用した。なお、その他頭や肩などの位置も対応付けマップに使用すれば、さらに詳しく相手１００の位置や姿勢を把握することが可能になる。
【００５２】
そして、データ収集のために、カメラ９８の環境中でロボット１０と相手１００との間でコミュニケーションをとる実験を行ってもらう。具体的には握手や抱擁といった触行動を伴うコミュニケーションを行わせる。ロボット１０はそのメモリ６４に登録されている制御プログラムおよびデータと取得した各種センサデータに基づいて自律的に行動する。
【００５３】
図８に、この作成システム９４におけるマップ作成処理の動作の一例が示される。まず、ステップＳ１で、作成用コンピュータ９６は、実験によりコミュニケーション時のデータを蓄積する。取得されるデータは、皮膚センサ５８の出力データと、３次元動作計測による相手１００の指先および腰の位置データである。具体的には、コミュニケーション時の３次元動作データはたとえば６０Ｈｚ（１秒間に６０フレーム）で計測し、皮膚センサデータは２０Ｈｚ（１秒間に２０フレーム）で計測する。皮膚センサデータと位置データとの同期をとるために、実験の開始時に人間１００によってロボット１０の頭頂部などを叩いてもらい、そのときのデータを計測して両データの時間軸を合わせるようにする。
【００５４】
コミュニケーション時の動作は複数のカメラ９８によって撮像され、作成用コンピュータ９６はそれぞれのカメラ９８からの時系列画像データを取得する。取得したフレームごとの画像データの画像処理によって、各画像データにおける各マーカ（指先と腰を含む）の２次元座標データが抽出される。そして、その２次元座標データから各マーカの時系列の３次元座標データが三角測量の原理によって算出される。指先のマーカの座標は、ロボット１０の胴体に原点を固定した直交座標系である胴体座標系と、ロボット１０の頭部に原点を固定した直交座標系である頭部座標系の２種類で表現される。腰のマーカの座標は胴体座標系で表現される。こうして算出された各マーカの時系列の３次元座標データが３次元動作計側データＤＢ１０２に格納される。動作計測データをフレームごとに見た場合には、フレームごとの指先と腰の３次元位置がわかるので、相手１００がどういった姿勢であるのかを把握でき、また、相手１００がどこに位置してどこを触っているのかを把握できる。また、動作計測データを時系列で見た場合には、指先と腰の位置の変化がわかるので、どのような触行動を行っているのか把握できる。
【００５５】
また、皮膚センサ５８の時系列の出力データはロボット１０からたとえば無線ＬＡＮを介して作成用コンピュータ９６に逐次または実験完了後にまとめて取り込まれ、皮膚センサデータＤＢ１０４に格納される。皮膚センサデータは、上述のように４８個の皮膚センサ５０１−５４８からの出力を含む４６次元データであり、各要素が０〜３２（−３１〜３２の絶対値）の値を有する。
【００５６】
続いて、ステップＳ３で、皮膚センサ出力が閾値以上のフレームを選別する。閾値は４８個の皮膚センサ５０１−５４８ごとに実験的に求められて予め設定されている。４８個の皮膚センサ５０１−５４８のうちどれか１つでもその閾値を超えているものがあるかどうかを判断し、閾値を超えているものがある場合にはそのフレームをマップ作成のために採用する。
【００５７】
そして、ステップＳ５では、選別したフレームのデータを用いて、皮膚センサデータを元にＩＳＯＤＡＴＡ法によってクラスタリングする。つまり、４６次元の皮膚センサデータ空間において、パターンの分布が密になっている部分（クラスタ）を見つけ、または各パターンの中でよく似ているものどうしをまとめる。たとえば、まず、選別した各フレームにつき、閾値を超えたセンサを「１」、そうでないセンサを「０」とした４６次元ベクトルを作る。これらのベクトルのうち、同じパターンを持つフレームの数が５に満たないものはノイズとして切り捨てられる。残ったパターンの各要素について、値が「１」のときはそのセンサの閾値の１．５倍の値を使い、値が「０」のときはそのセンサの閾値の０．５倍の値を使ったベクトルを生成し、ＩＳＯＤＡＴＡの初期クラスタ核とした。ＩＳＯＤＡＴＡ法はクラスタリングの一手法であり、前段において生成したクラスタを一定基準に従って分割したり併合したりして最終的なクラスタを導く（参考文献：鳥脇純一郎、テレビジョン学会教科書シリーズ９「認識工学―パターン認識とその応用―」、コロナ社、１９９３）。導き出されたクラスタは、コミュニケーション時の代表的な触られ方を表している。
【００５８】
続いて、ステップＳ７で、指先データの処理を実行する。この指先データの処理は図９に詳細に示される。図９の最初のステップＳ２１では、各クラスタにおける皮膚センサデータと対になった指先の座標（頭部・胴体座標系）について、各座標系での空間密度分布を求める。つまり、各クラスタにおける皮膚センサデータに対応する計測時刻ないしフレームの指先座標データについて処理する。たとえば座標系内を５０×５０×５０［ｍｍ］のボクセルで分割し、各ボクセルに指先の座標が何個入っているかを数える。最後にクラスタ内の要素数でボクセル内要素数を割ることで密度を求める。
【００５９】
次に、ステップＳ２３では、密度分布の最大値を座標系間で比較し、大きい方の座標系を採用する。つまり、頭と胴体のどちらが触られているのかを判別する。たとえばコミュニケーション時にはロボット１０は首の関節を動作させ、頷く、傾げるなどの身体表現を行うが、その際に人間１００の指先がロボット１０の頭部に触れる場合、指先の位置は頭部の動きに合わせて変化する。その指先の位置は頭部座標系で表せば変化しないが、胴体座標系で表すと、ロボット１０の同じ場所を触っているにもかかわらず変化してしまう。したがって、指先の座標が座標系内の広い範囲に拡がっている場合にはその座標系は不適切であり、指先の座標が座標系内のある範囲にかたまっている場合にはその座標系は適切である。密度分布の最大値について、頭部座標系の方が大きい場合には頭が触られており、胴体座標系の方が大きい場合には胴体が触られていることがわかる。
【００６０】
そして、ステップＳ２５で、採用した座標系での密度ピーク値が閾値を超えたクラスタを有効なクラスタとして、マップに取り入れる。密度ピーク値は上記ボクセルの２６近傍をまとめた際の密度であり、密度の２６近傍和である。ピーク値の閾値は実験的に求められ、たとえば０．６に設定される。この閾値での選別によって、位置ないし姿勢が安定していて推定可能なものをクラスタとして採用する。たとえば片手でコミュニケーションをしているときに他方の手がぶらぶらしているものなどは姿勢が推定できないので切り捨てられる。このステップＳ２５によって、有効なクラスタにおける皮膚センサ出力データと対になった指先の座標の確率分布を該有効なクラスタに対応付けてマップとして記憶する。ステップＳ２５を終了すると図８のステップＳ９へ戻る。
【００６１】
図８に戻って、ステップＳ９では、腰データの処理を実行する。この腰データの処理は図１０に詳細に示される。図１０の最初のステップＳ３１では、各クラスタにおける皮膚センサデータと対になった腰の座標（胴体座標系）について、空間密度分布を求める。上述の指先データ処理と同様に、各クラスタにおける皮膚センサデータに対応するフレームの腰座標データについて、各ボクセル内に腰の座標が何個入っているかを数えてから、クラスタ内の要素数でボクセル内要素数を割る。そして、ステップＳ３３で、密度ピーク値が閾値を超えたクラスタを有効なクラスタとして、マップに取り入れる。このステップＳ３３によって、有効なクラスタにおける皮膚センサ出力データと対になった腰の座標の確率分布を該有効なクラスタに対応付けてマップとして記憶する。ステップＳ３３を終了すると腰データ処理を終了し、マップ作成処理を終了する。
【００６２】
なお、指先と腰以外のたとえば肩や頭などの部位のマーカ位置をマップ作成に採用する場合には、同様にして各位置のデータの処理を実行すればよい。
【００６３】
このようにして、皮膚センサ出力のパターン（クラスタ）と相手の位置・姿勢とを対応付けたマップデータが作成され、図６のマップＤＢ９２に格納される。マップの概要は図１１に示される。たとえば、クラスタ代表値が４６次元の皮膚センサベクトルＡであるクラスタと、コミュニケーション相手１００の指先および／または腰の３次元位置に関する確率分布Ａとが対応付けられている。つまり、ロボット１０が皮膚センサベクトルＡの触り方をされているとき、確率分布Ａが、その触り方に対応した相手１００の代表的な指先位置と姿勢（腰の位置）を表している。なお、クラスタ代表値は中心値であり、分散がそのクラスタの広がりを示す。
【００６４】
図１２にはクラスタ代表値の一例が示される。つまり、４６次元の皮膚センサベクトルであり、１つの触り方を表している。この図１２のクラスタに対応する相手１００の指先位置１０６と腰の位置１０８の３次元位置（分布の平均）の一例が図１３に示される。この図１３では同じ位置分布を異なる２つの視点で表示している。相手１００の指先がロボット１０の両肩に触れており、腰はロボット１０の正面上方にあることが把握できる。つまり、この場合の相手１００はロボット１０の前に立っていて、その両手がロボット１０の両肩に触っていることがわかる。
【００６５】
このようにして作成された、皮膚センサ出力パターンと触行動をしている相手１００の位置または姿勢とを対応付けたマップを元に、作成用コンピュータ９６は触覚アスペクトグラフデータを作成する。
【００６６】
図１４に、作成用コンピュータ９６の触覚アスペクトグラフ作成処理の動作の一例が示される。まず、ステップＳ４１で、皮膚センサデータＤＢ１０４に記憶されている時系列の皮膚センサデータを、マップＤＢ９２に記憶されている皮膚センサ出力のクラスタの遷移データに変換する。具体的には、各検出時刻（フレーム）の出力データ（皮膚センサ出力ベクトル）がどのクラスタに属するのかを判別する。たとえば、皮膚センサ出力ベクトルと各クラスタとの距離を算出し、最も近いクラスタを検出する。そして、各検出時刻の皮膚センサデータを所属クラスタの識別情報に対応付けることによって、クラスタの遷移データを作成する。
【００６７】
次に、ステップＳ４３で、クラスタの遷移データに基づいて、各クラスタについて、遷移した先のクラスタを検出するとともに、当該遷移先クラスタごとに遷移回数をカウントする。続いて、ステップＳ４５で、各クラスタについて、たとえば各遷移先クラスタの遷移回数を全遷移回数で割ることによって、遷移先クラスタごとの遷移確率を算出する。
【００６８】
そして、ステップＳ４７で、クラスタ（クラスタ識別情報）に関連付けて、遷移先のクラスタ（クラスタ識別情報）およびその遷移確率値を記憶する。
【００６９】
このようにして作成された、クラスタに関連付けた遷移先クラスタおよび遷移確率を含むデータと、マップＤＢ９２のマップデータとが、触覚アスペクトグラフデータとして触覚アスペクトグラフＤＢ１１０に記憶される。図１５に触覚アスペクトグラフデータの内容の一例が示される。図１５（Ａ）に示すように、クラスタ番号ごとに、遷移先のクラスタ番号およびその遷移確率値が記憶される。複数の遷移先がある場合には複数の遷移先クラスタ番号および遷移確率を含むデータが記憶される。また、図１５（Ｂ）に示すように、クラスタ番号と相手位置データ番号との対応付けを示すデータが記憶される。クラスタ番号はクラスタの識別情報であり、相手位置データ番号は、相手位置データ、すなわち、コミュニケーション相手の指先と腰の３次元位置に関する確率分布を示すデータの識別情報である。また、図１５（Ｃ）に示すように、クラスタ番号ごとに、当該触覚センサ出力（クラスタ）に関するデータが記憶される。また、図１５（Ｄ）に示すように、相手位置データ番号ごとに、当該相手位置に関するデータが記憶される。コミュニケーション時には、計測された触覚センサ出力ベクトルに対応するクラスタを特定して、図１５（Ａ）のデータを参照することによって、遷移先のクラスタ番号およびその遷移確率を取得することができる。そして、図１５（Ｂ）のデータを参照することによって、遷移先のクラスタ番号に対応する相手位置データ番号を特定できるので、次の相手位置データを取得することができる。したがって、次の相手位置データと遷移確率とに基づいて、次の相手位置、すなわち次の行動を予測することができる。
【００７０】
なお、図１５（Ｂ）、（Ｃ）および（Ｄ）に示すデータは、触覚センサ出力（クラスタ）とコミュニケーション相手の位置および姿勢を対応付けたマップのデータに相当する。
【００７１】
図１６には触覚アスペクトグラフの概念図が示される。触覚アスペクトグラフは、上述のように、触覚センサ出力を状態とした確率的状態遷移を示す。触覚センサ出力（クラスタ）は、コミュニケーション相手の位置に対応付けられている。相手の位置は、この実施例では相手の指先および腰の３次元位置の確率分布である。腰の位置はロボット１０から見た相手の位置に相当し、指先の位置は触られている場所に相当する。すなわち、触覚アスペクトグラフは、触られ方だけでなく、相手の位置および触る場所が確率的にどのように遷移するかを示すものでもある。したがって、触覚アスペクトグラフを用いて、相手が次に（あるいは近い将来）どこに位置するか、どこを触るのか、どのように触るのかを予測することができる。
【００７２】
図１６の各ノードは触覚センサ出力（クラスタ）に対応付けられた相手の位置および触られている場所を示している。なお、右上のノード内では、触覚センサ出力（クラスタ）としてクラスタ代表値のグラフが図示されるとともに、当該クラスタに対応する相手の位置および触られている場所が図示される。他のノード内では、相手の位置および触られている場所のみが図示され、対応する触覚センサ出力は省略される。黒い球体が触られている場所（指先の位置）を示し、斜線の付された楕円体が相手の位置（腰の位置）を示す。楕円体から下方へ伸びる線分は相手の腰の高さを示す。
【００７３】
この図１６の例では、右上のノードでは、相手がロボットの右側に立ちロボットの右肩を触っている状態であることが示されている。ノード間の線は、各ノードの繋がりを示しており、各ノードは、接続されたノードに確率的に遷移する。左上のノードは相手がロボットの右側に立ちロボットの頭頂を触っている状態を示す。右中のノードは相手がロボットの正面に立ちロボットの首下を触っている状態を示す。左中のノードは相手がロボットの正面に立ちロボットの頭頂を触っている状態を示す。右下のノードは相手がロボットの正面でしゃがんでロボットの胸を触っている状態を示す。たとえば、ロボットの右側に立ってロボットの右肩を触っている状態（右上のノード）の次の行動として、相手は、そのままの位置でロボットの頭頂を触る（左上のノード）か、またはロボットの前に移動してロボットの首下を触る（右中のノード）ということが予測できる。
【００７４】
図１７には、ロボット１０の予測処理の動作の一例が示される。ロボット１０は、コミュニケーション時に相手から触られたとき、予測処理を開始する。図１７の最初のステップＳ６１で、ロボット１０のＣＰＵ６０は、皮膚センサ５８からの出力データが検出されたとき、皮膚センサ出力ベクトルを取得する。つまり、すべての皮膚センサ５８で検知した圧力をセンサ入力／出力ボード６８を介して圧力値データとして検出して、４６次元の皮膚センサ出力ベクトルを生成して、メモリ６４に記憶する。
【００７５】
次に、ステップＳ６３で、取得した皮膚センサベクトルに最も近いクラスタを触覚アスペクトグラフＤＢ１１０に記憶されているクラスタから選択する。たとえば、現在の皮膚センサ出力ベクトルと各クラスタとの距離は、各クラスタ代表値および各クラスタ内要素の分散から算出される。
【００７６】
続いて、ステップＳ６５で、当該選択されたクラスタに対応する位置に眼カメラ５０を向けて画像データをメモリ６４に取得する。たとえば、触覚アスペクトグラフデータから、当該選択されたクラスタ番号に対応する相手位置データをメモリ６４に取得し、当該相手位置データに基づく位置を眼カメラ５０で撮影可能になる頭部モータ４８の角度制御データを生成し、モータ制御ボード６６を介して頭部モータ４８の回転角度を制御する。そして、センサ入力／出力ボード６８を介して眼カメラ５０からの画像データをメモリ６４に取得する。
【００７７】
続くステップＳ６７で、画像データに基づいて、取得した相手位置データに対応する位置での相手の検出を試みる。そして、ステップＳ６９で、当該位置で相手が検出されたか否かを判断する。ステップＳ６９で“ＮＯ”であれば、つまり、当該位置で相手が撮影されていなかった場合には、相手が触覚センサ出力に対応する位置に存在していない。この場合、クラスタを特定できなかったので、ステップＳ６１に戻る。
【００７８】
一方、ステップＳ６９で“ＹＥＳ”であれば、つまり、当該位置で相手が撮影されていた場合には、ステップＳ７１で、ステップＳ６５で取得した相手位置データ番号を、現在位置を示す情報としてメモリ６４に記憶する。続くステップＳ７３で、触覚アスペクトグラフデータから、当該選択されたクラスタの遷移先の情報をメモリ６４に取得する。たとえば、当該選択されたクラスタ番号に対応する遷移先のクラスタ番号および確率値を取得し、当該遷移先のクラスタ番号に対応するクラスタのデータを取得し、当該遷移先クラスタ番号に対応する相手位置データ番号を特定して当該相手位置データ番号に対応する相手位置データを取得する。
【００７９】
ステップＳ７５で、その先の情報も必要か否かを判断する。たとえば、相手の次の行動よりもさらに将来の行動を予測して誘導するように設定されている場合等には、その先の情報が必要であると判断される。ステップＳ７５で“ＹＥＳ”であれば、ステップＳ７７で、触覚アスペクトグラフデータから、ステップＳ７３で取得した遷移先クラスタの遷移先の情報をメモリ６４に取得する。これによって、次の行動よりもさらに先すなわち近い将来の必要な情報（遷移先クラスタ番号、遷移確率、遷移先のクラスタのデータ、対応する相手位置データ等）が取得される。
【００８０】
ステップＳ７５で“ＮＯ”である場合、またはステップＳ７７を終了すると、ステップＳ７９で予測対応処理を実行して、ステップＳ７３またはＳ７７で取得した遷移先の情報に基づいて動作を制御する。ステップＳ７９を終了するとこの図１７の予測処理を終了する。ステップＳ７９の予測対応処理の動作の一例は次の図１８に示される。
【００８１】
図１８の最初のステップＳ９１で、危険回避するか否かを判断する。たとえば、現在実行している触覚コミュニケーション行動のプログラムまたはデータにおいて予測に基づく危険回避が設定されているか否かを判定する。
【００８２】
ステップＳ９１で“ＹＥＳ”であれば、ステップＳ９３で、取得した遷移先の情報に基づいて、相手の次の位置または行動を予測する。たとえば、確率値の最も高い相手位置データを次の相手位置として予測し、メモリ６４に予測位置として記憶する。あるいは、可能性のあるもの全てを考慮するように、遷移先として取得された全ての相手位置データを次の相手位置として予測し、メモリ６４に予測位置として記憶するようにしてもよい。たとえば、遷移先の相手位置データがロボットの右側と正面と左側とを含む場合には、ロボットの右側、正面および左側のすべてが次の相手の位置として予測されてよい。なお、確率値に応じて重みを考慮するようにしてもよい。
【００８３】
そして、ステップＳ９５で、予測位置側への移動の禁止を設定する。たとえば、移動を禁止するフラグをＯＮに設定し、予測位置のうち相手の腰の位置を移動禁止位置として記憶する。また、ステップＳ９７で、予測位置への腕などの部位の動作の禁止を設定する。たとえば、腕の動作を禁止するフラグをＯＮに設定し、予測位置から、相手の指先および腰の位置、ならびに指先と腰の間の領域等を、動作禁止位置として記憶する。ステップＳ９７を終了すると、この予測対応処理を終了する。
【００８４】
一方、ステップＳ９１で“ＮＯ”であれば、ステップＳ９９で、誘導するか否かを判断する。たとえば、現在実行している触覚コミュニケーション行動のプログラムまたはデータにおいて予測に基づく誘導が設定されているか否かを判定する。
【００８５】
ステップＳ９９で“ＹＥＳ”であれば、ステップＳ１０１で、取得した遷移先の情報から誘導したい相手の位置または行動を選択する。たとえば、図１６の例で、現在の相手位置が右上のノードであり、かつ、２つ先まで予測する場合には、右上以外のノードから誘導したいノードがクラスタ番号あるいは相手位置データ番号等で選択される。たとえば相手が胸を触るように誘導したいときは、右下のノードに相当する相手位置データ番号等が選択される。
【００８６】
続いて、ステップＳ１０３で選択されたのは遷移先の先への誘導であるか否かを判断する。ステップＳ１０３で“ＹＥＳ”であれば、ステップＳ１０５で、ステップＳ１０１で選択された相手位置の手前側の相手位置を選択する。遷移先のさらに先へ誘導したい場合、その誘導したい位置まで導くために手前側の経路を遷移していく必要があるので、現在のノードから１つ先に相当する相手位置を選択する。たとえば、ステップＳ１０１で右下のノードに相当する相手位置データ番号等が選択されている場合には、その手前側の現在のノードに最も近いノードである右中のノードに相当する相手位置データ番号等が選択される。
【００８７】
ステップＳ１０５を終了し、またはステップＳ１０３で“ＮＯ”であれば、ステップＳ１０７で、選択された位置に相手が存在するように移動または旋回する。具体的には、選択された相手位置データ番号等に対応する相手位置データと現在位置に対応する相手位置データとの差に基づいて、選択位置に相手が存在することになるように車輪モータ１６の制御データを変更する。この変更された制御データに基づいてロボット１０は旋回または移動し、その結果、相手はロボット１０から見て選択された位置に存在することとなる。
【００８８】
たとえば、上述の例の続きとして、現在の相手位置がロボット１０の右側（図１６の右上のノード）であり、選択位置がロボット１０の正面（図１６の右中のノード）である場合には、たとえばロボット１０から現在位置への方向と選択位置への方向との差分（角度差）を算出して、当該角度差だけロボット１０を旋回させることによって、相手をロボット１０の正面に位置させることができる。この場合、次の行動として、右中のノードのように、相手が、当該位置に対応する触り場所であるロボットの首下を、対応する触り方で触ることが期待される。したがって、予測に対応して、相手の触行動を誘導することができる。そして、皮膚センサ出力ベクトルまたは画像データの確認によって相手がロボット１０の首下を触ったことが検出された場合には、その遷移先の左下のノード、すなわち、相手が正面でしゃがんで胸を触る状態に導いていくことが可能になる。ステップＳ１０７を終了し、またはステップＳ９９で“ＮＯ”である場合には、この予測対応処理を終了する。
【００８９】
図１９には、コミュニケーション行動実行時の変更処理の動作の一例が示される。図１８の予測対応処理で危険回避のために移動または腕動作の禁止が設定されている場合、この変更処理によって制御データが変更される。図１９の最初のステップＳ１２１では、移動禁止フラグ等に基づいて、移動禁止が設定されているか否かを判断する。ステップＳ１２１で“ＹＥＳ”であれば、ステップＳ１２３で、ステップＳ９５で設定した禁止位置を取得し、ステップＳ１２５で、実行しようとしているコミュニケーション行動の制御データが禁止位置側への移動を含むか否かを判断する。ステップＳ１２５で“ＹＥＳ”であれば、ステップＳ１２７で、禁止位置側へ移動しないように変更した制御データを生成する。たとえば、禁止位置が正面であり、制御データが前方への移動を含む場合には、車輪モータ１６の制御データの前方移動に関する部分をクリアする。このようにして、変更された制御データに基づいて制御が実行されることによって、禁止位置への移動が行われなくなるので、相手に衝突することが防止され、危険を回避することができる。
【００９０】
ステップＳ１２７を終了し、またはステップＳ１２５で“ＮＯ”である場合、またはステップＳ１２１で“ＮＯ”である場合には、ステップＳ１２９で、動作禁止フラグ等に基づいて、腕の動作の禁止が設定されているか否かを判断する。ステップＳ１２９で“ＹＥＳ”であれば、ステップＳ１３１で、ステップＳ９７で設定した禁止位置を取得し、ステップＳ１３３で、実行しようとしているコミュニケーション行動の制御データが禁止位置への腕の動作を含むか否かを判断する。ステップＳ１３３で“ＹＥＳ”であれば、ステップＳ１３５で、禁止位置へ腕を動かさないように変更した制御データを生成する。たとえば、禁止位置が右側であり制御データが右手の動作を含む場合には、右腕モータ４０の制御データをクリアし、現在の角度を維持するようにする。また、たとえば、禁止位置が右側であり制御データが右腕の動作を含む場合であって、当該右腕の動作が左腕で代替可能なもの、たとえば右腕でバイバイと手を振るような行動であるときには、当該動作を左腕で行うように変更した制御データを生成するようにしてもよい。ステップＳ１３５を終了し、または、ステップＳ１３３で“ＮＯ”である場合、または、ステップＳ１２９で“ＮＯ”である場合には、この変更処理を終了する。このようにして、変更された制御データに基づいて制御が実行されることによって、禁止位置への腕などの部位の動作が行われなくなるので、相手に腕などの部位をぶつけることを未然に防止でき、危険を回避することができる。
【００９１】
この実施例によれば、相手の位置（たとえば腰および指先）に関連付けられた触覚センサ出力の確率的遷移を示す触覚アスペクトグラフデータを記憶するので、コミュニケーション時には、触覚に基づいて、次の相手の位置、触る場所および触られ方など、触行動が遷移すると予測される先の相手の情報を取得することができるので、相手の次の位置や触行動を予測することができる。そして、予測に応じて動作を制御することによって、相手への衝突などの危険を回避できるので、安全性を向上することができる。また、取得した遷移先の情報と現在の相手の位置との差に基づいて、予測される位置や触行動に相手を誘導することができるので、円滑なコミュニケーションを実現できる。
【００９２】
なお、触行動の遷移の個人的な特徴に着目すれば、ロボット１０は触覚アスペクトグラフデータを用いて個人認識をすることも可能である。この場合には、複数のコミュニケーション相手ごとの触覚アスペクトグラフデータをたとえば相手ＩＤに関連付けて触覚アスペクトグラフＤＢ１１０に記憶しておく。コミュニケーション時には、触覚センサ出力ベクトルを計測するとともに画像データから相手の位置を検出することによって、相手の位置および触れている場所ならびに触り方（クラスタ）を特定してこれらの履歴を記憶していくことによって、触行動の遷移を記録する。そして、遷移の仕方がどの相手ＩＤの触覚アスペクトグラフデータに適合するかを判定することによって、コミュニケーション相手が誰であるかを特定することができる。
【図面の簡単な説明】
【００９３】
【図１】この発明の一実施例のコミュニケーションロボットを示す図解図である。
【図２】図１実施例のコミュニケーションロボットに用いる皮膚とその中に埋め込まれるピエゾセンサシートとを示す図解図である。
【図３】ピエゾセンサシートの配置位置を示す図解図である。
【図４】図１実施例のコミュニケーションロボットの電気的構成を示すブロック図である。
【図５】図１実施例のコミュニケーションロボットにおけるピエゾセンサシートから検知信号を入力するセンサ入力／出力ボードを部分的に示す図解図である。
【図６】図１実施例のコミュニケーションロボットに備えられる触覚アスペクトグラフを作成するためのマップ作成システムの概要を示す図解図である。
【図７】マップ作成時の赤外線反射マーカの取付位置を示す図解図である。
【図８】図６の作成用コンピュータのマップ作成処理の動作の一例を示すフロー図である。
【図９】図８の指先データの処理の動作を示すフロー図である。
【図１０】図８の腰データの処理の動作を示すフロー図である。
【図１１】マップＤＢに記憶されるマップデータの概要を示す図解図である。
【図１２】クラスタ代表値の一例を示す図解図である。
【図１３】図１２のクラスタ代表値に対応する相手の指先と腰の位置の分布の概要を示す図解図である。
【図１４】図６の作成用コンピュータの触覚アスペクトグラフ作成処理の動作の一例を示すフロー図である。
【図１５】触覚アスペクトグラフＤＢに記憶されるデータの内容の一例を示す図解図であり、図１５（Ａ）はクラスタ番号ごとの遷移先クラスタ番号とその遷移確率を含むデータを示し、図１５（Ｂ）はクラスタ番号と相手位置データ番号との対応付けを示すデータを示し、図１５（Ｃ）はクラスタ番号ごとの触覚センサ出力（クラスタ）のデータを示し、図１５（Ｄ）は相手位置番号データごとの相手位置データを示す。
【図１６】触覚アスペクトグラフの概念を示す図解図である。
【図１７】図１実施例のコミュニケーションロボットの予測処理における動作の一例を示すフロー図である。
【図１８】図１７の予測対応処理の動作の一例を示すフロー図である。
【図１９】図１実施例のコミュニケーションロボットのコミュニケーション行動実行時の変更処理における動作の一例を示すフロー図である。
【符号の説明】
【００９４】
１０  …コミュニケーションロボット
２２  …人体状部
２４  …皮膚
５０  …眼カメラ
５８，５０１−５４８  …触覚センサ（ピエゾセンサシート）
６０  …ＣＰＵ
６４  …メモリ
６６  …モータ制御ボード
６８  …センサ入力／出力ボード
７０  …サウンド入力／出力ボード
９２  …マップＤＢ
９４  …作成システム
９６  …作成用コンピュータ
１１０  …触覚アスペクトグラフＤＢ
【図１】
2006281348.tif 000003
【図２】
2006281348.tif 000004
【図３】
2006281348.tif 000005
【図４】
2006281348.tif 000006
【図５】
2006281348.tif 000007
【図６】
2006281348.tif 000008
【図７】
2006281348.tif 000009
【図８】
2006281348.tif 000010
【図９】
2006281348.tif 000011
【図１０】
2006281348.tif 000012
【図１１】
2006281348.tif 000013
【図１２】
2006281348.tif 000014
【図１３】
2006281348.tif 000015
【図１４】
2006281348.tif 000016
【図１５】
2006281348.tif 000017
【図１６】
2006281348.tif 000018
【図１７】
2006281348.tif 000019
【図１８】
2006281348.tif 000020
【図１９】
2006281348.tif 000021