[go: up one dir, main page]

JP7595492B2 - Device control device, device control method, and program - Google Patents

Device control device, device control method, and program Download PDF

Info

Publication number
JP7595492B2
JP7595492B2 JP2021042127A JP2021042127A JP7595492B2 JP 7595492 B2 JP7595492 B2 JP 7595492B2 JP 2021042127 A JP2021042127 A JP 2021042127A JP 2021042127 A JP2021042127 A JP 2021042127A JP 7595492 B2 JP7595492 B2 JP 7595492B2
Authority
JP
Japan
Prior art keywords
power supply
robot
unit
battery
value
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.)
Active
Application number
JP2021042127A
Other languages
Japanese (ja)
Other versions
JP2022142111A (en
Inventor
浩一 長谷川
敦 渋谷
義裕 河村
雅彦 児玉
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 JP2021042127A priority Critical patent/JP7595492B2/en
Publication of JP2022142111A publication Critical patent/JP2022142111A/en
Priority to JP2023132201A priority patent/JP7574894B2/en
Priority to JP2024174180A priority patent/JP2024177385A/en
Application granted granted Critical
Publication of JP7595492B2 publication Critical patent/JP7595492B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Toys (AREA)
  • Power Sources (AREA)
  • Charge And Discharge Circuits For Batteries Or The Like (AREA)

Description

本発明は、機器の制御装置、機器の制御方法及びプログラムに関する。 The present invention relates to a device control apparatus, a device control method, and a program.

リチウムイオン電池等の二次電池(以降バッテリーと呼称する)で駆動される電子機器では、電子機器の使用によりバッテリーの出力電圧が徐々に低下する。そして、この出力電圧が電子機器内のシステムの最低動作保証電圧以下になるとシステムが誤動作するおそれがある。そこで、バッテリーの出力電圧がシステムの最低動作保証電圧を切る前にシステムをシャットダウンさせることにより、システムの誤動作を防止することが行われている(例えば特許文献1)。 In electronic devices that are powered by secondary batteries (hereafter referred to as batteries) such as lithium-ion batteries, the output voltage of the battery gradually decreases as the electronic device is used. If this output voltage falls below the minimum guaranteed operating voltage of the system within the electronic device, the system may malfunction. Therefore, measures are taken to prevent system malfunction by shutting down the system before the battery output voltage falls below the minimum guaranteed operating voltage of the system (for example, see Patent Document 1).

また、バッテリーの出力電圧低下によるシャットダウン後に、電子機器のバッテリーを充電する際、電子機器内のシステムを駆動可能な出力電圧にまでバッテリーが充電されると、システムの電源を自動的に入れることも行われている(例えば非特許文献1)。 In addition, when charging the battery of an electronic device after a shutdown due to a drop in the battery's output voltage, if the battery is charged to an output voltage that is sufficient to drive the system within the electronic device, the power to the system is automatically turned on (for example, non-patent document 1).

特開2001-320478号公報JP 2001-320478 A

“ウォークマン(登録商標)の電源を切った状態で充電すると、自動的に電源が入ってしまう”、[online]、[令和3年1月20日検索]、インターネット<URL:https://knowledge.support.sony.jp/electronics/support/articles/con/00248943>"When charging the Walkman (registered trademark) with the power turned off, the power turns on automatically", [online], [searched on January 20, 2021], Internet <URL: https://knowledge.support.sony.jp/electronics/support/articles/con/00248943>

充電中にシステムの電源が入ってしまうと、システムが動作する分の電力が消費されるため、その分、充電に要する時間が長くなってしまう。しかし、充電中は必ず電源を切ることにしてしまうと、充電中も使用したいと考えるユーザには逆に不便になってしまう。 If the system is turned on while charging, power is consumed to operate the system, which increases the time it takes to charge. However, if the power must be turned off while charging, it will be inconvenient for users who want to use the device while charging.

そこで、本発明はこのような事情に鑑みてなされたものであって、充電時間を短くしたいユーザと、充電中も使用したいユーザに対応できる機器の制御装置、機器の制御方法及びプログラムを提供することを目的とする。 Therefore, the present invention has been made in consideration of these circumstances, and aims to provide an equipment control device, an equipment control method, and a program that can accommodate users who want to shorten charging time and users who want to use the equipment while it is charging.

前記目的を達成するため、本発明に係る機器の制御装置の一様態は、
機器に設けられた主機能部であって、駆動部を含む前記主機能部に電源を供給するためのバッテリーの出力電圧を取得し、
前記主機能部への電源供給が、前記機器のユーザ操作に起因して停止されているか否かを判別し、
前記電源供給が停止されている状態で前記バッテリーへの充電中、前記電源供給が、前記ユーザ操作に起因して停止されていると判別している場合には、前記取得した出力電圧が第1基準電圧以上であっても、前記電源供給の停止を維持する、
電源制御部と、
前記駆動部の動作を制御する駆動制御部と、
を備え、
前記電源制御部は、
前記バッテリーから前記主機能部への電源供給が、前記機器のユーザ操作以外の事象に起因して停止されているか否かを判別し、
前記電源供給が停止されている状態で前記バッテリーへの充電中、前記電源供給が前記ユーザ操作以外の事象に起因して停止されていると判別し、かつ、前記取得した出力電圧が第1基準電圧以上である場合に、前記電源供給を再開し、
前記駆動制御部は、
前記電源供給が実行されている状態で前記機器の前記バッテリーの充電中であるときに、第1の動作範囲内で前記駆動部を制御し、
前記電源供給が実行されている状態で前記機器の前記バッテリーの充電実行中でないときに、前記第1の動作範囲よりも大きい第2の動作範囲内で前記駆動部を制御する。
また、本発明に係る機器の制御方法の一態様は、
機器に設けられた主機能部であって、駆動部を含む前記主機能部に電源を供給するためのバッテリーの出力電圧を取得し、
前記主機能部への電源供給が、前記機器のユーザ操作に起因して停止されているか否かを判別し、
前記電源供給が停止されている状態で前記バッテリーへの充電中、前記電源供給が前記ユーザ操作に起因して停止されていると判別している場合には、前記取得した出力電圧が第1基準電圧以上であっても、前記電源供給の停止を維持し、
前記バッテリーから前記主機能部への電源供給が、前記機器のユーザ操作以外の事象に起因して停止されているか否かを判別し、
前記電源供給が停止されている状態で前記バッテリーへの充電中、前記電源供給が前記ユーザ操作以外の事象に起因して停止されていると判別し、かつ、前記取得した出力電圧が第1基準電圧以上である場合に、前記電源供給を再開し、
前記電源供給が実行されている状態で前記機器の前記バッテリーの充電中であるときに、第1の動作範囲内で前記駆動部を制御し、
前記電源供給が実行されている状態で前記機器の前記バッテリーの充電実行中でないときに、前記第1の動作範囲よりも大きい第2の動作範囲内で前記駆動部を制御する。
また、本発明に係るプログラムの一態様は、
機器の制御装置に含まれるコンピュータに、
前記機器に設けられた主機能部であって、駆動部を含む前記主機能部に電源を供給するためのバッテリーの出力電圧を取得し、
前記主機能部への電源供給が、前記機器のユーザ操作に起因して停止しているか否かを判別し、
前記電源供給が停止されている状態で前記バッテリーへの充電中、前記電源供給が前記ユーザ操作に起因して停止されていると判別している場合には、前記取得した出力電圧が第1基準電圧以上であっても、前記電源供給の停止を維持し、
前記バッテリーから前記主機能部への電源供給が、前記機器のユーザ操作以外の事象に起因して停止されているか否かを判別し、
前記電源供給が停止されている状態で前記バッテリーへの充電中、前記電源供給が前記ユーザ操作以外の事象に起因して停止されていると判別し、かつ、前記取得した出力電圧が第1基準電圧以上である場合に、前記電源供給を再開し、
前記電源供給が実行されている状態で前記機器の前記バッテリーの充電中であるときに、第1の動作範囲内で前記駆動部を制御し、
前記電源供給が実行されている状態で前記機器の前記バッテリーの充電実行中でないときに、前記第1の動作範囲よりも大きい第2の動作範囲内で前記駆動部を制御する、処理を実行させる。
In order to achieve the above object, one aspect of the device control device according to the present invention comprises:
A main function unit provided in the device acquires an output voltage of a battery for supplying power to the main function unit including a drive unit;
determining whether or not power supply to the main functional unit has been stopped due to a user operation of the device;
When the power supply is stopped and the battery is being charged, if it is determined that the power supply has been stopped due to the user operation, the power supply is maintained stopped even if the acquired output voltage is equal to or higher than a first reference voltage.
A power supply control unit;
A drive control unit that controls the operation of the drive unit;
Equipped with
The power supply control unit is
determining whether or not the power supply from the battery to the main functional unit has been stopped due to an event other than a user operation of the device;
while charging the battery in a state where the power supply is stopped , it is determined that the power supply has been stopped due to an event other than the user operation, and when the acquired output voltage is equal to or higher than a first reference voltage, the power supply is resumed;
The drive control unit is
When the battery of the device is being charged while the power supply is being performed , the drive unit is controlled within a first operating range;
When the battery of the device is not being charged while the power supply is being performed , the drive unit is controlled within a second operating range that is larger than the first operating range.
Furthermore, one aspect of a method for controlling an apparatus according to the present invention is to
A main function unit provided in the device acquires an output voltage of a battery for supplying power to the main function unit including a drive unit;
determining whether or not power supply to the main functional unit has been stopped due to a user operation of the device;
When the power supply is stopped and the battery is being charged, if it is determined that the power supply is stopped due to the user operation, the power supply is maintained stopped even if the acquired output voltage is equal to or higher than a first reference voltage;
determining whether or not the power supply from the battery to the main functional unit has been stopped due to an event other than a user operation of the device;
while charging the battery in a state where the power supply is stopped , it is determined that the power supply has been stopped due to an event other than the user operation, and when the acquired output voltage is equal to or higher than a first reference voltage, the power supply is resumed;
When the battery of the device is being charged while the power supply is being performed , the drive unit is controlled within a first operating range;
When the battery of the device is not being charged while the power supply is being performed , the drive unit is controlled within a second operating range that is larger than the first operating range.
Moreover, one aspect of the program according to the present invention is
A computer included in the device's control device
acquiring an output voltage of a battery for supplying power to a main functional unit provided in the device, the main functional unit including a drive unit;
determining whether or not power supply to the main functional unit has been stopped due to a user operation of the device;
When the power supply is stopped and the battery is being charged, if it is determined that the power supply is stopped due to the user operation, the power supply is maintained stopped even if the acquired output voltage is equal to or higher than a first reference voltage;
determining whether or not the power supply from the battery to the main functional unit has been stopped due to an event other than a user operation of the device;
while charging the battery in a state where the power supply is stopped , it is determined that the power supply has been stopped due to an event other than the user operation, and when the acquired output voltage is equal to or higher than a first reference voltage, the power supply is resumed;
When the battery of the device is being charged while the power supply is being performed , the drive unit is controlled within a first operating range;
When the power supply is being performed and the battery of the device is not being charged, a process is executed to control the drive unit within a second operating range that is larger than the first operating range.

本発明によれば、充電時間を短くしたいユーザと、充電中も使用したいユーザに対応できる。 This invention can accommodate users who want to shorten the charging time and users who want to continue using the device while it is charging.

実施形態に係るロボットの外観を示す図である。FIG. 1 is a diagram showing an external appearance of a robot according to an embodiment. 実施形態に係るロボットの側面から見た断面図である。1 is a cross-sectional view of a robot according to an embodiment, as viewed from the side. 実施形態に係るロボットの筐体を説明する図である。FIG. 2 is a diagram illustrating a housing of a robot according to an embodiment. 実施形態に係るロボットのひねりモータの動きの一例を説明する図である。10A to 10C are diagrams illustrating an example of the movement of a twist motor of the robot according to the embodiment. 実施形態に係るロボットのひねりモータの動きの一例を説明する他の図である。13A to 13C are other diagrams illustrating an example of the movement of the twist motor of the robot according to the embodiment. 実施形態に係るロボットの上下モータの動きの一例を説明する図である。10A to 10C are diagrams illustrating an example of the movement of an up and down motor of the robot according to the embodiment. 実施形態に係るロボットの上下モータの動きの一例を説明する他の図である。13A to 13C are other diagrams illustrating an example of the movement of the up and down motors of the robot according to the embodiment. 実施形態に係るロボットの機能構成を示すブロック図である。1 is a block diagram showing a functional configuration of a robot according to an embodiment. 実施形態に係る電源制御部の構成を示すブロック図である。FIG. 2 is a block diagram showing a configuration of a power supply control unit according to the embodiment. 実施形態に係る感情マップの一例を説明する図である。FIG. 2 is a diagram illustrating an example of an emotion map according to the embodiment. 実施形態に係る性格値レーダーチャートの一例を説明する図である。FIG. 13 is a diagram illustrating an example of a personality value radar chart according to the embodiment. 実施形態に係る成長テーブルの一例を説明する図である。FIG. 11 is a diagram illustrating an example of a growth table according to the embodiment. 実施形態に係る動作内容テーブルの一例を説明する図である。FIG. 11 is a diagram illustrating an example of an operation content table according to the embodiment. 実施形態に係るモーションテーブルの一例を説明する図である。FIG. 2 is a diagram illustrating an example of a motion table according to the embodiment. 実施形態に係る動作制御処理のフローチャートである。11 is a flowchart of an operation control process according to the embodiment. 実施形態に係る動作選択処理のフローチャートである。11 is a flowchart of an action selection process according to the embodiment. 実施形態に係る性格補正値調整処理のフローチャートである。11 is a flowchart of a personality correction value adjustment process according to the embodiment. 実施形態に係るアラーム機能の設定画面の一例を説明する図である。FIG. 13 is a diagram illustrating an example of a setting screen for an alarm function according to the embodiment. 実施形態に係るアラーム制御処理のフローチャートである。4 is a flowchart of an alarm control process according to the embodiment. 実施形態に係るスリープ制御処理のフローチャートである。4 is a flowchart of a sleep control process according to the embodiment. 実施形態に係るハードスリープ処理のフローチャートである。11 is a flowchart of a hard sleep process according to the embodiment. 実施形態に係る電源制御処理のフローチャートである。4 is a flowchart of a power supply control process according to the embodiment. 実施形態に係るモータ制御処理のフローチャートである。4 is a flowchart of a motor control process according to the embodiment. 変形例に係る機器の制御装置及びロボットの機能構成を示すブロック図である。FIG. 13 is a block diagram showing the functional configuration of a device control device and a robot according to a modified example.

以下、本発明の実施形態について、図面を参照して説明する。なお、図中同一又は相当部分には同一符号を付す。 Embodiments of the present invention will be described below with reference to the drawings. Note that the same or corresponding parts in the drawings are given the same reference numerals.

(実施形態)
本発明における機器の制御装置を図1に示すロボット200に適用した実施形態について、図面を参照して説明する。実施形態に係るロボット200は、充電可能なバッテリーで駆動する、小型の動物を模したペットロボットである。ロボット200は、図1に示すように、目を模した装飾部品202及びふさふさの毛203を備えた外装201に覆われている。また、外装201の中には、ロボット200の筐体207が収納されている。図2に示すように、ロボット200の筐体207は、頭部204、連結部205及び胴体部206で構成され、頭部204と胴体部206とが連結部205で連結されている。
(Embodiment)
An embodiment in which the device control device of the present invention is applied to a robot 200 shown in Fig. 1 will be described with reference to the drawings. The robot 200 according to the embodiment is a pet robot modeled after a small animal, driven by a rechargeable battery. As shown in Fig. 1, the robot 200 is covered with an exterior 201 equipped with decorative parts 202 modeled after eyes and bushy fur 203. A housing 207 of the robot 200 is housed inside the exterior 201. As shown in Fig. 2, the housing 207 of the robot 200 is composed of a head 204, a connecting part 205, and a body part 206, and the head 204 and the body part 206 are connected by the connecting part 205.

なお、以下の説明では、ロボット200を床等の載置面に普通に置いた場合を想定して、ロボット200の顔に相当する部分(頭部204の胴体部206とは反対側の部分)の方向を前、お尻に相当する部分(胴体部206の頭部204とは反対側の部分)の方向を後ろとする。また、ロボット200を載置面に普通に置いた場合に載置面に接触する部分の方向を下、その反対の方向を上とする。そして、ロボット200の前後方向に延びる直線に直交し、かつ、上下方向に延びる直線にも直交する方向を、幅方向とする。 In the following explanation, assuming that robot 200 is normally placed on a support surface such as a floor, the direction of the part of robot 200 that corresponds to its face (the part of head 204 opposite to torso 206) is referred to as the front, and the direction of the part that corresponds to its butt (the part of torso 206 opposite to head 204) is referred to as the back. Furthermore, the direction of the part that contacts the support surface when robot 200 is normally placed on the support surface is referred to as the down, and the opposite direction is referred to as the up. The direction that is perpendicular to a straight line extending in the front-to-back direction of robot 200 and also perpendicular to a straight line extending in the up-down direction is referred to as the width direction.

胴体部206は、図2に示すように、前後方向に延びている。そして、胴体部206は、ロボット200が置かれている床やテーブル等の載置面に、外装201を介して接触する。また、図2に示すように、胴体部206の前端部にひねりモータ221が備えられており、頭部204が連結部205を介して胴体部206の前端部に連結されている。そして、連結部205には、上下モータ222が備えられている。なお、図2では、ひねりモータ221は胴体部206に備えられているが、連結部205に備えられていてもよいし、頭部204に備えられていてもよい。 As shown in FIG. 2, the body 206 extends in the front-rear direction. The body 206 comes into contact with a support surface, such as a floor or a table, on which the robot 200 is placed, via the exterior 201. As shown in FIG. 2, a twist motor 221 is provided at the front end of the body 206, and the head 204 is connected to the front end of the body 206 via a connecting part 205. The connecting part 205 is provided with an up-down motor 222. Note that, although the twist motor 221 is provided in the body 206 in FIG. 2, it may be provided in the connecting part 205 or in the head 204.

連結部205は、連結部205を通り胴体部206の前後方向に延びる第1回転軸を中心として(ひねりモータ221により)回転自在に、胴体部206と頭部204とを連結している。筐体207の正面図として図4及び図5に示すように、ひねりモータ221は、頭部204を、胴体部206に対して、第1回転軸を中心として時計回り(右回り)に正転角度範囲内で回転(正転)させたり、反時計回り(左回り)に逆転角度範囲内で回転(逆転)させたりする。なお、この説明における時計回りは、胴体部206から頭部204の方向を見た時の時計回りである。また、時計回りの回転を「右方へのひねり回転」、反時計回りの回転を「左方へのひねり回転」とも呼ぶことにする。右方又は左方にひねり回転させる角度の最大値は任意であるが、本実施形態では左右とも90度まで回転可能であるものとする。図4及び図5では、図3に示す、頭部204を右方へも左方へもひねっていない状態における頭部204の角度(以下「ひねり基準角度」)を0度としている。そして、最も右方へひねり回転(時計回りに回転)させた時の角度を-90度、最も左方へひねり回転(反時計回りに回転)させた時の角度を+90度、としている。 The connecting part 205 connects the body part 206 and the head part 204 so as to be freely rotatable (by the twist motor 221) around a first rotation axis that passes through the connecting part 205 and extends in the front-rear direction of the body part 206. As shown in Figs. 4 and 5 as front views of the housing 207, the twist motor 221 rotates the head part 204 clockwise (rightward) around the first rotation axis within a forward rotation angle range, and rotates the head part 204 counterclockwise (leftward) within a reverse rotation angle range. In this description, the clockwise direction is the clockwise direction when looking from the body part 206 toward the head part 204. In addition, the clockwise rotation is also called "rightward twist rotation" and the counterclockwise rotation is also called "leftward twist rotation". The maximum angle of the rightward or leftward twist rotation is arbitrary, but in this embodiment, it is assumed that the head part can rotate up to 90 degrees both left and right. In Figures 4 and 5, the angle of the head 204 when the head 204 is not twisted to the right or left as shown in Figure 3 (hereinafter referred to as the "twist reference angle") is set to 0 degrees. The angle when the head 204 is twisted all the way to the right (clockwise rotation) is set to -90 degrees, and the angle when the head is twisted all the way to the left (counterclockwise rotation) is set to +90 degrees.

また、連結部205は、連結部205を通り胴体部206の幅方向に延びる第2回転軸を中心として(上下モータ222により)回転自在に、胴体部206と頭部204とを連結する。筐体207の側面図として図6及び図7に示すように、上下モータ222は、頭部204を、第2回転軸を中心として上方に正転角度範囲内で回転(正転)させたり、下方に逆転角度範囲内で回転(逆転)させたりする。上方又は下方に回転させる角度の最大値は任意だが、本実施形態では上下とも75度まで回転可能であるものとする。図6及び図7では、図2に示す、頭部204を上方にも下方にも回転させていない状態における頭部204の角度(以下「上下基準角度」)を0度、最も下方に回転させた時の角度を-75度、最も上方に回転させた時の角度を+75度、としている。頭部204は、第2回転軸を中心とする上下の回転によって上下基準角度又は上下基準角度より下方に回転している場合は、ロボット200が置かれている床やテーブル等の載置面に、外装201を介して接触可能である。なお、図2では、第1回転軸と第2回転軸とが互いに直交している例が示されているが、第1及び第2回転軸は互いに直交していなくてもよい。 The connecting part 205 also connects the body part 206 and the head part 204 so that they can rotate freely (by the vertical motor 222) around a second rotation axis that passes through the connecting part 205 and extends in the width direction of the body part 206. As shown in Figs. 6 and 7 as side views of the housing 207, the vertical motor 222 rotates the head part 204 upward within a forward rotation angle range around the second rotation axis (forward rotation) and downward within a reverse rotation angle range (reverse rotation). The maximum angle of the upward or downward rotation is arbitrary, but in this embodiment, it is assumed that the head part 204 can rotate up to 75 degrees both upward and downward. In Figs. 6 and 7, the angle of the head part 204 when it is not rotated upward or downward (hereinafter referred to as the "vertical reference angle") shown in Fig. 2 is 0 degrees, the angle when it is rotated most downward is -75 degrees, and the angle when it is rotated most upward is +75 degrees. When the head 204 rotates vertically around the second rotation axis to the vertical reference angle or below the vertical reference angle, the head 204 can contact the placement surface, such as a floor or table, on which the robot 200 is placed, via the exterior 201. Note that, although an example in which the first rotation axis and the second rotation axis are perpendicular to each other is shown in FIG. 2, the first and second rotation axes do not have to be perpendicular to each other.

また、ロボット200は、図2に示すように、頭部204にタッチセンサ211を備え、ユーザが頭部204を撫でたり叩いたりしたことを検出することができる。また、胴体部206にもタッチセンサ211を備え、ユーザが胴体部206を撫でたり叩いたりしたことを検出することができる。 As shown in FIG. 2, the robot 200 is provided with a touch sensor 211 on the head 204, and is capable of detecting when the user strokes or hits the head 204. The robot 200 is also provided with a touch sensor 211 on the body 206, and is capable of detecting when the user strokes or hits the body 206.

また、ロボット200は、胴体部206に加速度センサ212を備え、ロボット200自体の姿勢の検出や、ユーザによって持ち上げられたり、向きを変えられたり、投げられたりしたことを検出することができる。また、ロボット200は、胴体部206にマイクロフォン213を備え、外部の音を検出することができる。さらに、ロボット200は、胴体部206にスピーカ231を備え、スピーカ231を用いてロボット200の鳴き声を発したり、歌を歌ったりすることができる。 The robot 200 also includes an acceleration sensor 212 on the torso 206, which can detect the posture of the robot 200 itself and detect when the robot 200 has been lifted, turned around, or thrown by the user. The robot 200 also includes a microphone 213 on the torso 206, which can detect external sounds. The robot 200 also includes a speaker 231 on the torso 206, which can be used to make the robot 200 cry or sing.

また、ロボット200は、胴体部206に照度センサ214を備え、周囲の明るさを検出することができる。なお、外装201は光を通す素材でできているため、外装201で覆われていても、ロボット200は、照度センサ214で周囲の明るさを検出可能である。 The robot 200 is also equipped with an illuminance sensor 214 on the torso 206, and is capable of detecting the brightness of the surroundings. Note that since the exterior 201 is made of a material that transmits light, the robot 200 can detect the brightness of the surroundings with the illuminance sensor 214 even when covered with the exterior 201.

また、ロボット200は、ひねりモータ221や上下モータ222などの電源としてのバッテリー(図9参照)と、ワイヤレス給電受信回路255を備えている。ワイヤレス給電受信回路255は、胴体部206に設けられており、バッテリーを充電する際に、ロボット200とは別個に設けられたワイヤレス充電装置(図示せず)から電力を受信する。 The robot 200 also includes a battery (see FIG. 9) as a power source for the twist motor 221, the up-down motor 222, etc., and a wireless power supply receiving circuit 255. The wireless power supply receiving circuit 255 is provided in the torso 206, and receives power from a wireless charging device (not shown) provided separately from the robot 200 when charging the battery.

なお、本実施形態では加速度センサ212、マイクロフォン213、照度センサ214及びスピーカ231が胴体部206に備えられているが、これらの全て又は一部が頭部204に備えられていてもよい。また、胴体部206に備えられた加速度センサ212、マイクロフォン213、照度センサ214及びスピーカ231に加えて、これらの全て又は一部を頭部204にも備えるようにしてもよい。また、タッチセンサ211は、頭部204及び胴体部206にそれぞれ備えられているが、頭部204又は胴体部206のいずれか片方のみに備えられていてもよい。またこれらはいずれも複数備えられていてもよい。 In this embodiment, the acceleration sensor 212, microphone 213, illuminance sensor 214, and speaker 231 are provided in the torso 206, but all or some of these may be provided in the head 204. In addition to the acceleration sensor 212, microphone 213, illuminance sensor 214, and speaker 231 provided in the torso 206, all or some of these may also be provided in the head 204. In addition, the touch sensor 211 is provided in both the head 204 and the torso 206, but it may be provided in only one of the head 204 or the torso 206. Furthermore, multiple of each of these may be provided.

また、本実施形態では、ロボット200は、筐体207が外装201に覆われているため、頭部204や胴体部206は、ロボット200が置かれている床やテーブル等の載置面に、外装201を介して間接的に接触している。しかし、このような形態には限定されず、頭部204や胴体部206は、直接的に載置面に接触してもよい。例えば、外装201の下の部分(載置面と接触する部分)が存在せずに、筐体207の下の部分(載置面と接触する部分)がむき出しになっていてもよいし、外装201が全く存在せずに、筐体207全体がむき出しになっていてもよい。 In addition, in this embodiment, the robot 200 has the housing 207 covered by the exterior 201, so the head 204 and the torso 206 are in indirect contact with the placement surface, such as a floor or a table, on which the robot 200 is placed, via the exterior 201. However, this is not limited to the above embodiment, and the head 204 and the torso 206 may be in direct contact with the placement surface. For example, the lower part of the exterior 201 (the part that contacts the placement surface) may not exist, and the lower part of the housing 207 (the part that contacts the placement surface) may be exposed, or the exterior 201 may not exist at all, and the entire housing 207 may be exposed.

次に、ロボット200の機能構成について説明する。ロボット200は、図8に示すように、機器の制御装置100と、センサ部210と、駆動部220と、出力部230と、操作部240と、電源制御部250と、を備える。そして、機器の制御装置100は、処理部110と、記憶部120と、通信部130と、を備える。図8では、機器の制御装置100と、センサ部210、駆動部220、出力部230、操作部240及び電源制御部250とが、バスラインBLを介して接続されているが、これは一例である。機器の制御装置100と、センサ部210、駆動部220、出力部230、操作部240及び電源制御部250とは、USB(Universal Serial Bus)ケーブル等の有線インタフェースや、Bluetooth(登録商標)等の無線インタフェースで接続されていてもよい。また、処理部110と記憶部120や通信部130とは、バスラインBL等を介して接続されていてもよい。 Next, the functional configuration of the robot 200 will be described. As shown in FIG. 8, the robot 200 includes a device control device 100, a sensor unit 210, a drive unit 220, an output unit 230, an operation unit 240, and a power supply control unit 250. The device control device 100 includes a processing unit 110, a memory unit 120, and a communication unit 130. In FIG. 8, the device control device 100, the sensor unit 210, the drive unit 220, the output unit 230, the operation unit 240, and the power supply control unit 250 are connected via a bus line BL, but this is an example. The device control device 100, the sensor unit 210, the drive unit 220, the output unit 230, the operation unit 240, and the power supply control unit 250 may be connected via a wired interface such as a USB (Universal Serial Bus) cable, or a wireless interface such as Bluetooth (registered trademark). In addition, the processing unit 110 may be connected to the memory unit 120 and the communication unit 130 via a bus line BL or the like.

機器の制御装置100は、処理部110及び記憶部120により、ロボット200の動作を制御する。 The device control device 100 controls the operation of the robot 200 using the processing unit 110 and memory unit 120.

処理部110は、例えば、CPU(Central Processing Unit)等で構成され、記憶部120に記憶されたプログラムにより、後述する各種処理を実行する。なお、処理部110は、複数の処理を並行して実行するマルチスレッド機能に対応しているため、後述する各種処理を並行に実行することができる。また、処理部110は、クロック機能やタイマー機能も備えており、日時等を計時することができる。 The processing unit 110 is composed of, for example, a CPU (Central Processing Unit) and executes various processes described below using programs stored in the storage unit 120. The processing unit 110 supports a multi-thread function that executes multiple processes in parallel, so it can execute various processes described below in parallel. The processing unit 110 also has a clock function and a timer function, and can measure the date and time, etc.

記憶部120は、ROM(Read Only Memory)、フラッシュメモリ、RAM(Random Access Memory)等で構成される。ROMには、処理部110のCPUが実行するプログラム及びプログラムを実行する上で予め必要なデータが、記憶されている。フラッシュメモリは書き込み可能な不揮発性のメモリであり、電源OFF後も保存させておきたいデータが記憶される。RAMには、プログラム実行中に作成されたり変更されたりするデータが記憶される。 The storage unit 120 is composed of a ROM (Read Only Memory), a flash memory, a RAM (Random Access Memory), etc. The ROM stores the programs executed by the CPU of the processing unit 110 and data required in advance to execute the programs. The flash memory is a writable non-volatile memory that stores data that should be retained even after the power is turned off. The RAM stores data that is created or changed during program execution.

通信部130は、無線LAN(Local Area Network)、Bluetooth(登録商標)等に対応した通信モジュールを備え、スマートフォン等の外部装置とデータ通信する。データ通信の内容としては、例えば、後述するアラーム機能やスリープ機能の設定に用いるアラーム設定データやスリープ設定データがある。 The communication unit 130 includes a communication module compatible with wireless LAN (Local Area Network), Bluetooth (registered trademark), etc., and communicates data with external devices such as smartphones. The contents of the data communication include, for example, alarm setting data and sleep setting data used to set the alarm function and sleep function described below.

センサ部210は、前述したタッチセンサ211、加速度センサ212、マイクロフォン213、及び照度センサ214を備える。処理部110は、バスラインBLを介して、センサ部210が備える各種センサが検出した検出値をロボット200に作用する外部刺激を表す外部刺激データとして取得する。なお、センサ部210は、タッチセンサ211、加速度センサ212、マイクロフォン213、照度センサ214以外のセンサを備えてもよい。センサ部210が備えるセンサの種類を増やすことにより、処理部110が取得できる外部刺激の種類を増やすことができる。 The sensor unit 210 includes the touch sensor 211, acceleration sensor 212, microphone 213, and illuminance sensor 214 described above. The processing unit 110 acquires, via the bus line BL, detection values detected by the various sensors included in the sensor unit 210 as external stimulus data representing external stimuli acting on the robot 200. Note that the sensor unit 210 may include sensors other than the touch sensor 211, acceleration sensor 212, microphone 213, and illuminance sensor 214. By increasing the types of sensors included in the sensor unit 210, it is possible to increase the types of external stimuli that the processing unit 110 can acquire.

タッチセンサ211は、何らかの物体が接触したことを検出する。タッチセンサ211は、例えば圧力センサや静電容量センサにより構成される。処理部110は、タッチセンサ211からの検出値に基づいて、接触強度や接触時間を取得し、これらの値に基づいて、ユーザによってロボット200が撫でられていることや、叩かれたりしていること等の外部刺激を検出することができる(例えば特開2019-217122号公報を参照)。なお、処理部110は、これらの外部刺激をタッチセンサ211以外のセンサで検出してもよい(例えば特許第6575637号公報を参照)。 The touch sensor 211 detects contact with an object. The touch sensor 211 is, for example, a pressure sensor or a capacitance sensor. The processing unit 110 obtains the contact strength and contact time based on the detection value from the touch sensor 211, and can detect external stimuli such as the robot 200 being stroked or hit by the user based on these values (see, for example, JP 2019-217122 A). Note that the processing unit 110 may detect these external stimuli with a sensor other than the touch sensor 211 (see, for example, JP 6575637 A).

加速度センサ212は、ロボット200の胴体部206の前後方向、幅(左右)方向及び上下方向から成る3軸方向の加速度を検出する。加速度センサ212は、ロボット200が静止しているときには重力加速度を検出するので、処理部110は、加速度センサ212が検出した重力加速度に基づいて、ロボット200の現在の姿勢を検出することができる。また、例えばユーザがロボット200を持ち上げたり投げたりした場合には、加速度センサ212は、重力加速度に加えてロボット200の移動に伴う加速度を検出する。したがって、処理部110は、加速度センサ212が検出した検出値から重力加速度の成分を除去することにより、ロボット200の動きを検出することができる。 The acceleration sensor 212 detects the acceleration of the torso 206 of the robot 200 in three axial directions consisting of the front-rear, width (left-right) and up-down directions. The acceleration sensor 212 detects the gravitational acceleration when the robot 200 is stationary, so the processing unit 110 can detect the current posture of the robot 200 based on the gravitational acceleration detected by the acceleration sensor 212. Also, for example, when the user lifts or throws the robot 200, the acceleration sensor 212 detects the acceleration associated with the movement of the robot 200 in addition to the gravitational acceleration. Therefore, the processing unit 110 can detect the movement of the robot 200 by removing the gravitational acceleration component from the detection value detected by the acceleration sensor 212.

マイクロフォン213は、ロボット200の周囲の音を検出する。処理部110は、マイクロフォン213が検出した音の成分に基づき、例えばユーザがロボット200に呼びかけていることや、手を叩いていること等を検出することができる。 The microphone 213 detects sounds around the robot 200. Based on the components of the sound detected by the microphone 213, the processing unit 110 can detect, for example, whether the user is calling out to the robot 200 or clapping his hands.

照度センサ214は、フォトダイオード等の受光素子を備え、周囲の明るさ(照度)を検出する。例えば、処理部110は、照度センサ214で周囲が暗いことを検出したら、ロボット200を疑似的に寝かせる(スリープ制御モードにする)制御を行うことができる。 The illuminance sensor 214 includes a light receiving element such as a photodiode, and detects the brightness (illuminance) of the surroundings. For example, when the illuminance sensor 214 detects that the surroundings are dark, the processing unit 110 can control the robot 200 to put it to sleep (to enter a sleep control mode).

駆動部220は、ロボット200(自機)の動きを表現するための可動部として、ひねりモータ221及び上下モータ222を備える。駆動部220(ひねりモータ221及び上下モータ222)は、処理部110によって駆動される。ひねりモータ221及び上下モータ222は、サーボモータであり、処理部110から動作時間及び動作角度が指定されて回転を指示されると、指定された動作時間後までに、指定された動作角度の位置まで回転するように動作する。なお、駆動部220は可動部として他の適当なアクチェータ、例えば流体圧モータ等を備えてもよい。処理部110が駆動部220を制御することにより、ロボット200は、例えば頭部204を持ち上げたり(第2回転軸を中心として上方に回転させたり)、横にひねったり(第1回転軸を中心として右方又は左方にひねり回転させたり)するような動作を表現することができる。これらの動作を行うための動作制御データは、後述するモーションテーブル125に記録されており、検出した外部刺激や後述する成長値等に基づいて、ロボット200の動作が制御される。 The driving unit 220 includes a twist motor 221 and an up-down motor 222 as movable parts for expressing the movement of the robot 200 (own machine). The driving unit 220 (twist motor 221 and up-down motor 222) is driven by the processing unit 110. The twist motor 221 and up-down motor 222 are servo motors, and when the processing unit 110 specifies an operation time and an operation angle and instructs rotation, they operate to rotate to a position of the specified operation angle by the time the specified operation time has elapsed. The driving unit 220 may include other suitable actuators as movable parts, such as a fluid pressure motor. By the processing unit 110 controlling the driving unit 220, the robot 200 can express operations such as lifting the head 204 (rotating it upward around the second rotation axis) or twisting it sideways (twisting and rotating it to the right or left around the first rotation axis). The movement control data for performing these movements is recorded in a motion table 125, which will be described later, and the movements of the robot 200 are controlled based on the detected external stimuli and growth values, which will be described later, etc.

出力部230は、スピーカ231を備え、処理部110が音のデータを出力部230に入力することにより、スピーカ231から音が出力される。例えば、処理部110がロボット200の鳴き声のデータを出力部230に入力することにより、ロボット200は疑似的な鳴き声を発する。この鳴き声のデータも、モーションテーブル125に記録されており、検出した外部刺激や後述する成長値等に基づいて鳴き声が選択される。なお、スピーカ231で構成される出力部230は、音出力部とも呼ばれる。 The output unit 230 includes a speaker 231, and when the processing unit 110 inputs sound data to the output unit 230, sound is output from the speaker 231. For example, when the processing unit 110 inputs data on the cry of the robot 200 to the output unit 230, the robot 200 emits a pseudo cry. This cry data is also recorded in the motion table 125, and the cry is selected based on the detected external stimuli and growth values, which will be described later. The output unit 230, which is composed of the speaker 231, is also called a sound output unit.

また、出力部230として、スピーカ231に代えて、又はスピーカ231に加えて、液晶ディスプレイ等のディスプレイや、LED(Light Emitting Diode)等の発光部を備え、検出した外部刺激や後述する成長値等に基づいた画像をディスプレイに表示したり、LED等を発光させたりしてもよい。 In addition, the output unit 230 may include a display such as a liquid crystal display or a light-emitting unit such as an LED (Light Emitting Diode) instead of or in addition to the speaker 231, and may display an image based on the detected external stimuli or growth values (described later) on the display or cause the LED to emit light.

操作部240は、例えば、操作ボタン、ボリュームつまみ等から構成される。操作部240は、ユーザ(所有者や被貸与者)による操作、例えば、電源ON/OFF、出力音のボリューム調整等を受け付けるためのインタフェースである。なお、ロボット200は生き物感をより高めるために、操作部240として電源スイッチ241のみを外装201の内側に備え、それ以外の操作ボタンやボリュームつまみ等を備えなくてもよい。この場合でも、通信部130を介して接続した外部のスマートフォン等を用いてロボット200のボリューム調整等の操作を行うことができる。 The operation unit 240 is composed of, for example, operation buttons, a volume knob, etc. The operation unit 240 is an interface for accepting operations by the user (owner or recipient), such as turning the power on/off and adjusting the volume of the output sound. Note that in order to enhance the feeling of life in the robot 200, the operation unit 240 may include only a power switch 241 on the inside of the exterior 201, and may not include other operation buttons, volume knobs, etc. Even in this case, operations such as adjusting the volume of the robot 200 can be performed using an external smartphone or the like connected via the communication unit 130.

電源制御部250は、詳細は後述するが、図9に示すように、サブマイコン251等を備え、ロボット200のバッテリー253の充電、ロボット200の主な機能を実現する主機能部290の電源のON/OFF制御、等の電源制御を行う。なお、主機能部290とは、ロボット200を構成する機能部のうち、電源制御部250を除いた部分であり、処理部110、駆動部220等を含む。ロボット200では、生き物感を出すために、充電ケーブル等を接続せずに、ワイヤレス充電で前記バッテリーが充電される。ワイヤレス充電の方式は任意であるが、本実施形態では電磁誘導方式が用いられる。 The power supply control unit 250, which will be described in detail later, includes a sub-microcomputer 251 and other components as shown in FIG. 9, and performs power supply control such as charging the battery 253 of the robot 200 and controlling the ON/OFF of the power supply of the main function unit 290 that realizes the main functions of the robot 200. The main function unit 290 refers to the functional units constituting the robot 200 excluding the power supply control unit 250, and includes the processing unit 110, the drive unit 220, and other components. In the robot 200, the battery is charged by wireless charging without connecting a charging cable or the like in order to give the robot 200 a feeling of life. Any method of wireless charging may be used, but in this embodiment, an electromagnetic induction method is used.

ロボット200をワイヤレス充電装置256の上に載せると、胴体部206の底面に設けられたワイヤレス給電受信回路255と外部のワイヤレス充電装置256との間で誘導磁束が発生し、充電が行われる。電磁誘導方式では、充電中にロボット200が移動したりして、ワイヤレス給電受信回路255とワイヤレス充電装置256との距離が離れてしまうと、正常な充電が行えない。このため、充電中はロボット200(駆動部220)の動作を制限する信号(動作制限信号)が、サブマイコン251から、処理部110に送信され、処理部110は、ロボット200の動作を制限するように制御する。この仕組みについても後述する。 When the robot 200 is placed on the wireless charging device 256, an induced magnetic flux is generated between the wireless power supply receiving circuit 255 provided on the bottom surface of the body 206 and the external wireless charging device 256, and charging is performed. In the electromagnetic induction method, if the robot 200 moves during charging and the distance between the wireless power supply receiving circuit 255 and the wireless charging device 256 increases, normal charging cannot be performed. For this reason, a signal (operation limiting signal) that limits the operation of the robot 200 (drive unit 220) is transmitted from the sub-microcomputer 251 to the processing unit 110 during charging, and the processing unit 110 controls the robot 200 to limit its operation. This mechanism will also be described later.

図8に戻り、記憶部120に記憶されるデータのうち、本実施形態に特徴的なデータである、感情データ121、感情変化データ122、成長テーブル123、動作内容テーブル124、モーションテーブル125及び成長日数データ126について、順に説明する。 Returning to FIG. 8, among the data stored in the memory unit 120, the following data that are characteristic of this embodiment will be described in order: emotion data 121, emotion change data 122, growth table 123, action content table 124, motion table 125, and growth days data 126.

感情データ121は、ロボット200に疑似的な感情を持たせるためのデータであり、感情マップ300上の座標を示すデータ(X,Y)である。感情マップ300は図10に示すように、X軸311として安心度(不安度)の軸、Y軸312として興奮度(無気力度)の軸を持つ2次元の座標系で表される。感情マップ上の原点310(0,0)が通常時の感情を表す。そして、X座標の値(X値)が正でその絶対値が大きくなるほど安心度が高く、Y座標の値(Y値)が正でその絶対値が大きくなるほど興奮度が高い感情を表す。また、X値が負でその絶対値が大きくなるほど不安度が高く、Y値が負でその絶対値が大きくなるほど無気力度が高い感情を表す。 Emotion data 121 is data for giving the robot 200 pseudo-emotions, and is data (X, Y) indicating coordinates on the emotion map 300. As shown in FIG. 10, the emotion map 300 is expressed as a two-dimensional coordinate system with the X-axis 311 representing the degree of security (anxiety) and the Y-axis 312 representing the degree of excitement (lethargic). The origin 310 (0, 0) on the emotion map represents normal emotions. The positive X-coordinate value (X value) represents a higher absolute value, which indicates a higher degree of security, and the positive Y-coordinate value (Y value) represents a higher absolute value, which indicates a higher degree of excitement. The negative X-value represents a higher absolute value, which indicates a higher degree of anxiety, and the negative Y-value represents a higher absolute value, which indicates a higher degree of lethargy.

感情データ121は、互いに異なる複数(本実施形態では4つ)の疑似的な感情を表す。本実施形態では、疑似的な感情を表す値のうち、安心度と不安度を1つの軸(X軸)上でまとめて表し、興奮度と無気力度を別の1つの軸(Y軸)上でまとめて表している。したがって、感情データ121は、X値(安心度、不安度)とY値(興奮度、無気力度)の2つの値を持ち、X値とY値とで表される感情マップ300上の点が、ロボット200の疑似的な感情を表す。感情データ121の初期値は(0,0)である。 The emotion data 121 represents multiple (four in this embodiment) different pseudo-emotions. In this embodiment, of the values representing the pseudo-emotions, the relief and anxiety are represented together on one axis (X-axis), and the excitement and lethargy are represented together on another axis (Y-axis). Thus, the emotion data 121 has two values, an X value (relief, anxiety) and a Y value (excitement, lethargy), and a point on the emotion map 300 represented by the X value and the Y value represents the pseudo-emotion of the robot 200. The initial value of the emotion data 121 is (0, 0).

感情データ121は、ロボット200の疑似的な感情を表すデータである。なお、図10では感情マップ300が2次元の座標系で表されているが、感情マップ300の次元数は任意である。感情マップ300を1次元で規定し、感情データ121として1つの値が設定されるようにしてもよい。また、他の軸を加えて3次元以上の座標系で感情マップ300を規定し、感情データ121として感情マップ300の次元数の個数の値が設定されるようにしてもよい。 Emotion data 121 is data that represents simulated emotions of robot 200. Note that, although emotion map 300 is shown in a two-dimensional coordinate system in FIG. 10, emotion map 300 may have any number of dimensions. Emotion map 300 may be defined in one dimension, with one value set as emotion data 121. Alternatively, emotion map 300 may be defined in a coordinate system of three or more dimensions by adding other axes, with a value set as many as the number of dimensions of emotion map 300 as emotion data 121.

本実施形態においては、感情マップ300の初期値としてのサイズは、図10の枠301に示すように、X値もY値も最大値が100、最小値が-100となっている。そして、第1期間の間、ロボット200の疑似的な成長日数が1日増える度に、感情マップ300の最大値、最小値ともに2ずつ拡大されていく。ここで第1期間とは、ロボット200が疑似的に成長する期間であり、ロボット200の疑似的な生誕から例えば50日の期間である。なお、ロボット200の疑似的な生誕とは、ロボット200の工場出荷後のユーザによる初回の起動時である。成長日数が25日になると、図10の枠302に示すように、X値もY値も最大値が150、最小値が-150となる。そして、第1期間(この例では50日)が経過すると、それにより、ロボット200の疑似的な成長が完了したとして、図10の枠303に示すように、X値もY値も最大値が200、最小値が-200となって、感情マップ300のサイズが固定される。 In this embodiment, the initial size of the emotion map 300 is such that the maximum and minimum values of both the X and Y values are 100 and -100, respectively, as shown in frame 301 of FIG. 10. During the first period, each time the number of days of simulated growth of the robot 200 increases by one day, both the maximum and minimum values of the emotion map 300 are increased by two. Here, the first period is the period during which the robot 200 grows in a simulated manner, and is, for example, a period of 50 days from the simulated birth of the robot 200. The simulated birth of the robot 200 is the first time the user starts the robot 200 after it is shipped from the factory. When the number of days of growth reaches 25 days, the maximum and minimum values of both the X and Y values are 150 and -150, respectively, as shown in frame 302 of FIG. 10. Then, when the first period (50 days in this example) has passed, the simulated growth of the robot 200 is deemed complete, and the size of the emotion map 300 is fixed, with the maximum X and Y values both becoming 200 and the minimum -200, as shown in frame 303 in FIG. 10.

感情データ121の設定可能範囲は、感情マップ300によって規定される。このため、感情マップ300のサイズが拡大するにつれて、設定可能な感情データ121の範囲が拡大する。感情データ121の設定可能範囲が拡大することにより、より豊かな感情表現が可能になるので、ロボット200の疑似的な成長が、感情マップ300のサイズの拡大によって表現されることになる。そして、感情マップ300のサイズは第1期間経過後に固定され、それにより、ロボット200の疑似的な成長が終了する。なお、ロボット200の疑似的な成長の停止条件は、上述の「第1期間が経過したら停止」に限定されず、他の条件を追加してもよい。例えば、「4つの性格値のいずれかが10(最大)になったら停止」としてもよい。この条件で成長を停止させると、4つの性格のうち1つの性格のみが最大となった時点で性格が固定されるため、特定の性格を強く出すことが可能となる。 The settable range of the emotion data 121 is determined by the emotion map 300. Therefore, as the size of the emotion map 300 increases, the settable range of the emotion data 121 increases. By increasing the settable range of the emotion data 121, richer emotional expression becomes possible, and the simulated growth of the robot 200 is expressed by increasing the size of the emotion map 300. The size of the emotion map 300 is fixed after the first period has elapsed, and the simulated growth of the robot 200 ends. The condition for stopping the simulated growth of the robot 200 is not limited to the above-mentioned "stop when the first period has elapsed", and other conditions may be added. For example, it may be "stop when any of the four personality values reaches 10 (maximum)". If the growth is stopped under this condition, the personality is fixed when only one of the four personalities reaches its maximum, making it possible to emphasize a specific personality.

感情変化データ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値のマイナス方向への変化し易さ)
The emotion change data 122 is data that sets the amount of change by which each of the X value and Y value of the emotion data 121 is increased or decreased. In this embodiment, the emotion change data 122 corresponding to the X of the emotion data 121 is DXP that increases the X value and DXM that decreases the X value, and the emotion change data 122 corresponding to the Y value of the emotion data 121 is DYP that increases the Y value and DYM that decreases the Y value. In other words, the emotion change data 122 is made up of the following four variables, and is data that indicates the degree to which the simulated emotion of the robot 200 is changed.
DXP: Ease of feeling at ease (the tendency for the X value on the emotion map to change in a positive direction)
DXM: Tendency to become anxious (the tendency for the X value on the emotion map to change in the negative direction)
DYP: Excitability (the tendency for the Y value on the emotion map to change in the positive direction)
DYM: Tendency to become apathetic (the tendency for the Y value on the emotion map to change in the negative direction)

本実施形態では、一例として、これらの変数の初期値をいずれも10とし、後述する動作制御処理の中の感情変化データを学習する処理により、最大20まで増加するものとしている。この学習処理では、感情データの値が感情マップ300の最大値又は最小値に達したかに基づく条件(外部刺激データに基づく第1条件)に応じて、感情変化データを変化させる。なお、外部刺激データに基づく第1条件としては、上記条件に限らず、感情マップ300のサイズが固定される前に感情変化データを変化(学習)させる条件(例えば、感情データ121で表されるロボット200の疑似的な感情の度合いに関する条件)であれば任意の条件を設定可能である。この学習処理により、感情変化データ122、すなわち感情の変化度合いが変化するので、ロボット200は、ユーザによるロボット200との接し方に応じて、様々な性格を持つことになる。つまり、ロボット200の性格は、ユーザの接し方により、個々に異なって形成されることになる。 In this embodiment, as an example, the initial values of these variables are all set to 10, and are increased to a maximum of 20 by a process of learning the emotion change data in the motion control process described later. In this learning process, the emotion change data is changed according to a condition based on whether the value of the emotion data has reached the maximum or minimum value of the emotion map 300 (first condition based on external stimulus data). Note that the first condition based on the external stimulus data is not limited to the above condition, and any condition that changes (learns) the emotion change data before the size of the emotion map 300 is fixed (for example, a condition related to the degree of the pseudo emotion of the robot 200 represented by the emotion data 121) can be set. Since the emotion change data 122, i.e., the degree of change in emotion, changes due to this learning process, the robot 200 will have various personalities depending on how the user interacts with the robot 200. In other words, the personality of the robot 200 will be formed differently for each user depending on how the user interacts with the robot 200.

そこで、本実施形態では、各感情変化データ122から10を減算することにより、各性格データ(性格値)を導出する。すなわち、安心し易さを示すDXPから10引いた値を性格値(陽気)とし、不安になり易さを示すDXMから10引いた値を性格値(シャイ)とし、興奮し易さを示すDYPから10引いた値を性格値(活発)とし、無気力になり易さを示すDYMから10引いた値を性格値(甘えん坊)とする。これにより、例えば、図11に示すように、性格値(陽気)を軸411に、性格値(活発)を軸412に、性格値(シャイ)を軸413に、性格値(甘えん坊)を軸414に、それぞれプロットすることで、性格値レーダーチャート400を生成することができる。 In this embodiment, each personality data (personality value) is derived by subtracting 10 from each emotion change data 122. That is, the personality value (cheerful) is obtained by subtracting 10 from DXP, which indicates the tendency to feel at ease, the personality value (shy) is obtained by subtracting 10 from DXM, which indicates the tendency to become anxious, the personality value (active) is obtained by subtracting 10 from DYP, which indicates the tendency to become excited, and the personality value (spoiled) is obtained by subtracting 10 from DYM, which indicates the tendency to become lethargic. As a result, for example, as shown in FIG. 11, a personality value radar chart 400 can be generated by plotting the personality value (cheerful) on axis 411, the personality value (active) on axis 412, the personality value (shy) on axis 413, and the personality value (spoiled) on axis 414.

各性格値の初期値は0であるため、ロボット200の最初の性格は、性格値レーダーチャート400の原点410で表される。そして、ロボット200が成長するにつれて、センサ部210で検出された外部刺激等(ユーザのロボット200への接し方)によって、各性格値が10を上限として変化する。本実施形態のように4つの性格値が0から10まで変化する場合には、11の4乗=14641通りの性格を表現できることになる。 Since the initial value of each personality value is 0, the initial personality of the robot 200 is represented by the origin 410 of the personality value radar chart 400. Then, as the robot 200 grows, each personality value changes up to an upper limit of 10 depending on external stimuli (how the user interacts with the robot 200) detected by the sensor unit 210. When the four personality values vary from 0 to 10 as in this embodiment, 11 to the power of 4 = 14641 different personalities can be expressed.

本実施形態では、ロボット200の疑似的な成長度合いを示す成長度合いデータ(成長値)として、これら4つの性格値の中で、最も大きい値を用いる。そして、処理部110は、ロボット200の疑似的な成長につれて(成長値が大きくなるにつれて)、ロボット200の動作内容にバリエーションが生じるように制御する。このために処理部110が用いるデータが成長テーブル123である。 In this embodiment, the largest value among these four personality values is used as the growth level data (growth value) indicating the simulated growth level of the robot 200. The processing unit 110 then controls the robot 200 so that variations occur in the operation content of the robot 200 as the robot 200 grows in a simulated manner (as the growth value increases). The data used by the processing unit 110 for this purpose is the growth table 123.

図12に示すように、成長テーブル123には、センサ部210で検出された外部刺激等の動作トリガーに応じてロボット200が行う動作の種類と、成長値に応じて各動作が選択される確率(以下「動作選択確率」という)とが、記録されている。そして、成長値が小さい間は、性格値とは関係なく、動作トリガーに応じて設定される基本動作が選択され、成長値が増加すると、性格値に応じて設定される性格動作が選択されるように、動作選択確率が設定されている。また、成長値が増加するほど、選択されうる基本動作の種類が増加するように、動作選択確率が設定されている。なお、図12では、各動作トリガーに対して選択される性格動作を1つとしているが、基本動作と同様に、性格値の増加に応じて、選択される性格動作の種類を増加させてもよい。 As shown in FIG. 12, the growth table 123 records the types of actions that the robot 200 performs in response to action triggers such as external stimuli detected by the sensor unit 210, and the probability that each action will be selected in response to the growth value (hereinafter referred to as "action selection probability"). The action selection probability is set so that while the growth value is small, a basic action set in response to the action trigger is selected regardless of the personality value, and as the growth value increases, a personality action set in response to the personality value is selected. The action selection probability is also set so that the types of basic actions that can be selected increase as the growth value increases. Note that in FIG. 12, one personality action is selected for each action trigger, but as with basic actions, the types of personality actions selected may be increased in response to an increase in the personality value.

例えば、ロボット200の現在の性格値が、図11に示すように、性格値(陽気)が3、性格値(活発)が8、性格値(シャイ)が5、性格値(甘えん坊)が4であり、マイクロフォン213で大きな音を検出した場合を想定する。この場合、成長値は4つの性格値の中の最大値である8となり、動作トリガーは「大きな音がする」となる。そして、図12に示す成長テーブル123で、動作トリガーが「大きな音がする」で成長値が8の項目を参照すると、動作選択確率は、「基本動作2-0」が20%、「基本動作2-1」が20%、「基本動作2-2」が40%、「性格動作2-0」が20%であることがわかる。 For example, assume that the current personality values of the robot 200 are, as shown in FIG. 11, personality value (cheerful) 3, personality value (active) 8, personality value (shy) 5, and personality value (spoiled) 4, and a loud sound is detected by the microphone 213. In this case, the growth value is 8, which is the maximum value of the four personality values, and the action trigger is "a loud noise is heard." Then, when referring to the item in the growth table 123 shown in FIG. 12 where the action trigger is "a loud noise is heard" and the growth value is 8, it can be seen that the action selection probability is 20% for "basic action 2-0", 20% for "basic action 2-1", 40% for "basic action 2-2", and 20% for "personality action 2-0".

つまり、この場合は、「基本動作2-0」が20%、「基本動作2-1」が20%、「基本動作2-2」が40%、「性格動作2-0」が20%の確率で選択される。そして、「性格動作2-0」が選択された場合は、4つの性格値に応じて、図13に示すような4種類の性格動作のいずれかの選択がさらに行われる。そして、ロボット200はここで選択された動作を実行する。この仕組みは後述する動作制御処理で実現される。なお、性格動作の中から動作を選択する動作モードを第1動作モードといい、基本動作の中から動作を選択する動作モードを第2動作モードという。 In other words, in this case, "basic action 2-0" will be selected with a probability of 20%, "basic action 2-1" with a probability of 20%, "basic action 2-2" with a probability of 40%, and "personality action 2-0" with a probability of 20%. If "personality action 2-0" is selected, one of four types of personality actions as shown in FIG. 13 is further selected according to the four personality values. The robot 200 then executes the action selected here. This mechanism is realized by the action control process described later. The action mode in which an action is selected from among the personality actions is referred to as the first action mode, and the action mode in which an action is selected from among the basic actions is referred to as the second action mode.

後述するが、性格動作は、4つの性格値それぞれの大きさに応じた確率で選択されるため、性格値の値が小さい(例えばほとんどが0)間は選択のバリエーションが少ない。そこで、本実施形態では、4つの性格値の中の最大値を成長値としている。これにより、性格動作として選択される動作のバリエーションが豊富になった時に第1動作モードが選択されるという効果がある。なお、性格値によって選択される動作のバリエーションが豊富になるか否かの判断指標としては、最大値だけでなく、合計値、平均値、最頻値等も使用可能であるので、成長値として、性格値の合計値、平均値、最頻値等を用いるようにしてもよい。 As will be described later, personality actions are selected with a probability that depends on the magnitude of each of the four personality values, so while the personality values are small (for example, most of them are 0), there is little variation in selection. Therefore, in this embodiment, the maximum value of the four personality values is used as the growth value. This has the effect of selecting the first operation mode when the variation in actions selected as personality actions becomes abundant. Note that, as well as the maximum value, the total value, average value, mode value, etc. can also be used as an indicator for determining whether the variation in actions selected by the personality values will be abundant, so the total value, average value, mode value, etc. of the personality values may be used as the growth value.

なお、成長テーブル123は、動作トリガー毎に、成長値を引数として各動作種類の動作選択確率を返す関数(成長関数)として定義できればその形態は任意であり、必ずしも図12に示すような表形式のデータである必要はない。 The growth table 123 may take any form as long as it can be defined as a function (growth function) that returns the action selection probability for each action type for each action trigger using a growth value as an argument, and does not necessarily have to be data in a tabular format as shown in FIG. 12.

動作内容テーブル124は、図13に示すように、成長テーブル123で規定された各動作種類の具体的な動作内容が記録されたテーブルである。ただし、性格動作については、性格の種類毎に、動作内容が規定される。なお、動作内容テーブル124は必須のデータではない。例えば、成長テーブル123の動作種類の項目に、具体的な動作内容を直接記録する形で成長テーブル123を構成すれば、動作内容テーブル124は不要である。 As shown in FIG. 13, the action content table 124 is a table in which the specific action content of each action type defined in the growth table 123 is recorded. However, for personality actions, the action content is defined for each personality type. Note that the action content table 124 is not essential data. For example, if the growth table 123 is configured in such a way that the specific action content is directly recorded in the action type item of the growth table 123, the action content table 124 is not necessary.

モーションテーブル125は、図14に示すように、成長テーブル123で規定された各動作種類について、処理部110が、ひねりモータ221や上下モータ222をどのように制御するのかを記録したテーブルである。具体的には、図14に示すように、動作種類毎に、各行に、動作時間(ミリ秒)、当該動作時間後のひねりモータ221の動作角度、当該動作時間後の上下モータ222の動作角度、がそれぞれ記録されている。なお、本実施形態では、各動作種類においてスピーカ231から出力する音声データについても記録されている。 As shown in FIG. 14, the motion table 125 is a table that records how the processing unit 110 controls the twist motor 221 and the up/down motor 222 for each type of motion defined in the growth table 123. Specifically, as shown in FIG. 14, for each type of motion, each row records the motion time (milliseconds), the motion angle of the twist motor 221 after that motion time, and the motion angle of the up/down motor 222 after that motion time. Note that in this embodiment, audio data to be output from the speaker 231 for each type of motion is also recorded.

例えば、後述する動作制御処理によって、基本動作2-0が選択された場合、処理部110は、まず100ミリ秒後にひねりモータ221も上下モータ222も角度が0度になるように制御し、その100ミリ秒後に上下モータ222の角度が-24度になるように制御する。そして、その後700ミリ秒間は回転させず、その500ミリ秒後にひねりモータ221の角度は34度、上下モータ222の角度は-24度になるように制御する。そして、その400ミリ秒後にひねりモータ221の角度は-34度になるように制御し、その500ミリ秒後にひねりモータ221も上下モータ222も角度が0度になるように制御して、基本動作2-0の動作を完了する。また、処理部110は、上述したひねりモータ221及び上下モータ222の駆動と並行して、短くピイと鳴く声の音声データにより、スピーカ231から短くピイと鳴く声を再生する。 For example, when basic operation 2-0 is selected by the operation control process described later, the processing unit 110 first controls both the twist motor 221 and the up-down motor 222 so that their angles are 0 degrees after 100 milliseconds, and controls the up-down motor 222 so that its angle is -24 degrees after 100 milliseconds. Then, they are not rotated for 700 milliseconds, and 500 milliseconds later, the angle of the twist motor 221 is controlled to 34 degrees and the angle of the up-down motor 222 is controlled to -24 degrees. Then, 400 milliseconds later, the angle of the twist motor 221 is controlled to -34 degrees, and 500 milliseconds later, the angle of both the twist motor 221 and the up-down motor 222 is controlled to 0 degrees, completing the operation of basic operation 2-0. In addition, in parallel with driving the twist motor 221 and the up-down motor 222, the processing unit 110 plays a short beeping sound from the speaker 231 using the audio data of the short beeping sound.

成長日数データ126は、初期値が1であり、1日経過する度に1ずつ加算されていく。成長日数データ126により、ロボット200の疑似的な成長日数(疑似的な生誕からの日数)が表されることになる。ここでは、成長日数データ126で表される成長日数の期間を、第2期間と呼ぶことにする。 The growth days data 126 has an initial value of 1 and is incremented by 1 each time a day passes. The growth days data 126 represents the simulated number of days of growth (the number of days since the simulated birth) of the robot 200. Here, the period of the number of days of growth represented by the growth days data 126 is referred to as the second period.

また、図示しないが、記憶部120には、後述する性格補正値調整処理で増減される4つの性格補正値(陽気補正値、活発補正値、シャイ補正値及び甘えん坊補正値)も記憶される。各性格値(性格値(陽気)、性格値(活発)、性格値(シャイ)及び性格値(甘えん坊))は、ロボット200の疑似的な成長が完了すると固定するが、成長完了後も、ユーザのロボット200への接し方に応じて、性格を補正するためのデータ(性格補正データ)が性格補正値である。後述するように、性格補正値は、感情マップ300上で、感情データ121が最も長く存在したエリアがどこであるかに基づく条件(外部刺激データに基づく第2条件)に応じて、設定される。なお、外部刺激データに基づく第2条件としては、上記条件に限らず、感情マップ300のサイズが固定された後の性格を補正する条件(例えば、感情データ121で表されるロボット200の疑似的な感情の発生頻度に関する条件)であれば任意の条件を設定可能である。 Although not shown, the storage unit 120 also stores four personality correction values (cheerful correction value, lively correction value, shy correction value, and spoiled correction value) that are increased or decreased in the personality correction value adjustment process described later. Each personality value (personality value (cheerful), personality value (lively), personality value (shy), and personality value (spoiled)) is fixed when the simulated growth of the robot 200 is completed, but even after the growth is completed, the personality correction value is data (personality correction data) for correcting the personality according to the user's interaction with the robot 200. As described later, the personality correction value is set according to a condition (second condition based on external stimulus data) based on which area on the emotion map 300 the emotion data 121 has existed for the longest time. Note that the second condition based on the external stimulus data is not limited to the above condition, and any condition that corrects the personality after the size of the emotion map 300 is fixed (for example, a condition related to the frequency of occurrence of the simulated emotion of the robot 200 represented by the emotion data 121) can be set.

次に、図15に示すフローチャートを参照しながら、機器の制御装置100の処理部110が実行する動作制御処理について説明する。動作制御処理は、機器の制御装置100が、センサ部210からの検出値等に基づいて、ロボット200の動作や鳴き声を制御する処理である。ユーザがロボット200の電源を入れると、後述するアラーム制御処理、スリープ制御処理等と並行に、この動作制御処理のスレッドが実行開始される。動作制御処理により、駆動部220や出力部230(音出力部)が制御され、ロボット200の動きが表現されたり、鳴き声等の音が出力されたりする。 Next, the operation control process executed by the processing unit 110 of the device control device 100 will be described with reference to the flowchart shown in FIG. 15. The operation control process is a process in which the device control device 100 controls the operation and cries of the robot 200 based on detection values from the sensor unit 210, etc. When the user turns on the power of the robot 200, a thread for this operation control process starts to run in parallel with the alarm control process, sleep control process, etc., which will be described later. The operation control process controls the drive unit 220 and output unit 230 (sound output unit) to express the movement of the robot 200 and output sounds such as cries.

まず、処理部110は、感情データ121、感情変化データ122、成長日数データ126、性格補正値等の各種データを設定する(ステップS101)。ロボット200の最初の起動時(工場出荷後のユーザによる初回の起動時)は、これらの値には初期値(感情データ121、感情変化データ122、成長日数データ126、及び性格補正値の初期値はいずれも、値0)が設定されるが、2度目以降の起動時は、前回のロボット制御処理の後述するステップS109で保存されたデータの値が設定される。ただし、感情データ121や性格補正値については、電源を入れるたびに全て0に初期化される仕様としてもよい。 First, the processing unit 110 sets various data such as emotion data 121, emotion change data 122, growth days data 126, personality correction value, etc. (step S101). When the robot 200 is started for the first time (when the user starts the robot for the first time after it is shipped from the factory), these values are set to initial values (the initial values of emotion data 121, emotion change data 122, growth days data 126, and personality correction value are all 0), but when the robot is started for the second time or later, the values of the data saved in step S109 of the previous robot control process (described later) are set. However, the emotion data 121 and personality correction value may all be initialized to 0 each time the power is turned on.

次に、処理部110は、センサ部210で検出される外部刺激があるか否かを判定する(ステップS102)。外部刺激があるなら(ステップS102;Yes)、処理部110は、センサ部210から外部刺激を取得する(ステップS103)。 Next, the processing unit 110 determines whether or not there is an external stimulus detected by the sensor unit 210 (step S102). If there is an external stimulus (step S102; Yes), the processing unit 110 acquires the external stimulus from the sensor unit 210 (step S103).

そして、処理部110は、ステップS103で取得された外部刺激に応じて、感情データ121に加算又は減算する感情変化データ122を取得する(ステップS104)。具体的には、例えば、外部刺激として頭部204のタッチセンサ211により頭部204が撫でられたことを検出すると、ロボット200は疑似的な安心感を得るので、処理部110は、感情データ121のX値に加算する感情変化データ122としてDXPを取得する。 Then, the processing unit 110 acquires emotion change data 122 to be added to or subtracted from the emotion data 121 in response to the external stimulus acquired in step S103 (step S104). Specifically, for example, when the touch sensor 211 of the head 204 detects that the head 204 has been stroked as an external stimulus, the robot 200 feels a pseudo sense of security, and the processing unit 110 acquires DXP as emotion change data 122 to be added to the X value of the emotion data 121.

そして、処理部110は、ステップS104で取得された感情変化データ122に応じて感情データ121を設定する(ステップS105)。具体的には、例えば、ステップS104で感情変化データ122としてDXPが取得されていたなら、処理部110は、感情データ121のX値に感情変化データ122のDXPを加算する。ただし、感情変化データ122を加算すると感情データ121の値(X値、Y値)が感情マップ300の最大値を超える場合には、感情データ121の値は感情マップ300の最大値に設定される。また、感情変化データ122を減算すると感情データ121の値が感情マップ300の最小値未満になる場合には、感情データ121の値は感情マップ300の最小値に設定される。 Then, the processing unit 110 sets the emotion data 121 according to the emotion change data 122 acquired in step S104 (step S105). Specifically, for example, if DXP was acquired as the emotion change data 122 in step S104, the processing unit 110 adds the DXP of the emotion change data 122 to the X value of the emotion data 121. However, if the value (X value, Y value) of the emotion data 121 exceeds the maximum value of the emotion map 300 when the emotion change data 122 is added, the value of the emotion data 121 is set to the maximum value of the emotion map 300. Also, if the value of the emotion data 121 becomes less than the minimum value of the emotion map 300 when the emotion change data 122 is subtracted, the value of the emotion data 121 is set to the minimum value of the emotion map 300.

ステップS104及びステップS105において、外部刺激の各々に対して、どのような感情変化データ122が取得されて、感情データ121が設定されるかは任意に設定可能であるが、ここでは、以下に一例を示す。なお、感情データ121のX値及びY値は感情マップ300のサイズによって最大値及び最小値が規定されているため、以下の演算によって感情マップ300の最大値を上回る場合には最大値が、感情マップ300の最小値を下回る場合には最小値が、それぞれ設定される。 In steps S104 and S105, the type of emotion change data 122 to be acquired for each external stimulus and the emotion data 121 to be set can be set arbitrarily, but an example is shown below. Note that the maximum and minimum values of the X and Y values of the emotion data 121 are determined by the size of the emotion map 300, so the following calculation sets the maximum value when the X and Y values exceed the maximum value of the emotion map 300, and sets the minimum value when the Y values fall below the minimum value of the emotion map 300.

頭部204を撫でられる(安心する):X=X+DXP
頭部204を叩かれる(不安になる):X=X-DXM
(これらの外部刺激は頭部204のタッチセンサ211で検出可能)
胴体部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
(これらの外部刺激はマイクロフォン213で検出可能)
The head 204 is stroked (feels safe): X=X+DXP
Hit on the head 204 (feels anxious): X=X-DXM
(These external stimuli can be detected by the touch sensor 211 on the head 204.)
The torso 206 is stroked (excited): Y=Y+DYP
Hitting the torso 206 (becoming lethargic): Y=Y-DYM
(These external stimuli can be detected by the touch sensor 211 on the torso 206.)
Being held with head up (happy): X = X + DXP and Y = Y + DYP
Hanging head down (sad): X = X-DXM and Y = Y-DYM
(These external stimuli can be detected by the touch sensor 211 and the acceleration sensor 212.)
A gentle voice calls out to you (becomes calm): X = X + DXP and Y = Y - DYM
Being yelled at loudly (irritated): X = X-DXM and Y = Y+DYP
(These external stimuli can be detected by microphone 213.)

例えば、頭部204を撫でられると、ロボット200の疑似的な感情は安心するので、感情データ121のX値に感情変化データ122のDXPが加算される。逆に、頭部204を叩かれると、ロボット200の疑似的な感情は不安になり、感情データ121のX値から感情変化データ122のDXMが減算される。ステップS103で処理部110は、センサ部210が備える複数のセンサにより、互いに異なる種類の複数の外部刺激を取得しているので、これら複数の外部刺激の各々に応じて感情変化データ122が取得され、取得された感情変化データ122に応じて感情データ121が設定されることになる。 For example, when the head 204 is stroked, the simulated emotion of the robot 200 is one of relief, and the DXP of the emotion change data 122 is added to the X value of the emotion data 121. Conversely, when the head 204 is hit, the simulated emotion of the robot 200 is one of anxiety, and the DXM of the emotion change data 122 is subtracted from the X value of the emotion data 121. In step S103, the processing unit 110 acquires a plurality of different types of external stimuli using a plurality of sensors provided in the sensor unit 210, and thus acquires emotion change data 122 in response to each of these plurality of external stimuli, and sets emotion data 121 in response to the acquired emotion change data 122.

そして、処理部110は、ステップS103で取得した外部刺激の情報を動作トリガーとして動作選択処理を実行し(ステップS106)、その後、ステップS108に進む。なお、動作選択処理の詳細は後述するが、動作トリガーとは、ロボット200が何らかの動作を行うきっかけとなった外部刺激等の情報である。 The processing unit 110 then executes an action selection process using the information on the external stimulus acquired in step S103 as an action trigger (step S106), and then proceeds to step S108. The action selection process will be described in detail later, but the action trigger is information on the external stimulus that triggers the robot 200 to perform some action.

一方、ステップS102で外部刺激がないなら(ステップS102;No)、処理部110は、呼吸動作等の自発的な動作を行うか否かを判定する(ステップS107)。自発的な動作を行うか否かの判定方法は任意だが、本実施形態では、第1基準時間(例えば5秒)毎にステップS107の判定がYesになるものとする。 On the other hand, if there is no external stimulus in step S102 (step S102; No), the processing unit 110 judges whether or not a spontaneous movement such as breathing is to be performed (step S107). The method of judging whether or not a spontaneous movement is to be performed is arbitrary, but in this embodiment, the judgment in step S107 becomes Yes every first reference time (e.g., 5 seconds).

自発的な動作を行うなら(ステップS107;Yes)、処理部110は、ステップS106に進んで、「第1基準時間経過」を動作トリガーとして動作選択処理を実行し、その後、ステップS108に進む。 If a spontaneous action is to be performed (step S107; Yes), the processing unit 110 proceeds to step S106, executes an action selection process using the "elapse of the first reference time" as an action trigger, and then proceeds to step S108.

自発的な動作を行わないなら(ステップS107;No)、処理部110は、処理を終了するか否かを判定する(ステップS108)。例えば、操作部240が、ユーザによるロボット200の電源OFFの指示を受け付けたら、処理を終了することになる。処理を終了するなら(ステップS108;Yes)、処理部110は、感情データ121、感情変化データ122、成長日数データ126等の各種データを記憶部120の不揮発性メモリ(例えばフラッシュメモリ)に保存し(ステップS109)、動作制御処理を終了する。なお、電源OFF時に各種データを不揮発性メモリに保存する処理については、別途、電源OFF判定スレッドを動作制御処理等の他のスレッドと並行に動作させて行うようにしてもよい。電源OFF判定スレッドでステップS108及びステップS109に相当する処理を行うようにすれば、動作制御処理のステップS108及びステップS109の処理は省略することができる。 If the robot does not perform spontaneous movements (step S107; No), the processing unit 110 judges whether or not to end the processing (step S108). For example, when the operation unit 240 receives an instruction from the user to turn off the power of the robot 200, the processing is ended. If the processing is ended (step S108; Yes), the processing unit 110 stores various data such as the emotion data 121, the emotion change data 122, and the growth days data 126 in a non-volatile memory (e.g., a flash memory) of the storage unit 120 (step S109), and ends the motion control processing. Note that the processing of storing various data in the non-volatile memory when the power is turned off may be performed by running a separate power OFF judgment thread in parallel with other threads such as the motion control processing. If the processing equivalent to steps S108 and S109 is performed in the power OFF judgment thread, the processing of steps S108 and S109 in the motion control processing can be omitted.

処理を終了しないなら(ステップS108;No)、処理部110は、クロック機能により、日付が変わったか否かを判定する(ステップS110)。日付が変わっていないなら(ステップS110;No)、ステップS102に戻る。 If the process is not to be terminated (step S108; No), the processing unit 110 uses the clock function to determine whether the date has changed (step S110). If the date has not changed (step S110; No), the process returns to step S102.

日付が変わったなら(ステップS110;Yes)、処理部110は、第1期間中であるか否かを判定する(ステップS111)。第1期間を、ロボット200の疑似的な生誕(例えば購入後のユーザによる初回の起動時)から例えば50日の期間とすると、処理部110は、成長日数データ126が50以下なら第1期間中であると判定する。第1期間中でないなら(ステップS111;No)、処理部110は、性格補正値調整処理を実行し(ステップS112)、ステップS115に進む。なお、性格補正値調整処理の詳細については後述する。 If the date has changed (step S110; Yes), the processing unit 110 judges whether or not it is within the first period (step S111). If the first period is, for example, 50 days from the pseudo-birth of the robot 200 (for example, the first startup by the user after purchase), the processing unit 110 judges that it is within the first period if the growth days data 126 is 50 or less. If it is not within the first period (step S111; No), the processing unit 110 executes a personality correction value adjustment process (step S112) and proceeds to step S115. The personality correction value adjustment process will be described in detail later.

第1期間中なら(ステップS111;Yes)、処理部110は、感情変化データ122の学習を行う(ステップS113)。具体的には、その日のステップS105において、感情データ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の学習ともいう。 If it is during the first period (step S111; Yes), the processing unit 110 performs learning of the emotion change data 122 (step S113). Specifically, in step S105 of that day, if the X value of the emotion data 121 has been set to the maximum value of the emotion map 300 even once, 1 is added to the DXP of the emotion change data 122, if the Y value of the emotion data 121 has been set to the maximum value of the emotion map 300 even once, 1 is added to the DYP of the emotion change data 122, if the X value of the emotion data 121 has been set to the minimum value of the emotion map 300 even once, 1 is added to the DXM of the emotion change data 122, and if the Y value of the emotion data 121 has been set to the minimum value of the emotion map 300 even once, 1 is added to the DYM of the emotion change data 122, thereby updating the emotion change data 122. This update is also called learning of the emotion change data 122.

ただし、感情変化データ122の各値が大きくなりすぎると、感情データ121の1回の変化量が大きくなりすぎるので、感情変化データ122の各値は例えば20を最大値とし、それ以下に制限する。また、ここでは、感情変化データ122のいずれに対しても1を加算することとしたが、加算する値は1に限定されない。例えば、感情データ121の各値が感情マップ300の最大値又は最小値に設定された回数をカウントして、その回数が多い場合には、感情変化データ122に加算する数値を増やすようにしてもよい。 However, if each value of the emotion change data 122 becomes too large, the amount of change in each emotion data 121 becomes too large, so each value of the emotion change data 122 is limited to a maximum value of, for example, 20 or less. Also, although 1 is added to each piece of emotion change data 122 here, the value added is not limited to 1. For example, the number of times each value of the emotion data 121 is set to the maximum or minimum value of the emotion map 300 can be counted, and if this number is large, the value added to the emotion change data 122 can be increased.

ステップS113での感情変化データ122の学習は、ステップS105で感情データ121が感情マップ300の最大値又は最小値に設定されるか否かに基づく。そして、ステップS105で感情データ121が感情マップ300の最大値又は最小値に設定されるか否かは、ステップS103で取得された外部刺激に基づく。そして、ステップS103では、センサ部210が備える複数のセンサにより、互いに異なる種類の複数の外部刺激が取得されるので、これら複数の外部刺激の各々に応じて、感情変化データ122の各々が学習されることになる。 The learning of the emotion change data 122 in step S113 is based on whether the emotion data 121 is set to the maximum or minimum value of the emotion map 300 in step S105. Whether the emotion data 121 is set to the maximum or minimum value of the emotion map 300 in step S105 is based on the external stimuli acquired in step S103. In step S103, multiple sensors provided in the sensor unit 210 acquire multiple external stimuli of different types, and each of the emotion change data 122 is learned in response to each of these multiple external stimuli.

例えば、頭部204のみが何度も撫でられると感情変化データ122のDXPのみが増加し、他の感情変化データ122は変化しないので、ロボット200は安心しやすい性格になる。また、頭部204のみが何度も叩かれると感情変化データ122のDXMのみが増加し、他の感情変化データ122は変化しないので、ロボット200は不安になりやすい性格になる。このように、処理部110は、外部刺激の各々に応じて、感情変化データ122を互いに異ならせるように学習する。本実施形態では、感情変化データ122から性格値が算出され、性格値の最大値が成長値となるため、ユーザのロボット200への接し方に基づいてロボット200が疑似的に成長する効果を得ることができる。 For example, when only the head 204 is stroked repeatedly, only the DXP of the emotion change data 122 increases, while the other emotion change data 122 does not change, so that the robot 200 has a personality that is easy to feel at ease. When only the head 204 is hit repeatedly, only the DXM of the emotion change data 122 increases, while the other emotion change data 122 does not change, so that the robot 200 has a personality that is easy to feel anxious. In this way, the processing unit 110 learns to make the emotion change data 122 different from one another in response to each external stimulus. In this embodiment, a personality value is calculated from the emotion change data 122, and the maximum personality value becomes the growth value, so that it is possible to obtain the effect of the robot 200 growing in a pseudo manner based on the user's way of interacting with the robot 200.

なお、本実施形態では、その日1日の期間でステップS105において、感情データ121のX値やY値が1度でも感情マップ300の最大値や最小値に達したら、感情変化データ122を学習させている。しかし、感情変化データ122を学習させる条件はこれに限らない。例えば、感情データ121のX値やY値が1度でも所定の値(例えば、感情マップ300の最大値の0.5倍の値や最小値の0.5倍の値)に達したら感情変化データ122を学習させてもよい。また、期間に関しても、その日1日の期間に限らず、半日や1週間等の他の期間で、感情データ121のX値やY値が1度でも所定の値に達したら、感情変化データ122を学習させるようにしてもよい。また、1日等の一定の期間ではなく、外部刺激の取得回数が所定回数(例えば50回)に達するまでの期間で、感情データ121のX値やY値が1度でも所定の値に達したら、感情変化データ122を学習させるようにしてもよい。 In this embodiment, in step S105, if the X value or Y value of the emotion data 121 reaches the maximum or minimum value of the emotion map 300 even once during the period of one day, the emotion change data 122 is learned. However, the condition for learning the emotion change data 122 is not limited to this. For example, the emotion change data 122 may be learned if the X value or Y value of the emotion data 121 reaches a predetermined value even once (for example, 0.5 times the maximum value or 0.5 times the minimum value of the emotion map 300). In addition, the period is not limited to the period of one day, but if the X value or Y value of the emotion data 121 reaches a predetermined value even once during other periods such as half a day or one week, the emotion change data 122 may be learned. In addition, the emotion change data 122 may be learned if the X value or Y value of the emotion data 121 reaches a predetermined value even once during a period until the number of times an external stimulus is acquired reaches a predetermined number (for example, 50 times), rather than a fixed period such as one day.

図15に戻り、処理部110は、感情マップ300を最大値、最小値ともに、2だけ拡大する(ステップS114)。なお、ここでは、感情マップ300を最大値、最小値ともに、2だけ拡大することとしたが、この拡大する数値「2」はあくまでも一例であり、3以上拡大してもよいし、1だけ拡大してもよい。また感情マップ300の軸毎、また最大値と最小値とで、拡大する数値が同じでなくてもよい。そして、処理部110は、成長日数データ126に1を加算し、感情データをX値、Y値ともに0に初期化して(ステップS115)、ステップS102に戻る。 Returning to FIG. 15, the processing unit 110 expands the emotion map 300 by 2 for both the maximum and minimum values (step S114). Note that here, the emotion map 300 is expanded by 2 for both the maximum and minimum values, but this expansion value of "2" is merely an example, and the emotion map 300 may be expanded by 3 or more, or may be expanded by 1. The expansion value does not have to be the same for each axis of the emotion map 300, or for the maximum and minimum values. The processing unit 110 then adds 1 to the number of days of growth data 126, initializes the emotion data to 0 for both the X and Y values (step S115), and returns to step S102.

なお、図15では、感情変化データの学習及び感情マップの拡大は、ステップS110で日付が変わったのを判定してから行われるものとしているが、基準時刻(例えば午後9時)になったことを判定してから行われるようにしてもよい。また、ステップS110での判定は、実際の日付で判定するのではなく、ロボット200が電源ONになっている時間を処理部110のタイマー機能で累計した値に基づいて判定してもよい。例えば、電源ONの累計時間が24の倍数の時間になる毎に、ロボット200が1日成長したとみなして、感情変化データの学習及び感情マップの拡大が行われるようにしてもよい。また、ロボット200を放置しがちなユーザを考慮して(放置された場合にはロボット200の成長が遅くなるように)、外部刺激の取得回数に基づいて(例えば、取得回数が100回になる毎に1日成長したとみなす)判定をしてもよい。 15, learning of emotion change data and expansion of emotion map are performed after it is determined that the date has changed in step S110, but they may be performed after it is determined that a reference time (e.g., 9 p.m.) has been reached. Also, the determination in step S110 may be based on a value accumulated by the timer function of the processing unit 110 for the time that the robot 200 has been powered on, rather than on the actual date. For example, each time the accumulated time that the power has been on is a multiple of 24, the robot 200 may be considered to have grown by one day, and learning of emotion change data and expansion of the emotion map may be performed. Also, taking into consideration users who tend to leave the robot 200 unattended (so that the growth of the robot 200 slows when it is left unattended), the determination may be based on the number of times that external stimuli are acquired (for example, each time 100 times the number of acquisitions is reached, it may be considered to have grown by one day).

次に、上述の動作制御処理のステップS106で実行される動作選択処理について、図16を参照して説明する。 Next, the action selection process executed in step S106 of the above-mentioned action control process will be described with reference to FIG. 16.

まず、処理部110は、第1期間中であるか否かを判定する(ステップS200)。第1期間中なら(ステップS200;Yes)、処理部110は、ステップS113で学習された感情変化データ122から性格値を算出する(ステップS201)。具体的には、以下のように4つの性格値を算出する。感情変化データ122はそれぞれ初期値が10で最大20まで増加するため、ここでは10を減算することによって値の範囲を0以上10以下にしている。
性格値(陽気)=DXP-10
性格値(シャイ)=DXM-10
性格値(活発)=DYP-10
性格値(甘えん坊)=DYM-10
First, the processing unit 110 judges whether or not it is in the first period (step S200). If it is in the first period (step S200; Yes), the processing unit 110 calculates a personality value from the emotion change data 122 learned in step S113 (step S201). Specifically, four personality values are calculated as follows. Since the emotion change data 122 each has an initial value of 10 and increases up to a maximum of 20, here, 10 is subtracted to set the value range from 0 to 10.
Personality score (cheerful) = DXP - 10
Personality score (shy) = DXM-10
Personality score (active) = DYP-10
Personality score (spoiled) = DYM-10

一方、第1期間中でないなら(ステップS200;No)、処理部110は、ステップS113で学習された感情変化データ122とステップS112で調整された性格補正値とに基づいて、補正した性格値を算出する(ステップS201)。具体的には、以下のように4つの性格値を算出する。感情変化データ122はそれぞれ初期値が10で最大20まで増加するため、ここでは10を減算することによって値の範囲を0以上10以下にしてから各補正値を加算している。ただし、補正値を加算した値が負になったら0に、10を超えた場合は10に、それぞれ補正し、各性格値の値が0以上10以下になるようにする。
性格値(陽気)=DXP-10+陽気補正値
性格値(シャイ)=DXM-10+シャイ補正値
性格値(活発)=DYP-10+活発補正値
性格値(甘えん坊)=DYM-10+甘えん坊補正値
On the other hand, if it is not during the first period (step S200; No), the processing unit 110 calculates a corrected personality value based on the emotion change data 122 learned in step S113 and the personality correction value adjusted in step S112 (step S201). Specifically, four personality values are calculated as follows. Since the emotion change data 122 each has an initial value of 10 and can increase up to a maximum of 20, 10 is subtracted here to set the value range to 0 to 10, and then each correction value is added. However, if the value to which the correction value is added becomes negative, it is corrected to 0, and if it exceeds 10, it is corrected to 10, so that each personality value is between 0 and 10.
Personality value (cheerful) = DXP - 10 + cheerful correction value Personality value (shy) = DXM - 10 + shy correction value Personality value (active) = DYP - 10 + active correction value Personality value (spoiled) = DYM - 10 + spoiled correction value

次に、処理部110は、これらの性格値の中で最も大きい数値を成長値として算出する(ステップS202)。そして、処理部110は、成長テーブル123を参照して、動作選択処理を実行する際に与えられた動作トリガーと、ステップS202で算出した成長値と、に対応する各動作種類の動作選択確率を取得する(ステップS203)。 Next, the processing unit 110 calculates the largest value among these personality values as the growth value (step S202). The processing unit 110 then refers to the growth table 123 to obtain the action selection probability for each action type that corresponds to the action trigger given when performing the action selection process and the growth value calculated in step S202 (step S203).

次に、処理部110は、ステップS203で取得した各動作種類の動作選択確率に基づいて、乱数を用いて動作種類を選択する(ステップS204)。例えば、算出した成長値が8、動作トリガーは「大きな音がする」の場合、20%の確率で「基本動作2-0」が選択され、20%の確率で「基本動作2-1」が選択され、40%の確率で「基本動作2-2」が選択され、20%の確率で「性格動作2-0」が選択される(図12参照)。 Next, the processing unit 110 selects an action type using a random number based on the action selection probability of each action type obtained in step S203 (step S204). For example, if the calculated growth value is 8 and the action trigger is "makes a loud noise", then there is a 20% probability that "basic action 2-0" will be selected, a 20% probability that "basic action 2-1" will be selected, a 40% probability that "basic action 2-2" will be selected, and a 20% probability that "personality action 2-0" will be selected (see FIG. 12).

そして、処理部110は、ステップS204で性格動作が選択されたか否かを判定する(ステップS205)。性格動作が選択されておらず、すなわち、基本動作が選択されていれば(ステップS205;No)、ステップS208に進む。 Then, the processing unit 110 determines whether or not a character action was selected in step S204 (step S205). If a character action has not been selected, i.e., a basic action has been selected (step S205; No), the processing proceeds to step S208.

性格動作が選択されていたら(ステップS205;Yes)、処理部110は、各性格値の大きさに基づいて、各性格の選択確率を取得する(ステップS206)。具体的には、各性格について、その性格に対応する性格値を4つの性格値の合計値で割った値をその性格の選択確率とする。 If a personality action has been selected (step S205; Yes), the processing unit 110 obtains the selection probability of each personality based on the magnitude of each personality value (step S206). Specifically, for each personality, the selection probability of that personality is determined by dividing the personality value corresponding to that personality by the sum of the four personality values.

そして、処理部110は、ステップS206で取得した各性格の選択確率に基づき、乱数を用いて性格動作を選択する(ステップS207)。例えば、性格値(陽気)が3、性格値(活発)が8、性格値(シャイ)が5、性格値(甘えん坊)が4の場合、これらの合計値は3+8+5+4=20である。したがって、この場合、「陽気」の性格動作が3/20=15%の確率で、「活発」の性格動作が8/20=40%の確率で、「シャイ」の性格動作が5/20=25%の確率で、「甘えん坊」の性格動作が4/20=20%の確率で、それぞれ選択されることになる。 Then, the processing unit 110 selects a personality action using a random number based on the selection probability of each personality acquired in step S206 (step S207). For example, if the personality value (cheerful) is 3, the personality value (active) is 8, the personality value (shy) is 5, and the personality value (spoiled) is 4, then the sum of these is 3 + 8 + 5 + 4 = 20. Therefore, in this case, the "cheerful" personality action will be selected with a probability of 3/20 = 15%, the "active" personality action with a probability of 8/20 = 40%, the "shy" personality action with a probability of 5/20 = 25%, and the "spoiled" personality action with a probability of 4/20 = 20%.

次に、処理部110は、ステップS204又はS207で選択された動作を実行し(ステップS208)、動作選択処理を終了して、動作制御処理のステップS108に進む。 Next, the processing unit 110 executes the action selected in step S204 or S207 (step S208), ends the action selection process, and proceeds to step S108 of the action control process.

次に、上述の動作制御処理のステップS112で実行される性格補正値調整処理について、図17を参照して説明する。 Next, the personality correction value adjustment process executed in step S112 of the above-mentioned operation control process will be described with reference to FIG. 17.

まず、処理部110は、その1日の間における感情データ121の変化(感情マップ300上での移動)の履歴に基づき、感情マップ300上で、その1日の間(図15のステップS110での判定がNoからYesに切り替わるまでの間)に感情データ121が最も長く存在したエリア(以下「最長存在エリア」という)を算出する(ステップS301)。 First, the processing unit 110 calculates the area on the emotion map 300 where the emotion data 121 existed the longest during that day (until the determination in step S110 in FIG. 15 switches from No to Yes) (hereinafter referred to as the "longest existence area") based on the history of changes in the emotion data 121 (movement on the emotion map 300) during that day (step S301).

そして、処理部110は、ステップS301で算出した最長存在エリアが図10に示す感情マップ300上の安心エリア(具体的にはX値が100以上のエリア)であるか否かを判定する(ステップS302)。最長存在エリアが感情マップ300上の安心エリアであれば(ステップS302;Yes)、処理部110は、性格補正値のうちの陽気補正値に1を加算し、シャイ補正値から1を減算し(ステップS303)、ステップS304に進む。 Then, the processing unit 110 judges whether the longest existence area calculated in step S301 is a safe area (specifically, an area with an X value of 100 or more) on the emotion map 300 shown in FIG. 10 (step S302). If the longest existence area is a safe area on the emotion map 300 (step S302; Yes), the processing unit 110 adds 1 to the cheerful correction value of the personality correction value and subtracts 1 from the shy correction value (step S303), and proceeds to step S304.

最長存在エリアが感情マップ300上の安心エリアでなければ(ステップS302;No)、処理部110は、最長存在エリアが感情マップ300上の興奮エリア(具体的にはY値が100以上のエリア)であるか否かを判定する(ステップS304)。最長存在エリアが感情マップ300上の興奮エリアであれば(ステップS304;Yes)、処理部110は、性格補正値のうちの活発補正値に1を加算し、甘えん坊補正値から1を減算し(ステップS305)、ステップS306に進む。 If the longest presence area is not a safe area on the emotion map 300 (step S302; No), the processing unit 110 judges whether the longest presence area is an excited area on the emotion map 300 (specifically, an area with a Y value of 100 or more) (step S304). If the longest presence area is an excited area on the emotion map 300 (step S304; Yes), the processing unit 110 adds 1 to the activeness correction value of the personality correction value and subtracts 1 from the spoiled child correction value (step S305), and proceeds to step S306.

最長存在エリアが感情マップ300上の興奮エリアでなければ(ステップS304;No)、処理部110は、最長存在エリアが感情マップ300上の不安エリア(具体的にはX値が-100以下のエリア)であるか否かを判定する(ステップS306)。最長存在エリアが感情マップ300上の不安エリアであれば(ステップS306;Yes)、処理部110は、性格補正値のうちのシャイ補正値に1を加算し、陽気補正値から1を減算し(ステップS307)、ステップS308に進む。 If the longest presence area is not an excited area on the emotion map 300 (step S304; No), the processing unit 110 judges whether the longest presence area is an anxious area on the emotion map 300 (specifically, an area with an X value of -100 or less) (step S306). If the longest presence area is an anxious area on the emotion map 300 (step S306; Yes), the processing unit 110 adds 1 to the shyness correction value of the personality correction value and subtracts 1 from the cheerfulness correction value (step S307), and proceeds to step S308.

最長存在エリアが感情マップ300上の不安エリアでなければ(ステップS306;No)、処理部110は、最長存在エリアが感情マップ300上の無気力エリア(具体的にはX値が-100以下のエリア)であるか否かを判定する(ステップS308)。最長存在エリアが感情マップ300上の無気力エリアであれば(ステップS308;Yes)、処理部110は、性格補正値のうちの甘えん坊補正値に1を加算し、活発補正値から1を減算し(ステップS309)、ステップS310に進む。 If the longest presence area is not an anxious area on the emotion map 300 (step S306; No), the processing unit 110 judges whether the longest presence area is an apathetic area on the emotion map 300 (specifically, an area with an X value of -100 or less) (step S308). If the longest presence area is an apathetic area on the emotion map 300 (step S308; Yes), the processing unit 110 adds 1 to the spoiled correction value of the personality correction value and subtracts 1 from the active correction value (step S309), and proceeds to step S310.

最長存在エリアが感情マップ300上の無気力エリアでなければ(ステップS308;No)、処理部110は、最長存在エリアが感情マップ300上の中央エリア(具体的にはX値及びY値ともにその絶対値が100未満のエリア)であるか否かを判定する(ステップS310)。最長存在エリアが感情マップ300上の中央エリアであれば(ステップS310;Yes)、処理部110は、4つの性格補正値のすべてについて、その絶対値を1減少させ(ステップS311)、ステップS312に進む。 If the longest presence area is not the apathetic area on the emotion map 300 (step S308; No), the processing unit 110 determines whether the longest presence area is the central area on the emotion map 300 (specifically, an area where the absolute values of both the X value and the Y value are less than 100) (step S310). If the longest presence area is the central area on the emotion map 300 (step S310; Yes), the processing unit 110 decreases the absolute values of all four personality correction values by 1 (step S311) and proceeds to step S312.

最長存在エリアが感情マップ300上の中央エリアでなければ(ステップS310;No)、処理部110は、4つの性格補正値の範囲を限定する(ステップS312)。具体的には、-5よりも小さくなった性格補正値は-5とし、+5よりも大きくなった性格補正値は+5とする。そして、処理部110は、性格補正値調整処理を終了し、処理を動作制御処理のステップS115に進める。 If the longest existence area is not the central area on the emotion map 300 (step S310; No), the processing unit 110 limits the range of the four personality correction values (step S312). Specifically, a personality correction value smaller than -5 is set to -5, and a personality correction value larger than +5 is set to +5. The processing unit 110 then ends the personality correction value adjustment process and proceeds to step S115 of the motion control process.

上述の動作制御処理により、ロボット200の疑似的な性格について、第1期間中はステップS113及びステップS201によって基本的な性格(基本性格データ)が設定され、第1期間経過後にはステップS112及びステップS209によって基本的な性格を変化させることなく性格値を補正することができる。 By the above-mentioned motion control process, the basic personality (basic personality data) is set for the simulated personality of the robot 200 during the first period in steps S113 and S201, and after the first period has elapsed, the personality value can be corrected without changing the basic personality in steps S112 and S209.

第1期間中の性格は、感情変化データ122、すなわち感情マップ300上での感情データ121の移動速度に対応している。つまり、感情の変化の速度を性格に対応付けているため、性格の表現方法として極めて自然である。また、ステップS113において、感情変化データ122は増加方向にしか変化しないので、性格値は過去の情報(第1期間中にユーザから受けた外部刺激等)を反映していると考えることができる。そして、ステップS113において、4つの感情変化データ122全てが変化し得るので、複数の性格が組み合わさった性格も構築され得る。 The personality during the first period corresponds to the emotion change data 122, i.e., the speed of movement of the emotion data 121 on the emotion map 300. In other words, since the speed of emotion change corresponds to the personality, it is an extremely natural way of expressing personality. Furthermore, since the emotion change data 122 only changes in an increasing direction in step S113, the personality value can be considered to reflect past information (such as external stimuli received from the user during the first period). And, since all four emotion change data 122 can change in step S113, a personality that combines multiple personality traits can also be constructed.

また、第1期間経過後は、感情変化データ122は固定されるので、基本的な性格は固定される。そして、ステップS112で設定される補正値は、その日の最長存在エリアに応じて1の増減しかしないため、補正値による性格値の変化は、第1期間中の変化に比べて緩やかな変化となる。また、ロボット200が放置されると最長存在エリアは中央エリアになるため補正値は0に近づき、基本的な性格に戻る。 After the first period has elapsed, the emotion change data 122 is fixed, and so the basic personality is fixed. The correction value set in step S112 only increases or decreases by 1 depending on the longest presence area on that day, so the change in personality value due to the correction value is more gradual than the change during the first period. When the robot 200 is left alone, the longest presence area becomes the central area, so the correction value approaches 0 and the personality returns to its basic state.

なお、図15では性格補正値調整処理(ステップS112)は、ステップS110で日付が変わったことを判定してから、すなわち、1日の期間が経過する度に行われるものとしている。しかし、この期間は1日に限定されず、半日や1週間等の他の期間が経過する度に性格補正値調整処理が行われるようにしてもよい。また、1日等の一定の期間ではなく、外部刺激の取得回数が所定回数(例えば50回)に達する度に性格補正値調整処理が行われるようにしてもよい。 In FIG. 15, the personality correction value adjustment process (step S112) is performed after it is determined in step S110 that the date has changed, that is, every time a one-day period has passed. However, this period is not limited to one day, and the personality correction value adjustment process may be performed every time another period, such as half a day or one week, has passed. Furthermore, instead of a fixed period such as one day, the personality correction value adjustment process may be performed every time the number of times the external stimulus has been obtained reaches a predetermined number (for example, 50 times).

また、上述の性格補正値調整処理(図17)では、この期間中における感情データ121の感情マップ300上での最長存在エリアに基づいて性格補正値を調整しているが、調整方法はこれに限定されない。例えば、感情マップ300上の複数のエリアの各々に感情データ121が存在した回数を単位時間毎にカウントしておき、この回数が所定回数に達したら、そのエリアに基づいて性格補正値を調整するようにしてもよい。 In addition, in the personality correction value adjustment process (Figure 17) described above, the personality correction value is adjusted based on the area on the emotion map 300 where the emotion data 121 exists for the longest period of time, but the adjustment method is not limited to this. For example, the number of times that the emotion data 121 exists in each of multiple areas on the emotion map 300 may be counted per unit time, and when this number reaches a predetermined number, the personality correction value may be adjusted based on that area.

また、上述の動作制御処理ではステップS110及びS111で、成長日数データ126が第1期間中であるという条件が成立するか否かによって、感情変化データ122を学習(基本性格データを変更設定)するか否かを切り替えている。しかし、この切り替えを行う条件は、成長日数データ126が第1期間中という条件に限らず、ロボット200の疑似的な成長度合いに関連する所定条件が成立しているか否かによって切り替えればよい。 In addition, in the above-mentioned operation control process, in steps S110 and S111, whether or not to learn the emotion change data 122 (change and set the basic personality data) is switched depending on whether or not the condition that the growth day data 126 is in the first period is satisfied. However, the condition for this switching is not limited to the condition that the growth day data 126 is in the first period, and it may be switched depending on whether or not a predetermined condition related to the simulated growth degree of the robot 200 is satisfied.

例えば、この所定条件として、「成長日数データ126が所定の値以上」という条件に代えて、又はこの条件とともに(OR条件で)、「ロボット200の疑似的な成長度合いを表す成長度合いデータとして、4つの性格値の中で、最も大きな値が所定の値以上」という条件を用いてもよい。また、この成長度合いデータは、日数に応じて設定してもよいし、外部刺激を検出した回数に応じて設定してもよい、性格値の値に応じて設定してもよいし、これらを組み合わせた値(例えばこれらの和、平均値等)に応じて設定してもよい。 For example, as the predetermined condition, instead of or together with (OR condition) the condition "the number of days of growth data 126 is equal to or greater than a predetermined value," a condition "the largest value among the four personality values is equal to or greater than a predetermined value as growth level data representing the simulated growth level of the robot 200" may be used. In addition, this growth level data may be set according to the number of days, the number of times an external stimulus is detected, the personality value, or a combination of these (for example, the sum or average of these).

なお、上述の動作選択処理において、ロボット200の動作を選択する際に感情データ121を参照して、動作の選択に感情データ121の値を反映させるようにしてもよい。例えば、成長テーブル123を感情データ121の値に応じて複数用意して感情表現を豊かに行う動作の種類を設定しておき、その時点の感情データ121の値に対応した成長テーブル123を用いて動作を選択したり、モーションテーブル125に記録されている各動作の動作選択確率の値を感情データ121の値に応じて調整したりしてもよい。これにより、ロボット200は、より現在の感情を反映した動作を行うことができるようになる。 In the above-mentioned action selection process, the emotion data 121 may be referenced when selecting an action for the robot 200, and the value of the emotion data 121 may be reflected in the action selection. For example, multiple growth tables 123 may be prepared according to the value of the emotion data 121 to set types of actions that express emotions richly, and an action may be selected using the growth table 123 that corresponds to the value of the emotion data 121 at that time, or the action selection probability value for each action recorded in the motion table 125 may be adjusted according to the value of the emotion data 121. This allows the robot 200 to perform actions that better reflect its current emotions.

また、図15のステップS107での判定がYesとなった場合には、ステップS106の動作選択処理において、自発的な動作として呼吸動作や性格に伴う動作が行われるが、その際には、感情データ121のX値及びY値に応じた動作が行われるようにしてもよい。 In addition, if the determination in step S107 in FIG. 15 is Yes, in the action selection process in step S106, a spontaneous action such as breathing action or an action associated with personality is performed, and in this case, an action corresponding to the X value and Y value of the emotion data 121 may be performed.

また、感情データ121のY値は、正の方向が興奮度に、負の方向が無気力度に対応するので、ロボット200が出力する鳴き声の音量をY値に応じて変更してもよい。すなわち、処理部110は、感情データ121のY値が正の値で大きいほどスピーカ231から出力する鳴き声の音量を上げ、Y値が負の値で小さいほどスピーカ231から出力する鳴き声の音量を下げるようにしてもよい。 In addition, since the Y value of emotion data 121 corresponds to excitement in the positive direction and to lethargy in the negative direction, the volume of the cry output by robot 200 may be changed according to the Y value. That is, processing unit 110 may increase the volume of the cry output from speaker 231 as the Y value of emotion data 121 becomes larger as a positive value, and decrease the volume of the cry output from speaker 231 as the Y value becomes smaller as a negative value.

また、成長テーブル123は、ロボット200の用途(例えば、幼児向けの情操教育用、お年寄り向けの対話用等)によって、複数のバリエーションが用意されていてもよい。また、ロボット200の用途を変更したい場合等のために、通信部130を介して成長テーブル123を外部のサーバ等からダウンロードできるようになっていてもよい。 The growth table 123 may be prepared in multiple variations depending on the purpose of the robot 200 (e.g., for emotional education of young children, for dialogue with the elderly, etc.). The growth table 123 may be made downloadable from an external server, etc., via the communication unit 130 in cases where it is desired to change the purpose of the robot 200.

また、上述の動作選択処理では、4つの性格値の中で最も大きい値を成長値として用いたが、成長値はこれに限定されない。例えば、成長日数データ126に基づいて成長値を設定してもよい(例えば、成長日数データ126を所定の値(例えば10)で割って小数点以下を切り捨てた値を成長値として用いる等)。ユーザに放置されたロボット200は、性格値の値が小さいままであることが多く、性格値の最大値を成長値とした場合には、性格動作が選択されない場合もあり得る。このような場合でも、成長日数データ126に基づいて成長値を設定すれば、ユーザによるお世話の頻度には関係なく、成長日数に応じて性格動作が選択されるようになる。また、性格値と成長日数データ126との両方に基づいて成長値を設定してもよい(例えば、性格値の中で最も大きい値と成長日数データ126との和を所定の値で割って小数点以下を切り捨てた値を成長値として用いる等)。 In the above-mentioned operation selection process, the largest value among the four personality values is used as the growth value, but the growth value is not limited to this. For example, the growth value may be set based on the number of days of growth data 126 (for example, the growth value may be set by dividing the number of days of growth data 126 by a predetermined value (for example, 10) and rounding down to the nearest whole number). The personality value of the robot 200 left unattended by the user is often small, and if the maximum personality value is set as the growth value, a personality operation may not be selected. Even in such a case, if the growth value is set based on the number of days of growth data 126, a personality operation will be selected according to the number of days of growth, regardless of the frequency of care by the user. The growth value may also be set based on both the personality value and the number of days of growth data 126 (for example, the growth value may be set by dividing the sum of the largest personality value and the number of days of growth data 126 by a predetermined value and rounding down to the nearest whole number).

また、上述の実施形態では、感情変化データ122に基づいて性格値を設定したが、性格値の設定方法は、この方法に限定されない。例えば、性格値を感情変化データ122に基づかずに、外部刺激データから直接的に設定してもよい。例えば、撫でられたら性格値(活発)を増加させ、叩かれたら性格値(シャイ)を減少させる等の方法が考えられる。また、性格値を感情データ121に基づいて設定してもよい。例えば、感情データ121のX値及びY値をそれぞれ1/10にした値を性格値にする等の方法が考えられる。 In the above embodiment, the personality value is set based on the emotion change data 122, but the method of setting the personality value is not limited to this method. For example, the personality value may be set directly from the external stimulus data, without being based on the emotion change data 122. For example, a method is conceivable in which the personality value (active) increases when the character is stroked, and the personality value (shy) decreases when the character is hit. The personality value may also be set based on the emotion data 121. For example, a method is conceivable in which the personality value is calculated by dividing the X and Y values of the emotion data 121 by 1/10.

以上説明した動作制御処理によれば、ロボット200に疑似的な感情(感情データ121)を持たせることができる。また、感情データ121を変化させる感情変化データ122を外部刺激に応じて学習することによって、ロボット200の個々が外部刺激に応じて異なる感情の変化を表すようになる結果、ロボット200の個々に疑似的な性格(性格値)を持たせることができる。また、感情変化データ122から性格が導出されるため、感情変化データ122をコピーすることによって、同一の性格を持つクローンロボットを生成することも可能になる。例えば、感情変化データ122のバックアップデータを保存しておけば、ロボット200が故障してしまっても、バックアップデータを復元することによって、同一の性格を持つロボット200を再生することができる。 The above-described motion control process allows the robot 200 to have pseudo emotions (emotion data 121). Furthermore, by learning the emotion change data 122 that changes the emotion data 121 in response to external stimuli, each robot 200 will show different emotional changes in response to external stimuli, and each robot 200 can have a pseudo personality (personality value). Furthermore, since personality is derived from the emotion change data 122, it is also possible to generate a clone robot with the same personality by copying the emotion change data 122. For example, if backup data of the emotion change data 122 is saved, even if the robot 200 breaks down, the robot 200 with the same personality can be recreated by restoring the backup data.

そして、性格値に基づいて算出される成長値が増加するほど、選択されうる動作のバリエーションが豊かになるので、ロボット200が疑似的に成長する(成長値が増加する)ことによって、より豊かな動作を表現することができるようになる。また、ロボット200は、成長が進んだら成長後の動作のみをするわけではなく、成長テーブル123で規定された動作選択確率に応じて以前から行われていた動作の全てから動作が選択され得る。したがって、ユーザはロボット200の成長後も、購入当初の頃の動作を時々見ることができ、より愛情を感じることができるようになる。 The higher the growth value calculated based on the personality value, the greater the variety of selectable actions becomes, and so the robot 200 becomes able to express a wider variety of actions by virtually growing (the growth value increases). Furthermore, as the robot 200 grows, it does not only perform the actions it has performed after it has grown, but can select an action from all of the actions it has performed previously according to the action selection probability defined in the growth table 123. Therefore, even after the robot 200 has grown, the user can occasionally see the actions it performed when it was first purchased, which makes the user feel even more affection for it.

また、ロボット200の疑似的な成長は、第1期間(例えば50日間)の間だけに限定され、その後の感情変化データ122(性格)は固定されるので、他の普通の機器のようにリセットをすることができず、ユーザにあたかも本当に生きているペットに接しているかのような感覚を生じさせることができる。 In addition, the simulated growth of the robot 200 is limited to a first period (e.g., 50 days), and the emotional change data 122 (personality) thereafter is fixed, so it cannot be reset like other ordinary devices, giving the user the feeling that they are interacting with a real, living pet.

さらに、性格が固定された後も、その後のユーザのロボット200への接し方に基づいて、性格補正値が変化し、性格補正値によって補正された性格値に基づいてロボット200は動作する。したがって、ユーザはロボット200の疑似的な成長が完了した後も、接し方に応じてロボット200の反応が変化する様を楽しむことができる。また、ロボット200を放置すれば、感情マップ300上での最長存在エリアは中央付近になり、性格補正値は0に戻るため、ロボット200は、成長後の元の性格を反映した動作を行うことができる。 Furthermore, even after the personality is fixed, the personality correction value changes based on the user's subsequent interaction with the robot 200, and the robot 200 operates based on the personality value corrected by the personality correction value. Therefore, even after the user's pseudo-growth of the robot 200 is complete, the user can enjoy watching the robot 200's reactions change depending on how the user interacts with it. Furthermore, if the robot 200 is left alone, the longest area of existence on the emotion map 300 will be near the center, and the personality correction value will return to 0, allowing the robot 200 to perform actions that reflect its original personality after growth.

また、疑似的な感情は複数の感情データ(感情データ121のX,Y)で表され、疑似的な性格は複数の感情変化データ(感情変化データ122のDXP,DXM,DYP,DYM)で表されるので、複雑な感情及び性格を表現することができる。 In addition, the pseudo-emotions are represented by multiple emotion data (X, Y in emotion data 121), and the pseudo-personality is represented by multiple emotion change data (DXP, DXM, DYP, DYM in emotion change data 122), making it possible to express complex emotions and personalities.

そして、この疑似的な性格を導出するための感情変化データ122は、センサ部210が備える複数のセンサにより取得された互いに異なる種類の複数の外部刺激の各々に応じて学習されるので、ユーザのロボット200への接し方によって、多種多様な疑似的な性格を生成することができる。 The emotion change data 122 used to derive this pseudo personality is learned in response to multiple different types of external stimuli acquired by multiple sensors provided in the sensor unit 210, so a wide variety of pseudo personalities can be generated depending on how the user interacts with the robot 200.

次に、ロボット200が備えるスリープ機能、アラーム機能、添い寝機能について、順に説明する。 Next, we will explain the sleep function, alarm function, and co-sleeping function of the robot 200 in order.

ロボット200は、バッテリーを電源として動作しているため、省エネ制御が必要であるが、ペットのような生き物感を出すためには、単に動作停止するのではなく、あたかも寝ているかのように見える制御を行った方がよい。以下、ロボット200が寝ているかのように見えるようにロボット200を制御する制御モードをスリープ制御モードと呼ぶ。スリープ制御モードにより、ロボット200が寝ているかのように見える機能としてスリープ機能が実現される。ロボット200は、周囲が暗くなる等の何らかのスリープ条件が満たされると、図15に示す動作制御処理のスレッドを停止させることによってスリープ状態に移行し、消費電力を抑制する。そして、その後特定の外部刺激を取得すると(又はアラーム時刻になると)、停止していた動作制御処理のスレッドを再開して通常状態に移行する。なお、通常状態とは、動作制御処理のスレッド等、ロボット200において通常の動作に必要なすべてのスレッドが動作している状態であり、定期的に呼吸動作を行ったり、外部刺激に反応する動作を行ったりする状態をいう。 Because the robot 200 runs on a battery, it needs to be controlled to save energy. In order to give the robot 200 a feeling of life, like a pet, it is better to control it so that it looks as if it is sleeping, rather than simply stopping its operation. Hereinafter, the control mode in which the robot 200 is controlled so that it looks as if it is sleeping is called a sleep control mode. The sleep control mode realizes a sleep function as a function that makes the robot 200 look as if it is sleeping. When some sleep condition is met, such as the surroundings becoming dark, the robot 200 transitions to a sleep state by stopping the thread of the motion control process shown in FIG. 15, thereby reducing power consumption. Then, when a specific external stimulus is acquired thereafter (or the alarm time is reached), the stopped thread of the motion control process is resumed and the robot transitions to a normal state. The normal state refers to a state in which all threads necessary for normal operation in the robot 200, such as the thread of the motion control process, are running, and the robot periodically performs breathing actions and actions in response to external stimuli.

基本的には、ロボット200は、照度センサによって周囲が暗くなったという条件(第2スリープ条件)が満たされたことを検知すると、消費電力(特に駆動部220や出力部230が消費する消費エネルギー)を抑制するスリープ制御モードに入る(通常状態からスリープ状態に移行する)。そして、確実な省エネを実現するために、ロボット200は、スリープ制御モードに入ると、その後周囲が明るくなってもスリープ状態から通常状態に移行しない。 Basically, when the illuminance sensor detects that the condition that the surroundings have become dark (second sleep condition) has been satisfied, the robot 200 enters a sleep control mode that reduces power consumption (particularly the energy consumed by the drive unit 220 and the output unit 230) (transitions from the normal state to the sleep state). Then, in order to ensure energy conservation, once the robot 200 enters the sleep control mode, it does not transition from the sleep state to the normal state even if the surroundings become bright again.

本実施形態の通常のスリープ制御モードでのスリープ状態においては、ユーザが、ロボット200を、頭部204を上にして抱っこしたり、撫でたり、大きな声で呼んだりすると、ロボット200はスリープ制御モードを解除して、スリープ状態から通常状態に移行する。なお、通常のスリープ制御モードを解除する外部刺激(ここでは、「頭部204を上にして立てられた」、「撫でられた」又は「大きな声が聞こえた」という外部刺激)を通常刺激とも呼び、通常のスリープ状態を第2スリープ状態とも呼ぶ。 In the normal sleep control mode of this embodiment, when the user holds the robot 200 with its head 204 facing up, strokes it, or calls it loudly, the robot 200 cancels the sleep control mode and transitions from the sleep state to the normal state. Note that an external stimulus that cancels the normal sleep control mode (here, the external stimuli "standing the robot with its head 204 facing up," "being stroked," or "hearing a loud voice") is also referred to as a normal stimulus, and the normal sleep state is also referred to as a second sleep state.

しかし、例えばロボット200のバッテリーをしっかり充電したい場合や、ユーザがロボット200と一緒に外出したりする場合等、基本的にはスリープ状態から通常状態に移行して欲しくない状況も発生しうる。このような状況のために、ロボット200は、通常状態に移行しにくいスリープ制御モード(以下「ハードスリープ制御モード」という)も備える。 However, there may be situations where you do not want the robot 200 to transition from the sleep state to the normal state, such as when you want to fully charge the battery of the robot 200 or when the user goes out with the robot 200. For such situations, the robot 200 also has a sleep control mode (hereinafter referred to as the "hard sleep control mode") that makes it difficult to transition to the normal state.

本実施形態では、第1スリープ条件が満たされた場合に、ロボット200はハードスリープ制御モードに入る(通常状態からハードスリープ状態に移行する)。第1スリープ条件は、以下の2つの条件のいずれかが成立している場合に、成立する。
(1)充電中に周囲が暗くなった。
(2)ロボット200がユーザにより立たされている状態(頭部204を上にして保持された状態)で周囲が暗くなった。
ただし、実際には周囲が暗くなくても、充電中又はユーザがロボット200を立てた状態で照度センサ214を手で隠す等すれば、照度センサ214で検出される照度が低下するため、ロボット200は、第1スリープ条件が満たされたと判断して、ハードスリープ制御モードに入る。
In this embodiment, when a first sleep condition is satisfied, the robot 200 enters the hard sleep control mode (transitions from a normal state to a hard sleep state). The first sleep condition is satisfied when either of the following two conditions is satisfied.
(1) The surroundings became dark while charging.
(2) When the robot 200 is made to stand by the user (held with the head 204 facing up), the surroundings become dark.
However, even if the surroundings are not actually dark, if the user covers the illuminance sensor 214 with his/her hand while charging or while the robot 200 is standing, the illuminance detected by the illuminance sensor 214 decreases, and the robot 200 determines that the first sleep condition is satisfied and enters the hard sleep control mode.

ハードスリープ制御モードでは、ユーザがロボット200を撫でたり大きな声で呼びかけたりしても、ロボット200は通常状態に移行しない。ただし、生き物感を出すために、処理部110は、予め定められた特定外部刺激(本実施形態では「撫でられた」という外部刺激)を検出したら、一時的に準スリープ状態に移行して、駆動部220や出力部230を制御し、その後またハードスリープ状態に戻ることもできるようにしている。このため、ハードスリープ制御モードには、複数のレベル(以下「スリープレベル」という)が用意される。なお、準スリープ状態では、通常状態の場合よりも消費電力が抑制されるように、駆動部220や出力部230を制御する(本実施形態では、寝息の音を出したり、呼吸動作をさせたりする)第1抑制モードを実行する。また、ハードスリープ状態では、準スリープ状態の場合よりもさらに消費電力が抑制されるように、駆動部220や出力部230を制御する(本実施形態では、駆動部220を静止させ、出力部230からは何も出力させない)第2抑制モードを実行する。 In the hard sleep control mode, even if the user strokes the robot 200 or calls out to it in a loud voice, the robot 200 does not transition to the normal state. However, in order to give the robot a sense of life, the processing unit 110 temporarily transitions to a quasi-sleep state when it detects a predetermined specific external stimulus (in this embodiment, the external stimulus is "being stroked"), and controls the driving unit 220 and the output unit 230, and can then return to the hard sleep state. For this reason, the hard sleep control mode is provided with a plurality of levels (hereinafter referred to as "sleep levels"). In the quasi-sleep state, a first suppression mode is executed in which the driving unit 220 and the output unit 230 are controlled (in this embodiment, the driving unit 220 makes a sound of breathing and causes breathing) so that power consumption is suppressed more than in the normal state. In the hard sleep state, a second suppression mode is executed in which the driving unit 220 and the output unit 230 are controlled (in this embodiment, the driving unit 220 is stopped and no power is output from the output unit 230) so that power consumption is further suppressed than in the quasi-sleep state.

スリープレベル1は、生き物感はなくなるが、消費電力を最も抑制できる制御モードであり、ロボット200は、ハードスリープ制御モードが解除されるまで全く動作しない。 Sleep level 1 is a control mode that reduces power consumption the most, but does not give the robot 200 a sense of life, and the robot 200 does not move at all until the hard sleep control mode is released.

スリープレベル2は、特定外部刺激を受けたら、駆動部220は動作させずに、音のみで生き物感を出すモードである。本実施形態では、ユーザに撫でられると、ロボット200は準スリープ状態に移行して、所定の時間(例えば5秒間)寝息の音をスピーカ231から出力し、その後またハードスリープ状態に戻る。なお、準スリープ状態とは、ハードスリープ制御モードにおいて、ロボット200が生き物感を出すために、第1抑制モードを実行する(一時的に動いたり音を出したりする)状態をいう。準スリープ状態(第1抑制モード実行中)では一時的に動いたり音を出したりするものの、図15に示す動作制御処理のスレッドを停止させたままにして、電力を消費するモータの連続駆動や、大きな動き、大きな音の出力等は実行しないため、外部刺激に応じた動作や自発的な動作が抑えられ、通常状態よりも駆動部220や出力部230が消費する消費エネルギーを抑制することができる。 In the sleep level 2, when a specific external stimulus is received, the driving unit 220 is not operated, and only sounds are used to create a sense of life. In this embodiment, when the user strokes the robot 200, the robot 200 transitions to a quasi-sleep state, outputs the sound of breathing from the speaker 231 for a predetermined time (for example, 5 seconds), and then returns to the hard sleep state. The quasi-sleep state refers to a state in which the robot 200 executes the first suppression mode (move temporarily or emit sound) in the hard sleep control mode to create a sense of life. In the quasi-sleep state (while the first suppression mode is being executed), the robot 200 temporarily moves or emits sound, but the thread of the motion control process shown in FIG. 15 is kept stopped, and continuous driving of the motor that consumes power, large movements, output of large sounds, etc. are not executed, so that movements in response to external stimuli and spontaneous movements are suppressed, and the energy consumed by the driving unit 220 and the output unit 230 can be reduced more than in the normal state.

スリープレベル3は、特定外部刺激を受けたら、駆動部220を動作させて、より生き物感を出すモードである。本実施形態では、ユーザに撫でられると、ロボット200は、所定の時間(例えば5秒間)準スリープ状態に移行して、駆動部220を駆動して、呼吸動作を行い、その後またハードスリープ状態に戻る。 Sleep level 3 is a mode in which the drive unit 220 is operated upon receiving a specific external stimulus, to give the robot a more lifelike appearance. In this embodiment, when the robot 200 is stroked by the user, it transitions to a quasi-sleep state for a predetermined time (e.g., 5 seconds), drives the drive unit 220, and performs breathing motion, and then returns to a hard sleep state.

このように、ロボット200は、消費電力を抑制するハードスリープ制御モードにおいても、スリープレベルが2又は3のときには、ユーザに撫でられるといったような特定外部刺激(第2刺激ともいう)を取得すると、準スリープ状態に移行し、寝息を立てたり、呼吸の動作をしたりするため、ユーザはロボット200を本物の生き物のように感じることができる。そして、準スリープ状態が所定の時間継続したときに、準スリープ状態からハードスリープ状態に戻るため、消費電量を抑制する状態を継続することができる。なお、本実施形態では、準スリープ状態で出力する音は、寝息の音としたが、呼吸の音等、他の音を出力してもよい。また準スリープ状態で、呼吸動作に加えて、寝息や呼吸の音を出力してもよい。 In this way, even in the hard sleep control mode in which power consumption is suppressed, when the sleep level of the robot 200 is 2 or 3, if the robot 200 receives a specific external stimulus (also called the second stimulus), such as being stroked by the user, it transitions to a quasi-sleep state and breathes and makes breathing movements, so that the user can feel that the robot 200 is a real living thing. Then, when the quasi-sleep state continues for a predetermined time, the robot returns from the quasi-sleep state to a hard sleep state, so that the state in which power consumption is suppressed can continue. Note that in this embodiment, the sound output in the quasi-sleep state is the sound of breathing, but other sounds, such as breathing sounds, may be output. In addition to breathing movements, the sound of breathing and breathing may be output in the quasi-sleep state.

なお、ハードスリープ制御モードを解除する方法は、任意の方法を設定可能であるが、本実施形態では、ユーザがロボット200を立てた状態で保持する(頭部204を上にした状態で保持する)と、ロボット200はハードスリープ制御モードを解除して通常状態に移行する。なお、ハードスリープ制御モードを解除する外部刺激(ここでは「頭部204を上にして立てられた」という外部刺激)を第1刺激とも呼び、ハードスリープ状態を第1スリープ状態とも呼ぶ。 The method for canceling the hard sleep control mode can be set to any method, but in this embodiment, when the user holds the robot 200 in an upright position (holds the robot 200 with the head 204 facing up), the robot 200 cancels the hard sleep control mode and transitions to the normal state. The external stimulus that cancels the hard sleep control mode (here, the external stimulus of "standing the robot with the head 204 facing up") is also referred to as the first stimulus, and the hard sleep state is also referred to as the first sleep state.

そして、ハードスリープ制御モードでは、処理部110は、上述の特定外部刺激も第1刺激も検出されていない間は、上述の第1抑制モードよりもバッテリーの消費電力を抑制させるように駆動部220や出力部230を制御する(本実施形態では、全く動かず、音も出さない)第2抑制モードを実行する。なお、第2抑制モードは、完全に停止することに限定されるわけではなく、第1抑制モードを実行している場合よりもバッテリーの消費電力を抑制できる動作や音の出力を行ってもよい。ロボット200は、第1抑制モードによって特定外部刺激に応じた動作を表現できるため、生き物感をより向上させることができる。また、ロボット200は、第2抑制モードによって消費エネルギーをより抑制することができる。 In the hard sleep control mode, the processing unit 110 executes a second suppression mode in which the driving unit 220 and the output unit 230 are controlled to suppress battery power consumption more than in the first suppression mode while neither the specific external stimulus nor the first stimulus is detected (in this embodiment, the robot does not move or emit any sound) to execute the second suppression mode. Note that the second suppression mode is not limited to a complete stop, and the robot may perform an action or output a sound that can suppress battery power consumption more than when the first suppression mode is executed. The robot 200 can express an action in response to the specific external stimulus in the first suppression mode, thereby further improving the feeling of being alive. Also, the robot 200 can further suppress energy consumption in the second suppression mode.

次に、ロボット200のアラーム機能及び添い寝機能について説明する。ロボット200は図1に示すように、ぬいぐるみのような外観をしているので、ユーザは、ロボット200を抱きながら、ロボット200と一緒に眠ることもできる。 Next, the alarm function and co-sleeping function of the robot 200 will be described. As shown in FIG. 1, the robot 200 has an appearance similar to a stuffed toy, so the user can sleep with the robot 200 while holding it in their arms.

この場合、ロボット200は、音を出さなくても、駆動部220を動かしてユーザを起こすことが可能である。通常の目覚まし時計のアラーム音は、ユーザを不快にさせることが多いが、一緒に寝ているロボット200がもぞもぞと動くことによって、ユーザを起こすのであれば、それほど不快に感じないユーザが多いと考えられる。 In this case, the robot 200 can wake up the user by moving the drive unit 220 without making a sound. The alarm sound of a normal alarm clock often annoys users, but it is thought that many users would not find it so unpleasant if the robot 200, who is sleeping next to them, wakes them up by moving about.

ロボット200は、このようなアラーム機能を提供する。しかし、ユーザが寝ている間にロボット200を無意識に撫でたりした場合にロボット200が動いてしまうと、ユーザを起こしてしまいかねない。そこで、ロボット200がユーザと添い寝をしている間は、ロボット200の動作を停止させる機能が添い寝機能である。ただし、本実施形態では、単にロボット200の動作を停止させるのではなく、ロボット200の駆動部220や出力部230が消費する消費エネルギーを抑制する抑制モード(本実施形態ではハードスリープ制御モード)を実行することによって、添い寝機能を実現する。これにより、寝ている間にユーザを起こさないようにすることと、消費電力の抑制とを両立させることができる。 The robot 200 provides such an alarm function. However, if the user unconsciously strokes the robot 200 while sleeping, the robot 200 may move and wake up the user. Therefore, the sleeping-along function is a function that stops the operation of the robot 200 while the robot 200 is sleeping together with the user. However, in this embodiment, the sleeping-along function is realized by executing a suppression mode (hard sleep control mode in this embodiment) that suppresses the energy consumed by the drive unit 220 and the output unit 230 of the robot 200, rather than simply stopping the operation of the robot 200. This makes it possible to avoid waking up the user while sleeping and to suppress power consumption at the same time.

ロボット200は、表示画面等を備えていないため、アラーム機能や添い寝機能の設定は、ロボット200の通信部130を介して接続したスマートフォンのアプリケーションプログラムを用いて、ユーザによって行われる。このスマートフォンのアプリケーションプログラムにおけるアラーム機能及び添い寝機能の設定画面の一例を図18に示す。 Since the robot 200 does not have a display screen or the like, the alarm function and the co-sleeping function are set by the user using an application program on a smartphone connected via the communication unit 130 of the robot 200. An example of the setting screen for the alarm function and the co-sleeping function in the smartphone application program is shown in FIG. 18.

図18に示すように、ユーザは、スマートフォンの画面501から、アラーム時刻、曜日毎のアラームのON/OFF、アラーム時のロボット200の動きの強弱、アラーム時のロボット200の鳴き声のON/OFF、スヌーズの回数(0回ならスヌーズOFF)、添い寝モードレベル(ハードスリープ制御モードのレベル(スリープレベル)に相当)、添い寝開始時刻(添い寝機能を開始する時刻。睡眠開始時刻とも言う。)等を入力し、これらをロボット200に送信することによって、ロボット200にアラーム機能や添い寝機能の各種設定値を入力することができる。 As shown in FIG. 18, the user can input various settings for the alarm function and the sleep-to-sleep function to the robot 200 by inputting, from the smartphone screen 501, the alarm time, ON/OFF for each day of the week, strength of the robot 200's movement when the alarm goes off, ON/OFF for the robot 200's cry when the alarm goes off, the number of snoozes (0 means snooze OFF), the co-sleeping mode level (corresponding to the level (sleep level) of the hard sleep control mode), the co-sleeping start time (the time when the co-sleeping function starts, also called the sleep start time), etc.

なお、図18では、これらの設定データを1つの画面501で設定する例を示しているが、これらのうち、アラーム時刻、曜日ON/OFF、アラーム動作強弱、鳴き声ON/OFF及びスヌーズ回数は、アラーム機能に関する設定値なので、アラーム設定データという。また、添い寝モードレベル及び添い寝開始時刻は、添い寝機能に関する設定値なので、添い寝設定データという。スマートフォンのアプリケーションプログラムにおいて、アラーム設定データの設定画面と、添い寝設定データの設定画面とを、別の画面とするように画面を設計してもよい。なお、アラーム動作とは、アラーム時刻(アラームが設定された時刻)になると、ロボット200が駆動部220によってもぞもぞと動いたり、スピーカ231で鳴き声を発したりする動作のことである。 Note that FIG. 18 shows an example in which these setting data are set on one screen 501, but among these, the alarm time, day of the week ON/OFF, alarm strength, cries ON/OFF, and number of snoozes are setting values related to the alarm function, and are therefore referred to as alarm setting data. Also, the co-sleeping mode level and co-sleeping start time are setting values related to the co-sleeping function, and are therefore referred to as co-sleeping setting data. In the smartphone application program, the screen may be designed so that the setting screen for the alarm setting data and the setting screen for the co-sleeping setting data are separate screens. Note that the alarm operation refers to the operation of the robot 200 moving about by the drive unit 220 or making a cries through the speaker 231 when the alarm time (the time when the alarm is set) arrives.

次に、図19に示すフローチャートを参照しながら、ロボット200のアラーム機能を実現するアラーム制御処理について説明する。ユーザがロボット200の電源を入れると、上述の動作制御処理、後述するスリープ制御処理等と並行に、このアラーム制御処理が開始される。 Next, the alarm control process for realizing the alarm function of the robot 200 will be described with reference to the flowchart shown in FIG. 19. When the user turns on the power of the robot 200, this alarm control process is started in parallel with the above-mentioned operation control process, the sleep control process described later, etc.

まず、処理部110は、アラーム時刻等、アラーム機能に関する各種パラメータ(アラームパラメータ)を初期化する(ステップS401)。なお、アラームパラメータを記憶部120のフラッシュメモリに記憶させておくことで、ロボット200の電源を入れる度にこれらの値が初期化されないようにしてもよい。 First, the processing unit 110 initializes various parameters (alarm parameters) related to the alarm function, such as the alarm time (step S401). Note that the alarm parameters may be stored in the flash memory of the storage unit 120 so that these values are not initialized each time the robot 200 is turned on.

次に処理部110は、通信部130を介してスマートフォンからアラーム設定データを受信したか否かを判定する(ステップS402)。アラーム設定データが受信されたら(ステップS402;Yes)、処理部110は、受信したアラーム設定データに基づいてアラームパラメータを設定し(ステップS403)、ステップS404に進む。 Next, the processing unit 110 determines whether or not alarm setting data has been received from the smartphone via the communication unit 130 (step S402). If alarm setting data has been received (step S402; Yes), the processing unit 110 sets alarm parameters based on the received alarm setting data (step S403) and proceeds to step S404.

アラーム設定データが受信されていなければ(ステップS402;No)、処理部110は、アラームパラメータが設定済みであるか否かを判定する(ステップS404)。アラームパラメータが設定済みでなければ(ステップS404;No)、ステップS402に戻る。 If the alarm setting data has not been received (step S402; No), the processing unit 110 determines whether the alarm parameters have been set (step S404). If the alarm parameters have not been set (step S404; No), the processing unit 110 returns to step S402.

アラームパラメータが設定済みなら(ステップS404;Yes)、処理部110は、クロック機能により、現在時刻がアラーム時刻であり本日の曜日がアラームONと設定されているか否かを判定する(ステップS405)。現在時刻がアラーム時刻でないか、又は本日の曜日がアラームONに設定されていなければ(ステップS405;No)、ステップS402に戻る。 If the alarm parameters have been set (step S404; Yes), the processing unit 110 uses the clock function to determine whether the current time is the alarm time and whether today's day of the week is set as alarm ON (step S405). If the current time is not the alarm time or today's day of the week is not set as alarm ON (step S405; No), the process returns to step S402.

現在時刻がアラーム時刻であり本日の曜日がアラームONに設定されているなら(ステップS405;Yes)、処理部110は、アラームパラメータに設定されているスヌーズ回数を変数Sに設定するとともにスヌーズ時刻(例えばアラーム時刻の5分後)を設定する(ステップS406)。そして、処理部110はアラームパラメータに設定されているアラーム動作強弱及び鳴き声ON/OFFの値に基づいて駆動部220及びスピーカ231を制御することにより、アラーム動作を実行する(ステップS407)。なお、後述するスリープ制御処理によって、上述の動作制御処理のスレッドが一時停止されていた場合、ステップS407で、処理部110は、動作制御処理のスレッドを再開(Wake-up)させる処理も行う。 If the current time is the alarm time and the alarm is set to ON for today's day of the week (step S405; Yes), the processing unit 110 sets the number of snoozes set in the alarm parameters to the variable S and sets the snooze time (for example, 5 minutes after the alarm time) (step S406). The processing unit 110 then executes the alarm operation by controlling the drive unit 220 and the speaker 231 based on the alarm operation strength and sound ON/OFF values set in the alarm parameters (step S407). Note that if the thread of the above-mentioned operation control process has been temporarily halted by the sleep control process described below, in step S407, the processing unit 110 also performs processing to resume (wake-up) the thread of the operation control process.

アラーム動作を実行することで、ロボット200は、駆動部220によってもぞもぞと動いたり、スピーカ231で鳴き声を発したりする。これによりユーザは不快を感じることなく、自然に目覚めることができる。また、動作制御処理スレッドが再開されることにより、ロボット200は通常状態になるため、ロボット200は呼吸動作を再開し、例えばユーザが撫でれば反応するようになる。したがって、ユーザは、アラーム動作で起床できなくても、その後のロボット200の呼吸動作や自然な反応によって目を覚ますことも可能になる。 By executing the alarm action, the robot 200 moves squirmingly due to the driving unit 220 and makes a sound through the speaker 231. This allows the user to wake up naturally without feeling uncomfortable. Furthermore, since the robot 200 returns to its normal state by restarting the action control processing thread, the robot 200 resumes its breathing action and will respond, for example, if the user strokes it. Therefore, even if the user is unable to wake up due to the alarm action, it is possible for the user to wake up due to the breathing action or natural reaction of the robot 200 thereafter.

そして、処理部110は、アラーム停止操作が行われたか否かを判定する(ステップS408)。アラーム停止操作としては任意の操作を規定可能であるが、本実施形態では、ユーザがロボット200の頭を持ち上げてロボット200を立てると、アラーム停止操作が行われたと判定することとする。 Then, the processing unit 110 judges whether or not an alarm stop operation has been performed (step S408). Any operation can be specified as the alarm stop operation, but in this embodiment, it is judged that the alarm stop operation has been performed when the user lifts the head of the robot 200 and stands the robot 200 upright.

ユーザによるアラーム停止操作が行われたら(ステップS408;Yes)、処理部110は、このアラーム停止操作に応じてアラーム動作を停止して(ステップS409)、ステップS402に戻る。 When the user performs an alarm stop operation (step S408; Yes), the processing unit 110 stops the alarm operation in response to the alarm stop operation (step S409) and returns to step S402.

ユーザによるアラーム停止操作が行われなければ(ステップS408;No)、処理部110は、残りのスヌーズ回数が設定されている変数Sの値が1以上であるか否かを判定する(ステップS410)。変数Sの値が0なら(ステップS410;No)、ステップS402に戻る。 If the user does not perform an alarm stop operation (step S408; No), the processing unit 110 determines whether the value of the variable S, which is set to the remaining number of snoozes, is 1 or greater (step S410). If the value of the variable S is 0 (step S410; No), the process returns to step S402.

変数Sの値が1以上なら(ステップS410;Yes)、処理部110は、現在時刻がスヌーズ時刻であるか否かを判定する(ステップS411)。スヌーズ時刻でなければ(ステップS411;No)、ステップS408に戻る。 If the value of the variable S is 1 or more (step S410; Yes), the processing unit 110 determines whether the current time is the snooze time (step S411). If the current time is not the snooze time (step S411; No), the processing returns to step S408.

スヌーズ時刻なら(ステップS411;Yes)、処理部110は、変数Sの値を1減らし、スヌーズ時刻を更新(例えば5分後に設定)し(ステップS412)、ステップS407に戻る。 If it is the snooze time (step S411; Yes), the processing unit 110 decrements the value of the variable S by 1, updates the snooze time (for example, sets it to 5 minutes later) (step S412), and returns to step S407.

次に、図20に示すフローチャートを参照しながら、ロボット200のスリープ制御モードや添い寝機能を実現するスリープ制御処理について説明する。ユーザがロボット200の電源を入れると、上述の動作制御処理、アラーム制御処理等と並行に、このスリープ制御処理が開始される。 Next, the sleep control process that realizes the sleep control mode and co-sleeping function of the robot 200 will be described with reference to the flowchart shown in FIG. 20. When the user turns on the power of the robot 200, this sleep control process starts in parallel with the above-mentioned motion control process, alarm control process, etc.

本実施形態における添い寝機能は、設定された添い寝開始時刻になると、ロボット200が、ユーザと一緒に寝ている状態になっているとみなして、ハードスリープ制御モード(抑制モード)を実行する機能である。上述したように、ユーザがロボット200を立てた状態で照度センサ214を手で隠した場合にもハードスリープ制御モードが実行されるので、ユーザはこの操作により手動で添い寝機能を実行させることもできる。すなわち、本実施形態では、抑制モードの実行条件は、現在時刻が添い寝開始時刻であるか、または、上述の第1スリープ条件が成立することである。また、ハードスリープ制御モードには3つのスリープレベルが用意されているが、このスリープレベルの設定は、添い寝モードレベルを設定することによって行われる。 The co-sleeping function in this embodiment is a function that, when the set co-sleeping start time arrives, assumes that the robot 200 is sleeping together with the user and executes the hard sleep control mode (suppression mode). As described above, the hard sleep control mode is also executed when the user covers the illuminance sensor 214 with their hand while the robot 200 is standing, so the user can also execute the co-sleeping function manually by this operation. That is, in this embodiment, the execution condition for the suppression mode is that the current time is the co-sleeping start time or the first sleep condition described above is met. In addition, three sleep levels are prepared in the hard sleep control mode, and the sleep levels are set by setting the co-sleeping mode level.

スリープ制御処理が開始されると、まず、処理部110は、ハードスリープ制御モードのレベル(スリープレベル)等のスリープ制御モードに関する各種パラメータ(以下「スリープパラメータ」という)や、添い寝モードレベル、添い寝開始時刻等の添い寝機能に関する各種パラメータ(以下「添い寝パラメータ」という)を初期化する(ステップS501)。初期化された時の値は、例えば、スリープレベル及び添い寝モードレベルは「レベル1」、添い寝開始時刻は「未設定」である。なお、これらのパラメータを記憶部120のフラッシュメモリに記憶させておくことで、ロボット200の電源を入れる度にこれらの値が初期化されないようにしてもよい。 When the sleep control process is started, the processing unit 110 first initializes various parameters (hereinafter referred to as "sleep parameters") related to the sleep control mode, such as the hard sleep control mode level (sleep level), and various parameters (hereinafter referred to as "sleeping parameters") related to the co-sleeping function, such as the co-sleeping mode level and co-sleeping start time (step S501). The initialized values are, for example, "Level 1" for the sleep level and co-sleeping mode level, and "Not set" for the co-sleeping start time. Note that these parameters may be stored in the flash memory of the storage unit 120 so that these values are not initialized each time the robot 200 is turned on.

次に処理部110は、通信部130を介してスマートフォンから添い寝設定データを受信したか否かを判定する(ステップS502)。添い寝設定データが受信されたら(ステップS502;Yes)、処理部110は、受信した添い寝設定データに基づいて添い寝パラメータを設定し(ステップS503)、ステップS504に進む。なお、ステップS502及びステップS503では、スリープパラメータに関しても、添い寝パラメータと同様に受信及び設定してもよい。ただし、本実施形態では、スリープレベルは添い寝設定データで設定された添い寝モードレベルと同じ値が使用される。 Next, the processing unit 110 determines whether or not co-sleeping setting data has been received from the smartphone via the communication unit 130 (step S502). If co-sleeping setting data has been received (step S502; Yes), the processing unit 110 sets co-sleeping parameters based on the received co-sleeping setting data (step S503) and proceeds to step S504. Note that in steps S502 and S503, sleep parameters may also be received and set in the same way as the co-sleeping parameters. However, in this embodiment, the sleep level uses the same value as the co-sleeping mode level set in the co-sleeping setting data.

添い寝設定データが受信されなければ(ステップS502;No)、処理部110は、現在時刻がステップS503で設定された添い寝開始時刻であるか否かを判定する(ステップS504)。なお、添い寝設定データが過去に全く受信されていない場合は、添い寝開始時刻は「未設定」となり、ステップS504の判定がYesとなることはない。現在時刻が添い寝開始時刻なら(ステップS504;Yes)、処理部110は、添い寝機能の実行条件が成立したと判定し、添い寝機能を実行するために、後述するハードスリープ処理を実行する(ステップS505)。このように時刻に基づいて添い寝機能の実行条件が判定されるため、ロボット200は、添い寝開始時刻に確実に添い寝機能を実行することができる。そして、ステップS502に戻る。 If no co-sleeping setting data has been received (step S502; No), the processing unit 110 determines whether the current time is the co-sleeping start time set in step S503 (step S504). If no co-sleeping setting data has been received in the past, the co-sleeping start time will be "not set", and the determination in step S504 will never be Yes. If the current time is the co-sleeping start time (step S504; Yes), the processing unit 110 determines that the execution conditions for the co-sleeping function have been met, and executes hard sleep processing (described below) to execute the co-sleeping function (step S505). As the execution conditions for the co-sleeping function are determined based on the time in this way, the robot 200 can reliably execute the co-sleeping function at the co-sleeping start time. Then, the process returns to step S502.

現在時刻が添い寝開始時刻でないなら(ステップS504;No)、処理部110は、照度センサ214で検出される明るさが基準照度よりも暗いか否かを判定する(ステップS506)。照度センサ214で基準照度以上の明るさが検出されたら(ステップS506;No)、ステップS502に戻る。 If the current time is not the co-sleeping start time (step S504; No), the processing unit 110 determines whether the brightness detected by the illuminance sensor 214 is darker than the reference illuminance (step S506). If the illuminance sensor 214 detects brightness equal to or greater than the reference illuminance (step S506; No), the process returns to step S502.

照度センサ214で基準照度未満の明るさしか検出されないなら(ステップS506;Yes)、処理部110は、バッテリー253が充電中であるか、又は、頭部204が持ち上げられているかを判定する(ステップS507)。バッテリー253が充電中であるか、又は、頭部204が持ち上げられているなら(ステップS507;Yes)、充電中又は頭部204が持ち上げられている状態(ステップS507;Yes)で、かつ、基準照度未満の明るさしか検出されていない(ステップS506;Yes)ため、処理部110は、第1スリープ条件が成立していると判定し、後述するハードスリープ処理を実行して(ステップS508)、ステップS502に戻る。 If the illuminance sensor 214 detects only a brightness level less than the reference illuminance (step S506; Yes), the processing unit 110 determines whether the battery 253 is charging or the head 204 is lifted (step S507). If the battery 253 is charging or the head 204 is lifted (step S507; Yes), the battery 253 is charging or the head 204 is lifted (step S507; Yes), and only a brightness level less than the reference illuminance is detected (step S506; Yes), so the processing unit 110 determines that the first sleep condition is met, executes hard sleep processing (step S508) to be described later, and returns to step S502.

バッテリー253が充電中ではなく、かつ、頭部204が持ち上げられてもいないなら(ステップS507;No)、処理部110は、基準照度未満の明るさしか検出されていないため(ステップS506;Yes)、第2スリープ条件が成立していると判定し、上述の動作制御処理のスレッドを一時停止させる(ステップS509)。これにより、ロボット200は第2スリープ状態に移行し、通常の動作を停止(駆動部220を停止、及びスピーカ231からの音の出力を停止)するので、消費電力を抑えることができる。 If the battery 253 is not charging and the head 204 is not lifted (step S507; No), the processing unit 110 determines that the second sleep condition is met because only a brightness below the reference illuminance is detected (step S506; Yes), and suspends the thread of the above-mentioned operation control process (step S509). As a result, the robot 200 transitions to the second sleep state and stops normal operation (stopping the drive unit 220 and stopping sound output from the speaker 231), thereby reducing power consumption.

そして、処理部110は、頭部204が持ち上げられたか否かを判定する(ステップS510)。頭部204が持ち上げられたなら(ステップS510;Yes)、処理部110は、ステップS509で一時停止させた動作制御処理のスレッドを再開させ(ステップS511)、ステップS502に戻る。 Then, the processing unit 110 determines whether the head 204 has been lifted (step S510). If the head 204 has been lifted (step S510; Yes), the processing unit 110 resumes the thread of the motion control process that was paused in step S509 (step S511), and returns to step S502.

頭部204が持ち上げられていないなら(ステップS510;No)、処理部110は、ロボット200が撫でられたか否かを判定する(ステップS512)。撫でられたなら(ステップS512;Yes)、ステップS511に進む。 If the head 204 has not been raised (step S510; No), the processing unit 110 determines whether the robot 200 has been stroked (step S512). If the robot 200 has been stroked (step S512; Yes), the processing unit 110 proceeds to step S511.

撫でられていないなら(ステップS512;No)、処理部110は、大きな音を検出したか否かを判定する(ステップS513)。大きな音を検出したなら(ステップS513;Yes)、ステップS511に進む。 If the object is not being stroked (step S512; No), the processing unit 110 determines whether a loud sound has been detected (step S513). If a loud sound has been detected (step S513; Yes), the processing unit 110 proceeds to step S511.

大きな音を検出していないなら(ステップS513;No)、ステップS510に戻る。 If no loud sound is detected (step S513; No), return to step S510.

次に、上述の処理中のステップS505及びステップS508で実行されるハードスリープ処理について、図21を参照して説明する。 Next, the hard sleep processing executed in steps S505 and S508 during the above processing will be described with reference to FIG. 21.

まず処理部110は、上述の動作制御処理のスレッドを一時停止させる(ステップS521)。これにより、ロボット200はハードスリープ状態に移行し、通常の動作を停止(駆動部220を停止、及びスピーカ231からの音の出力を停止)するので、消費電力を抑えることができる。なお、本実施形態では、ハードスリープ処理を開始する条件の一部とハードスリープ処理を終了する条件とが共通(頭部204が持ち上げられた)なので、図21では省略したが、処理部110は、ハードスリープ処理を開始した直後にハードスリープ処理を終了しないようにするための処理や判定を行ってもよい。例えば、処理部110は、図21のステップS521とステップS522の間で、頭部204が持ち上げられていない状態になるまで待機してもよい。また、ハードスリープ状態の終了の判定条件(図21のステップS523、S528及びS531)を、「照度センサ214で基準照度以上の明るさが検出され、かつ、頭部204が持ち上げられた」としてもよい。 First, the processing unit 110 suspends the thread of the above-mentioned motion control process (step S521). As a result, the robot 200 transitions to a hard sleep state and stops normal operations (the driving unit 220 is stopped, and sound output from the speaker 231 is stopped), so that power consumption can be reduced. In this embodiment, some of the conditions for starting the hard sleep process and the conditions for ending the hard sleep process are common (the head 204 is lifted), so although this is omitted in FIG. 21, the processing unit 110 may perform processing or judgment to prevent the hard sleep process from ending immediately after starting the hard sleep process. For example, between steps S521 and S522 in FIG. 21, the processing unit 110 may wait until the head 204 is not lifted. In addition, the judgment condition for ending the hard sleep state (steps S523, S528, and S531 in FIG. 21) may be "the illuminance sensor 214 detects brightness equal to or greater than the reference illuminance, and the head 204 is lifted."

次に処理部110は、図18に示すようにしてユーザにより設定されたスリープレベル(本実施例では、ステップS503で設定された添い寝モードレベルと同一)が1であるか否かを判定する(ステップS522)。スリープレベルが1なら(ステップS522;Yes)、処理部110は、頭部204が持ち上げられたか否かを判定する(ステップS523)。頭部204が持ち上げられていなければ(ステップS523;No)、ステップS523に戻る。 Then, the processing unit 110 determines whether the sleep level set by the user (in this embodiment, the same as the co-sleeping mode level set in step S503) is 1 as shown in FIG. 18 (step S522). If the sleep level is 1 (step S522; Yes), the processing unit 110 determines whether the head 204 has been lifted (step S523). If the head 204 has not been lifted (step S523; No), the processing returns to step S523.

頭部204が持ち上げられたなら(ステップS523;Yes)、処理部110は、ステップS521で一時停止させた動作制御処理のスレッドを再開させ(ステップS524)、ハードスリープ処理を終了して、スリープ制御処理のステップS502に戻る。 If the head 204 is lifted (step S523; Yes), the processing unit 110 resumes the thread of the motion control process that was paused in step S521 (step S524), ends the hard sleep process, and returns to step S502 of the sleep control process.

一方、ステップS522で、スリープレベルが1でなければ(ステップS522;No)、処理部110は、スリープレベルが2であるか否かを判定する(ステップS525)。スリープレベルが2なら(ステップS525;Yes)、処理部110は、ロボット200が撫でられたか否かを判定する(ステップS526)。撫でられていないなら(ステップS526;No)、ステップS528に進む。撫でられているなら(ステップS526;Yes)、処理部110は、準スリープ状態に移行して、スピーカ231から寝息の音を出力し、ハードスリープ状態に戻る(ステップS527)。この時、動作制御処理のスレッドは停止させたままであり、また、寝息の音の出力を行うだけなので、ステップS527では、通常状態よりも消費電力を抑制することができる。 On the other hand, if the sleep level is not 1 in step S522 (step S522; No), the processing unit 110 judges whether the sleep level is 2 or not (step S525). If the sleep level is 2 (step S525; Yes), the processing unit 110 judges whether the robot 200 has been stroked (step S526). If the robot 200 has not been stroked (step S526; No), the process proceeds to step S528. If the robot 200 has been stroked (step S526; Yes), the processing unit 110 transitions to a quasi-sleep state, outputs the sound of breathing from the speaker 231, and returns to a hard sleep state (step S527). At this time, the thread of the motion control process remains stopped, and the sound of breathing is the only sound that is output, so that power consumption can be reduced more than in the normal state in step S527.

そして、処理部110は、頭部204が持ち上げられたか否かを判定する(ステップS528)。頭部204が持ち上げられていなければ(ステップS528;No)、ステップS526に戻る。頭部204が持ち上げられたなら(ステップS528;Yes)、処理部110は、ステップS524に進む。 Then, the processing unit 110 determines whether the head 204 has been lifted (step S528). If the head 204 has not been lifted (step S528; No), the processing unit 110 returns to step S526. If the head 204 has been lifted (step S528; Yes), the processing unit 110 proceeds to step S524.

一方、ステップS525で、スリープレベルが2でなければ(ステップS525;No)、スリープレベルは3であり、処理部110は、ロボット200が撫でられたか否かを判定する(ステップS529)。撫でられていないなら(ステップS529;No)、ステップS531に進む。撫でられているなら(ステップS529;Yes)、処理部110は、準スリープ状態に移行し、所定の時間(例えば1分間)だけ駆動部220を制御してロボット200に呼吸動作を行わせ、ハードスリープ状態に戻る(ステップS530)。この時、動作制御処理のスレッドは停止させたままであり、また、呼吸動作での駆動部220の動きは通常状態での動きよりも小さいため、ステップS530では、呼吸動作は行うものの、通常状態よりも消費電力を抑制することができる。 On the other hand, if the sleep level is not 2 in step S525 (step S525; No), the sleep level is 3, and the processing unit 110 determines whether the robot 200 has been stroked (step S529). If the robot 200 has not been stroked (step S529; No), the process proceeds to step S531. If the robot 200 has been stroked (step S529; Yes), the processing unit 110 transitions to a quasi-sleep state, controls the driving unit 220 for a predetermined period of time (e.g., one minute) to cause the robot 200 to perform a breathing motion, and returns to a hard sleep state (step S530). At this time, the thread of the motion control process remains stopped, and the movement of the driving unit 220 during the breathing motion is smaller than that in the normal state, so that in step S530, the breathing motion is performed, but power consumption can be reduced more than in the normal state.

そして、処理部110は、頭部204が持ち上げられたか否かを判定する(ステップS531)。頭部204が持ち上げられていなければ(ステップS531;No)、ステップS529に戻る。頭部204が持ち上げられたなら(ステップS531;Yes)、処理部110は、ステップS524に進む。 Then, the processing unit 110 determines whether the head 204 has been lifted (step S531). If the head 204 has not been lifted (step S531; No), the processing unit 110 returns to step S529. If the head 204 has been lifted (step S531; Yes), the processing unit 110 proceeds to step S524.

以上説明したアラーム制御処理により、ロボット200は、アラーム音を出力しなくても、その動きによって、ユーザを自然に起こすことができる。また、スリープ制御処理によって、ロボット200は、添い寝開始時刻以後はハードスリープ制御モードに入るので、ユーザを起こすような余計な動作を行うことはしなくなり、ユーザは安心してロボット200と添い寝をすることができる。そして、スリープ制御モードでは、ロボット200は図15に示す動作制御処理を停止するので、消費電力を抑制することができる。さらに、スリープ制御処理においては、通常のスリープ制御モード以外に通常状態に移行しにくいハードスリープ制御モードも用意することによって、充電中や外出中等、状況に応じて、より確実にロボット200の消費電力を抑制することができる。 The alarm control process described above allows the robot 200 to wake up the user naturally by its movements without outputting an alarm sound. In addition, the sleep control process causes the robot 200 to enter hard sleep control mode after the co-sleeping start time, so that the robot 200 will not perform any unnecessary actions that may wake the user, and the user can sleep with the robot 200 without worry. In the sleep control mode, the robot 200 stops the motion control process shown in FIG. 15, so that power consumption can be reduced. Furthermore, in the sleep control process, by providing a hard sleep control mode that is less likely to transition to the normal state in addition to the normal sleep control mode, the power consumption of the robot 200 can be reduced more reliably depending on the situation, such as while charging or while out.

上述のスリープ制御処理では、ステップS504で、処理部110は、現在時刻が添い寝開始時刻であるかを判定し、添い寝開始時刻なら、添い寝機能の実行条件が成立したと判定して、添い寝機能(ハードスリープ処理)を開始するようにしている。しかし、添い寝機能を開始するタイミングは添い寝開始時刻に限定されない。例えば、添い寝設定データとして、添い寝開始時刻の代わりに、又は、添い寝開始時刻に加えて、ユーザが睡眠する期間を「添い寝期間」として設定可能にしてもよい。そして、処理部110は、現在時刻が「添い寝期間」に含まれていたら、添い寝機能の実行条件が成立したと判定してもよい。さらに、添い寝機能の実行条件としては、添い寝開始時刻等の添い寝設定データに基づく条件に限らず、ユーザの睡眠に係る任意の条件を設定することができる。 In the sleep control process described above, in step S504, the processing unit 110 determines whether the current time is the sleep-to-sleeping start time, and if so, determines that the execution conditions for the sleep-to-sleeping function are met, and starts the sleep-to-sleeping function (hard sleep process). However, the timing for starting the sleep-to-sleeping function is not limited to the sleep-to-sleeping start time. For example, instead of or in addition to the sleep-to-sleeping start time, the period during which the user sleeps may be set as the "sleeping-to-sleeping period" as the sleep-to-sleeping setting data. Then, if the current time is included in the "sleeping-to-sleeping period," the processing unit 110 may determine that the execution conditions for the sleep-to-sleeping function are met. Furthermore, the execution conditions for the sleep-to-sleeping function are not limited to conditions based on the sleep-to-sleeping setting data, such as the sleep-to-sleeping start time, but any condition related to the user's sleep may be set.

例えば、ユーザに生体センサ(脈拍等のユーザの生体情報を検出するセンサ)を備える生体情報検出装置(例えば生体センサ内蔵の腕時計)を装着してもらう例を説明する。この場合、ステップS504で処理部110は、生体情報検出装置からの信号を取得して、取得した信号に基づいてユーザが睡眠中であると判定したら、添い寝機能の実行条件が成立したと判定して、添い寝機能を開始するようにしてもよい。なお、生体情報検出装置で生体情報に基づいてユーザが睡眠中であるか否かを判定している場合は、生体情報検出装置からの信号は、「睡眠中」又は「睡眠中でない」のどちらかの値を示すものであってもよい。この例では、ユーザが生体情報検出装置を装着する必要があるが、添い寝開始時刻が設定されていなくても、また、添い寝開始時刻とは異なる時刻にユーザがロボット200と添い寝を始めてしまった場合でも、添い寝機能を開始することができるようになる。 For example, an example will be described in which the user wears a bioinformation detection device (e.g., a wristwatch with a built-in biosensor) equipped with a biosensor (a sensor that detects the user's bioinformation such as pulse). In this case, in step S504, the processing unit 110 may acquire a signal from the bioinformation detection device, and if it determines that the user is asleep based on the acquired signal, it may determine that the execution condition for the co-sleeping function is met and start the co-sleeping function. Note that, if the bioinformation detection device determines whether the user is asleep based on the bioinformation, the signal from the bioinformation detection device may indicate either the value "sleeping" or "not sleeping". In this example, the user needs to wear the bioinformation detection device, but the co-sleeping function can be started even if the co-sleeping start time is not set or if the user starts co-sleeping with the robot 200 at a time different from the co-sleeping start time.

また、ユーザに生体情報検出装置を装着してもらわなくても、マイクロフォン213でユーザの寝息を検出したら、添い寝機能を開始するようにしてもよい。この場合、ステップS504で処理部110は、マイクロフォン213で検出した音のデータを分析して、分析の結果、その音がユーザの寝息であると判定したら、添い寝機能の実行条件が成立したと判定して、添い寝機能を開始するようにすればよい。なお、マイクロフォン213で検出した音のデータを分析してユーザの寝息か否かを判定する手法としては、例えば、寝息の音のデータを大量に用いて機械学習した識別器を用いて判定する手法や、検出した音の波形や周波数成分を一般的な寝息の音の波形や周波数成分と比較して判定する手法等が挙げられる。 In addition, even if the user does not wear the biometric information detection device, the co-sleeping function may be started when the microphone 213 detects the user's breathing. In this case, in step S504, the processing unit 110 analyzes the sound data detected by the microphone 213, and if the analysis results in determining that the sound is the user's breathing, it determines that the conditions for executing the co-sleeping function are met and starts the co-sleeping function. Note that examples of methods for analyzing the sound data detected by the microphone 213 and determining whether the sound is the user's breathing include a method of using a classifier that has been machine-learned using a large amount of breathing sound data, and a method of comparing the waveform and frequency components of the detected sound with the waveform and frequency components of general breathing sounds.

また、例えば、ロボット200がCCD(Charge-Coupled Device)イメージセンサ等を備えたカメラ等の画像取得部を備え、処理部110は、画像取得部が取得した画像を画像解析し、画像解析の結果、その画像にユーザの寝顔や寝ている姿が写っていると判定したら、添い寝機能の実行条件が成立したと判定して、添い寝機能を開始するようにしてもよい。この場合、画像取得部は、ユーザの寝顔や寝ている姿が撮影できるように、例えば画角が60度よりも大きい広角のカメラ(魚眼カメラ、全周囲カメラ)であることが好ましい。なお、画像取得部で取得した画像にユーザの寝顔や寝ている姿が写っているか否かを判定する手法としては、例えば、寝顔や寝ている姿の画像データを大量に用いて機械学習した識別器を用いて判定する手法や、一般的な寝顔や寝ている姿のテンプレート画像を用いたテンプレートマッチングで判定する手法等が挙げられる。 For example, the robot 200 may be equipped with an image acquisition unit such as a camera equipped with a CCD (Charge-Coupled Device) image sensor, and the processing unit 110 may analyze the image acquired by the image acquisition unit. If the image analysis determines that the user's sleeping face or sleeping figure is captured in the image, the processing unit may determine that the execution condition for the co-sleeping function is met and start the co-sleeping function. In this case, the image acquisition unit is preferably a wide-angle camera (fisheye camera, omnidirectional camera) with an angle of view of more than 60 degrees so that the user's sleeping face or sleeping figure can be captured. Note that, as a method for determining whether the user's sleeping face or sleeping figure is captured in the image acquired by the image acquisition unit, for example, a method using a classifier trained by machine learning using a large amount of image data of sleeping faces or sleeping figures, a method using template matching using a template image of a general sleeping face or sleeping figure, etc. may be used.

また、例えば、ユーザから添い寝命令(例えば「一緒に寝よう」、「寝なさい」等の音声)を言われたら添い寝機能を開始するようにしてもよい。この場合、ステップS504で処理部110は、マイクロフォン213で検出した音声データを音声認識して、その認識結果が添い寝命令であれば、添い寝機能の実行条件が成立したと判定して、添い寝機能を開始するようにすればよい。また、マイクロフォン213や照度センサ214での検出結果に基づいて、周囲が暗く、無音状態が添い寝基準時間(例えば10分間)続いたら、添い寝機能の実行条件が成立したと判定して、添い寝機能を開始するようにしてもよい。このようにすれば、添い寝開始時刻が設定されていなくても、添い寝機能を実行することが可能になる。 Also, for example, the co-sleeping function may be started when the user issues a command to sleep together (e.g., voice such as "Let's sleep together" or "Go to sleep"). In this case, in step S504, the processing unit 110 performs voice recognition on the voice data detected by the microphone 213, and if the recognition result is a command to sleep together, it may determine that the conditions for executing the co-sleeping function are met and start the co-sleeping function. Also, based on the detection results of the microphone 213 and the illuminance sensor 214, if the surroundings are dark and a silent state continues for a reference time for sleeping together (e.g., 10 minutes), it may be determined that the conditions for executing the co-sleeping function are met and the co-sleeping function may be started. In this way, it becomes possible to execute the co-sleeping function even if the start time for sleeping together has not been set.

また、上述の実施形態では、予め定められた特定外部刺激を「撫でられること」とし、ユーザがロボット200を撫でると、処理部110は、外部刺激が特定外部刺激であると判定したが、特定外部刺激は、撫でられることに限定されない。例えば、ロボット200がCCDイメージセンサ等の画像取得部を備え、画像取得部が取得した画像を処理部110が画像認識して、ユーザがロボット200に視線を向けたことを認識したら、処理部110は、外部刺激が特定外部刺激であると判定してもよい。 In the above embodiment, the predetermined specific external stimulus is "being stroked," and when the user strokes the robot 200, the processing unit 110 determines that the external stimulus is the specific external stimulus, but the specific external stimulus is not limited to being stroked. For example, the robot 200 may be equipped with an image acquisition unit such as a CCD image sensor, and the processing unit 110 may recognize an image acquired by the image acquisition unit and determine that the user has directed their gaze toward the robot 200, at which point the processing unit 110 determines that the external stimulus is the specific external stimulus.

以上説明したように、ロボット200は、バッテリーの消費電力を抑制する抑制モードにおいても、特定外部刺激に対して消費電力を抑制しつつ動作や音の出力を行う第1抑制モードを実行することができるので、外部刺激に対してきめ細かく反応して動作するように制御することができる。また、ロボット200は、ユーザが睡眠する時刻に合わせて抑制モードを実行することにより、ユーザの睡眠を邪魔せずに添い寝をする機能である添い寝機能を実行することができる。また、ロボット200は、生体センサ、マイクロフォン213、カメラ等によりユーザが睡眠中であることを判定したら、抑制モードを実行することにより、より確実に添い寝機能を実行することができる。また、ロボット200は、ユーザに撫でられると、寝息を立てたり、呼吸の動作をしたりするため、ユーザは、ロボット200を本物の生き物のように感じることができる。また、ロボット200は、アラーム時刻にアラーム動作を行うことで、駆動部220によって、もぞもぞと動いたり、スピーカ231で鳴き声を発したりする。これによりユーザは不快を感じることなく、自然に目覚めることができる。 As described above, even in the suppression mode in which the power consumption of the battery is suppressed, the robot 200 can execute the first suppression mode in which the robot 200 outputs an action or a sound while suppressing the power consumption in response to a specific external stimulus, so that the robot 200 can be controlled to act in a detailed response to the external stimulus. The robot 200 can execute the suppression mode according to the time when the user goes to sleep, thereby executing the co-sleeping function, which is a function of sleeping together with the user without disturbing the user's sleep. When the robot 200 determines that the user is sleeping using a biosensor, a microphone 213, a camera, etc., it can execute the co-sleeping function more reliably by executing the suppression mode. When the robot 200 is stroked by the user, the robot 200 makes a sleeping sound or a breathing motion, so that the user can feel the robot 200 as if it were a real living thing. The robot 200 can also perform an alarm operation at the alarm time, causing the driving unit 220 to move around and make a cry through the speaker 231. This allows the user to wake up naturally without feeling uncomfortable.

次に、ロボット200の電源制御について説明する。上述したように、ロボット200は、電源制御部250を備え、電源制御部250により、バッテリー253の充電や電源のON/OFF制御が行われる。電源制御部250が電源のON/OFFの制御を行うことができるため、ユーザが電源スイッチを使用しなくても、ロボット200は自分で電源を入れたり切ったりすることができる。電源制御部250はロボット200の電源を制御する電源制御装置と考えることもできる。 Next, the power supply control of the robot 200 will be described. As described above, the robot 200 is equipped with a power supply control unit 250, which charges the battery 253 and controls the ON/OFF of the power supply. Because the power supply control unit 250 can control the ON/OFF of the power supply, the robot 200 can turn the power on and off by itself, even without the user using a power switch. The power supply control unit 250 can also be thought of as a power supply control device that controls the power supply of the robot 200.

例えばロボット200は、バッテリーの電圧が所定の電圧(動作基準電圧)未満になったら自動的に電源をOFFにし、所定の電圧(起動基準電圧)以上になったら自動的に電源をONにする。そして、電源ON時にバッテリーの電圧が所定の電圧(動作基準電圧)以上であるなら電源ONを維持する。これにより、ユーザが手動で電源をON/OFFしなければいけない他の機器と比べて、より生き物感を向上させることができる。 For example, the robot 200 automatically turns the power OFF when the battery voltage falls below a predetermined voltage (operating reference voltage), and automatically turns the power ON when the battery voltage reaches or exceeds the predetermined voltage (start-up reference voltage). Then, if the battery voltage is equal to or higher than the predetermined voltage (operating reference voltage) when the power is ON, the power remains ON. This makes the robot appear more lifelike than other devices that require the user to manually turn the power ON/OFF.

しかし、例えばバッテリーの充電をできるだけ短時間で行いたい場合等、ユーザが手動でロボット200の電源を切っておきたい場合も考えられる。このような場合に、ロボット200の電源が自動的に入ってしまっては困ることになる。そこで、このような場合には電源制御部250は、ロボット200の電源が自動的に入らないようにする制御も行う。 However, there may be cases where the user wants to manually turn off the power to the robot 200, for example when charging the battery as quickly as possible. In such cases, it would be inconvenient if the robot 200 were to be turned on automatically. Therefore, in such cases, the power supply control unit 250 also performs control to prevent the robot 200 from being turned on automatically.

図9に示すように、電源制御部250は、サブマイコン251、充電IC(Integrated Circuit)252、バッテリー253、電源制御IC254、ワイヤレス給電受信回路255を備える。 As shown in FIG. 9, the power supply control unit 250 includes a sub-microcomputer 251, a charging IC (Integrated Circuit) 252, a battery 253, a power supply control IC 254, and a wireless power supply receiving circuit 255.

サブマイコン251は、低消費電力のプロセッサを内蔵したマイクロコントローラであり、バッテリー253の出力電圧を監視するAD(Analog-to-Digital)コンバータ2511、充電IC252でバッテリー253の充電が行われているか否かを示す充電信号を監視する入力ポート2512、サブマイコン251自身の電源端子2513、ロボット200の電源スイッチ241の押下状況を監視する入力ポート2514、処理部110に対し動作制限の信号を出力する出力ポート2515、電源制御IC254に対し、主機能部290に供給する電源のON/OFFを制御する電源制御信号を出力する出力ポート2516を備える。 The sub-microcomputer 251 is a microcontroller with a built-in low-power processor, and includes an AD (Analog-to-Digital) converter 2511 that monitors the output voltage of the battery 253, an input port 2512 that monitors a charging signal indicating whether the battery 253 is being charged by the charging IC 252, a power terminal 2513 for the sub-microcomputer 251 itself, an input port 2514 that monitors the pressing status of the power switch 241 of the robot 200, an output port 2515 that outputs an operation restriction signal to the processing unit 110, and an output port 2516 that outputs a power control signal to the power control IC 254 to control the ON/OFF of the power supplied to the main function unit 290.

充電IC252は、ワイヤレス給電受信回路255から電力の供給を受けて、バッテリー253を充電するための制御を行うICである。充電IC252は、バッテリー253を充電しているか否かを示す充電信号をサブマイコン251に出力する。 The charging IC 252 is an IC that receives power from the wireless power receiving circuit 255 and controls charging of the battery 253. The charging IC 252 outputs a charging signal indicating whether the battery 253 is being charged to the sub-microcomputer 251.

バッテリー253は充電可能な二次電池であり、ロボット200の動作に必要な電力を供給する。 The battery 253 is a rechargeable secondary battery that supplies the power required for the operation of the robot 200.

電源制御IC254は、バッテリー253からの電力を、ロボット200の主機能部290に供給するか否かを制御するICである。サブマイコン251からの電源制御の信号を受け取る入力ポート2541を備え、電源制御の信号のON/OFFに応じて、主機能部290へ電力を供給したり供給を停止したりする。 The power supply control IC 254 is an IC that controls whether or not power from the battery 253 is supplied to the main function unit 290 of the robot 200. It has an input port 2541 that receives a power supply control signal from the sub-microcomputer 251, and supplies or stops the supply of power to the main function unit 290 depending on whether the power supply control signal is ON or OFF.

ワイヤレス給電受信回路255は、外部のワイヤレス充電装置256から電磁誘導によって電力を受信し、受信した電力を充電IC252に供給する。 The wireless power receiving circuit 255 receives power from an external wireless charging device 256 by electromagnetic induction and supplies the received power to the charging IC 252.

電源スイッチ241は、ロボット200の電源のON/OFFを行うためのスイッチである。なお、ロボット200の電源がOFFになっている場合でも、バッテリー253を充電したり、充電完了後に自動的にロボット200の電源をONにしたりする制御を行うために、電源制御部250には電源が供給されている。このため、ロボット200は、電源供給の観点で、常に電源が供給されている電源制御部250と、電源制御部250によって電源のON/OFFが制御される主機能部290と、の2つの部から構成されると考えることができる。 The power switch 241 is a switch for turning the power of the robot 200 ON/OFF. Note that even when the power of the robot 200 is OFF, power is supplied to the power supply control unit 250 in order to charge the battery 253 and automatically turn the power of the robot 200 ON after charging is complete. For this reason, from the perspective of power supply, the robot 200 can be considered to be composed of two parts: the power supply control unit 250 to which power is always supplied, and the main function unit 290 to which the power ON/OFF is controlled by the power supply control unit 250.

主機能部290は、ロボット200を構成する部分のうち、電源制御部250以外の部分から構成される。図9では、電源制御部250と主機能部290との関係を示すために、電源制御部250から電源が供給される電源端子2901と、サブマイコン251から送信される動作制限の信号を受信する処理部110の入力ポート1101とを示している。 The main function unit 290 is composed of the parts that make up the robot 200 other than the power supply control unit 250. In order to show the relationship between the power supply control unit 250 and the main function unit 290, FIG. 9 shows a power supply terminal 2901 to which power is supplied from the power supply control unit 250, and an input port 1101 of the processing unit 110 that receives an operation restriction signal sent from the sub-microcomputer 251.

次に、電源制御部250のサブマイコン251が実行する電源制御処理について、図22を参照して説明する。この処理は、サブマイコン251が起動すると(バッテリー253の電圧が、サブマイコン251が起動可能な電圧以上になると)実行が開始される。なお、この処理では、ユーザが手動で電源スイッチ241を長押ししてロボット200の電源をOFFにしたか否かを示す手動OFFフラグ変数が使用される。 Next, the power supply control process executed by the sub-microcomputer 251 of the power supply control unit 250 will be described with reference to FIG. 22. This process starts when the sub-microcomputer 251 is started up (when the voltage of the battery 253 reaches or exceeds the voltage at which the sub-microcomputer 251 can be started up). Note that this process uses a manual OFF flag variable that indicates whether or not the user has manually pressed and held the power switch 241 to turn off the power supply to the robot 200.

まず、サブマイコン251は、電源制御IC254に、電源OFFを指示する電源制御信号を出力して主機能部290への電源供給をOFFにする(ステップS601)。そして、サブマイコン251は、処理部110に、動作制限OFFを指示する動作制限信号を出力する(ステップS602)。そして、サブマイコン251は、手動OFFフラグ変数を0に初期化する(ステップS603)。 First, the sub-microcomputer 251 outputs a power control signal to the power control IC 254 to instruct it to turn off the power supply to the main function unit 290 (step S601). Then, the sub-microcomputer 251 outputs an operation restriction signal to the processing unit 110 to instruct it to turn off the operation restriction (step S602). Then, the sub-microcomputer 251 initializes the manual OFF flag variable to 0 (step S603).

次に、サブマイコン251は、主機能部290への電源供給がONであるか否かを判定する(ステップS604)。電源供給がONであるなら(ステップS604;Yes)、サブマイコン251は、バッテリー253が充電中であるか否かを判定する(ステップS605)。充電中でないなら(ステップS605;No)、サブマイコン251は、処理部110に、動作制限OFFを指示する動作制限信号を出力し(ステップS606)、ステップS608に進む。 Next, the sub-microcomputer 251 determines whether or not the power supply to the main function unit 290 is ON (step S604). If the power supply is ON (step S604; Yes), the sub-microcomputer 251 determines whether or not the battery 253 is charging (step S605). If the battery 253 is not charging (step S605; No), the sub-microcomputer 251 outputs an operation restriction signal to the processing unit 110 to instruct it to turn off the operation restriction (step S606), and proceeds to step S608.

バッテリー253が充電中なら(ステップS605;Yes)、サブマイコン251は、処理部110に、動作制限ONを指示する動作制限信号を出力する(ステップS607)。 If the battery 253 is charging (step S605; Yes), the sub-microcomputer 251 outputs an operation restriction signal to the processing unit 110 to instruct the operation restriction to be ON (step S607).

そして、サブマイコン251は、電源スイッチ241が長押しされたか否かを判定する(ステップS608)。長押しされたなら(ステップS608;Yes)、サブマイコン251は、手動OFFフラグ変数を1にして(ステップS609)、ステップS611に進む。 Then, the sub-microcomputer 251 determines whether the power switch 241 has been pressed and held down (step S608). If the power switch 241 has been pressed and held down (step S608; Yes), the sub-microcomputer 251 sets the manual OFF flag variable to 1 (step S609) and proceeds to step S611.

電源スイッチ241が長押しされていないなら(ステップS608;No)、サブマイコン251は、バッテリー253の電圧が動作基準電圧以上か否かを判定する(ステップS610)。動作基準電圧とは、ロボット200を正常に動作させるのに最低限必要と考えられる電圧であり、例えば、バッテリー253の満充電時の電圧の75%の電圧である。また、動作基準電圧は第2基準電圧とも呼ばれる。 If the power switch 241 has not been pressed and held (step S608; No), the sub-microcomputer 251 determines whether the voltage of the battery 253 is equal to or higher than the operating reference voltage (step S610). The operating reference voltage is a voltage considered to be the minimum voltage required for the robot 200 to operate normally, and is, for example, 75% of the voltage of the battery 253 when it is fully charged. The operating reference voltage is also called the second reference voltage.

バッテリー253の電圧が動作基準電圧以上なら(ステップS610;Yes)、ステップS604に進む。 If the voltage of battery 253 is equal to or higher than the operating reference voltage (step S610; Yes), proceed to step S604.

バッテリー253の電圧が動作基準電圧未満なら(ステップS610;No)、サブマイコン251は、電源制御IC254に、電源OFFを指示する電源制御信号を出力して主機能部290への電源供給をOFFにして(ステップS611)、ステップS604に戻る。このように、バッテリー253の電圧が動作基準電圧未満になると電源制御部250は、自動的にロボット200の電源をOFFにするので、ロボット200の動作が不安定になったり、バッテリー253が完全に放電してしまったりすることを防止することができる。 If the voltage of the battery 253 is less than the operating reference voltage (step S610; No), the sub-microcomputer 251 outputs a power control signal to the power control IC 254 to instruct it to turn off the power supply to the main function unit 290 (step S611), and returns to step S604. In this way, when the voltage of the battery 253 falls below the operating reference voltage, the power control unit 250 automatically turns off the power supply to the robot 200, thereby preventing the operation of the robot 200 from becoming unstable or the battery 253 from becoming completely discharged.

一方、ステップS604で、主機能部290への電源供給がONでないなら(ステップS604;No)、サブマイコン251は、電源スイッチ241が押されたか否かを判定する(ステップS612)。電源スイッチ241が押されたなら(ステップS612;Yes)、ステップS615に進む。 On the other hand, if the power supply to the main function unit 290 is not ON in step S604 (step S604; No), the sub-microcomputer 251 determines whether the power switch 241 has been pressed (step S612). If the power switch 241 has been pressed (step S612; Yes), the process proceeds to step S615.

電源スイッチ241が押されていないなら(ステップS612;No)、サブマイコン251は、バッテリー253が充電中か否かを判定する(ステップS613)。バッテリー253が充電中でないなら(ステップS613;No)、ステップS604に戻る。 If the power switch 241 is not pressed (step S612; No), the sub-microcomputer 251 determines whether the battery 253 is being charged (step S613). If the battery 253 is not being charged (step S613; No), the process returns to step S604.

バッテリー253が充電中なら(ステップS613;Yes)、サブマイコン251は、手動OFFフラグが1であるか否かを判定する(ステップS614)。手動OFFフラグが1であるなら(ステップS614;Yes)、ステップS604に戻る。 If the battery 253 is being charged (step S613; Yes), the sub-microcomputer 251 determines whether the manual OFF flag is 1 (step S614). If the manual OFF flag is 1 (step S614; Yes), the process returns to step S604.

手動OFFフラグ変数が1でないなら(ステップS614;No)、サブマイコン251は、バッテリー253の電圧が起動基準電圧以上か否かを判定する(ステップS615)。起動基準電圧とは、充電中にロボット200の電源を自動的にONにしてもよいと判断できる電圧であり、例えば、バッテリー253の満充電時の電圧の95%の電圧である。また、起動基準電圧は第1基準電圧とも呼ばれる。 If the manual OFF flag variable is not 1 (step S614; No), the sub-microcomputer 251 determines whether the voltage of the battery 253 is equal to or higher than the start reference voltage (step S615). The start reference voltage is a voltage at which it is determined that the power of the robot 200 may be automatically turned on during charging, and is, for example, a voltage that is 95% of the voltage when the battery 253 is fully charged. The start reference voltage is also called the first reference voltage.

バッテリー253の電圧が起動基準電圧未満なら(ステップS615;No)、ステップS604に戻る。 If the voltage of battery 253 is less than the start reference voltage (step S615; No), return to step S604.

バッテリー253の電圧が起動基準電圧以上なら(ステップS615;Yes)、サブマイコン251は、電源制御IC254に、電源ONを指示する電源制御信号を出力して主機能部290への電源供給をONにする(ステップS616)。このように、バッテリー253の電圧が起動基準電圧以上になると電源制御部250は、自動的にロボット200の電源をONにするので、ユーザは電源スイッチ241を操作する必要がなく、ロボット200の生き物感を向上させることができる。 If the voltage of the battery 253 is equal to or higher than the start-up reference voltage (step S615; Yes), the sub-microcomputer 251 outputs a power control signal to the power control IC 254 to instruct it to turn on the power supply to the main function unit 290 (step S616). In this way, when the voltage of the battery 253 is equal to or higher than the start-up reference voltage, the power control unit 250 automatically turns on the power supply to the robot 200, so that the user does not need to operate the power switch 241, and the lifelike feel of the robot 200 can be improved.

次に、サブマイコン251は、処理部110に、動作制限ONを指示する動作制限信号を出力する(ステップS617)。そして、サブマイコン251は、手動OFFフラグ変数を0にして(ステップS618)、ステップS604に戻る。 Next, the sub-microcomputer 251 outputs an operation restriction signal to the processing unit 110 to instruct the operation restriction to be ON (step S617). Then, the sub-microcomputer 251 sets the manual OFF flag variable to 0 (step S618) and returns to step S604.

以上の電源制御処理により、ロボット200は、自動的に電源のON/OFFを行うことができるだけでなく、ユーザが手動で電源をOFFにした場合には、手動OFFフラグ変数が1になることから、ステップS614の処理により、充電中に自動的に電源がONになってしまうことを防ぐことができる。これにより、ユーザが充電時間を短縮したい場合には手動で電源をOFFにすれば、ロボット200は充電中に電源OFFを維持し、充電時間を短縮することができる。 By the above power control process, the robot 200 can not only automatically turn the power on and off, but also, when the user manually turns the power off, the manual off flag variable becomes 1, so that the process of step S614 can prevent the power from being automatically turned on during charging. As a result, if the user wants to shorten the charging time, they can simply turn the power off manually, and the robot 200 will maintain the power off during charging, thereby shortening the charging time.

なお、上述の電源制御処理からわかるように、サブマイコン251は、手動OFFフラグ変数を参照することにより、ロボット200の電源供給が遮断された要因が、ユーザ操作(ユーザが手動で電源をOFFしたこと)に起因するのか(手動OFFフラグが1)、それ以外の電源遮断要因(バッテリー253の電圧が動作基準電圧未満になった等の事象による電源OFF等)であるのか(手動OFFフラグが0)、を判別できる。 As can be seen from the power supply control process described above, the sub-microcomputer 251 can determine, by referring to the manual OFF flag variable, whether the power supply to the robot 200 was cut off due to a user operation (the user manually turning off the power) (manual OFF flag is 1) or due to some other power cut-off cause (such as the power being turned off due to an event such as the voltage of the battery 253 falling below the operating reference voltage) (manual OFF flag is 0).

また、充電中は、処理部110に対し、動作制限をONにする信号を送信することにより、充電中にロボット200が動いてしまって、正常な充電が行えなくなることを防ぐことができる。 In addition, during charging, a signal to turn on the operation restriction is sent to the processing unit 110, thereby preventing the robot 200 from moving during charging, which would prevent normal charging from being performed.

具体的には、動作制限をONにすると、次の2つの動作制限が行われる。1つ目の動作制限は、モータの動作の勢いでロボット200が移動してしまって、ワイヤレス給電受信回路255とワイヤレス充電装置256とが離れてしまうことを防ぐための動作制限である。具体的には、本実施形態では、ひねりモータ221及び上下モータ222の動作角度を、モーションテーブルで規定されている動作角度の50%に制限する。 Specifically, when the motion restriction is turned ON, the following two motion restrictions are implemented. The first motion restriction is to prevent the robot 200 from moving due to the momentum of the motor motion, causing the wireless power supply receiving circuit 255 and the wireless charging device 256 to become separated. Specifically, in this embodiment, the motion angle of the twist motor 221 and the up/down motor 222 is limited to 50% of the motion angle specified in the motion table.

2つ目の動作制限は、ロボット200がワイヤレス充電装置256から浮いてしまって、ワイヤレス給電受信回路255とワイヤレス充電装置256とが離れてしまうことを防ぐための動作制限である。具体的には、本実施形態では、ひねりモータ221の角度を0度に固定するとともに、上下モータ222の角度を0度から+30度の範囲に制限する。 The second operation restriction is an operation restriction to prevent the robot 200 from floating away from the wireless charging device 256, causing the wireless power supply receiving circuit 255 and the wireless charging device 256 to become separated. Specifically, in this embodiment, the angle of the twist motor 221 is fixed to 0 degrees, and the angle of the up/down motor 222 is limited to a range from 0 degrees to +30 degrees.

なお、動作制限がOFFの場合も、ロボット200の構造的な制約から、頭部204と胴体部206とが衝突したり、頭部204と胴体部206との間に指を挟んだりしてしまう事故を防ぐために、各モータの角度を制限する。具体的には、本実施形態では、ひねりモータ221の角度を-90度から+90度の範囲に制限し、上下モータ222の角度を-60度から+60度の範囲に制限する。 Even when the motion restriction is OFF, the angle of each motor is restricted due to structural constraints of the robot 200 to prevent accidents such as the head 204 and the torso 206 colliding with each other or fingers getting caught between the head 204 and the torso 206. Specifically, in this embodiment, the angle of the twist motor 221 is restricted to the range of -90 degrees to +90 degrees, and the angle of the up/down motor 222 is restricted to the range of -60 degrees to +60 degrees.

例えば、図14に示す「自発動作0-0(呼吸動作)」の場合、動作制限ONの場合は、750ミリ秒後の上下モータ222の角度は15度、その800ミリ秒後の上下モータの角度は12度となるように、各モータの回転角度を制限する。 For example, in the case of "spontaneous movement 0-0 (breathing movement)" shown in FIG. 14, when movement restriction is ON, the rotation angle of each motor is restricted so that the angle of the up/down motor 222 after 750 milliseconds is 15 degrees, and the angle of the up/down motor after 800 milliseconds is 12 degrees.

このような動作制限を含めたモータ制御処理について、図23を参照して説明する。この処理は、上述の動作選択処理のステップS208や、アラーム制御処理のステップS407や、ハードスリープ処理のステップS530において、処理部110が駆動部220を制御する時に実行される。 The motor control process including such operation restrictions will be described with reference to FIG. 23. This process is executed when the processing unit 110 controls the drive unit 220 in step S208 of the operation selection process described above, step S407 of the alarm control process, and step S530 of the hard sleep process.

まず、処理部110は、モータ制御の初期化処理を行う(ステップS701)。例えば、必要に応じてひねりモータ221及び上下モータ222の角度を基準角度(0度)に戻す。 First, the processing unit 110 performs an initialization process for motor control (step S701). For example, the angles of the twist motor 221 and the up-down motor 222 are returned to the reference angle (0 degrees) as necessary.

次に、処理部110は、動作制限がONであるか否かを判定する(ステップS702)。なお、処理部110は、動作制限がONかOFFかを、図9に示す上述した入力ポート1101から取得することができる。 Next, the processing unit 110 determines whether the operation restriction is ON or OFF (step S702). The processing unit 110 can obtain whether the operation restriction is ON or OFF from the above-mentioned input port 1101 shown in FIG. 9.

動作制限がONでなければ(ステップS702;No)、処理部110は、動作範囲として、動作制限OFF時の値を設定する(ステップS703)。具体的には、ひねりモータ221の角度を-90度から+90度の範囲に制限し、上下モータ222の角度を-60度から+60度の範囲に制限する。 If the motion restriction is not ON (step S702; No), the processing unit 110 sets the motion range to the value when the motion restriction is OFF (step S703). Specifically, the angle of the twist motor 221 is limited to the range of -90 degrees to +90 degrees, and the angle of the up/down motor 222 is limited to the range of -60 degrees to +60 degrees.

動作制限がONであれば(ステップS702;Yes)、処理部110は、動作範囲として、動作制限ON時の値を設定する(ステップS704)。具体的には、ひねりモータ221の角度を0度のみに制限し、上下モータ222の角度を0度から+30度の範囲に制限する。 If the motion restriction is ON (step S702; Yes), the processing unit 110 sets the motion range to the value when the motion restriction is ON (step S704). Specifically, the angle of the twist motor 221 is limited to 0 degrees, and the angle of the up/down motor 222 is limited to the range from 0 degrees to +30 degrees.

そして、処理部110は、モーションテーブル125からデータを1行読み込み、動作時間、ひねりモータ221の動作角度、上下モータ222の動作角度をそれぞれ取得する(ステップS705)。 Then, the processing unit 110 reads one row of data from the motion table 125 and obtains the operation time, the operation angle of the twist motor 221, and the operation angle of the up/down motor 222 (step S705).

そして、処理部110は、再度、動作制限がONであるか否かを判定する(ステップS706)。動作制限がONなら(ステップS706;Yes)、処理部110は、ステップS705で取得した動作角度の値を50%に制限し(ステップS707)、ステップS708に進む。 Then, the processing unit 110 again determines whether the motion restriction is ON (step S706). If the motion restriction is ON (step S706; Yes), the processing unit 110 limits the value of the motion angle acquired in step S705 to 50% (step S707) and proceeds to step S708.

動作制限がOFFなら(ステップS706;No)、処理部110は、動作角度をステップS703又はステップS704で設定した動作範囲内に制限する(ステップS708)。 If the motion restriction is OFF (step S706; No), the processing unit 110 restricts the motion angle to within the motion range set in step S703 or step S704 (step S708).

そして、処理部110は、ステップS708で定まった動作角度を、ひねりモータ221、上下モータ222にそれぞれ設定することで、モータの動作を開始させる(ステップS709)。 Then, the processing unit 110 starts the operation of the motors by setting the operating angles determined in step S708 to the twist motor 221 and the up/down motor 222 (step S709).

そして、処理部110は、ステップS705でモーションテーブル125から読み込んだ動作時間が経過したか否かを判定する(ステップS710)。動作時間経過していないなら(ステップS710;No)、処理部110は、ステップS710に戻って動作時間の経過を待つ。 Then, the processing unit 110 determines whether the motion time read from the motion table 125 in step S705 has elapsed (step S710). If the motion time has not elapsed (step S710; No), the processing unit 110 returns to step S710 and waits for the motion time to elapse.

動作時間が経過したなら(ステップS710;Yes)、処理部110は、モーションテーブル125を読み終えたか否かを判定する(ステップS711)。モーションテーブル125を読み終えていなければ(ステップS711;No)、ステップS705に戻る。モーションテーブル125を読み終えたなら(ステップS711;Yes)、処理部110は、モータ制御処理を終了する。 When the operation time has elapsed (step S710; Yes), the processing unit 110 determines whether or not reading of the motion table 125 has been completed (step S711). If reading of the motion table 125 has not been completed (step S711; No), the processing unit 110 returns to step S705. If reading of the motion table 125 has been completed (step S711; Yes), the processing unit 110 ends the motor control process.

以上のモータ制御処理により、ロボット200は、モーションテーブル125に設定されている値によらず、安全にひねりモータ221及び上下モータ222を制御することができる。また、充電中に動作を制限することによって、ロボット200が移動したり、ワイヤレス充電装置256から浮いてしまったりすることを防ぎ、ワイヤレス充電を安定的に行うことができる。 By performing the above motor control process, the robot 200 can safely control the twist motor 221 and the up/down motor 222 regardless of the values set in the motion table 125. In addition, by limiting the movement during charging, the robot 200 can be prevented from moving or floating away from the wireless charging device 256, and wireless charging can be performed stably.

(変形例)
なお、本発明は、上述の実施形態に限定されず、種々の変形及び応用が可能である。例えば、ロボット200の成長完了後にはロボット200の性格が補正されない方がよいと考えるユーザ向けに、動作制御処理のステップS112を省略し、動作選択処理のステップS201では性格値を補正せずに算出してもよい。このようにすることで、ロボット200の性格がロボット200の成長完了後に完全に固定化されるようにすることができる。
(Modification)
The present invention is not limited to the above-described embodiment, and various modifications and applications are possible. For example, for a user who thinks that it is better not to correct the personality of the robot 200 after the growth of the robot 200 is completed, step S112 of the motion control process may be omitted, and the personality value may be calculated without correction in step S201 of the motion selection process. In this way, the personality of the robot 200 can be completely fixed after the growth of the robot 200 is completed.

また、上述のモーションテーブル125は、ロボット200の駆動部220の動作(動作時間及び動作角度)並びに音声データが設定されていたが、駆動部220の動作のみ、又は音声データのみが設定されていてもよい。また駆動部220の動作及び音声データ以外の制御が設定されていてもよい。駆動部220の動作及び音声データ以外の制御としては、例えば、ロボット200の出力部230にLEDが備えられている場合には、点灯させるLEDの色や明るさを制御することが考えられる。処理部110により制御される被制御部としては、駆動部220、出力部230の少なくとも一方が含まれればよく、出力部230は音出力部として、音のみを出力してもよいし、LED等により光のみを出力してもよい。 In addition, in the above-mentioned motion table 125, the operation (operation time and operation angle) and voice data of the driving unit 220 of the robot 200 are set, but only the operation of the driving unit 220 or only the voice data may be set. Also, control other than the operation of the driving unit 220 and the voice data may be set. For example, when the output unit 230 of the robot 200 is equipped with an LED, control of the color and brightness of the LED to be lit is conceivable as an example of control other than the operation and voice data of the driving unit 220. At least one of the driving unit 220 and the output unit 230 may be included as the controlled unit controlled by the processing unit 110, and the output unit 230 may be a sound output unit that outputs only sound, or may output only light using an LED or the like.

また、上述の実施形態では、感情マップ300のサイズは、第1期間中にロボット200の疑似的な成長日数が1日増える度に、感情マップ300の最大値、最小値ともに2ずつ拡大されていった。しかし、感情マップ300のサイズの拡大はこのように均等に行われなくてもよい。例えば、感情データ121の変化の仕方に応じて、感情マップ300の拡大の仕方を変更してもよい。 In the above embodiment, the size of the emotion map 300 is expanded by two for both the maximum and minimum values of the emotion map 300 each time the number of days of simulated growth of the robot 200 increases by one day during the first period. However, the expansion of the size of the emotion map 300 does not have to be performed evenly in this manner. For example, the way in which the emotion map 300 is expanded may be changed depending on how the emotion data 121 changes.

感情データ121の変化の仕方に応じて、感情マップ300の拡大の仕方を変更するには、例えば動作制御処理(図15)のステップS114において、以下のような処理を行えばよい。ある1日の間に、ステップS105において、感情データ121の値が1度でも感情マップ300の最大値に設定されたら、その後のステップS114において感情マップ300の最大値を3増加させる。ステップS105において感情データ121の値が1度も感情マップ300の最大値に到達しなかったら、その後のステップS114において感情マップ300の最大値を1増加させる。 To change the way in which the emotion map 300 is expanded depending on how the emotion data 121 changes, for example, the following process may be performed in step S114 of the motion control process (FIG. 15). If the value of the emotion data 121 is set to the maximum value of the emotion map 300 even once in step S105 during a given day, the maximum value of the emotion map 300 is increased by 3 in the subsequent step S114. If the value of the emotion data 121 never reaches the maximum value of the emotion map 300 in step S105, the maximum value of the emotion map 300 is increased by 1 in the subsequent step S114.

感情マップ300の最小値の方も同様に、その日に1度でも感情データ121の値が感情マップ300の最小値に設定されたら、感情マップ300の最小値を3減少させ、1度も感情データ121の値が感情マップ300の最小値に到達しなかったら、感情マップ300の最小値を1減少させる。このように、感情マップ300の拡大の仕方を変更することにより、感情データ121の設定可能範囲は、外部刺激に応じて学習されることになる。 Similarly, for the minimum value of emotion map 300, if the value of emotion data 121 is set to the minimum value of emotion map 300 even once on that day, the minimum value of emotion map 300 is decreased by 3, and if the value of emotion data 121 never reaches the minimum value of emotion map 300, the minimum value of emotion map 300 is decreased by 1. In this way, by changing the way emotion map 300 is expanded, the settable range of emotion data 121 is learned in response to external stimuli.

なお、上述の実施形態及び変形例では感情マップ300を第1期間中、常に拡大させていたが、感情マップ300の範囲の変更は拡大に限定されない。例えば外部刺激に応じ、ほとんど生じない感情の方向については、感情マップ300の範囲を縮小させてもよい。 In the above-described embodiment and modified example, the emotion map 300 is always expanded during the first period, but the change in the range of the emotion map 300 is not limited to expansion. For example, the range of the emotion map 300 may be reduced for the direction of an emotion that rarely occurs in response to an external stimulus.

また、上述の実施形態では、ロボット200に機器の制御装置100が内蔵されている構成としたが、機器の制御装置100は、必ずしもロボット200に内蔵されている必要はない。例えば、図24に示すように、機器の制御装置101は、ロボット209に内蔵されずに別個の装置(例えばサーバ)として構成されてもよい。この変形例では、ロボット209も処理部260及び通信部270を備え、通信部130と通信部270とがお互いにデータを送受信できるように構成されている。そして、処理部110は、通信部130及び通信部270を介して、センサ部210が検出した外部刺激を取得したり、駆動部220や出力部230を制御したりする。 In the above embodiment, the robot 200 is configured to have the device control device 100 built in, but the device control device 100 does not necessarily have to be built in the robot 200. For example, as shown in FIG. 24, the device control device 101 may be configured as a separate device (e.g., a server) without being built in the robot 209. In this modified example, the robot 209 also includes a processing unit 260 and a communication unit 270, and is configured so that the communication unit 130 and the communication unit 270 can send and receive data to each other. The processing unit 110 acquires external stimuli detected by the sensor unit 210 and controls the drive unit 220 and output unit 230 via the communication unit 130 and the communication unit 270.

なお、このように機器の制御装置101とロボット209とが別個の装置で構成されている場合、必要に応じて、ロボット209は処理部260により制御されるようになっていてもよい。例えば、単純な動作は処理部260で制御され、複雑な動作は通信部270を介して処理部110で制御される等である。 When the device control device 101 and the robot 209 are configured as separate devices in this manner, the robot 209 may be controlled by the processing unit 260 as necessary. For example, simple operations are controlled by the processing unit 260, and complex operations are controlled by the processing unit 110 via the communication unit 270.

また、上述の実施形態では、機器の制御装置100,101は、制御の対象となる機器をロボット200,209とした制御装置であるが、制御の対象となる機器は、ロボット200,209に限られない。制御の対象となる機器としては、例えば、腕時計等も考えられる。例えば、音声出力可能で加速度センサを備えた腕時計を制御の対象となる機器とする場合、外部刺激としては、加速度センサで検出される、腕時計に加わった衝撃等を想定することができる。そして、モーションテーブル125には、外部刺激に応じて出力する音声データを記録しておくことができる。そして、外部刺激に応じて感情データ121や感情変化データ122を更新し、検出した外部刺激や、その時点での感情変化データ122(性格)に基づいて、モーションテーブル125に設定されている音声データを出力させることが考えられる。 In the above embodiment, the device control devices 100 and 101 are control devices for which the devices to be controlled are the robots 200 and 209, but the devices to be controlled are not limited to the robots 200 and 209. Devices to be controlled may also be, for example, wristwatches. For example, if the device to be controlled is a wristwatch capable of outputting audio and equipped with an acceleration sensor, an external stimulus may be an impact applied to the wristwatch detected by the acceleration sensor. The motion table 125 may record audio data to be output in response to the external stimulus. The emotion data 121 and emotion change data 122 may be updated in response to the external stimulus, and the audio data set in the motion table 125 may be output based on the detected external stimulus and the emotion change data 122 (personality) at that time.

そうすると、ユーザの扱い方によって、腕時計に個性(疑似的な性格)が生じることになる。つまり、同じ型番の腕時計であっても、ユーザが丁寧に扱っていれば、陽気な性格の腕時計になり、乱暴に扱っていればシャイな性格の腕時計になる。 This means that the watch will develop a personality (pseudo-characteristic) depending on how the user handles it. In other words, even if two watches have the same model number, if the user handles them carefully, the watch will have a cheerful personality, but if the user handles them roughly, the watch will have a shy personality.

このように機器の制御装置100,101は、ロボットに限らず、様々な機器に適用することができる。そして機器に適用することにより、当該機器に疑似的な感情や性格を備えさせることができ、またユーザに、当該機器を疑似的に育てているように感じさせることができる。 In this way, the device control devices 100, 101 can be applied to a variety of devices, not just robots. By applying them to devices, the devices can be endowed with simulated emotions and personalities, and the user can feel as if they are virtually raising the device.

上述の実施形態において、処理部110のCPUが実行する動作プログラムは、あらかじめ記憶部120のROM等に記憶されていた。しかしながら、本発明は、これに限定されず、上述の各種処理を実行させるための動作プログラムを、既存の汎用コンピュータ等に実装することにより、上述の実施形態に係る機器の制御装置100,101に相当する装置として機能させてもよい。 In the above-described embodiment, the operation program executed by the CPU of the processing unit 110 is stored in advance in the ROM of the storage unit 120. However, the present invention is not limited to this, and the operation program for executing the above-described various processes may be implemented in an existing general-purpose computer or the like, so that the computer functions as a device equivalent to the control devices 100, 101 of the devices according to the above-described embodiments.

このようなプログラムの提供方法は任意であり、例えば、コンピュータが読取可能な記録媒体(フレキシブルディスク、CD(Compact Disc)-ROM、DVD(Digital Versatile Disc)-ROM、MO(Magneto-Optical Disc)、メモリカード、USBメモリ等)に格納して配布してもよいし、インターネット等のネットワーク上のストレージにプログラムを格納しておき、これをダウンロードさせることにより提供してもよい。 Such programs may be provided in any manner, for example, by storing them on a computer-readable recording medium (such as a flexible disk, a CD (Compact Disc)-ROM, a DVD (Digital Versatile Disc)-ROM, an MO (Magneto-Optical Disc), a memory card, or a USB memory) and distributing them, or by storing the programs in storage on a network such as the Internet and providing them by downloading them.

また、上述の処理をOS(Operating System)とアプリケーションプログラムとの分担、又は、OSとアプリケーションプログラムとの協働によって実行する場合には、アプリケーションプログラムのみを記録媒体やストレージに格納してもよい。また、搬送波にプログラムを重畳し、ネットワークを介して配信することも可能である。例えば、ネットワーク上の掲示板(Bulletin Board System:BBS)に上記プログラムを掲示し、ネットワークを介してプログラムを配信してもよい。そして、このプログラムを起動し、OSの制御下で、他のアプリケーションプログラムと同様に実行することにより、上記の処理を実行できるように構成してもよい。 In addition, when the above-mentioned processing is performed by sharing the work between an OS (Operating System) and an application program, or by cooperation between the OS and the application program, only the application program may be stored in a recording medium or storage. It is also possible to superimpose the program on a carrier wave and distribute it over a network. For example, the above-mentioned program may be posted on a bulletin board system (BBS) on the network and distributed over the network. The above-mentioned processing may be performed by starting up this program and executing it under the control of the OS in the same way as other application programs.

また、処理部110,260は、シングルプロセッサ、マルチプロセッサ、マルチコアプロセッサ等の任意のプロセッサ単体で構成されるものの他、これら任意のプロセッサと、ASIC(Application Specific Integrated Circuit)やFPGA(Field‐Programmable Gate Array)等の処理回路とが組み合わせられて構成されてもよい。 The processing units 110 and 260 may be configured as any single processor such as a single processor, a multiprocessor, or a multicore processor, or may be configured by combining any of these processors with a processing circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field-Programmable Gate Array).

本発明は、本発明の広義の精神と範囲とを逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、前述した実施形態は、この発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、実施形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。 The present invention allows for various embodiments and modifications without departing from the broad spirit and scope of the present invention. Furthermore, the above-described embodiments are intended to explain the present invention and do not limit the scope of the present invention. In other words, the scope of the present invention is indicated by the claims, not the embodiments. Furthermore, various modifications made within the scope of the claims and the scope of the meaning of the invention equivalent thereto are considered to be within the scope of the present invention. The inventions described in the original claims of this application are appended below.

(付記1)
機器に設けられた主機能部に電源を供給するためのバッテリーの出力電圧を取得し、
前記主機能部への電源供給が、前記機器のユーザ操作に起因して停止されているか否かを判別し、
前記バッテリーへの充電中、前記電源供給が、前記ユーザ操作に起因して停止されていると判別している場合には、前記取得した出力電圧が第1基準電圧以上であっても、前記電源供給の停止を維持する、
電源制御部を備える、
機器の電源制御装置。
(Appendix 1)
Obtaining the output voltage of a battery for supplying power to a main functional unit of the device;
determining whether or not power supply to the main functional unit has been stopped due to a user operation of the device;
When it is determined that the power supply has been stopped due to the user operation during charging of the battery, the power supply is maintained stopped even if the acquired output voltage is equal to or higher than a first reference voltage.
A power supply control unit is provided.
Power control device for equipment.

(付記2)
前記電源制御部は、
前記主機能部への電源供給が、前記機器のユーザ操作以外の事象に起因して停止されているか否かを判別し、
前記バッテリーへの充電中、前記電源供給が前記ユーザ操作以外の事象に起因して停止されていると判別し、かつ、前記取得した出力電圧が第1基準電圧以上である場合に、前記電源供給を再開する、
付記1に記載の機器の電源制御装置。
(Appendix 2)
The power supply control unit is
determining whether or not power supply to the main functional unit has been stopped due to an event other than a user operation of the device;
while charging the battery, if it is determined that the power supply has been stopped due to an event other than the user operation and the acquired output voltage is equal to or higher than a first reference voltage, the power supply is resumed;
2. A power supply control device for the device described in claim 1.

(付記3)
前記電源制御部は、
前記電源供給がされており、かつ、前記取得した出力電圧が、前記第1基準電圧以下である第2基準電圧未満である場合に、前記電源供給を停止する、
付記1又は2に記載の機器の電源制御装置。
(Appendix 3)
The power supply control unit is
When the power supply is being performed and the acquired output voltage is less than a second reference voltage that is equal to or less than the first reference voltage, the power supply is stopped.
A power supply control device for the device described in appendix 1 or 2.

(付記4)
前記電源制御部は、
前記バッテリーを充電中、前記主機能部に含まれる駆動部の動作の制限を前記主機能部に指示する、
付記1から3のいずれか1つに記載の機器の電源制御装置。
(Appendix 4)
The power supply control unit is
instructing the main functional unit to limit the operation of a drive unit included in the main functional unit while the battery is being charged;
A power supply control device for an apparatus according to any one of claims 1 to 3.

(付記5)
前記動作の制限の指示は、前記駆動部の回転角度を制限する指示である、
付記4に記載の機器の電源制御装置。
(Appendix 5)
The instruction to limit the operation is an instruction to limit a rotation angle of the drive unit.
5. A power supply control device for the device described in claim 4.

(付記6)
機器に設けられた主機能部に電源を供給するためのバッテリーの出力電圧を取得し、
前記主機能部への電源供給が、前記機器のユーザ操作に起因して停止されているか否かを判別し、
前記バッテリーへの充電中、前記電源供給が前記ユーザ操作に起因して停止されていると判別している場合には、前記取得した出力電圧が第1基準電圧以上であっても、前記電源供給の停止を維持する、
機器の制御方法。
(Appendix 6)
Obtaining the output voltage of a battery for supplying power to a main functional unit of the device;
determining whether or not power supply to the main functional unit has been stopped due to a user operation of the device;
When it is determined that the power supply has been stopped due to the user operation during charging of the battery, the power supply is maintained stopped even if the acquired output voltage is equal to or higher than a first reference voltage.
How to control the device.

(付記7)
機器の制御装置に含まれるコンピュータに、
前記機器に設けられた主機能部に電源を供給するためのバッテリーの出力電圧を取得し、
前記主機能部への電源供給が、前記機器のユーザ操作に起因して停止しているか否かを判別し、
前記バッテリーへの充電中、前記電源供給が前記ユーザ操作に起因して停止されていると判別している場合には、前記取得した出力電圧が第1基準電圧以上であっても、前記電源供給の停止を維持する、
処理を実行させるプログラム。
(Appendix 7)
A computer included in the device's control device
acquiring an output voltage of a battery for supplying power to a main functional unit provided in the device;
determining whether or not power supply to the main functional unit has been stopped due to a user operation of the device;
When it is determined that the power supply has been stopped due to the user operation during charging of the battery, the power supply is maintained stopped even if the acquired output voltage is equal to or higher than a first reference voltage.
A program that executes a process.

100,101…機器の制御装置、110,260…処理部、120…記憶部、121…感情データ、122…感情変化データ、123…成長テーブル、124…動作内容テーブル、125…モーションテーブル、126…成長日数データ、130,270…通信部、200,209…ロボット、201…外装、202…装飾部品、203…毛、204…頭部、205…連結部、206…胴体部、207…筐体、210…センサ部、211…タッチセンサ、212…加速度センサ、213…マイクロフォン、214…照度センサ、220…駆動部、221…ひねりモータ、222…上下モータ、230…出力部、231…スピーカ、240…操作部、241…電源スイッチ、250…電源制御部、251…サブマイコン、252…充電IC、253…バッテリー、254…電源制御IC、255…ワイヤレス給電受信回路、256…ワイヤレス充電装置、290…主機能部、300…感情マップ、301,302,303…枠、310,410…原点、311,312,411,412,413,414…軸、400…性格値レーダーチャート、501…画面、1101,2512,2514,2515,2516,2541…ポート、2511…ADコンバータ、2513,2901…電源端子、BL…バスライン 100, 101...Device control device, 110, 260...Processing unit, 120...Memory unit, 121...Emotion data, 122...Emotion change data, 123...Growth table, 124...Operation content table, 125...Motion table, 126...Growth days data, 130, 270...Communication unit, 200, 209...Robot, 201...Exterior, 202...Decorative parts, 203...Hur, 204...Head, 205...Connecting unit, 206...Torso, 207...Housing, 210...Sensor unit, 211...Touch sensor, 212...Acceleration sensor, 213...Microphone, 214...Illuminance sensor, 220...Drive unit, 221...Twist motor, 222...Up and down motor, 230...Output 231...speaker, 240...operation unit, 241...power switch, 250...power control unit, 251...sub-microcomputer, 252...charging IC, 253...battery, 254...power control IC, 255...wireless power supply receiving circuit, 256...wireless charging device, 290...main function unit, 300...emotion map, 301, 302, 303...frame, 310, 410...origin, 311, 312, 411, 412, 413, 414...axis, 400...personality value radar chart, 501...screen, 1101, 2512, 2514, 2515, 2516, 2541...port, 2511...AD converter, 2513, 2901...power terminal, BL...bus line

Claims (6)

機器に設けられた主機能部であって、駆動部を含む前記主機能部に電源を供給するためのバッテリーの出力電圧を取得し、
前記主機能部への電源供給が、前記機器のユーザ操作に起因して停止されているか否かを判別し、
前記電源供給が停止されている状態で前記バッテリーへの充電中、前記電源供給が、前記ユーザ操作に起因して停止されていると判別している場合には、前記取得した出力電圧が第1基準電圧以上であっても、前記電源供給の停止を維持する、
電源制御部と、
前記駆動部の動作を制御する駆動制御部と、
を備え、
前記電源制御部は、
前記バッテリーから前記主機能部への電源供給が、前記機器のユーザ操作以外の事象に起因して停止されているか否かを判別し、
前記電源供給が停止されている状態で前記バッテリーへの充電中、前記電源供給が前記ユーザ操作以外の事象に起因して停止されていると判別し、かつ、前記取得した出力電圧が第1基準電圧以上である場合に、前記電源供給を再開し、
前記駆動制御部は、
前記電源供給が実行されている状態で前記機器の前記バッテリーの充電中であるときに、第1の動作範囲内で前記駆動部を制御し、
前記電源供給が実行されている状態で前記機器の前記バッテリーの充電実行中でないときに、前記第1の動作範囲よりも大きい第2の動作範囲内で前記駆動部を制御する、
機器の制御装置。
A main function unit provided in the device acquires an output voltage of a battery for supplying power to the main function unit including a drive unit;
determining whether or not power supply to the main functional unit has been stopped due to a user operation of the device;
When the power supply is stopped and the battery is being charged, if it is determined that the power supply has been stopped due to the user operation, the power supply is maintained stopped even if the acquired output voltage is equal to or higher than a first reference voltage.
A power supply control unit;
A drive control unit that controls the operation of the drive unit;
Equipped with
The power supply control unit is
determining whether or not the power supply from the battery to the main functional unit has been stopped due to an event other than a user operation of the device;
while charging the battery in a state where the power supply is stopped , it is determined that the power supply has been stopped due to an event other than the user operation, and when the acquired output voltage is equal to or higher than a first reference voltage, the power supply is resumed;
The drive control unit is
When the battery of the device is being charged while the power supply is being performed , the drive unit is controlled within a first operating range;
When the battery of the device is not being charged while the power supply is being performed , the drive unit is controlled within a second operating range that is larger than the first operating range.
Equipment control device.
前記電源制御部は、
前記電源供給がされており、かつ、前記取得した出力電圧が、前記第1基準電圧以下である第2基準電圧未満である場合に、前記電源供給を停止する、
請求項1に記載の機器の制御装置。
The power supply control unit is
When the power supply is being performed and the acquired output voltage is less than a second reference voltage that is equal to or less than the first reference voltage, the power supply is stopped.
A control device for an appliance according to claim 1.
前記バッテリーは、前記機器が無線給電装置の載置部に載置された状態で充電され、
前記駆動部は、前記機器の胴体部に対して回転可能に接続された頭部を駆動するように構成され
前記駆動制御部は、前記機器が前記無線給電装置の前記載置部に載置された状態での前記バッテリーの充電中に、前記第1の動作範囲内で前記駆動部を制御することにより、前記頭部を前記第1の動作範囲に対応する回転角度範囲内で、前記胴体部の幅方向及び前後方向の少なくとも一方に延びる回転軸を中心として回転させる、
請求項1又は2に記載の機器の制御装置。
The battery is charged in a state where the device is placed on a placement portion of the wireless power supply device,
The drive unit is configured to drive a head that is rotatably connected to a body unit of the device;
the drive control unit controls the drive unit within the first operating range while the battery is being charged in a state in which the device is placed on the placement unit of the wireless power supply device, thereby rotating the head around a rotation axis extending in at least one of a width direction and a front-rear direction of the body unit within a rotation angle range corresponding to the first operating range .
A control device for the device according to claim 1 or 2 .
前記第1の動作範囲は、前記回転軸を中心として前記頭部を回転させたときに、前記機器前記載置部とが離れることを防止可能な動作範囲である、
請求項に記載の機器の制御装置。
the first movement range is a movement range that can prevent the device from being separated from the placement unit when the head is rotated around the rotation axis;
The device control device according to claim 3 .
機器に設けられた主機能部であって、駆動部を含む前記主機能部に電源を供給するためのバッテリーの出力電圧を取得し、
前記主機能部への電源供給が、前記機器のユーザ操作に起因して停止されているか否かを判別し、
前記電源供給が停止されている状態で前記バッテリーへの充電中、前記電源供給が前記ユーザ操作に起因して停止されていると判別している場合には、前記取得した出力電圧が第1基準電圧以上であっても、前記電源供給の停止を維持し、
前記バッテリーから前記主機能部への電源供給が、前記機器のユーザ操作以外の事象に起因して停止されているか否かを判別し、
前記電源供給が停止されている状態で前記バッテリーへの充電中、前記電源供給が前記ユーザ操作以外の事象に起因して停止されていると判別し、かつ、前記取得した出力電圧が第1基準電圧以上である場合に、前記電源供給を再開し、
前記電源供給が実行されている状態で前記機器の前記バッテリーの充電中であるときに、第1の動作範囲内で前記駆動部を制御し、
前記電源供給が実行されている状態で前記機器の前記バッテリーの充電実行中でないときに、前記第1の動作範囲よりも大きい第2の動作範囲内で前記駆動部を制御する、
機器の制御方法。
A main function unit provided in the device acquires an output voltage of a battery for supplying power to the main function unit including a drive unit;
determining whether or not power supply to the main functional unit has been stopped due to a user operation of the device;
When the power supply is stopped and the battery is being charged, if it is determined that the power supply is stopped due to the user operation, the power supply is maintained stopped even if the acquired output voltage is equal to or higher than a first reference voltage;
determining whether or not the power supply from the battery to the main functional unit has been stopped due to an event other than a user operation of the device;
while charging the battery in a state where the power supply is stopped , it is determined that the power supply has been stopped due to an event other than the user operation, and when the acquired output voltage is equal to or higher than a first reference voltage, the power supply is resumed;
When the battery of the device is being charged while the power supply is being performed , the drive unit is controlled within a first operating range;
When the battery of the device is not being charged while the power supply is being performed , the drive unit is controlled within a second operating range that is larger than the first operating range.
How to control the device.
機器の制御装置に含まれるコンピュータに、
前記機器に設けられた主機能部であって、駆動部を含む前記主機能部に電源を供給するためのバッテリーの出力電圧を取得し、
前記主機能部への電源供給が、前記機器のユーザ操作に起因して停止しているか否かを判別し、
前記電源供給が停止されている状態で前記バッテリーへの充電中、前記電源供給が前記ユーザ操作に起因して停止されていると判別している場合には、前記取得した出力電圧が第1基準電圧以上であっても、前記電源供給の停止を維持し、
前記バッテリーから前記主機能部への電源供給が、前記機器のユーザ操作以外の事象に起因して停止されているか否かを判別し、
前記電源供給が停止されている状態で前記バッテリーへの充電中、前記電源供給が前記ユーザ操作以外の事象に起因して停止されていると判別し、かつ、前記取得した出力電圧が第1基準電圧以上である場合に、前記電源供給を再開し、
前記電源供給が実行されている状態で前記機器の前記バッテリーの充電中であるときに、第1の動作範囲内で前記駆動部を制御し、
前記電源供給が実行されている状態で前記機器の前記バッテリーの充電実行中でないときに、前記第1の動作範囲よりも大きい第2の動作範囲内で前記駆動部を制御する、
処理を実行させるプログラム。
A computer included in the device's control device
acquiring an output voltage of a battery for supplying power to a main functional unit provided in the device, the main functional unit including a drive unit;
determining whether or not power supply to the main functional unit has been stopped due to a user operation of the device;
When the power supply is stopped and the battery is being charged, if it is determined that the power supply is stopped due to the user operation, the power supply is maintained stopped even if the acquired output voltage is equal to or higher than a first reference voltage;
determining whether or not the power supply from the battery to the main functional unit has been stopped due to an event other than a user operation of the device;
while charging the battery in a state where the power supply is stopped , it is determined that the power supply has been stopped due to an event other than the user operation, and when the acquired output voltage is equal to or higher than a first reference voltage, the power supply is resumed;
When the battery of the device is being charged while the power supply is being performed , the drive unit is controlled within a first operating range;
When the battery of the device is not being charged while the power supply is being performed , the drive unit is controlled within a second operating range that is larger than the first operating range.
A program that executes a process.
JP2021042127A 2021-03-16 2021-03-16 Device control device, device control method, and program Active JP7595492B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2021042127A JP7595492B2 (en) 2021-03-16 2021-03-16 Device control device, device control method, and program
JP2023132201A JP7574894B2 (en) 2021-03-16 2023-08-15 Power supply control device for device, device control method and program
JP2024174180A JP2024177385A (en) 2021-03-16 2024-10-03 Device control device, device control method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021042127A JP7595492B2 (en) 2021-03-16 2021-03-16 Device control device, device control method, and program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023132201A Division JP7574894B2 (en) 2021-03-16 2023-08-15 Power supply control device for device, device control method and program

Publications (2)

Publication Number Publication Date
JP2022142111A JP2022142111A (en) 2022-09-30
JP7595492B2 true JP7595492B2 (en) 2024-12-06

Family

ID=83426400

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2021042127A Active JP7595492B2 (en) 2021-03-16 2021-03-16 Device control device, device control method, and program
JP2023132201A Active JP7574894B2 (en) 2021-03-16 2023-08-15 Power supply control device for device, device control method and program
JP2024174180A Pending JP2024177385A (en) 2021-03-16 2024-10-03 Device control device, device control method, and program

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2023132201A Active JP7574894B2 (en) 2021-03-16 2023-08-15 Power supply control device for device, device control method and program
JP2024174180A Pending JP2024177385A (en) 2021-03-16 2024-10-03 Device control device, device control method, and program

Country Status (1)

Country Link
JP (3) JP7595492B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7622759B2 (en) 2023-01-25 2025-01-28 カシオ計算機株式会社 ROBOT, ROBOT CONTROL METHOD AND PROGRAM

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018012446A1 (en) 2016-07-11 2018-01-18 Groove X株式会社 Autonomous acting robot of which activity is controlled

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000038295A1 (en) * 1998-12-21 2000-06-29 Sony Corporation Robot-charging system, robot, battery charger, method of charging robot, and recording medium
JP4267174B2 (en) 2000-05-12 2009-05-27 京セラ株式会社 Mobile phone
JP2002059389A (en) 2000-08-16 2002-02-26 Sony Corp Autonomous walking robot device
JP2003071772A (en) * 2001-08-29 2003-03-12 Daisuke Yagi Robot with charging function by electromagnetic induction
JP2003071763A (en) * 2001-09-04 2003-03-12 Sony Corp Leg type mobile robot
EP2281668B1 (en) * 2005-09-30 2013-04-17 iRobot Corporation Companion robot for personal interaction

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018012446A1 (en) 2016-07-11 2018-01-18 Groove X株式会社 Autonomous acting robot of which activity is controlled

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
井上未雪、"家族型ロボットLOVOTと一緒に家で暮らしてみた。まさか……裏切られた予見"、ハフポスト日本語版、日本、2020.01.15掲載、pp.1-8

Also Published As

Publication number Publication date
JP2022142111A (en) 2022-09-30
JP2023160829A (en) 2023-11-02
JP2024177385A (en) 2024-12-19
JP7574894B2 (en) 2024-10-29

Similar Documents

Publication Publication Date Title
JP7632527B2 (en) Robot, control method and program
JP7364016B2 (en) Robot, control method and program
US20220297018A1 (en) Robot, robot control method, and storage medium
JP2024177385A (en) Device control device, device control method, and program
JP2023099625A (en) Equipment control device, equipment control method, and program
US20240100709A1 (en) Robot, robot control method and recording medium
JP7643431B2 (en) Device control device, device control method, and program
JP7287411B2 (en) Equipment control device, equipment control method and program
JP7655292B2 (en) Robot, robot control method and program
JP7639799B2 (en) Robot, robot control method and program
US20240100707A1 (en) Robot, robot control method and recording medium
US20250103050A1 (en) Apparatus control device, apparatus control method, and recording medium
JP2025052720A (en) Device control device, device control method, and program
JP2025052719A (en) Device control device, device control method, and program
JP2025052723A (en) Performance information acquisition device, performance information acquisition method, and program
JP2025049785A (en) Display device, display method, and program
JP2025050107A (en) Electronic device, electronic device control method and program
JP2025008820A (en) ROBOT, ROBOT CONTROL METHOD AND PROGRAM
CN119681916A (en) Robot, robot control method, and computer program product
JP2025049781A (en) Robot, control method and program
JP2025049855A (en) Robot, control method and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210527

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220901

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230215

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230516

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230815

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20230825

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20230915

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240730

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20241126

R150 Certificate of patent or registration of utility model

Ref document number: 7595492

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150