(57)【要約】  【構成】ロボット１０は、たとえば、触覚インタラクションのために触覚センサ（５８，７６）を備えるコミュニケーションロボットである。ロボット１０は、複数の姿勢領域のそれぞれに対応付けられた、動作データと触覚センサ出力データの関係を示す線形モデルを記憶している。ロボット１０が運動する際には、ロボット１０は動作データすなわち関節角度データを取得し、現在の姿勢領域に対応する線形モデルを選択し、当該線形モデルを用いて触覚センサ出力データを推定する。そして、ロボット１０は、実際に取得された触覚センサ出力データから推定値を差し引くことによって、自己動作に起因するノイズを除去する。  【効果】自己動作に起因する触覚ノイズを除去することができる。【選択図】図１
2010017768.tif 000002
【特許請求の範囲】
【請求項１】
触覚センサを有するロボットであって、
当該ロボットの動作データと触覚センサ出力データに基づいて作成された線形モデルであって、前記動作データで表される姿勢空間を分割した複数の姿勢領域のそれぞれに対応付けられた、前記動作データと触覚センサ出力データとの関係を示す前記線形モデルを記憶するモデル記憶手段、
触覚センサ出力データを取得する触覚取得手段、
動作データを取得する動作取得手段、
前記動作取得手段によって取得された前記動作データに基づいて、現在の姿勢領域を判別する姿勢判別手段、
前記姿勢判別手段によって判別された前記姿勢領域に対応する前記線形モデルおよび前記動作取得手段によって取得された前記動作データに基づいて、前記触覚センサ出力データの推定値を算出する推定値算出手段、および
前記触覚取得手段によって取得された前記触覚センサ出力データから前記推定値算出手段によって算出された前記推定値を差し引くことによって、自己動作に起因する触覚ノイズの除去を行うノイズ除去手段を備える、ロボット。
【請求項２】
触覚センサを有するロボットにおいて自己動作に起因する触覚ノイズを除去するための方法であって、
前記ロボットの動作データと触覚センサ出力データに基づいて作成された線形モデルであって、前記動作データで表される姿勢空間を分割した複数の姿勢領域のそれぞれに対応付けられた、前記動作データと触覚センサ出力データとの関係を示す前記線形モデルを記憶しておき、
触覚センサ出力データを取得し、
動作データを取得し、
取得された前記動作データに基づいて、現在の姿勢領域を判別し、
判別された前記姿勢領域に対応する前記線形モデルおよび前記動作データに基づいて、前記触覚センサ出力データの推定値を算出し、
取得された前記触覚センサ出力データから前記推定値を差し引くことによって、自己動作に起因する触覚ノイズの除去を行う、除去方法。
【請求項３】
触覚センサを有するロボットの自己動作に起因する触覚ノイズを除去するために用いられる動作触覚関係モデルを作成する方法であって、
前記ロボットが動作している際の動作データと触覚センサ出力データを取得する取得ステップ、
前記動作データで表される姿勢領域に含まれる前記触覚センサ出力データのノイズレベルが第１閾値より大きいとき、前記姿勢領域における前記動作データを入力とし前記触覚センサ出力データを出力とした線形モデルを推定する推定ステップ、
推定した前記線形モデルについてノイズレベル減少率が第２閾値より大きいとき、前記線形モデルを前記姿勢領域に対応付けて記憶する記憶ステップ、
推定した前記線形モデルについて前記ノイズレベル減少率が前記第２閾値より大きくないとき、前記姿勢領域を２つに分割する分割ステップ、および
分割された姿勢領域のそれぞれに対して、前記推定ステップを再帰的に実行する実行ステップを含む、モデル作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は触覚センサを有するロボットに関し、特にたとえば、人間と触覚コミュニケーションを行うコミュニケーションロボットのような全身に分布された複数の触覚センサを有するロボットに関する。
【背景技術】
【０００２】
近年、日常生活で行動することを目的としたロボットが盛んに開発されている。このようなロボットは人と触れ合う機会が多いため、人との身体接触を伴ったインタラクション（触覚インタラクション）を行う能力が必須となると考えられる。人間は、握手といった触覚インタラクションを日常的に行っており、「なでる」や「たたく」などに代表されるインタラクションは、触り手の意図を伝えるための重要なコミュニケーション手段となっている。ロボットがこのような触覚インタラクションを行う能力を身につけることにより、人とのコミュニケーションがより円滑に遂行されると考えられる。
【０００３】
たとえば特許文献１に示されるように、本件出願人は全身分布型触覚センサを備えるコミュニケーションロボットを提案してきた。このコミュニケーションロボットの全身は柔軟な皮膚で覆われており、当該皮膚中に複数の触覚センサ（圧電素子）が埋め込まれている。
【特許文献１】特開２００４−２８３９７５号公報[B25J 13/08, B25J 19/02]
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ロボットが何らかのタスクを遂行するためには、当然ながら運動する必要があるが、触覚センサとしてひずみゲージや圧電素子など物理的な変形を計測するセンサを用いた場合、ロボット自身の動作によっても反応する。ロボットの触覚は、人との接触を検出するために敏感であることが望ましいが、敏感であればあるほどロボット自身の動作による影響は大きくなるため、ロボットの動作に起因する触覚センサの反応により接触を誤検出する可能性が高くなってしまう。
【０００５】
それゆえに、この発明の主たる目的は、新規な、触覚センサを有するロボットを提供することである。
【０００６】
この発明の他の目的は、ロボットのアクチュエーションによる触覚ノイズを除去することができる、触覚センサを有するロボット、除去方法および動作触覚関係モデル作成方法を提供することである。
【課題を解決するための手段】
【０００７】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【０００８】
第１の発明は、触覚センサを有するロボットであって、当該ロボットの動作データと触覚センサ出力データに基づいて作成された線形モデルであって、動作データで表される姿勢空間を分割した複数の姿勢領域のそれぞれに対応付けられた、動作データと触覚センサ出力データとの関係を示す線形モデルを記憶するモデル記憶手段、触覚センサ出力データを取得する触覚取得手段、動作データを取得する動作取得手段、動作取得手段によって取得された動作データに基づいて、現在の姿勢領域を判別する姿勢判別手段、姿勢判別手段によって判別された姿勢領域に対応する線形モデルおよび動作取得手段によって取得された動作データに基づいて、触覚センサ出力データの推定値を算出する推定値算出手段、および触覚取得手段によって取得された触覚センサ出力データから推定値算出手段によって算出された推定値を差し引くことによって、自己動作に起因する触覚ノイズの除去を行うノイズ除去手段を備える、ロボットである。
【０００９】
第１の発明では、ロボット（１０）は、たとえばコミュニケーションロボットであり、人との触覚インタラクションのために、触覚センサ（５８，７６）を備えている。モデル記憶手段（６４）には、ロボットの動作データと触覚センサ出力データに基づいて作成された線形モデルが記憶されている。ロボットは、身体動作のためにたとえば首、肩、肘などの関節軸を備えており、したがって動作データは関節角度データを含む。この線形モデルは、動作データで表される姿勢空間を分割した複数の姿勢領域のそれぞれに対応付けられており、当該姿勢領域における動作データと触覚センサ出力データの関係を示している。線形モデルは、入力を動作データとし、出力を触覚センサ出力とした離散時間状態空間モデルである。ロボットが動作しているときの触覚センサ出力データは、触覚取得手段（５８，６０，６８，７６，８６，８８，９０，Ｓ６１）によって取得され、動作データは動作取得手段（７８，６０，６８，８６，８８，９０，Ｓ６１）によって取得される。姿勢判別手段（６０，Ｓ６３）は、取得した動作データに基づいて、ロボットの現在の姿勢領域を判別する。推定値算出手段（６０，Ｓ６５）は、現在の姿勢領域に対応する線形モデルを用いて、取得した動作データに基づいて、触覚センサ出力データの推定値を算出する。ノイズ除去手段（６０，Ｓ６７）は、取得された触覚センサ出力データから推定値を差し引くことによって、自己動作に起因する触覚ノイズを除去する。
【００１０】
第１の発明によれば、ロボットの姿勢に対応付けられた動作触覚関係モデルを用いて、現在のロボットの姿勢に応じた触覚センサ出力を推定することができるので、ロボットの自己動作に起因する触覚センサ出力を除去することができる。
【００１１】
第２の発明は、触覚センサを有するロボットにおいて自己動作に起因する触覚ノイズを除去するための方法であって、ロボットの動作データと触覚センサ出力データに基づいて作成された線形モデルであって、動作データで表される姿勢空間を分割した複数の姿勢領域のそれぞれに対応付けられた、動作データと触覚センサ出力データとの関係を示す線形モデルを記憶しておき、触覚センサ出力データを取得し、動作データを取得し、取得された動作データに基づいて、現在の姿勢領域を判別し、判別された姿勢領域に対応する線形モデルおよび動作データに基づいて、触覚センサ出力データの推定値を算出し、取得された触覚センサ出力データから推定値を差し引くことによって、自己動作に起因する触覚ノイズの除去を行う、除去方法である。
【００１２】
第２の発明は、上述の第１の発明のロボットにおいて適用される触覚ノイズの除去方法であり、第１の発明と同様の効果を奏する。
【００１３】
第３の発明は、触覚センサを有するロボットの自己動作に起因する触覚ノイズを除去するために用いられる動作触覚関係モデルを作成する方法であって、ロボットが動作している際の動作データと触覚センサ出力データを取得する取得ステップ（Ｓ１）、動作データで表される姿勢領域に含まれる触覚センサ出力データのノイズレベルが第１閾値より大きいとき、姿勢領域における動作データを入力とし触覚センサ出力データを出力とした線形モデルを推定する推定ステップ（Ｓ２１，Ｓ２３，Ｓ２７）、推定した線形モデルについてノイズレベル減少率が第２閾値より大きいとき、線形モデルを姿勢領域に対応付けて記憶する記憶ステップ（Ｓ３３，Ｓ３５，Ｓ３７）、推定した線形モデルについてノイズレベル減少率が第２閾値より大きくないとき、姿勢領域を２つに分割する分割ステップ（Ｓ３３，Ｓ３５，Ｓ３９，Ｓ４１）、および分割された姿勢領域のそれぞれに対して、推定ステップを再帰的に実行する実行ステップ（Ｓ４３，Ｓ４５）を含む、モデル作成方法である。
【００１４】
第３の発明では、ロボットの動作データで表される姿勢空間を複数の姿勢領域に分割して、複数の姿勢領域のそれぞれに対応付けられた動作データと触覚センサ出力データとの関係を示す線形モデルを作成することができる。作成した線形モデルを用いて上述の第１の発明および第２の発明を実現することができる。
【発明の効果】
【００１５】
この発明によれば、ロボットの姿勢に応じた動作触覚関係モデルを作成することができる。また、当該モデルを用いてロボット自身の動作に起因するノイズを推定することができるので、実際の触覚センサ出力から推定値を差し引くことによって、ロボット自身の動作に起因する触覚ノイズを除去することができる。
【００１６】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００１７】
図１は、この発明の実施例のコミュニケーションロボット（以下、単に「ロボット」ともいう。）１０を示す。ロボット１０は台車１２を含み、この台車１２の側面には、このロボット１０を自律移動させる車輪１４が設けられる。この車輪１４は、車輪モータ（図３において参照番号「１６」で示す。）によって駆動され、台車１２すなわちロボット１０を前後左右任意の方向に動かすことができる。なお、図示しないが、この台車１２の前面には、衝突センサが取り付けられ、この衝突センサは、台車１２への人間や他の障害物の接触を検知する。
【００１８】
台車１２の上には、多角形柱状のセンサ取付パネル１８が設けられ、このセンサ取付パネル１８の各面には、超音波距離センサ２０が取り付けられる。この実施例ではたとえば２４個の超音波距離センサ２０が周囲３６０度にわたるように設けられる。この超音波距離センサ２０は、センサ取付パネル１８すなわちロボット１０の周囲の主として人間との距離を計測するものである。具体的には、超音波距離センサ２０は超音波を発射し、その超音波が人から反射されて超音波距離センサ２０に入射されたタイミングを測定して、人との間の距離情報を出力する。
【００１９】
台車１２の上には、人体状部２２が直立するように取り付けられる。このロボット本体としての人体状部２２の全身は、後に詳しく説明するように、柔軟素材からなる皮膚２４によって覆われる。人体状部２２は、たとえば鉄板のような筐体（図示せず）を含み、その筐体にコンピュータやその他必要なコンポーネントを収容している。そして、皮膚２４は、その筐体上に被せられる。皮膚２４の下の筐体の上部ほぼ中央にはマイク２６が設けられる。このマイク２６は、周囲の音声、特に人間の声を収集するためものである。
【００２０】
人体状部２２は、身体動作を実行可能な身体部位を備えている。具体的には、人体状部２２は、可動部として右腕２８Ｒおよび左腕２８Ｌを含む。右腕２８Ｒおよび左腕２８Ｌすなわち上腕３０Ｒおよび３０Ｌは、それぞれ、肩関節３２Ｒおよび３２Ｌによって、胴体部分に変位自在に取り付けられる。この肩関節３２Ｒおよび３２Ｌは、３軸の自由度を有する。上腕３０Ｒおよび３０Ｌには、１軸の肘関節３４Ｒおよび３４Ｌによって、前腕３６Ｒおよび３６Ｌが取り付けられ、この前腕３６Ｒおよび３６Ｌには、手３８Ｒおよび３８Ｌが取り付けられる。これら右腕２８Ｒおよび左腕２８Ｌの各関節における各軸はここでは図示しないモータによってそれぞれ制御される。すなわち、右腕２８Ｒおよび左腕２８Ｌのそれぞれ４個のモータが、図３において、それぞれ右腕モータ４０および左腕モータ４２として表される。
【００２１】
さらに、人体状部２２の上部には可動部として頭部４６が設けられる。頭部４６は、首関節４４を介して人間の頭と同様に俯仰・回転可能に取付けられる。この３軸（パン、チルトおよびロール軸）の首関節４４は、図３に示す頭部モータ４８によって制御される。頭部４６の前面の「目」に相当する位置には２つの眼カメラ５０が設けられ、この眼カメラ５０は、ロボット１０に接近した人間の顔や他の部分を撮影してその映像信号を取り込む。頭部４６の前面の目カメラ５０の下方にはスピーカ５２が設けられる。このスピーカ５２は、ロボット１０がそれの周囲の人間に対して音声によってコミュニケーションを図るために用いられる。
【００２２】
上で説明した人体状部２２の胴体や頭部４６および腕は上記したようにすべて柔軟な素材からなる皮膚２４に覆われる。この皮膚２４は、図２に示すように、下層のウレタンフォーム５４と、その上に積層される比較的肉厚のシリコーンゴム層５６ａおよび比較的肉薄のシリコーンゴム層５６ｂとを含む。そして、２つのシリコーンゴム層５６ａおよび５６ｂの間に、ピエゾセンサシート５８が埋め込まれる。このピエゾセンサシート５８は、圧電フィルム（たとえばＰＶＤＦ（ポリビニリデンフルオロイド））の両面に金属薄膜が形成された構造、つまり、圧電体が導体で挟まれた構造を有する圧電センサである。ピエゾフィルムは、圧力等で変形されると、両面金属薄膜間にピエゾ電気を発生し、すなわち、そのひずみ速度に応じた電圧を出力する。ピエゾフィルムは、たとえば、３０×３０ｍｍ程度の大きさにカットされ、約５ｍｍの間隔で皮膚２４中に配置される。
【００２３】
皮膚２４では、上述のように、発泡ウレタンとシリコーンゴムとを使って柔らかさを得るようにしている。シリコーンゴムだけである程度の厚みと柔らかさとを得ようとすると、重くなりすぎてエネルギ消費量が大きくなるだけでなく、裂傷に弱くなるので、大まかな形と厚みをウレタンフォームで作り、その表面を約２０ｍｍのシリコーンゴムで覆う形が採用されている。そして、シリコーンゴム層を２つにし、それらのシリコーンゴム層５６ａおよび５６ｂの間に、上述のピエゾセンサシート５８が埋め込まれる。さらに、内側のシリコーンゴム層５６ａが厚く（約１５ｍｍ）され、表面側のシリコーンゴム層５６ｂが薄く（約５ｍｍ）される。これによって、ロボット１０の振動や人間が表面を押したときに生じる高周波の振動をカットでき、なおかつフィルムが変形し易くなるので、圧力の計測が容易になる。つまり、シリコーンゴム層の厚みはロボット１０の構造やパワーによるが、なるべく薄く、しかし変形が伝わり易く、雑音となる振動が伝わり難いものが必要となる。また、この柔らかい皮膚を介して、人との間で触行動によるコミュニケーションを行うことができるので、人に対して安心感を与えて親和性を高めることができるし、触れたりぶつかったりした場合の人の怪我を防止して安全性も高めることができる。
【００２４】
なお、皮膚２４の素材は軟性素材であればよく、上述のものに限定されずたとえば他のゴム素材等でもよい。ただし、ピエゾセンサシートの表面金属薄膜が腐食しない材質である必要がある。また、上述の皮膚２４の厚み（各層の厚み）は一例であり、素材等によって適宜変更され得る。また、皮膚２４の積層構造も適宜変更可能である。
【００２５】
このように、人体状部２２の全身にわたって多数のピエゾセンサシート（触覚センサエレメント）５８が埋め込まれており、全身分布型の高密度で超柔軟の触覚センサ（図３において参照符号「７６」で示す。）が構築されている。後述するように、触覚センサ７６は、複数のノード８０（図４参照）を含むセンサネットワークで構成されており、各ノード８０は、複数の触覚センサエレメント５８、センサ値読取装置および演算装置等を備えている。この触覚センサ７６によって、ロボット１０の全身において人間や物の接触によって皮膚２４に加えられた圧力を圧覚（触覚）情報として検知することができる。
【００２６】
図１に示すロボット１０の電気的構成の一例が図３のブロック図に示される。図３に示すように、このロボット１０は、全体の制御のためにマイクロコンピュータまたはＣＰＵ６０を含み、このＣＰＵ６０には、バス６２を通して、メモリ６４，モータ制御ボード６６，センサ入力／出力ボード６８およびサウンド入力／出力ボード７０が接続される。
【００２７】
メモリ６４は、図示しないが、ＲＯＭやＨＤＤ、ＲＡＭ等を含む。ＲＯＭやＨＤＤ等にはこのロボット１０の制御プログラムが予め書き込まれている。制御プログラムはたとえばコミュニケーション行動を実行するためのプログラム、外部のコンピュータと通信するためのプログラム等を含む。メモリ６４にはまた、コミュニケーション行動を実行するためのデータが記憶され、そのデータは、たとえば、個々の行動を実行する際に、スピーカ５２から発生すべき音声または声の音声データ（音声合成データ）、および所定の身振りを提示するための各関節軸の角度制御データ（コマンドデータ）等を含む。ＲＡＭは、一時記憶メモリおよびワーキングメモリとして利用される。
【００２８】
モータ制御ボード６６は、たとえばＤＳＰ(Digital Signal Processor)で構成され、上述の各腕や頭部などの各モータ１６、４０、４２、４８を制御する。この実施例では、アクチュエータにはすべてＤＣモータが用いられる。各モータの出力軸には、角度センサ７８としてポテンショメータが装着されている。
【００２９】
ロボット１０の動作データとして、この実施例では各関節軸（左右の腕部にそれぞれ４軸、首部に３軸の計１１軸）の角度センサ７８の出力が用いられる。各角度センサ７８の出力電圧は、後述する触覚センサエレメント５８と同じ読取回路により、たとえば１００Ｈｚで読み取られ、−３２７６７〜３２７６８の整数値に変換される。つまり、各角度センサ７８で検出される各関節軸の回転角度（関節角度）を示す信号は、センサ入力／出力ボード６８に与えられ、関節角度データとして読み取られる。関節角度データは、モータ制御ボード６６に与えられ、モータ制御ボード６６は、各角度センサ７８からのデータを用いて各モータ４０、４２、４８をフィードバック制御する。
【００３０】
具体的には、モータ制御ボード６６は、ＣＰＵ６０からのコマンドデータを受けて、右肩関節３２Ｒの３軸のそれぞれの角度を制御する３つのモータと右肘関節３４Ｒの１軸の角度を制御する１つのモータとの計４つのモータ（図３ではまとめて、「右腕モータ」として示す。）４０の回転角度を、各軸の角度センサ７８の回転角度データ（関節角度データ）を用いて調節する。また、モータ制御ボード６６は、左肩関節３２Ｌの３軸と左肘関節３４Ｌの１軸、計４つのモータ（図３ではまとめて、「左腕モータ」として示す。）４２の回転角度を、各軸の角度センサ７８の回転角度データを用いて調節する。モータ制御ボード６６は、また、頭部４６を変位させる首関節４４の３軸のモータ（図３ではまとめて、「頭部モータ」として示す。）４８の回転角度を、各軸の角度センサ７８の回転角度データを用いて調節する。
【００３１】
また、車輪モータ１６の制御も同様である。モータ制御ボード６６は、車輪１４を駆動する２つのモータ（図３ではまとめて、「車輪モータ」として示す。）１６を、各軸の角度センサ７８からの回転角度データを用いて制御する。
【００３２】
なお、この実施例の各モータ１６、４０、４２、４８は、直流モータ（サーボモータ）であるが、他の実施例では、車輪モータ１６を除いて、それぞれステッピングモータまたはパルスモータであってよい。
【００３３】
センサ入力／出力ボード６８も、同様に、ＤＳＰで構成され、各センサやカメラからの信号を取り込んでＣＰＵ６０に与える。すなわち、図示しない衝突センサの各々からの接触に関するデータがこのセンサ入力／出力ボード６８を通してＣＰＵ６０に入力される。また、眼カメラ５０からの映像信号が、必要に応じてこのセンサ入力／出力ボード６８で所定の処理が施された後、ＣＰＵ６０に入力される。
【００３４】
また、触覚センサ７６が、このセンサ入力／出力ボード６８に接続されており、ＣＰＵ６０と触覚センサ７６はセンサ入力／出力ボード６８を介してデータを送受信する。
【００３５】
サウンド入力／出力ボード７０には、スピーカ５２およびマイク２６が接続される。スピーカ５２にはサウンド入力／出力ボード７０を介して、ＣＰＵ６０から、合成音声データが与えられ、それに応じて、スピーカ５２からはそのデータに従った音声または声が出力される。また、マイク２６からの音声入力が、サウンド入力／出力ボード７０を介して、ＣＰＵ６０に取り込まれる。
【００３６】
また、ＣＰＵ６０には、バス６２を介して通信ＬＡＮボード７２および無線通信装置７４が接続される。この通信ＬＡＮボード７２および無線通信装置７４によって、ロボット１０は外部のコンピュータ等と無線通信を行うことができる。具体的には、通信ＬＡＮボード７２は、ＤＳＰで構成され、ＣＰＵ６０からの送信データを無線通信装置７４に与え、無線通信装置７４から送信データを、図示は省略するが、たとえば無線ＬＡＮまたはインタネットのようなネットワークを介して、外部のコンピュータに送信させる。また、通信ＬＡＮボード７２は、無線通信装置７４を介して外部のコンピュータからのデータを受信し、受信したデータをＣＰＵ６０に与える。
【００３７】
触覚センサ７６の電気的構成の一例が図４のブロック図に示される。触覚センサ７６は複数のノード８０を含み、各ノード８０は複数の触覚センサエレメント５８を備えている。複数のノード８０はバス８２を介して相互に接続される。バス８２はたとえばＲＳ４２２シリアルバスであり、センサ入力／出力ボード６８に設けられるシリアル通信ポートに接続されている。このように、複数のノード８０およびＣＰＵ６０がセンサネットワークを構成しており、接続された経路を介して通信を行う。
【００３８】
なお、触覚センサ７６のネットワーク構造は適宜変更可能であり、たとえば、本件出願人による特開２００６−２８７５２０号公報に開示されるような相互接続型のセンサネットワークが構築されてもよい。
【００３９】
各ノード８０は基板８４を含み、この基板８４に当該ノード８０に所属する複数の触覚センサエレメント５８が接続される。また、基板８４には、センサ値読取装置（読取回路）としてのＡ／Ｄ変換器８８および増幅器９０、ならびに演算装置としてのプロセッサユニット８６が設けられている。各触覚センサエレメント５８からの配線は増幅器９０に接続されている。
【００４０】
各触覚センサエレメント５８の出力信号は、増幅器９０で電流増幅された後、Ａ／Ｄ変換器８８によってディジタルデータに変換される。このＡ／Ｄ変換器８８は、たとえば１６ｂｉｔ、１００Ｈｚの時空間分解能でサンプリングを行う。Ａ／Ｄ変換器８８でサンプリングされたデータはプロセッサユニット８６に与えられる。
【００４１】
なお、基板８４と所属する各触覚センサエレメント５８との配線長を短くするために、各ノード８０の基板８４は、所属する各触覚センサエレメント５８のなるべく近傍になるように筐体内において配置される。たとえば、２００−３００枚程度の触覚センサエレメント５８がロボット１０の全身の皮膚２４中に分布されており、２０数個の基板８４が設けられ、各基板８４には、１６個のＡ／Ｄ変換器８８が搭載されており、１６個の触覚センサエレメント５８の出力電圧が同時に読み取られ、それぞれ−３２７６７〜３２７６８の整数値に変換される。
【００４２】
プロセッサユニット８６は、ノードプロセッサであり、つまり、当該ノード８０の制御および通信制御を行うマイクロコンピュータである。プロセッサユニット８６は、ＲＯＭおよびＲＡＭなどのメモリを内蔵している。内蔵メモリのＲＯＭにはノード８０の動作を制御するためのプログラムおよびデータが予め記憶される。Ａ／Ｄ変換器８８で読み取られた各触覚センサエレメント５８のセンサ出力データ（時系列データ）は、内蔵メモリのＲＡＭに記憶される。このプロセッサユニット８６により、センサ出力の時系列データの処理を各ノード８０において行うことができる。また、このプロセッサユニット８６が上述のバス８２に接続されており、バス８２を介して他のノード８０のプロセッサユニット８６およびＣＰＵ６０との間で通信を行うことができるので、ＣＰＵ６０は各ノード８０で検出された触覚データを取得することができる。また、各角度センサ７８も各触覚センサ５８と同様にノード８０の読取回路に接続されるので、各角度センサ７８のセンサ出力データ（時系列データ）もプロセッサユニット８６に取得され、さらにＣＰＵ６０やモータ制御ボード６６に与えられる。
【００４３】
この実施例では、自己動作に起因する触覚センサ出力（すなわちノイズ）を除去するために、まず、ロボット１０の動作と触覚センサ出力との関係を表すモデル（以下、動作触覚関係モデルという。）を構築する。そして、ロボット１０は、現時刻の動作データを、得られた動作触覚関係モデルに入力することにより現時刻の触覚センサ出力を推定し、実際の触覚センサ出力と推定値との差分を計算することによって自己動作に起因する触覚センサ出力を除去する。
【００４４】
動作触覚関係モデルを構築する上で、考慮するべき点が２つある。１つ目は、ロボット１０の動作と触覚センサ出力の関係には非線形性が存在することである。たとえば、ロボット１０が肘関節３４Ｒまたは３４Ｌを曲げた状態と伸ばした状態では、肩関節３２Ｒまたは３２Ｌを同じように回転させた場合でも手先３８Ｒまたは３８Ｌに加わる力が変化するため、触覚センサ出力が変化する。そのため、ロボット１０の姿勢に応じて異なるモデルを構築する必要がある。２つ目は、動作に対応する触覚センサ出力が時間遅れを伴うことである。皮膚２４の表面の振動によって触覚センサ７６が反応するといったことが起こり得る。
【００４５】
このような関係をモデル化するために、ロボット１０の各関節の角度で表される姿勢空間Ｄ（この実施例では１１次元の空間）をいくつかの領域に分割し、それぞれの領域で線形モデルを推定する。各領域における線形モデルは、ロボット１０の持つ全関節の角度と１つの触覚センサ出力との関係を、多入力１出力（入力：関節角，出力：触覚センサ出力）の状態空間モデルで表す。その他の触覚センサ出力についても同様にモデル化を行う。
【００４６】
まず、線形モデルの推定について説明する。この実施例では、触覚センサ出力と動作の関係を、入力を動作、出力を触覚センサ出力とした離散時間状態空間モデルを用いて表現する。一般的に、ｐ入力ｑ出力の状態空間モデルは、次の数１および数２のように記述される。
【００４７】
【数１】
2010017768.tif 000003
【００４８】
【数２】
2010017768.tif 000004
【００４９】
ここで、ｕ（ｔ）∈Ｒｐはモデルの入力、ｙ（ｔ）∈Ｒｑはモデルの出力、ｘ（ｔ）∈Ｒｎは状態変数である。また、ω（ｔ），ν（ｔ）はシステムに加わる白色雑音を表している。Ａ，Ｂ，Ｃはそれぞれｎ×ｎ，ｎ×ｐ，ｑ×ｎの定数行列であり、モデル推定によって決定される。この実施例では、複数の触覚センサ出力はお互いに無相関であると仮定し、１出力モデルを推定する。したがって、入力ベクトルｕ（ｔ）をｐ個の関節角度からなるｐ次元ベクトル、出力ベクトルｙ（ｔ）を１個の触覚センサ出力からなる１次元ベクトルとする。また、状態空間モデルの推定には、システム同定の手法であるＮ４ＳＩＤ法［P.VanOverschee and B. De Moor. Subspace Identification for Linear Systems. Kluwer Academic Press,1996.］が利用される。
【００５０】
各領域で推定された線形モデルは、次の数３で示されるノイズレベルの減少率Ｆを利用して評価する。
【００５１】
【数３】
2010017768.tif 000005
【００５２】
ここで、Ｎ１，Ｎ２はそれぞれ次の数４，数５である。
【００５３】
【数４】
2010017768.tif 000006
【００５４】
【数５】
2010017768.tif 000007
【００５５】
また、ｕｋ（ｔ）およびｕ＾ｋ（ｔ）は、それぞれｋ番目の触覚センサの時刻ｔにおける出力および推定値である。Ｔはデータ数である。このノイズレベルの減少率Ｆの値が大きいほど、よりノイズが除去されたことを意味する。
【００５６】
次に、姿勢空間（姿勢領域）の分割について説明する。この実施例では、姿勢領域を分割するために、多次元非線形写像を求める手法であるＰａＬＭ−ｔｒｅｅ［中村恭之，加藤丈和，和田俊和．非線形写像学習のためのpalm-treeの提案．日本ロボット学会誌，Vol.23,No.6,pp.732-742,2005.］［特開２００６−３３８１２３号公報］を用いる。ここで、ロボット１０の姿勢は、各関節の角度の時間変化ｕ（ｔ）＝（ｕ１（ｔ），ｕ２（ｔ），…，ｕｐ（ｔ））によって表すことができる。また、ロボット１０の触覚センサ出力は、ｙ（ｔ）＝（ｙ１（ｔ），ｙ２（ｔ），…，ｙｑ（ｔ））と表す。ここで、ｔは時刻、ｐは関節数、ｑは触覚センサ数である。
【００５７】
姿勢空間の分割は、これから述べるように全データを含んだ姿勢空間の分割をはじめとして再帰的に行われるため、全データを含むノードを頂点とした決定木の形で表すことができる。姿勢空間を分割し、それを表現する決定木を構築する方法をフロー図を用いて説明する。
【００５８】
図５は、動作触覚関係モデルの作成処理の動作の一例を示す。この実施例では、動作触覚関係モデルの作成処理は、ロボット１０のＣＰＵ６０によって実行されるが、他の実施例では、ロボット１０の動作データと触覚センサ出力データを取得した外部のコンピュータによって実行されてもよい。
【００５９】
まず、ステップＳ１で、ロボット１０に様々な身体動作を実行させて、そのときの触覚センサ出力ｙ（ｔ）と各関節角度ｕ（ｔ）を記録する。ロボット１０には、人とコミュニケーションする際に行う様々な動作のためのプログラムが記憶されており、それらの動作を実行し、その際の角度センサ７８の出力データ（関節角度データ）と触覚センサ７６の出力データ（触覚センサ出力データ）とを対応付けてメモリ６４に記録する。
【００６０】
ステップＳ３では、全データの組を含む姿勢領域Ｄを設定する。まず全データの組についてモデルを作るために、この時点での姿勢空間Ｄは、全データの組を含む姿勢領域である。なお、姿勢領域Ｄには、姿勢領域の識別番号が設定される。
【００６１】
そして、ステップＳ５で、姿勢領域（Ｄ）の分割処理を実行する。この分割処理は、設定された姿勢領域Ｄについてのサブルーチンとして実行される。図６に姿勢領域（Ｄ）の分割処理の動作の一例が示される。
【００６２】
図６のステップＳ２１で、はじめに、姿勢領域Ｄに含まれる触覚センサ出力のノイズレベルＮ２を数５により計算する。そして、ステップＳ２３で、ノイズレベルＮ２が所定の閾値ＴＮより小さいか否かを判断する。
【００６３】
ステップＳ２３で“ＹＥＳ”の場合には、その姿勢領域Ｄではモデルを作る必要がないとみなし、ステップＳ２５で、当該姿勢領域Ｄを第２種の姿勢領域と定義する。具体的には、当該姿勢領域Ｄに識別番号を設定し、識別番号に対応付けて姿勢領域に含まれるデータと種類（第２種）をメモリ６４に記憶する。ステップＳ２５を終了すると、分割処理を終了する。
【００６４】
一方、ステップＳ２３で“ＮＯ”の場合、つまり、ノイズレベルＮ２が閾値ＴＮより大きい場合には、ステップＳ２７で、姿勢領域Ｄに含まれるデータの組を用いて線形モデルを推定する（数１および数２）。そして、ステップＳ２９で、線形モデルを推定できたか否かを判断する。
【００６５】
ステップＳ２９で“ＮＯ”の場合、つまり、モデルが推定できなかった場合（姿勢領域に含まれるデータの組の数が少ない場合）には、ステップＳ３１で、その姿勢領域Ｄを第３種の姿勢領域と定義する。具体的には、当該姿勢領域Ｄに識別番号を設定し、識別番号に対応付けて姿勢領域に含まれるデータと種類（第３種）をメモリ６４に記憶する。ステップＳ３１を終了すると、分割処理を終了する。
【００６６】
一方、ステップＳ２９で“ＹＥＳ”の場合、つまり、線形モデルが推定されたときには、ステップＳ３３で、線形モデルの評価を行い、ノイズレベルの減少率Ｆ（数３）を算出する。
【００６７】
続くステップＳ３５で、ノイズレベルの減少率Ｆが所定の閾値ＴＦより大きいか否かを判断する。ステップＳ３５で“ＹＥＳ”の場合、つまり、ノイズレベルの減少率Ｆが閾値ＴＦより大きいときには、ノイズが十分に除去されたとみなし、ステップＳ３７で、当該姿勢領域Ｄを第１種の姿勢領域と定義する。具体的には、当該姿勢領域Ｄに識別番号を設定し、識別番号に対応付けて姿勢領域に含まれるデータと種類（第１種）をメモリ６４に記憶する。また、推定された線形モデルも、姿勢領域の識別番号に対応付けてメモリ６４に記憶する。ステップＳ３７を終了すると、分割処理を終了する。
【００６８】
一方、ステップＳ３５で“ＮＯ”の場合、つまり、推定した線形モデルではノイズが十分に除去されない場合には、当該姿勢領域Ｄの分割を行う。具体的には、まず、ステップＳ３９で、分割条件として、分割する軸Ｒおよび位置ＴＲを算出する。
【００６９】
図７に、姿勢領域Ｄの分割を説明するための図解図を示す。分割軸Ｒは、数６および数７によって算出される。
【００７０】
【数６】
2010017768.tif 000008
【００７１】
【数７】
2010017768.tif 000009
【００７２】
各次元ｊについてのデータの分布の幅Ｂｊを調べて、分布の幅Ｂｊが最長の次元Ｒを分割する軸Ｒとして選択する。つまり、Ｒは、関節角の最大値と最小値の差Ｂｊが最も大きい関節の番号ｊを表している。図７のグラフでは、横軸がＲ軸であり、Ｒ番目の関節の角度を示す。縦軸はｋ番目の関節の角度を示す。なお、この実施例では、関節角度ｕ（ｔ）は上述のように１１次元ベクトルであり、図７のグラフは、説明のため２つの次元Ｒ，ｋでデータをプロットしている。
【００７３】
また、ＴＲは、分割の閾値であり、つまり、分割軸Ｒにおける分割位置である。このＴＲは、分割される２つの姿勢領域Ｄ１，Ｄ２に含まれるそれぞれのデータの組の数ができるだけ等しくなるように設定される。つまり、分割によってデータ数の偏りができるだけ起きないようにしている。
【００７４】
そして、ステップＳ４１で、分割条件に従って、姿勢領域Ｄを２つの姿勢領域Ｄ１およびＤ２に分割する。図７の下部に示されるように、姿勢領域Ｄは、ｕＲ（ｔ）＜ＴＲの領域Ｄ１と、ｕＲ（ｔ）≧ＴＲの領域Ｄ２に分割される。
【００７５】
その後、姿勢領域Ｄ１，Ｄ２についても再帰的に分割を行う。つまり、ステップＳ４３で、姿勢領域Ｄ１についての分割処理のサブルーチンを実行し、ステップＳ４５で、姿勢領域Ｄ２についての分割処理のサブルーチンを実行する。
【００７６】
このようにして、全姿勢空間内の全ての領域が第１種から第３種のいずれかに属するまで再帰的に分割が行われる。
【００７７】
分割処理を終了すると、処理は図５のステップＳ７に進み、決定木をメモリ６４に記憶する。姿勢領域に対応付けられた動作触覚関係モデルは、決定木のデータ構造を有しており、つまり、作成した動作触覚関係モデルを記憶する。記憶されるデータは、分割条件（軸Ｒおよび閾値ＴＲ）、姿勢領域の識別番号および第１種の姿勢領域の線形モデルなどに関する情報を含む。決定木では、全データの組を含む姿勢領域が頂点のノードであり、分割条件に従って２つのノード（内部ノード）に分かれる。最下層は終端ノードとなり、第１種から第３種のいずれかの姿勢領域となる。内部ノードには、分割条件および当該分割条件によって結合される２つのノードの識別情報などが記憶される。終端ノードには、姿勢領域の識別番号および種類などが記憶され、さらに、第１種の姿勢領域に対応する終端ノードには、推定された線形モデルに関する情報が記憶される。このようにして、姿勢領域に対応付けられた動作触覚関係モデルがメモリ６４に記憶（取得）される。
【００７８】
図８は、動作触覚関係モデルを利用する際のロボット１０のＣＰＵ６０の動作の一例が示される。まず、ステップＳ６１で、ロボット１０が動いているときの各関節角度と触覚センサ出力を計測する。これにより、検出時刻における関節角度データと触覚センサ出力データを取得する。
【００７９】
次に、ステップＳ６３で、決定木を用いて、現時刻のロボット１０の姿勢が属する領域を調べる。具体的には、分割条件に基づいて、現在の関節角度がどの姿勢領域に属するかを判別する。
【００８０】
ステップＳ６５では、当該姿勢領域における線形モデルに関節角を入力して、現在の触覚センサ出力を推定する。具体的には、当該姿勢領域が第１種である場合、当該姿勢領域における線形モデルを利用して、触覚センサ出力の推定値を算出する。なお、姿勢領域が第２種の場合、ノイズレベルが小さいので、推定値を算出する必要がない。つまり、取得した触覚センサ出力をそのまま触覚情報として使用できる。また、姿勢領域が第３種の場合、線形モデルが推定できないので、この実施例では、推定値は算出されない。
【００８１】
ステップＳ６７では、触覚センサ出力の推定値を、実際の触覚センサ出力から差し引く。このように、差分をとることにより、ロボット１０の自己動作に起因する触覚センサ出力すなわち触覚ノイズを除去する。
【００８２】
そして、ステップＳ６９では、ノイズの除去された触覚センサ出力を触覚情報としてメモリ６４に記憶する。続くステップＳ７１で、所定のタイミングか否かを判断し、“ＮＯ”であれば、処理はステップＳ６１に戻る。ステップＳ７１で“ＹＥＳ”と判断されるまで、ノイズの除去された触覚情報の取得を継続する。
【００８３】
さらに、ステップＳ７３で、ノイズの除去された触覚情報に基づいて触覚コミュニケーション動作を実行し、人間の触行動や接触などに応じたコミュニケーションを行う。
【００８４】
この実施例によれば、ロボット１０の姿勢を複数に分類して、姿勢ごとに、動作（関節角）と触覚センサ出力との関係を示す線形モデルを作成するようにしたので、当該モデルを用いてロボット自身の動作に起因する触覚ノイズを推定することができる。したがって、ロボット１０のアクチュエーションに起因する触覚ノイズを除去することができる。
【００８５】
発明者等は、動作触覚関係モデルの有効性を検証するために実験を行った。実験では、ロボット１０の備える、握手、挨拶、自己紹介といった人とのコミュニケーションで実行される様々な動作モジュールから１５個の動作を選択し、それらをランダムな順番で実行することによってロボット１０を動かし、そのときの触覚センサ出力データおよび各関節の角度データを取得した。この実験を約６分間にわたって行い、３８４９９フレームの触覚センサ出力データと関節角度データを取得した。
【００８６】
以下には、或る触覚センサ（左上腕３０Ｌに配置された複数の触覚センサエレメント５８のうちの１つ）の出力と全１１関節軸の角度を用いて構築した動作触覚関係モデルについての実験結果を述べる。
【００８７】
実験データを用いて構築した決定木の一部を図９に示す。この図９において、丸印で描かれたノードは各姿勢領域を表している。太枠の丸印で描かれたノードは、第１種の姿勢領域であり、分割が終了したため、終端ノードになっている。また、姿勢領域に含まれるデータの組の数Ｎ，姿勢領域に含まれる触覚センサ出力のノイズレベルＮＬ，ノイズレベルの減少率Ｆがノードごとに示されている。ここで、姿勢空間を分割し決定木を構築する際の、ノイズレベルの閾値ＴＮは５、ノイズレベルの減少率の閾値ＴＦは０．５とした。
【００８８】
一般的に、ロボット１０の動作に対する触覚データの再現性が大きい姿勢周辺では、分割の早い段階から線形モデルのノイズレベルの減少率Ｆが大きくなり、分割が早く終了する（第１種）。一方、それ以外の姿勢領域では、分割を繰返しても良い線形モデルが作られない。そのため、最終的に姿勢領域が含まれるデータ数が少なくなり、線形モデルの推定が不可能になることで分割が終了する（第３種）。なお、図９の下部には、構築した動作触覚関係モデルにおける第１種〜第３種の各姿勢領域の数が示される。データ数は、各種類の全ての姿勢領域に含まれるデータの組の数を全て足し合わせたものである。
【００８９】
ノイズレベルの減少率Ｆが閾値ＴＦを上回る線形モデルが推定できた姿勢領域における実際の触覚センサ出力と、モデルによる推定値との比較を図１０に示す。図１０の（Ａ）および（Ｂ）のいずれにおいても、線形モデルによって、実際の出力との誤差の小さい推定値を算出できることが分かる。
【００９０】
また、ロボット１０が複数の姿勢領域をまたがって運動した際のノイズ除去の例を図１１に示す。図１１において中央のグラフは、実際の触覚センサ出力と推定値を表しており、上のグラフはそれらの差分を表している。また、下のグラフは姿勢領域の遷移を示している。０．５［ｓｅｃ］から１．６２［ｓｅｃ］の期間Ａの姿勢領域は、ノイズレベルの減少率Ｆが閾値ＴＦを上回る精度の良い線形モデルが推定できた領域であり、上のグラフで示されるように、期間Ａでは、ノイズが良く除去されていることが分かる。一方、２．１［ｓｅｃ］から３．０［ｓｅｃ］の期間Ｂの姿勢領域は全て線形モデルが推定できなかった領域であるため、期間Ｂでは、ノイズの除去が行われていない（差分は推定値０として算出されている）。
【００９１】
また、精度の良い線形モデルが推定できた姿勢領域について、触覚センサ出力のノイズレベルと、ノイズ除去後のノイズレベルとを、それぞれ数５および数４に基づいて計算した結果、それぞれ２４．５と１２．７となった。その比は０．５１８であり、これは、自己動作に起因する触覚ノイズをほぼ半分に抑えることができたことを示している。
【図面の簡単な説明】
【００９２】
【図１】この発明の一実施例のコミュニケーションロボットを示す図解図である。
【図２】図１実施例のコミュニケーションロボットに用いる皮膚とその中に埋め込まれる触覚センサエレメントを示す図解図である。
【図３】図１実施例のコミュニケーションロボットの電気的構成の一例を示すブロック図である。
【図４】触覚センサの電気的構成の一例を示すブロック図である。
【図５】動作触覚関係モデルの作成処理の動作の一例を示すフロー図である。
【図６】姿勢領域の分割処理の動作の一例を示す図解図である。
【図７】姿勢領域の分割を説明するための図解図である。
【図８】動作触覚関係モデルを利用する際の動作の一例を示すフロー図である。
【図９】実験データを用いて構築した決定木の一部と種類ごとの姿勢領域数を示す図解図である。
【図１０】実際の触覚センサ出力と線形モデルによる推定値とを比較するための図解図である。
【図１１】ロボットが複数の姿勢領域をまたがって運動した際のノイズ除去の一例を示す図解図である。
【符号の説明】
【００９３】
１０  …コミュニケーションロボット
３２Ｌ  …左肩関節
３２Ｒ  …右肩関節
３４Ｌ  …左肘関節
３４Ｒ  …右肘関節
４０  …右腕モータ
４２  …左腕モータ
４４  …首関節
４８  …頭部モータ
５８  …触覚センサエレメント
６０  …ＣＰＵ
６４  …メモリ
６６  …モータ制御ボード
６８  …センサ入力／出力ボード
７６  …触覚センサ
７８  …角度センサ
８０  …ノード
８６  …プロセッサユニット
【図１】
2010017768.tif 000010
【図２】
2010017768.tif 000011
【図３】
2010017768.tif 000012
【図４】
2010017768.tif 000013
【図５】
2010017768.tif 000014
【図６】
2010017768.tif 000015
【図７】
2010017768.tif 000016
【図８】
2010017768.tif 000017
【図９】
2010017768.tif 000018
【図１０】
2010017768.tif 000019
【図１１】
2010017768.tif 000020