An autonomous robot capable of performing reflexive actions
The robot's dual control system allows for instantaneous reflex actions through a low-order circuit, addressing the unnatural responses of existing robots by prioritizing immediate reactions, thus improving its lifelike interactions.
Patent Information
- Application Number
- JP2019550450
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2017-11-01
- Filing Date
- 2018-10-31
- Publication Date
- 2024-12-19
- Estimated Expiration
- 2038-10-31
AI Technical Summary
Existing robots lack the ability to perform reflex actions that mimic the immediate and unconscious behaviors of living beings, making them appear unnatural when responding to external stimuli due to time lags exceeding 200 milliseconds.
The robot is equipped with a low-order control circuit that executes predefined reflex actions instantly upon detecting certain stimuli, while a high-order control circuit handles more complex behaviors, ensuring reflex actions are performed within 200 milliseconds and prioritized over normal actions.
The robot can execute natural and immediate reflex actions, enhancing its lifelike presence by reducing the time lag in responses to external events, thereby improving its ability to interact naturally with its environment.
Smart Images

Figure 0007602745000001 
Figure 0007602745000002 
Figure 0007602745000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a robot that autonomously selects an action depending on an internal state or an external environment. [Background technology]
[0002] Humans keep pets to find comfort. However, many people give up on having pets for various reasons, such as not having enough time to look after 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] JP 2000-323219 A [Patent Document 2] International Publication No. 2017 / 169826 Summary of the Invention [Problem to be solved by the invention]
[0004] In recent years, robot technology has been rapidly advancing, but we have not yet achieved the ability to create a robot that can act as a companion like a pet. This is because we do not believe that a robot has free will. By observing the behavior of our pets, which we can only assume to have free will, we can sense the presence of free will in our pets, empathize with them, and feel comforted by them.
[0005] In addition to free will, "instinct" also characterizes living things. Instinct is an innate behavioral pattern triggered by stimuli from the environment without conscious judgment. Danger avoidance is a typical example. Reflexive behavior based on instinct (hereinafter referred to as "reflex behavior") is simple and immediate because it is unconscious. In addition to complex and diverse behavior that gives the impression of free will (hereinafter referred to as "conscious behavior"), quick reflex actions in response to external stimuli are also important in giving a robot a presence like a living thing. According to the inventors' study, it was found that if the time (time lag) between when a robot receives a stimulus and when it starts a reflex action exceeds 200 milliseconds, the reflex action appears unnatural.
[0006] The present invention was completed based on the recognition of the above problems, and its main objective is to provide a technique 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-order control circuit that selects a reaction motion that is pre-assigned to the sensor when the sensor detection value exceeds a threshold value, and a high-order control circuit that changes the robot's behavioral characteristics according to the sensor detection value. Effect of the Invention
[0008] According to the present invention, it becomes easier to make a robot perform natural reflex actions. [Brief description of the drawings]
[0009] [Figure 1] FIG. 1 is a conceptual diagram for explaining a method for realizing a reflex action by a robot. [Diagram 2]Figure 2(a) is a front view of the robot, and Figure 2(b) is a side view of the robot. [Diagram 3] FIG. 2 is a cross-sectional view that illustrates a schematic structure of the robot. [Figure 4] FIG. 2 is a diagram showing the hardware configuration of the robot in the basic configuration. [Diagram 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] 4 is a schematic diagram showing the corresponding relationship between a low-order control circuit, a high-order control circuit, and an operation control unit. FIG. [Figure 8] FIG. 4 is a schematic diagram for explaining low-order control. [Figure 9] FIG. 2 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. 2 is a conceptual diagram of a reaction table. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] FIG. 1 is a conceptual diagram for explaining a method for realizing a reflex action by a robot 100. As shown in FIG. Living things perform reflexive behavior when they receive a strong stimulus momentarily. For example, they pull away when hit, and shrink when they hear a loud noise. The robot 100 in this embodiment has a configuration for realizing such reflexive behavior. The robot 100 receives various stimuli from the external environment. The robot 100 recognizes external events based on the detection values of the sensors (hereinafter simply referred to as "sensor values") and selects an action. The actions (motions) of the robot 100 are broadly divided 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-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 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 recognize 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] Since the high-order control circuit 252 is an electronic circuit that is expected to execute various 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 a certain level of stimulation. Since 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 the low-order control circuit 250 detects an abnormality, it immediately instructs the execution of a reaction motion. A dedicated microcontroller is assumed as the low-order control circuit 250, but it may be realized 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 execution of a predefined reaction motion R. For example, when a loud sound is heard, the low-order control circuit 250 makes the body of the robot 100 shake, thereby expressing that the robot 100 is surprised by the loud sound.
[0015] In addition, the low-order control circuit 250 performs A / D conversion (Analog / Digital Conversion) of the sensor value SA, which is analog data, to a sensor value SD, which is 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 from the sensor value SD (digital data) and instructs the execution of a 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 various normal motions N, such as moving away from the user P1 or sitting down.
[0016] In a situation 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 low priority." The low-order control circuit 250 is given the opportunity to judge an external event in priority to the high-order control circuit 252, and by executing reaction motion R as necessary, it realizes an immediate reflex action. Below, the basic configuration of the robot 100 will be described 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] Fig. 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 a camera and a thermosensor. The internal state is quantified as various parameters that express the emotions of the robot 100. The robot 100's range of movement is within the house of the owner's home. Hereinafter, a human being associated with the robot 100 is referred to as a "user."
[0018] The body 104 of the robot 100 has an overall rounded shape, and includes an outer skin formed of a soft and 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 about 5 to 15 kilograms, and the height is about 0.5 to 1.2 meters. Due to the various attributes such as the appropriate weight, roundness, softness, and pleasant feel, the effect of making the user easy to hold the robot 100 and wanting to hold it is realized.
[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 driving wheels, and the rear wheels 103 are driven wheels. The front wheels 102 do not have a steering mechanism, but the rotation speed and rotation direction can be individually controlled. The rear wheels 103 are casters and are freely 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 stored in the body 104 by a drive mechanism (rotation 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 stored in the body 104, the robot 100 is unable to move. That is, as the wheels are stored, the body 104 descends and sits on the floor F. In this seated state, a flat seating surface 108 (ground contact surface) formed on the bottom of the body 104 comes into contact with the floor F.
[0021] The robot 100 has two hands 106. The hands 106 do not have the function of grasping an object. The hands 106 are capable of simple actions 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 electroluminescence elements. The robot 100 is equipped with various sensors, such as a microphone array and an ultrasonic sensor, that can identify the direction of a sound source. It also has a built-in speaker and 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 illustrates a schematic structure of the robot 100. As shown in FIG. As shown in Fig. 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 constitutes the axis of the body 104 and supports the internal mechanism. The base frame 308 is formed by connecting an upper plate 332 and a lower plate 334 vertically with a plurality of side plates 336. Sufficient spaces are provided between the plurality of 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, and forms the head skeleton of the robot 100. The torso frame 318 is stepped and tubular, 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 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 a plurality of servo motors for individually driving each axis. The yaw axis 320 is driven for a head swinging motion, the pitch axis 322 is driven for a nodding motion, and the roll axis 324 is driven for a head tilting motion.
[0027] A plate 325 supporting the yaw shaft 320 is fixed to the upper part 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 body frame 318 houses the base frame 308 and a wheel drive mechanism 370. The wheel drive mechanism 370 includes a rotating shaft 378 and an actuator 379. The lower half of the body frame 318 is narrowed in order to form a storage space S for the front wheel 102 between the wheel cover 312 and the lower half.
[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. Each unit is 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, the sensors 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 touch of the user. 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 a non-volatile memory and a 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 a plurality of actuators and the wheel drive mechanism 370 described above. In addition, a display, a speaker, etc. are also mounted.
[0034] The driving mechanism 120 mainly controls the wheels (front wheels 102) and the head (head frame 316). The driving mechanism 120 can change the moving direction and moving speed of the robot 100, as well as raise and lower the wheels (front wheels 102 and rear wheels 103). When the wheels are raised, they are completely stored in the body 104, and the robot 100 comes into contact with the floor surface F at the seating surface 108, and assumes a seated state. The driving 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 a plurality of 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, and software stored in the storage devices and supplying processing instructions to the computing units. The computer program may be composed of a device driver, an operating system, various application programs located at higher layers than those, and a library that provides common functions to these programs. Each block described below shows a functional block rather than a hardware-based configuration. A part of the functions of the robot 100 may be realized by the server 200, and a part or all of the functions of the server 200 may be realized by the robot 100.
[0036] A plurality of external sensors 114 are installed in advance inside the house. 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 data. The data processing unit 202 executes 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 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, approaching the owner while meandering, and gazing at the owner with the head tilted.
[0039] The motion storage unit 232 stores "motion files" that define the control contents of the 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. Which motion is 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 a plurality of 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 a motion of "approaching the owner, raising hands halfway, and finally sitting down after shaking the body." In the motion file, the rotational angles and angular velocities of the actuators provided in the robot 100 are defined in association with 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 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, are collectively referred to as "behavior characteristics." The behavior 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 information about the user. Specifically, it stores master information indicating the degree of intimacy with the user and the physical and behavioral characteristics of the user. It may also store other attribute information such as age and gender.
[0044] The robot 100 has an internal parameter called intimacy for each user. When the robot 100 recognizes an action that shows affection toward the user, such as picking up the robot 100 or talking to the user, the intimacy with the user becomes high. The intimacy with users who do not interact with the robot 100, users who are violent, and users who the robot 100 encounters infrequently becomes low.
[0045] The data processing unit 202 includes a position management unit 208 , a recognition unit 212 , a motion control unit 222 , an intimacy management unit 220 , and a state management unit 244 . The position management unit 208 specifies 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 the processing load of the processor 122. The state management unit 244 also manages various emotion parameters indicating the emotions of the robot 100 (loneliness, curiosity, desire for recognition, etc.). These emotion parameters are constantly fluctuating. The movement destination of the robot 100 changes depending on the emotion parameters. For example, when the robot 100 feels increasingly lonely, it sets the location of the user as the movement destination.
[0046] Emotion parameters change over time. In addition, various emotion parameters also change depending on the interaction, which will be described later. For example, if the owner "holds" the robot, the emotion parameter indicating loneliness will decrease, and if the robot does not see the owner for a long period of time, the emotion parameter indicating loneliness will increase little by little.
[0047] The recognition unit 212 recognizes the external environment. The recognition of the external environment includes various recognitions such as recognition of weather and season based on temperature and humidity, recognition of shade (safety zone) based on the amount of light and temperature, etc. The recognition unit 156 of the robot 100 acquires various environmental information by the internal sensor 128, performs primary processing on the information, and transfers it to the recognition unit 212 of the server 200.
[0048] Specifically, the recognition unit 156 of the robot 100 extracts an image area corresponding to a moving object, particularly a person or an animal, from an image, and extracts a "feature vector" as a set of feature amounts indicating the physical and behavioral characteristics of the moving object from the extracted image area. A feature vector component (feature amount) is a numerical value that quantifies various physical and behavioral characteristics. For example, the width of a human eye is quantified in the range of 0 to 1 to form one feature vector component. A method for extracting a feature vector from a captured image of a person is an application of a 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) preregistered 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 behaviors given to the robot 100 and classifies them into pleasant and unpleasant behaviors. The recognition unit 212 also recognizes the owner's behavior in response to the behavior of the robot 100 and classifies it into positive and negative reactions. A pleasant or 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. A positive or negative reaction is determined based on whether the user's behavior indicates a pleasant emotion or an unpleasant emotion. 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 motion control unit 222 of the server 200 cooperates 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 a movement target point and a movement route for the robot 100. The motion 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 of the robot 100 from a plurality of motions in the motion storage unit 232. A selection probability is associated with each motion for each situation. For example, a selection method is defined such that when the owner performs a pleasant action, motion A is executed with a probability of 20%, and when the temperature is 30 degrees or higher, motion B is executed with a probability of 5%.
[0053] The intimacy management unit 220 manages the intimacy for each user. As described above, the intimacy is registered as part of the personal data in the personal data storage unit 218. When a pleasant behavior is detected, the intimacy management unit 220 increases the intimacy with the owner. When an unpleasant behavior is detected, the intimacy decreases. In addition, the intimacy 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 , an internal sensor 128 , and a drive mechanism 120 . The communication unit 142 corresponds to the communicator 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 memory device 124 (see FIG. 4). The data processing unit 136 executes 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. The motions are identified by motion IDs. In order to express various motions such as sitting down with the front wheels 102 folded, lifting the hands 106, rotating the two front wheels 102 in reverse or by rotating only one of the front wheels 102 to make the robot 100 rotate, trembling by rotating the front wheels 102 with the front wheels 102 folded, stopping once and looking back when moving away from the user, etc., the operation timing, operation time, operation direction, etc. of various actuators (drive mechanism 120) are defined in a time series in the motion file. 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 motion control unit 150 of the robot 100 decides the motions of the robot 100 in cooperation with the motion 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 motion control unit 150 can execute a motion of lifting both hands 106 as a gesture of asking to be "held" when a user with high intimacy is nearby, and can also express a motion of refusing to be held by alternately rotating in the opposite directions and stopping while keeping the left and right front wheels 102 retracted when the user gets tired of being "held." The drive mechanism 120 drives the front wheels 102, hands 106, and neck (head frame 316) according to instructions from 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 a feature vector from a captured image of a moving object. As described above, the feature vector is a set of parameters (feature amounts) indicating the physical and behavioral features of a moving object. When a moving object is detected, the physical and behavioral features are also extracted from an odor sensor, a built-in sound collecting microphone, a temperature sensor, and the like. These features 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 and the like.
[0061] Of 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 executed by the recognition unit 212 of the server 200. The recognition process may be executed by only the recognition unit 212 of the server 200, or by only the recognition unit 156 of the robot 100, or the above recognition process may be executed by both of them with their roles shared as described above.
[0062] When a strong impact is given to the robot 100, the recognition unit 156 recognizes this by the touch sensor and the acceleration sensor, and the recognition unit 212 of the server 200 recognizes that a "violent act" has been committed by a nearby user. When a user grabs the horn 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 performed on the robot 100. In addition, when a temperature of about body temperature is detected, it recognizes that a "contact act" has been performed by the user, and when an upward acceleration is detected in a state where contact has been recognized, it recognizes that a "hug" has been performed. 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 by 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 a user identification process 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 responses are related to the degree of intimacy, and positive and negative reactions affect the robot 100's selection of actions.
[0064] The intimacy management unit 220 of the server 200 changes the intimacy with the user in response to the interaction behavior recognized by the recognition unit 156. In principle, the intimacy with a user who has performed a pleasant behavior increases, and the intimacy with a user who has performed an unpleasant behavior decreases.
[0065] Based on the above basic configuration, next, implementation of the robot 100 in this embodiment will 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 in this embodiment. The robot 100 in this embodiment is equipped with a CNS (Central Nervous System) board 116 in addition to the processor 122. The processor 122 functions as a high-order control circuit 252 (see FIG. 1). The CNS board 116 functions as a low-order control circuit 250 (see FIG. 1). The CNS board 116 is an electronic circuit designed to execute reaction motion R (reflex action) within a certain period of time from the time when the robot 100 receives an external stimulus. Hereinafter, the control related to the execution decision of reaction motion R by the low-order control circuit 250 is called "low-order control", and the control related to normal motion N (conscious action) by the high-order control circuit 252 is called "high-order control".
[0067] FIG. 7 is a schematic diagram showing the corresponding relationship between the low-order control circuit 250, the high-order control circuit 252, and the operation control section 150. As shown in FIG. The function of the data processing unit 136 of the robot 100 is realized by the cooperation of the hardware and software of the robot 100. The motion control unit 150, which assumes part of the function 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. 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 function of the motion control unit 150 is 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 the 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 a sensor F1 and detects a sensor value S1 (analog data) of the sensor F1. If the sensor value S1 is equal to or greater than a 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-order control circuit 250 transmits a predetermined instruction signal to the actuator 326 that controls the head frame 316 to vibrate the head frame 316, thereby acting as if the robot 100 is startled by a loud sound.
[0071] In the low-order control circuit 250, the actuator to be instructed in response to 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 sound." The processing of the low-order control circuit 250 is simple, and there is no overhead associated with the execution of software, so it has excellent responsiveness.
[0072] FIG. 9 is a schematic diagram for explaining high-order control. The execution of the normal motion N 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 emotion parameters and intimacy, and is configured by software. The behavioral characteristic model 254 determines the behavioral characteristics of the robot 100 by cooperating 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. The sensor values S1 to Sn (digital data) of the sensors F1 to Fn are input to the high-order control circuit 252 in FIG. 9. The high-order control circuit 252 determines the 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 characteristic model 254) detects a touch of the user P2 to the body 104 by the touch sensor and detects the rise of the robot 100 by the camera and the acceleration sensor, it comprehensively determines that the robot 100 is being "held". 2 The intimacy level with respect to the user P2 is increased. The behavioral characteristics of the robot 100 change depending on the change in intimacy level. 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 operation control unit 150 will select an action to approach 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, the sensor value is used to interpret an external event, and the behavior selection criteria are changed by changing internal variables such as intimacy level and emotion parameters, and the normal motion N is selected as the 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) in charge of low-level control and a processor 122 (high-level control circuit 252) in charge of 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 transmit instruction signals to one or more actuators. The sensor F here may be an internal sensor 128 such as a camera, or may be 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 include a function for shaping the sensor value into a format that is easily usable by the processor 122. 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 above-mentioned "reflection threshold"). Hereinafter, an external event in which the sensor value is equal to or greater than the reflection threshold is referred to as an "intensity event". When an intensity 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] On the other hand, regardless of whether it 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 provided with various types of sensors F. The sensors F output sensor values at regular intervals, but the output cycles are not the same. The high-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 in the processing arrive at different timings, a timing adjustment process is required, consuming its own calculation resources. Therefore, the shaping unit 180 accumulates the sensor values received from each sensor F in a buffer as necessary and synchronizes the output timing of each sensor value. The shaping unit 180 is responsible for adjusting the output timing of the sensor values, thereby reducing the processing load of the high-order control circuit 252. When the shaping unit 180 adjusts the output timing, it may be designed to be synchronized with the CNS board 116 provided for other sensors, or the shaping unit 180 and the sensor value output unit 182 may be shared by multiple CNS boards 116.
[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 in which the robot 100 is placed. When changing the settings of the reflex threshold and the reaction motion R in the CNS board 116 (low-order control circuit 250), the high-order control circuit 252 transmits 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 an 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 invalidates 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 according to 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, the reaction motion R is executed immediately, while the high-order control circuit 252 can determine the normal motion N to be executed after the reaction motion R ends without waiting for the end of the reaction motion R.
[0082] FIG. 11 is a conceptual diagram of the reaction table 194. As shown in FIG. The reflection threshold is set in the judgment unit 184 (core circuit 174). The reaction motion R, 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 shows a schematic diagram of 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 the reflection threshold and the 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 the sensor F1 (sensor value S1). In FIG. 11, the reflection threshold T=T1 is set. As the reaction motion R, any of the motions M1 to M4 can be selected, but in FIG. 11, the motion M1 is set. That is, when the sensor value S1 exceeds the reflection threshold T1, the core circuit 174 instructs the execution of the motion M1 as the reaction motion R. In the signal generating unit 186, the actuator to be controlled in realizing the motion M1 and its instruction values (movement amount, movement direction, movement speed) are set. 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) reaches or exceeds a reflection threshold, the signal generating unit 186 vibrates the wire 134. By executing a simple process of vibrating the wire 134 when the low-order control circuit 250 detects a loud sound, the robot 100 can express the reflex action of "being startled by a loud sound and shaking its 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 such a control method, the robot 100 that has been continuously exposed to loud sounds will not react to sounds of 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 storing the front wheels 102 in the body 104 and sitting down. For example, when a sound above the reflex threshold is not detected for a predetermined period of time or longer, 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 on the spot when it hears a loud noise.
[0087] As described above, when a predetermined change condition is met, the high-order control circuit 252 changes the reflection threshold and the reaction motion R. Hereinafter, the reflection threshold and the reaction motion R are 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 retreats. To realize such a 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 equal to or greater than a reflex threshold, in other words, when a strong contact with the head is detected, the signal generating unit 186 instructs the front wheels 102 to rotate backwards. By such control, it is possible to cause the robot 100 to execute the reflex action of "running backwards when hit on the head."
[0089] Changing the reflex threshold changes the 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 sensitivity and tolerance of the robot 100 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-order control circuit 250 may close the eyelids when hit by changing the pupil image displayed on the eye 110. In this way, the low-order control circuit 250 may transmit an instruction signal to an electrical control device such as a display device, in addition to a mechanical control device such as an actuator.
[0091] The robot 100 may express relaxation by suppressing or stopping the supply of electricity to the actuators depending on an external event, such as when the robot is hit. The low-order control circuit 250 may express "rigidity" or "tension" by fixing the movement of the actuators.
[0092] (Example 3: Reflex action when falling) During a fall, the robot 100 reflexively stops the power supply to all actuators. This is to prepare for an impact by maximizing the mobility of the actuators. In other words, the actuators (joints) are made flexible to allow the robot 100 to take a passive stance. The low-order control circuit 250 instructs the actuators to stop the power supply when the acceleration (sensor value) detected by the acceleration sensor is equal to or greater than a reflex threshold. When the robot 100 detects a fall, it may store the front wheels 102 in the body 104. Since the front wheels 102 are usually exposed from the body 104, storing the front wheels 102 (movement mechanism) in the body 104 can prevent the front wheels 102 from being damaged by the impact of the fall. The reaction motion R may be executed not only to express an instinctive immediate reaction, but also to protect the mechanism of the robot 100.
[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, a plurality of reaction motions R are associated with one sensor, and the high-order control circuit 252 selects one of them. According to such a control method, predefined reaction motions can be executed at high speed according to the sensor value. The change condition that determines which of the plurality of reaction motions is to be executed can be set arbitrarily. For example, it is assumed that the sensor F1 is set to be able to select motions M1 to M4 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 amount of momentum of the action may be different depending on the motion. For example, the reaction motion M1 is a motion of moving backward by more than one meter, and the reaction motion M2 is a motion of moving backward by 10 centimeters. In an environment where loud noises occur frequently, the robot 100 can express its habituation to loud noises by setting the motion M2 rather than the motion M1. In addition, the reaction motion M1 may be changed to the reaction motion M2 when the number of days elapsed since the date of manufacture of the robot 100 exceeds a predetermined value. According to such a control method, it is possible to express "calmness" in that the robot is no longer 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 the high-order control circuit 252 (software level), and instinctive and immediate behavior is executed by the low-order control circuit 250 (hardware level). Just as the human brain is divided into the neocortex, which controls rational thinking, and the paleocortex, such as the limbic system, the control mechanism for conscious behavior and the control mechanism for unconscious behavior are also separated in the robot 100. With this design, the robot 100 can be made to execute instinctive and simple reflex actions as well as complex behavioral characteristics.
[0097] The low-order control circuit 250 judges whether or not to execute the reaction motion R simply by checking whether the sensor value exceeds the reflection threshold. Therefore, it is possible to suppress 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, the execution of the normal motion N by the high-order control circuit 252 is inhibited by a cancellation signal. This control is also a point of innovation to prevent unnaturalness caused by simultaneous or successive execution of the reaction motion N and the normal motion N. Since 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 generate overhead associated with software execution. On the other hand, since the algorithm of the high-order control circuit 252 is implemented by software, the high-order control circuit 252 makes decisions slower than the low-order control circuit 250, but 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 express 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 state 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-mentioned embodiment and modified examples, and the components can be modified without departing from the gist of the present invention. Various inventions can be formed by appropriately combining multiple components disclosed in the above-mentioned embodiment and modified examples. In addition, some components can be deleted from all the components shown in the above-mentioned embodiment and modified examples.
[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 take on part 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 one "robot" in general terms. How to allocate the multiple functions required to realize the present invention to one or more pieces of hardware may 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 not including the server 200, while the "robot in the broad sense" refers to the robot system 300. It is possible 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 regarded as the "low-order control circuit 250 in the narrow sense."
[0106] In the present embodiment, it has been described that each sensor is associated with a low-order control circuit 250, and the low-order control circuit 250 controls one or more actuators. As a modified example, 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] A plurality of 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 the values of the plurality of sensors, 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 horn 112 in addition to the front wheels 102 in the body 104 for protection.
[0109] Since the algorithm of the low-order control circuit 250 is simple, it can be implemented only by hardware, but implementation by software is not excluded. The low-order control circuit 250 may 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 the reflection threshold T1, and may execute a reaction motion M2 when the sensor value exceeds the 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] Regarding sound, whether or not to execute the reaction motion R may be determined based on other sensor values such as frequency, not limited to volume. Even if the volume is low, the reaction motion R may be executed when an unpleasant high-frequency sound is heard. For the microphone array, 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. In this way, multiple low-order control circuits 250 (core circuits 174) may be associated with one sensor.
[0112] In the present embodiment, the two-stage control is assumed to be performed by 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-order control circuit 250 in this embodiment has been described as an electronic circuit that is not intended to execute software, the low-order control circuit 250 may be an electronic circuit that executes built-in 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 motions R are given: (Example 1) reflex action when a loud noise is heard, (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 measuring sensor such as a ToF (Time of Flight) sensor or a sonar. The low-order control circuit 250 may stop the movement of the robot 100 when the distance measuring sensor detects a wall, a step, a hole, or a cliff. For example, the low-order control circuit 250 instructs the front wheels 102 to be stopped when an obstacle is detected at close range. The robot 100 can be protected from danger by stopping the movement of the robot 100 when a sensor value that is assumed to threaten the safety of the robot 100 is used as a trigger. When an obstacle is detected, the high-order control circuit 252 judges 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-order control circuit 250, it executes the normal motion N instructed by the high-order control circuit 252. In this way, the robot 100 may immediately execute the reaction motion R and then continue to execute the normal motion N.
[0117] When an obstacle falls in front of the robot, or an obstacle is installed, I like itHowever, the low-order control circuit 250 may instruct the robot 100 to stop moving when it detects an obstacle at close range. As described above, after executing a reaction motion R (sudden stop) for ensuring safety, the high-order control circuit 252 may execute a normal motion N. For example, the high-order control circuit 252 may express surprise of the robot 100 by raising the hand 106 of the robot 100, enlarging the pupil of the eye image displayed on the eye 110, or blinking.
[0118] (Example 6: Reflex action when detecting a heat source) The robot 100 may detect a heat source by 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 members 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. In addition, 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 a flash is detected) The robot 100 displays an eye image on the eye 110. When the low-level control circuit 250 detects strong light (flash) by the camera or the light sensor, it displays an eye image of the eyelids being closed on the eye 110. According to such a control method, it is possible to instantly express the robot 100 instinctively closing its eyes when exposed to strong light. In addition, the robot 100 may execute reaction motions R such as turning its face away, tilting its head down, or stopping movement.
[0120] (Example 8: Reflex action when it gets dark) The low-level control circuit 250 may stop the movement of the robot 100 when the camera or the light sensor detects that the amount of light is equal to or lower than a predetermined value. For example, when the user turns off the light in the room, the robot 100 can be prevented from bumping into objects in the room in the dark by stopping the movement of the robot 100.
[0121] An optical sensor may be attached to the face of the robot 100. When the 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] The reaction motion R instructed by the low-order control circuit 250 is executed in priority to the normal motion N instructed by the high-order control circuit 252. If the low-order control circuit 250 instructs the execution of a reaction motion R while a normal motion N is being executed, the normal motion N being executed is immediately stopped and the 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 the execution of all scheduled reaction motions R is completed. In this way, the reaction motion R and normal motion N are not executed in parallel, and the execution order of the reaction motion R and normal motion N is serialized.
[0123] The low-order control circuit 250 shown in Fig. 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 already selected normal motion N. Since the execution of a motion often involves mechanical operation, it takes a certain amount of time from the start to the end of execution. On the other hand, it is expected that the motion selection by the high-order control circuit 252 (electronic circuit and software) will become even faster in the future. According to the above-mentioned control method, while the execution status notification unit notifies the high-order control circuit 252 of the execution status of the reaction motion R, in other words, while waiting for the execution of the normal motion N by the high-order control circuit 252, the low-order control circuit 250 can execute one or more reaction motions R with priority. Even when the normal motions N become more diverse in the future, it will be easier to realize the immediate execution (immediate reaction) of the reaction motion R.
[0125] Normal motion N may be temporarily stopped in order to execute reaction motion R during the execution of normal motion N. In this case, normal motion N that was executed beforehand may be resumed after execution of reaction motion R (after reflex action). For example, in a situation where normal motions N1 and N2 are scheduled to be executed consecutively, execution of reaction motion R1 is instructed during execution of normal motion N1. 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 the middle, normal motion N1 may be redone from the beginning, or normal motion N1 may be canceled and normal motion N2 may be executed. In addition, the internal state (emotion parameters, intimacy level, etc.) of the robot 100 may be changed according to 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, the robot 100 may be moved after a new movement target point is set.
Claims
1. A motion control unit that selects the motion of the robot; a drive mechanism for executing the motion selected by the motion control unit; The operation control unit is When the detection value of the sensor exceeds a threshold value, a reaction that is previously associated with the sensor is generated. a low-order control circuit for selecting a motion; a high-level control circuit that changes a behavior characteristic of the robot in response to a detection value of the sensor; The high-level control circuit sets a reaction motion to be associated with the sensor; The low-order control circuit selects a reaction motion associated with the sensor by the high-order control circuit when the detection value of the sensor exceeds a threshold value. An autonomous robot characterized by the above.
2. A motion control unit that selects a motion of a robot; a drive mechanism for executing the motion selected by the motion control unit; The operation control unit is When the detection value of the sensor exceeds a threshold value, a reaction that is previously associated with the sensor is generated. a low-order control circuit for selecting a motion; a high-level control circuit that changes a behavior characteristic of the robot in response to a detection value of the sensor; The autonomous robot is characterized in that the high-level control circuit updates the threshold value.
3. The high-level control circuit selects a normal motion of the robot in response to the detection value, The motion control section controls the reaction motion selected by the low-order control circuit and the high-order control circuit. a control circuit for causing the drive mechanism to execute a selected normal motion; and When the detected value exceeds the threshold In this case, you may want to prioritize reaction motions over normal motions.
3. The autonomous robot according to claim 1 or 2.
4. A plurality of the low-order control circuits are provided corresponding to the plurality of sensors, The high-order control circuit responds to a combination of detection values output from the plurality of low-order control circuits.
3. The automatic motion control system according to claim 1, wherein the normal motion of the robot is selected according to the input of the automatic motion control system. A self-regulating robot.
5. The low-level control circuit selects a reaction motion according to a detection value of one type of sensor. Select, The high-level control circuit controls the movement of the robot in response to a combination of detection values of a plurality of types of sensors.
3. The autonomous robot according to claim 1, wherein the dynamic characteristics are variable.
6. the low-level control circuit executes a reaction motion as a typical behavior previously associated with the sensor when the detection value of the sensor exceeds the threshold value; The high-level control circuit changes an emotion parameter in response to a detection value of the sensor, The robot according to claim 1 or 2, characterized in that the behavioral characteristics of the robot are changed according to the change in the parameter. The autonomously acting robot described herein.
7. The low-order control circuit is included in the drive mechanism as the reaction motion. The autonomous robot according to claim 1 or 2, characterized in that the power supply to the actuator is stopped. Net.
8. The low-order control circuit and the high-order control circuit are configured separately as hardware.
8. The autonomous action robot according to claim 1, further comprising:
9. A plurality of the low-level control circuits are provided as separate hardware corresponding to the plurality of sensors. The autonomous behavior type according to any one of claims 1 to 8, robot.
10. The autonomous robot according to claim 1, wherein the high-level control circuit updates the threshold value in accordance with the environment or state in which the autonomous robot is placed.
11. An autonomous robot as described in any one of claims 1 to 10, characterized in that the high-level control circuit sets a threshold value greater than the threshold when the number of times a sensor detection value greater than the threshold is detected per unit time exceeds a predetermined number of times.
12. An autonomous robot as described in any one of claims 1 to 11, characterized in that the high-level control circuit sets a threshold value smaller than the threshold value when the number of times a sensor detection value below the threshold value is detected per unit time is within a predetermined number of times.
Citation Information
Patent Citations
Connecting device and robot system
JP2000323219A
Robot and display device therefor
JP2003071761A
Robot device and control method therefor
JP2003266353A
Robot device
JP2006110707A
Robot overcurrent prevention system
JP2006142470A
