Robot control device, robot, and computer program product

By using multiple processing units in the robot control device to detect external actions and generate new action modes, the problem of robot movement fixation in the prior art is solved, and the ability of the robot to perform similar biological actions is realized.

CN120190840APending Publication Date: 2025-06-24CASIO COMPUTER CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202411860153.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-12-22
Filing Date
2024-12-17
Publication Date
2025-06-24

AI Technical Summary

Technical Problem

In the prior art, the actions performed by the robot are fixed and cannot be changed, resulting in a lack of biological similarity when mimicking organisms.

Method used

A robot control device is designed to detect external effects through multiple processing units, generate multiple action modes, and combine action elements according to evaluation value to generate a new action mode.

Benefits of technology

It enables robots to perform biologically similar actions and enhances biologically similarity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120190840A_ABST
    Figure CN120190840A_ABST
Patent Text Reader

Abstract

The invention provides a robot control device, a robot and a computer program product. Therefore, the robot can carry out actions similar to organisms. A robot control device for controlling a robot including a sensor for detecting an action from the outside includes: a control unit that causes the robot to operate in a plurality of operation modes in response to the action detected by the sensor, each of the plurality of operation modes comprising a combination of two or more operation elements; the control unit derives an evaluation value for each of the plurality of operation modes, and generates a new operation mode by combining a plurality of operation elements constituting each of the plurality of operation modes on the basis of the evaluation values.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross - reference to related applications

[0002] This application claims the priority and benefits of Japanese Patent Application No. 2023 - 216539 filed on December 22, 2023. In this specification, the specification, claims, and all the drawings of Japanese Patent Application No. 2023 - 216539 are incorporated by reference. Technical Field

[0003] The disclosure of this specification relates to a robot control device, a robot, and a program product. Background Art

[0004] Conventionally, the following technology has been known: Action data for causing a robot to perform a certain action is corrected based on personality parameters representing the personality of the robot, so that each robot performs actions with different personalities (for example, Japanese Unexamined Patent Application Publication No. 2014 - 69257). Summary of the Invention

[0005] - Problems to be Solved by the Invention -

[0006] However, in the above - mentioned conventional technology, the actions performed by each robot are fixed and do not change. Therefore, when applying the above - mentioned conventional technology to a robot that mimics a living being, there is a problem that the unified actions are repeatedly performed and the biological similarity is lacking.

[0007] An object of the present disclosure is to realize a robot that performs actions similar to those of a living being.

[0008] - Means for Solving the Problems -

[0009] To solve the above problems, the robot control device according to the present disclosure includes: one or more processing units that cause the robot to perform actions in a plurality of action patterns each composed of a combination of two or more action elements in response to an action detected by a sensor that detects an action from the outside.

[0010] The one or more processing units execute the following processing:

[0011] Derive an evaluation value for each of the plurality of action patterns,

[0012] Based on the evaluation value, combine a plurality of action elements constituting each of the plurality of action patterns to generate a new action pattern.

[0013] - Effects of the Invention -

[0014] According to the present disclosure, a robot that performs actions similar to those of a living being can be realized. Brief Description of the Drawings

[0015] Figure 1 It is a diagram showing the appearance of the robot.

[0016] Figure 2 It is a schematic diagram showing the structure of the main body of the robot.

[0017] Figure 3 It is a block diagram showing the functional structure of the robot.

[0018] Figure 4 It is a diagram schematically showing the transition of the action state of the robot.

[0019] Figure 5 It is a diagram showing the behavior pattern.

[0020] Figure 6 It is a diagram showing the content of the action element.

[0021] Figure 7 It is a diagram showing the behavior pattern group in the first period.

[0022] Figure 8 It is a diagram showing an example of evaluation value data.

[0023] Figure 9 It is a diagram for explaining a method of generating the behavior in the second period based on the behavior in the first period.

[0024] Figure 10 It is a diagram showing the behavior pattern group in the second period.

[0025] Figure 11 It is a diagram for explaining the mutation of the behavior.

[0026] Figure 12 It is a flowchart showing the control sequence of the behavior execution process.

[0027] Figure 13 It is a flowchart showing the control sequence of the behavior learning process. Detailed implementation manners

[0028] Hereinafter, embodiments of the present disclosure will be described based on the drawings.

[0029] Figure 1 It is a diagram showing the appearance of the robot 1. The robot 1 includes a main body 100 and an exterior 200 covering the main body 100. The robot 1 is a pet robot imitating a small creature. The robot 1 can perform a plurality of different behaviors (actions). The behaviors include behaviors such as moving the head and making a sound. The exterior 200 deforms following the movement of the main body 100. The exterior 200 has a fur formed of a plush fabric, a decorative member imitating eyes, and the like.

[0030] Figure 2It is a schematic diagram showing the structure of the main body 100 of the robot 1. The main body 100 has a head 101, a trunk 103, and a connecting portion 102 that connects the head 101 and the trunk 103. In this specification, the part corresponding to the head 101 among the robots 1 is referred to as the "head". The main body 100 has a drive unit 40 that moves the head 101 relative to the trunk 103. The drive unit 40 has a torsion motor 41 and a vertical movement motor 42. The torsion motor 41 is a servo motor that rotates the head 101 and the connecting portion 102 within a given angle range around a first rotation axis 401 that extends in the extending direction of the connecting portion 102. Through the operation of the torsion motor 41, the robot 1 realizes the torsion movement of the head. The vertical movement motor 42 is a servo motor that rotates the head 101 within a given angle range around a second rotation axis 402 that is perpendicular to the first rotation axis 401. Through the vertical movement motor 42, the robot 1 realizes the vertical movement of the head. The direction of the vertical movement of the head can be obtained according to the angle of the torsion of the head based on the torsion motor 41, and can also be obtained according to the direction inclined with respect to the vertical direction. By finely and periodically operating the torsion motor 41 and / or the vertical movement motor 42, the robot 1 realizes the movement of shaking or trembling the head. By appropriately changing the timing, size, and speed of the operations of the torsion motor 41 and the vertical movement motor 42 and combining them, the robot 1 can perform various behaviors.

[0031] The main body 100 has: a touch sensor 51, an acceleration sensor 52, a gyro sensor 53, an illuminance sensor 54, a microphone 55, and a sound output unit 30. The touch sensors 51 are respectively provided on the upper parts of the head 101 and the trunk 103. The illuminance sensor 54, the microphone 55, and the sound output unit 30 are provided on the upper part of the trunk 103. The acceleration sensor 52 and the gyro sensor 53 are provided on the lower part of the trunk 103.

[0032] Figure 3 It is a block diagram showing the functional structure of the robot 1. Figure 3 Each of the shown functional structures is provided in the main body 100. The robot 1 includes: a CPU 11 (Central Processing Unit), a RAM 12 (Random Access Memory), a storage unit 13, an operation unit 20, a sound output unit 30, a drive unit 40, a sensor unit 50, a communication unit 60, and a power supply unit 70. Each part of the robot 1 is connected via a communication path such as a bus. The CPU 11, the RAM 12, and the storage unit 13 constitute a robot control device 10 that controls the operation of the robot 1.

[0033] The CPU 11 is a processor (control unit, control section) that controls the operation of the robot 1 by reading and executing the program 131 stored in the storage section 13 and performing various arithmetic processes. In addition, the robot 1 may have multiple processors (e.g., multiple CPUs), and these multiple processors may execute the multiple processes executed by the CPU 11 of the present embodiment. In this case, the control section is constituted by multiple processors. In this case, the multiple processors may participate in common processes, or the multiple processors may independently and concurrently execute different processes. The RAM 12 provides a memory space for work to the CPU 11 and temporarily stores data.

[0034] The storage section 13 is a non-transitory recording medium that can be read by the CPU 11, which is a computer, and stores the program 131 and various data. The storage section 13 includes, for example, a non-volatile memory such as a flash memory. The program 131 is stored in the storage section 13 in the form of program codes that can be read by a computer. As the data stored in the storage section 13, there are behavior setting data 132 (motion setting information) and evaluation value data 133, etc., which are referred to in the behavior execution process described later.

[0035] The operation section 20 includes operation buttons, operation knobs, etc. for turning the power on / off and adjusting the volume of the output sound from the sound output section 30. The operation section 20 outputs operation information corresponding to the input operations on the operation buttons, operation knobs, etc. to the CPU 11.

[0036] The sound output section 30 includes a speaker and outputs sound with a pitch (height), length, and volume corresponding to the control signal and sound data sent from the CPU 11. This sound may also be a sound imitating the cry of a living being.

[0037] The drive section 40 operates the above-mentioned torsion motor 41 and vertical movement motor 42 according to the control signal sent from the CPU 11.

[0038] The sensor unit 50 includes the above-described touch sensor 51, acceleration sensor 52, gyro sensor 53, illuminance sensor 54, and microphone 55, and outputs the detection results of each sensor and the microphone 55 to the CPU 11. The touch sensor 51, acceleration sensor 52, gyro sensor 53, illuminance sensor 54, and microphone 55 correspond to "sensors that detect actions from the outside". The touch sensor 51 detects the situation where a user or other object has come into contact with the robot 1. The touch sensor 51 includes, for example, a pressure sensor or a capacitance sensor. The CPU 11 determines whether communication between the robot 1 and the user has occurred based on the detection result sent from the touch sensor 51. The acceleration sensor 52 detects the acceleration in each of the three orthogonal axis directions. The gyro sensor 53 detects the angular velocity around each of the three orthogonal axis directions. The illuminance sensor 54 detects the brightness around the robot 1. The microphone 55 detects the sound around the robot 1 and outputs the detected sound data to the CPU 11.

[0039] The communication unit 60 is a communication module having an antenna, a modulation / demodulation circuit, a signal processing circuit, etc., and performs wireless data communication with an external device according to a given communication standard.

[0040] The power supply unit 70 includes a storage battery 71 and a remaining amount detection unit 72. The storage battery 71 supplies power to each part of the robot 1. The storage battery 71 in this embodiment is a secondary battery that can be repeatedly charged by a non-contact charging method. The remaining amount detection unit 72 detects the remaining amount of the storage battery 71 according to a control signal sent from the CPU 11 and outputs the detection result to the CPU 11.

[0041] Next, the operation of the robot 1 will be described. Figure 4 This is a diagram schematically showing the transition of the operation state of the robot 1. The transition of the operation state of the robot 1 is performed according to the control by the CPU 11. In the standby state (step S1), the robot 1 does not perform any actions and remains stationary.

[0042] When a given external action (stimulus) is detected in the standby state (Yes in step S2), the CPU 11 causes the robot 1 to perform one of a plurality of predetermined actions at a timing that seems to respond to the action (step S3). The external action is, for example, touch, hug, or conversation by the user. Touch is detected by the touch sensor 51, hug is detected by at least one of the touch sensor 51, the acceleration sensor 52, and the gyro sensor 53, and conversation is detected by the microphone 55. The actions performed in response to the external action include not only actions corresponding to internal parameters such as the emotion, personality, and sleepiness of the robot 1, but also actions that reflect the history of communication with the user (hereinafter, referred to as history reflection actions X1 to X4). The internal parameters are stored in the storage unit 13 and are updated at any time according to the environment of the robot 1, external actions, etc. The methods for generating and updating the history reflection actions X1 to X4 will be described later. When any action ends, the CPU 11 causes the robot 1 to transition to the standby state.

[0043] In the case where a given external action is not detected in the standby state and a given action execution condition is satisfied (Yes in step S4), the CPU 11 causes the robot 1 to perform one of a plurality of predetermined actions as a spontaneously performed action (step S5). The action execution condition is, for example, that a given time has elapsed since the last execution of an action, the surrounding is a given brightness, it is a given time, the battery level of the battery 71 is less than a given value, it is presumed from the detection result of the sensor unit 50 that the user is nearby, or it may be a combination thereof, etc. The spontaneously performed actions include not only trembling actions, breathing actions, randomly determined actions, etc., but also actions that reflect the history of communication with the user (hereinafter, referred to as history reflection actions Y1 to Y4). The methods for generating and updating the history reflection actions Y1 to Y4 will be described later. When any action ends, the CPU 11 causes the robot 1 to transition to the standby state.

[0044] Each action performed by the robot 1 is carried out according to Figure 5 the behavior pattern 9 (motion pattern) shown. The behavior pattern 9 corresponding to all the actions performed by the robot 1 is stored in the behavior setting data 132 of the storage unit 13. Each behavior pattern 9 is composed of a combination (sequence) of two or more action elements. In the present embodiment, an example is given in which the behavior pattern 9 is composed of a combination of six action elements 91 to 96. The action elements 91 to 96 are each represented by a Boolean value ("0" or "1"). Therefore, there are 2 to the 6th power, that is, 64 combinations in the behavior pattern 9.

[0045] Figure 6This is a diagram showing the details of action elements 91 to 96. Action elements 91 to 96 respectively represent a certain action of any one part of the robot 1. Action element 91 represents the vertical position of the head based on the vertical movement motor 42. When the value of action element 91 is "0", it indicates the action of lowering the head, and when the value is "1", it indicates the action of raising the head. Action element 92 represents whether the head has a pitching motion based on the vertical movement motor 42. When the value of action element 92 is "0", it indicates the action of pitching the head vertically, and when the value is "1", it indicates that there is no vertical pitching motion. Action element 93 represents whether the head has a swaying motion based on the torsion motor 41 and / or the vertical movement motor 42. When the value of action element 93 is "0", it indicates the action of swaying the head, and when the value is "1", it indicates that there is no head swaying. Action element 94 represents the speed of the head movement based on the torsion motor 41 and / or the vertical movement motor 42. When the value of action element 94 is "0", it indicates moving the head at a relatively fast movement speed, and when the value is "1", it indicates moving the head at a relatively slow movement speed. Action element 95 represents the pitch of the cry output by the sound output unit 30. When the value of action element 95 is "0", it indicates outputting a cry with a higher pitch, and when the value is "1", it indicates outputting a cry with a lower pitch. Action element 96 represents whether the cry output by the sound output unit 30 has intonation and length. When the value of action element 96 is "0", it indicates outputting a longer cry with intonation, and when the value is "1", it indicates outputting a shorter cry without intonation. Action elements 91 to 93 are equivalent to "whether a given part has a certain movement", action element 94 is equivalent to "the speed of the movement of the part", action element 95 is equivalent to "the height of the pitch of the output sound", and action element 96 is equivalent to "the length of the output sound".

[0046] In Figure 4 step S3 or step S5 of, the CPU 11 selects the behavior mode 9 of the executed action, and causes the drive unit 40 and the sound output unit 30 to act so that each part of the robot 1 performs the movement of action elements 91 to 96 according to the selected behavior mode 9. For example, when the behavior mode 9 shown in Figure 5 is selected, since action elements 91 to 96 are respectively "0", "1", "1", "1", "1", "0", the CPU 11 causes the robot 1 not to perform pitching and swaying of the head, but to perform the following actions: lowering the head at a relatively slow movement speed and outputting a longer cry with a lower pitch and intonation. In this specification, the action performed by the robot 1 according to the behavior mode 9 is referred to as "behavior".

[0047] Next, a method for generating the history-reflecting behaviors X1 to X4 and the history-reflecting behaviors Y1 to Y4 will be described. Hereinafter, a method for generating the spontaneously occurring history-reflecting behaviors Y1 to Y4 will be described.

[0048] As Figure 7 shown, at the initialization of the robot 1, the behavior patterns 9A - 9D that determine the behaviors A - D in the first period are determined and stored in the behavior setting data 132. Through these four behavior patterns 9A - 9D, the behavior pattern group g1 (action pattern group) in the first period is constituted. The behavior patterns 9A - 9D of the behaviors A - D in the first period are respectively determined such that the action elements 91 - 96 are random. The behaviors A - D respectively correspond to the history - reflecting behaviors Y1 - Y4. The initialization of the robot 1 is executed when the robot 1 starts from the factory - shipped state for the first time, or when a given initialization command is input by the user to the operation unit 20. Here, the "period" is a period in the growth process of an individual robot 1, and can also be referred to as the "growth period" of the robot 1 or the "evaluation period" of the behavior pattern of the robot 1.

[0049] Based on the communication history between the user and the robot 1 after the execution of the behaviors A - D, and based on the behavior patterns 9A - 9D of the behaviors A - D in the first period, the behavior patterns 9E - 9H of the behaviors E - H in the second period (the next period) are generated (refer to Figure 10 ). That is, Figure 4 is omitted here, but after any one of the history - reflecting behaviors Y1 - Y4 is executed in step S5, the process of generating the history - reflecting behaviors Y1 - Y4 in the next period may be entered. The behaviors E - H in the next period also respectively correspond to the history - reflecting behaviors Y1 - Y4. The behavior patterns 9A - 9D of the behaviors A - D are overwritten and updated by the behavior patterns 9E - 9H of the behaviors E - H. A part of the behavior patterns 9A - 9D of the behaviors A - D in the first period is inherited in the behavior patterns 9E - 9H of the behaviors E - H in the second period. Similarly, based on the behavior patterns 9E - 9H of the behaviors E - H in the second period, the behavior patterns 9I - 9L of the behaviors I - L in the third period are generated, and the behavior patterns 9I - 9L of the behaviors I - L are overwritten on the behavior patterns 9E - 9H of the behaviors E - H and updated. Thereafter, the update of the behavior period continues. For the behavior setting data 132, a behavior pattern group g composed of four behavior patterns 9 in each period is stored. In this way, based on the communication history between the user and the robot 1, the robot 1 learns behaviors through unsupervised learning, thereby updating the behavior period. Since a part of the behavior pattern 9 is inherited when the behavior period is updated, it can also be regarded as the gene (DNA) of a living being. In addition, the action elements 91 - 96 can also be regarded as the bases constituting the base sequence of the gene. Therefore, the behavior pattern 9 can also be referred to as a behavior gene.

[0050] Hereinafter, a method for generating the behavior patterns 9E to 9H of the behaviors E to H in the second period based on the behavior patterns 9A to 9D of the behaviors A to D in the first period will be described. When any one of the history reflection behaviors Y1 to Y4, that is, any one of the behaviors A to D in the first period, is executed in step S5 of Figure 4 the CPU 11 derives an evaluation value of the behavior pattern 9 corresponding to the executed behavior based on the detection result of the touch sensor 51 after the execution of the behavior. The evaluation value may also be referred to as a reward. In the present embodiment, the evaluation value V of the behavior is derived by the following formula (1).

[0051] V = To - Tu (1)

[0052] Here, To is a given timeout time. To is preset and stored in the storage unit 13 and may be, for example, about ten seconds to several tens of seconds. Tu is the time from when the behavior is executed until communication with the user occurs. Specifically, Tu is the elapsed time from the timing when the CPU 11 starts the action related to the behavior through the drive unit 40 and the sound output unit 30 to the timing when the detection result corresponding to the contact with the user is output through the touch sensor 51. Therefore, the shorter the time from the execution of the behavior until the user touches the robot 1, the higher the evaluation value of the behavior pattern 9 corresponding to the behavior. In addition, when the user does not touch the robot 1 after the execution of the behavior and To elapses, the evaluation value of the behavior pattern 9 corresponding to the behavior becomes 0. The derived evaluation value is stored in the evaluation value data 133. Thus, in the present embodiment, as the communication reflected in the evaluation value, the contact (touch) made by the user is used, but it is not limited thereto, and the communication may also include hugs, conversations, etc. For example, it may be determined that a hug as communication has occurred when a change of a fixed amount or more has occurred in the detection values of the acceleration sensor 52 and / or the gyro sensor 53. In addition, it may be determined that a conversation as communication has occurred when speech is detected by the microphone 55.

[0053] Whenever step S5 of Figure 4 is executed, the CPU 11 executes the behaviors A to D one by one in order based on Figure 7 the behavior setting data 132 of Figure 4 Between the behaviors A to D, other behaviors ( Figure 8As shown, it becomes a state in which the evaluation values of each behavior pattern 9 are stored in the evaluation value data 133. Here, it is assumed that the evaluation values of the behavior patterns 9A to 9D are "0", "30", "10", and "5", respectively. When the evaluation values of each behavior pattern 9 are stored, the behavior learning process for learning the behavior in the next period starts. In addition, it is also possible to execute the behaviors A to D multiple times and only execute the same number of times, and use the cumulative value of the evaluation values for each time.

[0054] Figure 9 It is a diagram for explaining a method of generating the behavior E in the second period based on the behaviors A to D in the first period. First, the CPU 11 selects two behavior patterns from the four behavior patterns 9A to 9D based on the evaluation values in the evaluation value data 133. In Figure 9 the behavior patterns 9B and 9C are selected. For example, the selection method of the behavior pattern 9 can also be a selection method in which the higher the evaluation value among the behavior patterns 9A to 9D, the higher the probability of being selected. For example, it can also be a method of selecting in order with probabilities of 50%, 30%, 15%, and 5% starting from the behavior pattern 9 with a higher evaluation value, and repeating the selection with the above probabilities until two different behavior patterns 9 are selected. In addition, it can also be a selection method of sequentially selecting two behavior patterns 9 starting from the action with a higher evaluation value among the four behavior patterns 9A to 9D. In this case, in Figure 8 the example of the evaluation values shown, the behavior patterns 9B and 9C are always selected. Or, it is also possible to select two behavior patterns 9 by means of a knockout tournament. That is, it can also be a method of dividing the four behavior patterns 9A to 9D into two groups and selecting the behavior pattern 9 with a higher evaluation value in each group.

[0055] When two behavior patterns 9B and 9C are selected as shown in the upper right of Figure 9 , the CPU 11 generates the behavior pattern 9E of the behavior E in the second period by a method of extracting at least one action element from each of the selected behavior patterns 9B and 9C and combining them. Specifically, for each action element 91 to 96, the CPU 11 extracts the action element of the behavior pattern 9 of the side selected with a probability of 50% among the two behavior patterns 9B and 9C. In Figure 9 the example shown, the action elements 91, 94, and 95 are extracted from the behavior pattern 9B of behavior B, and the action elements 92, 93, and 96 are extracted from the behavior pattern 9C of behavior C. The extracted action elements 91 to 96 are combined and merged to generate Figure 9The behavior pattern 9E of behavior E shown in the lower part. The process of generating one behavior pattern 9 in the next period based on two behavior patterns 9 in a certain period is equivalent to crossing behavior genes. In addition, instead of the method of extracting action elements from either of the two behavior patterns 9 with a 50% probability, the extraction probability from each behavior pattern 9 can also be different. For example, the probability of extracting action elements from a behavior pattern 9 with a higher evaluation value can also be increased.

[0056] By the same method as for behavior E, the behavior patterns 9F to 9H of behaviors F to H in the second period are generated. Figure 10 It is a diagram showing examples of the behavior patterns 9E to 9H that constitute the behavior pattern group g2 in the second period. Figure 7 The behavior patterns 9A to 9D of the behavior setting data 132 shown are Figure 10 overwritten and updated by the behavior patterns 9E to 9H shown. The behavior pattern 9F is generated based on the behavior patterns 9B and 9D in the first period, the behavior pattern 9G is generated based on the behavior patterns 9B and 9C, and the behavior pattern 9H is generated based on the behavior patterns 9C and 9D. Thereafter, at the timing of executing Figure 4 step S5, the behaviors Y1 to Y4 are reflected as history, and the behaviors E to H in the second period are executed. In addition, among the behavior patterns 9E to 9H in the second period, the behavior patterns 9F to 9H generated after the second one can also be generated based on the behavior patterns (such as behavior pattern 9E) generated before that, or based on the behavior patterns in the second period and the behavior patterns 9A to 9D in the first period.

[0057] By repeatedly updating the period of behavior by the above method, the characteristics of the behavior pattern 9 with a higher evaluation value, that is, the behavior pattern 9 that is likely to generate communication with the user (the behavior pattern 9 preferred by the user), are inherited, and at the same time, the behavior pattern 9 of the behavior performed by the robot 1 changes. Thus, the robot 1 can perform behavior similar to that of a living being. As the period is updated, sometimes two or more of the four behavior patterns 9 become the same behavior pattern 9. This is called the convergence of behavior or the convergence of behavior pattern 9. According to the above method of updating the period, the history-reflected behaviors Y1 to Y4 converge to the behaviors preferred by the user. It is possible to adjust the period (number of days) until the convergence of the behavior pattern 9 by changing the number of action elements included in one behavior pattern 9 and / or the number of behavior patterns 9 included in the behavior pattern group g in one period. The more the number of action elements included in the behavior pattern 9, the more the behavior patterns increase, and the longer the period until convergence. In addition, the more the number of behavior patterns 9 included in the behavior pattern group g in one period, the more the behavior patterns increase, and the longer the period until convergence. As Figure 4As described, since the robot 1 also performs actions other than the historical reflection actions X1 to X4 and Y1 to Y4, the total number of actions performed by the robot 1 will not decrease significantly after the behavior pattern 9 converges. In addition, when there is little communication between the robot 1 and the user, it is difficult to generate a situation where the evaluation values of some of the behavior patterns 9 are relatively high, so the behavior pattern 9 is difficult to converge. In other words, it maintains the unused state or a state close thereto.

[0058] When the actions corresponding to the four behavior patterns 9 in a certain period are all actions that the user does not like, etc., the evaluation values of the four behavior patterns 9 may all become low. When updating the period from this state, it may converge to a behavior pattern 9 that the user does not like. Therefore, in the present embodiment, when the total value of the evaluation values of the behavior patterns 9 in a certain period is equal to or less than the reference value, as Figure 11 shown, the values of the action elements 91 to 96 of at least one behavior pattern 9 that constitutes the generated behavior pattern group g of the next period are reversed. In the Figure 11 shown example, the action elements 91 to 96 of behavior E are reversed from "0, 1, 0, 1, 1, 0" to "1, 0, 1, 0, 0, 1". This process can be regarded as a mutation of a living being. Through this mutation, it is possible to prevent the learning of the behavior pattern 9 from converging in a state with a low evaluation value. The above reference value can also be set, for example, to be less than 10% of the maximum value that the total evaluation value can take. In addition, the reference value can also be set to "0", and a mutation occurs when the evaluation value of the behavior pattern 9 is "0".

[0059] Above, the method for generating and updating the historical reflection actions Y1 to Y4 has been described, but the historical reflection actions X1 to X4 executed according to an external action can also be generated and updated by the same method. The historical reflection actions X1 to X4 and the historical reflection actions Y1 to Y4 are generated and updated separately and independently. For this reason, for the behavior setting data 132, the behavior pattern group gx of the historical reflection actions X1 to X4 and the behavior pattern group gy of the historical reflection actions Y1 to Y4 are stored separately. In addition, for the evaluation value data 133, the evaluation values of the behavior pattern 9 of the historical reflection actions X1 to X4 and the evaluation values of the behavior pattern 9 of the historical reflection actions Y1 to Y4 are stored separately.

[0060] Next, a behavior execution process executed by the CPU 11 to implement the above actions will be described. Figure 12 is a flowchart showing the control sequence of the behavior execution process. The behavior execution process starts when the power of the robot 1 is turned on.

[0061] When the behavior execution process starts, the CPU 11 determines whether the robot 1 is starting up for the first time after leaving the factory (step S101). If it is determined that it is the first startup (Yes in step S101), the CPU 11 initializes each behavior pattern 9 of the behavior pattern group g stored in the behavior setting data 132. That is, the CPU 11 sets the action elements 91 to 96 of each behavior pattern 9 to random values. The CPU 11 substitutes "1" into the variable N representing the number of periods of the behavior (step S103).

[0062] When step S103 ends, or when it is determined in step S101 that it is not the first startup (No in step S101), the CPU 11 repeatedly determines whether it is the timing to execute the behavior (step S104). If it is determined that it is the timing to execute the behavior (Yes in step S104), the CPU 11 selects one behavior and makes the robot 1 execute that behavior (step S105). Specifically, the CPU 11 selects the behavior pattern 9 of one behavior from the behavior setting data 132, and makes the drive unit 40 and the sound output unit 30 act according to the action elements 91 to 96 of the selected behavior pattern 9, thereby making the robot 1 perform the behavior. The case where the branch is "Yes" in step S104 corresponds to the case where the branch is "Yes" in step S2 or step S4 in Figure 4 In addition, step S105 corresponds to Figure 4 step S3 or step S5 in

[0063] After executing the behavior, the CPU 11 determines whether communication between the user and the robot 1 has occurred before the timeout period To has elapsed (step S106). Here, the CPU 11 determines that communication has occurred when contact is detected by the touch sensor 51. If it is determined that communication has occurred before the timeout period To has elapsed (Yes in step S106), the CPU 11 derives an evaluation value corresponding to the elapsed time from the start of executing the behavior to the occurrence of communication according to the above formula (1), and records it in the evaluation value data 133 (step S107). If it is determined that communication has not occurred during the timeout period To (No in step S106), the CPU 11 records the evaluation value "0" in the evaluation value data 133 (step S108). When step S107 or step S108 ends, the CPU 11 determines whether evaluation values are recorded for all behavior patterns 9 in the Nth period (step S109). If the CPU 11 determines that no evaluation value is recorded for any behavior pattern 9 (No in step S109), the process returns to step S104. If it is determined that evaluation values are recorded for all behavior patterns 9 (Yes in step S109), the behavior learning process is executed (step S110).

[0064] Figure 13 It is a flowchart showing the control sequence of behavior learning processing. When the behavior learning processing is called, the CPU 11 substitutes "1" into the variable n which represents the ordinal number of the behavior pattern 9 that constitutes the behavior pattern group g of one period (step S201). The CPU 11 selects two behavior patterns 9 from the behavior pattern group gN of the Nth period based on the evaluation value (step S202). The CPU 11 substitutes "1" into the variable m which represents the ordinal number of the action elements 91 to 96 in the behavior pattern 9 (step S203). For the mth action element, the CPU 11 extracts the action element of the behavior pattern 9 determined with a 50% probability from among the two behavior patterns 9 selected in step S202 (step S204). The CPU 11 determines whether the variable m is the maximum number of action elements, that is, "6" (step S205). When it is determined that the variable m is 5 or less (in step S205, "no"), the CPU 11 substitutes "m + 1" into the variable m (step S206) and returns the process to step S203.

[0065] When it is determined that the variable m is 6 (in step S206, "yes"), the CPU 11 combines the six action elements extracted in the loop process of steps S203 to S206 to generate the nth behavior pattern 9 (step S207). The CPU 11 determines whether the variable n is the maximum number of behavior patterns 9 in one period, that is, "4" (step S208). When it is determined that the variable n is 3 or less (in step S208, "no"), the CPU 11 substitutes "n + 1" into the variable n (step S209) and returns the process to step S202. When it is determined that the variable n is 4 (in step S208, "yes"), the CPU 11 overwrites and updates the four behavior patterns 9 generated in the loop process of steps S202 to S209 on the existing behavior patterns 9 of the behavior setting data 132 (step S210).

[0066] The CPU 11 determines whether the total value of the evaluation values in the evaluation value data 133 is below the reference value (step S211). When it is determined that the total value of the evaluation values is below the reference value (in step S211, "yes"), the CPU 11 randomly selects one behavior pattern 9 and, as Figure 11 shown, reverses the action elements 91 to 96 and updates the behavior setting data 132 to become the reversed content (step S212). When step S212 ends, or when it is determined that the total value of the evaluation values is greater than the reference value (in step S211, "no"), the CPU 11 ends the behavior learning processing and returns the process to the behavior execution processing.

[0067] When Figure 12When the behavior learning process in step S110 ends, the CPU 11 substitutes "N + 1" for the variable N (step S111). The CPU 11 determines whether an operation to turn off the power of the robot 1 has been performed (step S112). When the CPU 11 determines that the operation has not been performed (No in step S112), the process returns to step S104, and when the CPU 11 determines that the operation has been performed (Yes in step S112), the behavior execution process ends. In addition, when a given initialization command is issued by the user during the behavior execution process, the process can also be transferred to step S102.

[0068] As described above, the robot control device 10 according to the present embodiment includes a CPU 11 that causes the robot 1 to perform behaviors in accordance with a plurality of behavior patterns 9 constituted by combinations of action elements 91 to 96 in response to the effects detected by the sensor unit 50. The CPU 11 derives evaluation values for each of the plurality of behavior patterns 9 and combines the plurality of action elements 91 to 96 constituting each of the plurality of behavior patterns 9 based on the evaluation values, thereby generating a new behavior pattern 9. As a result, the behaviors performed by the robot 1 can be changed, and the robot 1 can perform behaviors similar to those of a living being. In addition, since the characteristics of the behavior pattern 9 with a higher evaluation value corresponding to the communication between the user and the robot 1 are inherited into the behavior in the next period, the robot 1 can be made to appear to learn the communication situation with the user and change its behavior. Therefore, it is possible to represent an AI pet that grows according to the communication with the user. In addition, since the behaviors that converge through the period update are different for each user, the robot 1 can grow into a robot with a different personality for each user.

[0069] In addition, the CPU 11 derives evaluation values for each of the plurality of behavior patterns 9 based on the detection results of the sensor unit 50 after performing the behaviors according to the plurality of behavior patterns 9. As a result, it is possible to appropriately derive the evaluation of each behavior pattern 9 based on the presence or absence of an effect from the user or the like.

[0070] In addition, the CPU 11 selects at least two behavior patterns 9 from the plurality of behavior patterns 9 such that the behavior pattern 9 with a higher evaluation value among the plurality of behavior patterns 9 is selected with a higher probability, and combines the plurality of action elements 91 to 96 constituting each of the two selected behavior patterns 9, thereby generating a new behavior pattern 9. As a result, the action elements of the behavior pattern 9 with a higher evaluation value are likely to be inherited into the behavior pattern 9 in the next period. Therefore, the robot 1 can be made to learn to perform behaviors preferred by the user.

[0071] In addition, the CPU 11 can also select at least two behaviors in order starting from the behavior pattern 9 with a higher evaluation value among the multiple behavior patterns 9, and combine the multiple action elements 91 to 96 that make up each of the selected two behavior patterns 9, thereby generating a new behavior pattern 9. Thus, the action elements of the behavior pattern 9 with a higher evaluation value are more likely to be inherited into the behavior pattern 9 in the next period.

[0072] In addition, the CPU 11 selects two behavior patterns 9 from the multiple behavior patterns 9 based on the evaluation value, and combines the action elements of the behavior pattern 9 selected with a given probability from among the two behavior patterns 9 for each action element, thereby generating a new behavior pattern 9. Thus, it is possible to generate a behavior that is moderately different from the current period's behavior through simple processing.

[0073] In addition, each of the action elements 91 to 96 that make up the behavior pattern 9 is represented by a Boolean value. Thus, it is possible to determine the action element through a simple process of selecting any one of the values in the Boolean value. Therefore, the load on the CPU 11 for performing the learning process of the behavior can be reduced.

[0074] In addition, the CPU 11 combines the multiple action elements 91 to 96 that make up each of the multiple behavior patterns 9 based on the evaluation value, thereby generating multiple new behavior patterns 9. When the total value of the evaluation values of the multiple behavior patterns 9 is below the reference value, the values of the action elements 91 to 96 of at least one of the generated multiple new behavior patterns 9 are inverted. Thus, it is possible to prevent the learning of the behavior pattern 9 from converging in a state with a low evaluation value. Therefore, in a situation where there is less communication with the user, etc., it is possible to prevent the learning of the behavior pattern 9 from converging.

[0075] In addition, based on the detection result of the sensor unit 50, the CPU 11 detects that the user has made contact with the robot 1, and derives an evaluation value such that the shorter the time from when the robot 1 performs the behavior until the sensor unit 50 detects the contact, the greater the evaluation value of the behavior pattern 9 corresponding to the behavior. Thus, it is possible to inherit the characteristics of the behavior that is likely to bring about communication with the user into the behavior in the next period.

[0076] In addition, two or more of the action elements 91 to 96 that make up the behavior pattern 9 include at least one of whether a given part of the robot 1 has a certain movement, the speed of movement of the part, the pitch of the output sound, and the length of the output sound. Thus, it is possible to make the robot 1 perform behaviors with different movements of the part and different output sounds through a simple method of making the combination of the action elements 91 to 96 different.

[0077] In addition, the robot 1 according to this embodiment includes a robot control device 10 and a sensor unit 50. Thereby, a robot 1 that performs behavior similar to that of a living being can be realized.

[0078] In addition, in the control method of the robot 1 according to this embodiment, evaluation values of the respective multiple behavior patterns 9 are derived, and based on the evaluation values, multiple action elements constituting each of the multiple behavior patterns 9 are combined, thereby generating a new behavior pattern 9. Thereby, the robot 1 can be made to perform behavior similar to that of a living being.

[0079] In addition, the program 131 according to this embodiment causes the CPU 11 of the robot control device 10 to function as a control unit. The control unit derives evaluation values of the respective multiple behavior patterns 9, and based on the evaluation values, multiple action elements constituting each of the multiple behavior patterns 9 are combined, thereby generating a new behavior pattern 9. Thereby, the robot 1 can be made to perform behavior similar to that of a living being.

[0080] In addition, the present disclosure is not limited to the above-described embodiment, and various modifications can be made. For example, the content of the behavior pattern 9 as an action pattern is not limited to the content exemplified in the above-described embodiment. For example, the number of action elements constituting the behavior pattern 9 is not limited to 6, and can be any number of 2 or more. In addition, the content of each action element can be appropriately changed according to the structure of the robot 1. For example, when the robot 1 is provided with hands and feet, action elements indicating the movement of the hands and the movement of the feet can also be provided. In addition, when the robot 1 is provided with a light-emitting unit and a display, action elements indicating the light-emitting mode of the light-emitting unit and the display content of the display can also be provided.

[0081] In addition, the number (n) of behaviors in one period is not limited to 4, and can be any number of 2 or more. In addition, the behavior pattern 9 of the next period is generated based on two behavior patterns 9 in a certain period, but this method can be replaced by generating the behavior pattern 9 of the next period based on three or more and less than n behavior patterns 9 in a certain period.

[0082] In addition, in the above-described embodiment, the shorter the time from the execution of the behavior to the user's contact with the robot 1, the higher the evaluation value of the behavior. However, the method of deriving the evaluation value is not limited to this. For example, it may be a method of deriving that the longer the cumulative time of the user's contact with the robot 1 within a given period after the execution of the behavior, the higher the evaluation value of the behavior. Alternatively, the evaluation value may be derived based on the timing, length, and volume of the user's conversation with the robot 1 within a given period after the execution of the behavior. In addition, two or more of these derivation methods may be combined. Further, the cumulative value, average value, median value (e.g., the number of touches, the cumulative value, average value, median value of various actions from the user) of the actions from the user within a given period may be used as the evaluation value.

[0083] In addition, in the above-described embodiment, when the total value of the evaluation values of the behaviors in a certain period is equal to or less than the reference value, at least one behavior pattern 9 in the next period is reversed. However, it is also possible to reverse at least one behavior pattern 9 in the next period at a given timing without relying on the total value of the evaluation values. Thereby, it is possible to prevent the user from getting bored or to respond to changes in the user's preferences.

[0084] In addition, the action elements are not limited to Boolean values and can also take three or more different values.

[0085] In addition, the structure of the robot 1 is not limited to Figures 1 to 3 the content exemplified in. For example, it may be a robot that mimics an actual living creature such as a human, animal, bird, fish, a robot that mimics a creature that does not exist today such as a dinosaur, or a robot that mimics a fictional creature.

[0086] In addition, in the above-described embodiment, an example in which the robot control device 10 that controls the robot 1 is provided inside the robot 1 has been described. However, it is not limited to this, and the robot 1 may also be controlled by a robot control device provided outside the robot 1 to perform actions. The external robot control device may be, for example, a smartphone, a tablet terminal, or a notebook PC. In this case, the robot 1 performs actions according to the control signal received from the external robot control device via the communication unit 60. The external robot control device executes the functions performed by the robot control device 10 in the above-described embodiment.

[0087] In addition, in the above description, an example is disclosed in which the flash memory of the storage unit 13 is used as a computer-readable medium for the program related to the present disclosure, but it is not limited to this example. Other computer-readable media such as HDD (Hard Disk Drive), SSD (Solid State Drive), and CD-ROM can be used as information recording media. In addition, a carrier wave is also applied to the present disclosure as a medium for providing the data of the program related to the present disclosure via a communication line.

[0088] In addition, the detailed structures and detailed operations of the respective structural elements of the robot 1 in the above-described embodiment can of course be appropriately changed without departing from the gist of the present disclosure.

[0089] The embodiments of the present disclosure have been described, but the scope of the present disclosure is not limited to the above-described embodiments, and includes the scope of the invention described in the claims and equivalent scopes thereof.

Claims

1. A robot control device comprising: one or more processing units for causing the robot to perform actions in accordance with a plurality of action patterns each consisting of a combination of two or more action elements in response to an action detected by a sensor for detecting an action from the outside, The one or more processing units perform the following processing: deriving evaluation values ​​for each of the plurality of action modes, Based on the evaluation value, a plurality of motion elements constituting each of the plurality of motion patterns are combined to generate a new motion pattern.

2. The robot control device according to claim 1, wherein: The processing unit derives an evaluation value for each of the plurality of operation modes based on a detection result of the sensor after the operation according to the plurality of operation modes is performed.

3. The robot control device according to claim 1, wherein: The processing unit performs the following processing: selecting at least two action modes from the plurality of action modes so that an action mode with a higher evaluation value among the plurality of action modes is selected with a higher probability, The new operation pattern is generated by combining a plurality of operation elements constituting each of the two selected operation patterns.

4. The robot control device according to claim 1, wherein: The processing unit performs the following processing: At least two action modes are selected in order from the action mode with the higher evaluation value among the plurality of action modes, The new operation pattern is generated by combining a plurality of operation elements constituting each of the two selected operation patterns.

5. The robot control device according to claim 1, wherein: The processing unit selects two motion patterns from the plurality of motion patterns based on the evaluation value, and generates the new motion pattern by combining motion elements of one motion pattern selected with a given probability for each of the motion elements.

6. The robot control device according to claim 1, wherein: Each action element constituting the action mode is represented by a Boolean value.

7. The robot control device according to claim 6, wherein: The processing unit performs the following processing: Based on the evaluation value, a plurality of motion elements constituting each of the plurality of motion patterns are combined to thereby generate a plurality of the new motion patterns, When the total value of the evaluation values ​​of the plurality of operation modes is equal to or less than a reference value, the values ​​of each operation element of at least one operation mode among the plurality of new operation modes are inverted.

8. The robot control device according to claim 1, wherein: The processing unit performs the following processing: Based on the detection result of the sensor, it is detected that the user has come into contact with the robot, The evaluation value is derived such that the shorter the time from when the robot performs the action to when the sensor detects the contact, the larger the evaluation value of the action pattern corresponding to the action.

9. The robot control device according to claim 1, wherein: The two or more action elements constituting the action pattern include at least one of whether a given part moves, how fast the part moves, the pitch of an output sound, and the length of the output sound.

10. A robot comprising: The robot control device according to any one of claims 1 to 9; and The sensor.

11. A method for controlling a robot, the robot comprising a sensor for detecting an external action, In the robot control method, causing the robot to perform actions in accordance with a plurality of action patterns each consisting of a combination of two or more action elements in response to the action detected by the sensor, deriving evaluation values ​​for each of the plurality of action modes, Based on the evaluation value, a plurality of motion elements constituting each of the plurality of motion patterns are combined to generate a new motion pattern.

12. A computer program product that causes a computer of a robot control device that controls a robot having a sensor for detecting an external action to execute the following processing: causing the robot to perform actions in accordance with a plurality of action patterns each consisting of a combination of two or more action elements in response to the action detected by the sensor, deriving evaluation values ​​for each of the plurality of action modes, Based on the evaluation value, a plurality of motion elements constituting each of the plurality of motion patterns are combined to generate a new motion pattern.

Citation Information

Patent Citations

  • Robot control device, robot control method, and program

    JP2014069257A