robot
The robot's dual control system enables immediate reflex actions and complex behaviors, addressing the unnatural response times of existing robots and improving its companionship qualities.
Patent Information
- Application Number
- JP2024113711
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2017-11-01
- Filing Date
- 2024-07-16
- Publication Date
- 2026-01-21
- Estimated Expiration
- 2038-10-31
AI Technical Summary
Existing robots lack the ability to perform natural reflex actions due to time lags exceeding 200 milliseconds, making their responses appear unnatural and limiting their ability to function as companions like pets.
The robot incorporates a low-level control circuit to execute immediate reflex actions and a high-level control circuit to manage complex behaviors, ensuring quick and natural responses to external stimuli.
This configuration allows the robot to perform instantaneous reflex actions, enhancing its lifelike presence and interaction capabilities.
Smart Images

Figure 0007803578000001 
Figure 0007803578000002 
Figure 0007803578000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a robot that autonomously selects an action depending on its internal state or external environment. [Background technology]
[0002] People keep pets to find comfort. However, many people give up on having pets for various reasons, such as not having enough time to care for them, not having a living environment that allows them to keep a pet, allergies, or the pain of losing a pet. If there were a robot that could play the role of a pet, it might be able to provide the same comfort that pets provide to people who cannot keep pets (see Patent Documents 1 and 2). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2000-323219 [Patent Document 2] International Publication No. 2017 / 169826 Summary of the Invention [Problem to be solved by the invention]
[0004] Although robot technology has been advancing rapidly in recent years, it has not yet reached the point where it can function as a companion like a pet. This is because it is not believed that robots have free will. By observing the behavior of pets that can only be assumed to have free will, humans can sense the existence of free will in pets, empathize with them, and find comfort in them.
[0005] In addition to free will, "instinct" also characterizes living things. Instinct is an innate behavior triggered by environmental stimuli without conscious judgment. Danger avoidance is a typical example. Reflex actions based on instinct (hereinafter referred to as "reflex actions") are simple and immediate because they are unconscious. In addition to complex and diverse behaviors that suggest free will (hereinafter referred to as "conscious actions"), quick reflex actions in response to external stimuli are also important in giving robots a living-life-like presence. According to the inventors' research, if the time lag between when a robot receives a stimulus and when it starts a reflex action (time lag) exceeds 200 milliseconds, the reflex action appears unnatural.
[0006] The present invention was completed based on the above-mentioned problem recognition, and its main purpose is to provide a technology for efficiently controlling the reflex actions of a robot in response to various events occurring outside. [Means for solving the problem]
[0007] An autonomously acting robot according to one aspect of the present invention includes a motion control unit that selects a motion of the robot, and a drive mechanism that executes the motion selected by the motion control unit. The motion control unit includes a low-level control circuit that selects a reaction motion that is pre-assigned to the sensor when the sensor's detection value exceeds a threshold, and a high-level control circuit that changes the robot's behavioral characteristics according to the sensor's detection value. [Effects of the Invention]
[0008] According to the present invention, it becomes easier to make a robot perform natural reflex actions. [Brief explanation of the drawings]
[0009] [Figure 1] FIG. 1 is a conceptual diagram for explaining a method for realizing reflex actions by a robot. [Figure 2]Figure 2(a) is a front view of the robot, and Figure 2(b) is a side view of the robot. [Figure 3] FIG. 2 is a cross-sectional view schematically illustrating the structure of the robot. [Figure 4] FIG. 2 is a hardware configuration diagram of a robot in a basic configuration. [Figure 5] FIG. 2 is a functional block diagram of the robot system. [Figure 6] FIG. 2 is a hardware configuration diagram of the robot according to the present embodiment. [Figure 7] FIG. 2 is a schematic diagram showing the correspondence between a low-order control circuit, a high-order control circuit, and an operation control unit. [Figure 8] FIG. 10 is a schematic diagram for explaining low-order control. [Figure 9] FIG. 10 is a schematic diagram for explaining high-order control. [Figure 10] FIG. 1 is a circuit configuration diagram of a robot behavior control system. [Figure 11] FIG. 10 is a conceptual diagram of a reaction table. DETAILED DESCRIPTION OF THE INVENTION
[0010] FIG. 1 is a conceptual diagram for explaining a method for realizing a reflex action by a robot 100. In FIG. Living creatures perform reflexive actions when they receive a strong instantaneous stimulus. For example, they will pull away if hit, or shrink back if they hear a loud noise. The robot 100 in this embodiment has a configuration for realizing such reflexive actions. The robot 100 receives various stimuli from the external environment. The robot 100 recognizes external events based on the detected values of sensors (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 a behavior that imitates the conscious behavior of living things. Reaction motion is a behavior that imitates the unconscious behavior (reflex behavior) of living things. Reaction motion is simpler than normal motion, but requires immediacy (fast response).
[0012] The robot 100 includes a low-level control circuit 250 and a high-level control circuit 252. The high-level control circuit 252 is assumed to be a general-purpose processor such as a CPU (Central Processing Unit). The high-level control circuit 252 is capable of expressing complex behaviors using software. The reaction time (the time from the occurrence of an event to the start of an action) that humans perceive as an "instantaneous reaction" is generally said to be within 200 milliseconds. Therefore, if the reaction time of the robot 100 exceeds 200 milliseconds, it will no longer appear to be an instantaneous reaction.
[0013] Because the high-order control circuit 252 is an electronic circuit designed to execute a variety of processes, the time from when the high-order control circuit 252 receives an instruction to when it starts processing varies depending on the situation of the robot 100. In this embodiment, a low-order control circuit 250 is provided to always execute processing within a specified time for stimuli of a certain level or greater. Because the low-order control circuit 250 is hardware-independent from the high-order control circuit 252, it is not affected by the processing load on the high-order control circuit 252. The low-order control circuit 250 detects abnormalities in the sensor values by comparing the sensor values sequentially received from the sensors with predetermined conditions. When an abnormality is detected, the low-order control circuit 250 immediately commands the execution of a reaction motion. The low-order control circuit 250 is assumed to be a dedicated microcontroller, but may also be implemented by executing a program on a general-purpose microprocessor. The low-order control circuit 250 may be formed as a combination of electronic components. The low-order control circuit 250 has standardized and typicalized processing contents compared to the high-order control circuit 252, and therefore can respond to external events faster than the high-order control circuit 252.
[0014] The robot 100 detects an external stimulus as a sensor value SA (analog data). In this embodiment, when the sensor value SA exceeds a threshold value (hereinafter referred to as a "reflex threshold"), the low-order control circuit 250 instructs the robot 100 to execute 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 surprised by the loud noise.
[0015] The low-order control circuit 250 also performs analog-to-digital conversion (A / D conversion) to convert the analog sensor value SA into digital sensor value SD, 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 normal motion N. For example, when the user P1 yells, the high-order control circuit 252 reduces the intimacy level with the user P1 and selects one of various normal motions N, such as moving away from the user P1 or sitting down.
[0016] In situations where reaction motion R and normal motion N can be executed simultaneously, reaction motion R takes precedence over normal motion N. This is called the "principle of lower priority." The lower-order control circuit 250 is given the opportunity to make decisions about external events before the higher-order control circuit 252, and by executing reaction motion R as necessary, immediate reflex action is realized. The basic configuration of the robot 100 will be described below with reference to FIGS. 2 to 5, and then a method for implementing reactive behavior in this embodiment will be mainly described.
[0017] [Basic configuration] 2(a) is a front external view of the robot 100. FIG. 2(b) is a side external view of the robot 100. The robot 100 in this embodiment is an autonomous robot that determines its behavior based on the external environment and its internal state. The external environment is recognized by various sensors such as cameras and thermosensors. The internal state is quantified as various parameters that express the emotions of the robot 100. The robot 100's range of activity is within the owner's home. Hereinafter, a human interacting with the robot 100 will be referred to as a "user."
[0018] The body 104 of the robot 100 has an overall rounded shape and includes an outer skin made of a soft, elastic material such as urethane, rubber, resin, or fiber. The robot 100 may be dressed in clothing. The total weight of the robot 100 is approximately 5 to 15 kilograms, and the height is approximately 0.5 to 1.2 meters. The appropriate weight, roundness, softness, and pleasant feel of the robot 100 make it easy for the user to hold the robot 100, and make the user want to hold it.
[0019] The robot 100 includes a pair of front wheels 102 (left wheel 102a and right wheel 102b) and one rear wheel 103. The front wheels 102 are drive wheels, and the rear wheels 103 are driven wheels. The front wheels 102 do not have a steering mechanism, but the rotation speed and direction of the front wheels 102 can be individually controlled. The rear wheels 103 are casters that are rotatable to move the robot 100 forward, backward, left, and right. The rear wheels 103 may be omniwheels.
[0020] The front wheels 102 and rear wheels 103 can be completely retracted into the body 104 by a drive mechanism (rotating mechanism, link mechanism). Even when the robot 100 is moving, most of the wheels are hidden by the body 104, but when the wheels are completely retracted into the body 104, the robot 100 becomes immobile. That is, as the wheels are retracted, the body 104 descends and sits on the floor F. In this seated state, a flat seating surface 108 (ground-contact bottom surface) formed on the bottom of the body 104 abuts on the floor F.
[0021] The robot 100 has two hands 106. The hands 106 do not have the function of grasping objects. The hands 106 are capable of simple movements such as lifting, shaking, and vibrating. The two hands 106 can also be controlled individually.
[0022] The eyes 110 can display images using liquid crystal elements or organic EL elements. The robot 100 is equipped with various sensors, such as a microphone array and ultrasonic sensors, that can identify the direction of a sound source. It also has a built-in speaker, so it can emit simple sounds.
[0023] Horns 112 are attached to the head of the robot 100. As described above, the robot 100 is lightweight, so a user can lift the robot 100 by grabbing the horns 112. A spherical camera is attached to the horns 112, and can capture an image of the entire upper area of the robot 100 at once.
[0024] FIG. 3 is a cross-sectional view that schematically illustrates the structure of the robot 100. As shown in FIG. As shown in Figure 3, the body 104 of the robot 100 includes a base frame 308, a main body frame 310, a pair of resin wheel covers 312, and an outer skin 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 configured by connecting an upper plate 332 and a lower plate 334 vertically with multiple side plates 336. Sufficient gaps are provided between the multiple side plates 336 to allow ventilation. The battery 118, a control circuit 342, and various actuators are housed inside the base frame 308.
[0025] The main body frame 310 is made of a resin material and includes a head frame 316 and a torso frame 318. The head frame 316 is hollow and hemispherical, forming the head skeleton of the robot 100. The torso frame 318 is stepped and cylindrical, forming the torso skeleton of the robot 100. The torso frame 318 is fixed integrally with the base frame 308. The head frame 316 is attached to the upper end of the torso frame 318 so as to be relatively displaceable.
[0026] The head frame 316 is provided with three axes: a yaw axis 320, a pitch axis 322, and a roll axis 324, and an actuator 326 for driving the rotation of each axis. The actuator 326 includes multiple servo motors for individually driving each axis. The yaw axis 320 is driven for swinging the head, the pitch axis 322 is driven for nodding, and the roll axis 324 is driven for tilting the head.
[0027] A plate 325 that supports the yaw axis 320 is fixed to the top of the head frame 316. A plurality of ventilation holes 327 are formed in the plate 325 to ensure ventilation between the top and bottom.
[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 the plate 325 via a cross link mechanism 329 (pantograph mechanism), and is also connected to an upper plate 332 (base frame 308) via a joint 330.
[0029] The trunk frame 318 houses the base frame 308 and the wheel drive mechanism 370. The wheel drive mechanism 370 includes a rotating shaft 378 and an actuator 379. The lower half of the trunk frame 318 is narrow to form a storage space S for the front wheel 102 between it and the wheel cover 312.
[0030] The outer cover 314 is made of urethane rubber and covers the main body frame 310 and the wheel cover 312 from the outside. The handle 106 is molded integrally with the outer cover 314. An opening 390 is provided at the upper end of the outer cover 314 to introduce outside air.
[0031] FIG. 4 is a diagram showing the hardware configuration of the robot 100. The robot 100 includes an internal sensor 128, a communication device 126, a memory device 124, a processor 122, a drive mechanism 120, and a battery 118. The processor 122 and the memory device 124 are included in a control circuit 342. The units are connected to each other by a power line 130 and a signal line 132. The battery 118 supplies power to each unit via the power line 130. Each unit transmits and receives control signals via the signal line 132. The battery 118 is a lithium-ion secondary battery, and is the power source of the robot 100.
[0032] The internal sensor 128 is a collection of various sensors built into the robot 100. Specifically, these include a camera (spherical camera), a microphone array, a distance sensor (infrared sensor), a thermosensor, a touch sensor, an acceleration sensor, and an odor sensor. The touch sensor is installed between the outer skin 314 and the main body frame 310 and detects the user's 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 communicator 126 is a communication module that performs wireless communication with various external devices. The storage device 124 is composed 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, a speaker, etc. are also installed.
[0034] The drive mechanism 120 mainly controls the wheels (front wheels 102) and the head (head frame 316). The drive mechanism 120 not only changes the direction and speed of movement of the robot 100, but also raises and lowers the wheels (front wheels 102 and rear wheels 103). When the wheels are raised, they are completely retracted into the body 104, and the robot 100 comes into contact with the floor F at the seating surface 108, thereby entering a seated state. The drive mechanism 120 also controls the hands 106 via wires 134.
[0035] FIG. 5 is a functional block diagram of the robot system 300. The robot system 300 includes a robot 100, a server 200, and multiple external sensors 114. Each component of the robot 100 and the server 200 is realized by hardware including computing 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, as well as software stored in the storage devices that supplies processing instructions to the computing units. The computer program may be composed of device drivers, an operating system, various application programs located at higher layers than these, and libraries that provide common functions to these programs. Each block described below represents a functional block rather than a hardware configuration. 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 implemented by the robot 100.
[0036] A plurality of external sensors 114 are installed inside the house in advance. The position coordinates of the external sensors 114 are registered in the server 200. The server 200 determines the basic behavior of the robot 100 based on information obtained from the internal sensor 128 of the robot 100 and the plurality of external sensors 114. The external sensors 114 are intended to reinforce the sensory organs of the robot 100, and the server 200 is intended to reinforce the brain of the robot 100. The communicator 126 of the robot 100 periodically communicates with the external sensors 114, and the server 200 identifies the position of the robot 100 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 executes various types of processing 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 store 206 includes a motion store 232 and a personal data store 218 . The robot 100 has a plurality of movement patterns (motions). Various motions are defined, such as shaking the hands 106, meandering towards the owner, and tilting the head while gazing at the owner.
[0039] The motion storage unit 232 stores "motion files" that define the control content of a motion. Each motion is identified by a motion ID. The motion files are also downloaded to the motion storage unit 160 of the robot 100. The motion to be executed may be determined by the server 200 or by the robot 100.
[0040] Many of the motions of the robot 100 are configured as composite motions including multiple unit motions. For example, when the robot 100 approaches the owner, it may be expressed as a combination of a unit motion of turning toward the owner, a unit motion of approaching while raising hands, a unit motion of approaching while shaking the body, and a unit motion of sitting down while raising both hands. A combination of these four motions realizes the motion of "approaching the owner, raising hands halfway, and finally sitting down after shaking the body." The motion file defines the rotation angles and angular velocities of the actuators provided in the robot 100 in relation to a time axis. Various motions are expressed by controlling each actuator over time according to the motion file (actuator control information).
[0041] The transition time from one unit motion to the next is called an "interval." The interval can be defined according to the time required to change the unit motion and the content of the motion. The length of the interval can be adjusted. Hereinafter, settings related to the behavior control of the robot 100, such as when and which motion to select, and adjustment of the output of each actuator to realize the motion, will be collectively referred to as "behavioral characteristics." The behavioral characteristics of the robot 100 are defined by a motion selection algorithm, a motion selection probability, a 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 degree of intimacy with the user and the user's physical and behavioral characteristics. Other attribute information such as age and gender may also be stored.
[0044] The robot 100 has an internal parameter called intimacy for each user. When the robot 100 recognizes that the user has shown affection for the robot 100, such as picking the robot up or talking to the robot, the robot 100's intimacy with the user increases. The robot 100's intimacy with users who do not interact with the robot 100, users who are violent, and users the robot 100 encounters infrequently decreases.
[0045] The data processing unit 202 includes a position management unit 208 , a recognition unit 212 , a movement control unit 222 , an intimacy 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 various physical states, such as the charging rate, internal temperature, and processing load of the processor 122. The state management unit 244 also manages various emotional parameters that indicate the emotions of the robot 100 (loneliness, curiosity, desire for recognition, etc.). These emotional parameters are constantly fluctuating. The movement destination of the robot 100 changes depending on the emotional parameters. For example, when the robot 100 is feeling increasingly lonely, it sets the user's location as the movement destination.
[0046] Emotional parameters change over time. They also change depending on interactions, as described below. For example, if the owner "holds" the pet, the emotional parameter indicating loneliness will decrease, and if the pet does not see the owner for a long period of time, the emotional parameter indicating loneliness will gradually increase.
[0047] The recognition unit 212 recognizes the external environment. Recognition of the external environment includes various recognitions such as recognition of weather and season based on temperature and humidity, and recognition of shade (safe zone) based on the amount of light and temperature. The recognition unit 156 of the robot 100 acquires various environmental information using the internal sensor 128, performs initial processing on 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 an image region corresponding to a moving object, particularly a person or an animal, from the image, and extracts a "feature vector" from the extracted image region as a set of feature quantities indicating 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. A method for extracting a feature vector from a captured image of a person 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 compares the feature vector extracted from the image captured by the built-in camera of the robot 100 with the feature vectors of users (clusters) pre-registered in the personal data storage unit 218 to determine which person the captured user corresponds to (user identification process). The recognition unit 212 also estimates the user's emotions by performing image recognition of the user's facial expression. The recognition unit 212 also performs user identification process on moving objects other than people, such as pet cats and dogs.
[0050] The recognition unit 212 recognizes various responsive actions made to the robot 100 and classifies them into pleasant and unpleasant actions. The recognition unit 212 also recognizes the owner's responsive actions to the behavior of the robot 100 and classifies them into positive and negative reactions. Pleasant / unpleasant behavior is determined based on whether the user's behavior is pleasant or unpleasant for the living organism. For example, being held is a pleasant behavior for the robot 100, and being kicked is an unpleasant behavior for the robot 100. Positive / negative reactions are determined based on whether the user's behavior indicates a pleasant emotion or an unpleasant emotion for the user. Being held is a positive reaction that indicates a pleasant emotion for the user, and being kicked is a negative reaction that indicates an unpleasant emotion for the user.
[0051] The movement control unit 222 of the server 200 cooperates with the movement control unit 150 of the robot 100 to determine the motion of the robot 100. The movement control unit 222 of the server 200 creates a movement destination point and a movement route for the robot 100. The movement control unit 222 may create multiple movement routes and then select one of the movement routes.
[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. A selection probability is associated with each motion depending on the situation. For example, a selection method may be defined such that when the owner performs a pleasant action, motion A is executed with a 20% probability, and when the temperature reaches 30 degrees or higher, motion B is executed with a 5% probability.
[0053] The intimacy management unit 220 manages the intimacy level for each user. As described above, the intimacy level is registered as part of personal data in the personal data storage unit 218. When a pleasant behavior is detected, the intimacy management unit 220 increases the intimacy level with the owner. When an unpleasant behavior is detected, the intimacy level decreases. Furthermore, the intimacy level of an owner who has 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 , internal sensors 128 and a drive mechanism 120 . The communication unit 142 corresponds to the communication device 126 (see FIG. 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 data. The data storage unit 148 corresponds to the storage device 124 (see FIG. 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 between the communication unit 142, the internal sensor 128, the drive mechanism 120, and the data storage unit 148.
[0055] The data store 148 includes a motion store 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. To express various motions such as sitting down with the front wheels 102 retracted, lifting the hands 106, rotating the two front wheels 102 in opposite directions or by rotating only one of the front wheels 102 to make the robot 100 turn, rotating the front wheels 102 while the front wheels 102 are retracted to make the robot 100 tremble, and stopping and looking back when moving away from the user, the operation timing, operation duration, operation direction, etc. of the various actuators (drive mechanisms 120) are defined in chronological order in the motion files. Various data may also 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 movement control unit 150 of the robot 100 decides the motions of the robot 100 in cooperation with the movement control unit 222 of the server 200. Some motions may be decided by the server 200, and other motions may be decided by the robot 100. Alternatively, the robot 100 may decide the motions, but when the processing load of the robot 100 is high, the server 200 may decide the motions. The server 200 may decide base motions, and the robot 100 may decide additional motions. How the motion decision process is shared between the server 200 and the robot 100 may be designed according to the specifications of the robot system 300.
[0057] The motion control unit 150 of the robot 100 instructs the driving mechanism 120 to execute the selected motion. The driving mechanism 120 controls each actuator in accordance with the motion file.
[0058] The movement control unit 150 can execute a motion of lifting both hands 106 as a gesture of asking to be "held" when a user with whom the robot has a high level of intimacy is nearby, and can also express a motion of refusing to be held by alternately rotating in the opposite directions and stopping the front wheels 102 while keeping them retracted when the robot gets tired of being "held." The drive mechanism 120 drives the front wheels 102, hands 106, and neck (head frame 316) in accordance with instructions from the movement control unit 150, thereby causing the robot 100 to express various motions.
[0059] The recognition unit 156 of the robot 100 interprets external information obtained from the internal sensors 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 a feature vector from a captured image of a moving object. As described above, the feature vector is a set of parameters (feature amounts) that indicate the physical and behavioral characteristics of a moving object. When a moving object is detected, the physical and behavioral characteristics are also extracted from an odor sensor, a built-in sound collecting microphone, a temperature sensor, and the like. These characteristics are also quantified to become feature vector components. The recognition unit 156 identifies the user from the feature vector based on known technology described in Patent Document 2, etc.
[0061] In the series of recognition processes including detection, analysis, and judgment, the recognition unit 156 of the robot 100 selects and extracts information necessary for recognition, and interpretation processes such as judgment are performed by the recognition unit 212 of the server 200. The recognition process may be performed by only the recognition unit 212 of the server 200, or by only the recognition unit 156 of the robot 100, or the recognition process may be performed by both the recognition unit 212 of the server 200 and the recognition unit 156 of the robot 100, with both units sharing roles as described above.
[0062] When a strong impact is applied to the robot 100, the recognition unit 156 recognizes this using a touch sensor and an acceleration sensor, and the recognition unit 212 of the server 200 recognizes this as a "violent act" by a nearby user. When a user grabs the horns 112 and lifts the robot 100, this may also be recognized as a violent act. When a user facing the robot 100 speaks in a specific volume range and a specific frequency band, the recognition unit 212 of the server 200 may recognize that a "calling act" has been made to the robot 100. Furthermore, when a temperature equivalent to body temperature is detected, the recognition unit 212 recognizes that a "contact act" has been made by the user, and when upward acceleration is detected after contact is recognized, the recognition unit 212 recognizes that a "hug" has been made. Physical contact when the user lifts the body 104 may be sensed, or a hug may be recognized by a decrease in the load on the front wheels 102. In summary, the robot 100 acquires the user's actions as physical information using the internal sensor 128, and the recognition unit 212 of the server 200 judges whether the user feels comfortable or uncomfortable. The recognition unit 212 of the server 200 also performs user identification processing based on the feature vector.
[0063] The recognition unit 212 of the server 200 recognizes various responses of the user to the robot 100. Some typical responses among the various responses are associated with pleasant or unpleasant, positive or negative. Generally, most pleasant responses are positive reactions, and most unpleasant responses are negative reactions. Pleasant and unpleasant actions are related to the degree of intimacy, and positive and negative reactions affect the robot 100's behavior selection.
[0064] The intimacy management unit 220 of the server 200 changes the intimacy level with respect to the user in accordance with the interaction behavior recognized by the recognition unit 156. In principle, the intimacy level with respect to a user who has performed a pleasant behavior increases, and the intimacy level with respect to a user who has performed an unpleasant behavior decreases.
[0065] Based on the above basic configuration, the implementation of the robot 100 in this embodiment will now be described, focusing in particular on the features and purpose of this implementation and differences from the basic configuration.
[0066] [Implementation of reflex actions] FIG. 6 is a diagram showing the hardware configuration of the robot 100 according to this embodiment. In this embodiment, the robot 100 is equipped with a CNS (Central Nervous System) board 116 in addition to the processor 122. The processor 122 functions as a high-level control circuit 252 (see FIG. 1). The CNS board 116 functions as a low-level control circuit 250 (see FIG. 1). The CNS board 116 is an electronic circuit designed to enable the robot 100 to execute a reaction motion R (reflex action) within a certain period of time after receiving an external stimulus. Hereinafter, control by the low-level control circuit 250 regarding the execution decision of the reaction motion R will be referred to as "low-level control," and control by the high-level control circuit 252 regarding normal motion N (conscious action) will be referred to as "high-level control."
[0067] FIG. 7 is a schematic diagram showing the correspondence between the low-order control circuit 250, the high-order control circuit 252, and the operation control section 150. As shown in FIG. The functions of the data processing unit 136 of the robot 100 are realized by cooperation between the hardware and software of the robot 100. The movement control unit 150, which performs part of the functions of the data processing unit 136, also cooperates with the movement control unit 222 of the server 200 to determine the motion of the robot 100. The low-order control circuit 250 in this embodiment is an electronic circuit specialized for low-order control that is not intended to execute software. The high-order control circuit 252 is a general-purpose processor 122 that executes various software. The functions of the movement control unit 150 are realized by the low-order control circuit 250, the high-order control circuit 252, and software executed by the high-order control circuit 252.
[0068] FIG. 8 is a schematic diagram for explaining low-order control. In this embodiment, a plurality of low-order control circuits 250 are associated one-to-one with a plurality of 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 plurality of low-order control circuits 250 may be distributed within the robot 100, or may be collectively stored in the control circuit 342.
[0069] 8 corresponds to the sensor F1 and detects the sensor value S1 (analog data) of the sensor F1. If the sensor value S1 is equal to or greater than the reflection threshold T1, the low-order control circuit 250 instructs the drive mechanism 120 (actuator) to execute a reaction motion R1. There may be two or more actuators involved in the reaction motion R1.
[0070] For example, the sensor F1 is a microphone array, and the sensor value S1 is the volume value of the sound detected by the microphone array. The reaction motion R1 is a motion that vibrates the head frame 316 of the robot 100. When the sensor value S1 is equal to or greater than the reflection threshold T1, the low-level control circuit 250 transmits a predetermined instruction signal to the actuator 326 that controls the head frame 316, causing the head frame 316 to vibrate, thereby causing the robot 100 to behave as if it is startled by a loud noise.
[0071] In the low-order control circuit 250, the actuator to be instructed in accordance with the reaction motion R1 and its instruction signal are defined in advance. Therefore, the low-order control circuit 250 can instantly 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] FIG. 9 is a schematic diagram for explaining high-order control. Whether or not normal motion N can be executed is comprehensively determined by the high-order control circuit 252 (processor 122 and software) based on the sensor values of one or more sensors and the behavioral characteristic model 254. The behavioral characteristic model 254 is an algorithm that determines the behavioral characteristics of the robot 100, such as emotional parameters and intimacy, and is configured by software. The behavioral characteristic model 254 determines the behavioral characteristics of the robot 100 in cooperation with the server 200. The behavioral characteristic 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) of sensors F1 to Fn are input to the high-order control circuit 252 in FIG. 9. The high-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, when the recognition unit 156 (part of the behavioral characteristics model 254) detects contact with the body 104 by the user P2 using a touch sensor and detects the robot 100 rising using a camera and an acceleration sensor, it comprehensively determines that the robot 100 is being "held." When the robot 100 is held, the intimacy management unit 220 of the server 200 increases the intimacy level with the user P1. Changes in intimacy level affect the behavioral characteristics of the robot 100. For example, when the camera of the robot 100 captures (visually recognizes) the user P2, the higher the intimacy level of the user P2, the higher the probability that the movement control unit 150 will select an action that brings the robot 100 closer to the user P2. In low-level control, the sensor value and the reaction motion R are directly linked. On the other hand, in high-level control, external events are interpreted using the sensor value, and internal variables such as intimacy level and emotion parameters are changed to change the behavior selection criteria, resulting in the selection of normal motion N as a processing result of the behavioral characteristics model 254.
[0074] FIG. 10 is a circuit configuration diagram of the behavior control system 170 of the robot 100. The behavior control system 170 includes a CNS board 116 (low-level control circuit 250) responsible for low-level control and a processor 122 (high-level control circuit 252) responsible for high-level control. The CNS board 116 (low-level 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 send instruction signals to one or more actuators. The sensor F here 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 a reaction motion R according to the sensor value of the sensor F. The core circuit 174 may also include an A / D conversion circuit that performs A / D conversion on the sensor value and outputs the sensor value as digital data to the processor 122 (high-order control circuit 252). The core circuit 174 may also include a function to convert 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 mechanism 120).
[0076] (Core circuit 174) The core circuit 174 includes a sensor value input section 178 , a shaping section 180 , a sensor value output section 182 , a determination section 184 , a signal generation section 186 and a setting input section 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 equal to or greater than a preset threshold (the aforementioned "reflection threshold"). Hereinafter, an external event in which the sensor value is equal to or greater than the reflection threshold is referred to as a "strength event." When a strength event occurs, the determination unit 184 causes the signal generation unit 186 to generate a control signal instructing the execution of a reaction motion R and transmits a cancellation signal to the processor 122. Upon receiving an instruction from the determination unit 184, the signal generation unit 186 instructs the signal output unit 192 of the output circuit 176 to execute a preset reaction motion R. More specifically, the signal generation unit 186 transmits instruction signals (movement amount, movement speed, movement direction) for one or more actuators associated with the reaction motion R to the signal output unit 192.
[0077] Regardless of whether the sensor value is an intensity event or not, the sensor value is shaped by the shaping unit 180 into a format that is easy to use in subsequent processing. The robot 100 is equipped with various types of sensors F. The sensors F output sensor values at regular intervals, but the output cycles are not uniform. The high-level control circuit 252 (processor 122) performs processing based on the sensor values of multiple sensors F. Therefore, if the sensor values used for processing arrive at different times, timing adjustment processing is required, consuming its own computational resources. Therefore, the shaping unit 180 accumulates 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 shaping unit 180 adjust the output timing of the sensor values, the processing load of the high-level control circuit 252 is reduced. When adjusting the output timing of the shaping unit 180, it may be designed to synchronize with the CNS boards 116 provided for other sensors, or multiple CNS boards 116 may share the shaping unit 180 and the sensor value output unit 182.
[0078] The sensor value output unit 182 outputs the sensor value to the high-order control circuit 252 regardless of whether or not the reaction motion R needs to be executed. Software executed in the high-order control circuit 252 determines the behavioral characteristics of the robot 100 according to the sensor value. It is preferable that the reflex threshold can be changed according to the environment and state of the robot 100. When changing the settings of the reflex threshold and reaction motion R in the CNS board 116 (low-order control circuit 250), the high-order control circuit 252 sends a setting signal to the setting input unit 188. The setting input unit 188 updates the reflex threshold in the determination unit 184 and changes the setting of the reaction motion R in the signal generation unit 186.
[0079] (output circuit 176) The output circuit 176 includes a command input 190 and a signal output 192 . When executing normal motion N, the high-order control circuit 252 sends an instruction signal to each actuator. The instruction input unit 190 receives the instruction signal for normal motion N from the high-order control circuit 252 and transmits it to the signal output unit 192. The signal output unit 192 receives an instruction signal for reaction motion R from the signal generation unit 186 (core circuit 174) and receives an instruction signal for normal motion N from the instruction input unit 190 (high-order control circuit 252). When the signal output unit 192 receives a control signal for reaction motion R from the signal generation unit 186, it disables the control signal for normal motion N received from the instruction input unit 190 and transmits the control signal for reaction motion R to the drive mechanism 120 with priority.
[0080] The drive mechanism 120 operates in accordance with the control signal. When instructing the execution of reaction motion R, the signal output unit 192 transmits a control signal (command) to stop the current drive state, and then transmits a control signal to execute reaction motion R. In other words, the signal output unit 192 stops the operation currently in progress 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 control signals of normal motion N received from the instruction input unit 190 to the drive mechanism 120.
[0081] When a reaction motion R is to be executed due to the occurrence of a strength event, the determination unit 184 of the core circuit 174 sends a cancel signal to the high-order control circuit 252. When the high-order control circuit 252 receives the cancel signal, it suspends the execution of normal motion N and starts new processing according to the sensor value output from the sensor value output unit 182. According to this control method, reaction motion R is executed immediately, while the high-order control circuit 252 can determine whether normal motion N should be executed after reaction motion R has finished, without waiting for reaction motion R to finish.
[0082] FIG. 11 is a conceptual diagram of the reaction table 194. The reflection threshold is set in the judgment unit 184 (core circuit 174). The reaction motion R, or more precisely, the instruction value for the actuator related to the reaction motion R, is set in the signal generation unit 186 (core circuit 174). The reaction table 194 shown in Fig. 11 schematically shows the correspondence between the reflection threshold set in the judgment unit 184 and the reaction motion R set in the signal generation unit 186. A set of reflection threshold and reaction motion R (reaction table 194) is defined for each low-order control circuit 250, in other words, for each sensor F.
[0083] The reaction table 194 shown in FIG. 11 defines the reflection threshold T and reaction motion R for sensor F1 (sensor value S1). In FIG. 11, the reflection threshold T is set to T1. Any of motions M1 to M4 can be selected as the reaction motion R, but in FIG. 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 to realize motion M1 and its instruction values (movement amount, movement direction, movement speed). Below are some specific examples of reaction motion R.
[0084] (Example 1: Reflex action when hearing a loud noise) When the robot 100 hears a loud sound, it reflexively shakes its hands 106. To realize such a reaction motion R, the low-order control circuit 250 associated with the microphone array detects a volume value. When the volume value (sensor value) exceeds a reflection threshold, the signal generator 186 vibrates the wire 134. By executing the simple process of vibrating the wire 134 when it detects a loud sound, the low-order control circuit 250 can express the reflex behavior of "being startled by a loud sound and shaking the hands 106" with high responsiveness.
[0085] The high-order control circuit 252 can change the reflection threshold used in the low-order control circuit 250. For example, when the number of times that a sound equal to or higher than the reflection threshold T1 is detected per unit time exceeds a predetermined number, the high-order control circuit 252 (movement control unit 150) may change the reflection threshold from T1 to T2 (>T1). According to this control method, the robot 100 that has continuously been exposed to loud sounds will no longer react to sounds at about the reflection threshold T1. In other words, it is possible to express the robot 100's habituation to loud sounds. When the number of times that a sound equal to or lower than the reflection threshold T2 is detected per unit time is within a predetermined number, the high-order control circuit 252 (movement control unit 150) may change the reflection threshold from T2 to T1.
[0086] The high-order control circuit 252 can also change the reaction motion R. Assume that motion M1 is a motion of shaking the hands 106, and motion M2 is a motion of retracting the front wheels 102 into the body 104 and sitting down. For example, when no sound above the reflex threshold is detected for a predetermined period of time, the high-order control circuit 252 may change the reaction motion R from "motion M1 of shaking the hands 106" to "motion M2 of sitting down." According to this control method, the robot 100, which is not accustomed to loud noises, will sit down when it hears a loud noise.
[0087] As described above, the high-order control circuit 252 changes the reflection threshold and reaction motion R when a predetermined change condition is met. Hereinafter, the reflection threshold and reaction motion R will be collectively referred to as the "reflection characteristic." The high-order control circuit 252 changes the reflection characteristic of the low-order control circuit 250 in response to an external or internal event, thereby achieving both high-speed responsiveness of the reaction motion and diversification of the reflection characteristic.
[0088] (Example 2: Reflex action when hit) When the robot 100 is hit on the head by a user, it reflexively moves backward. To realize such a reaction motion R, one of the low-level 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 equal to or greater than a reflex threshold, in other words, if a strong contact with the head is detected, the signal generating unit 186 instructs the front wheels 102 to rotate backward. By such control, the robot 100 can be made to perform the reflex action of "running backward when hit on the head."
[0089] Changing the reflex threshold changes the robot's sensitivity to being hit. If the reflex threshold is set low, the robot 100 will move back even if it is hit lightly. If the reflex threshold is set high, the robot 100 will move back only when it is hit hard. By changing the reflex threshold of the touch sensor, the robot's sensitivity and tolerance to "pain" can be adjusted.
[0090] Various reaction motions R other than retreating can be set. For example, the robot 100 may shake the body 104 when hit. The low-level control circuit 250 may close the eyelids when hit by changing the pupil image displayed on the eye 110. In this way, the low-level control circuit 250 may send instruction signals to electrical control devices such as a display device, in addition to mechanical control devices such as actuators.
[0091] The robot 100 may express relaxation by reducing or stopping the supply of electricity to the actuators depending on an external event, such as when hit. The low-level control circuit 250 may express "stiffness" or "tension" by fixing the movement of the actuators.
[0092] (Example 3: Reflex action when falling) While falling, the robot 100 reflexively stops power to all actuators. This is to prepare for impact by maximizing the actuator mobility. In other words, the flexibility of the actuators (joints) allows the robot 100 to take a passive stance. The low-level control circuit 250 instructs the actuators to stop powering up when the acceleration (sensor value) detected by the acceleration sensor is equal to or greater than the reflex threshold. When the robot 100 detects a fall, it may retract the front wheels 102 into the body 104. Because the front wheels 102 are usually exposed from the body 104, retracting the front wheels 102 (movement mechanism) into the body 104 can prevent the front wheels 102 from being damaged by the impact of the fall. The reaction motion R not only expresses an instinctive immediate reaction, but may also be executed to protect the robot 100's mechanism.
[0093] (Example 4: Emergency stop) The robot 100 is provided 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 stops the supply of electricity to all actuators. When the emergency stop switch is off (normal state), "1" is input to the sensor value input unit 178 as the power supply state. When the emergency stop switch is turned on, "0" is input to the sensor value input unit 178 as the power supply state. "0" is set in the judgment unit 184 as the judgment condition. When the sensor value supplied from the sensor value input unit 178 becomes "0", the judgment unit 184 instructs the signal generation unit 186 to stop the supply of electricity to the actuators.
[0094] As described above, multiple reaction motions R are associated with one sensor, and the high-order control circuit 252 selects one of them. This control method allows predefined reaction motions to be executed quickly in response to the sensor value. The change conditions that determine which of the multiple reaction motions is to be executed can be set arbitrarily. For example, suppose that sensor F1 is set to allow motions M1 to M4 to be selected as reaction motions. The high-order control circuit 252 may periodically randomly select one of the reaction motions M1 to M4.
[0095] Not only the content of the action, but also the momentum of the action may be different depending on the motion. For example, assume that reaction motion M1 is a motion of retreating more than one meter, and reaction motion M2 is a motion of retreating 10 centimeters. In an environment where loud noises are frequently heard, setting motion M2 rather than motion M1 allows the robot 100 to express its behavior of becoming accustomed to loud noises. Furthermore, reaction motion M1 may be changed to reaction motion M2 when the number of days elapsed since the date of manufacture of the robot 100 exceeds a predetermined value. This control method allows the robot 100 to express "calmness," i.e., becoming less startled by loud noises as it ages.
[0096] The robot 100 and the robot system 300 including the robot 100 have been described above based on the embodiment. In this embodiment, complex behavioral characteristics are expressed by a high-level control circuit 252 (software level), and instinctive and immediate behavior is executed by a low-level control circuit 250 (hardware level). Just as the human brain is divided into the neocortex, which controls rational thought, and the paleocortex, such as the limbic system, the robot 100 also has a separate control mechanism for conscious behavior and a separate control mechanism for unconscious behavior. This design makes it possible to make the robot 100 execute not only complex behavioral characteristics but also instinctive and simple reflex actions.
[0097] The low-order control circuit 250 determines whether or not to execute the reaction motion R simply by checking whether the sensor value exceeds the reflection threshold. This makes it possible to keep the time lag from the occurrence of an intensity event to the execution of the reaction motion R to within 200 milliseconds. The low-order control circuit 250 may receive the sensor value as analog data or 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 the reaction motion R, a cancellation signal inhibits the execution of the normal motion N by the high-order control circuit 252. This control is also a point of innovation, as it prevents unnaturalness that occurs when the reaction motion N and the normal motion N are executed simultaneously or consecutively. Because the algorithm of the low-order control circuit 250 is simple, the low-order control circuit 250 can be implemented at the hardware level without software. The low-order control circuit 250 does not incur overhead associated with software execution. On the other hand, because the algorithm of the high-order control circuit 252 is implemented by software, its decision-making speed is slower than that of the low-order control circuit 250, but it can express complex behavioral characteristics based on multiple sensor values.
[0099] The high-level control circuit 252 changes various parameters, such as emotion parameters and intimacy, based on multiple sensor values. These parameters represent the inherent states of the robot 100, such as its "mental state" and "personality." The behavior of the robot 100 (normal motion N) is determined based on the inherent states of the robot 100 and external events.
[0100] The high-order control circuit 252 changes the reflex threshold, which is the judgment criterion of the algorithm of the low-order control circuit 250, and the reaction motion R, which is the action content. By changing the reflex characteristics by the high-order control circuit 252, it is possible to prevent the reaction motion R from becoming monotonous.
[0101] The present invention is not limited to the above-described embodiments and modifications, and the components can be modified without departing from the spirit of the invention. Various inventions can be formed by appropriately combining multiple components disclosed in the above-described embodiments and modifications. Furthermore, some components can be omitted from all the components shown in the above-described embodiments and modifications.
[0102] Although the robot system 300 has been described as being composed of one robot 100, one server 200, and multiple external sensors 114, some of the functions of the robot 100 may be realized 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 the robot 100 and the server 200 may also be responsible for some of the functions. The collection of the functions of the robot 100 and the functions of the server 200 described in Fig. 5 can be understood as a single "robot" from a broader perspective. How to allocate the multiple functions required to realize the present invention to one or more pieces of hardware can be determined in consideration of the processing capacity of each piece of hardware, the specifications required for the robot system 300, etc.
[0104] As mentioned above, the "robot in the narrow sense" refers to the robot 100 that does not include the server 200, while the "robot in the broad sense" refers to the robot system 300. It is conceivable that many of the functions of the server 200 will be integrated into the robot 100 in the future.
[0105] The low-order control circuit 250 in this embodiment includes both the core circuit 174 and the output circuit 176, but the core circuit 174 can also be considered as the "low-order control circuit 250 in the narrow sense."
[0106] In this embodiment, it has been described that each sensor is associated with a low-level control circuit 250, and each low-level control circuit 250 controls one or more actuators. As a modification, each sensor may be associated with a core circuit 174, and each actuator may be associated with an output circuit 176. When there are n sensors and m actuators, n core circuits 174 and m output circuits 176 may be mounted on one CNS board 116.
[0107] Multiple sensors may be associated with one 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 the reaction motion R can be executed for each sensor.
[0108] In a situation where the robot 100 is in danger of being dropped or hit, the low-level control circuit 250 may store protruding parts such as the horns 112 in addition to the front wheels 102 in the body 104 for protection.
[0109] Because the algorithm of the low-order control circuit 250 is simple, it can be implemented only in hardware, but this does not exclude software implementation. The low-order control circuit 250 may also realize the low-order control function by executing simple software. When the low-order control function is implemented by software, multiple low-order control functions corresponding to multiple sensors F can also be implemented on a single processor.
[0110] A plurality of reflection thresholds may be set in the low-order control circuit 250. The low-order control circuit 250 may execute a reaction motion M1 when the sensor value exceeds a reflection threshold T1, and may execute a reaction motion M2 when the sensor value exceeds a reflection threshold T2 (>T1). In this way, the low-order control circuit 250 may execute a plurality of reaction motions corresponding to a plurality of reflection thresholds.
[0111] For audio, whether or not to execute the reaction motion R may be determined based on other sensor values such as frequency, not just volume. Even if the volume is low, the reaction motion R may be executed when an unpleasant high-frequency sound is heard. A low-order control circuit 250 that detects the volume value and a low-order control circuit 250 that detects the frequency may be provided separately for the microphone array. In this way, multiple low-order control circuits 250 (core circuits 174) may be associated with one sensor.
[0112] In this embodiment, the description is based on the premise of two-stage control using the low-order control circuit 250 for low-order control and the high-order control circuit 252 for high-order control. As a modification, three or more stages of control may be shared among three or more electronic circuits by providing an electronic circuit that performs intermediate level control (intermediate control) between the low-order control and the high-order control.
[0113] Instead of providing both the low-order control circuit 250 and the high-order control circuit 252, both the low-order control and the high-order control may be executed by the processor 122. Specifically, the processor 122 may execute the software LS for the low-order control and the software HS for the 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] Although the low-level control circuit 250 in this embodiment has been described as an electronic circuit that is not intended to execute software, the low-level control circuit 250 may be an electronic circuit that executes built-in software as firmware. The low-level control circuit 250 may be configured as a programmable logic device (PLD) such as a field-programmable gate array (FPGA).
[0115] In this embodiment, four specific examples of reaction motions R are given: (Example 1) reflex action when hearing a loud noise, (Example 2) reflex action when hit, (Example 3) reflex action when dropped, and (Example 4) emergency stop. In addition to these, the following reaction motions R are also possible.
[0116] (Example 5: Reflex action when an obstacle is detected) The robot 100 may be equipped with a distance measurement sensor such as a Time of Flight (ToF) sensor or sonar. The low-level control circuit 250 may stop the movement of the robot 100 when the distance measurement sensor detects a wall, step, hole, or cliff. For example, the low-level control circuit 250 may instruct the front wheels 102 to stop driving when it detects an obstacle in close range. By stopping the movement of the robot 100 in response to a sensor value that is expected to threaten the safety of the robot 100, the 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, such as "back up." After the robot 100 suddenly stops in response to an instruction from the low-level control circuit 250, it executes the normal motion N instructed by the high-level control circuit 252. In this way, the robot 100 may immediately execute a reaction motion R and then continue executing the normal motion N.
[0117] When an obstacle falls in front of the robot or is placed in front of the robot, the low-order control circuit 250 may instruct the robot 100 to stop moving when it detects the obstacle at close range. As described above, after executing a reaction motion R (sudden stop) to ensure safety, the high-order control circuit 252 may execute a normal motion N. For example, the high-order control circuit 252 may express surprise by raising the hand 106 of the robot 100, dilating the pupil of the eye image displayed in the eye 110, or blinking.
[0118] (Example 6: Reflex action when detecting a heat source) The robot 100 may detect a heat source using a thermosensor. When the low-level control circuit 250 detects a temperature (high temperature) equal to or higher than a predetermined threshold, it instructs the robot 100 to stop moving. The predetermined threshold may be determined according to the heat resistance temperature of the components forming the robot 100. When the robot 100 approaches a heat-generating appliance such as a heater or stove, the robot 100 executes a reaction motion R to prevent the robot 100 from becoming too hot, thereby ensuring the safety of the robot 100. Furthermore, when the robot 100 approaches a heat source accompanied by a flame, such as a candle or cigarette, the robot 100 stops its approaching action toward the heat source, thereby ensuring the safety of the robot 100.
[0119] (Example 7: Reflex action when detecting a flash) The robot 100 displays an eye image on the eye 110. When a strong light (flash) is detected by the camera or the light sensor, the low-level control circuit 250 displays an eye image of the eye 110 closing its eyelid. This control method allows the robot 100 to instantly express the robot closing its eyes when exposed to strong light. In addition, the robot 100 may perform reaction motions R such as turning its face away, tilting its head downward, or stopping movement.
[0120] (Example 8: Reflex action when it gets dark) The low-level control circuit 250 may stop the robot 100 when a camera or a light sensor detects that the amount of light is below a predetermined value. For example, when a user turns off the lights in a room, stopping the robot 100 can prevent the robot 100 from bumping into objects in the room in the dark.
[0121] An optical sensor may be attached to the face of the robot 100. When a user blindfolds the eyes 110 of the robot 100, the low-level control circuit 250 may cause the robot 100 to express surprise by shaking the hands 106. Other possible expressions of surprise include blinking the eye image and shaking the head from side to side.
[0122] Reaction motion R instructed by the low-order control circuit 250 is executed with priority over normal motion N instructed by the high-order control circuit 252. If the low-order control circuit 250 instructs the execution of reaction motion R while normal motion N is being executed, the normal motion N being executed is immediately stopped and reaction motion R is executed first. Also, if normal motion N is selected by the high-order control circuit 252 when there is a reaction motion R waiting to be executed, normal motion N is executed after all scheduled reaction motions R have been executed. 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] 10 may include an execution status notification unit (not shown) for notifying the high-order control circuit 252 of the execution status of the reaction motion R. More specifically, after the signal generation unit 186 generates an execution instruction signal for the reaction motion R and outputs it to the signal output unit 192, the execution status notification unit notifies the high-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 motions R 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 high-order control circuit 252 that all of the one or more reaction motions R have been completed.
[0124] That is, after all scheduled reaction motions R have been executed, the high-order control circuit 252 instructs the execution of the previously selected normal motion N. Because motion execution often involves mechanical operations, it takes a certain amount of time from start to finish. Meanwhile, motion selection by the high-order control circuit 252 (electronic circuits 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 high-order control circuit 252 of the execution status of reaction motion R. In other words, while the high-order control circuit 252 waits for the execution of normal motion N, the low-order control circuit 250 can prioritize the execution of one or more reaction motions R. Even in the future, when normal motions N become more diverse, it will become easier to achieve immediate execution (instant reaction) of reaction motion R.
[0125] Normal motion N may be paused during normal motion N execution to execute reaction motion R. In this case, after execution of reaction motion R (after reflex action), the previously executed normal motion N may be resumed. For example, suppose normal motions N1 and N2 are scheduled to be executed consecutively, and a command to execute reaction motion R1 is issued while normal motion N1 is being executed. In this case, execution of normal motion N1 is stopped, and reaction motion R1 is executed first. After completion of reaction motion R1, normal motion N1 may be resumed from where it left off, normal motion N1 may be restarted from the beginning, or normal motion N1 may be canceled and normal motion N2 may be executed. Furthermore, the internal state of robot 100 (emotion parameters, intimacy level, etc.) may be changed depending on the event that triggered the reflex action, and a new normal motion N may be selected based on the change in the internal state. For example, a new movement target point may be set and robot 100 may be moved.
Claims
1. a motion control unit that selects the motion of the robot; a drive mechanism that executes the motion selected by the motion control unit, The operation control unit a low-level control circuit that selects a reaction motion that is pre-assigned to the sensor when the detected value of the sensor exceeds a threshold value; a high-level control circuit that changes the behavioral characteristics of the robot in response to the detection value of the sensor; the high-order control circuit is configured to update subsequent reaction motions associated with the sensor in accordance with the detected value of the sensor; An autonomous robot characterized in that the low-level control circuit is configured to select the reaction motion previously set by the high-level control circuit when the detection value of the sensor exceeds a threshold value.
2. a motion control unit that selects the motion of the robot; a drive mechanism that executes the motion selected by the motion control unit, The operation control unit a low-level control circuit that selects a reaction motion that is pre-assigned to the sensor when the detected value of the sensor exceeds a threshold value; a high-level control circuit that changes the behavioral characteristics of the robot in response to the detection value of the sensor; The drive mechanism further includes a movement mechanism that can be stored in a housing of the robot, The autonomous robot is configured such that, when a sensor detects a fall, the low-level control circuit causes the movement mechanism to retract into the robot's housing as the reaction motion.
3. the high-order control circuit selects a normal motion of the robot in accordance with the detected value; 3. The autonomous robot according to claim 1, wherein the operation control unit causes the drive mechanism to execute a reaction motion selected by the low-order control circuit and a normal motion selected by the high-order control circuit, and when the detection value exceeds the threshold value, causes the reaction motion to be executed with priority over the normal motion.
4. a plurality of the low-order control circuits are provided corresponding to the plurality of sensors, 3. The autonomous robot according to claim 1, wherein the high-order control circuit selects a normal motion of the robot in accordance with a combination of detection values output from the plurality of low-order control circuits.
5. 3. The autonomous robot according to claim 1, wherein the high-level control circuit sets reaction motions to be associated with the sensors.
6. 3. The autonomous robot according to claim 1, wherein the high-level control circuit updates the threshold value.
7. The low-level control circuit selects a reaction motion according to the detection value of one type of sensor, 3. The autonomous robot according to claim 1, wherein the high-level control circuit changes the behavioral characteristics of the robot in accordance with a combination of detection values of a plurality of types of sensors.
8. the low-level control circuit executes a reaction motion as a typical behavior previously associated with the sensor when the detected value of the sensor exceeds the threshold value; 3. The autonomous robot according to claim 1, wherein the high-level control circuit changes an emotion parameter in response to a detected value of a sensor, and changes the behavioral characteristics of the robot in response to the change in the emotion parameter.
9. 3. The autonomous robot according to claim 1, wherein the low-level control circuit stops power supply to an actuator included in the drive mechanism as the reaction motion.
10. 3. The autonomous robot according to claim 1, wherein the low-level control circuit and the high-level control circuit are configured as separate hardware components.
11. 3. The autonomous robot according to claim 1, wherein a plurality of said low-level control circuits are provided as separate hardware corresponding to a plurality of sensors.
Citation Information
Patent Citations
Connecting device and robot system
JP2000323219A
Robot device and control method therefor
JP2003266353A
Robot device
JP2006110707A
Autonomous behavior robot that performs welcoming behavior
WO2017169826A1
Autonomous robot exhibiting shyness
WO2017175559A1