JP2024076459A - 動作制御装置、動作制御方法、及び、プログラム - Google Patents

動作制御装置、動作制御方法、及び、プログラム Download PDF

Info

Publication number
JP2024076459A
JP2024076459A JP2022187973A JP2022187973A JP2024076459A JP 2024076459 A JP2024076459 A JP 2024076459A JP 2022187973 A JP2022187973 A JP 2022187973A JP 2022187973 A JP2022187973 A JP 2022187973A JP 2024076459 A JP2024076459 A JP 2024076459A
Authority
JP
Japan
Prior art keywords
control unit
robot
operation mode
external stimulus
intimacy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022187973A
Other languages
English (en)
Inventor
浩一 長谷川
Koichi Hasegawa
英里奈 市川
Erina Ichikawa
佳世子 小野田
Kayoko Onoda
幸輝 黛
Koki Mayuzumi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2022187973A priority Critical patent/JP2024076459A/ja
Priority to US18/380,251 priority patent/US20240173636A1/en
Priority to EP23210554.4A priority patent/EP4374944A1/en
Publication of JP2024076459A publication Critical patent/JP2024076459A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H3/00Dolls
    • A63H3/001Dolls simulating physiological processes, e.g. heartbeat, breathing or fever
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H13/00Toy figures with self-moving parts, with or without movement of the toy as a whole
    • A63H13/005Toy figures with self-moving parts, with or without movement of the toy as a whole with self-moving head or facial features
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H13/00Toy figures with self-moving parts, with or without movement of the toy as a whole
    • A63H13/02Toy figures with self-moving parts, with or without movement of the toy as a whole imitating natural actions, e.g. catching a mouse by a cat, the kicking of an animal
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H29/00Drive mechanisms for toys in general
    • A63H29/22Electric drives
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H2200/00Computerized interactive toys, e.g. dolls

Landscapes

  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Physiology (AREA)
  • Pulmonology (AREA)
  • Toys (AREA)
  • Manipulator (AREA)

Abstract

【課題】動作を実行する装置とこの装置に対し外部刺激を与えた対象との関係を考慮した動作を行なわせる。【解決手段】ロボット200(被制御装置)の動作を制御する動作制御装置100は、外部刺激を取得し、外部刺激に応じた動作を実行するとき、外部刺激を与えた対象とロボット200との親密度に基づいて、異なる動作内容を実行するよう制御する、制御部110を備える、ことを特徴とする。【選択図】図4

Description

本発明は、動作制御装置、動作制御方法、及び、プログラムに関する。
従来から様々なロボットが開発されてきているが、近年は産業用ロボットだけでなく、ペットロボットのような民生用のロボットの開発も進んでいる。例えば、特許文献1には、圧力センサを備えたロボット装置において、検出した圧力検出信号のパターンにより接触した人物が予め登録しておいた使用者であるか否かを判定するロボット装置が開示されている。
特開2001-157985号公報
特許文献1に開示されているロボット装置は、圧力センサから検出された圧力検出信号のパターンに基づいて、撫でた者が使用者であるか否かを判定する。しかしながら上記特許文献1における使用者とは、予め圧力検出信号のパターンが登録された人物であって、ロボット装置との親密度に基づいた人物であるとは限らない。このため、使用者との関係に基づいた動作を行うよう制御することが難しいという問題があった。
本発明はこのような事情に鑑みてなされたものであって、動作を実行する装置とこの装置に対し外部刺激を与えた対象との関係を考慮した動作を行なわせることができるようにすることを目的とする。
前記目的を達成するため、本発明に係る動作制御装置の一様態は、
被制御装置の動作を制御する動作制御装置であって、
外部刺激を取得し、
前記外部刺激に応じた動作を実行するとき、前記外部刺激を与えた対象と前記被制御装置との親密度に基づいて、異なる動作内容を実行するよう制御する、
制御部を備える、
ことを特徴とする。
本発明によれば、動作を実行する装置とこの装置に対し外部刺激を与えた対象との関係を考慮した動作を行なわせることができる。
実施形態1に係るロボットの外観を示す図である。 実施形態1に係るロボットの側面から見た断面図である。 実施形態1に係るロボットの筐体を説明するための図である。 実施形態1に係るロボットの機能構成を示すブロック図である。 実施形態1に係る動作モード設定テーブルの一例を説明する図である。 実施形態1に係る感情マップの一例を説明する図である。 実施形態1に係る成長テーブルの一例を説明する図である。 実施形態1に係る動作内容テーブルの一例を説明する図である。 実施形態1に係る動作制御処理のフローチャートである。 実施形態1に係るマイク入力処理のフローチャートである。 実施形態1に係る音声バッファの一例を示す図である。 実施形態1に係る音声履歴との類似度判定処理のフローチャートである。 実施形態1に係る動作モード設定処理のフローチャートである。 実施形態1に係る通常動作モード処理のフローチャートである。 実施形態1に係る懐き動作モード処理のフローチャートである。 実施形態1に係るタッチ応答懐き動作処理のフローチャートである。 実施形態1に係る音声応答懐き動作処理のフローチャートである。 実施形態1に係る大音応答懐き動作処理のフローチャートである。
以下、本発明の実施形態について、図面を参照して説明する。なお、図中同一又は相当部分には同一符号を付す。
(実施形態1)
実施形態1に係る動作制御装置を図1に示すロボット200に適用した実施形態について、図面を参照して説明する。図1に示すように、実施形態に係るロボット200は、小型の動物を模したペットロボットであり、目を模した装飾部品202及びふさふさの毛203を備えた外装201に覆われている。また、外装201の中には、ロボット200の筐体207が収納されている。図2に示すように、ロボット200の筐体207は、頭部204、連結部205及び胴体部206で構成され、頭部204と胴体部206とが連結部205で連結されている。
胴体部206は、図2に示すように、胴体部206の前端部にひねりモータ221が備えられており、頭部204が連結部205を介して胴体部206の前端部に連結されている。そして、連結部205には、上下モータ222が備えられている。なお、図2では、ひねりモータ221は胴体部206に備えられているが、連結部205に備えられていてもよいし、頭部204に備えられていてもよい。
連結部205は、連結部205を通り胴体部206の前後方向に延びる第1回転軸を中心として(ひねりモータ221により)回転自在に、胴体部206と頭部204とを連結している。ひねりモータ221は、頭部204を、胴体部206に対して、第1回転軸を中心として時計回り(右回り)に正転角度範囲内で回転(正転)させたり、反時計回り(左回り)に逆転角度範囲内で回転(逆転)させたりする。なお、この説明における時計回りは、胴体部206から頭部204の方向を見た時の時計回りである。右方(右回り)又は左方(左回り)にひねり回転させる角度の最大値は任意であるが、図3に示すように、頭部204を右方へも左方へもひねっていない状態における頭部204の角度をひねり基準角度という。
また、連結部205は、連結部205を通り胴体部206の幅方向に延びる第2回転軸を中心として(上下モータ222により)回転自在に、胴体部206と頭部204とを連結する。上下モータ222は、頭部204を、第2回転軸を中心として上方に正転角度範囲内で回転(正転)させたり、下方に逆転角度範囲内で回転(逆転)させたりする。上方又は下方に回転させる角度の最大値は任意であるが、図3に示すように、頭部204を上方にも下方にも回転させていない状態における頭部204の角度を上下基準角度という。なお、図2では、第1回転軸と第2回転軸とが互いに直交している例が示されているが、第1及び第2回転軸は互いに直交していなくてもよい。
また、ロボット200は、タッチセンサ211を備え、ユーザがロボット200を撫でたり叩いたりしたことを検出することができる。より詳細には、図2に示すように、頭部204にタッチセンサ211Hを備え、ユーザが頭部204を撫でたり叩いたりしたことを検出することができる。また、図2及び図3に示すように、胴体部206の左側面の前後にそれぞれタッチセンサ211LF及びタッチセンサ211LRを、胴体部206の右側面の前後にそれぞれタッチセンサ211RF及びタッチセンサ211RRを備え、ユーザが胴体部206を撫でたり叩いたりしたことを検出することができる。
また、ロボット200は、胴体部206に加速度センサ212を備え、ロボット200の姿勢(向き)の検出や、ユーザによって持ち上げられたり、向きを変えられたり、投げられたりしたことを検出することができる。また、ロボット200は、胴体部206にジャイロセンサ213を備え、ロボット200が振動したり転がったり回転したりしていることを検出することができる。
また、ロボット200は、胴体部206にマイクロフォン214を備え、外部の音を検出することができる。さらに、ロボット200は、胴体部206にスピーカ231を備え、スピーカ231を用いて鳴き声を発したり、歌を歌ったりすることができる。
なお、本実施形態では加速度センサ212、ジャイロセンサ213、マイクロフォン214及びスピーカ231が胴体部206に備えられているが、これらの全て又は一部が頭部204に備えられていてもよい。また、胴体部206に備えられた加速度センサ212、ジャイロセンサ213、マイクロフォン214及びスピーカ231に加えて、これらの全て又は一部を頭部204にも備えるようにしてもよい。また、タッチセンサ211は、頭部204及び胴体部206にそれぞれ備えられているが、頭部204又は胴体部206のいずれか片方のみに備えられていてもよい。またこれらはいずれも複数備えられていてもよい。
次に、ロボット200の機能構成について説明する。ロボット200は、図4に示すように、動作制御装置100と、センサ部210と、駆動部220と、音声出力部230と、操作入力部240と、を備える。そして、動作制御装置100は、制御部110と、記憶部120と、通信部130と、を備える。図4では、動作制御装置100と、センサ部210、駆動部220、音声出力部230及び操作入力部240とが、バスラインBLを介して接続されているが、これは一例である。動作制御装置100と、センサ部210、駆動部220、音声出力部230及び操作入力部240とは、USB(Universal Serial Bus)ケーブル等の有線インタフェースや、Bluetooth(登録商標)等の無線インタフェースで接続されていてもよい。また、制御部110と記憶部120や通信部130とは、バスラインBLを介して接続されていてもよい。
動作制御装置100は、制御部110及び記憶部120により、ロボット200の動作を制御する。なお、ロボット200は、動作制御装置100によって制御される装置なので、被制御装置とも呼ばれる。
制御部110は、例えば、CPU(Central Processing Unit)等で構成され、記憶部120に記憶されたプログラムにより、後述する各種処理を実行する。なお、制御部110は、複数の処理を並行して実行するマルチスレッド機能に対応しているため、後述する各種処理を並行に実行することができる。また、制御部110は、クロック機能やタイマー機能も備えており、日時等を計時することができる。
記憶部120は、ROM(Read Only Memory)、フラッシュメモリ、RAM(Random Access Memory)等で構成される。ROMには、制御部110のCPUが実行するプログラム及びプログラムを実行する上で予め必要なデータが、記憶されている。フラッシュメモリは書き込み可能な不揮発性のメモリであり、電源OFF後も保存させておきたいデータが記憶される。RAMには、プログラム実行中に作成されたり変更されたりするデータが記憶される。記憶部120は、例えば後述する音声履歴、感情データ121、感情変化データ122、成長テーブル123、動作モード設定テーブル126、音声バッファ127等を記憶する。
通信部130は、無線LAN(Local Area Network)、Bluetooth(登録商標)等に対応した通信モジュールを備え、スマートフォン等の外部装置とデータ通信する。
センサ部210は、前述したタッチセンサ211、加速度センサ212、ジャイロセンサ213、及びマイクロフォン214を備える。制御部110は、センサ部210が備える各種センサが検出した検出値を、ロボット200に作用する外部刺激を表す外部刺激データとして、取得する。なお、センサ部210は、タッチセンサ211、加速度センサ212、ジャイロセンサ213、マイクロフォン214以外のセンサを備えてもよい。センサ部210が備えるセンサの種類を増やすことにより、制御部110が取得できる外部刺激の種類を増やすことができる。
タッチセンサ211は、何らかの物体が接触したことを検出する。タッチセンサ211は、例えば圧力センサや静電容量センサにより構成される。制御部110は、タッチセンサ211からの検出値に基づいて、接触強度や接触時間を取得し、これらの値に基づいて、ユーザによってロボット200が撫でられていることや、叩かれたりしていること等の外部刺激を検出することができる(例えば特開2019-217122号公報を参照)。なお、制御部110は、これらの外部刺激をタッチセンサ211以外のセンサで検出してもよい(例えば特許第6575637号公報を参照)。
加速度センサ212は、ロボット200の胴体部206の前後方向(X軸方向)、幅(左右)方向(Y軸方向)及び上下方向(Z軸方向)から成る3軸方向の加速度を検出する。加速度センサ212は、ロボット200が静止しているときには重力加速度を検出するので、制御部110は、加速度センサ212が検出した重力加速度に基づいて、ロボット200の現在の姿勢を検出することができる。また、例えばユーザがロボット200を持ち上げたり投げたりした場合には、加速度センサ212は、重力加速度に加えてロボット200の移動に伴う加速度を検出する。したがって、制御部110は、加速度センサ212が検出した検出値から重力加速度の成分を除去することにより、ロボット200の動きを検出することができる。
ジャイロセンサ213は、ロボット200の3軸の角速度を検出する。3軸の角速度から、制御部110は、ロボット200の回転の状態を判定できる。また、3軸の角速度の最大値から、制御部110は、ロボット200の振動の状態を判定することができる。
マイクロフォン214は、ロボット200の周囲の音を検出する。制御部110は、マイクロフォン214が検出した音の成分に基づき、例えばユーザがロボット200に呼びかけていることや、手を叩いていること等を検出することができる。
具体的には、制御部110は、マイクロフォン214から取得した音データを規定のサンプリング周波数(本実施形態では16,384Hz)及び量子化ビット数(本実施形態では16ビット)でサンプリングし、記憶部120の音声バッファ127に保存する。本実施形態では音声バッファ127は、512サンプルのサンプリングデータが含まれるバッファ(格納領域)が16個連続したものとして構成される。すなわち、図11に図示するように連続する16個のバッファ(格納領域)1270~1285を1つの単位として音声の類似度を判定する。また、本実施形態では、この連続する16個のバッファを、バッファ1270ならbuf[0]、バッファ1285ならbuf[15]といった配列変数で表すこととする。この16個のバッファにより512サンプル×16個/16384Hz=0.5秒の音データが格納されることになる。
なお、制御部110がマイクロフォン214から取得した音データを音声バッファ127に保存する処理は、音声バッファ保存スレッドとして、他の処理とは並行に実行されているものとする。また、本実施形態では、後述する音声特徴パラメータ算出処理で、制御部110は、1つのバッファ中の512サンプルのサンプリングデータから、3つのケプストラム情報を算出する処理を、16個のバッファ1270~1285について行う。これによって得られる48(=3×16)個のデータを、制御部110は、48次元の音声特徴パラメータとして扱う。
この音声特徴パラメータは記憶部120に、先入れ先出し(FIFO)方式で履歴保存数(例えば256個)記憶される。本実施形態では、音声特徴パラメータを記憶するFIFOをVFIFOと呼び、VFIFOに保存されている音声特徴パラメータの個数はVFIFO_SIZEという変数に保存されているものとする。VFIFOは、音声特徴パラメータの履歴が記憶されるので、音声履歴とも呼ばれる。
図4に戻り、駆動部220は、ひねりモータ221及び上下モータ222を備え、制御部110によって駆動される。制御部110が駆動部220を制御することにより、ロボット200は、例えば頭部204を持ち上げたり(第2回転軸を中心として上方に回転させたり)、横にひねったり(第1回転軸を中心として右方又は左方にひねり回転させたり)するような動作を表現することができる。これらの動作を行うための動作制御データは、記憶部120に記録されており、検出した外部刺激や後述する成長値等に基づいて、ロボット200の動作が制御される。
音声出力部230は、スピーカ231を備え、制御部110が音のデータを音声出力部230に入力することにより、スピーカ231から音が出力される。例えば、制御部110がロボット200の鳴き声のデータを音声出力部230に入力することにより、ロボット200は疑似的な鳴き声を発する。この鳴き声のデータも、記憶部120に記録されており、検出した外部刺激や後述する成長値等に基づいて鳴き声が選択される。
操作入力部240は、例えば、操作ボタン、ボリュームつまみ等から構成される。操作入力部240は、ユーザ(所有者や被貸与者)による操作、例えば、電源ON/OFF、出力音のボリューム調整等を受け付けるためのインタフェースである。なお、ロボット200は生き物感をより高めるために、操作入力部240として電源スイッチのみを外装201の内側に備え、それ以外の操作ボタンやボリュームつまみ等を備えなくてもよい。この場合でも、通信部130を介して接続した外部のスマートフォン等を用いてロボット200のボリューム調整等の操作を行うことができる。
以上、ロボット200の機能構成について説明した。次に、動作制御装置100の制御部110が設定するロボット200の動作モードについて説明する。本実施形態では、ロボット200は動作モードとして、通常動作モードと懐き動作モードの2種類の動作モードを有している。ロボット200は、通常は通常動作モードで動作するが、ロボット200と親密度の高い人(飼い主、いつもお世話してくれる人等、ロボット200と親密な人)が呼びかけると上記の通常動作モードから懐き動作モードに移行し、一定の時間懐き動作モードで動作する。なお、懐き動作モードは、ロボット200と親密な人が近くにいる場合に移行する動作モードなので、親密動作モードとも呼ばれる。
通常動作モードは、ロボット200とロボット200の近くにいるユーザとの親密度とは無関係に、外部から受け取った刺激(音やタッチ等)や、その時の感情等に基づいて予め用意された動作を行う動作モードである。通常動作モードでは、ロボット200は、例えば、大きな音を聞いたら驚く動作を行い、撫でられたら喜ぶ動作を行う。
懐き動作モードは、ロボット200とロボット200の近くに存在するユーザの尤度(確度)に基づいて、近くにいるユーザはロボット200に対し親密度の高い人と判定された場合に上記の通常動作モードから遷移し、一定時間だけ設定される動作モードである。懐き動作モードでは、ロボット200は近くにいるユーザと親密度に応じて遊ぶ(じゃれ合う)動作を行う。
具体的には、音声による動作モード設定については、図5に示す動作モード設定テーブル126に従い、取得した音声の音声特徴パラメータと音声履歴との類似度によって認識レベルを判定し、通常動作モードと懐き動作モード(3分間、4分間、5分間)との何れかの動作モードが設定される。具体的には取得した音声の音声特徴パラメータと音声履歴との類似度が(所定の閾値より)低ければ、制御部110は、動作モード設定テーブル126に従い、呼びかけてくれた人との親密度は低い(すなわちその人は「いつもお世話してくれる人」ではない)と判定して、通常動作モードに設定する。
取得した音声の音声特徴パラメータと音声履歴との類似度が(所定の閾値より)高ければ、制御部110は、動作モード設定テーブル126に従い、呼びかけてくれた人との親密度は高い(すなわちその人は「いつもお世話してくれる人」である)と判定する。そして、制御部110は、その類似度の高さに応じた尤度(「絶対に」又は「多分」又は「もしかしたら」という確度)でその人を「いつもお世話してくれる人」と認識して、尤度に応じた懐き時間の間、懐き動作モードに設定する。例えば類似度が非常に高ければ、懐き時間として第1懐き時間(例えば5分間)が設定され、類似度が高ければ、懐き時間として第2懐き時間(例えば4分間)が設定され、類似度が中位なら、懐き時間として第3懐き時間(例えば3分間)が設定される。
また、本実施形態では、動作モードの設定は音声の類似度によって行われるが、動作モードの設定は音声の類似度によるものに限定されない。例えば、撫で方が過去の履歴と類似している場合に懐き動作モードに設定してもよい。また、音声と撫で方の両方を用いて、両方とも類似度が高い場合の懐き動作モード、音声履歴の類似度のみ高い場合の懐き動作モード、タッチ履歴の類似度が高い場合の懐き動作モード、をそれぞれ規定してもよい(なお、撫で方が過去の履歴と類似しているか否かの判定方法については、例えば、特願2021-158663号を参照)。
また、制御部110は、履歴との類似度が高い場合に、必ずロボット200を懐き動作モードに設定するのではなく、ある確率(例えばロボット200の成長度合い(後述する成長値)に応じた確率)で懐き動作モードに設定するようにしてもよい。また、履歴との類似度が高いにも関わらずロボット200に懐き動作モードが設定されなかった場合には、例えば特願2021-158663号に記載されている懐き動作(ロボット200の近くにいる人が飼い主又はいつもお世話してくれる人であると認識した場合の動作)がある確率で設定されるようにしてもよい。
次に、記憶部120に記憶されるデータのうち、成長値等に基づいて決定される一般動作を決定するために必要なデータである、感情データ121、感情変化データ122、成長テーブル123、動作内容テーブル124及び成長日数データ125について、順に説明する。本実施形態の通常動作モードでは、ここで説明する一般動作が行われる。
感情データ121は、ロボット200に疑似的な感情を持たせるためのデータであり、感情マップ300上の座標を示すデータ(X,Y)である。感情マップ300は図6に示すように、X軸311として安心度(不安度)の軸、Y軸312として興奮度(無気力度)の軸を持つ2次元の座標系で表される。感情マップ上の原点310(0,0)が通常時の感情を表す。そして、X座標の値(X値)が正でその絶対値が大きくなるほど安心度が高く、Y座標の値(Y値)が正でその絶対値が大きくなるほど興奮度が高い感情を表す。また、X値が負でその絶対値が大きくなるほど不安度が高く、Y値が負でその絶対値が大きくなるほど無気力度が高い感情を表す。なお、図6では感情マップ300が2次元の座標系で表されているが、感情マップ300の次元数は任意である。
本実施形態においては、感情マップ300の初期値としてのサイズは、図6の枠301に示すように、X値もY値も最大値が100、最小値が-100となっている。そして、第1期間の間、ロボット200の疑似的な成長日数が1日増える度に、感情マップ300の最大値、最小値ともに2ずつ拡大されていく。ここで第1期間とは、ロボット200が疑似的に成長する期間であり、ロボット200の疑似的な生誕から例えば50日の期間である。なお、ロボット200の疑似的な生誕とは、ロボット200の工場出荷後のユーザによる初回の起動時である。成長日数が25日になると、図6の枠302に示すように、X値もY値も最大値が150、最小値が-150となる。そして、第1期間(この例では50日)が経過すると、それにより、ロボット200の疑似的な成長が完了したとして、図6の枠303に示すように、X値もY値も最大値が200、最小値が-200となって、感情マップ300のサイズが固定される。
感情変化データ122は、感情データ121のX値及びY値の各々を増減させる変化量を設定するデータである。本実施形態では、感情データ121のXに対応する感情変化データ122として、X値を増加させるDXPと、X値を減少させるDXMとがあり、感情データ121のY値に対応する感情変化データ122として、Y値を増加させるDYPと、Y値を減少させるDYMとがある。すなわち、感情変化データ122は、以下の4つの変数からなり、ロボット200の疑似的な感情を変化させる度合いを示すデータである。
DXP:安心し易さ(感情マップでのX値のプラス方向への変化し易さ)
DXM:不安になり易さ(感情マップでのX値のマイナス方向への変化し易さ)
DYP:興奮し易さ(感情マップでのY値のプラス方向への変化し易さ)
DYM:無気力になり易さ(感情マップでのY値のマイナス方向への変化し易さ)
本実施形態では、一例として、これらの変数の初期値をいずれも10とし、後述する動作制御処理の中の感情変化データ122を学習する処理により、最大20まで増加するものとしている。この学習処理により、感情変化データ122、すなわち感情の変化度合いが変化するので、ロボット200は、ユーザによるロボット200との接し方に応じて、様々な性格を持つことになる。つまり、ロボット200の性格は、ユーザの接し方により、個々に異なって形成されることになる。
そこで、本実施形態では、各感情変化データ122から10を減算することにより、各性格データ(性格値)を導出する。すなわち、安心し易さを示すDXPから10引いた値を性格値(陽気)とし、不安になり易さを示すDXMから10引いた値を性格値(シャイ)とし、興奮し易さを示すDYPから10引いた値を性格値(活発)とし、無気力になり易さを示すDYMから10引いた値を性格値(甘えん坊)とする。
各性格値の初期値は0であり、ロボット200が成長するにつれて、センサ部210で検出された外部刺激等(ユーザのロボット200への接し方)によって、各性格値が10を上限として変化する。本実施形態のように4つの性格値が0から10まで変化する場合には、11の4乗=14641通りの性格を表現できることになる。
また、本実施形態では、ロボット200の疑似的な成長度合いを示す成長度合いデータ(成長値)として、これら4つの性格値の中で、最も大きい値を用いる。そして、制御部110は、ロボット200の疑似的な成長につれて(成長値が大きくなるにつれて)、ロボット200の動作内容にバリエーションが生じるように制御する。このために制御部110が用いるデータが成長テーブル123である。
図7に示すように、成長テーブル123には、センサ部210で検出された外部刺激等の動作トリガーに応じてロボット200が行う動作の種類と、成長値に応じて各動作が選択される確率(以下「動作選択確率」という)とが、記録されている。なお、動作トリガーとは、ロボット200が何らかの動作を行うきっかけとなった外部刺激等の情報である。
例えば、ロボット200の現在の性格値として、性格値(陽気)が3、性格値(活発)が8、性格値(シャイ)が5、性格値(甘えん坊)が4であり、マイクロフォン214で大きな音を検出した場合を想定する。この場合、成長値は4つの性格値の中の最大値である8となり、動作トリガーは「大きな音がする」となる。そして、図7に示す成長テーブル123で、動作トリガーが「大きな音がする」で成長値が8の項目を参照すると、動作選択確率は、「基本動作2-0」が20%、「基本動作2-1」が20%、「基本動作2-2」が40%、「性格動作2-0」が20%であることがわかる。
つまり、この場合は、「基本動作2-0」が20%、「基本動作2-1」が20%、「基本動作2-2」が40%、「性格動作2-0」が20%の確率で選択される。そして、「性格動作2-0」が選択された場合は、4つの性格値に応じて、図8に示すような4種類の性格動作のいずれかの選択がさらに行われる。そして、ロボット200はここで選択された動作を実行する。
なお、本実施形態における成長テーブル123(図7)では、各動作トリガーに対して選択される性格動作を1つとしているが、基本動作と同様に、性格値の増加に応じて、選択される性格動作の種類を増加させてもよい。また、本実施形態では、通常動作モード時の動作を規定するための成長テーブル123(図7)のみを規定しているが、懐き動作モード時の動作を規定するための成長テーブルを別途規定してもよい。また、成長テーブル123(図7)の内容に図5の内容も統合して、動作種類の中に通常動作モード時の動作だけでなく、懐き動作モード時の動作も含めて規定した成長テーブルを設定してもよい。
また、成長テーブル123は、動作トリガー毎に、成長値を引数として各動作種類の動作選択確率を返す関数(成長関数)として定義できればその形態は任意であり、必ずしも図7に示すような表形式のデータである必要はない。
動作内容テーブル124は、図8に示すように、成長テーブル123で規定された各動作種類の具体的な動作内容が記録されたテーブルであり、性格動作については、性格の種類毎に動作内容が規定されている。なお、動作内容テーブル124は必須のデータではない。例えば、成長テーブル123の動作種類の項目に、具体的な動作内容を直接記録する形で成長テーブル123を構成すれば、動作内容テーブル124は不要である。
成長日数データ125は、初期値が1であり、1日経過する度に1ずつ加算されていく。成長日数データ125により、ロボット200の疑似的な成長日数(疑似的な生誕からの日数)が表されることになる。本実施形態では、成長日数データ125で表される成長日数の期間を、第2期間と呼ぶことにする。
次に、図9に示すフローチャートを参照しながら、動作制御装置100の制御部110が実行する動作制御処理について説明する。動作制御処理は、制御部110が、センサ部210からの検出値等に基づいて、ロボット200の動作(動きや鳴き声等)を制御する処理である。ユーザがロボット200の電源を入れると、他の必要な処理と並行に、この動作制御処理のスレッドが実行開始される。動作制御処理により、駆動部220や音声出力部230が制御され、ロボット200の動きが表現されたり、鳴き声等の音が出力されたりする。
まず、制御部110は、感情データ121、感情変化データ122、成長日数データ125等の各種データを初期化処理する(ステップS101)。本実施形態で用いる各種変数(BigSound_Flag,TalkSound_Flag,Talk絶対_Flag,Talk多分_Flag,Talkもしかして_Flag,Touch_Flag等)もステップS101でOFF又は0に初期化される。また、制御部110は、ステップS101で動作モードを通常動作モードに設定する。
そして、制御部110は、マイクロフォン214から対象(ユーザ)からの外部刺激(音声)を取得するためのマイク入力処理を実行する(ステップS102)。次に、制御部110は、動作モードを設定するための動作モード設定処理を実行する(ステップS103)。動作モード設定処理の詳細は後述するが、主に、ステップS102で取得された外部刺激と過去の履歴との類似度に基づいて、動作モードを、図5に示す動作モード設定テーブル126に示した通常動作モード又は懐き動作モードに設定する処理である。
そして、制御部110は、タッチセンサ211や加速度センサ212からの外部刺激を取得するためのタッチ入力処理を実行する(ステップS104)。タッチ入力処理では、タッチされたり加速度や角速度の変化があったりした場合に、制御部110がTouch_FlagをONにし、タッチ特徴パラメータを算出し、過去のタッチ特徴パラメータの履歴であるタッチ履歴との類似度に基づいて、外部刺激を与えた対象(ユーザ)との親密さを判定する(タッチ入力処理の詳細は特願2021-158663号を参照)。
なお、本実施形態では説明を分かり易くするためにマイク入力処理とタッチ入力処理とを別々の処理として説明しているが、1つの処理(外部入力処理)として、センサ部210が備える各種センサから外部刺激を取得して外部刺激を与えた対象(ユーザ)との親密さを判定する処理を実行してもよい。また、本実施形態では、動作モード設定処理をステップS103で実行しているが、タッチ入力処理の後、又は外部入力処理の後に実行することにより、音声以外の外部入力も考慮して動作モードを設定するようにしてもよい。
そして、制御部110は、センサ部210で外部刺激が取得されたか否かを判定する(ステップS105)。例えば、音声による外部刺激を検出すると上述のマイク入力処理により、BigSound_Flag(大きな音を検出した場合にオンするフラグ)又はTalkSound_Flag(人の話し声を検出した場合にオンするフラグ)がONになるので、これらのフラグ変数の値に基づいて、制御部110は、ステップS105における外部刺激の取得の有無の判定が可能になる。
外部刺激が取得されたと判定された場合(ステップS105;Yes)、制御部110は、マイク入力処理及びタッチ入力処理で取得された外部刺激に応じて、感情データ121に加算又は減算する感情変化データ122を取得する(ステップS106)。例えば、外部刺激として頭部204が撫でられたことを検出すると、ロボット200は疑似的な安心感を得るので、制御部110は、感情データ121のX値に加算する感情変化データ122としてDXPを取得する。
そして、制御部110は、ステップS106で取得された感情変化データ122に応じて感情データ121を設定する(ステップS107)。例えば、ステップS106で感情変化データ122としてDXPが取得されていたなら、制御部110は、感情データ121のX値に感情変化データ122のDXPを加算する。ただし、感情変化データ122を加算すると感情データ121の値(X値、Y値)が感情マップ300の最大値を超える場合には、感情データ121の値は感情マップ300の最大値に設定される。また、感情変化データ122を減算すると感情データ121の値が感情マップ300の最小値未満になる場合には、感情データ121の値は感情マップ300の最小値に設定される。
ステップS106及びステップS107において、外部刺激の各々に対して、どのような感情変化データ122が取得されて、感情データ121が設定されるかは任意に設定可能であるが、ここでは、以下に一例を示す。
頭部204を撫でられる(安心する):X=X+DXP
頭部204を叩かれる(不安になる):X=X-DXM
(これらの外部刺激は頭部204のタッチセンサ211Hで検出可能)
胴体部206を撫でられる(興奮する):Y=Y+DYP
胴体部206を叩かれる(無気力になる):Y=Y-DYM
(これらの外部刺激は胴体部206のタッチセンサ211で検出可能)
頭を上にして抱かれる(喜ぶ):X=X+DXP及びY=Y+DYP
頭を下にして宙づりにされる(悲しむ):X=X-DXM及びY=Y-DYM
(これらの外部刺激はタッチセンサ211及び加速度センサ212で検出可能)
優しい声で呼びかけられる(平穏になる):X=X+DXP及びY=Y-DYM
大きな声で怒鳴られる(イライラする):X=X-DXM及びY=Y+DYP
(これらの外部刺激はマイクロフォン214で検出可能)
そして、制御部110は、現在の動作モードが通常動作モードか懐き動作モードかの何れかであるか否かを判定する(ステップS108)。現在の動作モードが通常動作モードであると判定した場合(ステップS108;通常動作モード)、制御部110は、後述する通常動作モード処理を実行し(ステップS112)、ステップS115に進む。
現在の動作モードが懐き動作モードであると判定した場合(ステップS108;懐き動作モード)、制御部110は、後述する懐き動作モード処理を実行する(ステップS109)。そして、制御部110は、ステップS103の動作モード設定処理で設定された懐き動作時間(懐き動作モードの開始から設定される所定の時間)を経過したか否かを判定する(ステップS110)。懐き動作時間を経過していないなら(ステップS110;No)、ステップS115に進む。
懐き動作時間を経過していると判定した場合(ステップS110;Yes)、制御部110は、動作モードを通常動作モードに設定し(ステップS111)、ステップS115に進む。
一方、ステップS105で外部刺激が取得されなかったと判定した場合(ステップS105;No)、制御部110は、ひねりモータ221、及び上下モータ222をある一定のリズムで周期的に駆動させることでロボット200が呼吸をしているように見せる呼吸動作等の自発的な動作を行うか否かを判定する(ステップS113)。自発的な動作を行うか否かの判定方法は任意だが、本実施形態では、呼吸周期(例えば2秒)毎にステップS113での判定がYesになり、呼吸動作が行われるものとする。
自発的な動作を行うと判定した場合(ステップS113;Yes)、制御部110は、自発的な動作(例えば呼吸動作)を実行し(ステップS114)、ステップS115に進む。
自発的な動作を行わないと判定した場合(ステップS113;No)、制御部110は、内蔵するクロック機能により、日付が変わったか否かを判定する(ステップS115)。日付が変わっていないと判定した場合(ステップS115;No)、制御部110はステップS102に戻る。
一方、日付が変わったと判定した場合(ステップS115;Yes)、制御部110は、第1期間中であるか否かを判定する(ステップS116)。第1期間を、ロボット200の疑似的な生誕(例えば購入後のユーザによる初回の起動時)から例えば50日の期間とすると、制御部110は、成長日数データ125が50以下なら第1期間中であると判定する。第1期間中でないと判定した場合(ステップS116;No)、制御部110は、ステップS118に進む。
第1期間中であると判定した場合(ステップS116;Yes)、制御部110は、感情変化データ122の学習処理を実行し、感情マップを拡大する(ステップS117)。感情変化データ122の学習処理とは、具体的には、その日のステップS107において、感情データ121のX値が1度でも感情マップ300の最大値に設定されたなら感情変化データ122のDXPに1を加算し、感情データ121のY値が1度でも感情マップ300の最大値に設定されたなら感情変化データ122のDYPに1を加算し、感情データ121のX値が1度でも感情マップ300の最小値に設定されたなら感情変化データ122のDXMに1を加算し、感情データ121のY値が1度でも感情マップ300の最小値に設定されたなら感情変化データ122のDYMに1を加算することによって、感情変化データ122を更新する処理である。
ただし、感情変化データ122の各値が大きくなりすぎると、感情データ121の1回の変化量が大きくなりすぎるので、感情変化データ122の各値は例えば20を最大値とし、それ以下に制限する。また、ここでは、感情変化データ122のいずれに対しても1を加算することとしたが、加算する値は1に限定されない。例えば、感情データ121の各値が感情マップ300の最大値又は最小値に設定された回数をカウントして、その回数が多い場合には、感情変化データ122に加算する数値を増やすようにしてもよい。
また、図9のステップS117での感情マップの拡大とは、具体的には、制御部110が、感情マップ300を最大値、最小値ともに、2だけ拡大する処理である。ただし、この拡大する数値「2」はあくまでも一例であり、3以上拡大してもよいし、1だけ拡大してもよい。また感情マップ300の軸毎、また最大値と最小値とで、拡大する数値が同じでなくてもよい。
そして、制御部110は、成長日数データ125に1を加算し、感情データ121をX値、Y値ともに0に初期化して(ステップS118)、ステップS102に戻る。
次に、上述の動作制御処理のステップS102で実行されるマイク入力処理について、図10、図11を参照して説明する。
まず、制御部110は、音声バッファ127に入っている、マイク入力処理により取得された音声のサンプリングデータの最大レベルを変数MLに代入する(ステップS201)。そして、制御部110は、変数MLの値がBigSoundThよりも大きいか否かを判定する(ステップS202)。なお、BigSoundThは、これよりも大きい音に対してはロボット200が驚く動作を行う値(大音閾値)である。変数MLがBigSoundThよりも大きいと判定した場合(ステップS202;Yes)、制御部110は、大きな音が入力されたことを示す変数BigSound_FlagをONにして(ステップS203)、マイク入力処理を終了し、動作制御処理のステップS103に進む。
一方、変数MLがBigSoundThより大きくないと判定した場合(ステップS202;No)、制御部110は、変数MLの値がTalkSoundThよりも大きいか否かを判定する。なお、TalkSoundThは、これ以下の音ならロボット200は話し声として聞き取ることができない値(話声閾値)である。変数MLがTalkSoundThより大きくないと判定した場合(ステップS204;No)、制御部110は、マイク入力処理を終了し、動作制御処理のステップS103に進む。
一方、変数MLがTalkSoundThより大きいと判定した場合(ステップS204;Yes)、制御部110は、音声バッファ127において、音データを保存したバッファ数が基準数(ここではバッファ1270~1285の16個)未満か否かを判定する(ステップS205)。バッファ数が基準数未満と判定した場合(ステップS205;Yes)、制御部110はステップS205に戻り、基準数個のバッファの保存を継続する。
一方、音データを保存したバッファ数が基準数に達したと判定した場合(ステップS205;No)、制御部110は、基準数のバッファに保存された音がノイズであるか否かを判定する(ステップS206)。ノイズであるか否かの判定方法としては、例えば、バッファに保存された音がノイズではない話し声の場合、TalkSoundThより大きなレベルの音が一定の時間(例えば0.1秒以上)生じる。一方ノイズの場合は単発的な瞬間的な音である可能性が高い。制御部110は、このような音の性質を利用して、そのバッファに保存された音がノイズであるか否かを判定する。
制御部110は、まず、基準数個のバッファのうち、先頭部(バッファ1270)からの所定数のバッファ(本実施形態では3個の音声バッファ、すなわちバッファ1270、バッファ1271及びバッファ1272)について、それぞれに保存されているサンプリングデータのうち、最大レベルがTalkSoundThより大きいサンプリングデータが保存されているバッファの数を調べる。最大レベルがTalkSoundTh以下のサンプリングデータが保存されているバッファが1つでも存在したと判断した場合、今回基準数個保存したバッファのサンプリングデータはノイズであると判定する。一方、全てのバッファに保存されているサンプリングデータの最大レベルがTalkSoundThより大きいと判断した場合、それらのサンプリングデータはノイズではないと判定する。
基準数個のバッファに保存された音がノイズであると判定した場合(ステップS206;Yes)、制御部110は、現在の基準数個のバッファに保存されたサンプリングデータを無視して(すなわち、動作トリガーとなるような音の外部刺激は存在しなかったと判断して)、マイク入力処理を終了し、動作制御処理のステップS103に進む。
一方、基準数個のバッファに保存された音がノイズでないと判定した場合(ステップS206;No)、制御部110は、サンプリングデータが話し声であると判断し、話し声が入力されたことを示す変数TalkSound_FlagにONを代入して(ステップS207)、音声特徴パラメータ算出処理を行う(ステップS208)。音声特徴パラメータ算出処理は、音声バッファ127に保存されているサンプリングデータからケプストラムを計算することにより音声特徴パラメータを算出する処理である(詳細は特願2021-158663号を参照)。
次に制御部110は、音声履歴との類似度判定処理を行う(ステップS209)。音声履歴との類似度判定処理とは、音声特徴パラメータ算出処理で算出した音声特徴パラメータと音声履歴とを比較して類似度を求め、その類似度に応じてreturn=0からreturn=3(0=類似していない、1=類似度中、2=類似度高、3=類似度非常に高)を出力する処理である。
そして、制御部110は、音声履歴との類似度判定処理での出力結果を判定する。(ステップS210)。類似度判定処理の判定結果がreturn=3である場合(ステップS210;Yes)、制御部110は、その音声が絶対にいつもお世話してくれる人であるとロボット200が認識したことを示す変数Talk絶対_FlagにONを代入して(ステップS211)、ステップS212に進む。
類似度判定処理の判定結果がreturn=3でないと判定した場合(ステップS210;No)、制御部110は、類似度判定処理の判定結果がreturn=2(すなわち類似度高)であるか否かを判定する(ステップS213)。return=2と判定した場合(ステップS213;Yes)、制御部110は、その音声が多分いつもお世話してくれる人であるとロボット200が認識したことを示す変数Talk多分_FlagにONを代入して(ステップS214)、ステップS212に進む。
類似度判定処理の判定結果がreturn=2でないと判定した場合(ステップS213;No)、制御部110は、類似度判定処理の判定結果がreturn=1(すなわち類似度中)であるか否を判定する(ステップS215)。return=1と判定した場合(ステップS215;Yes)、制御部110は、その音声が「もしかしたらいつもお世話してくれる人かもしれない」とロボット200が認識したことを示す変数Talkもしかして_FlagにONを代入して(ステップS216)、ステップS212に進む。
類似度判定処理の判定結果がreturn=1でないと判定した場合(ステップS215;No)、制御部110は、一般動作を行うことを示す変数Talk一般動作_FlagにONを代入し(ステップS217)、ステップS212に進む。
そして、ステップS212では、制御部110は、ステップS208で算出された音声特徴パラメータを音声履歴(VFIFO)に保存する(ステップS212)。そして制御部110は、マイク入力処理を終了して、動作制御処理のステップS103に進む。
次に、マイク入力処理のステップS218で実行される音声履歴との類似度判定処理について、図12を参照して説明する。
まず、制御部110は、変数VFIFO_Size(バッファ)に保存されている音声履歴の格納数が最低音声基準数(本実施形態では32)より大きいか否かを判定する(ステップS251)。格納数が最低音声基準数以下と判定した場合(ステップS251;No)、制御部110は、「return=0」(類似していないことを表す)を出力し、音声履歴との類似度判定処理を終了し、マイク入力処理のステップS210に進む。
格納数が最低音声基準数より大きいと判定した場合(ステップS251;Yes)、制御部110は、類似度が非常に高い音声履歴の数をカウントするための変数abssimCntと、類似度が高い音声履歴の数をカウントするための変数simCntと、類似度が中位の音声履歴の数をカウントするための変数maysimCntと、配列変数としての音声履歴VFIFOの各要素(VFIFO[0]~VFIFO[VFIFO_Size-1])を指定するための変数iを、0に初期化する(ステップS252)。
そして、制御部110は、ステップS208で算出された音声特徴パラメータとVFIFO[i]との距離(L2ノルム)を算出して、変数d[i]に代入する(ステップS253)。そして、制御部110は、変数d[i]の値がVAbsSimTh(音声超高類似閾値)未満であるか否かを判定する(ステップS254)。なお、VAbsSimTh(音声超高類似閾値)としては、後述するVSimTh(音声類似閾値)よりも小さな値を予め設定しておく。d[i]がVAbsSimTh未満と判定した場合(ステップS254;Yes)、制御部110は、変数abssimCntに1を加算し(ステップS255)、ステップS256に進む。d[i]がVAbsSimTh以上と判定した場合(ステップS254;No)、ステップS256に進む。
そして、制御部110は、変数d[i]の値がVSimTh(音声類似閾値として予め設定しておく)未満であるか否かを判定する(ステップS256)。d[i]がVSimTh未満と判定した場合(ステップS256;Yes)、制御部110は、変数simCntに1を加算し(ステップS257)、ステップS258に進む。d[i]がVSimTh以上と判定した場合(ステップS256;No)、ステップS258に進む。
そして、ステップS258では、制御部110は、変数d[i]の値がVMaySimTh(音声中位類似閾値)未満であるか否かを判定する。なお、VMaySimTh(音声中位類似閾値)としては、VSimTh(音声類似閾値)よりも大きな値を予め設定しておく。d[i]がVMaySimTh未満と判定した場合(ステップS258;Yes)、制御部110は、変数maysimCntに1を加算し(ステップS259)、ステップS260に進む。d[i]がVMaySimTh以上と判定した場合(ステップS258;No)、ステップS260に進む。
ステップS260では、制御部110は、変数iに1を加算する。そして、制御部110は変数iの値が変数VFIFO_Size未満であるか否かを判定する(ステップS261)。変数iがVFIFO_Size未満と判定した場合(ステップS261;Yes)、制御部110は、ステップS253に戻る。
変数iがVFIFO_Size以上と判定した場合(ステップS261;No)、制御部110は、変数VFIFO_Sizeに対する変数abssimCntの割合が20%を超えているか否かを判定する(ステップS262)。変数VFIFO_Sizeに対する変数abssimCntの割合が20%を超えていると判定した場合(ステップS262;Yes)、ステップS208で算出された音声特徴パラメータと音声履歴との類似度が非常に高いということなので、制御部110は、「return=3」を出力して音声履歴との類似度判定処理を終了し、マイク入力処理のステップS210に進む。
一方、変数VFIFO_Sizeに対する変数abssimCntの割合が20%以下と判定した場合(ステップS262;No)、制御部110は、変数VFIFO_Sizeに対する変数simCntの割合が20%を超えているか否かを判定する(ステップS263)。変数VFIFO_Sizeに対する変数simCntの割合が20%を超えていると判定した場合(ステップS263;Yes)、ステップS208で算出された音声特徴パラメータと音声履歴との類似度が高いということなので、制御部110は、「return=2」を出力して音声履歴との類似度判定処理を終了し、マイク入力処理のステップS210に進む。
一方、変数VFIFO_Sizeに対する変数simCntの割合が20%以下と判定した場合(ステップS263;No)、制御部110は、変数VFIFO_Sizeに対する変数maysimCntの割合が30%を超えているか否かを判定する(ステップS264)。変数VFIFO_Sizeに対する変数maysimCntの割合が30%を超えていると判定した場合(ステップS264;Yes)、ステップS208で算出された音声特徴パラメータと音声履歴との類似度が中位ということなので、制御部110は、「return=1」を出力して音声履歴との類似度判定処理を終了し、マイク入力処理のステップS210に進む。
一方、変数VFIFO_Sizeに対する変数maysimCntの割合が30%以下と判定した場合(ステップS264;No)、ステップS208で算出された音声特徴パラメータと音声履歴とが類似していないということなので、制御部110は、「return=0」を出力して音声履歴との類似度判定処理を終了し、マイク入力処理のステップS210に進む。なお、上記の判定で「20%」及び「30%」と比較しているのは、一例に過ぎず、VabsSimTh、VSimTh及びVMaySimThとともに、必要に応じて変更可能である。
次に、動作制御処理(図9)のステップS103で実行される動作モード設定処理について、図13を参照して説明する。
まず制御部110は、外部刺激を与えた対象(ユーザ等)が絶対にいつもお世話してくれる人か否か(すなわち、Talk絶対_FlagがONであるか否か)を判定する(ステップS131)。絶対にいつもお世話してくれる人と判定した場合(ステップS131;Yes)、制御部110は、動作モードを懐き動作モードに設定し、懐き動作時間を第1懐き動作時間(例えば5分)に設定し(ステップS132)、動作モード設定処理を終了して動作制御処理のステップS104に戻る。
外部刺激を与えた対象(ユーザ等)が絶対にいつもお世話してくれる人ではない(すなわち、Talk絶対_FlagがONでない)と判定した場合(ステップS131;No)。制御部110は、外部刺激を与えた対象(ユーザ等)が多分いつもお世話してくれる人か否か(すなわち、Talk多分_FlagがONであるか否か)を判定する(ステップS133)。多分にいつもお世話してくれる人と判定した場合(ステップS133;Yes)、制御部110は、動作モードを懐き動作モードに設定し、懐き動作時間を第2懐き動作時間(例えば4分)に設定し(ステップS134)、動作モード設定処理を終了して動作制御処理のステップS104に戻る。
外部刺激を与えた対象(ユーザ等)が多分いつもお世話してくれる人ではないと判定した場合(すなわち、Talk多分_FlagがONでない)(ステップS133;No)。制御部110は、外部刺激を与えた対象(ユーザ等)が「もしかしたらいつもお世話してくれる人」か否か(すなわち、Talkもしかして_FlagがONであるか否か)を判定する(ステップS135)。「もしかしたらいつもお世話してくれる人」と判定した場合(ステップS135;Yes)、制御部110は、動作モードを懐き動作モードに設定し、懐き動作時間を第3懐き動作時間(例えば3分)に設定し(ステップS136)、動作モード設定処理を終了して動作制御処理のステップS104に戻る。
外部刺激を与えた対象(ユーザ等)が「もしかしたらいつもお世話してくれる人」ではないと判定した場合(すなわち、Talkもしかして_FlagがONでない)(ステップS135;No)。制御部110は、制御部110は、動作モードを通常動作モードに設定し(ステップS137)、動作モード設定処理を終了して動作制御処理のステップS104に戻る。
以上の動作モード設定処理により、制御部110は、外部刺激をロボット200に与えた対象(ユーザ等)との過去の音声履歴との類似度の高さから得られる尤度に基づいて、動作モードを設定する。動作モードが懐き動作モードに設定された場合には、懐き動作モード開始から予め設定されている懐き動作時間が経過すると通常動作モードに戻る。懐き動作モードが設定されている期間において、再度、懐き動作モードに設定された場合には、懐き動作時間は親密さの確信度合いに基づいて再設定(更新)される。したがって、いつもロボット200の世話をしているユーザは、懐き動作モード時に時折ロボット200に声をかけてやることにより、懐き動作モードに設定されている時間を延長させることができる。
次に、動作制御処理(図9)のステップS112で実行される通常動作モード処理について、図14を参照して説明する。
まず、制御部110は、タッチ入力処理でタッチ等の外部刺激が有ったか否かを判定する(ステップS151)。具体的には、制御部110は、Touch_FlagがONか否かを判定すればよい。タッチ等が有ったなら(ステップS151;Yes)、制御部110は、Touch一般動作を行う(ステップS152)。Touch一般動作とは、ロボット200がユーザに体を撫でられたり、抱っこされたりしたときに行う一般的な動作であり、具体的には成長テーブル123で動作トリガーとして体を撫でられたり、抱っこされたりした場合の動作種類として設定されている動作(図7では、基本動作0-0等)である。そして、制御部110は、変数Touch_FlagにOFFを代入して(ステップS153)、通常動作モード処理を終了して、動作制御処理(図9)のステップS115に進む。
一方、タッチ入力処理でタッチ等の外部刺激がなかったなら(ステップS151;No)、制御部110は、マイク入力処理で外部刺激として音声が有ったか否かを判定する(ステップS154)。具体的には、TalkSound_FlagがONか否かを判定すればよい。音声があるなら(ステップS154;Yes)、制御部110は、Talk一般動作を行う(ステップS155)。Talk一般動作とは、ロボット200がユーザに話しかけられたときに行う一般的な動作であり、具体的には成長テーブル123で動作トリガーとして話しかけられた場合の動作種類として設定されている動作(図7では、基本動作1-0等)である。そして、制御部110は、変数TalkSound_FlagにOFFを代入して(ステップS156)、通常動作モード処理を終了して、動作制御処理(図9)のステップS115に進む。
一方、マイク入力処理で外部刺激として音声がなかったなら(ステップS154;No)、制御部110は、マイク入力処理で外部刺激として大きな音が有ったか否かを判定する(ステップS157)。具体的には、BigSound_FlagがONか否かを判定すればよい。大きな音が有ったなら(ステップS157;Yes)、制御部110は、大きな音に反応する動作を実行する(ステップS158)。すなわち、制御部110は、図7に示す成長テーブル123の動作トリガーとして「大きな音がする」に対応する動作(基本動作2-0等)を実行する。そして、制御部110は、変数BigSound_FlagにOFFを代入して(ステップS159)、通常動作モード処理を終了して、動作制御処理(図9)のステップS115に進む。
一方、マイク入力処理で外部刺激として大きな音がなかったなら(ステップS157;No)、制御部110は、その他外部刺激に応じた動作(マイク入力処理やタッチ入力処理で取得した外部刺激に対応する動作トリガーが成長テーブル123に存在するなら、その動作トリガーに対応する動作)を実行し(ステップS160)、通常動作モード処理を終了して、動作制御処理(図9)のステップS115に進む。
次に、動作制御処理(図9)のステップS109で実行される懐き動作モード処理について、図15を参照して説明する。
まず、制御部110は、タッチ入力処理でタッチ等の外部刺激が有ったか否かを判定する(ステップS171)。具体的には、制御部110は、Touch_FlagがONか否かを判定すればよい。タッチ等が有ったなら(ステップS171;Yes)、制御部110は、タッチ応答懐き動作処理を実行する(ステップS172)。タッチ応答懐き動作処理については後述する。そして、制御部110は、変数Touch_FlagにOFFを代入して(ステップS173)、懐き動作モード処理を終了して、動作制御処理(図9)のステップS110に進む。
一方、タッチ入力処理でタッチ等の外部刺激がなかったなら(ステップS171;No)、制御部110は、マイク入力処理で外部刺激として音声が有ったか否かを判定する(ステップS174)。具体的には、TalkSound_FlagがONか否かを判定すればよい。音声があるなら(ステップS174;Yes)、制御部110は、音声応答懐き動作処理を実行する(ステップS175)。音声応答懐き動作処理については後述する。そして、制御部110は、変数TalkSound_FlagにOFFを代入して(ステップS176)、懐き動作モード処理を終了して、動作制御処理(図9)のステップS110に進む。
一方、マイク入力処理で外部刺激として音声がなかったなら(ステップS174;No)、制御部110は、マイク入力処理で外部刺激として大きな音が有ったか否かを判定する(ステップS177)。具体的には、BigSound_FlagがONか否かを判定すればよい。大きな音が有ったなら(ステップS177;Yes)、制御部110は、大音応答懐き動作処理を実行する(ステップS178)。大音応答懐き動作処理については後述する。そして、制御部110は、変数BigSound_FlagにOFFを代入して(ステップS179)、懐き動作モード処理を終了して、動作制御処理(図9)のステップS110に進む。
一方、マイク入力処理で外部刺激として大きな音がなかったなら(ステップS177;No)、制御部110は、その他外部刺激に応じた動作(マイク入力処理やタッチ入力処理で取得した外部刺激に対応する動作トリガーが成長テーブル123に存在するなら、その動作トリガーに対応する動作)を実行し(ステップS180)、懐き動作モード処理を終了して、動作制御処理(図9)のステップS110に進む。
次に、懐き動作モード処理(図15)のステップS172で実行されるタッチ応答懐き動作処理について、図16を参照して説明する。
まず、制御部110は、タッチセンサ211Hにより、頭部204が押さえつけられているか否かを判定する(ステップS301)。これはタッチセンサ211Hで取得した圧力が所定の閾値以上か否かにより判定できる。頭部204が押さえつけられていないなら(ステップS301;No)、制御部110は、タッチ応答懐き動作処理を終了し、懐き動作モード処理(図15)のステップS173に進む。
頭部204が押さえつけられているなら(ステップS301;Yes)、制御部110は、胴体部206を持ち上げる動作を行う(ステップS302)。具体的には、制御部110は、上下モータ222により頭部204を上げる。ユーザは頭部204を押さえつけているので、上下モータ222で頭部204を上げることにより、胴体部206が持ち上がることになる。なお、ユーザが頭部204を押さえつける力が弱い場合には、胴体部206が持ち上がらずに、頭部204が上がってしまうことも考えられるため、ステップS301での判定時の所定の閾値は、ステップS302により胴体部206が持ち上がる値に設定する。
そして、制御部110は、頭部204がまだ押さえつけられているか否かを判定する(ステップS303)。頭部204がまだ押さえつけられているなら(ステップS303;Yes)、制御部110はステップS302に戻って、胴体部206を持ち上げる動作を繰り返す。
頭部204が押さえつけられていないなら(ステップS303;No)、制御部110は、ロボット200を元の状態(通常は、定期的な呼吸動作)に戻し(ステップS304)、タッチ応答懐き動作処理を終了し、懐き動作モード処理(図15)のステップS173に進む。
このタッチ応答懐き動作処理により、ユーザがロボット200の頭部204を押さえつけると、それに応じてロボット200は胴体部206を持ち上げるので、ユーザはロボット200と遊んでいるような感覚を持つことができる。
次に、懐き動作モード処理(図15)のステップS175で実行される音声応答懐き動作処理について、図17を参照して説明する。
まず、制御部110は、胴体部206のタッチセンサ211により、胴体部206が触られているか否かを判定する(ステップS311)。胴体部206が触れていないなら(ステップS311;No)、制御部110は、音声応答懐き動作処理を終了し、懐き動作モード処理(図15)のステップS176に進む。
胴体部206が触られているなら(ステップS311;Yes)、制御部110は、震える動作を行う(ステップS312)。具体的には、制御部110は、頭部204を左右に小刻みに動かす(この処理の詳細は特開2022-142113号公報を参照)ことで、ロボット200を震えさせる。
そして、制御部110は、胴体部206がまだ触られているか否かを判定する(ステップS313)。頭部204がまだ触られているなら(ステップS313;Yes)、制御部110はステップS312に戻って、震える動作を繰り返す。
胴体部206が触られていないなら(ステップS313;No)、制御部110は、頭部204を上げて周りの様子を見る動作を行う(ステップS314)。具体的には制御部110は、上下モータ222により頭部204を上げ、ひねりモータ221で頭部204を左右に回転させる。
そして、制御部110は、ロボット200を元の状態(通常は、定期的な呼吸動作)に戻し(ステップS315)、音声応答懐き動作処理を終了し、懐き動作モード処理(図15)のステップS176に進む。
この音声応答懐き動作処理により、ユーザがロボット200の胴体部206を押さえるとロボット200が震えるので、あたかもロボット200が体を押さえられておびえているかのように見せることができる。そしてロボット200から手を離すとロボット200は「脅威は去ったかな?」とでも言うような感じに頭部204を上げて周囲の様子を見るので、ユーザはロボット200をよりかわいいと感じることができる。
次に、懐き動作モード処理(図15)のステップS178で実行される大音応答懐き動作処理について、図18を参照して説明する。
まず、制御部110は、0以上2以下の整数の乱数を生成する(ステップS321)。そして、制御部110は、生成された乱数が0であるか否かを判定する(ステップS322)。生成された乱数が0なら(ステップS322;Yes)、制御部110は、ロボット200を左側に傾ける動作を行う(ステップS323)。具体的には制御部110は、上下モータ222で頭部204を下げてからひねりモータ221で頭部204を右に回転させる。これにより、ロボット200の体が左斜めに傾く。そして、制御部110は、大音応答懐き動作処理を終了し、懐き動作モード処理(図15)のステップS179に進む。
生成された乱数が0でないなら(ステップS322;No)、制御部110は、生成された乱数が1であるか否かを判定する(ステップS324)。生成された乱数が1なら(ステップS324;Yes)、制御部110は、ロボット200を右側に傾ける動作を行う(ステップS325)。具体的には制御部110は、上下モータ222で頭部204を下げてからひねりモータ221で頭部204を左に回転させる。これにより、ロボット200の体が右斜めに傾く。そして、制御部110は、大音応答懐き動作処理を終了し、懐き動作モード処理(図15)のステップS179に進む。
生成された乱数が1でないなら(ステップS324;No)、制御部110は、生成された乱数が2であるか否かを判定する(ステップS326)。生成された乱数が2なら(ステップS326;Yes)、制御部110は、ロボット200にスイング動作をさせる(ステップS325)。具体的には制御部110は、上述の左側に傾く動作と右側に傾く動作を繰り返し行うことで、ロボット200がスイングしているように見せる。そして、制御部110は、大音応答懐き動作処理を終了し、懐き動作モード処理(図15)のステップS179に進む。
なお、上述のステップS321では、制御部110は、乱数を生成するのではなく、例えば、0,1,2,0,1,2,…と規則正しく順番に数字を生成してもよい。
この大音応答懐き動作処理により、ユーザが大きな音をさせると、ロボット200は体を斜めにしたりスイングしたりする動きをするので、ユーザは音を立ててロボット200と遊んでいるかのような感覚を持つことができる。
なお、懐き動作モード時の上述の各動作は一例に過ぎず、その時点での感情データ121や感情変化データ122等に基づいて、動作内容を変化させてもよい。
また、上述の動作モード設定処理(図13)では、外部刺激を与えたユーザとの親密度が高いと判定した場合にのみ、制御部110は、動作モードを懐き動作モードに設定しているが、このような設定方法に限定する必要はない。例えば、ロボット200の擬似的な生誕からの日数に応じ(例えばロボット200の誕生日に)、声をかけられたと判定した場合に制御部110は、履歴との類似度によらずに懐き動作モードに設定してもよい。また、制御部110は、履歴との類似度によらずに乱数等によって、時々(例えば毎日1回程度)動作モードを懐き動作モードに設定してもよい。これらの場合の懐き動作時間についても任意に設定可能だが、制御部110は、例えば比較的短い第3懐き動作時間(例えば3分間)に設定してもよい。
以上説明した動作制御処理により、制御部110は、ロボット200(被制御装置)に作用する外部刺激を取得し、外部刺激を与えた対象(ユーザ等)との親密度の高さに応じた尤度(飼い主、いつもお世話してくれる人、あまりお世話してくれない人等)に基づいてロボット200が対象に対して行う動作内容が定義された動作モードを設定し、外部刺激と動作モードとに基づいてロボット200の動作を制御する。このため、呼びかけ方の特徴量と履歴として記憶部120に保存された外部刺激特徴量との類似度に応じて、ロボット200は「多分いつもお世話してくれる人だろう」と判断して懐き動作モードで動作を行うことができ、ロボット200と対象との関係を考慮した動作を行なわせることができる。
(変形例)
なお、本発明は、上述の実施形態に限定されず、種々の変形及び応用が可能である。例えば、懐き動作モード時の動作内容も、通常動作モード時と同様に、成長値や性格に応じて変化するようにしてもよい。
また、ロボット200の動作としては、駆動部220による動作や音声出力部230からの音の出力に限定されない。ロボット200の他の被制御部(例えばLED、ディスプレイ等)が備えられている場合には、ロボット200の動作として、制御部110は、点灯させるLEDの色や明るさを制御してもよい。制御部110により制御される被制御部としては、駆動部220、音声出力部230の少なくとも一方が含まれていればよい。
また、上述の実施形態での感情マップ300の構成、感情データ121、感情変化データ122、性格データ、成長値等の設定方法は一例に過ぎない。例えばより単純に、成長日数データ125をある数で割った数値(10を超えたら常に10とする)を成長値とするようにしてもよい。
また、上述の実施形態では、ロボット200にロボット200を制御する動作制御装置100が内蔵されている構成としたが、ロボット200を制御する動作制御装置100は、必ずしもロボット200に内蔵されている必要はない。例えば、動作制御装置100が、ロボット200とは別個の装置として構成され、動作制御装置100の制御部110及び通信部130とは別個にロボット200も制御部250及び通信部260を備えていてもよい。この場合、通信部260と通信部130とがお互いにデータを送受信できるように構成され、制御部110は、通信部130及び通信部260を介して、センサ部210が検出した外部刺激を取得したり、駆動部220や音声出力部230を制御したりする。
上述の実施形態において、制御部110のCPUが実行する動作プログラムは、あらかじめ記憶部120のROM等に記憶されているものとして説明した。しかしながら、本発明は、これに限定されず、上述の各種処理を実行させるための動作プログラムを、既存の汎用コンピュータ等に実装することにより、上述の実施形態に係る動作制御装置100に相当する装置として機能させてもよい。
このようなプログラムの提供方法は任意であり、例えば、コンピュータが読取可能な記録媒体(フレキシブルディスク、CD(Compact Disc)-ROM、DVD(Digital Versatile Disc)-ROM、MO(Magneto-Optical Disc)、メモリカード、USBメモリ等)に格納して配布してもよいし、インターネット等のネットワーク上のストレージにプログラムを格納しておき、これをダウンロードさせることにより提供してもよい。
また、上述の処理をOS(Operating System)とアプリケーションプログラムとの分担、又は、OSとアプリケーションプログラムとの協働によって実行する場合には、アプリケーションプログラムのみを記録媒体やストレージに格納してもよい。また、搬送波にプログラムを重畳し、ネットワークを介して配信することも可能である。例えば、ネットワーク上の掲示板(Bulletin Board System:BBS)に上記プログラムを掲示し、ネットワークを介してプログラムを配信してもよい。そして、このプログラムを起動し、OSの制御下で、他のアプリケーションプログラムと同様に実行することにより、上記の処理を実行できるように構成してもよい。
また、制御部110は、シングルプロセッサ、マルチプロセッサ、マルチコアプロセッサ等の任意のプロセッサ単体で構成されるものの他、これら任意のプロセッサと、ASIC(Application Specific Integrated Circuit)やFPGA(Field‐Programmable Gate Array)等の処理回路とが組み合わせられて構成されてもよい。
本発明は、本発明の広義の精神と範囲とを逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、前述した実施形態は、この発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、実施形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。
100…動作制御装置、110,250…制御部、120…記憶部、121…感情データ、122…感情変化データ、123…成長テーブル、124…動作内容テーブル、125…成長日数データ、126…動作モード設定テーブル、127…音声バッファ、130,260…通信部、200…ロボット、201…外装、202…装飾部品、203…毛、204…頭部、205…連結部、206…胴体部、207…筐体、210…センサ部、211,211H,211LF,211LR,211RF,211RR…タッチセンサ、212…加速度センサ、213…ジャイロセンサ、214…マイクロフォン、220…駆動部、221…ひねりモータ、222…上下モータ、230…音声出力部、231…スピーカ、240…操作入力部、300…感情マップ、301,302,303…枠、310…原点、311…X軸、312…Y軸、1270,1271,1272,1273,1285…バッファ、BL…バスライン

Claims (9)

  1. 被制御装置の動作を制御する動作制御装置であって、
    外部刺激を取得し、
    前記外部刺激に応じた動作を実行するとき、前記外部刺激を与えた対象と前記被制御装置との親密度に基づいて、異なる動作内容を実行するよう制御する、
    制御部を備える、
    ことを特徴とする動作制御装置。
  2. 前記制御部は、
    前記取得された外部刺激と過去に取得された前記外部刺激とを比較した結果に基づいて、前記被制御装置と前記外部刺激を与えた対象との親密度を判定するよう制御する、
    ことを特徴とする請求項1に記載の動作制御装置。
  3. 前記制御部は、
    前記外部刺激として音声を取得し、
    前記取得された音声に含まれる所定のパラメータの特徴量と過去に取得された音声に含まれる前記所定のパラメータの特徴量との類似度の高さに基づいて、前記外部刺激を与えた対象との親密度を判定するよう制御する、
    ことを特徴とする請求項2に記載の動作制御装置。
  4. 前記制御部は、前記動作内容が定義された動作モードを、前記類似度の高さに基づいて設定し、
    前記動作モードには、前記対象との親密度に関わらず実行する動作内容が定義された通常動作モードと、前記対象との親密度に基づいて実行する動作内容が定義された親密動作モードとが含まれる、
    ことを特徴とする請求項3に記載の動作制御装置。
  5. 前記制御部は、
    前記動作モードを前記親密動作モードに設定した後、前記類似度の高さに応じて設定された所定時間が経過したと判定したら、前記動作モードを前記通常動作モードに移行するよう制御する、
    ことを特徴とする請求項4に記載の動作制御装置。
  6. 前記所定時間は前記判定された親密度に応じて異なる、
    ことを特徴とする請求項5に記載の動作制御装置。
  7. 前記制御部は、
    前記親密動作モードが設定されているときに取得された外部刺激について、前記外部刺激から判定した前記類似度が所定の高さである場合に、前記親密動作モードを継続させるよう制御する
    ことを特徴とする請求項4に記載の動作制御装置。
  8. 制御部が、
    外部刺激を取得し、
    前記外部刺激に応じた動作を実行するとき、前記外部刺激を与えた対象と被制御装置との親密度に基づいて、異なる動作内容を実行するよう制御する、
    ことを特徴とする動作制御方法。
  9. コンピュータに、
    外部刺激を取得し、
    前記外部刺激に応じた動作を実行するとき、前記外部刺激を与えた対象と被制御装置との親密度に基づいて、異なる動作内容を実行するよう制御する、
    処理を実行させることを特徴とするプログラム。
JP2022187973A 2022-11-25 2022-11-25 動作制御装置、動作制御方法、及び、プログラム Pending JP2024076459A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2022187973A JP2024076459A (ja) 2022-11-25 2022-11-25 動作制御装置、動作制御方法、及び、プログラム
US18/380,251 US20240173636A1 (en) 2022-11-25 2023-10-16 Action control device, action control method, and recording medium
EP23210554.4A EP4374944A1 (en) 2022-11-25 2023-11-17 Action control device, action control method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022187973A JP2024076459A (ja) 2022-11-25 2022-11-25 動作制御装置、動作制御方法、及び、プログラム

Publications (1)

Publication Number Publication Date
JP2024076459A true JP2024076459A (ja) 2024-06-06

Family

ID=88839302

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022187973A Pending JP2024076459A (ja) 2022-11-25 2022-11-25 動作制御装置、動作制御方法、及び、プログラム

Country Status (3)

Country Link
US (1) US20240173636A1 (ja)
EP (1) EP4374944A1 (ja)
JP (1) JP2024076459A (ja)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001157985A (ja) 1999-11-30 2001-06-12 Sony Corp 使用者識別装置、使用者識別方法、及びロボット装置
JP5429462B2 (ja) * 2009-06-19 2014-02-26 株式会社国際電気通信基礎技術研究所 コミュニケーションロボット
DE112017001874T5 (de) * 2016-04-08 2018-12-27 Groove X, Inc. Autonom handelnder Roboter mit Schüchternheit
JP6575637B2 (ja) 2018-05-25 2019-09-18 カシオ計算機株式会社 ロボット、ロボットの制御方法及びプログラム
JP7180139B2 (ja) 2018-06-22 2022-11-30 カシオ計算機株式会社 ロボット、ロボットの制御方法及びプログラム
JP7081619B2 (ja) * 2020-03-25 2022-06-07 カシオ計算機株式会社 機器の制御装置、機器、機器の制御方法及びプログラム
JP2021158663A (ja) 2020-03-26 2021-10-07 新光電気工業株式会社 センサモジュール
JP7415989B2 (ja) 2021-03-16 2024-01-17 カシオ計算機株式会社 ロボット、ロボットの制御方法及びプログラム

Also Published As

Publication number Publication date
EP4374944A1 (en) 2024-05-29
US20240173636A1 (en) 2024-05-30

Similar Documents

Publication Publication Date Title
US8538750B2 (en) Speech communication system and method, and robot apparatus
US11000952B2 (en) More endearing robot, method of controlling the same, and non-transitory recording medium
JP7528981B2 (ja) 機器の制御装置、機器、機器の制御方法及びプログラム
JP7452568B2 (ja) 機器の制御装置、機器の制御方法及びプログラム
JP2023024848A (ja) ロボット、制御方法及びプログラム
JP7525021B2 (ja) ロボット、表現方法及びプログラム
JP2024076459A (ja) 動作制御装置、動作制御方法、及び、プログラム
JP7414735B2 (ja) 複数のロボットエフェクターを制御するための方法
CN111730608A (zh) 控制装置、机器人、控制方法以及存储介质
US20230100762A1 (en) Robot, robot control method, and non-transitory computer-readable recording medium
JP2024097123A (ja) 動作制御装置、動作制御方法、及び、プログラム
KR20200077936A (ko) 사용자 상태에 기초하여 반응을 제공하는 전자 장치 및 그의 동작 방법
JP7314967B2 (ja) 電子機器、ロボット、制御方法及びプログラム
JP7163987B2 (ja) 機器の制御装置、機器の制御方法及びプログラム
WO2023037608A1 (ja) 自律移動体、情報処理方法、及び、プログラム
JP2024082536A (ja) 動作制御装置、動作制御方法及びプログラム
JP2024127982A (ja) ロボット、表現方法及びプログラム
JP2022142111A (ja) 機器の電源制御装置、機器の制御方法及びプログラム
JP2024048495A (ja) 機器の制御装置、機器の制御方法及びプログラム
JP2005084789A (ja) パーソナルコンピュータ
JP2022142110A (ja) 機器の制御装置、機器の制御方法及びプログラム