説明

ロボット端末及びロボットシステム

【課題】ロボットが実行できる処理を工夫して、他のロボット端末との間でコミュニケーションを図ることを実現すること。
【解決手段】ロボット端末300に、ロボット端末400との同期をとる同期手段と、人間からのアクションの有無を判定する判定手段と、ロボット端末400と協働して使用者に披露すべきアクションを実行するためのアクションデータが格納されるメモリと、メモリに格納されているアクションデータに基づくアクションを実行する実行手段と、所定時間を計時する時計とを備え、同期手段によってロボット端末400との同期がとられた後であって、時計によって所定時間の計時中に、判定手段によって人間からのアクションがないと判定された場合に、実行手段によってメモリに格納されているアクションデータに基づくアクションを他のロボット端末と協働して実行させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボット端末及びロボットシステムに関し、特に、他のロボット端末とのコミュニケーションを図れるロボット及びロボットシステムに関する。
【背景技術】
【0002】
従来、特許文献1には、動物を想起させる3次元形状を持ち、目、口、頭を動かして、その仕草と音声で利用者をガイドするガイドロボットが開示されている。
【0003】
【特許文献1】特開2001−236137号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1に開示されているロボット端末は、他のロボット端末との間でコミュニケーションを図ることは予定されておらず、したがって、ロボットの使用者への対応は限定的である。
【0005】
そこで、本発明は、ロボットが実行できる処理を工夫して、他のロボット端末との間でコミュニケーションを図ることを実現し、もって、ロボット端末の使用者に対して、従前のロボット端末では得ることができない対応を提供することを課題とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明のロボット端末及びロボットシステムは、
他のロボット端末との同期をとる同期手段と、
人間からのアクションの有無を判定する判定手段と、
前記他のロボット端末と協働して使用者に披露すべきアクションを実行するためのアクションデータが格納されるメモリと、
前記メモリに格納されているアクションデータに基づくアクションを実行する実行手段と、
所定時間を計時する時計と、を備え、
前記同期手段によって他のロボット端末との同期がとられた後であって、前記時計によって所定時間の計時中に、前記判定手段によって人間からのアクションがないと判定された場合に、前記実行手段によって前記メモリに格納されているアクションデータに基づくアクションを前記他のロボット端末と協働して実行する。
【発明の実施の形態】
【0007】
以下、本発明の実施形態について、図面を参照して説明する。
【0008】
図1は、本実施形態のロボットシステムの模式的な構成図である。図1には、以下説明する、データセンタ100と、データベース(DB)110と、ネットワーク200と、ロボット端末300,400と、パーソナルコンピュータ(PC)500と、固定電話機600と、携帯電話機700と、クレードル800,900とを示している。
【0009】
データセンタ100は、後述する各種データが格納されるDB110を備えている。データセンタ100は、ネットワーク200を介して、ロボット端末300,400とPC500と固定電話機600と携帯電話機700とを相互に接続するものである。
【0010】
DB110は、ロボット端末300,400から送信される音声データ及び画像データを、その送信日時データ又は受信日時データとともに格納するとともに、固定電話機600及び携帯電話機700とPC500とから送信される音声データ及び画像データを、その送信日時データ又は受信日時データとともに格納するものである。
【0011】
ネットワーク200は、ブルートゥース、インターネット、携帯電話回線、一般電話回線などの総称である。
【0012】
ロボット端末300,400は、典型的には、使用者であるお年寄りが所有するものである。ロボット端末300,400は、1人の使用者が1台だけ所有してもよいし、数台所有してもよい。ロボット端末300,400は、マイクロフォン、ジャイロセンサ、光センサ、赤外線センサ、タッチセンサ、ポテンショメータ、カメラ、GPSセンサなどを含む各種センサ類と、スピーカ、ディスプレイなどを含む報知手段とを備えている。
【0013】
ここで、主として、マイクロフォンは使用者などの音声を集音するものであり、赤外線センサは使用者などの発熱体を検知するためのものであり、ジャイロセンサは使用者によってロボット端末が移動されていることを検知するためのものであり、光センサは外光の変化を検知するためのものであり、タッチセンサは使用者からの接触を検知するためのものであり、ポテンショメータはロボット端末の各関節の動きを検知するためのものであり、カメラは使用者などを撮像するためのものであり、スピーカはダウンロードした伝言データ或いはロボット端末300等に用意されている音声データを出力するものであり、ディスプレイはダウンロードした画像データを出力するものである。
【0014】
このように、ロボット端末300,400は、各種センサ類を備えているため、例えば、使用者からの音声をマイクロフォンで集音した場合、使用者からの接触をタッチセンサで検知した場合に、これらに応答することが可能となる。また、このような受動センサは、人間からのアクションの有無を判定するものとなる。
【0015】
また、ロボット端末300,400は、所定時間を計時する時計、カレンダーなどを内蔵している。これにより、ロボット端末300,400からDB110に対してデータ送信を行う際には、データ送信日時データを付すことができる。さらに、ロボット端末300,400は、時計、カレンダーなどを内蔵しているので、予めセットされた日時にアラームを出すことができる。
【0016】
さらに、ロボット端末300,400は、種々のデータを格納するためのメモリを内蔵している。一例としては、通常であればロボット端末300,400の所有者である特定話者等からの伝言データ及び画像データなどが当該メモリに格納される。換言すると、ロボット端末300,400は、マイクロフォンを通じて集音した使用者等の音声及びカメラを通じて撮像した使用者の画像データを格納することができるし、更には、DB110からダウンロードしたデータを格納することもできる。さらに、メモリには、他のロボット端末と協働して使用者等に披露すべきアクションを実行するためのアクションデータも格納される。
【0017】
また、ロボット端末300,400は、他のロボット端末との同期をとる同期手段と、メモリに格納されているアクションデータに基づくアクションを実行する実行手段とを備える。このため、ロボット端末300,400は、同期手段によって他のロボット端末の同期がとられた後であって、時計によって所定時間の計時中に、判定手段(受動センサ)によって人間からのアクションがないと判定された場合に、実行手段によってメモリに格納されているアクションデータに基づくアクションを他のロボット端末と協働して実行することができる。
【0018】
PC500は、例えば、ロボット端末300,400の使用者の家族等が所有しているものである。PC500は、主として、ネットワーク200であるところのインターネットを介してデータセンタ100にアクセスして、DB110に格納されている各種データをダウンロードして再生等するものである。また、PC500は、主として、インターネットを介してデータセンタ100にアクセスして、DB110に格納すべき各種データをアップロードするものである。
【0019】
固定電話機600及び携帯電話機700は、例えば、ロボット端末300,400の使用者の家族等が所有しているものである。固定電話機600及び携帯電話機700は、主として、ネットワーク200であるところの携帯電話回線及び一般電話回線を介して、DB110に格納されている各種データをダウンロードして再生等するものである。また、固定電話機600及び携帯電話機700は、主として、携帯電話回線及び一般電話回線を介して、DB110に格納すべき各種データをアップロードするものである。
【0020】
クレードル800,900は、主として、ロボット端末300,400とデータセンタ100とを中継するものであり、ロボット端末300,400とDB110との間のデータ同期のためのデータ通信を行う。また、クレードル800,900は、ロボット端末300,400の充電機能も備えている。
【0021】
本実施形態のロボットシステムでは、ロボット端末300,400が使用者のアクションに対するリアクション動作を行ったり、ロボット端末300,400とデータセンタ100との間のデータ通信を行ったり、データセンタ100とPC500/固定電話機600/携帯電話機700との間のデータ通信を行ったりすることができる。
【0022】
(通常モード)
図2は、図1のロボット端末300に設けられているCPUによる通常モードの動作を示すフローチャートである。なお、本実施形態では、以下説明する通常モードの動作は、後述する井戸端モードでの動作と共通している。
【0023】
図2に示す動作は、ロボット端末300の電源がオンしていることを条件に、例えば、0.1秒毎に実行される。具体的には、例えば0.1秒毎にタイムアウトするようにタイマを設定し、かつ、タイムアウトをトリガとして、ステップS1を実行させればよい。ロボット端末300のCPUは、まず、使用者からのアクションが何もない時間が所定時間(例えば10分)を経過しているか否かを、内蔵時計を参照することによって確認する(ステップS1)。なお、内蔵時計は、NTP(Network Time Protocol)などの時刻同期手段を利用して、その正確な計時を可能とすることが好ましい。
【0024】
ステップS1の確認の結果、所定時間を経過している場合には、フリーアクションを実行するために、ロボット端末300のCPUは、フリーアクション実行命令のサブルーチンをコールする(ステップS5)。一方、所定時間を経過していない場合には、ロボット端末300のCPUは、ロボット端末300に設けられている各種センサによるセンシングの有無を判定する(ステップS2)。
【0025】
なお、ロボット端末300は、例えば、マイクロフォンを通じて音声が集音されたら、或いは、タッチセンサにおいてタッチがセンシングされたら「何ですか?」などの音声を発し、赤外線センサを通じて発熱体の存在が検知されたら「こんにちは」などの音声を発するといった処理を実行するようにしている。
【0026】
ステップS2の判定の結果、いずれかのセンサでのセンシングがあれば、それに対応する処理を実行するために、ロボット端末300のCPUは、対応処理の実行命令のサブルーチンをコールする(ステップS6)。一方、いずれのセンサでもセンシングがなければ、ロボット端末300のCPUは、内蔵時計を参照することによって現在時刻をチェックし、予め定められている設定時刻(例えば、毎日10時、12時、18時)に到達済みであるか否かをチェックする(ステップS3)。
【0027】
なお、ロボット端末300は、現在時刻が、午前0時に到達済みであるかことを確認したら、ロボット端末300内のカレンダーの日付を更新するとよい。
【0028】
ステップS3のチェックの結果、予め定められている設定時刻に到達済みでなければ、ステップS1へ移行する。一方、予め定められている設定時刻に到達済みであれば、ロボット端末300のCPUは、クレードル800との間の無線通信が可能であるか否かの判定処理の実行命令のサブルーチンをコールする(ステップS4)。
【0029】
(フリーアクションのサブルーチン)
図3は、図2のステップS5におけるフリーアクション実行命令の動作を示すフローチャートである。
【0030】
まず、ロボット端末300のCPUは、内蔵キャッシュメモリなどのメモリを参照する(ステップS11)。この内蔵メモリには、予め歌・踊りなどのデータが登録されている。また、この内蔵メモリには、クレードル800を通じた、データセンタ100内のDB110からダウンロードした歌・踊りなどのデータも登録されている(この点については後述する)。
【0031】
なお、DB100からのデータのダウンロードのタイミングは、通信可否判定処理(図2のステップS4)の実行後に、通信可能であると判定された場合に、新たな歌・踊りなどのデータがDB110に格納されているか否かを判定し、その結果、新たな歌・踊りなどのデータがDB110に格納されている場合に行えばよい。
【0032】
つづいて、ロボット端末300のCPUは、内蔵メモリから歌・踊りなどのデータを適宜ロードして(ステップS12)、当該データに基づいて歌・踊りなどの処理を行うために、フリーアクションの実行命令をセットする(ステップS13)。この結果、ロボット端末300は、歌・踊りなどを使用者に披露できることになる。踊りを披露する際には、既知のように、ポテンショメータを用いて、ロボット端末の各間接の動きが制御される。
【0033】
(対応処理のサブルーチン)
図4は、図2のステップS6における対応処理の実行命令の動作を示すフローチャートである。ここでは、主として、通常モード又は井戸端モードからお散歩モード又は帰宅モードに遷移する場合の動作を説明する。
【0034】
図4に示す動作は、例えば、1秒毎に実行される。具体的には、例えば1秒毎にタイムアウトするようにタイマを設定し、かつ、タイムアウトをトリガとして、ステップS21を実行させればよい。まず、ロボット端末300のCPUは、各種センサによるセンシングの有無につき確認済みであったか否かを検知する(ステップS21)。具体的には、ロボット端末300のCPUは、ステップS21の実行後に、確認済みフラグをオフからオンに切り替えるようにしており、当該フラグのオン/オフに基づいて検知する。
【0035】
ステップS21の検知の結果、各種センサによるセンシングの有無を確認済みでない場合には、ロボット端末300のCPUは、各種センサのセンシングを確認する(ステップS22)。ここでは、各種センサのうちジャイロセンサによるセンシングでなければ(ステップS23)、以下の処理とは異なるその他の対応する処理を実行するために、その命令をセットし(ステップS24)、確認済みフラグをオンからオフに切り替える。ここで、「その他の対応する処理」とは、例えば、マイクロフォンで使用者からの挨拶を検知した場合には、使用者に挨拶を返答するといった処理である。
【0036】
一方、各種センサのうちジャイロセンサによるセンシングであれば(ステップS23)、使用者がロボット端末300とともに散歩又は帰宅するためにロボット端末300を抱えた可能性があるので、ロボット端末300のCPUは、現在のロボット端末300自体のモードが如何なるモードであるか、具体的には、通常モードであるか井戸端モードであるかを確認する(ステップS25)。
【0037】
そして、ロボット端末300のCPUは、確認結果に応じた質問を行うために、質問命令をセットしてから、ステップS21へ移行する(ステップS26)。ここでは、通常モードである場合には「お散歩ですか?」といった内容の質問を行い、井戸端モードである場合には「お帰りですか?」といった内容の質問を行うようにしている。
【0038】
その後、内蔵されているマイクロフォンによる集音情報と予め登録してある特定話者の音声情報とに基づいて、使用者から所定期間内に「散歩に行く」又は「帰宅する」といった内容の回答を検知したら(ステップS27)、ロボット端末300のCPUは、お散歩モード又は帰宅モードへの遷移命令をセットし(ステップS28)、モード変更をクレードル800への送信命令をセットする(ステップS29)。この結果、ロボット端末300は、「行きましょう」又は「帰りましょう」といった内容の発声を行うことになる。
【0039】
なお、使用者から所定期間内に「散歩に行く」等の回答がなければ、例えば、単に自宅内でロボット端末300とともに別部屋移動等するために、使用者がロボット端末300を抱えただけと考えられるため、通常モード又は井戸端モードの状態が維持される。また、「散歩に行く」等の回答が、特定話者以外の者からのものであっても、通常モード又は井戸端モードの状態が維持される。これは、偶然にも自宅内等でのロボット端末300の移動のために、使用者によってロボット端末300が抱えられた等のタイミングでテレビなどから出力される音声が「散歩に行く」等であった場合に、誤って散歩モード等に遷移することを防止するためである。
【0040】
また、お散歩モード又は帰宅モード中に、所定期間(例えば5分)、ジャイロセンサによるセンシングがなかった場合には、他人宅又は自宅に到着して、ロボット端末300が床などに置かれたことが想定できるため、井戸端モード又は通常モードに遷移するようにして、自クレードル800宛て又は他クレードル900に、モード変更した旨を送信する。
【0041】
なお、本実施形態では、いずれのモード中であっても、マイクロフォンで挨拶がされたことを検知した場合には、挨拶の返答という割込処理を行うようにしている。具体的には、ロボット端末300のCPUは、挨拶の検知がされたことをトリガとして、自端末のモードを確認し、確認結果に対応する返答する。例えば、通常モードが確認されれば全ての検知に対して返答するようにし、お散歩モード又は帰宅モードが確認されれば、その挨拶が特定話者である使用者以外の者によってなされた場合にのみ応答する。
【0042】
(通信可否判定のサブルーチン)
図5は、図2のステップS4における通信可否判定処理の動作を示すフローチャートである。図5に示す動作は、例えば、1分毎に実行される。具体的には、例えば1分毎にタイムアウトするようにタイマを設定し、かつ、タイムアウトをトリガとして、ステップS31を実行させればよい。
【0043】
まず、ロボット端末300のCPUは、クレードル800との間の無線接続がきちんとなされているか否かを確認するとともに、クレードル800が正常に動作しているか否かを確認する(ステップS31)。
【0044】
具体的には、ロボット端末300からクレードル800に対してチェック信号を送信したときに、その結果として、クレードル800からロボット端末300に対してキープアライブ信号が返信されるか否かをチェックすることによってクレードルチェックを行う。クレードル800からキープアライブ信号が返信され、それをロボット端末300で受信することができれば、ロボット端末300とクレードル800との間の無線接続がきちんとなされ、かつ、クレードル800が正常に動作していることになる。
【0045】
ステップS31の確認の結果、結局のところ、ロボット端末300とクレードル800との通信が可能でなければ、エラー音を出力するなどして、使用者へのエラー報告するために、エラー報告命令をセットする(ステップS40)。一方、ロボット端末300とクレードル800との通信が可能であれば、ロボット端末300のCPUは、重複してステップS33,S34を実行しないようにすべく、クレードル800との通信実行命令済みであるか否かを判定する(ステップS32)。
【0046】
ステップS32の判定の結果、クレードル800との通信実行命令済みであれば、ステップS33,S34をスキップして、ステップS35へ移行する。一方、ステップS32の判定の結果、ロボット端末300のCPUは、クレードル800との通信実行命令済みでなければ、クレードル800との通信実行命令をセットし(ステップS33)、DBの参照命令をセットする(ステップS34)。
【0047】
この結果、ロボット端末300は、クレードル800及びネットワーク200であるところの一般電話回線を通じて、DB110にアクセスして、自端末宛ての最新のデータがあるか否かをチェックすることになる(ステップS35)。
【0048】
ここで、最新のデータとは、ロボット端末400を含む他のロボット端末或いは、PC500、固定電話機600或いは携帯電話機700からの伝言データ及び画像データ、既述の歌・踊りなどの最新のデータのことである。
【0049】
ステップS35のチェックの結果、自端末宛ての最新のデータがなければ、ロボット端末300は、図5に示す処理を終了する。一方、自端末宛ての伝言データ等があれば、ロボット端末300は、クレードル800及び一般電話回線を通じて、最新のデータファイルをダウンロードするために、重複してステップS37を実行しないようにすべく、ダウンロードが開始されているか否かを判定し(ステップS36)、ダウンロードが開始されていなければダウンロード命令をセットしてから(ステップS37)、ダウンロードが完了したか否かをチェックする(ステップS38)。なお、ダウンロードが完了すると、その旨がDB110に格納される。これにより、次の最新のデータがDB110にアップロードされるまでは、ステップS35では、最新のデータがないという判定がされることになる。
【0050】
このチェックの結果、ダウンロードが完了していなければステップS31に移行する。一方、ダウンロードが完了していればクレードル800との無線接続を終了してから、最新のデータが伝言データ等であれば、当該ダウンロードした伝言データ等の再生命令をセットする(ステップS39)。これにより、ロボット端末300は、使用者に対して、伝言データを再生することができる。
【0051】
なお、ロボット端末300の使用者が、ロボット端末400を含む他端末宛てに、又は、PC500或いは携帯電話機700宛てに伝言データを送信したい場合には、ロボット端末300のマイクロフォンを通じて伝言データをロボット端末300に入力することができる。
【0052】
ロボット端末300は、例えば、ステップS36の実行後であって、かつ、クレードル800との無線接続を終了前に、ロボット端末300に伝言データが入力されているか否かを確認し、伝言データが入力されている場合には、クレードル800及び一般電話回線を通じてDB110に対して送信してもよいし、以下説明するように、伝言データの録音が完了したことをトリガとして伝言データを送信してもよい。
【0053】
(伝言モード)
図6は、本実施形態のロボットシステムの伝言モードにおける動作を示すフローチャートである。ここでは、ロボット端末300で録音された伝言をロボット端末400で再生する手法について説明する。なお、説明の都合上、図6には、クレードル800,900を示していないが、実際には、ロボット端末300,400とデータセンタ100とを、クレードル800,900が中継している点に留意されたい。
【0054】
もっとも、ロボット端末300で録音され、DB110に送信された伝言を、留守番電話センターに預けられた録音メッセージをダウンロードする要領で固定電話機600等によって再生することもできるし、更には、ロボット端末300で撮像された画像データをPC500にダウンロードして閲覧することもできる。以下、ロボット端末300の使用者を使用者Aと称し、ロボット端末400の使用者を使用者Bと称する。
【0055】
まず、使用者Aがロボット端末300に向けて、何らかの起動アクションを起こすと(ステップS51)、ロボット端末300は、使用者Aから入力されるコマンドに従ったモードに切り替えるため、コマンド入力モードに移行する(ステップS52)。
【0056】
ここでいう起動アクションは、使用者Aなどの発声、或いは、使用者Aなどによるロボット端末300へのタッチセンサへのタッチ等をいう。したがって、ロボット端末300とは、当該音声をマイクロフォンで集音する、或いは、当該タッチをタッチセンサで検知するなどと、コマンド入力モードへ移行することになる。
【0057】
ロボット端末300は、コマンド入力モードへ移行すると、「何ですか?」などのメッセージ(MSG)を発する(ステップS53)。使用者Aが、これを受けて、「伝言」などと発すると(ステップS54)、ロボット端末300は、伝言モードに移行し、併せて、使用者Aに対して、伝言の送信先を確認するといった処理を行う(ステップS55)。
【0058】
伝言送信先の確認処理は、例えば、ステップS53のように「伝言は誰に送信しますか?」などのメッセージを発することで使用者Aから送信先を入手してもよいし、後述の実施例で説明する井戸端モード時に入手した他端末IDに係る使用者名に対して送信するかを問うようにしてもよい。
【0059】
つづいて、ロボット端末300は、使用者Aから伝言を促すために、「どうぞ」などのメッセージを発する(ステップS56)。これを受けて、使用者Aが伝言を開始すると(ステップS57)、ロボット端末300は録音を開始し(ステップS58)、無音状態が例えば2秒に達するまで、録音を継続する(ステップS59)。一方、無音状態が例えば2秒に達すると、ロボット端末300は、録音を終了する(ステップS60)。
【0060】
なお、ロボット端末300は、録音の終了後であっても、それから例えば1秒以内といった短時間に、使用者Aの発声を検知した場合には、録音を再開してもよい。
【0061】
その後、ロボット端末300は、伝言内容の差換の有無を使用者Aに確認するために、「いいですか?」などのメッセージを発する(ステップS61)。これに対して、使用者Aが「OK」などの返事をして(ステップS62)、ロボット端末300がこれを受信すると(ステップS63)、ロボット端末300は、録音した伝言をデータセンタ100へ送信する。この際、ロボット端末300は、伝言の送信にあたり、併せて、自端末が伝言モードであること、及び、伝言の送信元を示す自端末IDと伝言の送信先を示す他端末IDを付すようにしている。
【0062】
データセンタ100は、ロボット端末300からの伝言を受信すると、そこに付されている自端末IDから伝言の送信元がロボット端末300であることを認識するとともに、ロボット端末300が伝言モードであることを特定する(ステップS64)。
【0063】
ここで、本実施形態では、伝言受信履歴及び伝言転送履歴をDB110に格納するとともに、PC500或いは携帯電話機700などからのログインを通じて閲覧可能な、データセンタ100の管理者等によって作成されたホームページ(HP)にも、同様の履歴を掲載するようにしている。このため、データセンタ100は、ステップS64で認識及び特定した情報に基づいて、DB110及びHPの伝言の受信履歴を更新するとともに、併せて、これらに紐付けてDB110に伝言自体も格納する(ステップS65)。
【0064】
つぎに、データセンタ100は、ロボット端末300から送信された伝言に付されている他端末IDが、DB110に登録されているか否かを判定する(ステップS66)。ステップS66の判定の結果、他端末IDがDB110に登録されていない場合にはステップS77へ移行する。一方、他端末IDがDB110に登録されている場合にはステップS67へ移行する。
【0065】
ここでは、当該伝言の転送先はロボット端末400であり、ロボット端末400に割り当てられている端末IDは、DB110に登録されているため、ステップS67へ移行することになる。
【0066】
ステップS67では、当該伝言の転送タイミングに到達したか否かを判定する。この判定処理は、伝言の転送タイミングに到達するまで繰り返し実行される。転送タイミングとは、例えば、使用者Bがロボット端末400に対して、データセンタ100に受信データの問い合わせを行うこと、或いは、ロボット端末400からデータセンタ100に定時接続することで、ロボット端末400とデータセンタ100との接続がされるタイミングのことをいう。データセンタ100は、伝言の転送タイミングに到達したことを条件に、当該伝言を転送先であるロボット端末400に対して転送することになる。
【0067】
ロボット端末400は、データセンタ100から転送された伝言を受信すると、そこに付されている送信元の端末IDから、伝言の送信元を確認する(ステップS68)。それから、ロボット端末400は、赤外線センサなどを用いて、使用者Bがロボット端末400の近くにいるか否か、典型的にはロボット端末400が置かれている室内に使用者Bが居るか否かを判定する(ステップS69)。
【0068】
ステップS69の判定処理は、ロボット端末400と同室内に使用者Bが居ると判定されるまで繰り返し実行される。それから、ロボット端末400は、ステップS68で確認した送信元に基づいて、「Aさんから伝言だよ」といった内容のメッセージを発する(ステップS70)。これに対して、使用者Bが、「再生してよ」といった内容の音声を発すると(ステップS71)、伝言を再生する(ステップS72)。
【0069】
その後、ロボット端末400は、伝言の再生が終了すると、「再生終了しました」などのメッセージを発し(ステップS73)、さらに、伝言に対して「返信しますか?」」などのメッセージを発する(ステップS74)。これに対して、使用者Bから「いいえ」といった返答があり(ステップS75)、これをロボット端末400が受理すると、ロボット端末400はそれを受信し(ステップS76)、データセンタ100に対して、伝言の再生を行った旨を送信する。
【0070】
仮に、ステップS75において、使用者Bが「はい」といった返答をした場合には、ロボット端末400は、ステップS56〜ステップS63に相当する処理を実行することになり、伝言の再生を行った旨の送信の際に、併せて、使用者Bからの伝言もデータセンタ100に送信する。
【0071】
つぎに、データセンタ100は、ロボット端末400から送信された情報を受信すると、伝言の転送が成功したことを認識することができ、一方、仮に、ステップS67〜ステップS76を経ずにステップS77に移行した場合には、データセンタ100は、伝言の転送が失敗したことを認識することができる(ステップS77)。
【0072】
したがって、データセンタ100は、ステップS67〜ステップS76を経てステップS77を実行した場合には、ステップS64と同様に、ロボット端末400から送信された情報に付されている端末IDから、その送信元がロボット端末400であること及び対応する伝言の送信元がロボット端末300であることを認識し、ステップS65で更新した伝言受信履歴に紐付けて、伝言転送成功という内容でDB110及びHPの伝言転送履歴を更新する(ステップS78)。
【0073】
なお、データセンタ100は、ステップS67〜ステップS76を経ずにステップS77を実行した場合には、ステップS65で更新した伝言受信履歴に紐付けて、伝言転送失敗という内容でDB110及びHPの伝言転送履歴を更新する(ステップS78)。
【0074】
その後、データセンタ100は、ステップS78の更新内容、すなわち、伝言転送成功/失敗を示す情報を、伝言の送信元である端末300へ送信する。もっとも、ロボット端末400からの伝言を受信していたのであれば、データセンタ100は、併せて、当該伝言を端末300へ送信する。
【0075】
ロボット端末300は、データセンタ100からの伝言転送履歴を受信すると、そこに含まれている送信元を確認する(ステップS79)。そして、ステップS69と同様に、ロボット端末300と同室内に使用者Aが居室中となれば(ステップS80)、この例によれば、伝言転送履歴の内容は伝言転送成功であるので、ロボット端末300は、ステップS79で確認した送信元に基づいて、Bさんへの「伝言が無事とどけられました」といった内容のメッセージを発する(ステップS81)。
【実施例】
【0076】
つぎに、本発明の実施例について説明する。本実施例では、井戸端モードにおいて、ロボット端末300,400間でのデータ通信、更には、ロボット端末300,400による協働アクション動作を行う例について説明する。
【0077】
図7は、本発明の実施例のロボットシステムの井戸端モード時のフローチャートの抜粋である。はじめに、図7と図2との関係について説明する。図7に示すステップS109は、図2のステップS1に代替して行われるものである。図7に示すステップS101〜S108は、本実施例で固有に追加する処理である。図7に示すステップS110は、図2のステップS5に代替して行われるものである。
【0078】
既述のように、本実施形態では、お散歩モード中に、所定期間(例えば5分)、ジャイロセンサによるセンシングがなかった場合には、井戸端モードに遷移するようにしている。ロボット端末300のCPUは、井戸端モードに遷移したら、ロボット端末300のCPUは、重複してステップS102を実行することがないように、自端末に割り当てられている自端末IDを送信済みであるか否かを判定する(ステップS101)。
【0079】
ステップS101の判定の結果、自端末IDを送信済みでなければ、ロボット端末300のCPUは、自端末IDを送信するために、自端末IDの送信命令を行う(ステップS102)。一方、自端末IDを送信済みであれば、重複して自端末IDを送信する必要がないので、ステップS102をスキップする。
【0080】
つぎに、ロボット端末300のCPUは、他端末から送信された当該他端末に割り当てられている他端末IDを受信済みであるか否かを判定する(ステップS103)。
【0081】
ステップS103の判定の結果、他端末IDを受信済みでない場合には、ステップS101へ移行する。一方、他端末IDを受信済みである場合には、重複してステップS105を実行することがないように、ロボット端末300のCPUは、他端末に対する挨拶が送信済みであるか否かを判定する(ステップS104)。
【0082】
ステップS104の判定の結果、挨拶が送信済みであれば、他端末に対して重複して挨拶をする必要がないので、ステップS106へ移行する。一方、挨拶を送信済みでなければ、ロボット端末300のCPUは、現在時刻をチェックして、「おはようございます」或いは「こんにちは」などの挨拶を送信するための送信命令を行う(ステップS105)。
【0083】
それから、他端末から挨拶を受信済みであるか否かを判定する(ステップS106)。判定の結果、他端末から挨拶を受信済みでなければ、ステップS101へ移行する。一方、他端末から挨拶を受信済みであれば、ロボット端末300のCPUは、重複してステップS108を実行することがないように、自使用者情報を送信済みであるか否かを確認する(ステップS107)。
【0084】
ステップS107の確認の結果、自使用者情報を送信済みである場合には、ステップS108をスキップする。一方、自使用者情報を送信済みでない場合には、他端末との間で、自端末内に登録されている使用者に関する情報(使用者の氏名/ニックネーム、自端末のニックネームなど)を交換するために、既に入力済みの自使用者情報の送信命令を実行する(ステップS108)。これに対応して、他端末から送信される他使用者情報を受信することになる。
【0085】
それから、ロボット端末300のCPUは、設定時間の経過の有無を判定する(ステップS109)。
【0086】
ステップS109の判定の結果、設定時間が経過した場合には、ステップS2へ移行する。一方、設定時間が経過していない場合には、ロボット端末300の使用者とロボット端末400の使用者とが会話などを楽しんでいて、各使用者がロボット端末300,400にあまり関心がない時間であると考えられるので、その時間を利用して、フリーアクションとして自端末と他端末とが協働して歌・踊りなどを披露すべく、歌・踊り情報の通信開始命令を行ってからステップS2へ移行する(ステップS110)。
【0087】
自端末と他端末との間で当該通信が完了すると、通信した歌・踊り情報に基づいて歌・踊りが開始される。なお、既述の実施形態では、時刻同期手段を利用して、その正確な計時を可能とすることが好ましいことを説明したが、本実施例では、正確な計時を行うことは必須である。さもないと、自端末と他端末との間で、同期のとれた歌などの披露ができなくなるからである。もっとも、ロボット端末300,400の個体差に基づく同期のずれを許容しないという意味ではない点に留意されたい。
【0088】
本実施例によれば、ロボット端末300,400という2台以上の端末が、協働して歌・踊りを使用者らに披露することが可能となるので、1台の端末と使用者との間で得られるコミュニケーションを超えた、実施形態のものでは得ることができない、さらに優れたコミュニケーションが得られることになる。
【0089】
図8は、通常モードからお散歩モードを経て井戸端モードに遷移し、更に、帰宅モードを経て通常モードに遷移するというロボットシステム全体での動作を示すフローチャートである。ここでは、使用者Aが、使用者B宅に到達した場合の動作を例に説明する。
【0090】
なお、以下の説明では、図2等で説明した処理に相当するステップ符号もしておく。また、種々の例を示したいとの考えから、図2等のものとは、順不同であるステップの実行順序の差し替え、代替可能なステップの代替、及び、新たなステップの追加などを行っている点に留意されたい。
【0091】
まず、通常モード中にロボット端末300の所有者である使用者Aが、ロボット端末300を移動させると(ステップS201)、ロボット端末300は、自端末内に設けられているジャイロセンサによって角速度の変化を検知することになり(ステップS202,図2のS2,図4のS21〜S23)、「何ですか?」などの音声を出力する(ステップS203,図4のS25,S26)。
【0092】
つぎに、ロボット端末300は、使用者Aから入力されるコマンドに従ったモードに切り替えるため、コマンド入力モードに移行し、内蔵されているマイクロフォンをオン状態とし、当該マイクロフォンによる集音情報と予め登録してある特定話者の音声情報とに基づいて、特定話者から「お散歩」などの散歩に行く旨の回答があれば(ステップS205)、それを検知することになる(ステップS204,図4のS27)。
【0093】
そして、ロボット端末300は、通常モードの状態からお散歩モードの状態に遷移するとともに、特定話者からの回答に応じて、散歩に「行きましょう」などの音声を出力してから(ステップS206)、自クレードル800宛てに通常モードからお散歩モードに、モード変更したことを送信する(ステップS207,図4のS28〜S29)。
【0094】
これを受けて、クレードル800は、ロボット端末300のモード情報が、通常モードからお散歩モードにモード変更することを、データセンタ100に対して送信し、その結果、データセンタ100内のDB110には、ロボット端末300のモード情報が、お散歩モードに変更されたという履歴が格納される(ステップS208,S210)。
【0095】
また、クレードル800は、自クレードルの通信可能エリア内に、ロボット端末300を含む各種ロボット端末が位置するか否かを検知するために、端末サーチモードに遷移する(ステップS209)。
【0096】
その後、ロボット端末300を持って移動している使用者Aが使用者B宅に到達し(ステップS211)、所定時間が経過すると、ロボット端末300は、ロボット端末400との間の通信を行うためにユニークな自端末ID(ユニークID)を発信する(ステップS212,図7のS102)。
【0097】
ここでは、ロボット端末300は、使用者B宅内にあることから、クレードル900の通信可能エリア内に位置していることになり、ロボット端末300から送信された自端末IDは、クレードル900によって受信されることになる(ステップS213)。
【0098】
クレードル900は、端末IDを受信すると、当該端末IDが、自ロボット端末であるところのロボット端末400(端末B)に割り当てられているものであるか否かを判定する(ステップS214)。
【0099】
判定の結果、受信した端末IDがロボット端末400に割り当てられているものであれば、クレードル900は、図8に示す処理を終了するが、ここでは、当該端末IDがロボット端末400に割り当てられているものでないため、クレードル900は、受信した端末IDに自クレードルに割り当てられているクレードルIDを付加してデータセンタ100に送信し、この結果、データセンタ100内のDB110には、クレードル900との通信先にロボット端末300が追加された旨が更新される(ステップS215)。
【0100】
つぎに、クレードル900は、端末IDの送信元であるロボット端末300に対して、ロボット端末400に割り当てられている端末ID(端末B情報)を送信する(ステップS216)。ロボット端末300は、この端末IDを受信すると(ステップS217,図7のS103)、ロボット端末400に向けて挨拶を送信し(ステップS218,図7のS105)、ロボット端末400は、この挨拶を自端末のマイクロフォン(MIC)をオン状態とすることによって受ける(ステップS219)。
【0101】
その後、ロボット端末300が、ロボット端末400に対して、自端末内に登録されている使用者Aに関する情報を例えばブルートゥース(BT)通信によって送信する(ステップS220,図7のステップS108)。ロボット端末400は、この情報を受信すると(ステップS221)、ロボット端末300に向けて挨拶を送信し(ステップS222)、その後、ロボット端末300,400間で、ステップS219〜S221に対応する処理が実行され(図示せず)、井戸端モードに遷移する。
【0102】
それから、必要に応じて、図7のステップS110が実行されることで、ロボット端末300,400という2台以上の端末が、協働して、歌・踊りを使用者らに披露することが可能となる。
【0103】
その後、例えば、使用者Bが「ばいばい」などの挨拶をして(ステップS223)、それがロボット端末300,400の各々のマイクロフォンで集音されると(ステップS224)、ロボット端末300,400は、ともに「ばいばい」などの語を発する(ステップS225,図4のステップS24)。
【0104】
そして、ロボット端末300は、帰宅モードに遷移する。一方、ロボット端末400は、ロボット端末300と初めて協働してフリーモードを実行した場合には、クレードル900を介してDB110に定時接続したときに(ステップS226)、井戸端モード時に協働したロボット端末300に割り当てられている端末IDに、送信元情報として自端末IDを付加してデータセンタ100に送信する。
【0105】
ここで、DB110には、端末ID毎にリスト(友達リスト)が用意されている。データセンタ100は、井戸端モード時に協働した端末IDを受信すると、その送信元を特定し、その送信元に係る友達リストに井戸端モード時に協働した端末IDを格納する。この例では、データセンタ100によって、DB110内のロボット端末400の端末IDに係る友達リストに、ロボット端末300の端末IDが格納されることになる(ステップS227)。
【0106】
それから、ロボット端末300を持って移動している使用者Aが帰宅すると(ステップS228)、ロボット端末300は、自端末IDともに通常モードに遷移したことをクレードル800に向けて発信し(ステップS229,図4のステップS29)、クレードル800がこれを受信する(ステップS230)。
【0107】
つぎに、クレードル800は、定期的になされる通常接続通信時に、自クレードルに割り当てられているクレードルIDをロボット端末300に向けて送信し(ステップS231)、ロボット端末300がこれを受信する(ステップS232)。
【0108】
その後、ステップS214,S215の各処理と同様に、ロボット端末300は、クレードルIDの判定処理を行い(ステップS233)、ここでは、クレードル800(クレードルA)のものであるから、通常モードに遷移したことをデータセンタ100へ送信することで、DB110におけるモードの更新処理が行われる(ステップS234)。さらに、ステップS226、S227に対応する処理を実行することになる(ステップS235,S236)。
【図面の簡単な説明】
【0109】
【図1】本実施形態のロボットシステムの模式的な構成図である。
【図2】図1のロボット端末300に設けられているCPUによる通常モードの動作を示すフローチャートである。
【図3】図2のステップS5におけるフリーアクション実行命令の動作を示すフローチャートである。
【図4】図2のステップS6における対応処理の実行命令の動作を示すフローチャートである。
【図5】図2のステップS4における通信可否判定処理の動作を示すフローチャートである。
【図6】本実施形態のロボットシステムの伝言モードにおける動作を示すフローチャートである。
【図7】本発明の実施例のロボットシステムの井戸端モード時のフローチャートの抜粋である。
【図8】ロボットシステム全体での動作を示すフローチャートである。
【符号の説明】
【0110】
100 データセンタ
110 データベース(DB)
200 ネットワーク
300,400 ロボット端末
500 パーソナルコンピュータ(PC)
600 固定電話機
700 携帯電話機
800,900 クレードル

【特許請求の範囲】
【請求項1】
他のロボット端末との同期をとる同期手段と、
人間からのアクションの有無を判定する判定手段と、
前記他のロボット端末と協働して使用者に披露すべきアクションを実行するためのアクションデータが格納されるメモリと、
前記メモリに格納されているアクションデータに基づくアクションを実行する実行手段と、
所定時間を計時する時計と、を備え、
前記同期手段によって他のロボット端末との同期がとられた後であって、前記時計によって所定時間の計時中に、前記判定手段によって人間からのアクションがないと判定された場合に、前記実行手段によって前記メモリに格納されているアクションデータに基づくアクションを前記他のロボット端末と協働して実行するロボット端末。
【請求項2】
前記アクションデータの最新データが格納されているデータベースから、当該最新データをダウンロードする手段を備える、請求項1記載のロボット端末。
【請求項3】
前記他の端末に割り当てられている他端末IDを自端末IDとともに前記データベースへ送信する送信手段を備える、請求項2記載のロボット端末。
【請求項4】
請求項1記載のロボット端末及び他のロボット端末を備えるロボットシステム。
【請求項5】
請求項4記載のロボットシステムに用いられるクレードルであって、
前記ロボット端末からと前記アクションデータの最新データが格納されているデータベースとを仲介するクレードル。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate