Information processing device, robot, information processing method and program

A simplified robot system predicts external actions using sensor data and logistic regression, overcoming complexity issues of camera-based systems by associating sensor data with action presence, enhancing user interaction.

JP2025099685APending Publication Date: 2025-07-03CASIO COMPUTER CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023216540
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-12-22
Publication Date
2025-07-03

AI Technical Summary

Technical Problem

Conventional robot systems that rely on cameras and image processing for predicting external actions become complex and struggle with accurately determining the presence or absence of such actions due to the limitations of one-sided image cuts.

Method used

An information processing apparatus that stores correspondence information associating sensor detection results with the presence or absence of external actions, using a simple configuration without cameras, and predicts future actions based on past data using logistic regression analysis.

Benefits of technology

Enables accurate prediction of external actions on a robot with a simplified design, allowing it to perform gestures at optimal times to engage users effectively.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025099685000001_ABST
    Figure 2025099685000001_ABST
Patent Text Reader

Abstract

To predict the existence / nonexistence of action from the outside to a robot by using a robot with a simple configuration.SOLUTION: An information processing device is provided with a processing part for storing correspondence information obtained by associating a detection result at a certain time point of a sensor belonging to a robot to detect at least one action from a user with the existence / nonexistence of prescribed action received from the robot within a prescribed period including the certain time point in a storage part, and predicting action received from the user by the robot at a specific time point after a plurality of time points on the basis of a plurality of pieces of correspondence information corresponding to a plurality of different time points stored in the storage part.SELECTED DRAWING: Figure 13
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an information processing apparatus, a robot, an information processing method, and a program.

Background Art

[0002] Conventionally, there has been a technique of mounting a camera on a robot and causing the robot to perform an operation according to the surrounding situation such as the position of a user based on an image obtained by photographing the surroundings with the camera (for example, Patent Document 1).

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] However, when applying the above-described conventional technology to a robot, the configuration becomes complicated due to a camera, an image processing circuit, and the like. Further, since a photographed image by the camera is merely a one-sided cutout of the surrounding situation of the robot, there is a problem that it is difficult to accurately predict the presence or absence of an external action.

[0005] An object of the present invention is to predict the presence or absence of an external action on a robot using a robot having a simple configuration.

Means for Solving the Problems

[0006] To solve the above problems, an information processing apparatus according to the present invention causes a storage unit to store correspondence information in which a detection result at a certain point in time of a sensor for detecting at least one action from a user that a robot has is associated with the presence or absence of a predetermined action received by the robot from the outside within a predetermined period including the certain point in time. Predicting the actions that the robot will receive from the user at a specific time after the plurality of time points based on the plurality of pieces of correspondence information corresponding to the plurality of different time points stored in the memory unit. It includes a processing unit.

Effect of the Invention

[0007] According to the present invention, it is possible to predict the presence or absence of an external action on the robot using a robot with a simple configuration.

Brief Description of the Drawings

[0008]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Figure 14

Figure 15

Embodiments for Carrying Out the Invention

[0009] Hereinafter, embodiments of the present invention will be described with reference to the drawings.

[0010] FIG. 1 is a diagram showing the appearance of the robot 1. The robot 1 includes a main body 100 and an exterior 200 that covers the main body 100. The robot 1 is a pet robot that mimics a small living creature. The robot 1 can perform a plurality of different mannerisms (actions). The mannerisms include mannerisms such as moving the neck and making a sound. The exterior 200 deforms following the movement of the main body 100. The exterior 200 has fur formed of a pile fabric, decorative members that mimic eyes, and the like.

[0011] FIG. 2 is a schematic diagram showing the configuration of the main body 100 of the robot 1. The main body 100 includes a head 101, a body portion 103, and a connecting portion 102 that connects the head 101 and the body portion 103. In this specification, the portion corresponding to the head 101 of the robot 1 is referred to as the "neck". The main body 100 has a drive unit 40 for moving the head 101 relative to the body portion 103. The drive unit 40 includes 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 predetermined angular range about a first rotation axis 401 extending in the extending direction of the connecting portion 102. By the operation of the torsion motor 41, the movement of the robot 1 twisting its neck is realized. The vertical movement motor 42 is a servo motor that rotates the head 101 within a predetermined angular range about a second rotation axis 402 perpendicular to the first rotation axis 401. By the vertical movement motor 42, the movement of the robot 1 moving its neck up and down is realized. The direction of the vertical movement of the neck can also be a direction inclined with respect to the vertical direction depending on the angle of the neck twist by the torsion motor 41. By finely and periodically operating the torsion motor 41 and / or the vertical movement motor 42, the movement of the robot 1 swaying or trembling its neck is realized. By appropriately changing and combining the timing, magnitude, and speed of the operations of the torsion motor 41 and the vertical movement motor 42, various gestures can be made by the robot 1.

[0012] The main body 100 includes 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 sensor 51 is provided on the upper parts of the head 101 and the body portion 103, respectively. The illuminance sensor 54, the microphone 55, and the sound output unit 30 are provided on the upper part of the body portion 103. The acceleration sensor 52 and the gyro sensor 53 are provided on the lower part of the body portion 103.

[0013] FIG. 3 is a block diagram showing the functional configuration of the robot 1. Each functional configuration shown in FIG. 3 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 (sensor), 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 (information processing device) that controls the operation of the robot 1.

[0014] The CPU 11 is a processor (processing unit, processing means) that reads and executes the program 131 stored in the storage unit 13 and performs various arithmetic processes to control the operation of the robot 1. Note that the robot 1 may have a plurality of processors (for example, a plurality of CPUs), and a plurality of processes executed by the CPU 11 in the present embodiment may be executed by the plurality of processors. In this case, the processing unit is constituted by the plurality of processors. In this case, the plurality of processors may be involved in common processing, or the plurality of processors may independently execute different processes in parallel.

[0015] The RAM 12 provides a working memory space for the CPU 11 and stores temporary data. Status data 121 representing the status of the robot is stored in the RAM 12. The status data 121 is rewritten and referred to in the robot control process described later. The status represented by the status data 121 is any one of three states: "idle state", "gesture result waiting state", and "learning state". Among these, the idle state is a state of waiting for an external action or determining whether to perform a spontaneous gesture based on the analysis result of the surrounding situation.

[0016] The storage unit 13 is a non - temporary recording medium readable by the CPU 11 as a computer, and stores the program 131 and various data. The storage unit 13 includes a non - volatile memory such as a flash memory, for example. The program 131 is stored in the storage unit 13 in the form of program code readable by a computer. The data stored in the storage unit 13 includes gesture setting data 132 (operation setting information) referred to during the execution of gestures, situation data 133, regression formula data 134, and the like.

[0017] The operation unit 20 includes operation buttons and operation knobs for turning the power on and off, adjusting the volume of the output sound by the sound output unit 30, and the like. The operation unit 20 outputs operation information corresponding to an input operation on the operation buttons, operation knobs, etc. to the CPU 11.

[0018] The sound output unit 30 includes a speaker and outputs sound with a pitch (height), length, and volume corresponding to a control signal and sound data transmitted from the CPU 11. The sound may be a sound imitating the cry of a living creature.

[0019] The drive unit 40 operates the above - mentioned torsion motor 41 and vertical movement motor 42 according to a control signal transmitted from the CPU 11.

[0020] The sensor unit 50 includes the above - mentioned touch sensor 51, acceleration sensor 52, gyro sensor 53, illuminance sensor 54, and microphone 55, and outputs the detection results by each sensor and the microphone 55 to the CPU 11. The touch sensor 51 detects that a user or another 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 or not contact has occurred between the robot 1 and the user based on the detection result transmitted from the touch sensor 51. The acceleration sensor 52 detects the acceleration in each of the three orthogonal axial directions. The gyro sensor 53 detects the angular velocity around each of the three orthogonal axial 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.

[0021] 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 predetermined communication standard.

[0022] The power supply unit 70 includes a battery 71 and a remaining amount detection unit 72. The battery 71 supplies power to each part of the robot 1. The battery 71 of the present 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 battery amount of the battery 71 according to a control signal transmitted from the CPU 11 and outputs the detection result to the CPU 11. The remaining amount detection unit 72 can also be regarded as a sensor for detecting the remaining battery amount of the battery 71. Therefore, the remaining amount detection unit 72 constitutes a "sensor".

[0023] Next, the operation of the robot 1 will be described. FIG. 4 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 is stationary without performing any gestures.

[0024] When a predetermined 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 gestures at a timing that appears to respond to the action (step S3 or S4). In the present embodiment, the external action is assumed to be a touch, a hug, a conversation, etc. by the user. The touch is detected by the touch sensor 51, the hug is detected by at least one of the touch sensor 51, the acceleration sensor 52, and the gyro sensor 53, and the conversation is detected by the microphone 55. The gestures performed in response to the external action include gestures according to internal parameters such as the emotions, personality, and sleepiness of the robot 1 (step S3), as well as gestures reflecting the touch history with the user (hereinafter referred to as history-reflecting gestures X1 to X4) (step S4). The internal parameters are stored in the storage unit 13 and are updated at any time according to the environment of the robot 1 and external actions, etc.

[0025] Each gesture performed by the robot 1 is carried out according to the gesture pattern PT (operation pattern) registered in the gesture setting data 132 shown in FIG. 5. The gesture setting data 132 stores gesture patterns PT corresponding to all the gestures performed by the robot 1. Each gesture pattern PT consists of a combination (array) of two or more operation elements. In the present embodiment, a case where the gesture pattern PT consists of a combination of six operation elements E1 to E6 will be described as an example. The operation elements E1 to E6 are each represented by a Boolean value ("0" or "1"). Therefore, there are 2 to the power of 6, that is, 64 combinations in the gesture pattern PT.

[0026] FIG. 6 is a diagram showing the contents of the operation elements E1 to E6. The operation elements E1 to E6 each represent an operation of a certain part of the robot 1. The operation element E1 represents the vertical position of the head by the vertical movement motor 42. When the value of the operation element E1 is "0", it represents performing an operation of lowering the head, and when the value is "1", it represents performing an operation of raising the head. The operation element E2 represents the presence or absence of vertical shaking of the head by the vertical movement motor 42. When the value of the operation element E2 is "0", it represents performing an operation of shaking the head vertically, and when the value is "1", it represents not performing an operation of shaking the head vertically. The operation element E3 represents the presence or absence of swinging of the head by the twisting motor 41 and / or the vertical movement motor 42. When the value of the operation element E3 is "0", it represents performing an operation of swinging the head, and when the value is "1", it represents not performing an operation of swinging the head. The operation element E4 represents the speed of the motion of the head by the twisting motor 41 and / or the vertical movement motor 42. When the value of the operation element E4 is "0", it represents moving the head at a fast motion speed, and when the value is "1", it represents moving the head at a slow motion speed. The operation element E5 represents the pitch of the chirping sound output by the sound output unit 30. When the value of the operation element E5 is "0", it represents outputting a chirping sound with a high pitch, and when the value is "1", it represents outputting a chirping sound with a low pitch. The operation element E6 represents the presence or absence and length of the intonation of the chirping sound output by the sound output unit 30. When the value of the operation element E6 is "0", it represents outputting a chirping sound with intonation and a long length, and when the value is "1", it represents outputting a chirping sound without intonation and a short length.

[0027] In step S3 or S4 of FIG. 4, the CPU 11 selects the movement pattern PT of the operation to be executed, and operates the drive unit 40 and the sound output unit 30 so that each part of the robot 1 makes movements according to the operation elements E1 to E6 of the selected movement pattern PT. For example, when the movement pattern PT with the movement ID "A001" shown in FIG. 5 is selected, since the operation elements E1 to E6 are "0", "1", "1", "1", "1", "0" respectively, the CPU 11 causes the robot 1 to lower its head at a slow motion speed without making vertical shaking and swinging movements of the head, and output a long cry with a low pitch and cadence. In this specification, the operation performed by the robot 1 according to the movement pattern PT is referred to as "movement".

[0028] When the movement in step S3 of FIG. 4 is completed, the CPU 11 transitions the robot 1 to the standby state. On the other hand, when any one of the history reflection movements X1 to X4 (hereinafter referred to as the history reflection movement X) is completed in step S4, the CPU 11 executes the movement learning process (step S5).

[0029] FIG. 7 is a flowchart showing the control procedure of the gesture learning process. When the gesture learning process is called, the CPU 11 determines whether or not there has been contact between the user and the robot 1 after the start of the history-reflecting gesture X until a predetermined timeout time (predetermined time) has elapsed, that is, whether or not an action has been received from the user (step S11). Here, the CPU 11 determines that an action has been received from the user when contact is detected by the touch sensor 51, when hugging is detected by the acceleration sensor 52 and / or the gyro sensor 53, or when a voice call from the user is detected by the microphone 55. The timeout time is set in advance and stored in the storage unit 13, and may be, for example, about ten seconds to several tens of seconds. When it is determined that contact with the user has occurred before the timeout time ( "YES" in step S11), the CPU 11 derives an evaluation value for the executed history-reflecting gesture X by a predetermined method and records it in the storage unit 13 (step S12). For example, the evaluation value may be derived so that the shorter the time from the execution of the history-reflecting gesture X until contact occurs, the higher the evaluation value. When it is determined that contact with the user has not occurred before the timeout time ( "NO" in step S11), the CPU 11 ends the gesture learning process without recording the evaluation value for the executed history-reflecting gesture X (or by recording the evaluation value "0").

[0030] When the evaluation value is recorded in step S12, the CPU 11 determines whether it is the gesture learning timing (step S13). For example, the CPU 11 may determine that it is the gesture learning timing when the evaluation value has been recorded one or more times for all of the history-reflecting gestures X1 to X4. When it is determined that it is the gesture learning timing ( "YES" in step S13), the CPU 11 adjusts (changes) the contents of the history-reflecting gestures X1 to X4 based on the recorded evaluation value, and updates the gesture setting data 132 to the adjusted contents (step S14). Here, the CPU 11 performs a process of changing at least a part of the operation elements E1 to E6 for each of the history-reflecting gestures X1 to X4. For example, the CPU 11 may generate new four history-reflecting gestures X1 to X4 by randomly extracting and combining the operation elements of the two gestures with high evaluation values among the history-reflecting gestures X1 to X4. By the change process in step S14, the robot 1 learns the new history-reflecting gestures X1 to X4. By repeating this learning, the history-reflecting gestures X1 to X4 can be converged to gestures according to the user's preference. When step S14 ends, or when it is determined that it is not the gesture learning timing ( "NO" in step S13), the CPU 11 ends the gesture learning process and transitions the robot 1 to the standby state in FIG. 4 (step S1).

[0031] In the standby state of FIG. 4 (step S1), when no predetermined external action is detected and a predetermined gesture execution condition is satisfied (i.e., “YES” in step S6), the CPU 11 causes the robot 1 to perform one of a plurality of gestures predetermined as spontaneous gestures (steps S7 or S8). The gesture execution condition will be described later. The spontaneous gestures include tremor gestures, breathing gestures, randomly determined gestures, etc. (step S7), and gestures reflecting the contact history with the user (hereinafter referred to as history-reflecting gestures Y1 to Y4) (step S8). When the gesture in step S7 ends, the CPU 11 transitions the robot 1 to the standby state. When any of the history-reflecting gestures Y1 to Y4 ends in step S8, the CPU 11 executes the gesture learning process shown in FIG. 7 (step S9). The content of the gesture learning process executed here is obtained by replacing “history-reflecting gestures X1 to X4” with “history-reflecting gestures Y1 to Y4” and “history-reflecting gesture X” with “history-reflecting gesture Y” in the description of FIG. 7. When the gesture learning process ends, the CPU 11 transitions the robot 1 to the standby state (step S1).

[0032] As shown in steps S6 to S8, the robot 1 of this embodiment spontaneously executes gestures even when there is no external action. However, if the history-reflecting gestures Y1 to Y4 are executed when there is no user nearby, no contact with the user (action received from the user) corresponding to the gesture will occur, so the evaluation value derived in step S12 of the gesture learning process will be 0. As a result, the learning efficiency of the gesture will be low. Since the robot 1 is not equipped with a camera or a human sensor, it is impossible to identify whether a user is nearby or whether the user is directing their attention to the robot 1 using a camera or a human sensor.

[0033] Therefore, the robot 1 of this embodiment repeatedly derives the probability of receiving an action from the user in a predetermined method, and performs spontaneous actions at the timing when the derived probability becomes equal to or higher than a predetermined threshold. That is, when the derived probability is equal to or higher than the threshold, the CPU 11 determines that the action execution condition in step S6 of FIG. 4 is satisfied, and executes the action in step S7 or S8. A high derived probability indicates a high probability that the user is near the robot 1 and is directing their attention to the robot 1. Therefore, according to the method of this embodiment, in a situation where an action from the user can be appropriately received, the history-reflecting actions Y1 to Y4 can be executed.

[0034] To derive the probability of receiving an action from the user, the CPU 11 generates the situation data 133 shown in FIG. 8. The situation data 133 includes a plurality of correspondence information Is corresponding to different points in time. The correspondence information Is is information in which the sensor data Ds and the action data Da are associated. The sensor data Ds includes data of the detection results by each sensor (touch sensor 51, acceleration sensor 52, gyro sensor 53, illuminance sensor 54, and microphone 55) of the sensor unit 50 at a certain point in time, and data of the battery remaining amount detected by the remaining amount detection unit 72. Further, the action data Da is data indicating the presence or absence of a predetermined action received by the robot 1 from the outside (user) within a predetermined period including the point in time (a certain point in time) when the sensor data Ds is detected. The action data Da is set to "1" when the robot 1 receives an action, and is set to "0" when the robot 1 does not receive an action. The action data Da corresponds to the reward in the unsupervised learning performed by the robot 1.

[0035] The CPU 11 generates and stores the situation data 133 by repeatedly executing, at a plurality of time points, a process of associating the sensor data Ds with the action data Da to generate the association information Is. For example, when the CPU 11 determines that the robot 1 has received a predetermined action from the user, the CPU 11 generates the association information Is associating the sensor data Ds at a certain time point corresponding to the time when the action was received with the reward "1" as the action data Da, and records the association information Is in the situation data 133. The time when the action was received and the time when the sensor data Ds was generated do not necessarily have to match. For example, as shown in FIG. 9, the association information Is may be generated by associating the sensor data Ds at a certain time point t1 with the action data Da (reward "1") indicating the presence or absence of an action received by the robot 1 from the outside at a time point t2 within a predetermined period T1 including the time point t1. The predetermined period T1 may include a period before the time point t1 and may also include a period after the time point t2. In FIG. 9, the time point t1 is a time point before the time point t2, but the present invention is not limited thereto, and the time point t1 may be a time point after the time point t2. The length of the predetermined period T1 may be about several seconds to several tens of seconds.

[0036] Also, when the CPU 11 spontaneously executes any of the history-reflecting behaviors Y1 to Y4, it generates corresponding information Is as follows. That is, as shown in FIG. 10, when the CPU 11 determines that it has received an action from the user at time t2 until the timeout time T2 has elapsed since the start time t0 of the history-reflecting behaviors Y1 to Y4, it generates corresponding information Is that associates the sensor data Ds at a certain time t1 corresponding to time t0 with the reward "1" as the action data Da, and records it in the situation data 133. Also, when the CPU 11 determines that it has not received an action from the user until the timeout time T2 has elapsed since time t0, it generates corresponding information Is that associates the sensor data Ds at a certain time t1 corresponding to time t0 with the reward "0" as the action data Da, and records it in the situation data 133. Time t1 may coincide with time t0 or may be different. Time t1 may be a time before time t0 or a time after time t0. The predetermined period T1 is set to include time t0 and the period until the timeout time T2 has elapsed since time t0.

[0037] Note that when the history-reflecting behaviors X1 to X4 are executed in response to an action from the user, it may be that corresponding information Is regarding the presence or absence of the action received within the timeout time since the start of the behavior is not generated (not recorded in the situation data 133). This is because it may not always be appropriate to use the presence or absence of the action received in response to the history-reflecting behaviors X1 to X4 to derive the probability for timing the execution of the spontaneous history-reflecting behaviors Y1 to Y4.

[0038] The situation data 133 shown in FIG. 8 can be said to be data representing the susceptibility of the user's action according to the content of the sensor data Ds. That is, based on the situation data 133, it is possible to estimate in what values of the sensor data Ds the robot 1 is likely to receive an action, and in what values of the sensor data Ds the robot 1 is unlikely to receive an action. In the present embodiment, the CPU 11 performs a logistic regression analysis based on a plurality of correspondence information Is of the situation data 133, thereby deriving a regression equation representing the probability that the robot 1 receives an action. Logistic regression analysis is one of the methods of multivariate analysis that predicts the probability that a binary target variable occurs from a plurality of explanatory variables.

[0039] Specifically, the CPU 11 performs a logistic regression analysis with the action data Da of the plurality of correspondence information Is as the target variable and each of the sensor data Ds as the explanatory variable, thereby deriving the following equation (1) representing the probability P that the robot 1 receives an action. P = 1 / {1 + exp(−A)} …(1) However, A = β0 + β1x1 + β2x2 + β3x3 + β4x4 + β5x5 + β6x6 Here, x1 to x6 are explanatory variables. Among these, the explanatory variable x1 is the detection result of contact by the touch sensor 51. The explanatory variable x2 is the detection result of acceleration by the acceleration sensor 52. The explanatory variable x3 is the detection result of the angular velocity by the gyro sensor 53. The explanatory variable x4 is the detection result of illuminance by the illuminance sensor 54. The explanatory variable x5 is the detection result of sound by the microphone 55. The explanatory variable x6 is the detection result of the remaining battery level by the remaining amount detection unit 72. Also, β1 to β6 are regression variables representing the magnitude (weight) of the influence that each explanatory variable gives to the probability P, and β0 is a regression variable that gives an intercept (bias). The process of deriving the regression equation (1) may also be described as the process of deriving the regression variables β0 to β6. The derived regression variables β0 to β6 are stored in the regression equation data 134 of the storage unit 13.

[0040] When a predetermined lower limit number of correspondence information Is is stored in the situation data 133, the CPU 11 derives the first regression formula (1). In the present embodiment, the lower limit number is "5". However, it is not limited to this, and the lower limit number can be appropriately changed according to the derivation accuracy of the required probability P and the like. After deriving the first regression formula (1), every time the CPU 11 newly stores the correspondence information Is in the situation data 133 of the storage unit 13, the CPU 11 derives the regression formula (1) based on a plurality of correspondence information Is including the latest correspondence information Is, and updates the regression variables β0 to β6 of the regression formula data 134. However, it is not limited to this. For example, the regression formula (1) may be derived and updated every time a certain number of correspondence information Is are newly stored. In the derivation process of the regression formula (1) at each timing, all the correspondence information Is recorded in the situation data 133 at that time are used. However, the upper limit number of the correspondence information Is recorded in the situation data 133 may be determined according to the storage capacity of the storage unit 13 and the like. When the CPU 11 newly generates the correspondence information Is in the situation where the upper limit number of the correspondence information Is is recorded in the situation data 133, the CPU 11 overwrites the oldest correspondence information Is in the situation data 133 with the latest correspondence information Is. In the present embodiment, the upper limit number is 60. By adjusting the upper limit number, it is also possible to adjust the period up to which the past is to be used as the learning target.

[0041] After deriving the regression formula (1), the CPU 11 acquires the sensor data Ds at a specific time point for which it is desired to predict the presence or absence of an action from the user, and substitutes it into the explanatory variables x1 to x6 of the regression formula (1), so that the probability P of receiving an action from the user at the specific time point can be derived as a percentage. The specific time point may be any time point different from the plurality of time points corresponding to the correspondence information Is. As described above, when the derived probability P becomes equal to or greater than a predetermined threshold, by executing any of the history reflection actions Y1 to Y4, the history reflection actions Y1 to Y4 can be executed at a timing when the user is near the robot 1 and it is appropriate to receive an action from the user.

[0042] Next, the robot control process executed by the CPU 11 to realize the above-described operation will be described. FIG. 11 is a flowchart showing the control procedure of the robot control process. The robot control process starts when the power of the robot 1 is turned on. When the robot control process starts, the CPU 11 sets the status of the robot 1 to the "idle state" (step S101). That is, the CPU 11 rewrites the status data 121 in the RAM 12 to a value corresponding to the "idle state".

[0043] The CPU 11 refers to the status data 121 and acquires the current status of the robot 1 (step S102). When the status of the robot 1 is the "idle state" ( "YES" in step S103), the CPU 11 determines whether an action from the outside (user) has been detected based on the sensor data Ds acquired from the sensor unit 50 (step S104). For example, the CPU 11 determines that an external action has been received when contact by the user is detected by the touch sensor 51, when holding is detected by the acceleration sensor 52 and / or the gyro sensor 53, or when a call from the user is detected by the microphone 55. When it is determined that an external action has been detected ( "YES" in step S104), the CPU 11 executes a situation recording process for recording the corresponding information Is corresponding to the action (step S105).

[0044] FIG. 12 is a flowchart showing the control procedure of the situation recording process. When the situation recording process is called, the CPU 11 determines whether or not a predetermined waiting time has elapsed since the recording of the previous response information Is (step S201). This is because recording a plurality of response information Is at a timing close to when approximate sensor data Ds is obtained does not lead to an improvement in the accuracy of the regression formula (1). Therefore, the waiting time is set to a length that allows for a certain amount of change in the situation around the robot 1, and may be, for example, about 1 minute to 10 minutes. When it is determined that the predetermined waiting time has elapsed since the recording of the previous response information Is ( "YES" in step S201), the CPU 11 acquires sensor data Ds from each part of the sensor unit 50 and the remaining amount detection unit 72 at the time point t1 corresponding to the time point t2 when the operation in step S104 of FIG. 11 was received (step S202). The CPU 11 records the response information Is in which the acquired sensor data Ds is associated with the reward "1" as the action data Da in the situation data 133 (step S203).

[0045] The CPU 11 determines whether or not a predetermined lower limit number ( "5" in this embodiment) or more of the response information Is is recorded in the situation data 133 (step S204). When it is determined that a lower limit number or more of the response information Is is recorded ( "YES" in step S204), the CPU 11 changes the status of the robot 1 to the "learning state" (step S205). That is, the CPU 11 rewrites the status data 121 to a value corresponding to the "learning state". When step S205 ends, or when branching to "NO" in step S201 or S204, the CPU 11 ends the situation recording process and returns the process to the robot control process of FIG. 11.

[0046] In step S104 of FIG. 11, when it is determined that no external action has been detected ( "NO" in step S104), the CPU 11 executes an action prediction process for predicting the presence or absence of an action from the user based on the situation at that time (step S106).

[0047] FIG. 13 is a flowchart showing the control procedure of the action prediction process. When the action prediction process is called, the CPU 11 determines whether the regression equation (1) has been derived one or more times (step S301). If it is determined that the regression equation (1) has been derived one or more times ( "YES" in step S301), the CPU 11 acquires sensor data Ds from each part of the sensor unit 50 and the remaining amount detection unit 72 (step S302). The sensor data Ds acquired here corresponds to "a plurality of detection results by the sensor at a specific point in time". Then, the CPU 11 derives the probability P of receiving an action from the outside based on the regression equation (1) and the acquired sensor data Ds (step S303). That is, the CPU 11 derives the probability P by substituting the explanatory variables x1 to x6 of the sensor data Ds into the regression equation (1) represented by the regression variables β0 to β6 recorded in the regression equation data 134.

[0048] The CPU 11 determines whether the derived probability P is equal to or greater than a predetermined threshold (step S304). If it is determined that the probability P is equal to or greater than the threshold ( "YES" in step S304), the CPU 11 determines that the gesture execution condition is satisfied and causes the robot 1 to execute a predetermined gesture (here, any one of the history-reflecting gestures Y1 to Y4) (step S305). The process of proceeding to "YES" in step S304 corresponds to the process of proceeding to "YES" in step S6 of FIG. 4. Note that the gesture execution condition may have additional requirements other than the probability P being equal to or greater than the threshold. For example, a predetermined time has elapsed since the previous gesture was executed, the surrounding is a predetermined brightness, it is a predetermined time, the remaining battery level of the battery 71 is less than a predetermined value, or a combination thereof may be added as an additional requirement.

[0049] After the execution of step S305, the CPU 11 changes the status of the robot 1 to the "gesture result waiting state" (step S306). That is, the CPU 11 rewrites the status data 121 to a value corresponding to the "gesture result waiting state". Further, the CPU 11 acquires sensor data Ds at a time point t1 corresponding to the start time point t0 of the gesture in step S305 from each part of the sensor unit 50 and the remaining amount detection unit 72 (step S307). The sensor data Ds acquired in step S307 is used for generating corresponding information Is in the subsequent gesture result waiting process. When step S307 ends, or when branching to "NO" in step S301 or S304, the CPU 11 ends the action prediction process and returns the process to the robot control process in FIG. 11.

[0050] In step S103 of FIG. 11, when it is determined that the status of the robot 1 is not the "idle state" ( "NO" in step S103), the CPU 11 determines whether the status of the robot 1 is the "gesture result waiting state" (step S107). When it is determined that the status of the robot 1 is the "gesture result waiting state" ( "YES" in step S107), the CPU 11 executes the gesture result waiting process (step S108).

[0051] FIG. 14 is a flowchart showing the control procedure of the gesture result waiting process. When the gesture result waiting process is called, the CPU 11 repeatedly determines whether the presence or absence of an action received from the outside (user) corresponding to the gesture executed in step S305 of the action prediction process in FIG. 13 has been determined (step S401). Here, the CPU 11 determines that the presence or absence of the action has been determined when an action is received before the timeout time T2 elapses from the start time point t0 of the gesture, or when no action is received until the timeout time T2 elapses. The method for determining whether an action has been received from the outside is the same as the process in step S104 of FIG. 11.

[0052] When it is determined that the presence or absence of an externally received action has been determined according to the gesture (i.e., "YES" in step S401), the CPU 11 records in the situation data 133 correspondence information Is that associates the sensor data Ds at the time point t1 corresponding to the start time point t0 of the gesture (the sensor data Ds obtained in step S307 of FIG. 13) with the reward "1" or "0" as the action data Da corresponding to the presence or absence of the action (step S402).

[0053] The CPU 11 determines whether or not a predetermined number or more of pieces of correspondence information Is are recorded in the situation data 133 (step S403). When it is determined that a number of pieces of correspondence information Is equal to or more than the lower limit number are recorded (i.e., "YES" in step S403), the CPU 11 changes the status of the robot 1 to the "learning state" (step S404). On the other hand, when it is determined that the number of pieces of recorded correspondence information Is is less than the lower limit number (i.e., "NO" in step S403), the CPU 11 changes the status of the robot 1 to the "idle state" (step S405). When step S404 or S405 ends, the CPU 11 ends the gesture result waiting process and returns the process to the robot control process of FIG. 11.

[0054] In the robot control process of FIG. 11, when it is determined that the status of the robot 1 is not the "idle state" (i.e., "NO" in step S103) and is not the "gesture result state" either (i.e., "NO" in step S107), the CPU 11 determines that the status of the robot 1 is the "learning state" and executes regression formula learning processing (step S109).

[0055] FIG. 15 is a flowchart showing the control procedure of the regression formula learning process. When the regression formula learning process is called, the CPU 11 executes a logistic regression analysis based on all the correspondence information Is recorded in the situation data 133, and derives a regression formula (1) that gives the probability P (step S501). The CPU 11 records the values of β0 to β6 of the derived regression formula (1) in the regression formula data 134. If β0 to β6 are already recorded in the regression formula data 134, the CPU 11 overwrites and updates them with the latest β0 to β6 that have been derived. Also, the CPU 11 changes the status of the robot 1 to the "idle state" (step S502). Then, the CPU 11 terminates the regression formula learning process and returns the process to the robot control process of FIG. 11. Note that, depending on the processing power of the CPU 11 and the like, the derivation process of the regression formula (1) in step S501 may be executed in multiple parts. That is, step S502 may be skipped until the derivation processes divided into multiple parts are completed, and the status may be maintained as the "learning state", and the regression formula learning process may be executed multiple times.

[0056] In the robot control process of FIG. 11, when any one of steps S105, S106, S108, and S109 is completed, the CPU 11 determines whether an operation to turn off the power of the robot 1 has been performed (step S110). If the CPU 11 determines that the operation has not been performed ( "NO" in step S110), the process returns to step S102. If the CPU 11 determines that the operation has been performed ( "YES" in step S110), the robot control process is terminated.

[0057] As described above, the robot control device 10 as the information processing device according to the present embodiment includes the CPU 11 as a processing unit. The CPU 11 stores, in the storage unit 13, correspondence information Is in which sensor data Ds, which is a detection result at a certain time point t1 of the sensor unit 50 and the remaining amount detection unit 72 for detecting at least one action from the user, and action data Da indicating the presence or absence of a predetermined action received by the robot 1 from the outside within a predetermined period T1 including the certain time point t1, are associated with each other. Further, the CPU 11 predicts an action received by the robot 1 from the user at a specific time point after the plurality of time points based on the plurality of pieces of correspondence information Is corresponding to a plurality of different time points stored in the storage unit 13. Thereby, it is possible to predict an external action (for example, the presence or absence of an action) on the robot 1 by using the sensor unit 50 and the remaining amount detection unit 72 provided in the robot 1. Therefore, even a robot having a simple configuration that does not include a camera or a human sensor can predict an action.

[0058] Further, the CPU 11 predicts an action received by the robot 1 from the user based on the plurality of pieces of correspondence information Is and the sensor data Ds at a specific time point. Thereby, it is possible to appropriately predict an action based on the environment of the robot 1 at a specific time point.

[0059] Further, the CPU 11 discriminates the presence or absence of an action received by the robot 1 from the outside based on the sensor data Ds, and when it is discriminated that the robot 1 has received an action, stores, in the storage unit 13, correspondence information Is in which action data Da of a reward "1" indicating that an action has been received and sensor data Ds at a certain time point t1 within a predetermined period T1 including the time point t2 when the action was received are associated with each other. This correspondence information Is indicates under what sensor data Ds it is easy to receive an external action. By using such correspondence information Is, it is possible to derive the probability P of receiving an external action.

[0060] In addition, the CPU 11 predicts the probability that the robot 1 receives an action from the user at a specific point in time based on a plurality of pieces of correspondence information Is corresponding to a plurality of points in time. A high derived probability P corresponds to a high probability that the user is near the robot 1 and is directing their attention towards the robot 1. Therefore, by causing the robot 1 to perform a gesture at a timing corresponding to the probability P, it is possible to effectively appeal to the user or ensure that the user evaluates the gesture of the robot 1.

[0061] In addition, when the derived probability P is equal to or greater than a predetermined threshold value, the CPU 11 causes the robot 1 to perform a predetermined gesture. As a result, it is possible to cause the gesture to be performed at a timing when there is a high probability that the user is directing their attention towards the robot 1, so that it is possible to effectively appeal to the user or lead to an evaluation of the gesture of the robot 1 by the user. Also, according to this method, it is possible to realize the robot 1 that reproduces the conditioned reflex of a living organism. For example, if the robot 1 is repeatedly stroked after a bell is rung, the robot 1 determines that the probability P of receiving an action (being stroked) from the user is high (equal to or greater than the threshold value) when the sound of the bell is detected. By causing the robot 1 to perform gestures such as making a chirping sound or showing joy at a time when the probability P is high, it is possible to make the robot 1 appear to be expecting to be stroked in a conditioned reflex in response to the ringing of the bell.

[0062] In addition, the CPU 11 causes the storage unit 13 to store correspondence information Is in which sensor data Ds at a certain point in time t1 corresponding to the time t0 when the gesture is started and action data Da indicating the presence or absence of an action received by the robot 1 from the outside after the start of the gesture until a predetermined timeout time T2 elapses within a predetermined period T1 are associated. This correspondence information Is indicates which sensor data Ds, when obtained, makes it easy to receive an action from the outside when performing a gesture, and which sensor data Ds, when obtained, makes it difficult to receive an action from the outside when performing a gesture. Therefore, by using such correspondence information Is, it is possible to derive the probability P of receiving an action with high accuracy based on both the viewpoints of ease of receiving and difficulty of receiving an action.

[0063] Further, the CPU 11 derives an evaluation value of the gesture based on the presence or absence of the action received by the robot 1 from the outside after starting the gesture until a predetermined timeout time T2 elapses, and based on the derived evaluation value, adjusts the content of the gesture to be performed by the robot 1. As a result, the robot 1 can be learned to execute a gesture according to the user's preference based on the action received from the user after the execution of the gesture. Also, by executing a spontaneous gesture at a timing when the probability P is equal to or greater than the threshold value, it is possible to reduce the occurrence of a problem that the evaluation value of the gesture becomes low due to the user not being close or the user's attention not being directed towards the robot 1 when the gesture is executed. Therefore, it is possible to appropriately proceed (converge) with the learning of the gesture according to the user's preference. In other words, it is possible to reduce the occurrence of a problem that the learning of the gesture diverges due to the gesture not being appropriately evaluated.

[0064] Further, the CPU 11 performs a logistic regression analysis based on a plurality of correspondence information Is, thereby deriving a regression equation (1) that represents the probability P that the robot 1 receives an action, with a plurality of detection results included in the sensor data Ds as explanatory variables, and derives the probability P based on each detection result of the sensor data Ds at a specific point in time and the derived regression equation (1). According to the regression equation (1), it is possible to specify how much each detection result of the sensor data Ds affects the probability P. Therefore, the probability P can be derived with high accuracy by a simple process of substituting each detection result of the sensor data Ds at an arbitrary point in time into the regression equation (1). Also, since the probability P can be output as a percentage, a clear process (such as a branch determination of the flow) according to the value of the probability P becomes possible.

[0065] Further, the CPU 11 derives the regression equation (1) when the storage unit 13 stores a predetermined lower limit number or more of correspondence information Is, and updates the regression equation (1) based on a plurality of correspondence information Is including the latest correspondence information Is each time the correspondence information Is is stored in the storage unit 13 after the derivation of the regression equation (1). As a result, it is possible to improve the derivation accuracy of the probability P as the cumulative operation time of the robot 1 increases.

[0066] Further, the robot 1 according to the present embodiment includes the above-described robot control equipment 10, and each part of the sensor unit 50 and the remaining amount detection unit 72 as a plurality of sensors. Thereby, even for a robot 1 with a simple configuration, it is possible to predict the presence or absence of an external action on the robot 1. Further, since the probability P can be derived in real time inside the robot 1, there is no need to transmit data for deriving the probability P to the outside, and processing related to data encryption and transmission is unnecessary.

[0067] Further, the information processing method executed by the CPU 11 according to the present embodiment stores, in the storage unit 13, correspondence information Is in which sensor data Ds at a certain time point t1 and action data Da indicating the presence or absence of a predetermined action received by the robot 1 from the outside within a predetermined period T1 including the certain time point t1 are associated with each other. Based on a plurality of pieces of correspondence information Is corresponding to a plurality of different time points stored in the storage unit 13, an action received by the robot 1 from the user at a specific time point after the plurality of time points is predicted. Further, the program 131 according to the present embodiment causes the CPU 11 to function as processing means for executing the above-described information processing method. Thereby, even for a robot 1 with a simple configuration, it is possible to predict an external action on the robot 1. Further, by causing the robot 1 to perform a gesture at a timing according to the probability P, it is possible to effectively appeal to the user or lead the gesture of the robot 1 to an evaluation by the user.

[0068] Note that the present invention is not limited to the above-described embodiments, and various modifications are possible. For example, in the above embodiment, the correspondence information Is is generated and recorded triggered by the detection of contact (touching, hugging, or speaking) by the user (step S104 in FIG. 11, step S401 in FIG. 14), but the present invention is not limited to this. By changing the trigger for generating the correspondence information Is, the timing at which a desired event occurs can be predicted. For example, by generating and recording the correspondence information Is at the timing when the robot 1 is thrown up by the user (or the timing when it is not thrown up), the probability of the user throwing up can be predicted. Thereby, for example, at the timing when the user is about to throw up the robot 1, an action such as making the robot 1 show a reluctant gesture in advance becomes possible. Instead of throwing up, by using any action received from the user (hugging, speaking, swinging around, starting or ending the charging of the robot 1, etc.), the probability of occurrence of the arbitrary action can be predicted.

[0069] Also, by subtracting the derived probability from 1, the probability that no action is received from the user can be derived. By using this probability, for example, an action such as reducing the activity level of the robot 1 during a time period when the probability of contact from the user is low becomes possible. Note that in response to not receiving an action from the user, a reward "1" may be recorded as the action data Da. According to this, the probability of not receiving an action at a specific time point can be derived by the regression formula (1).

[0070] In addition, the method for deriving the probability that the robot receives an action is not limited to logistic regression analysis. For example, based on a plurality of corresponding information Is, the data item (any one of x1 to x6) that has the highest correlation with the "1" and "0" of the action data Da among the sensor data Ds is identified using a predetermined correlation analysis method, and the probability may be derived according to the magnitude of the data item. For example, when there is a positive correlation between the data item and the action data Da, the probability is derived such that it increases as the data item increases; when there is a negative correlation between the data item and the action data Da, the probability may be derived such that it decreases as the data item increases.

[0071] In addition, the CPU 11 may predict the action that the robot 1 receives from the user at a specific time after a plurality of time points based only on a plurality of corresponding information Is corresponding to the plurality of time points stored in the storage unit 13. For example, based on the time-series changes of each sensor data Ds of the plurality of corresponding information Is at a plurality of time points and the time-series changes of the action data Da at a plurality of time points, the presence or absence of the action that the robot 1 receives at a desired time point after a plurality of time points, or the probability thereof, etc. may be predicted.

[0072] In addition, the configuration of the robot 1 is not limited to that illustrated in FIGS. 1 to 3. For example, it may be a robot that imitates an existing living creature such as a human, an animal, a bird, or a fish, a robot that imitates an extinct living creature such as a dinosaur, or a robot that imitates a fictional living creature.

[0073] In addition, in the above embodiment, an example in which the robot control device 10 as an information processing device is provided inside the robot 1 has been described, but it is not limited thereto, and the information processing device may be provided outside the robot 1. The information processing device provided outside executes the functions that the robot control device 10 in the above embodiment has executed. In this case, the robot 1 operates according to a control signal received from the external information processing device via the communication unit 60. The external information processing device may be, for example, a smartphone, a tablet terminal, or a notebook PC.

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

[0075] Regarding the detailed configuration and detailed operation of each component of the robot 1 in the above embodiment, it goes without saying that they can be appropriately changed without departing from the spirit of the present invention.

[0076] Although the embodiments of the present invention have been described, the scope of the present invention is not limited to the above-described embodiments, and includes the scope of the invention described in the claims and the equivalent scope thereof.

Description of Reference Numerals

[0077] 1... Robot, 10... Robot control device (information processing device), 11... CPU (processing unit, processing means), 13... Storage unit, 50... Sensor unit (sensor), 72... Remaining amount detection unit (sensor), Da... Action data (presence or absence of a predetermined action), Ds... Sensor data (detection results by a plurality of sensors), Is... Corresponding information, T1... Predetermined period, T2... Timeout time (predetermined time)

Claims

1. Causing a storage unit to store correspondence information in which a detection result at a certain point in time of a sensor for detecting at least one action from a user that a robot has is associated with the presence or absence of a predetermined action that the robot has received from the outside within a predetermined period including the certain point in time; Predicting an action that the robot will receive from the user at a specific point in time after the plurality of points in time based on the plurality of pieces of correspondence information corresponding to the plurality of different points in time stored in the storage unit; An information processing apparatus including a processing unit.

2. The processing unit predicts an action that the robot will receive from the user based on the plurality of pieces of correspondence information and a detection result by the sensor at the specific point in time. The information processing apparatus according to claim 1.

3. The processing unit: Determines the presence or absence of the action that the robot has received from the outside based on a detection result by the sensor; When it is determined that the robot has received the action, causes the storage unit to store the correspondence information in which information indicating that the action has been received is associated with a detection result by the sensor at the certain point in time within the predetermined period including the point in time when the action was received. The information processing apparatus according to claim 1.

4. The processing unit predicts the probability that the robot will receive the action from the user at the specific point in time based on the plurality of pieces of correspondence information corresponding to the plurality of points in time. The information processing apparatus according to claim 1.

5. When the derived probability is equal to or greater than a predetermined threshold value, the processing unit causes the robot to perform a predetermined operation. The information processing apparatus according to claim 4.

6. The processing unit: Causes the storage unit to store the correspondence information in which a detection result by the sensor at the certain point in time corresponding to the point in time when the operation was started is associated with the presence or absence of the action that the robot has received from the outside within a predetermined time after the operation was started within the predetermined period. The information processing apparatus according to claim 5.

7. The processing unit derives an evaluation value of the operation based on the presence or absence of the action that the robot has received from the outside within the predetermined time after the operation was started; Based on the derived evaluation value, adjusts the content of the operation to be performed by the robot. The information processing apparatus according to claim 6.

8. The processing unit: By performing a logistic regression analysis based on the plurality of pieces of correspondence information, a regression equation is derived that represents the probability of the robot receiving the action, with the plurality of detection results by the sensor as explanatory variables. Deriving the probability based on the plurality of detection results by the sensor at the specific point in time and the derived regression equation. The information processing apparatus according to claim 4.

9. The processing unit Derives the regression equation when the storage unit stores the correspondence information equal to or more than a predetermined lower limit number. Each time the correspondence information is stored in the storage unit after the derivation of the regression equation, the regression equation is updated based on the plurality of pieces of correspondence information including the latest correspondence information. The information processing apparatus according to claim 8.

10. The information processing apparatus according to any one of claims 1 to 9, The sensor, A robot comprising the same.

11. An information processing method executed by a computer, Causing a storage unit to store correspondence information in which a detection result at a certain point in time of a sensor for detecting at least one action from a user that the robot has is associated with the presence or absence of a predetermined action received by the robot from the outside within a predetermined period including the certain point in time. Predicting an action received by the robot from the user at a specific point in time after the plurality of points in time based on the plurality of pieces of correspondence information corresponding to different points in time stored in the storage unit. Information processing method.

12. Causing a computer to function as a processing means, The processing means Causing a storage unit to store correspondence information in which a detection result at a certain point in time of a sensor for detecting at least one action from a user that the robot has is associated with the presence or absence of a predetermined action received by the robot from the outside within a predetermined period including the certain point in time. Predicting an action received by the robot from the user at a specific point in time after the plurality of points in time based on the plurality of pieces of correspondence information corresponding to different points in time stored in the storage unit. Program.

Citation Information

Patent Citations

  • Autonomous behavior robot that behaves on basis of experience

    WO2019151387A1