触覚センサシステム
【課題】触覚センサの配置密度が部位毎に異なるロボットに、触覚センサからの出力信号を情報統合装置へ中継する中継装置を配置するに際し、中継装置の好適な配置態様を提供する。
【解決手段】ヒューマノイドロボット1の触覚センサシステム100は、ヒューマノイドロボット1のロボット本体2の表面に配置された複数のセンサノード200と、複数のセンサノード200から出力された出力信号を中継する中継部401を有するリレーノード120と、リレーノード120の中継部401によって中継された出力信号を受信して処理するホストノード140と、を備える。複数のセンサノード200をヒューマノイドロボット1のロボット本体2の部位に応じて少なくとも2つ以上の区分に区分し、各区分毎に、リレーノード120を配置した。
【解決手段】ヒューマノイドロボット1の触覚センサシステム100は、ヒューマノイドロボット1のロボット本体2の表面に配置された複数のセンサノード200と、複数のセンサノード200から出力された出力信号を中継する中継部401を有するリレーノード120と、リレーノード120の中継部401によって中継された出力信号を受信して処理するホストノード140と、を備える。複数のセンサノード200をヒューマノイドロボット1のロボット本体2の部位に応じて少なくとも2つ以上の区分に区分し、各区分毎に、リレーノード120を配置した。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は触覚センサシステムに関する。
【背景技術】
【0002】
この種の技術として、特許文献1は、シンクノードとソースノード、リレーノードから成るセンサーネットワークを開示している。シンクノードは、データ受信部である。ソースノードは、データ送信部である。リレーノードは、ソースノードからシンクノードまでのデータ伝送経路を構成するノードである。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第4286850号
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、近年、活発に研究が行われている触覚センサシステムをロボットなどの表面に用いることで、高度な処理が可能となる。例えば、触覚センサシステムを指先に適用すれば、物の形状を把握したり、物を掴んだりすることが可能となる。或いは、触覚センサシステムをロボットの表面の全体に適用し、接触によって視聴覚だけでは把握し得ない対象物や周辺の状況を把握することで、人と触れ合ったり、様々な障害物が複雑に配置された場所で自律的に移動したりすることが可能になる。
【0005】
このようなロボットにおいては、部位ごとに触覚センサの配置密度を変えるのが一般的である。例えば、ロボットの「手」には触覚センサが高密度で配置され、「背中」には触覚センサが低密度で配置されている。
【0006】
本願発明の目的は、触覚センサの配置密度が部位毎に異なる機器に、触覚センサからの出力信号を情報統合装置へ中継する中継装置を配置するに際し、中継装置の好適な配置態様を提供することにある。
【課題を解決するための手段】
【0007】
本願発明の観点によれば、機器の触覚センサシステムは、機器の本体の表面に配置された複数の触覚センサと、前記複数の触覚センサから出力された出力信号を中継する中継手段を有する中継装置と、前記中継装置の前記中継手段によって中継された前記出力信号を受信して処理する情報統合装置と、を備える。前記複数の触覚センサを前記機器の本体の部位に応じて少なくとも2つ以上の区分に区分し、各区分毎に、前記中継装置を配置した。即ち、一般に、前記複数の触覚センサの配置密度は、前記機器の本体のすべての部位で均一となっているのではなく、前記機器の本体の部位ごとに疎密のメリハリを持たせている。なぜなら、前記機器の本体の部位ごとに、必要とされる情報の性質が異なるからである。そこで、以上の構成によれば、前記複数の触覚センサを前記機器の本体の部位に応じて少なくとも2つ以上の区分に区分し、各区分毎に、前記中継装置を配置しているので、前記中継装置の好適で合理的な配置態様が実現されていると言うことができる。
【0008】
好ましくは、各触覚センサは、自己の動作条件に関する設定情報を記憶する設定情報記憶手段を備える。以上の構成によれば、各触覚センサは、自己が有する前記設定情報記憶手段に記憶されている設定情報に基づいて動作する。
【0009】
好ましくは、各触覚センサの前記設定情報記憶手段は、随時、書き換え可能に構成されている。以上の構成によれば、各触覚センサの動作条件を必要に応じて随時、変更することが可能になる。
【0010】
好ましくは、前記中継装置は、自己に接続された各触覚センサの前記設定情報記憶手段を書き換え可能な書き換え手段を更に備える。以上の構成によれば、専用の書き換え装置をその都度各触覚センサに接続する場合と比較して、各触覚センサの前記設定情報記憶手段を簡単に書き換えることができるようになる。
【0011】
好ましくは、前記中継装置の前記書き換え手段は、自己に接続された各触覚センサの前記設定情報記憶手段を、前記中継装置の前記書き換え手段にとっても各触覚センサにとっても把握可能な特定のタイミングで書き換えるように構成されている。以上の構成によれば、各触覚センサが出力信号を出力するタイミングと、前記中継装置の前記書き換え手段が各触覚センサの前記設定情報記憶手段を書き換えるタイミングとをずらすことが可能となる。従って、前記中継装置と、自己に接続された属する各触覚センサと、の間の通信を半二重通信で実現することが可能となる。
【0012】
好ましくは、前記特定のタイミングとは、前記複数の触覚センサへの電力供給開始時である。以上の構成によれば、前記特定のタイミングが極めてシンプルに実現される。
【0013】
好ましくは、各区分毎に、前記複数の触覚センサへの電力供給をオンオフ可能に構成されている。以上の構成によれば、特定の区分に属する各触覚センサの前記設定情報記憶手段を書き換える際、他の区分に属する各触覚センサへの電力供給供給をそのまま継続させることができるようになる。
【0014】
好ましくは、前記中継装置は、自己に接続された各触覚センサへの電力供給をオンオフするための電力供給制御手段を備える。以上の構成によれば、専用のオンオフ装置を設ける場合と比較して、前記複数の触覚センサへの電力供給供給をオンオフ可能な構成を極めてシンプルに実現することができる。
【0015】
好ましくは、前記中継装置は、自己に接続された各触覚センサを優先付けする優先情報を記憶する優先情報記憶手段を更に備える。前記中継装置の前記中継手段は、前記優先情報記憶手段に記憶されている前記優先情報に基づいて、自己に接続された各触覚センサのうち優先度の高い触覚センサから受信した信号を前記情報統合装置へ優先的に中継する。以上の構成によれば、前記情報統合装置の処理の負担をメリハリよく軽減することができる。
【0016】
好ましくは、前記中継装置は、自己に接続された各触覚センサの空間座標に関する情報としての空間座標情報を記憶する空間座標記憶手段を更に備える。前記中継装置の前記中継手段は、前記空間座標記憶手段に記憶されている前記空間座標情報に基づいて、自己に接続された各触覚センサから受信した信号を、前記空間座標情報を付加した上で前記情報統合装置へ中継する。以上の構成によれば、前記情報統合装置の処理の負担を軽減することができる。
【0017】
好ましくは、前記中継装置は、自己に接続された各触覚センサから受信した信号に基づいて、その触覚センサの動作が正常であるかを判定する動作判定手段を更に備える。前記中継装置の前記中継手段は、動作が正常であると前記動作判定手段が判定した前記触覚センサからの信号のみを前記情報統合装置に中継する。以上の構成によれば、前記情報統合装置の処理の負担を軽減することができる。
【0018】
好ましくは、各接触センサは、前記中継装置へ信号を非同期で出力するように構成されている。
【発明の効果】
【0019】
本願発明によれば、前記複数の触覚センサを前記機器の本体の部位に応じて少なくとも2つ以上の区分に区分し、各区分毎に、前記中継装置を配置しているので、前記中継装置の好適で合理的な配置態様が実現されていると言うことができる。
【図面の簡単な説明】
【0020】
【図1】図1は、ロボットの全体図である。
【図2】図2は、ロボット本体の手部に配置されたセンサノードの配置態様を示す図である。
【図3】図3は、バス上に取り付けられたセンサノードの斜視図である。
【図4】図4は、センサノードの機能ブロック図である。
【図5】図5は、設定情報記憶部の記憶内容を示す図である。
【図6】図6は、各種データ記憶部の記憶内容を示す図である。
【図7】図7は、リレーノードの機能ブロック図である。
【図8】図8は、センサノード設定用メモリの記憶内容を示す図である。
【図9】図9は、センサノードデータメモリの記憶内容を示す図である。
【図10】図10(a)及び図10(b)は、センサノードが故障した場合におけるリレーノードの役割を説明するための図である。
【図11】図11(a)〜(c)は、センサノードが故障した場合に備えて予備のセンサノードを用意した構成を説明するための図である。
【図12】図12(a)及び(b)は、センサノードが故障した場合に備えて予備のセンサノード群を用意した構成を説明するための図である。
【図13】図13は、センサノードが故障した場合に備えて予備のセンサノード群を用意した構成を説明するための図である。
【図14】図14は、ホストノードとリレーノード、センサノードによって構成される触覚センサシステムの動作説明図である。
【発明を実施するための形態】
【0021】
以下、本願発明の第1実施形態を説明する。図1に示すヒューマノイドロボット1(ロボット、機器)は、ロボット本体2(本体)と触覚センサシステム100によって構成されている。
【0022】
(ロボット本体2)
ロボット本体2は、体幹部3、頭部4、右上腕部5、右手部6、左上腕部7、左手部8、右下肢部9、左下肢部10によって構成されている。
【0023】
(触覚センサシステム100)
触覚センサシステム100は、複数のセンサノード200(触覚センサ)、複数のリレーノード120(中継装置)、ホストノード140(情報統合装置)によって構成されている。
【0024】
センサノード200は、ヒューマノイドロボット1のロボット本体2の表面に配置される触覚センサである。図1において、センサノード200は、小さな黒塗り四角で表現されている。ヒューマノイドロボット1のロボット本体2の右手部6の表面には、センサノード200が高い配置密度で取り付けられている。これに対し、例えば、ヒューマノイドロボット1のロボット本体2の体幹部3の表面には、センサノード200が低い配置密度で取り付けられている。これは、ヒューマノイドロボット1のロボット本体2の部位によっては、要求されるセンサの配置密度に違いがあるためである。
【0025】
リレーノード120は、複数のセンサノード200から出力された出力信号を中継する中継装置である。図1において、リレーノード120は、センサノード200を示す四角よりも僅かに大きな黒塗り四角で表現されている。
【0026】
ホストノード140は、リレーノード120によって中継された出力信号を受信して処理する情報統合装置である。ホストノード140は、受信した出力信号に基づいて、ヒューマノイドロボット1の動作等を制御する。
【0027】
そして、本実施形態においては、図1に示すように、複数のセンサノード200は、破線で示すように、ロボット本体2の部位に応じて8つの区分に区分されている。各リレーノード120は、その8つの区分毎に少なくとも1つ、配置されている。
【0028】
触覚センサシステム100内におけるデータや指令の送受信の概要を図14に示したので、以降、必要に応じて適宜、参照されたい。
【0029】
次に、ヒューマノイドロボット1のロボット本体2の右手部6における触覚センサシステム100の構成を詳しく説明する。
【0030】
図2に示すように、ヒューマノイドロボット1のロボット本体2の右手部6には、複数のセンサノード200、5本のバス110、5つのリレーノード120と、1つのUSBハブ130が設けられている。
【0031】
各バス110は、何れかのリレーノード120に一対一で接続すると共に、ヒューマノイドロボット1のロボット本体2の右手部6の各指の長手に沿って配置されている。各バス110は、図3に示すように、フレキシブル基板111と、2本の電源ライン112と、2本の信号ライン113と、によって構成されている。信号ライン113は、差動シリアル伝送用の信号ラインである。また、通信ラインにシングルエンドの1本でグランドを共通にする方法も使える。
【0032】
複数のセンサノード200は、図2及び図3に示すように、各バス110上に並べて配置されている。
【0033】
複数のリレーノード120は、図2に示すように、USBケーブル131によってUSBハブ130に接続されている。
【0034】
そして、USBハブ130は、USBケーブル132によってホストノード140に接続されている。
【0035】
以上の構成で、各センサノード200とリレーノード120との間、及び各リレーノード120とホストノード140との間には、半二重通信が確立されている。
【0036】
(センサノード200)
次に、図4〜7に基づいて、センサノード200の構成を説明する。
【0037】
センサノード200は、センサ部210と、信号処理部300と、から構成されている。センサ部210と信号処理部300とは互いに貼り合わされており、ワンチップ化されている(図3参照)。
【0038】
センサ部210は、力やモーメント、温度に応じたアナログセンサ信号を出力する。
【0039】
信号処理部300は、センサ部210から出力されたアナログセンサ信号を信号処理する。信号処理部300は、クロック制御部310と、デジタル変換部320と、閾値判定部330と、データ生成部340と、シリアル化部350と、バス状態判定部360と、データ送信部370と、初期送信指令部380と、設定情報記憶部390、各種データ記憶部391、設定部392によって構成されている。
【0040】
設定情報記憶部390は、自己の動作条件に関する設定情報を記憶する設定情報記憶手段である。設定情報記憶部390には、分解能データ390a、閾値データ390b、測定レンジデータ390c、サンプリング間隔データ390d、サンプリング回数データ390e、クロック周波数データ390f、送信間隔時間データ390h、最大待機時間データ390i、送信可否データ390jが記憶されている。設定情報記憶部390は、例えばRAM(Random Access Memory)によって構成され、随時、書き換え可能に構成されている。
【0041】
各種データ記憶部391には、再送回数データ391a、待ち時間データ391bが記憶される。
【0042】
クロック制御部310は、設定情報記憶部390に記憶されているクロック周波数データ390fに基づいてクロックを生成するとともに、所定の分周を行ったうえで各機能部にクロックを供給する。
【0043】
デジタル変換部320は、センサ部210から受け取ったアナログセンサ信号をデジタル変換する。このとき、デジタル変換部320は、設定情報記憶部390に記憶されている分解能データ390aの分解能や、測定レンジデータ390cの測定レンジ、サンプリング間隔データ390dのサンプリング間隔等に基づいて、アナログセンサ信号をデジタル変換する。
【0044】
閾値判定部330は、デジタル変換部320から受け取ったデジタルセンサ信号を、設定情報記憶部390に記憶されている閾値データ390bと比較する。そして、デジタルセンサ信号が閾値データ390bを超えなかった場合には、そのデジタルセンサ信号を破棄する。一方、デジタルセンサ信号が閾値データ390bを超えた場合には、そのデジタルセンサ信号をデータ生成部340に送信する。
【0045】
データ生成部340は、閾値判定部330から受け取ったデジタルセンサ信号に基づいて、リレーノード120に送信する送信データを生成する。ここで、各センサノード200にはそれぞれ異なる送信者識別番号IDが設定されている。送信者識別番号IDは、同じバス110に配設されているセンサノード200同士では重複することなく互いに異なるように設定されている。データ生成部340は、閾値判定部330から受け取ったデジタルセンサ信号に対して、送信者識別番号IDと、プリアンブル、スタートビット、CRCビット(Cyclic Redundancy Check)、ストップビットを付加した上で、予め決定されている伝送方式(例えば4B5B符号化など)に応じて符号する。
【0046】
シリアル化部350は、データ生成部340にて生成された送信データをシリアル伝送用にシリアル化する。
【0047】
バス状態判定部360は、一定周期でバス110の信号ライン113の状態を判定する。具体的には、バス状態判定部360は、バス110の信号ライン113がビジーかフリーかを判定する。そして、バス状態判定部360は、判定結果をデータ送信部370に出力する。即ち、バス状態判定部360は、バス110がビジーである場合には送信待機指示指令をデータ送信部370に出力する。一方で、バス状態判定部360は、バス110がフリーである場合には送信許可指令をデータ送信部370に出力する。
【0048】
バス状態判定部360は、バス110がビジーであった場合、所定の待ち時間待機し、再度バス110の状態を判定する。
【0049】
データ送信部370は、データ生成部340から受け取った送信データをバス110の信号ライン113に出力する。このとき、データ送信部370は、送信データを出力する前に、バス状態判定部360からの指令を確認する。即ち、データ送信部370は、バス状態判定部360から送信待機指示指令を受け取っていた場合は、送信データを出力せずに待機する。一方で、データ送信部370は、バス状態判定部360から送信許可指令を受け取っていた場合は、送信データを直ちにバス110の信号ライン113に出力する。出力する際、データ送信部370は、送信データに予め各種データ記憶部391の再送回数データ391aと待ち時間データ391bを付加する。なお、再送回数データ391aとは、同じデータをバス110の信号ライン113に再送した回数を保存したものであって、データ送信中にバス110の状態を監視するときに送信データが他のデータと衝突したと判断した後に再送するたびにカウントアップされる回数データである。また、待ち時間データ391bとは、データ送信時にバス110がビジーのときに待機する時間、もしくは連続して送信するときに待機する時間や、バス110の輻輳回避のために挿入したランダム若しくは決められた待ち時間をカウントしたものである。また、データ送信部370は、カウンタを有しており、送信データの送信を待機している時間をカウントし、カウント値を各種データ記憶部391の待ち時間データ391bに保存する。
【0050】
そして、この時間が設定情報記憶部390に記憶されている最大待機時間データ390iの最大待機時間を超過した場合、データ送信部370は、送信データを破棄する。再送回数データ391aはデータが送信された時にリセットされる。待ち時間データ391bはデータが送信されたときにリセットされ、すぐに時間のカウントを開始する。
【0051】
また、データ送信部370は、続けて送信データを出力しようとする場合、待ち時間データ391bで得られる連続する出力の時間間隔が、設定情報記憶部390に記憶されている送信間隔時間データ390hの送信間隔時間以上となるように、送信データの出力を行う。
【0052】
なお、データ送信部370は、送信データを出力するにあたっては、差動シリアル伝送方式を採用している。また、データ送信部370は、クロック制御部310にて生成されたクロックを基準に用いて、調歩同期式で送信データを出力する。即ち、リレーノード120との間でリクエストパケットのやり取りなどを行うことなく、データ送信部370は送信許可指令がバス状態判定部360から得られた後、自己のタイミングで(即ち、非同期で)送信データの出力を開始する。即ち、センサノード200とリレーノード120間では、ACKやNAKに代表されるハンドシェイクを実施しない。
【0053】
また、設定情報記憶部390の送信可否データ390jは、データ送信部370からの送信データの出力の可否を規定するデータである。データ送信部370は、送信可否データ390jが可(True)である場合に限って、送信データを出力する。一方、データ送信部370は、送信可否データ390jが否(False)である場合、送信データを破棄する。つまり、データ送信部370は、送信データを出力可能な活性化状態と、送信データを出力不能な休止状態の二つの状態を実質的に有している。
【0054】
初期送信指令部380は、センサノード200への電力供給が開始された場合にデータ生成部340に送信者識別番号IDの送信を指令する。各センサノード200にはそれぞれ異なる送信者識別番号IDが設定されているところ、初期送信指令部380は電力供給を検知してから送信者識別番号IDに応じた待機時間だけ待機したのちに、データ生成部340に送信者識別番号IDの送信を指令する。
【0055】
設定部392は、センサノード200への電力供給が開始され、送信者識別番号IDがリレーノード120に送信された後に、リレーノード120から、設定情報を受信して取得し、取得した設定情報を設定情報記憶部390に記憶する。端的に言えば、センサノード200は、電力供給直後のタイミングで、リレーノード120から設定情報を受信して取得し、取得した設定情報を設定情報記憶部390に記憶する。更に言えば、センサノード200は、電力供給が開始される度に、リレーノード120から設定情報を受信して取得し、取得した設定情報を設定情報記憶部390に記憶する。
リレーノード120からセンサノード200への設定情報の提供とセンサノード200内で設定情報記憶部390への書込みタイミングは3つの方法が用意されている。
第1の方法はセンサノード200への電力供給が開始され、n番目のリレーノード120の送信者識別番号IDがリレーノード120に送信された後に、直ちに該当するn番目のセンサノード200へ、リレーノード120から設定情報を送る方法。この時、次に該当するn+1番目のセンサノード200は予め定められた時間待機することにより、バス110の衝突なしに、n番目のセンサノード200の設定が完了し、次のサイクルでn+1番目のセンサノード200の送信者識別番号IDがリレーノード120に送信される。1つのリレーノード120には最大個数が例えば255個と予め定められているので、1つのセンサノード200が送受信を完了し、これを255回繰り返すことにより、リレーノード120以下のセンサノード200全体の設定が完了する。これが完了すると、センサノード200は触覚センサとしての測定を自律的に開始する。この方法は送受信が一対となるので、手順が簡単で確実性が高いことが利点である。
第2の方法はセンサノード200への電力供給が開始された時、各センサノード200が送信者識別番号IDのみを順次送る。例えば、送信者識別番号ID送信のみ最大255回を完了し、次にリレーノード120から順次、センサノード200に対して、設定情報送信を最大255回行い、完了する。これが完了すると、センサノード200は触覚センサとしての測定を自律的に開始する。この方法は、リレーノード120が自分の配下にあるセンサノード数と送信者識別番号ID群を把握してから、設定情報送信を行うので、効率がよく、センサノード群の情報を下に設定情報送信を変化できるという利点がある。
第3の方法は、センサノード200への電力供給が開始された時、各センサノード200が送信者識別番号IDのみを順次送る。例えば、送信者識別番号ID送信のみ最大255回を完了し、次にリレーノード120から一気にセンサノード200群に対して、設定情報送信をブロードキャストとして送り1回で完了する。このとき、ブロードキャストを表す送信者識別番号ID例えば256を用いる。各センサノード200はID256で受け取ったら、各自の設定情報を更新し、速やかに触覚センサとしての測定を自律的に開始する。これにより、簡便、迅速にセンサノード200群の設定が完了する。
これら3つの方法以外に、リレーノード120が設定情報送信を不要と判断したときは、リレーノード120からの設定情報送信は行わない。この時は、センサノード200に予め設定されている設定情報に基づいて、センサノード200は測定を開始する。この判断は、センサノード200内で予め定められた時間が経過しても自分に該当する送信者識別番号ID或いはブロードキャストに対応する設定情報が配達されない場合になされる。
【0056】
(リレーノード120)
リレーノード120は、中継部401、書き換え部402、電力供給制御部403、優先情報記憶部404、空間座標記憶部405、動作判定部406、複数のセンサノード設定用メモリ407、複数のセンサノードデータメモリ408、センサノード通信部409、ホストノード通信部410、ネットワーク制御部411、マップ作成部412、センサノード修復部413を備えて構成されている。リレーノード120の各構成要素は、CPU(Central Processing Unit)、FPGA(Field Programmable Gate Array),ROM(Read Only Memory),RAM(Random Access Memory)などによって実現されている。
【0057】
中継部401は、複数のセンサノード200から出力された出力信号をホストノード140に中継する中継手段である。
【0058】
書き換え部402は、自己にバス110を介して接続された各センサノード200の設定情報記憶部390を書き換える書き換え手段である。
【0059】
電力供給制御部403は、自己にバス110を介して接続された各センサノード200への電力供給をオンオフするための電力供給制御手段である。
【0060】
優先情報記憶部404は、自己にバス110を介して接続された各センサノード200を優先付けする優先情報を記憶する優先情報記憶手段である。
【0061】
空間座標記憶部405は、自己にバス110を介して接続された各センサノード200の空間座標に関する情報としての空間座標情報を記憶する空間座標記憶手段である。
【0062】
動作判定部406は、自己にバス110を介して接続された各センサノード200から受信した信号に基づいて、そのセンサノード200の動作が正常であるかを判定する動作判定手段である。
【0063】
センサノード設定用メモリ407は、各センサノード200に供給する設定情報と、各センサノード200の状態監視情報を記憶する記憶手段である。センサノード設定用メモリ407は、図8に示すように、各センサノード200(ID_0〜ID_255)毎に、設定情報と状態監視情報を記憶している。また、ID_255の設定情報は、ブロードキャスト用の設定情報である。「設定情報」は、図5に示す設定情報記憶部390の設定情報と対応している。「状態監視情報」は、「動作中/故障中/休止中の別に関する情報」と「再送回数情報」、「待ち時間情報」を含む。
【0064】
センサノードデータメモリ408は、各センサノード200から受け取ったデータを記憶する記憶手段である。センサノードデータメモリ408には、図9に示すように、各センサノード200(ID_0〜ID_255)毎に、受け取ったデータをマトリクス状に記憶している。また、ID_255のデータは、予備として通常は使用しないものである。
【0065】
センサノード通信部409は、センサノード200と通信するための通信手段である。
【0066】
ホストノード通信部410は、ホストノード140と通信するための通信手段である。
【0067】
ネットワーク制御部411は、バス110上のトラフィックを監視し、管理する制御手段である。
【0068】
マップ作成部412は、各センサノード200から受信したデータに基づいて、各センサノード200の空間座標情報を生成し、生成した空間座標情報を空間座標記憶部405に記憶する、マップ生成手段である。
【0069】
センサノード修復部413は、故障したセンサノード200の修復するセンサノード修復手段である。
【0070】
図2においては、1つのリレーノード120には1本のバス110のみが接続されているとしたが、以降の説明では、図7にも示すように、1つのリレーノード120に複数本のバス110が接続されているものとする。そして、各バス110毎に、センサノード200をSN群Mとして分類することとする。「SN群」とは、「センサノード群」を意味する。SN群Mの「M」は、SN群のインデックスである。
【0071】
次に、各構成要素を更に詳しく説明する。
【0072】
(中継機能)
リレーノード120の中継機能は、リレーノード120の最も基本的な機能であって、センサノード200から受け取ったデータをホストノード140へ中継する機能である。
【0073】
即ち、中継部401は、センサノード通信部409を介して、センサノード200からバス110を介してデータを受信し、受信したデータをセンサノードデータメモリ408に保存する。
【0074】
中継部401は、センサノードデータメモリ408に保存されているデータをデータパケットにしてパケットを分割する。そして、中継部401は、パケットを適宜圧縮した上で、ホストノード通信部410やUSBケーブル131、USBハブ130、USBケーブル132を介してホストノード140に中継する。
リレーノード120はセンサノード200からの送信者識別番号ID、自己のリレーノードIDを負荷して、ホストノード140へ送信する。これによりホストノード140は、センサノード200を一義的に識別できる。そのため、センサノード200側に付与する送信者識別番号IDの桁数を、例えば8ビット(0〜255)と小さく設定できるという利点がある。
【0075】
また、中継部401は、センサノード200から受信したデータから「再送回数データ」と「待ち時間データ」(図6を併せて参照)を取り出して取得し、逐次、センサノード設定用メモリ407に状態監視情報として保存する。
【0076】
なお、中継部401は、センサノードデータメモリ408に保存されているデータにタイムスタンプ情報を付与し、そのデータをホストノード140に中継するまでに所定時間以上、時間が経過していたら、そのデータをホストノード140に中継することなく破棄するようにしてもよい。
【0077】
(データチェック機能)
次に、リレーノード120のデータチェック機能を説明する。動作判定部406は、中継部401がセンサノード通信部409を介して受信したデータをモニタリングする。そして、中継部401が受信したデータに異常があると動作判定部406が判定した場合は、中継部401は、そのデータをホストノード140へ中継せずに破棄する。一方、中継部401が受信したデータに異常がないと動作判定部406が判定した場合は、中継部401は、そのデータを前述したようにホストノード140へ中継する。
【0078】
中継部401が受信したデータに異常があるとは、例えば、中途半端なデータが中継部401に連続して送られてきたり、中継部401が受信したデータのCRC値が異常であったり、中継部401が受信したデータが想定外のデータだったり、信号ライン113上で信号衝突があったと考えられる場合等である。ここで、「想定外のデータ」とは、測定レンジ外のデータや、力が印加されていないのにセンサノード200からデータが出力されてくる場合、差動信号の場合の異常信号で例えばプルアップの場合は両方ともLowLowの信号のときである。
【0079】
(設定機能)
次に、リレーノード120の設定機能を説明する。リレーノード120の設定機能とは、図5に示すセンサノード200の設定情報記憶部390をリレーノード120が設定乃至随時、書き換える機能である。
【0080】
本実施形態において、各センサノード200は、バス110を介してリレーノード120から電力供給を受けている。説明の便宜上、現在は、図7において、SN群1(センサノード群1)には、リレーノード120からの電力供給がストップしているものとする。
【0081】
先ず、電力供給制御部403は、SN群1への電力供給を開始する。すると、SN群1の各センサノード200は、自己の送信者識別番号IDをリレーノード120へ送信すると共に、設定情報の受信待ち状態となる。
【0082】
次いで、書き換え部402は、センサノード設定用メモリ407(センサノード群1)に記憶されている設定情報をID_0から順次、センサノード通信部409を介してバス110に出力する。このとき、書き換え部402は、設定情報に送信者識別番号IDを付加した上で出力する。
【0083】
各センサノード200の設定部392は、バス110を流れる設定情報を受信して取得し、取得した設定情報に含まれる送信者識別番号IDが自己の送信者識別番号IDと一致していたら、その設定情報を設定情報記憶部390に保存する。設定情報の具体的な内容については、図5を参照されたい。
【0084】
また、各センサノード200の設定部392は、バス110を流れる設定情報を受信して取得し、取得した設定情報に含まれる送信者識別番号IDがID_255であった場合は、自己の送信者識別番号IDの如何に拘わらず(つまりブロードキャストとして)、その設定情報を設定情報記憶部390に保存する。
【0085】
この状態で、SN群1に属する各センサノード200の設定情報記憶部390の設定情報を書き換える場合は、SN群1に属する各センサノード200を再起動させる。即ち、一旦、電力供給制御部403がSN群1への電力供給を停止し、その後に、SN群1への電力供給を開始する。これによれば、SN群1の各センサノード200は、自己の送信者識別番号IDをリレーノード120へ送信すると共に、設定情報の受信待ち状態となる。なお、このとき、SN群2やSN群3・・・SN群Mへの電力供給は停止する必要はない。
センサノード200は、送信者識別番号IDをリレーノード120へ送信するがこのとき、自分の設定情報をリレーノード120へ送信することもできる。リレーノード120はセンサノード200からの設定情報を受け取り、リレーノード120内の設定情報と比較する。両者の設定情報が一致していれば、センサノード200の設定が完了し正常に動作していると判定できる。もし、設定情報が一致していなければ、リレーノード120は再度設定動作を実施する。もし、再度の設定でもセンサノード200からの設定情報とリレーノード120内の設定情報が一致しない場合は、該当するセンサノード200が異常と判断し、リレーノード120は該当するセンサノード200を停止するか、或いは該当するセンサノード200からのデータを削除し、ホストノード140へ送らない。これにより、センサノード200の健康状態や動作状態を監視し、良好なデータのみを取り扱うことができる。また、センサノード200の異常を検知することができる。
リレーノード120が配下のセンサノード200群の電源をOFF/ONしてセンサノード200の設定情報を書き換えるタイミングとして、下記の方法がある。
ホストノード140からの命令で該当するリレーノード120が該当するセンサノード200群の感度(分解能、閾値、測定レンジ)や応答性(サンプリング間隔、送信間隔)などを変更する。これにより、動作が変化したときの対応が可能となる。例えば、手に物をもっていないときは、手部の信号はあまり要らないので、測定レンジを大きくし、応答も減らす。手に物をもとうとするときは、手部からの触覚情報が欲しいので、測定レンジを適当な幅に縮め、応答も増やすことにより、動的に触覚センサシステム100の感度、応答性を変えることができる。
リレーノード120自体で配下のセンサノード200群の状態がおかしいと判断したときは配下のセンサノード200群の電源をOFF/ONしてセンサノード200群の動作状態を確認することができる。
センサノード200が複数のセンサ機能を持っている場合は、ホストノード140からの命令、或いはリレーノード120の判断でセンサノード200の機能をセンサノード200群の電源をOFF/ONして、センサノード200の機能を選択できる。例えば、単軸力センサ出力を多軸力センサ出力としたり、内蔵する温度センサと切り替えたりすることができる。
また、バス110に制御線を追加し、リレーノード120側に制御線を制御、例えばON/OFFする部位をもたせ、センサノード200に制御線による設定モードと動作モードを判定する部位を持たせる。制御線によってリレーノード120がセンサノード200の設定モードと動作モードとを制御することで、リレーノード120からセンサノード200の設定情報記憶部390への設定が、電源ONの状態の動作時でもできるようにすることもできる。
【0086】
(ネットワーク輻輳制御機能)
次に、リレーノード120のネットワーク輻輳制御機能について説明する。即ち、ネットワーク制御部411は、バス110上のデータ間の衝突を検知したり、センサノード設定用メモリ407に記憶されている状態監視情報を読み込んだりすることで、バス110上でのネットワークトラフィックを監視し、管理する。ネットワーク制御部411は、上記の検知や監視等の結果として、バス110上の通信が混雑していると判断した場合は、バス110上の通信の混雑を緩和するよう、当該バス110上のセンサノード200の設定情報記憶部390の設定情報を書き換え部402に書き換えさせる。その際、当該バス110上での衝突率(単位時間あたりの衝突回数)や再送回数、待ち時間が所定値よりも下がるように、ネットワーク制御部411は、書き換え部402に設定情報記憶部390を書き換えさせる。バス110上の通信の混雑を緩和するには、例えば、図5に示す閾値データ390bを増大させることが有効である。これによれば、閾値判定部330は、より多くのデジタルセンサ信号を破棄するようになり、結果、バス110上に送信データが出力される頻度が低下する。
【0087】
なお、好ましくは、ネットワーク制御部411は、バス110上での信号の衝突やトラフィックの混雑状況などを適宜、ホストノード140に報告するように構成する。また、ホストノード140からの指令に基づいて、ネットワーク制御部411が、バス110のトラフィックの混雑状況を制御するようにしてもよい。
【0088】
(マップ作成機能)
次に、リレーノード120のマップ作成機能について説明する。即ち、マップ作成部412は、中継部401が各センサノード200から受信し、センサノードデータメモリ408に保存されているデータに基づいて、各センサノード200の空間座標情報を生成し、生成した空間座標情報を空間座標記憶部405に保存する。空間座標情報とは、自己に接続されている各センサノード200の空間座標に関する情報である。例えば、マップ作成部412は、右手部6をサイコロ形状のオブジェクトに意図的に接触させたり、球状のオブジェクトに意図的に接触させる等を繰り返すことで、各センサノード200が右手部6のどの位置に配置されているかを特定することができる。そして、中継部401は、空間座標記憶部405に保存されている空間座標情報に基づいて、センサノードデータメモリ408に保存されているデータを空間的に正規化(アドレス化)した上で、ホストノード140に当該データを送信する。ここで、「空間的に正規化」とは、例えば各データにXYZ値又はrθ値を付加することを意味する。
【0089】
(優先中継機能)
次に、リレーノード120の優先中継機能について説明する。即ち、中継部401は、各センサノード200から受信したデータを単にFIFO方式でホストノード140に中継するのではなく、優先情報記憶部404に記憶されている優先情報に従ってホストノード140に中継することが望ましい。つまり、中継部401に優先度付キューを記憶させておく記憶部を設けるということである。ここで、優先情報とは、自己にバス110を介して接続されている各センサノード200を優先付けするための情報である。例えば、ホストノード140からの指令により特定箇所のセンサノード200のデータが優先的に要求される場合、そのセンサノード200の優先度は高いレベルに設定される。そして、中継部401は、優先情報記憶部404に記憶されている優先情報に基づいて、そのセンサノード200のデータを、他のセンサノード200のデータよりも先にホストノード140へ中継する。
【0090】
その他にも、中継部401は、例えば、各センサノード200のデータうち、特にデータの変化の幅が大きいデータを優先的にホストノード140へ中継するようにしてもよい。
【0091】
また、空間座標記憶部405に記憶されている空間座標情報に基づいて、ロボット本体2の例えば右手部6のエッジに配置されているセンサノード200のデータを優先的にホストノード140へ中継するようにしてもよい。
【0092】
(修復機能)
次に、リレーノード120の修復機能を説明する。
【0093】
図10(a)には、リレーノード120とバス110と複数のセンサノード200の組み合わせを図示している。図10(b)に示すように、複数のセンサノード200のうち何れかが故障し、この故障をリレーノード120の動作判定部406が検知したとする。この場合、先ず、センサノード修復部413は、電力供給制御部403によってバス110上のすべてのセンサノード200を再起動する。仮に、その故障したセンサノード200がリレーノード120からの指令を受信可能であるとしたら、この再起動のみで、そのセンサノード200が元通り正常に稼働する可能性があるからである。
【0094】
もし、これでもセンサノード200が元通り正常に稼働するようにならなければ、センサノード修復部413は、センサノード200を再度、再起動し、そのセンサノード200の設定情報記憶部390の送信可否データ390jを否(False)に設定する。これにより、以降、センサノード200は、いかなる信号もバス110上に出力しなくなる。或いは、センサノード修復部413は、センサノード200を再度、再起動し、そのセンサノード200の設定情報記憶部390の閾値データ390bを非常に高いレベルに設定する。これにより、以降、センサノード200は、いかなるデジタルセンサ信号も破棄することになるので、いかなる信号もバス110上に出力しなくなる。
【0095】
また、図11(a)に示すように、初めから休止状態のままの予備としてのセンサノード200をバス110上に用意しておけば、図11(b)に示すように、複数のセンサノード200のうち何れかが故障しても、図11(c)に示すように、センサノード修復部413は、その故障したセンサノード200を休止状態に切り替えると共に、予備のセンサノード200を活性化させることにしてもよい。
【0096】
或いは、センサノード修復部413は、単に、故障したセンサノード200が取り付けられているバス110自体への電力供給を停止させてもよい。
【0097】
また、図12(a)に示すように、正常時に使用するSN群の近傍に予備的なSN群を用意しておけば、図12(b)に示すように、いくつかのセンサノード200が故障しても、図13に示すように、センサノード修復部413は、故障したセンサノード200が取り付けられているバス110への電力供給を停止すると共に、他の予備的なバス110へ電力供給を開始するようにしてもよい。
【0098】
(ホストノード140)
そして、ホストノード140は、センサノード200からの送信データを受信し、全情報を統合する。ホストノード140による情報統合により、触覚センサシステム100のどこにどの程度の力が印加されているか等が検出される。
【0099】
リレーノード120は、もっとも小さな系ではホストノード140を兼ねてもよい。この場合、見かけ上、ホストノード140は存在しなくなる。つまり、リレーノード120とホストノード140を一体構成にすることは可能である。
【0100】
以上に本願発明の好適な実施形態を説明したが、要するに、上記実施形態は以下のような特長を有している。
【0101】
ヒューマノイドロボット1の触覚センサシステム100は、ヒューマノイドロボット1のロボット本体2の表面に配置された複数のセンサノード200(触覚センサ)と、複数のセンサノード200から出力された出力信号を中継する中継部401を有するリレーノード120(中継装置)と、リレーノード120の中継部401によって中継された出力信号を受信して処理するホストノード140(情報統合装置)と、を備える。複数のセンサノード200をヒューマノイドロボット1のロボット本体2の部位に応じて少なくとも2つ以上の区分に区分し、各区分毎に、リレーノード120を配置した。
【0102】
即ち、一般に、複数のセンサノード200の配置密度は、ヒューマノイドロボット1のロボット本体2のすべての部位で均一となっているのではなく、例えば図1に示すように、ヒューマノイドロボット1のロボット本体2の部位ごとに疎密のメリハリを持たせている。なぜなら、ヒューマノイドロボット1のロボット本体2の部位ごとに、必要とされる情報の性質が異なるからである。そこで、以上の構成によれば、複数のセンサノード200をヒューマノイドロボット1のロボット本体2の部位に応じて少なくとも2つ以上の区分に区分し、各区分毎に、リレーノード120を配置しているので、リレーノード120の好適で合理的な配置態様が実現されていると言うことができる。
リレーノード120によりセンサノード200群を区分することにより、センサ密度、センサ感度群(低、中、高群)、センサ種群をリレーノード120がまとめて管理できるようになる。即ち、手部ではセンサ感度が高い群をまとめる。足踏ではセンサ感度が低い群でまとめる。体部では中の感度でセンサ密度が低い群をまとめる。また、力センサ群、圧力センサ群、温度センサ群を各リレーノード120でまとめることにより、設定が容易となり、ホストノード140の付加が大幅に低減されると共に、センサ群を設定する時に非常にわかりやすく、リレーノード120以下をまとめて設定、測定できるので、設置、メンテ、修復、データ処理が容易となる。
【0103】
また、各センサノード200は、自己の動作条件に関する設定情報を記憶する設定情報記憶部390(設定情報記憶手段)を備える。以上の構成によれば、各センサノード200は、自己が有する設定情報記憶部390に記憶されている設定情報に基づいて動作する。
【0104】
また、各センサノード200の設定情報記憶部390は、随時、書き換え可能に構成されている。以上の構成によれば、各センサノード200の動作条件を必要に応じて随時、変更することが可能になる。
【0105】
また、リレーノード120は、自己に接続された各センサノード200の設定情報記憶部390を書き換え可能な書き換え部402(書き換え手段)を更に備える。以上の構成によれば、専用の書き換え装置をその都度各センサノード200に接続する場合と比較して、各センサノード200の設定情報記憶部390を簡単に書き換えることができるようになる。
【0106】
また、リレーノード120の書き換え部402は、自己に接続された各センサノード200の設定情報記憶部390を、リレーノード120の書き換え部402にとっても各センサノード200にとっても把握可能な特定のタイミングで書き換えるように構成されている。以上の構成によれば、各センサノード200が出力信号を出力するタイミングと、リレーノード120の書き換え部402が各センサノード200の設定情報記憶部390を書き換えるタイミングとをずらすことが可能となる。従って、リレーノード120と、自己に接続された属する各センサノード200と、の間の通信を半二重通信で実現することが可能となる。
【0107】
また、上記の「特定のタイミング」とは、複数のセンサノード200への電力供給開始時である。以上の構成によれば、「特定のタイミング」が極めてシンプルに実現される。
【0108】
また、各区分毎に、複数のセンサノード200への電力供給をオンオフ可能に構成されている。以上の構成によれば、特定の区分に属する各センサノード200の設定情報記憶部390を書き換える際、他の区分に属する各センサノード200への電力供給供給をそのまま継続させることができるようになる。
【0109】
上記実施形態では、更に、各バス110毎に(即ち、各SN群毎に)、複数のセンサノード200への電力供給をオンオフ可能に構成されている。
【0110】
また、リレーノード120は、自己に接続された各センサノード200への電力供給をオンオフするための電力供給制御部403(電力供給制御手段)を備える。以上の構成によれば、専用のオンオフ装置を設ける場合と比較して、複数のセンサノード200への電力供給供給をオンオフ可能な構成を極めてシンプルに実現することができる。
【0111】
また、リレーノード120は、自己に接続された各センサノード200を優先付けする優先情報を記憶する優先情報記憶部404(優先情報記憶手段)を更に備える。リレーノード120の中継部401は、優先情報記憶部404に記憶されている優先情報に基づいて、自己に接続された各センサノード200のうち優先度の高い触覚センサから受信した信号をホストノード140へ優先的に中継する。以上の構成によれば、ホストノード140の処理の負担をメリハリよく軽減することができる。
【0112】
また、リレーノード120は、自己に接続された各センサノード200の空間座標に関する情報としての空間座標情報を記憶する空間座標記憶部405(空間座標記憶手段)を更に備える。リレーノード120の中継部401は、空間座標記憶部405に記憶されている空間座標情報に基づいて、自己に接続された各センサノード200から受信した信号を、空間座標情報を付加した上でホストノード140へ中継する。以上の構成によれば、ホストノード140の処理の負担を軽減することができる。
【0113】
また、リレーノード120は、自己に接続された各センサノード200から受信した信号に基づいて、そのセンサノード200の動作が正常であるかを判定する動作判定部406(動作判定手段)を更に備える。リレーノード120の中継部401は、動作が正常であると動作判定部406が判定したセンサノード200からの信号のみをホストノード140に中継する。以上の構成によれば、ホストノード140の処理の負担を軽減することができる。
【0114】
また、各センサノード200は、リレーノード120へ信号を非同期で出力するように構成されている。
【0115】
上記実施形態は、例えば以下のように変更できる。
【0116】
即ち、上記実施形態では、リレーノード120とUSBハブ130、USBハブ130とホストノード140をUSBケーブル131、USBケーブル132で接続することとしているが、これに代えて、IEEE1394やEthrenet、RS232Cを使用してもよい。
【0117】
また、触覚センサシステム100を適用する機器として、ヒューマノイドロボット1を取り上げたが、これに代えて、他の形式のロボットや乗用車など、幅広い機器に適用することができる。
【符号の説明】
【0118】
1 ヒューマノイドロボット
2 ロボット本体
120 リレーノード
140 ホストノード
200 センサノード
【技術分野】
【0001】
本発明は触覚センサシステムに関する。
【背景技術】
【0002】
この種の技術として、特許文献1は、シンクノードとソースノード、リレーノードから成るセンサーネットワークを開示している。シンクノードは、データ受信部である。ソースノードは、データ送信部である。リレーノードは、ソースノードからシンクノードまでのデータ伝送経路を構成するノードである。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第4286850号
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、近年、活発に研究が行われている触覚センサシステムをロボットなどの表面に用いることで、高度な処理が可能となる。例えば、触覚センサシステムを指先に適用すれば、物の形状を把握したり、物を掴んだりすることが可能となる。或いは、触覚センサシステムをロボットの表面の全体に適用し、接触によって視聴覚だけでは把握し得ない対象物や周辺の状況を把握することで、人と触れ合ったり、様々な障害物が複雑に配置された場所で自律的に移動したりすることが可能になる。
【0005】
このようなロボットにおいては、部位ごとに触覚センサの配置密度を変えるのが一般的である。例えば、ロボットの「手」には触覚センサが高密度で配置され、「背中」には触覚センサが低密度で配置されている。
【0006】
本願発明の目的は、触覚センサの配置密度が部位毎に異なる機器に、触覚センサからの出力信号を情報統合装置へ中継する中継装置を配置するに際し、中継装置の好適な配置態様を提供することにある。
【課題を解決するための手段】
【0007】
本願発明の観点によれば、機器の触覚センサシステムは、機器の本体の表面に配置された複数の触覚センサと、前記複数の触覚センサから出力された出力信号を中継する中継手段を有する中継装置と、前記中継装置の前記中継手段によって中継された前記出力信号を受信して処理する情報統合装置と、を備える。前記複数の触覚センサを前記機器の本体の部位に応じて少なくとも2つ以上の区分に区分し、各区分毎に、前記中継装置を配置した。即ち、一般に、前記複数の触覚センサの配置密度は、前記機器の本体のすべての部位で均一となっているのではなく、前記機器の本体の部位ごとに疎密のメリハリを持たせている。なぜなら、前記機器の本体の部位ごとに、必要とされる情報の性質が異なるからである。そこで、以上の構成によれば、前記複数の触覚センサを前記機器の本体の部位に応じて少なくとも2つ以上の区分に区分し、各区分毎に、前記中継装置を配置しているので、前記中継装置の好適で合理的な配置態様が実現されていると言うことができる。
【0008】
好ましくは、各触覚センサは、自己の動作条件に関する設定情報を記憶する設定情報記憶手段を備える。以上の構成によれば、各触覚センサは、自己が有する前記設定情報記憶手段に記憶されている設定情報に基づいて動作する。
【0009】
好ましくは、各触覚センサの前記設定情報記憶手段は、随時、書き換え可能に構成されている。以上の構成によれば、各触覚センサの動作条件を必要に応じて随時、変更することが可能になる。
【0010】
好ましくは、前記中継装置は、自己に接続された各触覚センサの前記設定情報記憶手段を書き換え可能な書き換え手段を更に備える。以上の構成によれば、専用の書き換え装置をその都度各触覚センサに接続する場合と比較して、各触覚センサの前記設定情報記憶手段を簡単に書き換えることができるようになる。
【0011】
好ましくは、前記中継装置の前記書き換え手段は、自己に接続された各触覚センサの前記設定情報記憶手段を、前記中継装置の前記書き換え手段にとっても各触覚センサにとっても把握可能な特定のタイミングで書き換えるように構成されている。以上の構成によれば、各触覚センサが出力信号を出力するタイミングと、前記中継装置の前記書き換え手段が各触覚センサの前記設定情報記憶手段を書き換えるタイミングとをずらすことが可能となる。従って、前記中継装置と、自己に接続された属する各触覚センサと、の間の通信を半二重通信で実現することが可能となる。
【0012】
好ましくは、前記特定のタイミングとは、前記複数の触覚センサへの電力供給開始時である。以上の構成によれば、前記特定のタイミングが極めてシンプルに実現される。
【0013】
好ましくは、各区分毎に、前記複数の触覚センサへの電力供給をオンオフ可能に構成されている。以上の構成によれば、特定の区分に属する各触覚センサの前記設定情報記憶手段を書き換える際、他の区分に属する各触覚センサへの電力供給供給をそのまま継続させることができるようになる。
【0014】
好ましくは、前記中継装置は、自己に接続された各触覚センサへの電力供給をオンオフするための電力供給制御手段を備える。以上の構成によれば、専用のオンオフ装置を設ける場合と比較して、前記複数の触覚センサへの電力供給供給をオンオフ可能な構成を極めてシンプルに実現することができる。
【0015】
好ましくは、前記中継装置は、自己に接続された各触覚センサを優先付けする優先情報を記憶する優先情報記憶手段を更に備える。前記中継装置の前記中継手段は、前記優先情報記憶手段に記憶されている前記優先情報に基づいて、自己に接続された各触覚センサのうち優先度の高い触覚センサから受信した信号を前記情報統合装置へ優先的に中継する。以上の構成によれば、前記情報統合装置の処理の負担をメリハリよく軽減することができる。
【0016】
好ましくは、前記中継装置は、自己に接続された各触覚センサの空間座標に関する情報としての空間座標情報を記憶する空間座標記憶手段を更に備える。前記中継装置の前記中継手段は、前記空間座標記憶手段に記憶されている前記空間座標情報に基づいて、自己に接続された各触覚センサから受信した信号を、前記空間座標情報を付加した上で前記情報統合装置へ中継する。以上の構成によれば、前記情報統合装置の処理の負担を軽減することができる。
【0017】
好ましくは、前記中継装置は、自己に接続された各触覚センサから受信した信号に基づいて、その触覚センサの動作が正常であるかを判定する動作判定手段を更に備える。前記中継装置の前記中継手段は、動作が正常であると前記動作判定手段が判定した前記触覚センサからの信号のみを前記情報統合装置に中継する。以上の構成によれば、前記情報統合装置の処理の負担を軽減することができる。
【0018】
好ましくは、各接触センサは、前記中継装置へ信号を非同期で出力するように構成されている。
【発明の効果】
【0019】
本願発明によれば、前記複数の触覚センサを前記機器の本体の部位に応じて少なくとも2つ以上の区分に区分し、各区分毎に、前記中継装置を配置しているので、前記中継装置の好適で合理的な配置態様が実現されていると言うことができる。
【図面の簡単な説明】
【0020】
【図1】図1は、ロボットの全体図である。
【図2】図2は、ロボット本体の手部に配置されたセンサノードの配置態様を示す図である。
【図3】図3は、バス上に取り付けられたセンサノードの斜視図である。
【図4】図4は、センサノードの機能ブロック図である。
【図5】図5は、設定情報記憶部の記憶内容を示す図である。
【図6】図6は、各種データ記憶部の記憶内容を示す図である。
【図7】図7は、リレーノードの機能ブロック図である。
【図8】図8は、センサノード設定用メモリの記憶内容を示す図である。
【図9】図9は、センサノードデータメモリの記憶内容を示す図である。
【図10】図10(a)及び図10(b)は、センサノードが故障した場合におけるリレーノードの役割を説明するための図である。
【図11】図11(a)〜(c)は、センサノードが故障した場合に備えて予備のセンサノードを用意した構成を説明するための図である。
【図12】図12(a)及び(b)は、センサノードが故障した場合に備えて予備のセンサノード群を用意した構成を説明するための図である。
【図13】図13は、センサノードが故障した場合に備えて予備のセンサノード群を用意した構成を説明するための図である。
【図14】図14は、ホストノードとリレーノード、センサノードによって構成される触覚センサシステムの動作説明図である。
【発明を実施するための形態】
【0021】
以下、本願発明の第1実施形態を説明する。図1に示すヒューマノイドロボット1(ロボット、機器)は、ロボット本体2(本体)と触覚センサシステム100によって構成されている。
【0022】
(ロボット本体2)
ロボット本体2は、体幹部3、頭部4、右上腕部5、右手部6、左上腕部7、左手部8、右下肢部9、左下肢部10によって構成されている。
【0023】
(触覚センサシステム100)
触覚センサシステム100は、複数のセンサノード200(触覚センサ)、複数のリレーノード120(中継装置)、ホストノード140(情報統合装置)によって構成されている。
【0024】
センサノード200は、ヒューマノイドロボット1のロボット本体2の表面に配置される触覚センサである。図1において、センサノード200は、小さな黒塗り四角で表現されている。ヒューマノイドロボット1のロボット本体2の右手部6の表面には、センサノード200が高い配置密度で取り付けられている。これに対し、例えば、ヒューマノイドロボット1のロボット本体2の体幹部3の表面には、センサノード200が低い配置密度で取り付けられている。これは、ヒューマノイドロボット1のロボット本体2の部位によっては、要求されるセンサの配置密度に違いがあるためである。
【0025】
リレーノード120は、複数のセンサノード200から出力された出力信号を中継する中継装置である。図1において、リレーノード120は、センサノード200を示す四角よりも僅かに大きな黒塗り四角で表現されている。
【0026】
ホストノード140は、リレーノード120によって中継された出力信号を受信して処理する情報統合装置である。ホストノード140は、受信した出力信号に基づいて、ヒューマノイドロボット1の動作等を制御する。
【0027】
そして、本実施形態においては、図1に示すように、複数のセンサノード200は、破線で示すように、ロボット本体2の部位に応じて8つの区分に区分されている。各リレーノード120は、その8つの区分毎に少なくとも1つ、配置されている。
【0028】
触覚センサシステム100内におけるデータや指令の送受信の概要を図14に示したので、以降、必要に応じて適宜、参照されたい。
【0029】
次に、ヒューマノイドロボット1のロボット本体2の右手部6における触覚センサシステム100の構成を詳しく説明する。
【0030】
図2に示すように、ヒューマノイドロボット1のロボット本体2の右手部6には、複数のセンサノード200、5本のバス110、5つのリレーノード120と、1つのUSBハブ130が設けられている。
【0031】
各バス110は、何れかのリレーノード120に一対一で接続すると共に、ヒューマノイドロボット1のロボット本体2の右手部6の各指の長手に沿って配置されている。各バス110は、図3に示すように、フレキシブル基板111と、2本の電源ライン112と、2本の信号ライン113と、によって構成されている。信号ライン113は、差動シリアル伝送用の信号ラインである。また、通信ラインにシングルエンドの1本でグランドを共通にする方法も使える。
【0032】
複数のセンサノード200は、図2及び図3に示すように、各バス110上に並べて配置されている。
【0033】
複数のリレーノード120は、図2に示すように、USBケーブル131によってUSBハブ130に接続されている。
【0034】
そして、USBハブ130は、USBケーブル132によってホストノード140に接続されている。
【0035】
以上の構成で、各センサノード200とリレーノード120との間、及び各リレーノード120とホストノード140との間には、半二重通信が確立されている。
【0036】
(センサノード200)
次に、図4〜7に基づいて、センサノード200の構成を説明する。
【0037】
センサノード200は、センサ部210と、信号処理部300と、から構成されている。センサ部210と信号処理部300とは互いに貼り合わされており、ワンチップ化されている(図3参照)。
【0038】
センサ部210は、力やモーメント、温度に応じたアナログセンサ信号を出力する。
【0039】
信号処理部300は、センサ部210から出力されたアナログセンサ信号を信号処理する。信号処理部300は、クロック制御部310と、デジタル変換部320と、閾値判定部330と、データ生成部340と、シリアル化部350と、バス状態判定部360と、データ送信部370と、初期送信指令部380と、設定情報記憶部390、各種データ記憶部391、設定部392によって構成されている。
【0040】
設定情報記憶部390は、自己の動作条件に関する設定情報を記憶する設定情報記憶手段である。設定情報記憶部390には、分解能データ390a、閾値データ390b、測定レンジデータ390c、サンプリング間隔データ390d、サンプリング回数データ390e、クロック周波数データ390f、送信間隔時間データ390h、最大待機時間データ390i、送信可否データ390jが記憶されている。設定情報記憶部390は、例えばRAM(Random Access Memory)によって構成され、随時、書き換え可能に構成されている。
【0041】
各種データ記憶部391には、再送回数データ391a、待ち時間データ391bが記憶される。
【0042】
クロック制御部310は、設定情報記憶部390に記憶されているクロック周波数データ390fに基づいてクロックを生成するとともに、所定の分周を行ったうえで各機能部にクロックを供給する。
【0043】
デジタル変換部320は、センサ部210から受け取ったアナログセンサ信号をデジタル変換する。このとき、デジタル変換部320は、設定情報記憶部390に記憶されている分解能データ390aの分解能や、測定レンジデータ390cの測定レンジ、サンプリング間隔データ390dのサンプリング間隔等に基づいて、アナログセンサ信号をデジタル変換する。
【0044】
閾値判定部330は、デジタル変換部320から受け取ったデジタルセンサ信号を、設定情報記憶部390に記憶されている閾値データ390bと比較する。そして、デジタルセンサ信号が閾値データ390bを超えなかった場合には、そのデジタルセンサ信号を破棄する。一方、デジタルセンサ信号が閾値データ390bを超えた場合には、そのデジタルセンサ信号をデータ生成部340に送信する。
【0045】
データ生成部340は、閾値判定部330から受け取ったデジタルセンサ信号に基づいて、リレーノード120に送信する送信データを生成する。ここで、各センサノード200にはそれぞれ異なる送信者識別番号IDが設定されている。送信者識別番号IDは、同じバス110に配設されているセンサノード200同士では重複することなく互いに異なるように設定されている。データ生成部340は、閾値判定部330から受け取ったデジタルセンサ信号に対して、送信者識別番号IDと、プリアンブル、スタートビット、CRCビット(Cyclic Redundancy Check)、ストップビットを付加した上で、予め決定されている伝送方式(例えば4B5B符号化など)に応じて符号する。
【0046】
シリアル化部350は、データ生成部340にて生成された送信データをシリアル伝送用にシリアル化する。
【0047】
バス状態判定部360は、一定周期でバス110の信号ライン113の状態を判定する。具体的には、バス状態判定部360は、バス110の信号ライン113がビジーかフリーかを判定する。そして、バス状態判定部360は、判定結果をデータ送信部370に出力する。即ち、バス状態判定部360は、バス110がビジーである場合には送信待機指示指令をデータ送信部370に出力する。一方で、バス状態判定部360は、バス110がフリーである場合には送信許可指令をデータ送信部370に出力する。
【0048】
バス状態判定部360は、バス110がビジーであった場合、所定の待ち時間待機し、再度バス110の状態を判定する。
【0049】
データ送信部370は、データ生成部340から受け取った送信データをバス110の信号ライン113に出力する。このとき、データ送信部370は、送信データを出力する前に、バス状態判定部360からの指令を確認する。即ち、データ送信部370は、バス状態判定部360から送信待機指示指令を受け取っていた場合は、送信データを出力せずに待機する。一方で、データ送信部370は、バス状態判定部360から送信許可指令を受け取っていた場合は、送信データを直ちにバス110の信号ライン113に出力する。出力する際、データ送信部370は、送信データに予め各種データ記憶部391の再送回数データ391aと待ち時間データ391bを付加する。なお、再送回数データ391aとは、同じデータをバス110の信号ライン113に再送した回数を保存したものであって、データ送信中にバス110の状態を監視するときに送信データが他のデータと衝突したと判断した後に再送するたびにカウントアップされる回数データである。また、待ち時間データ391bとは、データ送信時にバス110がビジーのときに待機する時間、もしくは連続して送信するときに待機する時間や、バス110の輻輳回避のために挿入したランダム若しくは決められた待ち時間をカウントしたものである。また、データ送信部370は、カウンタを有しており、送信データの送信を待機している時間をカウントし、カウント値を各種データ記憶部391の待ち時間データ391bに保存する。
【0050】
そして、この時間が設定情報記憶部390に記憶されている最大待機時間データ390iの最大待機時間を超過した場合、データ送信部370は、送信データを破棄する。再送回数データ391aはデータが送信された時にリセットされる。待ち時間データ391bはデータが送信されたときにリセットされ、すぐに時間のカウントを開始する。
【0051】
また、データ送信部370は、続けて送信データを出力しようとする場合、待ち時間データ391bで得られる連続する出力の時間間隔が、設定情報記憶部390に記憶されている送信間隔時間データ390hの送信間隔時間以上となるように、送信データの出力を行う。
【0052】
なお、データ送信部370は、送信データを出力するにあたっては、差動シリアル伝送方式を採用している。また、データ送信部370は、クロック制御部310にて生成されたクロックを基準に用いて、調歩同期式で送信データを出力する。即ち、リレーノード120との間でリクエストパケットのやり取りなどを行うことなく、データ送信部370は送信許可指令がバス状態判定部360から得られた後、自己のタイミングで(即ち、非同期で)送信データの出力を開始する。即ち、センサノード200とリレーノード120間では、ACKやNAKに代表されるハンドシェイクを実施しない。
【0053】
また、設定情報記憶部390の送信可否データ390jは、データ送信部370からの送信データの出力の可否を規定するデータである。データ送信部370は、送信可否データ390jが可(True)である場合に限って、送信データを出力する。一方、データ送信部370は、送信可否データ390jが否(False)である場合、送信データを破棄する。つまり、データ送信部370は、送信データを出力可能な活性化状態と、送信データを出力不能な休止状態の二つの状態を実質的に有している。
【0054】
初期送信指令部380は、センサノード200への電力供給が開始された場合にデータ生成部340に送信者識別番号IDの送信を指令する。各センサノード200にはそれぞれ異なる送信者識別番号IDが設定されているところ、初期送信指令部380は電力供給を検知してから送信者識別番号IDに応じた待機時間だけ待機したのちに、データ生成部340に送信者識別番号IDの送信を指令する。
【0055】
設定部392は、センサノード200への電力供給が開始され、送信者識別番号IDがリレーノード120に送信された後に、リレーノード120から、設定情報を受信して取得し、取得した設定情報を設定情報記憶部390に記憶する。端的に言えば、センサノード200は、電力供給直後のタイミングで、リレーノード120から設定情報を受信して取得し、取得した設定情報を設定情報記憶部390に記憶する。更に言えば、センサノード200は、電力供給が開始される度に、リレーノード120から設定情報を受信して取得し、取得した設定情報を設定情報記憶部390に記憶する。
リレーノード120からセンサノード200への設定情報の提供とセンサノード200内で設定情報記憶部390への書込みタイミングは3つの方法が用意されている。
第1の方法はセンサノード200への電力供給が開始され、n番目のリレーノード120の送信者識別番号IDがリレーノード120に送信された後に、直ちに該当するn番目のセンサノード200へ、リレーノード120から設定情報を送る方法。この時、次に該当するn+1番目のセンサノード200は予め定められた時間待機することにより、バス110の衝突なしに、n番目のセンサノード200の設定が完了し、次のサイクルでn+1番目のセンサノード200の送信者識別番号IDがリレーノード120に送信される。1つのリレーノード120には最大個数が例えば255個と予め定められているので、1つのセンサノード200が送受信を完了し、これを255回繰り返すことにより、リレーノード120以下のセンサノード200全体の設定が完了する。これが完了すると、センサノード200は触覚センサとしての測定を自律的に開始する。この方法は送受信が一対となるので、手順が簡単で確実性が高いことが利点である。
第2の方法はセンサノード200への電力供給が開始された時、各センサノード200が送信者識別番号IDのみを順次送る。例えば、送信者識別番号ID送信のみ最大255回を完了し、次にリレーノード120から順次、センサノード200に対して、設定情報送信を最大255回行い、完了する。これが完了すると、センサノード200は触覚センサとしての測定を自律的に開始する。この方法は、リレーノード120が自分の配下にあるセンサノード数と送信者識別番号ID群を把握してから、設定情報送信を行うので、効率がよく、センサノード群の情報を下に設定情報送信を変化できるという利点がある。
第3の方法は、センサノード200への電力供給が開始された時、各センサノード200が送信者識別番号IDのみを順次送る。例えば、送信者識別番号ID送信のみ最大255回を完了し、次にリレーノード120から一気にセンサノード200群に対して、設定情報送信をブロードキャストとして送り1回で完了する。このとき、ブロードキャストを表す送信者識別番号ID例えば256を用いる。各センサノード200はID256で受け取ったら、各自の設定情報を更新し、速やかに触覚センサとしての測定を自律的に開始する。これにより、簡便、迅速にセンサノード200群の設定が完了する。
これら3つの方法以外に、リレーノード120が設定情報送信を不要と判断したときは、リレーノード120からの設定情報送信は行わない。この時は、センサノード200に予め設定されている設定情報に基づいて、センサノード200は測定を開始する。この判断は、センサノード200内で予め定められた時間が経過しても自分に該当する送信者識別番号ID或いはブロードキャストに対応する設定情報が配達されない場合になされる。
【0056】
(リレーノード120)
リレーノード120は、中継部401、書き換え部402、電力供給制御部403、優先情報記憶部404、空間座標記憶部405、動作判定部406、複数のセンサノード設定用メモリ407、複数のセンサノードデータメモリ408、センサノード通信部409、ホストノード通信部410、ネットワーク制御部411、マップ作成部412、センサノード修復部413を備えて構成されている。リレーノード120の各構成要素は、CPU(Central Processing Unit)、FPGA(Field Programmable Gate Array),ROM(Read Only Memory),RAM(Random Access Memory)などによって実現されている。
【0057】
中継部401は、複数のセンサノード200から出力された出力信号をホストノード140に中継する中継手段である。
【0058】
書き換え部402は、自己にバス110を介して接続された各センサノード200の設定情報記憶部390を書き換える書き換え手段である。
【0059】
電力供給制御部403は、自己にバス110を介して接続された各センサノード200への電力供給をオンオフするための電力供給制御手段である。
【0060】
優先情報記憶部404は、自己にバス110を介して接続された各センサノード200を優先付けする優先情報を記憶する優先情報記憶手段である。
【0061】
空間座標記憶部405は、自己にバス110を介して接続された各センサノード200の空間座標に関する情報としての空間座標情報を記憶する空間座標記憶手段である。
【0062】
動作判定部406は、自己にバス110を介して接続された各センサノード200から受信した信号に基づいて、そのセンサノード200の動作が正常であるかを判定する動作判定手段である。
【0063】
センサノード設定用メモリ407は、各センサノード200に供給する設定情報と、各センサノード200の状態監視情報を記憶する記憶手段である。センサノード設定用メモリ407は、図8に示すように、各センサノード200(ID_0〜ID_255)毎に、設定情報と状態監視情報を記憶している。また、ID_255の設定情報は、ブロードキャスト用の設定情報である。「設定情報」は、図5に示す設定情報記憶部390の設定情報と対応している。「状態監視情報」は、「動作中/故障中/休止中の別に関する情報」と「再送回数情報」、「待ち時間情報」を含む。
【0064】
センサノードデータメモリ408は、各センサノード200から受け取ったデータを記憶する記憶手段である。センサノードデータメモリ408には、図9に示すように、各センサノード200(ID_0〜ID_255)毎に、受け取ったデータをマトリクス状に記憶している。また、ID_255のデータは、予備として通常は使用しないものである。
【0065】
センサノード通信部409は、センサノード200と通信するための通信手段である。
【0066】
ホストノード通信部410は、ホストノード140と通信するための通信手段である。
【0067】
ネットワーク制御部411は、バス110上のトラフィックを監視し、管理する制御手段である。
【0068】
マップ作成部412は、各センサノード200から受信したデータに基づいて、各センサノード200の空間座標情報を生成し、生成した空間座標情報を空間座標記憶部405に記憶する、マップ生成手段である。
【0069】
センサノード修復部413は、故障したセンサノード200の修復するセンサノード修復手段である。
【0070】
図2においては、1つのリレーノード120には1本のバス110のみが接続されているとしたが、以降の説明では、図7にも示すように、1つのリレーノード120に複数本のバス110が接続されているものとする。そして、各バス110毎に、センサノード200をSN群Mとして分類することとする。「SN群」とは、「センサノード群」を意味する。SN群Mの「M」は、SN群のインデックスである。
【0071】
次に、各構成要素を更に詳しく説明する。
【0072】
(中継機能)
リレーノード120の中継機能は、リレーノード120の最も基本的な機能であって、センサノード200から受け取ったデータをホストノード140へ中継する機能である。
【0073】
即ち、中継部401は、センサノード通信部409を介して、センサノード200からバス110を介してデータを受信し、受信したデータをセンサノードデータメモリ408に保存する。
【0074】
中継部401は、センサノードデータメモリ408に保存されているデータをデータパケットにしてパケットを分割する。そして、中継部401は、パケットを適宜圧縮した上で、ホストノード通信部410やUSBケーブル131、USBハブ130、USBケーブル132を介してホストノード140に中継する。
リレーノード120はセンサノード200からの送信者識別番号ID、自己のリレーノードIDを負荷して、ホストノード140へ送信する。これによりホストノード140は、センサノード200を一義的に識別できる。そのため、センサノード200側に付与する送信者識別番号IDの桁数を、例えば8ビット(0〜255)と小さく設定できるという利点がある。
【0075】
また、中継部401は、センサノード200から受信したデータから「再送回数データ」と「待ち時間データ」(図6を併せて参照)を取り出して取得し、逐次、センサノード設定用メモリ407に状態監視情報として保存する。
【0076】
なお、中継部401は、センサノードデータメモリ408に保存されているデータにタイムスタンプ情報を付与し、そのデータをホストノード140に中継するまでに所定時間以上、時間が経過していたら、そのデータをホストノード140に中継することなく破棄するようにしてもよい。
【0077】
(データチェック機能)
次に、リレーノード120のデータチェック機能を説明する。動作判定部406は、中継部401がセンサノード通信部409を介して受信したデータをモニタリングする。そして、中継部401が受信したデータに異常があると動作判定部406が判定した場合は、中継部401は、そのデータをホストノード140へ中継せずに破棄する。一方、中継部401が受信したデータに異常がないと動作判定部406が判定した場合は、中継部401は、そのデータを前述したようにホストノード140へ中継する。
【0078】
中継部401が受信したデータに異常があるとは、例えば、中途半端なデータが中継部401に連続して送られてきたり、中継部401が受信したデータのCRC値が異常であったり、中継部401が受信したデータが想定外のデータだったり、信号ライン113上で信号衝突があったと考えられる場合等である。ここで、「想定外のデータ」とは、測定レンジ外のデータや、力が印加されていないのにセンサノード200からデータが出力されてくる場合、差動信号の場合の異常信号で例えばプルアップの場合は両方ともLowLowの信号のときである。
【0079】
(設定機能)
次に、リレーノード120の設定機能を説明する。リレーノード120の設定機能とは、図5に示すセンサノード200の設定情報記憶部390をリレーノード120が設定乃至随時、書き換える機能である。
【0080】
本実施形態において、各センサノード200は、バス110を介してリレーノード120から電力供給を受けている。説明の便宜上、現在は、図7において、SN群1(センサノード群1)には、リレーノード120からの電力供給がストップしているものとする。
【0081】
先ず、電力供給制御部403は、SN群1への電力供給を開始する。すると、SN群1の各センサノード200は、自己の送信者識別番号IDをリレーノード120へ送信すると共に、設定情報の受信待ち状態となる。
【0082】
次いで、書き換え部402は、センサノード設定用メモリ407(センサノード群1)に記憶されている設定情報をID_0から順次、センサノード通信部409を介してバス110に出力する。このとき、書き換え部402は、設定情報に送信者識別番号IDを付加した上で出力する。
【0083】
各センサノード200の設定部392は、バス110を流れる設定情報を受信して取得し、取得した設定情報に含まれる送信者識別番号IDが自己の送信者識別番号IDと一致していたら、その設定情報を設定情報記憶部390に保存する。設定情報の具体的な内容については、図5を参照されたい。
【0084】
また、各センサノード200の設定部392は、バス110を流れる設定情報を受信して取得し、取得した設定情報に含まれる送信者識別番号IDがID_255であった場合は、自己の送信者識別番号IDの如何に拘わらず(つまりブロードキャストとして)、その設定情報を設定情報記憶部390に保存する。
【0085】
この状態で、SN群1に属する各センサノード200の設定情報記憶部390の設定情報を書き換える場合は、SN群1に属する各センサノード200を再起動させる。即ち、一旦、電力供給制御部403がSN群1への電力供給を停止し、その後に、SN群1への電力供給を開始する。これによれば、SN群1の各センサノード200は、自己の送信者識別番号IDをリレーノード120へ送信すると共に、設定情報の受信待ち状態となる。なお、このとき、SN群2やSN群3・・・SN群Mへの電力供給は停止する必要はない。
センサノード200は、送信者識別番号IDをリレーノード120へ送信するがこのとき、自分の設定情報をリレーノード120へ送信することもできる。リレーノード120はセンサノード200からの設定情報を受け取り、リレーノード120内の設定情報と比較する。両者の設定情報が一致していれば、センサノード200の設定が完了し正常に動作していると判定できる。もし、設定情報が一致していなければ、リレーノード120は再度設定動作を実施する。もし、再度の設定でもセンサノード200からの設定情報とリレーノード120内の設定情報が一致しない場合は、該当するセンサノード200が異常と判断し、リレーノード120は該当するセンサノード200を停止するか、或いは該当するセンサノード200からのデータを削除し、ホストノード140へ送らない。これにより、センサノード200の健康状態や動作状態を監視し、良好なデータのみを取り扱うことができる。また、センサノード200の異常を検知することができる。
リレーノード120が配下のセンサノード200群の電源をOFF/ONしてセンサノード200の設定情報を書き換えるタイミングとして、下記の方法がある。
ホストノード140からの命令で該当するリレーノード120が該当するセンサノード200群の感度(分解能、閾値、測定レンジ)や応答性(サンプリング間隔、送信間隔)などを変更する。これにより、動作が変化したときの対応が可能となる。例えば、手に物をもっていないときは、手部の信号はあまり要らないので、測定レンジを大きくし、応答も減らす。手に物をもとうとするときは、手部からの触覚情報が欲しいので、測定レンジを適当な幅に縮め、応答も増やすことにより、動的に触覚センサシステム100の感度、応答性を変えることができる。
リレーノード120自体で配下のセンサノード200群の状態がおかしいと判断したときは配下のセンサノード200群の電源をOFF/ONしてセンサノード200群の動作状態を確認することができる。
センサノード200が複数のセンサ機能を持っている場合は、ホストノード140からの命令、或いはリレーノード120の判断でセンサノード200の機能をセンサノード200群の電源をOFF/ONして、センサノード200の機能を選択できる。例えば、単軸力センサ出力を多軸力センサ出力としたり、内蔵する温度センサと切り替えたりすることができる。
また、バス110に制御線を追加し、リレーノード120側に制御線を制御、例えばON/OFFする部位をもたせ、センサノード200に制御線による設定モードと動作モードを判定する部位を持たせる。制御線によってリレーノード120がセンサノード200の設定モードと動作モードとを制御することで、リレーノード120からセンサノード200の設定情報記憶部390への設定が、電源ONの状態の動作時でもできるようにすることもできる。
【0086】
(ネットワーク輻輳制御機能)
次に、リレーノード120のネットワーク輻輳制御機能について説明する。即ち、ネットワーク制御部411は、バス110上のデータ間の衝突を検知したり、センサノード設定用メモリ407に記憶されている状態監視情報を読み込んだりすることで、バス110上でのネットワークトラフィックを監視し、管理する。ネットワーク制御部411は、上記の検知や監視等の結果として、バス110上の通信が混雑していると判断した場合は、バス110上の通信の混雑を緩和するよう、当該バス110上のセンサノード200の設定情報記憶部390の設定情報を書き換え部402に書き換えさせる。その際、当該バス110上での衝突率(単位時間あたりの衝突回数)や再送回数、待ち時間が所定値よりも下がるように、ネットワーク制御部411は、書き換え部402に設定情報記憶部390を書き換えさせる。バス110上の通信の混雑を緩和するには、例えば、図5に示す閾値データ390bを増大させることが有効である。これによれば、閾値判定部330は、より多くのデジタルセンサ信号を破棄するようになり、結果、バス110上に送信データが出力される頻度が低下する。
【0087】
なお、好ましくは、ネットワーク制御部411は、バス110上での信号の衝突やトラフィックの混雑状況などを適宜、ホストノード140に報告するように構成する。また、ホストノード140からの指令に基づいて、ネットワーク制御部411が、バス110のトラフィックの混雑状況を制御するようにしてもよい。
【0088】
(マップ作成機能)
次に、リレーノード120のマップ作成機能について説明する。即ち、マップ作成部412は、中継部401が各センサノード200から受信し、センサノードデータメモリ408に保存されているデータに基づいて、各センサノード200の空間座標情報を生成し、生成した空間座標情報を空間座標記憶部405に保存する。空間座標情報とは、自己に接続されている各センサノード200の空間座標に関する情報である。例えば、マップ作成部412は、右手部6をサイコロ形状のオブジェクトに意図的に接触させたり、球状のオブジェクトに意図的に接触させる等を繰り返すことで、各センサノード200が右手部6のどの位置に配置されているかを特定することができる。そして、中継部401は、空間座標記憶部405に保存されている空間座標情報に基づいて、センサノードデータメモリ408に保存されているデータを空間的に正規化(アドレス化)した上で、ホストノード140に当該データを送信する。ここで、「空間的に正規化」とは、例えば各データにXYZ値又はrθ値を付加することを意味する。
【0089】
(優先中継機能)
次に、リレーノード120の優先中継機能について説明する。即ち、中継部401は、各センサノード200から受信したデータを単にFIFO方式でホストノード140に中継するのではなく、優先情報記憶部404に記憶されている優先情報に従ってホストノード140に中継することが望ましい。つまり、中継部401に優先度付キューを記憶させておく記憶部を設けるということである。ここで、優先情報とは、自己にバス110を介して接続されている各センサノード200を優先付けするための情報である。例えば、ホストノード140からの指令により特定箇所のセンサノード200のデータが優先的に要求される場合、そのセンサノード200の優先度は高いレベルに設定される。そして、中継部401は、優先情報記憶部404に記憶されている優先情報に基づいて、そのセンサノード200のデータを、他のセンサノード200のデータよりも先にホストノード140へ中継する。
【0090】
その他にも、中継部401は、例えば、各センサノード200のデータうち、特にデータの変化の幅が大きいデータを優先的にホストノード140へ中継するようにしてもよい。
【0091】
また、空間座標記憶部405に記憶されている空間座標情報に基づいて、ロボット本体2の例えば右手部6のエッジに配置されているセンサノード200のデータを優先的にホストノード140へ中継するようにしてもよい。
【0092】
(修復機能)
次に、リレーノード120の修復機能を説明する。
【0093】
図10(a)には、リレーノード120とバス110と複数のセンサノード200の組み合わせを図示している。図10(b)に示すように、複数のセンサノード200のうち何れかが故障し、この故障をリレーノード120の動作判定部406が検知したとする。この場合、先ず、センサノード修復部413は、電力供給制御部403によってバス110上のすべてのセンサノード200を再起動する。仮に、その故障したセンサノード200がリレーノード120からの指令を受信可能であるとしたら、この再起動のみで、そのセンサノード200が元通り正常に稼働する可能性があるからである。
【0094】
もし、これでもセンサノード200が元通り正常に稼働するようにならなければ、センサノード修復部413は、センサノード200を再度、再起動し、そのセンサノード200の設定情報記憶部390の送信可否データ390jを否(False)に設定する。これにより、以降、センサノード200は、いかなる信号もバス110上に出力しなくなる。或いは、センサノード修復部413は、センサノード200を再度、再起動し、そのセンサノード200の設定情報記憶部390の閾値データ390bを非常に高いレベルに設定する。これにより、以降、センサノード200は、いかなるデジタルセンサ信号も破棄することになるので、いかなる信号もバス110上に出力しなくなる。
【0095】
また、図11(a)に示すように、初めから休止状態のままの予備としてのセンサノード200をバス110上に用意しておけば、図11(b)に示すように、複数のセンサノード200のうち何れかが故障しても、図11(c)に示すように、センサノード修復部413は、その故障したセンサノード200を休止状態に切り替えると共に、予備のセンサノード200を活性化させることにしてもよい。
【0096】
或いは、センサノード修復部413は、単に、故障したセンサノード200が取り付けられているバス110自体への電力供給を停止させてもよい。
【0097】
また、図12(a)に示すように、正常時に使用するSN群の近傍に予備的なSN群を用意しておけば、図12(b)に示すように、いくつかのセンサノード200が故障しても、図13に示すように、センサノード修復部413は、故障したセンサノード200が取り付けられているバス110への電力供給を停止すると共に、他の予備的なバス110へ電力供給を開始するようにしてもよい。
【0098】
(ホストノード140)
そして、ホストノード140は、センサノード200からの送信データを受信し、全情報を統合する。ホストノード140による情報統合により、触覚センサシステム100のどこにどの程度の力が印加されているか等が検出される。
【0099】
リレーノード120は、もっとも小さな系ではホストノード140を兼ねてもよい。この場合、見かけ上、ホストノード140は存在しなくなる。つまり、リレーノード120とホストノード140を一体構成にすることは可能である。
【0100】
以上に本願発明の好適な実施形態を説明したが、要するに、上記実施形態は以下のような特長を有している。
【0101】
ヒューマノイドロボット1の触覚センサシステム100は、ヒューマノイドロボット1のロボット本体2の表面に配置された複数のセンサノード200(触覚センサ)と、複数のセンサノード200から出力された出力信号を中継する中継部401を有するリレーノード120(中継装置)と、リレーノード120の中継部401によって中継された出力信号を受信して処理するホストノード140(情報統合装置)と、を備える。複数のセンサノード200をヒューマノイドロボット1のロボット本体2の部位に応じて少なくとも2つ以上の区分に区分し、各区分毎に、リレーノード120を配置した。
【0102】
即ち、一般に、複数のセンサノード200の配置密度は、ヒューマノイドロボット1のロボット本体2のすべての部位で均一となっているのではなく、例えば図1に示すように、ヒューマノイドロボット1のロボット本体2の部位ごとに疎密のメリハリを持たせている。なぜなら、ヒューマノイドロボット1のロボット本体2の部位ごとに、必要とされる情報の性質が異なるからである。そこで、以上の構成によれば、複数のセンサノード200をヒューマノイドロボット1のロボット本体2の部位に応じて少なくとも2つ以上の区分に区分し、各区分毎に、リレーノード120を配置しているので、リレーノード120の好適で合理的な配置態様が実現されていると言うことができる。
リレーノード120によりセンサノード200群を区分することにより、センサ密度、センサ感度群(低、中、高群)、センサ種群をリレーノード120がまとめて管理できるようになる。即ち、手部ではセンサ感度が高い群をまとめる。足踏ではセンサ感度が低い群でまとめる。体部では中の感度でセンサ密度が低い群をまとめる。また、力センサ群、圧力センサ群、温度センサ群を各リレーノード120でまとめることにより、設定が容易となり、ホストノード140の付加が大幅に低減されると共に、センサ群を設定する時に非常にわかりやすく、リレーノード120以下をまとめて設定、測定できるので、設置、メンテ、修復、データ処理が容易となる。
【0103】
また、各センサノード200は、自己の動作条件に関する設定情報を記憶する設定情報記憶部390(設定情報記憶手段)を備える。以上の構成によれば、各センサノード200は、自己が有する設定情報記憶部390に記憶されている設定情報に基づいて動作する。
【0104】
また、各センサノード200の設定情報記憶部390は、随時、書き換え可能に構成されている。以上の構成によれば、各センサノード200の動作条件を必要に応じて随時、変更することが可能になる。
【0105】
また、リレーノード120は、自己に接続された各センサノード200の設定情報記憶部390を書き換え可能な書き換え部402(書き換え手段)を更に備える。以上の構成によれば、専用の書き換え装置をその都度各センサノード200に接続する場合と比較して、各センサノード200の設定情報記憶部390を簡単に書き換えることができるようになる。
【0106】
また、リレーノード120の書き換え部402は、自己に接続された各センサノード200の設定情報記憶部390を、リレーノード120の書き換え部402にとっても各センサノード200にとっても把握可能な特定のタイミングで書き換えるように構成されている。以上の構成によれば、各センサノード200が出力信号を出力するタイミングと、リレーノード120の書き換え部402が各センサノード200の設定情報記憶部390を書き換えるタイミングとをずらすことが可能となる。従って、リレーノード120と、自己に接続された属する各センサノード200と、の間の通信を半二重通信で実現することが可能となる。
【0107】
また、上記の「特定のタイミング」とは、複数のセンサノード200への電力供給開始時である。以上の構成によれば、「特定のタイミング」が極めてシンプルに実現される。
【0108】
また、各区分毎に、複数のセンサノード200への電力供給をオンオフ可能に構成されている。以上の構成によれば、特定の区分に属する各センサノード200の設定情報記憶部390を書き換える際、他の区分に属する各センサノード200への電力供給供給をそのまま継続させることができるようになる。
【0109】
上記実施形態では、更に、各バス110毎に(即ち、各SN群毎に)、複数のセンサノード200への電力供給をオンオフ可能に構成されている。
【0110】
また、リレーノード120は、自己に接続された各センサノード200への電力供給をオンオフするための電力供給制御部403(電力供給制御手段)を備える。以上の構成によれば、専用のオンオフ装置を設ける場合と比較して、複数のセンサノード200への電力供給供給をオンオフ可能な構成を極めてシンプルに実現することができる。
【0111】
また、リレーノード120は、自己に接続された各センサノード200を優先付けする優先情報を記憶する優先情報記憶部404(優先情報記憶手段)を更に備える。リレーノード120の中継部401は、優先情報記憶部404に記憶されている優先情報に基づいて、自己に接続された各センサノード200のうち優先度の高い触覚センサから受信した信号をホストノード140へ優先的に中継する。以上の構成によれば、ホストノード140の処理の負担をメリハリよく軽減することができる。
【0112】
また、リレーノード120は、自己に接続された各センサノード200の空間座標に関する情報としての空間座標情報を記憶する空間座標記憶部405(空間座標記憶手段)を更に備える。リレーノード120の中継部401は、空間座標記憶部405に記憶されている空間座標情報に基づいて、自己に接続された各センサノード200から受信した信号を、空間座標情報を付加した上でホストノード140へ中継する。以上の構成によれば、ホストノード140の処理の負担を軽減することができる。
【0113】
また、リレーノード120は、自己に接続された各センサノード200から受信した信号に基づいて、そのセンサノード200の動作が正常であるかを判定する動作判定部406(動作判定手段)を更に備える。リレーノード120の中継部401は、動作が正常であると動作判定部406が判定したセンサノード200からの信号のみをホストノード140に中継する。以上の構成によれば、ホストノード140の処理の負担を軽減することができる。
【0114】
また、各センサノード200は、リレーノード120へ信号を非同期で出力するように構成されている。
【0115】
上記実施形態は、例えば以下のように変更できる。
【0116】
即ち、上記実施形態では、リレーノード120とUSBハブ130、USBハブ130とホストノード140をUSBケーブル131、USBケーブル132で接続することとしているが、これに代えて、IEEE1394やEthrenet、RS232Cを使用してもよい。
【0117】
また、触覚センサシステム100を適用する機器として、ヒューマノイドロボット1を取り上げたが、これに代えて、他の形式のロボットや乗用車など、幅広い機器に適用することができる。
【符号の説明】
【0118】
1 ヒューマノイドロボット
2 ロボット本体
120 リレーノード
140 ホストノード
200 センサノード
【特許請求の範囲】
【請求項1】
機器の本体の表面に配置された複数の触覚センサと、
前記複数の触覚センサから出力された出力信号を中継する中継手段を有する中継装置と、
前記中継装置の前記中継手段によって中継された前記出力信号を受信して処理する情報統合装置と、
を備え、
前記複数の触覚センサを前記機器の本体の部位に応じて少なくとも2つ以上の区分に区分し、各区分毎に、前記中継装置を配置した、
機器の触覚センサシステム。
【請求項2】
請求項1に記載の機器の触覚センサシステムであって、
各触覚センサは、自己の動作条件に関する設定情報を記憶する設定情報記憶手段を備える、
機器の触覚センサシステム。
【請求項3】
請求項2に記載の機器の触覚センサシステムであって、
各触覚センサの前記設定情報記憶手段は、随時、書き換え可能に構成されている、
機器の触覚センサシステム。
【請求項4】
請求項3に記載の機器の触覚センサシステムであって、
前記中継装置は、自己に接続された各触覚センサの前記設定情報記憶手段を書き換え可能な書き換え手段を更に備える、
機器の触覚センサシステム。
【請求項5】
請求項4に記載の機器の触覚センサシステムであって、
前記中継装置の前記書き換え手段は、自己に接続された各触覚センサの前記設定情報記憶手段を、前記中継装置の前記書き換え手段にとっても各触覚センサにとっても把握可能な特定のタイミングで書き換えるように構成されている、
機器の触覚センサシステム。
【請求項6】
請求項5に記載の機器の触覚センサシステムであって、
前記特定のタイミングとは、前記複数の触覚センサへの電力供給開始時である、
機器の触覚センサシステム。
【請求項7】
請求項6に記載の機器の触覚センサシステムであって、
各区分毎に、前記複数の触覚センサへの電力供給をオンオフ可能に構成されている、
機器の触覚センサシステム。
【請求項8】
請求項7に記載の機器の触覚センサシステムであって、
前記中継装置は、自己に接続された各触覚センサへの電力供給をオンオフするための電力供給制御手段を備える、
機器の触覚センサシステム。
【請求項9】
請求項1〜8の何れかに記載の機器の触覚センサシステムであって、
前記中継装置は、自己に接続された各触覚センサを優先付けする優先情報を記憶する優先情報記憶手段を更に備え、
前記中継装置の前記中継手段は、前記優先情報記憶手段に記憶されている前記優先情報に基づいて、自己に接続された各触覚センサのうち優先度の高い触覚センサから受信した信号を前記情報統合装置へ優先的に中継する、
機器の触覚センサシステム。
【請求項10】
請求項1〜9の何れかに記載の機器の触覚センサシステムであって、
前記中継装置は、自己に接続された各触覚センサの空間座標に関する情報としての空間座標情報を記憶する空間座標記憶手段を更に備え、
前記中継装置の前記中継手段は、前記空間座標記憶手段に記憶されている前記空間座標情報に基づいて、自己に接続された各触覚センサから受信した信号を、前記空間座標情報を付加した上で前記情報統合装置へ中継する、
機器の触覚センサシステム。
【請求項11】
請求項1〜10の何れかに記載の機器の触覚センサシステムであって、
前記中継装置は、自己に接続された各触覚センサから受信した信号に基づいて、その触覚センサの動作が正常であるかを判定する動作判定手段を更に備え、
前記中継装置の前記中継手段は、動作が正常であると前記動作判定手段が判定した前記触覚センサからの信号のみを前記情報統合装置に中継する、
機器の触覚センサシステム。
【請求項12】
請求項1〜11の何れかに記載の機器の触覚センサシステムであって、
各接触センサは、前記中継装置へ信号を非同期で出力するように構成されている、
機器の触覚センサシステム。
【請求項1】
機器の本体の表面に配置された複数の触覚センサと、
前記複数の触覚センサから出力された出力信号を中継する中継手段を有する中継装置と、
前記中継装置の前記中継手段によって中継された前記出力信号を受信して処理する情報統合装置と、
を備え、
前記複数の触覚センサを前記機器の本体の部位に応じて少なくとも2つ以上の区分に区分し、各区分毎に、前記中継装置を配置した、
機器の触覚センサシステム。
【請求項2】
請求項1に記載の機器の触覚センサシステムであって、
各触覚センサは、自己の動作条件に関する設定情報を記憶する設定情報記憶手段を備える、
機器の触覚センサシステム。
【請求項3】
請求項2に記載の機器の触覚センサシステムであって、
各触覚センサの前記設定情報記憶手段は、随時、書き換え可能に構成されている、
機器の触覚センサシステム。
【請求項4】
請求項3に記載の機器の触覚センサシステムであって、
前記中継装置は、自己に接続された各触覚センサの前記設定情報記憶手段を書き換え可能な書き換え手段を更に備える、
機器の触覚センサシステム。
【請求項5】
請求項4に記載の機器の触覚センサシステムであって、
前記中継装置の前記書き換え手段は、自己に接続された各触覚センサの前記設定情報記憶手段を、前記中継装置の前記書き換え手段にとっても各触覚センサにとっても把握可能な特定のタイミングで書き換えるように構成されている、
機器の触覚センサシステム。
【請求項6】
請求項5に記載の機器の触覚センサシステムであって、
前記特定のタイミングとは、前記複数の触覚センサへの電力供給開始時である、
機器の触覚センサシステム。
【請求項7】
請求項6に記載の機器の触覚センサシステムであって、
各区分毎に、前記複数の触覚センサへの電力供給をオンオフ可能に構成されている、
機器の触覚センサシステム。
【請求項8】
請求項7に記載の機器の触覚センサシステムであって、
前記中継装置は、自己に接続された各触覚センサへの電力供給をオンオフするための電力供給制御手段を備える、
機器の触覚センサシステム。
【請求項9】
請求項1〜8の何れかに記載の機器の触覚センサシステムであって、
前記中継装置は、自己に接続された各触覚センサを優先付けする優先情報を記憶する優先情報記憶手段を更に備え、
前記中継装置の前記中継手段は、前記優先情報記憶手段に記憶されている前記優先情報に基づいて、自己に接続された各触覚センサのうち優先度の高い触覚センサから受信した信号を前記情報統合装置へ優先的に中継する、
機器の触覚センサシステム。
【請求項10】
請求項1〜9の何れかに記載の機器の触覚センサシステムであって、
前記中継装置は、自己に接続された各触覚センサの空間座標に関する情報としての空間座標情報を記憶する空間座標記憶手段を更に備え、
前記中継装置の前記中継手段は、前記空間座標記憶手段に記憶されている前記空間座標情報に基づいて、自己に接続された各触覚センサから受信した信号を、前記空間座標情報を付加した上で前記情報統合装置へ中継する、
機器の触覚センサシステム。
【請求項11】
請求項1〜10の何れかに記載の機器の触覚センサシステムであって、
前記中継装置は、自己に接続された各触覚センサから受信した信号に基づいて、その触覚センサの動作が正常であるかを判定する動作判定手段を更に備え、
前記中継装置の前記中継手段は、動作が正常であると前記動作判定手段が判定した前記触覚センサからの信号のみを前記情報統合装置に中継する、
機器の触覚センサシステム。
【請求項12】
請求項1〜11の何れかに記載の機器の触覚センサシステムであって、
各接触センサは、前記中継装置へ信号を非同期で出力するように構成されている、
機器の触覚センサシステム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2012−81554(P2012−81554A)
【公開日】平成24年4月26日(2012.4.26)
【国際特許分類】
【出願番号】特願2010−229761(P2010−229761)
【出願日】平成22年10月12日(2010.10.12)
【出願人】(504157024)国立大学法人東北大学 (2,297)
【出願人】(000003609)株式会社豊田中央研究所 (4,200)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】
【公開日】平成24年4月26日(2012.4.26)
【国際特許分類】
【出願日】平成22年10月12日(2010.10.12)
【出願人】(504157024)国立大学法人東北大学 (2,297)
【出願人】(000003609)株式会社豊田中央研究所 (4,200)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】
[ Back to top ]