IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

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

特許7281198経験に基づいて行動する自律行動型ロボット
<>
  • 特許-経験に基づいて行動する自律行動型ロボット 図1
  • 特許-経験に基づいて行動する自律行動型ロボット 図2
  • 特許-経験に基づいて行動する自律行動型ロボット 図3
  • 特許-経験に基づいて行動する自律行動型ロボット 図4
  • 特許-経験に基づいて行動する自律行動型ロボット 図5
  • 特許-経験に基づいて行動する自律行動型ロボット 図6
  • 特許-経験に基づいて行動する自律行動型ロボット 図7
  • 特許-経験に基づいて行動する自律行動型ロボット 図8
  • 特許-経験に基づいて行動する自律行動型ロボット 図9
  • 特許-経験に基づいて行動する自律行動型ロボット 図10
  • 特許-経験に基づいて行動する自律行動型ロボット 図11
  • 特許-経験に基づいて行動する自律行動型ロボット 図12
  • 特許-経験に基づいて行動する自律行動型ロボット 図13
  • 特許-経験に基づいて行動する自律行動型ロボット 図14
  • 特許-経験に基づいて行動する自律行動型ロボット 図15
  • 特許-経験に基づいて行動する自律行動型ロボット 図16
  • 特許-経験に基づいて行動する自律行動型ロボット 図17
  • 特許-経験に基づいて行動する自律行動型ロボット 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-17
(45)【発行日】2023-05-25
(54)【発明の名称】経験に基づいて行動する自律行動型ロボット
(51)【国際特許分類】
   B25J 13/08 20060101AFI20230518BHJP
【FI】
B25J13/08 Z
【請求項の数】 19
(21)【出願番号】P 2019569543
(86)(22)【出願日】2019-01-31
(86)【国際出願番号】 JP2019003342
(87)【国際公開番号】W WO2019151387
(87)【国際公開日】2019-08-08
【審査請求日】2022-01-28
(31)【優先権主張番号】P 2018014365
(32)【優先日】2018-01-31
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】515337268
【氏名又は名称】GROOVE X株式会社
(72)【発明者】
【氏名】林 要
(72)【発明者】
【氏名】林 淳哉
【審査官】臼井 卓巳
(56)【参考文献】
【文献】特開2002-370183(JP,A)
【文献】特開2017-111688(JP,A)
【文献】特開2009-140307(JP,A)
【文献】特開2008-238383(JP,A)
【文献】特開2008-087101(JP,A)
【文献】特開2005-078383(JP,A)
【文献】特開2004-299033(JP,A)
【文献】特開2018-008316(JP,A)
【文献】米国特許出願公開第2017/0131721(US,A1)
【文献】国際公開第2009/047696(WO,A2)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 5/00-19/06
H04N 7/18
(57)【特許請求の範囲】
【請求項1】
ロボットのモーションを選択する動作制御部と、
前記動作制御部により選択されたモーションを実行する駆動機構と、
撮像画像を取得する撮像画像取得部と、
前記撮像画像から特徴点を抽出することにより、画像特徴情報を取得する画像特徴取得部と、
前記撮像画像が取得された地点の環境情報を取得する環境情報取得部と、
前記画像特徴情報と前記環境情報を対応づけることにより、環境記憶を生成するマップ管理部と、を備え、
前記動作制御部は、前記環境記憶に基づいて、所定の移動先条件を満たす環境情報に対応づけられる地点を移動目標地点として設定することを特徴とする自律行動型ロボット。
【請求項2】
前記マップ管理部は、更に、第1の地点の第1の時点における第1の画像特徴情報と前記第1の地点の第2の時点における第2の画像特徴情報を比較し、相違する特徴点を除外することにより、前記第1の地点の画像特徴情報を更新することを特徴とする請求項1に記載の自律行動型ロボット。
【請求項3】
環境情報に応じて感情パラメータを変化させる状態管理部、を更に備え、
前記状態管理部は、前記環境記憶に基づいて、ロボットの現在地点において取得された画像特徴情報に対応する環境情報を特定し、前記特定された環境情報に応じて感情パラメータを変化させ、
前記動作制御部は、感情パラメータにしたがってロボットの行動特性を変化させることを特徴とする請求項1または2に記載の自律行動型ロボット。
【請求項4】
前記動作制御部は、所定のイベントが発生したとき、所定の退避先条件を満たす環境情報と対応づけられる地点に移動目標地点を設定することを特徴とする請求項1に記載の自律行動型ロボット。
【請求項5】
前記環境情報取得部は、無線の受信強度を前記環境情報として取得することを特徴とする請求項1に記載の自律行動型ロボット。
【請求項6】
前記撮像画像取得部は、第1の地点においてはm枚の撮像画像を取得し、前記第1の地点において所定のイベントが発生したときにはn枚(nはmより大きい自然数)の撮像画像を取得することを特徴とする請求項1に記載の自律行動型ロボット。
【請求項7】
イベントに応じて感情パラメータを変化させる状態管理部と、
前記イベントが発生したときに取得される撮像画像に含まれるオブジェクトを前記イベントに対応づけて登録するオブジェクト管理部、を更に備え、
前記状態管理部は、更に、ロボットの現在地点において特定されたオブジェクトに対応づけられるイベントに応じて感情パラメータを変化させ、
前記動作制御部は、感情パラメータにしたがってロボットの行動特性を変化させることを特徴とする請求項1に記載の自律行動型ロボット。
【請求項8】
前記オブジェクト管理部は、前記イベントが発生したときに取得される撮影画像から前記オブジェクトが特定されるごとに前記イベントと前記オブジェクトの関連度を強化し、
前記状態管理部は、更に、ロボットの現在地点において特定されたオブジェクトと、前記オブジェクトに対応づけられるイベントの関連度に応じて感情パラメータを変化させることを特徴とする請求項7に記載の自律行動型ロボット。
【請求項9】
ロボットのモーションを選択する動作制御部と、
前記動作制御部により選択されたモーションを実行する駆動機構と、
撮像画像を取得する撮像画像取得部と、
撮像画像の特徴量を抽出することにより、画像特徴情報を取得する画像特徴取得部と、
撮像画像が取得された時点において第1次環境情報を取得し、画像特徴情報と第1次環境情報を対応づけて登録する第1次環境情報取得部と、
新規に取得された第1の画像特徴情報との類似度が所定閾値以上となる画像特徴情報に対応づけられる第1次環境情報を前記第1の画像特徴情報に対応する第2次環境情報として特定する第2次環境情報取得部と、を備え、
前記動作制御部は、第1次環境情報および第2次環境情報の双方に基づいてロボットの行動特性を変化させることを特徴とする自律行動型ロボット。
【請求項10】
前記第2次環境情報取得部は、前記第1の画像特徴情報に基づいて第2次環境情報を特定できなかったときには、撮像方向を変更して第3の画像特徴情報を取得し、新たに取得した第3の画像特徴情報に基づいて第2次環境情報を特定することを特徴とする請求項9に記載の自律行動型ロボット。
【請求項11】
ロボットのモーションを選択する動作制御部と、
前記動作制御部により選択されたモーションを実行する駆動機構と、
撮像画像を取得する撮像画像取得部と、
撮像画像の特徴量を抽出する画像特徴取得部と、
撮像画像が取得された地点における第1次環境情報を取得する第1次環境情報取得部と、
特徴量を入力として環境情報を出力する所定の推測モデルに対して、新規に取得された撮像画像の特徴量を入力とすることにより、前記推測モデルから出力される環境情報を第2次環境情報として取得する第2次環境情報取得部と、を備え、
前記動作制御部は、第1次環境情報および第2次環境情報の双方に基づいてロボットの行動特性を変化させることを特徴とする自律行動型ロボット。
【請求項12】
前記第1次環境情報取得部は、第1の地点において取得された撮像画像の特徴量および前記第1の地点において取得された第1次環境情報により前記推測モデルを更新することを特徴とする請求項11に記載の自律行動型ロボット。
【請求項13】
撮像画像を取得する機能と、
前記撮像画像から特徴点を抽出することにより、画像特徴情報を取得する機能と、
前記撮像画像が取得された地点の環境情報を取得する機能と、
前記画像特徴情報と前記環境情報を対応づけることにより、環境記憶を生成する機能と、
前記環境記憶に基づいて、所定の移動先条件を満たす環境情報に対応づけられる地点をロボットの移動目標地点として設定する機能と、をコンピュータに発揮させることを特徴とする自律行動型ロボットの行動制御プログラム。
【請求項14】
撮像画像を取得する機能と、
撮像画像の特徴量を抽出することにより、画像特徴情報を取得する機能と、
撮像画像が取得された時点において第1次環境情報を取得し、画像特徴情報と第1次環境情報を対応づけて登録する機能と、
新規に取得された第1の画像特徴情報との類似度が所定閾値以上となる画像特徴情報に対応づけられる第1次環境情報を前記第1の画像特徴情報に対応する第2次環境情報として特定する機能と、
第1次環境情報および第2次環境情報の双方に基づいてロボットの行動特性を変化させる機能と、をコンピュータに発揮させることを特徴とする自律行動型ロボットの行動制御プログラム。
【請求項15】
撮像画像を取得する機能と、
撮像画像の特徴量を抽出する機能と、
撮像画像が取得された地点における第1次環境情報を取得する機能と、
特徴量を入力として環境情報を出力する所定の推測モデルに対して、新規に取得された撮像画像の特徴量を入力とすることにより、前記推測モデルから出力される環境情報を第2次環境情報として取得する機能と、
第1次環境情報および第2次環境情報の双方に基づいてロボットの行動特性を変化させる機能と、をコンピュータに発揮させることを特徴とする自律行動型ロボットの行動制御プログラム。
【請求項16】
ロボットのモーションを選択する動作制御部と、
前記動作制御部により選択されたモーションを実行する駆動機構と、
オブジェクトを検出するオブジェクト検出部と、
前記オブジェクトが検出された時点の環境情報を取得する環境情報取得部と、
前記オブジェクトと前記環境情報を対応づけることにより、環境記憶を生成するオブジェクト管理部と、を備え、
前記動作制御部は、前記環境記憶に基づいて行動特性を変化させることを特徴とする自律行動型ロボット。
【請求項17】
ロボットのモーションを選択する動作制御部と、
前記動作制御部により選択されたモーションを実行する駆動機構と、
オブジェクトを検出するオブジェクト検出部と、
オブジェクトが検出されたとき、感情パラメータを変化させる状態管理部と、を備え、
前記動作制御部は、感情パラメータにしたがってロボットの行動特性を変化させることを特徴とする自律行動型ロボット。
【請求項18】
前記状態管理部は、更に、複数のオブジェクトの組み合わせに対応して前記複数のオブジェクトを含む空間に対する印象記憶を設定し、
前記動作制御部は、ロボットの現在地点を含む空間の印象記憶に基づいて、ロボットの行動特性を変化させることを特徴とする請求項17に記載の自律行動型ロボット。
【請求項19】
ロボットのモーションを選択する動作制御部と、
前記動作制御部により選択されたモーションを実行する駆動機構と、
複数のオブジェクトを検出するオブジェクト検出部と、
前記複数のオブジェクトが検出された時点の環境情報を取得する環境情報取得部と、
前記環境情報に基づいて、前記複数のオブジェクトに印象記憶を設定する状態管理部と、を備え、
前記状態管理部は、前記複数のオブジェクトが再検出されたときには、前記複数のオブジェクトに対応づけられる印象記憶に基づいて感情パラメータを変化させ、
前記動作制御部は、感情パラメータにしたがってロボットの行動特性を変化させることを特徴とする自律行動型ロボット。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、内部状態または外部環境に応じて自律的に行動選択するロボット、に関する。
【背景技術】
【0002】
人間は、癒やしを求めてペットを飼う。その一方、ペットの世話をする時間を十分に確保できない、ペットを飼える住環境にない、アレルギーがある、死別がつらい、といったさまざまな理由により、ペットをあきらめている人は多い。もし、ペットの役割が務まるロボットがあれば、ペットを飼えない人にもペットが与えてくれるような癒やしを与えられるかもしれない(特許文献1、2参照)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2000-323219号公報
【文献】国際公開第2017/169826号
【発明の概要】
【発明が解決しようとする課題】
【0004】
近年、ロボット技術は急速に進歩しつつあるが、ペットのような伴侶としての存在感を実現するには至っていない。ロボットに自由意志があるとは思えないからである。人間は、ペットの自由意志があるとしか思えないような行動を観察することにより、ペットに自由意志の存在を感じ、ペットに共感し、ペットに癒される。
【0005】
生物の特徴のひとつは「記憶」である。記憶の中には、場所やモノに結びつく連想的な記憶もある。たとえば、窓際の暖かさを経験することにより、「窓際」に「暖かい」という印象が結びつく。あるいは、赤いコートのそばで楽しい経験をしたとき、赤いコートに肯定的なイメージが結びつくこともある。生物は、外部環境に基づいてさまざまな記憶を形成し、外部環境に記憶を刺激されながら行動選択を行う。
【0006】
本発明は上記課題認識に基づいて完成された発明であり、その主たる目的は、ロボットに、場所あるいはモノにともなう記憶を作りながら行動選択させる技術、を提供することにある。
【課題を解決するための手段】
【0007】
本発明のある態様における自律行動型ロボットは、ロボットのモーションを選択する動作制御部と、動作制御部により選択されたモーションを実行する駆動機構と、撮像画像を取得する撮像画像取得部と、撮像画像から特徴点を抽出することにより、画像特徴情報を取得する画像特徴取得部と、撮像画像が取得された地点の環境情報を取得する環境情報取得部と、画像特徴情報と環境情報を対応づけることにより、環境記憶を生成するマップ管理部と、を備える。
動作制御部は、環境記憶を参照し、所定の移動先条件を満たす環境情報に対応づけられる地点を移動目標地点として設定する。
【0008】
本発明の別の態様における自律行動型ロボットは、ロボットのモーションを選択する動作制御部と、動作制御部により選択されたモーションを実行する駆動機構と、撮像画像を取得する撮像画像取得部と、撮像画像の特徴量を抽出することにより、画像特徴情報を取得する画像特徴取得部と、撮像画像が取得された時点において第1次環境情報を取得し、画像特徴情報と第1次環境情報を対応づけて登録する第1次環境情報取得部と、新規に取得された第1の画像特徴情報との類似度が所定閾値以上となる画像特徴情報に対応づけられる第1次環境情報を第1の画像特徴情報に対応する第2次環境情報として特定する第2次環境情報取得部と、を備える。
動作制御部は、第1次環境情報および第2次環境情報の双方に基づいてロボットの行動特性を変化させる。
【0009】
本発明の別の態様における自律行動型ロボットは、ロボットのモーションを選択する動作制御部と、動作制御部により選択されたモーションを実行する駆動機構と、撮像画像を取得する撮像画像取得部と、撮像画像の特徴量を抽出する画像特徴取得部と、撮像画像が取得された地点における第1次環境情報を取得する第1次環境情報取得部と、特徴量を入力として環境情報を出力する所定の推測モデルに対して、新規に取得された撮像画像の特徴量を入力とすることにより、推測モデルから出力される環境情報を第2次環境情報として取得する第2次環境情報取得部と、を備える。
動作制御部は、第1次環境情報および第2次環境情報の双方に基づいてロボットの行動特性を変化させる。
【0010】
本発明の別の態様における自律行動型ロボットは、ロボットのモーションを選択する動作制御部と、動作制御部により選択されたモーションを実行する駆動機構と、オブジェクトを検出するオブジェクト検出部と、オブジェクトが検出された時点の環境情報を取得する環境情報取得部と、オブジェクトと環境情報を対応づけることにより、環境記憶を生成するオブジェクト管理部と、を備える。
動作制御部は、環境記憶に基づいて行動特性を変化させる。
【0011】
本発明の別の態様における自律行動型ロボットは、ロボットのモーションを選択する動作制御部と、動作制御部により選択されたモーションを実行する駆動機構と、オブジェクトを検出するオブジェクト検出部と、オブジェクトが検出されたとき、感情パラメータを変化させる状態管理部と、を備える。
動作制御部は、感情パラメータにしたがってロボットの行動特性を変化させる。
【0012】
本発明の別の態様における自律行動型ロボットは、ロボットのモーションを選択する動作制御部と、動作制御部により選択されたモーションを実行する駆動機構と、複数のオブジェクトを検出するオブジェクト検出部と、複数のオブジェクトが検出された時点の環境情報を取得する環境情報取得部と、環境情報に基づいて、複数のオブジェクトに印象記憶を設定する状態管理部と、を備える。
状態管理部は、複数のオブジェクトが再検出されたときには、複数のオブジェクトに対応づけられる印象記憶に基づいて感情パラメータを変化させ、動作制御部は、感情パラメータにしたがってロボットの行動特性を変化させる。
【発明の効果】
【0013】
本発明によれば、ロボットにおける記憶の生成と記憶にともなう行動選択を実現しやすくなる。
【図面の簡単な説明】
【0014】
図1】ロボットが場所に基づいて記憶を形成する方法を説明するための概念図である。
図2図2(a)はロボットの正面外観図である。図2(b)は、ロボットの側面外観図である。
図3】ロボットの構造を概略的に表す断面図である。
図4】基本構成におけるロボットのハードウェア構成図である。
図5】ロボットシステムの機能ブロック図である。
図6】本実施形態におけるロボットの機能ブロック図である。
図7】キーフレームの作成方法を示す模式図である。
図8】環境マップ情報のデータ構造図である。
図9】オブジェクト情報のデータ構造図である。
図10】キーフレームの連鎖を示す模式図である。
図11】環境マップ情報の更新処理過程を示すフローチャートである。
図12】イベントの発生にともなってロボットが移動先を選択する方法を説明するための模式図である。
図13】イベントの処理過程を示すフローチャートである。
図14図11のS28に示すオブジェクト判定処理の詳細を示すフローチャートである。
図15】変形例におけるオブジェクト環境情報のデータ構造図である。
図16】変形例におけるルーム印象情報のデータ構造図である。
図17】変形例において、オブジェクトを検出したときの処理過程を示すフローチャートである。
図18】別の変形例における行動経験情報のデータ構造図である。
【発明を実施するための形態】
【0015】
図1は、ロボット100が場所に基づいて記憶を形成する方法を説明するための概念図である。
本実施形態のロボット100は小型のカメラを搭載する。ロボット100は、このカメラによって定期的に周辺を撮像することにより多数の撮像画像(静止画像)を取得する。また、ロボット100は、マイクロフォンや温度センサなどの各種センサにより環境情報を取得する。環境情報とは、音、ニオイ、電波の受信強度、温度、ユーザの存否など、各種センサによる検出値の集合体である。ロボット100は、撮像画像に基づく記憶(以下、「画像記憶」とよぶ)と環境情報に基づく記憶(以下、「環境記憶」とよぶ)を形成する。この2種類の記憶を対応づけることで、ロボット100の場所に対する記憶(以下、「場所記憶」とよぶ)が形成される。
【0016】
図1の画像記憶層400は画像記憶を概念的に示す記憶層であり、環境記憶層402は環境記憶を概念的に示す記憶層である。画像記憶は、複数のキーフレーム404の集合体である。キーフレーム404は、撮像画像における特徴点(特徴量)の分布情報である。本実施形態のロボット100は、画像特徴量を用いたグラフベースのSLAM(Simultaneous Localization and Mapping)技術、より具体的には、ORB(Oriented FAST and Rotated BRIEF)特徴量に基づくSLAM技術によりキーフレーム404を形成する(詳細後述)。
【0017】
ロボット100は、移動しながらキーフレーム404を定期的に形成することにより、キーフレーム404の集合体、いいかえれば、画像特徴分布として画像記憶層400を形成する。ロボット100は、現在地点において取得したキーフレーム404と、既に保有している多数のキーフレーム404(画像記憶層400)を比較することにより、画像記憶層400におけるいずれの地点に自らが存在しているかを把握する。すなわち、ロボット100は、実際に視認している撮像画像とかつて視認した撮像画像(記憶)を比較し、自らの現在の状況と過去の記憶を整合させることで「空間認識」を行う。
【0018】
撮像画像の取得時において、ロボット100は環境情報も取得する。環境記憶は、各地点における環境情報の集合体である。ロボット100は、環境情報(環境記憶層402)に基づいて移動方向を選択する。たとえば、ロボット100が高温の地点P1にいるとき、平均気温が20度以下の涼しい地点への移動を選択したとする。ロボット100は、まず、上記条件を満たす環境情報を環境記憶層402から探し、地点P2の環境情報が上記条件を満たすことが判明したとする。次に、ロボット100は地点P2に対応するキーフレーム404を特定する。ロボット100は、画像記憶層400(キーフレーム404の分布)を参照しながら地点P2への移動経路を特定する。以上の制御方法により、ロボット100は、平均気温が20度以下という条件を満たす地点P2に向かって移動する。
【0019】
以下、ロボット100の基本構成について図2から図5に関連して説明したあと、本実施形態における記憶の形成および利用方法を中心として説明する。
なお、基本構成のロボット100は、キーフレーム404ではなく外部センサにより位置を認識することが前提となっている。キーフレーム404と外部センサは併用してもよい。
【0020】
[基本構成]
図2(a)は、ロボット100の正面外観図である。図2(b)は、ロボット100の側面外観図である。
本実施形態におけるロボット100は、外部環境および内部状態に基づいて行動を決定する自律行動型のロボットである。外部環境は、カメラやサーモセンサなど各種のセンサにより認識される。内部状態はロボット100の感情を表現するさまざまなパラメータとして定量化される。ロボット100は、オーナー家庭の家屋内を行動範囲とする。以下、ロボット100に関わる人間を「ユーザ」とよぶ。
【0021】
ロボット100のボディ104は、全体的に丸みを帯びた形状を有し、ウレタンやゴム、樹脂、繊維などやわらかく弾力性のある素材により形成された外皮を含む。ロボット100に服を着せてもよい。ロボット100の総重量は5~15キログラム程度、身長は0.5~1.2メートル程度である。適度な重さと丸み、柔らかさ、手触りのよさ、といった諸属性により、ユーザがロボット100を抱きかかえやすく、かつ、抱きかかえたくなるという効果が実現される。
【0022】
ロボット100は、一対の前輪102(左輪102a,右輪102b)と、一つの後輪103を含む。前輪102が駆動輪であり、後輪103が従動輪である。前輪102は、操舵機構を有しないが、回転速度や回転方向を個別に制御可能とされている。後輪103は、キャスターであり、ロボット100を前後左右へ移動させるために回転自在となっている。後輪103はオムニホイールであってもよい。
【0023】
前輪102および後輪103は、駆動機構(回動機構、リンク機構)によりボディ104に完全収納できる。走行時においても各車輪の大部分はボディ104に隠れているが、各車輪がボディ104に完全収納されるとロボット100は移動不可能な状態となる。すなわち、車輪の収納動作にともなってボディ104が降下し、床面Fに着座する。この着座状態においては、ボディ104の底部に形成された平坦状の着座面108(接地底面)が床面Fに当接する。
【0024】
ロボット100は、2つの手106を有する。手106には、モノを把持する機能はない。手106は上げる、振る、振動するなど簡単な動作が可能である。2つの手106も個別制御可能である。
【0025】
目110は、液晶素子または有機EL素子による画像表示が可能である。ロボット100は、音源方向を特定可能なマイクロフォンアレイや超音波センサなどさまざまなセンサを搭載する。また、スピーカーを内蔵し、簡単な音声を発することもできる。
【0026】
ロボット100の頭部にはツノ112が取り付けられる。上述のようにロボット100は軽量であるため、ユーザはツノ112をつかむことでロボット100を持ち上げることも可能である。ツノ112には全天周カメラが取り付けられ、ロボット100の上部全域を一度に撮像可能である。
【0027】
図3は、ロボット100の構造を概略的に表す断面図である。
図3に示すように、ロボット100のボディ104は、ベースフレーム308、本体フレーム310、一対の樹脂製のホイールカバー312および外皮314を含む。ベースフレーム308は、金属からなり、ボディ104の軸芯を構成するとともに内部機構を支持する。ベースフレーム308は、アッパープレート332とロアプレート334とを複数のサイドプレート336により上下に連結して構成される。複数のサイドプレート336間には通気が可能となるよう、十分な間隔が設けられる。ベースフレーム308の内方には、バッテリー118、制御回路342および各種アクチュエータが収容されている。
【0028】
本体フレーム310は、樹脂材からなり、頭部フレーム316および胴部フレーム318を含む。頭部フレーム316は、中空半球状をなし、ロボット100の頭部骨格を形成する。胴部フレーム318は、段付筒形状をなし、ロボット100の胴部骨格を形成する。胴部フレーム318は、ベースフレーム308と一体に固定される。頭部フレーム316は、胴部フレーム318の上端部に相対変位可能に組み付けられる。
【0029】
頭部フレーム316には、ヨー軸320、ピッチ軸322およびロール軸324の3軸と、各軸を回転駆動するためのアクチュエータ326が設けられる。アクチュエータ326は、各軸を個別に駆動するための複数のサーボモータを含む。首振り動作のためにヨー軸320が駆動され、頷き動作のためにピッチ軸322が駆動され、首を傾げる動作のためにロール軸324が駆動される。
【0030】
頭部フレーム316の上部には、ヨー軸320を支持するプレート325が固定されている。プレート325には、上下間の通気を確保するための複数の通気孔327が形成される。
【0031】
頭部フレーム316およびその内部機構を下方から支持するように、金属製のベースプレート328が設けられる。ベースプレート328は、クロスリンク機構329(パンタグラフ機構)を介してプレート325と連結される一方、ジョイント330を介してアッパープレート332(ベースフレーム308)と連結される。
【0032】
胴部フレーム318は、ベースフレーム308と車輪駆動機構370を収容する。車輪駆動機構370は、回動軸378およびアクチュエータ379を含む。胴部フレーム318の下半部は、ホイールカバー312との間に前輪102の収納スペースSを形成するために小幅とされる。
【0033】
外皮314は、ウレタンゴムからなり、本体フレーム310およびホイールカバー312を外側から覆う。手106は、外皮314と一体成形される。外皮314の上端部には、外気を導入するための開口部390が設けられる。
【0034】
図4は、ロボット100のハードウェア構成図である。
ロボット100は、内部センサ128、通信機126、記憶装置124、プロセッサ122、駆動機構120およびバッテリー118を含む。プロセッサ122と記憶装置124は、制御回路342に含まれる。各ユニットは電源線130および信号線132により互いに接続される。バッテリー118は、電源線130を介して各ユニットに電力を供給する。各ユニットは信号線132により制御信号を送受する。バッテリー118は、リチウムイオン二次電池であり、ロボット100の動力源である。
【0035】
内部センサ128は、ロボット100が内蔵する各種センサの集合体である。具体的には、カメラ(全天周カメラ)、マイクロフォンアレイ、測距センサ(赤外線センサ)、サーモセンサ、タッチセンサ、加速度センサ、ニオイセンサなどである。タッチセンサは、外皮314と本体フレーム310の間に設置され、ユーザのタッチを検出する。ニオイセンサは、匂いの元となる分子の吸着によって電気抵抗が変化する原理を応用した既知のセンサである。
【0036】
通信機126は、各種の外部機器を対象として無線通信を行う通信モジュールである。記憶装置124は、不揮発性メモリおよび揮発性メモリにより構成され、コンピュータプログラムや各種設定情報を記憶する。プロセッサ122は、コンピュータプログラムの実行手段である。駆動機構120は、複数のアクチュエータおよび上述した車輪駆動機構370を含む。このほかには、表示器やスピーカーなども搭載される。
【0037】
駆動機構120は、主として、車輪(前輪102)と頭部(頭部フレーム316)を制御する。駆動機構120は、ロボット100の移動方向や移動速度を変化させるほか、車輪(前輪102および後輪103)を昇降させることもできる。車輪が上昇すると、車輪はボディ104に完全に収納され、ロボット100は着座面108にて床面Fに当接し、着座状態となる。また、駆動機構120は、ワイヤ134を介して、手106を制御する。
【0038】
図5は、ロボットシステム300の機能ブロック図である。
ロボットシステム300は、ロボット100、サーバ200および複数の外部センサ114を含む。ロボット100およびサーバ200の各構成要素は、CPU(Central Processing Unit)および各種コプロセッサなどの演算器、メモリやストレージといった記憶装置、それらを連結する有線または無線の通信線を含むハードウェアと、記憶装置に格納され、演算器に処理命令を供給するソフトウェアによって実現される。コンピュータプログラムは、デバイスドライバ、オペレーティングシステム、それらの上位層に位置する各種アプリケーションプログラム、また、これらのプログラムに共通機能を提供するライブラリによって構成されてもよい。以下に説明する各ブロックは、ハードウェア単位の構成ではなく、機能単位のブロックを示している。
ロボット100の機能の一部はサーバ200により実現されてもよいし、サーバ200の機能の一部または全部はロボット100により実現されてもよい。
【0039】
家屋内にはあらかじめ複数の外部センサ114が設置される。サーバ200には、外部センサ114の位置座標が登録される。ロボット100の内部センサ128および複数の外部センサ114から得られる情報に基づいて、サーバ200がロボット100の基本行動を決定する。外部センサ114はロボット100の感覚器を補強するためのものであり、サーバ200はロボット100の頭脳を補強するためのものである。ロボット100の通信機126が外部センサ114と定期的に通信し、サーバ200は外部センサ114によりロボット100の位置を特定する(特許文献2も参照)。
【0040】
(サーバ200)
サーバ200は、通信部204、データ処理部202およびデータ格納部206を含む。
通信部204は、外部センサ114およびロボット100との通信処理を担当する。データ格納部206は各種データを格納する。データ処理部202は、通信部204により取得されたデータおよびデータ格納部206に格納されるデータに基づいて各種処理を実行する。データ処理部202は、通信部204およびデータ格納部206のインタフェースとしても機能する。
【0041】
データ格納部206は、モーション格納部232と個人データ格納部218を含む。
ロボット100は、複数の動作パターン(モーション)を有する。手106を震わせる、蛇行しながらオーナーに近づく、首をかしげたままオーナーを見つめる、などさまざまなモーションが定義される。
【0042】
モーション格納部232は、モーションの制御内容を定義する「モーションファイル」を格納する。各モーションは、モーションIDにより識別される。モーションファイルは、ロボット100のモーション格納部160にもダウンロードされる。どのモーションを実行するかは、サーバ200で決定されることもあるし、ロボット100で決定されることもある。
【0043】
ロボット100のモーションの多くは、複数の単位モーションを含む複合モーションとして構成される。たとえば、ロボット100がオーナーに近づくとき、オーナーの方に向き直る単位モーション、手を上げながら近づく単位モーション、体を揺すりながら近づく単位モーション、両手を上げながら着座する単位モーションの組み合わせとして表現されてもよい。このような4つのモーションの組み合わせにより、「オーナーに近づいて、途中で手を上げて、最後は体をゆすった上で着座する」というモーションが実現される。モーションファイルには、ロボット100に設けられたアクチュエータの回転角度や角速度などが時間軸に関連づけて定義される。モーションファイル(アクチュエータ制御情報)にしたがって、時間経過とともに各アクチュエータを制御することで様々なモーションが表現される。
【0044】
先の単位モーションから次の単位モーションに変化するときの移行時間を「インターバル」とよぶ。インターバルは、単位モーション変更に要する時間やモーションの内容に応じて定義されればよい。インターバルの長さは調整可能である。
以下、いつ、どのモーションを選ぶか、モーションを実現する上での各アクチュエータの出力調整など、ロボット100の行動制御に関わる設定のことを「行動特性」と総称する。ロボット100の行動特性は、モーション選択アルゴリズム、モーションの選択確率、モーションファイル等により定義される。
【0045】
モーション格納部232は、モーションファイルのほか、各種のイベントが発生したときに実行すべきモーションを定義するモーション選択テーブルを格納する。モーション選択テーブルにおいては、イベントに対して1以上のモーションとその選択確率が対応づけられる。
【0046】
個人データ格納部218は、ユーザの情報を格納する。具体的には、ユーザに対する親密度とユーザの身体的特徴・行動的特徴を示すマスタ情報を格納する。年齢や性別などの他の属性情報を格納してもよい。
【0047】
ロボット100は、ユーザごとに親密度という内部パラメータを有する。ロボット100が、自分を抱き上げる、声をかけてくれるなど、自分に対して好意を示す行動を認識したとき、そのユーザに対する親密度が高くなる。ロボット100に関わらないユーザや、乱暴を働くユーザ、出会う頻度が低いユーザに対する親密度は低くなる。
【0048】
データ処理部202は、位置管理部208、認識部212、動作制御部222、親密度管理部220および状態管理部244を含む。
位置管理部208は、ロボット100の位置座標を特定する。状態管理部244は、充電率や内部温度、プロセッサ122の処理負荷などの各種物理状態など各種内部パラメータを管理する。また、状態管理部244は、ロボット100の感情(寂しさ、好奇心、承認欲求など)を示すさまざまな感情パラメータを管理する。これらの感情パラメータは常に揺らいでいる。感情パラメータに応じてロボット100の移動目標地点が変化する。たとえば、寂しさが高まっているときには、ロボット100はユーザのいるところを移動目標地点として設定する。
【0049】
時間経過によって感情パラメータが変化する。また、後述の応対行為によっても各種感情パラメータは変化する。たとえば、オーナーから「抱っこ」をされると寂しさを示す感情パラメータは低下し、長時間にわたってオーナーを視認しないときには寂しさを示す感情パラメータは少しずつ増加する。
【0050】
認識部212は、外部環境を認識する。外部環境の認識には、温度や湿度に基づく天候や季節の認識、光量や温度に基づく物陰(安全地帯)の認識など多様な認識が含まれる。ロボット100の認識部156は、内部センサ128により各種の環境情報を取得し、これを一次処理した上でサーバ200の認識部212に転送する。
【0051】
具体的には、ロボット100の認識部156は、画像から移動物体、特に、人物や動物に対応する画像領域を抽出し、抽出した画像領域から移動物体の身体的特徴や行動的特徴を示す特徴量の集合として「特徴ベクトル」を抽出する。特徴ベクトル成分(特徴量)は、各種身体的・行動的特徴を定量化した数値である。たとえば、人間の目の横幅は0~1の範囲で数値化され、1つの特徴ベクトル成分を形成する。人物の撮像画像から特徴ベクトルを抽出する手法については、既知の顔認識技術の応用である。ロボット100は、特徴ベクトルをサーバ200に送信する。
【0052】
サーバ200の認識部212は、ロボット100の内蔵カメラによる撮像画像から抽出された特徴ベクトルと、個人データ格納部218にあらかじめ登録されているユーザ(クラスタ)の特徴ベクトルと比較することにより、撮像されたユーザがどの人物に該当するかを判定する(ユーザ識別処理)。また、認識部212は、ユーザの表情を画像認識することにより、ユーザの感情を推定する。認識部212は、人物以外の移動物体、たとえば、ペットである猫や犬についてもユーザ識別処理を行う。
【0053】
認識部212は、ロボット100になされたさまざまな応対行為を認識し、快・不快行為に分類する。認識部212は、また、ロボット100の行動に対するオーナーの応対行為を認識することにより、肯定・否定反応に分類する。
快・不快行為は、ユーザの応対行為が、生物として心地よいものであるか不快なものであるかにより判別される。たとえば、抱っこされることはロボット100にとって快行為であり、蹴られることはロボット100にとって不快行為である。肯定・否定反応は、ユーザの応対行為が、ユーザの快感情を示すものか不快感情を示すものであるかにより判別される。抱っこされることはユーザの快感情を示す肯定反応であり、蹴られることはユーザの不快感情を示す否定反応である。
【0054】
サーバ200の動作制御部222は、ロボット100の動作制御部150と協働して、ロボット100のモーションを決定する。サーバ200の動作制御部222は、ロボット100の移動目標地点とそのための移動ルートを作成する。動作制御部222は、複数の移動ルートを作成し、その上で、いずれかの移動ルートを選択してもよい。
【0055】
動作制御部222は、モーション格納部232の複数のモーションからロボット100のモーションを選択する。各モーションには状況ごとに選択確率が対応づけられている。たとえば、オーナーから快行為がなされたときには、モーションAを20%の確率で実行する、気温が30度以上となったとき、モーションBを5%の確率で実行する、といった選択方法が定義される。
【0056】
親密度管理部220は、ユーザごとの親密度を管理する。上述したように、親密度は個人データ格納部218において個人データの一部として登録される。快行為を検出したとき、親密度管理部220はそのオーナーに対する親密度をアップさせる。不快行為を検出したときには親密度はダウンする。また、長期間視認していないオーナーの親密度は徐々に低下する。
【0057】
(ロボット100)
ロボット100は、通信部142、データ処理部136、データ格納部148、内部センサ128および駆動機構120を含む。
通信部142は、通信機126(図4参照)に該当し、外部センサ114、サーバ200および他のロボット100との通信処理を担当する。データ格納部148は各種データを格納する。データ格納部148は、記憶装置124(図4参照)に該当する。データ処理部136は、通信部142により取得されたデータおよびデータ格納部148に格納されているデータに基づいて各種処理を実行する。データ処理部136は、プロセッサ122およびプロセッサ122により実行されるコンピュータプログラムに該当する。データ処理部136は、通信部142、内部センサ128、駆動機構120およびデータ格納部148のインタフェースとしても機能する。
【0058】
データ格納部148は、ロボット100の各種モーションを定義するモーション格納部160を含む。
ロボット100のモーション格納部160には、サーバ200のモーション格納部232から各種モーションファイルがダウンロードされる。モーションは、モーションIDによって識別される。前輪102を収容して着座する、手106を持ち上げる、2つの前輪102を逆回転させることで、あるいは、片方の前輪102だけを回転させることでロボット100を回転行動させる、前輪102を収納した状態で前輪102を回転させることで震える、ユーザから離れるときにいったん停止して振り返る、などのさまざまなモーションを表現するために、各種アクチュエータ(駆動機構120)の動作タイミング、動作時間、動作方向などがモーションファイルにおいて時系列定義される。
データ格納部148には、個人データ格納部218からも各種データがダウンロードされてもよい。
【0059】
データ処理部136は、認識部156および動作制御部150を含む。
ロボット100の動作制御部150は、サーバ200の動作制御部222と協働してロボット100のモーションを決める。一部のモーションについてはサーバ200で決定し、他のモーションについてはロボット100で決定してもよい。また、ロボット100がモーションを決定するが、ロボット100の処理負荷が高いときにはサーバ200がモーションを決定するとしてもよい。サーバ200においてベースとなるモーションを決定し、ロボット100において追加のモーションを決定してもよい。モーションの決定処理をサーバ200およびロボット100においてどのように分担するかはロボットシステム300の仕様に応じて設計すればよい。
【0060】
ロボット100の動作制御部150は選択したモーションを駆動機構120に実行指示する。駆動機構120は、モーションファイルにしたがって、各アクチュエータを制御する。
【0061】
動作制御部150は、親密度の高いユーザが近くにいるときには「抱っこ」をせがむ仕草として両方の手106をもちあげるモーションを実行することもできるし、「抱っこ」に飽きたときには左右の前輪102を収容したまま逆回転と停止を交互に繰り返すことで抱っこをいやがるモーションを表現することもできる。駆動機構120は、動作制御部150の指示にしたがって前輪102や手106、首(頭部フレーム316)を駆動することで、ロボット100にさまざまなモーションを表現させる。
【0062】
ロボット100の認識部156は、内部センサ128から得られた外部情報を解釈する。認識部156は、視覚的な認識(視覚部)、匂いの認識(嗅覚部)、音の認識(聴覚部)、触覚的な認識(触覚部)が可能である。
【0063】
認識部156は、移動物体の撮像画像から特徴ベクトルを抽出する。上述したように、特徴ベクトルは、移動物体の身体的特徴と行動的特徴を示すパラメータ(特徴量)の集合である。移動物体を検出したときには、ニオイセンサや内蔵の集音マイク、温度センサ等からも身体的特徴や行動的特徴が抽出される。これらの特徴も定量化され、特徴ベクトル成分となる。認識部156は、特許文献2等に記載の既知の技術に基づいて、特徴ベクトルからユーザを特定する。
【0064】
検出・分析・判定を含む一連の認識処理のうち、ロボット100の認識部156は認識に必要な情報の取捨選択や抽出を行い、判定等の解釈処理はサーバ200の認識部212により実行される。認識処理は、サーバ200の認識部212だけで行ってもよいし、ロボット100の認識部156だけで行ってもよいし、上述のように双方が役割分担をしながら上記認識処理を実行してもよい。
【0065】
ロボット100に対する強い衝撃が与えられたとき、認識部156はタッチセンサおよび加速度センサによりこれを認識し、サーバ200の認識部212は、近隣にいるユーザによって「乱暴行為」が働かれたと認識する。ユーザがツノ112を掴んでロボット100を持ち上げるときにも、乱暴行為と認識してもよい。ロボット100に正対した状態にあるユーザが特定音量領域および特定周波数帯域にて発声したとき、サーバ200の認識部212は、自らに対する「声掛け行為」がなされたと認識してもよい。また、体温程度の温度を検知したときにはユーザによる「接触行為」がなされたと認識し、接触認識した状態で上方への加速度を検知したときには「抱っこ」がなされたと認識する。ユーザがボディ104を持ち上げるときの物理的接触をセンシングしてもよいし、前輪102にかかる荷重が低下することにより抱っこを認識してもよい。
まとめると、ロボット100は内部センサ128によりユーザの行為を物理的情報として取得し、サーバ200の認識部212は快・不快を判定する。また、サーバ200の認識部212は特徴ベクトルに基づくユーザ識別処理を実行する。
【0066】
サーバ200の認識部212は、ロボット100に対するユーザの各種応対を認識する。各種応対行為のうち一部の典型的な応対行為には、快または不快、肯定または否定が対応づけられる。一般的には快行為となる応対行為のほとんどは肯定反応であり、不快行為となる応対行為のほとんどは否定反応となる。快・不快行為は親密度に関連し、肯定・否定反応はロボット100の行動選択に影響する。
【0067】
認識部156により認識された応対行為に応じて、サーバ200の親密度管理部220はユーザに対する親密度を変化させる。原則的には、快行為を行ったユーザに対する親密度は高まり、不快行為を行ったユーザに対する親密度は低下する。
【0068】
以上の基本構成を前提として、次に、本実施形態におけるロボット100の実装について、特に、本実装の特徴と目的および基本構成との相違点を中心として説明する。
【0069】
[場所およびモノの記憶の実装]
図6は、本実施形態におけるロボット100の機能ブロック図である。
本実施形態のロボット100は、外部センサ114ではなく、キーフレーム404に基づいて場所を認識する。ロボット100は、キーフレーム404および外部センサ114の双方に基づいて場所を認識してもよいが、本実施形態においてはキーフレーム404のみに基づいて場所を認識するものとして説明する。
【0070】
(サーバ200)
データ処理部202の位置管理部208は、マップ管理部168とオブジェクト管理部174を含む。マップ管理部168は、画像記憶層400および環境記憶層402を対応づけた情報(以下、「環境マップ」または「環境マップ情報」とよぶ)を管理する。オブジェクト管理部174は、イベントとオブジェクトを対応づけるオブジェクト情報を管理する。イベントとは、環境情報が所定のイベント条件を満たすときに成立したと認定される事象である(後述)。
【0071】
データ格納部206は、更に、マップ格納部170とオブジェクト情報格納部172を含む。マップ格納部170は、環境マップ情報を格納する。オブジェクト情報格納部172は、オブジェクト情報を格納する。詳細は後述するが、状態管理部244は、環境情報およびイベントに基づいて、感情パラメータを変化させる。
【0072】
(ロボット100)
データ処理部136は、認識部156および動作制御部150に加えて、撮像画像取得部162を含む。撮像画像取得部162は、ロボット100が搭載するカメラから撮像画像を取得する。撮像画像取得部162は、定期的に、たとえば、1秒に2回の頻度にて撮像画像を取得する。
【0073】
認識部156は、画像特徴取得部164と環境情報取得部166を含む。画像特徴取得部164は、撮像画像から画像特徴量を抽出することによりキーフレーム404を生成する。画像特徴量の抽出方法については、次の図7に関連して説明する。環境情報取得部166は、撮像画像の取得時において環境情報を取得する。キーフレーム404(画像特徴情報)および環境情報は、通信部142によりサーバ200に送信される。サーバ200のマップ管理部168は、キーフレーム404と環境情報を対応づけることにより環境マップを作成する。
【0074】
図7は、キーフレーム404の作成方法を示す模式図である。
上述したように、撮像画像取得部162は、定期的に撮像画像を取得する。図7の撮像画像412には、椅子406および棚408が写っている。画像特徴取得部164は、これらのオブジェクトのエッジ点を特徴点410として抽出する。キーフレーム404は特徴点410の集合である。キーフレーム404に含まれる特徴点410の数および分布状態、いいかえれば撮像画像の特徴量がキーフレーム404を特徴づける。撮像画像412そのものではなく、キーフレーム404(画像特徴情報)に基づく画像記憶は、データ量を抑制できるというメリットがある。
【0075】
図8は、環境マップ情報420のデータ構造図である。
環境マップ情報420は、サーバ200のマップ格納部170に格納される。キーフレーム404は、キーフレームID(以下、「FID」と表記する)により識別される。画像特徴取得部164は、撮像画像からキーフレーム404を形成するごとにFIDを付与する。環境情報取得部166は、キーフレーム404(撮像画像)の取得と同じタイミングにて環境情報を取得する(以下、キーフレーム404の取得時点と同時にセンシングされる環境情報のことを「第1次環境情報」ともよぶ)。マップ管理部168は、キーフレーム404と環境情報を対応づけて環境マップ情報420に登録する。環境マップ情報420により、画像記憶と環境記憶が結び付けられる。
【0076】
本実施形態における環境情報は、受信強度、ユーザの検出率、平均音量、平均気温を含む。受信強度は、サーバ200から送信される電波の受信強度を示し、ロボット100とサーバ200の距離によって変化する。環境情報取得部166は、受信強度を計測し、高い順にA、B、Cにランク分けする。図8によれば、FID=F01のキーフレーム404(以下、「キーフレーム404(F01)」のように表記する)は、受信強度が「A」であるため、キーフレーム404(F01)に対応する地点(以下、「地点(F01)」のように表記する)は、通信良好な地点であることがわかる。一方、キーフレーム404(F04)は通信強度が「C」であるため、地点(F04)は通信不良な地点である。本実施形態における地点とは、0.1から1メートル程度の半径を有する広がりをもったエリアとして定義される。
【0077】
ユーザの検出率は、各地点においてユーザを検出した頻度、いいかえれば、各地点においてユーザに出会える可能性の高さを示す。ユーザの検出率は、ユーザごとに定義される。ユーザX1検出率は、ユーザX1の検出率を示す。たとえば、ロボット100が地点(F01)に存在した回数が10回であってユーザX1を10回の滞在機会において2回検出したときには、マップ管理部168はユーザX1の検出率を20(%)と算出する。図8によれば、地点(F04)はユーザX1、X2に出会いやすく、地点(F05)はユーザX2に50(%)近い高確率にて出会うことができる。一方、地点(F07)ではユーザX1、X2と出会ったことがない。
【0078】
環境情報取得部166は、各地点における音量をマイクロフォンにより検出し、平均音量を高い順にA、B、Cにランク分けする。平均音量により、静かな場所とうるさい場所が特定される。同様に、環境情報取得部166は、各地点における気温を温度センサにより検出し、その平均気温を算出する。平均気温により、暑い場所と涼しい場所が特定される。これらの環境情報は時間帯や季節等の他のパラメータにより、更に分類されてもよい。
【0079】
環境情報としては、このほかにもさまざまなセンサ情報を含めることができる。たとえば、ニオイセンサにより検出される匂いを環境情報に含めてもよいし、テーブルの下など「天井」が存在するか否かを環境情報に含めてもよい。ユーザの検出率(視認可能性)だけでなく、「誰かに触られる確率」「抱っこされる確率」「叩かれる確率」などのユーザとの相互作用の経験を環境情報として定義してもよい。環境情報は、少なくとも、画像特徴情報以外の情報であればよく、気温や風向などの触覚、聴覚、嗅覚として特定される情報であってもよい。
【0080】
サーバ200は、環境マップ情報420を参照して、所定の移動先条件を満たす地点をロボット100の移動目標地点を設定する。たとえば、寂しさを示す感情パラメータの値(以下、「感情値(寂しさ)」のように表記する)が閾値以上となったとき、動作制御部222はいずれかのユーザの検出率が所定閾値以上となる地点、たとえば、地点(F05)を移動目標地点として設定する。移動先条件は、任意に設定可能である。たとえば、現在地点の温度が25度以上のとき、平均気温が20度以下の環境情報を有する地点において移動先条件が成立するとしてもよい。
【0081】
状態管理部244は、ロボット100の現在地点において取得される第1次環境情報に基づいて感情パラメータを変化させる(以下、「(環境情報による)一次反映」とよぶ)。また、状態管理部244は、ロボット100の現在地点において過去に取得された環境情報(以下、キーフレーム404の取得時点と以前にセンシングされていた環境情報のことを「第2次環境情報」ともよぶ)に基づいても感情パラメータを変化させる(以下、「(環境情報による)二次反映」とよぶ)。いいかえれば、状態管理部244は現在の第1次環境情報だけでなく、記憶された過去の第2次環境情報によっても感情パラメータを変化させる。環境情報に基づく感情パラメータの変化については、図11に関連して詳述する。
【0082】
図9は、オブジェクト情報430のデータ構造図である。
オブジェクト情報430は、サーバ200のオブジェクト情報格納部172に格納される。ロボット100の周辺ではさまざまなイベントが発生する。サーバ200の認識部212は、第1次環境情報が所定のイベント条件を満たすとき、イベントが発生したと判定する。イベント条件は、ユーザを視認した、ユーザに抱っこされた、所定音量以上の音が聞こえた、水をかけられた、など任意に設定可能である。認識部212には、あらかじめ複数のイベント条件が設定される。イベントは、イベントIDにより識別される。
【0083】
認識部212がイベントの発生を検出したとき、通信部204はロボット100にイベント検出信号を送信する。画像特徴取得部164は、イベント検出信号が受信されたとき、最新の撮像画像からオブジェクトを検出する。オブジェクトは、コーヒーカップや椅子、棚、人形など任意に設定可能である。本実施形態においては、画像特徴取得部164は、複数種類のオブジェクトについて、あらかじめ形状および色彩の特徴を定義する複数のオブジェクトパターンを有しており、オブジェクトパターンに基づいてオブジェクトを画像認識する。画像特徴取得部164は、いずれかのオブジェクトが特定されたとき、オブジェクトIDを付与してサーバ200に送信する。オブジェクト管理部174は、イベントIDとオブジェクトIDを対応づける。オブジェクトの認識は、既知の画像認識技術の応用により実現可能である。
【0084】
オブジェクト管理部174は、オブジェクト情報430を管理する。オブジェクト情報430においては、イベントおよびオブジェクトの関連性の強さを示す指標値として関連度が定義される。イベント(E01)とオブジェクト(B01)の関連度は、イベント(E01)が発生したときにオブジェクト(B01)が認識される可能性の高さに基づいて、イベント(E01)とオブジェクト(B01)の間の連想性・因果性の強さを表現する指標である。
【0085】
イベント(E01)の発生時にオブジェクト(B01)が検出されたとき、オブジェクト管理部174はイベント(E01)とオブジェクト(B01)の関連度を上昇させる。一方、イベント(E01)が発生したときにオブジェクト(B01)が検出されなければ、オブジェクト管理部174はイベント(E01)とオブジェクト(B01)の関連度を低下させる。本実施形態においては、イベントの発生時におけるオブジェクトの検出率を関連度と定義する。たとえば、イベント(E01)の最近10回の発生において、オブジェクト(B01)が10回中3回検出されたときには、オブジェクト管理部174はイベント(E01)とオブジェクト(B01)の関連度を30(%)に設定する。
【0086】
イベント(E01)の発生時において高確率にてオブジェクト(B01)が検出される場合には、オブジェクト(B01)の近くではイベント(E01)が発生しやすいという「因果性」を想定できる。関連度は、因果性に対する確信度を示すパラメータであるともいえる。たとえば、抱っこをされた地点においてソファ(オブジェクト)が高い確率で検出されたとする。この場合には、ソファの近くに行けば、抱っこをしてもらえる可能性が高い、という予測が可能となる。
【0087】
状態管理部244は、イベントに基づいて感情パラメータを変化させる(以下、「(イベントによる)一次反映」とよぶ)。イベントは第1次環境情報の一種でもあるため、通常、イベントによる一次反映は第1次環境情報による一次反映と同時に発生する。状態管理部244は、ロボット100の現在地点において検出されたオブジェクトから連想されるイベントに基づいても感情パラメータを変化させる(以下、「(イベントによる)二次反映」とよぶ)。状態管理部244は実際に発生しているイベントだけでなく、オブジェクトから連想されるイベントによっても感情パラメータを変化させる。イベントに基づく感情パラメータの変化については、図13、14に関連して詳述する。
【0088】
図10は、キーフレーム404の連鎖を示す模式図である。
画像特徴取得部164は、定期的にキーフレーム404を取得する。図10においては、キーフレーム404(F01)の取得時において、環境情報取得部166は環境情報(e01)を取得する。マップ管理部168は、環境マップ情報420において、キーフレーム404(F01)と環境情報(e01)を対応づけて登録する。一定時間の経過後、ロボット100は、キーフレーム404(F02)および環境情報(e02)を取得する。マップ管理部168は、キーフレーム404(F02)と環境情報(e02)を対応づけて登録するとともに、地点(F01)と地点(F02)が隣接しているという情報も記録する。
【0089】
ロボット100は、キーフレーム404(F02)の取得後、更に、キーフレーム404(F03)を取得する。マップ管理部168は、地点(F02)と地点(F03)が隣接するという情報をマップ格納部170に登録する。以上の処理により、ロボットシステム300は、地点(F01)からは、地点(F02)を経由すれば、地点(F03)に到達できるというキーフレーム404の位置関係、いいかえれば、空間の構成を学習する。
【0090】
キーフレーム404(F03)のあと、キーフレーム404(F04)、キーフレーム404(F05)、キーフレーム404(F06)が取得されたとする。マップ管理部168は、キーフレーム404(F06)と類似するキーフレーム404(F02)を検出する。具体的には、キーフレーム404(F06)とキーフレーム404(F02)それぞれの特徴点410の数および分布の類似度を計算し、類似度が所定の閾値以上であるときに類似と判定する。マップ管理部168は、キーフレーム404(F02)とキーフレーム404(F06)は同一地点のキーフレーム404であると判定する。マップ管理部168は、キーフレーム404(F02)をキーフレーム404(F06)により後述の方法により更新する。また、マップ管理部168は、キーフレーム404(F05)とキーフレーム404(F02)が隣接することを認識する。このように、グラフ型のデータベースとして、複数のキーフレーム404の位置関係がマップ格納部170に登録される。
【0091】
図11は、環境マップ情報420の更新処理過程を示すフローチャートである。
図11に示す更新処理は、ロボットシステム300において定期的に実行される。まず、撮像画像取得部162は、撮像画像を取得する(S10)。画像特徴取得部164は、撮像画像から画像特徴量を抽出し、キーフレーム404を生成する(S12)。環境情報取得部166は、(第1次)環境情報を取得する(S14)。状態管理部244は、環境情報に応じて感情パラメータを変化させる(S16)。これは、上述した「環境情報による一次反映」である。環境情報に応じて感情パラメータをどのように変化させるかは任意に設定可能である。たとえば、撮像画像にユーザが検出されず、ユーザ未検出の状態が所定時間以上継続していれば、感情値(寂しさ)を上昇させてもよい。このときには、認識部212は、寂しさを癒す環境情報を有する地点を移動目標地点に設定する。動作制御部150は、感情値(寂しさ)が高まるとロボット100の行動選択頻度を抑制してもよいし、特定のモーションを高確率にて選択してもよい。環境情報は感情パラメータに影響し、感情パラメータが行動特性に影響する。
【0092】
ユーザから抱っこされたときには感情値(寂しさ)を低下させてもよい。所定範囲内の音量を検出したときには感情値(好奇心)を上昇させてもよい。上述したように、感情値だけでなく、親密度管理部220は親密度を変化させてもよい。
【0093】
認識部212は、S12において抽出されたキーフレーム404と類似度が所定値以上となるキーフレーム404が存在するか、いいかえれば、現在地点が既に訪れたことのある地点(以下、「再訪地点」とよぶ)であるか否かをチェックする(S18)。再訪地点であれば(S18のY)、マップ管理部168は同再訪地点のキーフレーム404(画像特徴情報)を更新する(S20)。
【0094】
撮像画像には、本棚やソファのように安定的に存在するものもあれば(以下、「安定特徴」とよぶ)、コーヒーカップや書類のように一時的に存在しているだけのものも映る(以下、「不安定特徴」とよぶ)。マップ管理部168は、ある再訪地点(F05)において1回目に取得されたキーフレーム404(F05-1)と2回目に取得されたキーフレーム404(F05-2)を比較する。キーフレーム404(F05-1)とキーフレーム404(F05-2)は、全体としてはほとんど同一であるが、不安定特徴の部分については差異を生じる。たとえば、キーフレーム404(F05-1)にはノートの画像特徴(不安定特徴)が含まれ、キーフレーム404(F05-2)にはノートの画像特徴が含まれていないかもしれない。これは、地点P5の1回目の訪問と2回目の訪問の間にノートが取り去られたためである。このとき、マップ管理部168は、地点(F05)のキーフレーム404(F05)から不安定特徴を示す特徴点410を除外する。このような制御方法により、安定特徴のみを含むキーフレーム404、いいかえれば、空間認識に際して手がかりとしやすい画像特徴量のみを含むキーフレーム404を形成できる。
なお、より簡易な方法として、マップ管理部168は、再訪地点のキーフレーム404として、最新取得のキーフレーム404により以前のキーフレーム404を上書きしてもよい。
【0095】
状態管理部244は、再訪地点に以前に対応づけられていた(第2次)環境情報に基づいて感情パラメータを変化させる(S22)。これは、上述した「環境情報による二次反映」である。たとえば、地点(F05)に環境情報(e05-1)が対応づけられており、ロボット100が地点(F05)を再訪したときには環境情報(e05-2)が取得されたとする。状態管理部244は第1次環境情報(e05-2)だけではなく(S16)、以前の第2次環境情報(e05-1)にも基づいて感情パラメータを変化させる。このような制御方法によれば、再訪地点において過去に得た印象を現在の感情に反映させることができる。状態管理部244は、再訪によって新たに取得した環境情報(e05-2)により、環境マップ情報420を更新する(S24)。
【0096】
一例として、地点(F07)は平均音量の大きな「騒がしい地点」である(図8参照)。ロボット100が、地点(F07)を再訪したとき、大きな音は聞こえなかったとする。この場合、状態管理部244は、「騒がしい地点」という過去の情報に基づいて、たとえば、感情値(好奇心)を上昇させる。同時に、マップ管理部168は、地点(F07)の環境情報の一種である平均音量を下降させる。
【0097】
一方、再訪地点でなければ(S18のN)、認識部212は新発見の地点と判定し、状態管理部244は新たに取得したキーフレーム404と環境情報を環境マップ情報420に登録する(S26)。その後、オブジェクト判定処理が実行される(S28)。オブジェクト判定処理の詳細は図14に関連して後述する。
【0098】
たとえば、時刻t1においては地点(F04)にソファが存在し、そのあとソファが動かされ、時刻t2においては地点(F04)にソファが存在しないとする。この場合、時刻t1において取得されるキーフレーム404(F04-1)と時刻t2において取得されるキーフレーム404(F04-2)は同一とは見なせないほど大きく異なる可能性がある。この場合、ロボット100は、ソファが存在するという画像記憶を頼りに地点(F04)に移動したが、ソファが存在しないために画像記憶した地点(F04)を発見できなくなる。地点(F04)を再訪したにも関わらず、地点(F04)を見つけられないため、このときには認識部212は新発見の地点に到達したと認識し(S18のN)、ソファの存在しないキーフレーム404を環境マップ情報420に新規登録する。
【0099】
マップ管理部168は、取得から所定時間以上経過したキーフレーム404は削除することにより、しばらく再訪していない地点の記憶を消去してもよい。このような制御方法によれば、ロボット100の忘却を表現できるとともにマップ格納部170に保存するデータ量を抑制する上でも有効である。また、地点(F04)には「ソファが存在する」という古くて役に立たなくなった情報を効率的に除去できる。
【0100】
図12は、イベントの発生にともなってロボット100が移動先を選択する方法を説明するための模式図である。
図12においては、ロボット100が地点P5にいるとき、近隣の地点P6にてイベントE3が発生している。イベントE3は「ユーザX6が地点P6に存在すること」であるとする。サーバ200の認識部212は、ユーザX6と類似の身体的特徴を有するユーザについて記憶していないとき、ユーザX6を未知のユーザと判断する。このとき、サーバ200の動作制御部222は、退避先条件を満たす地点を移動目標地点として設定する。退避先条件の設定は任意である。具体的には、親密度が所定値以上のユーザの出現確率が所定値以上となる地点であってもよいし、天井や壁などの遮蔽物を有する地点であってもよい。動作制御部222は、イベントと退避先条件をあらかじめ対応づけておき、イベントが発生したときに退避先条件を満たす地点を環境マップ情報420から検出する。図12においては、退避先条件を満たす地点P7および地点P8が特定されている。
【0101】
動作制御部222は、地点P7および地点P8のいずれかを移動目標地点として選択する。図12においては、動作制御部222は、地点P5から近い方の地点P7を移動目標地点として選択する。たとえば、地点P7は、親密度が高いユーザX2の検出率が高い地点であるとする。上述したように、ロボット100は、画像記憶をたどりながら地点P7に移動する。ロボット100は、地点P7に移動し、期待した通りユーザX2を検出できれば、地点P7にしばらく滞在する。地点P7に移動してもユーザX2を検出できなければ、動作制御部222は地点P7から地点P8を移動目標地点として設定変更する。このような制御方法によれば、「イベントE3に驚き、ユーザX2を求めて地点P7に移動し、ユーザX2がいないので別の安心できる地点P3に移動する」という困惑行動をロボット100に表現させることができる。
【0102】
動作制御部222は、特定のイベントが発生したときには、上述したように退避先条件を満たす地点を移動目標地点として設定する。状態管理部244は、イベントに応じて感情パラメータを変化させる。たとえば、高周波数の音声を所定時間以上検出したとき、イベントE4が成立し、状態管理部244はイベントE4に応じて感情値(好奇心)を上昇させてもよい。環境情報は、外部環境を各種センサの検出値によって数値表現したものである。イベントは、環境情報のうち、所定のイベント条件を満たす事象、いいかえれば、環境情報の特殊例である。
【0103】
図13は、イベントの処理過程を示すフローチャートである。
図11のS14において(第1次)環境情報が検出されるごとに、認識部212はイベント条件の成否を判定する。図13に示すイベント処理は、イベント、いいかえれば、(第1次)環境情報があらかじめ設定されるイベント条件のいずれかに該当したときに実行される。
【0104】
イベントが検出されたとき、撮像画像取得部162は、周辺画像を取得する(S30)。本実施形態における周辺画像とは、2方向以上を対象とした2以上の撮像画像である。撮像画像取得部162は、通常時は1方向を対象としたカメラにて1枚の撮像画像を取得し、イベント発生時においてはロボット100の周辺を広角に撮影可能な全天周カメラにより周辺画像を取得してもよい。
【0105】
画像特徴取得部164は、周辺画像、いいかえれば、複数の撮像画像それぞれから画像特徴を抽出する(S32)。状態管理部244は、イベントに応じて感情パラメータを変化させる(S34)。これは、上述した「イベントによる一次反映」である。イベントごとに、感情パラメータをどのように変化させるかはあらかじめ設定されている。
【0106】
次に、画像特徴取得部164は、周辺画像の画像特徴からオブジェクトを検出する(S36)。オブジェクトが存在すれば(S36のY)、マップ管理部168は、イベントとオブジェクトの関連度を変化させる(S38)。イベント(E01)が検出されたときにオブジェクト(B01)が検出される頻度により、イベント(E01)とオブジェクト(B01)の関連度が決定される。イベント(E01)が検出されるとき、高い頻度にてオブジェクト(B01)が検出されれば、オブジェクト(B01)からイベント(E01)が連想されやすくなる。オブジェクトが存在しなければ(S36のN)、S38はスキップされる。
【0107】
イベントが退避イベントであるとき、いいかえれば、現在地点から逃げるべき特定のイベントであれば(S40のY)、動作制御部222は、退避先条件を満たす地点を移動目標地点として設定する(S42)。退避イベントでなければ、S42の処理はスキップされる。
【0108】
図14は、図11のS28に示すオブジェクト判定処理の詳細を示すフローチャートである。
画像特徴取得部164は、S10において取得した撮像画像からオブジェクトを検出する(S50)。状態管理部244は、画像記憶を参照し、過去に同一のオブジェクトを検出したことがあるか否かを判定する(S52)。過去に検出したことのあるオブジェクトと同一、より厳密には、類似度が所定値以上のオブジェクトを検出したとき(S52のY)、状態管理部244はオブジェクトに応じて感情パラメータを変化させる(S54)。これは、上述した「イベントによる二次反映」である。オブジェクトが検出されなかったときや、新規オブジェクトの検出時には(S52のN)、S54はスキップされる。
【0109】
状態管理部244は、オブジェクトに関連づけられるイベント、および、オブジェクトとイベントの関連度に応じて感情パラメータを変化させる。たとえば、オブジェクト(B01)が、イベント(E03)およびイベント(E04)に関連づけられおり、かつ、オブジェクト(B01)とイベント(E03)の関連度が20(%)、オブジェクト(B01)とイベント(E04)の関連度が3%であるとする。このときには、状態管理部244は、関連度の最も高いイベント(E03)に対応して感情値を変化させる。たとえば、イベント(E03)が「感情値(承認要求)を30%アップさせる」という設定がなされたイベントである場合、状態管理部244は、関連度20%を考慮して、感情値(承認要求)を6%(=30%×20%)だけ上昇させる。
このような制御方法によれば、イベント(E03)が実際に発生しているわけではなくても、イベント(E03)を連想されるオブジェクト(B01)にイベント(E03)の記憶を刺激されたために感情パラメータが影響され、感情パラメータの変化を行動特性の変化として表現できる。
【0110】
以上、実施形態に基づいてロボット100およびロボット100を含むロボットシステム300について説明した。
生物は、感覚器、特に、目から得た環境情報を記憶として蓄積することにより空間を認識すると考えられる。本実施形態によれば、生物と類似の方法にて空間認識できる。基本構成として例示した外部センサ114を必須構成としないため、ロボット100の行動予定範囲に外部センサ114をあらかじめ設置する作業が不要となる。
【0111】
ロボット100は、キーフレーム404に基づいて行動する。このため、ロボット100が所属する空間の内部状態が変化した場合、たとえば、机や椅子などのオブジェクトの位置変更が生じたとき、ロボット100は一時的に空間認識をできなくなる可能性がある。その一方、新たな環境で新たにキーフレーム404を取得することにより画像記憶を更新していく。このため、環境の変化に一時的に戸惑いつつもいずれ適応していくという生物に似た行動特性を実現できる。
【0112】
ロボット100は、初めての空間に入ったとき、動き回りながらキーフレーム404を蓄積し、場所記憶(ナワバリの感覚)を形成していく。キーフレーム404は、サーバ200のマップ格納部170に保存される。マップ格納部170は、ハードディスク等の不揮発性記録媒体において形成されることが好ましい。ロボット100の電源を投入するたびに、空間を歩き回って場所記憶を作り直す必要はない。
【0113】
ロボット100は、環境情報にしたがって感情パラメータを変化させ、感情パラメータにしたがって行動特性を変化させる。また、ロボット100は、「現在地点/現在時点」において取得される(第1次)環境情報だけではなく、「現在地点/過去時点」における(第2次)環境情報によっても感情パラメータを変化させる。このような制御方法によれば、過去の記憶により行動特性が変化するため、場所記憶に基づく感情の変化を行動表現できる。また、撮像画像から得られる特徴量に関連付けて環境情報を蓄積することにより、ロボット100は、場所記憶を形成した場所とは異なる場所であっても、既存の場所記憶を利用した行動ができる。
【0114】
ロボット100は、イベントに応じて、感情パラメータを変化させる。また、ロボット100は、イベントそのものだけではなく、イベントを連想させるオブジェクトによっても感情パラメータを変化させる。特に、感情パラメータに強い影響を及ぼすイベントを設定した場合、イベントそのものだけではなく、そのイベントを連想させるオブジェクトにすら感情が影響される様子を行動表現できる。
【0115】
なお、本発明は上記実施形態や変形例に限定されるものではなく、要旨を逸脱しない範囲で構成要素を変形して具体化することができる。上記実施形態や変形例に開示されている複数の構成要素を適宜組み合わせることにより種々の発明を形成してもよい。また、上記実施形態や変形例に示される全構成要素からいくつかの構成要素を削除してもよい。
【0116】
1つのロボット100と1つのサーバ200、複数の外部センサ114によりロボットシステム300が構成されるとして説明したが、ロボット100の機能の一部はサーバ200により実現されてもよいし、サーバ200の機能の一部または全部がロボット100に割り当てられてもよい。1つのサーバ200が複数のロボット100をコントロールしてもよいし、複数のサーバ200が協働して1以上のロボット100をコントロールしてもよい。
【0117】
ロボット100やサーバ200以外の第3の装置が、機能の一部を担ってもよい。図5図6において説明したロボット100の各機能とサーバ200の各機能の集合体は大局的には1つの「ロボット」として把握することも可能である。1つまたは複数のハードウェアに対して、本発明を実現するために必要な複数の機能をどのように配分するかは、各ハードウェアの処理能力やロボットシステム300に求められる仕様等に鑑みて決定されればよい。
【0118】
上述したように、「狭義におけるロボット」とはサーバ200を含まないロボット100のことであるが、「広義におけるロボット」はロボットシステム300のことである。サーバ200の機能の多くは、将来的にはロボット100に統合されていく可能性も考えられる。
【0119】
状態管理部244は、サーバ200に搭載されるとして説明したが、状態管理部244の機能はロボット100に搭載されてもよい。同様にして、マップ管理部168、オブジェクト管理部174の機能も、サーバ200ではなくロボット100に実装されてもよい。
【0120】
ロボット100の環境情報取得部166は第1次環境情報を取得する「第1次環境情報取得部」として機能し、ロボットシステム300の状態管理部244は第2次環境情報を取得する「第2次環境情報取得部」を含んでもよい。もちろん、第2次環境情報取得部の機能はロボット100に搭載されてもよい。第1次環境情報取得部は、ロボット100の現在地点P1において(同地点において画像特徴情報R1も取得されているとする)、第1次環境情報E1を取得するとともに画像特徴情報R1と第1次環境情報E1を対応づけて登録してもよい。この画像特徴情報R1と第1次環境情報E1を対応づける地点情報は、ロボット100またはサーバ200の有する地点情報格納部(図示せず)に保存される。そして、第2次環境情報取得部は、現在地点P1において取得された画像特徴情報R1と、取得済みの画像特徴情報群を比較し、画像類似度が所定の閾値以上となる画像特徴情報R2を検出する。第2次環境情報取得部は、画像特徴情報R2に対応づけられている環境情報E2を現在地点P1における第2次環境情報E2として特定する。動作制御部222は、上述したように第1次環境情報E1および第2次環境情報E2の双方に基づいて地点P1に位置するロボット100の行動特性を変化させてもよい。
【0121】
画像特徴情報R1と画像特徴情報R1が類似する場合、画像特徴情報R1の取得地点P1と画像特徴情報R1の取得地点P2が同一である可能性が高い。一方、本来は別々の地点である地点P1、P2の画像特徴情報(風景)がたまたま似ていた可能性もある。このため、現在地点P1における風景を認識したロボット100が、地点P1と類似する風景を有する地点P2(過去に訪問した別地点)において認識した第2次環境情報E2を思い出し、第2次環境情報E2に感情パラメータが影響されるという処理を実現できる。たとえば、「お父さんの椅子C1に似た椅子C2のある地点P1」において、以前に見た「お父さんの椅子C1のある地点P2」のイメージによって記憶を刺激されるという複雑な行動特性を実現できる。ロボット100が地点P2に肯定的なイメージをもっているときには、動作制御部222は地点P1において所定時間以上ロボット100を留まらせることで、ロボット100の椅子C1に対する愛着を間接的に表現してもよい。
【0122】
第2次環境情報取得部は、地点P1の画像特徴情報R1に類似する画像特徴情報が検出できなかったときには、撮像画像取得部162に指示して撮影方向を変化させる。たとえば、ロボット100が正面を撮影してキーフレーム404を取得していたときには、撮影方向を右方向に30度にずらして改めて画像特徴情報R3を取得させてもよい。そして、第2次画像情報取得部は、画像特徴情報R3に類似する取得済みの画像特徴情報を検索してもよい。ロボット100は、内蔵するカメラの向き、または、体の向きを変更してもよいし、全天周カメラによる全天周画像におけるキーフレーム404の抽出方向を変更してもよい。このように、適宜、撮影方向を変更することにより、既に取得された画像特徴情報から現在地点に類似する画像特徴情報を検出しやすくなる。
【0123】
撮像画像の特徴量を入力とし、環境情報を出力とする推測モデルを用意してもよい。この推測モデルは、特徴量f1,f2,・・・,ftを入力とし、環境情報e1,e2,・・・,euを出力とするニューラル・ネットワーク・モデルであってもよい。たとえば、特徴量f1はキーフレーム404に含まれる特徴点410の数、特徴量f2はキーフレーム404において特徴点410により形成される略垂直方向の直線の数、であってもよい。同様に、環境情報e1は受信強度、環境情報e2はユーザX1の検出率であってもよい。第2次環境情報取得部は、ロボット100の現在地点P1において取得された特徴量を推測モデルに入力し、その出力を第2次環境情報として取得してもよい。推測モデルにより出力される第2次環境情報は、特徴量から推測される仮想の環境情報である。このような処理方法によっても、現在地点P1の風景を認識したロボット100が、地点P1の画像特徴量に基づいて第2次環境情報をイメージし、第2次環境情報によって感情パラメータが影響されるという処理を実現できる。
【0124】
第1次環境情報取得部は、現在地点P1における撮像画像から特徴量を抽出するとともに第1次環境情報を取得したときには、これらを入出力値として、いいかえれば教師データとして推測モデルを更新してもよい。
【0125】
キーフレーム404の撮影に際しては、TOF(Time-of-Flight)方式のカメラや、ステレオカメラ等のデプスカメラを用いてもよい。デプスカメラで撮影された画像には、深度情報が含まれる。画像特徴取得部164は、深度範囲ごとに特徴量を抽出してもよい。第1次環境情報取得部は、深度範囲ごとの画像特徴情報と、第1次環境情報E1とを対応付けて登録してもよい。深度範囲は、カメラからの絶対的な距離範囲として決められてもよいし、ある特徴点を基準とした相対的な距離範囲として決められてもよい。たとえば、5つの深度範囲を決めた場合、5つの深度範囲の画像特徴情報それぞれに共通の第1次環境情報E1が対応付けて登録される。また、画像特徴取得部164は、同一のオブジェクトに起因する特徴点の組み合わせを画像特徴情報として抽出し、第1次環境情報E1と対応付けて登録してもよい。そして、第2次環境情報取得部は、深度範囲ごとの特徴量を用いて第2次環境情報E2を取得してもよい。このように深度範囲に応じて特徴量を抽出することで、ある環境を作り出す要因となる視覚的な特徴を特定し易くなる。つまり、ノイズとなる特徴点が除かれる確率が増し、推測モデルを利用した形態では学習効果が高くなる。
【0126】
たとえば、テレビT1の近くに人が居るという状況を想定する。第1次環境情報取得部は、深度範囲ごとに特徴量を取得して複数の地点情報を登録する。この地点情報の中に、主にテレビT1の特徴点群からなる画像特徴情報と、人が居るという環境情報とが対応付けられたものが含まれる。別の機会に、テレビT2を含むキーフレーム404が撮影され、深度範囲ごとに特徴量を取得すると、その中に主に「テレビ」の特徴点群からなる画像特徴情報が抽出されたとする。テレビT2の近くには人は居ないとする。第2次環境情報取得部がその画像特徴情報に類似する地点情報を取得すると、テレビT1の画像特徴情報に基づいて「人が居る」という第2次環境情報を得る。これにより、「テレビの近くには人が居る」という体験をした場所とは実際には別の場所であっても、テレビに起因する特徴点を多く含む画像特徴情報が得られれば、「人が居る」という経験を思い出すことができ、そこに人が居なくても長く留まるなどの学習的な行動を選択できる。
【0127】
本実施形態においては、定期的に1枚の撮像画像を取得し、イベント発生時においては複数枚の撮像画像を取得するとして説明した。これに限らず、通常時においてはn枚の撮像画像を取得し、イベント発生時においてはm枚(m>n)の撮像画像を取得するとしてもよい。イベントはロボット100の行動特性に大きく影響しやすい重要事象であるため、イベント発生時においてはその周辺における画像情報をより詳細に取得することが望ましい。多数の撮像画像を取得することにより、イベント発生時におけるオブジェクトを高精度にて検出できる。イベント発生時においては、ロボット100は複数方向に搭載カメラを向けることで複数の撮像画像を取得してもよい。この場合には、イベントに驚いて周辺確認する様子も行動表現できる。
【0128】
イベント発生時においては、通常時よりも高画質にて撮影画像を取得するとしてもよい。通常時における画像処理負荷を抑制しつつ、イベント発生時においては外部環境をより詳細に認識できる。画像特徴取得部164は、高画質の撮像画像を拡大することにより、拡大画像から小さなオブジェクトを認識してもよい。
【0129】
イベント発生時においては、奥行き毎に特徴量を抽出し、オブジェクトを検出してもよい。具体的には、深度カメラにより、奥行き方向を複数段階に分離してもよい。ロボット100から所定範囲、たとえば、30センチメートル以内の範囲を第1範囲、30センチメートルから1メートル以内の範囲を第2範囲、1メートル以上を第3範囲とする。そして、第1範囲の画像特徴情報と、第1範囲についての既存の画像特徴情報との類似度を判定してもよい。この場合には、遠方においては類似していなくても、近距離においては類似している画像特徴情報を対象として類似判断をするため、イベント発生時に高画質の撮像画像を取得したときでも高速に画像処理を実行できる。
【0130】
イベント発生時においては、マイクロフォンなどの各種センサの検出感度を上昇させてもよい。あるいは、通常時においては、ニオイセンサなどの一部のセンサは使用せず、イベント発生時に限りこれらのセンサを使用することにより、イベント発生時における環境情報を充実させてもよい。人間は、通常時においては無意識的に行動し、危険を認識したときや興味をひかれる事象を認識したとき、いわば非常時において周辺環境を正確に認識しようと意識を強く働かせる。イベント発生時、いいかえれば、非常時においてセンサの検出力を高めることで、イベント発生時における外部環境をより認識しやすくなる。
【0131】
撮像画像取得部162は、常時、動画像を撮像し、動画像から定期的に撮像画像(静止画)を抽出してもよい。画像特徴取得部164は、動画像からキーフレーム404を抽出してもよい。認識部212は、イベント発生時においては、イベント発生の認識前後における所定期間の動画像からオブジェクトを検出してもよい。
【0132】
図14に示したオブジェクト判定処理は、図11に示した更新処理とは別のタイミングにて実行されてもよい。オブジェクト判定処理を高頻度で実行する場合、オブジェクトが検出されるごとに感情パラメータが変化することになる。感情パラメータの過度の変化を抑制する方法のひとつとして、更新処理よりも低い頻度にてオブジェクト判定処理を実行してもよい。
【0133】
本実施形態においては、イベントとオブジェクトの因果性を関連度として定義し、オブジェクトに基づいて感情パラメータを変化させるとして説明した。視認可能なオブジェクトのほかにも、特定の音声や匂いなど他の環境情報をイベントと関連づけてもよい。たとえば、香水の匂いと女性ユーザX4の外出というイベントを結びつけることにより、香水の匂いを検出したときには、女性ユーザX4の外出を連想し、状態管理部244は感情値(寂しさ)を上昇させてもよい。
【0134】
オブジェクト管理部174は、イベントとオブジェクトの連想性の強さを表現する関連度を時間経過にしたがって減少してもよい。このような制御方法によれば、イベントとオブジェクトの連想性が時間とともに薄れていくという「忘却」をロボット100において表現できる。オブジェクト管理部174は、関連度が所定の閾値を越えたときには、関連度の時間減衰率を低下させてもよい。このような制御方法によれば、イベントとオブジェクトの間につよい連想性(関連度)が成立したときには、このような連想性がなかなか解消されなくなる。いわば、「強い先入観」に似た感情表現をロボット100において表現できる。
【0135】
一部のイベントを特別イベントとして設定してもよい。たとえば、雷鳴や爆発音などの所定値以上の音が発生することを特別イベントと定義してもよい。オブジェクト管理部174は、特別イベントと同時に視認したオブジェクトに対しては所定の関連度、たとえば、90(%)の関連度を設定し、「トラウマ(心的外傷)」のような強い印象をロボット100に設定してもよい。このほかにも、ユーザX1から、故障するほど強く殴られたときには、オブジェクト管理部174は、殴られるという特別イベントとユーザX1(オブジェクト)の関連度を90%に設定してもよい。このような制御方法によれば、親密度以外のパラメータにより「苦手感」を表現できる。
【0136】
イベント条件は任意に設定可能である。外部事象に限らず、感情値(寂しさ)が所定値以上となること、であってもよい。あるいは、充電率が所定値以下になる、故障するなどの機構上の事象をイベントとして認識してもよい。感情値(寂しさ)が所定値以上となったときには、動作制御部222はロボット100の移動先として、親密度が所定値以上のユーザの出現確率の高い地点を候補として選択しつつ、このユーザを求めて部屋を徘徊させてもよい。
【0137】
画像特徴取得部164は、地点P6において合計10枚のキーフレーム404を取得したとする。このとき、10枚のキーフレーム404のうちの所定枚数、たとえば、7枚以上のキーフレーム404において共通する画像特徴を地点P6のキーフレーム404(画像特徴情報)として登録してもよい。このような制御方法によっても、書類や服など、外部環境を認識する上で目印になりにくい不安定特徴、いわば、位置認識におけるノイズ情報を効果的に除去できる。
【0138】
環境情報は、カテゴリ化されてもよい。たとえば、気温に関する環境情報を「暖かい」「寒い」などの2以上のカテゴリに分類してもよい。このほか「安全」「危険」、「楽しい」「寂しい」など場所ごとに環境情報を複数カテゴリに分類をしてもよい。このような制御方法によれば、キーフレーム404に結びつく環境情報を縮約できるため、記憶容量を抑制するとともに環境情報の検出にともなう処理負荷を軽減できる。
【0139】
サーバ200からの無線信号の受信強度により、ロボット100のナワバリを表現してもよい。ロボット100は、サーバ200との通信可能範囲から出てしまうと、サーバ200からのサポートを受けられなくなる。動作制御部222は、オブジェクト情報430を参照し、受信強度がB以上となる地点の集合を行動可能範囲として設定してもよい。このような制御方法によれば、ロボット100が通信可能範囲から外れるのを防ぐことができる。
【0140】
ロボット100は、サーバ200に限らず、他の装置からの受信強度に基づいて縄張りを設定してもよい。たとえば、外部センサ114を設置する場合には、動作制御部222はいずれかの外部センサ114との無線通信を良好に実行できる範囲を行動可能範囲として設定してもよい。ロボット100は、定期的にサーバ200と通信し、受信強度が所定値以下となったときにはそれ以上、サーバ200から離れないように自ら行動規制してもよい。一方、ユーザのお出迎えなど特定のイベントが発生したときには、動作制御部222は受信強度が低い地点であっても移動目標地点を設定してもよい。
【0141】
ロボット100は、図示しない充電装置において定期的に充電を行う。充電中においては、サーバ200はロボット100との通信を抑制してもよい。ロボット100の通信部142は、充電装置で充電を開始するとき充電開始信号をサーバ200に送信し、充電が完了したときには充電完了信号を送信する。サーバ200は、充電開始信号を受信したときには、ロボット100から充電完了信号を受信するまでロボット100との通信を中止してもよい。あるいは、ロボット100の充電中においては、サーバ200とロボット100との定期的な通信頻度を低下させてもよい。このような制御方法によれば、ロボット100が活動していない充電時に通信を抑制することで、ロボット100およびサーバ200の通信にともなう電力消費を抑制できる。
【0142】
本発明は、ロボット100以外にも応用可能である。たとえば、ナビゲーションシステムにおいても、キーフレーム404による場所記憶の考え方は応用可能である。定期的に外界を撮像することにより、景色を記憶することでマップを作成する。これに環境情報を結びつける。ナビゲーションシステムは、環境マップ情報に基づいて、ユーザが今まで行ったことのない散歩コースを提案してもよいし、楽しい経験をしたことのある地点を含む散歩コースを提案してもよいし、危ない経験をしたことのある地点を避けた散歩コースを提案してもよい。
【0143】
環境マップ、または、環境マップ情報は、いわゆる「マップ(地図)」として表現される必要はない。環境マップ情報は、地理情報と環境情報を対応づける情報であればよく、視覚的に表現される必要はない。ここでいう地理情報とはキーフレーム404であってもよいし、地理的な目印となる各種のオブジェクトであってもよい。
【0144】
本実施形態においては、キーフレーム404と環境情報を対応づけ、キーフレーム404に対応づけられる環境情報(キーフレーム404に関する記憶)に基づいて感情パラメータを変化させ(二次反映)、感情パラメータに基づいてロボット100の行動特性を変化させるとして説明した。
【0145】
変形例として、オブジェクトと環境情報を対応づけることにより環境記憶を形成してもよい。ロボット100は、オブジェクトを検出したとき、オブジェクトに対応づけられる環境情報(オブジェクトに関する記憶)に基づいて行動特性を変化させてもよい。
【0146】
ロボット100は、オブジェクトの種類に基づいて、感情パラメータを変化させ、感情パラメータの変化に基づいて行動特性を変化させてもよい。
【0147】
また、複数のオブジェクトを含む部屋(空間)に対するロボット100の印象を記憶させておき、部屋に対する印象記憶(後述)に基づいてロボット100の感情パラメータを変化させ、感情パラメータに基づいて行動特性を変化させてもよい。
【0148】
以下においては、部屋に対する記憶に基づく感情パラメータの変化、オブジェクトに対応づけられる環境情報に基づく感情パラメータの変化と、それにともなうロボット100の行動特性の変化について変形例として説明する。
【0149】
ロボット100の画像特徴取得部164は「オブジェクト検出部」として機能してもよい。上述したように画像特徴取得部164は、複数種類のオブジェクトについて、あらかじめ形状および色彩の特徴を定義する複数のオブジェクトパターンを有しており、オブジェクトパターンに基づいてオブジェクトを画像認識してもよい。たとえば、画像特徴取得部164は、オブジェクト(B01)の特徴点分布に基づいて、オブジェクト(B01)が「テレビ」であると判定してもよい。また、画像特徴取得部164は、別のオブジェクト(B04)の特徴点分布について、このオブジェクト(B04)も「テレビ」であると判定してもよい。画像特徴取得部164または認識部212は、オブジェクト(B01)とオブジェクト(B04)は異なるオブジェクトであっても「テレビ」という同じカテゴリに属することを認識できる。画像特徴取得部164は、特徴点分布を入力とするニューラル・ネットワーク・モデルにより、オブジェクトのカテゴリを判定してもよい。
【0150】
以下、オブジェクト(B01)のような固有物体としてのオブジェクトを示すときには「固有オブジェクト」、テレビのようにオブジェクトの種類を示すときには「オブジェクト・カテゴリ」とよぶ。固有オブジェクトはオブジェクトIDにより識別され、オブジェクト・カテゴリはカテゴリIDにより識別される。また、特に区別しないときには、単に「オブジェクト」とよぶ。
【0151】
ロボット100は、画像認識以外の方法により固有オブジェクトを検出し、オブジェクト・カテゴリを特定してもよい。たとえば、ロボット100は、固有オブジェクトと通信することによりオブジェクトを検出する「オブジェクト検出部」を備えてもよい。カテゴリIDを家電製品が送信可能である場合、オブジェクト検出部は家電製品から送信されるカテゴリIDを検出することにより、家電製品(固有オブジェクト)のオブジェクト・カテゴリを判定してもよい。
以下の変形例においては、ロボット100のオブジェクト検出部がオブジェクトを検出し、かつ、オブジェクト・カテゴリを特定するものとして説明する。
【0152】
図15は、変形例におけるオブジェクト環境情報440のデータ構造図である。
オブジェクト環境情報440は、オブジェクト情報格納部172に格納される。オブジェクト環境情報440は、オブジェクトID、カテゴリID、環境情報およびルームIDと対応づけられる。上述したように、オブジェクトIDは固有オブジェクトを識別し、カテゴリIDはオブジェクト・カテゴリを示す。たとえば、固有オブジェクト(B01)と固有オブジェクト(B04)がどちらも「テレビ」であるときには、これらの2つの固有オブジェクトのカテゴリIDは同一となる。
【0153】
オブジェクト検出部は、固有オブジェクトを検出したとき、オブジェクトIDおよびカテゴリIDを特定する。環境情報取得部166は、固有オブジェクトを検出したときの環境情報を取得する。オブジェクト管理部174は、固有オブジェクト検出時の環境情報に基づいて、オブジェクト環境情報440を更新する。オブジェクト環境情報440の更新は、図8に関連して説明した方法と基本的には同じである。
【0154】
認識部212は、壁と扉を検出することにより、閉鎖空間としての部屋を認識する。各部屋はルームIDにより識別される。オブジェクト検出部により検出された固有オブジェクトは、ルームIDが対応づけられて管理される。ルームID=R01は「居間」を示し、ルームID=R02は「書斎」を示すものとする。図15によれば、固有オブジェクト(B01:テレビ)は部屋(R01:居間)に設置され、固有オブジェクト(B04:テレビ)は部屋(R02:書斎)に設置されている。たとえば、部屋(R01:居間)に設置されているテレビ(B01)の近くでは70%の高い確率でいずれかのユーザが検出され、部屋(R02:書斎)に設置されているテレビ(B04)の近くでは、ほとんどユーザを検出したことが無いことが記憶されている。
以下、オブジェクト・カテゴリ(C01)はテレビ、オブジェクト・カテゴリ(C02)はプリンタ、オブジェクト・カテゴリ(C03)はテーブル、オブジェクト・カテゴリ(C04)はソファである想定して説明する。
【0155】
図16は、変形例におけるルーム印象情報450のデータ構造図である。
本変形例においては、サーバ200のデータ格納部206は、更に、ルーム印象情報450を格納する。ルーム印象情報450は、部屋(ルームID)、カテゴリIDおよび印象記憶を対応づける。「印象記憶」は、部屋に対するロボット100の印象を表す情報であり、数値にて示される(以下、「印象記憶値」とよぶ)。「印象」は、部屋で体験したイベント、ロボットの外部状態や内部状態に応じて増減される指数であり、ロボット100の感情パラメータや、各駆動部の動作量、スピーカーの音量など数値として管理できるパラメータに基づいて決まる。
【0156】
たとえば、居間では、ロボット100は、オーナーと触れあう機会が多く、移動可能なスペースも広いので自由に動き回ることができる。寝室は、居間よりもスペースが狭く、触れあう機会も居間よりも少ない。そのため、ロボットにおける可動部分の動作量という観点で指数を設けると、居間における動作量の指数は、寝室の動作量の指数より大きくなる。
【0157】
スピーカーからの出力という観点で指数を設けると、居間ではオーナーと触れあう機会が多く、声を発する機会も多くなるのでスピーカーの指数は、寝室におけるスピーカーの指数より大きくなる。
【0158】
ロボット100がオーナーから受ける快行為という観点で指数を設けると、居間では抱っこしてもらう機会が多く、寝室では居間よりも抱っこの機会が少なくなるので、快行為の指数は、居間の方が寝室よりも大きくなる。こうした指数を定義し、定義された指数の根拠となるパラメータの実績値を部屋ごとに一定期間にわたり所定の条件で集計することにより部屋ごとの傾向がわかる。こうした指数が印象記憶として管理される。
【0159】
たとえば、ロボット100は、居間では活発に行動し、声を発する機会も多く、快行為を受けることも多いという経験をしたとき、居間に対する実績値として「動作量の指数」「スピーカーの指数」「快行為の指数」が高くなる。このような実績値から、「居間のような部屋では、活発に動いてもよいし、声を出してもよいし、快行為を受けることも多い」という印象が形成される。
【0160】
これらの指数は時間帯によっても変化する。たとえば、平日の昼は快行為を受けることは少なく、平日の夜は快行為を受けることが多いかもしれない。この場合、平日の昼(たとえば、11:00~13:00)という時間帯に対して各種の指数が対応づけられる。この結果、平日の昼と平日の夜では印象記憶値も変化する。
図16では、こうした印象記憶のうち、快行為の指数が図示されている。
【0161】
部屋(R01:居間)で発生したイベントが快行為であるとき、状態管理部244は部屋(R01:居間)の印象記憶値を増加させる。一方、イベントが不快行為であるとき、状態管理部244は部屋(R01:居間)の印象記憶値を減少させる。このような制御方法により、部屋(R01:居間)に対するロボット100の印象を数値表現する。図16によれば、部屋(R01:居間)の印象記憶値は「+10」であるから、ロボット100は部屋(R01:居間)に対して肯定的な印象をもっている。居間に対するこのような好印象は、たとえば、ロボット100が居間にいるときには、オーナーに抱っこしてもらうなど快行為を受けることが多かったという経験に基づいて育まれる。
【0162】
部屋(R02:書斎)でオーナーに叱られたときには(不快行為)、ロボット100の部屋(R02:書斎)に対する印象記憶値は減少する。状態管理部244は、たとえば、ロボット100が部屋(R02:書斎)にいるとき、一定時間以上、たとえば、10分間以上、いずれのオーナーも検出できなかったときに部屋(R02:書斎)に対する印象記憶値を減少させるとしてもよい。このように、部屋で発生したイベントだけではなく、部屋でイベントが発生しなかったことや、イベントの発生頻度に基づいて印象記憶値を変化させてもよい。
【0163】
本変形例におけるロボット100は、部屋(R01)が「居間」であると認識しているわけではない。ロボット100の認識部212は、部屋のタイプを部屋に含まれる複数のオブジェクト・カテゴリにより識別し、部屋ごとにルームIDを付与する。
【0164】
図16によれば、部屋(R01:居間)においては、テレビ(C01)、テーブル(C03)、ソファ(C04)が検出されている。ロボット100は、これらのオブジェクト・カテゴリ群を含む空間として、部屋(R01:居間)を識別する。部屋(R01:居間)に対する印象記憶値が高いことは、いいかえれば、テレビ(C01)、テーブル(C03)、ソファ(C04)を含むという条件を満たす部屋に対してロボット100が肯定的な印象を持っていることを意味する。ロボット100は、部屋で得られる環境情報、特に、部屋の中で体験するイベントに応じて、部屋の印象記憶値を変化させる。ロボット100は、印象記憶値の対象となる部屋を部屋に含まれる複数のオブジェクト・カテゴリにより識別する。
【0165】
図16に示すルーム印象情報450を前提としたとき、ロボット100は、テレビ(C01)、テーブル(C03)、ソファ(C04)を含む部屋に対しては好印象を持つ。状態管理部244は、ロボット100が初めて部屋に入ったとき(以下、ロボット100が存在している部屋のことを「在室部屋」とよぶ)、在室部屋に含まれる複数種類のオブジェクト・カテゴリに基づいて、部屋のタイプを特定する。たとえば、在室部屋が既知の部屋(R01)に類似しているときには、状態管理部244は部屋(R01)の印象記憶値に基づいてロボット100の感情パラメータを変化させる。在室部屋は部屋(R01)と同一であってもよいし、たまたま、テレビ(C01)、テーブル(C03)、ソファ(C04)を含むという点において共通する別の部屋であってもよい。このような制御方法によれば、テレビやテーブルなどのある部屋(R01:居間)に肯定的印象を抱いているロボット100は、未知の家庭を初訪問したときでも、部屋(R01:居間)に類似する部屋を見つけたときに「嬉しくなる」ことができる。したがって、既知の部屋に対する印象に基づいて、未知の部屋に入ったときのロボット100の感情を変化させることができる。既知の部屋に似た部屋に在室しているときには、状態管理部244は寂しさを示す感情パラメータ値を低下させてもよい。また、既知の部屋のいずれにも似ていない部屋に在室しているときには、状態管理部244は寂しさを示す感情パラメータを上昇させ、好奇心を示す感情パラメータも上昇させてもよい。
【0166】
たとえば、ロボット100の状態管理部244は、印象記憶値の高い既知の部屋に似た部屋、または、同一の部屋に入ったとき、「寂しさ」を示す感情パラメータを低下させてもよい。印象記憶値が高いほど「寂しさ」を示す感情パラメータを大きく低下させてもよい。
【0167】
また、たとえば、印象記憶として、動作量の指数が定義されており、部屋(R01:居間)の動作量の指数が、部屋(R02:書斎)の動作量の指数より大きい場合、つまり、書斎の動作量の指数が居間の動作量の指数より小さい場合、ロボット100は、書斎に該当する部屋に居るときの動作量を居間に該当する部屋に居るときより抑制できる。
【0168】
まとめると、ロボット100は、各部屋においてさまざまな外部環境の影響を受けながら、感情パラメータや動作量などを複雑に変化させる。このような行動実績が各種の指数として記録される。また、これらの行動実績に基づいて「活発に動ける」「快行為をうけやすい」といった印象記憶が形成される。そして、ロボット100は、在室部屋が既知の部屋に似ているときには、既知の部屋の印象記憶に基づいてその行動特性を変化させる。経験に基づく行動実績が実際の行動特性に影響を与えることにより「経験に基づく行動特性」が実現される。
【0169】
上述したように、部屋は、複数のオブジェクト・カテゴリの組み合わせにより識別される。状態管理部244は、在室部屋で検出されるすべての固有オブジェクトに基づいて部屋を識別する必要はない。
【0170】
オブジェクト管理部174は、環境情報に基づいて、固有オブジェクトごとに印象記憶値を設定してもよい。具体的には、オブジェクト管理部174は、固有オブジェクトが検出されたときの環境情報がイベント条件(上述)を満たすとき、イベントに応じて固有オブジェクトの印象記憶値を変化させる。たとえば、テレビ(B01)のそばで快行為が検出されたとき、オブジェクト管理部174はテレビ(B01)に対する印象記憶値を上昇させてもよい。いいかえれば、所定のイベントが発生したとき、オブジェクト管理部174は、ロボット100から所定の範囲内にある固有オブジェクトを特定し、その固有オブジェクトに対する印象記憶値を変化させる。オブジェクトが所定の範囲内にあるか否かの判断は、各オブジェクトの距離を測定することで判断されてもよいし、撮像画像に含まれるオブジェクトの大きさに基づいて推定されてもよい。
【0171】
また、オブジェクト管理部174は、ロボット100の正面方向に存在するとともに、所定の範囲内にある固有オブジェクトを特定し、その固有オブジェクトに対する印象記憶値を変化させてもよい。また、オブジェクト管理部174は、固有オブジェクト(B01)ではなく、オブジェクト・カテゴリ(C01)に対して印象記憶値を設定してもよい。たとえば、テレビの周りには人が存在するので、抱っこされるなどのイベントが発生する頻度が高い。「テレビ」というカテゴリに対して印象記憶値を設定することで、初めての場所であっても、記憶に基づき、テレビの近くに移動するという行動を選択できる。
【0172】
オブジェクト管理部174は、在室部屋で検出される複数の固有オブジェクトのうち、一部の固有オブジェクトに基づいて在室部屋を識別してもよい。たとえば、オブジェクト管理部174は、印象記憶値が特に高いものと特に低いもの、たとえば上位3以内の固有オブジェクトと下位3位以内の6個の固有オブジェクトを特定してもよい。そして、これら6個の固有オブジェクトそれぞれのオブジェクト・カテゴリを特定し、特定されたオブジェクト・カテゴリの組み合わせとして在室部屋を識別してもよい。
【0173】
状態管理部244は、在室部屋で検出されたオブジェクト・カテゴリ群と、ルーム印象情報450において登録されている複数の部屋それぞれに対応づけられるオブジェクト・カテゴリ群を比較する。状態管理部244は、オブジェクト・カテゴリの一致数に応じて類似度を判定してもよい。たとえば、部屋(R01:居間)に含まれる3つのオブジェクト・カテゴリのうち2つが在室部屋でも検出されたとき、状態管理部244は在室部屋と部屋(R01:居間)の類似度を66(%)(=2÷3)と判定してもよい。これは在室部屋が既知の部屋(R01:居間)と同一である可能性が高いことを意味する。状態管理部244は、在室部屋で検出されたオブジェクト・カテゴリとルーム印象情報450を比較し、類似度が最も高く、かつ、類似度が70(%)以上となる部屋を在室部屋と同じタイプの部屋であると判定してもよい。
【0174】
図17は、変形例において、オブジェクトを検出したときの処理過程を示すフローチャートである。
図17に示す処理は、ロボットシステム300において定期的に実行される。環境情報取得部166は、まず、在室部屋の環境情報を取得する(S60)。状態管理部244は、環境情報に基づいて感情パラメータを変化させる(S62)。これは、図11に関連して説明した「環境情報による一次反映」と同様である。オブジェクト検出部は、固有オブジェクトを検出する(S64)。このとき、オブジェクト検出部は、固有オブジェクトのオブジェクト・カテゴリを特定する。
【0175】
検出した複数のオブジェクト・カテゴリとルーム印象情報450を比較することにより、状態管理部244は在室部屋のタイプを特定する(S66)。上述したように、状態管理部244は在室部屋から検出されたオブジェクト・カテゴリ群と、ルーム印象情報450に登録されている部屋ごとのオブジェクト・カテゴリ群の類似度が所定値以上となる部屋を「既知の部屋に似ている部屋(以下、単に「既知の部屋」とよぶ)」として特定する。
【0176】
在室部屋が「既知の部屋」であるとき、状態管理部244は既知の部屋にあらかじめ対応づけられる印象記憶値に基づいて感情パラメータを変化させる(S68)。たとえば、部屋(R01:居間)に対して印象記憶値「+10」が対応づけられている場合において、在室部屋が居間に似ているときには、状態管理部244は寂しさを示す感情パラメータ値と好奇心を示す感情パラメータ値を減少させてもよい。このように、既知の部屋、より厳密にいえば、既知の部屋に含まれるオブジェクト・カテゴリ群にあらかじめ対応づけられている印象記憶値に基づいて、ロボット100の気持ち(感情パラメータ)を変化させることができる。これは、図11に関連して説明した「環境情報による二次反映」と同様である。
【0177】
一方、未知の部屋のときには(S66のN)、二次反映は実行されない。その後、S62において取得された環境情報により、状態管理部244はルーム印象情報450を更新する(S70)。
【0178】
ロボット100は、在室部屋に似た既知の部屋の印象記憶値に基づいて感情パラメータを変化させ、感情パラメータの変化に基づいて行動特性を変化させる。ロボット100は、このほかにも、印象記憶値に基づいて感情パラメータを介することなく行動特性を変化させてもよい。たとえば、印象記憶値が低い部屋においては、ロボット100の動作制御部150は、ロボット100の移動速度、移動量(単位時間内における走行可能距離)、運動量(各種アクチュエータの可動量または可動範囲)を抑制してもよい。また、印象記憶値が低い部屋においては、動作制御部150はロボット100が発生させる音量の上限値を抑制してもよい。このような制御方法によれば、印象記憶値の低い部屋においてロボット100はおとなしくなり、印象記憶値の高い部屋においてロボット100は活発に行動する。部屋に対する印象記憶に基づいて、ロボット100の気持ちを行動表現できる。部屋ごとにあらかじめ印象記憶値を初期設定しておいてもよい。
【0179】
ロボット100は、初めて部屋に入るとき、その部屋がどのような部屋なのかルーム印象情報450を参照して判断する。そして、過去の経験に基づき、移動速度などの行動態様を決める。その後、オブジェクト環境情報440を参照することで、過去の経験に基づいて、部屋におけるオブジェクトを探索し、目標地点として設定する。
【0180】
また、初めての家に居るとき、あるいは、寂しいときには、「楽しそうな部屋(好印象の部屋)」を探す。具体的には、動作制御部222は、印象記憶値の高い部屋を移動目標地点として設定する。
【0181】
動作制御部222は印象記憶値の高いオブジェクト・カテゴリを含む部屋を探す。たとえば、ロボット100は、テレビとテーブル、ソファを含む部屋に対して好印象をもっているとする。この場合には、ロボット100は、テレビとテーブル、ソファを含む部屋を「楽しそうな部屋」と想定し、そのような条件に合う部屋を探す。
【0182】
ロボット100の動作制御部222は、ルーム印象情報450を参照し、印象記憶値の高い部屋のルームIDを特定する。次に、動作制御部222は、特定された部屋に含まれる複数のオブジェクト・カテゴリを特定する。動作制御部222は、この「楽しそうな部屋」に含まれている複数種類のオブジェクト・カテゴリのうち、所定個数以上のオブジェクト・カテゴリを含む部屋を移動目標地点として選択する。
【0183】
ロボット100は、経験に基づいて、移動目標地点となる部屋を選ぶことができる。たとえば、オーナーAがロボット100AをユーザBの家に連れて行くとする。ロボット100AにとってユーザBの家は未知である。ロボット100Aは、まず、オーナーAの家で形成されたルーム印象情報450に基づいて、印象記憶値の高い部屋に含まれるオブジェクト・カテゴリを特定する。そして、ロボット100は、特定されたオブジェクト・カテゴリ群を含む部屋をユーザBの家でも探す。たとえば、部屋(R01:居間)に似た部屋RBをユーザBの家でも見つけたときには、ロボット100は部屋RBに入り、部屋(R01:居間)の印象記憶値に基づいて感情パラメータおよび行動特性を変化させる。このような制御方法によれば、自宅での経験に基づいて、初訪問の家でも自宅と同様のふるまいをロボット100にさせることができる。
【0184】
ロボット100の動作制御部222は、更に、在室部屋の中で近づくべき固有オブジェクトを選択する。動作制御部222は、固有オブジェクトに対応づけられる環境情報に基づいて、本実施形態と同様の方式により、近づくべき固有オブジェクトを選択する。たとえば、ロボット100は寂しさを示す感情パラメータ値が高まっているときには、ユーザの検出率が高い固有オブジェクトに近づいてもよい。状態管理部244は、固有オブジェクトの環境情報に基づいて、感情パラメータを変化させてもよい。たとえば、抱っこされるというイベントが発生しやすいソファの近くにいるときには、ロボット100は実際に抱っこされなくても寂しさを示す感情パラメータを低下させてもよい。キーフレーム404に対応づけられる環境情報に基づいてロボット100の感情パラメータや行動特性を変化させるほかにも、オブジェクト(固有オブジェクトまたはオブジェクト・カテゴリ)に対応づけられる環境情報に基づいてロボット100の感情パラメータや行動特性を変化させてもよい。オブジェクト・カテゴリにはあらかじめ印象記憶値が設定されてもよい。100は、固有オブジェクトを検出したとき、そのオブジェクト・カテゴリに対応づけられる印象記憶値に基づいて行動特性を変化させてもよい。
【0185】
好印象の部屋には、テレビ、テーブル、ソファが含まれているとする。動作制御部222は部屋に入ったあとはテレビにロボット100を近づかせるとする。このような制御方法によれば、ロボット100は印象記憶に基づいて「楽しそうな部屋」を見つけ出し、部屋に入ったあとは印象のいいオブジェクト(テレビ)に近づくことになる。この結果、居間が好き、あるいは、テレビが好きといった、空間やオブジェクトに対するロボット100の好みを行動表現できる。
【0186】
同様にして、ロボット100は印象記憶値の低い部屋を避けてもよい。たとえば、ロボット100が浴室に入ったときにオーナーから追い払われるなどの不快行為を検出したとき、ロボット100は浴室にあるオブジェクト、たとえば、タオルや洗面台、洗濯機等の組み合わせに対する印象記憶値を低くする。この結果として、浴室が苦手、あるいは、洗濯機が苦手といった、行動特性を表現できる。
【0187】
印象記憶は、快/不快に限られない。たとえば、賑やか/静か、暑い/寒い、といった他の評価軸に基づいて印象記憶値を設定してもよい。部屋(R01:居間)に「賑やか」という印象記憶が結び付けられている場合において、「寂しさ」を示す感情パラメータが高まったときには、ロボット100は部屋(R01:居間)を移動目標地点として設定してもよい。部屋(R01:居間)では人が集まりやすいため、このような制御方法により寂しくなったときには部屋(R01:居間)に近づいて人を探すかのような行動特性を表現できる。固有オブジェクトは、固定物である必要はなく、タオルのように持ち運び可能なものであってもよいし、ペットや他のロボット100のように自律的に移動可能なものであってもよい。
【0188】
図18は、別の変形例における行動経験情報460のデータ構造図である。
オブジェクト情報格納部172は、行動経験情報460を格納してもよい。行動経験情報460は、カテゴリIDと、モーションIDおよび印象記憶を対応づける。たとえば、ロボット100がオブジェクト(B01:テレビ)から所定範囲内において、モーションID=M01のモーションを選択したとき、オーナーから褒められたとする。褒められることは快行為なので、オブジェクト管理部174はオブジェクト・カテゴリ(C01:テレビ)およびモーション(M01)の組み合わせに対する印象記憶値を増加させることにより行動経験情報460を更新する。一方、オブジェクト(B01:テレビ)の近くでモーション(M03)を選択したとき、オーナーから叱られたとする。叱られることは不快行為なので、オブジェクト管理部174はオブジェクト・カテゴリ(C01:テレビ)およびモーション(M03)の組み合わせに対する印象記憶値を減少させる。
【0189】
動作制御部222は、行動経験情報460を参照し、テレビの近くではモーション(M01)の選択確率を上昇させ、モーション(M03)の選択確率を減少させる。このような制御方法によれば、ユーザは褒める、叱るといった行為により、ロボット100の行動特性を変化させることができる。たとえば、食器棚の近くで座り込んでいるロボット100を叱ることにより、ロボット100が食器棚の近くで座り込むのをやめさせることができる。この結果として、ユーザはロボット100に「しつけ」をすることが可能となる。
【0190】
オブジェクトの状態も考慮して印象記憶を変化させてもよい。たとえば、掃除機がオフのときには掃除機に近づいてもなにもされないが、掃除機がオンのときに掃除機に近づいたときにはオーナーから追い払われたとする。オーナーから追い払われることは不快行為なので、ロボット100は「掃除機がオンのときには掃除機に近づいてはいけない」という行動規範を学習する。掃除機のオン・オフは、掃除機が発生する音の有無によって判断してもよい。オブジェクトの状態のほか、時間帯を考慮して印象記憶を変化させてもよい。たとえば、夕食準備中にロボット100が台所に入り込んできたとき、オーナーはロボット100を追い払うかもしれない(不快行為)。この結果として、「夕方には冷蔵庫や食器棚がある台所に近づいてはいけない(台所にいるオーナーの邪魔をしてはいけない)」という行動規範をロボット100に学習させることができる。
【0191】
部屋(ルームID)とモーションの組み合わせに印象記憶を対応づけてもよい。この場合、たとえば、居間で大きな音を出すことは許されるが、書斎で大きな音を出してはいけないという行動規範をロボット100に学習させることができる。同様にして、居間では高速で動き回ってもよいが、書斎では活動量を抑制しなければいけない、と学ぶこともある。
【0192】
ロボット100は、不快行為を認識したとき、不快行為を行ったオーナーに対する親密度を低下させる。しかし、親密度が所定値以上のオーナーからの不快行為を認識したときには、親密度管理部220は親密度を低下させない、または、通常時に比べて親密度の減少量を小さくするとしてもよい。このような制御方法によれば、ロボット100との強い信頼関係を築いたオーナーは、ロボット100を安心して叱ることができる。
【0193】
上述したように、オブジェクトと環境情報を対応づけてもよいし、空間(ルームID)と環境情報を対応づけてもよい。状態管理部244は、環境情報、特に、イベントに基づいて印象記憶を変化させてもよい。オブジェクトあるいは空間に対する印象記憶は初期設定されてもよい。たとえば、あらかじめ居間に対して高い印象記憶値を設定しておけば、ロボット100は先天的に居間を好むという行動特性を表現できる。また、オーナーは、スマートフォン等の携帯端末を介して、居間に対する印象記憶値をサーバ200に送信し、オブジェクト管理部174は指定された印象記憶値をルーム印象情報450に設定してもよい。
【0194】
オブジェクト・カテゴリの組み合わせに対して環境情報を対応づけてもよい。部屋の間取りやオブジェクトのレイアウトを想定して部屋を認識してもよい。たとえば、「テレビが窓際にあり、窓際から少し離れてソファが配置される部屋」として部屋を識別してもよい。
【0195】
複数のロボット100により、環境マップ情報420、オブジェクト情報430、ルーム印象情報450、行動経験情報460に示す情報を共有してもよい。このような制御方法によれば、ロボット100Aが居間を好むとき、ロボット100Bも居間を好むことになり、複数のロボット100の行動特性を連動させることができる。
【0196】
ロボット100Aは、楽しい部屋として、印象記憶値が高い場所だけをロボット100Bと共有してもよい。たとえば、複数の部屋のうち、印象記憶値が平均よりも高い部屋、あるいは、印象記憶値が上位3位以内の部屋を対象として、ルーム印象情報450を共有してもよい。あるいは、印象記憶値が平均よりも低い部屋、あるいは、印象記憶値が下位3位以内の部屋を対象としてルーム印象情報450を共有してもよい。
【0197】
ロボット100Aとロボット100Bはすべての部屋を対象としてルーム印象情報450を共有する必要はなく、一部の部屋のみを対象としてルーム印象情報450を共有してもよい。このような制御方法によれば、たとえば、ロボット100Aは、一部の部屋についてはロボット100Bに情報を伝えなくなるため、ロボット100Aだけが気に入っている秘密の部屋を作ることができる。
【0198】
ロボット100AがオーナーAにはじめて抱っこされた部屋、オーナーAが長時間抱っこしてくれる部屋など、特別な条件(記憶)がある部屋については、ロボット100Aはロボット100Bと情報共有しないとしてもよい。
【0199】
印象記憶を可視化してもよい。サーバ200は、オブジェクトの配置とオブジェクトに対する印象記憶を示す画像(印象地図)を生成する印象地図生成部を備えてもよい。サーバ200の通信部204は、オーナーの携帯端末に印象地図を送信してもよい。たとえば、印象記憶値が高いオブジェクトの周辺は青色で表示し、印象記憶値の低いオブジェクトの周辺は赤色で表示することにより、オーナーはロボット100がどんなオブジェクトあるいはどんな部屋を気に入っているかを視覚的に知ることができる。
【0200】
印象地図生成部は、オブジェクトまたは部屋に対する印象記憶値の変化を印象地図において表示してもよい。たとえば、最初は嫌いだったオブジェクトをだんだん好きになる様子を印象地図の動画表示により示してもよい。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18