特許第6574970号(P6574970)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ GROOVE X株式会社の特許一覧

<>
  • 特許6574970-ゲストを受け入れるロボット 図000002
  • 特許6574970-ゲストを受け入れるロボット 図000003
  • 特許6574970-ゲストを受け入れるロボット 図000004
  • 特許6574970-ゲストを受け入れるロボット 図000005
  • 特許6574970-ゲストを受け入れるロボット 図000006
  • 特許6574970-ゲストを受け入れるロボット 図000007
  • 特許6574970-ゲストを受け入れるロボット 図000008
  • 特許6574970-ゲストを受け入れるロボット 図000009
  • 特許6574970-ゲストを受け入れるロボット 図000010
  • 特許6574970-ゲストを受け入れるロボット 図000011
  • 特許6574970-ゲストを受け入れるロボット 図000012
  • 特許6574970-ゲストを受け入れるロボット 図000013
  • 特許6574970-ゲストを受け入れるロボット 図000014
  • 特許6574970-ゲストを受け入れるロボット 図000015
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6574970
(24)【登録日】2019年8月30日
(45)【発行日】2019年9月18日
(54)【発明の名称】ゲストを受け入れるロボット
(51)【国際特許分類】
   A63H 11/00 20060101AFI20190909BHJP
   A63H 30/04 20060101ALI20190909BHJP
   A63H 13/02 20060101ALI20190909BHJP
   B25J 13/00 20060101ALI20190909BHJP
【FI】
   A63H11/00 Z
   A63H30/04
   A63H13/02 H
   B25J13/00 Z
【請求項の数】22
【全頁数】33
(21)【出願番号】特願2018-538464(P2018-538464)
(86)(22)【出願日】2017年9月7日
(86)【国際出願番号】JP2017032245
(87)【国際公開番号】WO2018047900
(87)【国際公開日】20180315
【審査請求日】2018年7月31日
(31)【優先権主張番号】特願2016-176205(P2016-176205)
(32)【優先日】2016年9月9日
(33)【優先権主張国】JP
【早期審査対象出願】
(73)【特許権者】
【識別番号】515337268
【氏名又は名称】GROOVE X株式会社
(74)【代理人】
【識別番号】110002273
【氏名又は名称】特許業務法人インターブレイン
(72)【発明者】
【氏名】林 要
【審査官】 上田 泰
(56)【参考文献】
【文献】 特開2003−205483(JP,A)
【文献】 特開2004−309523(JP,A)
【文献】 特開2013−013946(JP,A)
【文献】 特開2007−136665(JP,A)
【文献】 米国特許出願公開第2015/0336276(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
A63H 1/00−37/00
B25J 1/00−21/02
(57)【特許請求の範囲】
【請求項1】
センサと、
前記センサの出力に基づいて自己のロボットの抱え上げ状態を検出する抱え上げ検出部と、
ホスト・ロボットの特定箇所と自己のロボットの特定箇所との近接を検出する近接検出部と、
前記近接検出部により前記近接が検出されたこと及び前記抱え上げ検出部により前記抱え上げ状態が検出されたことを条件として、前記ホスト・ロボットがアクセス可能なリソースへのアクセス権を取得するアクセス管理部と、を備えることを特徴とするロボット。
【請求項2】
前記センサとして、
自己に対する接触の有無を検出する第1センサと、
上方への自己のロボットの移動を検出する第2センサと、を備え、
前記抱え上げ検出部は、前記第1センサの出力に基づいて前記接触を検出し、前記第2センサの出力に基づいて前記移動を検出したことを条件として、前記抱え上げ状態を検出することを特徴とする請求項1に記載のロボット。
【請求項3】
前記センサの出力に基づいてオーナーを検出するオーナー検出部、を更に備え、
前記アクセス管理部は、更に前記オーナー検出部により前記オーナーが検出されたことを条件として、前記アクセス権を取得することを特徴とする請求項1に記載のロボット。
【請求項4】
記近接を検出するための近接場型の第1の無線通信手段が、自己のロボットの前記特定箇所に設けられていることを特徴とする請求項1に記載のロボット。
【請求項5】
自己のロボットの前記特定箇所に設けられ、前記近接を検出するための第1の無線通信手段と、
前記第1の無線通信手段よりも通信可能距離が長い第2の無線通信手段、を更に備えることを特徴とする請求項1に記載のロボット。
【請求項6】
モーションを選択する動作選択部と、
前記動作選択部により選択されたモーションを実行する駆動機構と、を更に備えることを特徴とする請求項1に記載のロボット。
【請求項7】
静止画の撮影禁止、動画の撮影禁止、撮影した画像の破棄、録音の禁止及び移動範囲の限定のうちの少なくとも1つを含む自身の行動の制約を受信する行動特性取得部、を更に備え、
前記動作選択部は、前記行動の制約にしたがってモーションを選択することを特徴とする請求項に記載のロボット。
【請求項8】
所定の無効化条件が成立したとき、前記アクセス権の取得後に取得されたデータを無効化する無効処理部、を更に備えることを特徴とする請求項1に記載のロボット。
【請求項9】
センサと、
前記センサの出力に基づいて自己のロボットの抱え上げ状態を検出する抱え上げ検出部と、
ゲスト・ロボットの特定箇所と自己のロボットの特定箇所との近接を検出する近接検出部と、
前記近接検出部により前記近接が検出されたこと及び前記抱え上げ検出部により前記抱え上げ状態が検出されたことを条件として前記ゲスト・ロボットを認証する認証部と、
認証後、前記ゲスト・ロボットに対して所定のリソースへのアクセス権を設定するアクセス管理部と、を備えることを特徴とするロボット。
【請求項10】
前記センサとして、
自己に対する接触の有無を検出する第1センサと、
上方への自己のロボットの移動を検出する第2センサと、を備え、
前記抱え上げ検出部は、前記第1センサの出力に基づいて前記接触を検出し、前記第2センサの出力に基づいて前記移動を検出したことを条件として、前記抱え上げ状態を検出することを特徴とする請求項9に記載のロボット。
【請求項11】
前記近接検出部は、自己のロボットの前記特定箇所に設けられた近接場型の第1の無線通信手段によって、前記近接を検出することを特徴とする請求項に記載のロボット。
【請求項12】
自己のロボットの前記特定箇所に設けられ、前記近接を検出するための第1の無線通信手段と、
前記第1の無線通信手段よりも通信可能距離が長い第2の無線通信手段、を更に備えることを特徴とする請求項に記載のロボット。
【請求項13】
前記センサの出力に基づいてオーナーを検出するオーナー検出部、を更に備え、
前記認証部は、更に前記オーナー検出部により前記オーナーが検出されたことを条件として、前記ゲスト・ロボットを認証することを特徴とする請求項に記載のロボット。
【請求項14】
サーバから行動特性情報を受信する行動特性受信部と、
前記行動特性情報にしたがってモーションを選択する動作選択部と、
前記動作選択部により選択されたモーションを実行する駆動機構と、を更に備えることを特徴とする請求項9に記載のロボット。
【請求項15】
ホスト・ロボットに行動特性情報を送信する行動特性送信部と、
前記ホスト・ロボットにおいてゲスト・ロボットの特定箇所と前記ホスト・ロボットの特定箇所との近接を検出する近接検出部により前記近接が検出されたこと及び前記ホスト・ロボットが有するセンサの出力に基づいて自己の抱え上げ状態を検出する抱え上げ検出部により前記抱え上げ状態が検出されたことを条件として前記ゲスト・ロボットを認証した前記ホスト・ロボットから、前記ゲスト・ロボットを判別するための情報を受け、当該情報に基づいて前記ゲスト・ロボットの接続要求を許可する接続部と、を備え、
前記行動特性送信部は、前記ゲスト・ロボットに対して、前記ゲスト・ロボットの一部の機能を制限する行動特性情報を送信することを特徴とするサーバ。
【請求項16】
前記抱え上げ状態の検出は、前記ホスト・ロボットに対する接触の有無を検出する第1センサの出力に基づいて前記接触を検出し、上方への前記ホスト・ロボットの移動を検出する第2センサの出力に基づいて前記移動を検出したことを条件とすることを特徴とする請求項15に記載のサーバ。
【請求項17】
記一部の機能の制限は、静止画の撮影禁止、動画の撮影禁止、撮影した画像の破棄、録音の禁止及び移動範囲の限定のうちの少なくとも1つであることを特徴とする請求項1に記載のサーバ。
【請求項18】
ユーザ操作によらず、前記ゲスト・ロボットに対して、自動的にデータの無効化を指示するセキュリティ管理部、を更に備えることを特徴とする請求項1に記載のサーバ。
【請求項19】
ホスト・ロボットに行動選択方法を定義する行動特性情報を送信する機能と、
前記ホスト・ロボットにおいてゲスト・ロボットの特定箇所と前記ホスト・ロボットの特定箇所との近接を検出する近接検出部により前記近接が検出されたこと及び前記ホスト・ロボットが有するセンサの出力に基づいて自己の抱え上げ状態を検出する抱え上げ検出部により前記抱え上げ状態が検出されたことを条件として前記ゲスト・ロボットを認証した前記ホスト・ロボットから、前記ゲスト・ロボットを判別するための情報を受け、当該情報に基づいて前記ゲスト・ロボットの接続要求を許可する機能と、
前記ゲスト・ロボットに対して、前記ゲスト・ロボットの一部の機能を制限する行動特性情報を送信する機能と、をコンピュータに発揮させることを特徴とする行動制御プログラム。
【請求項20】
前記抱え上げ状態の検出は、前記ホスト・ロボットに対する接触の有無を検出する第1センサの出力に基づいて前記接触を検出し、上方への前記ホスト・ロボットの移動を検出する第2センサの出力に基づいて前記移動を検出したことを条件とすることを特徴とする請求項19に記載の行動制御プログラム。
【請求項21】
第1距離を通信可能距離とする近距離無線通信手段と、前記第1距離よりも長い第2距離を通信可能距離とする遠距離無線通信手段の双方により通信可能であって、
センサと、
前記センサの出力に基づいて自己のロボットの抱え上げ状態を検出する抱え上げ検出部と、
前記抱え上げ検出部により前記抱え上げ状態が検出されたことを条件として、前記近距離無線通信手段を介してゲスト・ロボットを認証する認証部と、
認証後、前記ゲスト・ロボットに対して前記遠距離無線通信手段を介して所定のリソースの利用を許可するアクセス権を設定するアクセス管理部と、を備えることを特徴とするロボット。
【請求項22】
前記センサとして、
自己に対する接触の有無を検出する第1センサと、
上方への自己のロボットの移動を検出する第2センサと、を備え、
前記抱え上げ検出部は、前記第1センサの出力に基づいて前記接触を検出し、前記第2センサの出力に基づいて前記移動を検出したことを条件として、前記抱え上げ状態を検出することを特徴とする請求項21に記載のロボット。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、内部状態または外部環境に応じて自律的に行動選択するロボット、に関する。
【背景技術】
【0002】
人間は、癒やしを求めてペットを飼う。その一方、ペットの世話をする時間を十分に確保できない、ペットを飼える住環境にない、アレルギーがある、死別がつらい、といったさまざまな理由により、ペットをあきらめている人は多い。もし、ペットの役割が務まるロボットがあれば、ペットを飼えない人にもペットが与えてくれるような癒やしを与えられるかもしれない(特許文献1参照)。近年、ロボット技術は急速に進歩しつつあるものの、ペットのような伴侶としての存在感を実現するには至っていない。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2000−323219号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ロボットに「伴侶としての存在感」を発揮させるためには、ロボットの行動特性を生物のそれに近づける必要がある。それだけではなく、ペットを飼うことの楽しさをロボットでも与えられることが望ましい。ペットを飼う楽しさのひとつは、ペットを通して、オーナー同士が仲良くなることである。したがって、ロボットにおいても、ロボット同士の交流を促す仕組みがあれば、ロボットに対する愛着をいっそう深めることができると考えられる。
【0005】
本発明は上記認識に基づいて完成された発明であり、その主たる目的は、ホスト・ロボットがゲスト・ロボットを仲間に迎える仕組みを提案することにある。
【課題を解決するための手段】
【0006】
本発明のある態様における自律行動型ロボット(ゲスト・ロボット)は、モーションを選択する動作選択部と、動作選択部により選択されたモーションを実行する駆動機構と、ホスト・ロボットによる認証後、ホスト・ロボットがアクセス可能なリソースへのアクセス権を取得するアクセス管理部と、を備える。
【0007】
本発明の別の態様における自律行動型ロボット(ホスト・ロボット)は、サーバから行動特性情報を受信する行動特性受信部と、行動特性情報にしたがってモーションを選択する動作選択部と、動作選択部により選択されたモーションを実行する駆動機構と、ゲスト・ロボットに対して認証処理を実行する認証部と、認証後、ゲスト・ロボットに対して所定のリソースへのアクセス権を設定するアクセス管理部と、を備える。
【0008】
本発明の別の態様における自律行動型ロボット(ホスト・ロボット)は、第1距離を通信可能距離とする近距離無線通信手段と、第1距離よりも長い第2距離を通信可能距離とする遠距離無線通信手段の双方により通信可能である。
このロボットは、近距離無線通信手段を介してゲスト・ロボットを認証する認証部と、認証後、ゲスト・ロボットに対して所定のリソースへのアクセス権を設定するアクセス管理部を備える。
【0009】
本発明のある態様におけるサーバは、ホスト・ロボットに行動特性情報を送信する行動特性送信部と、ホスト・ロボットによりゲスト・ロボットが認証されたことを条件として、ゲスト・ロボットと接続する接続部と、を備える。
行動特性送信部は、ゲスト・ロボットに対してホスト・ロボットにはない制約条件を設定する行動特性情報を送信する。
【0010】
本発明の別の態様におけるサーバは、自律行動型ロボットに対して第1の無線通信回線と、第1の無線通信回線とは異なる周波数帯の第2の無線通信回線の双方にて接続する接続部と、第1および第2の無線通信回線の双方を介して、自律行動型ロボットの行動選択方法を定義する行動特性情報を送信する行動特性送信部と、を備える。
【0011】
本発明のある態様におけるアクセス制御プログラムは、第1の装置を認証する機能と、第1の装置の認証後、第1の装置に対して所定のリソースへのアクセス権を設定する機能と、第1の装置により第2の装置が認証されたことを条件として、第2の装置に対してリソースへのアクセス権を設定する機能と、をコンピュータに発揮させる。
【0012】
本発明のある態様における行動制御プログラムは、ホスト・ロボットに行動選択方法を定義する行動特性情報を送信する機能と、ゲスト・ロボットがホスト・ロボットから認証されたことを条件として、ゲスト・ロボットに対してホスト・ロボットにはない制約条件を設定する行動特性情報を送信する機能と、をコンピュータに発揮させる。
【発明の効果】
【0013】
本発明によれば、ロボットを通したオーナーの交流を促しやすくなる。
【図面の簡単な説明】
【0014】
図1(a)】ロボットの正面外観図である。
図1(b)】ロボットの側面外観図である。
図2】ロボットの構造を概略的に表す断面図である。
図3】ロボットシステムの構成図である。
図4】感情マップの概念図である。
図5】ロボットのハードウェア構成図である。
図6】ホスト・ロボットによるゲスト・ロボットの認証過程を説明するための模式図である。
図7】ホスト・ロボットによるゲスト・ロボットの認証態様を示す模式図である。
図8】ロボットシステムの機能ブロック図である。
図9】制約設定画面の画面図である。
図10】ホスト・ロボットがゲスト・ロボットのロボットIDを検出したときに実行する認証処理過程を示すフローチャートである。
図11】ゲスト・ロボットがホスト・ロボットのロボットIDを検出したときに実行する認証処理過程を示すフローチャートである。
図12】通信回線のバックアップ処理過程を示すフローチャートである。
図13】ホスト・ロボットからゲスト・ロボットに行動指示するときの処理過程を示すシーケンス図である。
図14】ゲスト・ロボットの接続終了処理過程を示すフローチャートである。
【発明を実施するための形態】
【0015】
本実施形態における自律行動型ロボットは、ゲスト・ロボットとしても、ゲスト・ロボットを迎え入れるホスト・ロボットとしても機能する。ホスト・ロボットが所属する住宅を「ホームX」とよぶ。
【0016】
図1(a)は、ロボット100の正面外観図である。図1(b)は、ロボット100の側面外観図である。
本実施形態におけるロボット100は、外部環境および内部状態に基づいて行動や仕草(ジェスチャー)を決定する自律行動型のロボットである。外部環境は、カメラやサーモセンサなど各種のセンサにより認識される。内部状態はロボット100の感情を表現するさまざまなパラメータとして定量化される。これらについては後述する。
【0017】
ロボット100は、原則として、オーナー家庭の家屋内を行動範囲とする。以下、ロボット100に関わる人間を「ユーザ」とよび、ロボット100が所属する家庭の構成員となるユーザのことを「オーナー」とよぶ。
【0018】
ロボット100のボディ104は、全体的に丸みを帯びた形状を有し、ウレタンやゴム、樹脂、繊維などやわらかく弾力性のある素材により形成された外皮を含む。ロボット100に服を着せてもよい。丸くてやわらかく、手触りのよいボディ104とすることで、ロボット100はユーザに安心感とともに心地よい触感を提供する。
【0019】
ロボット100は、総重量が15キログラム以下、好ましくは10キログラム以下、更に好ましくは、5キログラム以下である。生後13ヶ月までに、赤ちゃんの過半数は一人歩きを始める。生後13ヶ月の赤ちゃんの平均体重は、男児が9キログラム強、女児が9キログラム弱である。このため、ロボット100の総重量が10キログラム以下であれば、ユーザは一人歩きできない赤ちゃんを抱きかかえるのとほぼ同等の労力でロボット100を抱きかかえることができる。生後2ヶ月未満の赤ちゃんの平均体重は男女ともに5キログラム未満である。したがって、ロボット100の総重量が5キログラム以下であれば、ユーザは乳児を抱っこするのと同等の労力でロボット100を抱っこできる。
【0020】
適度な重さと丸み、柔らかさ、手触りのよさ、といった諸属性により、ユーザがロボット100を抱きかかえやすく、かつ、抱きかかえたくなるという効果が実現される。同様の理由から、ロボット100の身長は1.2メートル以下、好ましくは、0.7メートル以下であることが望ましい。本実施形態におけるロボット100にとって、抱きかかえることができるというのは重要なコンセプトである。
【0021】
ロボット100は、3輪走行するための3つの車輪を備える。図示のように、一対の前輪102(左輪102a,右輪102b)と、一つの後輪103を含む。前輪102が駆動輪であり、後輪103が従動輪である。前輪102は、操舵機構を有しないが、回転速度や回転方向を個別に制御可能とされている。後輪103は、いわゆるオムニホイールからなり、ロボット100を前後左右へ移動させるために回転自在となっている。左輪102aよりも右輪102bの回転数を大きくすることで、ロボット100は左折したり、左回りに回転できる。右輪102bよりも左輪102aの回転数を大きくすることで、ロボット100は右折したり、右回りに回転できる。
【0022】
前輪102および後輪103は、駆動機構(回動機構、リンク機構)によりボディ104に完全収納できる。走行時においても各車輪の大部分はボディ104に隠れているが、各車輪がボディ104に完全収納されるとロボット100は移動不可能な状態となる。すなわち、車輪の収納動作にともなってボディ104が降下し、床面Fに着座する。この着座状態においては、ボディ104の底部に形成された平坦状の着座面108(接地底面)が床面Fに当接する。
【0023】
ロボット100は、2つの手106を有する。手106には、モノを把持する機能はない。手106は上げる、振る、振動するなど簡単な動作が可能である。2つの手106も個別制御可能である。
【0024】
目110にはカメラが内蔵される。目110は、液晶素子または有機EL素子による画像表示も可能である。ロボット100は、目110に内蔵されるカメラのほか、音源方向を特定可能なマイクロフォンアレイや超音波センサなどさまざまなセンサを搭載する。また、スピーカーを内蔵し、簡単な音声を発することもできる。
【0025】
ロボット100の頭部にはツノ112が取り付けられる。上述のようにロボット100は軽量であるため、ユーザはツノ112をつかむことでロボット100を持ち上げることも可能である。ツノ112には全天球カメラが取り付けられ、ロボット100の上部全域を一度に撮像可能である。
【0026】
図2は、ロボット100の構造を概略的に表す断面図である。
図2に示すように、ロボット100のボディ104は、ベースフレーム308、本体フレーム310、一対の樹脂製のホイールカバー312および外皮314を含む。ベースフレーム308は、金属からなり、ボディ104の軸芯を構成するとともに内部機構を支持する。ベースフレーム308は、アッパープレート332とロアプレート334とを複数のサイドプレート336により上下に連結して構成される。複数のサイドプレート336間には通気が可能となるよう、十分な間隔が設けられる。ベースフレーム308の内方には、バッテリー118、制御回路342および各種アクチュエータが収容されている。
【0027】
本体フレーム310は、樹脂材からなり、頭部フレーム316および胴部フレーム318を含む。頭部フレーム316は、中空半球状をなし、ロボット100の頭部骨格を形成する。胴部フレーム318は、段付筒形状をなし、ロボット100の胴部骨格を形成する。胴部フレーム318は、ベースフレーム308と一体に固定される。頭部フレーム316は、胴部フレーム318の上端部に相対変位可能に組み付けられる。
【0028】
頭部フレーム316には、ヨー軸320、ピッチ軸322およびロール軸324の3軸と、各軸を回転駆動するためのアクチュエータ326が設けられる。アクチュエータ326は、各軸を個別に駆動するための複数のサーボモータを含む。首振り動作のためにヨー軸320が駆動され、頷き動作のためにピッチ軸322が駆動され、首を傾げる動作のためにロール軸324が駆動される。
【0029】
頭部フレーム316の上部には、ヨー軸320を支持するプレート325が固定されている。プレート325には、上下間の通気を確保するための複数の通気孔327が形成される。
【0030】
頭部フレーム316およびその内部機構を下方から支持するように、金属製のベースプレート328が設けられる。ベースプレート328は、クロスリンク機構329(パンタグラフ機構)を介してプレート325と連結される一方、ジョイント330を介してアッパープレート332(ベースフレーム308)と連結されている。
【0031】
胴部フレーム318は、ベースフレーム308と車輪駆動機構370を収容する。車輪駆動機構370は、回動軸378およびアクチュエータ379を含む。胴部フレーム318の下半部は、ホイールカバー312との間に前輪102の収納スペースSを形成するために小幅とされている。
【0032】
外皮314は、ウレタンゴムからなり、本体フレーム310およびホイールカバー312を外側から覆う。手106は、外皮314と一体成形される。外皮314の上端部には、外気を導入するための開口部390が設けられる。
【0033】
図3は、ロボットシステム300の構成図である。
ロボットシステム300は、ロボット100、サーバ200および複数の外部センサ114を含む。家屋内にはあらかじめ複数の外部センサ114(外部センサ114a、114b、・・・、114n)が設置される。外部センサ114は、家屋の壁面に固定されてもよいし、床に載置されてもよい。サーバ200には、外部センサ114の位置座標が登録される。位置座標は、ロボット100の行動範囲として想定される家屋内においてx,y座標として定義される。
【0034】
サーバ200は、家屋内に設置される。本実施形態におけるサーバ200とロボット100は、通常、1対1で対応する。ロボット100の内蔵するセンサおよび複数の外部センサ114から得られる情報に基づいて、サーバ200がロボット100の基本行動を決定する。
外部センサ114はロボット100の感覚器を補強するためのものであり、サーバ200はロボット100の頭脳を補強するためのものである。
【0035】
外部センサ114は、定期的に外部センサ114のID(以下、「ビーコンID」とよぶ)を含む無線信号(以下、「ロボット探索信号」とよぶ)を送信する。ロボット100はロボット探索信号を受信するとビーコンIDを含む無線信号(以下、「ロボット返答信号」とよぶ)を返信する。サーバ200は、外部センサ114がロボット探索信号を送信してからロボット返答信号を受信するまでの時間を計測し、外部センサ114からロボット100までの距離を測定する。複数の外部センサ114とロボット100とのそれぞれの距離を計測することで、ロボット100の位置座標を特定する。
もちろん、ロボット100が自らの位置座標を定期的にサーバ200に送信する方式でもよい。
【0036】
図4は、感情マップ116の概念図である。
感情マップ116は、サーバ200に格納されるデータテーブルである。ロボット100は、感情マップ116にしたがって行動選択する。図4に示す感情マップ116は、ロボット100の場所に対する好悪感情の大きさを示す。感情マップ116のx軸とy軸は、二次元空間座標を示す。z軸は、好悪感情の大きさを示す。z値が正値のときにはその場所に対する好感が高く、z値が負値のときにはその場所を嫌悪していることを示す。
【0037】
図4の感情マップ116において、座標P1は、ロボット100の行動範囲としてサーバ200が管理する屋内空間のうち好感情が高い地点(以下、「好意地点」とよぶ)である。好意地点は、ソファの陰やテーブルの下などの「安全な場所」であってもよいし、リビングのように人が集まりやすい場所、賑やかな場所であってもよい。また、過去にやさしく撫でられたり、触れられたりした場所であってもよい。
ロボット100がどのような場所を好むかという定義は任意であるが、一般的には、小さな子どもや犬や猫などの小動物が好む場所を好意地点として設定することが望ましい。
【0038】
座標P2は、悪感情が高い地点(以下、「嫌悪地点」とよぶ)である。嫌悪地点は、テレビの近くなど大きな音がする場所、お風呂や洗面所のように濡れやすい場所、閉鎖空間や暗い場所、ユーザから乱暴に扱われたことがある不快な記憶に結びつく場所などであってもよい。
ロボット100がどのような場所を嫌うかという定義も任意であるが、一般的には、小さな子どもや犬や猫などの小動物が怖がる場所を嫌悪地点として設定することが望ましい。
【0039】
座標Qは、ロボット100の現在位置を示す。複数の外部センサ114が定期的に送信するロボット探索信号とそれに対するロボット返答信号により、サーバ200はロボット100の位置座標を特定する。たとえば、ビーコンID=1の外部センサ114とビーコンID=2の外部センサ114がそれぞれロボット100を検出したとき、2つの外部センサ114からロボット100の距離を求め、そこからロボット100の位置座標を求める。
【0040】
あるいは、ビーコンID=1の外部センサ114は、ロボット探索信号を複数方向に送信し、ロボット100はロボット探索信号を受信したときロボット返答信号を返す。これにより、サーバ200は、ロボット100がどの外部センサ114からどの方向のどのくらいの距離にいるかを把握してもよい。また、別の実施の形態では、前輪102または後輪103の回転数からロボット100の移動距離を算出して、現在位置を特定してもよいし、カメラから得られる画像に基づいて現在位置を特定してもよい。
図4に示す感情マップ116が与えられた場合、ロボット100は好意地点(座標P1)に引き寄せられる方向、嫌悪地点(座標P2)から離れる方向に移動する。
【0041】
感情マップ116は動的に変化する。ロボット100が座標P1に到達すると、座標P1におけるz値(好感情)は時間とともに低下する。これにより、ロボット100は好意地点(座標P1)に到達して、「感情が満たされ」、やがて、その場所に「飽きてくる」という生物的行動をエミュレートできる。同様に、座標P2における悪感情も時間とともに緩和される。時間経過とともに新たな好意地点や嫌悪地点が生まれ、それによってロボット100は新たな行動選択を行う。ロボット100は、新しい好意地点に「興味」を持ち、絶え間なく行動選択する。
【0042】
感情マップ116は、ロボット100の内部状態として、感情の起伏を表現する。ロボット100は、好意地点を目指し、嫌悪地点を避け、好意地点にしばらくとどまり、やがてまた次の行動を起こす。このような制御により、ロボット100の行動選択を人間的・生物的なものにできる。
【0043】
なお、ロボット100の行動に影響を与えるマップ(以下、「行動マップ」と総称する)は、図4に示したようなタイプの感情マップ116に限らない。たとえば、好奇心、恐怖を避ける気持ち、安心を求める気持ち、静けさや薄暗さ、涼しさや暖かさといった肉体的安楽を求める気持ち、などさまざまな行動マップを定義可能である。そして、複数の行動マップそれぞれのz値を重み付け平均することにより、ロボット100の目的地点を決定してもよい。
【0044】
ロボット100は、行動マップとは別に、さまざまな感情や感覚の大きさを示すパラメータを有する。たとえば、寂しさという感情パラメータの値が高まっているときには、安心する場所を評価する行動マップの重み付け係数を大きく設定し、目標地点に到達することでこの感情パラメータの値を低下させる。同様に、つまらないという感覚を示すパラメータの値が高まっているときには、好奇心を満たす場所を評価する行動マップの重み付け係数を大きく設定すればよい。
【0045】
図5は、ロボット100のハードウェア構成図である。
ロボット100は、内部センサ128、通信機126、記憶装置124、プロセッサ122、駆動機構120およびバッテリー118を含む。駆動機構120は、上述した車輪駆動機構370を含む。プロセッサ122と記憶装置124は、制御回路342に含まれる。各ユニットは電源線130および信号線132により互いに接続される。バッテリー118は、電源線130を介して各ユニットに電力を供給する。各ユニットは信号線132により制御信号を送受する。バッテリー118は、リチウムイオン二次電池であり、ロボット100の動力源である。
【0046】
内部センサ128は、ロボット100が内蔵する各種センサの集合体である。具体的には、カメラ(高解像度カメラと全天球カメラ)、マイクロフォンアレイ、赤外線センサ、サーモセンサ、タッチセンサ、加速度センサ、ニオイセンサなどである。ニオイセンサは、匂いの元となる分子の吸着によって電気抵抗が変化する原理を応用した既知のセンサである。ニオイセンサは、さまざまな匂いを複数種類のカテゴリに分類する。
【0047】
通信機126は、サーバ200や外部センサ114、ユーザの有する携帯機器など各種の外部機器を対象として無線通信を行う通信モジュールである。記憶装置124は、不揮発性メモリおよび揮発性メモリにより構成され、コンピュータプログラムや各種設定情報を記憶する。プロセッサ122は、コンピュータプログラムの実行手段である。駆動機構120は、内部機構を制御するアクチュエータである。このほかには、表示器やスピーカーなども搭載される。
【0048】
プロセッサ122は、通信機126を介してサーバ200や外部センサ114と通信しながら、ロボット100の行動選択を行う。内部センサ128により得られるさまざまな外部情報も行動選択に影響する。駆動機構120は、主として、車輪(前輪102)と頭部(頭部フレーム316)を制御する。駆動機構120は、2つの前輪102それぞれの回転速度や回転方向を変化させることにより、ロボット100の移動方向や移動速度を変化させる。また、駆動機構120は、車輪(前輪102および後輪103)を昇降させることもできる。車輪が上昇すると、車輪はボディ104に完全に収納され、ロボット100は着座面108にて床面Fに当接し、着座状態となる。
【0049】
図6は、ホスト・ロボット100aによるゲスト・ロボット100bの認証過程を説明するための模式図である。
サーバ200およびホスト・ロボット100aを含むロボットシステム300は、新たなゲスト・ロボット100bを受け入れることができる。サーバ200はホームXに設置され、ホスト・ロボット100aはホームXのサーバ200により行動支援を受けるロボット100である。ここでいう「受け入れる」とは、外来者であるゲスト・ロボット100bが、サーバ200に接続し、サーバ200が管理するリソース(ハードウェア、ソフトウェアおよびデータ)にアクセスすることでサーバ200からの行動支援を受けることが可能となることをいう。サーバ200は、ホスト・ロボット100aおよびゲスト・ロボット100bの2つのロボット100の行動を支援することになる。各ロボット100は、ロボット返答信号に「ロボットID」を含めて送信する。ロボットIDは、MACアドレス(Media Access Control address)や製造番号など、ロボット100を一意に識別する情報であればよい。これにより、サーバ200は2つのロボット100それぞれを特定できる。
【0050】
以下においては、ロボットシステム300(サーバ200およびホスト・ロボット100a)の拠点となるホームXに、ゲスト・ロボット100bが連れて来られた状況を前提として説明する。ゲスト・ロボット100bはホスト・ロボット100aに認証されれば、一時的にホームXのロボットシステム300に参加できる。
【0051】
図6において、ホスト・ロボット100aはサーバ200と接続されている。ホスト・ロボット100aとゲスト・ロボット100bを充分に近づけると、ホスト・ロボット100aはゲスト・ロボット100bを認証する(S1)。認証方法の詳細は後述する。ホスト・ロボット100aは、ゲスト・パスワードを生成し、ホスト・ロボット100aはゲスト・ロボット100bにサーバ200と接続するための設定情報を送信する。設定情報は、サーバ200のIPアドレス(Internet Protocol address)、ポート番号およびゲスト・パスワードを含む。ホスト・ロボット100aは、ゲスト・ロボット100bのロボットIDを取得する。
【0052】
ホスト・ロボット100aは、サーバ200にゲスト・ロボット100bを認証した旨を通知する(S2)。このとき、ホスト・ロボット100aは、ゲスト・ロボット100bのロボットIDとゲスト・パスワードをサーバ200に送信する。サーバ200は、ゲスト・ロボット100bのロボットIDおよびゲスト・パスワードを登録する。
【0053】
一方、ゲスト・ロボット100bは、ホスト・ロボット100aから受け取った設定情報(IPアドレスとポート番号)に基づいて、サーバ200に接続する(S3)。ゲスト・ロボット100bは、ロボットIDとゲスト・パスワードをサーバ200に送信する。サーバ200はロボットIDとゲスト・パスワードを照合した上で、ゲスト・ロボット100bとの接続を許可する。
【0054】
図7は、ホスト・ロボット100aによるゲスト・ロボット100bの認証態様を示す模式図である。
ロボット100の額には、NFC(Near Field Communication)に対応するチップが埋め込まれている(近距離無線通信手段)。NFCは、近距離無線通信技術の国際標準規格であり、本実施形態においては13.56MHzにて10センチメートル程度の近距離通信が可能である。ロボット100は、定期的にロボットIDをNFCチップにより発信する。ホスト・ロボット100aの額にゲスト・ロボット100bの額を近づけると、ゲスト・ロボット100bのロボットIDがホスト・ロボット100aにより検出される。本実施形態における「認証」は、ホスト・ロボット100aがゲスト・ロボット100bのロボットIDを検出することにより完了する。ホスト・ロボット100aとゲスト・ロボット100bの額を近づけるだけで簡単にゲスト・ロボット100bをロボットシステム300に受け入れることができる。
【0055】
認証後、ゲスト・ロボット100bからホスト・ロボット100aには、ゲスト・ロボット100bの機体情報が送信される。機体情報は、ゲスト・ロボット100bのバージョン番号や製造年月日、搭載しているソフトウェアおよびハードウェアなどの仕様情報である。
【0056】
額を近づける以外にも、さまざまな認証のための条件が追加されてもよい。たとえば、ホスト・ロボット100aとゲスト・ロボット100bがそれぞれのオーナーに抱っこされている状態で額が近づけられたことを条件として認証がなされてもよい。ロボット100は、カメラによりオーナーを認識し、温度センサにより掴まれていることを検出し、加速度センサにより持ち上げられていることを認識できる。オーナーの抱っこを条件とすれば、ホスト・ロボット100aにゲスト・ロボット100bがたまたま近づいて認証がなされてしまうのを防ぐことができる。ホスト・ロボット100aが抱っこされていることを条件として認証がなされるとしてもよいし、ゲスト・ロボット100bが抱っこされていることを条件として認証がなされるとしてもよいし、ホスト・ロボット100aとゲスト・ロボット100bの双方が抱っこされていることを条件として認証がなされるとしてもよい。「抱っこ」という行為は、オーナーによる認証許可の表れであり、「ゲスト・ロボット100bをリソースにアクセスさせてもよい」というホスト・ロボット100aに対する指示としてとらえることができる。このように、オーナーの自然な行為によりゲスト・ロボット100bを迎え入れることができる。
ロボット100は、抱っこを検出したときには、安全のために前輪102(左輪102aおよび右輪102b)をボディ104に収納する。
【0057】
図8は、ロボットシステム300の機能ブロック図である。
上述のように、ロボットシステム300は、ロボット100、サーバ200および複数の外部センサ114を含む。ロボット100およびサーバ200の各構成要素は、CPU(Central Processing Unit)および各種コプロセッサなどの演算器、メモリやストレージといった記憶装置、それらを連結する有線または無線の通信線を含むハードウェアと、記憶装置に格納され、演算器に処理命令を供給するソフトウェアによって実現される。コンピュータプログラムは、デバイスドライバ、オペレーティングシステム、それらの上位層に位置する各種アプリケーションプログラム、また、これらのプログラムに共通機能を提供するライブラリによって構成されてもよい。以下に説明する各ブロックは、ハードウェア単位の構成ではなく、機能単位のブロックを示している。
ロボット100の機能の一部はサーバ200により実現されてもよいし、サーバ200の機能の一部または全部はロボット100により実現されてもよい。
【0058】
(サーバ200)
サーバ200は、通信部204、データ処理部202、制約設定部224およびデータ格納部206を含む。
制約設定部224は、ゲスト・ロボット100bに対する行動制約(後述)を設定する。通信部204は、外部センサ114およびロボット100との通信処理を担当する。データ格納部206は各種データを格納する。データ処理部202は、通信部204により取得されたデータおよびデータ格納部206に格納されるデータに基づいて各種処理を実行する。データ処理部202は、通信部204、制約設定部224およびデータ格納部206のインタフェースとしても機能する。
【0059】
通信部204は、行動特性送信部240および接続部226を含む。行動特性送信部240は、ゲスト・ロボット100bに「行動特性情報」を送信する。行動特性情報は、ロボット100の行動選択の指針となる情報である(詳細後述)。接続部226は、ロボット100からの接続要求を受信し、ロボット100との通信回線を確立する。本実施形態においては、サーバ200の通信部204は、ロボット100の通信部142と第1通信回線302(第1の無線通信回線:第1の遠距離無線通信手段)および第2通信回線304(第2の無線通信回線:第2の遠距離無線通信手段)の2種類の通信回線により接続する。第1通信回線302は、920MHzのISM周波数(Industrial, Scientific and Medical Band)通信回線である。第2通信回線304は、2.4GHzの通信回線である。第1通信回線302は、第2通信回線304よりも周波数が低いため電波が回り込みやすく安定した通信が期待されるが、通信速度は遅い。第1通信回線302および第2通信回線304のいずれも(遠距離無線通信手段)、NFC(近距離無線通信手段)よりも通信可能距離が長い。
【0060】
データ格納部206は、モーション格納部232、マップ格納部216および個人データ格納部218を含む。
ロボット100は、複数の動作パターン(モーション)を有する。手106を震わせる、蛇行しながらオーナーに近づく、首をかしげたままオーナーを見つめる、などさまざまなモーションが定義されている。
【0061】
モーション格納部232は、モーションの制御内容を定義する「モーションファイル」を格納する。各モーションは、モーションIDにより識別される。モーションファイルは、ロボット100のモーション格納部160にもダウンロードされる。どのモーションを実行するかは、サーバ200で決定されることもあるし、ロボット100で決定されることもある。
【0062】
ロボット100のモーションの多くは、複数の単位モーションを含む複合モーションとして構成される。たとえば、ロボット100がオーナーに近づくとき、オーナーの方に向き直る単位モーション、手を上げながら近づく単位モーション、体を揺すりながら近づく単位モーション、両手を上げながら着座する単位モーションの組み合わせとして表現されてもよい。このような4つのモーションの組み合わせにより、「オーナーに近づいて、途中で手を上げて、最後は体をゆすった上で着座する」というモーションが実現される。モーションファイルには、ロボット100に設けられたアクチュエータの回転角度や角速度などが時間軸に関連づけて定義される。モーションファイル(アクチュエータ制御情報)にしたがって、時間経過とともに各アクチュエータを制御することで様々なモーションが表現される。
【0063】
先の単位モーションから次の単位モーションに変化するときの移行時間を「インターバル」とよぶ。インターバルは、単位モーション変更に要する時間やモーションの内容に応じて定義されればよい。インターバルの長さは調整可能である。
以下、いつ、どのモーションを選ぶか、モーションを実現する上での各アクチュエータの出力調整など、ロボット100の行動制御に関わる設定のことを「行動特性」と総称する。ロボット100の行動特性は、モーション選択アルゴリズム、モーションの選択確率、モーションファイル等により定義される。
【0064】
モーション格納部232は、モーションファイルのほか、各種のイベントが発生したときに実行すべきモーションを定義するモーション選択テーブルを格納する。モーション選択テーブルにおいては、イベントに対して1以上のモーションとその選択確率が対応づけられる。
【0065】
マップ格納部216は、複数の行動マップのほか、椅子やテーブルなどの障害物の配置状況を示すマップも格納する。個人データ格納部218は、ユーザ、特に、オーナーの情報を格納する。具体的には、ユーザに対する親密度やユーザの身体的特徴・行動的特徴など各種のパラメータを格納する。年齢や性別などの他の属性情報を格納してもよい。
【0066】
ロボットシステム300(ロボット100およびサーバ200)はユーザの身体的特徴や行動的特徴に基づいてユーザを識別する。ロボット100は、内蔵のカメラで常時周辺を撮像する。そして、画像に写る人物の身体的特徴と行動的特徴を抽出する。身体的特徴とは、背の高さ、好んで着る服、メガネの有無、肌の色、髪の色、耳の大きさなど身体に付随する視覚的特徴であってもよいし、平均体温や匂い、声質、などその他の特徴も含めてもよい。行動的特徴とは、具体的には、ユーザが好む場所、動きの活発さ、喫煙の有無など行動に付随する特徴である。たとえば、父親として識別されるオーナーは在宅しないことが多く、在宅時にはソファで動かないことが多いが、母親は台所にいることが多く、行動範囲が広い、といった行動上の特徴を抽出する。
ロボットシステム300は、大量の画像情報やその他のセンシング情報から得られる身体的特徴および行動的特徴に基づいて、高い頻度で出現するユーザを「オーナー」としてクラスタリングする。
【0067】
ユーザIDでユーザを識別する方式は簡易かつ確実であるが、ユーザがユーザIDを提供可能な機器を保有していることが前提となる。一方、身体的特徴や行動的特徴によりユーザを識別する方法は画像認識処理負担が大きいものの携帯機器を保有していないユーザでも識別できるメリットがある。2つの方法は一方だけを採用してもよいし、補完的に2つの方法を併用してユーザ特定を行ってもよい。
本実施形態においては、身体的特徴と行動的特徴からユーザをクラスタリングし、ディープラーニング(多層型のニューラルネットワーク)によってユーザを識別する。詳細は後述する。
【0068】
ロボット100は、ユーザごとに親密度という内部パラメータを有する。ロボット100が、自分を抱き上げる、声をかけてくれるなど、自分に対して好意を示す行動を認識したとき、そのユーザに対する親密度が高くなる。ロボット100に関わらないユーザや、乱暴を働くユーザ、出会う頻度が低いユーザに対する親密度は低くなる。
【0069】
データ処理部202は、位置管理部208、マップ管理部210、認識部212、動作制御部222、親密度管理部220、感情管理部244およびセキュリティ管理部242を含む。
位置管理部208は、ロボット100の位置座標を、図3を用いて説明した方法にて特定する。位置管理部208はユーザの位置座標もリアルタイムで追跡してもよい。
【0070】
感情管理部244は、ロボット100の感情(寂しさ、楽しさ、恐怖など)を示すさまざまな感情パラメータを管理する。これらの感情パラメータは常に揺らいでいる。感情パラメータに応じて複数の行動マップの重要度が変化し、行動マップによってロボット100の移動目標地点が変化し、ロボット100の移動や時間経過によって感情パラメータが変化する。
【0071】
たとえば、寂しさを示す感情パラメータが高いときには、感情管理部244は安心する場所を評価する行動マップの重み付け係数を大きく設定する。ロボット100が、この行動マップにおいて寂しさを解消可能な地点に至ると、感情管理部244は寂しさを示す感情パラメータを低下させる。また、後述の応対行為によっても各種感情パラメータは変化する。たとえば、オーナーから「抱っこ」をされると寂しさを示す感情パラメータは低下し、長時間にわたってオーナーを視認しないときには寂しさを示す感情パラメータは少しずつ増加する。
【0072】
マップ管理部210は、複数の行動マップについて図4に関連して説明した方法にて各座標のパラメータを変化させる。マップ管理部210は、複数の行動マップのいずれかを選択してもよいし、複数の行動マップのz値を加重平均してもよい。たとえば、行動マップAでは座標R1、座標R2におけるz値が4と3であり、行動マップBでは座標R1、座標R2におけるz値が−1と3であるとする。単純平均の場合、座標R1の合計z値は4−1=3、座標R2の合計z値は3+3=6であるから、ロボット100は座標R1ではなく座標R2の方向に向かう。
行動マップAを行動マップBの5倍重視するときには、座標R1の合計z値は4×5−1=19、座標R2の合計z値は3×5+3=18であるから、ロボット100は座標R1の方向に向かう。
【0073】
認識部212は、外部環境を認識する。外部環境の認識には、温度や湿度に基づく天候や季節の認識、光量や温度に基づく物陰(安全地帯)の認識など多様な認識が含まれる。ロボット100の認識部156は、内部センサ128により各種の環境情報を取得し、これを一次処理した上でサーバ200の認識部212に転送する。具体的には、ロボット100の認識部156は、画像から移動物体、特に、人物や動物に対応する画像を抽出し、これらの抽出画像をサーバ200に送る。サーバ200の認識部212は、抽出画像に映っている人物の特徴を抽出する。
【0074】
認識部212は、更に、人物認識部214と応対認識部228を含む。人物認識部214は、ロボット100の内蔵カメラによる撮像画像から人物を認識し、その人物の身体的特徴や行動的特徴を抽出する。そして、個人データ格納部218に登録されている身体特徴情報や行動特徴情報に基づいて、撮像されたユーザ、すなわち、ロボット100が見ているユーザが、父親、母親、長男などのどの人物に該当するかを判定する。人物認識部214は、表情認識部230を含む。表情認識部230は、ユーザの表情を画像認識することにより、ユーザの感情を推定する。
なお、人物認識部214は、人物以外の移動物体、たとえば、ペットである猫や犬についても特徴抽出を行う。
【0075】
応対認識部228は、ロボット100になされたさまざまな応対行為を認識し、快・不快行為に分類する。応対認識部228は、また、ロボット100の行動に対するオーナーの応対行為を認識することにより、肯定・否定反応に分類する。
快・不快行為は、ユーザの応対行為が、生物として心地よいものであるか不快なものであるかにより判別される。たとえば、抱っこされることはロボット100にとって快行為であり、蹴られることはロボット100にとって不快行為である。肯定・否定反応は、ユーザの応対行為が、ユーザの快感情を示すものか不快感情を示すものであるかにより判別される。たとえば、抱っこされることはユーザの快感情を示す肯定反応であり、蹴られることはユーザの不快感情を示す否定反応である。
【0076】
サーバ200の動作制御部222は、ロボット100の動作制御部150と協働して、ロボット100のモーションを決定する。サーバ200の動作制御部222は、マップ管理部210による行動マップ選択に基づいて、ロボット100の移動目標地点とそのための移動ルートを作成する。動作制御部222は、複数の移動ルートを作成し、その上で、いずれかの移動ルートを選択してもよい。
【0077】
動作制御部222は、モーション格納部232の複数のモーションからロボット100のモーションを選択する。各モーションには状況ごとに選択確率が対応づけられている。たとえば、オーナーから快行為がなされたときには、モーションAを20%の確率で実行する、気温が30度以上となったとき、モーションBを5%の確率で実行する、といった選択方法が定義される。
行動マップに移動目標地点や移動ルートが決定され、後述の各種イベントによりモーションが選択される。
【0078】
親密度管理部220は、ユーザごとの親密度を管理する。上述したように、親密度は個人データ格納部218において個人データの一部として登録される。快行為を検出したとき、親密度管理部220はそのオーナーに対する親密度をアップさせる。不快行為を検出したときには親密度はダウンする。また、長期間視認していないオーナーの親密度は徐々に低下する。
【0079】
ゲスト・ロボット100bは、ホスト・ロボット100aを管理するサーバ200と接続することにより、さまざまな情報を手に入れることができる。セキュリティ管理部242は、ゲスト・ロボット100bがサーバ200と接続した後に取得したデータの無効化をゲスト・ロボット100bに指示する。
【0080】
(ロボット100)
ロボット100は、ホスト・ロボット100aとしてもゲスト・ロボット100bとしても機能する。
ロボット100は、通信部142、データ処理部136、データ格納部148、内部センサ128および駆動機構120を含む。
通信部142は、通信機126(図5参照)に該当し、外部センサ114、サーバ200および他のロボット100との通信処理を担当する。データ格納部148は各種データを格納する。データ格納部148は、記憶装置124(図5参照)に該当する。データ処理部136は、通信部142により取得されたデータおよびデータ格納部148に格納されているデータに基づいて各種処理を実行する。データ処理部136は、プロセッサ122およびプロセッサ122により実行されるコンピュータプログラムに該当する。データ処理部136は、通信部142、内部センサ128、駆動機構120およびデータ格納部148のインタフェースとしても機能する。
【0081】
通信部142は、指示送信部134、指示受信部138および行動特性取得部140を含む。
指示送信部134は、ロボット100がホスト・ロボット100aであるとき、ゲスト・ロボット100bに対して行動指示を送信する(後述)。指示受信部138は、ロボット100がゲスト・ロボット100bであるとき、ホスト・ロボット100aから行動指示を受信する。行動特性取得部140は、サーバ200の行動特性送信部240から行動特性情報を受信する。
【0082】
データ格納部148は、ロボット100の各種モーションを定義するモーション格納部160を含む。
ロボット100のモーション格納部160には、サーバ200のモーション格納部232から各種モーションファイルがダウンロードされる。モーションは、モーションIDによって識別される。前輪102を収容して着座する、手106を持ち上げる、2つの前輪102を逆回転させることで、あるいは、片方の前輪102だけを回転させることでロボット100を回転行動させる、前輪102を収納した状態で前輪102を回転させることで震える、ユーザから離れるときにいったん停止して振り返る、などのさまざまなモーションを表現するために、各種アクチュエータ(駆動機構120)の動作タイミング、動作時間、動作方向などがモーションファイルにおいて時系列定義される。
【0083】
データ処理部136は、認識部156、動作制御部150、アクセス管理部172、無効処理部152および認証部154を含む。
ロボット100の動作制御部150は、サーバ200の動作制御部222と協働してロボット100のモーションを決める。一部のモーションについてはサーバ200で決定し、他のモーションについてはロボット100で決定してもよい。また、ロボット100がモーションを決定するが、ロボット100の処理負荷が高いときにはサーバ200がモーションを決定するとしてもよい。サーバ200においてベースとなるモーションを決定し、ロボット100において追加のモーションを決定してもよい。モーションの決定処理をサーバ200およびロボット100においてどのように分担するかはロボットシステム300の仕様に応じて設計すればよい。
【0084】
ロボット100の動作制御部150は、サーバ200の動作制御部222とともにロボット100の移動方向を決める。行動マップに基づく移動をサーバ200で決定し、障害物をよけるなどの即時的移動をロボット100の動作制御部150により決定してもよい。駆動機構120は、動作制御部150の指示にしたがって前輪102を駆動することで、ロボット100を移動目標地点に向かわせる。
【0085】
ロボット100の動作制御部150は選択したモーションを駆動機構120に実行指示する。駆動機構120は、モーションファイルにしたがって、各アクチュエータを制御する。
【0086】
動作制御部150は、親密度の高いユーザが近くにいるときには「抱っこ」をせがむ仕草として両方の手106をもちあげるモーションを実行することもできるし、「抱っこ」に飽きたときには左右の前輪102を収容したまま逆回転と停止を交互に繰り返すことで抱っこをいやがるモーションを表現することもできる。駆動機構120は、動作制御部150の指示にしたがって前輪102や手106、首(頭部フレーム316)を駆動することで、ロボット100にさまざまなモーションを表現させる。
【0087】
認証部154は、図6,7に関連して説明した認証処理を実行する。認証部154は、NFCチップからロボットIDを定期的に発信させる。ロボット100がホスト・ロボット100aであるときには、他のロボット100(ゲスト・ロボット100b)からロボットIDを受信したときにゲスト・ロボット100bを認証する。認証部154は、認識部156が当該ロボット100の抱っこを検出していることを条件としてロボットIDを発信するとしてもよい。この場合には、ゲスト・ロボット100bは、抱っこをしてもらっているときでなければ、ホスト・ロボット100aに認証してもらうことはできない。また、認証部154は、認識部156が当該ロボット100の抱っこを検出していることを条件としてロボットIDを受信するとしてもよい。この場合には、ホスト・ロボット100aは、抱っこをしてもらっているときでなければ、ゲスト・ロボット100bを認証しない。
【0088】
アクセス管理部172は、ロボット100がホスト・ロボット100aであるときには、認証後にゲスト・ロボット100bに対してサーバ200へのアクセス権を設定する。ロボット100がゲスト・ロボット100bであるときには、認証後にホスト・ロボット100aからサーバ200へのアクセス権を取得する。「アクセス権」とは、サーバ200が管理するリソースを利用する権利である。ゲスト・ロボット100bは、ホスト・ロボット100aから提供される設定情報によりサーバ200にアクセス可能となる。なお、ゲスト・ロボット100bのアクセス権には、後述の行動制約が設定される。
【0089】
無効処理部152は、ロボット100がゲスト・ロボット100bであるとき、サーバ200と接続したあとに取得したデータを無効化する(後述)。
【0090】
ロボット100の認識部156は、内部センサ128から得られた外部情報を解釈する。認識部156は、視覚的な認識(視覚部)、匂いの認識(嗅覚部)、音の認識(聴覚部)、触覚的な認識(触覚部)が可能である。
認識部156は、内蔵カメラ(内部センサ128)により定期的に外界を撮像し、人やペットなどの移動物体を検出する。移動物体の画像はサーバ200に送信され、サーバ200の人物認識部214は移動物体の身体的特徴を抽出する。また、ユーザの匂いやユーザの声も検出する。匂いや音(声)は既知の方法にて複数種類に分類される。
【0091】
ロボット100に対する強い衝撃が与えられたとき、認識部156は内蔵の加速度センサによりこれを認識し、サーバ200の応対認識部228は、近隣にいるユーザによって「乱暴行為」が働かれたと認識する。ユーザがツノ112を掴んでロボット100を持ち上げるときにも、乱暴行為と認識してもよい。ロボット100に正対した状態にあるユーザが特定音量領域および特定周波数帯域にて発声したとき、サーバ200の応対認識部228は、自らに対する「声掛け行為」がなされたと認識してもよい。また、体温程度の温度を検知したときにはユーザによる「接触行為」がなされたと認識し、接触認識した状態で上方への加速度を検知したときには「抱っこ」がなされたと認識する。ユーザがボディ104を持ち上げるときの物理的接触をセンシングしてもよいし、前輪102にかかる荷重が低下することにより抱っこを認識してもよい。
【0092】
サーバ200の応対認識部228は、ロボット100に対するユーザの各種応対を認識する。各種応対行為のうち一部の典型的な応対行為には、快または不快、肯定または否定が対応づけられる。一般的には快行為となる応対行為のほとんどは肯定反応であり、不快行為となる応対行為のほとんどは否定反応となる。快・不快行為は親密度に関連し、肯定・否定反応はロボット100の行動選択に影響する。
【0093】
検出・分析・判定を含む一連の認識処理のうち、ロボット100の認識部156は認識に必要な情報の取捨選択や分類を行い、分析・判定等の解釈処理はサーバ200の認識部212により実行される。認識処理は、サーバ200の認識部212だけで行ってもよいし、ロボット100の認識部156だけで行ってもよいし、上述のように双方が役割分担をしながら上記認識処理を実行してもよい。
【0094】
認識部156により認識された応対行為に応じて、サーバ200の親密度管理部220はユーザに対する親密度を変化させる。原則的には、快行為を行ったユーザに対する親密度は高まり、不快行為を行ったユーザに対する親密度は低下する。
【0095】
サーバ200の認識部212は、応対に応じて快・不快を判定し、マップ管理部210は「場所に対する愛着」を表現する行動マップにおいて、快・不快行為がなされた地点のz値を変化させてもよい。たとえば、リビングにおいて快行為がなされたとき、マップ管理部210はリビングに好意地点を高い確率で設定してもよい。この場合、ロボット100はリビングを好み、リビングで快行為を受けることで、ますますリビングを好む、というポジティブ・フィードバック効果が実現する。
【0096】
サーバ200の人物認識部214は、外部センサ114または内部センサ128から得られた各種データから移動物体を検出し、その特徴(身体的特徴と行動的特徴)を抽出する。そして、これらの特徴に基づいて複数の移動物体をクラスタ分析する。移動物体としては、人間だけでなく、犬や猫などのペットが分析対象となることがある。
【0097】
ロボット100は、定期的に画像撮影を行い、人物認識部214はそれらの画像から移動物体を認識し、移動物体の特徴を抽出する。移動物体を検出したときには、ニオイセンサや内蔵の集音マイク、温度センサ等からも身体的特徴や行動的特徴が抽出される。たとえば、画像に移動物体が写っているとき、ひげが生えている、早朝活動している、赤い服を着ている、香水の匂いがする、声が大きい、メガネをかけている、スカートを履いている、白髪である、背が高い、太っている、日焼けしている、ソファにいる、といったさまざまな特徴が抽出される。
【0098】
ひげが生えている移動物体(ユーザ)は早朝に活動すること(早起き)が多く、赤い服を着ることが少ないのであれば、早起きでひげが生えていて赤い服をあまり着ないクラスタ(ユーザ)、という第1のプロファイルができる。一方、メガネをかけている移動物体はスカートを履いていることが多いが、この移動物体にはひげが生えていない場合、メガネをかけていてスカートを履いているが絶対ひげは生えていないクラスタ(ユーザ)、という第2のプロファイルができる。
以上は、簡単な設例であるが、上述の方法により、父親に対応する第1のプロファイルと母親に対応する第2のプロファイルが形成され、この家には少なくとも2人のユーザ(オーナー)がいることをロボット100は認識する。
【0099】
ただし、ロボット100は第1のプロファイルが「父親」であると認識する必要はない。あくまでも、「ひげが生えていて早起きすることが多く、赤い服を着ることはめったにないクラスタ」という人物像を認識できればよい。
【0100】
このようなクラスタ分析が完了している状態において、ロボット100が新たに移動物体(ユーザ)を認識したとする。
このとき、サーバ200の人物認識部214は、ロボット100から得られる画像等のセンシング情報から特徴抽出を行い、ディーブラーニング(多層型ニューラルネットワーク)により、ロボット100の近くにいる移動物体がどのプロファイル(クラスタ)に該当するかを判断する。たとえば、ひげが生えている移動物体を検出したとき、この移動物体は父親である確率が高い。この移動物体が早朝行動していれば、父親に該当することはいっそう確実である。一方、メガネをかけている移動物体を検出したときには、この移動物体は母親である可能性もある。この移動物体にひげが生えていれば、母親ではなく父親でもないので、クラスタ分析されていない新しい人物であると判定する。
【0101】
特徴抽出によるクラスタ(プロファイル)の形成(クラスタ分析)と、特徴抽出にともなうクラスタへの当てはめ(ディープラーニング)は同時並行的に実行されてもよい。
移動物体(ユーザ)からどのような行為をされるかによってそのユーザに対する親密度が変化する。
【0102】
ロボット100は、よく出会う人、よく触ってくる人、よく声をかけてくれる人に対して高い親密度を設定する。一方、めったに見ない人、あまり触ってこない人、乱暴な人、大声で叱る人に対する親密度は低くなる。ロボット100はセンサ(視覚、触覚、聴覚)によって検出するさまざまな外界情報にもとづいて、ユーザごとの親密度を変化させる。
【0103】
実際のロボット100は行動マップにしたがって自律的に複雑な行動選択を行う。ロボット100は、寂しさ、退屈さ、好奇心などさまざまなパラメータに基づいて複数の行動マップに影響されながら行動する。ロボット100は、行動マップの影響を除外すれば、あるいは、行動マップの影響が小さい内部状態にあるときには、原則的には、親密度の高い人に近づこうとし、親密度の低い人からは離れようとする。
【0104】
ロボット100の行動は親密度に応じて以下に類型化される。
(1)親密度が非常に高いクラスタ
ロボット100は、ユーザに近づき(以下、「近接行動」とよぶ)、かつ、人に好意を示す仕草としてあらかじめ定義される愛情仕草を行うことで親愛の情を強く表現する。
(2)親密度が比較的高いクラスタ
ロボット100は、近接行動のみを行う。
(3)親密度が比較的低いクラスタ
ロボット100は特段のアクションを行わない。
(4)親密度が特に低いクラスタ
ロボット100は、離脱行動を行う。
【0105】
以上の制御方法によれば、ロボット100は、親密度が高いユーザを見つけるとそのユーザに近寄り、逆に親密度が低いユーザを見つけるとそのユーザから離れる。このような制御方法により、いわゆる「人見知り」を行動表現できる。また、来客(親密度が低いユーザA)が現れたとき、ロボット100は、来客から離れて家族(親密度が高いユーザB)の方に向かうこともある。この場合、ユーザBはロボット100が人見知りをして不安を感じていること、自分を頼っていること、を感じ取ることができる。このような行動表現により、ユーザBは、選ばれ、頼られることの喜び、それにともなう愛着の情を喚起される。
【0106】
一方、来客であるユーザAが頻繁に訪れ、声を掛け、タッチをするとロボット100のユーザAに対する親密度は徐々に上昇し、ロボット100はユーザAに対して人見知り行動(離脱行動)をしなくなる。ユーザAも自分にロボット100が馴染んできてくれたことを感じ取ることで、ロボット100に対する愛着を抱くことができる。
【0107】
なお、以上の行動選択は、常に実行されるとは限らない。たとえば、ロボット100の好奇心を示す内部パラメータが高くなっているときには、好奇心を満たす場所を求める行動マップが重視されるため、ロボット100は親密度に影響された行動を選択しない可能性もある。また、玄関に設置されている外部センサ114がユーザの帰宅を検知した場合には、ユーザのお出迎え行動を最優先で実行するかもしれない。
【0108】
図9は、制約設定画面180の画面図である。
サーバ200は、制約設定画面180をモニタ(不図示)に表示させる。ホスト・ロボット100aのオーナーAは、ゲスト・ロボット100bに行動制約を課すことができる。オーナーAは、サーバ200が表示する制約設定画面180において「行動制約情報」を設定する。行動制約情報は、ゲスト・ロボット100bがホームXのサーバ200に接続しているときに実行可能な行動を定義する情報である。
【0109】
制約設定部224は、制約設定画面180を介して行動制約情報を取得・保存する。ゲスト・ロボット100bがサーバ200に接続されるとき、行動特性情報の一部として行動制約情報がゲスト・ロボット100bに送信される。ゲスト・ロボット100bの動作制御部150は、行動制約情報にしたがって行動選択する。
【0110】
たとえば、ゲスト・ロボット100bが内蔵のカメラでホームXの屋内を撮影するのを禁止してもよい。撮影禁止設定がなされるときには、ゲスト・ロボット100bがサーバ200との接続を遮断したとき、ゲスト・ロボット100bの無効処理部152はサーバ200と接続後に取得した撮影画像を破棄する。行動制約を課すことにより、ホームXについてプライバシーを守ることができるため、ホームXのオーナーAは安心してゲスト・ロボット100bを迎えることができる。
【0111】
このほか、動画撮影は禁止するが、静止画の撮影は許可するとしてもよいし、マイクロフォンによる録音を禁止してもよい。ゲスト・ロボット100bの移動速度を通常よりも低速に設定してもよいし、ゲスト・ロボット100bの行動範囲を制限してもよい。たとえば、ゲスト・ロボット100bの行動範囲をリビング・ルームとダイニング・ルームに限定することもプライバシーの保護に寄与する。
【0112】
本実施形態においては、ゲスト・ロボット100bはリビング・ルームのみを移動可能であり、かつ、サーバ200とゲスト・ロボット100bの接続時間は30分に制限されるものとして説明する。制約設定画面180において設定される行動制約情報は、いわば、ゲスト・ロボット100bがホームXにおいて守るべき「誓約書」として機能する。
【0113】
図10は、ホスト・ロボット100aがゲスト・ロボット100bのロボットIDを検出したときに実行される認証処理過程を示すフローチャートである。
ホスト・ロボット100aとゲスト・ロボット100bが近接し、ホスト・ロボット100aの認証部154がゲスト・ロボット100bのロボットIDを検出したときゲスト・ロボット100bを認証し、続いて図10に示す認証処理が実行される。
【0114】
ホスト・ロボット100aの認証部154は、ロボットIDを含む機体情報を検出し、ゲスト・ロボット100bのセキュリティ・チェックを実行する(S10)。本実施形態におけるセキュリティ・チェックでは、ゲスト・ロボット100bが、所定のセキュリティ・ソフトウェアの最新版を搭載し、かつ、6時間以内にコンピュータ・ウィルスの検索を実行しているか否かを判定する。セキュリティ・チェックを実行することにより、コンピュータ・ウィルスに感染しているゲスト・ロボット100bがサーバ200に接続するのを防止できる。
【0115】
セキュリティ・チェックをパスすると認証が完了し(S12のY)、ホスト・ロボット100aのアクセス管理部172はゲスト・パスワードを生成する(S14)。ホスト・ロボット100aのアクセス管理部172は、ゲスト・パスワードとゲスト・ロボット100bのロボットIDをサーバ200に通知する(S14)。サーバ200は、ゲスト・パスワードとロボットIDを登録する。ゲスト・パスワードおよび登録期間には制限時間が設定される。
【0116】
ホスト・ロボット100aのアクセス管理部172はゲスト・ロボット100bにサーバ200の設定情報を送信する(S18)。設定情報には、サーバ200のIPアドレスとポート番号、ゲスト・パスワードが含まれる。セキュリティ・チェックをパスしなかったときには(S12のN)、S14以降の処理はスキップされる。このときには、ゲスト・ロボット100bはサーバ200に接続できない。
ホスト・ロボット100aは、抱っこされているときでなければ、ロボットIDを検出しない、あるいは、ゲスト・パスワード等をゲスト・ロボット100bに発信しないとしてもよい。この場合には、認識部156が抱っこを検出していなければ、認証処理は実行されない。
【0117】
図11は、ゲスト・ロボット100bがホスト・ロボット100aのロボットIDを検出したときに実行される認証処理過程を示すフローチャートである。
ホスト・ロボット100aとゲスト・ロボット100bが近接し、ゲスト・ロボット100bの認証部154がホスト・ロボット100aのロボットIDを検出したとき、ゲスト・ロボット100bは図11に示す認証処理を実行する。図10に示すホスト・ロボット100aの認証処理と図11に示すゲスト・ロボット100bの認証処理は同時実行される。
【0118】
ゲスト・ロボット100bの認証部154は、ホスト・ロボット100aのロボットIDを受信したときに機体情報を100aに送信する(S20)。ホスト・ロボット100aは、機体情報に基づいてセキュリティ・チェック(図10参照)を実行する。セキュリティ・チェックにパスすると(S22のY)、ホスト・ロボット100aから設定情報が送信され、通信部142は設定情報を受信する(S24)。アクセス管理部172は、設定情報に基づいてサーバ200に接続要求を送信する(S26)。このとき、ロボットIDとゲスト・パスワードが送信される。
【0119】
サーバ200の接続部226は、ロボットIDとゲスト・パスワードが一致したときにゲスト・ロボット100bの接続を許可し、ゲスト・ロボット100bはサーバ200と接続する。上述したように、ゲスト・ロボット100bは、第1通信回線302および第2通信回線304の2つの通信回線にてサーバ200と接続する。接続後、行動特性取得部140はサーバ200から行動特性情報を受信する(S28)。
ゲスト・ロボット100bは、抱っこされているときでなければ、ロボットIDを検出しない、あるいは、ロボットIDを発信しないとしてもよい。この場合には、認識部156が抱っこを検出していなければ、認証処理は実行されない。
【0120】
サーバ200のマップ管理部210は、ゲスト・ロボット100bと接続後、ゲスト・ロボット100bのための行動マップを生成する。また、サーバ200の動作制御部222は、ゲスト・ロボット100bのためのモーションファイル、モーション選択テーブルを準備する。行動マップは、ホスト・ロボット100aの行動マップをコピーすることにより作成されてもよいし、新規に作成されてもよい。モーションファイルやモーション選択テーブルについても同様である。
【0121】
サーバ200からゲスト・ロボット100bに対して提供される行動特性情報には(1)モーションファイルおよびモーション選択テーブル(2)行動制約情報(3)知識情報が含まれる。モーションファイルとモーション選択テーブルは、ホスト・ロボット100aと同様、ゲスト・ロボット100bのモーション格納部160に格納される。行動制約情報は、図9に関連して説明した情報である。知識情報は、ホームXに関する情報である。本実施形態における知識情報は、ホームXのオーナーのプロファイル(身体的特徴および行動的特徴)、各オーナーに対するホスト・ロボット100aの親密度およびホームXの間取り図である。知識情報は、ホスト・ロボット100aにあらかじめ設定される先天的知識であってもよいし、ホスト・ロボット100aがホームXにおける活動の結果としてセンシングにより集めた後天的知識であってもよい。
【0122】
ゲスト・ロボット100bは、知識情報を取得することにより、ホームXの1以上のオーナーのプロファイル(身体的・行動的特徴)を知ることができるため、初対面のときからホームXのオーナーを認識できる。ゲスト・ロボット100bに与える知識情報の全部または一部は、ゲスト・ロボット100bに保存するのではなく、サーバ200がゲスト・ロボット100bのために管理してもよい。間取り図を取得することにより、ゲスト・ロボット100bはホームXにおける行動可能範囲を速やかに把握できる。
【0123】
親密度情報を提供すれば、ホスト・ロボット100aが好印象を持っているオーナーに対して、ゲスト・ロボット100bに好印象をもたせることができる。たとえば、ホスト・ロボット100aのオーナーAに対する親密度が90のときには、親密度管理部220はゲスト・ロボット100bの初対面のオーナーAに対する親密度をその8割の72に設定してもよい。ホスト・ロボット100aのオーナーAに対する好感度がゲスト・ロボット100bにも伝承されることになるため、ゲスト・ロボット100bはオーナーAに積極的に関わるという行動特性を示すことができる。ホスト・ロボット100aに好かれるオーナーAは、初対面のゲスト・ロボット100bにも好かれるので「ロボット100に好かれやすい」という自意識をもつことができる。
【0124】
ホスト・ロボット100aのセキュリティ・チェックにパスしなかったときには(S22のN)、S24以降の処理はスキップされ、ゲスト・ロボット100bはサーバ200の行動支援を受けることはできない。この場合には、ゲスト・ロボット100bは自らが保有する行動特性情報にしたがってスタンドアロンにて行動してもよい。
【0125】
図12は、通信回線のバックアップ処理過程を示すフローチャートである。
サーバ200およびロボット100は、第1通信回線302および第2通信回線304の2つの通信回線により接続される。サーバ200の通信部204は、第1通信回線302が切断されていなければ(S30のN)、サーバ200とロボット100は第1通信回線302を介してデータを送受する(S34)。第1通信回線302が切断されている場合でも(S30のY)、第2通信回線304が維持されていれば(S32のN)、サーバ200とロボット100は第2通信回線304を介してデータを送受する(S36)。第2通信回線304も切断されているときには(S32のY)、接続部226はエラーを報知する(S38)。
【0126】
第1通信回線302および第2通信回線304の双方が切断されたときには、第1通信回線302および第2通信回線304による再接続処理を実行してもよいし、所定時間経過してから再接続処理を実行してもよい。また、第1通信回線302および第2通信回線304とは異なる別の周波数帯にて通信接続してもよいし、サーバ200とロボット100を有線接続するようにオーナーに指示してもよい。
第1通信回線302が切断される場合のほか、通信スループットの低下など、第1通信回線302が不調となったときに第1通信回線302から第2通信回線304への切換えを行ってもよい。
【0127】
図13は、ホスト・ロボット100aからゲスト・ロボット100bに行動指示するときの処理過程を示すシーケンス図である。
ホスト・ロボット100aは、随時、モーションを選択する(S40)。特定のモーション(以下、「起動モーション」とよぶ)が選択されたとき(S41のN)、ホスト・ロボット100aの指示送信部134は「行動指示」をゲスト・ロボット100bに送信する(S42)。行動指示には、起動モーションにあらかじめ対応づけられるモーション(以下、「連動モーション」とよぶ)のモーションIDが通知される。起動モーションが選択されなかったときには(S41のN)、行動指示は送信されない。その後、ホスト・ロボット100aは、選択した起動モーションを実行する(S46)。
【0128】
一方、ゲスト・ロボット100bの指示受信部138が行動指示を受信すると、ゲスト・ロボット100bの動作制御部150は指定された連動モーションを選択し(S44)、連動モーションの実行を指示する(S48)。以上の制御により、ホスト・ロボット100aが起動モーションを選択すると、ゲスト・ロボット100bは起動モーションに関連付けられる連動モーションを実行するため、ホスト・ロボット100aとゲスト・ロボット100bの協調行動が実現される。
【0129】
たとえば、ホスト・ロボット100aが右回転する起動モーションを実行するとき、ホスト・ロボット100aはゲスト・ロボット100bに左回転する連動モーションを実行してもよい。ホスト・ロボット100aが回転を始めると、ゲスト・ロボット100bも回転を始めるので、あたかもホスト・ロボット100aとゲスト・ロボット100bの間に暗黙のコミュニケーションが成立したかのような行動表現が可能となる。
【0130】
ホスト・ロボット100aが移動するときに、ゲスト・ロボット100bがホスト・ロボット100aを追いかける行動を実行してもよいし、ホスト・ロボット100aが手106を挙げると、ゲスト・ロボット100bも手106を挙げてもよい。
【0131】
ホスト・ロボット100aが複数種類のモーションのうち、起動モーションを選択したときには必ず行動指示を送信するとしてもよいし、起動モーションを選択したときに所定の確率にて行動指示を送信するとしてもよい。モーション選択テーブルにおいて、起動モーションに対して複数の連動モーションを対応づけておき、ホスト・ロボット100aが起動モーションを選択したときにはその起動モーションに対応づけられる複数の連動モーションのうちのいずれかをランダムに選択してもよい。
【0132】
行動指示は、ホスト・ロボット100aからゲスト・ロボット100bにアドホック通信によりなされてもよいし、ホスト・ロボット100aからサーバ200を経由してゲスト・ロボット100bに行動指示が送信されてもよい。
【0133】
図14は、ゲスト・ロボット100bの接続終了処理過程を示すフローチャートである。
本実施形態においては、ゲスト・ロボット100bとサーバ200の接続時間は30分に制限される。制限時間の30分が経過すると、無効化条件が成立し、ゲスト・ロボット100bの通信部142はサーバ200との接続を終了させる(S50)。無効処理部152は、サーバ200との接続後に取得したデータであって、ゲスト・ロボット100bのデータ格納部148(不揮発性メモリ)に保存されているデータを無効化する(S52)。本実施形態における無効化とは、記憶装置からデータを完全消去することを意味する。知識情報、ホームXの撮像画像データや録音データ等の保存(持ち出し)が行動制約情報によって禁止されている場合は、これらの情報も無効化される。
【0134】
無効化後、動作制御部150はお別れの挨拶として手106を振るバイバイモーションを実行する(S54)。接続終了後に実行するモーションとしては、お辞儀をする、ホスト・ロボット100aやホスト・ロボット100aのオーナーに体をくっつける、玄関に向かうなど、さまざまなモーションが考えられる。
【0135】
以上、実施形態に基づいてロボット100およびロボット100を含むロボットシステム300について説明した。
本実施形態によれば、ホスト・ロボット100aおよびゲスト・ロボット100bを近づけるだけで、ゲスト・ロボット100bを簡単にホームXのロボットシステム300に受け入れることができる。ロボットシステム300において、ユーザが関わるのはロボット100であり、ユーザはサーバ200の存在を意識することはなく、また、サーバ200はユーザに認識させたくないものである。サーバ200とゲスト・ロボット100bではなく、ホスト・ロボット100aとゲスト・ロボット100bで認証処理を実行できるため、認証処理に際してもユーザにサーバ200を意識させにくいというメリットがある。また、ホスト・ロボット100aとゲスト・ロボット100bの近接行為により、ホスト・ロボット100aとゲスト・ロボット100bの間で暗黙のコミュニケーションが成立したかのような演出が可能となる。
【0136】
ロボット100は、自らが所属するサーバ200に対してはホスト・ロボット100aとして振る舞い、サーバ200との通信が切断されたとき、たとえば、サーバ200から所定距離以上離れたときには無所属となる。そして、他のロボット100によって認証されたときにはそのロボット100の所属するサーバ200に対してゲスト・ロボット100bとして振る舞う。
【0137】
ゲスト・ロボット100bをホスト・ロボット100aが認証しなければ、すなわち、ゲスト・ロボット100bをホスト・ロボット100aに近づけなければゲスト・ロボット100bはサーバ200が管理するリソースにアクセスできない。サーバ200のリソースへのアクセス権設定に対して、このような「近づける」という物理的な認証を条件とすることにより、サーバ200からの情報漏洩を抑制できる。
【0138】
ゲスト・ロボット100bは、サーバ200との接続後、サーバ200から行動特性情報を取得する。ホームXの見取り図やゲスト・ロボット100bにとっては初対面のホームXの住人のプロファイルを取得できるため、ゲスト・ロボット100bはホームXにおいて早期に適切な行動をしやすくなる。
【0139】
ホームXにおいては、ゲスト・ロボット100bに対する行動制約を設定できる。また、ゲスト・ロボット100bがサーバ200との接続後に取得したデータを無効できる。安全およびセキュリティに関する条件をゲスト・ロボット100bに課すことができるため、安心してゲスト・ロボット100bを受け入れやすくなる。
【0140】
ホスト・ロボット100aからゲスト・ロボット100bに行動指示をすることにより、ホスト・ロボット100aとゲスト・ロボット100bの協調行動が可能となる。複数のロボット100ならではの行動表現が可能となるため、保有するロボット100を他の家庭に持ち込むことや、他の家庭からロボット100を受け入れることによる特有の楽しさを提供できる。
【0141】
本実施形態におけるロボットシステム300においては、サーバ200およびロボット100は第1通信回線302および第2通信回線304の2つの通信回線にて二重接続される。第1通信回線302および第2通信回線304の一方が不調となったときでも他方を使って通信を継続できるため、サーバ200とロボット100の通信を堅牢化できる。
【0142】
なお、本発明は上記実施形態や変形例に限定されるものではなく、要旨を逸脱しない範囲で構成要素を変形して具体化することができる。上記実施形態や変形例に開示されている複数の構成要素を適宜組み合わせることにより種々の発明を形成してもよい。また、上記実施形態や変形例に示される全構成要素からいくつかの構成要素を削除してもよい。
【0143】
1つのロボット100と1つのサーバ200、複数の外部センサ114によりロボットシステム300が構成されるとして説明したが、ロボット100の機能の一部はサーバ200により実現されてもよいし、サーバ200の機能の一部または全部がロボット100に割り当てられてもよい。1つのサーバ200が複数のロボット100をコントロールしてもよいし、複数のサーバ200が協働して1以上のロボット100をコントロールしてもよい。
【0144】
ロボット100やサーバ200以外の第3の装置が、機能の一部を担ってもよい。図8において説明したロボット100の各機能とサーバ200の各機能の集合体は大局的には1つの「ロボット」として把握することも可能である。1つまたは複数のハードウェアに対して、本発明を実現するために必要な複数の機能をどのように配分するかは、各ハードウェアの処理能力やロボットシステム300に求められる仕様等に鑑みて決定されればよい。
【0145】
上述したように、「狭義におけるロボット」とはサーバ200を含まないロボット100のことであるが、「広義におけるロボット」はロボットシステム300のことである。サーバ200の機能の多くは、将来的にはロボット100に統合されていく可能性も考えられる。
【0146】
認証後にゲスト・ロボット100bがアクセス可能なリソースとしては、行動マップ、間取り図、プロファイル、親密度情報のほかにもさまざまなものが考えられる。たとえば、ホームXの温度分布情報を与えれば、ゲスト・ロボット100bは自ら温度計測をしなくてもすぐに涼しい場所や暖かい場所を把握できる。壁に囲まれた安全で視認されにくい場所など、さまざまな情報が提供されてもよい。
【0147】
ホスト・ロボット100aは、セキュリティ・チェック(図11のS20)に際しては、ゲスト・ロボット100bがスパイウェア(Spyware)などの不正なアプリケーション・ソフトウェアを搭載していないかをチェックしてもよい。不正なアプリケーション・ソフトウェアは、あらかじめサーバ200に不正リストとして登録されていてもよい。ホスト・ロボット100aは200にアクセスして不正リストを参照し、ゲスト・ロボット100bが不正なアプリケーションを搭載していないかを確認する。
【0148】
セキュリティ・チェックに際しては、ゲスト・ロボット100bのファームウェア(Firmware)のバージョンをチェックしてもよいし、ゲスト・ロボット100bの製造番号をメーカーに問い合わせることでゲスト・ロボット100bが純正品か否かを確認してもよい。ゲスト・ロボット100bが、ホームXにおいて使用禁止とされるアプリケーション・ソフトウェアを搭載しているときには、ホスト・ロボット100aはゲスト・ロボット100bがサーバ200と接続するのを拒否してもよいし、そのようなアプリケーションの使用を停止させることを条件としてサーバ200への接続を許可してもよい。たとえば、ホームXにおいて外部への画像送信を行うソフトウェアを禁止している場合において、ゲスト・ロボット100bが画像送信ソフトウェアを搭載しているときには、サーバ200のセキュリティ管理部242はゲスト・ロボット100bに対して画像送信ソフトウェアのプロセスの実行停止を指示してもよい。
【0149】
本実施形態においては、サーバ200へのアクセス権は、ホスト・ロボット100aからゲスト・ロボット100bに設定情報として提供される。変形例として、ゲスト・ロボット100bをサーバ200に近づけたとき、サーバ200がゲスト・ロボット100bを認証してもよい。認証後、サーバ200はゲスト・ロボット100bに設定情報を提供し、ゲスト・ロボット100bは設定情報に基づいてサーバ200と接続してもよい。
【0150】
ホスト・ロボット100aがゲスト・ロボット100bのセキュリティ・チェックを実行するのではなく、サーバ200がゲスト・ロボット100bのセキュリティ・チェックを実行してもよい。また、ホスト・ロボット100aまたはサーバ200がゲスト・ロボット100bに対してセキュリティに関する質問を投げかけ、ゲスト・ロボット100bがそれについての回答をホスト・ロボット100aまたはサーバ200に返すことでセキュリティ・チェックを実行してもよい。ホスト・ロボット100aがゲスト・ロボット100bに対して製造番号を問い合わせ、ゲスト・ロボット100bが自らの製造番号をサーバ200に返信し、サーバ200はこの製造番号が正規品のものであるかをロボット100のメーカーに問い合わせることでゲスト・ロボット100bの認証を実行してもよい。
【0151】
サーバ200からゲスト・ロボット100bに提供される行動制約情報には、カメラの解像度制限、撮影禁止場所の指定、行動可能範囲の指定、データの持ち出しや外部送信の禁止、データの不揮発性メモリへの保存の禁止などさまざまな設定が可能である。ゲスト・ロボット100bがサーバ200と接続しているときには、ゲスト・ロボット100bがホスト・ロボット100aおよびサーバ200以外の装置と通信回線を確立することを禁止してもよい。
【0152】
ロボット100は、通常モードと抑制モードの2つの動作モードを備えてもよい。抑制モードでは、移動速度制限や通信制限、カメラやマイクロフォンの使用制限などのさまざまな行動制限が設定される。ゲスト・ロボット100bがサーバ200と接続するときには、ゲスト・ロボット100bは抑制モードに設定変更してもよい。ゲスト・ロボット100bがサーバ200と接続した時に自動的に抑制モードに変更してもよいし、ホスト・ロボット100aまたはサーバ200(セキュリティ管理部242)がゲスト・ロボット100bに対して抑制モードに変更するように指示してもよい。
【0153】
サーバ200に対して、複数のホスト・ロボット100aが接続されてもよい。ロボットシステム300の説明書に2次元コードを記載し、1台目のホスト・ロボット100a(以下、「第1ホスト・ロボット100a1」と記載する)がカメラにて2次元コードを撮像すると、第1ホスト・ロボット100a1はサーバ200と接続される。サーバ200は、第1ホスト・ロボット100a1のロボットIDを「ホスト」として登録する。2台目のホスト・ロボット100a(以下、「第2ホスト・ロボット100a2」と記載する)がカメラにて2次元コードを撮像すると、第2ホスト・ロボット100a2もサーバ200と接続される。このときにも、サーバ200は、第2ホスト・ロボット100a2のロボットIDを「ホスト」として登録する。
【0154】
ユーザは、第1ホスト・ロボット100a1を購入したあと、更に、第2ホスト・ロボット100a2を購入してもよい。この場合、第1ホスト・ロボット100a1が「兄または姉」にあたり第2ホスト・ロボット100a2は「弟または妹」にあたる。ゲスト・ロボット100bは「友だち」にあたる。このような関係性は、複数のロボット100に対して人間関係や血縁関係のイメージを投影させる上でも有効である。第2ホスト・ロボット100a2が登録されたとき、第1ホスト・ロボット100a1の知識情報が第2ホスト・ロボット100a2に伝授されてもよい。また、第2ホスト・ロボット100a2が家庭に慣れるまで行動制約を設定してもよい。
【0155】
サーバ200に所定の登録入力がなされたとき、サーバ200が2次元コードをモニタ表示させてもよい。サーバ200に所定の登録入力がなされてから所定時間以内に、第1ホスト・ロボット100a1をサーバ200に近づけると、サーバ200は第1ホスト・ロボット100a1をホストとして登録するとしてもよい。2次元コードなどの秘密情報にアクセスしたロボット100は「ホスト」として登録され、ホスト・ロボット100aに認証されたロボット100は「ゲスト」として登録されてもよい。
【0156】
本実施形態においては、サーバ200とロボット100は、周波数帯の異なる2種類の通信回線により接続される。一方の通信回線が不調のときには、他方の通信回線によりデータ送受が行われる。変形例として、同じデータを2つの通信回線で常時同時に送受してもよい。第1通信回線302の不調がロボット100およびサーバ200のいずれかに検出されたときには、ロボット100はサーバ200に対して第1通信回線302による再接続を実行する。サーバ200からロボット100に対して再接続を実行してもよい。
【0157】
ホスト・ロボット100aからゲスト・ロボット100bへの行動指示は、ゲスト・ロボット100bに対する連動モーションの選択指示であってもよいし、2以上のロボット100による「遊び」を表現してもよい。たとえば、ホスト・ロボット100aが部屋を逃げまわり、ゲスト・ロボット100bがホスト・ロボット100aを追いかける「鬼ごっこ」を指示してもよい。ゲスト・ロボット100bとホスト・ロボット100aは内蔵のタッチセンサにより互いの接触を検出する。ゲスト・ロボット100bがホスト・ロボット100aにタッチしたときには、ゲスト・ロボット100bが逃げてホスト・ロボット100aが「鬼」となってゲスト・ロボット100bを追いかける。
同様に、ホスト・ロボット100aがソファの後ろやテーブルの下など、壁や天井に囲まれた場所に隠れ、それをゲスト・ロボット100bが見つける「かくれんぼ」を実行してもよい。
【0158】
ホスト・ロボット100aがゲスト・ロボット100bに行動指示するだけでなく、ゲスト・ロボット100bがホスト・ロボット100aに行動指示してもよい。たとえば、ホスト・ロボット100aよりもゲスト・ロボット100bの製造年月日が古いときには、ゲスト・ロボット100bからホスト・ロボット100aに行動指示がなされるとしてもよい。具体的には、サーバ200のデータ格納部206は、ロボット情報格納部(図示せず)を有する。ロボット情報格納部は、ロボットID、製造年月日、ホストとゲストの別、故障歴、製造地点(出身地)など接続中のロボット100に関する各種のロボット情報を格納する。ロボット100の通信部142は、サーバ200と接続するときに自らが保有するロボット情報を送信する。サーバ200のロボット情報登録部(図示せず)は、新たに接続したロボット100のロボット情報をロボット情報格納部に記録する。サーバ200の通信部204は、接続中の1以上のロボット100に対して各ロボット100のロボット情報を送信する。このような制御により、同一のサーバ200に接続する複数のロボット100は互いにロボット情報を共有する。ロボット100の認識部156は、他のロボット100のロボット情報(製造年月日)と自らのロボット情報(製造年月日)を比較する。相手のロボット100よりも製造年月日が古いとき、動作制御部150はその「若いロボット100」に対して、指示送信部134を介して行動指示を送信する。一方、製造年月日の古い「年上のロボット100」に対しては、行動指示を送信しない。このような関係性は、複数のロボット100に対して上下関係のイメージを投影させる上でも有効である。
【0159】
ゲスト・ロボット100bは、ホスト・ロボット100aから行動指示を受信しても、所定の確率にてこれを拒否してもよい。ロボット100は、他のロボット100に対する親密度を管理してもよい。具体的には、サーバ200の親密度管理部220は、ロボット100とロボット100の間の親密度をまとめて管理する。上記の場合、サーバ200は、ホスト・ロボット100aのゲスト・ロボット100bに対する親密度およびゲスト・ロボット100bのホスト・ロボット100aに対する親密度を個別に管理する。たとえば、よく出会うロボット100や、たくさんの行動指示を出し合ったロボット100に対しては高い親密度が設定されてもよい。親密度が高いほど、行動指示が拒否される確率が低下するとしてもよいし、高頻度で行動指示を送信しやすくなるとしてもよい。ゲスト・ロボット100bから見て所定値以上の親密度を設定されるホスト・ロボット100a(ゲスト・ロボット100bに好かれているロボット100)に対しては、ゲスト・ロボット100bからホスト・ロボット100aに行動指示を送信するとしてもよい。ロボット100の通信部142は、行動指示が受信されたとき、行動指示をしたロボット100に対する親密度をサーバ200に問い合わせ、動作制御部150はそのロボット100に対する親密度に応じて行動指示の諾否を判定する。
【0160】
ホスト・ロボット100aとゲスト・ロボット100bは、実行タイミングを合わせて起動モーションと連動モーションをそれぞれ実行してもよい。図13の行動指示(S42)に際して、連動モーションの実行タイミングを「3秒後」のように指定してもよい。そして、同じタイミングでホスト・ロボット100aが起動モーションを実行することにより「息の合った協調行動」を表現できる。
【0161】
図14のデータ無効化(S52)に際しては、不揮発性メモリからデータを完全消去してもよいし、書き込み可能な状態(非保存状態)としてもよい。消去対象となるデータは、サーバ200との接続後に取得されたデータの全部または一部である。サーバ200との接続後に取得されるデータは揮発性メモリのみに記録可能としてもよい。
【0162】
データ無効化は、ゲスト・ロボット100bがサーバ200と接続されてから所定の制限時間が経過した時に実行されてもよいし、ゲスト・ロボット100bがサーバ200から所定距離以上離れたときに実行されてもよい。たとえば、ゲスト・ロボット100bがサーバ200の管理するいずれの外部センサ114からも検出されなくなったときに、サーバ200のセキュリティ管理部242はゲスト・ロボット100bに対してデータ無効化を指示してもよい。
【0163】
データ無効化は、所定の無効化条件が成立した時にゲスト・ロボット100bが自ら実行してもよいし、サーバ200のセキュリティ管理部242がゲスト・ロボット100bに対してデータ無効化を指示してもよい。たとえば、ゲスト・ロボット100bがホームXにおいてモノにぶつかったとき、ホスト・ロボット100aから所定距離以上離れたとき、ゲスト・ロボット100bから異常信号を検出したとき、セキュリティ管理部242はデータ無効化を指示してもよい。
【0164】
ゲスト・ロボット100bは、サーバ200との接続終了時に保有するデータをサーバ200に提示してもよい。ホームXのオーナーはサーバ200において表示されるデータ、たとえば、撮像画像や録音データ、プロファイルなどを確認し、無効化すべきデータを選択してもよい。セキュリティ管理部242は、オーナーに選択されたデータの無効化をゲスト・ロボット100bに指示する。
【0165】
上述したように、サーバ200はホスト・ロボット100aに認証権を与え、ホスト・ロボット100aはサーバ200の代理としてゲスト・ロボット100bを認証する。ゲスト・ロボット100bは、ホスト・ロボット100aに認証されることで、サーバ200へのアクセス権を取得する。このような認証方式はロボットシステム300以外にも応用可能である。たとえば、コンテンツ・サーバとモバイル端末A(第1の装置)が接続されている状態で、モバイル端末Aが別のモバイル端末B(第2の装置)を認証すると、モバイル端末Bがコンテンツ・サーバにアクセス可能となってもよい。
モバイル端末Bのユーザは、コンテンツ・サーバ本体にアクセスしなくても、モバイル端末Aから認証されるだけでコンテンツ・サーバに接続できる。このときにも、モバイル端末Bがアクセス可能なリソースやアクセス時間については制限を設定してもよい。
【0166】
ゲスト・ロボット100bは、ゲスト・ロボット100bのオーナーBのプロファイルを保存しておき、これをホームXに持ち込んでもよい。そして、ゲスト・ロボット100bはオーナーBのプロファイルをホスト・ロボット100aに伝えてもよい。この場合には、ホスト・ロボット100aは初対面であってもオーナーBを認識しやすくなる。ゲスト・ロボット100bがサーバ200との接続を遮断したとき、サーバ200のセキュリティ管理部242はオーナーBのプロファイルを自主的に無効化してもよい。
【0167】
ロボットシステム300は、工場出荷時から認証機能や行動指示機能等を備える必要はない。ロボットシステム300の出荷後に、通信ネットワークを介してこれらの機能を実現する行動制御プログラムをダウンロードすることにより、ロボットシステム300の機能強化が実現されてもよい。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14