以下に、本発明の実施の形態について、添付の図面を参照して説明する。
<システム構成>
図1は、一実施形態に係る実行システムのシステム構成の例を示す図である。実行システム100は、所定の動作を指示する識別情報(以下、動作IDと呼ぶ)を表す音波103を出力する出力装置102と、出力装置102が出力する音波に応じて所定の動作を実行する複数の実行装置101a、101b、・・・とを含む。
なお、以下の説明の中で、複数の実行装置101a、101b、・・・のうち、任意の実行装置を示す場合、「実行装置101」を用いる。また、実行装置101の数は、2つ以上の任意の数であって良い。
出力装置(音波出力装置)102は、例えば、出力装置102が備える記憶部に予め記憶した設定情報や音波情報等に基づいて、動作IDを表す音波信号を作成し、作成した音波信号を音波103に変換して出力装置102の周辺に出力する。或いは、出力装置102は、例えば、無線又は有線の通信機能を有し、通信ネットワークを介して通信可能な管理サーバ等から受信した設定情報や音波情報等に基づいて、動作IDを表す音波信号を作成して音波103を出力するものであっても良い。
なお、出力装置102は、動作IDを表す音波を出力する様々な装置であって良い。例えば、出力装置102は、音波を出力するスピーカ等であっても良いし、映像と音波を出力する表示装置等であっても良い。さらに、出力装置102は、音波を出力可能なスマートフォン、タブレット端末等の情報端末であっても良い。ここでは、出力装置102が、音波を出力するスピーカ等であるものとして以下の説明を行う。
好ましくは、出力装置102は、16kHz以上の周波数を用いて、動作IDを表す音波を出力する。16kHz以上の周波数の音波は、人間にはほとんど聞こえないため、動作IDを実行装置101に伝送するために好適である。ただし、これに限られず、出力装置102は、16kHz未満の音声帯域の音波を用いて、動作IDを表す音波出力しても良い。
実行装置101は、出力装置102から出力される音波に応じて所定の動作を実行する、例えば、インターネットなどに接続され、ネットワーク上での情報処理も可能なロボットであるスマートロボットなどの装置である。
図2は、一実施形態に係る実行装置の外観イメージの例を示す図である。図2(a)は、実行装置101がスマートロボットである場合の例を示している。図2(a)の例では、実行装置101は、例えば、照度センサ、赤外線センサ、加速度センサ等のセンサと、マイクとを備えている。また、実行装置101は、例えば、腕、脚、首等の可動部を駆動するアクチュエータ(例えば、モータ等)やスピーカを備え、出力装置102が出力される音波に応じて可動部を動かし、メッセージを発話することができる。
また、別の一例として、実行装置101は、図2(b)に示すように、アクチュエータ203で回転可能な軸201、及びアクチュエータ204で角度を変更可能な軸202等を、図2(c)に示すような本体205に取付けた構成等であっても良い。例えば、図2(c)に示すように、本体205にマイク、照度センサ、赤外線センサ、及び加速度センサ等を設け、前述した軸201、201に、人形206等を被せる。これにより、例えば、図2(d)に示すように、軸201、202を制御して、人形206等に所定の動作を実行させる実行装置101を実現することができる。
実行装置101は、マイクを用いて、出力装置102が出力する音波を取得し、取得した音波が表す動作IDを検出する。また、実行装置101は、検出した動作IDに対応する規定の動作を実行する規定動作モード(第1の動作モード)と、規定の動作とは異なる動作を実行する変更動作モード(第2の動作モード)とを切り替え可能である。
実行装置101は、規定動作モードに設定されている場合、出力装置102が出力する音波から検出した動作IDに対応する規定の動作を実行する。例えば、実行装置101は、複数の動作IDと、各動作IDに対応する動作内容との対応関係を記憶した動作情報を、記憶部等に予め記憶しておき、検出した動作IDに対応する動作を実行する。
一方、実行装置101が、変更動作モードに設定されている場合、実行装置101は、動作IDに対応する規定の動作を、規定の動作とは異なる動作に変更して実行する。例えば、規定の動作が「右手を振る」である場合、変更動作モードに設定されている実行装置101は、「右手を振る」動作の速度、動作開始時間、角度等の動作パラメータを変更しても良いし、左手を振る、首を回す等、動作内容を変更しても良い。
好ましくは、実行装置101は、変更動作モードに設定されている場合、照度センサ、赤外線センサ、加速度センサ等のセンサから取得したセンサデータ(検知情報)に応じて、実行装置101が実行する動作を変更する。なお、実行装置101の動作を変更する処理の例については後述する。
これにより、例えば、複数の実行装置101aを規定動作モードに設定し、他の実行装置101b、・・・を変更動作モードに設定して、出力装置102の周辺に配置する。この状態で、出力装置102から動作IDを表す音波を出力することにより、出力装置102の周辺に配置した複数の実行装置101a、101b、・・・に、音波に応じて、それぞれ異なる動作を実行させることができる。
なお、動作IDは、出力装置102が、実行装置101に所定の動作を指示する制御情報の一例である。この制御情報は、実行装置101が実行すべき動作又は処理を特定できる情報であれば、任意の形式の情報であって良い。例えば、制御情報は、動作内容を識別する識別子と、動作パラメータ等のオプション情報とを組み合わせた情報等であっても良い。
以上、本実施形態によれば、出力装置102から出力される音波に応じて所定の動作を実行する複数の実行装置101a、101b、・・・に、音波に応じて互いに異なる動作を実行させることが容易になる。
<ハードウェア構成>
続いて、実行装置101、及び出力装置102のハードウェア構成について説明する。
(実行装置のハードウェア構成)
図3は、一実施形態に係る実行装置のハードウェア構成の例を示す図である。実行装置101は、コンピュータの構成を備えており、例えば、CPU(Central Processing Unit)301、メモリ302、入力装置303、表示装置304、通信I/F(Interface)305、アクチュエータ306、設定スイッチ307、音声I/F308、マイク309、スピーカ310、センサI/F311、赤外線センサ312、照度センサ313、加速度センサ314、及びバス315等を有する。
CPU301は、メモリ302等に格納された所定のプログラムを実行することにより、実行装置101の各機能を実現する演算装置である。メモリ302には、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、ストレージデバイス等の各種の記憶装置が含まれる。
入力装置303は、実行装置101に対する入力操作を受け付けるキー、ボタン、タッチパネル等の入力デバイスである。表示装置304は、実行装置101の処理結果等を表示するディスプレイや、LED(Light Emitting Diode)等の発光デバイス等を含む。通信I/F305は、外部装置と通信を行うための各種の通信回路等を含む。
アクチュエータ306は、例えば、実行装置101がスマートロボットである場合、スマートロボットの腕、脚、首等を駆動して、移動、お辞儀、手を振る等の動作を実行させるモータ等の駆動装置を含む。設定スイッチ307は、実行装置101の動作モードを設定するためのスイッチ等である。
音声I/F308は、例えば、マイク309から出力される音波信号を増幅するマイクアンプ、スピーカ310に出力する音波信号を増幅するスピーカアンプ等を含む。また、音声I/F308には、音波信号に各種の信号処理を実行する信号処理回路等が含まれていても良い。マイク309は、実行装置101の周辺の音波を取得し音波信号に変換するマイクロフォン等である。スピーカ310は、音波信号を音波に変換して出力するスピーカ等である。
センサI/F311は、実行装置101に、赤外線センサ312、照度センサ313、加速度センサ314等のセンサを接続するためのインタフェースである。赤外線センサ312は、実行装置101の周辺の赤外線を検知するセンサである。照度センサ313は、実行装置101の周辺の照度を検知するセンサである。加速度センサ314は、実行装置101の加速度を検知するセンサである。
バス315は、上記各構成要素に接続され、アドレス信号、データ信号、及び各種の制御信号等を伝送する。
(出力装置のハードウェア構成)
図4は、一実施形態に係る出力装置のハードウェア構成の例を示す図である。出力装置102は、コンピュータの構成を備えており、例えば、CPU401、メモリ402、通信I/F403、音声出力I/F404、スピーカ405、外部接続I/F406、及びバス407等を有する。
CPU401は、メモリ402等に格納された所定のプログラムを実行することにより、出力装置102の各機能を実現する演算装置である。メモリ402には、例えば、RAM、ROM、ストレージデバイス等の各種の記憶装置が含まれる。通信I/F403は、例えば、出力装置102を通信ネットワーク等に接続し、外部サーバ等と通信を行うための通信インタフェースである。
音声出力I/F404は、例えば、スピーカ405に出力する音波信号を増幅するスピーカアンプ等を含む。また、音声出力I/F404には、音波信号に各種の信号処理を実行する信号処理回路等が含まれていても良い。スピーカ405は、音声出力I/F404から出力される音波信号を音波に変換して、出力装置102の周辺に出力する。
外部接続I/F406は、出力装置102に外部装置を接続するためのインタフェースである。なお、外部装置には、例えば、記憶媒体等の外部記憶装置が含まれ得る。バス407は、上記各構成要素に接続され、アドレス信号、データ信号、及び各種の制御信号等を伝送する。
<機能構成>
続いて、実行システム100の機能構成について説明する。
図5は、一実施形態に係る実行システムの機能構成の例を示す図である。
(出力装置の機能構成)
出力装置(音波出力装置)102は、例えば、図4のCPU401で所定のプログラムを実行することにより、通信部521、音波出力制御部522、音波出力部523、及び記憶部524等を実現している。なお、上記の各構成要素のうち、少なくとも一部は、ハードウェアによって実現されるものであっても良い。
通信部521は、例えば、図4のCPU401で実行されるプログラム、及び通信I/F403等によって実現され、出力装置102を通信ネットワークに接続して、出力装置102を管理する管理サーバ等と通信を行う。例えば、通信部521は、管理サーバから送信される設定情報531、音波情報532等を記憶部524に記憶する。なお、出力装置102は、設定情報531、音波情報532等を予め記憶部524に記憶しているものであっても良い。
なお、音波情報532には、例えば、音波を出力する周波数帯、音波の周波数、動作ID、及び動作IDを出力する順序等の情報が含まれる。また、設定情報531には、例えば、音波出力のオン/オフ、音量、出力開始時間/終了時間等の情報が含まれる。
音波出力制御部522は、記憶部524に記憶した音波情報532を用いて、動作IDを表す音波信号を作成し、設定情報531に従って、音波出力部523による音波の出力を制御する。
音波出力部(出力部)523は、音波出力制御部522の制御に従って、例えば、図4の音声出力I/F404、スピーカ305等を用いて、音波出力制御部522が作成した音波信号を音波に変換して出力する。
(出力装置が出力する音波の例)
本実施形態では、出力装置102が出力する音波について特に限定しないが、ここでは、出力装置102が出力する音波の一例について、概要を説明する。
出力装置102は、予め定められた周波数帯域内に、動作IDを表す複数の周波数の音波を出力する。具体的な一例として、出力装置102は、周波数f1、f2、・・・、f7の7個の周波数の音波を用いて、7ビットの識別情報を表すことができる。例えば、各周波数は、周波数f1が第1のビット、周波数f2が第2のビット、・・・、周波数f7が第7のビットと、それぞれ、1つのビットに対応している。また、各ビットは、対応する周波数に音波が出力されているときデジタル値の「1」を表し、対応する出力されていないときデジタル値の「0」を表すことができる。なお、識別情報のビット数「7」は一例であり、他のビット数であっても良い。
周波数f1、f2、・・・、f7は、予め定められた周波数帯の範囲内において、例えば、所定の周波数間隔で配置される。実行装置101は、出力装置102から音波を受信し、周波数f1、f2、・・・、f7の音波の有無を判断することにより、音波が表す動作IDを検出することができる。
なお、上記の音波の出力方法は一例であり、出力装置102は他の方法により、動作IDを表す音波を出力するものであっても良い。
(実行装置の機能構成)
実行装置101は、図3のCPU301で所定のプログラムを実行することにより、音波受信部501、検出部502、動作モード判断部503、検知情報取得部504、動作変更部505、動作制御部506、及び記憶部507等を実現している。なお、上記の各機能構成のうち、少なくとも一部は、ハードウェアによって実現されるものであっても良い。
音波受信部501は、実行装置101の周辺の音波を受信(取得)する。例えば、音波受信部501は、図3のマイク309、及び音声I/F308等を用いて実行装置101の周辺の音波を受信し、受信した音波を音波信号として取得する。
検出部502は、音波受信部501が受信した音波が表す動作IDを検出する。例えば、前述したように、7個の周波数f1、f2、・・・、f7を用いて動作IDを表す場合、検出部502は、音波受信部501が取得した音波信号を解析して、周波数f1、f2、・・・、f7のそれぞれについて、音波の有無を判断する。また、検出部502は、周波数f1、f2、・・・、f7のそれぞれについて、音波が出力されている周波数に対応するビットを「1」、音波が出力されていない周波数に対応するビットを「0」とすることにより、動作IDを検出する。
好ましくは、検出部502は、音波受信部501が受信した音波が表す動作モードの設定情報(設定ID等)を、動作IDと同様にして検出することができる。
動作モード判断部(判断部)503は、実行装置101の動作モードを判断する。例えば、動作モード判断部503は、図3の設定スイッチ307の設定に基づいて、実行装置101の動作モードを判断する。また、動作モード判断部503は、検出部502が検出した設定情報に基づいて、実行装置101の動作モードを判断しても良い。
さらに、動作モード判断部503は、設定スイッチ307の設定と、検出部502が検出した設定情報とに基づいて、実行装置101の動作モードを判断しても良い。例えば、動作モード判断部503は、設定スイッチ307の設定により実行装置101の動作モードが規定動作モードであるか否かを判断し、規定動作モードでない場合、検出部502が検出した設定情報に基づいて実行装置101の動作モードを判断しても良い。
検知情報取得部(取得部)504は、実行装置101が備える1つ以上のセンサからセンサ量(検知情報)を取得する。例えば、検知情報取得部504は、図3の赤外線センサ312、照度センサ313、及び加速度センサ314で検知されたセンサ量のうち、少なくとも1つのセンサ量を取得する。
動作変更部(変更部)505は、実行装置101の動作モードが変更動作モードである場合、実行装置101の動作を、動作IDに対応する規定の動作とは異なる動作に変更する。
好ましくは、動作変更部505は、実行装置101の動作モードが変更動作モードである場合、検知情報取得部504が取得したセンサ量に応じて、実行装置101の動作を、動作IDに対応する規定の動作とは異なる動作に変更する。
なお、実行装置101の動作モードは、例えば、検出部502が検出した動作IDに対応する規定の動作を実行する規定動作モード(第1の動作モード)、又は規定の動作とは異なる動作を実行する変更動作モード(第2の動作モード)に切り替え可能である。
また、変更動作モードには、後述するように、動作パターンを変更する動作パターン変更モード、アクチュエータ306の駆動パラメータ(角度、速度、動作開始時間等)を変更するパラメータ変更モード等の複数のモードが含まれ得る。なお、変更動作モードの具体的な例については、後述する第1~4の実施形態で説明する。
動作制御部506は、例えば、図3のアクチュエータ306等を制御して、実行装置101に所定の動作を実行させる。
実行装置101の動作モードが規定動作モードである場合、動作制御部506は、検出部502が検出した動作IDに対応する動作を実行装置101に実行させる。例えば、記憶部507には、複数の動作IDと、各動作IDに対応する動作内容との対応関係を記憶した動作情報511が予め記憶されているものとする。この動作情報511を用いて、動作制御部506は、検出部502が検出した動作IDに対応する動作を特定することができる。
また、実行装置101の動作モードが変更動作モードである場合、動作制御部506は、動作変更部505によって変更された動作を実行装置101に実行させる。これにより、実行装置101は、規定動作モードに設定されている他の実行装置101と異なる動作を実行することができる。
記憶部507は、例えば、図3のCPU301で実行されるプログラム、及びメモリ302等によって実現され、例えば、前述した動作情報511等の各種の情報を記憶する。
<処理の流れ>
続いて、本実施形態に係る実行装置101の制御方法の流れについて説明する。
(設定処理)
図6は、一実施形態に係る実行装置の設定処理の例を示すフローチャートである。この処理は、実行装置101の動作モードを設定する設定処理の例を示している。
ステップS601において、実行装置101は、設定スイッチ307、又は検出部502が検出した設定情報により、動作モードの設定を受け付けたか否かを判断し、動作モードの設定を受け付けた場合、ステップS602以降の処理を実行する。
ステップS602において、実行装置101の動作モード判断部503は、受け付けた動作モードを判断し、ステップS603において、実行装置101の動作モードを設定する。
なお、実行装置101の動作モードは、少なくとも、動作IDに対応する規定の動作を実行する規定動作モード、及び規定の動作とは異なる動作を実行する変更動作モードに設定可能である。
また、変更動作モードは、動作パターンを変更する動作パターン変更モード、又はアクチュエータ306の駆動パラメータ(角度、速度、動作開始時間等)を変更するパラメータ変更モードのいずれかを設定可能であっても良い。
さらに、動作パターン変更モードは、動作情報511に記憶されている全ての動作内容からランダムに動作内容を選択するランダム変更モード、又は規定の動作と同じグループから動作内容を選択するグループ内変更モードのいずれかを設定可能であっても良い。
同様に、パラメータ変更モードは、規定の動作の動作パラメータをランダムに変更するランダム変更モード、又はセンサ量に応じて逐次的に動作パラメータを変更する逐次変更モードのいずれかを設定可能であっても良い。
(実行処理)
図7は、一実施形態に係る実行装置の実行処理の例を示すフローチャートである。この処理は、実行装置101が、出力装置102が出力する音波に応じて所定の処理を実行する実行処理の例を示している。
ステップS701において、実行装置101の音波受信部501は、実行装置101の周辺の音波を受信する。
ステップS702において、実行装置101の検出部502は、音波受信部501が受信した音波から動作ID(制御情報の一例)を検出する。ここで、動作IDを検出できない場合、実行装置101は、処理をステップS701に戻して、同様の処理を再び実行する。一方、動作IDを検出できた場合、実行装置101は、ステップS703に処理を移行させる。
ステップS703に移行すると、実行装置101は、例えば、記憶部507から動作情報511を取得する。
ステップS704において、実行装置101の動作モード判断部503は、実行装置101の動作モードが規定動作モード(第1の動作モード)であるか、変更動作モード(第2の動作モード)であるかを判断する。
なお、変更動作モードには、例えば、後述する動作パターンランダム変更モード、動作パターングループ内変更モード、パラメータランダム変更モード、及びパラメータ逐次変更モード等が含まれ得る。
動作モードが規定動作モードである場合、実行装置101は、処理をステップS705に移行させる。一方、動作モードが変更動作モードである場合、実行装置101は、処理をステップS707に移行させる。
ステップS705に移行すると、実行装置101の動作制御部506は、動作情報511を参照して、検出部502が検出した動作IDに対応する規定の動作を特定する。
ステップS706において、実行装置101の動作制御部506は、ステップS705で特定された規定の動作を実行装置101に実行させる。例えば、実行装置101が、図2(a)に示すようなスマートロボットであり、動作IDに対応する規定の動作が「右手を上げる」である場合、動作制御部506は、スマートロボットの右手を駆動するアクチュエータ306を制御する。また、動作IDに対応する規定の動作が、「こんにちは」の発話動作である場合、動作制御部506は、スピーカ310から「こんにちは」という音声を出力させる。
一方、ステップ704からステップS707に移行すると、実行装置101の検知情報取得部504は、実行装置101が備える1つ以上のセンサから、センサ量(検知情報)を取得する。
ステップS708において、実行装置101の動作変更部505は、取得したセンサ量に応じて、動作IDに対応する規定の動作を、当該規定の動作とは異なる動作に変更する。具体的な変更内容の例については、第1~4の実施形態で後述するが、一例として、動作IDに対応する動作が「右手を上げる」である場合、動作変更部505は、右手を上げる角度、速度、動作開始時間等を、取得したセンサ量の大きさに応じて変更しても良い。また、別の一例として、動作変更部505は、例えば、「左手を上げる」、「首を回す」等、規定の動作内容「右手を上げる」とは異なる動作内容に変更しても良い。
ステップS709において、実行装置101の動作制御部506は、ステップS708で変更された動作を実行装置101に実行させる。
上記の処理により、例えば、図1の実行装置101aを規定動作モードに設定し、実行装置101bを動作変更モードに設定しておけば、出力装置102が出力する音波103に応じて、実行装置101a、101bに互いに異なる動作を実行させることができる。
(動作内容の変更処理)
続いて、動作変更部505による動作内容の変更処理について、具体的な実施形態を例示して説明する。
[第1の実施形態]
図8は、第1の実施形態に係る動作情報及び変更処理について説明するための図である。第1の実施形態では、動作変更モードの一例である「動作パターンランダム変更モード」について説明する。
図8(a)は、実行装置101の記憶部507に記憶した動作情報511の一例のイメージを示している。例えば、図8(a)に示す動作情報511の左上には、動作ID「ID11」に対応付けて、動作パターン「パターンA1」、及びパラメータ「角度:A1」、「速度:A1」、・・・等の情報が記憶されている。
同様に、動作情報511には、動作ID「ID12」に対応付けて、動作パターン「パターンA2」、及びパラメータ「角度:A2」、「速度:A2」、・・・等の情報が記憶されている。さらに、他の動作IDについても、各動作IDに対応付けて、動作パターン、及びパラメータ等の情報が記憶されている。
図8(b)は、各動作パターンの一例のイメージを示している。例えば、動作ID「ID11」に対応する動作パターン「パターンA1」は、図8(b)に示すように、「右手を上げる」動作であるものとする。同様に、動作ID「ID12」に対応する動作パターン「パターンA2」は、図8(b)に示すように、「左手を上げる」動作であるものとする。このように、図8(b)は、各動作IDに対応する動作パターン(動作内容)のイメージを示している。
例えば、実行装置101は、検出部502が検出した動作IDが「ID11」であり、かつ実行装置101の動作モードが規定動作モードである場合、実行装置101に、右手を角度「A1」、速度「A1」で上げる動作を実行させる。
なお、角度「A1」には角度を示す数値が設定されており、速度「A1」には速度を示す数値が設定されているものとする。また、動作パターン「パターンA1」には、例えば、「右手を上げる」等の動作パターン(動作内容)が設定されているものとする。
一方、実行装置101は、検出部502が検出した動作IDが「ID11」であり、かつ実行装置101の動作モードが変更動作モードの一つである「動作パターンランダム変更モード」である場合、センサ量に応じて動作パターンをランダムに変更する。
一例として、実行装置101の動作変更部505は、センサ量として取り得る範囲を、第1の範囲、第2の範囲、・・・第nの範囲(nは、動作ID「ID11」以外の動作パターンの数)に分割し、分割した各範囲にn個の動作パターンを割り当てる。例えば、センサ量の第1の範囲に動作パターン「パターンB3」、第2の範囲に動作パターン「パターンC2」、第3の範囲に動作パターン「パターンA1」等、ランダムに割り当てる。
また、動作制御部506は、検知情報取得部504が取得したセンサ量が、例えば、第1の範囲に含まれる場合、実行装置101に、動作パターン「パターンB3(首を左右に振る)」を実行させる。
このように、実行装置101の動作モードが「動作パターンランダム変更モード」に設定されている場合、実行装置101は、検知情報取得部504が取得したセンサ量に応じて、実行装置101の動作パターンをランダムに変更する。
これにより、例えば、実行装置101の数が多い場合、全ての実行装置101が全くバラバラの動きをするのではなく、センサ量の値が近い実行装置101(例えば、隣接する実行装置101等)に同様の動作を実行させることができる。
なお、変形例として、実行装置101の動作変更部505は、検知情報取得部504が取得したセンサ量によらずに、実行装置101の動作パターンを、動作情報511に記憶された動作パターンの中から、ランダムに選択した動作パターンに変更しても良い。
[第2の実施形態]
図9は、第2の実施形態に係る動作情報及び変更処理について説明するための図である。第2の実施形態では、動作変更モードの一例である「動作パターングループ内変更モード」について説明する。
第1の実施形態と同様に、図9(a)は、動作情報511の一例のイメージを示しており、図9(b)は、各動作パターンの一例のイメージを示しているものとする。
また、第2の実施形態では、動作情報511に記憶されている動作パターンが、複数のグループA~Cに分類されている。例えば、図9(b)を参照して、グループAには、「右手を上げる」、「左手を上げる」、「右手を振る」等、手を動かす動作パターンが分類されている。また、グループBには、「首を右に回す」、「首を左に回す」、「首を左右に回す」等、首を動かす動作パターンが分類されている。さらに、グループCには、「右足を上げる」、「左足を上げる」、「右足を振る」等、脚を動かす動作パターンが分類されている。
このように、第2の実施形態では、一例として、動作情報511に記憶された動作パターンが、同様の動作を実行する複数のグループにグループ分けされている。
例えば、実行装置101は、検出部502が検出した動作IDが「ID11」であり、かつ実行装置101の動作モードが規定動作モードである場合、第1の実施形態と同様に、実行装置101に右手を角度「A1」、速度「A1」で上げる動作を実行させる。
また、動作変更部505は、検出部502が検出した動作IDが「ID11」であり、かつ実行装置101の動作モードが「動作パターングループ内変更モード」である場合、センサ量に応じて動作内容をグループ内の他の動作パターンにランダムに変更する。例えば、検出部502が検出した動作IDが「ID11」である場合、動作変更部505は、グループAの範囲内で、検出部502が検出したセンサ量に応じて動作内容をランダムに変更する。
例えば、図1に示す実行装置101aが規定動作モードに設定されており、実行装置101bが「動作パターングループ内変更モード」に設定されているものとする。また、出力装置102は、動作ID「ID11」を表す音波を出力しているものとする。
この場合、実行装置101aは、動作情報511において、動作ID「ID11」に対応する規定の動作「右手を上げる」を実行する。また、実行装置101bは、動作情報511において、動作ID「ID11」を含むグループAに含まれ、かつ規定の動作とは異なる「左手を上げる」、又は「右手を振る」動作を実行する。
このように、第2の実施形態では、出力装置102の周辺に配置した複数の実行装置101に、例えば、手を動かす、首を回す、脚を動かす等、同様の動作の範囲内で、各実行装置101の動作パターンをランダムに変更することができる。
なお、変形例として、実行装置101の動作変更部505は、検知情報取得部504が取得したセンサ量によらずに、実行装置101の動作パターンを、同じグループの範囲内で、ランダムに選択しても良い。
[第3の実施形態]
図10は、第3の実施形態に係る動作情報及び変更処理について説明するための図である。第3の実施形態では、動作変更モードの一例である「パラメータランダム変更モード」について説明する。
第3の実施形態に係る動作情報511は、図7(a)に示す第1の実施形態に係る動作情報511と同様で良い。
また、実行装置101は、検出部502が検出した動作IDが「ID11」であり、かつ実行装置101の動作モードが規定動作モードである場合、第1の実施形態と同様に、実行装置101に右手を角度「A1」、速度「A1」で上げる動作を実行させる。
一方、動作変更部505は、検出部502が検出した動作IDが「ID11」であり、かつ実行装置101の動作モードが「パラメータランダム変更モード」である場合、センサ量に応じて規定の動作の駆動パラメータを変更する。例えば、動作変更部505は、図10に示すように、動作ID「ID11」に対応する動作パターン「パターンA1」の駆動パラメータである「角度:A1」、「速度A1」のうち、少なくとも1つの値を、センサ量に応じてランダムに変更する。なお、角度、及び速度は、駆動パラメータの一例である。駆動パラメータには、例えば、規定の動作の遅延時間、回転方向等の様々なパラメータが含まれていても良い。
図11は、第3の実施形態に係る動作パラメータの変更例を示す図である。例えば、動作IDに対応する規定の動作が、図11(a)に示すように、アクチュエータ1101を用いて、駆動対象1102を所定の角度、速度で動かす動作であるものとする。
図11(b)は、動作変更部505が、駆動パラメータの一つである角度を、センサ量に応じてランダムに変更する場合のイメージを示している。この例では、図11(a)に示す規定の動作の動作パターンから逸脱しないように定められた角度Aから角度Bまでの範囲内で、センサ量に対応する角度がランダムに選択されるように、センサ量と角度との関係が定められている。これにより、実行装置101は、検出部502が検出したセンサ量に応じて異なる角度で、駆動対象1102を駆動することができる。
図11(c)は、動作変更部505が、駆動パラメータの一つである速度を、センサ量に応じてランダムに変更する場合のイメージを示している。なお、図11(c)において、速度A、基準、速度Bの矢印の太さは、速度の大きさを示しているものとする。この例では、図11(a)に示す規定の動作の動作パターンから逸脱しないように定められた速度Aから速度Bまでの範囲内で、センサ量に対応する速度がランダムに選択されるように、センサ量と角度との関係が定められている。これにより、実行装置101は、検出部502が検出したセンサ量に応じて異なる速度で、駆動対象1102を駆動することができる。
図11(d)は、動作変更部505が、駆動パラメータの一つである遅延時間を、センサ量に応じてランダムに変更する場合のイメージを示している。ここで、遅延時間は、例えば、図7のステップS708で、センサ量に応じて規定の動作を変更した後、ステップS709で変更された動作の実行を開始するまでの時間であるものとする。この例では、図11(a)に示す規定の動作の動作パターンから逸脱しないように定められた遅延時間0から時間Aまでの範囲内で、センサ量に対応する遅延時間がランダムに選択されるように、センサ量と遅延時間との関係が定められている。これにより、実行装置101は、検出部502が検出したセンサ量に応じて異なる遅延時間で、駆動対象1102の駆動を開始することができる。
図11(e)は、動作変更部505が、駆動パラメータの一つである回転方向を、センサ量に応じてランダムに変更する場合のイメージを示している。ここで、回転方向の「正回転」は、図11(a)に示す規定の動作と同じ回転方向であり、「逆回転」は、図11(e)に示すように、規定の動作とは逆の回転方向であるものとする。この例では、センサ量に対応する回転方向がランダムに選択されるように、センサ量と回転方向との関係が定められている。これにより、実行装置101は、検出部502が検出したセンサ量に応じて異なる回転方向で、駆動対象1102を駆動することができる。
図11(f)は、動作変更部505が、規定の動作で駆動するモータ(アクチュエータの一例)を、センサ量に応じてランダムに変更する場合のイメージを示している。例えば、規定の動作が、モータAを用いて駆動対象1102aの角度を変更する動作であるものとする。この例では、センサ量に対応して選択されるモータA、又はモータBがランダムになるように、センサ量と選択されるモータとの関係が定められている。これにより、実行装置101は、検出部502が検出したセンサ量に応じて異なる駆動対象1102a、1102bを駆動することができる。
[第4の実施形態]
図12は、第4の実施形態に係る動作パラメータの変更例を示す図である。第4の実施形態では、動作変更モードの一例である「パラメータ逐次変更モード」について説明する。
第4の実施形態に係る動作情報511は、図7(a)に示す第1の実施形態に係る動作情報511と同様で良い。
また、実行装置101は、検出部502が検出した動作IDが「ID11」であり、かつ実行装置101の動作モードが規定動作モードである場合、第1の実施形態と同様に、実行装置101に右手を角度「A1」、速度「A1」で上げる動作を実行させる。
一方、動作変更部505は、検出部502が検出した動作IDが「ID11」であり、かつ実行装置101の動作モードが「パラメータ逐次変更モード」である場合、センサ量に応じて逐次的に(連続的に)規定の動作の駆動パラメータを変更する。例えば、動作変更部505は、図10に示すように、動作ID「ID11」に対応する動作パターン「パターンA1」の駆動パラメータである「角度:A1」、「速度A1」のうち、少なくとも1つの値を、センサ量に応じて逐次的に変更する。なお、角度、及び速度は、駆動パラメータの一例である。駆動パラメータには、例えば、規定の動作の遅延時間、回転方向等の様々なパラメータが含まれていても良い。
例えば、動作IDに対応する規定の動作が、図12(a)に示すように、アクチュエータ1101を用いて、駆動対象1102を所定の角度、速度で動かす動作であるものとする。
図12(b)は、動作変更部505が、駆動パラメータの一つである角度を、センサ量に応じて逐次的に変更する場合のイメージを示している。一例として、設定1では、図12(a)に示す規定の動作の動作パターンから逸脱しないように定められた角度Cから角度Dまでの範囲内で、センサ量に対応する角度が逐次的に選択されるように、センサ量と角度との関係が定められている。別の一例として、設定2に示すように、角度C、Dの制限を設けずに、センサ量に対応する角度が逐次的に選択されるように、センサ量と角度との関係が定められていても良い。
ここで、例えば、図13(a)に示す実行装置101aを規定動作モードに設定し、実行装置101bを「パラメータ逐次変更モード」に設定するものとする。これにより、実行装置101bは、検出部502が検出したセンサ量に応じて異なる角度で、駆動対象を駆動することができる。例えば、動作IDに対応する規定の動作が「右手を上げる」である場合、図13(b)に示すように、実行装置101bは、実行装置101aと異なる角度で右手を上げることができるようになる。
図12(c)は、動作変更部505が、駆動パラメータの一つである速度を、センサ量に応じて逐次的に変更する場合のイメージを示している。なお、図12(c)において、速度C、基準、速度Dの矢印の太さは、速度の大きさを示しているものとする。一例として、設定1では、図12(a)に示す規定の動作の動作パターンから逸脱しないように定められた速度Cから速度Dまでの範囲内で、センサ量に対応する速度が逐次的に選択されるように、センサ量と角度との関係が定められている。別の一例として、設定2に示すように、速度C、Dの制限を設けずに、センサ量に対応する速度が逐次的に選択されるように、センサ量と速度との関係が定められていても良い。
ここで、例えば、図13(a)に示す実行装置101aを規定動作モードに設定し、実行装置101bを「パラメータ逐次変更モード」に設定するものとする。これにより、実行装置101bは、検出部502が検出したセンサ量に応じて異なる速度で、駆動対象を駆動することができる。例えば、動作IDに対応する規定の動作が「右手を上げる」である場合、図13(C)に示すように、実行装置101bは、実行装置101aと異なる速度で右手を上げることができるようになる。
図12(d)は、動作変更部505が、駆動パラメータの一つである遅延時間を、センサ量に応じて逐次的に変更する場合のイメージを示している。一例として、設定1では、図12(a)に示す規定の動作の動作パターンから逸脱しないように定められた遅延時間0から時間Bまでの範囲内で、センサ量に対応する遅延時間が逐次的に選択されるように、センサ量と遅延時間との関係が定められている。別の一例として、設定2に示すように、時間Bの制限を設けずに、センサ量に対応する遅延時間が逐次的に選択されるように、センサ量と速度との関係が定められていても良い。
ここで、例えば、図13(a)に示す実行装置101aを規定動作モードに設定し、実行装置101bを「パラメータ逐次変更モード」に設定するものとする。これにより、実行装置101bは、検出部502が検出したセンサ量に応じて異なる遅延時間で、駆動対象の駆動を開始することができる。例えば、動作IDに対応する規定の動作が「右手を上げる」である場合、図13(d)、(e)に示すように、実行装置101bは、実行装置101aと異なるタイミングで右手を上げることができるようになる。
図12(e)は、動作変更部505が、動作の駆動パラメータの一つである回転方向を、センサ量に応じて変更する場合のイメージを示している。この例では、センサ量が所定の値を超えたときに、回転方向が逆回転となるように、センサ量と回転方向との関係が定められている。
ここで、例えば、図13(a)に示す実行装置101aを規定動作モードに設定し、実行装置101bを「パラメータ逐次変更モード」に設定するものとする。これにより、実行装置101bは、検出部502が検出したセンサ量が所定の値を超えると、アクチュエータ1101の回転方向が逆回転に変更される。例えば、動作IDに対応する規定の動作が「首を左に回す」であり、かつセンサ量が所定の値を超えた場合、図13(g)に示すように、実行装置101bは、実行装置101aと異なる方向に首を回すことができるようになる。
図12(f)は、動作変更部505が、規定の動作で駆動するモータを、センサ量に応じて変更する場合のイメージを示している。例えば、規定の動作が、モータAを用いて駆動対象1102aの角度を変更する動作であるものとする。この例では、センサ量が所定の値に満たない場合、モータBを用いて駆動対象1102bが駆動されるように、センサ量と選択されるモータとの関係が定められている。
ここで、例えば、図13(a)に示す実行装置101aを規定動作モードに設定し、実行装置101bを「パラメータ逐次変更モード」に設定するものとする。これにより、実行装置101bは、検出部502が検出したセンサ量が所定の値に満たない場合、モータBを用いて駆動対象1102bが駆動される。例えば、モータAが右手を駆動するアクチュエータ、モータBが左手を駆動するアクチュエータであり、かつセンサ量が所定の値に満たない場合、図13(f)に示すように、実行装置101bは、実行装置101bと異なる手を上げることができるようになる。
<変更処理の流れ>
実行装置101の利用者は、第1~4の実施形態に示した「動作パターンランダム変更モード」、「グループ内変更モード」、「パラメータランダム変更モード」、及び「パラメータ逐次変更モード」を、実行装置101の設定により、選択することができる。
図14は、一実施形態に係る規定の動作を変更する処理の例を示すフローチャートである。この処理は、図7のステップS707、S708において、実行装置101がセンサ量に応じて規定の動作を変更する処理の一例を示している。
ステップS1401において、実行装置101の検知情報取得部504は、実行装置101が備える1つ以上のセンサが検知したセンサ量(検知情報)を取得する。このとき取得するセンサ量は、例えば、図3の赤外線センサ312、照度センサ313、及び加速度センサ314のいずれか1つであっても良いし、2つ以上の組合せであっても良い。2つ以上のセンサ量を組み合わせる場合には、例えば、各センサ量を重み付けして加算し、加算結果を用いても良い。
ステップS1402において、実行装置101の動作変更部505は、実行装置101の動作モードが、第1の実施形態で説明した「動作パターンランダム変更モード」であるか否かを判断する。動作モードが「動作パターンランダム変更モード」である場合、動作変更部505は、処理をステップS1403に移行させる。一方、動作モードが「動作パターンランダム変更モード」でない場合、動作変更部505は、処理をステップS1405に移行させる。
ステップS1403に移行すると、動作変更部505は、第1の実施形態で説明したように、検知情報取得部504が取得したセンサ量に応じて、実行装置101の動作パターンをランダムに決定する。また、ステップS1404において、動作変更部505は、動作IDに対応する規定の動作パターンを、ステップS1403で決定した動作パターンに変更する。
変形例として、ステップS1403において、動作変更部505は、検知情報取得部504が取得したセンサ量によらずに、実行装置101の動作パターンをランダムに決定しても良い。
一方、ステップS1402からステップ1405に移行すると、実行装置101の動作変更部505は、実行装置101の動作モードが、第2の実施形態で説明した「動作パターングループ内変更モード」であるか否かを判断する。動作モードが「動作パターングループ内変更モード」である場合、動作変更部505は、処理をステップS1406に移行させる。一方、動作モードが「動作パターングループ内変更モード」でない場合、動作変更部505は、処理をステップS1407に移行させる。
ステップS1406に移行すると、動作変更部505は、第2の実施形態で説明したように、検知情報取得部504が取得したセンサ量に応じて、実行装置101の動作パターンをグループ内でランダムに決定する。また、ステップS1404において、動作変更部505は、動作IDに対応する規定の動作パターンを、ステップS1406で決定した動作パターンに変更する。
変形例として、ステップS1406において、動作変更部505は、検知情報取得部504が取得したセンサ量によらずに、実行装置101の動作パターンをグループ内でランダムに決定しても良い。
一方、ステップS1405からステップ1407に移行すると、実行装置101の動作変更部505は、実行装置101の動作モードが「パラメータ変更モード」であるか否かを判断する。動作モードが「パラメータ変更モード」である場合、動作変更部505は、処理をステップS1408に移行させる。一方、動作モードが「パラメータ変更モード」でない場合、動作変更部505は、処理を終了させる。
なお、「パラメータ変更モード」には、例えば、第3の実施形態で説明した「パラメータランダム変更モード」と、第4の実施形態で説明した「パラメータ逐次変更モード」とが含まれるものとする。
ステップS1408に移行すると、実行装置101の動作変更部505は、実行装置101の動作モードが、第3の実施形態で説明した「パラメータランダム変更モード」であるか否かを判断する。動作モードが「パラメータランダム変更モード」である場合、動作変更部505は、処理をステップS1409に移行させる。一方、動作モードが「パラメータランダム変更モード」でない場合、動作変更部505は、処理をステップS1411に移行させる。
ステップS1409に移行すると、動作変更部505は、第3の実施形態で説明したように、検知情報取得部504が取得したセンサ量に応じて、動作IDに対応する規定の動作のパラメータをランダムに決定する。また、ステップS1410において、動作変更部505は、動作IDに対応する規定の動作のパラメータを、ステップS1409で決定したパラメータに変更する。
変形例として、ステップS1409において、動作変更部505は、検知情報取得部504が取得したセンサ量によらずに、動作IDに対応する規定の動作のパラメータをランダムに変更しても良い。
一方、ステップS1408からステップS1411に移行すると、動作変更部505は、第4の実施形態で説明したように、検知情報取得部504が取得したセンサ量に応じて、動作IDに対応する規定の動作のパラメータを逐次的に決定する。また、ステップS1410において、動作変更部505は、動作IDに対応する規定の動作のパラメータを、ステップS1411で決定したパラメータに変更する。
なお、図14に示す処理は、実行装置101の規定の動作を変更する処理の一例である。実行装置101の規定の動作を変更する処理は、各変更モードに応じて、処理内容をステップS1403、S1406、S1409、S1411に振り分けることができるものであれば、任意の処理内容、処理順序であって良い。
以上、本発明の各実施形態によれば、出力装置(音波出力装置)102から出力される音波に応じて所定の動作を実行する複数の実行装置101に、音波に応じて互いに異なる動作を実行させることが容易になる。