Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
TOYS IMITATING CHARACTERS BEHAVIOUR
Document Type and Number:
WIPO Patent Application WO/2002/013935
Kind Code:
A1
Abstract:
Each of interacting toys comprises a housing defining its form and outward appearance, means for transmitting messages with information about this first toy, means for receiving messages transmitted by the other toy with information about the second toy, means for reproducing reaction of the first toy to the second toy and to the user interaction, storage means containing data about reactions of the first toy to various other toys and to various user actions. Each of interacting toys periodically sends messages about itself to another toy receives messages from it. If the first toy detects the presence of the second toy, it reacts to this facto for example by making a sound caracterizing the reaction of the first toy to the second toy. Type of reaction and its intensity level depend on information received from the second toy. The second toy has the same functioning. Thus, the imitation of various relationships between toys and the variety of toys' behaviour is provided.

Inventors:
Smirnov, Alexander V. (Vyborgskay ul. 4/1, ap.3 Moscow 2, 12521, RU)
Application Number:
PCT/IB2001/001386
Publication Date:
February 21, 2002
Filing Date:
August 02, 2001
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
Smirnov, Alexander V. (Vyborgskay ul. 4/1, ap.3 Moscow 2, 12521, RU)
International Classes:
A63H3/28; A63H30/04; (IPC1-7): A63H3/28
Domestic Patent References:
1999-07-01
1999-10-28
Foreign References:
US4857030A1989-08-15
US5376038A1994-12-27
US6012961A2000-01-11
US4857030A1989-08-15
US5367454A1994-11-22
US6048209A2000-04-11
Download PDF:
Claims:
CLAIMS We claim
1. A toy imitating character behavior containing a housing defining the shape and appearance of said toy, and disposed in said housing: executive means for execution of operations that imitate behavior of a character represented by said toy; reception means for reception of external activations of said toy; storage means ; control means connected to said reception means, to said storage means and to said executive means and capable in reply to a variation of at least one external activation : (a) to record into said storage means an external event corresponding to said variation of at least one external activation; (b) according to said external event, and according to at least one previous external event, which is recorded in said storage means, to determine internal parameters of said toy; and (c) according to at least one parameter of said internal parameters to generate a control signal providing the execution of at least one operation imitating behavior of the character, and to send said control signal to said executive means.
2. The toy imitating character behavior of Claim 1, further containing timing means for generation of internal events, wherein said control means are connected to said timing means and are capable in response to an internal event: (a) to record said internal event into said storage means, and (b) to determine said internal parameters according to said internal event and according to at least one previous internal event recorded in said storage means.
3. The toy imitating character behavior of Claim 2, wherein said control means are capable at least: in reply to said external event to set a duration of a time internal up to the next internal event according to external activations of said toy received by said reception means, or in reply to said internal event to set a duration of the time interval up to the next internal event according to at least one of said internal parameters.
4. The toy imitating character behavior of Claim 1, wherein said reception means contain detection means for detection of the presence of another toy, and wherein said external event contains information about approaching of said other toy or about removing of said other toy.
5. The toy imitating character behavior of Claim 4, wherein said detection means contain receiving means for receiving of at least one message transmitted by said other toy.
6. The toy imitating character behavior of Claim 1, wherein said executive means contain reproduction means for reproducing of sound responses.
7. The toy imitating character behavior of Claim 2, wherein said control means are capable of determining at least one of said internal parameters as a function of at least a first response to a first external activation happened before, and a second response to a second external activation happened before.
8. The toy imitating character behavior of Claim 7, wherein said control means are capable of determining at least said first response to said first external activation according to: (a) a first external event recorded in said storage means that is the beginning of said first external activation; (b) a first function of a total amount of external events and internal events recorded into said storage means after said first external event; (c) a second external event recorded in said storage means that is the end of said first external activation; (d) a second function of a total amount of external events and internal events recorded into said storage means after said second external event.
9. The toy imitating character behavior of Claim 1, wherein at least one of said internal parameters corresponds to an intensity degree of one of emotional states of the character, which behavior is imitated by said toy.
10. The toy imitating character behavior of Claim 2, wherein said control means are capable of deleting from said storage means of at least one external event or one internal event recorded into said storage means prior to all other external events and internal events.
11. Toys imitating characters behavior consisting of at least a first toy and a second toy, each of which contains: executive means for execution of operations imitating behavior of a character represented by the toy; reception means for reception of external activations of the toy; storage means; control means connected to said reception means, to said storage means, and to said executive means and capable in response to a variation of at least one external activation: (a) to record into said storage means an external event corresponding to said variation of at least one external activation; (b) according to said external event, and according to at least one previous external event recorded in said storage means to determine internal parameters of said toy; and (c) according to at least one parameter of said internal parameters to generate a control signal providing the execution of at least one operation imitating behavior of the character, and to send said control signal to said executive means.
12. The toys imitating characters behavior of Claim 11, wherein at least said second toy further contains transmitting means for transmitting of at least one message; and wherein said reception means of at least said first toy contains receiving means for receiving of said at least one message; and wherein at least one external event recorded into said storage means in said first toy corresponds to the beginning of receiving of messages transmitted by said second toy or the ending of receiving messages transmitted by said second toy.
13. The toys imitating characters behavior of Claim 12, wherein said at least one message contains information about said second toy, and wherein said control means in said first toy are capable of selecting said information about said second toy, and wherein said at least one external event recorded into said storage means in said first toy is determined according to said information about said second toy.
14. The toys imitating characters behavior of Claim 12, wherein said transmitting means contain means of transmission of an optical signal, and said receiving means contain means of reception of an optical signal.
15. The toys imitating characters behavior of Claim 12, wherein said information about said second toy contains at least an identifier uniquely defining the character represented by said second toy, or data describing appearance of said second toy, or data describing an emotional condition of the character represented by said second toy.
16. A method of imitation of character behavior with the use of toys comprising : providing a toy containing executive means for execution of operations imitating behavior of a character represented by said toy, reception means for reception of an external activation of said toy, storage means, and control means; monitoring of external activations of said toy; recording of external events, each of which corresponds to a variation of at least one external activation of said toy, in said storing means; determining of internal parameters of said toy according to said external events recorded in said storage means; executing of operations imitating behavior of the character represented by said toy according to at least one parameter of said internal parameters.
17. The method of imitation of character behavior with the use of toys of Claim 16, further comprising : generating of an internal time scale of said toy; determining of said internal parameters according to the duration of internal time intervals, each of which has elapsed after one of said external events recorded in said storage means.
18. The method of imitation of character behavior with the use of toys of Claim 17, wherein said generating of the internal time scale comprises: generating of internal events, and storing said internal events in said storage means, wherein the duration of the internal time interval is determined by a total amount of external events and internal events stored during said internal time interval.
19. The method of imitation of character behavior with the use of toys of Claim 17, wherein said determining of said internal parameters of said toy comprises: determining of at least a first particular value of at least a first internal parameter as a response to a first external activation of said toy happened in the past; determining of a resulting value of at least said first internal parameter as a function of at least said first particular value.
20. The method of imitation of character behavior with the use of toys of Claim 21, wherein said determining of at least said first particular value of at least said first internal parameter comprises: (a) determining of the greatest possible value of said first internal parameter for said first external activation; (b) determining of a first coefficient according to the duration of a first internal time interval elapsed from the beginning of said first external activation up to the end of said first external activation; (c) determining of a second coefficient according to the duration of a second internal time interval elapsed from the end of said first external activation up to the current point of time ; (d) computing a function of said greatest possible value of said first internal parameter, of said first coefficient and of said second coefficient.
Description:
TOYS IMITATING CHARACTERS BEHAVIOR FIELD OF THE INVENTION The invention relates to toys that imitate characters behavior and respond to external activations including the presence of other toys.

BACKGROUND OF THE INVENTION Toys relate to objects that all people use. For children toys determine the world that surrounds them, are a strong means of development, education and up-bringing.

For adults toys can be a pleasant souvenir that entertains, helps to relieve stress, enhances life, and calls up memories.

Normally, toys are passive participants of the interaction with the user who uses his/her voice and imagination to make toys able to speak and interact with each other.

For many years there have been toys that respond to a certain activation by the user, for example toys that give sounds when they are pressed. If toys get a possibility to imitate to a certain extend the behavior of real or fairy characters and to interact among themselves, and at the same time if toys get individual features, the ability to express emotions and different reactions to the interaction with other toys, then the toy world will become alive, more diverse and instructive.

An important condition of providing toys with individual behavior is the presence of memory about previous events. Toy's behavior expressed by its actions and responses should depend on the events happened to the toy before. The memory of toys with different personality should keep pleasant and unpleasant events for a

different time. This will make it possible to imitate behavior of toys with different personalities.

The prior ait provides us with the doll with programmable speech activated by pressure on particular parts of head and body, U. S. Pat. No. 5,376,038 to Arad, et al, 1994. This Doll comprises storage means for storing a plurality of prerecorded audible speech messages. These audible messages are reproduced, when the user presses switches located in different parts of doll's head and body. The choice of a message is determined by what switch is activated by the user. The toy also has a mode, in which the sequence of pressures on one or several switches results in reproduction of a sequence of corresponding messages.

The limitation of this device is that the pressure on certain parts of doll's head and body always results in playing back the same messages. This feature is certainly good for educating a child. But in play the doll that gives the same verbal response to every touch will soon become boring. This toy does not provide the imitation of behavior that depends on preceding events.

An attempt to overcome this limitation was made in U. S. Pat. No. US6012961 to Sharpe, et al., 2000 that discloses an electronic toy including a reprogrammable data storage device. This invention allows to record from an external source that can be a regular PC a functioning program and a set of audible messages for reproduction into toy storage device. The toy operation is possible both when the toy is connected to a PC and autonomously, when the toy is controlled by the recorded program. The reproduction of recorded audible messages and other responses of the toy are determined by the above-mentioned program and the activation by the user of command input means located in the device. It makes it possible for the user, for example for a parent, to make playing with the toy more diverse and improve its educating and entertainment features.

However, the behavior of this toy is straightforwardly determined by the program and does not depend on preceding events, surrounding conditions, contacts with other toys, etc. This proves to be a limiting factor for imitating real behavior of characters.

A partial solution to the problem is provided in U. S. Pat. No. 4,857,030 to Rose, 1989 that shows conversing dolls. Two or more dolls with speech synthesizing systems appear to intelligently converse while signaling each other via a radio frequency transmission to indicate what has been spoken, and to request a response, which is intelligent with respect to the synthesized speech of the other doll.

Additionally, the synthesized speech is made responsive to various positions of the doll or the actuation of certain sensors on the doll, or even the motion of the doll. The choice of a program that determines the content of a conversation between dolls each time is randomly made up of several programs.

However, this invention has limitations of its own. All dolls participating in the conversation have the same programs. Roles are randomly assigned to the dolls every time they begin the conversation. That is why it is not possible for a doll to get a permanent role or a personality. The dolls do not have a memory of events, that is why the run of the program does not depend on preceding events. In result, character behavior imitation is possible within a narrow fiamework.

There is also interactive man-machine interface for simulating human emotions, U. S. Pat. No. 5367454 to Kawamoto et al., 1993. The system stores data representing each of eight basic emotions and continually changes the level of each basic emotion depending on environmental stimuli, internal relations among the emotions and the passage of time. The degree of internal relations among emotions is programmed before operation. All eight basic emotions are made to reduce in intensity over time. Based on a database of facial expressions, the system displays a composite expression corresponding to the intensity levels of all eight basic emotions.

However, this invention does not provide a memory of events. The system remembers its last state only. That is why behavior imitation that depends on events in the past is only possible in a primitive way.

U. S. Pat. No 6048209, to Bailey et al., 2000 discloses a doll simulating adaptive infant behavior. This doll includes sensors that detect care given to the doll, such as feeding, rocking, and neglect or abuse, and a microcontroller, which operates on a behavioral state machine to produce infant behaviors that are expected of a

human infant in response to similar care. The microcontroller is programmed to receive inputs from the plurality of sensors, and causes the doll to undergo a plurality of behavioral cycles, such as sleeping, hunger, feeding, crying, wailing, etc. During each behavioral cycle, the microcontroller transitions through a plurality of states and updates a plurality of timers to count preset time limits as well as adaptive time limits that are responsive to care given to the doll during previous cycles. The timers control the length of time in each state, the transition between cycles, and provide inputs to the indicators such as the speaker and the LEDs.

The limitation of this invention is that it also does not have a memory of events. Changes in doll's behavior are determined by pre-programmed transitions from one state into another in accordance with the user actions and time that passed since the previous change of states. This solution does not allow to imitate behavior variations depending on a sequence of events in the past.

OBJECTS AND SUMMARY OF THE INVENTION It is an object of the present invention to provide a toy that imitates character behavior and has a memory for recording of events that happen to the toy, and able to change its behavior depending on constant parameters that determine a personality of the character represented by the toy, on external effects, and on events that happened before.

Another object of the present invention is to provide toys, each of which has different behavior caused by the same external effects and previous events, so that the behavior of every toy simulates personality, temperament, and individuality of the character represented by the toy.

The further object of the present invention is to provide toys, each of which has an internal timer that determines the speed of changing of toy's state and behavior and the speed of the internal time flow depends on constant parameters that characterize the toy, on the current state of the toy, on external activation and on other factors.

The further object of the present invention is to provide toys, for each of which receiving a message from another toy is one of the types of external activating, and the behavior of which depends on messages earlier received from other toys.

The further object of the present invention is to provide toys, behavior of which expresses emotional states of characters represented by the toys and these emotional states could have different degrees of intensity.

The further object of the present invention is to provide toys, behavior of which is characterized by higher diversity depending on preceding events and on parameters that determine the personality of every toy.

The further object of the present invention is to provide toys with character behavior simulation that can be ensured by simple and inexpensive technical means to keep toy production costs to the minimum.

The. further object of the present invention is to provide toys that simulate different types of behavior of different characters and that have a unified internal device that will allow to reduce cost of production of a big amount of different types of toys.

The above-mentioned and other objects of the invention are met in toys that will be described below.

Each of toys that simulates character behavior comprises a housing that determines a form and appearance of the toy. This housing in its turn comprises executive means for providing execution of behavior simulating actions, reception means for receiving external effects, storage means and control means.

Control means record into storage means data about external events, where each of external events is a change of some external activating of the toy. Then, in accordance with signals received from reception means and with the data stored in storage means, control means determine parameters that characterize an internal state of the toy, form control signals that provide execution of actions corresponding to the internal state of the toy, and send these control signals to execution means. The rules used to determine parameters characterizing toy's internal state are set for every toy individually that ensures a wide range of behavior variants.

Further, the toy simulating character behavior comprises means for generating internal events. Control means record into memory means data about internal events and take this data into account when determining parameters characterizing the internal state of the toy. Means for forming internal events can be implemented as a timer, the period of which is set by control means in accordance with an external activation of the toy.

External and internal events form an internal time scale that can be different in different toys. Internal state and behavior changes of every toy take place according to its internal time scale. As a result, the range of behavior variants of toys further increases.

Other objects, features and advantages of the invention shall become apparent as the description thereof proceeds when considered in connection with accompanying drawings.

BRIEF DESCRIPTION OF DRAWINGS Fig. 1 shows two toys imitating characters behavior and the structure of one of them; Fig. 2 shows an electric circuit of the toy; Fig. 3 shows data areas in a random access memory (RAM); Fig. 4 shows History Table; Fig. 5 shows data areas in a read-only memory (ROM); Fig. 6 shows Sound Responses area in ROM; Fig. 7 shows Identificators Table in ROM ; Fig. 8 shows Parameters Table in ROM; Fig. 9 shows Emotions Table in ROM; Fig. 10 shows Timer Table in ROM; Fig. 11 shows Functions Table in ROM; Fig. 12 shows Coefficients Table in ROM; Fig. 13 shows a flowchart of a program run on a microcontroller in the toy;

Fig. 14 shows a flowchart of a subroutine of waiting for events; Fig. 15 shows a flowchart of a subroutine of checking the receiving of a message from another toy ; Fig. 16 shows a flowchart of a subroutine of determining a type of external activation that is receiving a message from another toy; Fig. 17 shows a flowchart of a subroutine of recording events into History Table in RAM; Fig. 18 shows an example of deleting events from History Table; Figs. 19A and 19B show a flowchart of a subroutine of determining toy's reaction; Fig. 20 shows a flowchart of a subroutine of checking conditions for transition into Power Down mode.

DETAILED DESCRIPTION OF THE INVENTION In the beginning, we will provide a general description of the structure and operation of toys simulating characters behavior.

Fig. 1 shows first toy 1 and second toy 2 that interact with each other. Each of toys 1, 2 can have an appearance of a doll, of any fairy tale or cartoon character, a real or a fantastic animal. Each of toys 1,2 has housing 3. Inside housing 3 there are electronic block 4, photosensor 5, and light-emitting diode 6. In appropriate places of housing 3 there are sensors 7 and 8, speaker 9 and power supply block 10.

Photo-sensor 5 is a regular photodiode of short IR range. Light-emitting diode 6 is emitting in short IR range. Sensors 7 and 8 can be implemented as mini-switches that lock when pressed and unlock when the pressure is terminated. Power supply block 10 can comprise one or several batteries.

In the preferred embodiment of the present invention, each of toys 1,2 taken separately responds to the activation by the user in a form of pressing sensors 7 and 8. Responses of every toy 1,2 are sounds synthesized in electronic block 4 and reproduced through speaker 9. These responses make up the behavior of every toy.

First toy 1 sends message 11 that contains data about this first toy 1. Second toy 2 sends message 12 that contains data about this second toy 2. In each toy, the message is formed as an electric signal in electronic block 4 and is transmitted by light-emitting diode 6 in a form of modulated IR emanation. Each of toys 1,2 receives a message from another toy with the help of its photosensor 5. The received message is decoded in electronic block 4.

First toy 1, having received message 12 from second toy 2 and having got data about second toy 2 from message 12, responds to the presence of second toy 2 by reproducing a sound message that expresses emotional state of first toy 1 at the moment of meeting second toy 2. In the similar way, second toy 2 having received message 11 from first toy 1 and having got data about first toy 1, responds to the presence of first toy 1 by reproducing of a corresponding sound message.

Sound messages reproduced by each of toys 1,2 correspond to the appearance of the toy. For example, a teddy bear can growl, a cat can mew and purr, a fantastic animal can produce fantastic sounds, etc. It is also possible to reproduce prerecorded voice messages and to synthesize voice messages according to prerecorded text fragments.

Each of toys 1,2 has several types of response that correspond to different emotional states (or simply emotions) of the character represented by the toy. The type of emotional state is further denoted as RType. In the preferred embodiment of the present invention, RType can get four values: 4-Joy, 3-Sadness, 2-Anger, and 1-Fear. Every emotion has a sound corresponding to it. For example, a toy dog can express its joy by sounds simulating cheerful barking, sadness-by whining, anger- by growling or angry barking, and fear-by low growling that goes into whining.

Common notions can serve a base for selecting sounds or voice messages characterizing different emotional states of any toy.

Each type of an emotional state has several degrees. The value of emotional degree is further denoted as RDeg. In the preferred embodiment of the present invention, RDeg can get four values: 0,1,2,3. RDeg = 0 corresponds to a neutral state that is the same for all emotions. RDeg = 1 corresponds to a minimum of expressing an emotion, RDeg = 2 is a medium degree of expressing an emotion, and

RDeg = 3 corresponds to the maximal emotional degree. Synthesized sounds depend on the degree of an emotional state. For different toys these dependencies can be expresses by changes of volume, of frequency spectrum, of intervals between repetitions of synthesized sound responses, of content of reproduced messages, of intonation, etc. The type of sound can also change, for example from growling to loud barking, when the above-mentioned toy dog expresses its anger.

The response of toy 1 or 2 taken separately is determined by what character the toy represents and/or which of sensors 7 and 8 is activated by the user. When two toys 1 and 2 interact, the response of each of them depends on what character exactly is its partner. Besides, the reaction of the toy depends on what happened to it earlier and can change with time.

Electronic block 4 in each toy 1,2 comprises a memory, where data about the events that have happened to this toy is stored. Events are divided into internal and external. The external events are different changes in the surrounding world perceived by the toy. In the preferred embodiment of the present invention, the external events are the beginning of the activation by the user of sensor 7 and/or sensor 8, the termination of the activation by the user of sensor 7 and/or sensor 8, the beginning of the message receiving from another toy with the help of photo-sensor 5, the termination of the message receiving from another toy. Internal events are generated by the timer in electronic block 4 that will be described later.

External and internal events fixed in toy's memory make up an internal time scale for every toy. The degree of an emotional state caused by any interaction gradually increases in time after the activation has begun and gradually decreases in time after the activation has terminated. Changes in toy's responses in time that can be observed by the user depend on the external activation that causes this response, on the speed of internal time flow, and on toy's permanent features. This makes it possible to simulate different behavior patterns of the character represented by the toy.

Further, we will provide a detailed description of the preferred embodiment of the present invention.

As shown in Fig. 2, electronic block 4 comprises controller 21 containing Read- Only Memory (ROM) 22, Random Access Memory (RAM) 23, timers 24,25. One of controller 21 outputs is connected to transmitting circuit 26, to the outputs of which light-emitting diode 6 is attached. One of controller 21 inputs is connected to the output of receiving circuit 27, to the inputs of which photosensor 5 is connected. To another output of controller 21 sound reproducing circuit 28 is connected. The output of sound reproducing circuit 28 is connected to speaker 9. Sensors 7 and 8 are connected to other inputs of controller 21. Sensors 7 and 8 are also connected to the inputs of logical element AND 29, the output of which is connected to Reset input of controller 21. The power is supplied from power supply block 10 to electronic block 4.

Controller 21 can be realized as microprocessor AT89C52 by Atmel Inc., USA, with 8 Kbytes ROM 22,256 byte RAM 23, programmed timers 24 and 25, each of which can be a source of the program run interruption. Certain bits of controller 21 input/output ports fulfill the functions of its inputs and outputs. Controller 21 implemented on the above mentioned microprocessor has Power Down Mode, in which power consumption is very low, but all information in RAM 23 is saved. Exit of controller 21 from Power Down Mode takes place when signals are simultaneously sent from both sensors 7,8 via logic element AND 29 to controller 21 Reset input.

Transmitting circuit 26 comprises transistor switch and current-determining resistor for forming current impulses through light-emitting diode 6. Receiving circuit 27 comprises a preamplifier, a filter and a comparator. Such schemes are well known in the art. Sound reproducing circuit 28 comprises a digital-to-analog converter (DAC) and an amplifier that can be realized on any appropriate integrated circuits.

Controller 21 fulfils the program recorded in ROM 22. Doing this, it interrogates sensors 7,8 and receiving circuit 27, sends to sound reproducing circuit 28 data for reproducing sound messages depending on emotional state of the toy, sends data to transmitting circuit 26 for message transmission. The program run by controller 21 will be described later in full detail. During the device operation, the

data received through receiving circuit 27 and variables used by the program are recorded in RAM 23. Timer 24 periodically interrupts the running of the main program to run the subroutine of sending messages through transmitting circuit 26 and light-emitting diode 6. Timer 25 serves to form internal events. Timer 25 does not generate interruption, but is interrogated by the program.

Each message 11 sent by first toy 1 comprises a starting part that makes it possible for electronic block 4 in second toy 2 to detect the beginning of the message and start its receiving, and parameters that identify first toy 1. Each message 12 sent by second toy 2 has the same structure. Messages format and transmitted parameters coding method can be the same as in widely known IR remote control devices.

As shown in Fig. 3, RAM 23 comprises Variables area 31, where variables used in controller 21 programs are stored. Further, RAM 23 comprises History Table 32 and State Table 33 that will be considered below.

In History Table 32 shown in Fig. 4, internal and external events happening to the toy are fixed. Events of different types get digital identificators. In every cell of History Table 32, an identificator of one event is recorded. When an external or an internal event happens, recordings of the previous events are shifted one cell to the right, and the identificator of a new event is recorded into the last left cell. This procedure will be described in full detail later. The full number of cells in History Table 32 is further denoted as NHT, and the content of the n-th cell is denoted as an element of array HT [n], n = 1.. NHT.

Every type of external activation has a digital number. In the preferred embodiment of the present invention, activations of sensors 7 and 8 have numbers 01 n 02 respectively. The activation in a form of receiving messages from other toys has two-digits numbers expressed by other positive integers.

An event that is the beginning of an external activation has a positive digital identificator equal to the number of this external activation. An event that is the termination of an external activation has a negative identificator equal to the number of this external activation with a minus. An internal event generated by timer 25 has a positive digital identificator, the value of which is different from all possible external activations numbers.

In the example in Fig. 4, all internal events have identificators equal to 99.

External event 34 is the beginning of the external activation with number 08.

External event 35 is the termination of the external activation with number 25.

External event 36 is the beginning of the external activation with number 25.

External event 37 is the termination of the external activation with number 01.

External event 38 is the beginning of the external activation with number 01. As it will be shown below, in the preferred embodiment of the present invention at every moment of time there can be fixed only one external activation. The beginning of a new external activation can be fixed in History Table 32 only after the previous external activation has terminated.

State Table 33 consists of cells, the number of which is equal to the number of the emotions of the toy. In the preferred embodiment of the present invention, we have four emotions. In every cell of State Table 33 values of the corresponding emotional degrees RDeg are recorded. As it will be demonstrated further, values RDeg in all cells of State Table 33 change after every event according to the predetermined rules.

As it is shown in Fig. 5, ROM 22 is divided into areas, each of which has a special assignment. ROM 22 has the following areas: Control Program 41, Sound Responses 42, Constants 43, Identificators Table 44, Parameters Table 45, Emotions Table 46, Timer Table 47, Functions Table 48, Coefficients Table 49.

Control program area 41 comprises the program run on controller 21. This program is similar for all toys according to the present invention.

As shown in Fig. 6, Sound Responses area 42 has Addresses Table 51 and Sound Programs area 52. Addresses Table 51 comprises starting addresses of programs of sound responses reproduction for all possible pairs of values of emotion type RType and emotion degree RDeg. As there are twelve possible pair of values RType and RDeg in the preferred embodiment of the present invention, Addresses Table 51 comprises 12 program addresses Adrl... Adrl2. It is not necessary to store values RType and RDeg in Addresses Table 51, if the order of address locations for all pairs of these values is exactly determined. Sound Programs area 52 comprises the programs of sound response reproductions. The amount of memory occupied by

different programs can be different. Sound Program 1 is stored in ROM 22 starting with address Adrl, Sound Program 2 is stored in ROM 22 starting with address Adr2, etc.

The programs of sound response reproduction are different for different types of toys.

Constants area 43 comprises constant parameters characterizing the toy when it interacts with other toys. The first of these parameters is ID identificator that is given to every toy according to the present invention. In the preferred embodiment, ID is a three-digit decimal integer. ID is a part of every message sent by every toy for another toy to receive. As it will be shown below, every toy knows in advance IDs of several other toys that consequently turn out to be familiar for the toy.

Further, Constants area 43 comprises parameters that characterize the given toy when it interacts with toys that"do not know"it in the above-mentioned sense of the word. In the considered embodiment there are two such parameters: Size characterizing sizes, and Appearance characterizing appearance. Parameter Size can have values 0-small, 1-less than average, 2-average, 3-big. Parameter Appearance can have values 0-dreadful, 1-unpleasant, 2-pleasant, 3-beautiful.

Parameters Size and Appearance are given to every type of toys and become a part of every message sent by the given toy to be received by another toy.

Besides, Constants area 43 comprises other parameters determining peculiarities of sound responses of the given type of toys. The information about these parameters will be provided later, when the program is described.

Identificators Table 44 (Fig. 7) and Parameters Table 45 (Fig. 8) allow to determine a type of external activation of Erst toy 1 from the data received from second toy 2. Identificators Table 44 consists of records, each of which comprises two numbers. In the upper cell of the table there is the value of ID identificator of second toy 2, and in the lower cell there is a corresponding number of external activation S. If ID identificators are present in Identificators Table 44 of first toy 1, these toys are considered familiar to first toy 1.

Parameters Table 45 contains the numbers of external activations S (lower row in Fig. 8) for all possible combinations of Size and Appearance parameters of

second toy 2, a message from which is received by first toy 1. It should be noted that the same value S of external activation number may correspond to different values of ID identificators or Size and Appearance parameters.

Further, in Emotions Table 46 shown in Fig. 9, there are the records of values of all emotional state types RType and emotional state degree RDeg for all possible values of external activation number S. The number of possible values of S equal to 64 is given as an example. As it is explained below, the value of emotion degree RDeg recorded in Emotions Table 46 is the maximal possible value for corresponding external activation S and is achieved in some time after the beginning of activation S. In the last column of Reaction Table 46 there are RType and RDeg for the case when there is no external activation, and value S is equal to 0.

Timer Table 47 shown in Fig. 10 comprises the values of the period of forming of internal events by timer 25 under the different values of external activation number S.. Period values are given in seconds. In the last column there is the value of internal events period for the case when there is no external activation.

Functions Table 48 shown in Fig. 11 comprises the data that describes changes of emotion degree RDeg value in time after an external event that has the influence over this emotion. Columns in Functions Table 48 show the numbers of internal time intervals in the toy. Every interval of internal time is an interval between two events, each of which can be both an external and an internal event. To determine emotion degree RDeg internal time is measured by a number of intervals counted from an external event that had the influence on this emotion. The maximal number of internal time interval MaxT can not be more than the number of cells in History Table 32.

The first four rows of Functions Table 48 in Fig. 11 give the dependencies that describe the increase of emotion degree RDeg for each of four types of emotions after the beginning of the external activation that causes this emotion. These dependencies are further denoted as h (RType, n), where RType = 1.. 4 is a type of emotion, n = l.. MaxT is a column number in Functions Table 48. In four following rows of Functions Table 48 in Fig. 11 there are dependencies that describe the fading of emotional degree for each of four types of emotions after the termination of the

external activation that caused this emotion. These dependencies are further denoted as k (RType, n). The notions RType and n were explained before. Numbers in the cells of Functions Table 48 change in the interval from 0.0 corresponding to the zero value of RDeg, to 1.0 corresponding to the maximal value of RDeg shown in Emotions Table 46 for the external activation that has caused this emotion. The algorithms for computing RDeg will be provided further.

Coefficients Table 49 shown in Fig. 12, comprises values of weight coefficients used to determine a resulting emotional state in cases when at the same time there are more than one emotion with non-zero value of RDeg. Further, these weight coefficients will be denoted Wij, where i is a row number in Coefficients Table 49, j is a column number in Coefficients Table 49.

Further, a detailed description of the program run on controller 21 in first toy 1 is provided. The program in second toy 2 is the same, but numerical parameters can be different. The following global constants and variables are used when describing the main program and subroutines that are called from the main program: NHT is a number of cells in History Table 32; HT [n], n= 1.. NHT, is a number recorded in the n-th cell of History Table, where n = 1 corresponds to the cell, in which the last in time event is recorded; CS is a number of the current external activation of the toy ; Ev is a current event identificator ; State Table 33 is presented as an array of integers ST [n], n=1.. 4, where the current values of emotional state degrees for four emotional types are stored; RTCur, RDCur are the resulting values of the emotional state type and degree of the toy at the present moment; ID2, Sz2, Appr2 are variables, where the values of ID identificator and of Size and Appearance parameters of second toy 2 transmitted as part of the message by second toy 2 and received by first toy 1 are stored; TInt is a period of timer 24 that causes interruptions of the main program running.

As shown in Fig. 13, the running of the program begins in block 101, when the power is switched on or signals arrive from both sensors 7,8 through logic element AND 29 to Reset input of controller 21. In block 102 the initialization takes place.

Global variables CS and Ev get zero values. If the program was activated by turning the power on that can be found out by, for example checking the contents of RAM 23, then zero is recorded in all cells of History Table 32. In the same block 102, the permission for the interruption of the main program by timer 24 is set. Also, the value of interruption period Tint is set by the way of loading of a corresponding number into timer 24.

Then, controller 21 continues to subroutine of waiting for an event 103, where it stays till an external or an internal event takes place. When an event takes place, controller 21 records this event into History Table 32 (block 104).

After this, emotion determining subroutine 105 is fulfilled. In this subroutine, controller 21 taking into account the external activation of first toy 1 or the internal event that is taking place and taking into account events that happened earlier and are recorded into History Table 32 determines the value of emotion type RTCur and the value of emotion degree RDCur characterizing the current emotional state of the toy.

Then, response forming subroutine 106 is carried out. This subroutine finds in Sound Responses area 42 of ROM 22 (Fig. 6) the address of the subroutine of sound response forming for found values RTCur and RDCur and calls up this subroutine.

Sound response forming subroutines are well known and there is no need to describe them. Thus, a sound response is reproduced after every external and internal event and it corresponds to the type and degree of an emotional state at the current moment of time.

After this the program continues to logic block 107, where it finds out if it is time to transfer into Power Down Mode. If in logic block 107 the answer"True"is received, then in block 108 the program prohibits interruptions from timer 24. After this controller 21 transfers to Power Down Mode (block 108), in which it stays till the user activates simultaneously both sensors 7,8. If in logic block 107 the answer "False"is received, then the program returns to the beginning of the loop to subroutine 103.

Along with the described main program, a subroutine is carried out that is called by interruptions of timer 24, the flowchart of which is shown in Fig. 13 on the right. This subroutine begins when an interrupting signal arrives from timer 24 (block 109). Then parameters transmission subroutine 110 is fulfilled. Controller 21 according to the accepted transmission protocol sends to transmitting circuit 26 message starting bits, then ID values of first toy 1, then Size and Appearance values of first toy 1. After this, the running of the subroutine by interruptions terminates (block 111). Thus, first toy 1 periodically with period Tlnt transmits its parameters so that they could be received by second toy 2.

Further, the flowcharts of subroutines called from the main program are described.

In the flowchart of subroutine of waiting for events 103 (Fig. 14) variable OldS is used, in which the value of the number of the previous external activation is stored.

After entering the subroutine (block 121), variable OldS gets the value of variable CS, and variable CS gets the value of zero (block 122).

Then, in subroutine 123 controller 21 addresses receiving circuit 27. If a message transmitted by second toy 2 is received, then subroutine 123 gives the answer"True", and controller 21 continues to subroutine 124, in which it determines the number of the external activation that corresponds to receiving the message from second toy 2 and gives variable CS the value equal to this number. Subroutines 123 and 124 will be described later.

If there is no message received fiom second toy 2, then subroutine 123 gives the answer"False", and controller 21 continues to block 125, in which it checks if any of sensors 7 or 8 is activated. If they are activated (the answer in block 125 is "True"), then in block 126 variable CS gets the value of 1, if sensor 7 is activated, or the value of 2, if sensor 8 is activated. If there is no external activation, variable CS keeps the value of 0.

As it follows from what has been said, receiving a message from another toy has higher priority than activation of any of sensors 7,8. If the user continuously presses one of sensors 7,8 of first toy 1, and at this time second toy 2 happens to be around, and first toy 1 starts to receive messages transmitted by second toy 2, then

subroutines 123 and 124 will be called in subroutine 103, and variable CS will get the value found in subroutine 124.

After the execution of both subroutine 124 and block 126, controller 21 continues to block 127, in which it checks the difference of the computed value of variable CS from the value of OldS. If checking shows that CS is different from OldS (the answer is"True"), then controller 21 in block 128 compares value OldS to zero. If it turns out that OldS is equal to zero, then variable Ev gets the found value CS (block 129), as in this case the event is the beginning of the external activation with CS number, and there has been no external activation before.

If checking in block 128 showed that value OldS is not equal to zero, then instead of the external activation with number OldS there is the external activation with number CS. For example, the user continuously presses sensor 7 of first toy 1, and at this time second toy 2 appears and first toy 1 starts to receive messages transmitted by second toy 2. The reverse effect of the external activation will take place if in the situation described second toy 2 is taken away in a certain time and receiving of messages by first toy 1 stops, and the user continues his/her activation of sensor 7.

In such cases, two external events are recorded into History Table 32. First, the event that is the termination of the external activation with number OldS is recorded.

For this purpose, in block 130 variable CS gets the value of 0, and variable Ev gets value OldS. In the next run of the main program (Fig. 13) in subroutine of waiting for an event 103, an external event is recorded that is the beginning of a new external activation. In this case, subroutine 103 will be run through block 129.

After fulfilling block 129 or block 130, controller 21 continues to fulfilling block 135, in which timer 25 is reset and the next interval counted by timer 25 is determined by Timer Table 47 depending on the value of variable CS. After this, the subroutine terminates in block 136.

If checking in block 127 shows that CS coincides with OldS, that is the external activation has not changed, then controller 21 in block 131 interrogates timer 25. If timer 25 has already counted preset time interval, then in block 132 variable Ev gets the value of 99, that in the preferred embodiment corresponds to

internal event identificator. After this, block 135 described above is fulfilled. In the opposite case, the program continues to block 123 and the cycle of waiting runs one more time.

If in block 125 the negative answer is received, that is neither of sensors 7,8 is activated, then in block 133 the value of variable OldS is compared to zero. If the result is negative, then in block 134 variable Ev gets the value of OldS, as the event is the termination of the external activation with number OldS. Then, the program continues to block 135. If in block 125 the positive answer is received, then an external event has not happened, and the program continues to block 131, where it checks, if there is an internal event that was discussed earlier.

Thus, the subroutine of waiting for an event finds external and internal events and ensures that the requirement is fulfilled that recorded in History Table 32 external events corresponding to the beginning and the termination of an external activation alternate.

Fig. 15 shows the flowchart of subroutine 123 that interrogates receiving circuit 27 and checks if there is a message from second toy 2. In this flowchart the following designations are used: K is a counter of executed cycles of waiting for a signal at the output of receiving circuit 27; KM is a maximal number of executing a cycle of waiting for a signal at the output of receiving circuit 27.

After entering the subroutine (block 141), variable K gets the value of 0 (block 142). Then in logic block 143, the program checks if there are impulses at the output of receiving circuit 27. To fulfil this operation, the program can, for example regularly check if during the preset period of time the level of voltage at the output of receiving circuit 27 has changed. A more detailed description of this procedure is not given here, because these operations are well known, for example in signal receiving of remote control devices. If impulses at the output of receiving circuit 27 are not detected, then the conclusion is made that there is no message from second toy 2, and the program continues to block 144, in which the value of variable K increases by a unit.

Then, the program checks in logic block 145, if maximal number KM of executed cycles of waiting for a signal at the output of receiving circuit 27 has been

reached. If this number has not been reached, that is K < KM, then the program returns to the beginning of the waiting cycle in block 143. If K= KM, then the waiting cycle terminates, subroutine 123 gives the answer"False"and terminates in block 146.

If checking in block 143 shows that there are impulses at the output of receiving circuit 27, then the program continues to logic block 147, in which it checks the value of variable K. If K = 0, then the running of subroutine 123 started at the moment, when the transmission of a message by second toy 2 had already begun. In this case, the program continues to logic block 148, in which it waits for the message transmission to finish, that is for the moment when there are no impulses at the output of receiving circuit 27. When the transmission of this message is completed, the program returns to logic block 143 to begin the cycle of waiting for the next message from second toy 2. The execution of the waiting cycle was described earlier.

If checking in logic block 147 shows that K > 0, then the message transmission from second toy 2 has just begun, because several runs of the waiting cycle had been carried out before impulses were found. In this case the program continues to data receiving subroutine 149, in the process of which controller 21 reads bit by bit data from the output of receiving circuit 27, selects from the data received the value of ID identificator of second toy 2 and its Size and Appearance parameters, and stores these values in variables ID2, Sz2 and Appr2 in Variables area 31 in RAM 23. A more detailed description of data receiving subroutine 149 is not provided here, as such subroutines are well known, for example in IR devices of remote control.

After this, subroutine 123 in block 150 gives the answer"True"and terminates.

Fig. 16 shows the flowohalt of subroutine 124. After entering this subroutine in block 151, controller 21 checks in logic block 152, if second toy 2 is familiar to first toy 1. To do so, controller 21 consequently compares ID2 identificator value received from second toy 2 to ID identificators values recorded in Identificators Table 44 in ROM 22. If there is ID identificator value in Identificators Table 44 coinciding with received ID2 value, then logic block 152 gives the answer True, that means that second toy 2 is familiar. Then the program continues to block 153, in

which controller 21 reads from Identificators Table 44 the value of the external activation number that corresponds to ID2 identificator and gives this value to variable CS.

If there is no ID identificator in Identificators Table 44 coinciding with received ID2 value, then logic block 152 gives the answer"False", that means that second toy 2 is not familiar to first toy 1. In this case, the program continues to block 154, in which controller 21 finds in Parameters Table 45 in ROM 22 a column corresponding to received values Sz2 and Appr2 of Size and Appearance parameters of second toy 2, reads from the found column the value of external activation number and gives this number to variable CS.

Then subroutine 124 terminates in block 155.

Further, we will proceed to the description of subroutine 104 of recording events in History Table 32, the flowchart of which is presented in Fig. 17. After entering this subroutine (block 161), controller 21 checks number HT [NHT] recorded in the last cell of History Table 32 (block 162). If this number is 99, then the earliest event recorded in History Table 32 is an internal event. If this number is equal to zero, then no event has been recorded yet in the last cell of History Table 32 after the power was switched on. In both cases, block 162 gives the answer"True".

After this, the block of subroutine 163 is carried out, in which the number from the one before last cell HT [NHT-1] is copied into the last cell HT [NHT]. After this, controller 21 continues to block 166 that will be discussed below.

If number HT [NHT] recorded in the last cell of History Table 32 is not equal to 99 and not equal to zero, then the earliest event recorded in History Table 32 is an external event. As it follows from the further explanation, the earliest possible external event recorded into History Table 32 can only be the beginning of some external activation. That is why number HT [NHT] can be positive only. In this case, controller 21 continues to block 164, in which it checks the sign of number HT [NHT-1] recorded in the one before last cell of History Table 32. If this number is positive, controller 21 does not change number HT [NHT] and at once continues to block 166. It should be noted that in the preferred embodiment of the present invention in the situation under consideration positive number HT [NHT-1] in the one

before last cell of History Table 32 can only be number 99, as it is impossible for two external events to appear one after another in History Table 32, when each of these events is the beginning of an external activation. This was shown when subroutine 103 was considered (Fig. 14).

If number HT [NHT-1] is negative, in block 165 number 99 is recorded into the last cell of Table 32. This means that the external activation, the beginning and ending of which were fixed in the last and the one before last cells of History Table 32 accordingly, is deleted from History Table 32. The toy forgets about this activation.

In the cycle consisting of blocks 166,167,168, and 169, the identificators of external and internal events recorded in History Table 32 get shifted. Each identificator beginning with HT [n-2] shifts one cell to the right. Identificator HT [n-2] takes the place of identificator HT [n-1], then identificator HT [n-3] takes the place of identificator HT [n-2], and so on. Finally, identificator HT [1] takes the place of identificator HT [2]. After going out of this cycle, identificator of the last event HT [1] gets value Ev found in subroutine 103 (block 170), and the subroutine terminates in block 171.

Further, we will consider an example explaining the operation of subroutine 104. As it was pointed out before, when the power is switched on, all cells of History Table 32 are filled with zeros. The first event is fixed in the first (last left in Fig. 4) cell of History Table 32. When a new event is recorded, all the events recorded before shift one cell to the right till the first event is not in the last cell (last right in Fig. 4) of History Table 32.

Fig. 18 shows the content of the last twelve cells of History Table 32 in five states consecutive in time. Every next state is received from the previous state, when a new event is recorded in History Table 32 and the events recorded earlier are shifted one cell to the right. In state 175, there is number 7 in the last cell that shows the beginning of the external activation with number 7. In two previous cells there are numbers 99 that indicate internal events. In the cell that is the fourth from the end, there is number-7 that indicates the ending of the external activation with number 7.

In next state 176, number 7 is preserved in the last cell, as subroutine 104 does not allow the situation, when the ending of the external activation is fixed in History Table 32 without storing in it the record of the beginning of this external activation.

The records in all preceding cells have shifted one cell to the right. In result, the number of internal events between external event with identificators 7 and-7 has decreased. The transition into the following state 177 is made in the similar way.

In the following state 178, numbers 7 and-7 indicating the beginning and ending of the external activation are deleted from History Table 32, instead of them number 99 corresponding to an internal event is recorded in the last cell. The toy forgets about the external event with number 7. The simultaneous deleting of external events that are the beginning and ending of the external activation from History Table 32 is a necessary condition for the correct device operation and it is ensured by subroutine 104.

In the last state 179 one more shift of the content of History Table 32 one cell to the right is shown. During this shift the internal event that was located in the last cell is deleted from History Table 32.

In the result of emotion determining subroutine 105, controller 21 finds the current resultant value of emotional state type RTCur and emotional state degree RDCur of the toy at the current moment. The method of calculation of values RTCur and RDCur in the preferred embodiment of the present invention makes it possible to take into consideration all the events recorded in History Table 32 at the current emotional state of the toy.

In the flowchart of emotion determining subroutine 105 (Figs. l9A, 19B) the following designations are used: -RX and DX are integer-valued variables, wherein emotional state types and maximal values of emotional state degree generated by an external activation, the influence of which is being calculated by the subroutine, are stored accordingly; -RS is an integer variable used for storing the number of external activation, the influence of which on the emotional state of the toy is being calculated by the program; -RV is a real variable used for storing of interim results of calculations;

-STB [n], n = 1.. 4, is an array of real numbers used for storing interim results when calculating value of emotional states degrees; -STW [n], n = 1.. 4, is an array of real numbers wherein weighted values of emotional state degrees of four types are stored; -n is an integer variable comprising the number of the following cell to be looked through in History Table 32; -m is an integer variable comprising the cell number in History Table 32, from which the search for the record about an external activation in History Table 32 begins; -q is an auxiliary integer-value variable.

Designations h (RType, n) and k (RType, n) have been introduced when Functions Table 48 was described with reference to Fig. 11. Array ST [n], n=1.. 4, was introduced when the main program flowchart was considered in Fig. 13. Constant NHT and array HT [n], n=l.. NHT, were defined in the description of History Table 32 in Fig. 4. Weighted coefficients Wij were introduced, when Coefficients Table 49 was described with reference to Fig. 12.

After entering the subroutine (block 181), the initial setting of variables takes place (block 182). The variables get the following values: STB [1] = 0; STB [2] = 0; STB [3] = 0; STB [4] = 0; m = NHT. In block 183, variable n receives the value of variable m that is equal to NHT, that is the number of the last cell in History Table 32.

Then, controller 21 runs the program cycle loop consisting of blocks 183... 186.

The assignment of this cycle is to find in History Table 32 the beginning of the first in time external activation, that is to find the first external event. For this purpose, first in block 184 number HT [n] recorded in n-th cell of History Table 32 is compared to numbers 99 and 0. As it was explained before, number 99 is an identifier of an internal event and zeros appear in History Table 32 when the program starts after switching the power on.

If number HT [n] is not equal to any of the above-mentioned numbers (the answer in block 184 is"False"), then the cycle terminates and the program continues to block 187. If block 184 gives the answer"True", then the value of variable n is

compared to the one in block 185. By that the program checks if the consecutive checking of cells in History Table 32 has reached the first cell. If this has taken place (the answer is"True"), then controller 21 continues to block 199 in Fig. 19B. In the opposite case, in block 186 the value of variable n decreases by the unit and the program returns to block 184 for running the next pass of the cycle.

Thus, the cells checking procedure in History Table 32 begins from the last cell and continues till it finds the cell comprising the identifier of the external event that is first in time and, as it was shown above, is the beginning of the external activation.

For more clarity, this external activation will further be called the first external activation. In block 187, the number of the found cell disposed in variable n is stored in variable q. In block 188, variable RS receives the value of HT [n], that is equal to the number of the first external activation. In block 189, controller 21 reads fiom Emotions Table 46 (ref. Fig. 9) the value of the type of the emotional state and the maximal value of the degree of the emotional state for the first external activation with number RS and stores these values in variables RX and DX respectively.

Further, the program calculates the contribution of the first external activation into computed values of emotional state degrees stored in variables STB [1].. STB [4].

In the preferred embodiment of the present invention, external activation RS affects only the emotional state, for which RType = RX, and computed value RDeg of which is stored in STB [RX]. As it was explained when Fig. 11 was considered, when there is an external activation affecting the emotional state of RX type, the degree of emotional state of RX type increases according to function h (RX, i), where i is a number of internal time intervals passed after the beginning of the above-mentioned external activation. After the termination of the external activation, the emotional state degree decreases according to function k (RX, j), where j is a number of internal time intervals passed after the termination of the activation In the cycle consisting of blocks 190.. 193 and in block 194, the program calculates the degree of the emotional state of RX type in the time interval, when there is an external activation. Variable RV is used for intermediate storing of computation results. Variable n indicates the number of the internal time interval, for which the degree of the emotional state is calculated in the current run of the

program cycle. The program looks through the cells in History Table 32 beginning with the cell, in which the beginning of the first external activation is fixed, and looks for the cell in which the end of the first external activation is fixed.

The cycle begins from block 190, in which the value for variable RV for the current value of n is computed: RV = DX*h (RX, q-n + 1). (1) The value q-n + 1 reflects the number of internal time intervals separating the cell with number n in History Table 32 from the cell with number q, in which the beginning of the first external activation is fixed. As the first argument in Functions Table 48 (Fig. 11) is number 1, one is added to the difference q-n. It is important to note that if it turns out that q-n + 1 > MaxT, where MaxT is a number of internal time moments for which the values of function h (RX, i) are set (Fig. 11), then in formula (1) MaxT is used instead of q-n + 1 (not shown in Fig. 19A).

Then in block 191, the value of n is compared to one. If the value of n is more than 1 (the answer is"True"), then the program has not reached the first cell of History Table 32. In this case, controller 21 in block 192 compares number HT [n-l] recorded in the following cell of History Table 32 to number 99. If the result of the comparison is negative (the answer is"False"), then the cycle run terminates, as the identificator of the external event, that is the ending of the first external activation, is recorded in the following cell. In this case, controller 21 continues to running block 195.

If in block 192 the answer"True"is received that shows that in the following cell of History Table 32 the identificator of the internal event is recorded, then the value of variable n decreases by one (block 193), and the program returns to block 190 and continues the execution of the cycle.

If in block 191 the answer"False"is received that means that n is equal to one, and that the checking of History Table 32 is completed, then the cycle is terminated.

In this case, the external activation still continues, that is why the event of its termination is not recorded in History Table 32. The program continues to 194, in which the current value of the response degree of RX type is computed: STB [RX] = STB [RX] + RV. (2)

Then the program continues to block 199.

As it is noted above, if in block 192 in (n-l)-th cell of History Table 32 the identifier of the end of the first external activation is found, the program continues to block 195. The completed first external activation at the moment of its termination has created an emotional state of RX type with the value of the response degree recorded in variable RV. From the end of the first external activation to the current moment there are (n-1) external and internal events recorded in Table 32. In block 195, the value of the contribution of the first external activation into the emotional state degree for the current moment of time is computed: RV = RV*k (RX, n-1). (3) Then in block 196, formula (2) is used to calculate the value of the degree of the emotional state of RX type.

In block 197, variable m gets the value of n-1. This value is the cell number in History Table 32, in which the event that follows the termination of the first external activation is recorded. Further, controller 21 in block 198 checks the value of variable m.

If the value of variable m is bigger than zero, the program returns to block 183.

Then, in History Table 32, the program looks for the beginning of the next (second) external activation and calculates its contribution into the value of the emotional state degree generated by the above-mentioned second external activation. This contribution is added to one of variables STB [1]... STB [4] in accordance with the type of emotional state caused by the second external activation. As it follows from formula (2), contributions of separate external activations that cause emotional states of the same types are summed up. Then, the searching for the next (third) external activation in History Table 32 takes place, and so on. This continues till all external activations recorded in History Table 32 are processed.

The end of processing of all the external activations is determined in block 185, or in block 193 that was described before, or in block 198. In the last case, the end of processing is indicated by the answer"No"showing that no external or internal event is recorded in History Table 32 after the last external activation has terminated. In all

above-mentioned cases, after the termination of processing of all the external activations, controller 21 starts the execution of block 199 (Fig. l9B).

In block 199, controller 21 computes the current value of the emotional state degree for four emotion types and records them into the corresponding State Table 33 cells: ST [1] = Round (STB [l]), ST [2] = Round (STB [2]), (4) ST [3] = Round (STB [3]), ST [4] = Round (STB [4]), wherein Round (x) is a rounded function that returns an integer nearest to number x.

After computing each of values of ST [i], i = 1.. 4, according to formula (5), in block 199 it is checked if the computed value of ST [i] has not exceeded the maximal possible value of the emotional state degree equal to three. If it is found out that ST [i] > 3, then ST [i] gets the value of 3.

In block 200, controller 21 calculates weighted values of emotional states degrees: STW [1] = Wll*STB [l] + W12*STB [2] + W13*STB [3] + W14*STB [4], STW [2] =W21*STB[1] + W22*STB [2] + W23*STB [3] + W24*STB [4], (5) STW [3] = W3l*STB [l] + W32*STB [2] + W33*STB [3] + W34*STB [4], STW[4] = W41*STB[1] + W42*STB[2] + W43*STB[3] + W44*STB[4].

By this calculation the interference of emotional states and their priority for the given toy are taken into account.

Then in block 201, variable RTCur gets the value of the emotional state type for which the weighted value of emotional state degree is maximal. For example, if among four numbers found by equation (5) STW [3] turned out to be the biggest, then RTCur gets the value of 3. In the same block 201, controller 21 determines the current value of emotional state degree: RDCur = ST [RTCur]. (6) After this, subroutine 105 terminates in block 202.

Fig. 20 depicts the flowchart of subroutine 107 of checking conditions for transfer into Power Down Mode. The following designations are used in this flowchart : NP-is an integer-valued variable used as a counter ; NPM is an integer- valued constant. After entering the subroutine (block 211), controller 21 in block 212 checks the current values of emotional state degrees. If at least one of numbers ST [i], i = 1.. 4, is not equal to zero, then the program continues to block 213, where variable NP gets the value of zero. Then, subroutine 107 terminates in 217 giving the answer "False".

If in block 212 it is found out that all numbers ST [i], i = 1.. 4, are equal to zero, then controller 21 compares the value of variable NP to constant NPM. If the value of NP has not reached NPM, then block 214 gives the answer"False", the value of variable NP increases by one (block 215), and subroutine 107 terminates in block 217 giving the answer"False". The value of variable NP is stored in Variables area 31 in RAM 23 and is used in subroutine 107 in the next run of the cycle of the main program (Fig. 13).

If in block 214 the answer"True"is received, then subroutine 107 terminates in block 216 giving the answer"True". Thus, the transition into Power Down Mode takes place, if during NPM cycles of the main program (Fig. 13) all emotional states had zero values of degree RDeg. This takes place, if there has been no external activation of the toy for a long enough period of time.

As it follows from the description above, the preferred embodiment of the present invention comprises several means for setting the toy behavior. All these means allow to change toys responses to external activation taking place at the present moment and to external activations that happened in the past. To choose the behavior, it is not necessary to change hardware or software of the toy. It is enough to change the parameters recorded in ROM 22.

The type of an emotion generated by each external activation and the maximal degree of this emotion for different external effects including contacts with other toys are set by the data recorded in Identificators Table 44, Parameters Table 45 and Emotions Table 46. Thanks to this, the same type of activation can results in various

emotional states in different toys. For example, meeting of Tigger makes Winnie-the- Pooh happy, frightens Piglet, discourages Eeyore and slightly irritates Owl. This makes it possible to imitate various characters and interpersonal relations.

The data in Timer Table 47 determines the period of forming an internal event, thus setting the rate for toy internal time depending on the external activation. If for a certain activation a small value of the period of forming an internal event by timer 25 is recorded in Timer Table 47, then, when this activation appears, internal time will go slowly and past events will be kept in memory for a long time.

The data in Functions Table 48 determines the speed of change of every emotional state with time. The increasing and decreasing of the speed of emotional degrees substantially determines the personality of the character represented by the toy. An optimistic character has a fast growing and slowly decreasing state Joy and, vice versa, slowly increasing and fast decreasing state Sadness. A pessimistic character has the opposite dependency of its emotional states on time.

The possibility to get arbitrary dependencies of emotions on time allows to achieve interesting effects in toy behavior. Let's suppose that emotion A slowly decreases after the termination of the first activation that caused this emotion. At this moment, the second activation appears generating emotion B. In such a situation, first the toy will give a response corresponding to emotion A, and then this response will be replaced by a response corresponding to emotion B. If the second activation terminates quickly, and emotion B generated by it fades quicker than emotion A, a response corresponding to emotion A can appear again. For example, a short meeting with the Cat can slightly frighten the Mouse, but then the Mouse can resume its good mood.

Another interesting effect is achieved when degrees of the same emotional state are summed up when several activations resulting in the same emotional state happen one after another, and slowly fading emotions caused by these activations overlap in time. In result, the total degree of the emotional state can turn out to be higher than the maximal degree of the emotion for any of these activations taken separately.

Weight coefficients recorded in Coefficient Table 49 make it possible to create additional variants of toys behavior. If at the same time there are degrees of several emotional states different from zero caused both by the current external activation and the terminated ones, then these weight coefficients are used to determine the type of the resulting emotional state. Choosing values of weight coefficients allows to set priorities for the emotions of the given toy and to take into account the interference of various emotional states.

CONCLUSION, RAMIFICATIONS AND SCOPE As it follows from the above detailed description of the preferred embodiment of the present invention, this invention provides new possibilities and advantages over the toys imitating character behavior known before. This new possibilities and advantages are ensured by the fact that each toy according to the present invention has a memory, where the data about events happening to the toy is stored.

The behavior of the toy expressed in its actions and in particular in reproducing of various audible messages is determined by its emotional state imitating an emotional state of the character represented by the given toy. The emotional state of the toy is in its turn determined by an external activation of the toy and by the sequence of events registered in toy's memory. In result, the behavior of the toy depends on events that happened before. This makes it possible to enlarge the capacity to imitate the behavior of fairy tale characters, real people and animals.

Another advantage of the present invention is the possibility to get many variants of toys behavior, and thus, imitate the behavior of characters with different personalities and temperaments. To achieve this, it is possible to vary dependencies of emotional state degrees on time and on an external activation, dependency of internal time rate on external events, as well as to choose actions performed by the toy in different emotional states in accordance with the character represented by the toy.

The next advantage of the present invention is that one of the types of external activation is receiving a message from other toys of the kind. In addition to the above-mentioned dependency of behavior on the remembered events, this feature provides the possibility of getting a big variety of toys interactions. Having several toys, it is possible to form various pairs, and the behavior of each toy will depend on the particular partner and the order in which they exchanged messages.

Remembering the"life story"of the toy in a form of a succession of events allows to store this"story"in a small volume memory. At the same time, the programs described above allow to compute degrees of all emotional states for each internal time interval according to the recorded events. It being the implementation of these programs does not require a big amount of calculations and the use of high- speed or special processors. Thus, the influence of the events in the past is imitated by simple and inexpensive means.

Toys representing different characters and imitating different types of behavior can have the same structure and components of their electronic blocks and only differ by the data recorded during programming. The unification of electronic blocks allows to reduce production costs.

The imitating characters behavior toys according to the present invention have a good market potential. Users can either gradually increase their community of toys introducing new members into it, or buy these toys by thematic sets, for example a set from a popular cartoon series, or a set of the rain forest animals. At the same time, toys manufacturers can produce new toys interacting among themselves and with the toys manufactured before, and demonstrating new variants of behavior. This will help to support constant interest of consumers to such toys, and consequently the demand for such toys.

Although the description above contains many specificities, these should not be construed as limiting the scope of the invention but as merely providing illustrations of the presently preferred embodiment of this invention. Many other ramifications are possible. Some of these variants are discussed below.

The message transmission from one toy to another with the use of IR rays was given above as an example only. Radio transmission can be an alternative way of

message transmission. In this case, it is possible to make use of some well-known technology in the field of mobile and cordless phones or mobile networks, for example Bluetooth standard. Messages can also be transmitted in the form of acoustic signals including ultra-sonic range. For every method of message transmission any suitable message format and antijamming coding method can be used.

The number of sensors, as well as their position in the toy according to the present invention can be various. Sensors can be not only pressure-sensitive, but can also be activated by sounds (claps, whistles), by turning on and off the light, by a person approaching, and by other external events. Sensors of different types of activation are well known in the art.

The behavior of the toy in the preferred embodiment of the present invention is expressed through audible messages. Other ways of expressing behavior are also possible including movements of any part of the body (hands, head, tail, etc.), light signals, for example sparkling eyes, appearance of some signs or symbols on LCD, as well as any combination of the mentioned and other means.

In the preferred embodiment of the present invention, one sound response recorded in Sound Responses area 42 corresponds to every value of each emotional state degree. It is possible to record several sound responses for each degree of each emotion and each time to choose one of them, for example by a random law.

The types of emotional states and the degrees of emotional states provided in the above description of the present invention are given for illustrative purposes and can be different, moreover different for different toys. For example, eight basic emotions can be used: Joy, Acceptance, Fear, Surprise, Sadness, Disgust, Anger, Expectation. Also, such states as curiosity, submission to a partner, or in the opposite, the will to dominate the partner, etc. can be used. The implementations of these ramifications will not require serious changes in the preferred embodiment of the present invention. It is necessary just to change values range for RType and RDeg parameters and respectively change tables stored in ROM 23 and RAM 23.

The rules of changing emotional state degrees in time that in the preferred embodiment of the present invention are provided in the form of function

dependencies stored in Functions Table 48, can have a different form. For example, tables of transitions among states for various external and internal events can be set.

The resulting emotional state of the toy in the preferred embodiment of the present invention is determined as an emotion having the maximal RDeg out of all emotions. However, it is possible to use other methods of determining the resulting state, for example, by algebraic summing of degrees of all emotional states with corresponding weight coefficients, or by the way of geometric summing on a special emotions map. When computing emotional states for varying of intensity degree of the resulting emotion, a random numbers generator can be used.

In the preferred embodiment of the present invention, when there is no external activation during a long enough period of time, the degrees of all emotional states fade to zero and the toy transfers into the neutral state wherein no responses are produced. The option is possible, when the toy in the neutral state responses to each internal event generated by timer 25 by, for example a message that it is bored without interacting with other toys or with the user.

In the preferred embodiment of the present invention, the duration of time intervals generated by timer 25 is set in accordance with external activation of the toy. The correspondence rules are set by data in Timer Table 47. The other possible way is setting the above-mentioned time intervals in accordance with the current emotional state. To implement this option, it is necessary to use emotion type RType and emotion degree RDeg as input parameters in Timer Table 47. In this case, the internal time rate will depend on emotional states of the toy, that will further increase the variety of toys behavior. It is also possible to employ both described methods of setting time intervals.

The messages transmitted by the toy can comprise not only its ID identificator and Size and Appearance parameters, as it is described in the preferred embodiment of the present invention, but also other data that can influence other toys behavior.

For example, they can comprise data if the toy has a coat and what color it is, if the toy has a tail, etc. The principles of determining the behavior of the toy will remain as described above. It is necessary just to change Parameters Table 45 including in it additional toy parameters.

Data transmitted by toys can comprise not only their static parameters, such as Size and Appearance, but also values of emotional state type RTCur and emotional state degree RDCur that characterize the current state of the toy. For example, the Wolf can transmit the message'Y am hungry and angry"or the message"I am happy !" In this case, the behavior of the toy that has received the message can depend on the emotional state of the toy that has transmitted the message. To do so, it is necessary to introduce related data into Parameters Table. Interference of emotional states of interacting toys in combination with various dependencies of emotional states on time will result in a wide range of toys behavior variants.

The transfer of the controller into Power Down Mode is an optional feature. It is possible that the toy is in the active mode and is able of receiving messages from other toys all the time the power is on. In this case, the toy can comprise a power switch.

Thus, the present invention provides wide possibilities for imitating various interesting behavior patterns and interactions among toys, for creating toys communities living their own lives that will be useful for children and adults.

Having described the preferred embodiment of the invention with reference to the accompanying drawings, it is to be understood that the invention is not limited to these precise embodiment, and that various changes and modifications may be effected therein by one skilled in the art without departing from the scope or spirit of the invention as defined in the appended claims.