(57)【要約】  ロボットは、定期的に撮像画像を取得し、撮像画像から特徴点を抽出してキーフレームを作る。キーフレームの集合により、ロボットの画像記憶層が形成される。また、ロボットは、キーフレームの抽出と同時に各種センサにより環境情報を取得する。各地点の環境情報により環境記憶層が形成される。ロボットは、画像記憶層（キーフレーム）と環境記憶層（環境情報）を対応づけることにより、環境マップを生成する。環境マップにより、ロボットの「場所にともなう記憶」が表現される。ロボットは、環境マップに基づいて移動先を選択する。
2019151387.tif 000002
【特許請求の範囲】
【請求項１】
ロボットのモーションを選択する動作制御部と、
前記動作制御部により選択されたモーションを実行する駆動機構と、
撮像画像を取得する撮像画像取得部と、
前記撮像画像から特徴点を抽出することにより、画像特徴情報を取得する画像特徴取得部と、
前記撮像画像が取得された地点の環境情報を取得する環境情報取得部と、
前記画像特徴情報と前記環境情報を対応づけることにより、環境記憶を生成するマップ管理部と、を備え、
前記動作制御部は、前記環境記憶に基づいて、所定の移動先条件を満たす環境情報に対応づけられる地点を移動目標地点として設定することを特徴とする自律行動型ロボット。
【請求項２】
前記マップ管理部は、更に、第１の地点の第１の時点における第１の画像特徴情報と前記第１の地点の第２の時点における第２の画像特徴情報を比較し、相違する特徴点を除外することにより、前記第１の地点の画像特徴情報を更新することを特徴とする請求項１に記載の自律行動型ロボット。
【請求項３】
環境情報に応じて感情パラメータを変化させる状態管理部、を更に備え、
前記状態管理部は、前記環境記憶に基づいて、ロボットの現在地点において取得された画像特徴情報に対応する環境情報を特定し、前記特定された環境情報に応じて感情パラメータを変化させ、
前記動作制御部は、感情パラメータにしたがってロボットの行動特性を変化させることを特徴とする請求項１または２に記載の自律行動型ロボット。
【請求項４】
前記動作制御部は、所定のイベントが発生したとき、所定の退避先条件を満たす環境情報と対応づけられる地点に移動目標地点を設定することを特徴とする請求項１に記載の自律行動型ロボット。
【請求項５】
前記環境情報取得部は、無線の受信強度を前記環境情報として取得することを特徴とする請求項１に記載の自律行動型ロボット。
【請求項６】
前記撮像画像取得部は、第１の地点においてはｍ枚の撮像画像を取得し、前記第１の地点において所定のイベントが発生したときにはｎ枚（ｎはｍより大きい自然数）の撮像画像を取得することを特徴とする請求項１に記載の自律行動型ロボット。
【請求項７】
イベントに応じて感情パラメータを変化させる状態管理部と、
前記イベントが発生したときに取得される撮像画像に含まれるオブジェクトを前記イベントに対応づけて登録するオブジェクト管理部、を更に備え、
前記状態管理部は、更に、ロボットの現在地点において特定されたオブジェクトに対応づけられるイベントに応じて感情パラメータを変化させ、
前記動作制御部は、感情パラメータにしたがってロボットの行動特性を変化させることを特徴とする請求項１に記載の自律行動型ロボット。
【請求項８】
前記オブジェクト管理部は、前記イベントが発生したときに取得される撮影画像から前記オブジェクトが特定されるごとに前記イベントと前記オブジェクトの関連度を強化し、
前記状態管理部は、更に、ロボットの現在地点において特定されたオブジェクトと、前記オブジェクトに対応づけられるイベントの関連度に応じて感情パラメータを変化させることを特徴とする請求項７に記載の自律行動型ロボット。
【請求項９】
ロボットのモーションを選択する動作制御部と、
前記動作制御部により選択されたモーションを実行する駆動機構と、
撮像画像を取得する撮像画像取得部と、
撮像画像の特徴量を抽出することにより、画像特徴情報を取得する画像特徴取得部と、
撮像画像が取得された時点において第１次環境情報を取得し、画像特徴情報と第１次環境情報を対応づけて登録する第１次環境情報取得部と、
新規に取得された第１の画像特徴情報との類似度が所定閾値以上となる画像特徴情報に対応づけられる第１次環境情報を前記第１の画像特徴情報に対応する第２次環境情報として特定する第２次環境情報取得部と、を備え、
前記動作制御部は、第１次環境情報および第２次環境情報の双方に基づいてロボットの行動特性を変化させることを特徴とする自律行動型ロボット。
【請求項１０】
前記第２次環境情報取得部は、前記第１の画像特徴情報に基づいて第２次環境情報を特定できなかったときには、撮像方向を変更して第３の画像特徴情報を取得し、新たに取得した第３の画像特徴情報に基づいて第２次環境情報を特定することを特徴とする請求項９に記載の自律行動型ロボット。
【請求項１１】
ロボットのモーションを選択する動作制御部と、
前記動作制御部により選択されたモーションを実行する駆動機構と、
撮像画像を取得する撮像画像取得部と、
撮像画像の特徴量を抽出する画像特徴取得部と、
撮像画像が取得された地点における第１次環境情報を取得する第１次環境情報取得部と、
特徴量を入力として環境情報を出力する所定の推測モデルに対して、新規に取得された撮像画像の特徴量を入力とすることにより、前記推測モデルから出力される環境情報を第２次環境情報として取得する第２次環境情報取得部と、を備え、
前記動作制御部は、第１次環境情報および第２次環境情報の双方に基づいてロボットの行動特性を変化させることを特徴とする自律行動型ロボット。
【請求項１２】
前記第１次環境情報取得部は、第１の地点において取得された撮像画像の特徴量および前記第１の地点において取得された第１次環境情報により前記推測モデルを更新することを特徴とする請求項１１に記載の自律行動型ロボット。
【請求項１３】
撮像画像を取得する機能と、
前記撮像画像から特徴点を抽出することにより、画像特徴情報を取得する機能と、
前記撮像画像が取得された地点の環境情報を取得する機能と、
前記画像特徴情報と前記環境情報を対応づけることにより、環境記憶を生成する機能と、
前記環境記憶に基づいて、所定の移動先条件を満たす環境情報に対応づけられる地点をロボットの移動目標地点として設定する機能と、をコンピュータに発揮させることを特徴とする自律行動型ロボットの行動制御プログラム。
【請求項１４】
撮像画像を取得する機能と、
撮像画像の特徴量を抽出することにより、画像特徴情報を取得する機能と、
撮像画像が取得された時点において第１次環境情報を取得し、画像特徴情報と第１次環境情報を対応づけて登録する機能と、
新規に取得された第１の画像特徴情報との類似度が所定閾値以上となる画像特徴情報に対応づけられる第１次環境情報を前記第１の画像特徴情報に対応する第２次環境情報として特定する機能と、
第１次環境情報および第２次環境情報の双方に基づいてロボットの行動特性を変化させる機能と、をコンピュータに発揮させることを特徴とする自律行動型ロボットの行動制御プログラム。
【請求項１５】
撮像画像を取得する機能と、
撮像画像の特徴量を抽出する機能と、
撮像画像が取得された地点における第１次環境情報を取得する機能と、
特徴量を入力として環境情報を出力する所定の推測モデルに対して、新規に取得された撮像画像の特徴量を入力とすることにより、前記推測モデルから出力される環境情報を第２次環境情報として取得する機能と、
第１次環境情報および第２次環境情報の双方に基づいてロボットの行動特性を変化させる機能と、をコンピュータに発揮させることを特徴とする自律行動型ロボットの行動制御プログラム。
【請求項１６】
ロボットのモーションを選択する動作制御部と、
前記動作制御部により選択されたモーションを実行する駆動機構と、
オブジェクトを検出するオブジェクト検出部と、
前記オブジェクトが検出された時点の環境情報を取得する環境情報取得部と、
前記オブジェクトと前記環境情報を対応づけることにより、環境記憶を生成するオブジェクト管理部と、を備え、
前記動作制御部は、前記環境記憶に基づいて行動特性を変化させることを特徴とする自律行動型ロボット。
【請求項１７】
ロボットのモーションを選択する動作制御部と、
前記動作制御部により選択されたモーションを実行する駆動機構と、
オブジェクトを検出するオブジェクト検出部と、
オブジェクトが検出されたとき、感情パラメータを変化させる状態管理部と、を備え、
前記動作制御部は、感情パラメータにしたがってロボットの行動特性を変化させることを特徴とする自律行動型ロボット。
【請求項１８】
前記状態管理部は、更に、複数のオブジェクトの組み合わせに対応して前記複数のオブジェクトを含む空間に対する印象記憶を設定し、
前記動作制御部は、ロボットの現在地点を含む空間の印象記憶に基づいて、ロボットの行動特性を変化させることを特徴とする請求項１７に記載の自律行動型ロボット。
【請求項１９】
ロボットのモーションを選択する動作制御部と、
前記動作制御部により選択されたモーションを実行する駆動機構と、
複数のオブジェクトを検出するオブジェクト検出部と、
前記複数のオブジェクトが検出された時点の環境情報を取得する環境情報取得部と、
前記環境情報に基づいて、前記複数のオブジェクトに印象記憶を設定する状態管理部と、を備え、
前記状態管理部は、前記複数のオブジェクトが再検出されたときには、前記複数のオブジェクトに対応づけられる印象記憶に基づいて感情パラメータを変化させ、
前記動作制御部は、感情パラメータにしたがってロボットの行動特性を変化させることを特徴とする自律行動型ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内部状態または外部環境に応じて自律的に行動選択するロボット、に関する。
【背景技術】
【０００２】
人間は、癒やしを求めてペットを飼う。その一方、ペットの世話をする時間を十分に確保できない、ペットを飼える住環境にない、アレルギーがある、死別がつらい、といったさまざまな理由により、ペットをあきらめている人は多い。もし、ペットの役割が務まるロボットがあれば、ペットを飼えない人にもペットが与えてくれるような癒やしを与えられるかもしれない（特許文献１、２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−３２３２１９号公報
【特許文献２】国際公開第２０１７／１６９８２６号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、ロボット技術は急速に進歩しつつあるが、ペットのような伴侶としての存在感を実現するには至っていない。ロボットに自由意志があるとは思えないからである。人間は、ペットの自由意志があるとしか思えないような行動を観察することにより、ペットに自由意志の存在を感じ、ペットに共感し、ペットに癒される。【０００５】
生物の特徴のひとつは「記憶」である。記憶の中には、場所やモノに結びつく連想的な記憶もある。たとえば、窓際の暖かさを経験することにより、「窓際」に「暖かい」という印象が結びつく。あるいは、赤いコートのそばで楽しい経験をしたとき、赤いコートに肯定的なイメージが結びつくこともある。生物は、外部環境に基づいてさまざまな記憶を形成し、外部環境に記憶を刺激されながら行動選択を行う。【０００６】
本発明は上記課題認識に基づいて完成された発明であり、その主たる目的は、ロボットに、場所あるいはモノにともなう記憶を作りながら行動選択させる技術、を提供することにある。
【課題を解決するための手段】
【０００７】
本発明のある態様における自律行動型ロボットは、ロボットのモーションを選択する動作制御部と、動作制御部により選択されたモーションを実行する駆動機構と、撮像画像を取得する撮像画像取得部と、撮像画像から特徴点を抽出することにより、画像特徴情報を取得する画像特徴取得部と、撮像画像が取得された地点の環境情報を取得する環境情報取得部と、画像特徴情報と環境情報を対応づけることにより、環境記憶を生成するマップ管理部と、を備える。
動作制御部は、環境記憶を参照し、所定の移動先条件を満たす環境情報に対応づけられる地点を移動目標地点として設定する。【０００８】
本発明の別の態様における自律行動型ロボットは、ロボットのモーションを選択する動作制御部と、動作制御部により選択されたモーションを実行する駆動機構と、撮像画像を取得する撮像画像取得部と、撮像画像の特徴量を抽出することにより、画像特徴情報を取得する画像特徴取得部と、撮像画像が取得された時点において第１次環境情報を取得し、画像特徴情報と第１次環境情報を対応づけて登録する第１次環境情報取得部と、新規に取得された第１の画像特徴情報との類似度が所定閾値以上となる画像特徴情報に対応づけられる第１次環境情報を第１の画像特徴情報に対応する第２次環境情報として特定する第２次環境情報取得部と、を備える。
動作制御部は、第１次環境情報および第２次環境情報の双方に基づいてロボットの行動特性を変化させる。【０００９】
本発明の別の態様における自律行動型ロボットは、ロボットのモーションを選択する動作制御部と、動作制御部により選択されたモーションを実行する駆動機構と、撮像画像を取得する撮像画像取得部と、撮像画像の特徴量を抽出する画像特徴取得部と、撮像画像が取得された地点における第１次環境情報を取得する第１次環境情報取得部と、特徴量を入力として環境情報を出力する所定の推測モデルに対して、新規に取得された撮像画像の特徴量を入力とすることにより、推測モデルから出力される環境情報を第２次環境情報として取得する第２次環境情報取得部と、を備える。
動作制御部は、第１次環境情報および第２次環境情報の双方に基づいてロボットの行動特性を変化させる。【００１０】
本発明の別の態様における自律行動型ロボットは、ロボットのモーションを選択する動作制御部と、動作制御部により選択されたモーションを実行する駆動機構と、オブジェクトを検出するオブジェクト検出部と、オブジェクトが検出された時点の環境情報を取得する環境情報取得部と、オブジェクトと環境情報を対応づけることにより、環境記憶を生成するオブジェクト管理部と、を備える。
動作制御部は、環境記憶に基づいて行動特性を変化させる。【００１１】
本発明の別の態様における自律行動型ロボットは、ロボットのモーションを選択する動作制御部と、動作制御部により選択されたモーションを実行する駆動機構と、オブジェクトを検出するオブジェクト検出部と、オブジェクトが検出されたとき、感情パラメータを変化させる状態管理部と、を備える。
動作制御部は、感情パラメータにしたがってロボットの行動特性を変化させる。【００１２】
本発明の別の態様における自律行動型ロボットは、ロボットのモーションを選択する動作制御部と、動作制御部により選択されたモーションを実行する駆動機構と、複数のオブジェクトを検出するオブジェクト検出部と、複数のオブジェクトが検出された時点の環境情報を取得する環境情報取得部と、環境情報に基づいて、複数のオブジェクトに印象記憶を設定する状態管理部と、を備える。
状態管理部は、複数のオブジェクトが再検出されたときには、複数のオブジェクトに対応づけられる印象記憶に基づいて感情パラメータを変化させ、動作制御部は、感情パラメータにしたがってロボットの行動特性を変化させる。
【発明の効果】
【００１３】
本発明によれば、ロボットにおける記憶の生成と記憶にともなう行動選択を実現しやすくなる。
【図面の簡単な説明】
【００１４】
【図１】ロボットが場所に基づいて記憶を形成する方法を説明するための概念図である。
【図２】図２（ａ）はロボットの正面外観図である。図２（ｂ）は、ロボットの側面外観図である。
【図３】ロボットの構造を概略的に表す断面図である。
【図４】基本構成におけるロボットのハードウェア構成図である。
【図５】ロボットシステムの機能ブロック図である。
【図６】本実施形態におけるロボットの機能ブロック図である。
【図７】キーフレームの作成方法を示す模式図である。
【図８】環境マップ情報のデータ構造図である。
【図９】オブジェクト情報のデータ構造図である。
【図１０】キーフレームの連鎖を示す模式図である。
【図１１】環境マップ情報の更新処理過程を示すフローチャートである。
【図１２】イベントの発生にともなってロボットが移動先を選択する方法を説明するための模式図である。
【図１３】イベントの処理過程を示すフローチャートである。
【図１４】図１１のＳ２８に示すオブジェクト判定処理の詳細を示すフローチャートである。
【図１５】変形例におけるオブジェクト環境情報のデータ構造図である。
【図１６】変形例におけるルーム印象情報のデータ構造図である。
【図１７】変形例において、オブジェクトを検出したときの処理過程を示すフローチャートである。
【図１８】別の変形例における行動経験情報のデータ構造図である。
【発明を実施するための形態】
【００１５】
図１は、ロボット１００が場所に基づいて記憶を形成する方法を説明するための概念図である。
本実施形態のロボット１００は小型のカメラを搭載する。ロボット１００は、このカメラによって定期的に周辺を撮像することにより多数の撮像画像（静止画像）を取得する。また、ロボット１００は、マイクロフォンや温度センサなどの各種センサにより環境情報を取得する。環境情報とは、音、ニオイ、電波の受信強度、温度、ユーザの存否など、各種センサによる検出値の集合体である。ロボット１００は、撮像画像に基づく記憶（以下、「画像記憶」とよぶ）と環境情報に基づく記憶（以下、「環境記憶」とよぶ）を形成する。この２種類の記憶を対応づけることで、ロボット１００の場所に対する記憶（以下、「場所記憶」とよぶ）が形成される。
【００１６】
図１の画像記憶層４００は画像記憶を概念的に示す記憶層であり、環境記憶層４０２は環境記憶を概念的に示す記憶層である。画像記憶は、複数のキーフレーム４０４の集合体である。キーフレーム４０４は、撮像画像における特徴点（特徴量）の分布情報である。本実施形態のロボット１００は、画像特徴量を用いたグラフベースのＳＬＡＭ（Simultaneous Localization and Mapping）技術、より具体的には、ＯＲＢ（Oriented FAST and Rotated BRIEF）特徴量に基づくＳＬＡＭ技術によりキーフレーム４０４を形成する（詳細後述）。
【００１７】
ロボット１００は、移動しながらキーフレーム４０４を定期的に形成することにより、キーフレーム４０４の集合体、いいかえれば、画像特徴分布として画像記憶層４００を形成する。ロボット１００は、現在地点において取得したキーフレーム４０４と、既に保有している多数のキーフレーム４０４（画像記憶層４００）を比較することにより、画像記憶層４００におけるいずれの地点に自らが存在しているかを把握する。すなわち、ロボット１００は、実際に視認している撮像画像とかつて視認した撮像画像（記憶）を比較し、自らの現在の状況と過去の記憶を整合させることで「空間認識」を行う。
【００１８】
撮像画像の取得時において、ロボット１００は環境情報も取得する。環境記憶は、各地点における環境情報の集合体である。ロボット１００は、環境情報（環境記憶層４０２）に基づいて移動方向を選択する。たとえば、ロボット１００が高温の地点Ｐ１にいるとき、平均気温が２０度以下の涼しい地点への移動を選択したとする。ロボット１００は、まず、上記条件を満たす環境情報を環境記憶層４０２から探し、地点Ｐ２の環境情報が上記条件を満たすことが判明したとする。次に、ロボット１００は地点Ｐ２に対応するキーフレーム４０４を特定する。ロボット１００は、画像記憶層４００（キーフレーム４０４の分布）を参照しながら地点Ｐ２への移動経路を特定する。以上の制御方法により、ロボット１００は、平均気温が２０度以下という条件を満たす地点Ｐ２に向かって移動する。
【００１９】
以下、ロボット１００の基本構成について図２から図５に関連して説明したあと、本実施形態における記憶の形成および利用方法を中心として説明する。
なお、基本構成のロボット１００は、キーフレーム４０４ではなく外部センサにより位置を認識することが前提となっている。キーフレーム４０４と外部センサは併用してもよい。
【００２０】
［基本構成］
図２（ａ）は、ロボット１００の正面外観図である。図２（ｂ）は、ロボット１００の側面外観図である。
本実施形態におけるロボット１００は、外部環境および内部状態に基づいて行動を決定する自律行動型のロボットである。外部環境は、カメラやサーモセンサなど各種のセンサにより認識される。内部状態はロボット１００の感情を表現するさまざまなパラメータとして定量化される。ロボット１００は、オーナー家庭の家屋内を行動範囲とする。以下、ロボット１００に関わる人間を「ユーザ」とよぶ。
【００２１】
ロボット１００のボディ１０４は、全体的に丸みを帯びた形状を有し、ウレタンやゴム、樹脂、繊維などやわらかく弾力性のある素材により形成された外皮を含む。ロボット１００に服を着せてもよい。ロボット１００の総重量は５〜１５キログラム程度、身長は０．５〜１．２メートル程度である。適度な重さと丸み、柔らかさ、手触りのよさ、といった諸属性により、ユーザがロボット１００を抱きかかえやすく、かつ、抱きかかえたくなるという効果が実現される。
【００２２】
ロボット１００は、一対の前輪１０２（左輪１０２ａ，右輪１０２ｂ）と、一つの後輪１０３を含む。前輪１０２が駆動輪であり、後輪１０３が従動輪である。前輪１０２は、操舵機構を有しないが、回転速度や回転方向を個別に制御可能とされている。後輪１０３は、キャスターであり、ロボット１００を前後左右へ移動させるために回転自在となっている。後輪１０３はオムニホイールであってもよい。
【００２３】
前輪１０２および後輪１０３は、駆動機構（回動機構、リンク機構）によりボディ１０４に完全収納できる。走行時においても各車輪の大部分はボディ１０４に隠れているが、各車輪がボディ１０４に完全収納されるとロボット１００は移動不可能な状態となる。すなわち、車輪の収納動作にともなってボディ１０４が降下し、床面Ｆに着座する。この着座状態においては、ボディ１０４の底部に形成された平坦状の着座面１０８（接地底面）が床面Ｆに当接する。
【００２４】
ロボット１００は、２つの手１０６を有する。手１０６には、モノを把持する機能はない。手１０６は上げる、振る、振動するなど簡単な動作が可能である。２つの手１０６も個別制御可能である。
【００２５】
目１１０は、液晶素子または有機ＥＬ素子による画像表示が可能である。ロボット１００は、音源方向を特定可能なマイクロフォンアレイや超音波センサなどさまざまなセンサを搭載する。また、スピーカーを内蔵し、簡単な音声を発することもできる。
【００２６】
ロボット１００の頭部にはツノ１１２が取り付けられる。上述のようにロボット１００は軽量であるため、ユーザはツノ１１２をつかむことでロボット１００を持ち上げることも可能である。ツノ１１２には全天周カメラが取り付けられ、ロボット１００の上部全域を一度に撮像可能である。
【００２７】
図３は、ロボット１００の構造を概略的に表す断面図である。
図３に示すように、ロボット１００のボディ１０４は、ベースフレーム３０８、本体フレーム３１０、一対の樹脂製のホイールカバー３１２および外皮３１４を含む。ベースフレーム３０８は、金属からなり、ボディ１０４の軸芯を構成するとともに内部機構を支持する。ベースフレーム３０８は、アッパープレート３３２とロアプレート３３４とを複数のサイドプレート３３６により上下に連結して構成される。複数のサイドプレート３３６間には通気が可能となるよう、十分な間隔が設けられる。ベースフレーム３０８の内方には、バッテリー１１８、制御回路３４２および各種アクチュエータが収容されている。
【００２８】
本体フレーム３１０は、樹脂材からなり、頭部フレーム３１６および胴部フレーム３１８を含む。頭部フレーム３１６は、中空半球状をなし、ロボット１００の頭部骨格を形成する。胴部フレーム３１８は、段付筒形状をなし、ロボット１００の胴部骨格を形成する。胴部フレーム３１８は、ベースフレーム３０８と一体に固定される。頭部フレーム３１６は、胴部フレーム３１８の上端部に相対変位可能に組み付けられる。
【００２９】
頭部フレーム３１６には、ヨー軸３２０、ピッチ軸３２２およびロール軸３２４の３軸と、各軸を回転駆動するためのアクチュエータ３２６が設けられる。アクチュエータ３２６は、各軸を個別に駆動するための複数のサーボモータを含む。首振り動作のためにヨー軸３２０が駆動され、頷き動作のためにピッチ軸３２２が駆動され、首を傾げる動作のためにロール軸３２４が駆動される。
【００３０】
頭部フレーム３１６の上部には、ヨー軸３２０を支持するプレート３２５が固定されている。プレート３２５には、上下間の通気を確保するための複数の通気孔３２７が形成される。
【００３１】
頭部フレーム３１６およびその内部機構を下方から支持するように、金属製のベースプレート３２８が設けられる。ベースプレート３２８は、クロスリンク機構３２９（パンタグラフ機構）を介してプレート３２５と連結される一方、ジョイント３３０を介してアッパープレート３３２（ベースフレーム３０８）と連結される。
【００３２】
胴部フレーム３１８は、ベースフレーム３０８と車輪駆動機構３７０を収容する。車輪駆動機構３７０は、回動軸３７８およびアクチュエータ３７９を含む。胴部フレーム３１８の下半部は、ホイールカバー３１２との間に前輪１０２の収納スペースＳを形成するために小幅とされる。
【００３３】
外皮３１４は、ウレタンゴムからなり、本体フレーム３１０およびホイールカバー３１２を外側から覆う。手１０６は、外皮３１４と一体成形される。外皮３１４の上端部には、外気を導入するための開口部３９０が設けられる。
【００３４】
図４は、ロボット１００のハードウェア構成図である。
ロボット１００は、内部センサ１２８、通信機１２６、記憶装置１２４、プロセッサ１２２、駆動機構１２０およびバッテリー１１８を含む。プロセッサ１２２と記憶装置１２４は、制御回路３４２に含まれる。各ユニットは電源線１３０および信号線１３２により互いに接続される。バッテリー１１８は、電源線１３０を介して各ユニットに電力を供給する。各ユニットは信号線１３２により制御信号を送受する。バッテリー１１８は、リチウムイオン二次電池であり、ロボット１００の動力源である。
【００３５】
内部センサ１２８は、ロボット１００が内蔵する各種センサの集合体である。具体的には、カメラ（全天周カメラ）、マイクロフォンアレイ、測距センサ（赤外線センサ）、サーモセンサ、タッチセンサ、加速度センサ、ニオイセンサなどである。タッチセンサは、外皮３１４と本体フレーム３１０の間に設置され、ユーザのタッチを検出する。ニオイセンサは、匂いの元となる分子の吸着によって電気抵抗が変化する原理を応用した既知のセンサである。
【００３６】
通信機１２６は、各種の外部機器を対象として無線通信を行う通信モジュールである。記憶装置１２４は、不揮発性メモリおよび揮発性メモリにより構成され、コンピュータプログラムや各種設定情報を記憶する。プロセッサ１２２は、コンピュータプログラムの実行手段である。駆動機構１２０は、複数のアクチュエータおよび上述した車輪駆動機構３７０を含む。このほかには、表示器やスピーカーなども搭載される。
【００３７】
駆動機構１２０は、主として、車輪（前輪１０２）と頭部（頭部フレーム３１６）を制御する。駆動機構１２０は、ロボット１００の移動方向や移動速度を変化させるほか、車輪（前輪１０２および後輪１０３）を昇降させることもできる。車輪が上昇すると、車輪はボディ１０４に完全に収納され、ロボット１００は着座面１０８にて床面Ｆに当接し、着座状態となる。また、駆動機構１２０は、ワイヤ１３４を介して、手１０６を制御する。
【００３８】
図５は、ロボットシステム３００の機能ブロック図である。
ロボットシステム３００は、ロボット１００、サーバ２００および複数の外部センサ１１４を含む。ロボット１００およびサーバ２００の各構成要素は、ＣＰＵ（Central Processing Unit）および各種コプロセッサなどの演算器、メモリやストレージといった記憶装置、それらを連結する有線または無線の通信線を含むハードウェアと、記憶装置に格納され、演算器に処理命令を供給するソフトウェアによって実現される。コンピュータプログラムは、デバイスドライバ、オペレーティングシステム、それらの上位層に位置する各種アプリケーションプログラム、また、これらのプログラムに共通機能を提供するライブラリによって構成されてもよい。以下に説明する各ブロックは、ハードウェア単位の構成ではなく、機能単位のブロックを示している。
ロボット１００の機能の一部はサーバ２００により実現されてもよいし、サーバ２００の機能の一部または全部はロボット１００により実現されてもよい。
【００３９】
家屋内にはあらかじめ複数の外部センサ１１４が設置される。サーバ２００には、外部センサ１１４の位置座標が登録される。ロボット１００の内部センサ１２８および複数の外部センサ１１４から得られる情報に基づいて、サーバ２００がロボット１００の基本行動を決定する。外部センサ１１４はロボット１００の感覚器を補強するためのものであり、サーバ２００はロボット１００の頭脳を補強するためのものである。ロボット１００の通信機１２６が外部センサ１１４と定期的に通信し、サーバ２００は外部センサ１１４によりロボット１００の位置を特定する（特許文献２も参照）。
【００４０】
（サーバ２００）
サーバ２００は、通信部２０４、データ処理部２０２およびデータ格納部２０６を含む。
通信部２０４は、外部センサ１１４およびロボット１００との通信処理を担当する。データ格納部２０６は各種データを格納する。データ処理部２０２は、通信部２０４により取得されたデータおよびデータ格納部２０６に格納されるデータに基づいて各種処理を実行する。データ処理部２０２は、通信部２０４およびデータ格納部２０６のインタフェースとしても機能する。
【００４１】
データ格納部２０６は、モーション格納部２３２と個人データ格納部２１８を含む。
ロボット１００は、複数の動作パターン（モーション）を有する。手１０６を震わせる、蛇行しながらオーナーに近づく、首をかしげたままオーナーを見つめる、などさまざまなモーションが定義される。
【００４２】
モーション格納部２３２は、モーションの制御内容を定義する「モーションファイル」を格納する。各モーションは、モーションＩＤにより識別される。モーションファイルは、ロボット１００のモーション格納部１６０にもダウンロードされる。どのモーションを実行するかは、サーバ２００で決定されることもあるし、ロボット１００で決定されることもある。
【００４３】
ロボット１００のモーションの多くは、複数の単位モーションを含む複合モーションとして構成される。たとえば、ロボット１００がオーナーに近づくとき、オーナーの方に向き直る単位モーション、手を上げながら近づく単位モーション、体を揺すりながら近づく単位モーション、両手を上げながら着座する単位モーションの組み合わせとして表現されてもよい。このような４つのモーションの組み合わせにより、「オーナーに近づいて、途中で手を上げて、最後は体をゆすった上で着座する」というモーションが実現される。モーションファイルには、ロボット１００に設けられたアクチュエータの回転角度や角速度などが時間軸に関連づけて定義される。モーションファイル（アクチュエータ制御情報）にしたがって、時間経過とともに各アクチュエータを制御することで様々なモーションが表現される。
【００４４】
先の単位モーションから次の単位モーションに変化するときの移行時間を「インターバル」とよぶ。インターバルは、単位モーション変更に要する時間やモーションの内容に応じて定義されればよい。インターバルの長さは調整可能である。
以下、いつ、どのモーションを選ぶか、モーションを実現する上での各アクチュエータの出力調整など、ロボット１００の行動制御に関わる設定のことを「行動特性」と総称する。ロボット１００の行動特性は、モーション選択アルゴリズム、モーションの選択確率、モーションファイル等により定義される。
【００４５】
モーション格納部２３２は、モーションファイルのほか、各種のイベントが発生したときに実行すべきモーションを定義するモーション選択テーブルを格納する。モーション選択テーブルにおいては、イベントに対して１以上のモーションとその選択確率が対応づけられる。
【００４６】
個人データ格納部２１８は、ユーザの情報を格納する。具体的には、ユーザに対する親密度とユーザの身体的特徴・行動的特徴を示すマスタ情報を格納する。年齢や性別などの他の属性情報を格納してもよい。
【００４７】
ロボット１００は、ユーザごとに親密度という内部パラメータを有する。ロボット１００が、自分を抱き上げる、声をかけてくれるなど、自分に対して好意を示す行動を認識したとき、そのユーザに対する親密度が高くなる。ロボット１００に関わらないユーザや、乱暴を働くユーザ、出会う頻度が低いユーザに対する親密度は低くなる。
【００４８】
データ処理部２０２は、位置管理部２０８、認識部２１２、動作制御部２２２、親密度管理部２２０および状態管理部２４４を含む。
位置管理部２０８は、ロボット１００の位置座標を特定する。状態管理部２４４は、充電率や内部温度、プロセッサ１２２の処理負荷などの各種物理状態など各種内部パラメータを管理する。また、状態管理部２４４は、ロボット１００の感情（寂しさ、好奇心、承認欲求など）を示すさまざまな感情パラメータを管理する。これらの感情パラメータは常に揺らいでいる。感情パラメータに応じてロボット１００の移動目標地点が変化する。たとえば、寂しさが高まっているときには、ロボット１００はユーザのいるところを移動目標地点として設定する。
【００４９】
時間経過によって感情パラメータが変化する。また、後述の応対行為によっても各種感情パラメータは変化する。たとえば、オーナーから「抱っこ」をされると寂しさを示す感情パラメータは低下し、長時間にわたってオーナーを視認しないときには寂しさを示す感情パラメータは少しずつ増加する。
【００５０】
認識部２１２は、外部環境を認識する。外部環境の認識には、温度や湿度に基づく天候や季節の認識、光量や温度に基づく物陰（安全地帯）の認識など多様な認識が含まれる。ロボット１００の認識部１５６は、内部センサ１２８により各種の環境情報を取得し、これを一次処理した上でサーバ２００の認識部２１２に転送する。
【００５１】
具体的には、ロボット１００の認識部１５６は、画像から移動物体、特に、人物や動物に対応する画像領域を抽出し、抽出した画像領域から移動物体の身体的特徴や行動的特徴を示す特徴量の集合として「特徴ベクトル」を抽出する。特徴ベクトル成分（特徴量）は、各種身体的・行動的特徴を定量化した数値である。たとえば、人間の目の横幅は０〜１の範囲で数値化され、１つの特徴ベクトル成分を形成する。人物の撮像画像から特徴ベクトルを抽出する手法については、既知の顔認識技術の応用である。ロボット１００は、特徴ベクトルをサーバ２００に送信する。
【００５２】
サーバ２００の認識部２１２は、ロボット１００の内蔵カメラによる撮像画像から抽出された特徴ベクトルと、個人データ格納部２１８にあらかじめ登録されているユーザ（クラスタ）の特徴ベクトルと比較することにより、撮像されたユーザがどの人物に該当するかを判定する（ユーザ識別処理）。また、認識部２１２は、ユーザの表情を画像認識することにより、ユーザの感情を推定する。認識部２１２は、人物以外の移動物体、たとえば、ペットである猫や犬についてもユーザ識別処理を行う。
【００５３】
認識部２１２は、ロボット１００になされたさまざまな応対行為を認識し、快・不快行為に分類する。認識部２１２は、また、ロボット１００の行動に対するオーナーの応対行為を認識することにより、肯定・否定反応に分類する。
快・不快行為は、ユーザの応対行為が、生物として心地よいものであるか不快なものであるかにより判別される。たとえば、抱っこされることはロボット１００にとって快行為であり、蹴られることはロボット１００にとって不快行為である。肯定・否定反応は、ユーザの応対行為が、ユーザの快感情を示すものか不快感情を示すものであるかにより判別される。抱っこされることはユーザの快感情を示す肯定反応であり、蹴られることはユーザの不快感情を示す否定反応である。
【００５４】
サーバ２００の動作制御部２２２は、ロボット１００の動作制御部１５０と協働して、ロボット１００のモーションを決定する。サーバ２００の動作制御部２２２は、ロボット１００の移動目標地点とそのための移動ルートを作成する。動作制御部２２２は、複数の移動ルートを作成し、その上で、いずれかの移動ルートを選択してもよい。
【００５５】
動作制御部２２２は、モーション格納部２３２の複数のモーションからロボット１００のモーションを選択する。各モーションには状況ごとに選択確率が対応づけられている。たとえば、オーナーから快行為がなされたときには、モーションＡを２０％の確率で実行する、気温が３０度以上となったとき、モーションＢを５％の確率で実行する、といった選択方法が定義される。
【００５６】
親密度管理部２２０は、ユーザごとの親密度を管理する。上述したように、親密度は個人データ格納部２１８において個人データの一部として登録される。快行為を検出したとき、親密度管理部２２０はそのオーナーに対する親密度をアップさせる。不快行為を検出したときには親密度はダウンする。また、長期間視認していないオーナーの親密度は徐々に低下する。
【００５７】
（ロボット１００）
ロボット１００は、通信部１４２、データ処理部１３６、データ格納部１４８、内部センサ１２８および駆動機構１２０を含む。
通信部１４２は、通信機１２６（図４参照）に該当し、外部センサ１１４、サーバ２００および他のロボット１００との通信処理を担当する。データ格納部１４８は各種データを格納する。データ格納部１４８は、記憶装置１２４（図４参照）に該当する。データ処理部１３６は、通信部１４２により取得されたデータおよびデータ格納部１４８に格納されているデータに基づいて各種処理を実行する。データ処理部１３６は、プロセッサ１２２およびプロセッサ１２２により実行されるコンピュータプログラムに該当する。データ処理部１３６は、通信部１４２、内部センサ１２８、駆動機構１２０およびデータ格納部１４８のインタフェースとしても機能する。
【００５８】
データ格納部１４８は、ロボット１００の各種モーションを定義するモーション格納部１６０を含む。
ロボット１００のモーション格納部１６０には、サーバ２００のモーション格納部２３２から各種モーションファイルがダウンロードされる。モーションは、モーションＩＤによって識別される。前輪１０２を収容して着座する、手１０６を持ち上げる、２つの前輪１０２を逆回転させることで、あるいは、片方の前輪１０２だけを回転させることでロボット１００を回転行動させる、前輪１０２を収納した状態で前輪１０２を回転させることで震える、ユーザから離れるときにいったん停止して振り返る、などのさまざまなモーションを表現するために、各種アクチュエータ（駆動機構１２０）の動作タイミング、動作時間、動作方向などがモーションファイルにおいて時系列定義される。
データ格納部１４８には、個人データ格納部２１８からも各種データがダウンロードされてもよい。
【００５９】
データ処理部１３６は、認識部１５６および動作制御部１５０を含む。
ロボット１００の動作制御部１５０は、サーバ２００の動作制御部２２２と協働してロボット１００のモーションを決める。一部のモーションについてはサーバ２００で決定し、他のモーションについてはロボット１００で決定してもよい。また、ロボット１００がモーションを決定するが、ロボット１００の処理負荷が高いときにはサーバ２００がモーションを決定するとしてもよい。サーバ２００においてベースとなるモーションを決定し、ロボット１００において追加のモーションを決定してもよい。モーションの決定処理をサーバ２００およびロボット１００においてどのように分担するかはロボットシステム３００の仕様に応じて設計すればよい。
【００６０】
ロボット１００の動作制御部１５０は選択したモーションを駆動機構１２０に実行指示する。駆動機構１２０は、モーションファイルにしたがって、各アクチュエータを制御する。
【００６１】
動作制御部１５０は、親密度の高いユーザが近くにいるときには「抱っこ」をせがむ仕草として両方の手１０６をもちあげるモーションを実行することもできるし、「抱っこ」に飽きたときには左右の前輪１０２を収容したまま逆回転と停止を交互に繰り返すことで抱っこをいやがるモーションを表現することもできる。駆動機構１２０は、動作制御部１５０の指示にしたがって前輪１０２や手１０６、首（頭部フレーム３１６）を駆動することで、ロボット１００にさまざまなモーションを表現させる。
【００６２】
ロボット１００の認識部１５６は、内部センサ１２８から得られた外部情報を解釈する。認識部１５６は、視覚的な認識（視覚部）、匂いの認識（嗅覚部）、音の認識（聴覚部）、触覚的な認識（触覚部）が可能である。
【００６３】
認識部１５６は、移動物体の撮像画像から特徴ベクトルを抽出する。上述したように、特徴ベクトルは、移動物体の身体的特徴と行動的特徴を示すパラメータ（特徴量）の集合である。移動物体を検出したときには、ニオイセンサや内蔵の集音マイク、温度センサ等からも身体的特徴や行動的特徴が抽出される。これらの特徴も定量化され、特徴ベクトル成分となる。認識部１５６は、特許文献２等に記載の既知の技術に基づいて、特徴ベクトルからユーザを特定する。
【００６４】
検出・分析・判定を含む一連の認識処理のうち、ロボット１００の認識部１５６は認識に必要な情報の取捨選択や抽出を行い、判定等の解釈処理はサーバ２００の認識部２１２により実行される。認識処理は、サーバ２００の認識部２１２だけで行ってもよいし、ロボット１００の認識部１５６だけで行ってもよいし、上述のように双方が役割分担をしながら上記認識処理を実行してもよい。
【００６５】
ロボット１００に対する強い衝撃が与えられたとき、認識部１５６はタッチセンサおよび加速度センサによりこれを認識し、サーバ２００の認識部２１２は、近隣にいるユーザによって「乱暴行為」が働かれたと認識する。ユーザがツノ１１２を掴んでロボット１００を持ち上げるときにも、乱暴行為と認識してもよい。ロボット１００に正対した状態にあるユーザが特定音量領域および特定周波数帯域にて発声したとき、サーバ２００の認識部２１２は、自らに対する「声掛け行為」がなされたと認識してもよい。また、体温程度の温度を検知したときにはユーザによる「接触行為」がなされたと認識し、接触認識した状態で上方への加速度を検知したときには「抱っこ」がなされたと認識する。ユーザがボディ１０４を持ち上げるときの物理的接触をセンシングしてもよいし、前輪１０２にかかる荷重が低下することにより抱っこを認識してもよい。
まとめると、ロボット１００は内部センサ１２８によりユーザの行為を物理的情報として取得し、サーバ２００の認識部２１２は快・不快を判定する。また、サーバ２００の認識部２１２は特徴ベクトルに基づくユーザ識別処理を実行する。
【００６６】
サーバ２００の認識部２１２は、ロボット１００に対するユーザの各種応対を認識する。各種応対行為のうち一部の典型的な応対行為には、快または不快、肯定または否定が対応づけられる。一般的には快行為となる応対行為のほとんどは肯定反応であり、不快行為となる応対行為のほとんどは否定反応となる。快・不快行為は親密度に関連し、肯定・否定反応はロボット１００の行動選択に影響する。
【００６７】
認識部１５６により認識された応対行為に応じて、サーバ２００の親密度管理部２２０はユーザに対する親密度を変化させる。原則的には、快行為を行ったユーザに対する親密度は高まり、不快行為を行ったユーザに対する親密度は低下する。
【００６８】
以上の基本構成を前提として、次に、本実施形態におけるロボット１００の実装について、特に、本実装の特徴と目的および基本構成との相違点を中心として説明する。
【００６９】
［場所およびモノの記憶の実装］
図６は、本実施形態におけるロボット１００の機能ブロック図である。
本実施形態のロボット１００は、外部センサ１１４ではなく、キーフレーム４０４に基づいて場所を認識する。ロボット１００は、キーフレーム４０４および外部センサ１１４の双方に基づいて場所を認識してもよいが、本実施形態においてはキーフレーム４０４のみに基づいて場所を認識するものとして説明する。
【００７０】
（サーバ２００）
データ処理部２０２の位置管理部２０８は、マップ管理部１６８とオブジェクト管理部１７４を含む。マップ管理部１６８は、画像記憶層４００および環境記憶層４０２を対応づけた情報（以下、「環境マップ」または「環境マップ情報」とよぶ）を管理する。オブジェクト管理部１７４は、イベントとオブジェクトを対応づけるオブジェクト情報を管理する。イベントとは、環境情報が所定のイベント条件を満たすときに成立したと認定される事象である（後述）。
【００７１】
データ格納部２０６は、更に、マップ格納部１７０とオブジェクト情報格納部１７２を含む。マップ格納部１７０は、環境マップ情報を格納する。オブジェクト情報格納部１７２は、オブジェクト情報を格納する。詳細は後述するが、状態管理部２４４は、環境情報およびイベントに基づいて、感情パラメータを変化させる。
【００７２】
（ロボット１００）
データ処理部１３６は、認識部１５６および動作制御部１５０に加えて、撮像画像取得部１６２を含む。撮像画像取得部１６２は、ロボット１００が搭載するカメラから撮像画像を取得する。撮像画像取得部１６２は、定期的に、たとえば、１秒に２回の頻度にて撮像画像を取得する。
【００７３】
認識部１５６は、画像特徴取得部１６４と環境情報取得部１６６を含む。画像特徴取得部１６４は、撮像画像から画像特徴量を抽出することによりキーフレーム４０４を生成する。画像特徴量の抽出方法については、次の図７に関連して説明する。環境情報取得部１６６は、撮像画像の取得時において環境情報を取得する。キーフレーム４０４（画像特徴情報）および環境情報は、通信部１４２によりサーバ２００に送信される。サーバ２００のマップ管理部１６８は、キーフレーム４０４と環境情報を対応づけることにより環境マップを作成する。
【００７４】
図７は、キーフレーム４０４の作成方法を示す模式図である。
上述したように、撮像画像取得部１６２は、定期的に撮像画像を取得する。図７の撮像画像４１２には、椅子４０６および棚４０８が写っている。画像特徴取得部１６４は、これらのオブジェクトのエッジ点を特徴点４１０として抽出する。キーフレーム４０４は特徴点４１０の集合である。キーフレーム４０４に含まれる特徴点４１０の数および分布状態、いいかえれば撮像画像の特徴量がキーフレーム４０４を特徴づける。撮像画像４１２そのものではなく、キーフレーム４０４（画像特徴情報）に基づく画像記憶は、データ量を抑制できるというメリットがある。
【００７５】
図８は、環境マップ情報４２０のデータ構造図である。
環境マップ情報４２０は、サーバ２００のマップ格納部１７０に格納される。キーフレーム４０４は、キーフレームＩＤ（以下、「ＦＩＤ」と表記する）により識別される。画像特徴取得部１６４は、撮像画像からキーフレーム４０４を形成するごとにＦＩＤを付与する。環境情報取得部１６６は、キーフレーム４０４（撮像画像）の取得と同じタイミングにて環境情報を取得する（以下、キーフレーム４０４の取得時点と同時にセンシングされる環境情報のことを「第１次環境情報」ともよぶ）。マップ管理部１６８は、キーフレーム４０４と環境情報を対応づけて環境マップ情報４２０に登録する。環境マップ情報４２０により、画像記憶と環境記憶が結び付けられる。
【００７６】
本実施形態における環境情報は、受信強度、ユーザの検出率、平均音量、平均気温を含む。受信強度は、サーバ２００から送信される電波の受信強度を示し、ロボット１００とサーバ２００の距離によって変化する。環境情報取得部１６６は、受信強度を計測し、高い順にＡ、Ｂ、Ｃにランク分けする。図８によれば、ＦＩＤ＝Ｆ０１のキーフレーム４０４（以下、「キーフレーム４０４（Ｆ０１）」のように表記する）は、受信強度が「Ａ」であるため、キーフレーム４０４（Ｆ０１）に対応する地点（以下、「地点（Ｆ０１）」のように表記する）は、通信良好な地点であることがわかる。一方、キーフレーム４０４（Ｆ０４）は通信強度が「Ｃ」であるため、地点（Ｆ０４）は通信不良な地点である。本実施形態における地点とは、０．１から１メートル程度の半径を有する広がりをもったエリアとして定義される。
【００７７】
ユーザの検出率は、各地点においてユーザを検出した頻度、いいかえれば、各地点においてユーザに出会える可能性の高さを示す。ユーザの検出率は、ユーザごとに定義される。ユーザＸ１検出率は、ユーザＸ１の検出率を示す。たとえば、ロボット１００が地点（Ｆ０１）に存在した回数が１０回であってユーザＸ１を１０回の滞在機会において２回検出したときには、マップ管理部１６８はユーザＸ１の検出率を２０（％）と算出する。図８によれば、地点（Ｆ０４）はユーザＸ１、Ｘ２に出会いやすく、地点（Ｆ０５）はユーザＸ２に５０（％）近い高確率にて出会うことができる。一方、地点（Ｆ０７）ではユーザＸ１、Ｘ２と出会ったことがない。
【００７８】
環境情報取得部１６６は、各地点における音量をマイクロフォンにより検出し、平均音量を高い順にＡ、Ｂ、Ｃにランク分けする。平均音量により、静かな場所とうるさい場所が特定される。同様に、環境情報取得部１６６は、各地点における気温を温度センサにより検出し、その平均気温を算出する。平均気温により、暑い場所と涼しい場所が特定される。これらの環境情報は時間帯や季節等の他のパラメータにより、更に分類されてもよい。
【００７９】
環境情報としては、このほかにもさまざまなセンサ情報を含めることができる。たとえば、ニオイセンサにより検出される匂いを環境情報に含めてもよいし、テーブルの下など「天井」が存在するか否かを環境情報に含めてもよい。ユーザの検出率（視認可能性）だけでなく、「誰かに触られる確率」「抱っこされる確率」「叩かれる確率」などのユーザとの相互作用の経験を環境情報として定義してもよい。環境情報は、少なくとも、画像特徴情報以外の情報であればよく、気温や風向などの触覚、聴覚、嗅覚として特定される情報であってもよい。
【００８０】
サーバ２００は、環境マップ情報４２０を参照して、所定の移動先条件を満たす地点をロボット１００の移動目標地点を設定する。たとえば、寂しさを示す感情パラメータの値（以下、「感情値（寂しさ）」のように表記する）が閾値以上となったとき、動作制御部２２２はいずれかのユーザの検出率が所定閾値以上となる地点、たとえば、地点（Ｆ０５）を移動目標地点として設定する。移動先条件は、任意に設定可能である。たとえば、現在地点の温度が２５度以上のとき、平均気温が２０度以下の環境情報を有する地点において移動先条件が成立するとしてもよい。
【００８１】
状態管理部２４４は、ロボット１００の現在地点において取得される第１次環境情報に基づいて感情パラメータを変化させる（以下、「（環境情報による）一次反映」とよぶ）。また、状態管理部２４４は、ロボット１００の現在地点において過去に取得された環境情報（以下、キーフレーム４０４の取得時点と以前にセンシングされていた環境情報のことを「第２次環境情報」ともよぶ）に基づいても感情パラメータを変化させる（以下、「（環境情報による）二次反映」とよぶ）。いいかえれば、状態管理部２４４は現在の第１次環境情報だけでなく、記憶された過去の第２次環境情報によっても感情パラメータを変化させる。環境情報に基づく感情パラメータの変化については、図１１に関連して詳述する。
【００８２】
図９は、オブジェクト情報４３０のデータ構造図である。
オブジェクト情報４３０は、サーバ２００のオブジェクト情報格納部１７２に格納される。ロボット１００の周辺ではさまざまなイベントが発生する。サーバ２００の認識部２１２は、第１次環境情報が所定のイベント条件を満たすとき、イベントが発生したと判定する。イベント条件は、ユーザを視認した、ユーザに抱っこされた、所定音量以上の音が聞こえた、水をかけられた、など任意に設定可能である。認識部２１２には、あらかじめ複数のイベント条件が設定される。イベントは、イベントＩＤにより識別される。
【００８３】
認識部２１２がイベントの発生を検出したとき、通信部２０４はロボット１００にイベント検出信号を送信する。画像特徴取得部１６４は、イベント検出信号が受信されたとき、最新の撮像画像からオブジェクトを検出する。オブジェクトは、コーヒーカップや椅子、棚、人形など任意に設定可能である。本実施形態においては、画像特徴取得部１６４は、複数種類のオブジェクトについて、あらかじめ形状および色彩の特徴を定義する複数のオブジェクトパターンを有しており、オブジェクトパターンに基づいてオブジェクトを画像認識する。画像特徴取得部１６４は、いずれかのオブジェクトが特定されたとき、オブジェクトＩＤを付与してサーバ２００に送信する。オブジェクト管理部１７４は、イベントＩＤとオブジェクトＩＤを対応づける。オブジェクトの認識は、既知の画像認識技術の応用により実現可能である。
【００８４】
オブジェクト管理部１７４は、オブジェクト情報４３０を管理する。オブジェクト情報４３０においては、イベントおよびオブジェクトの関連性の強さを示す指標値として関連度が定義される。イベント（Ｅ０１）とオブジェクト（Ｂ０１）の関連度は、イベント（Ｅ０１）が発生したときにオブジェクト（Ｂ０１）が認識される可能性の高さに基づいて、イベント（Ｅ０１）とオブジェクト（Ｂ０１）の間の連想性・因果性の強さを表現する指標である。
【００８５】
イベント（Ｅ０１）の発生時にオブジェクト（Ｂ０１）が検出されたとき、オブジェクト管理部１７４はイベント（Ｅ０１）とオブジェクト（Ｂ０１）の関連度を上昇させる。一方、イベント（Ｅ０１）が発生したときにオブジェクト（Ｂ０１）が検出されなければ、オブジェクト管理部１７４はイベント（Ｅ０１）とオブジェクト（Ｂ０１）の関連度を低下させる。本実施形態においては、イベントの発生時におけるオブジェクトの検出率を関連度と定義する。たとえば、イベント（Ｅ０１）の最近１０回の発生において、オブジェクト（Ｂ０１）が１０回中３回検出されたときには、オブジェクト管理部１７４はイベント（Ｅ０１）とオブジェクト（Ｂ０１）の関連度を３０（％）に設定する。
【００８６】
イベント（Ｅ０１）の発生時において高確率にてオブジェクト（Ｂ０１）が検出される場合には、オブジェクト（Ｂ０１）の近くではイベント（Ｅ０１）が発生しやすいという「因果性」を想定できる。関連度は、因果性に対する確信度を示すパラメータであるともいえる。たとえば、抱っこをされた地点においてソファ（オブジェクト）が高い確率で検出されたとする。この場合には、ソファの近くに行けば、抱っこをしてもらえる可能性が高い、という予測が可能となる。
【００８７】
状態管理部２４４は、イベントに基づいて感情パラメータを変化させる（以下、「（イベントによる）一次反映」とよぶ）。イベントは第１次環境情報の一種でもあるため、通常、イベントによる一次反映は第１次環境情報による一次反映と同時に発生する。状態管理部２４４は、ロボット１００の現在地点において検出されたオブジェクトから連想されるイベントに基づいても感情パラメータを変化させる（以下、「（イベントによる）二次反映」とよぶ）。状態管理部２４４は実際に発生しているイベントだけでなく、オブジェクトから連想されるイベントによっても感情パラメータを変化させる。イベントに基づく感情パラメータの変化については、図１３、１４に関連して詳述する。
【００８８】
図１０は、キーフレーム４０４の連鎖を示す模式図である。
画像特徴取得部１６４は、定期的にキーフレーム４０４を取得する。図１０においては、キーフレーム４０４（Ｆ０１）の取得時において、環境情報取得部１６６は環境情報（ｅ０１）を取得する。マップ管理部１６８は、環境マップ情報４２０において、キーフレーム４０４（Ｆ０１）と環境情報（ｅ０１）を対応づけて登録する。一定時間の経過後、ロボット１００は、キーフレーム４０４（Ｆ０２）および環境情報（ｅ０２）を取得する。マップ管理部１６８は、キーフレーム４０４（Ｆ０２）と環境情報（ｅ０２）を対応づけて登録するとともに、地点（Ｆ０１）と地点（Ｆ０２）が隣接しているという情報も記録する。
【００８９】
ロボット１００は、キーフレーム４０４（Ｆ０２）の取得後、更に、キーフレーム４０４（Ｆ０３）を取得する。マップ管理部１６８は、地点（Ｆ０２）と地点（Ｆ０３）が隣接するという情報をマップ格納部１７０に登録する。以上の処理により、ロボットシステム３００は、地点（Ｆ０１）からは、地点（Ｆ０２）を経由すれば、地点（Ｆ０３）に到達できるというキーフレーム４０４の位置関係、いいかえれば、空間の構成を学習する。
【００９０】
キーフレーム４０４（Ｆ０３）のあと、キーフレーム４０４（Ｆ０４）、キーフレーム４０４（Ｆ０５）、キーフレーム４０４（Ｆ０６）が取得されたとする。マップ管理部１６８は、キーフレーム４０４（Ｆ０６）と類似するキーフレーム４０４（Ｆ０２）を検出する。具体的には、キーフレーム４０４（Ｆ０６）とキーフレーム４０４（Ｆ０２）それぞれの特徴点４１０の数および分布の類似度を計算し、類似度が所定の閾値以上であるときに類似と判定する。マップ管理部１６８は、キーフレーム４０４（Ｆ０２）とキーフレーム４０４（Ｆ０６）は同一地点のキーフレーム４０４であると判定する。マップ管理部１６８は、キーフレーム４０４（Ｆ０２）をキーフレーム４０４（Ｆ０６）により後述の方法により更新する。また、マップ管理部１６８は、キーフレーム４０４（Ｆ０５）とキーフレーム４０４（Ｆ０２）が隣接することを認識する。このように、グラフ型のデータベースとして、複数のキーフレーム４０４の位置関係がマップ格納部１７０に登録される。
【００９１】
図１１は、環境マップ情報４２０の更新処理過程を示すフローチャートである。
図１１に示す更新処理は、ロボットシステム３００において定期的に実行される。まず、撮像画像取得部１６２は、撮像画像を取得する（Ｓ１０）。画像特徴取得部１６４は、撮像画像から画像特徴量を抽出し、キーフレーム４０４を生成する（Ｓ１２）。環境情報取得部１６６は、（第１次）環境情報を取得する（Ｓ１４）。状態管理部２４４は、環境情報に応じて感情パラメータを変化させる（Ｓ１６）。これは、上述した「環境情報による一次反映」である。環境情報に応じて感情パラメータをどのように変化させるかは任意に設定可能である。たとえば、撮像画像にユーザが検出されず、ユーザ未検出の状態が所定時間以上継続していれば、感情値（寂しさ）を上昇させてもよい。このときには、認識部２１２は、寂しさを癒す環境情報を有する地点を移動目標地点に設定する。動作制御部１５０は、感情値（寂しさ）が高まるとロボット１００の行動選択頻度を抑制してもよいし、特定のモーションを高確率にて選択してもよい。環境情報は感情パラメータに影響し、感情パラメータが行動特性に影響する。
【００９２】
ユーザから抱っこされたときには感情値（寂しさ）を低下させてもよい。所定範囲内の音量を検出したときには感情値（好奇心）を上昇させてもよい。上述したように、感情値だけでなく、親密度管理部２２０は親密度を変化させてもよい。
【００９３】
認識部２１２は、Ｓ１２において抽出されたキーフレーム４０４と類似度が所定値以上となるキーフレーム４０４が存在するか、いいかえれば、現在地点が既に訪れたことのある地点（以下、「再訪地点」とよぶ）であるか否かをチェックする（Ｓ１８）。再訪地点であれば（Ｓ１８のＹ）、マップ管理部１６８は同再訪地点のキーフレーム４０４（画像特徴情報）を更新する（Ｓ２０）。
【００９４】
撮像画像には、本棚やソファのように安定的に存在するものもあれば（以下、「安定特徴」とよぶ）、コーヒーカップや書類のように一時的に存在しているだけのものも映る（以下、「不安定特徴」とよぶ）。マップ管理部１６８は、ある再訪地点（Ｆ０５）において１回目に取得されたキーフレーム４０４（Ｆ０５−１）と２回目に取得されたキーフレーム４０４（Ｆ０５−２）を比較する。キーフレーム４０４（Ｆ０５−１）とキーフレーム４０４（Ｆ０５−２）は、全体としてはほとんど同一であるが、不安定特徴の部分については差異を生じる。たとえば、キーフレーム４０４（Ｆ０５−１）にはノートの画像特徴（不安定特徴）が含まれ、キーフレーム４０４（Ｆ０５−２）にはノートの画像特徴が含まれていないかもしれない。これは、地点Ｐ５の１回目の訪問と２回目の訪問の間にノートが取り去られたためである。このとき、マップ管理部１６８は、地点（Ｆ０５）のキーフレーム４０４（Ｆ０５）から不安定特徴を示す特徴点４１０を除外する。このような制御方法により、安定特徴のみを含むキーフレーム４０４、いいかえれば、空間認識に際して手がかりとしやすい画像特徴量のみを含むキーフレーム４０４を形成できる。
なお、より簡易な方法として、マップ管理部１６８は、再訪地点のキーフレーム４０４として、最新取得のキーフレーム４０４により以前のキーフレーム４０４を上書きしてもよい。
【００９５】
状態管理部２４４は、再訪地点に以前に対応づけられていた（第２次）環境情報に基づいて感情パラメータを変化させる（Ｓ２２）。これは、上述した「環境情報による二次反映」である。たとえば、地点（Ｆ０５）に環境情報（ｅ０５−１）が対応づけられており、ロボット１００が地点（Ｆ０５）を再訪したときには環境情報（ｅ０５−２）が取得されたとする。状態管理部２４４は第１次環境情報（ｅ０５−２）だけではなく（Ｓ１６）、以前の第２次環境情報（ｅ０５−１）にも基づいて感情パラメータを変化させる。このような制御方法によれば、再訪地点において過去に得た印象を現在の感情に反映させることができる。状態管理部２４４は、再訪によって新たに取得した環境情報（ｅ０５−２）により、環境マップ情報４２０を更新する（Ｓ２４）。
【００９６】
一例として、地点（Ｆ０７）は平均音量の大きな「騒がしい地点」である（図８参照）。ロボット１００が、地点（Ｆ０７）を再訪したとき、大きな音は聞こえなかったとする。この場合、状態管理部２４４は、「騒がしい地点」という過去の情報に基づいて、たとえば、感情値（好奇心）を上昇させる。同時に、マップ管理部１６８は、地点（Ｆ０７）の環境情報の一種である平均音量を下降させる。
【００９７】
一方、再訪地点でなければ（Ｓ１８のＮ）、認識部２１２は新発見の地点と判定し、状態管理部２４４は新たに取得したキーフレーム４０４と環境情報を環境マップ情報４２０に登録する（Ｓ２６）。その後、オブジェクト判定処理が実行される（Ｓ２８）。オブジェクト判定処理の詳細は図１４に関連して後述する。
【００９８】
たとえば、時刻ｔ１においては地点（Ｆ０４）にソファが存在し、そのあとソファが動かされ、時刻ｔ２においては地点（Ｆ０４）にソファが存在しないとする。この場合、時刻ｔ１において取得されるキーフレーム４０４（Ｆ０４−１）と時刻ｔ２において取得されるキーフレーム４０４（Ｆ０４−２）は同一とは見なせないほど大きく異なる可能性がある。この場合、ロボット１００は、ソファが存在するという画像記憶を頼りに地点（Ｆ０４）に移動したが、ソファが存在しないために画像記憶した地点（Ｆ０４）を発見できなくなる。地点（Ｆ０４）を再訪したにも関わらず、地点（Ｆ０４）を見つけられないため、このときには認識部２１２は新発見の地点に到達したと認識し（Ｓ１８のＮ）、ソファの存在しないキーフレーム４０４を環境マップ情報４２０に新規登録する。
【００９９】
マップ管理部１６８は、取得から所定時間以上経過したキーフレーム４０４は削除することにより、しばらく再訪していない地点の記憶を消去してもよい。このような制御方法によれば、ロボット１００の忘却を表現できるとともにマップ格納部１７０に保存するデータ量を抑制する上でも有効である。また、地点（Ｆ０４）には「ソファが存在する」という古くて役に立たなくなった情報を効率的に除去できる。
【０１００】
図１２は、イベントの発生にともなってロボット１００が移動先を選択する方法を説明するための模式図である。
図１２においては、ロボット１００が地点Ｐ５にいるとき、近隣の地点Ｐ６にてイベントＥ３が発生している。イベントＥ３は「ユーザＸ６が地点Ｐ６に存在すること」であるとする。サーバ２００の認識部２１２は、ユーザＸ６と類似の身体的特徴を有するユーザについて記憶していないとき、ユーザＸ６を未知のユーザと判断する。このとき、サーバ２００の動作制御部２２２は、退避先条件を満たす地点を移動目標地点として設定する。退避先条件の設定は任意である。具体的には、親密度が所定値以上のユーザの出現確率が所定値以上となる地点であってもよいし、天井や壁などの遮蔽物を有する地点であってもよい。動作制御部２２２は、イベントと退避先条件をあらかじめ対応づけておき、イベントが発生したときに退避先条件を満たす地点を環境マップ情報４２０から検出する。図１２においては、退避先条件を満たす地点Ｐ７および地点Ｐ８が特定されている。
【０１０１】
動作制御部２２２は、地点Ｐ７および地点Ｐ８のいずれかを移動目標地点として選択する。図１２においては、動作制御部２２２は、地点Ｐ５から近い方の地点Ｐ７を移動目標地点として選択する。たとえば、地点Ｐ７は、親密度が高いユーザＸ２の検出率が高い地点であるとする。上述したように、ロボット１００は、画像記憶をたどりながら地点Ｐ７に移動する。ロボット１００は、地点Ｐ７に移動し、期待した通りユーザＸ２を検出できれば、地点Ｐ７にしばらく滞在する。地点Ｐ７に移動してもユーザＸ２を検出できなければ、動作制御部２２２は地点Ｐ７から地点Ｐ８を移動目標地点として設定変更する。このような制御方法によれば、「イベントＥ３に驚き、ユーザＸ２を求めて地点Ｐ７に移動し、ユーザＸ２がいないので別の安心できる地点Ｐ３に移動する」という困惑行動をロボット１００に表現させることができる。
【０１０２】
動作制御部２２２は、特定のイベントが発生したときには、上述したように退避先条件を満たす地点を移動目標地点として設定する。状態管理部２４４は、イベントに応じて感情パラメータを変化させる。たとえば、高周波数の音声を所定時間以上検出したとき、イベントＥ４が成立し、状態管理部２４４はイベントＥ４に応じて感情値（好奇心）を上昇させてもよい。環境情報は、外部環境を各種センサの検出値によって数値表現したものである。イベントは、環境情報のうち、所定のイベント条件を満たす事象、いいかえれば、環境情報の特殊例である。
【０１０３】
図１３は、イベントの処理過程を示すフローチャートである。
図１１のＳ１４において（第１次）環境情報が検出されるごとに、認識部２１２はイベント条件の成否を判定する。図１３に示すイベント処理は、イベント、いいかえれば、（第１次）環境情報があらかじめ設定されるイベント条件のいずれかに該当したときに実行される。
【０１０４】
イベントが検出されたとき、撮像画像取得部１６２は、周辺画像を取得する（Ｓ３０）。本実施形態における周辺画像とは、２方向以上を対象とした２以上の撮像画像である。撮像画像取得部１６２は、通常時は１方向を対象としたカメラにて１枚の撮像画像を取得し、イベント発生時においてはロボット１００の周辺を広角に撮影可能な全天周カメラにより周辺画像を取得してもよい。
【０１０５】
画像特徴取得部１６４は、周辺画像、いいかえれば、複数の撮像画像それぞれから画像特徴を抽出する（Ｓ３２）。状態管理部２４４は、イベントに応じて感情パラメータを変化させる（Ｓ３４）。これは、上述した「イベントによる一次反映」である。イベントごとに、感情パラメータをどのように変化させるかはあらかじめ設定されている。
【０１０６】
次に、画像特徴取得部１６４は、周辺画像の画像特徴からオブジェクトを検出する（Ｓ３６）。オブジェクトが存在すれば（Ｓ３６のＹ）、マップ管理部１６８は、イベントとオブジェクトの関連度を変化させる（Ｓ３８）。イベント（Ｅ０１）が検出されたときにオブジェクト（Ｂ０１）が検出される頻度により、イベント（Ｅ０１）とオブジェクト（Ｂ０１）の関連度が決定される。イベント（Ｅ０１）が検出されるとき、高い頻度にてオブジェクト（Ｂ０１）が検出されれば、オブジェクト（Ｂ０１）からイベント（Ｅ０１）が連想されやすくなる。オブジェクトが存在しなければ（Ｓ３６のＮ）、Ｓ３８はスキップされる。
【０１０７】
イベントが退避イベントであるとき、いいかえれば、現在地点から逃げるべき特定のイベントであれば（Ｓ４０のＹ）、動作制御部２２２は、退避先条件を満たす地点を移動目標地点として設定する（Ｓ４２）。退避イベントでなければ、Ｓ４２の処理はスキップされる。
【０１０８】
図１４は、図１１のＳ２８に示すオブジェクト判定処理の詳細を示すフローチャートである。
画像特徴取得部１６４は、Ｓ１０において取得した撮像画像からオブジェクトを検出する（Ｓ５０）。状態管理部２４４は、画像記憶を参照し、過去に同一のオブジェクトを検出したことがあるか否かを判定する（Ｓ５２）。過去に検出したことのあるオブジェクトと同一、より厳密には、類似度が所定値以上のオブジェクトを検出したとき（Ｓ５２のＹ）、状態管理部２４４はオブジェクトに応じて感情パラメータを変化させる（Ｓ５４）。これは、上述した「イベントによる二次反映」である。オブジェクトが検出されなかったときや、新規オブジェクトの検出時には（Ｓ５２のＮ）、Ｓ５４はスキップされる。
【０１０９】
状態管理部２４４は、オブジェクトに関連づけられるイベント、および、オブジェクトとイベントの関連度に応じて感情パラメータを変化させる。たとえば、オブジェクト（Ｂ０１）が、イベント（Ｅ０３）およびイベント（Ｅ０４）に関連づけられおり、かつ、オブジェクト（Ｂ０１）とイベント（Ｅ０３）の関連度が２０（％）、オブジェクト（Ｂ０１）とイベント（Ｅ０４）の関連度が３％であるとする。このときには、状態管理部２４４は、関連度の最も高いイベント（Ｅ０３）に対応して感情値を変化させる。たとえば、イベント（Ｅ０３）が「感情値（承認要求）を３０％アップさせる」という設定がなされたイベントである場合、状態管理部２４４は、関連度２０％を考慮して、感情値（承認要求）を６％（＝３０％×２０％）だけ上昇させる。
このような制御方法によれば、イベント（Ｅ０３）が実際に発生しているわけではなくても、イベント（Ｅ０３）を連想されるオブジェクト（Ｂ０１）にイベント（Ｅ０３）の記憶を刺激されたために感情パラメータが影響され、感情パラメータの変化を行動特性の変化として表現できる。
【０１１０】
以上、実施形態に基づいてロボット１００およびロボット１００を含むロボットシステム３００について説明した。
生物は、感覚器、特に、目から得た環境情報を記憶として蓄積することにより空間を認識すると考えられる。本実施形態によれば、生物と類似の方法にて空間認識できる。基本構成として例示した外部センサ１１４を必須構成としないため、ロボット１００の行動予定範囲に外部センサ１１４をあらかじめ設置する作業が不要となる。
【０１１１】
ロボット１００は、キーフレーム４０４に基づいて行動する。このため、ロボット１００が所属する空間の内部状態が変化した場合、たとえば、机や椅子などのオブジェクトの位置変更が生じたとき、ロボット１００は一時的に空間認識をできなくなる可能性がある。その一方、新たな環境で新たにキーフレーム４０４を取得することにより画像記憶を更新していく。このため、環境の変化に一時的に戸惑いつつもいずれ適応していくという生物に似た行動特性を実現できる。
【０１１２】
ロボット１００は、初めての空間に入ったとき、動き回りながらキーフレーム４０４を蓄積し、場所記憶（ナワバリの感覚）を形成していく。キーフレーム４０４は、サーバ２００のマップ格納部１７０に保存される。マップ格納部１７０は、ハードディスク等の不揮発性記録媒体において形成されることが好ましい。ロボット１００の電源を投入するたびに、空間を歩き回って場所記憶を作り直す必要はない。
【０１１３】
ロボット１００は、環境情報にしたがって感情パラメータを変化させ、感情パラメータにしたがって行動特性を変化させる。また、ロボット１００は、「現在地点／現在時点」において取得される（第１次）環境情報だけではなく、「現在地点／過去時点」における（第２次）環境情報によっても感情パラメータを変化させる。このような制御方法によれば、過去の記憶により行動特性が変化するため、場所記憶に基づく感情の変化を行動表現できる。また、撮像画像から得られる特徴量に関連付けて環境情報を蓄積することにより、ロボット１００は、場所記憶を形成した場所とは異なる場所であっても、既存の場所記憶を利用した行動ができる。
【０１１４】
ロボット１００は、イベントに応じて、感情パラメータを変化させる。また、ロボット１００は、イベントそのものだけではなく、イベントを連想させるオブジェクトによっても感情パラメータを変化させる。特に、感情パラメータに強い影響を及ぼすイベントを設定した場合、イベントそのものだけではなく、そのイベントを連想させるオブジェクトにすら感情が影響される様子を行動表現できる。
【０１１５】
なお、本発明は上記実施形態や変形例に限定されるものではなく、要旨を逸脱しない範囲で構成要素を変形して具体化することができる。上記実施形態や変形例に開示されている複数の構成要素を適宜組み合わせることにより種々の発明を形成してもよい。また、上記実施形態や変形例に示される全構成要素からいくつかの構成要素を削除してもよい。
【０１１６】
１つのロボット１００と１つのサーバ２００、複数の外部センサ１１４によりロボットシステム３００が構成されるとして説明したが、ロボット１００の機能の一部はサーバ２００により実現されてもよいし、サーバ２００の機能の一部または全部がロボット１００に割り当てられてもよい。１つのサーバ２００が複数のロボット１００をコントロールしてもよいし、複数のサーバ２００が協働して１以上のロボット１００をコントロールしてもよい。
【０１１７】
ロボット１００やサーバ２００以外の第３の装置が、機能の一部を担ってもよい。図５、図６において説明したロボット１００の各機能とサーバ２００の各機能の集合体は大局的には１つの「ロボット」として把握することも可能である。１つまたは複数のハードウェアに対して、本発明を実現するために必要な複数の機能をどのように配分するかは、各ハードウェアの処理能力やロボットシステム３００に求められる仕様等に鑑みて決定されればよい。
【０１１８】
上述したように、「狭義におけるロボット」とはサーバ２００を含まないロボット１００のことであるが、「広義におけるロボット」はロボットシステム３００のことである。サーバ２００の機能の多くは、将来的にはロボット１００に統合されていく可能性も考えられる。
【０１１９】
状態管理部２４４は、サーバ２００に搭載されるとして説明したが、状態管理部２４４の機能はロボット１００に搭載されてもよい。同様にして、マップ管理部１６８、オブジェクト管理部１７４の機能も、サーバ２００ではなくロボット１００に実装されてもよい。
【０１２０】
ロボット１００の環境情報取得部１６６は第１次環境情報を取得する「第１次環境情報取得部」として機能し、ロボットシステム３００の状態管理部２４４は第２次環境情報を取得する「第２次環境情報取得部」を含んでもよい。もちろん、第２次環境情報取得部の機能はロボット１００に搭載されてもよい。第１次環境情報取得部は、ロボット１００の現在地点Ｐ１において（同地点において画像特徴情報Ｒ１も取得されているとする）、第１次環境情報Ｅ１を取得するとともに画像特徴情報Ｒ１と第１次環境情報Ｅ１を対応づけて登録してもよい。この画像特徴情報Ｒ１と第１次環境情報Ｅ１を対応づける地点情報は、ロボット１００またはサーバ２００の有する地点情報格納部（図示せず）に保存される。そして、第２次環境情報取得部は、現在地点Ｐ１において取得された画像特徴情報Ｒ１と、取得済みの画像特徴情報群を比較し、画像類似度が所定の閾値以上となる画像特徴情報Ｒ２を検出する。第２次環境情報取得部は、画像特徴情報Ｒ２に対応づけられている環境情報Ｅ２を現在地点Ｐ１における第２次環境情報Ｅ２として特定する。動作制御部２２２は、上述したように第１次環境情報Ｅ１および第２次環境情報Ｅ２の双方に基づいて地点Ｐ１に位置するロボット１００の行動特性を変化させてもよい。
【０１２１】
画像特徴情報Ｒ１と画像特徴情報Ｒ１が類似する場合、画像特徴情報Ｒ１の取得地点Ｐ１と画像特徴情報Ｒ１の取得地点Ｐ２が同一である可能性が高い。一方、本来は別々の地点である地点Ｐ１、Ｐ２の画像特徴情報（風景）がたまたま似ていた可能性もある。このため、現在地点Ｐ１における風景を認識したロボット１００が、地点Ｐ１と類似する風景を有する地点Ｐ２（過去に訪問した別地点）において認識した第２次環境情報Ｅ２を思い出し、第２次環境情報Ｅ２に感情パラメータが影響されるという処理を実現できる。たとえば、「お父さんの椅子Ｃ１に似た椅子Ｃ２のある地点Ｐ１」において、以前に見た「お父さんの椅子Ｃ１のある地点Ｐ２」のイメージによって記憶を刺激されるという複雑な行動特性を実現できる。ロボット１００が地点Ｐ２に肯定的なイメージをもっているときには、動作制御部２２２は地点Ｐ１において所定時間以上ロボット１００を留まらせることで、ロボット１００の椅子Ｃ１に対する愛着を間接的に表現してもよい。
【０１２２】
第２次環境情報取得部は、地点Ｐ１の画像特徴情報Ｒ１に類似する画像特徴情報が検出できなかったときには、撮像画像取得部１６２に指示して撮影方向を変化させる。たとえば、ロボット１００が正面を撮影してキーフレーム４０４を取得していたときには、撮影方向を右方向に３０度にずらして改めて画像特徴情報Ｒ３を取得させてもよい。そして、第２次画像情報取得部は、画像特徴情報Ｒ３に類似する取得済みの画像特徴情報を検索してもよい。ロボット１００は、内蔵するカメラの向き、または、体の向きを変更してもよいし、全天周カメラによる全天周画像におけるキーフレーム４０４の抽出方向を変更してもよい。このように、適宜、撮影方向を変更することにより、既に取得された画像特徴情報から現在地点に類似する画像特徴情報を検出しやすくなる。
【０１２３】
撮像画像の特徴量を入力とし、環境情報を出力とする推測モデルを用意してもよい。この推測モデルは、特徴量ｆ１，ｆ２，・・・，ｆｔを入力とし、環境情報ｅ１，ｅ２，・・・，ｅｕを出力とするニューラル・ネットワーク・モデルであってもよい。たとえば、特徴量ｆ１はキーフレーム４０４に含まれる特徴点４１０の数、特徴量ｆ２はキーフレーム４０４において特徴点４１０により形成される略垂直方向の直線の数、であってもよい。同様に、環境情報ｅ１は受信強度、環境情報ｅ２はユーザＸ１の検出率であってもよい。第２次環境情報取得部は、ロボット１００の現在地点Ｐ１において取得された特徴量を推測モデルに入力し、その出力を第２次環境情報として取得してもよい。推測モデルにより出力される第２次環境情報は、特徴量から推測される仮想の環境情報である。このような処理方法によっても、現在地点Ｐ１の風景を認識したロボット１００が、地点Ｐ１の画像特徴量に基づいて第２次環境情報をイメージし、第２次環境情報によって感情パラメータが影響されるという処理を実現できる。
【０１２４】
第１次環境情報取得部は、現在地点Ｐ１における撮像画像から特徴量を抽出するとともに第１次環境情報を取得したときには、これらを入出力値として、いいかえれば教師データとして推測モデルを更新してもよい。
【０１２５】
キーフレーム４０４の撮影に際しては、ＴＯＦ（Time-of-Flight）方式のカメラや、ステレオカメラ等のデプスカメラを用いてもよい。デプスカメラで撮影された画像には、深度情報が含まれる。画像特徴取得部１６４は、深度範囲ごとに特徴量を抽出してもよい。第１次環境情報取得部は、深度範囲ごとの画像特徴情報と、第１次環境情報Ｅ１とを対応付けて登録してもよい。深度範囲は、カメラからの絶対的な距離範囲として決められてもよいし、ある特徴点を基準とした相対的な距離範囲として決められてもよい。たとえば、５つの深度範囲を決めた場合、５つの深度範囲の画像特徴情報それぞれに共通の第１次環境情報Ｅ１が対応付けて登録される。また、画像特徴取得部１６４は、同一のオブジェクトに起因する特徴点の組み合わせを画像特徴情報として抽出し、第１次環境情報Ｅ１と対応付けて登録してもよい。そして、第２次環境情報取得部は、深度範囲ごとの特徴量を用いて第２次環境情報Ｅ２を取得してもよい。このように深度範囲に応じて特徴量を抽出することで、ある環境を作り出す要因となる視覚的な特徴を特定し易くなる。つまり、ノイズとなる特徴点が除かれる確率が増し、推測モデルを利用した形態では学習効果が高くなる。
【０１２６】
たとえば、テレビＴ１の近くに人が居るという状況を想定する。第１次環境情報取得部は、深度範囲ごとに特徴量を取得して複数の地点情報を登録する。この地点情報の中に、主にテレビＴ１の特徴点群からなる画像特徴情報と、人が居るという環境情報とが対応付けられたものが含まれる。別の機会に、テレビＴ２を含むキーフレーム４０４が撮影され、深度範囲ごとに特徴量を取得すると、その中に主に「テレビ」の特徴点群からなる画像特徴情報が抽出されたとする。テレビＴ２の近くには人は居ないとする。第２次環境情報取得部がその画像特徴情報に類似する地点情報を取得すると、テレビＴ１の画像特徴情報に基づいて「人が居る」という第２次環境情報を得る。これにより、「テレビの近くには人が居る」という体験をした場所とは実際には別の場所であっても、テレビに起因する特徴点を多く含む画像特徴情報が得られれば、「人が居る」という経験を思い出すことができ、そこに人が居なくても長く留まるなどの学習的な行動を選択できる。
【０１２７】
本実施形態においては、定期的に１枚の撮像画像を取得し、イベント発生時においては複数枚の撮像画像を取得するとして説明した。これに限らず、通常時においてはｎ枚の撮像画像を取得し、イベント発生時においてはｍ枚（ｍ＞ｎ）の撮像画像を取得するとしてもよい。イベントはロボット１００の行動特性に大きく影響しやすい重要事象であるため、イベント発生時においてはその周辺における画像情報をより詳細に取得することが望ましい。多数の撮像画像を取得することにより、イベント発生時におけるオブジェクトを高精度にて検出できる。イベント発生時においては、ロボット１００は複数方向に搭載カメラを向けることで複数の撮像画像を取得してもよい。この場合には、イベントに驚いて周辺確認する様子も行動表現できる。
【０１２８】
イベント発生時においては、通常時よりも高画質にて撮影画像を取得するとしてもよい。通常時における画像処理負荷を抑制しつつ、イベント発生時においては外部環境をより詳細に認識できる。画像特徴取得部１６４は、高画質の撮像画像を拡大することにより、拡大画像から小さなオブジェクトを認識してもよい。
【０１２９】
イベント発生時においては、奥行き毎に特徴量を抽出し、オブジェクトを検出してもよい。具体的には、深度カメラにより、奥行き方向を複数段階に分離してもよい。ロボット１００から所定範囲、たとえば、３０センチメートル以内の範囲を第１範囲、３０センチメートルから１メートル以内の範囲を第２範囲、１メートル以上を第３範囲とする。そして、第１範囲の画像特徴情報と、第１範囲についての既存の画像特徴情報との類似度を判定してもよい。この場合には、遠方においては類似していなくても、近距離においては類似している画像特徴情報を対象として類似判断をするため、イベント発生時に高画質の撮像画像を取得したときでも高速に画像処理を実行できる。
【０１３０】
イベント発生時においては、マイクロフォンなどの各種センサの検出感度を上昇させてもよい。あるいは、通常時においては、ニオイセンサなどの一部のセンサは使用せず、イベント発生時に限りこれらのセンサを使用することにより、イベント発生時における環境情報を充実させてもよい。人間は、通常時においては無意識的に行動し、危険を認識したときや興味をひかれる事象を認識したとき、いわば非常時において周辺環境を正確に認識しようと意識を強く働かせる。イベント発生時、いいかえれば、非常時においてセンサの検出力を高めることで、イベント発生時における外部環境をより認識しやすくなる。
【０１３１】
撮像画像取得部１６２は、常時、動画像を撮像し、動画像から定期的に撮像画像（静止画）を抽出してもよい。画像特徴取得部１６４は、動画像からキーフレーム４０４を抽出してもよい。認識部２１２は、イベント発生時においては、イベント発生の認識前後における所定期間の動画像からオブジェクトを検出してもよい。
【０１３２】
図１４に示したオブジェクト判定処理は、図１１に示した更新処理とは別のタイミングにて実行されてもよい。オブジェクト判定処理を高頻度で実行する場合、オブジェクトが検出されるごとに感情パラメータが変化することになる。感情パラメータの過度の変化を抑制する方法のひとつとして、更新処理よりも低い頻度にてオブジェクト判定処理を実行してもよい。
【０１３３】
本実施形態においては、イベントとオブジェクトの因果性を関連度として定義し、オブジェクトに基づいて感情パラメータを変化させるとして説明した。視認可能なオブジェクトのほかにも、特定の音声や匂いなど他の環境情報をイベントと関連づけてもよい。たとえば、香水の匂いと女性ユーザＸ４の外出というイベントを結びつけることにより、香水の匂いを検出したときには、女性ユーザＸ４の外出を連想し、状態管理部２４４は感情値（寂しさ）を上昇させてもよい。
【０１３４】
オブジェクト管理部１７４は、イベントとオブジェクトの連想性の強さを表現する関連度を時間経過にしたがって減少してもよい。このような制御方法によれば、イベントとオブジェクトの連想性が時間とともに薄れていくという「忘却」をロボット１００において表現できる。オブジェクト管理部１７４は、関連度が所定の閾値を越えたときには、関連度の時間減衰率を低下させてもよい。このような制御方法によれば、イベントとオブジェクトの間につよい連想性（関連度）が成立したときには、このような連想性がなかなか解消されなくなる。いわば、「強い先入観」に似た感情表現をロボット１００において表現できる。
【０１３５】
一部のイベントを特別イベントとして設定してもよい。たとえば、雷鳴や爆発音などの所定値以上の音が発生することを特別イベントと定義してもよい。オブジェクト管理部１７４は、特別イベントと同時に視認したオブジェクトに対しては所定の関連度、たとえば、９０（％）の関連度を設定し、「トラウマ（心的外傷）」のような強い印象をロボット１００に設定してもよい。このほかにも、ユーザＸ１から、故障するほど強く殴られたときには、オブジェクト管理部１７４は、殴られるという特別イベントとユーザＸ１（オブジェクト）の関連度を９０％に設定してもよい。このような制御方法によれば、親密度以外のパラメータにより「苦手感」を表現できる。
【０１３６】
イベント条件は任意に設定可能である。外部事象に限らず、感情値（寂しさ）が所定値以上となること、であってもよい。あるいは、充電率が所定値以下になる、故障するなどの機構上の事象をイベントとして認識してもよい。感情値（寂しさ）が所定値以上となったときには、動作制御部２２２はロボット１００の移動先として、親密度が所定値以上のユーザの出現確率の高い地点を候補として選択しつつ、このユーザを求めて部屋を徘徊させてもよい。
【０１３７】
画像特徴取得部１６４は、地点Ｐ６において合計１０枚のキーフレーム４０４を取得したとする。このとき、１０枚のキーフレーム４０４のうちの所定枚数、たとえば、７枚以上のキーフレーム４０４において共通する画像特徴を地点Ｐ６のキーフレーム４０４（画像特徴情報）として登録してもよい。このような制御方法によっても、書類や服など、外部環境を認識する上で目印になりにくい不安定特徴、いわば、位置認識におけるノイズ情報を効果的に除去できる。
【０１３８】
環境情報は、カテゴリ化されてもよい。たとえば、気温に関する環境情報を「暖かい」「寒い」などの２以上のカテゴリに分類してもよい。このほか「安全」「危険」、「楽しい」「寂しい」など場所ごとに環境情報を複数カテゴリに分類をしてもよい。このような制御方法によれば、キーフレーム４０４に結びつく環境情報を縮約できるため、記憶容量を抑制するとともに環境情報の検出にともなう処理負荷を軽減できる。
【０１３９】
サーバ２００からの無線信号の受信強度により、ロボット１００のナワバリを表現してもよい。ロボット１００は、サーバ２００との通信可能範囲から出てしまうと、サーバ２００からのサポートを受けられなくなる。動作制御部２２２は、オブジェクト情報４３０を参照し、受信強度がＢ以上となる地点の集合を行動可能範囲として設定してもよい。このような制御方法によれば、ロボット１００が通信可能範囲から外れるのを防ぐことができる。
【０１４０】
ロボット１００は、サーバ２００に限らず、他の装置からの受信強度に基づいて縄張りを設定してもよい。たとえば、外部センサ１１４を設置する場合には、動作制御部２２２はいずれかの外部センサ１１４との無線通信を良好に実行できる範囲を行動可能範囲として設定してもよい。ロボット１００は、定期的にサーバ２００と通信し、受信強度が所定値以下となったときにはそれ以上、サーバ２００から離れないように自ら行動規制してもよい。一方、ユーザのお出迎えなど特定のイベントが発生したときには、動作制御部２２２は受信強度が低い地点であっても移動目標地点を設定してもよい。
【０１４１】
ロボット１００は、図示しない充電装置において定期的に充電を行う。充電中においては、サーバ２００はロボット１００との通信を抑制してもよい。ロボット１００の通信部１４２は、充電装置で充電を開始するとき充電開始信号をサーバ２００に送信し、充電が完了したときには充電完了信号を送信する。サーバ２００は、充電開始信号を受信したときには、ロボット１００から充電完了信号を受信するまでロボット１００との通信を中止してもよい。あるいは、ロボット１００の充電中においては、サーバ２００とロボット１００との定期的な通信頻度を低下させてもよい。このような制御方法によれば、ロボット１００が活動していない充電時に通信を抑制することで、ロボット１００およびサーバ２００の通信にともなう電力消費を抑制できる。
【０１４２】
本発明は、ロボット１００以外にも応用可能である。たとえば、ナビゲーションシステムにおいても、キーフレーム４０４による場所記憶の考え方は応用可能である。定期的に外界を撮像することにより、景色を記憶することでマップを作成する。これに環境情報を結びつける。ナビゲーションシステムは、環境マップ情報に基づいて、ユーザが今まで行ったことのない散歩コースを提案してもよいし、楽しい経験をしたことのある地点を含む散歩コースを提案してもよいし、危ない経験をしたことのある地点を避けた散歩コースを提案してもよい。
【０１４３】
環境マップ、または、環境マップ情報は、いわゆる「マップ（地図）」として表現される必要はない。環境マップ情報は、地理情報と環境情報を対応づける情報であればよく、視覚的に表現される必要はない。ここでいう地理情報とはキーフレーム４０４であってもよいし、地理的な目印となる各種のオブジェクトであってもよい。
【０１４４】
本実施形態においては、キーフレーム４０４と環境情報を対応づけ、キーフレーム４０４に対応づけられる環境情報（キーフレーム４０４に関する記憶）に基づいて感情パラメータを変化させ（二次反映）、感情パラメータに基づいてロボット１００の行動特性を変化させるとして説明した。
【０１４５】
変形例として、オブジェクトと環境情報を対応づけることにより環境記憶を形成してもよい。ロボット１００は、オブジェクトを検出したとき、オブジェクトに対応づけられる環境情報（オブジェクトに関する記憶）に基づいて行動特性を変化させてもよい。
【０１４６】
ロボット１００は、オブジェクトの種類に基づいて、感情パラメータを変化させ、感情パラメータの変化に基づいて行動特性を変化させてもよい。
【０１４７】
また、複数のオブジェクトを含む部屋（空間）に対するロボット１００の印象を記憶させておき、部屋に対する印象記憶（後述）に基づいてロボット１００の感情パラメータを変化させ、感情パラメータに基づいて行動特性を変化させてもよい。
【０１４８】
以下においては、部屋に対する記憶に基づく感情パラメータの変化、オブジェクトに対応づけられる環境情報に基づく感情パラメータの変化と、それにともなうロボット１００の行動特性の変化について変形例として説明する。
【０１４９】
ロボット１００の画像特徴取得部１６４は「オブジェクト検出部」として機能してもよい。上述したように画像特徴取得部１６４は、複数種類のオブジェクトについて、あらかじめ形状および色彩の特徴を定義する複数のオブジェクトパターンを有しており、オブジェクトパターンに基づいてオブジェクトを画像認識してもよい。たとえば、画像特徴取得部１６４は、オブジェクト（Ｂ０１）の特徴点分布に基づいて、オブジェクト（Ｂ０１）が「テレビ」であると判定してもよい。また、画像特徴取得部１６４は、別のオブジェクト（Ｂ０４）の特徴点分布について、このオブジェクト（Ｂ０４）も「テレビ」であると判定してもよい。画像特徴取得部１６４または認識部２１２は、オブジェクト（Ｂ０１）とオブジェクト（Ｂ０４）は異なるオブジェクトであっても「テレビ」という同じカテゴリに属することを認識できる。画像特徴取得部１６４は、特徴点分布を入力とするニューラル・ネットワーク・モデルにより、オブジェクトのカテゴリを判定してもよい。
【０１５０】
以下、オブジェクト（Ｂ０１）のような固有物体としてのオブジェクトを示すときには「固有オブジェクト」、テレビのようにオブジェクトの種類を示すときには「オブジェクト・カテゴリ」とよぶ。固有オブジェクトはオブジェクトＩＤにより識別され、オブジェクト・カテゴリはカテゴリＩＤにより識別される。また、特に区別しないときには、単に「オブジェクト」とよぶ。
【０１５１】
ロボット１００は、画像認識以外の方法により固有オブジェクトを検出し、オブジェクト・カテゴリを特定してもよい。たとえば、ロボット１００は、固有オブジェクトと通信することによりオブジェクトを検出する「オブジェクト検出部」を備えてもよい。カテゴリＩＤを家電製品が送信可能である場合、オブジェクト検出部は家電製品から送信されるカテゴリＩＤを検出することにより、家電製品（固有オブジェクト）のオブジェクト・カテゴリを判定してもよい。
以下の変形例においては、ロボット１００のオブジェクト検出部がオブジェクトを検出し、かつ、オブジェクト・カテゴリを特定するものとして説明する。
【０１５２】
図１５は、変形例におけるオブジェクト環境情報４４０のデータ構造図である。
オブジェクト環境情報４４０は、オブジェクト情報格納部１７２に格納される。オブジェクト環境情報４４０は、オブジェクトＩＤ、カテゴリＩＤ、環境情報およびルームＩＤと対応づけられる。上述したように、オブジェクトＩＤは固有オブジェクトを識別し、カテゴリＩＤはオブジェクト・カテゴリを示す。たとえば、固有オブジェクト（Ｂ０１）と固有オブジェクト（Ｂ０４）がどちらも「テレビ」であるときには、これらの２つの固有オブジェクトのカテゴリＩＤは同一となる。
【０１５３】
オブジェクト検出部は、固有オブジェクトを検出したとき、オブジェクトＩＤおよびカテゴリＩＤを特定する。環境情報取得部１６６は、固有オブジェクトを検出したときの環境情報を取得する。オブジェクト管理部１７４は、固有オブジェクト検出時の環境情報に基づいて、オブジェクト環境情報４４０を更新する。オブジェクト環境情報４４０の更新は、図８に関連して説明した方法と基本的には同じである。
【０１５４】
認識部２１２は、壁と扉を検出することにより、閉鎖空間としての部屋を認識する。各部屋はルームＩＤにより識別される。オブジェクト検出部により検出された固有オブジェクトは、ルームＩＤが対応づけられて管理される。ルームＩＤ＝Ｒ０１は「居間」を示し、ルームＩＤ＝Ｒ０２は「書斎」を示すものとする。図１５によれば、固有オブジェクト（Ｂ０１：テレビ）は部屋（Ｒ０１：居間）に設置され、固有オブジェクト（Ｂ０４：テレビ）は部屋（Ｒ０２：書斎）に設置されている。たとえば、部屋（Ｒ０１：居間）に設置されているテレビ（Ｂ０１）の近くでは７０％の高い確率でいずれかのユーザが検出され、部屋（Ｒ０２：書斎）に設置されているテレビ（Ｂ０４）の近くでは、ほとんどユーザを検出したことが無いことが記憶されている。
以下、オブジェクト・カテゴリ（Ｃ０１）はテレビ、オブジェクト・カテゴリ（Ｃ０２）はプリンタ、オブジェクト・カテゴリ（Ｃ０３）はテーブル、オブジェクト・カテゴリ（Ｃ０４）はソファである想定して説明する。
【０１５５】
図１６は、変形例におけるルーム印象情報４５０のデータ構造図である。
本変形例においては、サーバ２００のデータ格納部２０６は、更に、ルーム印象情報４５０を格納する。ルーム印象情報４５０は、部屋（ルームＩＤ）、カテゴリＩＤおよび印象記憶を対応づける。「印象記憶」は、部屋に対するロボット１００の印象を表す情報であり、数値にて示される（以下、「印象記憶値」とよぶ）。「印象」は、部屋で体験したイベント、ロボットの外部状態や内部状態に応じて増減される指数であり、ロボット１００の感情パラメータや、各駆動部の動作量、スピーカーの音量など数値として管理できるパラメータに基づいて決まる。
【０１５６】
たとえば、居間では、ロボット１００は、オーナーと触れあう機会が多く、移動可能なスペースも広いので自由に動き回ることができる。寝室は、居間よりもスペースが狭く、触れあう機会も居間よりも少ない。そのため、ロボットにおける可動部分の動作量という観点で指数を設けると、居間における動作量の指数は、寝室の動作量の指数より大きくなる。
【０１５７】
スピーカーからの出力という観点で指数を設けると、居間ではオーナーと触れあう機会が多く、声を発する機会も多くなるのでスピーカーの指数は、寝室におけるスピーカーの指数より大きくなる。
【０１５８】
ロボット１００がオーナーから受ける快行為という観点で指数を設けると、居間では抱っこしてもらう機会が多く、寝室では居間よりも抱っこの機会が少なくなるので、快行為の指数は、居間の方が寝室よりも大きくなる。こうした指数を定義し、定義された指数の根拠となるパラメータの実績値を部屋ごとに一定期間にわたり所定の条件で集計することにより部屋ごとの傾向がわかる。こうした指数が印象記憶として管理される。
【０１５９】
たとえば、ロボット１００は、居間では活発に行動し、声を発する機会も多く、快行為を受けることも多いという経験をしたとき、居間に対する実績値として「動作量の指数」「スピーカーの指数」「快行為の指数」が高くなる。このような実績値から、「居間のような部屋では、活発に動いてもよいし、声を出してもよいし、快行為を受けることも多い」という印象が形成される。
【０１６０】
これらの指数は時間帯によっても変化する。たとえば、平日の昼は快行為を受けることは少なく、平日の夜は快行為を受けることが多いかもしれない。この場合、平日の昼（たとえば、１１：００〜１３：００）という時間帯に対して各種の指数が対応づけられる。この結果、平日の昼と平日の夜では印象記憶値も変化する。
図１６では、こうした印象記憶のうち、快行為の指数が図示されている。
【０１６１】
部屋（Ｒ０１：居間）で発生したイベントが快行為であるとき、状態管理部２４４は部屋（Ｒ０１：居間）の印象記憶値を増加させる。一方、イベントが不快行為であるとき、状態管理部２４４は部屋（Ｒ０１：居間）の印象記憶値を減少させる。このような制御方法により、部屋（Ｒ０１：居間）に対するロボット１００の印象を数値表現する。図１６によれば、部屋（Ｒ０１：居間）の印象記憶値は「＋１０」であるから、ロボット１００は部屋（Ｒ０１：居間）に対して肯定的な印象をもっている。居間に対するこのような好印象は、たとえば、ロボット１００が居間にいるときには、オーナーに抱っこしてもらうなど快行為を受けることが多かったという経験に基づいて育まれる。
【０１６２】
部屋（Ｒ０２：書斎）でオーナーに叱られたときには（不快行為）、ロボット１００の部屋（Ｒ０２：書斎）に対する印象記憶値は減少する。状態管理部２４４は、たとえば、ロボット１００が部屋（Ｒ０２：書斎）にいるとき、一定時間以上、たとえば、１０分間以上、いずれのオーナーも検出できなかったときに部屋（Ｒ０２：書斎）に対する印象記憶値を減少させるとしてもよい。このように、部屋で発生したイベントだけではなく、部屋でイベントが発生しなかったことや、イベントの発生頻度に基づいて印象記憶値を変化させてもよい。
【０１６３】
本変形例におけるロボット１００は、部屋（Ｒ０１）が「居間」であると認識しているわけではない。ロボット１００の認識部２１２は、部屋のタイプを部屋に含まれる複数のオブジェクト・カテゴリにより識別し、部屋ごとにルームＩＤを付与する。
【０１６４】
図１６によれば、部屋（Ｒ０１：居間）においては、テレビ（Ｃ０１）、テーブル（Ｃ０３）、ソファ（Ｃ０４）が検出されている。ロボット１００は、これらのオブジェクト・カテゴリ群を含む空間として、部屋（Ｒ０１：居間）を識別する。部屋（Ｒ０１：居間）に対する印象記憶値が高いことは、いいかえれば、テレビ（Ｃ０１）、テーブル（Ｃ０３）、ソファ（Ｃ０４）を含むという条件を満たす部屋に対してロボット１００が肯定的な印象を持っていることを意味する。ロボット１００は、部屋で得られる環境情報、特に、部屋の中で体験するイベントに応じて、部屋の印象記憶値を変化させる。ロボット１００は、印象記憶値の対象となる部屋を部屋に含まれる複数のオブジェクト・カテゴリにより識別する。
【０１６５】
図１６に示すルーム印象情報４５０を前提としたとき、ロボット１００は、テレビ（Ｃ０１）、テーブル（Ｃ０３）、ソファ（Ｃ０４）を含む部屋に対しては好印象を持つ。状態管理部２４４は、ロボット１００が初めて部屋に入ったとき（以下、ロボット１００が存在している部屋のことを「在室部屋」とよぶ）、在室部屋に含まれる複数種類のオブジェクト・カテゴリに基づいて、部屋のタイプを特定する。たとえば、在室部屋が既知の部屋（Ｒ０１）に類似しているときには、状態管理部２４４は部屋（Ｒ０１）の印象記憶値に基づいてロボット１００の感情パラメータを変化させる。在室部屋は部屋（Ｒ０１）と同一であってもよいし、たまたま、テレビ（Ｃ０１）、テーブル（Ｃ０３）、ソファ（Ｃ０４）を含むという点において共通する別の部屋であってもよい。このような制御方法によれば、テレビやテーブルなどのある部屋（Ｒ０１：居間）に肯定的印象を抱いているロボット１００は、未知の家庭を初訪問したときでも、部屋（Ｒ０１：居間）に類似する部屋を見つけたときに「嬉しくなる」ことができる。したがって、既知の部屋に対する印象に基づいて、未知の部屋に入ったときのロボット１００の感情を変化させることができる。既知の部屋に似た部屋に在室しているときには、状態管理部２４４は寂しさを示す感情パラメータ値を低下させてもよい。また、既知の部屋のいずれにも似ていない部屋に在室しているときには、状態管理部２４４は寂しさを示す感情パラメータを上昇させ、好奇心を示す感情パラメータも上昇させてもよい。
【０１６６】
たとえば、ロボット１００の状態管理部２４４は、印象記憶値の高い既知の部屋に似た部屋、または、同一の部屋に入ったとき、「寂しさ」を示す感情パラメータを低下させてもよい。印象記憶値が高いほど「寂しさ」を示す感情パラメータを大きく低下させてもよい。
【０１６７】
また、たとえば、印象記憶として、動作量の指数が定義されており、部屋（Ｒ０１：居間）の動作量の指数が、部屋（Ｒ０２：書斎）の動作量の指数より大きい場合、つまり、書斎の動作量の指数が居間の動作量の指数より小さい場合、ロボット１００は、書斎に該当する部屋に居るときの動作量を居間に該当する部屋に居るときより抑制できる。
【０１６８】
まとめると、ロボット１００は、各部屋においてさまざまな外部環境の影響を受けながら、感情パラメータや動作量などを複雑に変化させる。このような行動実績が各種の指数として記録される。また、これらの行動実績に基づいて「活発に動ける」「快行為をうけやすい」といった印象記憶が形成される。そして、ロボット１００は、在室部屋が既知の部屋に似ているときには、既知の部屋の印象記憶に基づいてその行動特性を変化させる。経験に基づく行動実績が実際の行動特性に影響を与えることにより「経験に基づく行動特性」が実現される。
【０１６９】
上述したように、部屋は、複数のオブジェクト・カテゴリの組み合わせにより識別される。状態管理部２４４は、在室部屋で検出されるすべての固有オブジェクトに基づいて部屋を識別する必要はない。
【０１７０】
オブジェクト管理部１７４は、環境情報に基づいて、固有オブジェクトごとに印象記憶値を設定してもよい。具体的には、オブジェクト管理部１７４は、固有オブジェクトが検出されたときの環境情報がイベント条件（上述）を満たすとき、イベントに応じて固有オブジェクトの印象記憶値を変化させる。たとえば、テレビ（Ｂ０１）のそばで快行為が検出されたとき、オブジェクト管理部１７４はテレビ（Ｂ０１）に対する印象記憶値を上昇させてもよい。いいかえれば、所定のイベントが発生したとき、オブジェクト管理部１７４は、ロボット１００から所定の範囲内にある固有オブジェクトを特定し、その固有オブジェクトに対する印象記憶値を変化させる。オブジェクトが所定の範囲内にあるか否かの判断は、各オブジェクトの距離を測定することで判断されてもよいし、撮像画像に含まれるオブジェクトの大きさに基づいて推定されてもよい。
【０１７１】
また、オブジェクト管理部１７４は、ロボット１００の正面方向に存在するとともに、所定の範囲内にある固有オブジェクトを特定し、その固有オブジェクトに対する印象記憶値を変化させてもよい。また、オブジェクト管理部１７４は、固有オブジェクト（Ｂ０１）ではなく、オブジェクト・カテゴリ（Ｃ０１）に対して印象記憶値を設定してもよい。たとえば、テレビの周りには人が存在するので、抱っこされるなどのイベントが発生する頻度が高い。「テレビ」というカテゴリに対して印象記憶値を設定することで、初めての場所であっても、記憶に基づき、テレビの近くに移動するという行動を選択できる。
【０１７２】
オブジェクト管理部１７４は、在室部屋で検出される複数の固有オブジェクトのうち、一部の固有オブジェクトに基づいて在室部屋を識別してもよい。たとえば、オブジェクト管理部１７４は、印象記憶値が特に高いものと特に低いもの、たとえば上位３以内の固有オブジェクトと下位３位以内の６個の固有オブジェクトを特定してもよい。そして、これら６個の固有オブジェクトそれぞれのオブジェクト・カテゴリを特定し、特定されたオブジェクト・カテゴリの組み合わせとして在室部屋を識別してもよい。
【０１７３】
状態管理部２４４は、在室部屋で検出されたオブジェクト・カテゴリ群と、ルーム印象情報４５０において登録されている複数の部屋それぞれに対応づけられるオブジェクト・カテゴリ群を比較する。状態管理部２４４は、オブジェクト・カテゴリの一致数に応じて類似度を判定してもよい。たとえば、部屋（Ｒ０１：居間）に含まれる３つのオブジェクト・カテゴリのうち２つが在室部屋でも検出されたとき、状態管理部２４４は在室部屋と部屋（Ｒ０１：居間）の類似度を６６（％）（＝２÷３）と判定してもよい。これは在室部屋が既知の部屋（Ｒ０１：居間）と同一である可能性が高いことを意味する。状態管理部２４４は、在室部屋で検出されたオブジェクト・カテゴリとルーム印象情報４５０を比較し、類似度が最も高く、かつ、類似度が７０（％）以上となる部屋を在室部屋と同じタイプの部屋であると判定してもよい。
【０１７４】
図１７は、変形例において、オブジェクトを検出したときの処理過程を示すフローチャートである。
図１７に示す処理は、ロボットシステム３００において定期的に実行される。環境情報取得部１６６は、まず、在室部屋の環境情報を取得する（Ｓ６０）。状態管理部２４４は、環境情報に基づいて感情パラメータを変化させる（Ｓ６２）。これは、図１１に関連して説明した「環境情報による一次反映」と同様である。オブジェクト検出部は、固有オブジェクトを検出する（Ｓ６４）。このとき、オブジェクト検出部は、固有オブジェクトのオブジェクト・カテゴリを特定する。
【０１７５】
検出した複数のオブジェクト・カテゴリとルーム印象情報４５０を比較することにより、状態管理部２４４は在室部屋のタイプを特定する（Ｓ６６）。上述したように、状態管理部２４４は在室部屋から検出されたオブジェクト・カテゴリ群と、ルーム印象情報４５０に登録されている部屋ごとのオブジェクト・カテゴリ群の類似度が所定値以上となる部屋を「既知の部屋に似ている部屋（以下、単に「既知の部屋」とよぶ）」として特定する。
【０１７６】
在室部屋が「既知の部屋」であるとき、状態管理部２４４は既知の部屋にあらかじめ対応づけられる印象記憶値に基づいて感情パラメータを変化させる（Ｓ６８）。たとえば、部屋（Ｒ０１：居間）に対して印象記憶値「＋１０」が対応づけられている場合において、在室部屋が居間に似ているときには、状態管理部２４４は寂しさを示す感情パラメータ値と好奇心を示す感情パラメータ値を減少させてもよい。このように、既知の部屋、より厳密にいえば、既知の部屋に含まれるオブジェクト・カテゴリ群にあらかじめ対応づけられている印象記憶値に基づいて、ロボット１００の気持ち（感情パラメータ）を変化させることができる。これは、図１１に関連して説明した「環境情報による二次反映」と同様である。
【０１７７】
一方、未知の部屋のときには（Ｓ６６のＮ）、二次反映は実行されない。その後、Ｓ６２において取得された環境情報により、状態管理部２４４はルーム印象情報４５０を更新する（Ｓ７０）。
【０１７８】
ロボット１００は、在室部屋に似た既知の部屋の印象記憶値に基づいて感情パラメータを変化させ、感情パラメータの変化に基づいて行動特性を変化させる。ロボット１００は、このほかにも、印象記憶値に基づいて感情パラメータを介することなく行動特性を変化させてもよい。たとえば、印象記憶値が低い部屋においては、ロボット１００の動作制御部１５０は、ロボット１００の移動速度、移動量（単位時間内における走行可能距離）、運動量（各種アクチュエータの可動量または可動範囲）を抑制してもよい。また、印象記憶値が低い部屋においては、動作制御部１５０はロボット１００が発生させる音量の上限値を抑制してもよい。このような制御方法によれば、印象記憶値の低い部屋においてロボット１００はおとなしくなり、印象記憶値の高い部屋においてロボット１００は活発に行動する。部屋に対する印象記憶に基づいて、ロボット１００の気持ちを行動表現できる。部屋ごとにあらかじめ印象記憶値を初期設定しておいてもよい。
【０１７９】
ロボット１００は、初めて部屋に入るとき、その部屋がどのような部屋なのかルーム印象情報４５０を参照して判断する。そして、過去の経験に基づき、移動速度などの行動態様を決める。その後、オブジェクト環境情報４４０を参照することで、過去の経験に基づいて、部屋におけるオブジェクトを探索し、目標地点として設定する。
【０１８０】
また、初めての家に居るとき、あるいは、寂しいときには、「楽しそうな部屋（好印象の部屋）」を探す。具体的には、動作制御部２２２は、印象記憶値の高い部屋を移動目標地点として設定する。
【０１８１】
動作制御部２２２は印象記憶値の高いオブジェクト・カテゴリを含む部屋を探す。たとえば、ロボット１００は、テレビとテーブル、ソファを含む部屋に対して好印象をもっているとする。この場合には、ロボット１００は、テレビとテーブル、ソファを含む部屋を「楽しそうな部屋」と想定し、そのような条件に合う部屋を探す。
【０１８２】
ロボット１００の動作制御部２２２は、ルーム印象情報４５０を参照し、印象記憶値の高い部屋のルームＩＤを特定する。次に、動作制御部２２２は、特定された部屋に含まれる複数のオブジェクト・カテゴリを特定する。動作制御部２２２は、この「楽しそうな部屋」に含まれている複数種類のオブジェクト・カテゴリのうち、所定個数以上のオブジェクト・カテゴリを含む部屋を移動目標地点として選択する。
【０１８３】
ロボット１００は、経験に基づいて、移動目標地点となる部屋を選ぶことができる。たとえば、オーナーＡがロボット１００ＡをユーザＢの家に連れて行くとする。ロボット１００ＡにとってユーザＢの家は未知である。ロボット１００Ａは、まず、オーナーＡの家で形成されたルーム印象情報４５０に基づいて、印象記憶値の高い部屋に含まれるオブジェクト・カテゴリを特定する。そして、ロボット１００は、特定されたオブジェクト・カテゴリ群を含む部屋をユーザＢの家でも探す。たとえば、部屋（Ｒ０１：居間）に似た部屋ＲＢをユーザＢの家でも見つけたときには、ロボット１００は部屋ＲＢに入り、部屋（Ｒ０１：居間）の印象記憶値に基づいて感情パラメータおよび行動特性を変化させる。このような制御方法によれば、自宅での経験に基づいて、初訪問の家でも自宅と同様のふるまいをロボット１００にさせることができる。
【０１８４】
ロボット１００の動作制御部２２２は、更に、在室部屋の中で近づくべき固有オブジェクトを選択する。動作制御部２２２は、固有オブジェクトに対応づけられる環境情報に基づいて、本実施形態と同様の方式により、近づくべき固有オブジェクトを選択する。たとえば、ロボット１００は寂しさを示す感情パラメータ値が高まっているときには、ユーザの検出率が高い固有オブジェクトに近づいてもよい。状態管理部２４４は、固有オブジェクトの環境情報に基づいて、感情パラメータを変化させてもよい。たとえば、抱っこされるというイベントが発生しやすいソファの近くにいるときには、ロボット１００は実際に抱っこされなくても寂しさを示す感情パラメータを低下させてもよい。キーフレーム４０４に対応づけられる環境情報に基づいてロボット１００の感情パラメータや行動特性を変化させるほかにも、オブジェクト（固有オブジェクトまたはオブジェクト・カテゴリ）に対応づけられる環境情報に基づいてロボット１００の感情パラメータや行動特性を変化させてもよい。オブジェクト・カテゴリにはあらかじめ印象記憶値が設定されてもよい。１００は、固有オブジェクトを検出したとき、そのオブジェクト・カテゴリに対応づけられる印象記憶値に基づいて行動特性を変化させてもよい。
【０１８５】
好印象の部屋には、テレビ、テーブル、ソファが含まれているとする。動作制御部２２２は部屋に入ったあとはテレビにロボット１００を近づかせるとする。このような制御方法によれば、ロボット１００は印象記憶に基づいて「楽しそうな部屋」を見つけ出し、部屋に入ったあとは印象のいいオブジェクト（テレビ）に近づくことになる。この結果、居間が好き、あるいは、テレビが好きといった、空間やオブジェクトに対するロボット１００の好みを行動表現できる。
【０１８６】
同様にして、ロボット１００は印象記憶値の低い部屋を避けてもよい。たとえば、ロボット１００が浴室に入ったときにオーナーから追い払われるなどの不快行為を検出したとき、ロボット１００は浴室にあるオブジェクト、たとえば、タオルや洗面台、洗濯機等の組み合わせに対する印象記憶値を低くする。この結果として、浴室が苦手、あるいは、洗濯機が苦手といった、行動特性を表現できる。
【０１８７】
印象記憶は、快／不快に限られない。たとえば、賑やか／静か、暑い／寒い、といった他の評価軸に基づいて印象記憶値を設定してもよい。部屋（Ｒ０１：居間）に「賑やか」という印象記憶が結び付けられている場合において、「寂しさ」を示す感情パラメータが高まったときには、ロボット１００は部屋（Ｒ０１：居間）を移動目標地点として設定してもよい。部屋（Ｒ０１：居間）では人が集まりやすいため、このような制御方法により寂しくなったときには部屋（Ｒ０１：居間）に近づいて人を探すかのような行動特性を表現できる。固有オブジェクトは、固定物である必要はなく、タオルのように持ち運び可能なものであってもよいし、ペットや他のロボット１００のように自律的に移動可能なものであってもよい。
【０１８８】
図１８は、別の変形例における行動経験情報４６０のデータ構造図である。
オブジェクト情報格納部１７２は、行動経験情報４６０を格納してもよい。行動経験情報４６０は、カテゴリＩＤと、モーションＩＤおよび印象記憶を対応づける。たとえば、ロボット１００がオブジェクト（Ｂ０１：テレビ）から所定範囲内において、モーションＩＤ＝Ｍ０１のモーションを選択したとき、オーナーから褒められたとする。褒められることは快行為なので、オブジェクト管理部１７４はオブジェクト・カテゴリ（Ｃ０１：テレビ）およびモーション（Ｍ０１）の組み合わせに対する印象記憶値を増加させることにより行動経験情報４６０を更新する。一方、オブジェクト（Ｂ０１：テレビ）の近くでモーション（Ｍ０３）を選択したとき、オーナーから叱られたとする。叱られることは不快行為なので、オブジェクト管理部１７４はオブジェクト・カテゴリ（Ｃ０１：テレビ）およびモーション（Ｍ０３）の組み合わせに対する印象記憶値を減少させる。
【０１８９】
動作制御部２２２は、行動経験情報４６０を参照し、テレビの近くではモーション（Ｍ０１）の選択確率を上昇させ、モーション（Ｍ０３）の選択確率を減少させる。このような制御方法によれば、ユーザは褒める、叱るといった行為により、ロボット１００の行動特性を変化させることができる。たとえば、食器棚の近くで座り込んでいるロボット１００を叱ることにより、ロボット１００が食器棚の近くで座り込むのをやめさせることができる。この結果として、ユーザはロボット１００に「しつけ」をすることが可能となる。
【０１９０】
オブジェクトの状態も考慮して印象記憶を変化させてもよい。たとえば、掃除機がオフのときには掃除機に近づいてもなにもされないが、掃除機がオンのときに掃除機に近づいたときにはオーナーから追い払われたとする。オーナーから追い払われることは不快行為なので、ロボット１００は「掃除機がオンのときには掃除機に近づいてはいけない」という行動規範を学習する。掃除機のオン・オフは、掃除機が発生する音の有無によって判断してもよい。オブジェクトの状態のほか、時間帯を考慮して印象記憶を変化させてもよい。たとえば、夕食準備中にロボット１００が台所に入り込んできたとき、オーナーはロボット１００を追い払うかもしれない（不快行為）。この結果として、「夕方には冷蔵庫や食器棚がある台所に近づいてはいけない（台所にいるオーナーの邪魔をしてはいけない）」という行動規範をロボット１００に学習させることができる。
【０１９１】
部屋（ルームＩＤ）とモーションの組み合わせに印象記憶を対応づけてもよい。この場合、たとえば、居間で大きな音を出すことは許されるが、書斎で大きな音を出してはいけないという行動規範をロボット１００に学習させることができる。同様にして、居間では高速で動き回ってもよいが、書斎では活動量を抑制しなければいけない、と学ぶこともある。
【０１９２】
ロボット１００は、不快行為を認識したとき、不快行為を行ったオーナーに対する親密度を低下させる。しかし、親密度が所定値以上のオーナーからの不快行為を認識したときには、親密度管理部２２０は親密度を低下させない、または、通常時に比べて親密度の減少量を小さくするとしてもよい。このような制御方法によれば、ロボット１００との強い信頼関係を築いたオーナーは、ロボット１００を安心して叱ることができる。
【０１９３】
上述したように、オブジェクトと環境情報を対応づけてもよいし、空間（ルームＩＤ）と環境情報を対応づけてもよい。状態管理部２４４は、環境情報、特に、イベントに基づいて印象記憶を変化させてもよい。オブジェクトあるいは空間に対する印象記憶は初期設定されてもよい。たとえば、あらかじめ居間に対して高い印象記憶値を設定しておけば、ロボット１００は先天的に居間を好むという行動特性を表現できる。また、オーナーは、スマートフォン等の携帯端末を介して、居間に対する印象記憶値をサーバ２００に送信し、オブジェクト管理部１７４は指定された印象記憶値をルーム印象情報４５０に設定してもよい。
【０１９４】
オブジェクト・カテゴリの組み合わせに対して環境情報を対応づけてもよい。部屋の間取りやオブジェクトのレイアウトを想定して部屋を認識してもよい。たとえば、「テレビが窓際にあり、窓際から少し離れてソファが配置される部屋」として部屋を識別してもよい。
【０１９５】
複数のロボット１００により、環境マップ情報４２０、オブジェクト情報４３０、ルーム印象情報４５０、行動経験情報４６０に示す情報を共有してもよい。このような制御方法によれば、ロボット１００Ａが居間を好むとき、ロボット１００Ｂも居間を好むことになり、複数のロボット１００の行動特性を連動させることができる。
【０１９６】
ロボット１００Ａは、楽しい部屋として、印象記憶値が高い場所だけをロボット１００Ｂと共有してもよい。たとえば、複数の部屋のうち、印象記憶値が平均よりも高い部屋、あるいは、印象記憶値が上位３位以内の部屋を対象として、ルーム印象情報４５０を共有してもよい。あるいは、印象記憶値が平均よりも低い部屋、あるいは、印象記憶値が下位３位以内の部屋を対象としてルーム印象情報４５０を共有してもよい。
【０１９７】
ロボット１００Ａとロボット１００Ｂはすべての部屋を対象としてルーム印象情報４５０を共有する必要はなく、一部の部屋のみを対象としてルーム印象情報４５０を共有してもよい。このような制御方法によれば、たとえば、ロボット１００Ａは、一部の部屋についてはロボット１００Ｂに情報を伝えなくなるため、ロボット１００Ａだけが気に入っている秘密の部屋を作ることができる。
【０１９８】
ロボット１００ＡがオーナーＡにはじめて抱っこされた部屋、オーナーＡが長時間抱っこしてくれる部屋など、特別な条件（記憶）がある部屋については、ロボット１００Ａはロボット１００Ｂと情報共有しないとしてもよい。
【０１９９】
印象記憶を可視化してもよい。サーバ２００は、オブジェクトの配置とオブジェクトに対する印象記憶を示す画像（印象地図）を生成する印象地図生成部を備えてもよい。サーバ２００の通信部２０４は、オーナーの携帯端末に印象地図を送信してもよい。たとえば、印象記憶値が高いオブジェクトの周辺は青色で表示し、印象記憶値の低いオブジェクトの周辺は赤色で表示することにより、オーナーはロボット１００がどんなオブジェクトあるいはどんな部屋を気に入っているかを視覚的に知ることができる。
【０２００】
印象地図生成部は、オブジェクトまたは部屋に対する印象記憶値の変化を印象地図において表示してもよい。たとえば、最初は嫌いだったオブジェクトをだんだん好きになる様子を印象地図の動画表示により示してもよい。
【図１】
2019151387.tif 000003
【図２】
2019151387.tif 000004
【図３】
2019151387.tif 000005
【図４】
2019151387.tif 000006
【図５】
2019151387.tif 000007
【図６】
2019151387.tif 000008
【図７】
2019151387.tif 000009
【図８】
2019151387.tif 000010
【図９】
2019151387.tif 000011
【図１０】
2019151387.tif 000012
【図１１】
2019151387.tif 000013
【図１２】
2019151387.tif 000014
【図１３】
2019151387.tif 000015
【図１４】
2019151387.tif 000016
【図１５】
2019151387.tif 000017
【図１６】
2019151387.tif 000018
【図１７】
2019151387.tif 000019
【図１８】
2019151387.tif 000020
【国際調査報告】
2019151387.tif 000021
2019151387.tif 000022
2019151387.tif 000023
2019151387.tif 000024