しかし、背景技術では、触覚による情報提示は、車椅子の振動に限られるので、バッテリ残量に関する警告といった限られた情報しかユーザに提示できなかった。また、車椅子を通じた無機質な情報提示では、ひとりで外出する不安を和らげるのに限界があった。
それゆえに、この発明の主たる目的は、新規な触覚提示付ロボットを提供することである。
この発明の他の目的は、ユーザに装着され、外出先での状況に応じた多様な情報を擬人的かつ触覚的に提示することができる、触覚提示付ロボットを提供することである。
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明などは、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。
第1の発明は、ユーザに装着されるロボット本体、ロボット本体をユーザに装着するためのベルト、ロボット本体に設けられ、ユーザに対して視覚的および/または聴覚的に作用する視聴覚アクチュエータ、ベルトに設けられ、ユーザに対して触覚的に作用する触覚アクチュエータ、センサ、ユーザの状況をセンサで検知する検知手段、および検知手段によって検知された状況に応じた情報をユーザに対して視聴覚アクチュエータおよび触覚アクチュエータで擬人的かつ触覚的に提示する提示手段を備える、触覚提示付ロボットである。第1の発明では、ロボット本体(10A)に、ロボット本体をユーザに装着するためのベルト(10B)が設けられる。視聴覚アクチュエータは主としてロボット本体に設けられ、触覚アクチュエータは主としてベルトに設けられる。視聴覚アクチュエータの一部(たとえばスピーカ54など)は、ロボット本体に代えて、またはこれに加えて、ベルトに設けられてもよい。触覚アクチュエータの一部(たとえば温度アクチュエータ78や振動アクチュエータ74)は、ベルトに代えて、またはこれに加えて、ロボット本体に設けられてもよい。なお、ベルトは、典型的にはユーザの上腕部に巻きつけられるが、他の部位たとえば胴体などに巻きつけられてもよい。また、こうして巻きつける代わりに、体に貼り付けたり、衣服に縫い付けたりすることも可能である。
第1の発明の触覚提示付ロボット(10)では、検知手段(30:S3−S21)がユーザ(Usr)の状況をセンサ(62−70,80)で検知し、提示手段(30:S25−S33,S37−S41,S113−S117,S123,S125)は、検知手段によって検知された状況に応じた情報をユーザに対して視聴覚アクチュエータ(36−56)および触覚アクチュエータ(74−78)で擬人的かつ触覚的に提示する。また、ロボット本体をベルトでユーザに装着するので、ユーザは、ロボットで手がふさがれることなく、ロボットを容易に持ち運ぶことができる。さらに、視聴覚アクチュエータをロボット本体に、触覚アクチュエータをベルトに設けることで、多彩で効果的なアクチュエーションが行える。
第1の発明によれば、外出先でのユーザの状況に応じた多様な情報を、ユーザに対して擬人的かつ触覚的に提示することができる。
第2の発明は、ユーザに装着されるロボット本体、ユーザに対して視覚的および/または聴覚的に作用する視聴覚アクチュエータ、ユーザに対して触覚的に作用する触覚アクチュエータ、センサ、ユーザの状況をセンサで検知する検知手段、および検知手段によって検知された状況に応じた情報をユーザに対して視聴覚アクチュエータおよび触覚アクチュエータで擬人的かつ触覚的に提示する提示手段を備え、提示手段は、視聴覚アクチュエータによって、ロボット本体の少なくとも一部位を動かすように視聴覚アクチュエータを駆動する駆動手段をさらに含む、触覚提示付ロボットである。
第2の発明によれば、外出先でのユーザの状況に応じた多様な情報を、ユーザに対して擬人的かつ触覚的に提示することができる。また、視聴覚アクチュエータがロボット本体の少なくとも一部位を動かす駆動手段(40L,40R,42,44)をさらに含むので、ロボット本体の各部位の動きによる擬人的な情報提示が行える。
第3の発明は、第2の発明に従属する触覚提示付ロボットであって、視聴覚アクチュエータは、ロボット本体をベルト上で支持しかつ移動させる支持移動機構をさらに含み、提示手段は、情報提示を行う際にロボット本体をユーザから見える位置まで支持移動機構で移動させる。
第3の発明では、視聴覚アクチュエータは支持移動機構(RL,BS,39)をさらに含み、ロボット本体はこの支持移動機構によってベルト上で支持されかつ移動される。提示手段は、情報提示を行う際に、支持移動機構を介してロボット本体をユーザから見える位置まで移動させる。
第3の発明によれば、ユーザは、ロボット本体の動きによる擬人的な情報提示を見落としにくくなる。また、第4の発明は、第1または第3の発明に従属する触覚提示付ロボットであって、触覚アクチュエータは、振動アクチュエータ,圧力アクチュエータおよび温度アクチュエータの少なくとも1つを含む。そして、第4の発明では、触覚的な情報提示は、振動アクチュエータ(74),圧力アクチュエータ(76)および温度アクチュエータ(78)の少なくとも1つを利用して、ベルトを振動させたり、ベルトで圧力を加えたり、ベルトを冷却したりすることにより行われる。なお、ある実施例では、振動アクチュエータは振動モータであり、圧力アクチュエータはバイオメタルであり、そして温度アクチュエータはペルチェ素子であるが、ユーザに振動,圧力,温度を感じさせることができるものであれば、これらに限らない。第4の発明によれば、振動,圧力および温度の少なくとも1つを通じて、ユーザに対し情報を触覚的に認識させることができる。また、これらを組み合わせることで、多様な情報提示が可能となる。
第5の発明は、第4の発明に従属する触覚提示付ロボットであって、振動アクチュエータ,圧力アクチュエータおよび温度アクチュエータの少なくとも1つは、アレイ状に配列された複数の触覚アクチュエータ素子で構成され、提示手段は複数の触覚アクチュエータ素子を配列に沿って時間差を付けて駆動することによって方向を提示する。
第5の発明では、振動アクチュエータ,圧力アクチュエータおよび温度アクチュエータの少なくとも1つは、アレイ状に配列された複数の触覚アクチュエータ素子(741a−741fおよび742a−742f,76a−76f,78a−78f)で構成されている。提示手段が、このような複数の触覚アクチュエータ素子を配列に沿って時間差を付けて駆動することによって、ユーザに対して方向を提示する。
第5の発明によれば、ユーザに対して触覚を通じて方向を提示することができるので、経路など方向を含む情報の提示が可能となる。
第6の発明は、第1ないし5のいずれかの発明に従属する触覚提示付ロボットであって、提示手段は、ユーザに対して視聴覚アクチュエータで情報を提示しつつ触覚アクチュエータで当該情報に関連する情感を感じさせる触覚を与える。
第6の発明では、提示手段(S25,S27,S31,S37)が、ユーザに対して視聴覚アクチュエータで情報を提示しつつ触覚アクチュエータで当該情報に関連する情感を感じさせる触覚を与える。
第6の発明によれば、ユーザに対して、たとえば、休憩を取らせるための案内を提示する際に、腕をさする触覚を与えることで安心感を感じさせたり、天候の悪化により帰宅を促す案内を提示する際に、腕をひんやりさせる触覚を与えることで雨や気温低下を暗示したりできるようになる。
第7の発明は、第1ないし第6のいずれかの発明に従属する触覚提示付ロボットであって、視聴覚アクチュエータは、音声入出力手段および映像入出力手段の少なくとも一方を含む。
第7の発明では、視聴覚アクチュエータが音声入出力手段(52−56)および映像入出力手段(46−50)の少なくとも一方を含むので、音声および/または映像を通じて多様な情報提示が行える。
第8の発明は、第1ないし第7のいずれかの発明に従属する触覚提示付ロボットであって、駆動手段は、ロボット本体の左腕,右腕,頭部および眼球の少なくとも一部位を動かす。
第8の発明では、駆動手段(40L,40R,42,44)は、ロボット本体の左腕(16L),右腕(16R),頭部(12)および眼球(18)の少なくとも一部位を動かすので、ロボット本体の各部位の動きによる擬人的な情報提示が行える。
第9の発明は、第1ないし第8のいずれかの発明に従属する触覚提示付ロボットであって、センサは、ユーザの置かれた環境を検知する環境センサを含み、提示手段は、環境センサで検知された環境に関連する情報を提示する。
第9の発明では、ユーザの置かれた環境を環境センサ(66,68)で検知して、検知された環境に関連する情報を提示する(S25,S31)。たとえば、付近に避けるべき障害物や情報提供すべき対象物(Obj)があることを周辺環境センサ(66)で検知して、障害物を回避するための案内情報や対象物に関する説明情報を提示したり、天気が悪化していることを天気センサ(68)で検知して、帰宅を促す案内情報を提示したりする。
なお、ある実施例では、周辺環境センサは、周辺環境を電磁波や音波などで物理的に検知する近接センサや超音波センサなどであるが、カメラ(映像センサ)やマイク(音声センサ)などでもよく、この場合、周辺の映像や音声を解析することで、障害物,対象物などの周辺環境を検知することができる。他の実施例では、環境に埋め込まれた環境知能(センサネットワークなど)を利用して、あるいは環境知能と連携して、周辺環境を検知してもよい。
第9の発明によれば、ユーザは、自分の置かれた環境がわかるので、外出の不安が軽減される。
第10の発明は、第1ないし第9のいずれかの発明に従属する触覚提示付ロボットであって、センサは、ユーザのバイタルサインを検知するバイタルセンサを含み、提示手段は、バイタルセンサで検知されたバイタルサインが過負荷状況を示す場合に、ユーザに当該過負荷状況を解消させるための案内情報を提示する。
第10の発明では、検知手段は、ユーザのバイタルサイン(血圧,心拍,筋電など)を血圧センサ,心拍センサ,筋電センサなどのバイタルセンサ(80:80a−80f)で検知し、提示手段は、バイタルセンサで検知されたバイタルサインが過負荷状況を示す場合に(S9:YES)、ユーザに当該過負荷状況を解消させるための案内情報を提示する(S27)。この提示処理では、たとえば、「休みましょう」などのメッセージが、合成音声などで聴覚的に示されるだけでなく、ロボットの腕でユーザをさすることで視覚的に提示され、さらには腕をさする動作に合わせてベルトを上下に時間差を付けて振動させるなどして触覚的にも提示される。このとき、ロボット本体の顔および/または視線をユーザに向けるなどして擬人性が増すようにすれば、より好ましい。
第11の発明は、第1ないし第10のいずれかの発明に従属する触覚提示付ロボットであって、センサは、ユーザのタッチ動作を検知するタッチセンサを含み、提示手段は、タッチセンサで検出されたタッチ動作に応答して、ユーザに対して情感を提示する動作を行う。
第11の発明では、検知手段は、ユーザのタッチ動作をタッチセンサ(70)で検知し、提示手段は、タッチセンサで検出されたタッチ動作に応答して(S17,S19)、ユーザに対して情感を提示する動作を行う(S37,S39)。ここで情感を提示する動作は、たとえば、ユーザからの話しかけやアイコンタクトなどに対して、同じ言葉をおうむ返しにしたり視線を返したりする動作である。
第11の発明によれば、ユーザからの話しかけやアイコンタクトなどにロボットが情感を示すことで、ロボットの擬人性が高まり、ユーザは、誰かと一緒であるという安心感を覚えることができる。
第12の発明は、第1ないし第11のいずれかの発明に従属する触覚提示付ロボットであって、センサは、ユーザの位置を検知する位置センサを含み、提示手段は、位置センサで検知された位置に応じた情報を提示する。
第12の発明では、検知手段は、ユーザの位置を位置センサ(62)で検知し、提示手段は、位置センサで検知された位置に応じた情報を提示する(S29,S33)。ここで、位置センサは、たとえばGPS受信機,無線LANの位置検出機能,コンパスなどを利用して実現される。また、提示処理では、位置に応じた情報、たとえばユーザの現在位置や経路に関する情報、現在位置周辺の建物,施設などに関する情報が、合成音声などで聴覚的に示されるだけでなく、ロボットによって視覚的に提示され、さらにはベルトを振動させるなどして触覚的にも提示される。このとき、ロボット本体の顔および/または視線をユーザに向けるなどして擬人性が増すようにすれば、より好ましい。
第12の発明によれば、ユーザは、位置に応じた情報を知ることができるので、外出の不安を軽減できる。
第13の発明は、第12の発明に従属する触覚提示付ロボットであって、ユーザが通るべき経路を示す経路情報を記憶したメモリをさらに備え、提示手段は、位置センサで検知された位置が経路外を示す場合に、ユーザを経路に復帰させるための案内情報を提示する。
第13の発明では、ユーザの通るべき経路を示す経路情報(82)がメモリ(34)に記憶されている。検知手段は、ユーザの位置を位置センサで検知し、提示手段は、位置センサで検知された位置が経路外を示す場合に(S11:YES)、ユーザを経路に復帰させるための案内情報を提示する(S29)。提示処理では、たとえば、「道を間違えたようです。左に曲がりましょう」などのメッセージが、合成音声などで聴覚的に示されるだけでなく、ロボットの腕で左を指すことによって視覚的に提示され、さらにはベルトを左回りに時間差を付けて振動させるなどして触覚的にも提示される。
第13の発明によれば、ユーザは、経路から外れても、経路に戻るための案内が受けられるので、外出の不安を軽減できる。
第14の発明は、第13の発明に従属する触覚提示付ロボットであって、メモリはさらに通知先情報を記憶しており、提示手段の情報提示処理に関連してユーザの現在位置を含む状況を通知先情報の示す通知先に通知する現況通知手段をさらに備える。
第14の発明では、メモリには通知先情報(84)がさらに記憶されており、現況通知手段(58,30:S35)は、提示手段の情報提示処理に関連してユーザの現在位置を含む状況を通知先情報の示す通知先に通知する。
第14の発明によれば、ユーザの現況が保護者らに通知されるので、外出の不安をいっそう軽減できる。
第15の発明は、第14の発明に従属する触覚提示付ロボットであって、センサは、ユーザの動きを検知する動きセンサを含み、動きセンサで検知された動きからユーザが危険な状態にある推定される場合に、通知先情報の示す通知先にアラートを通知するアラート通知手段をさらに備える。
第15の発明では、検知手段は、ユーザの動きを動きセンサ(64)で検知し、アラート通知手段(58,30:S23)は、動きセンサで検知された動きからユーザが危険な状態にある(たとえば倒れた)と推定される場合に(S5:YES)、通知先情報の示す通知先にアラートを通知する。ここで動きセンサは、たとえば加速度センサ,ジャイロスコープ,傾斜センサなどであるが、ユーザの動きを検知できるものであれば、これらに限らない。
第15の発明によれば、ユーザが危険な状態にある場合には、保護者らにアラートが通知されるので、外出の不安をよりいっそう軽減できる。
第16の発明は、第1または第2の発明に従属する触覚提示付ロボットであって、検知手段によって検知された状況を少なくとも情報提示の必要性に基づいて分類する状況分類手段をさらに備え、提示手段は、状況分類手段による状況分類に基づいて、視聴覚アクチュエータおよび触覚アクチュエータの連携を通じて段階的に情報を提示する。
第16の発明では、検知手段によって検知された状況は、状況分類手段(91,93,S107−S111)によって、少なくとも情報提示の必要性に基づいて分類される。提示手段(S113−S117,S123,S125)による情報提示は、状況分類手段による状況分類に基づいて、視聴覚アクチュエータおよび触覚アクチュエータの連携を通じて段階的に実行される。
第16の発明によれば、センサで検知される個々の状況を、少なくとも情報提示の必要性に基づいて分類して、その状況分類に基づいて情報提示を行うので、より広範な状況で触覚提示付ロボットを利用できるようになる。また、視聴覚アクチュエータおよび触覚アクチュエータを連携させて情報を段階的に提示するので、状況分類に適した情報提示が行えるようになる。
第16の発明の第1の局面では、状況分類手段は、さらに情報提示の緊急性に基づいて状況を分類する。
第1の局面によれば、状況分類に緊急性つまり時間的な要素が加味されるので、たとえば、緊急性が高い場合は、段階的提示の一部を省略して、情報に含まれるメッセージを速やかに、かつストレートに提示(ぎゅっと掴んで「危ない!」と叫ぶなど)したり、緊急性が低い場合は、段階的提示を通じて、ユーザを驚かせないように提示(トントンした後に「トイレがあるよ」と伝えるなど)したりというように、段階的提示に含まれる提示段階の数(所要時間)を制御することが可能になる。
第2の局面では、提示手段は、緊急性が高い情報を提示する場合に提示段階の一部を省略する。
第2の局面によれば、緊急性が高い情報を速やかに提示することができる。
第3の局面では、提示手段は、緊急性が高い情報ほど多くの提示段階を省略する。
第3の局面によれば、緊急性が高い情報ほど短い時間で提示することができる。
たとえば、緊急性が特に高い情報、たとえば物理的に危険な状況に関する警告を含んだ情報(Alert)については、“トントン”といった初期報知や、“顔を見る”といった合意・確認の段階は省略され、いきなり「危ない!」といった警告が提示されるので、危険の回避が容易になる。
また、緊急性が“Alert”の次に高い情報、たとえば今伝えるべきメッセージを含んだ情報(Notify)については、“トントン”といった初期報知の後、“顔を見る”といった合意・確認の段階は省略して、「トイレがあるよ」といったメッセージが提示されるので、急ぎのメッセージをユーザを驚かせずに伝達することができる。
そして、緊急性が“Notify”よりも低い情報、たとえば時間的に余裕のあるメッセージを含んだ情報(Recommend)については、“トントン”といった初期報知の後、“顔を見る”といった確認動作を経て、「今のうちにトイレに行っておいた方がいいよ」といったメッセージが提示されるので、時間的に余裕のあるメッセージを和やかに、かつ確実に伝達することができる。
第4の局面では、提示段階は、情報提示の段階と当該情報提示に先行する初期報知の段階とを少なくとも含む。
第4の局面によれば、情報をユーザを驚かせないように提示することができる。
第5の局面では、提示段階は、初期報知から情報提示までの間に確認動作を行う段階をさらに含む。
第5の局面によれば、情報をユーザに確実に伝えることができる。
第6の局面では、状況分類手段は、情報提示の必要性および緊急性が共に高い状況を警告に適した状況として分類する。
第6の局面によれば、情報提示の必要性および緊急性が共に高い状況で警告を行うことで、危険の回避が容易になる。
第7の局面では、状況分類手段は、情報提示の必要性および緊急性が共に低い状況を感情表現に適した状況として分類する。
第7の局面によれば、情報提示の必要性および緊急性が共に低い状況で感情表現を行うことで、危険の回避や必要な情報の提供を妨げることなく、安心感や親近感を高めることができる。
第8の局面では、状況分類手段は、警告に適した状況と感情表現に適した状況との中間に位置づけられる状況を情報伝達に適した状況として分類する。
第8の局面によれば、情報提示の必要性および緊急性に基づいて警告,情報提供および愛情表現を適切に行うことができる。
第9の局面では、提示手段は、感情表現に適した状況では感情表現を周期的に行う。
第9の局面によれば、感情表現を定期的に伝えることで、一緒にいる安心感や一体感を高めることができる。
第10の局面では、提示手段は、感情表現を行う周期を検知手段によって検知された状況に応じて変化させる。
第10の局面によれば、たとえば、ユーザのロボットへの関心が高い状況で周期を短くしたり、物理的に危険な状況や伝達すべきメッセージが多い状況では周期を長くしたりというように、周期を状況に応じて変化させることで、感情表現をユーザの関心に応えながら、しかし必要な情報提示の妨げにならない程度に伝えることができる。
第11の局面では、感情表現は、メッセージ性のある感情表現およびメッセージ性のない感情表現を含み、感情表現を行う周期に基づくタイミングで検知手段によって検知された状況がメッセージ性のある感情表現に適した状況であるか否かを判別する判別手段をさらに備え、提示手段は、判別手段によってメッセージ性のある感情表現に適した状況であると判別された場合にメッセージ性のある感情表現を行い、判別手段によってメッセージ性のある感情表現に適した状況でないと判別された場合にメッセージ性のない感情表現を行う。
第11の局面によれば、メッセージ性のある感情表現に適した状況たとえば“海の近くにいる”,“気温が低い”といった状況では「海がきれいだね」,「寒いね」といった情感的なメッセージを伝え、そうでない状況では、たとえば、抱きついて温もりを伝えたり(触覚)、顔を覗き込んだり頬擦りしたり(視覚)、あるいは「大好き」などの言葉を発したり(聴覚)といった、特段のメッセージを含まない感情表現を行うことで、ユーザの不安を取り除くことができる。
第12の局面では、少なくとも情報提示の必要性を示すタグが付された外来メッセージを取得する取得手段(58)をさらに備え、提示手段は、取得手段によって取得された外来メッセージを、当該外来メッセージに付されたタグに基づいて、視聴覚アクチュエータおよび触覚アクチュエータの連携を通じて段階的に提示する。
第12の局面によれば、外来メッセージについても、少なくとも情報提示の必要性による分類を行い、その分類に基づいて、視聴覚アクチュエータおよび触覚アクチュエータの連携を通じた段階的な提示を行うことができる。
この発明によれば、ユーザに装着され、外出先の状況に応じた多様な情報を擬人的かつ触覚的に提示できる、触覚提示付ロボットが実現される。これを装着させることで、高齢者や障害者がひとりで外出する不安を軽減することができる。
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
図1を参照して、この発明の一実施例である触覚提示付ロボット(以下、ロボット)10は、高齢者や身障者など外出時に支援を必要とするユーザUsrに装着され、外出先の状況に応じた多様な情報をユーザUsrに対して擬人的かつ触覚的に提示するロボットであり、外出支援装置と呼ぶこともできる。
ロボット10は、ぬいぐるみ10Aおよびベルト10Bで構成され、ベルト10BをユーザUsrの上腕部(通常は利き腕でない方)に巻きつけてマジックテープなどで固定すると、ぬいぐるみ10AがあたかもユーザUsrの腕にしがみついているかのような格好となる。
ぬいぐるみ10Aおよびベルト10Bの具体的な構成が図2に示されている。このぬいぐるみ10Aは、頭部12とそれを支える胴体14とを含む。胴体14の上部に左腕16Lおよび右腕16Rが設けられ、頭部12には、前面に口22が配置され、その口22の上方に鼻24をはさんで眼球18が設けられる。頭部12の上部側面には耳20が取り付けられている。
頭部12は、胴体14によって旋回・俯仰可能に支持されており、頭部モータ42(図4)により駆動されることで、たとえばユーザUsrの方を向いたり目標(相手,対象物Objなど)の方を向いたりする。また、眼球18も可動的に保持されており、眼球モータ44(図4)により駆動されることで、ユーザUsrと視線を合わせたり対象物Obj(たとえばベンチ)を見たりする。左腕16Lおよび右腕16Rも可動的に保持されており、右腕モータ40Rおよび左腕モータ40L(図4)による駆動を受けて、とんとんたたく、さする、対象物を指さす、といった動作をする。
ここで、頭部モータ42,右腕モータ40Rおよび左腕モータ40Lの各々は、任意の方向の動きを実現するべく、3軸のそれぞれの角度を制御する3つのモータ(図示せず)で構成される。ただし、場合によっては、2軸のそれぞれの角度を制御する2つのモータで構成されても、単一のモータで構成されてもよい。そして、各モータは、制御を簡単化するためにステッピングモータまたはパルスモータであるが、直流モータであってよい。
眼球18にはカメラ50(図4)が内蔵されていて、口22,鼻24,耳20にはスピーカ54,プロジェクタ48,マイク56(図4)がそれぞれ内蔵されている。カメラ50およびプロジェクタ48は映像情報を入力および出力するためのものであり、マイク56およびスピーカ54は音声情報を入力および出力するためのものであり、これによって、ロボット10(ぬいぐるみ10A)とユーザUsrとの間で、視覚および/または聴覚によるアクチュエーション、さらには音声および/または映像を通じたコミュニケーションが実現される。なお、マイク56を両方の耳20にそれぞれ内蔵すれば、ステレオマイクとして機能し、それによって、音源の位置を必要に応じて特定することができる。同様に、カメラ50を両方の眼球18にそれぞれ内蔵すれば、その視差に基づいて対象物Objの位置を計算することもできる。
また、ぬいぐるみ10Aには、各種のセンサをモジュール化したセンサモジュールSnが設けられている。この実施例のセンサモジュールSnは、図4に示されるように、位置センサ62,動きセンサ64,周辺環境センサ66,天気センサ68,およびタッチセンサ70を含む。位置センサ62は、ユーザUsrの位置(緯度・経度,方位など)を検知するためのものであり、GPS(Global Positioning System),無線LANの位置推定機能(たとえばPlaceEngine:登録商標),コンパスなどを利用して実現される。動きセンサ64は、ユーザUsrの動き(加速度,角速度,傾斜など)を検知するためものであり、加速度センサ,ジャイロスコープ,傾斜センサなどで構成される。
周辺環境センサ66は、ユーザUsrの周辺に存在する物,人などを検知し、さらにはその物,人までの距離を計測するためのものであり、電磁波を利用する近接センサ,超音波を利用する超音波センサなどで構成される。天気センサ68は、ユーザUsrの周辺の天気(温度,気圧,湿度など)を検知するためのものであり、温度センサ,気圧センサ,湿度センサなどで構成される。そしてタッチセンサ70は、ユーザUsrのぬいぐるみ10Aへのタッチの有無、さらにはタッチの強さなどを検知するためのものであり、たとえば抵抗膜方式または静電容量方式のタッチセンサで構成される。
なお、周辺環境センサ66および天気センサ68は、ユーザUsrの置かれた環境を検知する点で共通するので、「環境センサ」と総称してもよい。この場合、マイク56(音声センサ)やカメラ50(映像センサ)を環境センサに含めてもよい。周辺の音声や映像を解析することで、障害物などの周辺環境を検知できるからである。また、環境センサには、環境に埋め込まれた環境知能(たとえばセンサネットワークなど)と連携して周辺環境を検知するセンサを含めてもよい。環境知能と連携することで、ユーザUsrに適切で新しい情報を提示できる。
一方、ベルト10Bは、各々が長方形状を有する6個のクッション26a−26fを一列に連結して帯状に構成したものであり、その一方端を他方端とマジックテープや留め具(図示せず)などで固着することによって、ユーザUsrの上腕部を包み込む程度の大きさで六角柱形状の腕輪が形成される。なお、クッションの個数や形状はこれに限らず、たとえば、8個の楕円形のクッションで構成したり、円柱形状に成型された単一の細長いクッションで構成したりしてもよい。素材としては、たとえばウレタンなどの弾性素材が用いられる。
そして、6個のクッション26a−26fの各々に、各種のアクチュエータをバイタルセンサと一緒にモジュール化したアクチュエータおよびバイタルセンサ複合モジュール(以下“複合モジュール”)Act&VSnが設けられる。この実施例の複合モジュールAct&VSnは、一対の振動アクチュエータ741および742,圧力アクチュエータ76,温度アクチュエータ78,およびバイタルセンサ80を含む。
圧力アクチュエータ76は、たとえばバイオメタルで構成され(油圧や空気圧などを利用してもよい)、モジュール上端側に配置される。温度アクチュエータ78は、たとえばペルチェ素子で構成され、モジュール中央に配置される。一対の振動アクチュエータ741および742は、たとえば振動モータ(バイブレータ)で構成され、温度アクチュエータ78を挟んで上下に配置される。バイタルセンサ80は、血圧センサ,心拍センサ,筋電センサなどで構成され、モジュール下端側に配置される。
したがって、図3(A)に示すように、ベルト10Bの内側面には、6組の一対の振動アクチュエータ741a−741fおよび742a−742fと、6個の圧力アクチュエータ76a−76fと、6個の温度アクチュエータ78a−78fと、6個のバイタルセンサ80a−80fとが、それぞれ1次元アレイまたは2次元アレイの態様で配置されることになる。
具体的には、圧力アクチュエータ76a−76fは、横方向(腕の周方向)に沿って1次元アレイを構成しており、このため、圧力アクチュエータ76a−76fを左向きまたは右向きに時間差を付けて駆動すれば、ユーザUsrに対して左右の方向に関する情報を触覚的に示すことができる。温度アクチュエータ78a−78fも同様に、1次元アレイを構成しており、左右の方向に関する情報を触覚的に示すことができる。また、振動アクチュエータ741a−741fおよび742a−742fは、横方向(腕の周方向)および縦方向(腕の軸方向)に沿って2次元アレイ(6素子×2素子)を構成しており、このため、振動アクチュエータ741a−741fおよび742a−742fを左向きまたは右向きに時間差を付けて駆動することで左右の方向に関する情報を触覚的に示すことができるだけでなく、上下に時間差を付けて振動させることで上下(前後)の方向に関する情報をも触覚的に示すことができる。また、2次元アレイをたとえば3素子×3素子のように縦横均等にすれば、左上,右下といった斜め方向の提示も可能である。
また、図3(B)に示すように、ベルト10Bの外側面(ぬいぐるみ10Aが設けられる側の面)には、アルミなどの曲がりやすい素材でできたレールRLが敷設され、一方、ぬいぐるみ10Aの腹側には、このレールRLと契合する台座BSが取り付けられている。レールRLは、ベルト10Bの4分の1強の長さを有し、ベルト10Bの中ほど(クッション26c−26d)に配置される。このため、ぬいぐるみ10Aは、ユーザUsrの上腕に装着されたベルト10Bの外側面上を、レールRLに沿って4分の1周(90度)程度の範囲内で、自由に移動することができる。なお、ここで示した配置や範囲は一例であり、必要に応じて変更される。
一方、台座BSには、ぬいぐるみ10Aを移動させるための移動モータ39(図4)が設けられており、この移動モータ39を制御することで、ぬいぐるみ10AをたとえばユーザUsrから見える位置まで前進させたり、ユーザUsrの前方にいる相手(図示せず)から見えない位置まで後退させたりすることができる。具体的には、ぬいぐるみ10Aに糸を縫い付け、レールRLの両端に糸巻きを設置して、移動モータ39の動力でどちらか一方の糸巻きに糸を巻き取れば、このような移動が実現される。
なお、他の実施例では、レールRLに代えてキャタピラ(図示せず)をベルト10Bの外側面に敷設し、このキャタピラにぬいぐるみ10Aを固定してもよい。この場合、歯車付きの移動モータ(図示せず)でキャタピラを駆動すれば、ぬいぐるみ10Aの位置を制御できる。この歯車付きの移動モータも、移動モータ39あるいは他のモータ(40R,40L,42,44)と同じくステッピングモータまたはパルスモータであるが、直流モータであってよい。
図4はロボット10の電気的な構成を示すブロック図であり、この図4に示すように、コンピュータ,各種ボードといった主要な制御回路は、いずれもぬいぐるみ10A側に設けられている。具体的には、ぬいぐるみ10Aにコンピュータ30が内蔵されていて、このコンピュータ30が、通信路の一例であるバス32を通して、メモリ34,視線サーバ36,モータ制御ボード38,映像入出力ボード46,通信ボード58,音声入出力ボード52,センサ入出力ボード60,およびアクチュエータ入出力ボード72にそれぞれ結合される。
モータ制御ボード38は、たとえばDSP(Digital Signal Processor)で構成され、コンピュータ30からの制御データを受け、前述した各種モータ(39,40R,40L,42,44)を駆動して、ぬいぐるみ10Aの位置や動きを制御する。具体的には、ぬいぐるみ10Aをベルト10B上で前後に移動させたり、両腕16Rおよび16Lならびに頭部12を任意の方向に動かしたり、眼球18を回転させたりする。
映像入出力ボード46は、同様にDSPで構成され、カメラ50からの画像データ(顔画像データ)を取り込んでコンピュータ30に与えると共に、コンピュータ30からの描画データに応じてプロジェクタ48から地図,案内情報などの画像をスクリーンや壁面等に投射する。
音声入出力ボード52は、同様にDSPで構成され、マイク56からの音声データ(発話音声データ)を取り込んでコンピュータ30に与えると共に、コンピュータ30からの合成音声データに応じてスピーカ54から合成音声を出力する。
センサ入出力ボード60は、同様にDSPで構成され、各種センサ(62−70,80a−80f)からの信号を取り込んでコンピュータ30に与えると共に、コンピュータ30からの制御データに応じて各種センサを制御する。
アクチュエータ入出力ボード72は、同様にDSPで構成され、コンピュータ30からの制御データに応じて各種アクチュエータ(741a−741f,742a−742f,76a−76f,78a−78f)を制御すると共に、各種アクチュエータからの信号を取り込んでコンピュータ30に与える。
視線サーバ36は、一般的なコンピュータで構成され、カメラ50からの画像データを処理することによって、ユーザUsrの視線方向をリアルタイムで推定する。具体的には、視線サーバ36は、画像データから顔の特徴点群を検出し、これらの特徴点群から眼球中心位置を推定し、その位置と虹彩中心位置とから視線方向を決定する。なお、このような視線推定処理については、本出願人による特開2009−104426号公報に詳しく記載されている。
したがって、コンピュータ30は、視線サーバ36が推定したユーザUsrの視線方向を示すデータ、マイク56で取り込まれたユーザUsrの発話を含む音声データ、カメラ50で撮影されたユーザUsrの顔を含む画像データ、そして各種センサ(62−70,80a−80f)で検出されたユーザUsrの状況を示すデータなどを、バス32を通して刻々受け取ることができる。
メモリ34には図示しないDRAM,フラッシュメモリなどが組み込まれていて、これらによって図5に示すような一時記憶領域34Aおよび保存領域34Bが実現される。一時記憶領域34Aには、経路情報82,通知先情報84,センサ情報86,視線データ87a,画像データ87bおよび音声データ87cなどが記憶される。
経路情報82は、ユーザUsrが外出時に通るべき経路を示す情報であって、経路を構成する各点の緯度・経度,進行方向などが記述されており、PCなどから通信ボード58を通して取り込まれる。通知先情報84は、ユーザUsrが外出先で倒れたり道に迷ったりした場合の通知先を示す情報であって、たとえばPCのメールアドレスや、ユーザUsrの保護者が所持している携帯端末(図示せず)のメールアドレス,電話番号などが記述されており、同様に通信ボード58を通して取り込まれる。
センサ情報86は、各種センサ(62−70,80a−80f)の検出結果(センサ値および時刻)を示す情報であって、センサ入出力ボード60を通して周期的(たとえば1秒毎)に取り込まれる。センサ情報86の構成例が図6に示される。図6を参照して、このセンサ情報86は、時刻情報,位置情報,動き情報,周辺環境情報,天気情報,タッチ情報およびバイタル情報を含む。時刻情報には、コンピュータ30の内蔵時計に基づくタイムスタンプが、たとえば11時25分00秒(11:25:00)のように記述される。位置情報には、緯度・経度および方位を示す値が、たとえば東経135度○○分○○秒○○,北緯35度○○分○○秒○○,北北西などのように記述される。動き情報には加速度および角速度が記述され、周辺環境情報には近接物の有無、有ならさらに近接物までの距離および方向が記述される。天気情報には気温および気圧が記述され、タッチ情報にはタッチの有無が、有ならさらにその強さが記述される。バイタル情報には、血圧,心拍数および筋電値が記述される。なお、このセンサ情報86は一例であり、一部の情報を省略しても、別の情報を追加してよい。
視線データ87aは、視線サーバ36によって上述のよう作成された、ユーザUsrの視線方向を示すデータである。画像データ87bは、映像入出力ボード46によってカメラ50から取得された、ユーザUsrの顔を含む画像データである。音声データ87cは、音声入出力ボード52によってマイク56から取得された、ユーザUsrの発話を含む音声データである。
そして、この実施例では、コンピュータ30は、メモリ34内のセンサ情報86が常時、直近10秒間つまり10回分のセンサ値を含むように、最古のセンサ値つまり1秒前のセンサ値を最新のセンサ値で上書きしていく。また、コンピュータ30は、上書きされるセンサ値を保存領域34Bにコピーして、外出期間に渡るセンサ値を履歴情報96として保存する。したがって、後にPC等で履歴情報96を解析することで、経路を変更したり案内を増やしたりといったように、次回以降の外出支援に役立てることができる。
保存領域34Bには、このような履歴情報96のほかに、外出支援プログラム88,状況判断テーブル90,アクチュエーションテーブル92,および地図&環境情報94などが記憶される。
なお、一時記憶領域34Aに記憶されている経路情報82および通知先情報84を外出支援終了時に保存領域34Bに保存しておいて、次の外出支援開始時に保存領域34Bから一時記憶領域34Aに読み込むようにしてもよい。
外出支援プログラム88は、ロボット10を外出支援モードで動作させるためのプログラムであって、図9および図10に示すフローチャートに対応する。状況判断テーブル90は、センサ情報86の解析結果に基づいてユーザUsrの置かれた状況を判断するためのテーブルであり、一例が図7に示されている。アクチュエーションテーブル92は、状況によってどのようなアクチューションを行えばよいかを記載したテーブルであり、一例が図8に示されている。地図&環境情報94には、ユーザUsrの居住地およびその周辺を含む地域の地図、およびその地域の環境情報(たとえば、駅,交番,公園,ベンチといった建物ないし施設に関する情報、鉄道,バスなどの交通に関する情報、そして特に、歩道上およびその周辺にある障害物,段差,見通しの悪い場所といった危険に関する情報)が記述される。
PCなどを介して外出支援モードが設定されると、外出支援プログラム88が起動され、コンピュータ30は、図9および図10のフローに従う処理を実行する。なお、図示は省略するが、この処理と並行して、視線サーバ36,カメラ50およびマイク56からの視線データ87a,画像データ87bおよび音声データ87cを一時記憶領域34Aに書き込む別の処理が実行されている。
最初のステップS1では、経路/通知先の設定を含む初期処理が実行される。具体的には、通信ボード58を通してCPなどから経路情報82/通知先情報84を受信し、これを一時記憶領域34Aに書き込む。または、保存領域34Bに経路情報82/通知先情報84が保存されている場合には、これを一時記憶領域34Aに読み込んでもよい。
次のステップS3では、コンピュータ30は、予め設定された取得周期に従うタイミング(ここでは1サンプル/秒)で、センサ入出力ボード60を介して各種センサ(62−70,80a−80f)からセンサ情報を取得し、これをセンサ情報86として一時記憶領域34Aに書き込む。なお、ステップS3の取得周期(サンプリング周波数)は、ステップS1の初期処理でPCなどを介して適宜変更することができる。
次のステップS4ではセンサ情報86を解析し、そしてその解析結果と状況判断テーブル90とに基づいて、ステップS5−S21の一連の判断ステップを通じて状況判断を行う。具体的には、まず、センサ情報86に含まれる動き情報が示す加速度値に注目して、加速度小の状態が継続していれば、状況判断テーブル90に記載の状況1−9のうち状況1に該当するので、ステップS5でYESつまりユーザUsrが倒れたと判断し、ステップS23に進む。
なお、「加速度小の状態が継続」とは、加速度が閾値よりも小さい状態が所定時間以上継続している場合をいい、したがって、ステップS5は、詳しくは、加速度が閾値よりも小さいか否かを判断するステップS5aと、ステップS5aの判断結果がNOからYESに変化したときタイマをリセット&スタートするステップS5bと、タイマの値が所定時間に達したか否かを判断するステップS5cとを含む。そして、ステップS5cでYESの場合にユーザUsrが倒れていると判断し、ステップS5aまたはS5cでNOの場合には倒れていないとみなす。なお、加速度値に代えて、またはこれに加えて、角速度値や傾斜値に注目して同様の判断を行ってもよい。
ステップS23では、アクチュエーションテーブル92に基づいて、状況1に対応するアクチュエーションを行う。ただし、状況1では、ユーザUsrが倒れているので、アクチュエーションの対象は、例外的に、ユーザUsrではなくその保護者(または周囲の人)となる。
具体的には、通知先情報84に記述されたアドレスに通信ボード58を通して電子メールを送信することにより、保護者らにアラートを通知する。電子メールには、アラートの発生を示すメッセージ,発生時刻および場所を示すメッセージ(たとえば“○○さんが△△付近で10時30分ごろ倒れました”)が記述され、必要に応じて、センサ情報86の一部または全部が添付される。ここで、場所は、センサ情報86に含まれる位置情報と地図&環境情報94とに基づいて特定される。センサ情報86を添付するか否か、添付する場合にどの部分を添付するかなどは、ステップS1の初期処理でPCを介して設定することができる。アラート通知の後、処理はステップS3に戻る。
なお、ユーザUsr以外の人へのアクチュエーションとして、スピーカ54やプロジェクタ48を通して、周囲の人に手助けを要請したり、応急処置の仕方を教えたりすることも可能である。
上記のようにしてロボット10から送信された電子メールは、保護者らの携帯端末やPCで受信される。携帯端末やPCでは、スピーカからアラート音が出力され、モニタの画面には上述のようなメッセージが表示される。これにより、保護者らは、倒れたユーザUsrをいち早く救援することが可能になる。また、電子メールにセンサ情報86が添付されている場合には、さらにその解析が行われ、たとえばユーザUsrの詳細な位置,動き,周辺環境,バイタル値などが画面に表示される。これにより、保護者らは、たとえば、倒れた原因が衝突などの事故によるものか、発作などの病気によるものかを判断したり、さらには、怪我の程度や病状を推定したりできるので、状況に応じた適切な救援活動を行うことができる。
ステップS5でNOであれば、次に、センサ情報86に含まれる周辺環境の値、たとえば近接センサ値に注目して、値が増大した(閾値を超えた)場合には、状況2に該当するので、ステップS7でYESつまり周辺環境に危険ありと判断し、ステップS25に進む。ステップS25では、アクチュエーションテーブル92を参照して、状況2に対応するアクチュエーションを行う。
具体的には、まず、モータ制御ボード38を介して各種モータ(39,40R,40L,42および44)を制御することにより、ぬいぐるみ10Aを前方つまりユーザUsrから見えやすい位置へと移動させた後、その顔12をユーザUsrに向け、さらにユーザUsrの注意を喚起するべく、眼球18を動かして視線を障害物(ユーザUsrの進路上に存在する対象物Obj)に向けさせる。次に、アクチュエータ入出力ボード72を介して圧力アクチュエータ76a−76fを制御して、ベルト10Bの全部を強く加圧する。これによって、腕をぐいと掴まれたような触覚がユーザUsrに与えられる。そして、音声入出力ボード52を制御して、障害物(Obj)を回避させるための案内たとえば「右前方に障害物があるから気をつけて」や「左によけて」などのメッセージをスピーカ54から出力する。なお、メッセージに加えて、またはこれに代えて、警告音を出力してもよい。その後、処理はステップS35を経てステップS3に戻る。
ステップS35では、ユーザUsrの現況(この場合、ユーザUsrが障害物に遭遇したことに加え、現在位置などセンサ情報86の一部または全部)を通知する電子メールを、通知先情報84に記述されたアドレスに通信ボード58を通して送信する。
なお、ステップS35からステップS3に戻って同様の処理が繰り返される場合、現況が前回と同じであれば、ステップS35の現況通知は省略してよい。
ステップS7でNOであれば、次に、センサ情報86に含まれるバイタル値に注目して、そのバイタル値が通常範囲から外れている、たとえば血圧,心拍数,筋電などの値などが高すぎる(少なくとも1つが閾値を超えた)場合には、状況3に該当するので、ステップS9でYESつまり負荷が高過ぎる(たとえば歩調が早すぎる、荷物が重すぎる)と判断し、ステップS27に進む。ステップS27では、アクチュエーションテーブル92を参照して、状況3に対応するアクチュエーションを行う。
具体的には、上述と同様のモータ制御により、ぬいぐるみ10Aを前方へと移動させた後、顔および視線をユーザUsrに向けさせる。そして、アクチュエータ入出力ボード72を介して振動アクチュエータ741a−741fおよび742a−742fを制御して、ベルト10Bを上下に時間差を付けて振動させる。これによって、腕をさすられているような触覚がユーザUsrに与えられる。そして、休憩を取らせるための案内たとえば「少し休みましょう」などのメッセージをスピーカ54から出力する。ここで、センサ情報86に含まれる位置情報と地図&環境情報94とから、近くの休憩に適した場所や施設を検索して、たとえば「この先にベンチがあります」などのように、ユーザUsrを休憩場所へと誘導するためのさらなる案内を行ってもよい。その後、処理はステップS35の現況通知(この場合、過負荷であることに加えて、バイタル情報および位置情報などが通知される)を経てステップS3に戻る。
ステップS9でNOであれば、次に、センサ情報86に含まれる位置情報に注目して、ユーザUsrの現在位置が経路情報82の示す経路から遠く離れた(現在位置と経路との間の距離が閾値を超えた)場合には、状況4に該当するので、ステップS11でYESつまり経路外と判断し、ステップS29に進む。ステップS29では、アクチュエーションテーブル92を参照して、状況4に対応するアクチュエーションを行う。
具体的には、上述と同様のモータ制御によって、ぬいぐるみ10Aを前方へと移動させた後、顔および視線をユーザUsrに向けさせる。そして、上述と同様のアクチュエータ制御によって、ベルト10Bを左回りまたは右回りに時間差を付けて振動させることで、左または右の方向を示す触覚をユーザUsrに与える。そして、ユーザUsrに道を間違えたことを通知し、さらにはユーザUsrを正しい経路へと誘導するべく経路案内を行う。具体的には、「道を間違えたようです。左(右)に曲がりましょう」などのメッセージをスピーカ54から出力する。その後、処理はステップS35の現況通知(この場合、ユーザUsrが道を間違えたことに加えて、位置情報などが通知される)を経てステップS3に戻る。
ステップS11でNOであれば、次に、センサ情報86に含まれる天気情報に注目して、天候が悪化する兆候、たとえば気温または気圧の低下が検知された場合(たとえば、気温または気圧それ自体が閾値を下回った場合、あるいは、気温または気圧の低下幅が閾値を超えた場合)には、状況5に該当するので、ステップS13でYESつまり天候悪化と判断し、ステップS31に進む。ステップS31では、アクチュエーションテーブル92を参照して、状況5に対応するアクチュエーションを行う。
具体的には、上述と同様のモータ制御によって、ぬいぐるみ10Aを前方へと移動させた後、顔および視線を上空に向けさせる。そして、アクチュエータ入出力ボード72を介して温度アクチュエータ78a−78fを制御して、ベルト10Bを冷却し、雨や気温低下を暗示する冷たい触覚をユーザUsrに与える。そして、ユーザUsrに天候の悪化を通知し、帰宅を促す案内を行う。具体的には、「雨が降りそうなので帰りましょう」などのメッセージをスピーカ54から出力する。その後、処理はステップS35の現況通知(この場合、天候が悪化してきたことに加えて、天気情報および位置情報などが通知される)を経てステップS3に戻る。
ステップS13でNOであれば、次に、センサ情報86に含まれる位置情報に注目して、ユーザUsrの現在位置が地図&環境情報94に記述された情報提供すべき対象物Objに接近した(現在位置から対象物Objまでの距離が閾値を下回った)場合には、状況6に該当するので、ステップS15でYESつまり周辺環境に情報提供すべき対象ありと判断し、ステップS33に進む。ステップS33では、アクチュエーションテーブル92を参照して、状況6に対応するアクチュエーションを行う。
具体的には、上述と同様のモータ制御によって、ぬいぐるみ10Aを前方つまりユーザUsrから見えやすい位置へと移動させた後、その顔12をユーザUsrに向け、さらにユーザUsrの注意を喚起するべく眼球18を動かして視線を対象物Objに向けさせ、そして左腕16L(または右腕16R)でユーザUsrをとんとんさせる。
次に、同様のアクチュエータ制御により、ベルト10Bをぬいぐるみ10Aのトントン動作に合わせて間欠的に振動させる。こうすることで、とんとんされる触覚を強調してユーザUsrに与えることができる。そして、音声入出力ボード52を制御して、対象物Objに関する情報たとえば「この先にベンチがあります」や「この駅で○○行きに乗りましょう」などのメッセージをスピーカ54から出力する。その後、処理はステップS35の現況通知(この場合、ユーザUsrが対象物Objの近くにいることに加えて、位置情報などが通知される)を経てステップS3に戻る。
ステップS15でNOであれば、次に、視線データ87a,画像データ87bおよび音声データ87c、ならびにセンサ情報86に含まれるタッチ情報に注目して、たとえば、ぬいぐるみ10Aへのアイコンタクト(眼球18への視線),話しかけ,なでなでなどが検出された場合には、状況7に該当するので、ステップS15でYESつまりユーザUsrがコミュニケーションをとりたがっていると判断し、ステップS35に進む。ステップS35では、アクチュエーションテーブル92を参照して、状況7に対応するアクチュエーションを行う。
具体的には、上述と同様のモータ制御によって、ぬいぐるみ10Aを前方へと移動させた後、アイコンタクトを受けた場合にはユーザUsrに視線を返し、話かけを受けた場合にはスピーカ54を通じてユーザUsrの言葉をオウム返しにし、そしてなでなでを受けた場合には左腕16L(または右腕16R)でユーザUsrになでなでし返す、といった応答動作(情感を示す動作)を行わせる。なお、応答動作は、必ずしもユーザUsrの行動と対応している必要はなく、たとえば、視線,言葉およびなでなでのどれを受けた場合にも、左腕16Lおよび右腕16RでユーザUsrの腕にしがみつくようにすれば、親しさ,愛情といった情感を示す触覚をユーザUsrに与えることができる。その後、処理はステップS3に戻る。
ステップS17でNOであれば、次に、センサ情報86に含まれるタッチ情報に注目して、所定の合図たとえばぬいぐるみ10Aの頭12を押さえる動作が検出された場合には、状況8に該当するので、ステップS17でYESつまり合図が行われたと判断し、ステップS37に進む。ステップS37では、アクチュエーションテーブル92を参照して、状況8に対応するアクチュエーションを行う。
具体的には、上述と同様のモータ制御によって、ぬいぐるみ10Aを相手から見えないように後方へと移動させた後、頭部12を下げさせ、そして左腕16Lおよび右腕16RでユーザUsrの腕をつかむ動作を行わせる。こうして、ユーザUsrからの合図に応じて隠れるような動作を行わせることで、ぬいぐるみ10Aに生きているかのような擬人性を持たせることができる。さらには、ユーザUsrの腕をつかむような動作を行わせることで、ぬいぐるみ10Aに自分の意図が確かに伝わっていることを、ユーザUsrに対して触覚的に示すことができる。その後、処理はステップS3に戻る。
ステップS19でNOであれば、次に、センサ情報86に含まれる位置データに注目して、ユーザUsrが出発地点に戻った場合には、状況9に該当するので、ステップS21でYESつまり外出支援は完了したと判断し、処理を終了する。ステップS21でNOであれば、処理はステップS3に戻る。
なお、ステップS37,S39の各々からステップS3に戻るときにも、ステップS35を経由してよい。その場合、ステップS35の現況通知では、通信量の抑制やプライバシー保護の観点から、最小限のセンサ情報86たとえば位置情報だけを通知する。また、ロボット10Aを無線ネットワークでPCに常時接続できるような環境であれば、ステップS21でNOとなってステップS3に戻るときに、毎回または適宜な頻度(たとえば10回に1回の割合)で、PCにセンサ情報86を送信するようにしてもよい。
こうして、ぬいぐるみ10Aで視聴覚によるアクチュエーションを行い、かつベルト10Bで触覚によるアクチュエーションを行うことで、外出先で状況に応じた多様な情報をユーザUsrに対して擬人的かつ触覚的に提示することが可能になる。この結果、ユーザUsrは、一人で外出する不安が軽減される。
なお、この実施例では、経路設定などのための操作はPCを介して行われたが、他の実施例では、ロボット10自体にタッチパネル,キーボードといった操作手段を設け、この操作手段で経路設定などの操作を行うようにしてもよい。
なお、この実施例では、ロボット10で外出支援を行う場合について説明したが、これ以外の支援、たとえばユーザUsrを眠りへと導く導眠支援なども行うことができる。この場合、すなわち導眠支援モードでは、センサ情報86のうち特に動き情報およびバイタル情報に注目して、ユーザUsrの心身の状態に応じたアクチュエーションを行う。たとえば、体の動きの大きさや、心拍,血圧などのバイタル値から、ユーザUsrが興奮状態にあると判断される場合には、ぬいぐるみ10Aでとんとんしながら、とんとんに合わせてベルト10Bを間欠振動させたり、スピーカ54から本を読み聞かせる声や音楽を流したり、プロジェクタ48で風景などの映像を投射したりすることで、興奮を鎮める。興奮が鎮まってくると、とんとんおよび間欠振動を停止し、目が閉じると映像を停止し、そして眠ると声や音楽も停止する。こうして、ぬいぐるみ10Aを介して視聴覚によるアクチュエーションを行いつつ、ベルト10Bを介して触覚によるアクチュエーションを行うことで、ユーザUsrを眠りへと導くことができる。
以上から明らかなように、この実施例の触覚提示付ロボット10では、ぬいぐるみつまりロボット本体10Aに、これをユーザUsrに装着するためのベルト10Bが設けられる。ロボット本体10Aには、ユーザUsrに対して視覚的および/または聴覚的に作用する視聴覚アクチュエータ(36−56)が設けられ、ベルト10Bには、ユーザUsrに対して触覚的に作用する触覚アクチュエータ(74−78)が設けられ、そしてユーザUsrの位置,動き,環境,バイタルサインなどを検知する各種センサ(62−70,80)がロボット本体10Aおよびベルト10Bに設けられる。コンピュータ30は、ユーザUsrの状況を各種センサ(62−70,80)で検知して(S3−S21)、検知された状況に応じた情報をユーザUsrに対して視聴覚アクチュエータ(36−56)および触覚アクチュエータ(74−78)で擬人的かつ触覚的に提示する(S25−S33,S37−S41)。
したがって、触覚提示付ロボット10をユーザUsrに装着すれば、外出先でユーザUsrの状況に応じた多様な情報が、触覚提示付ロボット10からユーザUsrに対して擬人的かつ触覚的に提示されるので、ユーザUsrは、ひとりで安心して外出することができるようになる。
なお、この実施例では、視聴覚アクチュエータ(36−56)は、いずれもぬいぐるみ(ロボット本体10A)に設けられているが、その一部(たとえばスピーカ54など)が、ロボット本体10Aに代えて、またはこれに加えて、ベルト10Bに設けられてもよい。
同様に、この実施例では、触覚アクチュエータ(74−78)は、いずれもベルト10Bに設けられているが、その一部(たとえば温度アクチュエータ78や振動アクチュエータ74など)が、ベルト10Bに代えて、またはこれに加えて、ロボット本体10Aに設けられてもよい。一例として、温度アクチュエータ78をロボット本体10Aに設けた場合を図11に示す。図11の例では、ロボット本体10Aの後頭部から背中にかけて、温度アクチュエータ78g,78h,…がタッチセンサ70a,70b,…と交互に2次元的に配列されている。このようなロボット本体10AをユーザUsrが抱きかかえたり抱きしめたりすると、タッチセンサ70a,70b,…でその動作が検知され、これに応じて温度アクチュエータ78がロボット本体10Aを加熱あるいは冷却する。ユーザUsrは、自分がロボット本体10Aを抱きしめたことで、ロボット本体10Aの体温が変化したかのような擬人性を感じる結果となる。
さて、上述した実施例(第1実施例)では、センサ情報の解析結果が示す個々の状況に状況コードを割り当て(図7参照)、状況コードに応じた情報を視聴覚および触覚を組み合わせたアクチュエーションを通じて提示したが(図8参照)、後述する他の実施例(第2実施例)では、センサ情報の解析結果が示す個々の状況を情報提示の必要性および緊急性に基づいて分類して、その状況分類に応じたメッセージまたは愛情表現を提示することで、より広範な状況で触覚提示付ロボットを利用できるようにする。さらには、メッセージまたは愛情表現を提示する際に、各種のアクチュエーションまたはその組み合わせを通じて段階的に提示していくことで、状況分類に適した提示を行えるようにする。
以下、このような状況分類および段階的提示を行う第2実施例について説明する。第2実施例の触覚提示付ロボット(以下、ロボット)は、先述の実施例(第1実施例)のものと基本的には同様のハードウェア構成を有するので、以下の説明にも図1−図4を援用する。ただし、第2実施例では、温度アクチュエータ78は、図12に示すように、加熱用および冷却用の2種類のペルチェ素子で構成されている。すなわち、図12を参照して、ペルチェ素子78aは、加熱用のペルチェ素子78aHおよび冷却用のペルチェ素子78aCで構成される。他のペルチェ素子78b−78fも同様に、加熱用のペルチェ素子78bH−78fHおよび冷却用のペルチェ素子78bC−78fCで構成される。
第2実施例の基本的なソフトウェア構成もまた、第1実施例のそれと同様であるが、外出支援プログラムの処理フローや各種テーブルの構成などに変更がある。第2実施例におけるロボット10のメモリマップが図13に示される。図13のメモリマップは、次の3点を除いて、図5に示された第1実施例のメモリマップと共通である。
第1の相違は、図5のメモリマップで一時記憶領域34Aに記憶された通知先情報84が、図13のメモリマップでは省略された点である。第2の相違は、図5のメモリマップで保存領域34Bに記憶された状況判断テーブル90が、図13のメモリマップでは状況分類テーブル91に置き換わった点である。第3の相違は、図5のメモリマップで保存領域34Bに記憶されたアクチュエーションテーブル92が、図13のメモリマップでは状況分類に基づく段階的提示テーブル93に置き換わった点である。
状況分類テーブル91は、コンピュータ30がセンサ情報86の解析結果に基づいて状況分類を行うためのテーブルである。より詳しくは、状況分類テーブル91には、図14に示されるように、センサ情報の解析結果毎に状況判断および状況分類が記述される。ここに示された8通りの解析結果のうち1番目,2番目,3番目,6番目および7番目のものは、第1実施例で図7の状況判断テーブル90に示された9通りの解析結果のうち状況コード2,3,4,5および7が付されたものにそれぞれ対応している。
たとえば、センサ情報の解析結果が“近接センサの値が増大(障害物を検知)”したことを示す場合、状況判断テーブル90によれば、状況は“周辺環境に危険あり”と判断されて状況コード“2”が付されるのに対し、状況分類テーブル91によれば、状況は“周辺環境に危険あり”と判断されて“Alert”に分類される。同様に、センサ情報の解析結果が“バイタル値が通常範囲外(血圧/心拍数/筋電値が基準値より高)”であることを示す場合、状況判断テーブル90によれば、状況は“負荷が過大”と判断されて状況コード“3”が付されるのに対し、状況分類テーブル91によれば、状況は“負荷が過大”と判断されて“Notify”に分類される。
また、センサ情報の解析結果が“現在位置が経路から遠く離れた”ことを示す場合、状況判断テーブル90によれば、状況は“経路外”と判断されて状況コード“4”が付されるのに対し、状況分類テーブル91によれば、状況は“経路外”と判断されて“Notify”に分類される。さらに、センサ情報の解析結果が“気温/気圧が低下”ないし“湿度が上昇”であることを示す場合、状況判断テーブル90によれば、状況は“天候悪化”と判断されて状況コード“5”が付されるのに対し、状況分類テーブル91によれば、状況は“天候悪化”ひいては“話題になるイベントあり”と判断されて“Conversation(affective)”に分類される。そして、センサ情報の解析結果が“ロボットへの話しかけ/タッチ/アイコンタクトあり”を示す場合、状況判断テーブル90によれば、状況は“コミュニケーションを取ろうとしている”と判断されて状況コード“7”が付されるのに対し、状況分類テーブル91によれば、状況は“コミュニケーションを取ろうとしている”ひいては“会話の契機になるイベントあり”と判断されて“Conversation(affective)”に分類される。
また、状況分類テーブル91に示された8通りの解析結果のうち4番目および5番目のものは、第1実施例で状況判断テーブル90に示された9通りの解析結果のうち状況コード6が付されたものにおいて、“接近”を“直ぐ近く”と“近づきつつある”に細分化したものである。状況判断テーブル90によれば、センサ情報の解析結果が“現在位置が対象位置に接近”を示す場合、状況は“周辺環境に情報提供すべき対象あり”と判断されて状況コード“6”が付されるのに対し、状況分類テーブル91によれば、センサ情報の解析結果が“現在位置が対象位置の直ぐ近く”であることを示す場合、状況は“周辺環境に直ちに通知すべき対象あり”と判断されて“Notify”に分類される一方、センサ情報の解析結果が“現在位置が対象位置に近づきつつある”ことを示す場合、状況は“周辺環境に余裕を持って通知すべき対象あり”と判断されて“Recommend”に分類される。
そして、状況分類テーブル91に示された8通りの解析結果のうち最後のものは、“センサ情報に特段変化がない”というもので、これに対応する解析結果は状況判断テーブル90には明記されていない。状況分類テーブル91によれば、センサ情報の解析結果が“センサ情報に特段変化がない”ことを示す場合、状況は“イベントなし”ひいては“適時感情表現を行えばよい”と判断されて“Affection”に分類される。
最後に、状況分類に基づく段階的提示テーブル93は、コンピュータ30が上記のような状況分類に基づいてメッセージないし愛情表現の段階的提示を行うためのテーブルである。段階的提示テーブル93には、必要性および緊急性に基づく5段階の状況分類、つまり先述の“Alert”,“Notify”,“Recommend”,“Conversation(affective)”および“Affection”毎に、“初期報知”,“合意・確認”および“メッセージ提示”の3段階からなる提示手順が記述される。
初期報知は、メッセージの提示前に行われる予告であり、たとえば「トイレがあるよ」と言う前に肩を“トントン”叩く動作がこれに該当する。初期報知は、ユーザの驚きを緩和すると共に、擬人性(親近感)を高める効果がある。合意・確認は、初期報知の後に合意を取ったり反応を確認したりする行為であり、たとえば“トントン”の後にユーザの顔を見る動作がこれに該当する。合意・確認の段階を経てメッセージ提示の段階へと移行することで、スムーズかつ的確なメッセージ提示が行えると共に、擬人性(親近感)を高めることができる。
必要性および緊急性が最も高い“Alert”の場合、たとえば“障害物にぶつかりそう”といった物理的に危険な状況に関する警告を迅速に行うべく、3段階からなる提示手順のうち初期報知および合意・確認の各段階は省略され、直ちにメッセージが提示される。警告を示すメッセージは、たとえば“冷やして締める”動作および「危ない!」と叫ぶ音声出力により表現される。こうして触覚的アクチュエーションおよび聴覚的アクチュエーションを組み合わせてメッセージを提示することで、物理的に危険な状況の発生をユーザに迅速に認識させることができる。
必要性および緊急性が“Alert”に次いで高い“Notify”の場合、たとえば“トイレが近くにある”といった今伝えるべきメッセージを速やかに、しかしユーザを驚かせないように伝達するべく、“トントン”などの初期報知を行った後、合意・確認は省略して、直ちに“トイレを指差す”といったメッセージを示す動作もしくは「トイレがあるよ」と呼びかける音声出力に移行する。
必要性および緊急性が“Notify”よりも低い“Recommend”の場合、たとえば“出発時間が迫っているので今のうちにトイレに行っておいた方がいい”といった時間的に余裕のあるメッセージを和やかに、かつ確実に伝達するべく、“トントン”などの初期報知の段階、そしてユーザの“顔を見る”といった合意・確認の段階を経て、メッセージ提示に移行する。メッセージ提示の段階では、まず“トイレを指差す”といったメッセージを示す動作を行い、続いて「トイレがあるよ」と呼びかける音声出力を行う。こうしてメッセージを段階的に提示することで、確実かつ和やかな伝達が可能になる。
必要性および緊急性が“Recommend”よりもさらに低い“Conversation(affective)”の場合、たとえば“海がきれい”や“寒い”といった情感的なメッセージを違和感なく的確に伝えるために、情感の種類(和やかかピリピリかなど)に応じて“ゆっくり締める”もしくは“きゅっと締める”といった初期報知を行い、そしてユーザの“顔を見る”といった合意・確認を行った後、ユーザの動き(反応)に応じたメッセージ提示を行う。具体的には、たとえば、ユーザと目が合った場合には「海がきれいだね」や「寒いね」と呼びかける音声出力を行い、ユーザがロボット本体(ぬいぐるみ)10Aを撫でる動きを行った場合にはユーザの手を撫で返す動作を行い、それ以外の場合にはベルト10Bを暖めることで“海がきれい”や“寒い”といった情感を触覚的に提示する。
そして、必要性および緊急性が最も低い“Affection”の場合、たとえば単なる“スキンシップ”や“アイコンタクト”といった、メッセージを伴わない愛情表現を行うために、暖めてゆっくり締める”といった初期報知の後、ユーザの“顔を見る”といった合意・確認を行う。合意・確認では、“顔を見る”動作の後、“頬擦り”などメッセージ性のない動作を行ったり、「大好き」などメッセージ性のない言葉をかけたりすれば、より好ましい。そして、メッセージ提示は行わず、代わりに、ユーザの動き(反応)に応じてベルト10Bの温度や圧力を変えるといったフィードバック制御を行う。
なお、“Conversation(affective)”つまり情感的なメッセージの提示は、好ましくは、ユーザが煩わしく感じない程度の時間間隔で(たとえば20分に1回程度)、感情表現生成のためのイベント(たとえば“海の近くにいる”,“気温が低い”など)に応じて実行され、“Affection”つまりメッセージを伴わない愛情表現は、“Conversation(affective)”を行うべきタイミングで感情表現生成のためのイベントがないとき実行される。“Conversation(affective)”または“Affection”を実行する時間間隔(T)は、固定値でも、任意の値に初期設定可能でもよいが、より好ましくは、ユーザの周辺状況(を示すセンサ情報86および画像データ78b)やロボット10への関心度合い(を示す視線データ87aおよび音声データ87c)に基づいて、たとえば10分−30分の範囲でリアルタイムに変更される。
PCなどを介して外出支援モードが設定されると、外出支援プログラム88が起動され、コンピュータ30は、図16−図21のフローに従う処理を実行する。なお、図示は省略するが、この処理と並行して、視線サーバ36,カメラ50およびマイク56からの視線データ87a,画像データ87bおよび音声データ87cを一時記憶領域34Aに書き込む別の処理が実行されている。
図16を参照して、最初のステップS101では、経路の設定と“Conversation(affective)”を実行する時間間隔Tの初期設定とを含む初期処理が実行される。具体的には、コンピュータ30は、通信ボード58を通してPCなどから経路情報82を受信し、これを一時記憶領域34Aに書き込む。または、保存領域34Bに経路情報82が保存されている場合には、これを一時記憶領域34Aに読み込んでもよい。一方、時間間隔Tの初期値は、たとえば20分に設定される。ユーザがPCを介して適宜な初期値を設定してもよい。
次のステップS103では、コンピュータ30は、予め設定された取得周期に従うタイミング(ここでは1サンプル/秒)で、センサ入出力ボード60を介して各種センサ(62−70,80)からセンサ情報を取得し、これをセンサ情報86として一時記憶領域34Aに書き込む。なお、ステップS105の取得周期(サンプリング周波数)は、ステップS101の初期処理でPCなどを介して適宜変更することができる。
次のステップS105では、一時記憶領域34Aに記憶されたセンサ情報86を解析し、解析結果を保持する。そして、その解析結果に基づいて、ステップS107−S111およびS121の判断ステップを実行することにより、センサ情報86に基づく状況がどの状況分類に属するかを特定して、その特定された状況分類に対応するメッセージ提示処理をステップS113−S117,S123およびS125で実行する。
詳しくは、まずステップS107で、メッセージ伝達の必要性がある状況か否かを判断する。センサ情報86の解析結果が、状況分類テーブル91(図14参照)の第1段−第5段に記載されたような内容を示していれば、メッセージ伝達の必要性ありと判断され、第6−第8段に記載されたような内容を示していれば、メッセージ伝達の必要性なしと判断される。ステップS107の判断結果がYESであれば、処理はステップS109に進む一方、ステップS107の判断結果がNOであれば、処理はステップS119に分岐する。
ステップS109では、緊急な状況であるか否かを判断する。センサ情報86の解析結果が、状況分類テーブル91の第1段−第4段に記載されたような内容を示していれば、緊急であると判断され、一方、第5段に記載されたような内容を示していれば、(メッセージ伝達の必要性はあるものの)緊急ではないと判断される。ステップS109の判断結果がYESであればステップS111に進み、ステップS109の判断結果がNOであれば、ステップS117で“Recommend”処理(後述)を実行した後、ステップS103に戻る。
ステップS111では、危険な状況であるか否かを判断する。センサ情報86の解析結果が、状況分類テーブル91の第1段に記載されたような内容を示していれば、危険な状況であると判断され、一方、第2−第4段に記載されたような内容を示していれば、(緊急ではあるものの)危険な状況ではないと判断される。ステップS111の判断結果がYESであれば、ステップS113で“Alert”処理(後述)を実行した後、ステップS103に戻る。ステップS111の判断結果がNOであれば、ステップS115で“Notify”処理(後述)を実行した後、ステップS103に戻る。
ステップS119では、ユーザの周辺状況および/またはロボット10への関心度合いに基づいて、たとえば10分−30分の範囲で時間間隔Tを決定する。ユーザの周辺状況は、たとえばセンサ情報86および画像データ87bを解析することにより推定される。ロボット10への関心度合いは、たとえばセンサ情報86,視線データ87aおよび音声データ87cを解析することにより推定される。たとえば、ユーザが市街地など頻繁なメッセージ提示を必要とする状況に置かれている場合には、時間間隔Tを長めの値(たとえば30分)に設定して、ユーザの気が散らないように配慮する。ユーザが郊外などメッセージ提示をそれほど必要としない状況に置かれている場合には、時間間隔Tを標準的な値(たとえば20分)に設定して、メッセージ提示と感情表現とのバランスを取る。ユーザが海辺など感情表現に適した状況に置かれている場合には、時間間隔Tを短めの値(たとえば10分)に設定して、感情表現を行う頻度を高める。
ステップS121では、ステップS119で決定された時間間隔Tに基づいて、感情表現のタイミングか否か(前回の感情表現からの経過時間が時間間隔Tに達したか否か)を判別し、ここでNOであれば、ステップS103に戻って上記と同様の動作を繰り返す。
ステップS121でYESであれば、ステップS122に進んで、感情表現生成のためのイベントがあるか否かを、一時記憶領域34Aに記憶されたセンサ情報86,視線データ87a,画像データ87bおよび音声データ87cなどに基づいて判別する。センサ情報86から、たとえば“海の近くにいる”,“気温が低い”といった感情表現に好適な状況が検出ないし推測されたり、視線データ87a,画像データ87bおよび音声データ87cから、ユーザからの視線や話しかけなどが検出された場合には、ステップS122でYESと判別してステップS123に進み、“Conversation(Affective)”処理(後述)を実行した後、ステップS103に戻る。ステップS122でNOであれば、ステップS125で“Affection”処理(後述)を実行した後、ステップS103に戻る。
上記ステップS113の“Alert”処理は、詳しくは、図17のフローに従って実行される。図17を参照して、まずステップS141で、アクチュエータ入出力ボード72を介して温度アクチュエータ78(冷却用ペルチェ素子78aC−78fC)を駆動してベルト10Bを冷やし、次にステップS143で、アクチュエータ入出力ボード72を介して圧力アクチュエータ76(76a−76f)を駆動することでベルト10Bを急激に締める。そして、ステップS145で、音声入出力ボード52を介してスピーカ54を駆動して、たとえば“危ない!”といったメッセージを出力する。その後、図16のフローに戻る。
上記ステップS115の“Notify”処理は、詳しくは、図18のフローに従って実行される。図18を参照して、まず、ステップS151で、モータ制御ボード38を介して右腕モータ40Rまたは左腕モータ40Lを駆動することで、右腕16Rまたは左腕16Lで “トントン”の動きを行うと共に、ステップS153で、アクチュエータ入出力ボード72を介して振動力アクチュエータ74(741a−741fおよび742a−742f)を駆動することで、ベルト10Bを“トントン”の動きに合わせて振動させる。
次に、ステップS155で、提示しようとするメッセージが動きで表現可能なものであるか否かを判別し、YESであればステップS157に進み、NOであればステップS159に進む。なお、メッセージには、動きで表現可能か否かを示すフラグ(図示せず)が付されており、ステップS115の判別は、これを参照して行われる。
ステップS157では、モータ制御ボード38を介して各種モータ(39,40R,40L,42および44)を駆動することで、たとえば“トイレを指差す”といったメッセージを示す動きを行い、その後、図16のフローに戻る。ステップS159では、音声入出力ボード52を介してスピーカ54を駆動することで、たとえば“トイレだよ”といったメッセージを出力し、その後、図16のフローに戻る。
上記ステップS117の“Recommend”処理は、詳しくは、図19のフローに従って実行される。図19を参照して、まず、ステップS171で、モータ制御ボード38を介して右腕モータ40Rまたは左腕モータ40Lを駆動することで、右腕16Rまたは左腕16Lで “トントン”の動きを行うと共に、ステップS173で、アクチュエータ入出力ボード72を介して振動力アクチュエータ74(741a−741fおよび742a−742f)を駆動することで、ベルト10Bを“トントン”の動きに合わせて振動させる。
次に、ステップS175で、モータ制御ボード38を介して頭部モータ42および眼球モータ44を駆動することで、“ユーザの顔を見る”動きを行う。次に、ステップS177で、カメラ50,マイク56およびタッチセンサ70を通してユーザの反応を検出し、そして、ステップS179で、ユーザが“トントン”に反応したか否かを判別する。ここでNOであれば、ステップS181で所定時間(たとえば5秒)待機した後、ステップS171に戻って上記と同様の動作を繰り返す。
ユーザが“トントン”に応じて触角提示付ロボット10に視線を向けたり手で触れたり、あるいは「何?」と尋ねたりといった反応を示すと、それがセンサ情報86,視線データ87aまたは音声データ87cに反映され、ステップS179の判別結果がNOからYESに変化する。こうしてステップS179の判別結果がYESになると、ステップS183に進む。
ステップS183では、モータ制御ボード38を介して各種モータ(39,40R,40L,42および44)を駆動することで、たとえば“トイレを指差す”といったメッセージを示す動きを行い、続いて、ステップS185で、音声入出力ボード52を介してスピーカ54を駆動することで、たとえば“今のうちにトイレに行っておいた方がいいよ”といったメッセージを出力する。その後、図16のフローに戻る。
上記ステップS123の“Conversation(affective)”処理は、詳しくは、図20のフローに従って実行される。図20を参照して、まず、ステップS191で、提示しようとするメッセージが動きで和やかな情感を示すものであるか否かを判別して、YESであればステップS193に進み、NOであればステップS195に進む。なお、メッセージには、たとえば“和やか”,“ピリピリ”,“情感なし”といった情感の種別ないし有無を示す別のフラグ(図示せず)がさらに付されており、ステップS191の判別は、これを参照して行われる。
ステップS193では、アクチュエータ入出力ボード72を介して圧力アクチュエータ76(76a−76f)を駆動することで、ベルト10Bをゆっくり締める。そして、ステップS197に進む。ステップS195では、アクチュエータ入出力ボード72を介して圧力アクチュエータ76(76a−76f)を駆動することで、ベルト10Bを急速に締める。そして、ステップS197に進む。
ステップS197では、モータ制御ボード38を介して頭部モータ42および眼球モータ44を駆動することで、“ユーザの顔を見る”動きを行う。次に、ステップS199で、カメラ50,マイク56およびタッチセンサ70を通してユーザの反応を検出する。そして、ステップS201およびS203を通じて、その検出された反応の種別を特定する。
詳しくは、まずステップS201で、たとえば“目が合う”といった“話しかけ”に適した反応であるか否かを判別し、ここでNOであれば、ステップS203に移って、たとえば“撫でる”といったロボット動作に適した反応であるか否かをさらに判別し、そしてここでもNOであれば、触覚的アクチュエーションに適した反応であると見なして、ステップS205に移る。ステップS205では、アクチュエータ入出力ボード72を介して温度アクチュエータ78(冷却用ペルチェ素子78aC−78fC)を駆動することで、ベルト10Bを温める。これにより、たとえば“一緒にいる”,“気心が通じている”といったメッセージをユーザに触覚を通して伝えることができる。なお、ステップS205で行う触覚的アクチュエーションは、温度を変化させるものに限らず、振動を加えるものでも、圧力を変化させるものでもよいし、それらを組み合わせたものでもよい。
ステップS201でYESであれば、ステップS207に進んで、音声入出力ボード52を介してスピーカ54を駆動することで、たとえば「寒いね」,「海がきれいだね」といったメッセージを音声出力することで聴覚的に伝達し、その後、図16のフローに戻る。
ステップS203でYESであれば、ステップS209に進んで、モータ制御ボード38を介して各種モータ(39,40R,40L,42および44)を駆動することで、たとえば“撫で返す”といった動きを行う。これによって、“一緒にいる”,“気心が通じている”といったメッセージを、ユーザに視覚を通して伝えることができる。その後、図16のフローに戻る。
なお、図20のフローでは、音声,動きおよび触角的アクチュエーションのいずれか1つを通じてメッセージを提示しているが、3つ全てまたはいずれか2つの組み合わせを通じて1つのメッセージまたは類似する複数のメッセージを提示してもよい。
上記ステップS125の“Affection”処理は、詳しくは、図21のフローに従って実行される。図21を参照して、まずステップS221で、アクチュエータ入出力ボード72を介して温度アクチュエータ78(加熱用ペルチェ素子78aH−78fH)を駆動してベルト10Bを温め、次にステップS223で、アクチュエータ入出力ボード72を介して圧力アクチュエータ76(76a−76f)を駆動することでベルト10Bをゆっくり締め、さらにステップS225で、モータ制御ボード38を介して頭部モータ42および眼球モータ44を駆動することで“ユーザの顔を見る”動きを行う。
次に、ステップS227で、メッセージ性のない動作を行うタイミングか否かを予め決められたスケジュールに基づいて決定し、ここでNOであればステップS231に進む。ステップS227でYESであれば、ステップS229で、モータ制御ボード38を介して各種モータ(39,40R,40L,42および44)を駆動することで、メッセージ性のない動作たとえばユーザへの“頬擦り”などを行い、その後ステップS231に進む。
ステップS231では、メッセージ性のない発話を行うタイミングか否かを予め決められたスケジュールに基づいて決定し、ここでNOであればステップS235に進む。ステップS231でYESであれば、ステップS233で、音声入出力ボード52を介してスピーカ54を駆動することで、メッセージ性のない言葉たとえば「大好き」などを音声出力し、その後ステップS235に進む。
ステップS235では、カメラ50,マイク56およびタッチセンサ70を通してユーザの反応を検出する。次のステップS237では、検出された反応に応じて、ベルト10Bを温める際の目標温度および/またはベルト10Bを締める際の目標圧力を変化させる。たとえば、ユーザと目が合うのに応じて目標圧力を上昇させ、後に視線が他へ移るのに応じて目標圧力を元に戻したり、ユーザが「寒いね」と言うのに応じて目標温度を上昇させたり、といった制御を行う。そして、ステップS239で、今回の“Affection”処理を開始してから所定時間(例えば30秒)が経過したか否かを判別し、NOであればステップS221に戻って上記と同様の動作を繰り返す。ステップS239でYESであれば、図16のフローに戻る。
以上から明らかなように、この実施例のロボット10は、センサ(62−70,80)で検知された状況を情報提示の必要性および緊急性に基づいて分類し(91,93,S107−S111)、その状況分類に基づいて、視聴覚アクチュエータ(36−56)および触覚アクチュエータ(76−80)の連携を通じて段階的に情報を提示する(S113−S117,S123,S125)ので、より広範な状況で、状況分類に適した情報提示が行えるようになる。
なお、情報提示の必要性および緊急性に基づく分類の対象は、この実施例では、センサ(62−70,80)で検知された状況であるが、これに限らない。たとえば、通信ボード58で取得した外来メッセージ(電子メールなど)を情報提示の必要性および緊急性に基づいて分類してもよい。詳しくは、外来メッセージは、ロボット10の外部たとえばPCから(あるいはネットワーク上のサーバなどからPC経由で)送られてくるメッセージであり、通信ボード58によって受信されて一時記憶領域34Aに書き込まれる。外来メッセージは、タグおよびメッセージ本体で構成され、メッセージ本体には、たとえば“今度会おうね”や“戻る時間だよ”といったメッセージそれ自体を示すデータ(テキストデータなど)が含まれる。一方、タグには、情報提示の必要性および緊急性を示すデータが含まれる。たとえば、“今度会おうね”という外来メッセージには、必要性および緊急性が相対的に低い(時間的に余裕がある)ことを示す“1”がタグとして付され、“戻る時間だよ”という外来メッセージには、必要性および緊急性が相対的に高い(今すぐ伝えるべきである)ことを示す “2”がタグとして付される。
そして、たとえば、タグが“1”の外来メッセージは、“着信を知らせるだけでよいメッセージ”に分類され、たとえば図15の“Recommend”に準じた段階を経て提示される。すなわち、“トントン”して顔を見た後に「メールだよ」といった着信を知らせる音声が出力される。一方、タグが“2”の外来メッセージは、“今すぐメッセージ本体を出力するべきメッセージ”に分類され、たとえば図15の“Notify”に準じた段階を経て提示される。すなわち、“トントン”の後、合意・確認は省略して、「帰る時間だよ」といったメッセージ本体が音声出力される。なお、必要性および緊急性は、2値(高低)のタグに限らず、3値(高中低)のタグで示してもよいし、4値以上のタグでさらに細かく示してもよい。
なお、この実施例では、情報提示の必要性および緊急性に基づいて状況分類を行ったが、緊急性(つまり時間的な要素)は省略してもよい。その場合、図14および図15の各テーブルにおいて、“Alert”,“Notify”および“Recommend”の区別はなくなり、たとえば“Notify”,“Conversation(affective)”および“Affection”の3種類となる。
なお、必要性さらには緊急性に基づく状況分類の分類数や名称は、上記のものに限らず、適宜変更可能である。提示段階の段階数や名称もまた、上記のものに限らず、適宜変更可能である。時間間隔Tなどの具体的な数値も、単なる一例に過ぎず、製品の仕様など必要に応じて適宜変更される。
以上では、ロボット本体10Aをベルト10BでユーザUsrに装着する実施例について説明したが、この実施例において、触覚アクチュエータ(74−78)およびバイタルセンサ80をロボット本体10A側に極力集約することで、ベルト10Bを用いずに(またはこれを着脱可能として)、ユーザUsrがロボット本体10Aを持ち運ぶような変形例も可能である。
さらには、ロボット本体10Aは、ユーザUsrの体に常時接触している必要はないので、ロボット本体10Aに車輪などを追加して、触覚提示が必要な場面でユーザUsrに近寄って接触するようにしてもよい。