コミュニケーションロボット
【構成】コミュニケーションロボット10は、全身に分散配置された複数のピエゾセンサシートすなわち触覚センサ58を含み、触行動をしている相手の位置に関連付けられた触覚センサ58の出力パターンの確率的な遷移を示す触覚アスペクトグラフデータを記憶している。触覚アスペクトグラフデータを用いて、取得した触覚センサ出力ベクトルとたとえば眼カメラ50の撮影画像データから検出した相手の位置に基づいて、相手の位置や触行動がどのように確率的に遷移するかを取得する。取得した相手の次の位置などの遷移先情報に基づいて動作を制御して、当該位置への移動や腕の動きを回避し、また、当該次の位置に相手を存在させるように移動または旋回して、予測された触行動に相手を誘導する。
【効果】相手の次の位置や触行動を予測できるので、安全性を向上し、円滑なコミュニケーションを実現できる。
【効果】相手の次の位置や触行動を予測できるので、安全性を向上し、円滑なコミュニケーションを実現できる。
【発明の詳細な説明】
【技術分野】
【0001】
この発明はコミュニケーションロボットに関し、特にたとえば、全身に分布された触覚センサを備え、触覚に基づいて相手の触行動を予測するコミュニケーションロボットに関する。
【背景技術】
【0002】
日常環境の中で活動するロボットにとって表面の柔らかさと敏感さは、コミュニケーションの相手となる人間への安全性という面において重要である。さらに、スキンシップという言葉の通り、体の表面は最初に触れるインタフェースであることから、コミュニケーションの相手がどのようにどの場所に触れているかを知ることは、相手の状態を知ることに繋がる。たとえば強く握ったり、やさしくなでたりするという触行動は自分の意思や気持ちを相手に伝えるための行動であり、根本的なコミュニケーション行動の1つである。したがって、ロボットの全身の柔らかさと触覚は、日常環境の中で活動するコミュニケーションロボットにとって非常に重要である。
【0003】
そこで、本件出願人は、たとえば特許文献1において、柔らかい皮膚を持ち、触覚情報を出力するピエゾセンサ(触覚センサまたは皮膚センサ)を全身に配置したコミュニケーションロボットを提案している。この特許文献1のコミュニケーションロボットでは、触覚センサの出力情報から圧力の強弱、持続時間、または変化の周波数などに着目することで、コミュニケーション相手である人間の触り方を区別することができることがわかっている。
【特許文献1】特開2004−283975号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
従来技術では、たとえば撫でられているときに圧力がどういう力加減で変化するのかというように、短い時間間隔(たとえば2、3秒程度)での触り方が区別されていた。ロボットの状況をコミュニケーションに限定した場合には、長い時間間隔で捉えたときに次にどこに位置してどの場所をどのように触るのかというようなコミュニケーション相手である人間の触行動の遷移を、触覚に基づいてある程度限定することが可能である。
【0005】
それゆえに、この発明の主たる目的は、触覚コミュニケーションでの相手の次の位置や触行動を予測できる、コミュニケーションロボットを提供することである。
【課題を解決するための手段】
【0006】
請求項1の発明は、複数の触覚センサ、触行動をしているコミュニケーションの相手の位置に関連付けられた複数の触覚センサの出力のパターンの確率的な遷移を示す触覚アスペクトグラフデータを記憶する触覚アスペクト記憶手段、複数の触覚センサの出力データを取得する取得手段、取得手段によって出力データを取得するときの相手の位置を検出する検出手段、取得手段によって取得された複数の触覚センサの出力データと検出手段による検出結果に基づいて、触覚アスペクト記憶手段から相手の少なくとも次の位置を含む遷移先の情報を取得する遷移先情報取得手段、および遷移先情報取得手段によって取得された遷移先の情報に基づいて動作を制御する制御手段を備える、コミュニケーションロボットである。
【0007】
請求項1の発明では、コミュニケーションロボットには、たとえば全身に分布して、複数の触覚センサが設けられる。触覚アスペクト記憶手段には、触行動をしているコミュニケーションの相手の位置に関連付けられた複数の触覚センサの出力のパターンの確率的な遷移を示す触覚アスペクトグラフデータが記憶されている。つまり、触覚アスペクトグラフデータは、複数の触覚センサの出力のパターンを状態とした確率的状態遷移を示す。たとえば、複数の触覚センサの出力パターンは複数のクラスタとして記憶されていて、複数のクラスタごとに、遷移先となるクラスタおよびその遷移確率が記憶される。クラスタは、触覚コミュニケーションにおける代表的な触られ方を示している。また、複数のクラスタのそれぞれに関連付けて、相手の位置に関する情報が記憶される。たとえば、相手の位置に関する情報はコミュニケーションロボットのたとえば重心などの位置を基準とした少なくとも相手の指先および腰の位置に関する確率分布として記憶される。つまり、この場合の触覚アスペクトグラフデータにおいて相手の位置は、相手の存在している位置(腰の位置)および相手に触られている場所(指先の位置)を示す。したがって、触覚アスペクト記憶手段には、相手の存在している位置、触られている場所およびそのときの触られ方がどのように確率的に遷移していくかを示す情報が記憶されている。コミュニケーションロボットに対して相手が触行動を行ったとき、取得手段は、複数の触覚センサの出力データを取得する。また、検出手段は、触覚センサの出力データを取得するときの相手の位置を検出する。検出手段は、実施例では、ロボットのたとえば頭部に設けられた眼カメラを含み、当該カメラで撮影された画像データに基づいて相手の位置を検出する。遷移先情報取得手段は、取得手段によって取得された複数の触覚センサの出力データと検出手段による検出結果に基づいて、触覚アスペクト記憶手段から相手の少なくとも次の位置を含む遷移先の情報を取得する。たとえば、複数の触覚センサの出力データと画像データに基づいて、触覚アスペクトグラフデータにおける現在のクラスタ、すなわち現在の相手の位置が特定される。そして、触覚アスペクトグラフデータから少なくとも相手の次の位置を含む遷移先の情報を取得する。取得した遷移先の情報から、コミュニケーションロボットは、少なくとも次には、相手の位置、触られる場所、触られ方などがどのように確率的に遷移するのかを知ることができ、つまり、少なくとも次の触行動を予測することができる。制御手段は、取得された遷移先の情報に基づいて動作を制御する。したがって、触覚に基づいて相手の次の位置などの触行動を予測することができ、その予測に対応して動作を制御することができるので、たとえば、危険回避によって安全性を向上でき、相手の誘導によって円滑なコミュニケーションを実現できる。
【0008】
請求項2の発明は、請求項1の発明に従属し、制御手段は、遷移先情報取得手段によって取得された相手の次の位置への移動または部位の動きを回避する。
【0009】
請求項2の発明では、制御手段は、相手の次の位置への移動または部位の動きを回避する。たとえば、取得した遷移先の情報に基づいて相手の次の位置を予測し、当該予測位置への移動または部位の動きを禁止または制限するような制御データを生成して、動作を制御する。したがって、相手への衝突や腕などの部位が相手にぶつかるのを防止することができるので、危険を回避することができ、安全性を向上できる。
【0010】
請求項3の発明は、請求項1の発明に従属し、制御手段は、取得手段によって取得された複数の触覚センサの出力データに対応する相手の位置と遷移先情報取得手段によって取得された相手の次の位置との差分に基づいて移動または旋回を制御する。
【0011】
請求項3の発明では、制御手段は、複数の触覚センサの出力データに対応する相手の位置すなわち相手の現在の位置と、相手の次の位置との差分に基づいて、移動または旋回を制御する。これによって、遷移先情報取得手段によって取得された次の位置に相手が存在することになるようにコミュニケーションロボットを移動または旋回させることができる。したがって、予測される次の位置に相手を位置させることができるので、相手が当該次の位置に対応する触り場所を触ったり、当該次の位置に対応する触り方を行ったりすることが期待される。つまり、予測される触行動に相手を誘導することができる。また、さらに先の遷移先の位置ないし触行動に導いていくこともできる。したがって、予測に対応して相手を所望の位置や触行動に誘導することができるので、円滑なコミュニケーションを実現できる。
【0012】
請求項4の発明は、請求項1ないし3のいずれかの発明に従属し、ロボット本体上に被せられる柔軟素材からなる皮膚をさらに備え、複数の触覚センサは皮膚中に分散配置される複数のピエゾセンサシートを含む。
【0013】
請求項4の発明では、たとえば筐体などを含むロボット本体上には柔軟素材からなる皮膚が被せられ、この皮膚中に、複数の触覚センサとして複数のピエゾセンサシートが分散配置される。したがって、たとえば全身分布型皮膚センサを有するコミュニケーションロボットを実現することができ、また、柔らかい皮膚を介して触行動が行われるので、相手に対して安心感を与えて親和性と安全性をより向上できるとともに、より円滑な触覚コミュニケーションを実現できる。
【発明の効果】
【0014】
この発明によれば、相手の位置に対応付けられた触覚センサ出力の確率的遷移を示す触覚アスペクトグラフデータを記憶するようにしたので、触覚に基づいて相手の次の位置ないし触行動を予測することができる。したがって、予測に対応して動作を制御することによって、たとえば危険を回避したり、相手を予測された位置や触行動に誘導したりできるので、安全性を向上でき、また、円滑なコミュニケーションを実現できる。
【0015】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【0016】
図1を参照して、この実施例のコミュニケーションロボット(以下、単に「ロボット」ということがある。)10は台車12を含み、この台車12の側面には、このロボット10を自律移動させる車輪14が設けられる。この車輪14は、車輪モータ(図4において参照番号「16」で示す。)によって駆動され、台車12すなわちロボット10を前後左右任意の方向に動かすことができる。なお、図示しないが、この台車12の前面には、衝突センサが取り付けられ、この衝突センサは、台車12への人間や他の障害物の接触を検知する。
【0017】
台車12の上には、多角形柱状のセンサ取付パネル18が設けられ、このセンサ取付パネル18の各面には、超音波距離センサ20が取り付けられる。この実施例ではたとえば24個の超音波距離センサ20が周囲360度にわたるように設けられる。この超音波距離センサ20は、センサ取付パネル18すなわちロボット10の周囲の主として人間との距離を計測するものである。具体的には、超音波距離センサ20は超音波を発射し、その超音波が人から反射されて超音波距離センサ20に入射されたタイミングを測定して、人との間の距離情報を出力する。
【0018】
台車12の上には、人体状部22が直立するように取り付けられる。このロボット本体としての人体状部22の全身は、後に詳しく説明するように、柔軟素材からなる皮膚24によって覆われる。人体状部22は、たとえば鉄板のような筐体(図示せず)を含み、その筐体にコンピュータやその他必要なコンポーネントを収容している。そして、皮膚24は、その筐体上に被せられる。皮膚24の下の筐体の上部ほぼ中央にはマイク26が設けられる。このマイク26は、周囲の音声、特に人間の声を収集するためものである。
【0019】
人体状部22は、右腕28Rおよび左腕28Lを含み、右腕28Rおよび左腕28Lすなわち上腕30Rおよび30Lは、それぞれ、肩関節32Rおよび32Lによって、胴体部分に変位自在に取り付けられる。この肩関節32Rおよび32Lは、3軸の自由度を有する。上腕30Rおよび30Lには、1軸の肘関節34Rおよび34Lによって、前腕36Rおよび36Lが取り付けられ、この前腕36Rおよび36Lには、手38Rおよび38Lが取り付けられる。これら右腕28Rおよび左腕28Lの各関節における各軸はここでは図示しないモータによってそれぞれ制御される。すなわち、右腕28Rおよび左腕28Lのそれぞれ4個のモータが、図4において、それぞれ右腕モータ40および左腕モータ42として表される。
【0020】
人体状部18の上部には首関節44を介して頭部46が、人間の頭と同様に俯仰・回転可能に取付けられる。この3軸の首関節44は、図4に示す頭部モータ48によって制御される。頭部46の前面の「目」に相当する位置には2つの眼カメラ50が設けられ、この眼カメラ50は、ロボット10に接近した人間の顔や他の部分を撮影してその映像信号を取り込む。頭部46の前面の目カメラ50の下方にはスピーカ52が設けられる。このスピーカ52は、ロボット10がそれの周囲の人間に対して音声によってコミュニケーションを図るために用いられる。
【0021】
上で説明した人体状部22の胴体や頭部46および腕は上記したようにすべて柔軟な素材からなる皮膚24に覆われる。この皮膚24は、図2に示すように、下層のウレタンフォーム54と、その上に積層される比較的肉厚のシリコンゴム層56aおよび比較的肉薄のシリコンゴム層56bとを含む。そして、2つのシリコンゴム層56aおよび56bの間に、ピエゾセンサシート(皮膚センサ)58が埋め込まれる。このピエゾセンサシート58は、たとえば米国MSI社製、株式会社東京センサ販売のピエゾフィルムを用いる(http://www.t-sensor.co.jp/PIEZO/TOP/index.html)。実施例のロボットに使用したのはA4サイズ(型番:200×140×28)のピエゾフィルムを1/2、1/3、1/4、1/6の大きさにはさみでカットしたピエゾセンサシートである。このピエゾフィルムは、圧電フィルム(たとえばPVDF(ポリビニリデンフルオロイド))の両面に金属薄膜が形成された構造、つまり、圧電体が導体で挟まれた構造を有する。圧力等で変形すると両面金属薄膜間にピエゾ電気を発生し、すなわち、電荷があらわれて電位差が生じる。
【0022】
実施例では、上述のように、発泡ウレタンとシリコンゴムとを使って皮膚24の柔らかさを得た。シリコンゴムだけである程度の厚みと柔らかさとを得ようとすると、重くなりすぎてエネルギ消費量が大きくなるだけでなく、裂傷に弱くなる。そこで、発明者等は、実験を重ねた結果、大まかな形と厚みはウレタンフォームで作り、その表面を約20mmのシリコンゴムで覆う形を採用することとした。そして、シリコンゴム層を2つにし、それらのシリコンゴム層56aおよび56bの間に、上述のピエゾセンサシート58を埋め込んだ。このとき、内側のシリコンゴム層56aを厚く(約15mm)し、表面側のシリコンゴム層56bを薄く(約5mm)した。このようにすると、ロボット10の振動や人間が表面を押したときに生じる高周波の振動をカットでき、なおかつフィルムが変形し易くなるので、圧力の計測が容易になる。つまり、シリコンゴム層の厚みはロボット10の構造やパワーによるが、なるべく薄く、しかし変形が伝わり易く、雑音となる振動が伝わり難いものが必要となる。また、この柔らかい皮膚を介して、人との間で触行動によるコミュニケーションを行うことができるので、人に対して安心感を与えて親和性を高めることができるし、触れたりぶつかったりした場合の人の怪我を防止して安全性も高めることができる。
【0023】
なお、皮膚24の素材は軟性素材であればよく、上述のものに限定されずたとえば他のゴム素材等でもよい。ただし、ピエゾフィルムシートの表面金属薄膜が腐食しない材質である必要がある。また、皮膚24の厚み(各層の厚み)は、素材によって適宜変更され得る。
【0024】
上述のピエゾセンサシートすなわち皮膚センサ(触覚センサ)58は人体状部22の全身にわたって埋め込まれ、それによって、人間等が接触することによって皮膚24に加えられた圧力を圧覚(触覚)情報として検知する。この実施例では、図3に示すように、ロボット10の全身にわたって48枚のピエゾセンサシート501−548を埋め込んだ。つまり、ロボット10は全身分布型皮膚センサを有するといえる。埋め込み状況(場所)に関しては、人間に触られやすい部位、たとえば頭頂や肩それに腕(手を含む)には、圧力を正確かつ確実に検知できるように、隙間なくピエゾセンサシートを埋め込み、あまり触られることを想定していない部位たとえば足あるいは脇腹には許容できる隙間を持ってピエゾセンサシートを埋め込んだ。それによって、検出精度と製造コストとのトレードオフを解決した。なお、これら48枚のピエゾセンサシート501−548は、場合によっては、参照番号58で区別なしに示されることがあることに留意されたい。
【0025】
図1に示すロボット10の電気的構成が図4のブロック図に示される。図4に示すように、このロボット10は、全体の制御のためにマイクロコンピュータまたはCPU60を含み、このCPU60には、バス62を通して、メモリ64,モータ制御ボード66,センサ入力/出力ボード68およびサウンド入力/出力ボード70が接続される。
【0026】
メモリ64は、図示しないが、ROMやHDD、RAMを含む。ROMやHDDにはこのロボット10の制御プログラムが予め書き込まれている。制御プログラムはたとえばコミュニケーション行動を実行するためのプログラム、外部のコンピュータと通信するためのプログラム等を含む。メモリ64にはまた、コミュニケーション行動を実行するためのデータが記憶され、そのデータは、たとえば、個々の行動を実行する際に、スピーカ52から発生すべき音声または声の音声データ(音声合成データ)、および所定の身振りを提示するための各関節軸の角度制御データ等を含む。RAMは、一時記憶メモリとして用いられるとともに、ワーキングメモリとして利用される。
【0027】
モータ制御ボード66は、たとえばDSP(Digital Signal Processor) で構成され、各腕や頭部などの各軸モータを制御する。すなわち、モータ制御ボード66は、CPU60からの制御データを受け、右肩関節32Rの3軸のそれぞれの角度を制御する3つのモータと右肘関節34Rの1軸の角度を制御する1つのモータとの計4つのモータ(図4ではまとめて、「右腕モータ」として示す。)40の回転角度を調節する。また、モータ制御ボード66は、左肩関節32Lの3軸と左肘関節34Lの1軸、計4つのモータ(図4ではまとめて、「左腕モータ」として示す。)42の回転角度を調節する。モータ制御ボード66は、また、頭部46の3軸のモータ(図4ではまとめて、「頭部モータ」として示す。)48の回転角度を調節する。そして、モータ制御ボード66は、車輪14を駆動する2つのモータ(図4ではまとめて、「車輪モータ」として示す。)16を制御する。
【0028】
なお、この実施例の上述のモータは、車輪モータ16を除いて、制御を簡単化するためにそれぞれステッピングモータまたはパルスモータであるが、車輪モータ16と同様に、直流モータであってよい。
【0029】
センサ入力/出力ボード68も、同様に、DSPで構成され、各センサやカメラからの信号を取り込んでCPU60に与える。すなわち、図示しない衝突センサの各々からの接触に関するデータがこのセンサ入力/出力ボード68を通して、CPU60に入力される。また、眼カメラ50からの映像信号が、必要に応じてこのセンサ入力/出力ボード68で所定の処理が施された後、CPU60に入力される。
【0030】
このセンサ入力/出力ボード68は、さらに、図5に示すように、複数(実施例では12枚)の基板72,72…を含み、各基板72には、それぞれ1つのPICマイコン74が設けられる。PICマイコン74はたとえばASICで構成され、同じく基板72に設けられたA/D変換器76からの電圧データ(たとえば10ビット)をビット直列信号として出力する。
【0031】
皮膚センサ58は、図5に示すようにピエゾフィルム78を電極ないし導体80aおよび80bで挟んだものであり、圧力が加えられるとそのピエゾフィルム78が電圧を発生し、その電圧が2つの導体80aおよび80b間に現れる。ただし、このとき発生される電圧は電位は高いが電流が微弱なため、この発生電圧をそのまま長いケーブルでコンピュータ60(図4)に取り込むことは、ノイズが多く乗ってしまうので難しい。そこで、この実施例では、図5に示す基板72を皮膚センサ58に近い位置に配置し、その中に高インピーダンスの読み取り装置、すなわちA/D変換器76を配置し、このA/D変換器76で変換した電圧値をPICマイコン74で読み取ってシリアル信号として出力し、それをCPU60へ送るようにした。なお、ピエゾフィルムシートの電極の配置の一例として、導体80aは皮膚24の表面側に配置され、導体80bは筐体側に配置される。
【0032】
A/D変換器76は、実施例では4チャネル10ビットのものを用いた。したがって、1つの基板72が4つの皮膚センサ58を受け持つことができる。基板72には、4つのピエゾセンサシートのために4対の端子82aおよび82bが設けられ、それぞれに電極80aおよび80bが接続される。端子82aおよび82b間にはノイズ除去用コンデンサ84が接続されている。したがって、端子82aおよび82b間に与えられた皮膚センサ58からの電圧は、ノイズ除去された後、オペアンプ86によって電流増幅され、上述のA/D変換器76の1つのチャネルに入力される。図5では1つの皮膚センサ58が示されるだけであるが、他の皮膚センサ58およびそれに関連する回路も同様に構成されるものである。
【0033】
上述のように人体状部22の皮膚24中には48個のピエゾセンサシート501−548が全身にわたって埋め込まれているが、それらをすべてロボット制御用のCPUないしコンピュータ60で読み取ろうとすると、ノイズを拾い易いだけでなく、コンピュータのA/Dポートを非常に多く必要としてしまい、現実的ではない。そこで、上述のように読み取り装置(基板72、A/D変換器76)を皮膚センサ58の近傍に分散配置し、それぞれの出力を1本のシリアルケーブル、たとえばRS232C(商品名)で繋いだ、いわゆるデイジーチェーンを形成した。したがって、図5に示す1つの基板72のPICマイコン74から出力されたビットシリアル信号は、次段の基板72のPICマイコン74のシリアル入力ポートに与えられる。当該次段のPICマイコン74は、前段のPICマイコン74から送られてきたデータに自分が担当するA/D変換器76から読み込んだデータを加えて、ビット直列信号として出力する。したがって、コンピュータ60は、1つのシリアルポートで全身の皮膚センサ58からの検知情報を取り込めるようになっている。
【0034】
なお、各PICマイコン74から出力される検知データは、図3に示す48個のピエゾセンサシート501−548のいずれであるかを示す識別子と、圧力値に関する情報とを含むので、コンピュータ60は、どの(部位の)ピエゾセンサシートがどの程度の圧力を受けているかを容易に特定できる。
【0035】
ただし、この実施例では、左右の手先に設けられるそれぞれ5つのピエゾセンサシート535−539と544−548については、A/D変換器76の入力が4つであることから、便宜上、先端の1個(右手:539、左手:548)と外側の1個(右手:536、左手:545)の出力を並列にしている。したがって、この実施例では、左右の手先の皮膚センサ58は実質的にそれぞれ4個となるので、皮膚センサ58の出力データは46次元データとなる。
【0036】
出力を読み取る場合、具体的には、コンピュータ60は、たとえば50msecの周期で、ビットシリアルデータを出力する最終段のPICマイコン74にポーリングをかけ、50msec周期ですべてのピエゾセンサシート501−548の検知データを読み取ることができる。検知データは、A/D変換器76(図5)からはたとえば正負32段階、合計64段階で出力される。つまり、10ビットのうち下位4ビットはノイズ成分として捨て、上位6ビットのデータだけが各PICマイコン74(図5)から出力される。
【0037】
そして、コンピュータ60は、皮膚センサ58で検知した64段階のデータを用いて、たとえば触られ方の強弱、押された状態の持続時間または電圧変化の波形の周波数(圧力変化の周波数)などの接触状態を計測することができる。触られ方の強弱によってたとえば「ひどく叩かれたか」、「軽く叩かれたか」、「やさしく手を置かれたか」、「軽く触られたか」などを判断することができ、持続時間によってたとえば「叩かれたか」、「押されたか」などの継続状態を判断することができ、圧力変化の周波数によってたとえば「叩かれているのか」、「なでられているのか」、「くすぐられているのか」という触られ方の種類を判断することができる。そして、ロボット10は、触り方(接触状態)に応じて動作を制御することができる。このような動作制御は、本件出願人による特許文献1(特開2004−283975号)にも詳細に開示されるので参照されたい。
【0038】
図4に戻って、スピーカ52にはサウンド入力/出力ボード70を介して、CPU60から、合成音声データが与えられ、それに応じて、スピーカ52からはそのデータに従った音声または声が出力される。また、マイク26からの音声入力が、サウンド入力/出力ボード70を介して、CPU60に取り込まれる。
【0039】
また、CPU60には、バス62を介して通信LANボード88および無線通信装置90が接続される。通信LANボード88は、DSPで構成され、CPU60から送られる送信データを無線通信装置90に与え、無線通信装置90から送信データを、図示は省略するが、たとえば無線LANまたはインタネットのようなネットワークを介して外部のコンピュータに送信させる。また、通信LANボード88は、無線通信装置90を介してデータを受信し、受信したデータをCPU60に与える。つまり、この通信LANボード88および無線通信装置90によって、ロボット10は外部のコンピュータ等と無線通信を行うことができる。
【0040】
さらに、CPU60は、バス62を介して触覚アスペクトグラフデータベース(DB)92に接続される。ただし、このデータベースは、外部のコンピュータまたは外部のネットワーク上にアクセス可能に設けるようにしてもよい。
【0041】
触覚アスペクトグラフDB110には、触覚コミュニケーション時の相手の位置および姿勢に対応付けられた触覚センサ出力を状態とした、確率的状態遷移を示すデータ(触覚アスペクトグラフデータ)が記憶される。アスペクトグラフは、物体(パターン)認識の記述として利用され、物体の見え方(一般的にはカメラ画像情報に基づく)がどのように変化(遷移)していくかを示す。触覚センサ出力は、触覚コミュニケーション時の相手の位置および姿勢に対応付けられて記憶されており、したがって、このロボット10は、触覚センサ58を通して相手の位置を見る。そこで、触覚を通しての相手の見え方を示す触覚センサ出力の確率的遷移を、アスペクトグラフという用語を用いて、触覚アスペクトグラフと表現するものとする。なお、触覚センサ58の出力と、触覚コミュニケーション時におけるコミュニケーション相手の位置・姿勢とを対応付けたデータをマップというものとする。
【0042】
たとえば、ロボット10は、コミュニケーション時に皮膚センサ58の出力データを計測して、この触覚アスペクトグラフデータに含まれるマップデータを用いることで、触行動をしている相手が、現在どのような位置に居てどのような姿勢であるかを把握することができる。人間は日常のインタラクションやスキンシップコミュニケーションにおいて皮膚感覚を通して様々な情報を得ており、たとえば後ろから抱き付かれてもどのような抱き付き方をされたのか把握することができる。このロボット10は、このマップデータによって、人間と同じように、目で見なくても触覚によって相手がどういった触行動をとっているのかを認識することが可能である。
【0043】
また、このロボット10は、計測した触覚センサ58の出力データと触覚アスペクトグラフデータとに基づいて、次にどのような触覚センサ出力に確率的に遷移するかを把握することができる。つまり、ロボット10は、遷移先の触覚センサ出力(クラスタ)に基づいて、次にどのような触られ方をするかを予測することができる。また、触覚センサ出力は相手の位置および姿勢に対応付けられているので、このロボット10は、コミュニケーション相手の次の位置および姿勢を予測することができる。具体的には、相手の位置および姿勢は、この実施例では、相手の指先および腰の3次元位置に関する確率分布から把握される。したがって、ロボット10は、次の触行動では、相手の腰がどこに位置して、その指先がどこに触れるのかを予測することができる。
【0044】
このように、ロボット10は、相手の次の行動(触行動)を予測することができる。また、触覚アスペクトグラフデータは、上述のように触覚センサ出力の確率的遷移を示すので、触覚アスペクトグラフデータに基づいて、1つ先への遷移だけでなく、更なる先への遷移も把握することが可能である。したがって、ロボット10は、たとえば相手のさらに次の行動など、近い将来の行動(相手の位置、触られる場所、触られ方等)を予測することも可能になっている。
【0045】
この触覚アスペクトグラフデータを作成する際には、まず、触覚センサ58の出力と、触覚コミュニケーション時におけるコミュニケーション相手の位置・姿勢とを対応付けたマップを作成する。
【0046】
コミュニケーションを目的とした触行動としては握手や抱擁などが挙げられるが、代表的な行動は誰が見てもその行動の意味が伝わることから、定型的な行動が多いと考えられる。そこで、ロボット10の皮膚センサ58と3次元動作計測システムとを組み合わせることで、ロボット10と人間とのコミュニケーション時の皮膚センサ58の出力と、3次元動作計測システムで計測した人間の位置・姿勢とのマッピングを行う。
【0047】
たとえば、図6に示すような作成システム94が用いられる。この作成システム94は作成用コンピュータ96を含み、作成用コンピュータ96には複数のカメラ98が接続される。また、作成用コンピュータ96には、その内部または外部に3次元動作計測データDB102、皮膚センサデータDB104、マップDB92および触覚アスペクトグラフDB110が設けられる。
【0048】
作成システム94はモーションキャプチャシステムとしての機能を備えるものであり、この実施例ではたとえばVICON社(http://www.vicon.com/)の光学式のモーションキャプチャシステムが適用される。なお、モーションキャプチャシステムは光学式のものに限られず、種々の公知のものが適用され得る。
【0049】
ロボット10と人間100には、たとえば赤外線反射マーカが複数取り付けられ、カメラ98は赤外線ストロボ付きカメラが適用される。複数のカメラ98はロボット10および人間100に対して互いに異なる方向となるように設置され、原理的には少なくとも3台設けられればよい。この実施例では、たとえば12台のカメラ98が環境に設置された。
【0050】
赤外線反射マーカは、図7に示すように、ロボット10および人間100共に、頭部に4箇所、腕部に6箇所×2(左右)、人差し指の指先に1箇所×2(左右)、胴体前部に2箇所、胴体後部に3箇所の合計23箇所に取り付けられる。コミュニケーション時の相手の位置をロボット10を基準とした座標系で得たいので、ロボット10の原点と向きを決めるためにロボット10にもマーカが取り付けられる。ロボット10の原点は任意に設定されてよいがたとえば中心(重心)位置に設定される。座標軸方向も任意であるがたとえば両肩方向がY軸、奥行き方向がX軸、上下方向がZ軸に設定される。
【0051】
この実施例では、人間100がどこを触っているか、どういった姿勢であるかを把握するために、指先と腰部(胴体後部)の合計3箇所のマーカをマップ作成に使用した。指先の位置によって、人間100がどこを触っているのかが把握される。また、上半身のいずれかの位置と指先との相対位置関係から姿勢が決まる。そのうち腰の位置は、カメラ98から見えなくなり難いこと、腰から足が出ているため相手が立っているかしゃがんでいるかなどが分かること等によって、姿勢が分かり易いという利点があるので、腰の位置を対応付けに採用した。なお、その他頭や肩などの位置も対応付けマップに使用すれば、さらに詳しく相手100の位置や姿勢を把握することが可能になる。
【0052】
そして、データ収集のために、カメラ98の環境中でロボット10と相手100との間でコミュニケーションをとる実験を行ってもらう。具体的には握手や抱擁といった触行動を伴うコミュニケーションを行わせる。ロボット10はそのメモリ64に登録されている制御プログラムおよびデータと取得した各種センサデータに基づいて自律的に行動する。
【0053】
図8に、この作成システム94におけるマップ作成処理の動作の一例が示される。まず、ステップS1で、作成用コンピュータ96は、実験によりコミュニケーション時のデータを蓄積する。取得されるデータは、皮膚センサ58の出力データと、3次元動作計測による相手100の指先および腰の位置データである。具体的には、コミュニケーション時の3次元動作データはたとえば60Hz(1秒間に60フレーム)で計測し、皮膚センサデータは20Hz(1秒間に20フレーム)で計測する。皮膚センサデータと位置データとの同期をとるために、実験の開始時に人間100によってロボット10の頭頂部などを叩いてもらい、そのときのデータを計測して両データの時間軸を合わせるようにする。
【0054】
コミュニケーション時の動作は複数のカメラ98によって撮像され、作成用コンピュータ96はそれぞれのカメラ98からの時系列画像データを取得する。取得したフレームごとの画像データの画像処理によって、各画像データにおける各マーカ(指先と腰を含む)の2次元座標データが抽出される。そして、その2次元座標データから各マーカの時系列の3次元座標データが三角測量の原理によって算出される。指先のマーカの座標は、ロボット10の胴体に原点を固定した直交座標系である胴体座標系と、ロボット10の頭部に原点を固定した直交座標系である頭部座標系の2種類で表現される。腰のマーカの座標は胴体座標系で表現される。こうして算出された各マーカの時系列の3次元座標データが3次元動作計側データDB102に格納される。動作計測データをフレームごとに見た場合には、フレームごとの指先と腰の3次元位置がわかるので、相手100がどういった姿勢であるのかを把握でき、また、相手100がどこに位置してどこを触っているのかを把握できる。また、動作計測データを時系列で見た場合には、指先と腰の位置の変化がわかるので、どのような触行動を行っているのか把握できる。
【0055】
また、皮膚センサ58の時系列の出力データはロボット10からたとえば無線LANを介して作成用コンピュータ96に逐次または実験完了後にまとめて取り込まれ、皮膚センサデータDB104に格納される。皮膚センサデータは、上述のように48個の皮膚センサ501−548からの出力を含む46次元データであり、各要素が0〜32(−31〜32の絶対値)の値を有する。
【0056】
続いて、ステップS3で、皮膚センサ出力が閾値以上のフレームを選別する。閾値は48個の皮膚センサ501−548ごとに実験的に求められて予め設定されている。48個の皮膚センサ501−548のうちどれか1つでもその閾値を超えているものがあるかどうかを判断し、閾値を超えているものがある場合にはそのフレームをマップ作成のために採用する。
【0057】
そして、ステップS5では、選別したフレームのデータを用いて、皮膚センサデータを元にISODATA法によってクラスタリングする。つまり、46次元の皮膚センサデータ空間において、パターンの分布が密になっている部分(クラスタ)を見つけ、または各パターンの中でよく似ているものどうしをまとめる。たとえば、まず、選別した各フレームにつき、閾値を超えたセンサを「1」、そうでないセンサを「0」とした46次元ベクトルを作る。これらのベクトルのうち、同じパターンを持つフレームの数が5に満たないものはノイズとして切り捨てられる。残ったパターンの各要素について、値が「1」のときはそのセンサの閾値の1.5倍の値を使い、値が「0」のときはそのセンサの閾値の0.5倍の値を使ったベクトルを生成し、ISODATAの初期クラスタ核とした。ISODATA法はクラスタリングの一手法であり、前段において生成したクラスタを一定基準に従って分割したり併合したりして最終的なクラスタを導く(参考文献:鳥脇純一郎、テレビジョン学会教科書シリーズ9「認識工学―パターン認識とその応用―」、コロナ社、1993)。導き出されたクラスタは、コミュニケーション時の代表的な触られ方を表している。
【0058】
続いて、ステップS7で、指先データの処理を実行する。この指先データの処理は図9に詳細に示される。図9の最初のステップS21では、各クラスタにおける皮膚センサデータと対になった指先の座標(頭部・胴体座標系)について、各座標系での空間密度分布を求める。つまり、各クラスタにおける皮膚センサデータに対応する計測時刻ないしフレームの指先座標データについて処理する。たとえば座標系内を50×50×50[mm]のボクセルで分割し、各ボクセルに指先の座標が何個入っているかを数える。最後にクラスタ内の要素数でボクセル内要素数を割ることで密度を求める。
【0059】
次に、ステップS23では、密度分布の最大値を座標系間で比較し、大きい方の座標系を採用する。つまり、頭と胴体のどちらが触られているのかを判別する。たとえばコミュニケーション時にはロボット10は首の関節を動作させ、頷く、傾げるなどの身体表現を行うが、その際に人間100の指先がロボット10の頭部に触れる場合、指先の位置は頭部の動きに合わせて変化する。その指先の位置は頭部座標系で表せば変化しないが、胴体座標系で表すと、ロボット10の同じ場所を触っているにもかかわらず変化してしまう。したがって、指先の座標が座標系内の広い範囲に拡がっている場合にはその座標系は不適切であり、指先の座標が座標系内のある範囲にかたまっている場合にはその座標系は適切である。密度分布の最大値について、頭部座標系の方が大きい場合には頭が触られており、胴体座標系の方が大きい場合には胴体が触られていることがわかる。
【0060】
そして、ステップS25で、採用した座標系での密度ピーク値が閾値を超えたクラスタを有効なクラスタとして、マップに取り入れる。密度ピーク値は上記ボクセルの26近傍をまとめた際の密度であり、密度の26近傍和である。ピーク値の閾値は実験的に求められ、たとえば0.6に設定される。この閾値での選別によって、位置ないし姿勢が安定していて推定可能なものをクラスタとして採用する。たとえば片手でコミュニケーションをしているときに他方の手がぶらぶらしているものなどは姿勢が推定できないので切り捨てられる。このステップS25によって、有効なクラスタにおける皮膚センサ出力データと対になった指先の座標の確率分布を該有効なクラスタに対応付けてマップとして記憶する。ステップS25を終了すると図8のステップS9へ戻る。
【0061】
図8に戻って、ステップS9では、腰データの処理を実行する。この腰データの処理は図10に詳細に示される。図10の最初のステップS31では、各クラスタにおける皮膚センサデータと対になった腰の座標(胴体座標系)について、空間密度分布を求める。上述の指先データ処理と同様に、各クラスタにおける皮膚センサデータに対応するフレームの腰座標データについて、各ボクセル内に腰の座標が何個入っているかを数えてから、クラスタ内の要素数でボクセル内要素数を割る。そして、ステップS33で、密度ピーク値が閾値を超えたクラスタを有効なクラスタとして、マップに取り入れる。このステップS33によって、有効なクラスタにおける皮膚センサ出力データと対になった腰の座標の確率分布を該有効なクラスタに対応付けてマップとして記憶する。ステップS33を終了すると腰データ処理を終了し、マップ作成処理を終了する。
【0062】
なお、指先と腰以外のたとえば肩や頭などの部位のマーカ位置をマップ作成に採用する場合には、同様にして各位置のデータの処理を実行すればよい。
【0063】
このようにして、皮膚センサ出力のパターン(クラスタ)と相手の位置・姿勢とを対応付けたマップデータが作成され、図6のマップDB92に格納される。マップの概要は図11に示される。たとえば、クラスタ代表値が46次元の皮膚センサベクトルAであるクラスタと、コミュニケーション相手100の指先および/または腰の3次元位置に関する確率分布Aとが対応付けられている。つまり、ロボット10が皮膚センサベクトルAの触り方をされているとき、確率分布Aが、その触り方に対応した相手100の代表的な指先位置と姿勢(腰の位置)を表している。なお、クラスタ代表値は中心値であり、分散がそのクラスタの広がりを示す。
【0064】
図12にはクラスタ代表値の一例が示される。つまり、46次元の皮膚センサベクトルであり、1つの触り方を表している。この図12のクラスタに対応する相手100の指先位置106と腰の位置108の3次元位置(分布の平均)の一例が図13に示される。この図13では同じ位置分布を異なる2つの視点で表示している。相手100の指先がロボット10の両肩に触れており、腰はロボット10の正面上方にあることが把握できる。つまり、この場合の相手100はロボット10の前に立っていて、その両手がロボット10の両肩に触っていることがわかる。
【0065】
このようにして作成された、皮膚センサ出力パターンと触行動をしている相手100の位置または姿勢とを対応付けたマップを元に、作成用コンピュータ96は触覚アスペクトグラフデータを作成する。
【0066】
図14に、作成用コンピュータ96の触覚アスペクトグラフ作成処理の動作の一例が示される。まず、ステップS41で、皮膚センサデータDB104に記憶されている時系列の皮膚センサデータを、マップDB92に記憶されている皮膚センサ出力のクラスタの遷移データに変換する。具体的には、各検出時刻(フレーム)の出力データ(皮膚センサ出力ベクトル)がどのクラスタに属するのかを判別する。たとえば、皮膚センサ出力ベクトルと各クラスタとの距離を算出し、最も近いクラスタを検出する。そして、各検出時刻の皮膚センサデータを所属クラスタの識別情報に対応付けることによって、クラスタの遷移データを作成する。
【0067】
次に、ステップS43で、クラスタの遷移データに基づいて、各クラスタについて、遷移した先のクラスタを検出するとともに、当該遷移先クラスタごとに遷移回数をカウントする。続いて、ステップS45で、各クラスタについて、たとえば各遷移先クラスタの遷移回数を全遷移回数で割ることによって、遷移先クラスタごとの遷移確率を算出する。
【0068】
そして、ステップS47で、クラスタ(クラスタ識別情報)に関連付けて、遷移先のクラスタ(クラスタ識別情報)およびその遷移確率値を記憶する。
【0069】
このようにして作成された、クラスタに関連付けた遷移先クラスタおよび遷移確率を含むデータと、マップDB92のマップデータとが、触覚アスペクトグラフデータとして触覚アスペクトグラフDB110に記憶される。図15に触覚アスペクトグラフデータの内容の一例が示される。図15(A)に示すように、クラスタ番号ごとに、遷移先のクラスタ番号およびその遷移確率値が記憶される。複数の遷移先がある場合には複数の遷移先クラスタ番号および遷移確率を含むデータが記憶される。また、図15(B)に示すように、クラスタ番号と相手位置データ番号との対応付けを示すデータが記憶される。クラスタ番号はクラスタの識別情報であり、相手位置データ番号は、相手位置データ、すなわち、コミュニケーション相手の指先と腰の3次元位置に関する確率分布を示すデータの識別情報である。また、図15(C)に示すように、クラスタ番号ごとに、当該触覚センサ出力(クラスタ)に関するデータが記憶される。また、図15(D)に示すように、相手位置データ番号ごとに、当該相手位置に関するデータが記憶される。コミュニケーション時には、計測された触覚センサ出力ベクトルに対応するクラスタを特定して、図15(A)のデータを参照することによって、遷移先のクラスタ番号およびその遷移確率を取得することができる。そして、図15(B)のデータを参照することによって、遷移先のクラスタ番号に対応する相手位置データ番号を特定できるので、次の相手位置データを取得することができる。したがって、次の相手位置データと遷移確率とに基づいて、次の相手位置、すなわち次の行動を予測することができる。
【0070】
なお、図15(B)、(C)および(D)に示すデータは、触覚センサ出力(クラスタ)とコミュニケーション相手の位置および姿勢を対応付けたマップのデータに相当する。
【0071】
図16には触覚アスペクトグラフの概念図が示される。触覚アスペクトグラフは、上述のように、触覚センサ出力を状態とした確率的状態遷移を示す。触覚センサ出力(クラスタ)は、コミュニケーション相手の位置に対応付けられている。相手の位置は、この実施例では相手の指先および腰の3次元位置の確率分布である。腰の位置はロボット10から見た相手の位置に相当し、指先の位置は触られている場所に相当する。すなわち、触覚アスペクトグラフは、触られ方だけでなく、相手の位置および触る場所が確率的にどのように遷移するかを示すものでもある。したがって、触覚アスペクトグラフを用いて、相手が次に(あるいは近い将来)どこに位置するか、どこを触るのか、どのように触るのかを予測することができる。
【0072】
図16の各ノードは触覚センサ出力(クラスタ)に対応付けられた相手の位置および触られている場所を示している。なお、右上のノード内では、触覚センサ出力(クラスタ)としてクラスタ代表値のグラフが図示されるとともに、当該クラスタに対応する相手の位置および触られている場所が図示される。他のノード内では、相手の位置および触られている場所のみが図示され、対応する触覚センサ出力は省略される。黒い球体が触られている場所(指先の位置)を示し、斜線の付された楕円体が相手の位置(腰の位置)を示す。楕円体から下方へ伸びる線分は相手の腰の高さを示す。
【0073】
この図16の例では、右上のノードでは、相手がロボットの右側に立ちロボットの右肩を触っている状態であることが示されている。ノード間の線は、各ノードの繋がりを示しており、各ノードは、接続されたノードに確率的に遷移する。左上のノードは相手がロボットの右側に立ちロボットの頭頂を触っている状態を示す。右中のノードは相手がロボットの正面に立ちロボットの首下を触っている状態を示す。左中のノードは相手がロボットの正面に立ちロボットの頭頂を触っている状態を示す。右下のノードは相手がロボットの正面でしゃがんでロボットの胸を触っている状態を示す。たとえば、ロボットの右側に立ってロボットの右肩を触っている状態(右上のノード)の次の行動として、相手は、そのままの位置でロボットの頭頂を触る(左上のノード)か、またはロボットの前に移動してロボットの首下を触る(右中のノード)ということが予測できる。
【0074】
図17には、ロボット10の予測処理の動作の一例が示される。ロボット10は、コミュニケーション時に相手から触られたとき、予測処理を開始する。図17の最初のステップS61で、ロボット10のCPU60は、皮膚センサ58からの出力データが検出されたとき、皮膚センサ出力ベクトルを取得する。つまり、すべての皮膚センサ58で検知した圧力をセンサ入力/出力ボード68を介して圧力値データとして検出して、46次元の皮膚センサ出力ベクトルを生成して、メモリ64に記憶する。
【0075】
次に、ステップS63で、取得した皮膚センサベクトルに最も近いクラスタを触覚アスペクトグラフDB110に記憶されているクラスタから選択する。たとえば、現在の皮膚センサ出力ベクトルと各クラスタとの距離は、各クラスタ代表値および各クラスタ内要素の分散から算出される。
【0076】
続いて、ステップS65で、当該選択されたクラスタに対応する位置に眼カメラ50を向けて画像データをメモリ64に取得する。たとえば、触覚アスペクトグラフデータから、当該選択されたクラスタ番号に対応する相手位置データをメモリ64に取得し、当該相手位置データに基づく位置を眼カメラ50で撮影可能になる頭部モータ48の角度制御データを生成し、モータ制御ボード66を介して頭部モータ48の回転角度を制御する。そして、センサ入力/出力ボード68を介して眼カメラ50からの画像データをメモリ64に取得する。
【0077】
続くステップS67で、画像データに基づいて、取得した相手位置データに対応する位置での相手の検出を試みる。そして、ステップS69で、当該位置で相手が検出されたか否かを判断する。ステップS69で“NO”であれば、つまり、当該位置で相手が撮影されていなかった場合には、相手が触覚センサ出力に対応する位置に存在していない。この場合、クラスタを特定できなかったので、ステップS61に戻る。
【0078】
一方、ステップS69で“YES”であれば、つまり、当該位置で相手が撮影されていた場合には、ステップS71で、ステップS65で取得した相手位置データ番号を、現在位置を示す情報としてメモリ64に記憶する。続くステップS73で、触覚アスペクトグラフデータから、当該選択されたクラスタの遷移先の情報をメモリ64に取得する。たとえば、当該選択されたクラスタ番号に対応する遷移先のクラスタ番号および確率値を取得し、当該遷移先のクラスタ番号に対応するクラスタのデータを取得し、当該遷移先クラスタ番号に対応する相手位置データ番号を特定して当該相手位置データ番号に対応する相手位置データを取得する。
【0079】
ステップS75で、その先の情報も必要か否かを判断する。たとえば、相手の次の行動よりもさらに将来の行動を予測して誘導するように設定されている場合等には、その先の情報が必要であると判断される。ステップS75で“YES”であれば、ステップS77で、触覚アスペクトグラフデータから、ステップS73で取得した遷移先クラスタの遷移先の情報をメモリ64に取得する。これによって、次の行動よりもさらに先すなわち近い将来の必要な情報(遷移先クラスタ番号、遷移確率、遷移先のクラスタのデータ、対応する相手位置データ等)が取得される。
【0080】
ステップS75で“NO”である場合、またはステップS77を終了すると、ステップS79で予測対応処理を実行して、ステップS73またはS77で取得した遷移先の情報に基づいて動作を制御する。ステップS79を終了するとこの図17の予測処理を終了する。ステップS79の予測対応処理の動作の一例は次の図18に示される。
【0081】
図18の最初のステップS91で、危険回避するか否かを判断する。たとえば、現在実行している触覚コミュニケーション行動のプログラムまたはデータにおいて予測に基づく危険回避が設定されているか否かを判定する。
【0082】
ステップS91で“YES”であれば、ステップS93で、取得した遷移先の情報に基づいて、相手の次の位置または行動を予測する。たとえば、確率値の最も高い相手位置データを次の相手位置として予測し、メモリ64に予測位置として記憶する。あるいは、可能性のあるもの全てを考慮するように、遷移先として取得された全ての相手位置データを次の相手位置として予測し、メモリ64に予測位置として記憶するようにしてもよい。たとえば、遷移先の相手位置データがロボットの右側と正面と左側とを含む場合には、ロボットの右側、正面および左側のすべてが次の相手の位置として予測されてよい。なお、確率値に応じて重みを考慮するようにしてもよい。
【0083】
そして、ステップS95で、予測位置側への移動の禁止を設定する。たとえば、移動を禁止するフラグをONに設定し、予測位置のうち相手の腰の位置を移動禁止位置として記憶する。また、ステップS97で、予測位置への腕などの部位の動作の禁止を設定する。たとえば、腕の動作を禁止するフラグをONに設定し、予測位置から、相手の指先および腰の位置、ならびに指先と腰の間の領域等を、動作禁止位置として記憶する。ステップS97を終了すると、この予測対応処理を終了する。
【0084】
一方、ステップS91で“NO”であれば、ステップS99で、誘導するか否かを判断する。たとえば、現在実行している触覚コミュニケーション行動のプログラムまたはデータにおいて予測に基づく誘導が設定されているか否かを判定する。
【0085】
ステップS99で“YES”であれば、ステップS101で、取得した遷移先の情報から誘導したい相手の位置または行動を選択する。たとえば、図16の例で、現在の相手位置が右上のノードであり、かつ、2つ先まで予測する場合には、右上以外のノードから誘導したいノードがクラスタ番号あるいは相手位置データ番号等で選択される。たとえば相手が胸を触るように誘導したいときは、右下のノードに相当する相手位置データ番号等が選択される。
【0086】
続いて、ステップS103で選択されたのは遷移先の先への誘導であるか否かを判断する。ステップS103で“YES”であれば、ステップS105で、ステップS101で選択された相手位置の手前側の相手位置を選択する。遷移先のさらに先へ誘導したい場合、その誘導したい位置まで導くために手前側の経路を遷移していく必要があるので、現在のノードから1つ先に相当する相手位置を選択する。たとえば、ステップS101で右下のノードに相当する相手位置データ番号等が選択されている場合には、その手前側の現在のノードに最も近いノードである右中のノードに相当する相手位置データ番号等が選択される。
【0087】
ステップS105を終了し、またはステップS103で“NO”であれば、ステップS107で、選択された位置に相手が存在するように移動または旋回する。具体的には、選択された相手位置データ番号等に対応する相手位置データと現在位置に対応する相手位置データとの差に基づいて、選択位置に相手が存在することになるように車輪モータ16の制御データを変更する。この変更された制御データに基づいてロボット10は旋回または移動し、その結果、相手はロボット10から見て選択された位置に存在することとなる。
【0088】
たとえば、上述の例の続きとして、現在の相手位置がロボット10の右側(図16の右上のノード)であり、選択位置がロボット10の正面(図16の右中のノード)である場合には、たとえばロボット10から現在位置への方向と選択位置への方向との差分(角度差)を算出して、当該角度差だけロボット10を旋回させることによって、相手をロボット10の正面に位置させることができる。この場合、次の行動として、右中のノードのように、相手が、当該位置に対応する触り場所であるロボットの首下を、対応する触り方で触ることが期待される。したがって、予測に対応して、相手の触行動を誘導することができる。そして、皮膚センサ出力ベクトルまたは画像データの確認によって相手がロボット10の首下を触ったことが検出された場合には、その遷移先の左下のノード、すなわち、相手が正面でしゃがんで胸を触る状態に導いていくことが可能になる。ステップS107を終了し、またはステップS99で“NO”である場合には、この予測対応処理を終了する。
【0089】
図19には、コミュニケーション行動実行時の変更処理の動作の一例が示される。図18の予測対応処理で危険回避のために移動または腕動作の禁止が設定されている場合、この変更処理によって制御データが変更される。図19の最初のステップS121では、移動禁止フラグ等に基づいて、移動禁止が設定されているか否かを判断する。ステップS121で“YES”であれば、ステップS123で、ステップS95で設定した禁止位置を取得し、ステップS125で、実行しようとしているコミュニケーション行動の制御データが禁止位置側への移動を含むか否かを判断する。ステップS125で“YES”であれば、ステップS127で、禁止位置側へ移動しないように変更した制御データを生成する。たとえば、禁止位置が正面であり、制御データが前方への移動を含む場合には、車輪モータ16の制御データの前方移動に関する部分をクリアする。このようにして、変更された制御データに基づいて制御が実行されることによって、禁止位置への移動が行われなくなるので、相手に衝突することが防止され、危険を回避することができる。
【0090】
ステップS127を終了し、またはステップS125で“NO”である場合、またはステップS121で“NO”である場合には、ステップS129で、動作禁止フラグ等に基づいて、腕の動作の禁止が設定されているか否かを判断する。ステップS129で“YES”であれば、ステップS131で、ステップS97で設定した禁止位置を取得し、ステップS133で、実行しようとしているコミュニケーション行動の制御データが禁止位置への腕の動作を含むか否かを判断する。ステップS133で“YES”であれば、ステップS135で、禁止位置へ腕を動かさないように変更した制御データを生成する。たとえば、禁止位置が右側であり制御データが右手の動作を含む場合には、右腕モータ40の制御データをクリアし、現在の角度を維持するようにする。また、たとえば、禁止位置が右側であり制御データが右腕の動作を含む場合であって、当該右腕の動作が左腕で代替可能なもの、たとえば右腕でバイバイと手を振るような行動であるときには、当該動作を左腕で行うように変更した制御データを生成するようにしてもよい。ステップS135を終了し、または、ステップS133で“NO”である場合、または、ステップS129で“NO”である場合には、この変更処理を終了する。このようにして、変更された制御データに基づいて制御が実行されることによって、禁止位置への腕などの部位の動作が行われなくなるので、相手に腕などの部位をぶつけることを未然に防止でき、危険を回避することができる。
【0091】
この実施例によれば、相手の位置(たとえば腰および指先)に関連付けられた触覚センサ出力の確率的遷移を示す触覚アスペクトグラフデータを記憶するので、コミュニケーション時には、触覚に基づいて、次の相手の位置、触る場所および触られ方など、触行動が遷移すると予測される先の相手の情報を取得することができるので、相手の次の位置や触行動を予測することができる。そして、予測に応じて動作を制御することによって、相手への衝突などの危険を回避できるので、安全性を向上することができる。また、取得した遷移先の情報と現在の相手の位置との差に基づいて、予測される位置や触行動に相手を誘導することができるので、円滑なコミュニケーションを実現できる。
【0092】
なお、触行動の遷移の個人的な特徴に着目すれば、ロボット10は触覚アスペクトグラフデータを用いて個人認識をすることも可能である。この場合には、複数のコミュニケーション相手ごとの触覚アスペクトグラフデータをたとえば相手IDに関連付けて触覚アスペクトグラフDB110に記憶しておく。コミュニケーション時には、触覚センサ出力ベクトルを計測するとともに画像データから相手の位置を検出することによって、相手の位置および触れている場所ならびに触り方(クラスタ)を特定してこれらの履歴を記憶していくことによって、触行動の遷移を記録する。そして、遷移の仕方がどの相手IDの触覚アスペクトグラフデータに適合するかを判定することによって、コミュニケーション相手が誰であるかを特定することができる。
【図面の簡単な説明】
【0093】
【図1】この発明の一実施例のコミュニケーションロボットを示す図解図である。
【図2】図1実施例のコミュニケーションロボットに用いる皮膚とその中に埋め込まれるピエゾセンサシートとを示す図解図である。
【図3】ピエゾセンサシートの配置位置を示す図解図である。
【図4】図1実施例のコミュニケーションロボットの電気的構成を示すブロック図である。
【図5】図1実施例のコミュニケーションロボットにおけるピエゾセンサシートから検知信号を入力するセンサ入力/出力ボードを部分的に示す図解図である。
【図6】図1実施例のコミュニケーションロボットに備えられる触覚アスペクトグラフを作成するためのマップ作成システムの概要を示す図解図である。
【図7】マップ作成時の赤外線反射マーカの取付位置を示す図解図である。
【図8】図6の作成用コンピュータのマップ作成処理の動作の一例を示すフロー図である。
【図9】図8の指先データの処理の動作を示すフロー図である。
【図10】図8の腰データの処理の動作を示すフロー図である。
【図11】マップDBに記憶されるマップデータの概要を示す図解図である。
【図12】クラスタ代表値の一例を示す図解図である。
【図13】図12のクラスタ代表値に対応する相手の指先と腰の位置の分布の概要を示す図解図である。
【図14】図6の作成用コンピュータの触覚アスペクトグラフ作成処理の動作の一例を示すフロー図である。
【図15】触覚アスペクトグラフDBに記憶されるデータの内容の一例を示す図解図であり、図15(A)はクラスタ番号ごとの遷移先クラスタ番号とその遷移確率を含むデータを示し、図15(B)はクラスタ番号と相手位置データ番号との対応付けを示すデータを示し、図15(C)はクラスタ番号ごとの触覚センサ出力(クラスタ)のデータを示し、図15(D)は相手位置番号データごとの相手位置データを示す。
【図16】触覚アスペクトグラフの概念を示す図解図である。
【図17】図1実施例のコミュニケーションロボットの予測処理における動作の一例を示すフロー図である。
【図18】図17の予測対応処理の動作の一例を示すフロー図である。
【図19】図1実施例のコミュニケーションロボットのコミュニケーション行動実行時の変更処理における動作の一例を示すフロー図である。
【符号の説明】
【0094】
10 …コミュニケーションロボット
22 …人体状部
24 …皮膚
50 …眼カメラ
58,501−548 …触覚センサ(ピエゾセンサシート)
60 …CPU
64 …メモリ
66 …モータ制御ボード
68 …センサ入力/出力ボード
70 …サウンド入力/出力ボード
92 …マップDB
94 …作成システム
96 …作成用コンピュータ
110 …触覚アスペクトグラフDB
【技術分野】
【0001】
この発明はコミュニケーションロボットに関し、特にたとえば、全身に分布された触覚センサを備え、触覚に基づいて相手の触行動を予測するコミュニケーションロボットに関する。
【背景技術】
【0002】
日常環境の中で活動するロボットにとって表面の柔らかさと敏感さは、コミュニケーションの相手となる人間への安全性という面において重要である。さらに、スキンシップという言葉の通り、体の表面は最初に触れるインタフェースであることから、コミュニケーションの相手がどのようにどの場所に触れているかを知ることは、相手の状態を知ることに繋がる。たとえば強く握ったり、やさしくなでたりするという触行動は自分の意思や気持ちを相手に伝えるための行動であり、根本的なコミュニケーション行動の1つである。したがって、ロボットの全身の柔らかさと触覚は、日常環境の中で活動するコミュニケーションロボットにとって非常に重要である。
【0003】
そこで、本件出願人は、たとえば特許文献1において、柔らかい皮膚を持ち、触覚情報を出力するピエゾセンサ(触覚センサまたは皮膚センサ)を全身に配置したコミュニケーションロボットを提案している。この特許文献1のコミュニケーションロボットでは、触覚センサの出力情報から圧力の強弱、持続時間、または変化の周波数などに着目することで、コミュニケーション相手である人間の触り方を区別することができることがわかっている。
【特許文献1】特開2004−283975号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
従来技術では、たとえば撫でられているときに圧力がどういう力加減で変化するのかというように、短い時間間隔(たとえば2、3秒程度)での触り方が区別されていた。ロボットの状況をコミュニケーションに限定した場合には、長い時間間隔で捉えたときに次にどこに位置してどの場所をどのように触るのかというようなコミュニケーション相手である人間の触行動の遷移を、触覚に基づいてある程度限定することが可能である。
【0005】
それゆえに、この発明の主たる目的は、触覚コミュニケーションでの相手の次の位置や触行動を予測できる、コミュニケーションロボットを提供することである。
【課題を解決するための手段】
【0006】
請求項1の発明は、複数の触覚センサ、触行動をしているコミュニケーションの相手の位置に関連付けられた複数の触覚センサの出力のパターンの確率的な遷移を示す触覚アスペクトグラフデータを記憶する触覚アスペクト記憶手段、複数の触覚センサの出力データを取得する取得手段、取得手段によって出力データを取得するときの相手の位置を検出する検出手段、取得手段によって取得された複数の触覚センサの出力データと検出手段による検出結果に基づいて、触覚アスペクト記憶手段から相手の少なくとも次の位置を含む遷移先の情報を取得する遷移先情報取得手段、および遷移先情報取得手段によって取得された遷移先の情報に基づいて動作を制御する制御手段を備える、コミュニケーションロボットである。
【0007】
請求項1の発明では、コミュニケーションロボットには、たとえば全身に分布して、複数の触覚センサが設けられる。触覚アスペクト記憶手段には、触行動をしているコミュニケーションの相手の位置に関連付けられた複数の触覚センサの出力のパターンの確率的な遷移を示す触覚アスペクトグラフデータが記憶されている。つまり、触覚アスペクトグラフデータは、複数の触覚センサの出力のパターンを状態とした確率的状態遷移を示す。たとえば、複数の触覚センサの出力パターンは複数のクラスタとして記憶されていて、複数のクラスタごとに、遷移先となるクラスタおよびその遷移確率が記憶される。クラスタは、触覚コミュニケーションにおける代表的な触られ方を示している。また、複数のクラスタのそれぞれに関連付けて、相手の位置に関する情報が記憶される。たとえば、相手の位置に関する情報はコミュニケーションロボットのたとえば重心などの位置を基準とした少なくとも相手の指先および腰の位置に関する確率分布として記憶される。つまり、この場合の触覚アスペクトグラフデータにおいて相手の位置は、相手の存在している位置(腰の位置)および相手に触られている場所(指先の位置)を示す。したがって、触覚アスペクト記憶手段には、相手の存在している位置、触られている場所およびそのときの触られ方がどのように確率的に遷移していくかを示す情報が記憶されている。コミュニケーションロボットに対して相手が触行動を行ったとき、取得手段は、複数の触覚センサの出力データを取得する。また、検出手段は、触覚センサの出力データを取得するときの相手の位置を検出する。検出手段は、実施例では、ロボットのたとえば頭部に設けられた眼カメラを含み、当該カメラで撮影された画像データに基づいて相手の位置を検出する。遷移先情報取得手段は、取得手段によって取得された複数の触覚センサの出力データと検出手段による検出結果に基づいて、触覚アスペクト記憶手段から相手の少なくとも次の位置を含む遷移先の情報を取得する。たとえば、複数の触覚センサの出力データと画像データに基づいて、触覚アスペクトグラフデータにおける現在のクラスタ、すなわち現在の相手の位置が特定される。そして、触覚アスペクトグラフデータから少なくとも相手の次の位置を含む遷移先の情報を取得する。取得した遷移先の情報から、コミュニケーションロボットは、少なくとも次には、相手の位置、触られる場所、触られ方などがどのように確率的に遷移するのかを知ることができ、つまり、少なくとも次の触行動を予測することができる。制御手段は、取得された遷移先の情報に基づいて動作を制御する。したがって、触覚に基づいて相手の次の位置などの触行動を予測することができ、その予測に対応して動作を制御することができるので、たとえば、危険回避によって安全性を向上でき、相手の誘導によって円滑なコミュニケーションを実現できる。
【0008】
請求項2の発明は、請求項1の発明に従属し、制御手段は、遷移先情報取得手段によって取得された相手の次の位置への移動または部位の動きを回避する。
【0009】
請求項2の発明では、制御手段は、相手の次の位置への移動または部位の動きを回避する。たとえば、取得した遷移先の情報に基づいて相手の次の位置を予測し、当該予測位置への移動または部位の動きを禁止または制限するような制御データを生成して、動作を制御する。したがって、相手への衝突や腕などの部位が相手にぶつかるのを防止することができるので、危険を回避することができ、安全性を向上できる。
【0010】
請求項3の発明は、請求項1の発明に従属し、制御手段は、取得手段によって取得された複数の触覚センサの出力データに対応する相手の位置と遷移先情報取得手段によって取得された相手の次の位置との差分に基づいて移動または旋回を制御する。
【0011】
請求項3の発明では、制御手段は、複数の触覚センサの出力データに対応する相手の位置すなわち相手の現在の位置と、相手の次の位置との差分に基づいて、移動または旋回を制御する。これによって、遷移先情報取得手段によって取得された次の位置に相手が存在することになるようにコミュニケーションロボットを移動または旋回させることができる。したがって、予測される次の位置に相手を位置させることができるので、相手が当該次の位置に対応する触り場所を触ったり、当該次の位置に対応する触り方を行ったりすることが期待される。つまり、予測される触行動に相手を誘導することができる。また、さらに先の遷移先の位置ないし触行動に導いていくこともできる。したがって、予測に対応して相手を所望の位置や触行動に誘導することができるので、円滑なコミュニケーションを実現できる。
【0012】
請求項4の発明は、請求項1ないし3のいずれかの発明に従属し、ロボット本体上に被せられる柔軟素材からなる皮膚をさらに備え、複数の触覚センサは皮膚中に分散配置される複数のピエゾセンサシートを含む。
【0013】
請求項4の発明では、たとえば筐体などを含むロボット本体上には柔軟素材からなる皮膚が被せられ、この皮膚中に、複数の触覚センサとして複数のピエゾセンサシートが分散配置される。したがって、たとえば全身分布型皮膚センサを有するコミュニケーションロボットを実現することができ、また、柔らかい皮膚を介して触行動が行われるので、相手に対して安心感を与えて親和性と安全性をより向上できるとともに、より円滑な触覚コミュニケーションを実現できる。
【発明の効果】
【0014】
この発明によれば、相手の位置に対応付けられた触覚センサ出力の確率的遷移を示す触覚アスペクトグラフデータを記憶するようにしたので、触覚に基づいて相手の次の位置ないし触行動を予測することができる。したがって、予測に対応して動作を制御することによって、たとえば危険を回避したり、相手を予測された位置や触行動に誘導したりできるので、安全性を向上でき、また、円滑なコミュニケーションを実現できる。
【0015】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【0016】
図1を参照して、この実施例のコミュニケーションロボット(以下、単に「ロボット」ということがある。)10は台車12を含み、この台車12の側面には、このロボット10を自律移動させる車輪14が設けられる。この車輪14は、車輪モータ(図4において参照番号「16」で示す。)によって駆動され、台車12すなわちロボット10を前後左右任意の方向に動かすことができる。なお、図示しないが、この台車12の前面には、衝突センサが取り付けられ、この衝突センサは、台車12への人間や他の障害物の接触を検知する。
【0017】
台車12の上には、多角形柱状のセンサ取付パネル18が設けられ、このセンサ取付パネル18の各面には、超音波距離センサ20が取り付けられる。この実施例ではたとえば24個の超音波距離センサ20が周囲360度にわたるように設けられる。この超音波距離センサ20は、センサ取付パネル18すなわちロボット10の周囲の主として人間との距離を計測するものである。具体的には、超音波距離センサ20は超音波を発射し、その超音波が人から反射されて超音波距離センサ20に入射されたタイミングを測定して、人との間の距離情報を出力する。
【0018】
台車12の上には、人体状部22が直立するように取り付けられる。このロボット本体としての人体状部22の全身は、後に詳しく説明するように、柔軟素材からなる皮膚24によって覆われる。人体状部22は、たとえば鉄板のような筐体(図示せず)を含み、その筐体にコンピュータやその他必要なコンポーネントを収容している。そして、皮膚24は、その筐体上に被せられる。皮膚24の下の筐体の上部ほぼ中央にはマイク26が設けられる。このマイク26は、周囲の音声、特に人間の声を収集するためものである。
【0019】
人体状部22は、右腕28Rおよび左腕28Lを含み、右腕28Rおよび左腕28Lすなわち上腕30Rおよび30Lは、それぞれ、肩関節32Rおよび32Lによって、胴体部分に変位自在に取り付けられる。この肩関節32Rおよび32Lは、3軸の自由度を有する。上腕30Rおよび30Lには、1軸の肘関節34Rおよび34Lによって、前腕36Rおよび36Lが取り付けられ、この前腕36Rおよび36Lには、手38Rおよび38Lが取り付けられる。これら右腕28Rおよび左腕28Lの各関節における各軸はここでは図示しないモータによってそれぞれ制御される。すなわち、右腕28Rおよび左腕28Lのそれぞれ4個のモータが、図4において、それぞれ右腕モータ40および左腕モータ42として表される。
【0020】
人体状部18の上部には首関節44を介して頭部46が、人間の頭と同様に俯仰・回転可能に取付けられる。この3軸の首関節44は、図4に示す頭部モータ48によって制御される。頭部46の前面の「目」に相当する位置には2つの眼カメラ50が設けられ、この眼カメラ50は、ロボット10に接近した人間の顔や他の部分を撮影してその映像信号を取り込む。頭部46の前面の目カメラ50の下方にはスピーカ52が設けられる。このスピーカ52は、ロボット10がそれの周囲の人間に対して音声によってコミュニケーションを図るために用いられる。
【0021】
上で説明した人体状部22の胴体や頭部46および腕は上記したようにすべて柔軟な素材からなる皮膚24に覆われる。この皮膚24は、図2に示すように、下層のウレタンフォーム54と、その上に積層される比較的肉厚のシリコンゴム層56aおよび比較的肉薄のシリコンゴム層56bとを含む。そして、2つのシリコンゴム層56aおよび56bの間に、ピエゾセンサシート(皮膚センサ)58が埋め込まれる。このピエゾセンサシート58は、たとえば米国MSI社製、株式会社東京センサ販売のピエゾフィルムを用いる(http://www.t-sensor.co.jp/PIEZO/TOP/index.html)。実施例のロボットに使用したのはA4サイズ(型番:200×140×28)のピエゾフィルムを1/2、1/3、1/4、1/6の大きさにはさみでカットしたピエゾセンサシートである。このピエゾフィルムは、圧電フィルム(たとえばPVDF(ポリビニリデンフルオロイド))の両面に金属薄膜が形成された構造、つまり、圧電体が導体で挟まれた構造を有する。圧力等で変形すると両面金属薄膜間にピエゾ電気を発生し、すなわち、電荷があらわれて電位差が生じる。
【0022】
実施例では、上述のように、発泡ウレタンとシリコンゴムとを使って皮膚24の柔らかさを得た。シリコンゴムだけである程度の厚みと柔らかさとを得ようとすると、重くなりすぎてエネルギ消費量が大きくなるだけでなく、裂傷に弱くなる。そこで、発明者等は、実験を重ねた結果、大まかな形と厚みはウレタンフォームで作り、その表面を約20mmのシリコンゴムで覆う形を採用することとした。そして、シリコンゴム層を2つにし、それらのシリコンゴム層56aおよび56bの間に、上述のピエゾセンサシート58を埋め込んだ。このとき、内側のシリコンゴム層56aを厚く(約15mm)し、表面側のシリコンゴム層56bを薄く(約5mm)した。このようにすると、ロボット10の振動や人間が表面を押したときに生じる高周波の振動をカットでき、なおかつフィルムが変形し易くなるので、圧力の計測が容易になる。つまり、シリコンゴム層の厚みはロボット10の構造やパワーによるが、なるべく薄く、しかし変形が伝わり易く、雑音となる振動が伝わり難いものが必要となる。また、この柔らかい皮膚を介して、人との間で触行動によるコミュニケーションを行うことができるので、人に対して安心感を与えて親和性を高めることができるし、触れたりぶつかったりした場合の人の怪我を防止して安全性も高めることができる。
【0023】
なお、皮膚24の素材は軟性素材であればよく、上述のものに限定されずたとえば他のゴム素材等でもよい。ただし、ピエゾフィルムシートの表面金属薄膜が腐食しない材質である必要がある。また、皮膚24の厚み(各層の厚み)は、素材によって適宜変更され得る。
【0024】
上述のピエゾセンサシートすなわち皮膚センサ(触覚センサ)58は人体状部22の全身にわたって埋め込まれ、それによって、人間等が接触することによって皮膚24に加えられた圧力を圧覚(触覚)情報として検知する。この実施例では、図3に示すように、ロボット10の全身にわたって48枚のピエゾセンサシート501−548を埋め込んだ。つまり、ロボット10は全身分布型皮膚センサを有するといえる。埋め込み状況(場所)に関しては、人間に触られやすい部位、たとえば頭頂や肩それに腕(手を含む)には、圧力を正確かつ確実に検知できるように、隙間なくピエゾセンサシートを埋め込み、あまり触られることを想定していない部位たとえば足あるいは脇腹には許容できる隙間を持ってピエゾセンサシートを埋め込んだ。それによって、検出精度と製造コストとのトレードオフを解決した。なお、これら48枚のピエゾセンサシート501−548は、場合によっては、参照番号58で区別なしに示されることがあることに留意されたい。
【0025】
図1に示すロボット10の電気的構成が図4のブロック図に示される。図4に示すように、このロボット10は、全体の制御のためにマイクロコンピュータまたはCPU60を含み、このCPU60には、バス62を通して、メモリ64,モータ制御ボード66,センサ入力/出力ボード68およびサウンド入力/出力ボード70が接続される。
【0026】
メモリ64は、図示しないが、ROMやHDD、RAMを含む。ROMやHDDにはこのロボット10の制御プログラムが予め書き込まれている。制御プログラムはたとえばコミュニケーション行動を実行するためのプログラム、外部のコンピュータと通信するためのプログラム等を含む。メモリ64にはまた、コミュニケーション行動を実行するためのデータが記憶され、そのデータは、たとえば、個々の行動を実行する際に、スピーカ52から発生すべき音声または声の音声データ(音声合成データ)、および所定の身振りを提示するための各関節軸の角度制御データ等を含む。RAMは、一時記憶メモリとして用いられるとともに、ワーキングメモリとして利用される。
【0027】
モータ制御ボード66は、たとえばDSP(Digital Signal Processor) で構成され、各腕や頭部などの各軸モータを制御する。すなわち、モータ制御ボード66は、CPU60からの制御データを受け、右肩関節32Rの3軸のそれぞれの角度を制御する3つのモータと右肘関節34Rの1軸の角度を制御する1つのモータとの計4つのモータ(図4ではまとめて、「右腕モータ」として示す。)40の回転角度を調節する。また、モータ制御ボード66は、左肩関節32Lの3軸と左肘関節34Lの1軸、計4つのモータ(図4ではまとめて、「左腕モータ」として示す。)42の回転角度を調節する。モータ制御ボード66は、また、頭部46の3軸のモータ(図4ではまとめて、「頭部モータ」として示す。)48の回転角度を調節する。そして、モータ制御ボード66は、車輪14を駆動する2つのモータ(図4ではまとめて、「車輪モータ」として示す。)16を制御する。
【0028】
なお、この実施例の上述のモータは、車輪モータ16を除いて、制御を簡単化するためにそれぞれステッピングモータまたはパルスモータであるが、車輪モータ16と同様に、直流モータであってよい。
【0029】
センサ入力/出力ボード68も、同様に、DSPで構成され、各センサやカメラからの信号を取り込んでCPU60に与える。すなわち、図示しない衝突センサの各々からの接触に関するデータがこのセンサ入力/出力ボード68を通して、CPU60に入力される。また、眼カメラ50からの映像信号が、必要に応じてこのセンサ入力/出力ボード68で所定の処理が施された後、CPU60に入力される。
【0030】
このセンサ入力/出力ボード68は、さらに、図5に示すように、複数(実施例では12枚)の基板72,72…を含み、各基板72には、それぞれ1つのPICマイコン74が設けられる。PICマイコン74はたとえばASICで構成され、同じく基板72に設けられたA/D変換器76からの電圧データ(たとえば10ビット)をビット直列信号として出力する。
【0031】
皮膚センサ58は、図5に示すようにピエゾフィルム78を電極ないし導体80aおよび80bで挟んだものであり、圧力が加えられるとそのピエゾフィルム78が電圧を発生し、その電圧が2つの導体80aおよび80b間に現れる。ただし、このとき発生される電圧は電位は高いが電流が微弱なため、この発生電圧をそのまま長いケーブルでコンピュータ60(図4)に取り込むことは、ノイズが多く乗ってしまうので難しい。そこで、この実施例では、図5に示す基板72を皮膚センサ58に近い位置に配置し、その中に高インピーダンスの読み取り装置、すなわちA/D変換器76を配置し、このA/D変換器76で変換した電圧値をPICマイコン74で読み取ってシリアル信号として出力し、それをCPU60へ送るようにした。なお、ピエゾフィルムシートの電極の配置の一例として、導体80aは皮膚24の表面側に配置され、導体80bは筐体側に配置される。
【0032】
A/D変換器76は、実施例では4チャネル10ビットのものを用いた。したがって、1つの基板72が4つの皮膚センサ58を受け持つことができる。基板72には、4つのピエゾセンサシートのために4対の端子82aおよび82bが設けられ、それぞれに電極80aおよび80bが接続される。端子82aおよび82b間にはノイズ除去用コンデンサ84が接続されている。したがって、端子82aおよび82b間に与えられた皮膚センサ58からの電圧は、ノイズ除去された後、オペアンプ86によって電流増幅され、上述のA/D変換器76の1つのチャネルに入力される。図5では1つの皮膚センサ58が示されるだけであるが、他の皮膚センサ58およびそれに関連する回路も同様に構成されるものである。
【0033】
上述のように人体状部22の皮膚24中には48個のピエゾセンサシート501−548が全身にわたって埋め込まれているが、それらをすべてロボット制御用のCPUないしコンピュータ60で読み取ろうとすると、ノイズを拾い易いだけでなく、コンピュータのA/Dポートを非常に多く必要としてしまい、現実的ではない。そこで、上述のように読み取り装置(基板72、A/D変換器76)を皮膚センサ58の近傍に分散配置し、それぞれの出力を1本のシリアルケーブル、たとえばRS232C(商品名)で繋いだ、いわゆるデイジーチェーンを形成した。したがって、図5に示す1つの基板72のPICマイコン74から出力されたビットシリアル信号は、次段の基板72のPICマイコン74のシリアル入力ポートに与えられる。当該次段のPICマイコン74は、前段のPICマイコン74から送られてきたデータに自分が担当するA/D変換器76から読み込んだデータを加えて、ビット直列信号として出力する。したがって、コンピュータ60は、1つのシリアルポートで全身の皮膚センサ58からの検知情報を取り込めるようになっている。
【0034】
なお、各PICマイコン74から出力される検知データは、図3に示す48個のピエゾセンサシート501−548のいずれであるかを示す識別子と、圧力値に関する情報とを含むので、コンピュータ60は、どの(部位の)ピエゾセンサシートがどの程度の圧力を受けているかを容易に特定できる。
【0035】
ただし、この実施例では、左右の手先に設けられるそれぞれ5つのピエゾセンサシート535−539と544−548については、A/D変換器76の入力が4つであることから、便宜上、先端の1個(右手:539、左手:548)と外側の1個(右手:536、左手:545)の出力を並列にしている。したがって、この実施例では、左右の手先の皮膚センサ58は実質的にそれぞれ4個となるので、皮膚センサ58の出力データは46次元データとなる。
【0036】
出力を読み取る場合、具体的には、コンピュータ60は、たとえば50msecの周期で、ビットシリアルデータを出力する最終段のPICマイコン74にポーリングをかけ、50msec周期ですべてのピエゾセンサシート501−548の検知データを読み取ることができる。検知データは、A/D変換器76(図5)からはたとえば正負32段階、合計64段階で出力される。つまり、10ビットのうち下位4ビットはノイズ成分として捨て、上位6ビットのデータだけが各PICマイコン74(図5)から出力される。
【0037】
そして、コンピュータ60は、皮膚センサ58で検知した64段階のデータを用いて、たとえば触られ方の強弱、押された状態の持続時間または電圧変化の波形の周波数(圧力変化の周波数)などの接触状態を計測することができる。触られ方の強弱によってたとえば「ひどく叩かれたか」、「軽く叩かれたか」、「やさしく手を置かれたか」、「軽く触られたか」などを判断することができ、持続時間によってたとえば「叩かれたか」、「押されたか」などの継続状態を判断することができ、圧力変化の周波数によってたとえば「叩かれているのか」、「なでられているのか」、「くすぐられているのか」という触られ方の種類を判断することができる。そして、ロボット10は、触り方(接触状態)に応じて動作を制御することができる。このような動作制御は、本件出願人による特許文献1(特開2004−283975号)にも詳細に開示されるので参照されたい。
【0038】
図4に戻って、スピーカ52にはサウンド入力/出力ボード70を介して、CPU60から、合成音声データが与えられ、それに応じて、スピーカ52からはそのデータに従った音声または声が出力される。また、マイク26からの音声入力が、サウンド入力/出力ボード70を介して、CPU60に取り込まれる。
【0039】
また、CPU60には、バス62を介して通信LANボード88および無線通信装置90が接続される。通信LANボード88は、DSPで構成され、CPU60から送られる送信データを無線通信装置90に与え、無線通信装置90から送信データを、図示は省略するが、たとえば無線LANまたはインタネットのようなネットワークを介して外部のコンピュータに送信させる。また、通信LANボード88は、無線通信装置90を介してデータを受信し、受信したデータをCPU60に与える。つまり、この通信LANボード88および無線通信装置90によって、ロボット10は外部のコンピュータ等と無線通信を行うことができる。
【0040】
さらに、CPU60は、バス62を介して触覚アスペクトグラフデータベース(DB)92に接続される。ただし、このデータベースは、外部のコンピュータまたは外部のネットワーク上にアクセス可能に設けるようにしてもよい。
【0041】
触覚アスペクトグラフDB110には、触覚コミュニケーション時の相手の位置および姿勢に対応付けられた触覚センサ出力を状態とした、確率的状態遷移を示すデータ(触覚アスペクトグラフデータ)が記憶される。アスペクトグラフは、物体(パターン)認識の記述として利用され、物体の見え方(一般的にはカメラ画像情報に基づく)がどのように変化(遷移)していくかを示す。触覚センサ出力は、触覚コミュニケーション時の相手の位置および姿勢に対応付けられて記憶されており、したがって、このロボット10は、触覚センサ58を通して相手の位置を見る。そこで、触覚を通しての相手の見え方を示す触覚センサ出力の確率的遷移を、アスペクトグラフという用語を用いて、触覚アスペクトグラフと表現するものとする。なお、触覚センサ58の出力と、触覚コミュニケーション時におけるコミュニケーション相手の位置・姿勢とを対応付けたデータをマップというものとする。
【0042】
たとえば、ロボット10は、コミュニケーション時に皮膚センサ58の出力データを計測して、この触覚アスペクトグラフデータに含まれるマップデータを用いることで、触行動をしている相手が、現在どのような位置に居てどのような姿勢であるかを把握することができる。人間は日常のインタラクションやスキンシップコミュニケーションにおいて皮膚感覚を通して様々な情報を得ており、たとえば後ろから抱き付かれてもどのような抱き付き方をされたのか把握することができる。このロボット10は、このマップデータによって、人間と同じように、目で見なくても触覚によって相手がどういった触行動をとっているのかを認識することが可能である。
【0043】
また、このロボット10は、計測した触覚センサ58の出力データと触覚アスペクトグラフデータとに基づいて、次にどのような触覚センサ出力に確率的に遷移するかを把握することができる。つまり、ロボット10は、遷移先の触覚センサ出力(クラスタ)に基づいて、次にどのような触られ方をするかを予測することができる。また、触覚センサ出力は相手の位置および姿勢に対応付けられているので、このロボット10は、コミュニケーション相手の次の位置および姿勢を予測することができる。具体的には、相手の位置および姿勢は、この実施例では、相手の指先および腰の3次元位置に関する確率分布から把握される。したがって、ロボット10は、次の触行動では、相手の腰がどこに位置して、その指先がどこに触れるのかを予測することができる。
【0044】
このように、ロボット10は、相手の次の行動(触行動)を予測することができる。また、触覚アスペクトグラフデータは、上述のように触覚センサ出力の確率的遷移を示すので、触覚アスペクトグラフデータに基づいて、1つ先への遷移だけでなく、更なる先への遷移も把握することが可能である。したがって、ロボット10は、たとえば相手のさらに次の行動など、近い将来の行動(相手の位置、触られる場所、触られ方等)を予測することも可能になっている。
【0045】
この触覚アスペクトグラフデータを作成する際には、まず、触覚センサ58の出力と、触覚コミュニケーション時におけるコミュニケーション相手の位置・姿勢とを対応付けたマップを作成する。
【0046】
コミュニケーションを目的とした触行動としては握手や抱擁などが挙げられるが、代表的な行動は誰が見てもその行動の意味が伝わることから、定型的な行動が多いと考えられる。そこで、ロボット10の皮膚センサ58と3次元動作計測システムとを組み合わせることで、ロボット10と人間とのコミュニケーション時の皮膚センサ58の出力と、3次元動作計測システムで計測した人間の位置・姿勢とのマッピングを行う。
【0047】
たとえば、図6に示すような作成システム94が用いられる。この作成システム94は作成用コンピュータ96を含み、作成用コンピュータ96には複数のカメラ98が接続される。また、作成用コンピュータ96には、その内部または外部に3次元動作計測データDB102、皮膚センサデータDB104、マップDB92および触覚アスペクトグラフDB110が設けられる。
【0048】
作成システム94はモーションキャプチャシステムとしての機能を備えるものであり、この実施例ではたとえばVICON社(http://www.vicon.com/)の光学式のモーションキャプチャシステムが適用される。なお、モーションキャプチャシステムは光学式のものに限られず、種々の公知のものが適用され得る。
【0049】
ロボット10と人間100には、たとえば赤外線反射マーカが複数取り付けられ、カメラ98は赤外線ストロボ付きカメラが適用される。複数のカメラ98はロボット10および人間100に対して互いに異なる方向となるように設置され、原理的には少なくとも3台設けられればよい。この実施例では、たとえば12台のカメラ98が環境に設置された。
【0050】
赤外線反射マーカは、図7に示すように、ロボット10および人間100共に、頭部に4箇所、腕部に6箇所×2(左右)、人差し指の指先に1箇所×2(左右)、胴体前部に2箇所、胴体後部に3箇所の合計23箇所に取り付けられる。コミュニケーション時の相手の位置をロボット10を基準とした座標系で得たいので、ロボット10の原点と向きを決めるためにロボット10にもマーカが取り付けられる。ロボット10の原点は任意に設定されてよいがたとえば中心(重心)位置に設定される。座標軸方向も任意であるがたとえば両肩方向がY軸、奥行き方向がX軸、上下方向がZ軸に設定される。
【0051】
この実施例では、人間100がどこを触っているか、どういった姿勢であるかを把握するために、指先と腰部(胴体後部)の合計3箇所のマーカをマップ作成に使用した。指先の位置によって、人間100がどこを触っているのかが把握される。また、上半身のいずれかの位置と指先との相対位置関係から姿勢が決まる。そのうち腰の位置は、カメラ98から見えなくなり難いこと、腰から足が出ているため相手が立っているかしゃがんでいるかなどが分かること等によって、姿勢が分かり易いという利点があるので、腰の位置を対応付けに採用した。なお、その他頭や肩などの位置も対応付けマップに使用すれば、さらに詳しく相手100の位置や姿勢を把握することが可能になる。
【0052】
そして、データ収集のために、カメラ98の環境中でロボット10と相手100との間でコミュニケーションをとる実験を行ってもらう。具体的には握手や抱擁といった触行動を伴うコミュニケーションを行わせる。ロボット10はそのメモリ64に登録されている制御プログラムおよびデータと取得した各種センサデータに基づいて自律的に行動する。
【0053】
図8に、この作成システム94におけるマップ作成処理の動作の一例が示される。まず、ステップS1で、作成用コンピュータ96は、実験によりコミュニケーション時のデータを蓄積する。取得されるデータは、皮膚センサ58の出力データと、3次元動作計測による相手100の指先および腰の位置データである。具体的には、コミュニケーション時の3次元動作データはたとえば60Hz(1秒間に60フレーム)で計測し、皮膚センサデータは20Hz(1秒間に20フレーム)で計測する。皮膚センサデータと位置データとの同期をとるために、実験の開始時に人間100によってロボット10の頭頂部などを叩いてもらい、そのときのデータを計測して両データの時間軸を合わせるようにする。
【0054】
コミュニケーション時の動作は複数のカメラ98によって撮像され、作成用コンピュータ96はそれぞれのカメラ98からの時系列画像データを取得する。取得したフレームごとの画像データの画像処理によって、各画像データにおける各マーカ(指先と腰を含む)の2次元座標データが抽出される。そして、その2次元座標データから各マーカの時系列の3次元座標データが三角測量の原理によって算出される。指先のマーカの座標は、ロボット10の胴体に原点を固定した直交座標系である胴体座標系と、ロボット10の頭部に原点を固定した直交座標系である頭部座標系の2種類で表現される。腰のマーカの座標は胴体座標系で表現される。こうして算出された各マーカの時系列の3次元座標データが3次元動作計側データDB102に格納される。動作計測データをフレームごとに見た場合には、フレームごとの指先と腰の3次元位置がわかるので、相手100がどういった姿勢であるのかを把握でき、また、相手100がどこに位置してどこを触っているのかを把握できる。また、動作計測データを時系列で見た場合には、指先と腰の位置の変化がわかるので、どのような触行動を行っているのか把握できる。
【0055】
また、皮膚センサ58の時系列の出力データはロボット10からたとえば無線LANを介して作成用コンピュータ96に逐次または実験完了後にまとめて取り込まれ、皮膚センサデータDB104に格納される。皮膚センサデータは、上述のように48個の皮膚センサ501−548からの出力を含む46次元データであり、各要素が0〜32(−31〜32の絶対値)の値を有する。
【0056】
続いて、ステップS3で、皮膚センサ出力が閾値以上のフレームを選別する。閾値は48個の皮膚センサ501−548ごとに実験的に求められて予め設定されている。48個の皮膚センサ501−548のうちどれか1つでもその閾値を超えているものがあるかどうかを判断し、閾値を超えているものがある場合にはそのフレームをマップ作成のために採用する。
【0057】
そして、ステップS5では、選別したフレームのデータを用いて、皮膚センサデータを元にISODATA法によってクラスタリングする。つまり、46次元の皮膚センサデータ空間において、パターンの分布が密になっている部分(クラスタ)を見つけ、または各パターンの中でよく似ているものどうしをまとめる。たとえば、まず、選別した各フレームにつき、閾値を超えたセンサを「1」、そうでないセンサを「0」とした46次元ベクトルを作る。これらのベクトルのうち、同じパターンを持つフレームの数が5に満たないものはノイズとして切り捨てられる。残ったパターンの各要素について、値が「1」のときはそのセンサの閾値の1.5倍の値を使い、値が「0」のときはそのセンサの閾値の0.5倍の値を使ったベクトルを生成し、ISODATAの初期クラスタ核とした。ISODATA法はクラスタリングの一手法であり、前段において生成したクラスタを一定基準に従って分割したり併合したりして最終的なクラスタを導く(参考文献:鳥脇純一郎、テレビジョン学会教科書シリーズ9「認識工学―パターン認識とその応用―」、コロナ社、1993)。導き出されたクラスタは、コミュニケーション時の代表的な触られ方を表している。
【0058】
続いて、ステップS7で、指先データの処理を実行する。この指先データの処理は図9に詳細に示される。図9の最初のステップS21では、各クラスタにおける皮膚センサデータと対になった指先の座標(頭部・胴体座標系)について、各座標系での空間密度分布を求める。つまり、各クラスタにおける皮膚センサデータに対応する計測時刻ないしフレームの指先座標データについて処理する。たとえば座標系内を50×50×50[mm]のボクセルで分割し、各ボクセルに指先の座標が何個入っているかを数える。最後にクラスタ内の要素数でボクセル内要素数を割ることで密度を求める。
【0059】
次に、ステップS23では、密度分布の最大値を座標系間で比較し、大きい方の座標系を採用する。つまり、頭と胴体のどちらが触られているのかを判別する。たとえばコミュニケーション時にはロボット10は首の関節を動作させ、頷く、傾げるなどの身体表現を行うが、その際に人間100の指先がロボット10の頭部に触れる場合、指先の位置は頭部の動きに合わせて変化する。その指先の位置は頭部座標系で表せば変化しないが、胴体座標系で表すと、ロボット10の同じ場所を触っているにもかかわらず変化してしまう。したがって、指先の座標が座標系内の広い範囲に拡がっている場合にはその座標系は不適切であり、指先の座標が座標系内のある範囲にかたまっている場合にはその座標系は適切である。密度分布の最大値について、頭部座標系の方が大きい場合には頭が触られており、胴体座標系の方が大きい場合には胴体が触られていることがわかる。
【0060】
そして、ステップS25で、採用した座標系での密度ピーク値が閾値を超えたクラスタを有効なクラスタとして、マップに取り入れる。密度ピーク値は上記ボクセルの26近傍をまとめた際の密度であり、密度の26近傍和である。ピーク値の閾値は実験的に求められ、たとえば0.6に設定される。この閾値での選別によって、位置ないし姿勢が安定していて推定可能なものをクラスタとして採用する。たとえば片手でコミュニケーションをしているときに他方の手がぶらぶらしているものなどは姿勢が推定できないので切り捨てられる。このステップS25によって、有効なクラスタにおける皮膚センサ出力データと対になった指先の座標の確率分布を該有効なクラスタに対応付けてマップとして記憶する。ステップS25を終了すると図8のステップS9へ戻る。
【0061】
図8に戻って、ステップS9では、腰データの処理を実行する。この腰データの処理は図10に詳細に示される。図10の最初のステップS31では、各クラスタにおける皮膚センサデータと対になった腰の座標(胴体座標系)について、空間密度分布を求める。上述の指先データ処理と同様に、各クラスタにおける皮膚センサデータに対応するフレームの腰座標データについて、各ボクセル内に腰の座標が何個入っているかを数えてから、クラスタ内の要素数でボクセル内要素数を割る。そして、ステップS33で、密度ピーク値が閾値を超えたクラスタを有効なクラスタとして、マップに取り入れる。このステップS33によって、有効なクラスタにおける皮膚センサ出力データと対になった腰の座標の確率分布を該有効なクラスタに対応付けてマップとして記憶する。ステップS33を終了すると腰データ処理を終了し、マップ作成処理を終了する。
【0062】
なお、指先と腰以外のたとえば肩や頭などの部位のマーカ位置をマップ作成に採用する場合には、同様にして各位置のデータの処理を実行すればよい。
【0063】
このようにして、皮膚センサ出力のパターン(クラスタ)と相手の位置・姿勢とを対応付けたマップデータが作成され、図6のマップDB92に格納される。マップの概要は図11に示される。たとえば、クラスタ代表値が46次元の皮膚センサベクトルAであるクラスタと、コミュニケーション相手100の指先および/または腰の3次元位置に関する確率分布Aとが対応付けられている。つまり、ロボット10が皮膚センサベクトルAの触り方をされているとき、確率分布Aが、その触り方に対応した相手100の代表的な指先位置と姿勢(腰の位置)を表している。なお、クラスタ代表値は中心値であり、分散がそのクラスタの広がりを示す。
【0064】
図12にはクラスタ代表値の一例が示される。つまり、46次元の皮膚センサベクトルであり、1つの触り方を表している。この図12のクラスタに対応する相手100の指先位置106と腰の位置108の3次元位置(分布の平均)の一例が図13に示される。この図13では同じ位置分布を異なる2つの視点で表示している。相手100の指先がロボット10の両肩に触れており、腰はロボット10の正面上方にあることが把握できる。つまり、この場合の相手100はロボット10の前に立っていて、その両手がロボット10の両肩に触っていることがわかる。
【0065】
このようにして作成された、皮膚センサ出力パターンと触行動をしている相手100の位置または姿勢とを対応付けたマップを元に、作成用コンピュータ96は触覚アスペクトグラフデータを作成する。
【0066】
図14に、作成用コンピュータ96の触覚アスペクトグラフ作成処理の動作の一例が示される。まず、ステップS41で、皮膚センサデータDB104に記憶されている時系列の皮膚センサデータを、マップDB92に記憶されている皮膚センサ出力のクラスタの遷移データに変換する。具体的には、各検出時刻(フレーム)の出力データ(皮膚センサ出力ベクトル)がどのクラスタに属するのかを判別する。たとえば、皮膚センサ出力ベクトルと各クラスタとの距離を算出し、最も近いクラスタを検出する。そして、各検出時刻の皮膚センサデータを所属クラスタの識別情報に対応付けることによって、クラスタの遷移データを作成する。
【0067】
次に、ステップS43で、クラスタの遷移データに基づいて、各クラスタについて、遷移した先のクラスタを検出するとともに、当該遷移先クラスタごとに遷移回数をカウントする。続いて、ステップS45で、各クラスタについて、たとえば各遷移先クラスタの遷移回数を全遷移回数で割ることによって、遷移先クラスタごとの遷移確率を算出する。
【0068】
そして、ステップS47で、クラスタ(クラスタ識別情報)に関連付けて、遷移先のクラスタ(クラスタ識別情報)およびその遷移確率値を記憶する。
【0069】
このようにして作成された、クラスタに関連付けた遷移先クラスタおよび遷移確率を含むデータと、マップDB92のマップデータとが、触覚アスペクトグラフデータとして触覚アスペクトグラフDB110に記憶される。図15に触覚アスペクトグラフデータの内容の一例が示される。図15(A)に示すように、クラスタ番号ごとに、遷移先のクラスタ番号およびその遷移確率値が記憶される。複数の遷移先がある場合には複数の遷移先クラスタ番号および遷移確率を含むデータが記憶される。また、図15(B)に示すように、クラスタ番号と相手位置データ番号との対応付けを示すデータが記憶される。クラスタ番号はクラスタの識別情報であり、相手位置データ番号は、相手位置データ、すなわち、コミュニケーション相手の指先と腰の3次元位置に関する確率分布を示すデータの識別情報である。また、図15(C)に示すように、クラスタ番号ごとに、当該触覚センサ出力(クラスタ)に関するデータが記憶される。また、図15(D)に示すように、相手位置データ番号ごとに、当該相手位置に関するデータが記憶される。コミュニケーション時には、計測された触覚センサ出力ベクトルに対応するクラスタを特定して、図15(A)のデータを参照することによって、遷移先のクラスタ番号およびその遷移確率を取得することができる。そして、図15(B)のデータを参照することによって、遷移先のクラスタ番号に対応する相手位置データ番号を特定できるので、次の相手位置データを取得することができる。したがって、次の相手位置データと遷移確率とに基づいて、次の相手位置、すなわち次の行動を予測することができる。
【0070】
なお、図15(B)、(C)および(D)に示すデータは、触覚センサ出力(クラスタ)とコミュニケーション相手の位置および姿勢を対応付けたマップのデータに相当する。
【0071】
図16には触覚アスペクトグラフの概念図が示される。触覚アスペクトグラフは、上述のように、触覚センサ出力を状態とした確率的状態遷移を示す。触覚センサ出力(クラスタ)は、コミュニケーション相手の位置に対応付けられている。相手の位置は、この実施例では相手の指先および腰の3次元位置の確率分布である。腰の位置はロボット10から見た相手の位置に相当し、指先の位置は触られている場所に相当する。すなわち、触覚アスペクトグラフは、触られ方だけでなく、相手の位置および触る場所が確率的にどのように遷移するかを示すものでもある。したがって、触覚アスペクトグラフを用いて、相手が次に(あるいは近い将来)どこに位置するか、どこを触るのか、どのように触るのかを予測することができる。
【0072】
図16の各ノードは触覚センサ出力(クラスタ)に対応付けられた相手の位置および触られている場所を示している。なお、右上のノード内では、触覚センサ出力(クラスタ)としてクラスタ代表値のグラフが図示されるとともに、当該クラスタに対応する相手の位置および触られている場所が図示される。他のノード内では、相手の位置および触られている場所のみが図示され、対応する触覚センサ出力は省略される。黒い球体が触られている場所(指先の位置)を示し、斜線の付された楕円体が相手の位置(腰の位置)を示す。楕円体から下方へ伸びる線分は相手の腰の高さを示す。
【0073】
この図16の例では、右上のノードでは、相手がロボットの右側に立ちロボットの右肩を触っている状態であることが示されている。ノード間の線は、各ノードの繋がりを示しており、各ノードは、接続されたノードに確率的に遷移する。左上のノードは相手がロボットの右側に立ちロボットの頭頂を触っている状態を示す。右中のノードは相手がロボットの正面に立ちロボットの首下を触っている状態を示す。左中のノードは相手がロボットの正面に立ちロボットの頭頂を触っている状態を示す。右下のノードは相手がロボットの正面でしゃがんでロボットの胸を触っている状態を示す。たとえば、ロボットの右側に立ってロボットの右肩を触っている状態(右上のノード)の次の行動として、相手は、そのままの位置でロボットの頭頂を触る(左上のノード)か、またはロボットの前に移動してロボットの首下を触る(右中のノード)ということが予測できる。
【0074】
図17には、ロボット10の予測処理の動作の一例が示される。ロボット10は、コミュニケーション時に相手から触られたとき、予測処理を開始する。図17の最初のステップS61で、ロボット10のCPU60は、皮膚センサ58からの出力データが検出されたとき、皮膚センサ出力ベクトルを取得する。つまり、すべての皮膚センサ58で検知した圧力をセンサ入力/出力ボード68を介して圧力値データとして検出して、46次元の皮膚センサ出力ベクトルを生成して、メモリ64に記憶する。
【0075】
次に、ステップS63で、取得した皮膚センサベクトルに最も近いクラスタを触覚アスペクトグラフDB110に記憶されているクラスタから選択する。たとえば、現在の皮膚センサ出力ベクトルと各クラスタとの距離は、各クラスタ代表値および各クラスタ内要素の分散から算出される。
【0076】
続いて、ステップS65で、当該選択されたクラスタに対応する位置に眼カメラ50を向けて画像データをメモリ64に取得する。たとえば、触覚アスペクトグラフデータから、当該選択されたクラスタ番号に対応する相手位置データをメモリ64に取得し、当該相手位置データに基づく位置を眼カメラ50で撮影可能になる頭部モータ48の角度制御データを生成し、モータ制御ボード66を介して頭部モータ48の回転角度を制御する。そして、センサ入力/出力ボード68を介して眼カメラ50からの画像データをメモリ64に取得する。
【0077】
続くステップS67で、画像データに基づいて、取得した相手位置データに対応する位置での相手の検出を試みる。そして、ステップS69で、当該位置で相手が検出されたか否かを判断する。ステップS69で“NO”であれば、つまり、当該位置で相手が撮影されていなかった場合には、相手が触覚センサ出力に対応する位置に存在していない。この場合、クラスタを特定できなかったので、ステップS61に戻る。
【0078】
一方、ステップS69で“YES”であれば、つまり、当該位置で相手が撮影されていた場合には、ステップS71で、ステップS65で取得した相手位置データ番号を、現在位置を示す情報としてメモリ64に記憶する。続くステップS73で、触覚アスペクトグラフデータから、当該選択されたクラスタの遷移先の情報をメモリ64に取得する。たとえば、当該選択されたクラスタ番号に対応する遷移先のクラスタ番号および確率値を取得し、当該遷移先のクラスタ番号に対応するクラスタのデータを取得し、当該遷移先クラスタ番号に対応する相手位置データ番号を特定して当該相手位置データ番号に対応する相手位置データを取得する。
【0079】
ステップS75で、その先の情報も必要か否かを判断する。たとえば、相手の次の行動よりもさらに将来の行動を予測して誘導するように設定されている場合等には、その先の情報が必要であると判断される。ステップS75で“YES”であれば、ステップS77で、触覚アスペクトグラフデータから、ステップS73で取得した遷移先クラスタの遷移先の情報をメモリ64に取得する。これによって、次の行動よりもさらに先すなわち近い将来の必要な情報(遷移先クラスタ番号、遷移確率、遷移先のクラスタのデータ、対応する相手位置データ等)が取得される。
【0080】
ステップS75で“NO”である場合、またはステップS77を終了すると、ステップS79で予測対応処理を実行して、ステップS73またはS77で取得した遷移先の情報に基づいて動作を制御する。ステップS79を終了するとこの図17の予測処理を終了する。ステップS79の予測対応処理の動作の一例は次の図18に示される。
【0081】
図18の最初のステップS91で、危険回避するか否かを判断する。たとえば、現在実行している触覚コミュニケーション行動のプログラムまたはデータにおいて予測に基づく危険回避が設定されているか否かを判定する。
【0082】
ステップS91で“YES”であれば、ステップS93で、取得した遷移先の情報に基づいて、相手の次の位置または行動を予測する。たとえば、確率値の最も高い相手位置データを次の相手位置として予測し、メモリ64に予測位置として記憶する。あるいは、可能性のあるもの全てを考慮するように、遷移先として取得された全ての相手位置データを次の相手位置として予測し、メモリ64に予測位置として記憶するようにしてもよい。たとえば、遷移先の相手位置データがロボットの右側と正面と左側とを含む場合には、ロボットの右側、正面および左側のすべてが次の相手の位置として予測されてよい。なお、確率値に応じて重みを考慮するようにしてもよい。
【0083】
そして、ステップS95で、予測位置側への移動の禁止を設定する。たとえば、移動を禁止するフラグをONに設定し、予測位置のうち相手の腰の位置を移動禁止位置として記憶する。また、ステップS97で、予測位置への腕などの部位の動作の禁止を設定する。たとえば、腕の動作を禁止するフラグをONに設定し、予測位置から、相手の指先および腰の位置、ならびに指先と腰の間の領域等を、動作禁止位置として記憶する。ステップS97を終了すると、この予測対応処理を終了する。
【0084】
一方、ステップS91で“NO”であれば、ステップS99で、誘導するか否かを判断する。たとえば、現在実行している触覚コミュニケーション行動のプログラムまたはデータにおいて予測に基づく誘導が設定されているか否かを判定する。
【0085】
ステップS99で“YES”であれば、ステップS101で、取得した遷移先の情報から誘導したい相手の位置または行動を選択する。たとえば、図16の例で、現在の相手位置が右上のノードであり、かつ、2つ先まで予測する場合には、右上以外のノードから誘導したいノードがクラスタ番号あるいは相手位置データ番号等で選択される。たとえば相手が胸を触るように誘導したいときは、右下のノードに相当する相手位置データ番号等が選択される。
【0086】
続いて、ステップS103で選択されたのは遷移先の先への誘導であるか否かを判断する。ステップS103で“YES”であれば、ステップS105で、ステップS101で選択された相手位置の手前側の相手位置を選択する。遷移先のさらに先へ誘導したい場合、その誘導したい位置まで導くために手前側の経路を遷移していく必要があるので、現在のノードから1つ先に相当する相手位置を選択する。たとえば、ステップS101で右下のノードに相当する相手位置データ番号等が選択されている場合には、その手前側の現在のノードに最も近いノードである右中のノードに相当する相手位置データ番号等が選択される。
【0087】
ステップS105を終了し、またはステップS103で“NO”であれば、ステップS107で、選択された位置に相手が存在するように移動または旋回する。具体的には、選択された相手位置データ番号等に対応する相手位置データと現在位置に対応する相手位置データとの差に基づいて、選択位置に相手が存在することになるように車輪モータ16の制御データを変更する。この変更された制御データに基づいてロボット10は旋回または移動し、その結果、相手はロボット10から見て選択された位置に存在することとなる。
【0088】
たとえば、上述の例の続きとして、現在の相手位置がロボット10の右側(図16の右上のノード)であり、選択位置がロボット10の正面(図16の右中のノード)である場合には、たとえばロボット10から現在位置への方向と選択位置への方向との差分(角度差)を算出して、当該角度差だけロボット10を旋回させることによって、相手をロボット10の正面に位置させることができる。この場合、次の行動として、右中のノードのように、相手が、当該位置に対応する触り場所であるロボットの首下を、対応する触り方で触ることが期待される。したがって、予測に対応して、相手の触行動を誘導することができる。そして、皮膚センサ出力ベクトルまたは画像データの確認によって相手がロボット10の首下を触ったことが検出された場合には、その遷移先の左下のノード、すなわち、相手が正面でしゃがんで胸を触る状態に導いていくことが可能になる。ステップS107を終了し、またはステップS99で“NO”である場合には、この予測対応処理を終了する。
【0089】
図19には、コミュニケーション行動実行時の変更処理の動作の一例が示される。図18の予測対応処理で危険回避のために移動または腕動作の禁止が設定されている場合、この変更処理によって制御データが変更される。図19の最初のステップS121では、移動禁止フラグ等に基づいて、移動禁止が設定されているか否かを判断する。ステップS121で“YES”であれば、ステップS123で、ステップS95で設定した禁止位置を取得し、ステップS125で、実行しようとしているコミュニケーション行動の制御データが禁止位置側への移動を含むか否かを判断する。ステップS125で“YES”であれば、ステップS127で、禁止位置側へ移動しないように変更した制御データを生成する。たとえば、禁止位置が正面であり、制御データが前方への移動を含む場合には、車輪モータ16の制御データの前方移動に関する部分をクリアする。このようにして、変更された制御データに基づいて制御が実行されることによって、禁止位置への移動が行われなくなるので、相手に衝突することが防止され、危険を回避することができる。
【0090】
ステップS127を終了し、またはステップS125で“NO”である場合、またはステップS121で“NO”である場合には、ステップS129で、動作禁止フラグ等に基づいて、腕の動作の禁止が設定されているか否かを判断する。ステップS129で“YES”であれば、ステップS131で、ステップS97で設定した禁止位置を取得し、ステップS133で、実行しようとしているコミュニケーション行動の制御データが禁止位置への腕の動作を含むか否かを判断する。ステップS133で“YES”であれば、ステップS135で、禁止位置へ腕を動かさないように変更した制御データを生成する。たとえば、禁止位置が右側であり制御データが右手の動作を含む場合には、右腕モータ40の制御データをクリアし、現在の角度を維持するようにする。また、たとえば、禁止位置が右側であり制御データが右腕の動作を含む場合であって、当該右腕の動作が左腕で代替可能なもの、たとえば右腕でバイバイと手を振るような行動であるときには、当該動作を左腕で行うように変更した制御データを生成するようにしてもよい。ステップS135を終了し、または、ステップS133で“NO”である場合、または、ステップS129で“NO”である場合には、この変更処理を終了する。このようにして、変更された制御データに基づいて制御が実行されることによって、禁止位置への腕などの部位の動作が行われなくなるので、相手に腕などの部位をぶつけることを未然に防止でき、危険を回避することができる。
【0091】
この実施例によれば、相手の位置(たとえば腰および指先)に関連付けられた触覚センサ出力の確率的遷移を示す触覚アスペクトグラフデータを記憶するので、コミュニケーション時には、触覚に基づいて、次の相手の位置、触る場所および触られ方など、触行動が遷移すると予測される先の相手の情報を取得することができるので、相手の次の位置や触行動を予測することができる。そして、予測に応じて動作を制御することによって、相手への衝突などの危険を回避できるので、安全性を向上することができる。また、取得した遷移先の情報と現在の相手の位置との差に基づいて、予測される位置や触行動に相手を誘導することができるので、円滑なコミュニケーションを実現できる。
【0092】
なお、触行動の遷移の個人的な特徴に着目すれば、ロボット10は触覚アスペクトグラフデータを用いて個人認識をすることも可能である。この場合には、複数のコミュニケーション相手ごとの触覚アスペクトグラフデータをたとえば相手IDに関連付けて触覚アスペクトグラフDB110に記憶しておく。コミュニケーション時には、触覚センサ出力ベクトルを計測するとともに画像データから相手の位置を検出することによって、相手の位置および触れている場所ならびに触り方(クラスタ)を特定してこれらの履歴を記憶していくことによって、触行動の遷移を記録する。そして、遷移の仕方がどの相手IDの触覚アスペクトグラフデータに適合するかを判定することによって、コミュニケーション相手が誰であるかを特定することができる。
【図面の簡単な説明】
【0093】
【図1】この発明の一実施例のコミュニケーションロボットを示す図解図である。
【図2】図1実施例のコミュニケーションロボットに用いる皮膚とその中に埋め込まれるピエゾセンサシートとを示す図解図である。
【図3】ピエゾセンサシートの配置位置を示す図解図である。
【図4】図1実施例のコミュニケーションロボットの電気的構成を示すブロック図である。
【図5】図1実施例のコミュニケーションロボットにおけるピエゾセンサシートから検知信号を入力するセンサ入力/出力ボードを部分的に示す図解図である。
【図6】図1実施例のコミュニケーションロボットに備えられる触覚アスペクトグラフを作成するためのマップ作成システムの概要を示す図解図である。
【図7】マップ作成時の赤外線反射マーカの取付位置を示す図解図である。
【図8】図6の作成用コンピュータのマップ作成処理の動作の一例を示すフロー図である。
【図9】図8の指先データの処理の動作を示すフロー図である。
【図10】図8の腰データの処理の動作を示すフロー図である。
【図11】マップDBに記憶されるマップデータの概要を示す図解図である。
【図12】クラスタ代表値の一例を示す図解図である。
【図13】図12のクラスタ代表値に対応する相手の指先と腰の位置の分布の概要を示す図解図である。
【図14】図6の作成用コンピュータの触覚アスペクトグラフ作成処理の動作の一例を示すフロー図である。
【図15】触覚アスペクトグラフDBに記憶されるデータの内容の一例を示す図解図であり、図15(A)はクラスタ番号ごとの遷移先クラスタ番号とその遷移確率を含むデータを示し、図15(B)はクラスタ番号と相手位置データ番号との対応付けを示すデータを示し、図15(C)はクラスタ番号ごとの触覚センサ出力(クラスタ)のデータを示し、図15(D)は相手位置番号データごとの相手位置データを示す。
【図16】触覚アスペクトグラフの概念を示す図解図である。
【図17】図1実施例のコミュニケーションロボットの予測処理における動作の一例を示すフロー図である。
【図18】図17の予測対応処理の動作の一例を示すフロー図である。
【図19】図1実施例のコミュニケーションロボットのコミュニケーション行動実行時の変更処理における動作の一例を示すフロー図である。
【符号の説明】
【0094】
10 …コミュニケーションロボット
22 …人体状部
24 …皮膚
50 …眼カメラ
58,501−548 …触覚センサ(ピエゾセンサシート)
60 …CPU
64 …メモリ
66 …モータ制御ボード
68 …センサ入力/出力ボード
70 …サウンド入力/出力ボード
92 …マップDB
94 …作成システム
96 …作成用コンピュータ
110 …触覚アスペクトグラフDB
【特許請求の範囲】
【請求項1】
複数の触覚センサ、
触行動をしているコミュニケーションの相手の位置に関連付けられた複数の触覚センサの出力のパターンの確率的な遷移を示す触覚アスペクトグラフデータを記憶する触覚アスペクト記憶手段、
前記複数の触覚センサの出力データを取得する取得手段、
前記取得手段によって前記出力データを取得するときの相手の位置を検出する検出手段、
前記取得手段によって取得された前記複数の触覚センサの出力データと前記検出手段による検出結果に基づいて、前記触覚アスペクト記憶手段から前記相手の少なくとも次の位置を含む遷移先の情報を取得する遷移先情報取得手段、および
前記遷移先情報取得手段によって取得された前記遷移先の情報に基づいて動作を制御する制御手段を備える、コミュニケーションロボット。
【請求項2】
前記制御手段は、前記遷移先情報取得手段によって取得された前記相手の次の位置への移動または部位の動きを回避する、請求項1記載のコミュニケーションロボット。
【請求項3】
前記制御手段は、前記取得手段によって取得された前記複数の触覚センサの出力データに対応する前記相手の位置と前記遷移先情報取得手段によって取得された前記相手の次の位置との差分に基づいて移動または旋回を制御する、請求項1記載のコミュニケーションロボット。
【請求項4】
ロボット本体上に被せられる柔軟素材からなる皮膚をさらに備え、
前記複数の触覚センサは前記皮膚中に分散配置される複数のピエゾセンサシートを含む、請求項1ないし3のいずれかに記載のコミュニケーションロボット。
【請求項1】
複数の触覚センサ、
触行動をしているコミュニケーションの相手の位置に関連付けられた複数の触覚センサの出力のパターンの確率的な遷移を示す触覚アスペクトグラフデータを記憶する触覚アスペクト記憶手段、
前記複数の触覚センサの出力データを取得する取得手段、
前記取得手段によって前記出力データを取得するときの相手の位置を検出する検出手段、
前記取得手段によって取得された前記複数の触覚センサの出力データと前記検出手段による検出結果に基づいて、前記触覚アスペクト記憶手段から前記相手の少なくとも次の位置を含む遷移先の情報を取得する遷移先情報取得手段、および
前記遷移先情報取得手段によって取得された前記遷移先の情報に基づいて動作を制御する制御手段を備える、コミュニケーションロボット。
【請求項2】
前記制御手段は、前記遷移先情報取得手段によって取得された前記相手の次の位置への移動または部位の動きを回避する、請求項1記載のコミュニケーションロボット。
【請求項3】
前記制御手段は、前記取得手段によって取得された前記複数の触覚センサの出力データに対応する前記相手の位置と前記遷移先情報取得手段によって取得された前記相手の次の位置との差分に基づいて移動または旋回を制御する、請求項1記載のコミュニケーションロボット。
【請求項4】
ロボット本体上に被せられる柔軟素材からなる皮膚をさらに備え、
前記複数の触覚センサは前記皮膚中に分散配置される複数のピエゾセンサシートを含む、請求項1ないし3のいずれかに記載のコミュニケーションロボット。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2006−281348(P2006−281348A)
【公開日】平成18年10月19日(2006.10.19)
【国際特許分類】
【出願番号】特願2005−103036(P2005−103036)
【出願日】平成17年3月31日(2005.3.31)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成16年6月1日付け、支出負担行為担当官 総務省大臣官房会計課企画官、研究テーマ「ネットワーク・ヒューマン・インターフェースの総合的な研究開発(ネットワークロボットの技術)」に関する委託研究、産業活力再生特別措置法第30条の適用を受ける特許出願
【出願人】(393031586)株式会社国際電気通信基礎技術研究所 (905)
【Fターム(参考)】
【公開日】平成18年10月19日(2006.10.19)
【国際特許分類】
【出願日】平成17年3月31日(2005.3.31)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成16年6月1日付け、支出負担行為担当官 総務省大臣官房会計課企画官、研究テーマ「ネットワーク・ヒューマン・インターフェースの総合的な研究開発(ネットワークロボットの技術)」に関する委託研究、産業活力再生特別措置法第30条の適用を受ける特許出願
【出願人】(393031586)株式会社国際電気通信基礎技術研究所 (905)
【Fターム(参考)】
[ Back to top ]