Electronic device, control method thereof and program
By updating its personality parameters based on nearby devices, the electronic device enhances its vitality and user interaction, addressing the challenge of maintaining engagement in simulated creature devices.
Patent Information
- Application Number
- JP2023158718
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-22
- Publication Date
- 2025-04-04
- Estimated Expiration
- 2043-09-22
AI Technical Summary
Existing electronic devices that simulate creatures, such as pets and humans, struggle to enhance their vitality when other devices are present in their vicinity.
The electronic device updates its personality parameter representing pseudo personality based on the personality parameter of another device when they approach within a predetermined distance, enhancing the device's vitality through interaction.
This approach allows the electronic device to improve its vitality by adapting its personality parameters based on interactions with other devices, leading to enhanced user engagement and interaction.
Smart Images

Figure 2025050107000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to an electronic device, a control method for an electronic device, and a program. [Background technology]
[0002] There are known electronic devices that mimic living things such as pets and humans. For example, Patent Document 1 discloses a robot device that can give a user a sense of simulated growth by executing a scenario corresponding to the value of a growth parameter. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2003-285286 A Summary of the Invention [Problem to be solved by the invention]
[0004] In electronic devices that mimic living creatures as described above, it is desirable to improve the lifelikeness of the device when there is another device in the vicinity of the device itself.
[0005] The present invention has been made to solve the above-mentioned problems, and has an object to provide an electronic device, a control method for an electronic device, and a program that can improve the lifelikeness of the electronic device. [Means for solving the problem]
[0006] In order to achieve the above object, one aspect of the electronic device according to the present invention is to a control means for updating a personality parameter representing a pseudo personality of said own device based on a personality parameter representing a pseudo personality of said other device when said device is in a close proximity state in which said device is within a predetermined distance from another device of the same type as said own device, or a terminal device corresponding to said other device is within the predetermined distance from said terminal device corresponding to said own device; The present invention is characterized by comprising: Effect of the Invention
[0007] According to the present invention, it is possible to provide an electronic device, a control method for an electronic device, and a program that can improve the lifelikeness of the electronic device. [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 first diagram showing an example of a coefficient table according to the first embodiment. [Figure 9] FIG. 2 is a second diagram illustrating an example of a coefficient table according to the first embodiment. [Figure 10] FIG. 2 is a diagram showing a state in which the robot according to the first embodiment meets another robot. [Figure 11] FIG. 2 is a diagram showing an example of encounter information according to the first embodiment. [Figure 12] 4 is a flowchart showing a flow of a robot control process according to the first embodiment. [Figure 13] 5 is a flowchart showing the flow of a gesture control process according to the first embodiment. [Figure 14] 4 is a flowchart showing a flow of an encounter control process according to the first embodiment. [Figure 15]FIG. 11 is a diagram showing a state in which a robot according to the second embodiment meets another robot. 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 electronic device 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 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. With the acceleration sensor 212 and the gyro sensor 215, the robot 200 can detect a change in the posture of the robot 200 itself, and can also detect that the robot 200 has been lifted up, changed in direction, or thrown by a user.
[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 drive 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 which is an example of a control means, a storage unit 120 which is an example of a storage means, and a communication unit 130 which is an example of a communication means.
[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 an external stimulus caused by "a loud noise being made" or "being spoken to" through the microphone 213, and obtains an external stimulus caused by "being stroked" through the touch sensor 211. In addition, the control unit 110 obtains an external stimulus caused by "being lifted" or "being turned upside down" through the acceleration sensor 212 and gyro sensor 215, and obtains an external stimulus 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 comprises 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 an encounter control unit 114 which is an example of an encounter control 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.
[0039] The storage unit 120 also stores gesture information 121, state parameters 122, a coefficient table 124, and encounter information 125.
[0040] 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.
[0041] 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."
[0042] 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.
[0043] 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.
[0044] 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.
[0045] 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.
[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] The emotion map 300 is similar to that disclosed in JP 2023-115370 A, and therefore description thereof will be omitted.
[0049] 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)
[0050] 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.)
[0051] 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.
[0052] The initial value of each of the emotion variation amounts DXP, DXM, DYP, DYM is 10 and can increase up to a maximum of 20. The state parameter acquisition section 112 updates each variable of the emotion variation amounts DXP, DXM, DYP, DYM in response to an external stimuli detected by the sensor section 210.
[0053] Specifically, state parameter acquisition section 112 adds 1 to DXP if the X value of the emotion parameter is set to the maximum value of emotion map 300 even once in a day, and adds 1 to DYP if the Y value of the emotion parameter is set to the maximum value of emotion map 300 even once in a day. Also, state parameter acquisition section 112 adds 1 to DXM if the X value of the emotion parameter is set to the minimum value of emotion map 300 even once in a day, and adds 1 to DYM if the Y value of the emotion parameter is set to the minimum value of emotion map 300 even once in a day.
[0054] In this way, state parameter acquisition section 112 changes the amount of emotion change in accordance with a condition based on whether the emotion parameter value has reached the maximum or minimum value of emotion map 300. This update process changes the amount of emotion change, i.e., the degree of change in emotion.
[0055] 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 that the robot 200 has a personality that is easy to feel at ease. 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 that 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.
[0056] (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.
[0057] 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)
[0058] 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.
[0059] The personality value radar chart 400 is similar to that disclosed in JP 2023-115370, and description thereof will be omitted.
[0060] In this way, the robot 200 has various personalities depending on how the user interacts with the robot 200. In other words, the personalities of the robots 200 are formed differently depending on how the user interacts with them.
[0061] 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).
[0062] State parameter acquisition section 112 adjusts the four personality correction values in accordance with conditions based on which area on emotion map 300 the emotion parameter has existed for the longest time. Specifically, the four personality correction values are adjusted as follows (A) to (E). (A) If the longest presence area is a safe area on the emotion map 300, the state parameter acquisition section 112 adds 1 to the cheerful correction value and subtracts 1 from the shy correction value. (B) If the longest existence area is an excited area on the emotion map 300, the state parameter acquisition section 112 adds 1 to the active correction value and subtracts 1 from the spoiled correction value. (C) If the longest existing area is an anxious area on the emotion map 300, the state parameter acquisition section 112 adds 1 to the shy correction value and subtracts 1 from the cheerful correction value. (D) If the longest existence area is a lethargic area on the emotion map 300, the state parameter acquisition section 112 adds 1 to the spoiled correction value and subtracts 1 from the active correction value. (E) If the longest presence area is the central area on the emotion map 300, the state parameter acquisition section 112 decreases the absolute values of all of the four personality correction values by one.
[0063] 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)
[0064] (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.
[0065] (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 position information acquisition unit 260.
[0066] When the current location matches the location most frequently recorded, the state parameter acquisition unit 112 determines that the current location is the home. When the current location is not the home, the state parameter acquisition unit 112 determines whether the current location is a new location, a familiar location, or a less familiar location based on the number of times the location has been recorded in the past, and acquires the determination information. For example, the state parameter acquisition unit 112 determines that the current location is a familiar location if the number of times the location has been recorded in the past is five or more, and determines that the current location is a less familiar location if the number of times the location has been recorded in the past is less than five.
[0067] (5)Current time The current time is the current time. The state parameter acquisition unit 112 acquires the current time from a clock mounted on the robot 200. Note that, like the acquisition of position information, the acquisition of the current time is not limited to this method.
[0068] More specifically, the state parameter acquisition unit 112 refers to the log of ON / OFF of the simulated sleep of the robot 200 to determine whether the current time is immediately after the wake-up time for this day, immediately before bedtime, or during a nap time.
[0069] (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 starts it for the first time after being shipped from the factory, and grows from a child to an adult over a predetermined growth period. The number of days of growth corresponds to the number of days from the pseudo birth of the robot 200.
[0070] The initial value of the number of days of growth is 1, and the state parameter acquisition unit 112 adds 1 to the number of days of growth every time a day passes. The growth period during which the robot 200 grows from a child to an adult is, for example, 50 days, and the period of 50 days of pseudo-growth from birth is called the "child period." When the child period has elapsed, the pseudo-growth of the robot 200 is completed. The period after the child period is completed is called the "adult period."
[0071] 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, as shown in a frame 301. 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, as shown in a frame 302. 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, as shown in a frame 303. After that, the size of the emotion map 300 is fixed.
[0072] 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.
[0073] 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.
[0074] 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.
[0075] 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.
[0076] 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.
[0077] 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.
[0078] 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.
[0079] 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. The trigger can be various conditions, specifically, "being called out to," "being stroked," "being lifted up," "being turned upside down," "it has become bright," "it has become dark," and the like. These triggers are triggers based on external stimuli and are detected by the sensor unit 210. For example, "being called out to" is detected by the microphone 213. "being stroked" is detected by the touch sensor 211. "being lifted up" 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 trigger may be one that is not based on an external stimulus, such as "a specific time has arrived," "the robot 200 has moved to a specific place," and the like.
[0080] 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. For example, the gesture control unit 113 judges whether or not any of the triggers defined in advance in the gesture information 121 has been established, such as whether the user's voice has been recognized, whether the head 204 of the robot 200 has been stroked, whether a specific time has arrived, whether the robot 200 has moved to a specific location, etc. As a result of the judgment, if any of the triggers has been established, the gesture control unit 113 causes the robot 200 to perform a gesture corresponding to the established trigger.
[0081] When any of the triggers is established, the gesture control unit 113 refers to the gesture information 121 to identify gesture control parameters set for the gesture corresponding to the established trigger. Specifically, the gesture control unit 113 identifies, as the gesture control parameters, 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 action parameters or cries parameters that are parameters of each element. Then, the gesture control unit 113 drives the driving unit 220 based on the identified gesture control parameters, or outputs sound from the speaker 231, thereby causing the robot 200 to execute the gesture corresponding to the established trigger.
[0082] 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.
[0083] In order to correct the gesture control parameters, the gesture control unit 113 refers to the coefficient table 124. As shown in Fig. 8 and Fig. 9, the coefficient table 124 defines a correction coefficient for each of the state parameters 122, that is, (1) emotion parameters, (2) personality parameters, (3) remaining battery level, (4) current location, and (5) current time. Although not shown, the coefficient table 124 may also define a correction coefficient for (6) number of days of growth.
[0084] The correction coefficient is a coefficient for correcting the gesture control parameter identified from the gesture information 121. Specifically, the correction coefficient is determined by the action direction and weighting coefficient for each of the speed and amplitude of the up-down movement by the up-down motor 222, the speed and amplitude of the left-right movement by the twist motor 221, and the movement start time lag.
[0085] More specifically, the gesture control unit 113 determines which of the following (1) to (5) corresponds to the current state of the robot 200 indicated by the state parameters 122 acquired by the state parameter acquisition unit 112. Then, the gesture control unit 113 corrects the gesture control parameters by using a correction coefficient corresponding to the current state of the robot 200. (1) Which of the following emotional parameters of the robot 200 corresponds to: happiness, frustration, sadness, lethargy, or normal. In other words, whether the coordinates (X, Y) representing the emotional parameters are located in the areas marked "happiness," "irritation," "sadness," "lethargy," or "normal" on the emotional map 300 shown in FIG. 5. (2) Which of the following personality parameters does the robot 200 currently have: cheerful, lively, shy, or clingy? In other words, which of the four personality values, cheerful, lively, shy, or clingy, is the largest? (3) Whether the current battery remaining capacity of the robot 200 is 70% or more, between 70% and 30%, or 30% or less. (4) Whether the robot 200 is currently located at home, in a familiar location, in an unfamiliar location, or in a new location. (5) Whether the current time is just after waking up, during a nap, or just before going to bed.
[0086] 9, when the current time corresponds to the time immediately after waking up, the action direction for both the speed and amplitude of the up-down movement and the left-right movement is set to "-" and the weighting coefficient is set to "0.2." Therefore, the gesture control unit 113 lengthens the movement time by 20% and shortens the movement distance by 20% based on the value acquired from the gesture information 121. In other words, the gesture control unit 113 makes the movement of the robot 200 20% slower and 20% shorter than usual.
[0087] 9, the direction of action of the action start time lag is set to "+" and the weighting coefficient is set to "0.2". Therefore, the gesture control unit 113 delays the execution start timing by 20% from the normal timing based on the value set in the gesture information 121. By performing correction using such a correction coefficient, it is possible to express that the gesture is executed slightly slower than the normal motion when the user is in a sleepy state immediately after waking up.
[0088] The gesture control unit 113 specifies the correction coefficients for the corresponding states of (1) emotion parameters, (2) personality parameters, (3) remaining battery level, and (4) current location in addition to (5) the current time from the coefficient table 124. Then, the gesture control unit 113 corrects the gesture control parameters using the sum of the corresponding correction coefficients for (1) to (5).
[0089] As a specific example, a case will be described where (1) the current emotion parameter corresponds to joy, (2) the current personality parameter corresponds to cheerfulness, (3) the current battery level corresponds to 30% or less, (4) the current location corresponds to a new location, and (5) the current time corresponds to immediately after waking up.
[0090] In this case, referring to the coefficient table 124 shown in Fig. 8 and Fig. 9, the sum of the correction coefficients for the speed and amplitude of the up-down movement is calculated as "+0.2+0.1-0.3-0.2-0.2=-0.4", and the sum of the correction coefficients for the speed and amplitude of the left-right movement is calculated as "+0.2+0-0.3-0.2-0.2=-0.5". Therefore, the gesture control unit 113 lengthens the operation time of the up-down motor 222 by 40% and shortens the operation distance by 40% based on the value set in the gesture information 121. Furthermore, the gesture control unit 113 lengthens the operation time of the twist motor 221 by 50% and shortens the operation distance by 50% based on the value acquired from the gesture information 121.
[0091] The sum of the correction coefficients for the action start time lag is calculated as +0+0+0.3+0.2+0.2=+0.7. Therefore, the gesture control unit 113 delays the execution start timing by 70% from the normal timing, using the value acquired from the gesture information 121 as a reference.
[0092] Although not shown, the coefficient table 124 also defines correction coefficients for cries in the same manner as for actions. To be more specific, the gesture control unit 113 corrects the volume, which is a cries parameter set for a gesture corresponding to the established trigger in the gesture information 121, by using a correction coefficient corresponding to the state parameter 122 acquired by the state parameter acquisition unit 112.
[0093] 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.
[0094] Returning to Fig. 3, the encounter control unit 114 judges whether the robot itself has encountered another robot 200. Here, the other robot 200 is a robot 200 that is a device of the same type as the robot itself but is a different individual. In principle, the other robot 200 has the same configuration and functions as the robot itself, and operates in the same manner as the robot itself.
[0095] Encountering means that the robots 200 approach each other within a range where they can recognize each other, and specifically corresponds to a close state where the robots 200 approach each other within a predetermined distance D as shown in FIG. An encounter between the robots 200 may be called "contact." Also, another robot 200 that approaches the robot itself within the predetermined distance D and enters a close state may be called a "approaching device." The encounter control unit 114 executes control when the robot itself encounters another robot 200 in this way, that is, when it enters a close state.
[0096] The encounter control unit 114 searches the surroundings of the host robot and determines whether or not another robot 200 of the same type as the host robot is present within a predetermined distance D from the host robot, in other words, in the vicinity of the host robot. Then, the encounter control unit 114 determines that the host robot has encountered the other robot 200 when the other robot 200 is present in the vicinity of the host robot.
[0097] Specifically, the encounter control unit 114 uses a search function of BLE to determine whether or not another robot 200 of the same type as the own robot is present in the vicinity of the own robot. For example, when another robot 200 is present in the vicinity of the own robot, the encounter control unit 114 can specify that the other robot 200 is the same type as the own robot by using the device name in the search function of BLE.
[0098] In this embodiment, the case where BLE is used will be described as an example, but the encounter control unit 114 may determine whether or not another robot 200 exists in the vicinity of the robot itself by using communication such as Wi-Fi or infrared, not limited to BLE. The encounter control unit 114 always performs such a search in principle while the robot itself is operating normally, except when there is a special command from the terminal device 50.
[0099] If it is determined as a result of the search that another robot 200 of the same type as the robot itself is present in the vicinity of the robot itself, the encounter control unit 114 establishes a connection by BLE with the robot 200 as the other party. In a connection by BLE, a master-slave relationship (central / peripheral relationship) enables synchronization control by notifying the slave robot 200 of the synchronization timing, and interlocking control by instructing the robot to perform a gesture.
[0100] When a connection by BLE is established, the encounter control unit 114 acquires other party information, which is information indicating the ID and personality parameters of the other party robot 200, and transmits its own robot information, which is information indicating its own robot's ID and personality parameters, to the other party robot 200. The encounter control unit 114 updates the encounter information 125 stored in the storage unit 120 with the other party information acquired from the other party robot 200.
[0101] As shown in FIG. 11, the encounter information 125 defines, for each of the other robots 200, an ID, a latest encounter date and time, a cumulative number of encounters, personality parameters, friend registration, intimacy, and a user operation history in association with each other. In the encounter information 125, the latest encounter date and time is the date and time of the last encounter with the other robot 200. The cumulative number of encounters is the cumulative number of times the other robot 200 has been encountered in the past. The personality parameters are the personality parameters of the other robot 200. Friend registration is registration that is performed when the intimacy exceeds a threshold value. The intimacy is the degree of intimacy between the other robot 200 and the player's robot. The user operation history is a history of user operations while the player's robot is meeting the robot 200 of each ID.
[0102] When the encounter control unit 114 acquires the other party information from the other party robot 200, it collates the ID indicated in the acquired other party information with each ID included in the encounter information 125. Then, the encounter control unit 114 updates the information linked to the corresponding ID in the encounter information 125. Specifically, the encounter control unit 114 adds 1 to the cumulative encounter count linked to the corresponding ID in the encounter information 125. In addition, the encounter control unit 114 updates the personality parameters linked to the corresponding ID in the encounter information 125 to the personality parameters of the other party robot 200 indicated in the acquired other party information.
[0103] Next, the encounter control unit 114 estimates the distance between the robot itself and the other robot 200. For example, the encounter control unit 114 refers to the radio wave intensity of the BLE signal received from the other robot 200, and estimates that the stronger the radio wave intensity is, the closer the distance between the robot itself and the other robot 200 is.
[0104] When the encounter control unit 114 determines that the player's robot has encountered another robot 200, the gesture control unit 113 causes the player's robot to perform a gesture corresponding to the encounter with the robot 200. Specifically, when the player's robot encounters another robot 200, the gesture control unit 113 causes the player's robot to perform a gesture corresponding to the number of encounters with the robot 200. In other words, when the player's robot comes into close proximity with another robot 200, the gesture control unit 113 causes the player's robot to perform a gesture corresponding to the number of approaches, which is the number of times the robot has come into close proximity.
[0105] More specifically, when the robot itself encounters another robot 200, the gesture control unit 113 first refers to the distance estimated by the encounter control unit 114. (1) When the estimated distance is close, the gesture control unit 113 causes the robot itself to execute a gesture that produces a greeting for the other robot 200. The case where the estimated distance is close corresponds to, for example, the case where the estimated distance is less than the first distance.
[0106] (2) In contrast, when the estimated distance is somewhat close, the gesture control unit 113 causes the robot to perform a gesture of searching for the other robot 200. When the estimated distance is somewhat close, this corresponds to, for example, a case where the estimated distance is equal to or greater than the first distance and less than the second distance. The first distance and the second distance are distances less than a predetermined distance D that is set in advance as a threshold value. In this way, when the robot encounters another robot 200, the gesture control unit 113 causes the robot to perform a gesture according to the distance between the robot and the other robot 200.
[0107] Furthermore, when the estimated distance is short (1), the gesture control unit 113 refers to the cumulative number of encounters with the encountered robot 200 recorded in the encounter information 125. Then, the gesture control unit 113 changes the gesture used to greet the other robot 200 as a gesture according to the cumulative number of encounters, as shown in the following (1A) to (1C).
[0108] (1A) To explain more specifically, when the cumulative number of encounters is the first time (that is, the first meeting), the gesture control unit 113 causes the robot to execute a gesture that represents a cautious greeting to the other robot 200.
[0109] (1B) On the other hand, if the cumulative number of encounters is the second or later (more precisely, if it does not fall under (1C) below), the gesture control unit 113 causes the player's robot to perform a gesture that mimics a normal greeting toward the other robot 200.
[0110] (1C) Furthermore, if the player's robot frequently encounters the other robot 200, the player's robot is made to execute a gesture that produces a playful greeting with the other robot 200. Here, a case in which the player's robot frequently encounters the other robot 200 corresponds to, for example, a case in which the player's robot frequently encounters the other robot 200 10 times or more and the previous encounter was within three days.
[0111] When the robot 200 encounters another robot 200 and the estimated distance is short, the gesture control unit 113 causes the robot 200 to execute such a gesture that produces a greeting as the first gesture during the encounter. Furthermore, the gesture control unit 113 causes the robot 200 to execute a gesture that is expediently performed in addition to the gesture that produces a greeting as described above as a gesture according to the cumulative number of encounters.
[0112] For example, the gesture control unit 113 causes the player's robot to perform the same movement as the opponent's robot 200 or a movement linked with the opponent's robot 200 as a gesture according to the cumulative number of encounters. Alternatively, when the intimacy between the player's robot and the opponent's robot 200 is equal to or greater than a predetermined value, the gesture control unit 113 can cause the player's robot to perform a gesture that creates the appearance of dancing together with the opponent's robot 200. While the opponent's robot 200 is present nearby, the gesture control unit 113 causes the player's robot to perform such a gesture according to the cumulative number of encounters periodically or at random timing.
[0113] In the encounter information 125, the intimacy level is the degree of intimacy between the robot itself and another robot 200. The encounter control unit 114 sets the intimacy level based on the number of encounters. In principle, the intimacy level with a certain robot 200 is expressed by the number of encounters with that robot 200. That is, when the number of encounters increases by one, the corresponding intimacy level also increases by one.
[0114] When the encounter control unit 114 encounters another robot 200, it updates the intimacy level with that robot 200 based on the time that has elapsed since the date and time of the last encounter with that robot 200. To be more specific, when the encounter control unit 114 encounters another robot 200, it refers to the date and time of the most recent encounter with that robot 200 that is recorded in the encounter information 125. Then, when a certain period of time has elapsed since the date and time of the most recent encounter, the encounter control unit 114 reduces the intimacy level. For example, when three months or more have passed since the last encounter, the encounter control unit 114 reduces the intimacy level by half.
[0115] Furthermore, when the robot itself is in a close proximity state with another robot 200 and an external stimulus to the robot itself is detected by the sensor unit 210, the encounter control unit 114 corrects the intimacy level based on the external stimulus. Here, an example of the external stimulus is a user operation on the robot itself. The encounter control unit 114 corrects the intimacy level based on the user operation on the robot itself when the robot itself encounters another robot 200. Here, the time when the robot itself is encountering the other robot 200 refers to the period from when the other robot 200 approaches the vicinity of the robot itself (for example, within a predetermined distance D) to when the other robot 200 is no longer in the vicinity.
[0116] Specifically, when the robot 200 encounters another robot 200, the encounter control unit 114 judges whether or not the sensor unit 210 detects an operation that the robot 200 enjoys or dislikes. Here, the operations that the robot 200 enjoys are operations such as being stroked, praised, being held, etc., and the operations that the robot 200 dislikes are operations such as being hit, being scolded, being turned upside down, etc.
[0117] The encounter control unit 114 detects the strength of the user's contact with the robot 200 using the touch sensor 211, and determines whether the user has been "patted" or "hit", that is, whether the user's operation corresponds to an operation that the user likes or dislikes, based on the strength of the contact. The encounter control unit 114 also detects the user's voice using the microphone 213, and performs voice recognition of the detected voice to determine whether the user has been "praised" or "scolded". Furthermore, the encounter control unit 114 determines whether the user has been "hugged" or "turned upside down" based on the detection value of the acceleration sensor 212 or the gyro sensor 215.
[0118] The encounter control unit 114 corrects the intimacy level every time the number of times an operation that pleases the robot 200 or an operation that displeases the robot 200 is detected exceeds a preset threshold (e.g., 5 times). Specifically, the encounter control unit 114 increases the intimacy level by +0.5 every time the number of times an operation that pleases the robot 200 is detected exceeds the threshold. In contrast, the encounter control unit 114 decreases the intimacy level by -0.5 every time the number of times an operation that displeases the robot 200 is detected exceeds the threshold. The encounter control unit 114 executes such correction of the intimacy level based on the content of the user's operation from the time the other robot 200 approaches the vicinity of the robot itself until it leaves.
[0119] When the intimacy degree exceeds a predetermined threshold value due to such an update, the encounter control unit 114 reflects the personality of the other robot 200 in the personality of the robot's own robot. Here, the personality of the robot 200 is specifically a personality parameter that represents the pseudo personality of the robot 200. Note that the threshold value may be set to the same value as the initial position of the intimacy degree, and the personality of the other robot 200 that has been encountered (is in a close proximity state) may be reflected in the personality of the robot's own robot regardless of the number of encounters.
[0120] Specifically, when the intimacy exceeds a predetermined threshold, the encounter control unit 114 registers the other robot 200 as a friend. Specifically, the encounter control unit 114 records "◯" indicating that the robot has been registered in the friend registration column of the other robot 200 in the encounter information 125. Then, the encounter control unit 114 updates the character's personality parameters based on the character parameters of the other robot 200 that has been registered as a friend. By reflecting any or all of the character parameters of the other robot 200 in the character parameters of the robot, the character's personality parameters can be reflected in the subsequent growth, behavior, and the like of the robot.
[0121] Here, as shown in Fig. 6, the personality parameters of each robot 200 are expressed in 11 stages from 0 to 10 for each of four types of personality values. When the personality of the robot itself is not affected by the personalities of the other robots 200, the state parameter acquisition unit 112 updates each of the personality values of the robot itself within such a predetermined limited range from 0 to 10. In other words, when updating the personality parameters of the robot itself not based on the personality parameters of the other robots 200, the state parameter acquisition unit 112 updates the personality parameters of the robot itself to parameters within the predetermined limited range.
[0122] On the other hand, when updating the personality parameters of the robot itself based on the personality parameters of the other robot 200, the encounter control unit 114 updates the personality parameters of the robot itself to parameters outside the restricted range. In other words, the encounter control unit 114 can update the personality parameters of the robot itself to values that cannot be updated if they are not based on the personality parameters of the other robot 200. Five examples are given below.
[0123] As a first example, the encounter control unit 114 may simply add each personality value of the personality parameters of the player's robot to each personality value of the personality parameters of the opponent robot 200. As a result, each personality value of the player's robot's personality parameters is expressed in 21 stages from 0 to 20, and can be updated to a value that exceeds the upper limit value before the addition.
[0124] As a second example, when the opponent robot 200 has a personality whose personality value is equal to or greater than a predetermined value (specifically, any one of cheerful, shy, active, and clingy), the encounter control unit 114 may increase the personality value of the opponent robot's personality parameters by an arbitrary step. This allows the opponent robot 200 to be influenced by a personality parameter having a strong element among the personality parameters of the opponent robot 200. In this case, the upper limit of each personality value of the opponent robot's personality parameters may be set to an arbitrary value exceeding the value updated by the state parameter acquisition unit 112.
[0125] As a third example, when a personality parameter of the other robot 200 having a personality value equal to or greater than a predetermined value (specifically, any one of cheerful, shy, active, or clingy) matches a personality parameter of the player's own robot having a personality value equal to or greater than a predetermined value, the encounter control unit 114 may increase the personality value of that personality parameter of the player's own robot by any number of stages.
[0126] As a fourth example, the encounter control unit 114 may reflect the personality parameters of the opponent robot 200 in coefficients that control the ease of growth of each personality value of the robot's personality parameters. The coefficients that control the ease of growth of each personality value are, for example, the personality correction values described above. For example, the personality correction values corresponding to the personality of the personality parameters of the opponent robot 200 that are equal to or greater than a predetermined value may be increased by one level.
[0127] As a fifth example, the encounter control unit 114 may add a new type of personality value (for example, a personality value of "sociable") that is different from the four types of personality values of the character's personality parameters. Also, for example, the higher the "sociable" personality value, the greater the amount of expansion of the emotion map per day may be, or the "sociable" personality value may be converted to an arbitrary magnification and multiplied by an arbitrary personality correction value. Since the new type of personality value can be said to have been limited to 0 before its addition, adding a new type of personality value and setting an appropriate value can be said to be equivalent to updating the character's personality parameters to parameters outside the limited range.
[0128] In this way, by reflecting the personality parameters of the robot 200 encountered in the personality parameters of the player's own robot, it becomes possible to allow the robot 200 to grow in a way that would be impossible if the robot 200 were trained alone.
[0129] The encounter control unit 114 does not reflect the personality parameters when the robot 200 that has already been registered as a friend in the encounter information 125 is encountered again. This prevents personality parameters from being reflected multiple times with the same robot 200 as the other party. Note that, as long as it is possible to determine that personality parameters have been reflected in the past, any information may be registered in the encounter information 125, not limited to friend registration.
[0130] The encounter control unit 114 reflects the friend registration information in the encounter information 125 in the determination of the above-mentioned gesture. For example, even if the user has not met the robot 200 that was once friend registered in the encounter information 125 for a while, the encounter control unit 114 does not decrease the intimacy level of the robot 200.
[0131] When the encounter control unit 114 detects that the other robot 200 is no longer present in the vicinity, it determines that the encounter with the other robot 200 has ended. In this case, the encounter control unit 114 updates the previous encounter date and time in the encounter information 125 to the current date and time, and ends the encounter control.
[0132] When two or more robots 200 are present simultaneously in the vicinity of the robot itself, the encounter control unit 114 may connect to each of the two or more robots 200 via BLE and execute the above-mentioned process with each of the two or more robots 200 as a partner robot 200. In this case, the gesture control unit 113 can cause the robot itself to execute gestures that are alternately linked with each of the two or more robots 200, or to execute gestures that link all of the two or more robots 200 simultaneously. However, it is also possible to impose a restriction so as not to simultaneously connect with an upper limit number (e.g., three or more robots) or more of the robots 200.
[0133] Next, the flow of the robot control process will be described with reference to Fig. 12. The robot control process shown in Fig. 12 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 an electronic device.
[0134] 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.
[0135] 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.
[0136] 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).
[0137] When any of the triggers is established (step S103; YES), the control unit 110 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. 13. Step S104 is an example of a control step.
[0138] When the gesture control process shown in FIG. 13 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).
[0139] 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.
[0140] When the gesture control parameters are acquired, the control unit 110 corrects the gesture control parameters based on the correction coefficients defined in the coefficient table 124 (step S203). Specifically, the control unit 110 calculates the sum of the correction coefficients corresponding to the state parameters 122 updated in step S201, among the correction coefficients defined in the coefficient table 124 for (1) emotion parameters, (2) personality parameters, (3) remaining battery level, (4) current location, and (5) current time. Then, the control unit 110 corrects the movement parameters, the cry parameters, and the execution start timing based on the calculated sum of the correction coefficients.
[0141] 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.
[0142] Returning to FIG. 12, in step S103, if none of the multiple gesture triggers is established (step S103; NO), control unit 110 skips step S104.
[0143] 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. When the process ends (step S105; YES), the control unit 110 stores 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.
[0144] If the process is not to be ended (step S105; NO), the control unit 110 judges whether or not the robot 200 has encountered another robot 200 (step S107). Specifically, the control unit 110 uses a search function of BLE to judge whether or not another robot 200 exists in the vicinity of the robot itself.
[0145] If the robot 200 encounters another robot (step S107; YES), the control unit 110 executes an encounter control process (step S108). Details of the encounter control process in step S108 will be described with reference to FIG.
[0146] 14 starts, the control unit 110 updates the cumulative number of encounters and the personality parameters in the encounter information 125 (step S301). Specifically, the control unit 110 acquires the ID of the encountered robot 200, adds 1 to the cumulative number of encounters linked to the ID acquired in the encounter information 125, and updates the personality parameters linked to the ID acquired in the encounter information 125 to the personality parameters of the encountered robot 200.
[0147] Next, the control unit 110 updates the intimacy level in the encounter information 125 based on the time elapsed since the latest encounter date and time (step S302). Specifically, the control unit 110 decreases the intimacy level when a certain period of time has elapsed since the latest encounter date and time.
[0148] When the encounter information 125 is updated, the control unit 110 estimates the distance between the robot itself and the other robot 200 based on the radio wave intensity of the BLE signal received from the other robot 200 (step S303).
[0149] When the distance is estimated, the control unit 110 causes the own robot to perform a gesture according to the estimated distance and the cumulative number of encounters with the other robot 200 (step S304). For example, when the estimated distance is less than a first distance, the control unit 110 causes the own robot to perform a gesture that produces a greeting. At that time, the control unit 110 causes the own robot to perform a gesture that produces a guarded greeting, a normal greeting, or a playful greeting, depending on the cumulative number of encounters. On the other hand, when the estimated distance is equal to or greater than the first distance and less than a second distance, the control unit 110 causes the own robot to perform a gesture that produces a search for the other robot 200.
[0150] Next, the control unit 110 judges whether or not a user operation has been detected by the sensor unit 210 (step S305). When a user operation has been detected (step S305; YES), the control unit 110 corrects the intimacy level with the encountered robot 200 (step S306). To be more specific, when the control unit 110 detects an operation that pleases the own robot, it increases the intimacy level, and when the control unit 110 detects an operation that dislikes the own robot, it decreases the intimacy level. After correcting the intimacy level, the control unit 110 returns the process to step S303.
[0151] If no user operation is detected (step S305; NO), the control unit 110 determines whether the intimacy with the encountered robot 200 exceeds a threshold (step S307). If the intimacy exceeds the threshold (step S307; YES), the control unit 110 registers the other robot 200 as a friend (step S308).
[0152] When the friend registration is performed, the control unit 110 reflects the personality parameters of the other robot 200 in the personality parameters of the robot itself (step S309). For example, the control unit 110 updates the personality parameters of the robot itself based on the personality parameters of the other robot 200 by adding each personality value of the personality parameters of the other robot 200 to each personality value of the personality parameters of the robot itself.
[0153] On the other hand, if the degree of intimacy does not exceed the threshold value (step S307; NO), control unit 110 skips steps S308 and S309.
[0154] Next, the control unit 110 again determines whether or not the other robot 200 is present in the vicinity (step S310). In other words, the control unit 110 determines whether or not the encounter with the other robot 200 is continuing.
[0155] If the other robot 200 is present in the vicinity (step S310; YES), the control unit 110 returns the process to step S303. Then, the control unit 110 repeats the processes of steps S303 to S310 while the encounter with the other robot 200 continues.
[0156] On the other hand, if the other robot 200 does not exist in the vicinity (step S310; NO), the control unit 110 updates the latest meeting date and time in the meeting information 125 to the current date and time (step S311). With the above, the meeting control process shown in FIG. 14 ends.
[0157] Returning to FIG. 12, in step S107, if the robot 200 has not encountered another robot (step S107; NO), the control unit 110 skips the encounter control process in step S108.
[0158] Next, the control unit 110 uses the clock function to determine whether or not the date has changed (step S109). If the date has not changed (step S109; NO), the process returns to step S103.
[0159] If the date has changed (step S109; YES), the control unit 110 updates the state parameters 122 (step S110). 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.
[0160] After updating the state parameter 122, the control unit 110 adds 1 to the number of days of growth (step S111) and returns to step S103. Then, the control unit 110 repeats the processes from step S103 to step S111 as long as the robot 200 is operating normally.
[0161] As described above, the robot 200 according to the first embodiment executes a gesture according to its own personality parameters, and updates its own personality parameters based on the personality parameters of the robot 200 that it encounters. This allows the robot 200 to be influenced by and to influence other robots 200, thereby improving the lifelikeness of the robot. In addition, the variation in the growth of the robot 200 is expanded, which can improve the long-term utility value, and can be expected to improve the healing effect, create a sense of attachment, and promote communication between users.
[0162] Furthermore, when the robot 200 according to the first embodiment encounters another robot 200, the robot 200 performs a gesture according to the number of encounters, which is the number of times the robot has encountered the other robot 200. In this way, the robot 200 according to the first embodiment performs a gesture according to the number of encounters with the other robot 200, and therefore, it is possible to further improve the lifelikeness of the robot 200 when another robot 200 is present in the vicinity of the robot itself.
[0163] (Embodiment 2) Next, a description will be given of embodiment 2. Descriptions of configurations and functions similar to those of embodiment 1 will be omitted where appropriate.
[0164] In the above-mentioned embodiment 1, the robot 200 has the function of the encounter control unit 114, and the robots 200 directly estimate the distance between themselves and determine whether they have encountered each other. In contrast, in embodiment 2, the terminal device 50 has the function of the encounter control unit 114. Then, the encounter control unit 114 determines that the robot 200 has encountered the other robot 200 when the terminal device 50 corresponding to the other robot 200 is in an approaching state within a predetermined distance D from the terminal device 50 corresponding to the robot 200 of the robot.
[0165] 15 shows a state in which the robots 200 meet in the embodiment 2. In the embodiment 2, the encounter control unit 114 determines that the first robot 200 and the second robot 200 have met, i.e., are in a close proximity state, when the first terminal device 50 corresponding to the first robot 200 and the second terminal device 50 corresponding to the second robot 200 approach each other within a predetermined distance D.
[0166] In other words, in embodiment 1, the number of encounters (number of approaches) was the number of times that another robot 200 came within a predetermined distance D from the robot itself, whereas in embodiment 2, the number of encounters (number of approaches) is the number of times that the terminal device 50 corresponding to the other robot 200 came within a predetermined distance D from the terminal device 50 corresponding to the robot itself.
[0167] Here, the first terminal device 50 and the second terminal device 50 are devices for controlling the first robot 200 and the second robot 200, respectively, and have the same configuration and function in principle. In each of the first terminal device 50 and the second terminal device 50, the encounter control unit 114 executes the encounter control process shown in FIG. 14 in the first embodiment, and updates and manages the encounter information 125 of the corresponding robot 200. The encounter control unit 114 communicates with the robot 200 via the communication unit 550, and transmits the encounter information 125 updated by the encounter control process to the corresponding robot 200. As a result, the encounter control unit 114 causes the corresponding robot 200 to perform a gesture according to the encounter.
[0168] In this way, in the second embodiment, even if the robot 200 does not have the function of the encounter control unit 114, in particular the function of searching its surroundings to determine the presence of other robots 200, it is possible to execute encounter control with other robots 200, and the same effect as in the first embodiment can be obtained.
[0169] (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.
[0170] For example, in the above embodiment, when the intimacy level exceeds a predetermined threshold value due to an update of the intimacy level, the encounter control unit 114 reflects the personality parameters of the other robot 200 that has been encountered in the personality parameters of the robot itself, but the encounter control unit 114 may update the personality parameters of the robot itself based on the length of the encounter time (time during which the robots are in close proximity). Here, the encounter time refers to the time from when the other robot 200 approaches the vicinity of the robot itself (within a predetermined distance D) to when it no longer exists in the vicinity. Specifically, the encounter control unit 114 may add a larger value to the sociable parameters of the own robot the longer the encounter time is, may add a larger multiplier to the personality parameters of the other robot 200 that was encountered the longer the encounter time is, may increase the personality value of the personality parameters of the own robot if there is a personality value in the personality parameters of the other robot 200 that was encountered that has a personality value equal to or greater than a predetermined value the longer the encounter time is, and may more strongly reflect the personality parameters of the other robot 200 in the coefficients that control the ease of growth of each personality value of the personality parameters of the own robot the longer the encounter time is.
[0171] 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.
[0172] 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.
[0173] Furthermore, the electronic device is not limited to the robot 200 that imitates a living creature. For example, the electronic device may be a wristwatch or the like as long as it is a device that can express individuality by performing various gestures. Even if the electronic device 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.
[0174] In the above embodiment, the CPU of the control unit 110 executes a program stored in the ROM to function as each unit such as the gesture control unit 113. However, in the present invention, the control units 110 and 510 may include 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 gesture control unit 113. 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 piece of 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.
[0175] 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.
[0176] 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.
[0177] 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]
[0178] 1...robot system, 50...terminal device, 100...control device, 110...control unit, 112...state parameter acquisition unit, 113...gesture control unit, 114...encounter control unit, 120...storage unit, 121...gesture information, 122...state parameters, 124...coefficient table, 125...encounter information, 130...communication unit, 200...robot, 201...exterior, 202...decorative part, 203...hair, 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, 301 to 303... frames, 400... personality value radar chart, 510... control unit, 520... memory unit, 530... operation unit, 540... display unit, 550... communication unit, BL... bus line
Claims
1. a control means for updating a personality parameter representing a pseudo personality of said own device based on a personality parameter representing a pseudo personality of said other device when said device is in a close proximity state in which said device is within a predetermined distance from another device of the same type as said own device, or a terminal device corresponding to said other device is within the predetermined distance from said terminal device corresponding to said own device; An electronic device comprising:
2. The control means causing the player's machine to perform a gesture corresponding to the character parameter of the player's machine; When the device is in the close proximity state, the device executes a gesture corresponding to the number of approaches, which is the number of times the device is in the close proximity state with the other device.
2. The electronic device according to claim 1 .
3. The control means When updating the personality parameter of the own device without based on the personality parameter of the other device, updating the personality parameter of the own device to a parameter within a predetermined limit range; When updating the personality parameters of the own device based on the personality parameters of the other device, the personality parameters of the own device are updated to parameters outside the limited range.
3. The electronic device according to claim 1, wherein the first and second electrodes are electrically connected to the first and second electrodes.
4. The control means setting an intimacy between the player's own device and the other device based on the number of approaches; updating the personality parameters of the own device based on the personality parameters of the other device when the intimacy exceeds a threshold value; 3. The electronic device according to claim 2.
5. when the approaching state is reached and an external stimulus to the player's device is detected by a predetermined detection means, the control means corrects the intimacy degree based on the external stimulus.
5. The electronic device according to claim 4.
6. A method for controlling an electronic device, comprising: updating a personality parameter representing a pseudo personality of the electronic device based on a personality parameter representing a pseudo personality of the other device when the electronic device is in a close proximity state in which the electronic device is in a state where the electronic device is in a close proximity to another device of the same type as the electronic device within a predetermined distance, or a terminal device corresponding to the other device is in a close proximity to the terminal device corresponding to the electronic device within the predetermined distance; 23. A method for controlling an electronic device comprising:
7. Computers, electronic devices a control means for updating a personality parameter representing a pseudo personality of the electronic device based on a personality parameter representing a pseudo personality of the other device when the electronic device is in a close proximity state in which the electronic device is in a state where the electronic device is in a close proximity to another device of the same type as the electronic device within a predetermined distance, or a terminal device corresponding to the other device is in a close proximity to the terminal device corresponding to the electronic device within the predetermined distance; A program to function as a
Citation Information
Patent Citations
Robot device and character determining method of robot device
JP2001157983A
Robot device and control method for robot device
JP2001212782A
Robot device and interactive method for robot device
JP2004090109A
Robot device and control method for it
JP2007320032A
Robot, hint output device, robot control system, robot control method, robot control program, and integrated circuit
WO2005099971A1