Display control device, display control system, display method, and program
The display control device addresses the need for easily accessible event records in gesture-performing robots by aggregating and displaying relevant information, allowing users to efficiently track and understand the robot's activities.
Patent Information
- Application Number
- JP2023159996
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-25
- Publication Date
- 2025-04-04
AI Technical Summary
There is a demand for a robot that can perform gestures in response to events, allowing users to easily check the event record.
A display control device and system that acquires information about the parameters related to a robot performing gestures, generates aggregated information over a target period, and displays this information on a display means, featuring a control unit to manage the process.
Enables users to easily confirm the record of events in a robot, enhancing user interaction and understanding of the robot's activities.
Smart Images

Figure 2025051082000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a display control device, a display control system, a display method, and a program. [Background technology]
[0002] There are known robots that mimic living things such as pets and humans, and perform gestures according to events. For example, Patent Document 1 discloses an autonomous robot that changes one or more emotion parameters according to an event, and generates a reaction report when the emotion parameters satisfy a predetermined psychological condition and provides the report to a user. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2020-032014 A Summary of the Invention [Problem to be solved by the invention]
[0004] In a robot that performs a gesture in response to an event as described above, there is a demand for enabling a user to more easily check a record of the event.
[0005] The present invention is intended to solve the above-mentioned problems, and aims to provide a display control device, a display control system, a display method, and a program that enable a user to easily check the record of an event in a robot that performs gestures according to the event. [Means for solving the problem]
[0006] In order to achieve the above object, one aspect of a display control device according to the present invention is to Acquire information on parameters related to a robot that executes a gesture in response to an event, the parameters changing in response to the event; Generate aggregate information of the parameters for a target period based on the acquired information of the parameters; displaying the generated tabulated information on a display means; It is characterized by having a control unit. Effect of the Invention
[0007] According to the present invention, it is possible to allow a user to easily check a record of an event in a robot that performs a gesture corresponding to the event. [Brief description of the drawings]
[0008] [Figure 1] 1 is a diagram showing an outline of the overall configuration of a robot system according to a first embodiment. [Diagram 2] 1 is a cross-sectional side view of a robot according to a first embodiment. [Diagram 3] 1 is a block diagram showing a configuration of a robot according to a first embodiment. [Figure 4] 1 is a block diagram showing a configuration of a terminal device according to a first embodiment. [Diagram 5] FIG. 3 is a diagram showing an example of an emotion map according to the first embodiment. [Figure 6] FIG. 2 is a diagram showing an example of a personality value radar chart according to the first embodiment. [Figure 7] FIG. 4 is a diagram showing an example of gesture information according to the first embodiment. [Figure 8] FIG. 4 is a diagram showing an example of log information according to the first embodiment. [Figure 9] FIG. 4 is a diagram illustrating an example of an event classification table according to the first embodiment. [Figure 10] FIG. 4 is a diagram showing a display example of a diary screen according to the first embodiment. [Figure 11] FIG. 11 is a diagram showing a display example of a tallying screen according to the first embodiment. [Figure 12] FIG. 13 is a diagram showing a display example of aggregated information of friendship points according to the first embodiment. [Figure 13] FIG. 4 is a diagram showing an example of display of aggregated information of personality parameters according to the first embodiment. [Figure 14] FIG. 4 is a diagram showing an example of display of aggregated information of emotion parameters in the first embodiment. [Figure 15] FIG. 11 is a diagram showing an example of display of first tally information of the number of times an event occurs according to the first embodiment. [Figure 16] 13 is a diagram showing an example of display of second tally information of the number of times an event occurs according to the first embodiment. FIG. [Figure 17] FIG. 4 is a diagram showing a display example of totalized information of sleep hours according to the first embodiment. [Figure 18] 4 is a flowchart showing a flow of a robot control process according to the first embodiment. [Figure 19] 5 is a flowchart showing the flow of a gesture control process according to the first embodiment. [Figure 20] 4 is a flowchart showing the flow of a display process according to the first embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. In the drawings, the same or corresponding parts are denoted by the same reference numerals.
[0010] (Embodiment 1) 1 shows a schematic configuration of a robot system 1 according to the embodiment 1. The robot system 1 includes a robot 200 and a terminal device 50. The robot 200 is an example of the robot according to the embodiment 1.
[0011] The robot 200 according to the first embodiment includes an exterior 201, a decorative part 202, a bushy fur 203, a head 204, a connecting part 205, a body part 206, a housing 207, a touch sensor 211, an acceleration sensor 212, a microphone 213, an illuminance sensor 214, and a speaker 231, which are similar to those of the robot 200 disclosed in JP 2023-115370 A, and the description thereof will be omitted. The shape of the head 204 may be the shape shown in FIG. 2, or may be the shape disclosed in, for example, FIG. 2 of JP 2023-115370 A.
[0012] The robot 200 according to the first embodiment includes a twist motor 221 and an up-down motor 222 similar to those of the robot 200 disclosed in Japanese Patent Application Laid-Open No. 2023-115370, and the description thereof will be omitted. The twist motor 221 and the up-down motor 222 of the robot 200 according to the first embodiment operate in the same manner as the robot 200 disclosed in Japanese Patent Application Laid-Open No. 2023-115370.
[0013] The robot 200 includes a gyro sensor 215. The acceleration sensor 212 and the gyro sensor 215 enable the robot 200 to detect changes in its own posture, and also to detect that the robot 200 has been lifted up, turned around, or thrown by a user. The illuminance sensor 214 enables the robot 200 to detect the illuminance of the surroundings of the robot 200.
[0014] At least a portion of the acceleration sensor 212, microphone 213, gyro sensor 215, illuminance sensor 214 and speaker 231 may be provided in the head 204, not limited to the torso 206, or in both the torso 206 and the head 204.
[0015] Next, the functional configuration of the robot 200 will be described with reference to Fig. 3. As shown in Fig. 3, the robot 200 includes a control device 100, a sensor unit 210, a driving unit 220, an output unit 230, and an operation unit 240. These units are connected to each other via a bus line BL, for example. Note that instead of the bus line BL, a wired interface such as a USB (Universal Serial Bus) cable or a wireless interface such as Bluetooth (registered trademark) may be used.
[0016] The control device 100 is a device that controls the robot 200. The control device 100 includes a control unit 110, a storage unit 120, and a communication unit .
[0017] The control unit 110 includes a CPU (Central Processing Unit). The CPU is, for example, a microprocessor, and is a central processing unit that executes various processes and calculations. In the control unit 110, the CPU reads out a control program stored in a ROM, and controls the operation of the entire robot 200, which is the control unit, while using a RAM as a work memory. Although not shown, the control unit 110 also includes a clock function, a timer function, and the like, and can measure the date and time. The control unit 110 may also be called a "processor."
[0018] The storage unit 120 includes a ROM (Read Only Memory), a RAM (Random Access Memory), a flash memory, etc. The storage unit 120 stores programs and data, including an OS (Operating System) and application programs, that are used by the control unit 110 to perform various processes. The storage unit 120 also stores data that is generated or acquired by the control unit 110 performing various processes.
[0019] The communication unit 130 includes a communication interface for communicating with devices external to the robot 200. For example, the communication unit 130 communicates with external devices including the terminal device 50 in accordance with well-known communication standards such as wireless LAN (Local Area Network), BLE (Bluetooth Low Energy (registered trademark)), and NFC (Near Field Communication).
[0020] The sensor unit 210 includes the above-mentioned touch sensor 211, acceleration sensor 212, gyro sensor 215, illuminance sensor 214, and microphone 213. The sensor unit 210 is an example of a detection unit that detects an external stimulus.
[0021] The touch sensor 211 includes, for example, a pressure sensor or a capacitance sensor, and detects contact with some object. Based on the detection value of the touch sensor 211, the control unit 110 can detect whether the robot 200 is being stroked or hit by the user.
[0022] The acceleration sensor 212 detects acceleration applied to the body 206 of the robot 200. The acceleration sensor 212 detects acceleration in each of the X-axis direction, the Y-axis direction, and the Z-axis direction, that is, acceleration in three axes.
[0023] For example, the acceleration sensor 212 detects gravitational acceleration when the robot 200 is stationary. The control unit 110 can detect the current posture of the robot 200 based on the gravitational acceleration detected by the acceleration sensor 212. In other words, the control unit 110 can detect whether the housing 207 of the robot 200 is tilted from the horizontal direction based on the gravitational acceleration detected by the acceleration sensor 212. In this way, the acceleration sensor 212 functions as a tilt detection means that detects the tilt of the robot 200.
[0024] Furthermore, when the user lifts or throws the robot 200, the acceleration sensor 212 detects the acceleration accompanying the movement of the robot 200 in addition to the gravitational acceleration. Therefore, the control 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.
[0025] The gyro sensor 215 detects the angular velocity when rotation is applied to the body 206 of the robot 200. Specifically, the gyro sensor 215 detects the angular velocity of three-axis rotation, namely, rotation about the X-axis direction, rotation about the Y-axis direction, and rotation about the Z-axis direction. By combining the detection values detected by the acceleration sensor 212 and the detection values detected by the gyro sensor 215, the movement of the robot 200 can be detected with higher accuracy.
[0026] The touch sensor 211, the acceleration sensor 212, and the gyro sensor 215 detect the strength of contact, the acceleration, and the angular velocity, respectively, at synchronized timing (for example, every 0.25 seconds), and output the detection values to the control unit 110.
[0027] The microphone 213 detects sounds around the robot 200. Based on the components of the sound detected by the microphone 213, the control unit 110 can detect, for example, whether the user is calling out to the robot 200 or clapping his hands.
[0028] The illuminance sensor 214 detects the illuminance of the surroundings of the robot 200. Based on the illuminance detected by the illuminance sensor 214, the control unit 110 can detect whether the surroundings of the robot 200 have become brighter or darker.
[0029] The control unit 110 acquires, as an external stimulus, detection values detected by various sensors included in the sensor unit 210 via the bus line BL. The external stimulus is a stimulus that acts on the robot 200 from outside the robot 200. Examples of the external stimulus include "a loud noise was heard," "someone spoke to," "someone stroked," "someone lifted up," "someone turned upside down," "it became brighter," "it became darker," and the like.
[0030] For example, the control unit 110 obtains external stimuli caused by "a loud noise" or "being spoken to" through the microphone 213, and obtains external stimuli caused by "being stroked" through the touch sensor 211. In addition, the control unit 110 obtains external stimuli caused by "being lifted," "being held," or "being turned upside down" through the acceleration sensor 212 and gyro sensor 215, and obtains external stimuli caused by "it becoming brighter" or "it becoming darker" through the illuminance sensor 214.
[0031] The sensor unit 210 may include sensors other than the touch sensor 211, the acceleration sensor 212, the gyro sensor 215, and the microphone 213. By increasing the types of sensors included in the sensor unit 210, it is possible to increase the types of external stimuli that the control unit 110 can acquire.
[0032] The driving unit 220 includes a twist motor 221 and an up-down motor 222, and is driven by the control unit 110. The twist motor 221 is a servo motor for rotating the head 204 in the left-right direction (width direction) with respect to the torso unit 206, with the front-rear direction as an axis. The up-down motor 222 is a servo motor for rotating the head 204 in the up-down direction (height direction) with respect to the torso unit 206, with the left-right direction as an axis. The robot 200 can express the motion of twisting the head 204 sideways by the twist motor 221, and can express the motion of raising and lowering the head 204 by the up-down motor 222.
[0033] The output unit 230 includes a speaker 231, and when the control unit 110 inputs sound data to the output unit 230, sound is output from the speaker 231. For example, when the control unit 110 inputs data on the cry of the robot 200 to the output unit 230, the robot 200 emits a pseudo cry.
[0034] Incidentally, instead of or in addition to the speaker 231, the output unit 230 may be provided with a display such as a liquid crystal display or a light-emitting unit such as an LED (Light Emitting Diode), and emotions such as joy and sadness may be displayed on the display or expressed by the color and brightness of the emitted light.
[0035] The operation unit 240 includes operation buttons, a volume knob, etc. The operation unit 240 is an interface for accepting user operations such as turning the power on and off, adjusting the volume of the output sound, etc.
[0036] The battery 250 is a rechargeable secondary battery, and stores power used in the robot 200. The battery 250 is charged when the robot 200 moves to a charging station.
[0037] The position information acquisition unit 260 includes a position information sensor such as a Global Positioning System (GPS) and acquires current position information of the robot 200. Note that the position information acquisition unit 260 may acquire the position information of the robot 200 by a general method using wireless communication, not limited to GPS, or may acquire the position information of the robot 200 through application software of the terminal device 50.
[0038] The control unit 110 functionally includes a state parameter acquisition unit 112 which is an example of a state parameter acquisition means, a gesture control unit 113 which is an example of a gesture control means, and a log information update unit 114 which is an example of a log information update means. In the control unit 110, the CPU reads out a program stored in the ROM into the RAM and executes and controls the program, thereby functioning as each of these units. Note that in the control unit 110, a single CPU may function as each unit, and multiple CPUs may function as each unit in cooperation. In addition, the storage unit 120 stores gesture information 121, state parameters 122, log information 123, and a coefficient table 124.
[0039] Next, the configuration of the terminal device 50 will be described with reference to FIG. 4. The terminal device 50 is an operation terminal operated by a user. The terminal device 50 is, for example, a general-purpose information processing device such as a smartphone, a tablet terminal, or a wearable terminal. As shown in FIG. 4, the terminal device 50 includes a control unit 510, a storage unit 520, an operation unit 530, a display unit 540, and a communication unit 550. The terminal device 50 is an example of a display control device that displays objects related to the robot 200. The robot system 1 is an example of a display control system.
[0040] The control unit 510 includes a CPU. In the control unit 110, the CPU reads out a control program stored in a ROM and controls the overall operation of the terminal device 50 while using a RAM as a work memory. The control unit 510 may be called a "processor."
[0041] The storage unit 520 includes a ROM, a RAM, a flash memory, etc. The storage unit 520 stores programs and data used by the control unit 510 to perform various processes. The storage unit 520 also stores data generated or acquired by the control unit 510 performing various processes.
[0042] The operation unit 530 includes an input device such as a touch panel, a touch pad, and physical buttons, and receives operation input from the user.
[0043] Display unit 540 includes a display device such as a liquid crystal display, and displays various images under the control of control unit 510. Display unit 540 is an example of a display means.
[0044] The communication unit 550 includes a communication interface for communicating with devices external to the terminal device 50. For example, the communication unit 550 communicates with external devices including the robot 200 in accordance with well-known communication standards such as wireless LAN, BLE (registered trademark), and NFC.
[0045] Control unit 510 functionally comprises log information acquisition unit 512 which is an example of log information acquisition means, tally unit 513 which is an example of tally means, and display control unit 514 which is an example of display control means. In control unit 510, a CPU reads out a program stored in ROM into RAM and executes and controls the program, thereby functioning as each of these units. Note that in control unit 510, a single CPU may function as each unit, and multiple CPUs may function as each unit in cooperation. In addition, storage unit 520 stores event classification table 521.
[0046] Returning to Fig. 3, in the control device 100 of the robot 200, the state parameter acquisition unit 112 acquires state parameters 122. The state parameters 122 are parameters for expressing the state of the robot 200. Specifically, the state parameters 122 include (1) emotion parameters, (2) personality parameters, (3) remaining battery power, (4) current location, (5) current time, and (6) number of days of growth (number of days of training).
[0047] (1) Emotion parameters The emotion parameters are parameters that represent simulated emotions for the robot 200. The emotion parameters are represented by coordinates (X, Y) on the emotion map 300.
[0048] As shown in Fig. 5, the emotion map 300 is represented by a two-dimensional coordinate system with the X-axis representing the degree of relief (degree of anxiety) and the Y-axis representing the degree of excitement (degree of lethargy). The origin (0,0) on the emotion map represents normal emotions. The larger the absolute value of the X-coordinate (X value), the more positive the value, the higher the emotion of relief; and the larger the absolute value of the negative value, the higher the emotion of anxiety. The larger the absolute value of the Y-coordinate (Y value), the more positive the value, the higher the emotion of excitement; and the larger the absolute value of the negative value, the higher the emotion of lethargy.
[0049] The emotion parameter represents a plurality of different pseudo emotions (four in this embodiment). In FIG. 5, among the values representing the pseudo emotions, the relief level and anxiety level are collectively represented on one axis (X-axis), and the excitement level and lethargy level are collectively represented on another axis (Y-axis). Therefore, the emotion parameter has two values, an X value (relief level, anxiety level) and a Y value (excitement level, lethargy level), 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 parameter is (0,0). The emotion map 300 is divided into nine areas according to the X value and the Y value, namely, a "joy area", a "relief area", a "calm area", an "excited area", a "normal area", an "lethargy area", an "irritated area", an "anxious area", and a "sad area". These nine areas are divided by, for example, the boundary line shown by the dashed line in FIG. 5. In addition, in FIG. 5, emotion map 300 is represented in a two-dimensional coordinate system, but the number of dimensions of emotion map 300 is arbitrary, and it may be, for example, one-dimensional or three-dimensional.
[0050] State parameter acquisition section 112 calculates an emotion change amount, which is an amount of change that increases or decreases the X and Y values of emotion parameters. The emotion change amount is expressed by the following four variables. 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)
[0051] The state parameter acquisition unit 112 updates the emotion parameter by adding or subtracting a value corresponding to the external stimulus from among the emotion change amounts DXP, DXM, DYP, and DYM to the current emotion parameter. For example, when the head 204 is stroked, the simulated emotion of the robot 200 is one of relief, so the state parameter acquisition unit 112 adds DXP to the X value of the emotion parameter. Conversely, when the head 204 is hit, the simulated emotion of the robot 200 is one of anxiety, so the state parameter acquisition unit 112 subtracts DXM from the X value of the emotion parameter. It is possible to arbitrarily set what emotion change amounts correspond to various external stimuli. An example is shown below. 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 peaceful): 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.)
[0052] The sensor unit 210 acquires a plurality of different types of external stimuli using a plurality of sensors. The state parameter acquisition unit 112 derives various amounts of emotion change in response to each of the plurality of external stimuli, and sets emotion parameters in response to the derived amounts of emotion change.
[0053] The initial value of each of the emotion change amounts DXP, DXM, DYP, and DYM is 10, and each value increases up to a maximum of 20. The state parameter acquisition unit 112 updates each variable of the emotion change amounts DXP, DXM, DYP, and DYM in response to an external stimulus detected by the sensor unit 210. Specifically, the state parameter acquisition unit 112 adds 1 to DXP if the X value of the emotion parameter is set to the maximum value of the emotion map 300 at least once in a day, and adds 1 to DYP if the Y value of the emotion parameter is set to the maximum value of the emotion map 300 at least once in a day. Also, the state parameter acquisition unit 112 adds 1 to DXM if the X value of the emotion parameter is set to the minimum value of the emotion map 300 at least once in a day, and adds 1 to DYM if the Y value of the emotion parameter is set to the minimum value of the emotion map 300 at least once in a day.
[0054] In this way, the state parameter acquisition unit 112 changes the emotion change amount according to a condition based on whether the emotion parameter value has reached the maximum or minimum value of the emotion map 300, and this update process changes the emotion change amount, i.e., the degree of emotion change. For example, when only the head 204 is stroked repeatedly, only the emotion change amount DXP increases, and the other emotion change amounts do not change, so the robot 200 has a personality that is easy to feel at ease. Also, when only the head 204 is hit repeatedly, only the emotion change amount DXM increases, and the other emotion change amounts do not change, so the robot 200 has a personality that is easy to feel anxious. In this way, the state parameter acquisition unit 112 changes the emotion change amount in response to various external stimuli.
[0055] (2) Personality parameters The personality parameters are parameters that represent the pseudo personality of the robot 200. The personality parameters include a plurality of personality values each representing a different degree of personality. The state parameter acquisition unit 112 changes the plurality of personality values included in the personality parameters in response to an external stimulus detected by the sensor unit 210.
[0056] Specifically, the state parameter acquisition unit 112 calculates the four personality values according to the following (Equation 1). That is, the personality value (cheerful) is calculated by subtracting 10 from DXP, which indicates the tendency to feel at ease, the personality value (shy) is calculated by subtracting 10 from DXM, which indicates the tendency to become anxious, the personality value (active) is calculated by subtracting 10 from DYP, which indicates the tendency to become excited, and the personality value (spoiled) is calculated by subtracting 10 from DYM, which indicates the tendency to become lethargic. Personality score (cheerful) = DXP-10 Personality score (shy) = DXM-10 Personality score (active) = DYP-10 Personality score (spoiled) = DYM-10 …(Formula 1)
[0057] 6, a personality value radar chart 400 can be generated by plotting the personality value (cheerful) on the first axis, the personality value (active) on the second axis, the personality value (shy) on the third axis, and the personality value (spoiled) on the fourth axis. Since the initial value of each variable of the amount of emotion change is 10 and increases up to a maximum of 20, the range of the personality value is 0 to 10.
[0058] Since the initial value of each personality value is 0, the personality of the robot 200 at the time of its birth is represented by the origin of the personality value radar chart 400. As the robot 200 grows, the four personality values change 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. This allows for the expression of 11 to the fourth power = 14641 different personalities. In this way, the robot 200 has various personalities depending on how the user interacts with the robot 200. In other words, the personality of the robot 200 is formed differently for each individual robot depending on how the user interacts with the robot 200.
[0059] These four personality values are fixed when the child period has passed and the simulated growth of the robot 200 is completed. In order to correct the personality in the subsequent adult period according to the user's attitude toward the robot 200, the state parameter acquisition unit 112 adjusts the four personality correction values (cheerful correction value, active correction value, shy correction value, and spoiled correction value).
[0060] The state parameter acquisition unit 112 adjusts the four personality correction values according to a condition based on which of the nine divided areas on the emotion map 300 the area in which the emotion parameters have existed the longest is. As an example, if the longest existence area is a safe area on the emotion map 300, the state parameter acquisition unit 112 adds 1 to the cheerful correction value and subtracts 1 from the shy correction value. If the longest existence area is an excited area on the emotion map 300, the state parameter acquisition unit 112 adds 1 to the active correction value and subtracts 1 from the spoiled correction value. Note that if the longest existence area is another area, the state parameter acquisition unit 112 similarly adjusts the four personality correction values according to the area.
[0061] When the four personality correction values are set, the state parameter acquisition unit 112 calculates the four personality values according to the following (Equation 2). Personality value (cheerful) = DXP-10 + cheerfulness correction value Personality score (shy) = DXM-10 + shyness correction value Personality score (active) = DYP-10 + Activeness correction value Personality score (spoiled) = DYM-10 + spoiled correction value …(Formula 2)
[0062] (3) Battery level The remaining battery level is the remaining amount of power stored in the battery 250, and is a parameter that indicates the pseudo hunger level of the robot 200. The state parameter acquisition unit 112 acquires information on the current remaining battery level from a power supply control unit that controls charging and discharging of the battery 250.
[0063] (4) Current location The current location is the location where the robot 200 is currently located. The state parameter acquisition unit 112 acquires information on the current location of the robot 200 by the location information acquisition unit 260. Specifically, the state parameter acquisition unit 112 refers to past location information of the robot 200 and determines whether the current location is the robot's home, a new location, a familiar location, or an unfamiliar location, etc. Then, the state parameter acquisition unit 112 acquires the determination information as the current location.
[0064] (5)Current time The current time is the current time in a specific country. The state parameter acquisition unit 112 acquires the current time from a clock mounted on the robot 200. Specifically, the state parameter acquisition unit 112 refers to the log of ON / OFF of the simulated sleep of the robot 200 and determines whether the current time is immediately after the wake-up time of the day, immediately before bedtime, or during a nap time.
[0065] (6) Number of days to grow (number of days to grow) The number of days of growth indicates the number of days of the pseudo growth of the robot 200. The robot 200 is pseudo-born when the user activates it for the first time after being shipped from the factory, and grows from a child to an adult over a predetermined growth period (e.g., 50 days). The number of days of growth corresponds to the number of days from the pseudo birth of the robot 200. The growth period is referred to as the "child period", and the period after the completion of the child period is referred to as the "adult period".
[0066] During the child period, the state parameter acquisition unit 112 increases both the maximum and minimum values of the emotion map 300 by 2 each time the number of days of simulated growth of the robot 200 increases by one day. The initial size of the emotion map 300 has a maximum value of 100 and a minimum value of -100 for both the X and Y values. When the number of days of growth reaches half the child period (for example, 25 days), the maximum value of both the X and Y values becomes 150 and the minimum value becomes -150. When the child period has elapsed, the simulated growth of the robot 200 stops. At this time, the maximum value of both the X and Y values becomes 200 and the minimum value becomes -200. After that, the size of the emotion map 300 is fixed.
[0067] The settable range of emotion parameters is determined by emotion map 300. Therefore, the settable range of emotion parameters expands as the size of emotion map 300 increases. By expanding the settable range of emotion parameters, richer emotional expression becomes possible, and thus the pseudo growth of robot 200 is expressed by expanding the size of emotion map 300.
[0068] Returning to FIG. 3, the gesture control unit 113 causes the robot 200 to perform various gestures according to the situation based on the gesture information 121. The gesture information 121 is information that determines the gestures to be performed by the robot 200. Here, the gestures are the behavior, action, etc. of the robot 200. Specifically, the gestures are, as shown in FIG. 7, "head down", "peep", "head shake", "surprise", "happiness", "sadness", etc. In addition to the gestures shown in FIG. 7, various other gestures can be mentioned, such as "laughing", "anger", "sneezing", "breathing", etc. Each gesture is composed of a combination of multiple elements, which are movements or voice outputs.
[0069] The movement means a physical movement (motion) of the robot 200 executed by the driving unit 220. Specifically, the movement corresponds to moving the head 204 relative to the body 206 by the twist motor 221 or the up-down motor 222. The sound output means outputting various sounds such as cries from the speaker 231 of the output unit 230.
[0070] 7, the gesture information 121 defines gesture control parameters for each of a plurality of gestures that the robot 200 can perform. The gesture control parameters are parameters for causing the robot 200 to perform each gesture. The gesture control parameters define, for each element constituting a gesture, a movement parameter or a cry parameter, and a time (in milliseconds) for performing the element. The movement parameters define the movement angle of the twist motor 221 and the movement angle of the up-down motor 222. The cry parameters define the sound and volume.
[0071] As an example, when the robot 200 is made to perform the gesture of "bowing its head", the gesture control unit 113 first controls the twist motor 221 and the up-down motor 222 so that their angles become 0 after 100 milliseconds, and controls the up-down motor 222 so that its angle becomes -45 after 100 milliseconds. When the robot 200 is made to perform the gesture of "peep", the gesture control unit 113 outputs a "peep" sound at a volume of 60 dB from the speaker 231 for 300 milliseconds. When the robot 200 is made to perform the gesture of "shaking its head", the gesture control unit 113 first controls the twist motor 221 and the up-down motor 222 so that their angles become 0 after 100 milliseconds, and controls the drive unit 220 so that the angle of the twist motor 221 becomes 34 after 100 milliseconds, and controls the drive unit 220 so that the angle of the twist motor 221 becomes -34 after another 100 milliseconds.
[0072] 7 defines gestures such as "surprised," "happy," and "sad" as more complicated gestures. When making the robot 200 execute the gesture of "surprised," the gesture control unit 113 first controls the twist motor 221 and the up-down motor 222 so that their angles become 0 after 100 milliseconds, and controls the up-down motor 222 so that its angle becomes -24 after 100 milliseconds. The gesture control unit 113 then does not rotate for 700 milliseconds, and controls the twist motor 221 so that its angle becomes 34 and the up-down motor 222 so that its angle becomes -24 after 500 milliseconds. The gesture control unit 113 then controls the twist motor 221 so that its angle becomes -34 after 400 milliseconds, and controls the twist motor 221 and the up-down motor 222 so that their angles become 0 after 500 milliseconds. Furthermore, in parallel with driving the twist motor 221 and the up / down motor 222, the gesture control unit 113 outputs a sound "kyaa" at a volume of 70 dB from the speaker 231. Note that gesture control parameters for gestures such as "happy" and "sad" are omitted in Fig. 7, but like "surprised", these are determined by a combination of the movement (motion) by the twist motor 221 or the up / down motor 222 and the sound output (cry) from the speaker 231.
[0073] The gesture information 121 defines the gesture to be performed by the robot 200 by a combination of such actions (motions) or voice outputs (cries). The gesture information 121 may be pre-installed in the robot 200. Alternatively, the gesture information 121 may be freely created by the user operating the terminal device 50.
[0074] Each gesture defined in the gesture information 121 is associated in advance with a trigger, which is a condition for the robot 200 to execute the gesture. Specifically, the trigger can be various conditions such as "being stroked," "being spoken to," "being shaken," "being held," "being hit," "being scolded," "being turned upside down," "the light becomes bright," "the light becomes dark," etc.
[0075] These triggers are based on external stimuli and are detected by the sensor unit 210. For example, "being spoken to" and "being scolded" are detected by the microphone 213. "Being stroked" and "being hit" are detected by the touch sensor 211. "Being shaken," "being held," and "being turned upside down" are detected by the acceleration sensor 212 or the gyro sensor 215. "It has become bright" and "It has become dark" are detected by the illuminance sensor 214. Note that the triggers may be ones that are not based on external stimuli, such as "a specific time has arrived" or "the robot 200 has moved to a specific location."
[0076] More specifically, when a relatively quiet voice is detected by the microphone 213, the gesture control unit 113 determines that the robot has been "talked to", and when a relatively loud voice is detected by the microphone 213, the gesture control unit 113 determines that the robot has been "scolded". When a relatively small value is detected by the touch sensor 211, the gesture control unit 113 determines that the robot has been "patted", and when a relatively large value is detected by the touch sensor 211, the gesture control unit 113 determines that the robot has been "hit". Furthermore, the gesture control unit 113 determines whether the robot has been "gently shaken", "strongly shaken", "held", or "turned upside down" based on the detection value of the acceleration sensor 212 or the gyro sensor 215.
[0077] The gesture control unit 113 judges whether or not any of the triggers of the multiple gestures defined in the gesture information 121 has been established based on the detection result by the sensor unit 210, etc. If any of the triggers has been established as a result of the judgment, the gesture control unit 113 causes the robot 200 to execute a gesture corresponding to the established trigger. In this way, the gesture control unit 113 causes the robot 200 to execute various gestures according to the establishment of the trigger. This allows the user and the robot 200 to interact with each other, for example, by executing a cry gesture in response to a call from the user, executing a gesture of joy when stroked by the user, executing a gesture of dislike when held upside down by the user, etc. Hereinafter, the establishment of any trigger for the robot 200 to execute a gesture is referred to as an "event".
[0078] More specifically, the gesture control unit 113 corrects the gesture control parameters identified from the gesture information 121 based on the state parameters 122 acquired by the state parameter acquisition unit 112. This makes it possible to change the gestures according to the current state of the robot 200, and to realistically imitate living creatures.
[0079] In order to correct the gesture control parameters, the gesture control unit 113 refers to the coefficient table 124. Although not shown, the coefficient table 124 defines various different correction coefficients for each state that the robot 200 can be in. The gesture control unit 113 corrects the gesture control parameters using the correction coefficient corresponding to the current state of the robot 200 indicated by the state parameter 122 acquired by the state parameter acquisition unit 112. Specifically, the gesture control unit 113 changes the time to execute each element constituting the gesture, the movement angle of the movement parameter, the volume of the cry parameter, and the like, based on the values in the gesture information 121. This makes the robot 200 move more swiftly or slowly, make the movement larger or smaller, and make the cry larger or smaller.
[0080] In this way, the gesture control unit 113 corrects the gesture control parameter based on the state parameter 122 acquired by the state parameter acquisition unit 112. Then, the gesture control unit 113 drives the driving unit 220 based on the corrected gesture control parameter, or outputs a sound from the speaker 231, thereby making the robot 200 execute a gesture corresponding to the established trigger. By correcting the gesture control parameter based on the state parameter 122, even when the robot 200 executes the same gesture, the gesture executed differs depending on the current state (emotion, personality, remaining battery level, current location, current time, etc.) of the robot 200. For example, even when the robot 200 executes the same "happy" gesture, the gesture executed differs between when the pseudo-emotion corresponds to "happy" and when the pseudo-emotion corresponds to "irritation". This prevents the gestures from becoming uniform, and allows individuality to be expressed.
[0081] 3, the log information update unit 114 updates the log information 123. The log information 123 is information that records a log (history) of parameters related to the robot 200, which is an electronic device that executes a gesture in response to an event (the establishment of a trigger).
[0082] The log information 123 records a log of parameters related to the robot 200 performing various behaviors when such an event occurs. The parameters are values that change depending on the event. Specifically, the parameters include the number of times the event occurs, an emotion parameter that represents the simulated emotion of the robot 200, a personality parameter that represents the simulated personality of the robot 200, and information related to the simulated sleep of the robot 200.
[0083] 8, log information 123 records emotion parameters, personality parameters, the number of times an event has occurred, the remaining battery level, and sleep ON / OFF, which are linked to one another, every 10 minutes. Specifically, log information 123 records X and Y values on emotion map 300 as emotion parameters, and records the above-mentioned four personality values as personality parameters. Log information 123 also records the number of times an event has occurred for each established trigger.
[0084] Every time a predetermined time (e.g., 10 minutes) elapses, the log information update unit 114 records the number of times an event occurred during that time in the log information 123 for each trigger, and further records the emotion parameters, personality parameters, remaining battery level, and sleep ON / OFF at that time in the log information 123. In this way, the log information update unit 114 accumulates the log information 123.
[0085] Returning to Fig. 4, in the terminal device 50, the log information acquisition unit 512 acquires the log information 123 updated by the log information update unit 114. When a predetermined acquisition timing arrives, the log information acquisition unit 512 communicates with the control device 100 of the robot 200 via the communication unit 550 and acquires the log information 123. The acquisition timing of the log information 123 may be regular, such as once a day, or may be an appropriate timing when the log information 123 is needed.
[0086] For example, the log information acquiring unit 512 requests the robot 200 to send the log information 123 at the timing when the user inputs an operation to display a diary screen which is a record of interactions with the robot 200 to the terminal device 50. In response to such a request, the log information updating unit 114 transmits the latest log information 123 stored in the storage unit 120 to the terminal device 50. Note that the log information updating unit 114 is not limited to transmitting all of the log information 123 stored in the storage unit 120 to the terminal device 50, and may transmit differential data from the log information 123 previously transmitted to the terminal device 50. The log information acquiring unit 512 acquires the log information 123 transmitted from the robot 200 in this manner.
[0087] The tallying unit 513 generates tally information of parameters in a target period based on the log information 123 acquired by the log information acquiring unit 512. Here, the tally information of parameters in a target period is information summarizing the amount of change, trend, cumulative value, etc. of the parameters in the target period. The tally information may be statistical information such as the average value, maximum value, minimum value, etc. of the parameters in the target period. The tallying unit 513 tally data recorded in the target period for each of the multiple parameters recorded in the log information 123, and generates tally information.
[0088] The target period is a period for which parameters are to be tallied, specifically, a period of one day, one week, one month, one year, etc. The tallying unit 513 generates aggregated information of parameters for each of a plurality of target periods having different time lengths. In the following, as an example, a case will be described in which the tallying unit 513 generates aggregated information for each of three target periods having different time lengths, namely, the past week from the present time, the past month from the present time, and the past year (week, month, year) from the present time.
[0089] First, the counting unit 513 generates information indicating the simulated emotions of the robot 200 during the target period as the counted information of the emotion parameters. Specifically, the counting unit 513 refers to the log information 123 and calculates the percentage of the time length during which the X value and the Y value of the emotion parameter during the target period are located in each of the nine areas on the emotion map 300. The nine areas are the "joy area", "relief area", "calm area", "excitement area", "normal area", "apathy area", "irritation area", "anxiety area", and "sadness area" divided on the emotion map 300.
[0090] The counting unit 513 calculates the proportion of the duration of the emotion that the robot 200 had in the past week, month, and year for each of the nine emotions corresponding to these areas. In this manner, the counting unit 513 generates count information of the emotion parameters for each target period of the week, month, and year.
[0091] Secondly, the counting unit 513 generates information indicating the simulated personality of the robot 200 in the target period as the counted information of the personality parameters. Specifically, the counting unit 513 acquires four personality values, "cheerful", "active", "shy", and "spoiled", at the end of each day of the past week, each week of the past month, and each month of the past year, from the log information 123. In this way, the counting unit 513 generates the counted information of the personality parameters in each target period of a week, month, and year.
[0092] Thirdly, the tallying unit 513 generates information indicating the duration of simulated sleep of the robot 200 during the target period as the tallying information of the sleep information. Specifically, the tallying unit 513 derives the sleep duration for each day during the target period from the information on whether sleep is ON / OFF during the target period, with reference to the log information 123. The sleep duration corresponds to the length of time during which the sleep column is continuously ON in the log information 123. At this time, if the robot 200 takes a simulated sleep multiple times a day, such as a daytime nap and a nighttime nap, the tallying unit 513 derives the longest duration of the multiple sleep durations as the sleep duration for that day.
[0093] Specifically, the counting unit 513 derives the sleeping hours for each day of the past week from the log information 123, and further calculates the average value of the sleeping hours for the past week. The counting unit 513 calculates the average value of the sleeping hours for each week of the past month, and further calculates the average value of the sleeping hours for the past month. The counting unit 513 calculates the average value of the sleeping hours for each month of the past year, and further calculates the average value of the sleeping hours for the past year. In this way, the counting unit 513 generates count information of the sleeping hours for each target period of the week, month, and year.
[0094] Fourth, the counting unit 513 generates information indicating the number of times an event occurred by type in a target period as count information of the number of times an event occurred. Specifically, the counting unit 513 obtains the number of times an event occurred by trigger from the log information 123, and counts the number of times an event occurred by trigger for each day of the past week, each week of the past month, and each month of the past year. In this way, the counting unit 513 generates count information of the number of times an event occurred by trigger in each target period of a week, month, and year.
[0095] Furthermore, the tallying unit 513 classifies the number of times an event occurs in a target period by type, with reference to the event classification table 521. As shown in Fig. 9, the event classification table 521 classifies a plurality of events that may occur into a first type, a second type, and other types according to their triggers.
[0096] The first type of event is an event in which the robot 200 feels a pseudo positive emotion. Here, the robot 200 feels a pseudo positive emotion, which corresponds to the robot 200 feeling pseudo happy, specifically, an increase in the emotion change amount DXP indicating ease of comfort on the emotion map 300. The first type of event is, for example, an event caused by a trigger such as "being stroked," "being spoken to," "being gently rocked," or "being hugged." The positive emotion is an example of a predetermined first emotion.
[0097] On the other hand, the second type of event is an event in which the robot 200 feels a second emotion, which is a pseudo-negative emotion. The robot 200 feels a pseudo-negative emotion, which corresponds to an increase in the emotion change amount DXM, which indicates the tendency to become anxious, on the emotion map 300. Examples of the second type of event include events caused by triggers such as "being hit," "being scolded," "being shaken hard," and "being turned upside down." The negative emotion is an example of a second emotion different from the first emotion.
[0098] Other types of events are events other than those mentioned above. Examples of other types of events include "it gets light," "it gets dark," "a specific time arrives," and "moving to a specific location."
[0099] The counting unit 513 refers to such event classification table 521 and classifies the number of times an event has occurred by trigger obtained from the log information 123 into a first type, a second type, and other types. The counting unit 513 then counts the number of times an event of the first type has occurred, the number of times an event of the second type has occurred, and the number of times an event of other types has occurred for each day of the past week, each week of the past month, and each month of the past year. In this way, the counting unit 513 generates count information of the number of times an event has occurred by type for each target period of a week, month, and year.
[0100] Fifth, the counting unit 513 generates "friendship points" for the target period as counting information of the number of times an event occurs. Here, the friendship points are an example of a value indicating the relationship between the user and the robot 200, and are an index indicating whether the relationship between the user and the robot 200 is good or not. As an example, the friendship points have an initial value of 0, and increase or decrease according to the following (Equation 3). Friendship points = number of first type events occurring x 10 points - number of second type events occurring x 5 points + points added based on the number of days passed …(Formula 3)
[0101] Specifically, the friendship points increase as the number of occurrences of an event in which the robot 200 has simulated positive emotions (the number of occurrences of a first type of event) increases, and decrease as the number of occurrences of an event in which the robot 200 has simulated negative emotions (the number of occurrences of a second type of event) increases. In other words, the friendship points increase as the number of occurrences of an event in which the robot 200 has simulated happy emotions increases, and decrease as the number of occurrences of an event in which the robot 200 has simulated disliked emotions increases.
[0102] The bonus points based on the number of days elapsed in (Equation 3) are bonus points that are added according to the number of days the user has spent together with the robot 200. As an example, the bonus points based on the number of days elapsed are added to the friendship points every time a predetermined number of days, such as 7 days, 30 days, or 90 days, has elapsed. In this way, by adding friendship points according to the elapsed time, it is possible to express that the longer the period of time that the user and the robot 200 spend together, the greater the reliability becomes.
[0103] In this way, the friendship points change depending on the content of the interaction between the user and the robot 200 and the number of days that have passed. The counting unit 513 calculates such friendship points based on the number of times the first type of event occurs and the number of times the second type of event occurs during the target period and the number of days that have passed.
[0104] Specifically, the counting unit 513 calculates the change and cumulative value of the friendship points for each day of the past week, each week of the past month, and each month of the past year. Furthermore, the counting unit 513 calculates the maximum, minimum, and average of the calculated change in the friendship points for each target period of the week, month, and year. In this way, the counting unit 513 generates count information of the friendship points for each target period of the week, month, and year.
[0105] Here, the amount of change in the friendship points in a certain period of time increases as the number of occurrences of events that the robot 200 enjoys increases during that period, and decreases as the number of occurrences of events that the robot 200 dislikes increases during that period. The cumulative value of the friendship points in a certain period of time corresponds to the value of the friendship points at the last point in that period. The cumulative value of the friendship points can be used as an index showing the cumulative relationship between the user and the robot 200.
[0106] Returning to Fig. 4, the display control unit 514 causes the display unit 540 to display the tabulated information generated by the tabulation unit 513. When the user desires to check the record of the interaction with the robot 200, the user operates the operation unit 530 to input an operation to display a diary screen. In this case, the display control unit 514 causes the display unit 540 to display the diary screen shown in Fig. 10.
[0107] 10, the display control unit 514 displays a plurality of areas corresponding to a plurality of days in a calendar format. The display control unit 514 displays an icon in the shape of a face in each of the plurality of areas. The facial expression of each icon represents the simulated emotion of the robot 200 on the corresponding day. Specifically, the facial expression of each icon represents the emotion corresponding to the area in which the emotion parameter on the corresponding day was located for the longest time on the emotion map 300.
[0108] Furthermore, the display control unit 514 further displays information indicating the transition of the simulated emotion of the robot 200 on the diary screen. Specifically, when the user operates the operation unit 530 to select any one of the multiple days displayed on the diary screen, the display control unit 514 displays a graph indicating the simulated emotion of the robot 200 at each time on the selected day in the lower area of the diary screen, as shown in FIG. 10. This allows the user to easily confirm the change in the simulated emotion of the robot 200 on the selected day. Note that the emotion information on each day and each time can be obtained from the X value and Y value of the emotion parameter recorded in the log information 123.
[0109] When the user selects the icon A1 of “training record” on such a diary screen, the display control unit 514 causes the display unit 540 to display a tally screen shown in Fig. 11. On the tally screen, the display control unit 514 causes the tally information of each parameter generated by the tally unit 513 to be displayed.
[0110] The tally screen has one main region R0 and six sub-regions R1 to R6. The display control unit 514 displays tally information of each parameter in the sub-regions R1 to R6. Specifically, the display control unit 514 displays tally information of personality parameters in the sub-region R1, tally information of emotion parameters in the sub-region R2, tally information of the number of times an event has occurred in the sub-regions R3 and R4, tally information of friendship points in the sub-region R5, and tally information of sleeping hours in the sub-region R6. Details of the tally information of each of these parameters will be described later.
[0111] By providing a plurality of sub-regions R1 to R6 on one screen in this way, the user can simultaneously check the compiled information of a plurality of parameters, and therefore the user can easily check the state of growth of the robot 200 from various viewpoints.
[0112] The main region R0 is a region for displaying the aggregated information displayed in one of the sub-regions R1 to R6 in a size larger than each of the sub-regions. The user selects a sub-region (sub-region R5 in the example of FIG. 11) that displays the aggregated information of a parameter that the user wishes to check in more detail from among the sub-regions R1 to R6. Then, the display control unit 514 displays the aggregated information displayed in the one sub-region selected by the user in the main region R0. Since the size of the main region R0 is larger than the size of each of the sub-regions, by displaying the aggregated information in the main region R0, the information can be checked in more detail than in each of the sub-regions.
[0113] The display control unit 514 displays the aggregated information for a target period selected by the user from among multiple target periods in the main region R0. Specifically, the main region R0 is provided with tabs T1 to T3 for switching between target periods, namely, a "week" tab T1, a "month" tab T2, and a "year" tab T3.
[0114] When the user selects (tap) the week tab T1, the display control unit 514 displays the aggregated information for the past week from the current time in the main region R0. When the user selects the month tab T2, the display control unit 514 displays the aggregated information for the past month from the current time in the main region R0. When the user selects the year tab T3, the display control unit 514 displays the aggregated information for the past year from the current time in the main region R0. In this way, the user can easily switch between aggregated information for different target periods such as week, month, and year by operating the tabs T1 to T3.
[0115] In addition, when the user operates the tabs T1 to T3 to switch the target period, the display control unit 514 is not limited to switching the target period of only the aggregated information displayed in the main region R0, but may also simultaneously switch the target period of all the aggregated information displayed in the main region R0 and the six sub-regions R1 to R6 to the selected target period. Specifically, when the user selects the week tab T1, the display control unit 514 switches the target period of the aggregated information displayed in the main region R0 to the past week, and also switches the target period of the aggregated information of each parameter displayed in each of the sub-regions R1 to R6 to the past week. The same applies when the user selects the month tab T2 and when the user selects the year tab T3. In this way, by simultaneously switching the target periods of all the aggregated information displayed in the main region R0 and the six sub-regions R1 to R6 with one operation, the user can easily check the aggregated screen of multiple parameters in the target period that he or she wants to check.
[0116] 12 shows an example of the case where the aggregated information of friendship points is displayed in the main region R0. The display control unit 514 displays the change in the friendship points over the target period as a bar graph, and displays the change in the cumulative value of the friendship points over the target period as a line graph. Furthermore, the display control unit 514 displays the maximum, minimum, and average change in the friendship points over the target period as statistical information of the friendship points over the target period in the upper right part of the main region R0.
[0117] For example, when a week is selected as the target period, the display control unit 514 displays the change amount, cumulative value, and statistical information of the friendship points for each day of the past week. Furthermore, although not shown, when a month or year is selected as the target period by switching between tabs T1 to T3, the display control unit 514 displays the change amount, cumulative value, and statistical information of the friendship points for each week of the past month or each month of the past year. This allows the user to easily check how the relationship between the robots 200 has changed.
[0118] FIG. 13 shows an example in which the aggregated information of the personality parameters is displayed in the main region R0. The display control unit 514 displays the transition of the four personality values in the target period in a bar graph. When a week is selected as the target period, the display control unit 514 displays the four personality values of "cheerful", "active", "shy", and "spoiled" for each day of the past week. Furthermore, although not shown, when a month or a year is selected as the target period by switching the tabs T1 to T3, the display control unit 514 displays the four personality values for each week of the past month or each month of the past year. This allows the user to check how the personality parameters of the robot 200 have developed.
[0119] 14 shows an example in which the aggregated information of emotion parameters is displayed in the main region R0. The display control unit 514 displays the proportions of the nine emotions calculated by the aggregation unit 513 in a pie chart. When a week is selected as the target period, the display control unit 514 displays the proportions of the nine emotions for the past week. Furthermore, although not shown, when a month or year is selected as the target period by switching between tabs T1 to T3, the display control unit 514 displays the proportions of the nine emotions for the past month or past year. This allows the user to check the distribution of simulated emotions that the robot 200 has had.
[0120] FIG. 15 shows an example in which the aggregate information of the number of times an event occurred by type is displayed in the main region R0. The display control unit 514 displays the transition of the number of times an event occurred of the first type and the number of times an event occurred of the second type in the target period in a bar graph. In FIG. 15, the number of times an event occurred of the first type is displayed as the "number of times an event occurred when the user was loved", and the number of times an event occurred of the second type is displayed as the "number of times an event occurred when the user was disliked". When a week is selected as the target period, the display control unit 514 displays the number of times an event occurred when the user was loved and the number of times an event occurred when the user was disliked for each day of the past week. Furthermore, although not shown, when a month or a year is selected as the target period by switching the tabs T1 to T3, the display control unit 514 displays the number of times an event occurred when the user was loved and the number of times an event occurred when the user was disliked for each week of the past month or each month of the past year. This allows the user to check the history of events that occurred during the target period.
[0121] Fig. 16 shows an example of the case where the aggregate information of the number of times an event occurred by trigger is displayed in the main region R0. The number of times an event occurred by trigger shown in Fig. 16 corresponds to the breakdown by trigger of the number of times petted (the number of times a first type of event occurred) shown in Fig. 15, but it is also possible to display the breakdown by trigger of the number of times disliked (the number of times a second type of event occurred). Also, in Fig. 16, only "petted," "talked to," and "held" are displayed to avoid complicating things, but other breakdowns may also be displayed.
[0122] The display control unit 514 displays the transition of the breakdown of the number of times of petting by trigger during the target period in a bar graph. When a week is selected as the target period, the display control unit 514 displays the breakdown of the number of times of petting for each day of the past week. Furthermore, although not shown, when a month or year is selected as the target period by switching between tabs T1 to T3, the breakdown of the number of times of petting for each week of the past month or each month of the past year is displayed. This allows the user to check the history of events that occurred during the target period in more detail.
[0123] FIG. 17 shows an example in which the aggregate information of the sleep time is displayed in the main region R0. The display control unit 514 displays the transition of the sleep time in the target period as a bar graph, and displays the average value of the sleep time in the target period as a dashed line. When a week is selected as the target period, the display control unit 514 displays the sleep time for each day of the past week and the average value of the sleep time in the past week. Furthermore, although not shown, when a month is selected as the target period by switching between tabs T1 to T3, the display control unit 514 displays the sleep time for each week of the past month and the average value of the sleep time in the past month. Furthermore, when a year is selected as the target period, the display control unit 514 displays the sleep time for each month of the past year and the average value of the sleep time in the past year.
[0124] This allows the user to check the transition of the sleeping time of the robot 200. In particular, when the robot 200 sleeps with the user, for example, when the robot 200 goes into pseudo-sleep triggered by the darkness of the room, the sleeping time of the robot 200 can be considered to correspond to the sleeping time of the user. Therefore, the user can use the sleeping time summary screen to check the transition of his / her own sleeping time.
[0125] Next, the flow of the robot control process will be described with reference to Fig. 18. The robot control process shown in Fig. 18 is executed by the control unit 110 of the control device 100 when the user turns on the power of the robot 200. The robot control process is an example of a method for controlling a robot.
[0126] When the robot control process is started, the control unit 110 sets the state parameters 122 (step S101). When the robot 200 is started for the first time (when the robot is started for the first time by the user after being shipped from the factory), the control unit 110 sets each of the emotion parameters, personality parameters, and number of days to growth to an initial value (for example, 0). On the other hand, when the robot is started for the second time or later, the control unit 110 reads out the values of each parameter saved in step S106 of the previous robot control process (described later) and sets them as the state parameters 122. However, the emotion parameters may all be initialized to 0 every time the power is turned on.
[0127] After setting the state parameters 122, the control unit 110 communicates with the terminal device 50 and acquires the gesture information 121 created on the basis of a user's operation in the terminal device 50 (step S102). Note that if the gesture information 121 has already been saved in the storage unit 120, step S102 may be skipped.
[0128] When the control unit 110 acquires the gesture information 121, the control unit 110 determines whether or not any one of the multiple gesture triggers defined in the gesture information 121 has been established (step S103).
[0129] When any of the triggers is established (step S103; YES), the control unit 110 executes a gesture control process and causes the robot 200 to execute a gesture corresponding to the established trigger (step S104). Details of the gesture control process in step S104 will be described with reference to the flowchart of Fig. 19. Step S104 is an example of a control step.
[0130] When the gesture control process shown in FIG. 19 is started, control unit 110 updates state parameters 122 (step S201). Specifically, if the trigger established in step S103 is due to an external stimulus, control unit 110 derives an emotion change amount corresponding to the external stimulus. Then, control unit 110 updates the emotion parameter by adding or subtracting the derived emotion change amount to or from the current emotion parameter. Furthermore, during the child period, control unit 110 calculates each personality value of the personality parameter from the emotion change amount updated in step S108 according to the above-mentioned (Equation 1). On the other hand, during the adult period, control unit 110 calculates each personality value of the personality parameter from the emotion change amount updated in step S108 and the personality correction value according to the above-mentioned (Equation 2).
[0131] When the state parameters 122 are updated, the control unit 110 refers to the gesture information 121 to acquire gesture control parameters of the gesture corresponding to the established trigger (step S202). Specifically, the control unit 110 acquires from the gesture information 121 a combination of actions or cries that are elements constituting the gesture corresponding to the established trigger, the execution start timing of each element, and the action parameters or cries parameters.
[0132] When the gesture control parameter is acquired, the control unit 110 corrects the gesture control parameter based on the current state of the robot 200 indicated by the state parameter 122 updated in step S201 (step S203). More specifically, the control unit 110 identifies a correction coefficient corresponding to the current state of the robot 200 from the coefficient table 124, and corrects the gesture control parameter based on the identified correction coefficient.
[0133] After correcting the gesture control parameter, the control unit 110 executes a gesture corresponding to the established trigger (step S204). Specifically, the control unit 110 drives the driving unit 220 or outputs a sound from the speaker 231 according to the gesture control parameter corrected in step S203. This ends the gesture control process shown in FIG.
[0134] Returning to FIG. 18, in step S103, if none of the multiple gesture triggers is established (step S103; NO), control unit 110 skips step S104.
[0135] Next, the control unit 110 determines whether or not to end the process (step S105). For example, when the operation unit 240 receives an instruction from the user to turn off the power of the robot 200, the process ends. If the process ends (step S105; YES), the control unit 110 saves the current state parameters 122 in the non-volatile memory of the storage unit 120 (step S106) and ends the robot control process shown in FIG.
[0136] If the process is not to be ended (step S105; NO), control unit 110 updates log information 123 (step S107). Specifically, when the timing for generating log information 123 arrives (for example, every 10 minutes), control unit 110 records in log information 123 the latest values of each parameter at that time, namely, emotion parameter, personality parameter, number of events occurring by trigger, remaining battery level, and sleep information.
[0137] After updating the log information 123, the control unit 110 judges whether or not it is time to transmit the log information 123 (step S108). If it is time to transmit the log information 123 (step S108; YES), the control unit 110 transmits the log information 123 updated in step S107 to the terminal device 50 (step S109).
[0138] If the timing to transmit the log information 123 has not arrived (step S108; NO), the control unit 110 skips step S109.
[0139] Next, the control unit 110 uses the clock function to determine whether or not the date has changed (step S110). If the date has not changed (step S110; NO), the process returns to step S103.
[0140] If the date has changed (step S110; YES), the control unit 110 updates the state parameters 122 (step S111). To be more specific, if it is during the child period (e.g., 50 days after birth), the control unit 110 changes the values of the emotion changes DXP, DXM, DYP, and DYM depending on whether the emotion parameters have reached the maximum or minimum values of the emotion map 300. Also, if it is during the child period, the control unit 110 expands both the maximum and minimum values of the emotion map 300 by a predetermined increment (e.g., 2). On the other hand, if it is during the adult period, the control unit 110 adjusts the personality correction value.
[0141] After updating the state parameter 122, the control unit 110 adds 1 to the number of days of growth (step S112) and returns to step S103. Then, the control unit 110 repeats the processes from step S103 to step S112 as long as the robot 200 is operating normally.
[0142] Next, a flow of a display process executed in the terminal device 50 will be described with reference to Fig. 20. The display process shown in Fig. 20 is executed by the control unit 510 of the terminal device 50 when a user inputs an operation to display a diary screen to the terminal device 50. The display process is an example of a display method.
[0143] When the display process starts, the control unit 510 acquires the log information 123 transmitted from the control device 100 of the robot 200 in step S108 (step S301).
[0144] When log information 123 is acquired, control unit 510 updates the aggregated information for a plurality of target periods (step S302) based on acquired log information 123. Specifically, control unit 510 generates the latest aggregated information for each parameter of emotion parameters, personality parameters, sleep time, number of events occurring by type, number of events occurring by trigger, and friendship points for each target period of a week, month, and year.
[0145] When the tally information is updated, control unit 510 displays a diary screen on display unit 540 shown in FIG. 10, for example (step S303).
[0146] When the diary screen is displayed, control unit 510 determines whether or not an operation to display a tally screen has been accepted (step S304). Specifically, control unit 510 determines whether or not icon A1, “record of development,” on the diary screen has been selected by the user.
[0147] If an operation to display the tally screen has not been accepted (step S304; NO), control unit 510 remains in step S304 and continues displaying the diary screen.
[0148] When an operation to display the tally screen is accepted (step S304; YES), control unit 510 displays, for example, the tally screen shown in FIG. 11 on display unit 540 (step S305).
[0149] When the tally screen is displayed, control unit 510 determines whether any of six sub-areas R1 to R6 has been selected (step S306). If any sub-area has been selected (step S306; YES), control unit 510 displays tally information of the selected sub-area in main area R0 (step S307). On the other hand, if none of the sub-areas has been selected (step S306; YES), control unit 510 skips step S307.
[0150] Next, control unit 510 determines whether a target period other than the current target period has been selected in the tabulation information displayed in main region R0 (step S308). Specifically, control unit 510 determines whether an operation to switch the target period by selecting one of tabs T1 to T3 from the user has been accepted.
[0151] If another target period is selected (step S308; YES), control unit 510 displays the tally information for the selected target period in main region R0 (step S309). In other words, control unit 510 switches the tally information displayed in main region R0 to the tally information for the selected target period. On the other hand, if another target period is not selected (step S308; NO), control unit 510 skips step S309.
[0152] Thereafter, control unit 510 returns the process to step S306. Then, control unit 510 repeats the processes of steps S306 to S309 while the display of the tally screen continues. When an operation to end the display of the diary screen or the tally screen is accepted from the user, control unit 510 ends the display process shown in FIG.
[0153] As described above, the terminal device 50 according to the first embodiment acquires log information of parameters related to the robot 200, generates aggregate information of parameters for a target period based on the acquired log information, and displays the generated aggregate information on the display screen. In this way, by generating and displaying aggregate information of parameters for a target period, it is possible to visually represent information of parameters that have changed in response to multiple events that have occurred in the past, and it is possible for the user to easily check the record of events related to the robot 200.
[0154] In particular, the terminal device 50 according to the first embodiment generates aggregated information of parameters for each of a plurality of target periods having different time lengths, and displays the aggregated information for a target period selected by a user from among the plurality of target periods on a display screen. In this way, the user can select a target period for which aggregated information is to be displayed from among a plurality of target periods, and therefore the user can easily switch between and check records of events in different target periods.
[0155] (Modification) Although the embodiment of the present invention has been described above, the above embodiment is merely an example, and the scope of application of the present invention is not limited to this. In other words, the embodiment of the present invention can be applied in various ways, and all embodiments are included in the scope of the present invention.
[0156] For example, in the above embodiment, the tallying unit 513 generates tally information for each of the emotion parameters, personality parameters, sleep time, event occurrence count by type, event occurrence count by trigger, and friendship points as tally information to be displayed on the tallying screen. However, this is just one example, and the tallying unit 513 may generate tally information for only a part of these, or may generate tally information other than these.
[0157] In the above embodiment, the tallying unit 513 generates the tally information for each of the target periods of the past week, the past month, and the past year from the present time. However, the target period is not limited to such a time period, and may be any time period at any time in the past.
[0158] Furthermore, the tallying unit 513 may generate tally information for each past one-week period, each past one-month period, and each past one-year period as target periods. In other words, the tallying unit 513 may generate tally information for each of a plurality of target periods whose time length is one week, a plurality of target periods whose time length is one month, and a plurality of target periods whose time length is one year, and the display control unit 514 may be able to switch between and display these plurality of target periods on the tally screen.
[0159] In the above embodiment, the terminal device 50, which is an example of a display control device, is equipped with the display unit 540 and is a separate device independent of the robot 200. However, the terminal device 50 may not be equipped with the display unit 540 and may display the diary screen and tally screen described above on an external display means. The display control device and the display means may be provided in the robot 200. In other words, the robot 200 may be equipped with display means such as a liquid crystal display or a projector and may display the diary screen and tally screen described above on the display means.
[0160] In the above embodiment, the control device 100 is built into the robot 200, but the control device 100 may be a separate device (e.g., a server) without being built into the robot 200. When the control device 100 is located outside the robot 200, the control device 100 communicates with the robot 200 via the communication unit 130 to send and receive data to and from the robot 200, and controls the robot 200 as described in the above embodiment.
[0161] In the above embodiment, the exterior 201 is formed in a cylindrical shape from the head 204 to the torso 206, and the robot 200 has a crawling shape. However, the robot 200 is not limited to imitating a crawling creature. For example, the robot 200 may have a shape with arms and legs and imitate a four-legged or two-legged creature.
[0162] Furthermore, the robot is not limited to the robot 200 that imitates a living thing. For example, the robot may be a robot that imitates a wristwatch, stationery, an imaging device such as a camera, a projector, etc., as long as the robot is capable of expressing its individuality by performing various gestures. Even if the robot is other than the robot 200, it can be described in the same manner as the above embodiment by having the same configuration and function as the above-mentioned robot 200.
[0163] In the above embodiment, the control unit 110 functions as each unit such as the state parameter acquisition unit 112 by the CPU executing a program stored in the ROM. Also, in the control unit 510, the control unit 110 functions as each unit such as the log information acquisition unit 512 by the CPU executing a program stored in the ROM. However, in the present invention, the control units 110 and 510 may have dedicated hardware such as an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), or various control circuits instead of a CPU, and the dedicated hardware may function as each unit such as the state parameter acquisition unit 112. In this case, the functions of each unit may be realized by individual hardware, or the functions of each unit may be realized by a single hardware. Also, some of the functions of each unit may be realized by dedicated hardware, and the other parts may be realized by software or firmware.
[0164] It is possible to provide the robot 200 or the terminal device 50 equipped with a configuration for realizing the functions according to the present invention, and also possible to make an existing information processing device or the like function as the robot 200 or the terminal device 50 according to the present invention by applying a program. That is, by applying a program for realizing each functional configuration of the robot 200 or the terminal device 50 exemplified in the above embodiment so that it can be executed by a CPU or the like that controls the existing information processing device or the like, it is possible to make it function as the robot 200 or the terminal device 50 according to the present invention.
[0165] Moreover, the method of applying such a program is arbitrary. For example, the program can be applied by storing it in a computer-readable storage medium such as a flexible disk, a CD (Compact Disc)-ROM, a DVD (Digital Versatile Disc)-ROM, or a memory card. Furthermore, the program can be superimposed on a carrier wave and applied via a communication medium such as the Internet. For example, the program can be posted and distributed on a bulletin board (BBS: Bulletin Board System) on a communication network. Then, the program can be started and executed under the control of an OS (Operating System) in the same way as other application programs, thereby enabling the above-mentioned processing to be executed.
[0166] The above describes preferred embodiments of the present invention. However, the present invention is not limited to the above-described embodiments, and various modifications and substitutions can be made to the above-described embodiments without departing from the scope of the claims. [Explanation of symbols]
[0167] 1...robot system, 50...terminal device, 100...control device, 110...control unit, 112...state parameter acquisition unit, 113...gesture control unit, 114...log information update unit, 120...storage unit, 121...gesture information, 122...state parameters, 123...log information, 124...coefficient table, 130...communication unit, 200...robot, 201...exterior, 202...decorative part, 203...fur, 204...head, 205...connection unit, 206...torso unit, 207...casing, 210...sensor unit, 211...touch sensor, 212...acceleration sensor, 213...microphone, 214...illumination sensor, 215...gyro sensor, 220...drive unit, 221...twist motor, 222...up and down motor, 230...output unit, 231... Speaker, 240...operation unit, 250...battery, 260...location information acquisition unit, 300...emotion map, 400...personality value radar chart, 510...control unit, 512...log information acquisition unit, 513...collection unit, 514...display control unit, 520...storage unit, 521...event classification table, 530...operation unit, 540...display unit, 550...communication unit, BL...bus line, A1...icon, R0...main area, R1 to R6...sub-areas, T1 to T3...tabs
Claims
1. Acquire information on parameters related to a robot that executes a gesture in response to an event, the parameters changing in response to the event; Generate aggregate information of the parameters for a target period based on the acquired information of the parameters; displaying the generated tabulated information on a display means; A display control device comprising a control unit.
2. The control unit is generating aggregate information of the parameter for each of a plurality of target periods having different time lengths; displaying, on the display means, the aggregated information for a target period selected by a user from among the plurality of target periods; The display control device according to claim 1 .
3. The parameters include a number of occurrences of the event; The control unit generates, as the aggregate information, a value indicating a relationship between the user and the robot based on a number of occurrences of the event during the target period.
3. The display control device according to claim 1 or 2.
4. the value indicating the relationship between the user and the robot increases as the number of occurrences of an event in which the robot has a pseudo first emotion, which is a predetermined emotion, during the target period increases, and decreases as the number of occurrences of an event in which the robot has a pseudo second emotion different from the first emotion during the target period increases.
4. The display control device according to claim 3.
5. The parameters include a number of occurrences of the event; The control unit is generating information indicating the number of occurrences of the event by type during the target period as the aggregate information; 3. The display control device according to claim 1 or 2.
6. the control unit generates, as the aggregated information, a number of occurrences of an event in which the robot has a pseudo first emotion during the target period, and a number of occurrences of an event in which the robot has a pseudo second emotion different from the first emotion during the target period.
6. The display control device according to claim 5.
7. the parameters include emotion parameters representing simulated emotions of the robot, The control unit generates information indicating the simulated emotion of the robot during the target period as the aggregate information.
3. The display control device according to claim 1 or 2.
8. the parameters include personality parameters that represent pseudo-personalities of the robot; The control unit generates information indicating the pseudo-character of the robot during the target period as the aggregate information.
3. The display control device according to claim 1 or 2.
9. The parameters include information regarding the simulated sleep of the robot, The control unit generates information indicating a time period of the simulated sleep of the robot during the target period as the aggregate information.
3. The display control device according to claim 1 or 2.
10. A display control device comprising: the display control device according to claim 1 or 2; and the robot. A display control system comprising:
11. Acquire information on parameters related to a robot that executes a gesture in response to an event, the parameters changing in response to the event; Generate aggregate information of the parameters for a target period based on the acquired information of the parameters; displaying the generated tabulated information on a display means; A display method comprising:
12. Computer, Acquire information on parameters related to a robot that executes a gesture in response to an event, the parameters changing in response to the event; Generate aggregate information of the parameters for a target period based on the acquired information of the parameters; displaying the generated tabulated information on a display means; A program to function as a control unit.
Citation Information
Patent Citations
Autonomously acting robot recording daily life
JP2020032014A