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