(57)【要約】      （修正有）【課題】ホスト・ロボットがゲスト・ロボットを仲間に迎える仕組み。【解決手段】ゲスト・ロボットは、ホスト・ロボットによる認証後、ホスト・ロボットがアクセス可能なリソースへのアクセス権を取得する。ホスト・ロボットは、ゲスト・ロボットが所定距離以内に位置したことを条件としてゲスト・ロボットを認証する。ゲスト・ロボットは、ホスト・ロボットの行動特性を決定するサーバから行動特性情報を受信し、行動特性情報にしたがってモーションを選択する。ゲスト・ロボットに対しては、ホスト・ロボットにはない行動制約が課されることもある。【選択図】図７
2020014845.tif 000002
【特許請求の範囲】
【請求項１】
モーションを選択する動作選択部と、
前記動作選択部により選択されたモーションを実行する駆動機構と、
ホスト・ロボットによる認証後、前記ホスト・ロボットがアクセス可能なリソースへのアクセス権を取得するアクセス管理部と、を備えることを特徴とする自律行動型ロボット。
【請求項２】
前記ホスト・ロボットの行動特性を決定するサーバから、行動特性情報を受信する行動特性取得部、を更に備え、
前記動作選択部は、前記行動特性情報にしたがってモーションを選択することを特徴とする請求項１に記載の自律行動型ロボット。
【請求項３】
前記行動特性取得部は、更に、ロボットの行動に対する制約を受信することを特徴とする請求項２に記載の自律行動型ロボット。
【請求項４】
所定の無効化条件が成立したとき、前記アクセス権の取得後に取得されたデータを無効化する無効処理部、を更に備えることを特徴とする請求項１に記載の自律行動型ロボット。
【請求項５】
前記ホスト・ロボットから行動指示を受信する指示受信部、を更に備え、
前記動作選択部は、前記行動指示に対応するモーションを選択することを特徴とする請求項１に記載の自律行動型ロボット。
【請求項６】
第１の無線通信回線と、前記第１の無線通信回線とは異なる周波数帯の第２の無線通信回線の双方にてサーバと接続し、
前記第１の無線通信回線が不調のときには前記第２の無線通信回線を介して前記サーバと通信することを特徴とする請求項１に記載の自律行動型ロボット。
【請求項７】
サーバから行動特性情報を受信する行動特性受信部と、
前記行動特性情報にしたがってモーションを選択する動作選択部と、
前記動作選択部により選択されたモーションを実行する駆動機構と、
ゲスト・ロボットを認証する認証部と、
認証後、前記ゲスト・ロボットに対して所定のリソースへのアクセス権を設定するアクセス管理部と、を備えることを特徴とする自律行動型ロボット。
【請求項８】
前記認証部は、前記ゲスト・ロボットが所定距離以内に位置したことを条件として前記ゲスト・ロボットを認証することを特徴とする請求項７に記載の自律行動型ロボット。
【請求項９】
抱え上げを認識する認識部、を更に備え、
前記認証部は、更に、当該ロボットが抱え上げられていることを条件として、前記ゲスト・ロボットを認証することを特徴とする請求項７に記載の自律行動型ロボット。
【請求項１０】
前記ゲスト・ロボットに行動指示を送信する指示送信部、を更に備えることを特徴とする請求項７に記載の自律行動型ロボット。
【請求項１１】
前記認証部は、認証に際して、前記ゲスト・ロボットのセキュリティ・チェックを実行することを特徴とする請求項７に記載の自律行動型ロボット。
【請求項１２】
第１距離を通信可能距離とする近距離無線通信手段と、前記第１距離よりも長い第２距離を通信可能距離とする遠距離無線通信手段の双方により通信可能であって、
前記近距離無線通信手段を介してゲスト・ロボットを認証する認証部と、
認証後、前記ゲスト・ロボットに対して所定のリソースへのアクセス権を設定するアクセス管理部と、を備えることを特徴とする自律行動型ロボット。
【請求項１３】
抱え上げを認識する認識部、を更に備え、
前記認証部は、更に、当該ロボットが抱え上げられていることを条件として、前記ゲスト・ロボットを認証することを特徴とする請求項１２に記載の自律行動型ロボット。
【請求項１４】
ホスト・ロボットに行動特性情報を送信する行動特性送信部と、
前記ホスト・ロボットによりゲスト・ロボットが認証されたことを条件として、前記ゲスト・ロボットと接続する接続部と、を備え、
前記行動特性送信部は、前記ゲスト・ロボットに対して前記ホスト・ロボットにはない制約条件を設定する行動特性情報を送信することを特徴とするサーバ。
【請求項１５】
前記行動特性情報は、前記ホスト・ロボットが有する知識情報を含むことを特徴とする請求項１４に記載のサーバ。
【請求項１６】
前記ゲスト・ロボットに対して、データの無効化を指示するセキュリティ管理部、を更に備えることを特徴とする請求項１４に記載のサーバ。
【請求項１７】
自律行動型ロボットに対して第１の無線通信回線と、前記第１の無線通信回線とは異なる周波数帯の第２の無線通信回線の双方にて接続する接続部と、
第１および第２の無線通信回線の双方を介して、前記自律行動型ロボットの行動選択方法を定義する行動特性情報を送信する行動特性送信部と、を備えることを特徴とするサーバ。
【請求項１８】
前記行動特性送信部は、前記第１の無線通信回線を介して前記自律行動型ロボットに前記行動特性情報を送信し、前記第１の無線通信回線が不調であるときに限り、前記第２の無線通信回線を介して前記自律行動型ロボットに前記行動特性情報を送信することを特徴とする請求項１７に記載のサーバ。
【請求項１９】
第１の装置を認証する機能と、
前記第１の装置の認証後、前記第１の装置に対して所定のリソースへのアクセス権を設定する機能と、
前記第１の装置により第２の装置が認証されたことを条件として、前記第２の装置に対して前記リソースへのアクセス権を設定する機能と、をコンピュータに発揮させることを特徴とするアクセス制御プログラム。
【請求項２０】
ホスト・ロボットに行動選択方法を定義する行動特性情報を送信する機能と、
ゲスト・ロボットが前記ホスト・ロボットから認証されたことを条件として、前記ゲスト・ロボットに対して前記ホスト・ロボットにはない制約条件を設定する行動特性情報を送信する機能と、をコンピュータに発揮させることを特徴とする行動制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内部状態または外部環境に応じて自律的に行動選択するロボット、に関する。
【背景技術】
【０００２】
人間は、癒やしを求めてペットを飼う。その一方、ペットの世話をする時間を十分に確保できない、ペットを飼える住環境にない、アレルギーがある、死別がつらい、といったさまざまな理由により、ペットをあきらめている人は多い。もし、ペットの役割が務まるロボットがあれば、ペットを飼えない人にもペットが与えてくれるような癒やしを与えられるかもしれない（特許文献１参照）。近年、ロボット技術は急速に進歩しつつあるものの、ペットのような伴侶としての存在感を実現するには至っていない。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−３２３２１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ロボットに「伴侶としての存在感」を発揮させるためには、ロボットの行動特性を生物のそれに近づける必要がある。それだけではなく、ペットを飼うことの楽しさをロボットでも与えられることが望ましい。ペットを飼う楽しさのひとつは、ペットを通して、オーナー同士が仲良くなることである。したがって、ロボットにおいても、ロボット同士の交流を促す仕組みがあれば、ロボットに対する愛着をいっそう深めることができると考えられる。
【０００５】
本発明は上記認識に基づいて完成された発明であり、その主たる目的は、ホスト・ロボットがゲスト・ロボットを仲間に迎える仕組みを提案することにある。
【課題を解決するための手段】
【０００６】
本発明のある態様における自律行動型ロボット（ゲスト・ロボット）は、モーションを選択する動作選択部と、動作選択部により選択されたモーションを実行する駆動機構と、ホスト・ロボットによる認証後、ホスト・ロボットがアクセス可能なリソースへのアクセス権を取得するアクセス管理部と、を備える。
【０００７】
本発明の別の態様における自律行動型ロボット（ホスト・ロボット）は、サーバから行動特性情報を受信する行動特性受信部と、行動特性情報にしたがってモーションを選択する動作選択部と、動作選択部により選択されたモーションを実行する駆動機構と、ゲスト・ロボットに対して認証処理を実行する認証部と、認証後、ゲスト・ロボットに対して所定のリソースへのアクセス権を設定するアクセス管理部と、を備える。
【０００８】
本発明の別の態様における自律行動型ロボット（ホスト・ロボット）は、第１距離を通信可能距離とする近距離無線通信手段と、第１距離よりも長い第２距離を通信可能距離とする遠距離無線通信手段の双方により通信可能である。
このロボットは、近距離無線通信手段を介してゲスト・ロボットを認証する認証部と、認証後、ゲスト・ロボットに対して所定のリソースへのアクセス権を設定するアクセス管理部を備える。
【０００９】
本発明のある態様におけるサーバは、ホスト・ロボットに行動特性情報を送信する行動特性送信部と、ホスト・ロボットによりゲスト・ロボットが認証されたことを条件として、ゲスト・ロボットと接続する接続部と、を備える。
行動特性送信部は、ゲスト・ロボットに対してホスト・ロボットにはない制約条件を設定する行動特性情報を送信する。
【００１０】
本発明の別の態様におけるサーバは、自律行動型ロボットに対して第１の無線通信回線と、第１の無線通信回線とは異なる周波数帯の第２の無線通信回線の双方にて接続する接続部と、第１および第２の無線通信回線の双方を介して、自律行動型ロボットの行動選択方法を定義する行動特性情報を送信する行動特性送信部と、を備える。
【００１１】
本発明のある態様におけるアクセス制御プログラムは、第１の装置を認証する機能と、第１の装置の認証後、第１の装置に対して所定のリソースへのアクセス権を設定する機能と、第１の装置により第２の装置が認証されたことを条件として、第２の装置に対してリソースへのアクセス権を設定する機能と、をコンピュータに発揮させる。
【００１２】
本発明のある態様における行動制御プログラムは、ホスト・ロボットに行動選択方法を定義する行動特性情報を送信する機能と、ゲスト・ロボットがホスト・ロボットから認証されたことを条件として、ゲスト・ロボットに対してホスト・ロボットにはない制約条件を設定する行動特性情報を送信する機能と、をコンピュータに発揮させる。
【発明の効果】
【００１３】
本発明によれば、ロボットを通したオーナーの交流を促しやすくなる。
【図面の簡単な説明】
【００１４】
【図１（ａ）】ロボットの正面外観図である。
【図１（ｂ）】ロボットの側面外観図である。
【図２】ロボットの構造を概略的に表す断面図である。
【図３】ロボットシステムの構成図である。
【図４】感情マップの概念図である。
【図５】ロボットのハードウェア構成図である。
【図６】ホスト・ロボットによるゲスト・ロボットの認証過程を説明するための模式図である。
【図７】ホスト・ロボットによるゲスト・ロボットの認証態様を示す模式図である。
【図８】ロボットシステムの機能ブロック図である。
【図９】制約設定画面の画面図である。
【図１０】ホスト・ロボットがゲスト・ロボットのロボットＩＤを検出したときに実行する認証処理過程を示すフローチャートである。
【図１１】ゲスト・ロボットがホスト・ロボットのロボットＩＤを検出したときに実行する認証処理過程を示すフローチャートである。
【図１２】通信回線のバックアップ処理過程を示すフローチャートである。
【図１３】ホスト・ロボットからゲスト・ロボットに行動指示するときの処理過程を示すシーケンス図である。
【図１４】ゲスト・ロボットの接続終了処理過程を示すフローチャートである。
【発明を実施するための形態】
【００１５】
本実施形態における自律行動型ロボットは、ゲスト・ロボットとしても、ゲスト・ロボットを迎え入れるホスト・ロボットとしても機能する。ホスト・ロボットが所属する住宅を「ホームＸ」とよぶ。
【００１６】
図１（ａ）は、ロボット１００の正面外観図である。図１（ｂ）は、ロボット１００の側面外観図である。
本実施形態におけるロボット１００は、外部環境および内部状態に基づいて行動や仕草（ジェスチャー）を決定する自律行動型のロボットである。外部環境は、カメラやサーモセンサなど各種のセンサにより認識される。内部状態はロボット１００の感情を表現するさまざまなパラメータとして定量化される。これらについては後述する。
【００１７】
ロボット１００は、原則として、オーナー家庭の家屋内を行動範囲とする。以下、ロボット１００に関わる人間を「ユーザ」とよび、ロボット１００が所属する家庭の構成員となるユーザのことを「オーナー」とよぶ。
【００１８】
ロボット１００のボディ１０４は、全体的に丸みを帯びた形状を有し、ウレタンやゴム、樹脂、繊維などやわらかく弾力性のある素材により形成された外皮を含む。ロボット１００に服を着せてもよい。丸くてやわらかく、手触りのよいボディ１０４とすることで、ロボット１００はユーザに安心感とともに心地よい触感を提供する。
【００１９】
ロボット１００は、総重量が１５キログラム以下、好ましくは１０キログラム以下、更に好ましくは、５キログラム以下である。生後１３ヶ月までに、赤ちゃんの過半数は一人歩きを始める。生後１３ヶ月の赤ちゃんの平均体重は、男児が９キログラム強、女児が９キログラム弱である。このため、ロボット１００の総重量が１０キログラム以下であれば、ユーザは一人歩きできない赤ちゃんを抱きかかえるのとほぼ同等の労力でロボット１００を抱きかかえることができる。生後２ヶ月未満の赤ちゃんの平均体重は男女ともに５キログラム未満である。したがって、ロボット１００の総重量が５キログラム以下であれば、ユーザは乳児を抱っこするのと同等の労力でロボット１００を抱っこできる。
【００２０】
適度な重さと丸み、柔らかさ、手触りのよさ、といった諸属性により、ユーザがロボット１００を抱きかかえやすく、かつ、抱きかかえたくなるという効果が実現される。同様の理由から、ロボット１００の身長は１．２メートル以下、好ましくは、０．７メートル以下であることが望ましい。本実施形態におけるロボット１００にとって、抱きかかえることができるというのは重要なコンセプトである。
【００２１】
ロボット１００は、３輪走行するための３つの車輪を備える。図示のように、一対の前輪１０２（左輪１０２ａ，右輪１０２ｂ）と、一つの後輪１０３を含む。前輪１０２が駆動輪であり、後輪１０３が従動輪である。前輪１０２は、操舵機構を有しないが、回転速度や回転方向を個別に制御可能とされている。後輪１０３は、いわゆるオムニホイールからなり、ロボット１００を前後左右へ移動させるために回転自在となっている。左輪１０２ａよりも右輪１０２ｂの回転数を大きくすることで、ロボット１００は左折したり、左回りに回転できる。右輪１０２ｂよりも左輪１０２ａの回転数を大きくすることで、ロボット１００は右折したり、右回りに回転できる。
【００２２】
前輪１０２および後輪１０３は、駆動機構（回動機構、リンク機構）によりボディ１０４に完全収納できる。走行時においても各車輪の大部分はボディ１０４に隠れているが、各車輪がボディ１０４に完全収納されるとロボット１００は移動不可能な状態となる。すなわち、車輪の収納動作にともなってボディ１０４が降下し、床面Ｆに着座する。この着座状態においては、ボディ１０４の底部に形成された平坦状の着座面１０８（接地底面）が床面Ｆに当接する。
【００２３】
ロボット１００は、２つの手１０６を有する。手１０６には、モノを把持する機能はない。手１０６は上げる、振る、振動するなど簡単な動作が可能である。２つの手１０６も個別制御可能である。
【００２４】
目１１０にはカメラが内蔵される。目１１０は、液晶素子または有機ＥＬ素子による画像表示も可能である。ロボット１００は、目１１０に内蔵されるカメラのほか、音源方向を特定可能なマイクロフォンアレイや超音波センサなどさまざまなセンサを搭載する。また、スピーカーを内蔵し、簡単な音声を発することもできる。
【００２５】
ロボット１００の頭部にはツノ１１２が取り付けられる。上述のようにロボット１００は軽量であるため、ユーザはツノ１１２をつかむことでロボット１００を持ち上げることも可能である。ツノ１１２には全天球カメラが取り付けられ、ロボット１００の上部全域を一度に撮像可能である。
【００２６】
図２は、ロボット１００の構造を概略的に表す断面図である。
図２に示すように、ロボット１００のボディ１０４は、ベースフレーム３０８、本体フレーム３１０、一対の樹脂製のホイールカバー３１２および外皮３１４を含む。ベースフレーム３０８は、金属からなり、ボディ１０４の軸芯を構成するとともに内部機構を支持する。ベースフレーム３０８は、アッパープレート３３２とロアプレート３３４とを複数のサイドプレート３３６により上下に連結して構成される。複数のサイドプレート３３６間には通気が可能となるよう、十分な間隔が設けられる。ベースフレーム３０８の内方には、バッテリー１１８、制御回路３４２および各種アクチュエータが収容されている。
【００２７】
本体フレーム３１０は、樹脂材からなり、頭部フレーム３１６および胴部フレーム３１８を含む。頭部フレーム３１６は、中空半球状をなし、ロボット１００の頭部骨格を形成する。胴部フレーム３１８は、段付筒形状をなし、ロボット１００の胴部骨格を形成する。胴部フレーム３１８は、ベースフレーム３０８と一体に固定される。頭部フレーム３１６は、胴部フレーム３１８の上端部に相対変位可能に組み付けられる。
【００２８】
頭部フレーム３１６には、ヨー軸３２０、ピッチ軸３２２およびロール軸３２４の３軸と、各軸を回転駆動するためのアクチュエータ３２６が設けられる。アクチュエータ３２６は、各軸を個別に駆動するための複数のサーボモータを含む。首振り動作のためにヨー軸３２０が駆動され、頷き動作のためにピッチ軸３２２が駆動され、首を傾げる動作のためにロール軸３２４が駆動される。
【００２９】
頭部フレーム３１６の上部には、ヨー軸３２０を支持するプレート３２５が固定されている。プレート３２５には、上下間の通気を確保するための複数の通気孔３２７が形成される。
【００３０】
頭部フレーム３１６およびその内部機構を下方から支持するように、金属製のベースプレート３２８が設けられる。ベースプレート３２８は、クロスリンク機構３２９（パンタグラフ機構）を介してプレート３２５と連結される一方、ジョイント３３０を介してアッパープレート３３２（ベースフレーム３０８）と連結されている。
【００３１】
胴部フレーム３１８は、ベースフレーム３０８と車輪駆動機構３７０を収容する。車輪駆動機構３７０は、回動軸３７８およびアクチュエータ３７９を含む。胴部フレーム３１８の下半部は、ホイールカバー３１２との間に前輪１０２の収納スペースＳを形成するために小幅とされている。
【００３２】
外皮３１４は、ウレタンゴムからなり、本体フレーム３１０およびホイールカバー３１２を外側から覆う。手１０６は、外皮３１４と一体成形される。外皮３１４の上端部には、外気を導入するための開口部３９０が設けられる。
【００３３】
図３は、ロボットシステム３００の構成図である。
ロボットシステム３００は、ロボット１００、サーバ２００および複数の外部センサ１１４を含む。家屋内にはあらかじめ複数の外部センサ１１４（外部センサ１１４ａ、１１４ｂ、・・・、１１４ｎ）が設置される。外部センサ１１４は、家屋の壁面に固定されてもよいし、床に載置されてもよい。サーバ２００には、外部センサ１１４の位置座標が登録される。位置座標は、ロボット１００の行動範囲として想定される家屋内においてｘ，ｙ座標として定義される。
【００３４】
サーバ２００は、家屋内に設置される。本実施形態におけるサーバ２００とロボット１００は、通常、１対１で対応する。ロボット１００の内蔵するセンサおよび複数の外部センサ１１４から得られる情報に基づいて、サーバ２００がロボット１００の基本行動を決定する。
外部センサ１１４はロボット１００の感覚器を補強するためのものであり、サーバ２００はロボット１００の頭脳を補強するためのものである。
【００３５】
外部センサ１１４は、定期的に外部センサ１１４のＩＤ（以下、「ビーコンＩＤ」とよぶ）を含む無線信号（以下、「ロボット探索信号」とよぶ）を送信する。ロボット１００はロボット探索信号を受信するとビーコンＩＤを含む無線信号（以下、「ロボット返答信号」とよぶ）を返信する。サーバ２００は、外部センサ１１４がロボット探索信号を送信してからロボット返答信号を受信するまでの時間を計測し、外部センサ１１４からロボット１００までの距離を測定する。複数の外部センサ１１４とロボット１００とのそれぞれの距離を計測することで、ロボット１００の位置座標を特定する。
もちろん、ロボット１００が自らの位置座標を定期的にサーバ２００に送信する方式でもよい。
【００３６】
図４は、感情マップ１１６の概念図である。
感情マップ１１６は、サーバ２００に格納されるデータテーブルである。ロボット１００は、感情マップ１１６にしたがって行動選択する。図４に示す感情マップ１１６は、ロボット１００の場所に対する好悪感情の大きさを示す。感情マップ１１６のｘ軸とｙ軸は、二次元空間座標を示す。ｚ軸は、好悪感情の大きさを示す。ｚ値が正値のときにはその場所に対する好感が高く、ｚ値が負値のときにはその場所を嫌悪していることを示す。
【００３７】
図４の感情マップ１１６において、座標Ｐ１は、ロボット１００の行動範囲としてサーバ２００が管理する屋内空間のうち好感情が高い地点（以下、「好意地点」とよぶ）である。好意地点は、ソファの陰やテーブルの下などの「安全な場所」であってもよいし、リビングのように人が集まりやすい場所、賑やかな場所であってもよい。また、過去にやさしく撫でられたり、触れられたりした場所であってもよい。
ロボット１００がどのような場所を好むかという定義は任意であるが、一般的には、小さな子どもや犬や猫などの小動物が好む場所を好意地点として設定することが望ましい。
【００３８】
座標Ｐ２は、悪感情が高い地点（以下、「嫌悪地点」とよぶ）である。嫌悪地点は、テレビの近くなど大きな音がする場所、お風呂や洗面所のように濡れやすい場所、閉鎖空間や暗い場所、ユーザから乱暴に扱われたことがある不快な記憶に結びつく場所などであってもよい。
ロボット１００がどのような場所を嫌うかという定義も任意であるが、一般的には、小さな子どもや犬や猫などの小動物が怖がる場所を嫌悪地点として設定することが望ましい。
【００３９】
座標Ｑは、ロボット１００の現在位置を示す。複数の外部センサ１１４が定期的に送信するロボット探索信号とそれに対するロボット返答信号により、サーバ２００はロボット１００の位置座標を特定する。たとえば、ビーコンＩＤ＝１の外部センサ１１４とビーコンＩＤ＝２の外部センサ１１４がそれぞれロボット１００を検出したとき、２つの外部センサ１１４からロボット１００の距離を求め、そこからロボット１００の位置座標を求める。
【００４０】
あるいは、ビーコンＩＤ＝１の外部センサ１１４は、ロボット探索信号を複数方向に送信し、ロボット１００はロボット探索信号を受信したときロボット返答信号を返す。これにより、サーバ２００は、ロボット１００がどの外部センサ１１４からどの方向のどのくらいの距離にいるかを把握してもよい。また、別の実施の形態では、前輪１０２または後輪１０３の回転数からロボット１００の移動距離を算出して、現在位置を特定してもよいし、カメラから得られる画像に基づいて現在位置を特定してもよい。
図４に示す感情マップ１１６が与えられた場合、ロボット１００は好意地点（座標Ｐ１）に引き寄せられる方向、嫌悪地点（座標Ｐ２）から離れる方向に移動する。
【００４１】
感情マップ１１６は動的に変化する。ロボット１００が座標Ｐ１に到達すると、座標Ｐ１におけるｚ値（好感情）は時間とともに低下する。これにより、ロボット１００は好意地点（座標Ｐ１）に到達して、「感情が満たされ」、やがて、その場所に「飽きてくる」という生物的行動をエミュレートできる。同様に、座標Ｐ２における悪感情も時間とともに緩和される。時間経過とともに新たな好意地点や嫌悪地点が生まれ、それによってロボット１００は新たな行動選択を行う。ロボット１００は、新しい好意地点に「興味」を持ち、絶え間なく行動選択する。
【００４２】
感情マップ１１６は、ロボット１００の内部状態として、感情の起伏を表現する。ロボット１００は、好意地点を目指し、嫌悪地点を避け、好意地点にしばらくとどまり、やがてまた次の行動を起こす。このような制御により、ロボット１００の行動選択を人間的・生物的なものにできる。
【００４３】
なお、ロボット１００の行動に影響を与えるマップ（以下、「行動マップ」と総称する）は、図４に示したようなタイプの感情マップ１１６に限らない。たとえば、好奇心、恐怖を避ける気持ち、安心を求める気持ち、静けさや薄暗さ、涼しさや暖かさといった肉体的安楽を求める気持ち、などさまざまな行動マップを定義可能である。そして、複数の行動マップそれぞれのｚ値を重み付け平均することにより、ロボット１００の目的地点を決定してもよい。
【００４４】
ロボット１００は、行動マップとは別に、さまざまな感情や感覚の大きさを示すパラメータを有する。たとえば、寂しさという感情パラメータの値が高まっているときには、安心する場所を評価する行動マップの重み付け係数を大きく設定し、目標地点に到達することでこの感情パラメータの値を低下させる。同様に、つまらないという感覚を示すパラメータの値が高まっているときには、好奇心を満たす場所を評価する行動マップの重み付け係数を大きく設定すればよい。
【００４５】
図５は、ロボット１００のハードウェア構成図である。
ロボット１００は、内部センサ１２８、通信機１２６、記憶装置１２４、プロセッサ１２２、駆動機構１２０およびバッテリー１１８を含む。駆動機構１２０は、上述した車輪駆動機構３７０を含む。プロセッサ１２２と記憶装置１２４は、制御回路３４２に含まれる。各ユニットは電源線１３０および信号線１３２により互いに接続される。バッテリー１１８は、電源線１３０を介して各ユニットに電力を供給する。各ユニットは信号線１３２により制御信号を送受する。バッテリー１１８は、リチウムイオン二次電池であり、ロボット１００の動力源である。
【００４６】
内部センサ１２８は、ロボット１００が内蔵する各種センサの集合体である。具体的には、カメラ（高解像度カメラと全天球カメラ）、マイクロフォンアレイ、赤外線センサ、サーモセンサ、タッチセンサ、加速度センサ、ニオイセンサなどである。ニオイセンサは、匂いの元となる分子の吸着によって電気抵抗が変化する原理を応用した既知のセンサである。ニオイセンサは、さまざまな匂いを複数種類のカテゴリに分類する。
【００４７】
通信機１２６は、サーバ２００や外部センサ１１４、ユーザの有する携帯機器など各種の外部機器を対象として無線通信を行う通信モジュールである。記憶装置１２４は、不揮発性メモリおよび揮発性メモリにより構成され、コンピュータプログラムや各種設定情報を記憶する。プロセッサ１２２は、コンピュータプログラムの実行手段である。駆動機構１２０は、内部機構を制御するアクチュエータである。このほかには、表示器やスピーカーなども搭載される。
【００４８】
プロセッサ１２２は、通信機１２６を介してサーバ２００や外部センサ１１４と通信しながら、ロボット１００の行動選択を行う。内部センサ１２８により得られるさまざまな外部情報も行動選択に影響する。駆動機構１２０は、主として、車輪（前輪１０２）と頭部（頭部フレーム３１６）を制御する。駆動機構１２０は、２つの前輪１０２それぞれの回転速度や回転方向を変化させることにより、ロボット１００の移動方向や移動速度を変化させる。また、駆動機構１２０は、車輪（前輪１０２および後輪１０３）を昇降させることもできる。車輪が上昇すると、車輪はボディ１０４に完全に収納され、ロボット１００は着座面１０８にて床面Ｆに当接し、着座状態となる。
【００４９】
図６は、ホスト・ロボット１００ａによるゲスト・ロボット１００ｂの認証過程を説明するための模式図である。
サーバ２００およびホスト・ロボット１００ａを含むロボットシステム３００は、新たなゲスト・ロボット１００ｂを受け入れることができる。サーバ２００はホームＸに設置され、ホスト・ロボット１００ａはホームＸのサーバ２００により行動支援を受けるロボット１００である。ここでいう「受け入れる」とは、外来者であるゲスト・ロボット１００ｂが、サーバ２００に接続し、サーバ２００が管理するリソース（ハードウェア、ソフトウェアおよびデータ）にアクセスすることでサーバ２００からの行動支援を受けることが可能となることをいう。サーバ２００は、ホスト・ロボット１００ａおよびゲスト・ロボット１００ｂの２つのロボット１００の行動を支援することになる。各ロボット１００は、ロボット返答信号に「ロボットＩＤ」を含めて送信する。ロボットＩＤは、ＭＡＣアドレス（Media Access Control address）や製造番号など、ロボット１００を一意に識別する情報であればよい。これにより、サーバ２００は２つのロボット１００それぞれを特定できる。
【００５０】
以下においては、ロボットシステム３００（サーバ２００およびホスト・ロボット１００ａ）の拠点となるホームＸに、ゲスト・ロボット１００ｂが連れて来られた状況を前提として説明する。ゲスト・ロボット１００ｂはホスト・ロボット１００ａに認証されれば、一時的にホームＸのロボットシステム３００に参加できる。
【００５１】
図６において、ホスト・ロボット１００ａはサーバ２００と接続されている。ホスト・ロボット１００ａとゲスト・ロボット１００ｂを充分に近づけると、ホスト・ロボット１００ａはゲスト・ロボット１００ｂを認証する（Ｓ１）。認証方法の詳細は後述する。ホスト・ロボット１００ａは、ゲスト・パスワードを生成し、ホスト・ロボット１００ａはゲスト・ロボット１００ｂにサーバ２００と接続するための設定情報を送信する。設定情報は、サーバ２００のＩＰアドレス（Internet Protocol address）、ポート番号およびゲスト・パスワードを含む。ホスト・ロボット１００ａは、ゲスト・ロボット１００ｂのロボットＩＤを取得する。
【００５２】
ホスト・ロボット１００ａは、サーバ２００にゲスト・ロボット１００ｂを認証した旨を通知する（Ｓ２）。このとき、ホスト・ロボット１００ａは、ゲスト・ロボット１００ｂのロボットＩＤとゲスト・パスワードをサーバ２００に送信する。サーバ２００は、ゲスト・ロボット１００ｂのロボットＩＤおよびゲスト・パスワードを登録する。
【００５３】
一方、ゲスト・ロボット１００ｂは、ホスト・ロボット１００ａから受け取った設定情報（ＩＰアドレスとポート番号）に基づいて、サーバ２００に接続する（Ｓ３）。ゲスト・ロボット１００ｂは、ロボットＩＤとゲスト・パスワードをサーバ２００に送信する。サーバ２００はロボットＩＤとゲスト・パスワードを照合した上で、ゲスト・ロボット１００ｂとの接続を許可する。
【００５４】
図７は、ホスト・ロボット１００ａによるゲスト・ロボット１００ｂの認証態様を示す模式図である。
ロボット１００の額には、ＮＦＣ（Near Field Communication）に対応するチップが埋め込まれている（近距離無線通信手段）。ＮＦＣは、近距離無線通信技術の国際標準規格であり、本実施形態においては１３．５６ＭＨｚにて１０センチメートル程度の近距離通信が可能である。ロボット１００は、定期的にロボットＩＤをＮＦＣチップにより発信する。ホスト・ロボット１００ａの額にゲスト・ロボット１００ｂの額を近づけると、ゲスト・ロボット１００ｂのロボットＩＤがホスト・ロボット１００ａにより検出される。本実施形態における「認証」は、ホスト・ロボット１００ａがゲスト・ロボット１００ｂのロボットＩＤを検出することにより完了する。ホスト・ロボット１００ａとゲスト・ロボット１００ｂの額を近づけるだけで簡単にゲスト・ロボット１００ｂをロボットシステム３００に受け入れることができる。
【００５５】
認証後、ゲスト・ロボット１００ｂからホスト・ロボット１００ａには、ゲスト・ロボット１００ｂの機体情報が送信される。機体情報は、ゲスト・ロボット１００ｂのバージョン番号や製造年月日、搭載しているソフトウェアおよびハードウェアなどの仕様情報である。
【００５６】
額を近づける以外にも、さまざまな認証のための条件が追加されてもよい。たとえば、ホスト・ロボット１００ａとゲスト・ロボット１００ｂがそれぞれのオーナーに抱っこされている状態で額が近づけられたことを条件として認証がなされてもよい。ロボット１００は、カメラによりオーナーを認識し、温度センサにより掴まれていることを検出し、加速度センサにより持ち上げられていることを認識できる。オーナーの抱っこを条件とすれば、ホスト・ロボット１００ａにゲスト・ロボット１００ｂがたまたま近づいて認証がなされてしまうのを防ぐことができる。ホスト・ロボット１００ａが抱っこされていることを条件として認証がなされるとしてもよいし、ゲスト・ロボット１００ｂが抱っこされていることを条件として認証がなされるとしてもよいし、ホスト・ロボット１００ａとゲスト・ロボット１００ｂの双方が抱っこされていることを条件として認証がなされるとしてもよい。「抱っこ」という行為は、オーナーによる認証許可の表れであり、「ゲスト・ロボット１００ｂをリソースにアクセスさせてもよい」というホスト・ロボット１００ａに対する指示としてとらえることができる。このように、オーナーの自然な行為によりゲスト・ロボット１００ｂを迎え入れることができる。
ロボット１００は、抱っこを検出したときには、安全のために前輪１０２（左輪１０２ａおよび右輪１０２ｂ）をボディ１０４に収納する。
【００５７】
図８は、ロボットシステム３００の機能ブロック図である。
上述のように、ロボットシステム３００は、ロボット１００、サーバ２００および複数の外部センサ１１４を含む。ロボット１００およびサーバ２００の各構成要素は、ＣＰＵ（Central Processing Unit）および各種コプロセッサなどの演算器、メモリやストレージといった記憶装置、それらを連結する有線または無線の通信線を含むハードウェアと、記憶装置に格納され、演算器に処理命令を供給するソフトウェアによって実現される。コンピュータプログラムは、デバイスドライバ、オペレーティングシステム、それらの上位層に位置する各種アプリケーションプログラム、また、これらのプログラムに共通機能を提供するライブラリによって構成されてもよい。以下に説明する各ブロックは、ハードウェア単位の構成ではなく、機能単位のブロックを示している。
ロボット１００の機能の一部はサーバ２００により実現されてもよいし、サーバ２００の機能の一部または全部はロボット１００により実現されてもよい。
【００５８】
（サーバ２００）
サーバ２００は、通信部２０４、データ処理部２０２、制約設定部２２４およびデータ格納部２０６を含む。
制約設定部２２４は、ゲスト・ロボット１００ｂに対する行動制約（後述）を設定する。通信部２０４は、外部センサ１１４およびロボット１００との通信処理を担当する。データ格納部２０６は各種データを格納する。データ処理部２０２は、通信部２０４により取得されたデータおよびデータ格納部２０６に格納されるデータに基づいて各種処理を実行する。データ処理部２０２は、通信部２０４、制約設定部２２４およびデータ格納部２０６のインタフェースとしても機能する。
【００５９】
通信部２０４は、行動特性送信部２４０および接続部２２６を含む。行動特性送信部２４０は、ゲスト・ロボット１００ｂに「行動特性情報」を送信する。行動特性情報は、ロボット１００の行動選択の指針となる情報である（詳細後述）。接続部２２６は、ロボット１００からの接続要求を受信し、ロボット１００との通信回線を確立する。本実施形態においては、サーバ２００の通信部２０４は、ロボット１００の通信部１４２と第１通信回線３０２（第１の無線通信回線：第１の遠距離無線通信手段）および第２通信回線３０４（第２の無線通信回線：第２の遠距離無線通信手段）の２種類の通信回線により接続する。第１通信回線３０２は、９２０ＭＨｚのＩＳＭ周波数（Industrial, Scientific and Medical Band）通信回線である。第２通信回線３０４は、２．４ＧＨｚの通信回線である。第１通信回線３０２は、第２通信回線３０４よりも周波数が低いため電波が回り込みやすく安定した通信が期待されるが、通信速度は遅い。第１通信回線３０２および第２通信回線３０４のいずれも（遠距離無線通信手段）、ＮＦＣ（近距離無線通信手段）よりも通信可能距離が長い。
【００６０】
データ格納部２０６は、モーション格納部２３２、マップ格納部２１６および個人データ格納部２１８を含む。
ロボット１００は、複数の動作パターン（モーション）を有する。手１０６を震わせる、蛇行しながらオーナーに近づく、首をかしげたままオーナーを見つめる、などさまざまなモーションが定義されている。
【００６１】
モーション格納部２３２は、モーションの制御内容を定義する「モーションファイル」を格納する。各モーションは、モーションＩＤにより識別される。モーションファイルは、ロボット１００のモーション格納部１６０にもダウンロードされる。どのモーションを実行するかは、サーバ２００で決定されることもあるし、ロボット１００で決定されることもある。
【００６２】
ロボット１００のモーションの多くは、複数の単位モーションを含む複合モーションとして構成される。たとえば、ロボット１００がオーナーに近づくとき、オーナーの方に向き直る単位モーション、手を上げながら近づく単位モーション、体を揺すりながら近づく単位モーション、両手を上げながら着座する単位モーションの組み合わせとして表現されてもよい。このような４つのモーションの組み合わせにより、「オーナーに近づいて、途中で手を上げて、最後は体をゆすった上で着座する」というモーションが実現される。モーションファイルには、ロボット１００に設けられたアクチュエータの回転角度や角速度などが時間軸に関連づけて定義される。モーションファイル（アクチュエータ制御情報）にしたがって、時間経過とともに各アクチュエータを制御することで様々なモーションが表現される。
【００６３】
先の単位モーションから次の単位モーションに変化するときの移行時間を「インターバル」とよぶ。インターバルは、単位モーション変更に要する時間やモーションの内容に応じて定義されればよい。インターバルの長さは調整可能である。
以下、いつ、どのモーションを選ぶか、モーションを実現する上での各アクチュエータの出力調整など、ロボット１００の行動制御に関わる設定のことを「行動特性」と総称する。ロボット１００の行動特性は、モーション選択アルゴリズム、モーションの選択確率、モーションファイル等により定義される。
【００６４】
モーション格納部２３２は、モーションファイルのほか、各種のイベントが発生したときに実行すべきモーションを定義するモーション選択テーブルを格納する。モーション選択テーブルにおいては、イベントに対して１以上のモーションとその選択確率が対応づけられる。
【００６５】
マップ格納部２１６は、複数の行動マップのほか、椅子やテーブルなどの障害物の配置状況を示すマップも格納する。個人データ格納部２１８は、ユーザ、特に、オーナーの情報を格納する。具体的には、ユーザに対する親密度やユーザの身体的特徴・行動的特徴など各種のパラメータを格納する。年齢や性別などの他の属性情報を格納してもよい。
【００６６】
ロボットシステム３００（ロボット１００およびサーバ２００）はユーザの身体的特徴や行動的特徴に基づいてユーザを識別する。ロボット１００は、内蔵のカメラで常時周辺を撮像する。そして、画像に写る人物の身体的特徴と行動的特徴を抽出する。身体的特徴とは、背の高さ、好んで着る服、メガネの有無、肌の色、髪の色、耳の大きさなど身体に付随する視覚的特徴であってもよいし、平均体温や匂い、声質、などその他の特徴も含めてもよい。行動的特徴とは、具体的には、ユーザが好む場所、動きの活発さ、喫煙の有無など行動に付随する特徴である。たとえば、父親として識別されるオーナーは在宅しないことが多く、在宅時にはソファで動かないことが多いが、母親は台所にいることが多く、行動範囲が広い、といった行動上の特徴を抽出する。
ロボットシステム３００は、大量の画像情報やその他のセンシング情報から得られる身体的特徴および行動的特徴に基づいて、高い頻度で出現するユーザを「オーナー」としてクラスタリングする。
【００６７】
ユーザＩＤでユーザを識別する方式は簡易かつ確実であるが、ユーザがユーザＩＤを提供可能な機器を保有していることが前提となる。一方、身体的特徴や行動的特徴によりユーザを識別する方法は画像認識処理負担が大きいものの携帯機器を保有していないユーザでも識別できるメリットがある。２つの方法は一方だけを採用してもよいし、補完的に２つの方法を併用してユーザ特定を行ってもよい。
本実施形態においては、身体的特徴と行動的特徴からユーザをクラスタリングし、ディープラーニング（多層型のニューラルネットワーク）によってユーザを識別する。詳細は後述する。
【００６８】
ロボット１００は、ユーザごとに親密度という内部パラメータを有する。ロボット１００が、自分を抱き上げる、声をかけてくれるなど、自分に対して好意を示す行動を認識したとき、そのユーザに対する親密度が高くなる。ロボット１００に関わらないユーザや、乱暴を働くユーザ、出会う頻度が低いユーザに対する親密度は低くなる。
【００６９】
データ処理部２０２は、位置管理部２０８、マップ管理部２１０、認識部２１２、動作制御部２２２、親密度管理部２２０、感情管理部２４４およびセキュリティ管理部２４２を含む。
位置管理部２０８は、ロボット１００の位置座標を、図３を用いて説明した方法にて特定する。位置管理部２０８はユーザの位置座標もリアルタイムで追跡してもよい。
【００７０】
感情管理部２４４は、ロボット１００の感情（寂しさ、楽しさ、恐怖など）を示すさまざまな感情パラメータを管理する。これらの感情パラメータは常に揺らいでいる。感情パラメータに応じて複数の行動マップの重要度が変化し、行動マップによってロボット１００の移動目標地点が変化し、ロボット１００の移動や時間経過によって感情パラメータが変化する。
【００７１】
たとえば、寂しさを示す感情パラメータが高いときには、感情管理部２４４は安心する場所を評価する行動マップの重み付け係数を大きく設定する。ロボット１００が、この行動マップにおいて寂しさを解消可能な地点に至ると、感情管理部２４４は寂しさを示す感情パラメータを低下させる。また、後述の応対行為によっても各種感情パラメータは変化する。たとえば、オーナーから「抱っこ」をされると寂しさを示す感情パラメータは低下し、長時間にわたってオーナーを視認しないときには寂しさを示す感情パラメータは少しずつ増加する。
【００７２】
マップ管理部２１０は、複数の行動マップについて図４に関連して説明した方法にて各座標のパラメータを変化させる。マップ管理部２１０は、複数の行動マップのいずれかを選択してもよいし、複数の行動マップのｚ値を加重平均してもよい。たとえば、行動マップＡでは座標Ｒ１、座標Ｒ２におけるｚ値が４と３であり、行動マップＢでは座標Ｒ１、座標Ｒ２におけるｚ値が−１と３であるとする。単純平均の場合、座標Ｒ１の合計ｚ値は４−１＝３、座標Ｒ２の合計ｚ値は３＋３＝６であるから、ロボット１００は座標Ｒ１ではなく座標Ｒ２の方向に向かう。
行動マップＡを行動マップＢの５倍重視するときには、座標Ｒ１の合計ｚ値は４×５−１＝１９、座標Ｒ２の合計ｚ値は３×５＋３＝１８であるから、ロボット１００は座標Ｒ１の方向に向かう。
【００７３】
認識部２１２は、外部環境を認識する。外部環境の認識には、温度や湿度に基づく天候や季節の認識、光量や温度に基づく物陰（安全地帯）の認識など多様な認識が含まれる。ロボット１００の認識部１５６は、内部センサ１２８により各種の環境情報を取得し、これを一次処理した上でサーバ２００の認識部２１２に転送する。具体的には、ロボット１００の認識部１５６は、画像から移動物体、特に、人物や動物に対応する画像を抽出し、これらの抽出画像をサーバ２００に送る。サーバ２００の認識部２１２は、抽出画像に映っている人物の特徴を抽出する。
【００７４】
認識部２１２は、更に、人物認識部２１４と応対認識部２２８を含む。人物認識部２１４は、ロボット１００の内蔵カメラによる撮像画像から人物を認識し、その人物の身体的特徴や行動的特徴を抽出する。そして、個人データ格納部２１８に登録されている身体特徴情報や行動特徴情報に基づいて、撮像されたユーザ、すなわち、ロボット１００が見ているユーザが、父親、母親、長男などのどの人物に該当するかを判定する。人物認識部２１４は、表情認識部２３０を含む。表情認識部２３０は、ユーザの表情を画像認識することにより、ユーザの感情を推定する。
なお、人物認識部２１４は、人物以外の移動物体、たとえば、ペットである猫や犬についても特徴抽出を行う。
【００７５】
応対認識部２２８は、ロボット１００になされたさまざまな応対行為を認識し、快・不快行為に分類する。応対認識部２２８は、また、ロボット１００の行動に対するオーナーの応対行為を認識することにより、肯定・否定反応に分類する。
快・不快行為は、ユーザの応対行為が、生物として心地よいものであるか不快なものであるかにより判別される。たとえば、抱っこされることはロボット１００にとって快行為であり、蹴られることはロボット１００にとって不快行為である。肯定・否定反応は、ユーザの応対行為が、ユーザの快感情を示すものか不快感情を示すものであるかにより判別される。たとえば、抱っこされることはユーザの快感情を示す肯定反応であり、蹴られることはユーザの不快感情を示す否定反応である。
【００７６】
サーバ２００の動作制御部２２２は、ロボット１００の動作制御部１５０と協働して、ロボット１００のモーションを決定する。サーバ２００の動作制御部２２２は、マップ管理部２１０による行動マップ選択に基づいて、ロボット１００の移動目標地点とそのための移動ルートを作成する。動作制御部２２２は、複数の移動ルートを作成し、その上で、いずれかの移動ルートを選択してもよい。
【００７７】
動作制御部２２２は、モーション格納部２３２の複数のモーションからロボット１００のモーションを選択する。各モーションには状況ごとに選択確率が対応づけられている。たとえば、オーナーから快行為がなされたときには、モーションＡを２０％の確率で実行する、気温が３０度以上となったとき、モーションＢを５％の確率で実行する、といった選択方法が定義される。
行動マップに移動目標地点や移動ルートが決定され、後述の各種イベントによりモーションが選択される。
【００７８】
親密度管理部２２０は、ユーザごとの親密度を管理する。上述したように、親密度は個人データ格納部２１８において個人データの一部として登録される。快行為を検出したとき、親密度管理部２２０はそのオーナーに対する親密度をアップさせる。不快行為を検出したときには親密度はダウンする。また、長期間視認していないオーナーの親密度は徐々に低下する。
【００７９】
ゲスト・ロボット１００ｂは、ホスト・ロボット１００ａを管理するサーバ２００と接続することにより、さまざまな情報を手に入れることができる。セキュリティ管理部２４２は、ゲスト・ロボット１００ｂがサーバ２００と接続した後に取得したデータの無効化をゲスト・ロボット１００ｂに指示する。
【００８０】
（ロボット１００）
ロボット１００は、ホスト・ロボット１００ａとしてもゲスト・ロボット１００ｂとしても機能する。
ロボット１００は、通信部１４２、データ処理部１３６、データ格納部１４８、内部センサ１２８および駆動機構１２０を含む。
通信部１４２は、通信機１２６（図５参照）に該当し、外部センサ１１４、サーバ２００および他のロボット１００との通信処理を担当する。データ格納部１４８は各種データを格納する。データ格納部１４８は、記憶装置１２４（図５参照）に該当する。データ処理部１３６は、通信部１４２により取得されたデータおよびデータ格納部１４８に格納されているデータに基づいて各種処理を実行する。データ処理部１３６は、プロセッサ１２２およびプロセッサ１２２により実行されるコンピュータプログラムに該当する。データ処理部１３６は、通信部１４２、内部センサ１２８、駆動機構１２０およびデータ格納部１４８のインタフェースとしても機能する。
【００８１】
通信部１４２は、指示送信部１３４、指示受信部１３８および行動特性取得部１４０を含む。
指示送信部１３４は、ロボット１００がホスト・ロボット１００ａであるとき、ゲスト・ロボット１００ｂに対して行動指示を送信する（後述）。指示受信部１３８は、ロボット１００がゲスト・ロボット１００ｂであるとき、ホスト・ロボット１００ａから行動指示を受信する。行動特性取得部１４０は、サーバ２００の行動特性送信部２４０から行動特性情報を受信する。
【００８２】
データ格納部１４８は、ロボット１００の各種モーションを定義するモーション格納部１６０を含む。
ロボット１００のモーション格納部１６０には、サーバ２００のモーション格納部２３２から各種モーションファイルがダウンロードされる。モーションは、モーションＩＤによって識別される。前輪１０２を収容して着座する、手１０６を持ち上げる、２つの前輪１０２を逆回転させることで、あるいは、片方の前輪１０２だけを回転させることでロボット１００を回転行動させる、前輪１０２を収納した状態で前輪１０２を回転させることで震える、ユーザから離れるときにいったん停止して振り返る、などのさまざまなモーションを表現するために、各種アクチュエータ（駆動機構１２０）の動作タイミング、動作時間、動作方向などがモーションファイルにおいて時系列定義される。
【００８３】
データ処理部１３６は、認識部１５６、動作制御部１５０、アクセス管理部１７２、無効処理部１５２および認証部１５４を含む。
ロボット１００の動作制御部１５０は、サーバ２００の動作制御部２２２と協働してロボット１００のモーションを決める。一部のモーションについてはサーバ２００で決定し、他のモーションについてはロボット１００で決定してもよい。また、ロボット１００がモーションを決定するが、ロボット１００の処理負荷が高いときにはサーバ２００がモーションを決定するとしてもよい。サーバ２００においてベースとなるモーションを決定し、ロボット１００において追加のモーションを決定してもよい。モーションの決定処理をサーバ２００およびロボット１００においてどのように分担するかはロボットシステム３００の仕様に応じて設計すればよい。
【００８４】
ロボット１００の動作制御部１５０は、サーバ２００の動作制御部２２２とともにロボット１００の移動方向を決める。行動マップに基づく移動をサーバ２００で決定し、障害物をよけるなどの即時的移動をロボット１００の動作制御部１５０により決定してもよい。駆動機構１２０は、動作制御部１５０の指示にしたがって前輪１０２を駆動することで、ロボット１００を移動目標地点に向かわせる。
【００８５】
ロボット１００の動作制御部１５０は選択したモーションを駆動機構１２０に実行指示する。駆動機構１２０は、モーションファイルにしたがって、各アクチュエータを制御する。
【００８６】
動作制御部１５０は、親密度の高いユーザが近くにいるときには「抱っこ」をせがむ仕草として両方の手１０６をもちあげるモーションを実行することもできるし、「抱っこ」に飽きたときには左右の前輪１０２を収容したまま逆回転と停止を交互に繰り返すことで抱っこをいやがるモーションを表現することもできる。駆動機構１２０は、動作制御部１５０の指示にしたがって前輪１０２や手１０６、首（頭部フレーム３１６）を駆動することで、ロボット１００にさまざまなモーションを表現させる。
【００８７】
認証部１５４は、図６，７に関連して説明した認証処理を実行する。認証部１５４は、ＮＦＣチップからロボットＩＤを定期的に発信させる。ロボット１００がホスト・ロボット１００ａであるときには、他のロボット１００（ゲスト・ロボット１００ｂ）からロボットＩＤを受信したときにゲスト・ロボット１００ｂを認証する。認証部１５４は、認識部１５６が当該ロボット１００の抱っこを検出していることを条件としてロボットＩＤを発信するとしてもよい。この場合には、ゲスト・ロボット１００ｂは、抱っこをしてもらっているときでなければ、ホスト・ロボット１００ａに認証してもらうことはできない。また、認証部１５４は、認識部１５６が当該ロボット１００の抱っこを検出していることを条件としてロボットＩＤを受信するとしてもよい。この場合には、ホスト・ロボット１００ａは、抱っこをしてもらっているときでなければ、ゲスト・ロボット１００ｂを認証しない。
【００８８】
アクセス管理部１７２は、ロボット１００がホスト・ロボット１００ａであるときには、認証後にゲスト・ロボット１００ｂに対してサーバ２００へのアクセス権を設定する。ロボット１００がゲスト・ロボット１００ｂであるときには、認証後にホスト・ロボット１００ａからサーバ２００へのアクセス権を取得する。「アクセス権」とは、サーバ２００が管理するリソースを利用する権利である。ゲスト・ロボット１００ｂは、ホスト・ロボット１００ａから提供される設定情報によりサーバ２００にアクセス可能となる。なお、ゲスト・ロボット１００ｂのアクセス権には、後述の行動制約が設定される。
【００８９】
無効処理部１５２は、ロボット１００がゲスト・ロボット１００ｂであるとき、サーバ２００と接続したあとに取得したデータを無効化する（後述）。
【００９０】
ロボット１００の認識部１５６は、内部センサ１２８から得られた外部情報を解釈する。認識部１５６は、視覚的な認識（視覚部）、匂いの認識（嗅覚部）、音の認識（聴覚部）、触覚的な認識（触覚部）が可能である。
認識部１５６は、内蔵カメラ（内部センサ１２８）により定期的に外界を撮像し、人やペットなどの移動物体を検出する。移動物体の画像はサーバ２００に送信され、サーバ２００の人物認識部２１４は移動物体の身体的特徴を抽出する。また、ユーザの匂いやユーザの声も検出する。匂いや音（声）は既知の方法にて複数種類に分類される。
【００９１】
ロボット１００に対する強い衝撃が与えられたとき、認識部１５６は内蔵の加速度センサによりこれを認識し、サーバ２００の応対認識部２２８は、近隣にいるユーザによって「乱暴行為」が働かれたと認識する。ユーザがツノ１１２を掴んでロボット１００を持ち上げるときにも、乱暴行為と認識してもよい。ロボット１００に正対した状態にあるユーザが特定音量領域および特定周波数帯域にて発声したとき、サーバ２００の応対認識部２２８は、自らに対する「声掛け行為」がなされたと認識してもよい。また、体温程度の温度を検知したときにはユーザによる「接触行為」がなされたと認識し、接触認識した状態で上方への加速度を検知したときには「抱っこ」がなされたと認識する。ユーザがボディ１０４を持ち上げるときの物理的接触をセンシングしてもよいし、前輪１０２にかかる荷重が低下することにより抱っこを認識してもよい。
【００９２】
サーバ２００の応対認識部２２８は、ロボット１００に対するユーザの各種応対を認識する。各種応対行為のうち一部の典型的な応対行為には、快または不快、肯定または否定が対応づけられる。一般的には快行為となる応対行為のほとんどは肯定反応であり、不快行為となる応対行為のほとんどは否定反応となる。快・不快行為は親密度に関連し、肯定・否定反応はロボット１００の行動選択に影響する。
【００９３】
検出・分析・判定を含む一連の認識処理のうち、ロボット１００の認識部１５６は認識に必要な情報の取捨選択や分類を行い、分析・判定等の解釈処理はサーバ２００の認識部２１２により実行される。認識処理は、サーバ２００の認識部２１２だけで行ってもよいし、ロボット１００の認識部１５６だけで行ってもよいし、上述のように双方が役割分担をしながら上記認識処理を実行してもよい。
【００９４】
認識部１５６により認識された応対行為に応じて、サーバ２００の親密度管理部２２０はユーザに対する親密度を変化させる。原則的には、快行為を行ったユーザに対する親密度は高まり、不快行為を行ったユーザに対する親密度は低下する。
【００９５】
サーバ２００の認識部２１２は、応対に応じて快・不快を判定し、マップ管理部２１０は「場所に対する愛着」を表現する行動マップにおいて、快・不快行為がなされた地点のｚ値を変化させてもよい。たとえば、リビングにおいて快行為がなされたとき、マップ管理部２１０はリビングに好意地点を高い確率で設定してもよい。この場合、ロボット１００はリビングを好み、リビングで快行為を受けることで、ますますリビングを好む、というポジティブ・フィードバック効果が実現する。
【００９６】
サーバ２００の人物認識部２１４は、外部センサ１１４または内部センサ１２８から得られた各種データから移動物体を検出し、その特徴（身体的特徴と行動的特徴）を抽出する。そして、これらの特徴に基づいて複数の移動物体をクラスタ分析する。移動物体としては、人間だけでなく、犬や猫などのペットが分析対象となることがある。
【００９７】
ロボット１００は、定期的に画像撮影を行い、人物認識部２１４はそれらの画像から移動物体を認識し、移動物体の特徴を抽出する。移動物体を検出したときには、ニオイセンサや内蔵の集音マイク、温度センサ等からも身体的特徴や行動的特徴が抽出される。たとえば、画像に移動物体が写っているとき、ひげが生えている、早朝活動している、赤い服を着ている、香水の匂いがする、声が大きい、メガネをかけている、スカートを履いている、白髪である、背が高い、太っている、日焼けしている、ソファにいる、といったさまざまな特徴が抽出される。
【００９８】
ひげが生えている移動物体（ユーザ）は早朝に活動すること（早起き）が多く、赤い服を着ることが少ないのであれば、早起きでひげが生えていて赤い服をあまり着ないクラスタ（ユーザ）、という第１のプロファイルができる。一方、メガネをかけている移動物体はスカートを履いていることが多いが、この移動物体にはひげが生えていない場合、メガネをかけていてスカートを履いているが絶対ひげは生えていないクラスタ（ユーザ）、という第２のプロファイルができる。
以上は、簡単な設例であるが、上述の方法により、父親に対応する第１のプロファイルと母親に対応する第２のプロファイルが形成され、この家には少なくとも２人のユーザ（オーナー）がいることをロボット１００は認識する。
【００９９】
ただし、ロボット１００は第１のプロファイルが「父親」であると認識する必要はない。あくまでも、「ひげが生えていて早起きすることが多く、赤い服を着ることはめったにないクラスタ」という人物像を認識できればよい。
【０１００】
このようなクラスタ分析が完了している状態において、ロボット１００が新たに移動物体（ユーザ）を認識したとする。
このとき、サーバ２００の人物認識部２１４は、ロボット１００から得られる画像等のセンシング情報から特徴抽出を行い、ディーブラーニング（多層型ニューラルネットワーク）により、ロボット１００の近くにいる移動物体がどのプロファイル（クラスタ）に該当するかを判断する。たとえば、ひげが生えている移動物体を検出したとき、この移動物体は父親である確率が高い。この移動物体が早朝行動していれば、父親に該当することはいっそう確実である。一方、メガネをかけている移動物体を検出したときには、この移動物体は母親である可能性もある。この移動物体にひげが生えていれば、母親ではなく父親でもないので、クラスタ分析されていない新しい人物であると判定する。
【０１０１】
特徴抽出によるクラスタ（プロファイル）の形成（クラスタ分析）と、特徴抽出にともなうクラスタへの当てはめ（ディープラーニング）は同時並行的に実行されてもよい。
移動物体（ユーザ）からどのような行為をされるかによってそのユーザに対する親密度が変化する。
【０１０２】
ロボット１００は、よく出会う人、よく触ってくる人、よく声をかけてくれる人に対して高い親密度を設定する。一方、めったに見ない人、あまり触ってこない人、乱暴な人、大声で叱る人に対する親密度は低くなる。ロボット１００はセンサ（視覚、触覚、聴覚）によって検出するさまざまな外界情報にもとづいて、ユーザごとの親密度を変化させる。
【０１０３】
実際のロボット１００は行動マップにしたがって自律的に複雑な行動選択を行う。ロボット１００は、寂しさ、退屈さ、好奇心などさまざまなパラメータに基づいて複数の行動マップに影響されながら行動する。ロボット１００は、行動マップの影響を除外すれば、あるいは、行動マップの影響が小さい内部状態にあるときには、原則的には、親密度の高い人に近づこうとし、親密度の低い人からは離れようとする。
【０１０４】
ロボット１００の行動は親密度に応じて以下に類型化される。
（１）親密度が非常に高いクラスタ
ロボット１００は、ユーザに近づき（以下、「近接行動」とよぶ）、かつ、人に好意を示す仕草としてあらかじめ定義される愛情仕草を行うことで親愛の情を強く表現する。
（２）親密度が比較的高いクラスタ
ロボット１００は、近接行動のみを行う。
（３）親密度が比較的低いクラスタ
ロボット１００は特段のアクションを行わない。
（４）親密度が特に低いクラスタ
ロボット１００は、離脱行動を行う。
【０１０５】
以上の制御方法によれば、ロボット１００は、親密度が高いユーザを見つけるとそのユーザに近寄り、逆に親密度が低いユーザを見つけるとそのユーザから離れる。このような制御方法により、いわゆる「人見知り」を行動表現できる。また、来客（親密度が低いユーザＡ）が現れたとき、ロボット１００は、来客から離れて家族（親密度が高いユーザＢ）の方に向かうこともある。この場合、ユーザＢはロボット１００が人見知りをして不安を感じていること、自分を頼っていること、を感じ取ることができる。このような行動表現により、ユーザＢは、選ばれ、頼られることの喜び、それにともなう愛着の情を喚起される。
【０１０６】
一方、来客であるユーザＡが頻繁に訪れ、声を掛け、タッチをするとロボット１００のユーザＡに対する親密度は徐々に上昇し、ロボット１００はユーザＡに対して人見知り行動（離脱行動）をしなくなる。ユーザＡも自分にロボット１００が馴染んできてくれたことを感じ取ることで、ロボット１００に対する愛着を抱くことができる。
【０１０７】
なお、以上の行動選択は、常に実行されるとは限らない。たとえば、ロボット１００の好奇心を示す内部パラメータが高くなっているときには、好奇心を満たす場所を求める行動マップが重視されるため、ロボット１００は親密度に影響された行動を選択しない可能性もある。また、玄関に設置されている外部センサ１１４がユーザの帰宅を検知した場合には、ユーザのお出迎え行動を最優先で実行するかもしれない。
【０１０８】
図９は、制約設定画面１８０の画面図である。
サーバ２００は、制約設定画面１８０をモニタ（不図示）に表示させる。ホスト・ロボット１００ａのオーナーＡは、ゲスト・ロボット１００ｂに行動制約を課すことができる。オーナーＡは、サーバ２００が表示する制約設定画面１８０において「行動制約情報」を設定する。行動制約情報は、ゲスト・ロボット１００ｂがホームＸのサーバ２００に接続しているときに実行可能な行動を定義する情報である。
【０１０９】
制約設定部２２４は、制約設定画面１８０を介して行動制約情報を取得・保存する。ゲスト・ロボット１００ｂがサーバ２００に接続されるとき、行動特性情報の一部として行動制約情報がゲスト・ロボット１００ｂに送信される。ゲスト・ロボット１００ｂの動作制御部１５０は、行動制約情報にしたがって行動選択する。
【０１１０】
たとえば、ゲスト・ロボット１００ｂが内蔵のカメラでホームＸの屋内を撮影するのを禁止してもよい。撮影禁止設定がなされるときには、ゲスト・ロボット１００ｂがサーバ２００との接続を遮断したとき、ゲスト・ロボット１００ｂの無効処理部１５２はサーバ２００と接続後に取得した撮影画像を破棄する。行動制約を課すことにより、ホームＸについてプライバシーを守ることができるため、ホームＸのオーナーＡは安心してゲスト・ロボット１００ｂを迎えることができる。
【０１１１】
このほか、動画撮影は禁止するが、静止画の撮影は許可するとしてもよいし、マイクロフォンによる録音を禁止してもよい。ゲスト・ロボット１００ｂの移動速度を通常よりも低速に設定してもよいし、ゲスト・ロボット１００ｂの行動範囲を制限してもよい。たとえば、ゲスト・ロボット１００ｂの行動範囲をリビング・ルームとダイニング・ルームに限定することもプライバシーの保護に寄与する。
【０１１２】
本実施形態においては、ゲスト・ロボット１００ｂはリビング・ルームのみを移動可能であり、かつ、サーバ２００とゲスト・ロボット１００ｂの接続時間は３０分に制限されるものとして説明する。制約設定画面１８０において設定される行動制約情報は、いわば、ゲスト・ロボット１００ｂがホームＸにおいて守るべき「誓約書」として機能する。
【０１１３】
図１０は、ホスト・ロボット１００ａがゲスト・ロボット１００ｂのロボットＩＤを検出したときに実行される認証処理過程を示すフローチャートである。
ホスト・ロボット１００ａとゲスト・ロボット１００ｂが近接し、ホスト・ロボット１００ａの認証部１５４がゲスト・ロボット１００ｂのロボットＩＤを検出したときゲスト・ロボット１００ｂを認証し、続いて図１０に示す認証処理が実行される。
【０１１４】
ホスト・ロボット１００ａの認証部１５４は、ロボットＩＤを含む機体情報を検出し、ゲスト・ロボット１００ｂのセキュリティ・チェックを実行する（Ｓ１０）。本実施形態におけるセキュリティ・チェックでは、ゲスト・ロボット１００ｂが、所定のセキュリティ・ソフトウェアの最新版を搭載し、かつ、６時間以内にコンピュータ・ウィルスの検索を実行しているか否かを判定する。セキュリティ・チェックを実行することにより、コンピュータ・ウィルスに感染しているゲスト・ロボット１００ｂがサーバ２００に接続するのを防止できる。
【０１１５】
セキュリティ・チェックをパスすると認証が完了し（Ｓ１２のＹ）、ホスト・ロボット１００ａのアクセス管理部１７２はゲスト・パスワードを生成する（Ｓ１４）。ホスト・ロボット１００ａのアクセス管理部１７２は、ゲスト・パスワードとゲスト・ロボット１００ｂのロボットＩＤをサーバ２００に通知する（Ｓ１４）。サーバ２００は、ゲスト・パスワードとロボットＩＤを登録する。ゲスト・パスワードおよび登録期間には制限時間が設定される。
【０１１６】
ホスト・ロボット１００ａのアクセス管理部１７２はゲスト・ロボット１００ｂにサーバ２００の設定情報を送信する（Ｓ１８）。設定情報には、サーバ２００のＩＰアドレスとポート番号、ゲスト・パスワードが含まれる。セキュリティ・チェックをパスしなかったときには（Ｓ１２のＮ）、Ｓ１４以降の処理はスキップされる。このときには、ゲスト・ロボット１００ｂはサーバ２００に接続できない。
ホスト・ロボット１００ａは、抱っこされているときでなければ、ロボットＩＤを検出しない、あるいは、ゲスト・パスワード等をゲスト・ロボット１００ｂに発信しないとしてもよい。この場合には、認識部１５６が抱っこを検出していなければ、認証処理は実行されない。
【０１１７】
図１１は、ゲスト・ロボット１００ｂがホスト・ロボット１００ａのロボットＩＤを検出したときに実行される認証処理過程を示すフローチャートである。
ホスト・ロボット１００ａとゲスト・ロボット１００ｂが近接し、ゲスト・ロボット１００ｂの認証部１５４がホスト・ロボット１００ａのロボットＩＤを検出したとき、ゲスト・ロボット１００ｂは図１１に示す認証処理を実行する。図１０に示すホスト・ロボット１００ａの認証処理と図１１に示すゲスト・ロボット１００ｂの認証処理は同時実行される。
【０１１８】
ゲスト・ロボット１００ｂの認証部１５４は、ホスト・ロボット１００ａのロボットＩＤを受信したときに機体情報を１００ａに送信する（Ｓ２０）。ホスト・ロボット１００ａは、機体情報に基づいてセキュリティ・チェック（図１０参照）を実行する。セキュリティ・チェックにパスすると（Ｓ２２のＹ）、ホスト・ロボット１００ａから設定情報が送信され、通信部１４２は設定情報を受信する（Ｓ２４）。アクセス管理部１７２は、設定情報に基づいてサーバ２００に接続要求を送信する（Ｓ２６）。このとき、ロボットＩＤとゲスト・パスワードが送信される。
【０１１９】
サーバ２００の接続部２２６は、ロボットＩＤとゲスト・パスワードが一致したときにゲスト・ロボット１００ｂの接続を許可し、ゲスト・ロボット１００ｂはサーバ２００と接続する。上述したように、ゲスト・ロボット１００ｂは、第１通信回線３０２および第２通信回線３０４の２つの通信回線にてサーバ２００と接続する。接続後、行動特性取得部１４０はサーバ２００から行動特性情報を受信する（Ｓ２８）。
ゲスト・ロボット１００ｂは、抱っこされているときでなければ、ロボットＩＤを検出しない、あるいは、ロボットＩＤを発信しないとしてもよい。この場合には、認識部１５６が抱っこを検出していなければ、認証処理は実行されない。
【０１２０】
サーバ２００のマップ管理部２１０は、ゲスト・ロボット１００ｂと接続後、ゲスト・ロボット１００ｂのための行動マップを生成する。また、サーバ２００の動作制御部２２２は、ゲスト・ロボット１００ｂのためのモーションファイル、モーション選択テーブルを準備する。行動マップは、ホスト・ロボット１００ａの行動マップをコピーすることにより作成されてもよいし、新規に作成されてもよい。モーションファイルやモーション選択テーブルについても同様である。
【０１２１】
サーバ２００からゲスト・ロボット１００ｂに対して提供される行動特性情報には（１）モーションファイルおよびモーション選択テーブル（２）行動制約情報（３）知識情報が含まれる。モーションファイルとモーション選択テーブルは、ホスト・ロボット１００ａと同様、ゲスト・ロボット１００ｂのモーション格納部１６０に格納される。行動制約情報は、図９に関連して説明した情報である。知識情報は、ホームＸに関する情報である。本実施形態における知識情報は、ホームＸのオーナーのプロファイル（身体的特徴および行動的特徴）、各オーナーに対するホスト・ロボット１００ａの親密度およびホームＸの間取り図である。知識情報は、ホスト・ロボット１００ａにあらかじめ設定される先天的知識であってもよいし、ホスト・ロボット１００ａがホームＸにおける活動の結果としてセンシングにより集めた後天的知識であってもよい。
【０１２２】
ゲスト・ロボット１００ｂは、知識情報を取得することにより、ホームＸの１以上のオーナーのプロファイル（身体的・行動的特徴）を知ることができるため、初対面のときからホームＸのオーナーを認識できる。ゲスト・ロボット１００ｂに与える知識情報の全部または一部は、ゲスト・ロボット１００ｂに保存するのではなく、サーバ２００がゲスト・ロボット１００ｂのために管理してもよい。間取り図を取得することにより、ゲスト・ロボット１００ｂはホームＸにおける行動可能範囲を速やかに把握できる。
【０１２３】
親密度情報を提供すれば、ホスト・ロボット１００ａが好印象を持っているオーナーに対して、ゲスト・ロボット１００ｂに好印象をもたせることができる。たとえば、ホスト・ロボット１００ａのオーナーＡに対する親密度が９０のときには、親密度管理部２２０はゲスト・ロボット１００ｂの初対面のオーナーＡに対する親密度をその８割の７２に設定してもよい。ホスト・ロボット１００ａのオーナーＡに対する好感度がゲスト・ロボット１００ｂにも伝承されることになるため、ゲスト・ロボット１００ｂはオーナーＡに積極的に関わるという行動特性を示すことができる。ホスト・ロボット１００ａに好かれるオーナーＡは、初対面のゲスト・ロボット１００ｂにも好かれるので「ロボット１００に好かれやすい」という自意識をもつことができる。
【０１２４】
ホスト・ロボット１００ａのセキュリティ・チェックにパスしなかったときには（Ｓ２２のＮ）、Ｓ２４以降の処理はスキップされ、ゲスト・ロボット１００ｂはサーバ２００の行動支援を受けることはできない。この場合には、ゲスト・ロボット１００ｂは自らが保有する行動特性情報にしたがってスタンドアロンにて行動してもよい。
【０１２５】
図１２は、通信回線のバックアップ処理過程を示すフローチャートである。
サーバ２００およびロボット１００は、第１通信回線３０２および第２通信回線３０４の２つの通信回線により接続される。サーバ２００の通信部２０４は、第１通信回線３０２が切断されていなければ（Ｓ３０のＮ）、サーバ２００とロボット１００は第１通信回線３０２を介してデータを送受する（Ｓ３４）。第１通信回線３０２が切断されている場合でも（Ｓ３０のＹ）、第２通信回線３０４が維持されていれば（Ｓ３２のＮ）、サーバ２００とロボット１００は第２通信回線３０４を介してデータを送受する（Ｓ３６）。第２通信回線３０４も切断されているときには（Ｓ３２のＹ）、接続部２２６はエラーを報知する（Ｓ３８）。
【０１２６】
第１通信回線３０２および第２通信回線３０４の双方が切断されたときには、第１通信回線３０２および第２通信回線３０４による再接続処理を実行してもよいし、所定時間経過してから再接続処理を実行してもよい。また、第１通信回線３０２および第２通信回線３０４とは異なる別の周波数帯にて通信接続してもよいし、サーバ２００とロボット１００を有線接続するようにオーナーに指示してもよい。
第１通信回線３０２が切断される場合のほか、通信スループットの低下など、第１通信回線３０２が不調となったときに第１通信回線３０２から第２通信回線３０４への切換えを行ってもよい。
【０１２７】
図１３は、ホスト・ロボット１００ａからゲスト・ロボット１００ｂに行動指示するときの処理過程を示すシーケンス図である。
ホスト・ロボット１００ａは、随時、モーションを選択する（Ｓ４０）。特定のモーション（以下、「起動モーション」とよぶ）が選択されたとき（Ｓ４１のＮ）、ホスト・ロボット１００ａの指示送信部１３４は「行動指示」をゲスト・ロボット１００ｂに送信する（Ｓ４２）。行動指示には、起動モーションにあらかじめ対応づけられるモーション（以下、「連動モーション」とよぶ）のモーションＩＤが通知される。起動モーションが選択されなかったときには（Ｓ４１のＮ）、行動指示は送信されない。その後、ホスト・ロボット１００ａは、選択した起動モーションを実行する（Ｓ４６）。
【０１２８】
一方、ゲスト・ロボット１００ｂの指示受信部１３８が行動指示を受信すると、ゲスト・ロボット１００ｂの動作制御部１５０は指定された連動モーションを選択し（Ｓ４４）、連動モーションの実行を指示する（Ｓ４８）。以上の制御により、ホスト・ロボット１００ａが起動モーションを選択すると、ゲスト・ロボット１００ｂは起動モーションに関連付けられる連動モーションを実行するため、ホスト・ロボット１００ａとゲスト・ロボット１００ｂの協調行動が実現される。
【０１２９】
たとえば、ホスト・ロボット１００ａが右回転する起動モーションを実行するとき、ホスト・ロボット１００ａはゲスト・ロボット１００ｂに左回転する連動モーションを実行してもよい。ホスト・ロボット１００ａが回転を始めると、ゲスト・ロボット１００ｂも回転を始めるので、あたかもホスト・ロボット１００ａとゲスト・ロボット１００ｂの間に暗黙のコミュニケーションが成立したかのような行動表現が可能となる。
【０１３０】
ホスト・ロボット１００ａが移動するときに、ゲスト・ロボット１００ｂがホスト・ロボット１００ａを追いかける行動を実行してもよいし、ホスト・ロボット１００ａが手１０６を挙げると、ゲスト・ロボット１００ｂも手１０６を挙げてもよい。
【０１３１】
ホスト・ロボット１００ａが複数種類のモーションのうち、起動モーションを選択したときには必ず行動指示を送信するとしてもよいし、起動モーションを選択したときに所定の確率にて行動指示を送信するとしてもよい。モーション選択テーブルにおいて、起動モーションに対して複数の連動モーションを対応づけておき、ホスト・ロボット１００ａが起動モーションを選択したときにはその起動モーションに対応づけられる複数の連動モーションのうちのいずれかをランダムに選択してもよい。
【０１３２】
行動指示は、ホスト・ロボット１００ａからゲスト・ロボット１００ｂにアドホック通信によりなされてもよいし、ホスト・ロボット１００ａからサーバ２００を経由してゲスト・ロボット１００ｂに行動指示が送信されてもよい。
【０１３３】
図１４は、ゲスト・ロボット１００ｂの接続終了処理過程を示すフローチャートである。
本実施形態においては、ゲスト・ロボット１００ｂとサーバ２００の接続時間は３０分に制限される。制限時間の３０分が経過すると、無効化条件が成立し、ゲスト・ロボット１００ｂの通信部１４２はサーバ２００との接続を終了させる（Ｓ５０）。無効処理部１５２は、サーバ２００との接続後に取得したデータであって、ゲスト・ロボット１００ｂのデータ格納部１４８（不揮発性メモリ）に保存されているデータを無効化する（Ｓ５２）。本実施形態における無効化とは、記憶装置からデータを完全消去することを意味する。知識情報、ホームＸの撮像画像データや録音データ等の保存（持ち出し）が行動制約情報によって禁止されている場合は、これらの情報も無効化される。
【０１３４】
無効化後、動作制御部１５０はお別れの挨拶として手１０６を振るバイバイモーションを実行する（Ｓ５４）。接続終了後に実行するモーションとしては、お辞儀をする、ホスト・ロボット１００ａやホスト・ロボット１００ａのオーナーに体をくっつける、玄関に向かうなど、さまざまなモーションが考えられる。
【０１３５】
以上、実施形態に基づいてロボット１００およびロボット１００を含むロボットシステム３００について説明した。
本実施形態によれば、ホスト・ロボット１００ａおよびゲスト・ロボット１００ｂを近づけるだけで、ゲスト・ロボット１００ｂを簡単にホームＸのロボットシステム３００に受け入れることができる。ロボットシステム３００において、ユーザが関わるのはロボット１００であり、ユーザはサーバ２００の存在を意識することはなく、また、サーバ２００はユーザに認識させたくないものである。サーバ２００とゲスト・ロボット１００ｂではなく、ホスト・ロボット１００ａとゲスト・ロボット１００ｂで認証処理を実行できるため、認証処理に際してもユーザにサーバ２００を意識させにくいというメリットがある。また、ホスト・ロボット１００ａとゲスト・ロボット１００ｂの近接行為により、ホスト・ロボット１００ａとゲスト・ロボット１００ｂの間で暗黙のコミュニケーションが成立したかのような演出が可能となる。
【０１３６】
ロボット１００は、自らが所属するサーバ２００に対してはホスト・ロボット１００ａとして振る舞い、サーバ２００との通信が切断されたとき、たとえば、サーバ２００から所定距離以上離れたときには無所属となる。そして、他のロボット１００によって認証されたときにはそのロボット１００の所属するサーバ２００に対してゲスト・ロボット１００ｂとして振る舞う。
【０１３７】
ゲスト・ロボット１００ｂをホスト・ロボット１００ａが認証しなければ、すなわち、ゲスト・ロボット１００ｂをホスト・ロボット１００ａに近づけなければゲスト・ロボット１００ｂはサーバ２００が管理するリソースにアクセスできない。サーバ２００のリソースへのアクセス権設定に対して、このような「近づける」という物理的な認証を条件とすることにより、サーバ２００からの情報漏洩を抑制できる。
【０１３８】
ゲスト・ロボット１００ｂは、サーバ２００との接続後、サーバ２００から行動特性情報を取得する。ホームＸの見取り図やゲスト・ロボット１００ｂにとっては初対面のホームＸの住人のプロファイルを取得できるため、ゲスト・ロボット１００ｂはホームＸにおいて早期に適切な行動をしやすくなる。
【０１３９】
ホームＸにおいては、ゲスト・ロボット１００ｂに対する行動制約を設定できる。また、ゲスト・ロボット１００ｂがサーバ２００との接続後に取得したデータを無効できる。安全およびセキュリティに関する条件をゲスト・ロボット１００ｂに課すことができるため、安心してゲスト・ロボット１００ｂを受け入れやすくなる。
【０１４０】
ホスト・ロボット１００ａからゲスト・ロボット１００ｂに行動指示をすることにより、ホスト・ロボット１００ａとゲスト・ロボット１００ｂの協調行動が可能となる。複数のロボット１００ならではの行動表現が可能となるため、保有するロボット１００を他の家庭に持ち込むことや、他の家庭からロボット１００を受け入れることによる特有の楽しさを提供できる。
【０１４１】
本実施形態におけるロボットシステム３００においては、サーバ２００およびロボット１００は第１通信回線３０２および第２通信回線３０４の２つの通信回線にて二重接続される。第１通信回線３０２および第２通信回線３０４の一方が不調となったときでも他方を使って通信を継続できるため、サーバ２００とロボット１００の通信を堅牢化できる。
【０１４２】
なお、本発明は上記実施形態や変形例に限定されるものではなく、要旨を逸脱しない範囲で構成要素を変形して具体化することができる。上記実施形態や変形例に開示されている複数の構成要素を適宜組み合わせることにより種々の発明を形成してもよい。また、上記実施形態や変形例に示される全構成要素からいくつかの構成要素を削除してもよい。
【０１４３】
１つのロボット１００と１つのサーバ２００、複数の外部センサ１１４によりロボットシステム３００が構成されるとして説明したが、ロボット１００の機能の一部はサーバ２００により実現されてもよいし、サーバ２００の機能の一部または全部がロボット１００に割り当てられてもよい。１つのサーバ２００が複数のロボット１００をコントロールしてもよいし、複数のサーバ２００が協働して１以上のロボット１００をコントロールしてもよい。
【０１４４】
ロボット１００やサーバ２００以外の第３の装置が、機能の一部を担ってもよい。図８において説明したロボット１００の各機能とサーバ２００の各機能の集合体は大局的には１つの「ロボット」として把握することも可能である。１つまたは複数のハードウェアに対して、本発明を実現するために必要な複数の機能をどのように配分するかは、各ハードウェアの処理能力やロボットシステム３００に求められる仕様等に鑑みて決定されればよい。
【０１４５】
上述したように、「狭義におけるロボット」とはサーバ２００を含まないロボット１００のことであるが、「広義におけるロボット」はロボットシステム３００のことである。サーバ２００の機能の多くは、将来的にはロボット１００に統合されていく可能性も考えられる。
【０１４６】
認証後にゲスト・ロボット１００ｂがアクセス可能なリソースとしては、行動マップ、間取り図、プロファイル、親密度情報のほかにもさまざまなものが考えられる。たとえば、ホームＸの温度分布情報を与えれば、ゲスト・ロボット１００ｂは自ら温度計測をしなくてもすぐに涼しい場所や暖かい場所を把握できる。壁に囲まれた安全で視認されにくい場所など、さまざまな情報が提供されてもよい。
【０１４７】
ホスト・ロボット１００ａは、セキュリティ・チェック（図１１のＳ２０）に際しては、ゲスト・ロボット１００ｂがスパイウェア（Spyware）などの不正なアプリケーション・ソフトウェアを搭載していないかをチェックしてもよい。不正なアプリケーション・ソフトウェアは、あらかじめサーバ２００に不正リストとして登録されていてもよい。ホスト・ロボット１００ａは２００にアクセスして不正リストを参照し、ゲスト・ロボット１００ｂが不正なアプリケーションを搭載していないかを確認する。
【０１４８】
セキュリティ・チェックに際しては、ゲスト・ロボット１００ｂのファームウェア(Firmware)のバージョンをチェックしてもよいし、ゲスト・ロボット１００ｂの製造番号をメーカーに問い合わせることでゲスト・ロボット１００ｂが純正品か否かを確認してもよい。ゲスト・ロボット１００ｂが、ホームＸにおいて使用禁止とされるアプリケーション・ソフトウェアを搭載しているときには、ホスト・ロボット１００ａはゲスト・ロボット１００ｂがサーバ２００と接続するのを拒否してもよいし、そのようなアプリケーションの使用を停止させることを条件としてサーバ２００への接続を許可してもよい。たとえば、ホームＸにおいて外部への画像送信を行うソフトウェアを禁止している場合において、ゲスト・ロボット１００ｂが画像送信ソフトウェアを搭載しているときには、サーバ２００のセキュリティ管理部２４２はゲスト・ロボット１００ｂに対して画像送信ソフトウェアのプロセスの実行停止を指示してもよい。
【０１４９】
本実施形態においては、サーバ２００へのアクセス権は、ホスト・ロボット１００ａからゲスト・ロボット１００ｂに設定情報として提供される。変形例として、ゲスト・ロボット１００ｂをサーバ２００に近づけたとき、サーバ２００がゲスト・ロボット１００ｂを認証してもよい。認証後、サーバ２００はゲスト・ロボット１００ｂに設定情報を提供し、ゲスト・ロボット１００ｂは設定情報に基づいてサーバ２００と接続してもよい。
【０１５０】
ホスト・ロボット１００ａがゲスト・ロボット１００ｂのセキュリティ・チェックを実行するのではなく、サーバ２００がゲスト・ロボット１００ｂのセキュリティ・チェックを実行してもよい。また、ホスト・ロボット１００ａまたはサーバ２００がゲスト・ロボット１００ｂに対してセキュリティに関する質問を投げかけ、ゲスト・ロボット１００ｂがそれについての回答をホスト・ロボット１００ａまたはサーバ２００に返すことでセキュリティ・チェックを実行してもよい。ホスト・ロボット１００ａがゲスト・ロボット１００ｂに対して製造番号を問い合わせ、ゲスト・ロボット１００ｂが自らの製造番号をサーバ２００に返信し、サーバ２００はこの製造番号が正規品のものであるかをロボット１００のメーカーに問い合わせることでゲスト・ロボット１００ｂの認証を実行してもよい。
【０１５１】
サーバ２００からゲスト・ロボット１００ｂに提供される行動制約情報には、カメラの解像度制限、撮影禁止場所の指定、行動可能範囲の指定、データの持ち出しや外部送信の禁止、データの不揮発性メモリへの保存の禁止などさまざまな設定が可能である。ゲスト・ロボット１００ｂがサーバ２００と接続しているときには、ゲスト・ロボット１００ｂがホスト・ロボット１００ａおよびサーバ２００以外の装置と通信回線を確立することを禁止してもよい。
【０１５２】
ロボット１００は、通常モードと抑制モードの２つの動作モードを備えてもよい。抑制モードでは、移動速度制限や通信制限、カメラやマイクロフォンの使用制限などのさまざまな行動制限が設定される。ゲスト・ロボット１００ｂがサーバ２００と接続するときには、ゲスト・ロボット１００ｂは抑制モードに設定変更してもよい。ゲスト・ロボット１００ｂがサーバ２００と接続した時に自動的に抑制モードに変更してもよいし、ホスト・ロボット１００ａまたはサーバ２００（セキュリティ管理部２４２）がゲスト・ロボット１００ｂに対して抑制モードに変更するように指示してもよい。
【０１５３】
サーバ２００に対して、複数のホスト・ロボット１００ａが接続されてもよい。ロボットシステム３００の説明書に２次元コードを記載し、１台目のホスト・ロボット１００ａ（以下、「第１ホスト・ロボット１００ａ１」と記載する）がカメラにて２次元コードを撮像すると、第１ホスト・ロボット１００ａ１はサーバ２００と接続される。サーバ２００は、第１ホスト・ロボット１００ａ１のロボットＩＤを「ホスト」として登録する。２台目のホスト・ロボット１００ａ（以下、「第２ホスト・ロボット１００ａ２」と記載する）がカメラにて２次元コードを撮像すると、第２ホスト・ロボット１００ａ２もサーバ２００と接続される。このときにも、サーバ２００は、第２ホスト・ロボット１００ａ２のロボットＩＤを「ホスト」として登録する。
【０１５４】
ユーザは、第１ホスト・ロボット１００ａ１を購入したあと、更に、第２ホスト・ロボット１００ａ２を購入してもよい。この場合、第１ホスト・ロボット１００ａ１が「兄または姉」にあたり第２ホスト・ロボット１００ａ２は「弟または妹」にあたる。ゲスト・ロボット１００ｂは「友だち」にあたる。このような関係性は、複数のロボット１００に対して人間関係や血縁関係のイメージを投影させる上でも有効である。第２ホスト・ロボット１００ａ２が登録されたとき、第１ホスト・ロボット１００ａ１の知識情報が第２ホスト・ロボット１００ａ２に伝授されてもよい。また、第２ホスト・ロボット１００ａ２が家庭に慣れるまで行動制約を設定してもよい。
【０１５５】
サーバ２００に所定の登録入力がなされたとき、サーバ２００が２次元コードをモニタ表示させてもよい。サーバ２００に所定の登録入力がなされてから所定時間以内に、第１ホスト・ロボット１００ａ１をサーバ２００に近づけると、サーバ２００は第１ホスト・ロボット１００ａ１をホストとして登録するとしてもよい。２次元コードなどの秘密情報にアクセスしたロボット１００は「ホスト」として登録され、ホスト・ロボット１００ａに認証されたロボット１００は「ゲスト」として登録されてもよい。
【０１５６】
本実施形態においては、サーバ２００とロボット１００は、周波数帯の異なる２種類の通信回線により接続される。一方の通信回線が不調のときには、他方の通信回線によりデータ送受が行われる。変形例として、同じデータを２つの通信回線で常時同時に送受してもよい。第１通信回線３０２の不調がロボット１００およびサーバ２００のいずれかに検出されたときには、ロボット１００はサーバ２００に対して第１通信回線３０２による再接続を実行する。サーバ２００からロボット１００に対して再接続を実行してもよい。
【０１５７】
ホスト・ロボット１００ａからゲスト・ロボット１００ｂへの行動指示は、ゲスト・ロボット１００ｂに対する連動モーションの選択指示であってもよいし、２以上のロボット１００による「遊び」を表現してもよい。たとえば、ホスト・ロボット１００ａが部屋を逃げまわり、ゲスト・ロボット１００ｂがホスト・ロボット１００ａを追いかける「鬼ごっこ」を指示してもよい。ゲスト・ロボット１００ｂとホスト・ロボット１００ａは内蔵のタッチセンサにより互いの接触を検出する。ゲスト・ロボット１００ｂがホスト・ロボット１００ａにタッチしたときには、ゲスト・ロボット１００ｂが逃げてホスト・ロボット１００ａが「鬼」となってゲスト・ロボット１００ｂを追いかける。
同様に、ホスト・ロボット１００ａがソファの後ろやテーブルの下など、壁や天井に囲まれた場所に隠れ、それをゲスト・ロボット１００ｂが見つける「かくれんぼ」を実行してもよい。
【０１５８】
ホスト・ロボット１００ａがゲスト・ロボット１００ｂに行動指示するだけでなく、ゲスト・ロボット１００ｂがホスト・ロボット１００ａに行動指示してもよい。たとえば、ホスト・ロボット１００ａよりもゲスト・ロボット１００ｂの製造年月日が古いときには、ゲスト・ロボット１００ｂからホスト・ロボット１００ａに行動指示がなされるとしてもよい。具体的には、サーバ２００のデータ格納部２０６は、ロボット情報格納部（図示せず）を有する。ロボット情報格納部は、ロボットＩＤ、製造年月日、ホストとゲストの別、故障歴、製造地点（出身地）など接続中のロボット１００に関する各種のロボット情報を格納する。ロボット１００の通信部１４２は、サーバ２００と接続するときに自らが保有するロボット情報を送信する。サーバ２００のロボット情報登録部（図示せず）は、新たに接続したロボット１００のロボット情報をロボット情報格納部に記録する。サーバ２００の通信部２０４は、接続中の１以上のロボット１００に対して各ロボット１００のロボット情報を送信する。このような制御により、同一のサーバ２００に接続する複数のロボット１００は互いにロボット情報を共有する。ロボット１００の認識部１５６は、他のロボット１００のロボット情報（製造年月日）と自らのロボット情報（製造年月日）を比較する。相手のロボット１００よりも製造年月日が古いとき、動作制御部１５０はその「若いロボット１００」に対して、指示送信部１３４を介して行動指示を送信する。一方、製造年月日の古い「年上のロボット１００」に対しては、行動指示を送信しない。このような関係性は、複数のロボット１００に対して上下関係のイメージを投影させる上でも有効である。
【０１５９】
ゲスト・ロボット１００ｂは、ホスト・ロボット１００ａから行動指示を受信しても、所定の確率にてこれを拒否してもよい。ロボット１００は、他のロボット１００に対する親密度を管理してもよい。具体的には、サーバ２００の親密度管理部２２０は、ロボット１００とロボット１００の間の親密度をまとめて管理する。上記の場合、サーバ２００は、ホスト・ロボット１００ａのゲスト・ロボット１００ｂに対する親密度およびゲスト・ロボット１００ｂのホスト・ロボット１００ａに対する親密度を個別に管理する。たとえば、よく出会うロボット１００や、たくさんの行動指示を出し合ったロボット１００に対しては高い親密度が設定されてもよい。親密度が高いほど、行動指示が拒否される確率が低下するとしてもよいし、高頻度で行動指示を送信しやすくなるとしてもよい。ゲスト・ロボット１００ｂから見て所定値以上の親密度を設定されるホスト・ロボット１００ａ（ゲスト・ロボット１００ｂに好かれているロボット１００）に対しては、ゲスト・ロボット１００ｂからホスト・ロボット１００ａに行動指示を送信するとしてもよい。ロボット１００の通信部１４２は、行動指示が受信されたとき、行動指示をしたロボット１００に対する親密度をサーバ２００に問い合わせ、動作制御部１５０はそのロボット１００に対する親密度に応じて行動指示の諾否を判定する。
【０１６０】
ホスト・ロボット１００ａとゲスト・ロボット１００ｂは、実行タイミングを合わせて起動モーションと連動モーションをそれぞれ実行してもよい。図１３の行動指示（Ｓ４２）に際して、連動モーションの実行タイミングを「３秒後」のように指定してもよい。そして、同じタイミングでホスト・ロボット１００ａが起動モーションを実行することにより「息の合った協調行動」を表現できる。
【０１６１】
図１４のデータ無効化（Ｓ５２）に際しては、不揮発性メモリからデータを完全消去してもよいし、書き込み可能な状態（非保存状態）としてもよい。消去対象となるデータは、サーバ２００との接続後に取得されたデータの全部または一部である。サーバ２００との接続後に取得されるデータは揮発性メモリのみに記録可能としてもよい。
【０１６２】
データ無効化は、ゲスト・ロボット１００ｂがサーバ２００と接続されてから所定の制限時間が経過した時に実行されてもよいし、ゲスト・ロボット１００ｂがサーバ２００から所定距離以上離れたときに実行されてもよい。たとえば、ゲスト・ロボット１００ｂがサーバ２００の管理するいずれの外部センサ１１４からも検出されなくなったときに、サーバ２００のセキュリティ管理部２４２はゲスト・ロボット１００ｂに対してデータ無効化を指示してもよい。
【０１６３】
データ無効化は、所定の無効化条件が成立した時にゲスト・ロボット１００ｂが自ら実行してもよいし、サーバ２００のセキュリティ管理部２４２がゲスト・ロボット１００ｂに対してデータ無効化を指示してもよい。たとえば、ゲスト・ロボット１００ｂがホームＸにおいてモノにぶつかったとき、ホスト・ロボット１００ａから所定距離以上離れたとき、ゲスト・ロボット１００ｂから異常信号を検出したとき、セキュリティ管理部２４２はデータ無効化を指示してもよい。
【０１６４】
ゲスト・ロボット１００ｂは、サーバ２００との接続終了時に保有するデータをサーバ２００に提示してもよい。ホームＸのオーナーはサーバ２００において表示されるデータ、たとえば、撮像画像や録音データ、プロファイルなどを確認し、無効化すべきデータを選択してもよい。セキュリティ管理部２４２は、オーナーに選択されたデータの無効化をゲスト・ロボット１００ｂに指示する。
【０１６５】
上述したように、サーバ２００はホスト・ロボット１００ａに認証権を与え、ホスト・ロボット１００ａはサーバ２００の代理としてゲスト・ロボット１００ｂを認証する。ゲスト・ロボット１００ｂは、ホスト・ロボット１００ａに認証されることで、サーバ２００へのアクセス権を取得する。このような認証方式はロボットシステム３００以外にも応用可能である。たとえば、コンテンツ・サーバとモバイル端末Ａ（第１の装置）が接続されている状態で、モバイル端末Ａが別のモバイル端末Ｂ（第２の装置）を認証すると、モバイル端末Ｂがコンテンツ・サーバにアクセス可能となってもよい。
モバイル端末Ｂのユーザは、コンテンツ・サーバ本体にアクセスしなくても、モバイル端末Ａから認証されるだけでコンテンツ・サーバに接続できる。このときにも、モバイル端末Ｂがアクセス可能なリソースやアクセス時間については制限を設定してもよい。
【０１６６】
ゲスト・ロボット１００ｂは、ゲスト・ロボット１００ｂのオーナーＢのプロファイルを保存しておき、これをホームＸに持ち込んでもよい。そして、ゲスト・ロボット１００ｂはオーナーＢのプロファイルをホスト・ロボット１００ａに伝えてもよい。この場合には、ホスト・ロボット１００ａは初対面であってもオーナーＢを認識しやすくなる。ゲスト・ロボット１００ｂがサーバ２００との接続を遮断したとき、サーバ２００のセキュリティ管理部２４２はオーナーＢのプロファイルを自主的に無効化してもよい。
【０１６７】
ロボットシステム３００は、工場出荷時から認証機能や行動指示機能等を備える必要はない。ロボットシステム３００の出荷後に、通信ネットワークを介してこれらの機能を実現する行動制御プログラムをダウンロードすることにより、ロボットシステム３００の機能強化が実現されてもよい。
【図１】
2020014845.tif 000003
【図２】
2020014845.tif 000004
【図３】
2020014845.tif 000005
【図４】
2020014845.tif 000006
【図５】
2020014845.tif 000007
【図６】
2020014845.tif 000008
【図７】
2020014845.tif 000009
【図８】
2020014845.tif 000010
【図９】
2020014845.tif 000011
【図１０】
2020014845.tif 000012
【図１１】
2020014845.tif 000013
【図１２】
2020014845.tif 000014
【図１３】
2020014845.tif 000015
【図１４】
2020014845.tif 000016