(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-24
(45)【発行日】2024-10-02
(54)【発明の名称】自律移動体、情報処理方法、プログラム、及び、情報処理装置
(51)【国際特許分類】
A63H 11/00 20060101AFI20240925BHJP
B25J 13/00 20060101ALI20240925BHJP
【FI】
A63H11/00 Z
B25J13/00 Z
(21)【出願番号】P 2021554364
(86)(22)【出願日】2020-10-16
(86)【国際出願番号】 JP2020039055
(87)【国際公開番号】W WO2021085175
(87)【国際公開日】2021-05-06
【審査請求日】2023-08-31
(31)【優先権主張番号】P 2019199864
(32)【優先日】2019-11-01
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100121131
【氏名又は名称】西川 孝
(74)【代理人】
【氏名又は名称】稲本 義雄
(74)【代理人】
【識別番号】100168686
【氏名又は名称】三浦 勇介
(72)【発明者】
【氏名】渡辺 洋人
(72)【発明者】
【氏名】望月 大介
【審査官】前地 純一郎
(56)【参考文献】
【文献】特開2006-088282(JP,A)
【文献】特開2003-159681(JP,A)
【文献】特開2001-051970(JP,A)
【文献】特開2002-163631(JP,A)
【文献】国際公開第2019/142229(WO,A1)
【文献】aiboの生命感と個性を支える3つのコアファクターとAI技術 ソニーが開発秘話と先進技術を語る「AI/SUM 2019」,ロボスタ[online],2019年04月23日,インターネット<URL:https://robotstart.info/2019/04/23/aibo-aisum.html>, [2024年5月27日検索]
【文献】aiboの上手な育て方、コツは「電源の入れっぱなし」飼い主さんにしつけの方法を聞いてきた,Prebell[online],2018年07月26日,インターネット<URL:https://prebell.so-net.ne.jp/feature/pre_18072601.html>,[2024年5月27日検索]
【文献】[aiboのふるまい]ボールけって,Fun!Fun!aibo[online],2019年03月29日,インターネット<URL:https://yuzu-pon.com/aibo-behavior-kick-ball/>,[2024年5月27日検索]
【文献】[しつけ]aiboのトイレトレーニング方法,Fun!Fun!aibo[online],2018年11月18日,インターネット<URL:https://yuzu-pon.com/aibo-pottytraining/>,[2024年5月27日検索]
(58)【調査した分野】(Int.Cl.,DB名)
A63H 1/00-37/00
B25J 13/00
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
与えられた指示及び
状況の認識を行う認識部と、
認識された指示に基づいて、行動を計画する行動計画部と、
計画された行動の実行を制御する動作制御部と
、
指示が与えられた状況と指示された行動との相関関係の学習を行う学習部と
を備え、
前記学習部は、前記指示された行動が完了した場合、前記指示が与えられた状況と前記指示された行動との相関度を上げ、前記指示された行動が途中で指示により中止された場合、前記相関度を下げ、
前記行動計画部は、
前記認識部により認識された状況、及び、指示が与えられた状況と指示された行動との相関関係の学習結果に基づいて、行動を計画する
自律移動体。
【請求項2】
前記行動計画部は、所定の行動に対する指示である行動指示が繰り返されるのに伴い、前記所定の行動の内容を変化させる
請求項1に記載の自律移動体。
【請求項3】
前記行動計画部は、前記行動指示が与えられた回数である指示回数に基づいて、前記所定の行動の内容を変化させる
請求項
2に記載の自律移動体。
【請求項4】
前記行動計画部は、前記指示回数の増加に伴い、前記所定の行動の習熟度を向上させる
請求項
3に記載の自律移動体。
【請求項5】
前記行動計画部は、前記指示回数のうち前記所定の行動が完了した回数の増加に伴い、前記所定の行動の習熟度を向上させる
請求項
4に記載の自律移動体。
【請求項6】
前記行動計画部は、前記所定の行動の習熟度を向上させるとともに、前記所定の行動と異なる行動の習熟度を向上させる
請求項
4に記載の自律移動体。
【請求項7】
前記行動計画部は、前記行動指示の間隔が開いた場合、前記所定の行動の習熟度を低下させる
請求項
4に記載の自律移動体。
【請求項8】
前記認識部は、指示が与えられたときの時刻、時間帯、曜日、場所、ユーザの状態、自自分の状態、及び、自分の周囲の状況のうち少なくとも1つを含む状況の認識を行う
請求項1に記載の自律移動体。
【請求項9】
前記学習部は
、所定の行動が指示された時間の分布に基づいて、前記所定の行動に対する期待値の時系列の推移を推定し、
前記行動計画部は、前記期待値に基づいて、行動を計画する
請求項
1に記載の自律移動体。
【請求項10】
前記行動計画部は、前記所定の行動を促進する指示が与えられた場合、前記期待値を上げ、前記所定の行動を抑制する指示が与えられた場合、前記期待値を下げる
請求項9に記載の自律移動体。
【請求項11】
前記行動計画部は、前記期待値が所定の閾値以上である場合、前記所定の行動又は前記所定の行動に類似した行動を計画する
請求項9に記載の自律移動体。
【請求項12】
前記学習部は、過去
に所定の行動を行うように指示された場所である指示場所の履歴に基づいて、前記所定の行動を行う場所である行動場所の学習を
行い、
前記行動計画部は、前記行動場所の学習結果に基づいて、前記所定の行動を行う場所を決定する
請求項1に記載の自律移動体。
【請求項13】
前記学習部は、前記指示場所の分布に基づいて、1つ以上の前記行動場所を設定し、
前記行動計画部は、前記行動場所及び現在位置に基づいて、前記所定の行動を行う場所を決定する
請求項12に記載の自律移動体。
【請求項14】
前記学習部は、前記指示場所の分布に基づいて、前記行動場所の確信度を設定し、
前記行動計画部は、前記行動場所、前記確信度、及び、前記現在位置に基づいて、前記所定の行動を行う場所を決定する
請求項13に記載の自律移動体。
【請求項15】
前記学習部は、前記指示場所のクラスタリングを行うことにより、前記行動場所を設定する
請求項13に記載の自律移動体。
【請求項16】
前記認識部は、物体の認識をさらに行い、
前記学習部は、指示された物体と、物体の指示とともに指示された行動との相関関係の学習を行
い、
前記行動計画部は、前記認識部により認識された物体、及び、
指示された物体と指示された行動との相関関係の学習結果に基づいて、行動を計画する
請求項1に記載の自律移動体。
【請求項17】
自律移動体に与えられた指示
及び状況の認識を行
うことと、
認識された指示に基づいて、前記自律移動体の行動を計画する
ことと、
計画された前記自律移動体の行動の実行を制御する
ことと、
指示が与えられた状況と指示された行動との相関関係の学習を行うことと、
前記指示された行動が完了した場合、前記指示が与えられた状況と前記指示された行動との相関度を上げ、前記指示された行動が途中で指示により中止された場合、前記相関度を下げることと、
認識された状況、及び、指示が与えられた状況と指示された行動との相関関係の学習結果に基づいて、前記自律移動体の行動を計画することと
を含む情報処理方法。
【請求項18】
自律移動体に与えられた指示
及び状況の認識を行
うことと、
認識された指示に基づいて、前記自律移動体の行動を計画する
ことと、
計画された前記自律移動体の行動の実行を制御する
ことと、
指示が与えられた状況と、指示された行動との相関関係の学習を行うことと、
前記指示された行動が完了した場合、前記指示が与えられた状況と前記指示された行動との相関度を上げ、前記指示された行動が途中で指示により中止された場合、前記相関度を下げることと、
認識された状況、及び、指示が与えられた状況と指示された行動との相関関係の学習結果に基づいて、前記自律移動体の行動を計画することと
を含む処理をコンピュータに実行させるためのプログラム。
【請求項19】
自律移動体に与えられた指示
及び状況の認識を行う認識部と、
認識された指示に基づいて、前記自律移動体の行動を計画する行動計画部と、
計画された前記自律移動体の行動の実行を制御する動作制御部と
、
指示が与えられた状況と指示された行動との相関関係の学習を行う学習部と
を備え、
前記学習部は、前記指示された行動が完了した場合、前記指示が与えられた状況と前記指示された行動との相関度を上げ、前記指示された行動が途中で指示により中止された場合、前記相関度を下げ、
前記行動計画部は、
前記認識部により認識された状況、及び、指示が与えられた状況と指示された行動との相関関係の学習結果に基づいて、前記自律移動体の行動を計画する
情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、自律移動体、情報処理方法、プログラム、及び、情報処理装置に関し、特に、ユーザが自律移動体の躾を体験できるようにした自律移動体、情報処理方法、プログラム、及び、情報処理装置に関する。
【背景技術】
【0002】
従来、動物型の自律移動体の行動を実際の動物の行動に近づけるようにすることが試みられている。例えば、縄張りを示すマーキング動作を行う動物型の自律移動体が提案されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、ペットを飼う一つの楽しみとして、所望の行動ができるようにペットを躾けることが挙げられる。従って、実際のペットと同様に、自律移動体を躾けることができるようにすることにより、自律移動体に対するユーザ体験を向上させることが期待できる。
【0005】
本技術は、このような状況に鑑みてなされたものであり、ユーザが自律移動体の躾を体験できるようにするものである。
【課題を解決するための手段】
【0006】
本技術の一側面の自律移動体は、与えられた指示及び状況の認識を行う認識部と、認識された指示に基づいて、行動を計画する行動計画部と、計画された行動の実行を制御する動作制御部と、指示が与えられた状況と指示された行動との相関関係の学習を行う学習部とを備え、前記学習部は、前記指示された行動が完了した場合、前記指示が与えられた状況と前記指示された行動との相関度を上げ、前記指示された行動が途中で指示により中止された場合、前記相関度を下げ、前記行動計画部は、前記認識部により認識された状況、及び、指示が与えられた状況と指示された行動との相関関係の学習結果に基づいて、行動を計画する。
【0007】
本技術の一側面の情報処理方法は、自律移動体に与えられた指示及び状況の認識を行うことと、認識された指示に基づいて、前記自律移動体の行動を計画することと、計画された前記自律移動体の行動の実行を制御することと、指示が与えられた状況と指示された行動との相関関係の学習を行うことと、前記指示された行動が完了した場合、前記指示が与えられた状況と前記指示された行動との相関度を上げ、前記指示された行動が途中で指示により中止された場合、前記相関度を下げることと、認識された状況、及び、指示が与えられた状況と指示された行動との相関関係の学習結果に基づいて、前記自律移動体の行動を計画することとを含む。
【0008】
本技術の一側面のプログラムは、自律移動体に与えられた指示及び状況の認識を行うことと、認識された指示に基づいて、前記自律移動体の行動を計画することと、計画された前記自律移動体の行動の実行を制御することと、指示が与えられた状況と、指示された行動との相関関係の学習を行うことと、前記指示された行動が完了した場合、前記指示が与えられた状況と前記指示された行動との相関度を上げ、前記指示された行動が途中で指示により中止された場合、前記相関度を下げることと、認識された状況、及び、指示が与えられた状況と指示された行動との相関関係の学習結果に基づいて、前記自律移動体の行動を計画することとを含む処理をコンピュータに実行させる。
【0009】
本技術の一側面の情報処理装置は、自律移動体に与えられた指示及び状況の認識を行う認識部と、認識された指示に基づいて、前記自律移動体の行動を計画する行動計画部と、計画された前記自律移動体の行動の実行を制御する動作制御部と、指示が与えられた状況と指示された行動との相関関係の学習を行う学習部とを備え、前記学習部は、前記指示された行動が完了した場合、前記指示が与えられた状況と前記指示された行動との相関度を上げ、前記指示された行動が途中で指示により中止された場合、前記相関度を下げ、前記行動計画部は、前記認識部により認識された状況、及び、指示が与えられた状況と指示された行動との相関関係の学習結果に基づいて、前記自律移動体の行動を計画する。
【0010】
本技術の一側面によれば、自律移動体に与えられた指示及び状況が認識され、認識された指示に基づいて、前記自律移動体の行動が計画され、計画された前記自律移動体の行動が実行され、指示が与えられた状況と指示された行動との相関関係の学習が行われ、前記指示された行動が完了した場合、前記指示が与えられた状況と前記指示された行動との相関度を上げられ、前記指示された行動が途中で指示により中止された場合、前記相関度を下げられ、認識された状況、及び、指示が与えられた状況と指示された行動との相関関係の学習結果に基づいて、前記自律移動体の行動が計画される。
【図面の簡単な説明】
【0011】
【
図1】本技術を適用した情報処理システムの一実施の形態を示すブロック図である。
【
図2】自律移動体のハードウエア構成例を示す図である。
【
図3】自律移動体が備えるアクチュエータの構成例である。
【
図4】自律移動体が備えるディスプレイの機能について説明するための図である。
【
図6】自律移動体の機能構成例を示すブロック図である。
【
図7】自律移動体の期待値算出部の構成例を示すブロック図である。
【
図8】情報処理端末の機能構成例を示すブロック図である。
【
図9】情報処理サーバの機能構成例を示すブロック図である。
【
図10】教示に基づくパターン認識学習の概要を示す図である。
【
図11】教示に基づく動作認識学習の概要を示す図である。
【
図12】教示に基づく空間領域認識学習の概要を示す図である。
【
図13】マーカを利用した教示について説明するための図である。
【
図14】無線通信を利用した教示について説明するための図である。
【
図15】非可聴音を利用した教示について説明するための図である。
【
図16】自律移動体により実行されるパターン認識学習処理を説明するためのフローチャートである。
【
図17】自律移動体により実行される行動制御処理の第1の実施の形態を説明するためのフローチャートである。
【
図18】促進期待値、抑制期待値、習慣期待値の時系列の推移の例を示すグラフである。
【
図19】総合期待値の時系列の推移の例を示すグラフである。
【
図20】習慣期待値の算出方法を説明するための図である。
【
図21】自律移動体により実行される行動制御処理の第2の実施の形態を説明するためのフローチャートである。
【
図22】行動場所学習処理の詳細を説明するためのフローチャートである。
【
図23】指示場所のクラスタリングの例を示す図である。
【
図24】尿意係数の時系列の推移の例を示すグラフである。
【
図25】自律移動体により実行される行動制御処理の第3の実施の形態を説明するためのフローチャートである。
【
図26】情報処理端末のユーザインタフェースの例を示す図である。
【
図27】情報処理端末のユーザインタフェースの例を示す図である。
【
図28】情報処理端末のユーザインタフェースの例を示す図である。
【
図29】情報処理端末のユーザインタフェースの例を示す図である。
【
図30】情報処理端末のユーザインタフェースの例を示す図である。
【
図31】情報処理端末のユーザインタフェースの例を示す図である。
【
図32】情報処理端末のユーザインタフェースの例を示す図である。
【
図33】情報処理端末のユーザインタフェースの例を示す図である。
【
図34】情報処理端末のユーザインタフェースの例を示す図である。
【
図35】情報処理端末のユーザインタフェースの例を示す図である。
【発明を実施するための形態】
【0012】
以下、本技術を実施するための形態について説明する。説明は以下の順序で行う。
1.実施の形態
2.変形例
3.その他
【0013】
<<1.実施の形態>>
まず、
図1乃至
図35を参照して、本技術の実施の形態について説明する。
【0014】
<情報処理システム1の構成例>
図1は、本技術を適用した情報処理システム1の一実施の形態を示すブロック図である。
【0015】
情報処理システム1は、自律移動体11-1乃至自律移動体11-n、情報処理端末12-1乃至情報処理端末12-n、及び、情報処理サーバ13を備える。
【0016】
なお、以下、自律移動体11-1乃至自律移動体11-nを個々に区別する必要がない場合、単に自律移動体11と称する。以下、情報処理端末12-1乃至情報処理端末12-nを個々に区別する必要がない場合、単に情報処理端末12と称する。
【0017】
各自律移動体11と情報処理サーバ13との間、各情報処理端末12と情報処理サーバ13との間、各自律移動体11と各情報処理端末12との間、各自律移動体11間、及び、各情報処理端末12間において、ネットワーク21を介した通信が可能である。また、各自律移動体11と各情報処理端末12との間、各自律移動体11間、及び、各情報処理端末12間においては、ネットワーク21を介さずに直接通信することも可能である。
【0018】
自律移動体11は、収集したセンサデータ等に基づいて、自分及び周囲の状況を認識し、状況に応じた種々の動作を自律的に選択し、実行する情報処理装置である。自律移動体11は、単にユーザの指示に従った動作を行うロボットとは異なり、状況に応じた適切な動作を自律的に実行することを特徴の一つとする。
【0019】
自律移動体11は、例えば、撮影した画像に基づくユーザ認識や、物体認識等を実行し、認識したユーザや物体等に応じた種々の自律行動を行うことが可能である。また、自律移動体11は、例えば、ユーザの発話に基づく音声認識を実行し、ユーザの指示などに基づく行動を行うこともできる。
【0020】
さらに、自律移動体11は、ユーザ認識や物体認識の能力を獲得するために、パターン認識学習を行う。この際、自律移動体11は、与えられた学習データに基づく教師学習だけでなく、ユーザ等による教示に基づいて、動的に学習データを収集し、物体などに係るパターン認識学習を行うことが可能である。
【0021】
また、自律移動体11は、ユーザにより躾けられることができる。ここで、自律移動体11の躾とは、例えば、決まりや禁止事項を教えて覚えさせる一般的な躾より広く、ユーザが自律移動体11に関わることにより、自律移動体11にユーザが感じられる変化が表れることをいう。
【0022】
自律移動体11の形状、能力、欲求等のレベルは、目的や役割に応じて適宜設計され得る。例えば、自律移動体11は、空間内を自律的に移動し、種々の動作を実行する自律移動型ロボットにより構成される。具体的には、例えば、自律移動体11は、ヒトやイヌなどの動物を模した形状や動作能力を有する自律移動型ロボットにより構成される。また、例えば、自律移動体11は、ユーザとのコミュニケーション能力を有する車両やその他の装置により構成される。
【0023】
情報処理端末12は、例えば、スマートフォン、タブレット端末、PC(パーソナルコンピュータ)等からなり、自律移動体11のユーザにより使用される。情報処理端末12は、所定のアプリケーションプログラム(以下、単にアプリケーションと称する)を実行することにより、各種の機能を実現する。例えば、情報処理端末12は、ネットワーク21を介して情報処理サーバ13と通信を行ったり、自律移動体11と直接通信を行ったりして、自律移動体11に関する各種のデータを収集し、ユーザに提示したり、自律移動体11に指示を与えたりする。
【0024】
情報処理サーバ13は、例えば、各自律移動体11及び各情報処理端末12から各種のデータを収集したり、各自律移動体11及び各情報処理端末12に各種のデータを提供したり、各自律移動体11の動作を制御したりする。また、例えば、情報処理サーバ13は、各自律移動体11及び各情報処理端末12から収集したデータに基づいて、自律移動体11と同様に、パターン認識学習や、ユーザの躾に対応した処理を行うことも可能である。さらに、例えば、情報処理サーバ13は、上述したアプリケーションや各自律移動体11に関する各種のデータを各情報処理端末12に供給する。
【0025】
ネットワーク21は、例えば、インターネット、電話回線網、衛星通信網などの公衆回線網や、Ethernet(登録商標)を含む各種のLAN(Local Area Network)、WAN(Wide Area Network)等のいくつかにより構成される。また、ネットワーク21は、IP-VPN(Internet Protocol-Virtual Private Network)等の専用回線網を含んでもよい。また、ネットワーク21は、Wi-Fi(登録商標)、Bluetooth(登録商標)等の無線通信網を含んでもよい。
【0026】
なお、情報処理システム1の構成は、仕様や運用等に応じて柔軟に変更され得る。例えば、自律移動体11は、情報処理端末12及び情報処理サーバ13の他に、種々の外部装置とさらに情報通信を行ってもよい。上記の外部装置には、例えば、天気やニュース、その他のサービス情報を発信するサーバや、ユーザが所持する各種の家電機器などが含まれ得る。
【0027】
また、例えば、自律移動体11と情報処理端末12とは、必ずしも一対一の関係である必要はなく、例えば、多対多、多対一、又は、一対多の関係であってもよい。例えば、1人のユーザが、1台の情報処理端末12を用いて複数の自律移動体11に関するデータを確認したり、複数の情報処理端末を用いて1台の自律移動体11に関するデータを確認したりすることが可能である。
【0028】
<自律移動体11のハードウエア構成例>
次に、自律移動体11のハードウエア構成例について説明する。なお、以下では、自律移動体11がイヌ型の四足歩行ロボットである場合を例に説明する。
【0029】
図2は、自律移動体11のハードウエア構成例を示す図である。自律移動体11は、頭部、胴部、4つの脚部、及び、尾部を備えるイヌ型の四足歩行ロボットである。
【0030】
自律移動体11は、頭部に2つのディスプレイ51L及びディスプレイ51Rを備える。なお、以下、ディスプレイ51Lとディスプレイ51Rを個々に区別する必要がない場合、単にディスプレイ51と称する。
【0031】
また、自律移動体11は、種々のセンサを備える。自律移動体11は、例えば、マイクロフォン52、カメラ53、ToF(Time Of Flight)センサ525、人感センサ55、測距センサ56、タッチセンサ57、照度センサ58、足裏ボタン59、及び、慣性センサ60を備える。
【0032】
自律移動体11は、例えば、頭部に4つのマイクロフォン52を備える。各マイクロフォン52は、例えば、ユーザの発話や、周囲の環境音を含む周囲の音を収集する。また、複数のマイクロフォン52を備えることで、周囲で発生する音を感度高く収集すると共に、音源定位が可能となる。
【0033】
自律移動体11は、例えば、鼻先と腰部に2つの広角のカメラ53を備え、自律移動体11の周囲を撮影する。例えば、鼻先に配置されたカメラ53は、自律移動体11の前方視野(すなわち、イヌの視野)内の撮影を行う。腰部に配置されたカメラ53は、自律移動体11の上方を中心とする周囲の撮影を行う。自律移動体11は、例えば、腰部に配置されたカメラ53により撮影された画像に基づいて、天井の特徴点などを抽出し、SLAM(Simultaneous Localization and Mapping)を実現することができる。
【0034】
ToFセンサ54は、例えば、鼻先に設けられ、頭部前方に存在する物体との距離を検出する。自律移動体11は、ToFセンサ54により種々の物体との距離を精度高く検出することができ、ユーザを含む対象物や障害物などとの相対位置に応じた動作を実現することができる。
【0035】
人感センサ55は、例えば、胸部に配置され、ユーザやユーザが飼育するペットなどの所在を検知する。自律移動体11は、人感センサ55により前方に存在する動物体を検知することで、当該動物体に対する種々の動作、例えば、興味、恐怖、驚きなどの感情に応じた動作を実現することができる。
【0036】
測距センサ56は、例えば、胸部に配置され、自律移動体11の前方床面の状況を検出する。自律移動体11は、測距センサ56により前方床面に存在する物体との距離を精度高く検出することができ、当該物体との相対位置に応じた動作を実現することができる。
【0037】
タッチセンサ57は、例えば、頭頂、あご下、背中など、ユーザが自律移動体11に触れる可能性が高い部位に配置され、ユーザによる接触を検知する。タッチセンサ57は、例えば、静電容量式や感圧式のタッチセンサにより構成される。自律移動体11は、タッチセンサ57により、ユーザの触れる、撫でる、叩く、押すなどの接触行為を検知することができ、当該接触行為に応じた動作を行うことができる。
【0038】
照度センサ58は、例えば、頭部背面において尾部の付け根などに配置され、自律移動体11が位置する空間の照度を検出する。自律移動体11は、照度センサ58により周囲の明るさを検出し、当該明るさに応じた動作を実行することができる。
【0039】
足裏ボタン59は、例えば、4つの脚部の肉球に該当する部位にそれぞれ配置され、自律移動体11の脚部底面が床と接触しているか否かを検知する。自律移動体11は、足裏ボタン59により床面との接触または非接触を検知することができ、例えば、ユーザにより抱き上げられたことなどを把握することができる。
【0040】
慣性センサ60は、例えば、頭部および胴部にそれぞれ配置され、頭部や胴部の速度、加速度、回転等の物理量を検出する。例えば、慣性センサ60は、X軸、Y軸、Z軸の加速度および角速度を検出する6軸センサにより構成される。自律移動体11は、慣性センサ60により頭部および胴部の運動を精度高く検出し、状況に応じた動作制御を実現することができる。
【0041】
なお、自律移動体11が備えるセンサの構成は、仕様や運用等に応じて柔軟に変更され得る。例えば、自律移動体11は、上記の構成のほか、例えば、温度センサ、地磁気センサ、GNSS(Global Navigation Satellite System)信号受信機を含む各種の通信装置などをさらに備えてよい。
【0042】
次に、
図3を参照して、自律移動体11の関節部の構成例について説明する。
図3は、自律移動体11が備えるアクチュエータ71の構成例を示している。自律移動体11は、
図3に示す回転箇所に加え、耳部と尾部に2つずつ、口に1つの合計22の回転自由度を有する。
【0043】
例えば、自律移動体11は、頭部に3自由度を有することで、頷きや首を傾げる動作を両立することができる。また、自律移動体11は、腰部に備えるアクチュエータ71により、腰のスイング動作を再現することで、より現実のイヌに近い自然かつ柔軟な動作を実現することができる。
【0044】
なお、自律移動体11は、例えば、1軸アクチュエータと2軸アクチュエータを組み合わせることで、上記の22の回転自由度を実現してもよい。例えば、脚部における肘や膝部分においては1軸アクチュエータを、肩や大腿の付け根には2軸アクチュエータをそれぞれ採用してもよい。
【0045】
次に、
図4を参照して、自律移動体11が備えるディスプレイ51の機能について説明する。
【0046】
自律移動体11は、右眼および左眼にそれぞれ相当する2つのディスプレイ51R及びディスプレイ51Lを備える。各ディスプレイ51は、自律移動体11の目の動きや感情を視覚的に表現する機能を備える。例えば、各ディスプレイ51は、感情や動作に応じた眼球、瞳孔、瞼の動作を表現することで、実在するイヌなどの動物に近い自然な動作を演出し、自律移動体11の視線や感情を高精度かつ柔軟に表現することができる。また、ユーザは、ディスプレイ51に表示される眼球の動作から、自律移動体11の状態を直観的に把握することができる。
【0047】
また、各ディスプレイ51は、例えば、独立した2つのOLED(Organic Light Emitting Diode)により実現される。OLEDを用いることにより、眼球の曲面を再現することが可能となる。その結果、1枚の平面ディスプレイにより一対の眼球を表現する場合や、2枚の独立した平面ディスプレイにより2つの眼球をそれぞれ表現する場合と比較して、より自然な外装を実現することができる。
【0048】
自律移動体11は、上記の構成により、
図5に示されるように、関節部や眼球の動作を精度高く、柔軟に制御することで、より実在の生物に近い動作及び感情表現を再現することができる。
【0049】
なお、
図5は、自律移動体11の動作例を示す図であるが、
図5では、自律移動体11の関節部及び眼球の動作について着目して説明を行うため、自律移動体11の外部構造を簡略化して示している。
【0050】
<自律移動体11の機能構成例>
次に、
図6を参照して、自律移動体11の機能構成例について説明する。自律移動体11は、入力部101、通信部102、情報処理部103、駆動部104、出力部105、及び、記憶部106を備える。
【0051】
入力部101は、
図2に示される各種のセンサ等を備え、ユーザや周囲の状況に関する各種のセンサデータを収集する機能を備える。また、入力部101は、例えば、スイッチ、ボタン等の入力デバイスを備える。入力部101は、収集したセンサデータ、及び、入力デバイスを介して入力される入力データを情報処理部103に供給する。
【0052】
通信部102は、ネットワーク21を介して、又は、ネットワーク21を介さずに、他の自律移動体11、情報処理端末12、及び、情報処理サーバ13と通信を行い、各種のデータの送受信を行う。通信部102は、受信したデータを情報処理部103に供給し、送信するデータを情報処理部103から取得する。
【0053】
なお、通信部102の通信方式は、特に限定されず、仕様や運用に応じて柔軟に変更することが可能である。
【0054】
情報処理部103は、例えば、CPU(Central Processing Unit)等のプロセッサ等を備え、各種の情報処理を行ったり、自律移動体11の各部の制御を行ったりする。情報処理部103は、認識部121、学習部122、行動計画部123、及び、動作制御部124を備える。
【0055】
認識部121は、入力部101から供給されるセンサデータ及び入力データ、並びに、通信部102から供給される受信データに基づいて、自律移動体11が置かれている状況の認識を行う。自律移動体11が置かれている状況は、例えば、自分及び周囲の状況を含む。自分の状況は、例えば、自律移動体11の状態及び動きを含む。周囲の状況は、例えば、ユーザ等の周囲の人の状態、動き、及び、指示、ペット等の周囲の生物の状態及び動き、周囲の物体の状態及び動き、時間、場所、並びに、周囲の環境等を含む。周囲の物体は、例えば、他の自律移動体を含む。また、認識部121は、状況を認識するために、例えば、人識別、表情や視線の認識、感情認識、物体認識、動作認識、空間領域認識、色認識、形認識、マーカ認識、障害物認識、段差認識、明るさ認識、温度認識、音声認識、単語理解、位置推定、姿勢推定等を行う。
【0056】
また、認識部121は、認識した各種の情報に基づいて、状況を推定し、理解する機能を備える。この際、認識部121は、事前に記憶される知識を用いて総合的に状況の推定を行ってもよい。
【0057】
認識部121は、状況の認識結果又は推定結果を示すデータ(以下、状況データと称する)を学習部122及び行動計画部123に供給する。また、認識部121は、状況の認識結果又は推定結果を示すデータを、記憶部106に記憶されている行動履歴データに登録する。
【0058】
行動履歴データは、自律移動体11の行動の履歴を示すデータである。行動履歴データは、例えば、行動を開始した日時、行動を終了した日時、行動を実行したきっかけ、行動が指示された場所(ただし、場所が指示された場合)、行動したときの状況、行動を完了したか(行動を最後まで実行したか)否かの項目を含む。
【0059】
行動を実行したきっかけには、例えば、ユーザの指示をきっかけに行動が実行された場合、その指示内容が登録される。また、例えば、所定の状況になったことをきっかけに行動が実行された場合、その状況の内容が登録される。さらに、例えば、ユーザにより指示された物体、又は、認識した物体をきっかけに行動が実行された場合、その物体の種類が登録される。
【0060】
学習部122は、入力部101から供給されるセンサデータ及び入力データ、通信部102から供給される受信データ、認識部121から供給される状況データ、行動計画部123から供給される自律移動体11の行動に関するデータ、及び、記憶部106に記憶されている行動履歴データに基づいて、状況と行動、及び、当該行動による環境への作用を学習する。例えば、学習部122は、上述したパターン認識学習を行ったり、ユーザの躾に対応する行動パターンの学習を行ったりする。
【0061】
例えば、学習部122は、深層学習(Deep Learning)などの機械学習アルゴリズムを用いて、上記の学習を実現する。なお、学習部122が採用する学習アルゴリズムは、上記の例に限定されず、適宜設計可能である。
【0062】
学習部122は、学習結果を示すデータ(以下、学習結果データと称する)を行動計画部123に供給したり、記憶部106に記憶させたりする。
【0063】
行動計画部123は、認識又は推定された状況、及び、学習結果データに基づいて、自律移動体11が行う行動を計画する。行動計画部123は、計画した行動を示すデータ(以下、行動計画データと称する)を動作制御部124に供給する。また、行動計画部123は、自律移動体11の行動に関するデータを学習部122に供給したり、記憶部106に記憶されている行動履歴データに登録したりする。
【0064】
動作制御部124は、行動計画データに基づいて、駆動部104及び出力部105を制御することにより、計画された行動を実行するように自律移動体11の動作を制御する。動作制御部124は、例えば、行動計画に基づいて、アクチュエータ71の回転制御や、ディスプレイ51の表示制御、スピーカによる音声出力制御などを行う。
【0065】
駆動部104は、動作制御部124による制御に基づいて、自律移動体11が有する複数の関節部を屈伸させる。より具体的には、駆動部104は、動作制御部124による制御に基づいて、各関節部が備えるアクチュエータ71を駆動させる。
【0066】
出力部105は、例えば、ディスプレイ51、スピーカ、ハプティクスデバイス等を備え、動作制御部124による制御に基づいて、視覚情報、聴覚情報、触覚情報等の出力を行う。
【0067】
記憶部106は、例えば、不揮発性メモリ及び揮発性メモリを備え、各種のプログラム及びデータを記憶する。
【0068】
<期待値算出部151の構成例>
図7は、学習部122及び行動計画部123により実現される機能の一部である期待値算出部151の構成例を示している。
【0069】
期待値算出部151は、ユーザが自律移動体11に対して所定の行動を期待する度合いを示す期待値を算出する。期待値算出部151は、促進期待値算出部161、抑制期待値算出部162、習慣期待値算出部163、及び、総合期待値算出部164を備える。
【0070】
促進期待値算出部161は、入力部101から供給されるセンサデータ及び入力データ、並びに、通信部102から供給される受信データに基づいて、促進期待値を算出する。促進期待値は、自律移動体11が所定の行動を実行することに対するユーザの短期的な期待値を示している。例えば、促進期待値は、ユーザが所定の行動を促す指示を与えることにより変化する。促進期待値算出部161は、算出した促進期待値を示すデータを総合期待値算出部164に供給する。
【0071】
抑制期待値算出部162は、入力部101から供給されるセンサデータ及び入力データ、並びに、通信部102から供給される受信データに基づいて、抑制期待値を算出する。抑制期待値は、自律移動体11が所定の行動を抑制することに対するユーザの短期的な期待値を示している。例えば、抑制期待値は、ユーザが所定の行動を抑制する指示を与えることにより変化する。抑制期待値算出部162は、算出した抑制期待値を示すデータを総合期待値算出部164に供給する。
【0072】
習慣期待値算出部163は、記憶部106に記憶されている行動履歴データに基づいて、習慣期待値を算出する。習慣期待値は、自律移動体11の所定の行動に対するユーザの習慣的な期待値を示している。習慣期待値算出部163は、算出した習慣期待値を示すデータを総合期待値算出部164に供給する。
【0073】
総合期待値算出部164は、促進期待値、抑制期待値、及び、習慣期待値に基づいて、最終的な期待値である総合期待値を算出する。総合期待値算出部164は、算出した総合期待値を行動計画部123に供給する。
【0074】
行動計画部123は、例えば、総合期待値に基づいて、自律移動体11の行動を計画する。
【0075】
<情報処理端末12の機能構成例>
次に、
図8を参照して、情報処理端末12の機能構成例について説明する。情報処理端末12は、入力部201、通信部202、情報処理部203、出力部204、及び、記憶部205を備える。
【0076】
入力部201は、例えば、スイッチ、ボタン等の入力デバイスを備える。また、入力部201は、例えば、カメラ、マイクロフォン、慣性センサ等の各種のセンサを備える。入力部201は、入力デバイスを介して入力される入力データ、及び、各種のセンサから出力されるセンサデータを情報処理部203に供給する。
【0077】
通信部202は、ネットワーク21を介して、又は、ネットワーク21を介さずに、自律移動体11、他の情報処理端末12、及び、情報処理サーバ13と通信を行い、各種のデータの送受信を行う。通信部202は、受信したデータを情報処理部203に供給し、送信するデータを情報処理部203から取得する。
【0078】
なお、通信部202の通信方式は、特に限定されず、仕様や運用に応じて柔軟に変更することが可能である。
【0079】
情報処理部203は、例えば、CPU等のプロセッサ等を備え、各種の情報処理を行ったり、情報処理端末12の各部の制御を行ったりする。
【0080】
出力部204は、例えば、ディスプレイ、スピーカ、ハプティクスデバイス等を備え、情報処理部203による制御に基づいて、視覚情報、聴覚情報、触覚情報等の出力を行う。
【0081】
記憶部205は、例えば、不揮発性メモリ及び揮発性メモリを備え、各種のプログラム及びデータを記憶する。
【0082】
なお、情報処理端末12の機能構成は、仕様や運用に応じて柔軟に変更することが可能である。
【0083】
<情報処理サーバ13の機能構成例>
次に、
図9を参照して、情報処理サーバ13の機能構成例について説明する。情報処理サーバ13は、通信部301、情報処理部302、及び、記憶部303を備える。
【0084】
通信部301は、ネットワーク21を介して、各自律移動体11及び各情報処理端末12と通信を行い、各種のデータの送受信を行う。通信部301は、受信したデータを情報処理部302に供給し、送信するデータを情報処理部302から取得する。
【0085】
なお、通信部301の通信方式は、特に限定されず、仕様や運用に応じて柔軟に変更することが可能である。
【0086】
情報処理部302は、例えば、CPU等のプロセッサ等を備え、各種の情報処理を行ったり、情報処理端末12の各部の制御を行ったりする。情報処理部302は、自律移動体制御部321及びアプリケーション制御部322を備える。
【0087】
自律移動体制御部321は、自律移動体11の情報処理部103と同様の構成を備える。具体的には、情報処理部103は、認識部331、学習部332、行動計画部333、及び、動作制御部334を備える。
【0088】
そして、自律移動体制御部321は、自律移動体11の情報処理部103と同様の機能を備える。例えば、自律移動体制御部321は、自律移動体11からセンサデータ、入力データ等、行動履歴データ等を受信し、自律移動体11及び周囲の状況を認識する。例えば、自律移動体制御部321は、自律移動体11及び周囲の状況に基づいて、自律移動体11の動作を制御する制御データを生成し、自律移動体11に送信することにより、自律移動体11の動作を制御する。例えば、自律移動体制御部321は、自律移動体11と同様に、パターン認識学習や、ユーザの躾に対応する行動パターンの学習を行う。
【0089】
なお、自律移動体制御部321の学習部332は、複数の自律移動体11から収集したデータに基づいて、パターン認識学習や、ユーザの躾に対応する行動パターンの学習を行うことより、複数の自律移動体11に共通する集合知の学習を行うことも可能である。
【0090】
アプリケーション制御部322は、通信部301を介して、自律移動体11及び情報処理端末12と通信を行い、情報処理端末12により実行されるアプリケーションの制御を行う。
【0091】
例えば、アプリケーション制御部322は、通信部301を介して、自律移動体11に関する各種のデータを自律移動体11から収集する。そして、アプリケーション制御部322は、通信部301を介して、収集したデータを情報処理端末12に送信することにより、自律移動体11に関するデータを情報処理端末12により実行されるアプリケーションに表示させる。
【0092】
例えば、アプリケーション制御部322は、通信部301を介して、アプリケーションを介して入力される自律移動体11への指示を示すデータを情報処理端末12から受信する。そして、アプリケーション制御部322は、通信部301を介して、受信したデータを自律移動体11に送信することにより、自律移動体11にユーザからの指示を与える。
【0093】
記憶部303は、例えば、不揮発性メモリ及び揮発性メモリを備え、各種のプログラム及びデータを記憶する。
【0094】
なお、情報処理サーバ13の機能構成は、仕様や運用に応じて柔軟に変更することが可能である。
【0095】
<情報処理システム1の処理>
次に、
図10乃至
図25を参照して、情報処理システム1の処理について説明する。
【0096】
<パターン認識学習処理>
まず、
図10乃至
図16を参照して、情報処理システム1により実行されるパターン認識学習処理について説明する。
【0097】
以下、パターン認識学習が自律移動体11の学習部122により行われる場合を主な例として説明する。なお、パターン認識学習は、例えば、情報処理サーバ13の学習部323により行われてもよいし、学習部122及び学習部323の両者により、それぞれ独立して、又は、協力して行われてもよい。
【0098】
まず、
図10を参照して、教示に基づくパターン認識学習の概要について説明する。なお、
図10では、教示が、ユーザにより実行される場合の例が示されている。
【0099】
教示は、例えば、
図10のAに示すように、ユーザによる指差しなどのジェスチャや発話によって行われる。この例の場合、ユーザは、指UHにより「そうじき」である物体O1を示すともに、発話UOにより、物体O1が「そうじき」であることを自律移動体11に教示している。
【0100】
この際、認識部121は、まず、「覚えてね」などのユーザの発話や、教示による学習の開始を指示するユーザのジェスチャ、また指を鳴らすなどの音に基づいて、教示の開始を検出する。また、この際、動作制御部124は、教示に基づく学習を開始することを示す動作を自律移動体11に行わせてもよい。動作制御部124は、例えば、吠える、耳や尻尾を立てる、ディスプレイ51により表現される虹彩の色を変化させてもよい。また、自律移動体11が言語を用いてユーザとのコミュニケーションを行う場合には、学習を開示する旨の音声を出力部105に出力させることも可能である。
【0101】
次に、動作制御部124は、駆動部104を制御することで、ユーザの指UFおよび指UFにより示される物体O1が視野FVに収まるように、自律移動体11の位置や姿勢を変化させる。
【0102】
続いて、認識部121は、ユーザの指UFが示す方向に基づいて物体O1を学習対象として特定する。また、動作制御部124は、認識部121が学習対象として特定した物体O1を入力部101に撮影させる。
【0103】
また、認識部121は、ユーザの発話UOを形態素解析することで、ラベルとして用いられる名詞句「そうじき」を抽出する。
【0104】
続いて、学習部122は、上記のように抽出されたラベルと、撮影された学習対象の画像とを対応付けて学習データとし、物体O1に係る物体認識学習を実行する。
【0105】
このように、自律移動体11によれば、予め学習データを用意しなくても、日常において種々の物体に係る学習データを自動で収集し、当該学習データに基づく物体認識学習を行うことが可能である。
【0106】
また、自律移動体11が有する上記の機能によれば、教示に基づく学習を繰り返し実行し、又は、情報処理サーバ13により学習された集合知を利用することで、
図10のBに示すように、物体O1とは形状(特徴)が異なる物体O2を「そうじき」として認識することなどが可能となる。これにより、例えば、ユーザが掃除機を新たに買い換えた場合などにおいても、自律移動体11は、一から学習をし直すことなく柔軟に対応することができる。
【0107】
なお、
図10では、パターン認識学習の例として物体認識学習を挙げたが、パターン認識学習は、係る例に限定されない。パターン認識学習には、例えば、動作認識学習が含まれる。すなわち、学習対象は、物体の動作であってもよい。
【0108】
図11は、教示に基づく動作認識学習の概要を示す図である。
図11に示す例では、ユーザが、人物が行う「ジャンプ」の動作を自律移動体11に教示する場合が示されている。
【0109】
具体的には、ユーザは、
図11のAに示すように、「ジャンプ」を行う人物P1を指UHにより示しながら、人物P1が行っている動作が「ジャンプ」であることを教示する発話UOを行っている。
【0110】
この際、認識部121は、発話UOに含まれる「動作」という語句を認識することで、ユーザが人物P1に係る物体認識(またはユーザ認識)ではなく、人物P1が行っている動作を教示していることを検出してもよい。また、認識部121は、ユーザが発した「動作を覚えてね」などの発話に基づいて、動作認識に係る教示を検出してもよい。
【0111】
続いて、認識部121は、ユーザの指UFが示す方向に基づいて人物P1が行う動作を学習対象として特定する。また、動作制御部124は、認識部121が学習対象として特定した人物P1の動作を入力部101に撮影させる。
【0112】
また、認識部121は、ユーザの発話UOを形態素解析することで、ラベルとして用いられる名詞句「ジャンプ」を抽出する。
【0113】
続いて、学習部122は、上記のように抽出されたラベルと、撮影された学習対象の画像とを対応づけて学習データとし、人物P1が行う動作に係る動作認識学習を実行する。
【0114】
このように、自律移動体11によれば、物体そのものに加え、物体が行う種々の動作に係る学習データを自動で収集し、当該学習データに基づく動作認識学習を行うことが可能である。
【0115】
なお、上記では、学習データとして、動作の画像を用いる場合を例として述べたが、学習部122は、例えば、動作を行う人物が装着する情報処理端末12が収集したモーションデータを学習データとして用いてもよい。
【0116】
自律移動体11が有する上記の機能によれば、教示に基づく学習を繰り返し実行し、又は、情報処理サーバ13により学習された集合知を利用することで、
図11のBに示すように、人物P1とは異なる人物P2が行う「ジャンプ」なども精度高く認識することが可能となる。
【0117】
また、パターン認識学習には、例えば、空間領域認識学習が含まれてよい。すなわち、学習対象は、任意の空間領域であってもよい。ここで、空間領域とは、空間における任意の所定領域(場所)であってよい。なお、空間領域は、必ずしも他の空間領域と物理的に区切られた閉空間でなくてよい。空間領域は、例えば、「家」であってもよいし、「家」の「1階」であってもよい。また、空間領域は、「1階」の「リビング」であってもよいし、「リビング」における「ソファ付近」であってもよい。
【0118】
図12は、教示に基づく空間領域認識学習の概要を示す図である。
図12に示す例では、ユーザが、「げんかん」である空間領域D1を自律移動体11に教示する場合が示されている。
【0119】
具体的には、ユーザは、
図12のAに示すように、自律移動体11が位置している空間領域D1が「げんかん」であることを教示する発話UOを行っている。
【0120】
この際、認識部121は、発話UOに含まれる「ここ」という語句を認識することで、空間領域D1に係る教示を行っていることを検出してもよい。また、認識部121は、ユーザが発した「場所を覚えてね」などの発話に基づいて、空間領域認識に係る教示を検出してもよい。
【0121】
続いて、認識部121は、ユーザの発話UOに基づいて自律移動体11が現在位置する空間領域D1を学習対象として特定する。また、動作制御部124は、認識部121が学習対象として特定した空間領域を入力部101に撮影させる。
【0122】
また、認識部121は、ユーザの発話UOを形態素解析することで、ラベルとして用いられる名詞句「げんかん」を抽出する。
【0123】
続いて、学習部122は、上記のように抽出されたラベルと、撮影された学習対象の画像とを対応付けて学習データとし、「げんかん」に係る空間領域認識学習を実行する。
【0124】
このように、自律移動体11によれば、物体や動作に加え、種々の空間領域に係る学習データを自動で収集し、当該学習データに基づく空間領域認識学習を行うことが可能である。
【0125】
なお、上記では、学習データとして、空間領域の画像を用いる場合を例として述べたが、学習部122は、例えば、空間領域D1においてトラッキング中のユーザが消失する(すなわち外出する)ことが多いことや、空間領域D1において、「ただいま」や「いってきます」などの発話がよく検出されることなどを、学習すべき空間領域の特徴として用いてもよい。
【0126】
自律移動体11が有する上記の機能によれば、教示に基づく学習を繰り返し実行し、又は、情報処理サーバ13により学習された集合知を利用することで、
図12のBに示すように、空間領域D1とは趣が異なる空間領域D2を「げんかん」として認識することが可能となる。
【0127】
ここで、上述したように、動作制御部124は、認識部121が特定した学習対象を、入力部101に撮影させる機能を備える。
【0128】
この際、動作制御部124は、パターン認識が高精度かつ効率的に行われるよう、入力部101や駆動部104を制御してよい。例えば、動作制御部124は、駆動部104を制御することで、特定された物体の全体が正しく撮影されるよう、自律移動体11の位置や姿勢を変化させることができる。
【0129】
これにより、学習対象と適切な距離をおいて撮影した画像に基づいて、効率的なパターン認識学習を行うことが可能となる。
【0130】
また、動作制御部124は、認識部121が特定した学習対象が複数の角度から撮影されるよう、駆動部104および入力部101を制御してもよい。
【0131】
これにより、学習対象の一側面を撮影した画像に基づく学習を行う場合と比較して、学習対象の特徴を様々な角度から抽出することができ、汎化性の高い学習効果を得ることが可能となる。
【0132】
また、例えば、教示は、学習対象に付与されたQRコード(登録商標)などのマーカにより実現されてもよい。
図13は、マーカを利用した教示について説明するための図である。
【0133】
例えば、
図13のAには、「そうじき」である物体O1に付与されたマーカM1により物体認識学習に係る教示が実現される例が示されている。この場合、認識部121は、入力部101が撮影したマーカM1の画像に基づいてラベル「そうじき」を取得することができる。
【0134】
また、
図13のBには、「げんかん」である空間領域D1に設置されるドアに付与されたマーカM2により空間領域認識学習に係る教示が実現される例が示されている。この場合も、認識部121は、入力部101が撮影したマーカM2の画像に基づいてラベル「げんかん」を取得することができる。
【0135】
このように、マーカを用いることにより、ユーザによる明示的な教示に代えて、物体や空間領域などに係る教示を実現することができ、自律移動体11の認識能を自動的に高めることが可能となる。
【0136】
さらに、例えば、教示は、学習対象から無線通信により送信される情報に基づいて行われてもよい。
図14は、無線通信を利用した教示について説明するための図である。
【0137】
図14に示す例の場合、「そうじき」である物体O1は、無線通信により自律移動体11にラベル「そうじき」や物体O1の画像I3a及び画像I3bを送信している。この際、学習部122は、受信したラベル「そうじき」、画像I3a及び画像I3bに基づいて、物体O1に係る物体認識学習を行うことができる。
【0138】
上記のような無線通信を用いた教示によれば、例えば、図示するように、学習対象である物体O3がクローゼットの中に収納されており、物体O3を撮影できない状況であっても、予め用意された画像をラベルとともに自律移動体11に送信することで、自律移動体11が物体O3に係る物体認識学習を行うことが可能となる。
【0139】
無線通信には、例えば、NFC(Near Field Communication)、Bluetooth(登録商標)、RFID(Radio Frequency IDentification)、ビーコンなどが用いられる。
【0140】
また、例えば、教示は、学習対象が発する超音波などの非可聴音により実現されてもよい。
図15は、非可聴音を利用した教示について説明するための図である。
【0141】
図15に示す例では、「せんたくき」である物体O5が、動作時に所定の非可聴音を発することで、教示を実現する例が示されている。例えば、
図15のAには、認識部121が、「脱水中」に物体O5が発する非可聴音NAS1に基づいて、物体O5が「せんたくき」であり、物体O5が「脱水中」であることを検出する場合の例が示されている。
【0142】
例えば、
図15のBには、認識部121が、「乾燥中」に物体O5が発する非可聴音NAS2に基づいて、物体O5が「せんたくき」であり、物体O5が「乾燥中」であることを検出する場合の例が示されている。
【0143】
このように、非可聴音を利用した教示によれば、物体の名称だけではなく、動作状態なども併せて教示することが可能となる。また、非可聴音を利用した教示によれば、例えば、学習部122が、「脱水中」に物体O5が発する動作音である可聴音AS1や、「乾燥中」に物体O5が発する動作音である可聴音AS2を、物体O5の動作状態と併せて学習することも可能である。自律移動体11は、上記のような学習を繰り返し実行することで、非可聴音を発しない物体に対しても徐々に認識能を獲得することが可能である。
【0144】
続いて、ラベルと学習対象との対応付けの修正について説明する。上述したように、自律移動体11は、各種の教示に基づいて、パターン認識学習を行うことが可能である。
【0145】
しかし、例えば、ユーザによる教示に基づいて学習を行う際、学習対象やラベルが誤って取得されてしまう状況も想定される。このため、情報処理サーバ13のアプリケーション制御部322は、ラベルと学習対象との対応付けをユーザ(または、開発者やサービス提供者)が修正するためのユーザインタフェースを情報処理端末12に提供してもよい。
【0146】
また、学習結果の修正は、自律移動体11により自動的に行われてもよい。学習部122は、例えば、情報処理サーバ13に蓄積される学習結果と、自身の学習結果とを比較することで、集合知と自身の学習知識とのずれを検出し、ラベルや学習対象を自動で修正することも可能である。
【0147】
さらに、例えば、動作制御部124は、より効果的に学習データを収集するために、ユーザによる教示を誘導するための誘導動作を自律移動体11に行わせてもよい。
【0148】
例えば、自律移動体11の自律行動中に、認識部121が認識できない未知の物体を検出した場合、動作制御部124は、未知の物体に対するユーザの教示を誘導するための誘導動作を自律移動体11に行わせることができる。例えば、動作制御部124は、未知の物体に対して吠える動作を誘導動作として自律移動体11に行わせる。
【0149】
このように、誘導動作により、自律移動体11の挙動に対してユーザが未知の物体に対する教示を行う可能性を高めることができ、より効率的に学習データを収集できる効果が期待される。
【0150】
なお、誘導動作の例としては、例えば、吠える、匂いを嗅ぐ、威嚇する、首を傾げる、ユーザと対象とを交互に見る、怯える、などの種々の動作が挙げられる。
【0151】
次に、
図16のフローチャートを参照して、上述した自律移動体11のパターン認識学習処理の流れについて説明する。
【0152】
ステップS1において、認識部121は、教示の開始を検出する。認識部121は、例えば、ユーザによる発話や、QRコード(登録商標)の検出、無線通信による情報の受信、非可聴音の検出などに基づいて、教示の開始を検出する。
【0153】
ステップS2において、動作制御部124は、学習の開始を通知する。例えば、動作制御部124は、パターン認識学習を開始することを示す動作を自律移動体11に行わせる。例えば、動作制御部124は、吠える、耳や尻尾を動かす、虹彩の色を変化させる等の動作を自律移動体11に行わせる。
【0154】
ステップS3において、認識部121は、学習対象を特定する。認識部121は、例えば、ユーザの指差しなどのジェスチャに基づいて、学習対象を特定してもよいし、学習対象から取得される情報に基づいて、学習対象を特定してもよい。
【0155】
ステップS4において、認識部121は、ラベルを取得する。認識部121は、例えば、ユーザの発話からラベルを抽出してもよいし、学習対象から取得される情報からラベルを取得してもよい。
【0156】
ステップS5において、動作制御部124は、ステップS3において特定された学習対象の全体が撮影可能な位置および姿勢となるように、駆動部104を制御する。
【0157】
ステップS6において、動作制御部124は、複数の角度から学習対象が撮影されるよう駆動部104および入力部101を制御する。
【0158】
ステップS7において、学習部122は、ステップS4の処理で取得されたラベルと、ステップS6の処理で撮影された画像に基づくパターン認識学習を実行する。
【0159】
ステップS8において、動作制御部124は、学習の完了を通知する。例えば、動作制御部124は、パターン認識学習の完了を示す動作を自律移動体11に行わせる。上記動作は、例えば、吠える、耳や尻尾を動かす、虹彩の色を変化させる動作などであってもよい。
【0160】
その後、パターン認識学習処理は終了する。
【0161】
以上のようにして、自律移動体11は、パターン認識学習を行うことにより、物体、動作、空間領域等を認識する認識能を向上させることができる。
【0162】
<自律移動体11の躾対応処理>
次に、
図17乃至
図25を参照して、情報処理システム1により実行される躾対応処理について説明する。
【0163】
躾対応処理とは、自律移動体11が、ユーザによる躾に対応して行動を変化させる処理である。
【0164】
ここで、躾対応処理において自律移動体11が認識又は記憶する対象としては、例えば、上述した自律移動体11が置かれている状況が想定される。なお、自律移動体11が認識又は記憶する対象となる人には、例えば、自律移動体11のユーザ、他の自律移動体11のユーザ、知らない人等が想定される。自律移動体11のユーザには、例えば、自律移動体11のオーナや、オーナの家族や身内等が含まれる。また、自律移動体11が認識又は記憶する対象他の自律移動体には、自律移動体11と同種の自律移動体だけでなく、他の種類の自律移動体も含まれる。
【0165】
自律移動体11のしつけ方としては、例えば、ユーザが音声やジェスチャで指示を与えたり、情報処理端末12においてアプリケーションを用いて指示を与えたり、自律移動体11を触ったり、エサを与えたりする方法が想定される。また、例えば、画像や音声等を用いて、自律移動体11の入力部101が備える各種のセンサより、上述した対象やユーザの指示等を自律移動体11により認識させる方法が想定される。
【0166】
躾により自律移動体11が変化する過程としては、例えば、1回の躾により自律移動体11の変化が完了したり、同様の躾が繰り返されることにより、自律移動体11が徐々に変化したり、所定の手順に従って躾が行われることにより、自律移動体11が段階的に変化したりする過程が想定される。
【0167】
自律移動体11の変化の態様としては、例えば、振る舞いが変化したり、所定の行動を習得したり、所定の行動が上達したり(所定の行動に習熟したり)、所定の行動をしなくなったりすることが想定される。
【0168】
自律移動体11の変化を表す方法としては、自律移動体が行動を変化させる以外にも、例えば、情報処理端末12においてアプリケーションに自律移動体11の変化を示す情報を表示させる方法が想定される。
【0169】
なお、以下、躾対応処理が自律移動体11の学習部122により行われる場合を主な例として説明する。なお、躾対応処理は、例えば、情報処理サーバ13の学習部323により行われてもよいし、学習部122及び学習部323の両者により、それぞれ独立して、又は、協力して行われてもよい。
【0170】
また、詳細な説明は省略するが、躾対応処理において、必要に応じて、上述したパターン認識学習が適宜行われる。
【0171】
<自律移動体11を躾ける第1の方法>
まず、
図17乃至
図20を参照して、自律移動体11を躾ける第1の方法について説明する。
【0172】
この第1の方法では、ユーザが所定の行動を促進又は抑制するように指示を与えることにより、自律移動体11が躾けられる。
【0173】
なお、ユーザが指示を与える方法は、自律移動体11がユーザの指示を認識できる方法であれば、特に限定されない。以下、ユーザが音声により自律移動体11に指示を与える例を主に挙げながら説明する。
【0174】
また、以下、ユーザが静かにしてほしいときに静かに振る舞うように自律移動体11を躾ける場合を具体例として適宜挙げながら説明する。
【0175】
<行動制御処理の第1の実施の形態>
ここで、
図17のフローチャートを参照して、自律移動体11により実行される行動制御処理の第1の実施の形態について説明する。
【0176】
この処理は、例えば、自律移動体11の電源がオンされたとき開始され、オフされたとき終了する。
【0177】
ステップS101において、認識部121は、ユーザから指示が与えられたか否かを判定する。具体的には、認識部121は、入力部101から供給されるセンサデータ及び入力データ、並びに、通信部102から供給される受信データに基づいて、ユーザの指示の認識処理を行う。認識部121は、ユーザの指示を認識しなかった場合、ユーザから指示が与えられていないと判定し、処理はステップS102に進む。
【0178】
ステップS102において、認識部121は、行動を開始する状況であるか否かを判定する。例えば、認識部121は、入力部101から供給されるセンサデータ及び入力データ、並びに、通信部102から供給される受信データに基づいて、現在の状況を認識する。
【0179】
また、認識部121は、後述するステップS110の処理において、各行動と各状況との相関関係の学習を行うことにより得られる行動状況相関データを記憶部106から読み出す。
【0180】
行動状況相関データは、学習結果データの1つであり、各行動と各行動を実行すべき状況(以下、行動トリガ状況と称する)との相関関係を示すデータである。例えば、行動状況相関データは、ユーザにより指示が与えられた状況と、指示された行動との相関関係を示す。
【0181】
行動トリガ状況の内容は、任意に設定することが可能である。例えば、行動トリガ状況は、行動すべき時刻、時間帯、曜日、場所、ユーザの状態、自律移動体11の状態、自律移動体11の周囲の状況等のうちのいくつかの項目を含む。
【0182】
また、行動トリガ状況に含まれる項目の種類は、対応する行動の内容によって違っていてもよい。例えば、行動の内容が「静かにする」場合の行動トリガ状況は、自律移動体11の周囲の状況により表され、行動の内容が「就寝する」場合の行動トリガ状況は、時刻により表される。
【0183】
認識部121は、行動状況相関データにおいて、現在の状況と類似する行動トリガ状況が存在しない場合、行動を開始する状況でないと判定し、処理はステップS101に戻る。
【0184】
その後、ステップS101において、ユーザから指示が与えられたと判定されるか、ステップS102において、行動を開始する状況であると判定されるまで、ステップS101及びステップS102の処理が繰り返し実行される。
【0185】
一方、ステップS101において、認識部121は、ユーザの指示を認識した場合、ユーザから指示が与えられたと判定し、処理はステップS103に進む。
【0186】
例えば、認識部121は、「静かに」、「黙って」、「うるさい」等の自律移動体11に静かにするように促すユーザの音声を認識した場合、ユーザから指示が与えられたと判定し、処理はステップS103に進む。
【0187】
ステップS103において、認識部121は、入力部101から供給されるセンサデータ及び入力データ、並びに、通信部102から供給される受信データに基づいて、現在の状況を認識する。すなわち、認識部121は、ユーザから指示が与えられたときの状況を認識する。認識する状況の内容は、例えば、指示が与えられたときの時刻、時間帯、曜日、場所、ユーザの状態、自律移動体11の状態、自律移動体11の周囲の状況等のうちいくつかを含む。
【0188】
認識部121は、ユーザの指示の内容を示すデータを行動計画部123に供給する。また、認識部121は、ユーザの指示の内容、及び、指示が与えられたときの状況を示すデータを学習部122に供給する。
【0189】
ステップS104において、行動計画部123は、過去にユーザの指示に従って行動した回数に基づいて、行動内容を設定する。
【0190】
具体的には、行動計画部123は、記憶部106に記憶されている行動履歴データに基づいて、過去に同様の内容の指示に従って行動した回数(以下、指示行動回数と称する)を特定する。なお、指示行動回数は、例えば、指示された行動を最後まで実行し、完了した回数であり、指示された行動を途中で中止し、完了しなかった回数は含まない。
【0191】
行動計画部123は、特定した指示行動回数に基づいて、行動内容を設定する。例えば、行動計画部123は、指示行動回数が多くなるほど、指示された行動に習熟した様子を表現できるように行動内容を設定する。
【0192】
具体的には、指示行動回数が0回である場合、例えば、自律移動体11が過去に静かにするように指示されたことがなく、今回初めて指示された場合、1分間落ち着きのない状態でお座りするパターンに行動内容が設定される。
【0193】
例えば、指示行動回数が1回~10回である場合、指示行動回数×1分の間、お座りをした後、1分間落ち着きのない状態でお座りするパターンに行動内容が設定される。
【0194】
例えば、指示行動回数が11回~20回である場合、10分間お座りをし、(指示行動回数-10)×1分の間、伏せをした後、1分間落ち着きのない状態でお座りするパターンに行動内容が設定される。
【0195】
例えば、指示行動回数が21回~30回である場合、10分間お座りをし、10分間伏せをし、(指示行動回数-20)×1分の間、寝た後、1分間落ち着きのない状態でお座りするパターンに行動内容が設定される。
【0196】
例えば、指示行動回数が31回以上である場合、10分間お座りをし、10分間伏せをし、10分間寝た後、1分間落ち着きのない状態でお座りするパターンに行動内容が設定される。
【0197】
このように所定の行動に対する指示が繰り返されるのに伴い、所定の行動の内容が変化する。この例の場合、指示行動回数の増加に伴い、自律移動体11の静かにする行動(以下、静黙行動と称する)の習熟度が向上する。すなわち、自律移動体11が静かに待機できる時間が長くなる。これにより、ユーザに自律移動体11の成長を実感させることができる。
【0198】
行動計画部123は、設定した行動内容を示すデータを動作制御部124に供給する。
【0199】
その後、処理はステップS106に進む。
【0200】
一方、ステップS102において、認識部121は、行動状況相関データにおいて、現在の状況と類似する行動トリガ状況が存在する場合、行動を開始する状況であると判定し、処理はステップS105に進む。
【0201】
例えば、過去に自律移動体11に対して、ユーザが机に向かっているときに繰り返し静かにするように指示が与えられている場合、静黙行動に対して、ユーザが机に向かっている状況が行動トリガ状況として対応付けられる。この場合、現在ユーザが机に向かっているとき、行動を開始する状況であると判定され、処理はステップS105に進む。
【0202】
例えば、過去に自律移動体11に対して、同じ時間帯に繰り返し静かにするように指示が与えられている場合、静黙行動に対して、その時間帯が行動トリガ状況として対応付けられる。この場合、現在の時刻がその時間帯に含まれる場合、行動を開始する状況であると判定され、処理はステップS105に進む。
【0203】
ステップS105において、自律移動体11は、現在の状況に基づいて、行動内容を設定する。
【0204】
具体的には、認識部121は、現在の状況と類似すると判定した行動トリガ状況を行動計画部123に通知する。また、認識部121は、認識した現在の状況を示すデータを学習部122に供給する。
【0205】
行動計画部123は、通知された行動トリガ状況、及び、記憶部106に記憶されている行動状況相関データに基づいて、行動内容を設定する。すなわち、行動状況相関データにおいて、通知された行動トリガ状況に対応付けられている行動内容が、自律移動体11に実行させる行動内容に設定される。行動計画部123は、設定した行動内容を示すデータを動作制御部124に供給する。
【0206】
その後、処理はステップS106に進む。
【0207】
ステップS106において、自律移動体11は、行動を開始する。具体的には、動作制御部124は、設定された行動内容を実行するように駆動部104及び出力部105を制御する処理を開始する。
【0208】
ステップS107において、動作制御部124は、行動が完了したか否かを判定する。動作制御部124は、ステップS104又はステップS105の処理で設定された行動をまだ実行中である場合、まだ行動が完了していないと判定し、処理はステップS108に進む。
【0209】
ステップS108において、行動計画部123は、行動を中止するか否かを判定する。例えば、認識部121は、入力部101から供給されるセンサデータ及び入力データ、並びに、通信部102から供給される受信データに基づいて、ユーザの指示の認識処理を行う。そして、行動計画部123は、認識部121が現在実行中の行動を中止するトリガとなる指示を認識していない場合、行動を中止しないと判定し、処理はステップS107に戻る。
【0210】
その後、ステップS107において、行動が完了したと判定されるか、ステップS108において、行動を中止すると判定されるまで、ステップS107及びステップS108の処理が繰り返し実行される。
【0211】
一方、ステップS107において、行動が完了したと判定された場合、処理はステップS110に進む。
【0212】
また、ステップS108おいて、認識部121は、例えば、現在実行中の行動を中止するトリガとなる指示を認識した場合、現在実行中の行動を中止するトリガとなる指示を認識したことを行動計画部123に通知する。そして、行動計画部123は、行動を中止すると判定し、処理はステップS110に進む。
【0213】
行動を中止するトリガとなる指示としては、例えば、実行中の行動を抑制する指示、実行中の行動と異なる他の行動の指示等が想定される。
【0214】
例えば、自律移動体11が静黙行動を実行している場合に、ユーザが自律移動体11の名前を呼んだり、「こちらに来て」、「動いていいよ」等の指示を与えたりした場合、行動を中止すると判定され、処理はステップS110に進む。
【0215】
ステップS110において、自律移動体11は、行動を中止する。具体的には、認識部121は、行動を中止するトリガとなる指示の内容を示すデータを行動計画部123に供給する。行動計画部123は、行動の中止を動作制御部124に指示する。動作制御部124は、駆動部104及び出力部105を制御して、自律移動体11に現在実行中の行動を中止させる。
【0216】
その後、処理はステップS110に進む。
【0217】
ステップS110において、学習部122は、行動と状況との相関関係を学習する。
【0218】
具体的には、行動計画部123は、実行した行動内容、及び、行動が完了したか否かを示すデータを学習部122に供給する。
【0219】
学習部122は、記憶部106に記憶されている行動履歴データに、今回の行動の結果を追加する。
【0220】
また、学習部122は、行動履歴データに基づいて、各行動と状況との相関関係を学習することにより、行動状況相関データを更新する。例えば、学習部122は、各行動と各状況との相関度(例えば、相関係数)を算出する。
【0221】
なお、例えば、ある行動が完了した場合、当該行動と当該行動が行われたときの状況との相関度は大きくされる。一方、例えば、ある行動が途中で中止された場合、当該行動と当該行動が行われたときの状況との相関度は小さくされる。
【0222】
そして、学習部122は、各行動に対して、相関度が所定の閾値以上の状況を行動トリガ状況として対応付ける。
【0223】
従って、例えば、ユーザが過去に同様の状況において繰り返し同様の指示を与えていた場合、当該指示に対応する行動に対して、当該状況が行動トリガ状況として対応付けられる。
【0224】
例えば、ユーザが机に向かっている状況において、ユーザが繰り返し自律移動体11に「静かに」と指示を与えていた場合、静黙行動に対して、ユーザが机に向かっている状況がトリガ状況として対応付けられる。
【0225】
例えば、同様の時間帯にユーザが繰り返し自律移動体11に「静かに」と指示を与えていた場合、静黙行動に対して、その時間帯がトリガ状況として対応付けられる。
【0226】
一方、相関度が閾値以上の状況が存在しない行動に対しては、行動トリガ状況は対応づけられない。
【0227】
学習部122は、更新した行動状況相関データを記憶部106に記憶させる。
【0228】
その後、処理はステップS101に戻り、ステップS101以降の処理が実行される。
【0229】
以上のようにして、ユーザは、自律移動体11の躾を体験することができる。これにより、例えば、ユーザは、自分の躾により自律移動体11が成長することを実感することができ、ユーザ体験が向上する。
【0230】
また、自律移動体11は、ユーザから指示が与えられたときの状況を学習することにより、ユーザの指示がなくても、自発的に適切な状況下で適切な行動を実行することができるようになる。
【0231】
なお、例えば、自律移動体11は、ユーザから指示が与えられた時間の分布等に基づいて、指示された行動に対するユーザの期待値の時系列の推移を推定し、推定した期待値に基づいて、行動を変化させることが可能である。
【0232】
ここで、
図18乃至
図20を参照して、ユーザの期待値に基づいて自律移動体11の行動を変化させる処理の具体例について説明する。
【0233】
なお、以下、自律移動体11が、ユーザの指示に従って、静黙行動を行う場合を例について説明する。また、以下に説明する期待値の算出処理は、
図7の期待値算出部151により実行される。
【0234】
図18は、自律移動体11の静黙行動、促進期待値、抑制期待値、及び、習慣期待値の時系列の変化の例を示している。
【0235】
時刻t1において、ユーザが、静黙行動を指示する。例えば、ユーザが、自律移動体11に対して「静かに」と声をかける。これにより、自律移動体11は、静黙行動を開始する。また、促進期待値が0から1.0まで上昇し、時刻t3まで保持される。
【0236】
時刻t2において、自律移動体11は、静黙行動を終了する。なお、時刻t1と時刻t2の間の静黙行動の期間の長さは、上述したように、過去の静黙行動に対する指示行動回数により変化する。
【0237】
時刻t3において、促進期待値が減少を開始する。促進期待値は線形に減少する。
【0238】
なお、時刻t1と時刻t3の間の長さ、すなわち、促進期待値が1.0に保持される期間の長さは、一定にしてもよいし、或いは、過去の静黙行動に対する指示行動回数により変化するようにしてもよい。後者の場合、静黙行動に対する指示行動回数が増えるにつれて、期間が長くなる。
【0239】
時刻t4において、促進期待値が0.5に達した後、0に下げられる。
【0240】
時刻t5において、時刻t1と同様に、ユーザが、静黙行動を指示する。これにより、自律移動体11が静黙行動を開始し、促進期待値が0から1.0まで上昇し、時刻t7まで保持される。
【0241】
時刻t6において、時刻t2と同様に、自律移動体11は、静黙行動を終了する。
【0242】
時刻t7において、時刻t3と同様に、促進期待値が減少を開始する。
【0243】
時刻t8において、ユーザが、静黙行動を抑制する指示を与える。例えば、ユーザが、自律移動体11の名前を呼ぶ。これにより、抑制期待値が、0から1.0まで上昇した後、減少を開始する。抑制期待値は線形に減少する。
【0244】
時刻t9において、時刻t4と同様に、促進期待値が0.5に達した後、0に下げられる。
【0245】
時刻t10において、抑制期待値が0.5に達した後、0に下げられる。
【0246】
なお、習慣期待値は、後述する方法で算出された結果に基づいて変化する。
【0247】
図19は、
図18に示されるように、促進期待値、抑制期待値、及び、習慣期待値が変化した場合の総合期待値の算出方法を説明するためのグラフである。
【0248】
時刻t1において、ユーザから与えられた静黙行動の指示が促進トリガとなり、総合期待値1が有効となる。なお、総合期待値1は、促進期待値と習慣期待値のうち大きい方の値に設定される。
【0249】
時刻t5において、ユーザから与えられた静黙行動の指示が促進トリガとなる。ただし、すでに時刻t1において、総合期待値1が有効化されているため、総合期待値1が有効化されたままとまる。
【0250】
時刻t7において、ユーザから与えられた静黙行動の抑制の指示が抑制トリガとなり、総合期待値1が無効になり、総合期待値2が有効になる。総合期待値2は、(1.0-抑制期待値)と習慣期待値のうち小さい方の値に設定される。
【0251】
従って、時刻t1から時刻t7までの期間において、自律移動体11は、総合期待値1に基づいて行動する。例えば、自律移動体11は、静黙行動を実行している期間(時刻t1から時刻t2までの期間、及び、時刻t5から時刻t6までの期間)を除いて、総合期待値1が所定の閾値以上の場合、静黙行動と類似する行動を行い、なるべく静かに動作する。例えば、自律移動体11は、歩行速度を制限し、静かに歩くようにする。また、例えば、自律移動体11は、静かな動作を優先的に行い、うるさい動作をなるべく行わないようにする。静かな動作とは、例えば、移動せずに前脚や首だけを動かす動作である。うるさい動作とは、例えば、走り回ったり、歌ったりする動作である。一方、自律移動体11は、総合期待値1が所定の閾値未満の場合、通常の動作を行う。
【0252】
これにより、自律移動体11は、例えば、静黙行動を終了した後も、しばらく静かに動作するようになり、ユーザに静黙行動の余韻を感じさせることができる。
【0253】
また、時刻t7以降の期間において、自律移動体11は、総合期待値2に基づいて行動する。例えば、自律移動体11は、総合期待値2が所定の閾値以上の場合、静かな動作を優先的に行う。一方、自律移動体11は、総合期待値2が所定の閾値未満の場合、通常の動作を行う。
【0254】
なお、促進トリガと抑制トリガは常に最新のものが有効になる。そして、上述したように、促進トリガが有効な期間では、総合期待値1が有効になり、抑制トリガが有効な期間では、総合期待値2が有効になる。
【0255】
ここで、
図20を参照して、習慣期待値の算出方法の例について説明する。
【0256】
図20の1番上のグラフは、直前の所定の期間内(例えば、3か月)における所定の時間帯毎の静黙行動の発動回数のヒストグラムを示している。各時間帯において1日に1回でも静黙行動が発動した場合、ヒストグラムの値が1つ加算される。すなわち、同じ日の同じ時間帯に1回でも静黙行動が発動した場合、発動した回数に関わらず、ヒストグラムの値が1つ加算される。従って、例えば、ヒストグラムの値が5の場合、所定の期間内のうち5日間において、その時間帯に静黙行動が発動したことを示している。
【0257】
なお、ある行動が発動するとは、ユーザの指示の有無に関わらず、自律移動体11がその行動を開始することであり、その行動を完了した否かは問わない。
【0258】
図20の2番目のグラフは、1番上のグラフと同じ期間内における所定の時間帯毎の全ての行動(静黙行動を含む)の発動回数のヒストグラムを示している。例えば、各時間帯において1日に1回でも、何らかの行動が発動した場合、ヒストグラムの値が1つ加算される。すなわち、同じ日の同じ時間帯に1回でも何らかの行動が発動した場合、発動した行動の回数及び種類に関わらず、ヒストグラムの値が1つ加算される。従って、例えば、ヒストグラムの値が65の場合、所定の期間内のうち65日間において、その時間帯に何らかの行動が発動したことを示している。
【0259】
そして、各時間帯tにおける静黙行動発動率v(t)が、次式(1)により算出される。
【0260】
v(t)=s(t)/a(t) ・・・(1)
【0261】
s(t)は、時間帯tにおける静黙行動発動回数を示し、a(t)は、時間帯tにおける全行動発動回数を示している。
【0262】
そして、次式(2)により、静黙行動発動率v(t)を正規化した正規化静黙行動発動率vn(t)が算出される。
【0263】
vn(t)=K×(((v(t)-μ)/σ)/2+0.5)
・・・(2)
【0264】
μは、全時間帯における静黙行動発動回数s(t)の平均値を示し、σは、全時間帯における静黙行動発動回数s(t)の分散を示している。
【0265】
Kは、係数を示し、例えば、以下のように設定される。なお、以下、静黙行動発動回数s(t)の合計をΣs(t)とし、全行動発動回数a(t)の合計をΣa(t)とする。
【0266】
例えば、Σa(t)が所定の閾値MIN_COUNT未満である場合、すなわち、自律移動体11の行動の発動回数が非常に少ない場合、係数Kは0に設定される。
【0267】
一方、Σa(t)が閾値MIN_COUNT以上である場合、ratio(=Σs(t)/Σa(t))が所定の閾値MAX_RATIO以上であるとき、Kは1に設定される。一方、ratioが閾値MAX_RATIO未満であるとき、Kはratio/MAX_RATIOに設定される。すなわち、全行動の発動回数に占める静黙行動の発動回数の割合が大きくなるほど、係数Kは大きくなる。
【0268】
図20の一番下のグラフは、正規化静黙行動発動率のグラフを示している。
【0269】
そして、正規化静黙行動率が0未満になる場合は0に補正し、1以上になる場合は1に補正した後の正規化静黙行動率が、習慣期待値として用いられる。
【0270】
この習慣期待値を用いることにより、特にユーザが指示を与えなくても、自律移動体11が、日常的にユーザの期待が高い時に、ユーザが期待する行動を行う(例えば、静かに行動する)ことが可能になる。
【0271】
なお、上述した処理により、静黙行動以外の各種の行動を自律移動体11に躾けることが可能である。
【0272】
例えば、ユーザが「おやすみ」と繰り返し(例えば、毎日)話しかけることにより(指示を与えることにより)、自律移動体11が就寝行動に習熟するようになる。ここで、就寝行動とは、例えば、自律移動体11が充電台まで移動し、充電台の上でスタンバイモードに遷移する行動である。
【0273】
例えば、自律移動体11は、最初の頃は、ユーザが「おやすみ」と話しかけても、なかなか就寝行動を開始しなかったのに、毎日繰り返しているうちに、すぐに就寝行動を開始するようになる。また、自律移動体11が、忍び足で歩く等、充電台まで静かに移動するようになる。
【0274】
また、ユーザが同じ時間帯に繰り返し「おやすみ」と話しかけることにより、自律移動体11が、その時間帯を覚えて、その時間帯になると自動的に就寝行動を開始するようになる。
【0275】
さらに、例えば、ユーザが「朝までおやすみ」と繰り返し話しかけることにより、自律移動体11が、ユーザの指示に従って朝までスタンバイモードを継続するようになる。
【0276】
また、例えば、ユーザが「おはよう」と繰り返し(例えば、毎日)話しかけることにより(指示を与えることにより)、自律移動体11が起床行動に習熟するようになる。ここで、起床行動とは、例えば、自律移動体11が、充電台の上でスタンバイモードになっている状態から起動し、移動を開始する行動である。
【0277】
例えば、自律移動体11は、最初の頃は、ユーザが「おはよう」と話しかけても、なかなか起き上がらなかったのに、毎日繰り返しているうちに、すぐに起き上がるようになる。
【0278】
また、ユーザが同じ時間帯に繰り返し「おはよう」と話しかけることにより、自律移動体11が、その時間帯を覚えて、その時間帯になると自動的に起き上がるようになる。
【0279】
さらに、例えば、ユーザが繰り返し帰宅時に「ただいま」と話しかけることにより(指示を与えることにより)、自律移動体11がユーザを出迎える行動に習熟するようになる。ここで、出迎える行動とは、例えば、自律移動体11が玄関まで移動し、ユーザを出迎える行動である。
【0280】
例えば、自律移動体11は、最初の頃は、ユーザが玄関を開けて「ただいま」と話しかけても、玄関まで来ないときが多かったのに、毎日繰り返しているうちに、ユーザが玄関を開けて「ただいま」と話しかけると、玄関まで来て出迎えるようになる。また、例えば、自律移動体11は、ユーザの帰宅時間を覚えて、ユーザの帰宅時間になると、自動的に玄関に移動し、ユーザの帰宅を待つようになる。
【0281】
また、例えば、ユーザが、繰り返し、自律移動体11がエサを食べる動作を開始しようとしている場合に「待て」と指示を与えることにより、自律移動体11が、エサを食べずに待つことができるようになる。また、例えば、ユーザが、繰り返し、自律移動体11がエサを「待て」しているときに「食べていいよ」と指示を与えることにより、自律移動体11が、ユーザが許可を与えるまで、エサを「待て」出来るようになる。
【0282】
同様の方法により、例えば、自律移動体11に「お座り」等を躾けることができる。
【0283】
さらに、同様の方法により、例えば、ユーザが、自律移動体11に所定の行動を抑制する指示を繰り返し与えることにより、自律移動体11が所定の行動を抑制するように躾けることが可能である。例えば、上述した例において、ユーザが「静かに」の代わりに「騒がない」等の否定形の指示を与えることにより、自律移動体11に静黙行動を躾けることができる。
【0284】
<自律移動体11を躾ける第2の方法>
次に、
図21乃至
図24を参照して、自律移動体11を躾ける第2の方法について説明する。
【0285】
この第2の方法では、自律移動体11が所定の行動を行う場所が躾けられる。
【0286】
以下、自律移動体11が排尿する場所を躾ける例を具体例として挙げながら説明する。
【0287】
<行動制御処理の第2の実施の形態>
ここで、
図21のフローチャートを参照して、自律移動体11により実行される行動制御処理の第2の実施の形態について説明する。
【0288】
この処理は、例えば、自律移動体11の電源がオンされたとき開始され、オフされたとき終了する。
【0289】
ステップS201において、自律移動体11は、入力部101から供給されるセンサデータ及び入力データ、並びに、通信部102から供給される受信データに基づいて、行動を実行する条件を満たしたか否かを判定する。この判定処理は行動を実行する条件を満たしたと判定されるまで繰り返し実行され、行動を実行する条件を満たしたと判定された場合、処理はステップS202に進む。
【0290】
例えば、認識部121は、ユーザの「おしっこして」等の指示を認識した場合、行動(排尿)する条件を満たしたと判定し、処理はステップS202に進む。また、例えば、行動計画部123は、後述する尿意係数が所定の閾値以上になった場合、行動(排尿)する条件を満たしたと判定し、処理はステップS202に進む。
【0291】
ステップS202において、認識部121は、入力部101から供給されるセンサデータ及び入力データ、並びに、通信部102から供給される受信データに基づいて、行動する場所が指示されたか否かを判定する。行動する場所が指示されたと判定された場合、処理はステップS203に進む。
【0292】
なお、行動する場所を指示する方法は、特に限定されない。例えば、ユーザは、自律移動体11を排尿する場所まで移動させた後、「トイレここだよ」等の排尿する場所を指示する言葉を発することにより、排尿する場所を指示することが可能である。例えば、ユーザは、「部屋の隅でおしっこしてきて」等の排尿及び排尿する場所を指示する言葉を発することにより、排尿する場所を指示することが可能である。例えば、ユーザは、情報処理端末12を用いて、地図上の所定の位置を指示することにより、排尿する場所を指示することが可能である。
【0293】
また、例えば、ユーザは、具体的な場所ではなく、行動する方向(例えば、「右方向」、「玄関の方向」等)を指示するようにしてもよい。さらに、例えば、ユーザは、行動する方向と具体的な場所を指示してもよい。また、例えば、ユーザは、ユーザがいる場所に自律移動体11を呼び寄せることにより、行動する場所を指示することが可能である。
【0294】
ステップS203において、自律移動体11は、行動場所学習処理を行う。
【0295】
ここで、
図22のフローチャートを参照して、行動場所学習処理の詳細について説明する。
【0296】
ステップS221において、自律移動体11は、指示された行動場所のクラスタリングを行う。具体的には、認識部121は、行動内容、及び、指示された行動場所(以下、指示場所と称する)を示すデータを学習部122に供給する。
【0297】
学習部122は、記憶部106に記憶されている行動履歴データに、今回の行動内容及び指示場所を含むデータを追加する。
【0298】
また、学習部122は、今回の行動内容と同様の行動内容のデータのうち、最新のN回分のデータ(今回のデータを含む)を行動履歴データから読み出す。
【0299】
そして、学習部122は、例えば、K-means法等のクラスタリング手法を用いて、読み出したデータに示される指示場所のクラスタリングを行う。
【0300】
図23は、指示場所のクラスタリングの具体例を示している。この例では、指示場所Pa1乃至指示場所Pa3がクラスタPb1に分類され、指示場所Pa4乃至指示場所Pa8がクラスタPb2に分類されている。このようにして、指示場所Pa1乃至指示場所Pa3が1つの行動場所Pb1にまとめられ、指示場所Pa4乃至指示場所Pa8が1つの行動場所Pb2にまとめられる。
【0301】
ステップS222において、学習部122は、各行動場所の確信度を算出する。例えば、学習部122は、各行動場所に含まれる指示場所の数に基づいて、各行動場所の確信度を算出する。例えば、
図22の例では、行動場所Pb2の方が、行動場所Pbaより指示場所を多く含むため、確信度が高く設定される。
【0302】
学習部122は、今回の学習結果に基づいて、学習結果データの1つであり、記憶部106に記憶されている行動場所データを更新する。
【0303】
なお、行動場所データは、例えば、各行動内容と、各行動内容にそれぞれ対応する行動場所及び確信度とが含まれる。
【0304】
このように、過去の指示場所の分布に基づいて、所定の行動を行う行動場所及び各行動場所に対する確信度が設定される。
【0305】
その後、行動場所学習処理は終了する。
【0306】
図21に戻り、一方、ステップS202において、行動する場所が指示されていないと判定された場合、ステップS203の処理はスキップされ、処理はステップS204に進む。
【0307】
ステップS204において、行動計画部123は、行動場所を設定する。
【0308】
例えば、行動計画部123は、ユーザにより行動する場所が指示されている場合、指示された場所を行動場所に決定する。
【0309】
一方、行動計画部123は、ユーザにより行動する場所が指示されていない場合、自律移動体11の現在位置、及び、記憶部106に記憶されている行動場所データに基づいて、行動場所を決定する。
【0310】
具体的には、例えば、行動計画部123は、今回の行動内容に対応する行動場所の学習が行われておらず、行動場所が1つも設定されていない場合、自律移動体11の現在位置を行動場所に決定する。
【0311】
一方、行動計画部123は、今回の行動内容に対応する行動場所の学習が行われており、行動場所が1つ以上設定されている場合、各行動場所の確信度、及び、各行動場所までの距離に基づいて、行動場所を決定する。例えば、行動計画部123は、所定の距離の範囲内に行動場所が設定されている場合、所定の距離の範囲内の行動場所のうち最も確信度が高い行動場所を選択する。なお、所定の距離の範囲内の行動場所が1つのみの場合、その行動場所が選択される。一方、例えば、行動計画部123は、所定の距離の範囲内に行動場所が設定されていない場合、自律移動体11の現在位置を行動場所に決定する。
【0312】
行動計画部123は、行動内容及び行動場所を示すデータを動作制御部124に供給する。
【0313】
ステップS205において、自律移動体11は、決定した行動場所まで移動する。具体的には、動作制御部124は、駆動部104を制御して、自律移動体11を決定した行動場所まで移動させる。
【0314】
ステップS206において、自律移動体11は、行動を実行する。具体的には、動作制御部124は、駆動部104及び出力部105を制御して、行動計画部123により設定された行動を自律移動体11に実行させる。
【0315】
その後、処理はステップS201に戻り、ステップS201以降の処理が実行される。
【0316】
ここで、
図24を参照して、
図21の行動制御処理の具体例について説明する。
【0317】
図24は、自律移動体11が排尿するタイミングを規定する尿意係数の時系列の変化を示すグラフである。
【0318】
時刻t0において、自律移動体11の電源がオンされ、自律移動体11が起動したとき、例えば、尿意係数は0.6に設定される。
【0319】
なお、尿意係数は、自律移動体11が所定の行動(例えば、排尿する、エサを食べる、スタンバイモードに遷移する等)を行うか、1.0に達するまで、所定の割合(例えば、1時間に+0.1の割合)で線形に増加する。
【0320】
時刻t1において、自律移動体11がエサを食べる動作を行ったとき、尿意係数は0.9まで増加する。自律移動体11は、尿意係数が0.9以上になると、尿意を催していることを示す動作を開始する。例えば、尿意係数が0.9から0.95までの範囲内において、自律移動体11はモジモジした動作を行う。また、例えば、尿意係数が0.95から1.0までの範囲内において、自律移動体11のモジモジした動作が大きくなる。
【0321】
時刻t2において、尿意係数が1.0に達すると、自律移動体11は、排尿する条件を満たしたと判定し、時刻t3において、自発的に排尿する。このとき、排尿する場所は、上述した
図21のステップS205の処理により決定される。また、排尿が行われると、尿意係数は0に下がる。
【0322】
時刻t4において、自律移動体11がエサを食べる動作を行ったとき、尿意係数は0.9まで増加する。
【0323】
時刻t5において、例えば、ユーザが自律移動体11に対して「おしっこして」と指示した場合、自律移動体11は、指示に従って排尿する。このとき、排尿する場所は、上述した
図21のステップS205の処理により決定される。また、排尿が行われると、尿意係数は0に下がる。
【0324】
時刻t6において、自律移動体11がスタンバイモードに遷移すると、尿意係数の変化が止まり、スタンバイモードの間、尿意係数は増減せずに保持される。
【0325】
時刻t7において、自律移動体11がスタンバイモードから復帰すると、尿意係数が再び上昇を開始する。
【0326】
以上のようにして、ユーザは、自律移動体11が所定の行動を行う場所を躾けることができる。
【0327】
なお、上述した処理により、排尿以外の任意の行動を行う場所を自律移動体11に躾けることが可能である。
【0328】
例えば、自律移動体11がユーザの帰宅時にユーザを迎える場所(例えば、玄関等)等を躾けることが可能である。
【0329】
また、同様の処理により、所定の行動を禁止する場所を自律移動体11に躾けることが可能である。
【0330】
例えば、自律移動体11が近づいたり、入ったりすることを禁止する場所を自律移動体11に躾けることが可能である。
【0331】
具体的には、例えば、自律移動体11が同じ椅子に繰り返しぶつかっている場合、自律移動体11が当該椅子にぶつかったときに、ユーザが「ここはぶつかるからダメだよ」、「ここは危ないからダメだよ」等の指示を繰り返すことにより、自律移動体11は、当該椅子付近を危険な場所として学習する。その結果、自律移動体11は、次第に当該椅子付近を避けて移動するようになる。
【0332】
また、例えば、キッチンは、ユーザが料理や洗い物をしていたり、床が濡れていたりして危険なため、自律移動体11にあまり入って欲しくない場所である。そこで、例えば、自律移動体11がキッチンに近づいたり、入ったりしたりする度に、ユーザが「キッチンに来てはダメ」等の指示を与える。これにより、自律移動体11が、キッチンが入ってはいけない場所であることを学習し、次第にキッチンに入らないようになる。
【0333】
なお、例えば、上述した第1の方法と第2の方法とを組み合わせて、自律移動体11を躾けることも可能である。
【0334】
例えば、主婦であるユーザが、自律移動体11にユーザの主人を迎える場所として玄関を指示するとともに、同様の時間帯に「玄関でお迎えして」と繰り返し指示を与える。これにより、自律移動体11は、次第にその時間帯になると玄関で主人を迎えることができるようになる。
【0335】
例えば、ユーザが、自律移動体11を待機する場所を指示するとともに、静かにしてほしいときや、傍にいてほしくないときに「いつもの場所で待っていて」と繰り返し指示を与える。これにより、自律移動体11が、次第に指定された場所で待機することができるようになる。また、自律移動体11は、指示された状況を学習することにより、ユーザが静かにしてほしいときや、傍にいてほしくないときに、自発的に指示された場所に移動して待機することができるようになる。
【0336】
例えば、自律移動体11がいつも同じ場所で立ち止まる場合、ユーザが、自律移動体11がその場所で立ち止まる度に、「何もないから歩けるよ」等の指示を与える。これにより、自律移動体11は、その場所を安全な場所として学習し、次第にその場所で立ち止まらずに、歩き続けることができるようになる。
【0337】
<自律移動体11を躾ける第3の方法>
次に、
図25を参照して、自律移動体11を躾ける第3の方法について説明する。
【0338】
この第3の方法では、自律移動体11が行動を実行するきかっけとなる物体、すなわち、行動のトリガとなる物体(以下、行動トリガ物体と称する)を覚え、その物体を見つけたとき等に、その物体に対応する行動を実行するように躾けられる。
【0339】
<行動制御処理の第3の実施の形態>
ここで、
図25のフローチャートを参照して、自律移動体11により実行される行動制御処理の第3の実施の形態について説明する。
【0340】
この処理は、自律移動体11の電源がオンされたとき開始され、オフされたとき終了する。
【0341】
ステップS301において、認識部121は、入力部101から供給されるセンサデータに基づいて、物体が指示されたか否かを判定する。物体が指示されていないと判定された場合、処理はステップS302に進む。
【0342】
ステップS302において、認識部121は、入力部101から供給されるセンサデータに基づいて、行動のトリガとなる物体を認識したか否かを判定する。認識部121は、新たな物体を認識していない場合、行動のトリガとなる物体を認識していないと判定し、処理はステップS301に戻る。
【0343】
一方、認識部121は、新たな物体を認識した場合、その物体の種類を認識する。また、認識部121は、後述するステップS313の処理において、各行動と各物体との相関関係の学習を行うことにより得られる行動物体相関データを記憶部106から読み出す。
【0344】
行動物体相関データは、学習結果データの1つであり、各行動と各行動を実行するきっかけとなる行動トリガ物体との相関関係を示すデータである。例えば、行動物体相関データは、ユーザにより指示された物体と、物体の指示とともに指示された行動との相関関係を示す。
【0345】
認識部121は、行動物体相関データにおいて、認識した物体の種類と一致する行動トリガ物体が存在しない場合、行動のトリガとなる物体を認識していないと判定し、処理はステップS301に戻る。
【0346】
その後、ステップS301において、物体が指示されたと判定されるか、ステップS302において、行動のトリガとなる物体を認識したと判定されるまで、ステップS301及びステップS302の処理が繰り返し実行される。
【0347】
一方、ステップS301において、例えば、認識部121は、ユーザが自律移動体11に覚えさせたい物体を指さしたり、自律移動体11の前に差し出したりしたことを認識した場合、物体が指示されたと判定し、処理はステップS303に進む。
【0348】
ステップS303において、
図17のステップS103の処理と同様に、ユーザから指示が与えられたか否かが判定される。ユーザから指示が与えられたと判定された場合、処理はステップS304に進む。
【0349】
ステップS304において、行動計画部123は、ユーザの指示に基づいて、行動内容を設定する。具体的には、認識部121は、指示された物体の種類、及び、認識したユーザの指示の内容を示すデータを行動計画部123に供給する。行動計画部123は、指示された物体の種類、及び、物体の指示とともに指示された内容に基づいて、行動内容を設定する。行動計画部123は、設定した行動内容を示すデータを動作制御部124に供給する。また、認識部121は、指示された物体の種類を示すデータを学習部122に供給する。
【0350】
その後、処理はステップS309に進む。
【0351】
一方、ステップS303において、ユーザから指示が与えられていないと判定された場合、処理はステップS305に進む。
【0352】
ステップS305において、認識部121は、行動のトリガとなる物体が指示されたか否かを判定する。具体的には、認識部121は、行動物体相関データにおいて、指示された物体の種類と一致する行動トリガ物体が存在する場合、行動のトリガとなる物体が指示されたと判定し、処理はステップS306に進む。
【0353】
ステップS306において、行動計画部123は、指示された物体に基づいて、行動内容を設定する。具体的には、認識部121は、指示された行動トリガ物体の種類を示すデータを学習部122及び行動計画部123に供給する。
【0354】
行動計画部123は、指示された行動トリガ物体の種類、及び、記憶部106に記憶されている行動物体相関データに基づいて、行動内容を設定する。すなわち、行動状況相関データにおいて、指示された物体(行動トリガ物体)に対応付けられている行動内容が、自律移動体11に実行させる行動内容に設定される。行動計画部123は、設定した行動内容を示すデータを動作制御部124に供給する。
【0355】
その後、処理はステップS309に進む。
【0356】
一方、ステップS305において、認識部121は、行動物体相関データにおいて、指示された物体の種類と一致する行動トリガ物体が存在しない場合、行動のトリガとなる物体が指示されていないと判定し、処理はステップS307に進む。
【0357】
ステップS307において、行動計画部123は、所定の行動内容を設定する。具体的には、認識部121は、行動トリガ物体とは異なる物体(以下、非行動トリガ物体と称する)が指示されたこと、及び、非行動トリガ物体の種類を示すデータを行動計画部123に供給する。また、認識部121は、非行動トリガ物体の種類を示すデータを学習部122に供給する。
【0358】
ここで、例えば、非行動トリガ物体が指示された場合の行動内容が予め設定されている。行動計画部123は、その行動内容を示すデータを動作制御部124に供給する。
【0359】
その後、処理はステップS309に進む。
【0360】
一方、ステップS302において、認識部121は、行動物体相関データにおいて、認識した物体の種類と一致する行動トリガ物体が存在する場合、行動のトリガとなる物体を認識したと判定し、処理はステップS308に進む。
【0361】
ステップS308において、ステップS306と同様の処理により、認識した物体に基づいて、行動内容が設定される。また、認識部121は、認識した行動トリガ物体の種類を示すデータを学習部122に供給する。
【0362】
その後、処理はステップS309に進む。
【0363】
ステップS309において、
図17のステップS106の処理と同様に、行動が開始される。
【0364】
ステップS310において、
図17のステップS107の処理と同様に、行動が完了したか否かが判定される。行動が完了していないと判定された場合、処理はステップS311に進む。
【0365】
ステップS311において、
図17のステップS108の処理と同様に、行動を中止するか否かが判定される。行動を中止しないと判定された場合、処理はステップS310に戻る。
【0366】
その後、ステップS310において、行動が完了したと判定されるか、ステップS311において、行動を中止すると判定されるまで、ステップS310及びステップS311の処理が繰り返し実行される。
【0367】
一方、ステップS310において、行動が完了したと判定された場合、処理はステップS313に進む。
【0368】
また、ステップS311において、行動を中止すると判定された場合、処理はステップS312に進む。
【0369】
ステップS312において、
図17のステップS110の処理と同様に、行動が中止される。
【0370】
その後、処理はステップS313に進む。
【0371】
ステップS313において、学習部122は、行動と物体との相関関係を学習する。
【0372】
具体的には、行動計画部123は、実行した行動内容、及び、行動が完了したか否かを示すデータを学習部122に供給する。
【0373】
学習部122は、記憶部106に記憶されている行動履歴データに、今回の行動の結果を追加する。
【0374】
また、学習部122は、行動履歴データに基づいて、各行動と物体との相関関係を学習することにより、行動物体相関データを更新する。例えば、学習部122は、各行動と各物体との相関度(例えば、相関係数)を算出する。
【0375】
なお、例えば、ある行動が完了した場合、当該行動と当該行動が行われたきっかけとなった物体との相関度は大きくされる。一方、例えば、ある行動が途中で中止された場合、当該行動と当該行動が行われたきっかけとなった物体との相関度は小さくされる。
【0376】
そして、学習部122は、各行動に対して、相関度が所定の閾値以上の物体を行動トリガ物体として対応付ける。
【0377】
従って、例えば、ユーザが過去に繰り返し同じ種類の物体を提示するとともに同様の指示を与えていた場合、当該指示に対応する行動に対して、当該物体が行動トリガ物体として対応付けられる。
【0378】
その後、処理はステップS301に戻り、ステップS301以降の処理が実行される。
【0379】
以上のようにして、自律移動体11に物体を用いた行動を躾けることができる。
【0380】
例えば、ユーザが、自分のお気に入りの物体を繰り返し自律移動体11に提示し、話しかけることにより、自律移動体11が、当該物体に徐々に興味を持つ動作を行うことができるようになる。例えば、子供が自分のお気に入りの玩具を繰り返し自律移動体11に提示し、「遊ぼう」と話しかけることにより、自律移動体11が、次第に当該玩具で遊ぶようになる。また、例えば、自律移動体11が、当該玩具を見つけた場合に、自発的に当該玩具で遊ぶようになる。
【0381】
例えば、ユーザが、繰り返し食べ物の玩具を自律移動体11に提示し、「食べて」、「エサだよ」、「エサを覚えて」等の指示を与えることにより、自律移動体11が、次第にその玩具をエサとして認識するようになる。そして、例えば、自律移動体11は、次第にその玩具が提示された場合、その玩具を食べる動作を行うようになる。また、例えば、自律移動体11は、その玩具を見つけた場合、自発的にその玩具を食べる動作をするようになる。
【0382】
逆に、例えば、ユーザが、繰り返し食べ物でない玩具を自律移動体11に提示し、「食べたらダメだよ」、「エサではないよ」等の指示を与えることにより、自律移動体11が、次第にその玩具をエサでないと認識するようになる。そして、例えば、自律移動体11は、次第にその玩具を食べる動作を行わないようになる。
【0383】
なお、例えば、上述した第2の方法と第3の方法とを組み合わせて、自律移動体11を躾けることも可能である。
【0384】
例えば、ユーザは、繰り返し玩具を片付ける場所に自律移動体11を移動させ、玩具を提示するとともに、「ここに片づけるのよ」等の指示を与える。これにより、自律移動体11は、徐々に玩具を片付ける場所と行動を覚える。例えば、最初の頃は、自律移動体11は、ユーザが「玩具を片付けて」と指示しても、時々玩具を片付けなかったり、誤った場所に玩具を片付けたりする。しかし、最終的には、自律移動体11は、ユーザが「玩具を片付けて」と指示すれば、適切な場所に玩具を片付けることができるようになる。また、例えば、自律移動体11は、玩具を見つけたとき、自発的に適切な場所に玩具を片付けることができるようになる。
【0385】
<情報処理端末12のユーザインタフェースの例>
次に、
図26乃至
図35を参照して、自律移動体11の躾に関する情報処理端末12のユーザインタフェースの例について説明する。
【0386】
図26乃至
図28は、自律移動体11が静黙行動を実行中の場合の情報処理端末12のディスプレイ501の表示例を示している。
【0387】
図26は、ホーム画面の例を示している。ホーム画面には、アイコン511乃至アイコン513、及び、アニメーション514が表示されている。
【0388】
ホーム画面の左上隅のアイコン511が押下されると、メニュー画面が表示される。ユーザは、メニュー画面から他の画面に遷移することにより、例えば、自律移動体11の育て方等に関するアドバイスや、ユーザに関する情報等を確認することができる。
【0389】
ホーム画面の右上隅のアイコン512が押下されると、お知らせ画面が表示される。お知らせ画面には、例えば、自律移動体11に関するお知らせ、自律移動体11に関するサービスを提供する会社からのお知らせ等が表示される。また、アイコン512の左上には、未読のお知らせの件数が表示される。なお、お知らせ画面の具体例については後述する。
【0390】
ホーム画面の中央かつ下方にあるアイコン513が押下されると、情報確認画面が表示される。情報確認画面には、例えば、自律移動体11の性格、性別、行動、バッテリ残量等に関する情報が表示される。
【0391】
アニメーション514は、自律移動体11を模したアニメーションであり、現在の自律移動体11の状態を示す。この例では、自律移動体11が静黙行動中であることを示すバツ印の画像521が、アニメーション514の口の部分に表示されている。
【0392】
図27は、
図26のホーム画面のアイコン512が押下された場合に表示されるお知らせ画面の例を示している。
【0393】
なお、お知らせ画面内の文章の「ロボット」の部分には、実際には、自律移動体11の商品名や名前が入る。これは、以降の画面例でも同様である。
【0394】
お知らせ画面の上から2段目には、自律移動体11の静黙行動に対する躾の状況が示されている。この例では、自律移動体11が、ユーザから「静かに」と言われたことを徐々に覚え、躾が進んでいることが示されている。
【0395】
図28は、
図27のお知らせ画面の上から2段目のお知らせの詳細を表示した画面の例を示している。この例では、自律移動体11の静黙行動に対する躾の習熟度を示す情報が表示されている。具体的には、自律移動体11が、慣れてくると我慢強くなり、より静かにできるようになることが示されている。また、自律移動体11の名前を呼びかけると、静黙行動を止め、動き出すことが示されている。
【0396】
なお、例えば、習熟度を具体的な数値等で表すようにしてもよい。
【0397】
図29乃至
図31は、自律移動体11が就寝中の場合の情報処理端末12のディスプレイ501の表示例を示している。
【0398】
図29は、ホーム画面の例を示している。なお、図中、
図26と対応する部分には同じ符号を付しており、その説明は適宜省略する。
【0399】
図29のホーム画面には、
図26のホーム画面と同様に、アイコン511乃至アイコン513及びアニメーション514が表示されている。また、ボタン541及びアイコン542が追加されている。
【0400】
アニメーション514は、自律移動体11が就寝中であることを示している。
【0401】
ボタン541は、例えば、1人のユーザが複数の自律移動体11を所有している場合に表示される。ボタン541が押下されると、例えば、情報を確認したい自律移動体11を選択する画面が表示される。
【0402】
アイコン542は、自律移動体11が起床する予定の時刻を示している。この例では、自律移動体11が7時頃に起床する予定であることが示されている。
【0403】
図30は、
図29のホーム画面のアイコン513が押下された場合に表示される情報確認画面の例を示している。この例では、自律移動体11が就寝中であり、7時頃に起床する予定であることを示すメッセージが表示されている。
【0404】
また、自律移動体11の活動量の推移(バイオリズム)を示すグラフが表示されている。この例では、22時から7時までの期間に自律移動体11の活動量が低下することが示されている。
【0405】
図31は、
図29のホーム画面のアイコン511が押下された場合に表示される設定画面の例を示している。この設定画面では、自律移動体11に関する各種の設定項目が表示されている。これらの設定項目のうちタイムゾーンにおいて、ユーザは、自律移動体11の就寝時刻及び起床時刻を明示的に設定することが可能である。
【0406】
図32乃至
図35は、自律移動体11の躾に対する習熟度等を確認する場合の情報処理端末12のディスプレイ501の表示例を示している。
【0407】
図32は、自律移動体11の躾に対する習熟度を確認するためのメイン画面の例を示している。
【0408】
このメイン画面には、グラフ601乃至グラフ604が、縦方向に並ぶように表示されている。
【0409】
グラフ601は、自律移動体11の総合的な習熟度を示している。総合的な習熟度は、各躾項目に対する習熟度に基づいて算出される。
【0410】
グラフ602は、排尿場所(トイレの場所)の躾に対する習熟度を示している。
【0411】
グラフ603は、静黙行動の躾に対する習熟度を示している。
【0412】
グラフ604は、就寝行動の躾に対する習熟度を示している。
【0413】
図33は、
図32のメイン画面において、グラフ602が選択された場合に表示される画面の例を示している。
【0414】
この例では、排尿場所のしつけ方を案内するメッセージ621が表示されている。
【0415】
メッセージ621の下には、排尿場所の躾に対する習熟度を示すグラフ622が表示されている。
【0416】
グラフ622の下には、詳細な図示は省略されているが、現在設定されている排尿場所を示す地
図623が表示されている。なお、地
図623の代わりに、排尿場所を示す地図へのリンクを表示するようにしてもよい。
【0417】
図34は、
図32のメイン画面において、グラフ603が選択された場合に表示される画面の例を示している。
【0418】
この例では、静黙行動のしつけ方を案内するメッセージ641が表示されている。
【0419】
メッセージ641の下には、静黙行動の躾に対する習熟度を示すグラフ642が表示されている。
【0420】
図35は、
図32のメイン画面において、グラフ604が選択された場合に表示される画面の例を示している。
【0421】
この例では、就寝行動のしつけ方を案内するメッセージ661が表示されている。
【0422】
メッセージ661の下には、就寝行動の躾に対する習熟度を示すグラフ662が表示されている。
【0423】
グラフ662の下には、詳細な図示は省略されているが、例えば、
図30の活動量のグラフと同様のグラフが表示される。
【0424】
以上のように、ユーザは、情報処理端末12を用いて、自律移動体11の現在の状態、しつけ方、躾に対する習熟度等を確認することができる。
【0425】
<<2.変形例>>
以下、上述した本技術の実施の形態の変形例について説明する。
【0426】
例えば、自律移動体11が、ある行動を躾けられることにより、他の行動の躾を行わなくても、他の行動の習熟度も自然に向上するようにしてもよい。特に、躾により習熟度が向上した行動に類似又は関連する行動ほど、習熟度が向上するようにしてもよい。
【0427】
例えば、ユーザが躾を行う間隔が所定の閾値以上開いた場合、自律移動体11が、その躾に対応する行動を次第に忘れるようにしてもよい。例えば、ユーザが、ある行動に対する躾を長期間行わなかった場合、その行動の習熟度が低下するようにしてもよい。なお、例えば、ある行動の習熟度が所定の閾値を超えた場合、その行動に対する躾を長期間行わなくても、その行動の習熟度が低下しないようにしてもよい。
【0428】
例えば、自律移動体11が躾を受ける人を選択するようにしてもよい。例えば、自律移動体11が、認識した人がユーザ又はユーザの家族や身内である場合、その人から躾を受けるようにし、認識した人がそれ以外の人である場合、その人から躾を受けないようにしてもよい。
【0429】
例えば、上述した指示行動回数に、指示された行動を途中で中止し、完了しなかった回数を含めるようにしてもよい。
【0430】
<<3.その他>>
<コンピュータの構成例>
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【0431】
図36は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【0432】
コンピュータ1000において、CPU(Central Processing Unit)1001,ROM(Read Only Memory)1002,RAM(Random Access Memory)1003は、バス1004により相互に接続されている。
【0433】
バス1004には、さらに、入出力インタフェース1005が接続されている。入出力インタフェース1005には、入力部1006、出力部1007、記録部1008、通信部1009、及びドライブ1010が接続されている。
【0434】
入力部1006は、入力スイッチ、ボタン、マイクロフォン、撮像素子などよりなる。出力部1007は、ディスプレイ、スピーカなどよりなる。記録部1008は、ハードディスクや不揮発性のメモリなどよりなる。通信部1009は、ネットワークインタフェースなどよりなる。ドライブ1010は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア1011を駆動する。
【0435】
以上のように構成されるコンピュータ1000では、CPU1001が、例えば、記録部1008に記録されているプログラムを、入出力インタフェース1005及びバス1004を介して、RAM1003にロードして実行することにより、上述した一連の処理が行われる。
【0436】
コンピュータ1000(CPU1001)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア1011に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【0437】
コンピュータ1000では、プログラムは、リムーバブルメディア1011をドライブ1010に装着することにより、入出力インタフェース1005を介して、記録部1008にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部1009で受信し、記録部1008にインストールすることができる。その他、プログラムは、ROM1002や記録部1008に、あらかじめインストールしておくことができる。
【0438】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0439】
また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
【0440】
さらに、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【0441】
例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【0442】
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
【0443】
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
【0444】
<構成の組み合わせ例>
本技術は、以下のような構成をとることもできる。
【0445】
(1)
与えられた指示の認識を行う認識部と、
認識された指示に基づいて、行動を計画する行動計画部と、
計画された行動の実行を制御する動作制御部と
を備え、
前記行動計画部は、所定の行動に対する指示である行動指示が繰り返されるのに伴い、前記所定の行動の内容を変化させる
自律移動体。
(2)
前記行動計画部は、前記行動指示が与えられた回数である指示回数に基づいて、前記所定の行動の内容を変化させる
前記(1)に記載の自律移動体。
(3)
前記行動計画部は、前記指示回数の増加に伴い、前記所定の行動の習熟度を向上させる
前記(2)に記載の自律移動体。
(4)
前記行動計画部は、前記指示回数のうち前記所定の行動が完了した回数の増加に伴い、前記所定の行動の習熟度を向上させる
前記(3)に記載の自律移動体。
(5)
前記行動計画部は、前記所定の行動の習熟度を向上させるとともに、前記所定の行動と異なる行動の習熟度を向上させる
前記(3)又は(4)に記載の自律移動体。
(6)
前記行動計画部は、前記行動指示の間隔が開いた場合、前記所定の行動の習熟度を低下させる
前記(3)乃至(5)のいずれかに記載の自律移動体。
(7)
前記認識部は、状況の認識をさらに行い、
指示が与えられた状況と、指示された行動との相関関係の学習を行う学習部を
さらに備え、
前記行動計画部は、前記認識部により認識された状況、及び、前記相関関係の学習結果に基づいて、行動を計画する
前記(1)乃至(6)のいずれかに記載の自律移動体。
(8)
前記学習部は、前記指示された行動が完了した場合、前記指示が与えられた状況と前記指示された行動との相関度を上げ、前記指示された行動が途中で中止された場合、前記相関度を下げる
前記(7)に記載の自律移動体。
(9)
前記学習部は、前記所定の行動が指示された時間の分布に基づいて、前記所定の行動に対する期待値の時系列の推移を推定し、
前記行動計画部は、前記期待値に基づいて、行動を計画する
前記(7)又は(8)に記載の自律移動体。
(10)
前記行動計画部は、前記所定の行動を促進する指示が与えられた場合、前記期待値を上げ、前記所定の行動を抑制する指示が与えられた場合、前記期待値を下げる
前記(9)に記載の自律移動体。
(11)
前記行動計画部は、前記期待値が所定の閾値以上である場合、前記所定の行動又は前記所定の行動に類似した行動を計画する
前記(9)又は(10)に記載の自律移動体。
(12)
過去に前記所定の行動を行うように指示された場所である指示場所の履歴に基づいて、前記所定の行動を行う場所である行動場所の学習を行う学習部を
さらに備え、
前記行動計画部は、前記行動場所の学習結果に基づいて、前記所定の行動を行う場所を決定する
前記(1)乃至(11)のいずれかに記載の自律移動体。
(13)
前記学習部は、前記指示場所の分布に基づいて、1つ以上の前記行動場所を設定し、
前記行動計画部は、前記行動場所及び現在位置に基づいて、前記所定の行動を行う場所を決定する
前記(12)に記載の自律移動体。
(14)
前記学習部は、前記指示場所の分布に基づいて、前記行動場所の確信度を設定し、
前記行動計画部は、前記行動場所、前記確信度、及び、前記現在位置に基づいて、前記所定の行動を行う場所を決定する
前記(13)に記載の自律移動体。
(15)
前記学習部は、前記指示場所のクラスタリングを行うことにより、前記行動場所を設定する
前記(13)又は(14)に記載の自律移動体。
(16)
前記認識部は、物体の認識をさらに行い、
指示された物体と、物体の指示とともに指示された行動との相関関係の学習を行う学習部を
さらに備え、
前記行動計画部は、前記認識部により認識された物体、及び、前記相関関係の学習結果に基づいて、行動を計画する
前記(1)乃至(15)のいずれかに記載の自律移動体。
(17)
自律移動体に与えられた指示の認識を行い、
認識された指示に基づいて、前記自律移動体の行動を計画するとともに、所定の行動に対する指示である行動指示が繰り返されるのに伴い、前記所定の行動の内容を変化させ、
計画された前記自律移動体の行動の実行を制御する
情報処理方法。
(18)
自律移動体に与えられた指示の認識を行い、
認識された指示に基づいて、前記自律移動体の行動を計画するとともに、所定の行動に対する指示である行動指示が繰り返されるのに伴い、前記所定の行動の内容を変化させ、
計画された前記自律移動体の行動の実行を制御する
処理をコンピュータに実行させるためのプログラム。
(19)
自律移動体に与えられた指示の認識を行う認識部と、
認識された指示に基づいて、前記自律移動体の行動を計画する行動計画部と、
計画された前記自律移動体の行動の実行を制御する動作制御部と
を備え、
前記行動計画部は、所定の行動に対する指示である行動指示が繰り返されるのに伴い、前記自律移動体による前記所定の行動の内容を変化させる
情報処理装置。
【0446】
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
【符号の説明】
【0447】
1 情報処理システム, 11 自律移動体, 12 情報処理端末, 1 情報処理サーバ, 103 情報処理部, 104 駆動部, 105 出力部, 121 認識部, 122 学習部, 123 行動計画部, 124 動作制御部, 151 期待値算出部, 203 情報処理部, 204 出力部, 302 情報処理部, 321 自律移動体制御部, 322 アプリケーション制御部, 331 認識部, 332 学習部, 333 行動計画部, 334 動作制御部