robot

The robot's dual control system enables immediate reflexive actions through a low-order circuit and complex actions through a high-order circuit, addressing the unnatural reaction time issue in existing robots, thereby improving its lifelike interactions.

JP2026053630APending Publication Date: 2026-03-25GROOVE X INC
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-12-25
Publication Date
2026-03-25

AI Technical Summary

Technical Problem

Existing robots lack the ability to perform reflexive actions that mimic the instantaneous responses of living organisms, making their actions appear unnatural when the reaction time exceeds 200 milliseconds.

Method used

The robot is equipped with a low-order control circuit that instantly initiates predefined reflexive actions in response to certain stimuli, while a high-order control circuit handles more complex actions, ensuring the robot can react quickly and naturally to external events.

Benefits of technology

This configuration allows the robot to perform immediate and natural reflexive actions, enhancing its lifelike presence and interaction with users.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026053630000001_ABST
    Figure 2026053630000001_ABST
Patent Text Reader

Abstract

This technology provides a way to efficiently control the reflexive actions of robots in response to various external events. [Solution] The robot comprises a motion control unit that selects the robot's motion and a drive mechanism that executes the motion selected by the motion control unit. The motion control unit includes a low-order control circuit that selects a reaction motion R pre-associated with the sensor when the sensor value SA, which is the sensor's detected value, exceeds a reflection threshold, and a high-order control circuit that changes the robot's behavioral characteristics according to the sensor value SD. The sensor value SA, which is input as analog data, is converted into digital data (sensor value SD) by the low-order control circuit and supplied to the high-order control circuit.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a robot that autonomously makes action selections according to an internal state or an external environment.

Background Art

[0002] People keep pets in search of healing. On the other hand, many people give up keeping pets for various reasons such as not being able to secure enough time to take care of pets, not having a living environment suitable for keeping pets, having allergies, and finding it painful to experience the death of a pet. If there is a robot that can perform the role of a pet, it may be able to give the kind of healing that a pet gives to those who cannot keep pets (see Patent Documents 1 and 2).

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Patent Document 2

Summary of the Invention

Problems to be Solved by the Invention

[0004] In recent years, although robot technology has been rapidly advancing, it has not yet achieved the presence as a companion like a pet. This is because it is difficult to think that a robot has free will. People observe the actions of a pet as if it has free will, feel the existence of free will in the pet, empathize with the pet, and are healed by the pet.

[0005] Furthermore, not only free will but also "instinct" characterizes living organisms. Instinct is an innate pattern of behavior triggered by environmental stimuli without conscious judgment. Danger avoidance is a prime example. Reflexive actions based on instinct (hereinafter referred to as "reflexive actions") are simple and immediate because they are unconscious. Not only complex and diverse actions that suggest free will (hereinafter referred to as "conscious actions"), but also quick reflexive actions in response to external stimuli are important in giving robots a living-like presence. According to the inventors' research, it was found that if the time lag between a robot receiving a stimulus and initiating a reflexive action exceeds 200 milliseconds, the reflexive action appears unnatural.

[0006] This invention was completed based on the above-mentioned problem recognition, and its main objective is to provide a technology for efficiently controlling the reflexive actions of a robot in response to various external events. [Means for solving the problem]

[0007] An autonomous robot in one aspect of the present invention comprises a motion control unit that selects the robot's motion, and a drive mechanism that executes the motion selected by the motion control unit. The motion control unit includes a low-order control circuit that selects a reaction motion pre-associated with the sensor when the sensor's detected value exceeds a threshold, and a high-order control circuit that changes the robot's behavioral characteristics according to the sensor's detected value. [Effects of the Invention]

[0008] According to the present invention, it becomes easier to make robots perform natural reflex actions. [Brief explanation of the drawing]

[0009] [Figure 1] This is a conceptual diagram illustrating how robots can perform reflexive actions. [Figure 2]Figure 2(a) is a front view of the robot. Figure 2(b) is a side view of the robot. [Figure 3] This is a cross-sectional view illustrating the structure of the robot. [Figure 4] This is a hardware configuration diagram of the robot in its basic configuration. [Figure 5] This is a functional block diagram of a robot system. [Figure 6] This is a hardware configuration diagram of the robot in this embodiment. [Figure 7] This is a schematic diagram showing the correspondence between the lower-order control circuit, the higher-order control circuit, and the operation control unit. [Figure 8] This is a schematic diagram to explain low-order control. [Figure 9] This is a schematic diagram to explain higher-order control. [Figure 10] This is a circuit diagram of a robot behavior control system. [Figure 11] This is a conceptual diagram of a reaction table. [Modes for carrying out the invention]

[0010] Figure 1 is a conceptual diagram illustrating how robot 100 can perform reflexive actions. Living organisms take reflexive actions when they receive a strong stimulus instantaneously. For example, they recoil when struck and shrink when hit by a loud noise. The robot 100 in this embodiment is equipped with a configuration to realize such reflexive actions. The robot 100 receives various stimuli from the external environment. The robot 100 recognizes external events based on sensor detection values ​​(hereinafter simply referred to as "sensor values") and selects an action. The actions (motions) of the robot 100 are broadly classified into two types: "normal motion" and "reaction motion".

[0011] Normal motion is behavior that mimics the conscious actions of living organisms. Reaction motion is behavior that mimics the unconscious actions (reflexive actions) of living organisms. Reaction motion is simpler than normal motion, but requires immediacy (fast response).

[0012] Robot 100 includes a low-order control circuit 250 and a high-order control circuit 252. The high-order control circuit 252 is assumed to be a general-purpose processor such as a CPU (Central Processing Unit). The high-order control circuit 252 can express complex actions through software. The reaction time that humans perceive as an "instantaneous reaction" (the time from the occurrence of an event to the start of an action) is generally said to be within 200 milliseconds. Therefore, if the reaction time of robot 100 exceeds 200 milliseconds, it will no longer appear to be an instantaneous reaction.

[0013] Since the higher-order control circuit 252 is an electronic circuit that is expected to perform a variety of processes, the time from when the higher-order control circuit 252 receives an instruction until it starts processing will vary depending on the situation of the robot 100. In this embodiment, a lower-order control circuit 250 is provided to always perform processing within a specified time in response to stimuli above a certain level. Since the lower-order control circuit 250 is hardware-independent from the higher-order control circuit 252, it is not affected by the processing load on the higher-order control circuit 252. The lower-order control circuit 250 detects abnormalities in sensor values ​​by comparing the sensor values ​​received sequentially from the sensor with predetermined conditions. When the lower-order control circuit 250 detects an abnormality, it immediately instructs the execution of a reaction motion. A specially designed microcontroller is envisioned as the lower-order control circuit 250, but it may also be implemented by executing a program on a general-purpose microprocessor. The lower-order control circuit 250 may be formed as a combination of electronic components. Because the processing content of the lower-order control circuit 250 is more standardized and typicalized compared to the higher-order control circuit 252, it can react to external events faster than the higher-order control circuit 252.

[0014] Robot 100 detects external stimuli as sensor value SA (analog data). In this embodiment, when the sensor value SA exceeds a threshold value (hereinafter referred to as the "reflection threshold value"), the low-order control circuit 250 instructs the execution of a predefined reaction motion R. For example, when a loud noise is heard, the low-order control circuit 250 causes the body of the robot 100 to shake, thereby expressing that the robot 100 is startled by the loud noise.

[0015] Also, the low-order control circuit 250 performs A / D conversion (Analog / Digital Conversion) on the sensor value SA of the analog data to obtain a sensor value SD of digital data, and transmits the sensor value SD to the high-order control circuit 252. The high-order control circuit 252 recognizes an external event based on the sensor value SD (digital data) and instructs the execution of a normal motion N. For example, when the user P1 shouts, the high-order control circuit 252 reduces the intimacy with the user P1 and selects various normal motions N such as moving away from the user P1 and sitting down.

[0016] In a situation where the reaction motion R and the normal motion N can be executed simultaneously, the reaction motion R takes precedence over the normal motion N. This is referred to as the "principle of low-order priority". The low-order control circuit 250 is given the opportunity to judge external events prior to the high-order control circuit 252, and by preferentially executing the reaction motion R as necessary, an immediate reflex action is realized. Hereinafter, after explaining the basic configuration of the robot 100 in relation to FIGS. 2 to 5, the implementation method of the reaction behavior in this embodiment will be mainly explained.

[0017] [Basic Configuration] FIG. 2(a) is a front external view of the robot 100. FIG. 2(b) is a side external view of the robot 100. In this embodiment, robot 100 is an autonomous robot that determines its actions based on the external environment and its internal state. The external environment is recognized by various sensors such as cameras and thermal sensors. The internal state is quantified as various parameters that express the emotions of robot 100. Robot 100 operates within the confines of the owner's home. Hereinafter, humans who interact with robot 100 will be referred to as "users".

[0018] The body 104 of robot 100 has an overall rounded shape and includes an outer skin made of soft, elastic materials such as urethane, rubber, resin, or fiber. Robot 100 may be dressed in clothes. The total weight of robot 100 is approximately 5 to 15 kilograms, and its height is approximately 0.5 to 1.2 meters. The combination of moderate weight, roundness, softness, and pleasant texture makes it easy for users to pick up and want to pick up robot 100.

[0019] The robot 100 includes a pair of front wheels 102 (left wheel 102a, right wheel 102b) and one rear wheel 103. The front wheels 102 are the drive wheels, and the rear wheel 103 is the driven wheel. The front wheels 102 do not have a steering mechanism, but their rotational speed and direction can be controlled individually. The rear wheel 103 is a caster and is rotatable to move the robot 100 forward, backward, left, and right. The rear wheel 103 may also be an omni-wheel.

[0020] The front wheels 102 and rear wheels 103 can be completely retracted into the body 104 by a drive mechanism (rotation mechanism, linkage mechanism). Even when the robot is moving, most of each wheel is hidden within the body 104, but when each wheel is completely retracted into the body 104, the robot 100 becomes immobile. That is, as the wheels are retracted, the body 104 lowers and sits on the floor surface F. In this seated state, the flat seating surface 108 (ground contact bottom surface) formed on the bottom of the body 104 comes into contact with the floor surface F.

[0021] Robot 100 has two hands 106. Hands 106 do not have the function of grasping objects. Hands 106 can perform simple movements such as lifting, shaking, and vibrating. The two hands 106 can also be controlled individually.

[0022] The eye 110 is capable of displaying images using liquid crystal or organic EL elements. The robot 100 is equipped with various sensors, including a microphone array capable of identifying the direction of a sound source and an ultrasonic sensor. It also has a built-in speaker and can emit simple sounds.

[0023] A horn 112 is attached to the head of robot 100. As mentioned above, robot 100 is lightweight, so users can lift robot 100 by grasping the horn 112. A 360-degree camera is attached to the horn 112, which can capture images of the entire upper part of robot 100 at once.

[0024] Figure 3 is a schematic cross-sectional view showing the structure of robot 100. As shown in Figure 3, the body 104 of the robot 100 includes a base frame 308, a main frame 310, a pair of resin wheel covers 312, and an outer shell 314. The base frame 308 is made of metal and forms the axis of the body 104 and supports the internal mechanism. The base frame 308 is constructed by connecting an upper plate 332 and a lower plate 334 vertically with a plurality of side plates 336. Sufficient spacing is provided between the plurality of side plates 336 to allow for ventilation. Inside the base frame 308 are the battery 118, the control circuit 342, and various actuators.

[0025] The main frame 310 is made of resin and includes a head frame 316 and a torso frame 318. The head frame 316 is hollow and hemispherical and forms the head skeleton of the robot 100. The torso frame 318 is stepped and cylindrical and forms the torso skeleton of the robot 100. The torso frame 318 is fixed integrally with the base frame 308. The head frame 316 is assembled to the upper end of the torso frame 318 so as to be displaceable relative to it.

[0026] The head frame 316 is provided with three axes: a yaw axis 320, a pitch axis 322, and a roll axis 324, and actuators 326 for rotationally driving each axis. The actuators 326 include multiple servo motors for individually driving each axis. The yaw axis 320 is driven for head-turning motion, the pitch axis 322 is driven for nodding motion, and the roll axis 324 is driven for head tilting motion.

[0027] A plate 325 supporting the yaw axis 320 is fixed to the upper part of the head frame 316. Multiple ventilation holes 327 are formed in the plate 325 to ensure ventilation between the upper and lower parts.

[0028] A metal base plate 328 is provided to support the head frame 316 and its internal mechanism from below. The base plate 328 is connected to plate 325 via a cross-link mechanism 329 (pantograph mechanism), while also being connected to upper plate 332 (base frame 308) via a joint 330.

[0029] The fuselage frame 318 houses the base frame 308 and the wheel drive mechanism 370. The wheel drive mechanism 370 includes a pivot shaft 378 and an actuator 379. The lower half of the fuselage frame 318 is made narrow to form a storage space S for the front wheels 102 between it and the wheel cover 312.

[0030] The outer shell 314 is made of urethane rubber and covers the main frame 310 and wheel cover 312 from the outside. The handle 106 is integrally molded with the outer shell 314. An opening 390 for introducing outside air is provided at the upper end of the outer shell 314.

[0031] Figure 4 is a hardware configuration diagram of robot 100. Robot 100 includes an internal sensor 128, a communication device 126, a storage device 124, a processor 122, a drive mechanism 120, and a battery 118. The processor 122 and the storage device 124 are included in the control circuit 342. Each unit is connected to the others by power lines 130 and signal lines 132. Battery 118 supplies power to each unit via power lines 130. Each unit sends and receives control signals via signal lines 132. Battery 118 is a lithium-ion secondary battery and is the power source for robot 100.

[0032] The internal sensor 128 is a collection of various sensors built into the robot 100. Specifically, it includes a camera (spherical camera), a microphone array, a distance measuring sensor (infrared sensor), a thermal sensor, a touch sensor, an acceleration sensor, and an odor sensor. The touch sensor is installed between the outer shell 314 and the main frame 310 to detect user touch. The odor sensor is a known sensor that applies the principle that electrical resistance changes due to the adsorption of odor-causing molecules.

[0033] The communication device 126 is a communication module that performs wireless communication with various external devices. The storage device 124 consists of non-volatile memory and volatile memory and stores computer programs and various setting information. The processor 122 is a means for executing computer programs. The drive mechanism 120 includes multiple actuators and the wheel drive mechanism 370 described above. In addition, a display and speakers are also installed.

[0034] The drive mechanism 120 primarily controls the wheels (front wheels 102) and the head (head frame 316). In addition to changing the direction and speed of movement of the robot 100, the drive mechanism 120 can also raise and lower the wheels (front wheels 102 and rear wheels 103). When the wheels are raised, they are fully retracted into the body 104, and the robot 100 comes into contact with the floor surface F at the seating surface 108, entering a seated position. The drive mechanism 120 also controls the hands 106 via wires 134.

[0035] Figure 5 is a functional block diagram of the robot system 300. The robot system 300 includes a robot 100, a server 200, and a number of external sensors 114. Each component of the robot 100 and server 200 is realized by hardware including arithmetic units such as a CPU (Central Processing Unit) and various coprocessors, storage devices such as memory and storage, and wired or wireless communication lines connecting them, and software stored in the storage devices that supplies processing instructions to the arithmetic units. The computer program may consist of device drivers, an operating system, various application programs located at a higher layer, and libraries that provide common functions to these programs. The blocks described below represent functional units, not hardware units. Some of the functions of the robot 100 may be implemented by the server 200, and some or all of the functions of the server 200 may be implemented by the robot 100.

[0036] Multiple external sensors 114 are pre-installed inside the house. The position coordinates of the external sensors 114 are registered in the server 200. Based on the information obtained from the robot 100's internal sensors 128 and the multiple external sensors 114, the server 200 determines the robot 100's basic actions. The external sensors 114 are for supplementing the robot 100's sensory organs, and the server 200 is for supplementing the robot 100's brain. The robot 100's communication device 126 communicates with the external sensors 114 periodically, and the server 200 determines the robot 100's position using the external sensors 114 (see also Patent Document 2).

[0037] (Server 200) The server 200 includes a communication unit 204, a data processing unit 202, and a data storage unit 206. The communication unit 204 is responsible for communication processing with the external sensor 114 and the robot 100. The data storage unit 206 stores various types of data. The data processing unit 202 performs various processes based on the data acquired by the communication unit 204 and the data stored in the data storage unit 206. The data processing unit 202 also functions as an interface between the communication unit 204 and the data storage unit 206.

[0038] The data storage unit 206 includes a motion storage unit 232 and a personal data storage unit 218. Robot 100 has multiple motion patterns. Various motions are defined, such as shaking its hand 106, approaching the owner in a meandering motion, and gazing at the owner while tilting its head.

[0039] The motion storage unit 232 stores "motion files" that define the control content of the motions. Each motion is identified by a motion ID. The motion files are also downloaded to the motion storage unit 160 of the robot 100. Which motion to execute may be determined by the server 200 or by the robot 100.

[0040] Many of the robot 100's motions are composed of composite motions that include multiple unit motions. For example, when robot 100 approaches its owner, it may be represented as a combination of unit motions: turning to face the owner, approaching while raising its arms, approaching while swaying its body, and sitting down while raising both arms. By combining these four motions, the motion of "approaching the owner, raising its arms along the way, and finally sitting down after swaying its body" is realized. The motion file defines the rotation angles and angular velocities of the actuators installed on robot 100, relating them to the time axis. Various motions can be represented by controlling each actuator as time progresses according to the motion file (actuator control information).

[0041] The transition time between one unit motion and the next is called the "interval." The interval should be defined according to the time required for the unit motion change and the nature of the motion. The length of the interval is adjustable. Hereinafter, the settings related to the control of robot 100's actions, such as when and which motion to select, and the output adjustment of each actuator in realizing the motion, will be collectively referred to as "action characteristics." The action characteristics of robot 100 are defined by the motion selection algorithm, motion selection probability, motion file, etc.

[0042] The motion storage unit 232 stores motion files as well as a motion selection table that defines the motions to be executed when various events occur. In the motion selection table, one or more motions and their selection probabilities are associated with each event.

[0043] The personal data storage unit 218 stores user information. Specifically, it stores master information indicating the level of familiarity with the user and the user's physical and behavioral characteristics. Other attribute information such as age and gender may also be stored.

[0044] Robot 100 has an internal parameter called "affection level" for each user. When Robot 100 recognizes actions that show it is fond of the user, such as picking it up or talking to it, its affection level with that user increases. The affection level will be lower for users who do not interact with Robot 100, users who act rudely, or users it does not encounter often.

[0045] The data processing unit 202 includes a location management unit 208, a recognition unit 212, an operation control unit 222, a closeness management unit 220, and a state management unit 244. The position management unit 208 identifies the position coordinates of the robot 100. The state management unit 244 manages various internal parameters such as the charge level, internal temperature, and processing load of the processor 122. The state management unit 244 also manages various emotional parameters that indicate the robot 100's emotions (loneliness, curiosity, need for recognition, etc.). These emotional parameters are constantly fluctuating. The robot 100's target destination changes according to the emotional parameters. For example, when loneliness is high, the robot 100 sets the user's location as its target destination.

[0046] Emotional parameters change over time. Furthermore, various emotional parameters also change depending on the interaction described later. For example, when the owner holds the dog, the emotional parameter indicating loneliness decreases, and when the dog does not see the owner for a long period of time, the emotional parameter indicating loneliness gradually increases.

[0047] The recognition unit 212 recognizes the external environment. Recognition of the external environment includes various types of recognition, such as recognition of weather and season based on temperature and humidity, and recognition of shaded areas (safe zones) based on light intensity and temperature. The recognition unit 156 of the robot 100 acquires various environmental information using the internal sensor 128, processes it, and then transfers it to the recognition unit 212 of the server 200.

[0048] Specifically, the recognition unit 156 of the robot 100 extracts image regions corresponding to moving objects, particularly people and animals, from the image region, and extracts a "feature vector" from the extracted image region as a set of feature quantities that indicate the physical and behavioral characteristics of the moving object. Feature vector components (feature quantities) are numerical values ​​that quantify various physical and behavioral characteristics. For example, the width of a human eye is quantified in the range of 0 to 1, forming one feature vector component. The method for extracting feature vectors from captured images of people is an application of known face recognition technology. The robot 100 transmits the feature vector to the server 200.

[0049] The recognition unit 212 of the server 200 determines which person the captured user belongs to by comparing the feature vector extracted from the image captured by the robot 100's built-in camera with the feature vector of a user (cluster) pre-registered in the personal data storage unit 218 (user identification processing). The recognition unit 212 also estimates the user's emotions by performing image recognition on the user's facial expressions. The recognition unit 212 also performs user identification processing on moving objects other than people, such as pets like cats and dogs.

[0050] The recognition unit 212 recognizes various responses made to the robot 100 and classifies them as pleasant or unpleasant. The recognition unit 212 also recognizes the owner's responses to the robot 100's actions and classifies them as positive or negative responses. Pleasant and unpleasant actions are determined by whether the user's response is biologically pleasant or unpleasant. For example, being held is a pleasant action for robot 100, while being kicked is an unpleasant action. Positive and negative responses are determined by whether the user's response indicates a pleasant or unpleasant emotion for the user. Being held is a positive response indicating a pleasant emotion for the user, while being kicked is a negative response indicating an unpleasant emotion for the user.

[0051] The motion control unit 222 of the server 200 works in cooperation with the motion control unit 150 of the robot 100 to determine the motion of the robot 100. The motion control unit 222 of the server 200 creates the target location for the robot 100's movement and the movement route for that location. The motion control unit 222 may create multiple movement routes and then select one of them.

[0052] The motion control unit 222 selects a motion for the robot 100 from a plurality of motions stored in the motion storage unit 232. Each motion is associated with a selection probability for each situation. For example, a selection method is defined such as executing motion A with a 20% probability when the owner performs a pleasant action, or executing motion B with a 5% probability when the temperature exceeds 30 degrees Celsius.

[0053] The intimacy management unit 220 manages the intimacy level for each user. As mentioned above, the intimacy level is registered as part of the personal data in the personal data storage unit 218. When a pleasant action is detected, the intimacy management unit 220 increases the intimacy level with that owner. When an unpleasant action is detected, the intimacy level decreases. In addition, the intimacy level of owners who have not been viewed for a long period of time gradually decreases.

[0054] (Robot 100) The robot 100 includes a communication unit 142, a data processing unit 136, a data storage unit 148, an internal sensor 128, and a drive mechanism 120. The communication unit 142 corresponds to the communication device 126 (see Figure 4) and is responsible for communication processing with the external sensor 114, the server 200, and other robots 100. The data storage unit 148 stores various types of data. The data storage unit 148 corresponds to the storage device 124 (see Figure 4). The data processing unit 136 performs various processes based on the data acquired by the communication unit 142 and the data stored in the data storage unit 148. The data processing unit 136 corresponds to the processor 122 and the computer program executed by the processor 122. The data processing unit 136 also functions as an interface to the communication unit 142, the internal sensor 128, the drive mechanism 120, and the data storage unit 148.

[0055] The data storage unit 148 includes a motion storage unit 160 that defines various motions of the robot 100. Various motion files are downloaded from the motion storage unit 232 of the server 200 to the motion storage unit 160 of the robot 100. Motions are identified by motion IDs. In order to express various motions such as sitting down with the front wheels 102 retracted, lifting the hand 106, rotating the robot 100 by rotating the two front wheels 102 in opposite directions or by rotating only one front wheel 102, shaking by rotating the front wheels 102 while they are retracted, and stopping briefly and looking back when moving away from the user, the timing of operation, duration, and direction of operation of various actuators (drive mechanisms 120) are defined chronologically in the motion file. Various data may be downloaded to the data storage unit 148 from the personal data storage unit 218.

[0056] The data processing unit 136 includes a recognition unit 156 and an operation control unit 150. The motion control unit 150 of the robot 100 works in cooperation with the motion control unit 222 of the server 200 to determine the motion of the robot 100. Some motions may be determined by the server 200, while others may be determined by the robot 100. Alternatively, the robot 100 may determine the motion, but if the processing load on the robot 100 is high, the server 200 may determine the motion. The server 200 may determine the base motion, and the robot 100 may determine additional motions. How the motion determination process is divided between the server 200 and the robot 100 should be designed according to the specifications of the robot system 300.

[0057] The motion control unit 150 of the robot 100 instructs the drive mechanism 120 to execute the selected motion. The drive mechanism 120 controls each actuator according to the motion file.

[0058] The motion control unit 150 can perform a motion of raising both hands 106 as a gesture of asking to be held when a user with whom it has a close relationship is nearby, or it can express a motion of not wanting to be held by repeatedly rotating in the opposite direction and stopping while keeping the left and right front wheels 102 retracted. The drive mechanism 120 drives the front wheels 102, hands 106, and neck (head frame 316) according to the instructions of the motion control unit 150, causing the robot 100 to express various motions.

[0059] The recognition unit 156 of the robot 100 interprets external information obtained from the internal sensor 128. The recognition unit 156 is capable of visual recognition (visual unit), smell recognition (olfactory unit), sound recognition (auditory unit), and tactile recognition (tactile unit).

[0060] The recognition unit 156 extracts feature vectors from the captured image of the moving object. As described above, the feature vector is a set of parameters (feature quantities) that indicate the physical and behavioral characteristics of the moving object. When a moving object is detected, physical and behavioral characteristics are also extracted from the odor sensor, built-in sound-collecting microphone, temperature sensor, etc. These features are also quantified and become feature vector components. Based on known technologies described in Patent Document 2, etc., the recognition unit 156 identifies the user from the feature vector.

[0061] In a series of recognition processes including detection, analysis, and judgment, the recognition unit 156 of the robot 100 selects and extracts the information necessary for recognition, while the interpretation process, such as judgment, is performed by the recognition unit 212 of the server 200. The recognition process may be performed solely by the recognition unit 212 of the server 200, solely by the recognition unit 156 of the robot 100, or both may perform the recognition process while sharing responsibilities as described above.

[0062] When a strong impact is applied to the robot 100, the recognition unit 156 recognizes this using the touch sensor and acceleration sensor, and the recognition unit 212 of the server 200 recognizes that a "violent act" has been committed by a nearby user. A violent act may also be recognized when a user grabs the horns 112 and lifts the robot 100. When a user facing the robot 100 speaks in a specific volume range and frequency band, the recognition unit 212 of the server 200 may recognize that a "verbal interaction" has been performed on it. Furthermore, when a temperature of approximately body temperature is detected, it is recognized that a "contact action" has been performed by a user, and when upward acceleration is detected while contact has been recognized, it is recognized that the robot has been "picked up". Physical contact when a user lifts the body 104 may be sensed, or the robot may be picked up when the load on the front wheels 102 decreases. In summary, the robot 100 acquires the user's actions as physical information using its internal sensor 128, and the recognition unit 212 of the server 200 determines whether the user is pleased or displeased. The recognition unit 212 of the server 200 also performs user identification processing based on feature vectors.

[0063] The recognition unit 212 of the server 200 recognizes various user responses to the robot 100. Some typical responses among the various responses are associated with pleasant or unpleasant, and positive or negative. Generally, most pleasant responses are positive responses, and most unpleasant responses are negative responses. Pleasant and unpleasant responses are related to the level of familiarity, and positive and negative responses influence the robot 100's behavioral choices.

[0064] In response to the interaction recognized by the recognition unit 156, the intimacy management unit 220 of the server 200 changes the intimacy level with the user. In principle, the intimacy level increases for users who perform pleasant actions and decreases for users who perform unpleasant actions.

[0065] Based on the above basic configuration, the implementation of the robot 100 in this embodiment will now be explained, focusing particularly on the features and purpose of this implementation and the differences from the basic configuration.

[0066] [Implementation of reflex actions] Figure 6 is a hardware configuration diagram of the robot 100 in this embodiment. In this embodiment, the robot 100 is equipped with a CNS (Central Nervous System) board 116 in addition to a processor 122. The processor 122 functions as a higher-order control circuit 252 (see Figure 1). The CNS board 116 functions as a lower-order control circuit 250 (see Figure 1). The CNS board 116 is an electronic circuit designed to enable the robot 100 to perform a reaction motion R (reflexive action) within a certain time period from the moment it receives an external stimulus. Hereinafter, the control related to the decision to perform a reaction motion R by the lower-order control circuit 250 will be referred to as "lower-order control," and the control related to normal motion N (conscious action) by the higher-order control circuit 252 will be referred to as "higher-order control."

[0067] Figure 7 is a schematic diagram showing the correspondence between the lower-order control circuit 250, the higher-order control circuit 252, and the operation control unit 150. The functions of the data processing unit 136 of the robot 100 are realized through the cooperation of the robot 100's hardware and software. The motion control unit 150, which is responsible for a part of the functions of the data processing unit 136, also cooperates with the motion control unit 222 of the server 200 to determine the motion of the robot 100. In this embodiment, the low-order control circuit 250 is an electronic circuit specialized for low-order control in which software execution is not expected. The high-order control circuit 252 is a general-purpose processor 122 that executes various software. The functions of the motion control unit 150 are realized by the low-order control circuit 250, the high-order control circuit 252, and the software executed by the high-order control circuit 252.

[0068] Figure 8 is a schematic diagram illustrating low-order control. In this embodiment, multiple low-order control circuits 250 are associated one-to-one with multiple sensors. One reaction motion R is associated with one low-order control circuit 250. One or more actuators are associated with one low-order control circuit 250. The multiple low-order control circuits 250 may be distributed within the robot 100, or they may be centrally stored in the control circuit 342.

[0069] Of the multiple lower-order control circuits 250, the lower-order control circuit 250 shown in Figure 8 is associated with sensor F1 and detects the sensor value S1 (analog data) of sensor F1. If the sensor value S1 is greater than or equal to the reflection threshold T1, the lower-order control circuit 250 instructs the drive mechanism 120 (actuator) to execute the reaction motion R1. There may be two or more actuators involved in the reaction motion R1.

[0070] For example, let's say sensor F1 is a microphone array, and sensor value S1 is the volume value of the sound detected by the microphone array. Let's say reaction motion R1 is a motion that causes the head frame 316 of robot 100 to shake. When the sensor value S1 is greater than or equal to the reflection threshold T1, the low-order control circuit 250 sends a predetermined instruction signal to the actuator 326 that controls the head frame 316, causing the head frame 316 to shake, thereby expressing the robot 100's reaction to a loud noise.

[0071] In the low-order control circuit 250, the actuator to be instructed and its instruction signal are predefined in response to the reaction motion R1. Therefore, the low-order control circuit 250 can immediately execute a typical and simple reaction motion R in response to a simple external event such as a "loud noise." The processing of the low-order control circuit 250 is simple, and there is no overhead associated with software execution, resulting in excellent responsiveness.

[0072] Figure 9 is a schematic diagram illustrating higher-order control. The feasibility of executing Normal Motion N is comprehensively determined by the higher-order control circuit 252 (processor 122 and software) based on the sensor values ​​of one or more sensors and the behavioral characteristics model 254. The behavioral characteristics model 254 is an algorithm that determines the behavioral characteristics of the robot 100, such as emotional parameters and intimacy, and is composed of software. The behavioral characteristics model 254 also works in cooperation with the server 200 to determine the behavioral characteristics of the robot 100. The behavioral characteristics model 254 is an algorithm that expresses the recognition, interest, memory, prediction, preference, and behavior of the robot 100. Sensor values ​​S1 to Sn (digital data) from sensors F1 to Fn are input to the higher-order control circuit 252 in Figure 9. The higher-order control circuit 252 determines Normal Motion N based on the sensor values ​​S1 to Sn and instructs the drive mechanism 120 to execute it.

[0073] For example, the recognition unit 156 (part of the behavioral characteristics model 254) detects contact between user P2 and body 104 using a touch sensor, and also detects the robot 100 rising using a camera and acceleration sensor, and comprehensively determines that the robot 100 has been "picked up." When the robot is picked up, the intimacy management unit 220 of the server 200 increases its intimacy with user P1. The behavioral characteristics of the robot 100 change as the intimacy level changes. For example, when the camera of the robot 100 captures (sees) user P2, the higher the intimacy level with user P2, the higher the probability that the motion control unit 150 will select an action that brings it closer to user P2. In lower-order control, sensor values ​​and reaction motion R are directly linked. On the other hand, in higher-order control, external events are interpreted based on sensor values, and the action selection criteria are changed by changing internal variables such as intimacy and emotion parameters, and normal motion N is selected as the processing result of the behavioral characteristics model 254.

[0074] Figure 10 is a circuit diagram of the behavior control system 170 for robot 100. The behavior control system 170 includes a CNS board 116 (low-order control circuit 250) responsible for low-order control and a processor 122 (high-order control circuit 252) responsible for high-order control. The CNS board 116 (low-order control circuit 250) includes a core circuit 174 and an output circuit 176. In this embodiment, a CNS board 116 is provided for each sensor F, and one CNS board 116 can transmit instruction signals to one or more actuators. Here, the sensor F may be an internal sensor 128 such as a camera, or an external sensor 114.

[0075] The core circuit 174 determines whether or not to execute reaction motion R according to the sensor value of sensor F. The core circuit 174 may also include an A / D conversion circuit that converts the sensor value and outputs the sensor value as digital data to the processor 122 (higher-order control circuit 252). The core circuit 174 may also include a function to format the sensor value into a format that is easy for the processor 122 to use. The output circuit 176 controls one or more actuators (drive mechanisms 120).

[0076] (Core circuit 174) The core circuit 174 includes a sensor value input unit 178, a shaping unit 180, a sensor value output unit 182, a determination unit 184, a signal generation unit 186, and a setting input unit 188. The sensor value input unit 178 acquires the sensor value. The sensor value may be analog data or digital data. The determination unit 184 determines whether the sensor value is above a preset threshold (the "reflection threshold" mentioned above). Hereinafter, external events that cause the sensor value to exceed the reflection threshold will be referred to as "intensity events". When an intensity event occurs, the determination unit 184 causes the signal generation unit 186 to generate a control signal instructing the execution of the reaction motion R, and sends a cancellation signal to the processor 122. Upon receiving the instruction from the determination unit 184, the signal generation unit 186 instructs the signal output unit 192 of the output circuit 176 to execute the preset reaction motion R. More specifically, it sends instruction signals (amount of movement, speed of movement, direction of movement) for one or more actuators associated with the reaction motion R to the signal output unit 192.

[0077] On the other hand, regardless of whether it is an intensity event or not, the sensor value is formatted by the formatting unit 180 into a format that is easy to use in subsequent processing. The robot 100 is equipped with various types of sensors F. Sensors F output sensor values ​​at regular intervals, but the output periods are not the same. The higher-order control circuit 252 (processor 122) performs processing based on the sensor values ​​of multiple sensors F, so if the sensor values ​​of the sensors used for processing arrive at different timings, it consumes its own computing resources because it needs to perform timing adjustment processing. Therefore, the formatting unit 180 stores the sensor values ​​received from each sensor F in a buffer as needed and synchronizes the output timing of each sensor value. By having the formatting unit 180 handle the adjustment of the output timing of the sensor values, the processing load of the higher-order control circuit 252 is reduced. When adjusting the output timing in the formatting unit 180, it may be designed to synchronize with the CNS board 116 provided for other sensors, or multiple CNS boards 116 may share the formatting unit 180 and the sensor value output unit 182.

[0078] The sensor value output unit 182 outputs the sensor value to the higher-order control circuit 252 regardless of whether or not reaction motion R is required. The software executed in the higher-order control circuit 252 determines the behavioral characteristics of the robot 100 according to the sensor value. Preferably, the reflection threshold can be changed according to the environment and state in which the robot 100 is placed. When the higher-order control circuit 252 changes the reflection threshold and reaction motion R settings in the CNS board 116 (lower-order control circuit 250), it sends a setting signal to the setting input unit 188. The setting input unit 188 updates the reflection threshold in the determination unit 184 and changes the reaction motion R setting in the signal generation unit 186.

[0079] (Output circuit 176) The output circuit 176 includes an instruction input section 190 and a signal output section 192. The higher-order control circuit 252 sends an instruction signal to each actuator when performing normal motion N. The instruction input unit 190 receives the instruction signal for normal motion N from the higher-order control circuit 252 and transmits it to the signal output unit 192. The signal output unit 192 receives the instruction signal for reaction motion R from the signal generation unit 186 (core circuit 174) and the instruction signal for normal motion N from the instruction input unit 190 (higher-order control circuit 252). When the signal output unit 192 receives the control signal for reaction motion R from the signal generation unit 186, it overrides the control signal for normal motion N received from the instruction input unit 190 and prioritizes transmitting the control signal for reaction motion R to the drive mechanism 120.

[0080] The drive mechanism 120 operates according to the control signals. When the signal output unit 192 instructs the execution of reaction motion R, it first sends a control signal (command) to stop the current drive state, and then sends a control signal to execute reaction motion R. In other words, the signal output unit 192 stops the currently ongoing operation in the drive mechanism 120 and immediately executes reaction motion R. If there is no instruction to execute reaction motion R from the signal generation unit 186, the signal output unit 192 sequentially transmits the control signals for normal motion N received from the instruction input unit 190 to the drive mechanism 120.

[0081] The determination unit 184 of the core circuit 174 sends a cancellation signal to the higher-order control circuit 252 when it executes a reaction motion R due to an intense event. When the higher-order control circuit 252 receives the cancellation signal, it interrupts the execution of the normal motion N and starts processing according to the sensor value output from the sensor value output unit 182. With this control method, the reaction motion R is executed immediately, while the higher-order control circuit 252 can determine the normal motion N to be executed after the completion of the reaction motion R without waiting for the reaction motion R to finish.

[0082] Figure 11 is a conceptual diagram of the reaction table 194. The reflection threshold is set in the determination unit 184 (core circuit 174). The reaction motion R, or more precisely, the instruction value for the actuator involved in the reaction motion R, is set in the signal generation unit 186 (core circuit 174). The reaction table 194 shown in Figure 11 schematically shows the correspondence between the reflection threshold set in the determination unit 184 and the reaction motion R set in the signal generation unit 186. For each lower-order control circuit 250, in other words, for each sensor F, a set of reflection threshold and reaction motion R (reaction table 194) is defined.

[0083] The reaction table 194 shown in Figure 11 defines the reflection threshold T and reaction motion R for sensor F1 (sensor value S1). In Figure 11, the reflection threshold T = T1 is set. Any of motions M1 to M4 can be selected as reaction motion R, but in Figure 11, motion M1 is set. That is, when the sensor value S1 exceeds the reflection threshold T1, the core circuit 174 instructs the execution of motion M1 as the reaction motion R. The signal generation unit 186 is set with the actuator to be controlled in order to realize motion M1, and its instruction values ​​(amount of movement, direction of movement, speed of movement). Below are some specific examples of reaction motion R.

[0084] (Example 1: Reflex action when a loud noise is heard) When robot 100 hears a loud noise, it reflexively shakes its hand 106. To realize this reaction motion R, a low-order control circuit 250, which is associated with a microphone array, detects the volume value. When the volume value (sensor value) exceeds the reflex threshold, the signal generation unit 186 vibrates the wire 134. By performing the simple process of vibrating the wire 134 when a loud noise is detected, the low-order control circuit 250 can express the reflexive action of "shaking the hand 106 in surprise at a loud noise" with high responsiveness.

[0085] The higher-order control circuit 252 can change the reflection threshold used by the lower-order control circuit 250. For example, when the number of times a sound with a reflection threshold T1 or higher is detected per unit time exceeds a predetermined number, the higher-order control circuit 252 (motion control unit 150) may change the reflection threshold from T1 to T2 (>T1). With this control method, the robot 100, which has been exposed to loud noises for a long time, will no longer react to sounds around the reflection threshold T1. In other words, it can represent the robot 100 becoming accustomed to loud noises. When the number of times a sound with a reflection threshold T2 or lower is detected per unit time is within a predetermined number, the higher-order control circuit 252 (motion control unit 150) may change the reflection threshold from T2 to T1.

[0086] The higher-order control circuit 252 can also change the reaction motion R. Let's say motion M1 is a motion that makes the hand 106 shake, and motion M2 is a motion that retracts the front wheels 102 into the body 104 and sits down. For example, if no sound above the reflection threshold is detected for a predetermined time or longer, the higher-order control circuit 252 may change the reaction motion R from "motion M1 that makes the hand 106 shake" to "motion M2 that makes the robot sit down". With this control method, the robot 100, which is not used to loud noises, will sit down when it hears a loud noise.

[0087] As described above, the higher-order control circuit 252 changes the reflection threshold and reaction motion R when predetermined modification conditions are met. Hereinafter, the reflection threshold and reaction motion R will be collectively referred to as "reflection characteristics." By changing the reflection characteristics of the lower-order control circuit 250 in response to external or internal events, the higher-order control circuit 252 can achieve both high-speed response of reaction motion and diversification of reflection characteristics.

[0088] (Example 2: Reflexive actions when hit) When the robot 100 is hit on the head by a user, it reflexively moves backward. To achieve this reaction motion R, one of the low-order control circuits 250 detects the contact strength of a touch sensor attached to the head of the robot 100 as a sensor value. If the sensor value is above the reflex threshold, in other words, when a strong contact to the head is detected, the signal generation unit 186 instructs the front wheels 102 to rotate backward. Through this control, the robot 100 can be made to perform the reflex action of "running backward when hit on the head".

[0089] By changing the reflection threshold, the sensitivity to being hit changes. If the reflection threshold is set low, robot 100 will move backward even if it is lightly hit. If the reflection threshold is set high, robot 100 will only move backward when hit hard. By changing the reflection threshold of the touch sensor, you can adjust robot 100's sensitivity and tolerance to "pain".

[0090] In addition to backward movement, various other reaction motions R can be set. For example, when struck, the robot 100 may shake its body 104. The lower-order control circuit 250 may close its eyelids when struck by changing the pupil image displayed in the eye 110. In this way, the lower-order control circuit 250 may send instruction signals to electrical control devices such as display devices, in addition to mechanical control devices such as actuators.

[0091] The robot 100 may express relaxation by suppressing or stopping the power supply to the actuators depending on external events, such as when it is struck. The lower-order control circuit 250 may express "rigidity" or "tension" by fixing the movement of the actuators.

[0092] (Example 3: Reflexive actions when falling) During a fall, robot 100 reflexively cuts off power to all actuators. This is to prepare for the impact by maximizing the mobility of the actuators. In other words, it allows robot 100 to absorb the impact by giving flexibility to the actuators (joints). The lower-order control circuit 250 instructs the robot to cut off power to the actuators when the acceleration (sensor value) detected by the acceleration sensor is above the reflection threshold. When a fall is detected, robot 100 may retract the front wheels 102 into the body 104. Normally, the front wheels 102 are exposed from the body 104, so retracting the front wheels 102 (movement mechanism) into the body 104 prevents damage to the front wheels 102 from the impact of the fall. Reaction motion R may be performed not only to express an instinctive immediate reaction, but also to protect the robot 100's mechanism.

[0093] (Example 4: Emergency stop) The robot 100 is equipped with an emergency stop switch (hereinafter referred to as the "emergency stop switch"). When the emergency stop switch is turned on by the user, the CNS board 116 immediately cuts off power to all actuators. When the emergency stop switch is off (normal state), the sensor value input unit 178 receives a value of "1" as the powered state. When the emergency stop switch is turned on, the sensor value input unit 178 receives a value of "0" as the powered state. The determination unit 184 is set to "0" as the determination condition. When the sensor value supplied from the sensor value input unit 178 becomes "0", the determination unit 184 instructs the signal generation unit 186 to stop powering the actuators.

[0094] As described above, multiple reaction motions R are associated with a single sensor, and the higher-order control circuit 252 selects one of them. With this control method, predefined reaction motions can be executed at high speed according to the sensor value. The conditions for determining which of the multiple reaction motions to execute can be set arbitrarily. For example, suppose motions M1 to M4 are set to be selectable as reaction motions for sensor F1. The higher-order control circuit 252 may periodically and randomly select one of the reaction motions M1 to M4.

[0095] The amount of movement in an action can vary depending on the motion, not just the content of the action. For example, reaction motion M1 might be a motion that moves backward by more than 1 meter, and reaction motion M2 might be a motion that moves backward by 10 centimeters. In an environment where loud noises occur frequently, setting motion M2 instead of motion M1 can express the robot 100's accustomedness to loud noises. Also, reaction motion M1 may be changed to reaction motion M2 when the number of days elapsed since the manufacturing date of robot 100 exceeds a predetermined value. This control method can express the "calmness" that comes with aging, such as becoming less startled by loud noises.

[0096] The robot 100 and the robot system 300 including the robot 100 have been described above based on the embodiments. In this embodiment, complex behavioral characteristics are expressed by a higher-order control circuit 252 (software level), and instinctive, immediate actions are executed by a lower-order control circuit 250 (hardware level). Just as the human brain is divided into the neocortex, which governs rational thinking, and the paleocortex, such as the limbic system, the robot 100 also separates the control mechanisms for conscious actions from those for unconscious actions. This design allows the robot 100 to perform both complex behavioral characteristics and instinctive, simple reflex actions.

[0097] The low-order control circuit 250 determines whether or not to execute reaction motion R simply by checking whether the sensor value exceeds the reflection threshold. Therefore, the time lag from the occurrence of an intensity event to the execution of reaction motion R can be kept within 200 milliseconds. The low-order control circuit 250 may receive the sensor value as analog data or as digital data. Depending on the type of data, an A / D conversion function is provided as appropriate.

[0098] When the low-order control circuit 250 executes reaction motion R, a cancellation signal suppresses the execution of normal motion N by the high-order control circuit 252. This type of control is designed to prevent unnatural behavior that may occur when reaction motion N and normal motion N are executed simultaneously or consecutively. Because the algorithm of the low-order control circuit 250 is simple, it can be implemented at the hardware level without software. The low-order control circuit 250 does not incur the overhead associated with software execution. On the other hand, the high-order control circuit 252's algorithm is implemented in software, so its decision-making is slower than that of the low-order control circuit 250, but it can represent complex behavioral characteristics based on multiple sensor values.

[0099] The higher-order control circuit 252 changes various parameters such as emotional parameters and intimacy based on multiple sensor values. These parameters represent the intrinsic state of the robot 100, such as its "mental state" and "personality." Based on the robot 100's intrinsic state and external events, the robot 100's actions (normal motion N) are determined.

[0100] The higher-order control circuit 252 modifies the reflection threshold, which is the decision criterion for the algorithm of the lower-order control circuit 250, and the reaction motion R, which is the action content. By modifying the reflection characteristics by the higher-order control circuit 252, monotonicity of the reaction motion R can be prevented.

[0101] It should be noted that the present invention is not limited to the embodiments and modifications described above, and the components can be modified and implemented without departing from the spirit of the invention. Various inventions may be formed by appropriately combining the multiple components disclosed in the embodiments and modifications described above. In addition, some components may be deleted from all the components shown in the embodiments and modifications described above.

[0102] Although the robot system 300 is described as consisting of one robot 100, one server 200, and multiple external sensors 114, some of the functions of the robot 100 may be implemented by the server 200, or some or all of the functions of the server 200 may be assigned to the robot 100. One server 200 may control multiple robots 100, or multiple servers 200 may cooperate to control one or more robots 100.

[0103] A third device other than robot 100 or server 200 may perform some of the functions. The collection of functions of robot 100 and server 200 described in Figure 5 can also be viewed as a single "robot" in a broader sense. How to distribute the multiple functions necessary to realize the present invention to one or more hardware components should be determined in consideration of the processing capabilities of each hardware component and the specifications required for the robot system 300.

[0104] As mentioned above, "robot in the narrow sense" refers to robot 100 excluding server 200, while "robot in the broad sense" refers to robot system 300. Many of the functions of server 200 may be integrated into robot 100 in the future.

[0105] In this embodiment, the lower-order control circuit 250 includes both the core circuit 174 and the output circuit 176, but the core circuit 174 can also be considered as the "lower-order control circuit 250 in the narrow sense."

[0106] In this embodiment, a lower-order control circuit 250 is associated with each sensor, and the lower-order control circuit 250 controls one or more actuators. As a modified example, a core circuit 174 may be associated with each sensor, and an output circuit 176 may be associated with each actuator. When there are n sensors and m actuators, n core circuits 174 and m output circuits 176 may be mounted on a single CNS board 116.

[0107] Multiple sensors may be associated with a single CNS board 116. In this case, the sensor value input unit 178 of the core circuit 174 may acquire multiple sensor values, and the determination unit 184 may determine whether or not a reaction motion R can be executed for each sensor.

[0108] In situations where the robot 100 may be harmed, such as by a fall or impact, the lower-order control circuit 250 may also retract and protect protruding parts such as the horns 112 in the body 104, in addition to the front wheels 102.

[0109] The algorithm of the low-order control circuit 250 is simple and can be implemented in hardware only, but this does not preclude software implementation. The low-order control circuit 250 may implement the low-order control function by executing simple software. If the low-order control function is implemented in software, multiple low-order control functions corresponding to multiple sensors F can be implemented on a single processor.

[0110] Multiple reflection thresholds may be set for the lower-order control circuit 250. The lower-order control circuit 250 may execute reaction motion M1 when the sensor value exceeds the reflection threshold T1, and reaction motion M2 when the sensor value exceeds the reflection threshold T2 (>T1). In this way, the lower-order control circuit 250 may execute multiple reaction motions in response to multiple reflection thresholds.

[0111] Regarding sound, the decision to perform a reaction motion R may be based not only on volume but also on other sensor values ​​such as frequency. Even if the volume is low, a reaction motion R may be performed if an unpleasant high-frequency sound is heard. Separate low-order control circuits 250 for detecting volume values ​​and low-order control circuits 250 for detecting frequency may be provided for the microphone array. In this way, multiple low-order control circuits 250 (core circuits 174) may be associated with a single sensor.

[0112] In this embodiment, the explanation was based on a two-stage control system consisting of a low-order control circuit 250 for low-order control and a high-order control circuit 252 for high-order control. As a modified example, an electronic circuit that performs intermediate-level control (intermediate control) between low-order and high-order control may be provided, thereby distributing three or more stages of control among three or more electronic circuits.

[0113] Instead of providing two separate control circuits, a low-order control circuit 250 and a high-order control circuit 252, the processor 122 may perform both low-order and high-order control. Specifically, the processor 122 can execute the software LS for low-order control and the software HS for high-order control in parallel. For example, the software LS may be implemented as a process or thread with a higher priority than the software HS.

[0114] In this embodiment, the low-order control circuit 250 has been described as an electronic circuit that is not intended to execute software. However, the low-order control circuit 250 may be an electronic circuit that executes embedded software as firmware. The low-order control circuit 250 may be configured as a PLD (Programmable Logic Device) such as an FPGA (Field-Programmable Gate Array).

[0115] In this embodiment, four specific examples of reaction motion R were given: (1) a reflex action when a loud noise is heard, (2) a reflex action when struck, (3) a reflex action when dropped, and (4) an emergency stop. In addition to these, the following types of reaction motion R are also conceivable.

[0116] (Example 5: Reflexive actions when an obstacle is detected) Robot 100 may be equipped with distance measuring sensors such as a Time of Flight (ToF) sensor or sonar. The low-level control circuit 250 may stop the movement of robot 100 when it detects a wall, step, hole, or cliff using the distance measuring sensor. For example, when the low-level control circuit 250 detects an obstacle at close range, it may instruct the front wheels 102 to stop driving. By stopping the movement of robot 100 triggered by sensor values ​​that are expected to threaten the safety of robot 100, robot 100 can be protected from danger. When an obstacle is detected, the high-level control circuit 252 determines an "event" based on information collected from other sensors and selects the next normal motion N to take, such as "reverse". After robot 100 makes an abrupt stop as instructed by the low-level control circuit 250, it executes the normal motion N instructed by the high-level control circuit 252. In this way, robot 100 may immediately execute a reaction motion R and then continue to execute a normal motion N.

[0117] When an obstacle falls in front of the robot, or when an obstacle is placed, the lower-order control circuit 250 may instruct the robot 100 to stop moving, triggered by the detection of an obstacle at close range. As described above, after executing a reaction motion R (sudden stop) for safety, the higher-order control circuit 252 may execute a normal motion N. For example, the higher-order control circuit 252 may express surprise in the robot 100 by raising its hand 106, dilating the pupil of the eye image displayed in the eye 110, or making it blink.

[0118] (Example 6: Reflexive actions when a heat source is detected) The robot 100 may detect a heat source using a thermosensor. The lower-order control circuit 250 instructs the robot 100 to stop moving when it detects a temperature above a predetermined threshold (high temperature). The predetermined threshold may be determined according to the heat resistance temperature of the components forming the robot 100. When approaching a heat-generating device such as a heater or stove, the safety of the robot 100 can be ensured by executing a reaction motion R to prevent the robot 100 from overheating. Similarly, when approaching a heat source with a flame, such as a candle or cigarette, the safety of the robot 100 can be ensured by stopping its approach to the heat source.

[0119] (Example 7: Reflex action upon detecting a flash of light) The robot 100 displays an eye image in its eye 110. When the low-level control circuit 250 detects a strong light (flash) using a camera or light sensor, it displays an eye image of closed eyelids in the eye 110. This control method allows for the immediate representation of the robot 100 instinctively closing its eyes when exposed to a strong light. In addition, the robot 100 may perform other reaction motions R, such as turning its face away, tilting its head downwards, or stopping its movement.

[0120] (Example 8: Reflexive actions during blackout) The lower-order control circuit 250 may stop the robot's movement when it detects, using a camera or light sensor, that the amount of light has fallen below a predetermined value. For example, when the user turns off the lights in the room, stopping the robot 100's movement can prevent it from colliding with objects in the room in the dark.

[0121] A light sensor may be attached to the face of robot 100. When the user covers the eyes 110 of robot 100, the low-level control circuit 250 may express surprise to robot 100 by shaking its hand 106. Other ways to express surprise include blinking using eye images or shaking the head from side to side.

[0122] Reaction motion R, instructed by the lower-order control circuit 250, takes precedence over normal motion N, instructed by the higher-order control circuit 252. If reaction motion R is instructed by the lower-order control circuit 250 while normal motion N is running, the running normal motion N is immediately stopped, and reaction motion R is executed first. Also, if normal motion N is selected by the higher-order control circuit 252 when there are reaction motion R waiting to be executed, normal motion N is executed after all scheduled reaction motion R has been completed. In this way, reaction motion R and normal motion N are not executed in parallel, and the execution order of reaction motion R and normal motion N is serialized.

[0123] The lower-order control circuit 250 shown in Figure 10 may include an execution status notification unit (not shown) for notifying the higher-order control circuit 252 of the execution status of the reaction motion R. More specifically, the signal generation unit 186 generates an execution instruction signal for the reaction motion R and outputs it to the signal output unit 192. After this, the execution status notification unit notifies the higher-order control circuit 252 that the execution of the reaction motion R has been completed. The execution status notification unit detects that the last execution instruction of one or more reaction motion Rs has been transmitted from the signal output unit 192 to the drive mechanism 120 as an operation instruction, and that the drive mechanism 120 has completed the operation corresponding to the last execution instruction. At this time, the execution status notification unit notifies the higher-order control circuit 252 that all of the one or more reaction motion Rs have been completed.

[0124] In other words, after all scheduled reaction motions R have been executed, the higher-order control circuit 252 instructs the execution of the previously selected normal motion N. Since motion execution often involves mechanical movement, it takes a certain amount of time from the start to the completion of execution. On the other hand, motion selection by the higher-order control circuit 252 (electronic circuit and software) is expected to become even faster in the future. According to the control method described above, the execution status notification unit notifies the higher-order control circuit 252 of the execution status of reaction motions R, or in other words, while the higher-order control circuit 252 waits to execute the normal motion N, the lower-order control circuit 250 can prioritize the execution of one or more reaction motions R. In the future, even when the normal motion N becomes more diverse, it will be easier to achieve immediate execution (immediate response) of reaction motions R.

[0125] Normal motion N may be paused during its execution to allow reaction motion R to be performed. In this case, after reaction motion R has been performed (after the reflex action), the previously executed normal motion N may be resumed. For example, suppose that normal motions N1 and N2 are scheduled to be performed consecutively, and the robot is instructed to perform reaction motion R1 while normal motion N1 is in progress. In this case, the execution of normal motion N1 is stopped, and reaction motion R1 is performed first. After reaction motion R1 is completed, normal motion N1 may be resumed from where it left off, or normal motion N1 may be restarted from the beginning, or normal motion N1 may be canceled and normal motion N2 may be performed. Furthermore, depending on the event that triggered the reflex action, the internal state of the robot 100 (emotional parameters, intimacy, etc.) may be changed, and a new normal motion N may be selected based on the change in the internal state. For example, a new target destination may be set, and then the robot 100 may be moved.

Claims

1. A motion control unit that selects the robot's motion, The system includes a drive mechanism that executes the motion selected by the motion control unit, The aforementioned operation control unit, When the sensor's detected value exceeds a threshold, the reaction pre-associated with the sensor A lower-order control circuit for selecting motion, The system includes a higher-order control circuit that changes the robot's behavioral characteristics according to the detected values ​​of the aforementioned sensors, The higher-order control circuit then controls the next generation of the sensor according to the detected value of the sensor. It is configured to update subsequent reaction motions. The aforementioned lower-order control circuit, when the sensor's detected value exceeds the threshold, is controlled by the higher-order control circuit as previously controlled by the higher-order control circuit. It is characterized by being configured to perform pre-set reaction motions. ru Autonomous robot.

2. A motion control unit that selects the robot's motion, The system includes a drive mechanism that executes the motion selected by the motion control unit, The aforementioned operation control unit, When the sensor's detected value exceeds a threshold, the reaction pre-associated with the sensor A lower-order control circuit for selecting motion, The system includes a higher-order control circuit that changes the robot's behavioral characteristics according to the detected values ​​of the aforementioned sensors, The aforementioned drive mechanism further comprises a moving mechanism that can be housed in the robot's casing. The aforementioned lower-order control circuit, when a fall is detected by the sensor, the reaction motor As a result, the aforementioned moving mechanism is housed in the robot's casing. Autonomous robot.

3. The aforementioned higher-order control circuit selects the robot's normal motion according to the detected value. 、 The aforementioned motion control unit controls the reaction motion selected by the lower-order control circuit and the higher-order control circuit. The next control circuit causes the drive mechanism to execute the normal motion selected by the next control circuit, and the When the detected value exceeds the threshold The autonomous robot according to claim 1 or 2, which prioritizes the execution of reaction motions over normal motions.

4. Multiple lower-order control circuits are provided, corresponding to each of the multiple sensors. The higher-order control circuit responds to the combination of detected values ​​output from the plurality of lower-order control circuits. The autonomous robot according to claim 1 or 2, which then selects the normal motion of the robot.

5. The autonomous robot according to claim 1 or 2, wherein the higher-order control circuit sets reaction motions to be associated with the sensors.

6. The autonomous robot according to claim 1 or 2, wherein the higher-order control circuit updates the threshold.

7. The aforementioned lower-order control circuit selects a reaction motion according to the detected value of one type of sensor. Select, The aforementioned higher-order control circuit controls the robot's movements according to the combination of detection values ​​from multiple types of sensors. An autonomous robot according to claim 1 or 2, which changes its dynamic characteristics.

8. The lower-order control circuit, when the sensor's detected value exceeds the threshold, pre-configures the sensor. They perform reaction motions as typical corresponding behaviors. The higher-order control circuit changes the emotion parameter according to the value detected by the sensor, and the emotion An autonomous robot according to claim 1 or 2, which changes the robot's behavioral characteristics in response to changes in parameters.

9. The aforementioned lower-order control circuit is included in the drive mechanism as the reaction motion. An autonomous robot according to claim 1 or 2, which stops the supply of power to the actuator.

10. The lower-order control circuit and the higher-order control circuit are configured separately as hardware. An autonomous robot according to claim 1 or 2, characterized by being present.

11. Multiple lower-order control circuits are provided as separate hardware, corresponding to each of the multiple sensors. An autonomous robot according to claim 1 or 2, provided in each individual.

Citation Information

Patent Citations

  • Connecting device and robot system

    JP2000323219A

  • Autonomous behavior robot that performs welcoming behavior

    WO2017169826A1